diff --git a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java index 5c9412954..d3023eccd 100644 --- a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java @@ -358,6 +358,29 @@ public class IoAddInoutService { } } } + } else if (StrUtil.isEmpty(bizEntity.getBatchNo())) { + List invProductEntities = invProductService.selectByRelId(bizEntity.getBindRlFk(), bizEntity.getSupId(), null, orderEntity.getInvCode()); + if (CollUtil.isNotEmpty(invProductEntities)) { + int count = 0; + for (InvProductEntity invProductEntity : invProductEntities) { + if (invProductEntity.getReCount() + count > IntUtil.value(bizEntity.getCount())) { + IoOrderDetailBizEntity orderDetailBizEntity = new IoOrderDetailBizEntity(); + BeanUtils.copyProperties(bizEntity, orderDetailBizEntity); + orderDetailBizEntity.setId(IdUtil.getSnowflakeNextId()); + orderDetailBizEntity.setBatchNo(invProductEntity.getBatchNo()); + newBizList.add(orderDetailBizEntity); + break; + } else { + count = invProductEntity.getReCount(); + IoOrderDetailBizEntity orderDetailBizEntity = new IoOrderDetailBizEntity(); + BeanUtils.copyProperties(bizEntity, orderDetailBizEntity); + orderDetailBizEntity.setCount(count); + orderDetailBizEntity.setId(IdUtil.getSnowflakeNextId()); + orderDetailBizEntity.setBatchNo(invProductEntity.getBatchNo()); + newBizList.add(orderDetailBizEntity); + } + } + } } } @@ -368,7 +391,7 @@ public class IoAddInoutService { List codeTempEntities = new ArrayList<>(); - for (IoOrderDetailBizEntity bizEntity : bizEntities) { + for (IoOrderDetailBizEntity bizEntity : newBizList) { IoCodeTempEntity codeTempEntity = new IoCodeTempEntity(); String udiCode = "#" + bizEntity.getNameCode() + "#" + StrUtil.trimToEmpty(bizEntity.getProductDate()) @@ -398,7 +421,7 @@ public class IoAddInoutService { codeTempEntities.add(codeTempEntity); } codeTempService.insertBatch(codeTempEntities); - bizEntities.forEach(orderDetailBizEntity -> { + newBizList.forEach(orderDetailBizEntity -> { IoOrderDetailCodeEntity orderDetailCodeEntity = new IoOrderDetailCodeEntity(); BeanUtils.copyProperties(orderDetailBizEntity, orderDetailCodeEntity); orderDetailCodeEntity.setId(null); diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java index 4d2327517..cb59153e6 100644 --- a/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java @@ -1348,7 +1348,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity(); parameterPackag(basicProductsEntity, ioOrderDetailBizEntity, thrInvOrderDetail); ioOrderDetailBizEntity.setOrderIdFk(newBillNo); - ioOrderDetailBizEntity.setBatchNo("/"); +// ioOrderDetailBizEntity.setBatchNo(); thrInvOrderDetail.setToBillNo(newBillNo); thrInvOrderDetail.setHandleStatus(1); newOrderDetailBiz.add(ioOrderDetailBizEntity); @@ -1511,7 +1511,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { List udiRlSupEntitys = udiRlSupService.findByUdiRlId(relId); if (CollUtil.isNotEmpty(udiRlSupEntitys)) { for (UdiRlSupEntity udiRlSupEntity : udiRlSupEntitys) { - Integer count1 = invProductService.selectExitCount("1000000", Long.parseLong(udiRlSupEntity.getCustomerId()), Long.parseLong(udiRlSupEntity.getUdiRlIdFk())); + Integer count1 = invProductService.selectExitCount(thrInvOrder.getInvCode(), Long.parseLong(udiRlSupEntity.getCustomerId()), Long.parseLong(udiRlSupEntity.getUdiRlIdFk())); if (IntUtil.value(count1 > 0)) { thrInvOrderDetail.setSupId(udiRlSupEntity.getCustomerId()); if (udiRlSupEntity.getPrice() == null)