fix: mlog填写时进行更进一步校验

This commit is contained in:
caoqianming 2024-03-04 13:54:31 +08:00
parent eecda9e5a6
commit e99854b56f
1 changed files with 6 additions and 1 deletions

View File

@ -274,7 +274,8 @@ class MlogSerializer(CustomModelSerializer):
if mlogb: if mlogb:
Mlogb.objects.filter(mlog=instance).update(count_ok=0) Mlogb.objects.filter(mlog=instance).update(count_ok=0)
for item in mlogb: for item in mlogb:
Mlogb.objects.filter(mlog=instance, material_out=item['material_out']).update(count_ok=item['count_ok']) Mlogb.objects.filter(mlog=instance, material_out=item['material_out']).update(
count_ok=item['count_ok'])
return instance return instance
def validate(self, attrs): def validate(self, attrs):
@ -284,6 +285,10 @@ class MlogSerializer(CustomModelSerializer):
if 'count_n_' in i: if 'count_n_' in i:
count_notok = count_notok + attrs[i] count_notok = count_notok + attrs[i]
attrs['count_notok'] = count_notok attrs['count_notok'] = count_notok
if attrs['count_real'] >= attrs['count_ok'] + attrs['count_notok']:
pass
else:
raise ValidationError('生产数量不能小于合格数量')
if mtask: if mtask:
if mtask.start_date == mtask.end_date: if mtask.start_date == mtask.end_date:
attrs['handle_date'] = mtask.start_date attrs['handle_date'] = mtask.start_date