fix: 其他出入库错误

This commit is contained in:
caoqianming 2024-11-14 12:26:40 +08:00
parent 95739bc3bb
commit 6ef01ee301
1 changed files with 30 additions and 31 deletions

View File

@ -190,39 +190,38 @@ class InmService:
"""
更新库存, 支持反向操作
"""
if instance.type in [MIO.MIO_TYPE_PUR_IN, MIO.MIO_TYPE_DO_IN, MIO.MIO_TYPE_OTHER_IN]: # 采购入库, 生产入库, 其他入库
in_or_out = 1
if is_reverse:
in_or_out = -1
if instance.type == MIO.MIO_TYPE_PUR_IN: # 需要更新订单
from apps.pum.services import PumService
cls.update_mb(instance, in_or_out)
PumService.mio_purin(instance, is_reverse)
elif instance.type == MIO.MIO_TYPE_DO_IN:
mioitems = MIOItem.objects.filter(mio=instance)
if is_reverse:
for item in mioitems:
do_out(item)
else:
for item in mioitems:
do_in(item)
elif instance.type in [MIO.MIO_TYPE_DO_OUT, MIO.MIO_TYPE_SALE_OUT, MIO.MIO_TYPE_OTHER_OUT]: # 生产领料 销售出库
in_or_out = 1
if is_reverse:
in_or_out = -1
if instance.type == MIO.MIO_TYPE_PUR_IN: # 需要更新订单
from apps.pum.services import PumService
cls.update_mb(instance, in_or_out)
PumService.mio_purin(instance, is_reverse)
elif instance.type == MIO.MIO_TYPE_OTHER_IN:
cls.update_mb(instance, in_or_out)
elif instance.type == MIO.MIO_TYPE_DO_IN:
mioitems = MIOItem.objects.filter(mio=instance)
if is_reverse:
in_or_out = 1
if instance.type == MIO.MIO_TYPE_SALE_OUT:
from apps.sam.services import SamService
cls.update_mb(instance, in_or_out)
SamService.mio_saleout(instance, is_reverse)
elif instance.type == MIO.MIO_TYPE_DO_OUT:
mioitems = MIOItem.objects.filter(mio=instance)
if is_reverse:
for item in mioitems:
do_in(item)
else:
for item in mioitems:
do_out(item)
for item in mioitems:
do_out(item)
else:
for item in mioitems:
do_in(item)
elif instance.type == MIO.MIO_TYPE_SALE_OUT:
from apps.sam.services import SamService
cls.update_mb(instance, in_or_out)
SamService.mio_saleout(instance, is_reverse)
elif instance.type == MIO.MIO_TYPE_OTHER_OUT:
cls.update_mb(instance, in_or_out)
elif instance.type == MIO.MIO_TYPE_DO_OUT:
mioitems = MIOItem.objects.filter(mio=instance)
if is_reverse:
for item in mioitems:
do_in(item)
else:
for item in mioitems:
do_out(item)
else:
raise ParseError('不支持该出入库操作')