diff --git a/apps/pm/views.py b/apps/pm/views.py index 0d9f63cc..73903cf8 100644 --- a/apps/pm/views.py +++ b/apps/pm/views.py @@ -56,5 +56,6 @@ class MtaskViewSet(CustomModelViewSet): ids = request.data.get('ids', []) mtasks = Mtask.objects.filter( id__in=ids, parent=None, state=Mtask.MTASK_CREATED) + mtasks = mtasks | Mtask.objects.filter(parent__in=mtasks) mtasks.update(state=Mtask.MTASK_ASSGINED) return Response() diff --git a/apps/wpm/models.py b/apps/wpm/models.py index f4ffc9e8..7c1bdcfe 100644 --- a/apps/wpm/models.py +++ b/apps/wpm/models.py @@ -1,15 +1,17 @@ from django.db import models -from apps.system.models import BaseModel -from apps.utils.models import CommonADModel, CommonBDModel +from apps.utils.models import CommonADModel from apps.mtm.models import Mgroup, Team, Shift from django.utils.timezone import localtime # Create your models here. + + class StLog(CommonADModel): """ 停机记录 """ - mgroup = models.ForeignKey(Mgroup, verbose_name='关联工段', on_delete=models.CASCADE) + 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) @@ -18,14 +20,19 @@ class StLog(CommonADModel): class SfLog(CommonADModel): """值班记录 """ - mgroup = models.ForeignKey(Mgroup, verbose_name='关联工段', on_delete=models.CASCADE) - team = models.ForeignKey(Team, verbose_name='班组', on_delete=models.CASCADE, null=True, blank=True) - shift = models.ForeignKey(Shift, verbose_name='当班班次', on_delete=models.CASCADE) - leader = models.ForeignKey('system.user', verbose_name='班长', on_delete=models.CASCADE, null=True, blank=True) + mgroup = models.ForeignKey( + Mgroup, verbose_name='关联工段', on_delete=models.CASCADE) + team = models.ForeignKey(Team, verbose_name='班组', + on_delete=models.CASCADE, null=True, blank=True) + shift = models.ForeignKey( + Shift, verbose_name='当班班次', on_delete=models.CASCADE) + leader = models.ForeignKey( + 'system.user', verbose_name='班长', on_delete=models.CASCADE, null=True, blank=True) start_time = models.DateTimeField('值班开始') end_time = models.DateTimeField('值班结束') note = models.TextField('其他备注', null=True, blank=True) - stlogs = models.ManyToManyField('wpm.stlog', verbose_name='关联停机记录', through='wpm.sflogexp') + stlogs = models.ManyToManyField( + 'wpm.stlog', verbose_name='关联停机记录', through='wpm.sflogexp') last_test_time = models.DateTimeField('最后质检时间', null=True, blank=True) total_hour_now = models.FloatField('总时长动', default=0) shut_hour = models.FloatField('停机时长', default=0) @@ -39,12 +46,15 @@ class SfLog(CommonADModel): end_time_local = localtime(self.end_time) return end_time_local.year, end_time_local.month, end_time_local.day + class SfLogExp(CommonADModel): """ 生产异常情况记录 """ - sflog = models.ForeignKey(SfLog, on_delete=models.CASCADE, verbose_name='关联值班记录') - stlog = models.ForeignKey(StLog, verbose_name='关联停机记录', on_delete=models.CASCADE, null=True, blank=True) + sflog = models.ForeignKey( + SfLog, on_delete=models.CASCADE, verbose_name='关联值班记录') + stlog = models.ForeignKey( + StLog, verbose_name='关联停机记录', on_delete=models.CASCADE, null=True, blank=True) title = models.CharField('异常名称', max_length=20) happen_time = models.DateTimeField('发生时间', null=True, blank=True) cate = models.CharField('原因类别', max_length=10, null=True, blank=True) @@ -52,4 +62,4 @@ class SfLogExp(CommonADModel): measure = models.TextField('处置措施', default='', max_length=100) handler = models.CharField('处理人', default='', max_length=100) is_current_down = models.BooleanField('是否本班停机', default=False) - duration = models.FloatField('停机时长(h)', null=True, blank=True) \ No newline at end of file + duration = models.FloatField('停机时长(h)', null=True, blank=True)