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
in_or_out = 1 if is_reverse:
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 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: if is_reverse:
in_or_out = 1 for item in mioitems:
if instance.type == MIO.MIO_TYPE_SALE_OUT: do_out(item)
from apps.sam.services import SamService else:
cls.update_mb(instance, in_or_out) for item in mioitems:
SamService.mio_saleout(instance, is_reverse) do_in(item)
elif instance.type == MIO.MIO_TYPE_DO_OUT: elif instance.type == MIO.MIO_TYPE_SALE_OUT:
mioitems = MIOItem.objects.filter(mio=instance) from apps.sam.services import SamService
if is_reverse: cls.update_mb(instance, in_or_out)
for item in mioitems: SamService.mio_saleout(instance, is_reverse)
do_in(item) elif instance.type == MIO.MIO_TYPE_OTHER_OUT:
else: cls.update_mb(instance, in_or_out)
for item in mioitems: elif instance.type == MIO.MIO_TYPE_DO_OUT:
do_out(item) 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: else:
raise ParseError('不支持该出入库操作') raise ParseError('不支持该出入库操作')