feat: fmlog添加is_fix字段
This commit is contained in:
parent
4a5f6d9d0e
commit
1623d2d684
|
@ -0,0 +1,25 @@
|
|||
# Generated by Django 3.2.12 on 2025-04-14 14:44
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('pm', '0021_auto_20250317_1040'),
|
||||
('wpm', '0107_alter_handoverb_handover'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='fmlog',
|
||||
name='is_fix',
|
||||
field=models.BooleanField(default=False, verbose_name='是否用于返修'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='fmlog',
|
||||
name='mtask',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='fmlog_mtask', to='pm.mtask', verbose_name='任务'),
|
||||
),
|
||||
]
|
|
@ -153,9 +153,11 @@ class WMaterial(CommonBDModel):
|
|||
class Fmlog(CommonADModel):
|
||||
"""TN: 父级生产日志
|
||||
"""
|
||||
mtask = models.ForeignKey(Mtask, verbose_name='任务', on_delete=models.CASCADE, related_name='fmlog_mtask')
|
||||
mtask = models.ForeignKey(Mtask, verbose_name='任务',
|
||||
on_delete=models.CASCADE, related_name='fmlog_mtask', null=True, blank=True)
|
||||
mgroup = models.ForeignKey(Mgroup, verbose_name='工段', on_delete=models.CASCADE, related_name='fmlog_mgroup')
|
||||
note = models.TextField('备注', default='', blank=True)
|
||||
is_fix = models.BooleanField('是否用于返修', default=False) # 返工/复检
|
||||
enabled = models.BooleanField("是否启用", default=True)
|
||||
|
||||
class Mlog(CommonADModel):
|
||||
|
|
|
@ -541,7 +541,7 @@ class MlogSerializer(CustomModelSerializer):
|
|||
attrs['mgroup'] = fmlog.mgroup
|
||||
attrs['mtask'] = fmlog.mtask
|
||||
attrs['mtype'] = fmlog.mgroup.mtype
|
||||
if attrs['mtask'].route:
|
||||
if attrs['mtask'] and attrs['mtask'].route:
|
||||
attrs['route'] = attrs['mtask'].route
|
||||
# if attrs['mtask'].mtaskb and mtaskb is None:
|
||||
# raise ParseError('子任务不能为空')
|
||||
|
@ -1153,6 +1153,7 @@ class AttLogSerializer(CustomModelSerializer):
|
|||
class FmlogSerializer(CustomModelSerializer):
|
||||
routepack_name = serializers.CharField(
|
||||
source='mtask.route.routepack.name', read_only=True)
|
||||
mgroup_name = serializers.CharField(source='mgroup.name', read_only=True)
|
||||
mtask_number = serializers.CharField(source='mtask.number', read_only=True)
|
||||
class Meta:
|
||||
model = Fmlog
|
||||
|
@ -1160,6 +1161,11 @@ class FmlogSerializer(CustomModelSerializer):
|
|||
read_only_fields = EXCLUDE_FIELDS
|
||||
|
||||
def validate(self, attrs):
|
||||
is_fix = attrs['is_fix']
|
||||
if is_fix:
|
||||
attrs["mgroup"] = None
|
||||
elif not attrs.get("mtask", None):
|
||||
raise ParseError("请选择任务")
|
||||
mtask: Mtask = attrs['mtask']
|
||||
if mtask.state != Mtask.MTASK_ASSGINED:
|
||||
raise ParseError('该任务非下达中不可选择')
|
||||
|
|
Loading…
Reference in New Issue