fix: mlog update 没有消耗时的校验

This commit is contained in:
caoqianming 2024-11-23 23:06:01 +08:00
parent cb36aac9ca
commit 84f7de61bc
1 changed files with 37 additions and 32 deletions

View File

@ -283,6 +283,7 @@ class MlogSerializer(CustomModelSerializer):
instance: Mlog = super().create(validated_data)
# 自动生成mlogb
batch_in = instance.batch
if instance.material_in: # 如果有消耗
wm_in = instance.wm_in
if wm_in:
batch_in = wm_in.batch
@ -308,6 +309,7 @@ class MlogSerializer(CustomModelSerializer):
batch=instance.batch,
mtask=instance.mtask,
material_out=item['material_out'],
count_real=item['count_ok'],
count_ok=item['count_ok'])
if wm_in:
mlogbx.batch_ofrom = wm_in.batch_ofrom
@ -326,6 +328,7 @@ class MlogSerializer(CustomModelSerializer):
add_dict_2 = {
'mlog': instance, 'batch': batch_out,
'mtask': instance.mtask, 'material_out': instance.material_out,
'count_real': instance.count_real,
'count_ok': instance.count_ok, 'count_notok': instance.count_notok,
'count_break_t': instance.count_break_t
}
@ -354,6 +357,7 @@ class MlogSerializer(CustomModelSerializer):
# 修改消耗
if instance.fill_way in [Mlog.MLOG_12, Mlog.MLOG_2]:
# 自动生成mlogb
if instance.material_in: # 有消耗的情况
batch_in = instance.batch
if wm_in:
batch_in = wm_in.batch
@ -376,9 +380,10 @@ class MlogSerializer(CustomModelSerializer):
# 修改产出
if instance.fill_way == Mlog.MLOG_2 and instance.material_out.brothers:
# 针对兄弟件的情况
Mlogb.objects.filter(mlog=instance, material_out__isnull=False).update(count_ok=0)
Mlogb.objects.filter(mlog=instance, material_out__isnull=False).update(count_real=0, count_ok=0)
for item in mlogb:
Mlogb.objects.filter(mlog=instance, material_out=item['material_out']).update(
count_real=item['count_ok'],
count_ok=item['count_ok'])
elif instance.fill_way in [Mlog.MLOG_12, Mlog.MLOG_2]: