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