diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/moveOrLess/impl/StIvtMoreorlessmstBcpServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/moveOrLess/impl/StIvtMoreorlessmstBcpServiceImpl.java index 2e24e29c..0ff5ce1c 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/moveOrLess/impl/StIvtMoreorlessmstBcpServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/moveOrLess/impl/StIvtMoreorlessmstBcpServiceImpl.java @@ -21,6 +21,8 @@ import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.system.util.CodeUtil; import org.nl.wms.masterdata_manage.service.material.IMdMeMaterialbaseService; import org.nl.wms.masterdata_manage.service.material.dao.MdMeMaterialbase; +import org.nl.wms.masterdata_manage.service.vehicle.IMdPbStoragevehicleextService; +import org.nl.wms.masterdata_manage.service.vehicle.dao.MdPbStoragevehicleext; import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtBsrealstorattrService; import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService; import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtBsrealstorattr; @@ -70,6 +72,9 @@ public class StIvtMoreorlessmstBcpServiceImpl extends ServiceImpl page = PageHelper.startPage(pageQuery.getPage() + 1, pageQuery.getSize()); @@ -170,10 +175,31 @@ public class StIvtMoreorlessmstBcpServiceImpl extends ServiceImpl().lambda() + .eq(MdPbStoragevehicleext::getStoragevehicle_code, dtl.getStoragevehicle_code()) + ); + if (ObjectUtil.isNotEmpty(vehicleDao)) { + vehicleDao.setStorage_qty(NumberUtil.sub(vehicleDao.getStorage_qty(),mol_qty)); + iMdPbStoragevehicleextService.updateById(vehicleDao); + } + //如果库存变为0则删除记录 if (canuse_qty.compareTo(mol_qty) == 0 ) { iStIvtStructivtBcpService.removeById(ivt.getStruct_id()); + + // 更新载具扩展属性 - 释放载具对应物料关系 清空数量 + iMdPbStoragevehicleextService.update( + new MdPbStoragevehicleext() + .setMaterial_id("") + .setStorage_qty(BigDecimal.valueOf(0)), + new QueryWrapper().lambda() + .eq(MdPbStoragevehicleext::getStoragevehicle_code,dtl.getStoragevehicle_code()) + ); + // 更新货位 -- 清除载具号 structattrService.update( new StIvtStructattr() @@ -222,9 +248,32 @@ public class StIvtMoreorlessmstBcpServiceImpl extends ServiceImpl().lambda() + .eq(MdPbStoragevehicleext::getStoragevehicle_code, dtl.getStoragevehicle_code()) + ); + if (ObjectUtil.isNotEmpty(vehicleDao)) { + vehicleDao.setStorage_qty(mol_qty); + vehicleDao.setMaterial_id(dtl.getMaterial_id()); + iMdPbStoragevehicleextService.updateById(vehicleDao); + } + } else { BigDecimal canuse_qty = ivt.getCanuse_qty(); ivt.setCanuse_qty(NumberUtil.add(canuse_qty, mol_qty)); + + // 更新载具扩展属性 - 数量 + MdPbStoragevehicleext vehicleDao = iMdPbStoragevehicleextService.getOne( + new QueryWrapper().lambda() + .eq(MdPbStoragevehicleext::getStoragevehicle_code, dtl.getStoragevehicle_code()) + ); + + if (ObjectUtil.isNotEmpty(vehicleDao)) { + vehicleDao.setStorage_qty(NumberUtil.add(vehicleDao.getStorage_qty(), dtl.getMol_qty())); + iMdPbStoragevehicleextService.updateById(vehicleDao); + } + iStIvtStructivtBcpService.updateById(ivt); }