from django.db import models from apps.system.models import Dept, Dictionary, User from apps.utils.models import BaseModel, CommonAModel, CommonBModel from apps.am.models import Area from apps.wf.models import Ticket, Workflow # Create your models here. class OptCate(CommonAModel): """ 作业票种类 """ code = models.CharField('标识', max_length=10, unique=True) name = models.CharField('名称', max_length=20, unique=True) template_export = models.TextField('导出word模板', null=True, blank=True) workflow = models.ForeignKey(Workflow, verbose_name='所用工作流', on_delete=models.CASCADE, null=True, blank=True) class Operation(CommonBModel): OP_STATE_CHOICES = ( (10, '创建中'), (20, '审批中'), (30, '待作业'), (40, '待关闭'), (50, '已关闭') ) OP_WORK_CHOICES = ( ('work', '运行'), ('stop', '停机'), ('repair', '检修') ) number = models.CharField('作业编号', max_length=20, null=True, blank=True) name = models.CharField('作业简述', max_length=200) area = models.ForeignKey(Area, verbose_name='作业区域', on_delete=models.CASCADE) place = models.TextField('具体地点', null=True, blank=True) start_time = models.DateTimeField('作业开始时间') end_time = models.DateTimeField('作业结束时间') dept_sd = models.ForeignKey(Dept, verbose_name='属地部门', on_delete=models.CASCADE) dept_yw = models.ForeignKey(Dept, verbose_name='业务部门', on_delete=models.CASCADE) user_xt = models.ForeignKey(User, verbose_name='业务部门协调员', on_delete=models.CASCADE) user_fz = models.ForeignKey(User, verbose_name='作业负责人', on_delete=models.CASCADE) user_jh = models.ForeignKey(User, verbose_name='作业监护人', ) state_work = models.CharField('生产状态', choices=OP_WORK_CHOICES) class Opt(CommonBModel): """ 作业票 """ operation = models.ForeignKey(Operation, verbose_name='关联作业', on_delete=models.CASCADE) number = models.CharField('作业票编号', max_length=20, null=True, blank=True) cate = models.ForeignKey(OptCate, verbose_name='作业票种类', on_delete=models.CASCADE) dept_zy = models.ForeignKey(Dept, verbose_name='作业部门', on_delete=models.CASCADE) user_fz = models.ForeignKey(User, verbose_name='作业负责人', on_delete=models.CASCADE) user_jh = models.ForeignKey(User, verbose_name='作业监护人', ) ticket = models.ForeignKey(Ticket, verbose_name='关联工单', on_delete=models.CASCADE, null=True, blank=True)