访客/相关方同步人员信息

This commit is contained in:
曹前明 2022-09-14 19:21:01 +08:00
parent a644292590
commit 2711bcb8f5
4 changed files with 17 additions and 9 deletions

View File

@ -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()
# 查询定位信息

View File

@ -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()

View File

@ -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,

View File

@ -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 # 更新当前所属访客项目