diff --git a/apps/ecm/service.py b/apps/ecm/service.py index 58c34e32..02f1a07e 100644 --- a/apps/ecm/service.py +++ b/apps/ecm/service.py @@ -492,6 +492,10 @@ def handle_xx_event_2(name: str, ep: Employee, area: Area): # 违规进入事件特殊处理 # 找寻该区域下审批和进行的作业, 本厂或相关方人员, 如是就不触发 if name == 'i_enter' and ep.type in ['employee', 'remployee']: + last_event = Event.objects.filter( + cates__code='i_enter', employee=ep, area=area).order_by('-create_time').first() + if last_event and last_event.create_time + timedelta(minutes=2) > timezone.now(): # 2分钟不再次触发 + return ops = Operation.objects.filter(area=area, state__in=[Operation.OP_AUDIT, Operation.OP_WAIT, Operation.OP_WORK]) if OplWorker.objects.filter(opl__operation__in=ops, worker__employee=ep).exists(): # 如果是作业人员