factory/apps/rpm/services.py

44 lines
1.4 KiB
Python

from threading import Thread
from apps.hrm.models import Employee
from apps.hrm.services import HrmService
from apps.wf.models import Ticket, Transition
from apps.rpm.models import Rcertificate, Rpj, Rpjmember
def bind_opl(ticket: Ticket, transition: Transition, new_ticket_data: dict):
rpj = Rpj.objects.get(id=new_ticket_data['rpj'])
# ticket_data = ticket.ticket_data
# ticket_data.update({'level': opl.level})
# ticket.ticket_data = ticket_data
# ticket.save()
rpj.ticket = rpj
rpj.save()
def rpj_audit_end(ticket):
rpj = Rpj.objects.get(ticket=ticket)
if rpj.state == Rpj.RPJ_AUDIT:
rpj.state = Rpj.RPJ_ENTER
rpj.save()
# 更新入厂项目人员库
for i in Rpjmember.objects.filter(rpj=rpj):
rep = i.remployee
ep = Employee.objects.filter(id_number=rep.id_number, type='remployee').first()
if ep:
pass
else:
ep = Employee()
ep.id_number = rep.id_number
ep.name = rep.name
ep.phone = rep.phone
ep.photo = rep.photo
ep.save()
rep.employee = ep
rep.save()
# 更新入厂项目人员证书库
for i in Rcertificate.objects.filter(rpj=rpj):
pass
# 同步至大华人员库并下发人脸
Thread(target=HrmService.sync_dahua_employee, args=(ep, '', rpj.come_time, rpj.leave_time)).start()
# 发送通知?