factory/apps/opm/models.py

70 lines
3.0 KiB
Python

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)