diff --git a/apps/ecm/tasks.py b/apps/ecm/tasks.py index 1e99efe3..6ee6c450 100644 --- a/apps/ecm/tasks.py +++ b/apps/ecm/tasks.py @@ -1,12 +1,11 @@ from __future__ import absolute_import, unicode_literals -from multiprocessing import Event from threading import Thread from celery import shared_task from apps.ai.main import ai_analyse from apps.am.models import Area -from apps.ecm.models import EventCate, Eventdo +from apps.ecm.models import EventCate, Eventdo, Event from apps.ecm.service import notify_event, snap_and_analyse from apps.hrm.models import Employee from apps.opm.models import Opl diff --git a/apps/opm/models.py b/apps/opm/models.py index d85ad083..5fdd9de3 100644 --- a/apps/opm/models.py +++ b/apps/opm/models.py @@ -131,6 +131,8 @@ class OplWorker(BaseModel): duty = models.CharField('工作职责', max_length=100, null=True, blank=True, help_text='作业人员/起重司机/司索人员/起重指挥/电工') + # is_confirmed = models.BooleanField('是否确认', default=False) + # confirm_time = models.DateTimeField('确认时间', null=True, blank=True) certificates = models.ManyToManyField('hrm.certificate', verbose_name='关联证书', through='opm.oplcert') diff --git a/apps/opm/serializers.py b/apps/opm/serializers.py index b38b18a7..6396bc28 100644 --- a/apps/opm/serializers.py +++ b/apps/opm/serializers.py @@ -129,7 +129,7 @@ class OplCertSerializer(CustomModelSerializer): class Meta: model = OplCert - fields = ['certificate', 'name', 'type', 'number', 'issue_date', 'expiration_date', 'review_date', 'file'] + fields = ['certificate', 'name', 'type', 'number', 'issue_date', 'expiration_date', 'review_date', 'file', 'file_f'] class OplWorkerSerializer(CustomModelSerializer): diff --git a/apps/opm/services.py b/apps/opm/services.py index 718cdf96..f5227770 100644 --- a/apps/opm/services.py +++ b/apps/opm/services.py @@ -1,6 +1,7 @@ from apps.ecm.tasks import opl_task from apps.opm.models import Operation, Opl, OplWorker from apps.third.models import TDevice +from apps.utils.sms import send_sms from apps.wf.models import Ticket, Transition @@ -66,6 +67,11 @@ def opl_audit_end(ticket: Ticket): # 授予相关工作人员区域进入权限 # worker_ep_ids = list(OplWorker.objects.filter(opl=opl).values_list('worker__id', flat=True)) # 发送通知 + try: + phone = opl.create_by.employee.phone + send_sms(phone=phone, template_code=1005, template_param={'name': ticket.workflow.name}) + except Exception: + pass def opl_start(ticket: Ticket): diff --git a/apps/opm/tasks.py b/apps/opm/tasks.py index 43a9f07c..d4828442 100644 --- a/apps/opm/tasks.py +++ b/apps/opm/tasks.py @@ -26,7 +26,7 @@ def opl_end(ticket_id): opls = Opl.objects.filter(operation=operation) opls.filter(ticket=None).delete() # 删除无用许可证 states = opls.values_list('ticket__state__type', flat=True) - if 0 in states or 1 in states: + if 0 in states or 1 in states: # 查看工单状态 pass else: operation.state = Operation.OP_CLOSE diff --git a/apps/wf/tasks.py b/apps/wf/tasks.py index 9e624936..9bd58f1a 100644 --- a/apps/wf/tasks.py +++ b/apps/wf/tasks.py @@ -26,7 +26,7 @@ def send_ticket_notice(ticket_id): if pt and pt.phone: send_sms(pt.phone, 1002, params) elif ticket.participant_type == 2: - pts = User.objects.filter(id__in=ticket.participant).first() + pts = User.objects.filter(id__in=ticket.participant) for i in pts: if i.phone: send_sms(i.phone, 1002, params)