fix: 组合件出入库bug
This commit is contained in:
parent
3e77468ea5
commit
e9845a246e
|
|
@ -132,7 +132,7 @@ class MIOItemCreateSerializer(CustomModelSerializer):
|
||||||
if k in assemb_dict:
|
if k in assemb_dict:
|
||||||
mia = assemb_dict[k]
|
mia = assemb_dict[k]
|
||||||
MIOItemA.objects.create(
|
MIOItemA.objects.create(
|
||||||
mioitem=instance, material=mia['material'], batch=mio['batch'], count=v)
|
mioitem=instance, material=mia['material'], batch=mia['batch'], rate=v)
|
||||||
else:
|
else:
|
||||||
raise ParseError('缺少组合件')
|
raise ParseError('缺少组合件')
|
||||||
return instance
|
return instance
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ class InmService:
|
||||||
raise ParseError('该批次组合件已存在')
|
raise ParseError('该批次组合件已存在')
|
||||||
for mia in mias:
|
for mia in mias:
|
||||||
MaterialBatchA.objects.create(
|
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:
|
elif in_or_out == -1:
|
||||||
mb.count = mb.count - i.count
|
mb.count = mb.count - i.count
|
||||||
if mb.count < 0:
|
if mb.count < 0:
|
||||||
|
|
|
||||||
|
|
@ -89,11 +89,13 @@ def do_in(mio: MIO):
|
||||||
action_list = []
|
action_list = []
|
||||||
mias = MIOItemA.objects.filter(mioitem=item)
|
mias = MIOItemA.objects.filter(mioitem=item)
|
||||||
if mias.exists(): # 组合件入库
|
if mias.exists(): # 组合件入库
|
||||||
action_list = list(mias.values_list('material', 'batch', 'rate'))
|
mias_list = list(mias.values_list('material', 'batch', 'rate'))
|
||||||
for i in action_list:
|
for i in range(len(mias_list)):
|
||||||
i[2] = i[2]*item.count
|
material, batch, rate = mias_list[i]
|
||||||
|
new_count = rate * item.count # 假设 item.count 存在
|
||||||
|
action_list.append([material, batch, new_count])
|
||||||
else:
|
else:
|
||||||
action_list = [item.material, item.batch, item.count]
|
action_list = [[item.material, item.batch, item.count]]
|
||||||
for al in action_list:
|
for al in action_list:
|
||||||
xmaterial, xbatch, xcount = al
|
xmaterial, xbatch, xcount = al
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue