55 lines
1.7 KiB
Python
55 lines
1.7 KiB
Python
# Create your tasks here
|
|
from __future__ import absolute_import, unicode_literals
|
|
from apps.hrm.models import Certificate, Employee
|
|
from apps.rpm.models import Rcertificate, Remployee, Rpj, Rpjcertificate, Rpjmember
|
|
from apps.utils.task import CustomTask
|
|
from celery import shared_task
|
|
|
|
|
|
@shared_task(base=CustomTask)
|
|
def rpj_audit_start(ticket_id):
|
|
rpj = Rpj.objects.get(ticket__id=ticket_id)
|
|
if rpj.state == Rpj.RPJ_CREATE:
|
|
rpj.state = Rpj.RPJ_AUDIT
|
|
rpj.save()
|
|
|
|
|
|
@shared_task(base=CustomTask)
|
|
def rpj_audit_end(ticket_id):
|
|
rpj = Rpj.objects.get(ticket__id=ticket_id)
|
|
if rpj.state == Rpj.RPJ_AUDIT:
|
|
rpj.state = Rpj.RPJ_ENTER
|
|
rpj.save()
|
|
# 更新企业相关方人员库和证书库
|
|
for i in Rpjmember.objects.filter(rpj=rpj):
|
|
remployee = i.remployee
|
|
ep = Employee.objects.filter(id_number=remployee.id_number).first()
|
|
if ep:
|
|
pass
|
|
else:
|
|
ep = Employee()
|
|
ep.name = remployee.name
|
|
ep.phone = remployee.phone
|
|
ep.photo = remployee.photo
|
|
ep.id_number = remployee.id_number
|
|
ep.type = 'remployee'
|
|
ep.save()
|
|
remployee.employee = ep
|
|
remployee.save()
|
|
|
|
for i in Rpjcertificate.objects.filter(rpj_member__rpj=rpj):
|
|
ct = Certificate.objects.filter(number=i.number).first()
|
|
if ct:
|
|
pass
|
|
else:
|
|
ct = Certificate()
|
|
ct.name = i.name
|
|
ct.number = i.number
|
|
ct.type = i.type
|
|
ct.issue_date = i.issue_date
|
|
ct.expiration_date = i.expiration_date
|
|
ct.review_date = i.review_date
|
|
ct.file = i.file
|
|
ct.employee = i.rpj_member.remployee.employee
|
|
ct.save()
|