diff --git a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java index 8d8299d45..04398618e 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java @@ -98,6 +98,10 @@ public class UdiRelevanceController extends BaseController { } List udiRelevanceResponses = null; + if(StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode())){ + filterUdiRelRequest.setNameCode(FilterUdiUtils.getUdi(filterUdiRelRequest.getUdiCode()).getUdi()); + } + if (StrUtil.isNotEmpty(filterUdiRelRequest.getBindRlIds())) { String[] datas = filterUdiRelRequest.getBindRlIds().split(","); List list = Arrays.asList(datas); diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index edaf7aad8..fb64250fd 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -622,6 +622,7 @@ public class IoCodeTempController extends BaseController { codeEnttity.setWarehouseCode(addOrderRequest.getCurSpaceCode()); codeEnttity.setPreSpaceCode(addOrderRequest.getPreCurSpaceCode()); codeEnttity.setPreInSpaceCode(addOrderRequest.getCheckPreInSpaceCode()); + codeEnttity.setRelId(addOrderRequest.getRelId()); codeEnttity.setCount(1); String unitFk = null; if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { @@ -946,10 +947,10 @@ public class IoCodeTempController extends BaseController { List udiRelevanceEntities = udiRelevanceService.selectAllByNameCode(codeEnttity.getNameCode(), unitFk); if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1 && codeEnttity.getRelId() == null) {//同一个DI绑定多个产品西信息 - codeEnttity.setRelId(null); - codeEnttity.setStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI); - codeTempService.insert(codeEnttity); - codeEnttity = codeTempService.findByUnique(codeEnttity.getOrderId(), codeEnttity.getCode()); +// codeEnttity.setRelId(null); +// codeEnttity.setStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI); +// codeTempService.insert(codeEnttity); +// codeEnttity = codeTempService.findByUnique(codeEnttity.getOrderId(), codeEnttity.getCode()); BaseResponse baseResponse = ResultVOUtils.error(502, "DI绑定多个产品ID,请指定对应产品"); baseResponse.setData(codeEnttity); return baseResponse; diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index d3b8c2159..8e5bddeae 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -438,7 +438,7 @@ public class IoOrderController extends BaseController { @Log(title = "单据管理", businessType = BusinessType.DELETE) public BaseResponse deletById(@RequestBody DeleteRequest deleteRequest) { IoOrderEntity orderEntity = orderService.findByBillNo(deleteRequest.getBillNo()); - if (orderEntity.getStatus() != 1 && orderEntity.getStatus() != 3 && orderEntity.getStatus() != 4 && orderEntity.getStatus() != 6) { + if (orderEntity.getStatus() != 1 && orderEntity.getStatus() != 3 && orderEntity.getStatus() != 4 && orderEntity.getStatus() != 6 && orderEntity.getStatus() != 10) { return ResultVOUtils.error(500, "单据已提交无法删除!"); } orderService.deleteByBillNo(deleteRequest.getBillNo()); diff --git a/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java b/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java index de5e4c36a..f800b82f6 100644 --- a/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java +++ b/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java @@ -29,6 +29,7 @@ public class AddOrderRequest { private String remark; private String checkPreInOrders; private String selectSupId; + private Long relId; // 预验收货位 private String checkPreInSpaceCode; diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java index 1a6e4e38c..8b6655357 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java @@ -334,80 +334,89 @@ public class IoOrderServiceImpl implements IoOrderService { if (basicBussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN) { InvPreInProductDetailEntity invProductDetailEntity = invPreinProductDetailService.selectByCode(billNo, code); - int count = invProductDetailEntity.getCount() - 1; - int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode()); - if (count == 0) { - invPreinProductDetailService.deleteById(invProductDetailEntity.getId() + ""); - } else { - //更新详情表 - invProductDetailEntity.setCount(count); - invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount); - invPreinProductDetailService.update(invProductDetailEntity); - } - //更新产品表 - InvPreinProductEntity invProductEntity = invPreinProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode()); - if (invProductEntity != null) { - if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) { - int inCount = invProductEntity.getInCount() - reCount; - invProductEntity.setInCount(inCount); - } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { - int outCount = invProductEntity.getOutCount() - reCount; - invProductEntity.setOutCount(outCount); + if (invProductDetailEntity != null) { + int count = invProductDetailEntity.getCount() - 1; + int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode()); + if (count == 0) { + invPreinProductDetailService.deleteById(invProductDetailEntity.getId() + ""); + } else { + //更新详情表 + invProductDetailEntity.setCount(count); + invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount); + invPreinProductDetailService.update(invProductDetailEntity); } - invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount()); + //更新产品表 + InvPreinProductEntity invProductEntity = invPreinProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode()); + if (invProductEntity != null) { + if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) { + int inCount = invProductEntity.getInCount() - reCount; + invProductEntity.setInCount(inCount); + } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { + int outCount = invProductEntity.getOutCount() - reCount; + invProductEntity.setOutCount(outCount); + } + invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount()); + } + invPreinProductService.update(invProductEntity); } - invPreinProductService.update(invProductEntity); + } else if (basicBussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_ADVANCE) { //寄售库存 InvPreProductDetailEntity invProductDetailEntity = invPreProductDetailService.selectByCode(billNo, code); - int count = invProductDetailEntity.getCount() - 1; - int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode()); - if (count == 0) { - invPreProductService.deleteById(invProductDetailEntity.getId()); - } else { - //更新详情表 - invProductDetailEntity.setCount(count); - invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount); - invPreProductDetailService.update(invProductDetailEntity); - } - //更新产品表 - InvPreProductEntity invProductEntity = invPreProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode()); - if (invProductEntity != null) { - if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) { - int inCount = invProductEntity.getInCount() - reCount; - invProductEntity.setInCount(inCount); - } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { - int outCount = invProductEntity.getOutCount() - reCount; - invProductEntity.setOutCount(outCount); + if (invProductDetailEntity != null) { + int count = invProductDetailEntity.getCount() - 1; + int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode()); + if (count == 0) { + invPreProductService.deleteById(invProductDetailEntity.getId()); + } else { + //更新详情表 + invProductDetailEntity.setCount(count); + invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount); + invPreProductDetailService.update(invProductDetailEntity); + } + //更新产品表 + InvPreProductEntity invProductEntity = invPreProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode()); + if (invProductEntity != null) { + if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) { + int inCount = invProductEntity.getInCount() - reCount; + invProductEntity.setInCount(inCount); + } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { + int outCount = invProductEntity.getOutCount() - reCount; + invProductEntity.setOutCount(outCount); + } + invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount()); } - invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount()); + invPreProductService.update(invProductEntity); } - invPreProductService.update(invProductEntity); + } else { //普通库存 InvProductDetailEntity invProductDetailEntity = invProductDetailService.selectByCode(billNo, code); - int count = invProductDetailEntity.getCount() - 1; - int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode()); - if (count == 0) { - invProductDetailService.deleteById(invProductDetailEntity.getId()); - } else { - //更新详情表 - invProductDetailEntity.setCount(count); - invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount); - invProductDetailService.update(invProductDetailEntity); - } - //更新产品表 - InvProductEntity invProductEntity = invProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode()); - if (invProductEntity != null) { - if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) { - int inCount = invProductEntity.getInCount() - reCount; - invProductEntity.setInCount(inCount); - } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { - int outCount = invProductEntity.getOutCount() - reCount; - invProductEntity.setOutCount(outCount); + + if (invProductDetailEntity != null) { + int count = invProductDetailEntity.getCount() - 1; + int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode()); + if (count == 0) { + invProductDetailService.deleteById(invProductDetailEntity.getId()); + } else { + //更新详情表 + invProductDetailEntity.setCount(count); + invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount); + invProductDetailService.update(invProductDetailEntity); + } + //更新产品表 + InvProductEntity invProductEntity = invProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode()); + if (invProductEntity != null) { + if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) { + int inCount = invProductEntity.getInCount() - reCount; + invProductEntity.setInCount(inCount); + } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { + int outCount = invProductEntity.getOutCount() - reCount; + invProductEntity.setOutCount(outCount); + } + invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount()); } - invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount()); + invProductService.update(invProductEntity); } - invProductService.update(invProductEntity); } diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java index 696bb6636..c43d03ca6 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java @@ -20,6 +20,7 @@ import com.glxp.api.res.inv.InvProductDetailResponse; import com.glxp.api.service.auth.InvSpaceService; import com.glxp.api.service.inv.InvProductDetailService; import com.glxp.api.util.DateUtil; +import com.glxp.api.util.IntUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -64,9 +65,14 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { public InvProductDetailEntity selectByCode(String billNo, String code) { List invProductDetailEntities = invProductDetailDao.selectList (new QueryWrapper().eq("code", code).eq("orderId", billNo)); - if (CollUtil.isNotEmpty(invProductDetailEntities)) + if (CollUtil.isNotEmpty(invProductDetailEntities)) { + for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { + if (IntUtil.value(invProductDetailEntity.getReCount()) > 0) { + return invProductDetailEntity; + } + } return invProductDetailEntities.get(0); - else + } else return null; }