diff --git a/apps/opm/migrations/0013_auto_20230605_1429.py b/apps/opm/migrations/0013_auto_20230605_1429.py new file mode 100644 index 00000000..cc14ae32 --- /dev/null +++ b/apps/opm/migrations/0013_auto_20230605_1429.py @@ -0,0 +1,23 @@ +# Generated by Django 3.2.12 on 2023-06-05 06:29 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('opm', '0012_alter_opl_level'), + ] + + operations = [ + migrations.AlterField( + model_name='oplcate', + name='code', + field=models.CharField(max_length=10, verbose_name='标识'), + ), + migrations.AlterField( + model_name='oplcate', + name='name', + field=models.CharField(max_length=20, verbose_name='名称'), + ), + ] diff --git a/apps/opm/models.py b/apps/opm/models.py index 3fd646ca..ef85bf2e 100644 --- a/apps/opm/models.py +++ b/apps/opm/models.py @@ -9,8 +9,8 @@ class OplCate(CommonAModel): """ 作业许可种类 """ - code = models.CharField('标识', max_length=10, unique=True) - name = models.CharField('名称', max_length=20, unique=True) + code = models.CharField('标识', max_length=10) + name = models.CharField('名称', max_length=20) sort = models.PositiveSmallIntegerField('排序', default=1) description = models.TextField('描述', null=True, blank=True) template_export = models.TextField('导出word模板', null=True, blank=True) diff --git a/apps/opm/services.py b/apps/opm/services.py index a7643209..6a0cb85d 100644 --- a/apps/opm/services.py +++ b/apps/opm/services.py @@ -2,7 +2,7 @@ import time from apps.ecm.service import check_not_in_place, snap_and_analyse from apps.ecm.models import EventCate -from apps.opm.models import Operation, Opl, OplWorker +from apps.opm.models import Operation, Opl, OplWorker, GasCheck from apps.third.models import TDevice from apps.utils.sms import send_sms from apps.wf.models import Ticket, Transition @@ -41,6 +41,8 @@ def get_op_monitor(state, ticket, new_ticket_data, handler): def bind_opl(ticket: Ticket, transition: Transition, new_ticket_data: dict): opl = Opl.objects.get(id=new_ticket_data['opl']) + if '有限空间' in opl.cate.name and GasCheck.objects.filter(opl=opl).count() == 0: + raise ParseError('该许可证需填写气体检测记录!') ticket_data = ticket.ticket_data ticket_data.update({ 'operation': opl.operation.id, # operation id值