41 lines
1.7 KiB
Python
41 lines
1.7 KiB
Python
from django.db import models
|
|
from apps.system.models import CommonADModel, BaseModel
|
|
from apps.mtm.models import Mgroup, Team, Shift
|
|
|
|
# Create your models here.
|
|
class StLog(CommonADModel):
|
|
"""
|
|
停机记录
|
|
"""
|
|
mgroup = models.ForeignKey(Mgroup, verbose_name='关联工段', on_delete=models.CASCADE)
|
|
start_time = models.DateTimeField('停机开始')
|
|
end_time = models.DateTimeField('停机结束', null=True, blank=True)
|
|
duration = models.FloatField('停机时长(h)', null=True, blank=True)
|
|
|
|
|
|
class SfLog(CommonADModel):
|
|
"""值班记录
|
|
"""
|
|
mgroup = models.ForeignKey(Mgroup, verbose_name='关联工段', on_delete=models.CASCADE)
|
|
team = models.ForeignKey(Team, verbose_name='班组', on_delete=models.CASCADE)
|
|
shift = models.ForeignKey(Shift, verbose_name='当班班次', on_delete=models.CASCADE)
|
|
leader = models.ForeignKey('system.user', verbose_name='班长', on_delete=models.CASCADE)
|
|
start_time = models.DateTimeField('值班开始')
|
|
end_time = models.DateTimeField('值班结束')
|
|
note = models.TextField('其他备注', null=True, blank=True)
|
|
stlogs = models.ManyToManyField('wpm.stlog', verbose_name='关联停机记录', through='wpm.stsflog')
|
|
qua_data = models.JSONField('质检数据', null=True, blank=True)
|
|
|
|
|
|
class StSfLog(BaseModel):
|
|
"""
|
|
停机-值班记录关联表
|
|
"""
|
|
stlog = models.ForeignKey(StLog, verbose_name='关联停机记录', on_delete=models.CASCADE)
|
|
sflog = models.ForeignKey(SfLog, verbose_name='关联值班记录', on_delete=models.CASCADE)
|
|
is_current_down = models.BooleanField('是否本班停机', default=False)
|
|
reason = models.TextField('停机原因', null=True, blank=True)
|
|
|
|
class Meta:
|
|
ordering = ['sflog__start_time']
|