fix: mtask级联下达任务
This commit is contained in:
parent
0f6a7289b8
commit
7de606b496
|
@ -56,5 +56,6 @@ class MtaskViewSet(CustomModelViewSet):
|
||||||
ids = request.data.get('ids', [])
|
ids = request.data.get('ids', [])
|
||||||
mtasks = Mtask.objects.filter(
|
mtasks = Mtask.objects.filter(
|
||||||
id__in=ids, parent=None, state=Mtask.MTASK_CREATED)
|
id__in=ids, parent=None, state=Mtask.MTASK_CREATED)
|
||||||
|
mtasks = mtasks | Mtask.objects.filter(parent__in=mtasks)
|
||||||
mtasks.update(state=Mtask.MTASK_ASSGINED)
|
mtasks.update(state=Mtask.MTASK_ASSGINED)
|
||||||
return Response()
|
return Response()
|
||||||
|
|
|
@ -1,15 +1,17 @@
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from apps.system.models import BaseModel
|
from apps.utils.models import CommonADModel
|
||||||
from apps.utils.models import CommonADModel, CommonBDModel
|
|
||||||
from apps.mtm.models import Mgroup, Team, Shift
|
from apps.mtm.models import Mgroup, Team, Shift
|
||||||
from django.utils.timezone import localtime
|
from django.utils.timezone import localtime
|
||||||
|
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
|
|
||||||
|
|
||||||
class StLog(CommonADModel):
|
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('停机开始')
|
start_time = models.DateTimeField('停机开始')
|
||||||
end_time = models.DateTimeField('停机结束', null=True, blank=True)
|
end_time = models.DateTimeField('停机结束', null=True, blank=True)
|
||||||
duration = models.FloatField('停机时长(h)', null=True, blank=True)
|
duration = models.FloatField('停机时长(h)', null=True, blank=True)
|
||||||
|
@ -18,14 +20,19 @@ class StLog(CommonADModel):
|
||||||
class SfLog(CommonADModel):
|
class SfLog(CommonADModel):
|
||||||
"""值班记录
|
"""值班记录
|
||||||
"""
|
"""
|
||||||
mgroup = models.ForeignKey(Mgroup, verbose_name='关联工段', on_delete=models.CASCADE)
|
mgroup = models.ForeignKey(
|
||||||
team = models.ForeignKey(Team, verbose_name='班组', on_delete=models.CASCADE, null=True, blank=True)
|
Mgroup, verbose_name='关联工段', on_delete=models.CASCADE)
|
||||||
shift = models.ForeignKey(Shift, verbose_name='当班班次', on_delete=models.CASCADE)
|
team = models.ForeignKey(Team, verbose_name='班组',
|
||||||
leader = models.ForeignKey('system.user', verbose_name='班长', on_delete=models.CASCADE, null=True, blank=True)
|
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('值班开始')
|
start_time = models.DateTimeField('值班开始')
|
||||||
end_time = models.DateTimeField('值班结束')
|
end_time = models.DateTimeField('值班结束')
|
||||||
note = models.TextField('其他备注', null=True, blank=True)
|
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)
|
last_test_time = models.DateTimeField('最后质检时间', null=True, blank=True)
|
||||||
total_hour_now = models.FloatField('总时长动', default=0)
|
total_hour_now = models.FloatField('总时长动', default=0)
|
||||||
shut_hour = models.FloatField('停机时长', default=0)
|
shut_hour = models.FloatField('停机时长', default=0)
|
||||||
|
@ -39,12 +46,15 @@ class SfLog(CommonADModel):
|
||||||
end_time_local = localtime(self.end_time)
|
end_time_local = localtime(self.end_time)
|
||||||
return end_time_local.year, end_time_local.month, end_time_local.day
|
return end_time_local.year, end_time_local.month, end_time_local.day
|
||||||
|
|
||||||
|
|
||||||
class SfLogExp(CommonADModel):
|
class SfLogExp(CommonADModel):
|
||||||
"""
|
"""
|
||||||
生产异常情况记录
|
生产异常情况记录
|
||||||
"""
|
"""
|
||||||
sflog = models.ForeignKey(SfLog, on_delete=models.CASCADE, verbose_name='关联值班记录')
|
sflog = models.ForeignKey(
|
||||||
stlog = models.ForeignKey(StLog, verbose_name='关联停机记录', on_delete=models.CASCADE, null=True, blank=True)
|
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)
|
title = models.CharField('异常名称', max_length=20)
|
||||||
happen_time = models.DateTimeField('发生时间', null=True, blank=True)
|
happen_time = models.DateTimeField('发生时间', null=True, blank=True)
|
||||||
cate = models.CharField('原因类别', max_length=10, 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)
|
measure = models.TextField('处置措施', default='', max_length=100)
|
||||||
handler = models.CharField('处理人', default='', max_length=100)
|
handler = models.CharField('处理人', default='', max_length=100)
|
||||||
is_current_down = models.BooleanField('是否本班停机', default=False)
|
is_current_down = models.BooleanField('是否本班停机', default=False)
|
||||||
duration = models.FloatField('停机时长(h)', null=True, blank=True)
|
duration = models.FloatField('停机时长(h)', null=True, blank=True)
|
||||||
|
|
Loading…
Reference in New Issue