diff --git a/apps/inm/serializers.py b/apps/inm/serializers.py index cc6dfc2d..7dd06617 100644 --- a/apps/inm/serializers.py +++ b/apps/inm/serializers.py @@ -132,7 +132,7 @@ class MIOItemCreateSerializer(CustomModelSerializer): if k in assemb_dict: mia = assemb_dict[k] MIOItemA.objects.create( - mioitem=instance, material=mia['material'], batch=mio['batch'], count=v) + mioitem=instance, material=mia['material'], batch=mia['batch'], rate=v) else: raise ParseError('缺少组合件') return instance diff --git a/apps/inm/services.py b/apps/inm/services.py index 5b596a1d..ffae14ea 100644 --- a/apps/inm/services.py +++ b/apps/inm/services.py @@ -48,7 +48,7 @@ class InmService: raise ParseError('该批次组合件已存在') for mia in mias: MaterialBatchA.objects.create( - mb=mb, material=mia.material, batch=mia.batch, count=mia.count) + mb=mb, material=mia.material, batch=mia.batch) elif in_or_out == -1: mb.count = mb.count - i.count if mb.count < 0: diff --git a/apps/wpm/services.py b/apps/wpm/services.py index 8b6a8b3c..7bd2be7d 100644 --- a/apps/wpm/services.py +++ b/apps/wpm/services.py @@ -89,11 +89,13 @@ def do_in(mio: MIO): action_list = [] mias = MIOItemA.objects.filter(mioitem=item) if mias.exists(): # 组合件入库 - action_list = list(mias.values_list('material', 'batch', 'rate')) - for i in action_list: - i[2] = i[2]*item.count + mias_list = list(mias.values_list('material', 'batch', 'rate')) + for i in range(len(mias_list)): + material, batch, rate = mias_list[i] + new_count = rate * item.count # 假设 item.count 存在 + action_list.append([material, batch, new_count]) else: - action_list = [item.material, item.batch, item.count] + action_list = [[item.material, item.batch, item.count]] for al in action_list: xmaterial, xbatch, xcount = al try: