访客/相关方同步人员信息
This commit is contained in:
parent
a644292590
commit
2711bcb8f5
|
@ -491,7 +491,7 @@ def handle_xx_event(name: str, data: dict):
|
|||
# 找到最近未处理同一人发生的事件
|
||||
if cate:
|
||||
last_event = Event.objects.filter(cates__code=name, employee=blts.employee, handle_user=None).order_by('-create_time').first()
|
||||
if last_event and last_event.create_time + timedelta(minutes=2) > timezone.now():
|
||||
if last_event and last_event.create_time + timedelta(minutes=5) > timezone.now():
|
||||
return
|
||||
event = Event()
|
||||
# 查询定位信息
|
||||
|
|
|
@ -48,7 +48,7 @@ def rpj_audit_end(ticket):
|
|||
for i in Rpjmember.objects.filter(rpj=rpj):
|
||||
rep = i.remployee
|
||||
# 尝试找到人员
|
||||
ep = Employee.objects.filter(id_number=rep.id_number).first()
|
||||
ep = Employee.objects.get_queryset(all=True).filter(id_number=rep.id_number).first()
|
||||
if ep:
|
||||
pass
|
||||
else:
|
||||
|
@ -59,18 +59,24 @@ def rpj_audit_end(ticket):
|
|||
ep.photo = rep.photo
|
||||
ep.type = 'remployee'
|
||||
ep.belong_dept = rpj.rparty.dept
|
||||
ep.is_deleted = False
|
||||
ep.save()
|
||||
# 给相关方人员创建账户
|
||||
user = ep.user
|
||||
if user: # 如果该人员有账户
|
||||
pass
|
||||
else:
|
||||
user_e = User()
|
||||
user_e.username = 'RE_' + ranstr(6)
|
||||
user_e = User.objects.get_queryset(all=True).filter(phone=rep.phone).first() # 看看有没有存在的账户
|
||||
if user_e:
|
||||
user_e.is_active = True
|
||||
user_e.is_deleted = False
|
||||
else:
|
||||
user_e = User()
|
||||
user_e.username = 'RE_' + ranstr(6)
|
||||
user_e.password = make_password('0000')
|
||||
user_e.name = rep.name
|
||||
user_e.phone = rep.phone
|
||||
user_e.type = 'remployee'
|
||||
user_e.password = make_password('0000')
|
||||
user_e.belong_dept = rpj_dept
|
||||
user_e.post = post
|
||||
user_e.save()
|
||||
|
|
|
@ -192,7 +192,8 @@ class XxCommonViewSet(CreateModelMixin, CustomGenericViewSet):
|
|||
serializer_class=serializers.Serializer, logging_methods=['POST']) # 日志
|
||||
def c_one_key_alarm(self, request, pk=None):
|
||||
data = request.data
|
||||
handle_xx_event(name='one_key_alarm', data=data['data'])
|
||||
if data['data']['event'] == 'alarm':
|
||||
handle_xx_event(name='one_key_alarm', data=data['data'])
|
||||
return Response()
|
||||
|
||||
@action(methods=['post'], detail=False,
|
||||
|
|
|
@ -35,11 +35,11 @@ def visit_audit_end(ticket):
|
|||
for i in Vpeople.objects.filter(visit=visit):
|
||||
visitor = i.visitor
|
||||
if visitor.id_number and visitor.photo:
|
||||
ep = Employee.objects.filter(id_number=visitor.id_number).first()
|
||||
ep = Employee.objects.get_queryset(all=True).filter(id_number=visitor.id_number).first()
|
||||
elif visitor.phone:
|
||||
ep = Employee.objects.filter(phone=visitor.phone).first()
|
||||
ep = Employee.objects.get_queryset(all=True).filter(phone=visitor.phone).first()
|
||||
else:
|
||||
ep = Employee.objects.filter(name=visitor.name, id_number=None).first()
|
||||
ep = Employee.objects.get_queryset(all=True).filter(name=visitor.name, id_number=None).first()
|
||||
if ep:
|
||||
pass
|
||||
else:
|
||||
|
@ -50,6 +50,7 @@ def visit_audit_end(ticket):
|
|||
ep.photo = visitor.photo
|
||||
ep.type = 'visitor'
|
||||
ep.belong_dept = visit.receptionist.belong_dept
|
||||
ep.is_deleted = False
|
||||
ep.save()
|
||||
visitor.employee = ep
|
||||
visitor.visit = visit # 更新当前所属访客项目
|
||||
|
|
Loading…
Reference in New Issue