From 7209a1531fe254fafddf6c71d9e2649fcd685784 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=96=AA=E5=90=8D?= <942005050@qq.com> Date: Mon, 25 Dec 2023 08:30:09 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E6=89=B9=E6=AC=A1?= =?UTF-8?q?=E7=AD=96=E7=95=A5/=E4=B8=8B=E6=9E=B6=E7=AD=96=E7=95=A5=20?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=20=E5=BA=93=E5=AD=98=E4=BD=99=E9=A2=9DDO=20?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9=20=E6=8C=89=E5=8D=95?= =?UTF-8?q?=E4=BB=B6=20=E8=BF=94=E5=9B=9E=E6=9C=80=E5=90=8E=E4=B8=80?= =?UTF-8?q?=E6=9D=A1=E5=BA=93=E5=AD=98=E4=BD=99=E9=A2=9Dqty=E4=B8=BA?= =?UTF-8?q?=E9=9C=80=E6=B1=82=E6=89=80=E5=89=A9=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/win/module/wms/util/JobUtils.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java index 54bce0d8..5a22e0c4 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java @@ -976,6 +976,25 @@ public class JobUtils { if (balanceDOListJob == null || balanceDOListJob.size() == 0) { throw new UtilException("物品代码:" + itemCode + " 没有找到推荐的库存"); } + // 发料类型为按单件时 返回 库存余额数量 为需求数量 + // 发料包装类型——按 包装 返回 当前库存余额数量 + if (jsonObjectOffShelf.get("IssueStorageType") != null && jsonObjectOffShelf.get("IssueStorageType").equals("PACKAGE")) { + } + // 发料包装类型——按 容器 + if (jsonObjectOffShelf.get("IssueStorageType") != null && jsonObjectOffShelf.get("IssueStorageType").equals("CONTAINER")) { + } + // 发料包装类型——按 单件 返回 库存余额数量 为需求数量 + if (jsonObjectOffShelf.get("IssueStorageType") != null && jsonObjectOffShelf.get("IssueStorageType").equals("SINGLE")) { + BigDecimal residueQty = qty; + for(int i = 0; i< balanceDOListJob.size(); i++) { + // 最后一条数据 存储qty为需求qty所剩数量 + if ( i == (balanceDOListJob.size()-1)) { + balanceDOListJob.get(i).setQty(residueQty); + } + // qty 减掉库存余额qty数量 求最后所剩 + residueQty = residueQty.subtract(balanceDOListJob.get(i).getQty()); + } + } // 合并 相同【物品】和【批次】和【库位】的 数量求和 List balanceDOListRs = new ArrayList<>(); Map map = new HashMap<>(); From df2c6885e1f466c17e45f158da0986f82eb0fe56 Mon Sep 17 00:00:00 2001 From: chenfang Date: Mon, 25 Dec 2023 08:36:51 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E9=80=80=E8=B4=A7?= =?UTF-8?q?=E7=94=B3=E8=AF=B7/=E4=BB=BB=E5=8A=A1/=E8=AE=B0=E5=BD=95Busines?= =?UTF-8?q?sType=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vo/CustomerreturnRequestMainBaseVO.java | 1 - ...CustomerreceiptRequestMainServiceImpl.java | 24 +++++++++---------- .../CustomerreturnJobMainServiceImpl.java | 8 +++---- .../CustomerreturnRecordMainServiceImpl.java | 6 ++--- .../CustomerreturnRequestMainServiceImpl.java | 7 +++--- .../CustomersettleRequestMainServiceImpl.java | 12 +++++----- .../DeliverPlanMainServiceImpl.java | 6 ++--- .../DeliverRequestMainServiceImpl.java | 4 ++-- .../com/win/module/wms/util/JobUtils.java | 13 +++++++--- 9 files changed, 43 insertions(+), 38 deletions(-) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainBaseVO.java index d58d8617..a1c97217 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/customerreturnRequest/vo/CustomerreturnRequestMainBaseVO.java @@ -30,7 +30,6 @@ public class CustomerreturnRequestMainBaseVO { private String customerCode; @Schema(description = "客户月台代码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotBlank(message = "客户月台代码不能为空") private String customerDockCode; @Schema(description = "承运商") diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreceiptRequest/CustomerreceiptRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreceiptRequest/CustomerreceiptRequestMainServiceImpl.java index 5818c4d3..0ec3d87e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreceiptRequest/CustomerreceiptRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreceiptRequest/CustomerreceiptRequestMainServiceImpl.java @@ -86,7 +86,7 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq List subDOList = CustomerreceiptRequestDetailConvert.INSTANCE.convertList03(createReqVO.getSubList()); String number = serialNumberApi.generateCode(RuleCodeEnum.CUSTOMER_RECEIPT_REQUEST.getCode()); customerreceiptRequestMain.setNumber(number); - RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("CustomerreceiptRequest"); + RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("CustomerReceiptRequest"); RequestStatusState requestStatusState = new RequestStatusState(); requestStatusState.newObject(requestsettingDO.getAutoCommit(), requestsettingDO.getAutoAgree(), requestsettingDO.getAutoExecute()); customerreceiptRequestMain.setStatus(requestStatusState.getState().getCode()); @@ -94,7 +94,7 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq customerreceiptRequestMain.setAutoAgree(requestsettingDO.getAutoAgree()); customerreceiptRequestMain.setAutoExecute(requestsettingDO.getAutoExecute()); customerreceiptRequestMain.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); - BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomerreceiptRequest"); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomerReceiptRequest"); customerreceiptRequestMain.setBusinessType(businesstypeDO.getCode()); customerreceiptRequestMain.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); customerreceiptRequestMain.setToLocationTypes(businesstypeDO.getInLocationTypes()); @@ -113,7 +113,7 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq customerreceiptRequestDetailDO.setNumber(number); } customerreceiptRequestDetailMapper.insertBatch(subDOList); - trendsApi.createTrends(requestsettingDO.getId(), "CustomerreceiptRequest", "增加了客户收货申请", TrendsTypeEnum.CREATE); + trendsApi.createTrends(requestsettingDO.getId(), "CustomerReceiptRequest", "增加了客户收货申请", TrendsTypeEnum.CREATE); // 返回 return customerreceiptRequestMain.getId(); } @@ -125,7 +125,7 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq // 更新 CustomerreceiptRequestMainDO updateObj = CustomerreceiptRequestMainConvert.INSTANCE.convert(updateReqVO); customerreceiptRequestMainMapper.updateById(updateObj); - trendsApi.createTrends(updateReqVO.getId(), "CustomerreceiptRequest", "修改了客户收货申请", TrendsTypeEnum.UPDATE); + trendsApi.createTrends(updateReqVO.getId(), "CustomerReceiptRequest", "修改了客户收货申请", TrendsTypeEnum.UPDATE); } @Override @@ -186,7 +186,7 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq throw new ServiceException(CUSTOMERRECEIPT_REQUEST_CANNOT_CLOSE); } mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录 - trendsApi.createTrends(id, "CustomerreceiptRequest", "关闭了客户收货申请", TrendsTypeEnum.UPDATE); + trendsApi.createTrends(id, "CustomerReceiptRequest", "关闭了客户收货申请", TrendsTypeEnum.UPDATE); return customerreceiptRequestMainMapper.updateById(mainDO); } @@ -206,7 +206,7 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq throw new ServiceException(CUSTOMERRECEIPT_REQUEST_CANNOT_RE_ADD); } mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录 - trendsApi.createTrends(id, "CustomerreceiptRequest", "打开了客户收货申请", TrendsTypeEnum.UPDATE); + trendsApi.createTrends(id, "CustomerReceiptRequest", "打开了客户收货申请", TrendsTypeEnum.UPDATE); return customerreceiptRequestMainMapper.updateById(mainDO); } @@ -229,7 +229,7 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq if (RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { this.generateRecord(mainDO, customerreceiptRequestDetailMapper.selectList(mainDO.getId())); } - trendsApi.createTrends(id, "CustomerreceiptRequest", "提交了客户收货申请", TrendsTypeEnum.UPDATE); + trendsApi.createTrends(id, "CustomerReceiptRequest", "提交了客户收货申请", TrendsTypeEnum.UPDATE); return customerreceiptRequestMainMapper.updateById(mainDO); } @@ -253,7 +253,7 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq if (RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { this.generateRecord(mainDO, customerreceiptRequestDetailMapper.selectList(mainDO.getId())); } - trendsApi.createTrends(id, "CustomerreceiptRequest", "审批同意了客户收货申请", TrendsTypeEnum.UPDATE); + trendsApi.createTrends(id, "CustomerReceiptRequest", "审批同意了客户收货申请", TrendsTypeEnum.UPDATE); return customerreceiptRequestMainMapper.updateById(mainDO); } @@ -275,7 +275,7 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq mainDO.setStatus(requestStatusState.getState().getCode()); //调用执行方法 this.generateRecord(mainDO, customerreceiptRequestDetailMapper.selectList(mainDO.getId())); - trendsApi.createTrends(id, "CustomerreceiptRequest", "执行了客户收货申请", TrendsTypeEnum.UPDATE); + trendsApi.createTrends(id, "CustomerReceiptRequest", "执行了客户收货申请", TrendsTypeEnum.UPDATE); return customerreceiptRequestMainMapper.updateById(mainDO); } @@ -295,7 +295,7 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq throw new ServiceException(CUSTOMERRECEIPT_REQUEST_CANNOT_REFUSED); } mainDO.setStatus(requestStatusState.getState().getCode()); - trendsApi.createTrends(id, "CustomerreceiptRequest", "审批驳回了客户收货申请", TrendsTypeEnum.UPDATE); + trendsApi.createTrends(id, "CustomerReceiptRequest", "审批驳回了客户收货申请", TrendsTypeEnum.UPDATE); return customerreceiptRequestMainMapper.updateById(mainDO); } @@ -313,7 +313,7 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq String number = serialNumberApi.generateCode(RuleCodeEnum.CUSTOMER_RECEIPT_REQUEST.getCode()); customerreceiptRecordMainCreateReqVO.setNumber(number); //增加业务类型 - BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomerreceiptRecord"); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomerReceiptRecord"); customerreceiptRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode()); customerreceiptRecordMainMapper.insert(CustomerreceiptRecordMainConvert.INSTANCE.convert(customerreceiptRecordMainCreateReqVO)); List expectinCreateReqVOList = new ArrayList<>(); @@ -325,7 +325,7 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq customerreceiptRecordDetailCreateReqVO.setNumber(number); customerreceiptRecordDetailMapper.insert(CustomerreceiptRecordDetailConvert.INSTANCE.convert(customerreceiptRecordDetailCreateReqVO)); } - trendsApi.createTrends(mainDO.getId(), "CustomerreceiptRecord", "客户收货申请生成客户收货记录", TrendsTypeEnum.CREATE); + trendsApi.createTrends(mainDO.getId(), "CustomerReceiptRecord", "客户收货申请生成客户收货记录", TrendsTypeEnum.CREATE); } } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnJob/CustomerreturnJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnJob/CustomerreturnJobMainServiceImpl.java index 7a991de7..f635c200 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnJob/CustomerreturnJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnJob/CustomerreturnJobMainServiceImpl.java @@ -198,7 +198,7 @@ public class CustomerreturnJobMainServiceImpl implements CustomerreturnJobMainSe customerreturnJobMainDO.setAcceptUserId(String.valueOf(userId)); customerreturnJobMainDO.setAcceptUserName(userRespDTO.getNickname()); customerreturnJobMainDO.setAcceptTime(LocalDateTime.now()); - trendsApi.createTrends(id, "customerreturnJob", "承接了客户退货任务", TrendsTypeEnum.UPDATE); + trendsApi.createTrends(id, "CustomerRejectJob", "承接了客户退货任务", TrendsTypeEnum.UPDATE); return customerreturnJobMainMapper.updateById(customerreturnJobMainDO); } @@ -214,7 +214,7 @@ public class CustomerreturnJobMainServiceImpl implements CustomerreturnJobMainSe customerreturnJobMainDO.setAcceptUserId(null); customerreturnJobMainDO.setAcceptUserName(null); customerreturnJobMainDO.setAcceptTime(null); - trendsApi.createTrends(id, "customerreturnJob", "取消了客户退货任务", TrendsTypeEnum.UPDATE); + trendsApi.createTrends(id, "CustomerRejectJob", "取消了客户退货任务", TrendsTypeEnum.UPDATE); return customerreturnJobMainMapper.updateById(customerreturnJobMainDO); } @@ -227,7 +227,7 @@ public class CustomerreturnJobMainServiceImpl implements CustomerreturnJobMainSe throw exception(CUSTOMERRETURN_JOB_MAIN_STATUS_ERROR); } customerreturnJobMainDO.setStatus(jobStatusState.getState().getCode()); - trendsApi.createTrends(id, "customerreturnJob", "关闭了客户退货任务", TrendsTypeEnum.UPDATE); + trendsApi.createTrends(id, "CustomerRejectJob", "关闭了客户退货任务", TrendsTypeEnum.UPDATE); return customerreturnJobMainMapper.updateById(customerreturnJobMainDO); } @@ -346,7 +346,7 @@ public class CustomerreturnJobMainServiceImpl implements CustomerreturnJobMainSe //移除预计出 expectoutService.deleteExpectoutByJobNumber(customerreturnJobMainDO.getNumber()); //变更记录 - trendsApi.createTrends(customerreturnJobMainDO.getId(), "customerreturnJob", "执行了客户退货任务", TrendsTypeEnum.UPDATE); + trendsApi.createTrends(customerreturnJobMainDO.getId(), "CustomerRejectJob", "执行了客户退货任务", TrendsTypeEnum.UPDATE); return number; } } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRecord/CustomerreturnRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRecord/CustomerreturnRecordMainServiceImpl.java index a7ecdf66..cabe843e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRecord/CustomerreturnRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRecord/CustomerreturnRecordMainServiceImpl.java @@ -88,8 +88,8 @@ public class CustomerreturnRecordMainServiceImpl implements CustomerreturnRecord List subDOList = CustomerreturnRecordDetailConvert.INSTANCE.convertList03(createReqVO.getSubList()); String number = serialNumberApi.generateCode(RuleCodeEnum.CUSTOMER_REJECT_RECORD.getCode()); mainDO.setNumber(number); - BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomerreturnRecord"); - RecordsettingDO recordsettingDO = recordsettingService.selectRecordsettingExist("CustomerreturnRecord"); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomerRejectRecord"); + RecordsettingDO recordsettingDO = recordsettingService.selectRecordsettingExist("CustomerRejectRecord"); mainDO.setBusinessType(businesstypeDO.getCode()); AdminUserRespDTO user = userApi.getUser(Long.valueOf(createReqVO.getCreator())); mainDO.setCreator(createReqVO.getCreator()); @@ -168,7 +168,7 @@ public class CustomerreturnRecordMainServiceImpl implements CustomerreturnRecord //增加库存事务 transactionService.createTransaction(transactionCreateReqVOList); //增加操作记录 - trendsApi.createTrends(mainDO.getId(), "customerreturnRecordMain", "增加了客户退货记录", TrendsTypeEnum.CREATE); + trendsApi.createTrends(mainDO.getId(), "CustomerRejectRecord", "增加了客户退货记录", TrendsTypeEnum.CREATE); // 返回 return customerreturnRecordMain.getNumber(); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRequest/CustomerreturnRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRequest/CustomerreturnRequestMainServiceImpl.java index ffae14f0..4c7eac5a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRequest/CustomerreturnRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customerreturnRequest/CustomerreturnRequestMainServiceImpl.java @@ -353,7 +353,7 @@ public class CustomerreturnRequestMainServiceImpl implements CustomerreturnReque customerreturnJobMainDO.setAllowModifyPackingNumber(jobsettingDO.getAllowModifyPackingNumber()); customerreturnJobMainDO.setAllowModifyBatch(jobsettingDO.getAllowModifyBach()); //增加业务类型 - BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomerRejectJob"); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomerRejectRequest"); customerreturnJobMainDO.setBusinessType(businesstypeDO.getCode()); customerreturnJobMainDO.setInInventoryStatuses(businesstypeDO.getInInventoryStatuses()); customerreturnJobMainDO.setOutInventoryStatuses(businesstypeDO.getOutInventoryStatuses()); @@ -632,7 +632,9 @@ public class CustomerreturnRequestMainServiceImpl implements CustomerreturnReque DeliverRecordMainDO deliverRecordMainDO = deliverRecordMainService.selectsMainRecordExist(mainDo.getDeliverRecordNumber()); mainDo.setDeliverPlanNumber(deliverRecordMainDO.getDeliverPlanNumber()); mainDo.setCustomerCode(deliverRecordMainDO.getCustomerCode()); - mainDo.setCustomerDockCode(deliverRecordMainDO.getCustomerDockCode()); + if(deliverRecordMainDO.getCustomerDockCode() != null && !"".equals(deliverRecordMainDO.getCustomerDockCode())){ + mainDo.setCustomerDockCode(deliverRecordMainDO.getCustomerDockCode()); + } return mainDo; } @@ -792,5 +794,4 @@ public class CustomerreturnRequestMainServiceImpl implements CustomerreturnReque throw new UtilException("退货数量" + qty1 + "不能大于库存数量" + qty2); } } - } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestMainServiceImpl.java index 000a60fd..e6a4c9f0 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/customersettleRequest/CustomersettleRequestMainServiceImpl.java @@ -100,7 +100,7 @@ public class CustomersettleRequestMainServiceImpl implements CustomersettleReque if(RequestStatusEnum.HANDLING.getCode().equals(customersettleRequestMainDO.getStatus())) { generateRecord(customersettleRequestMainDO,customersettleRequestDetailMapper.selectList(customersettleRequestMainDO.getId())); } - trendsApi.createTrends(customersettleRequestMainDO.getId(), "CustomersettleRequest", "增加了客户结算申请", TrendsTypeEnum.CREATE); + trendsApi.createTrends(customersettleRequestMainDO.getId(), "CustomerSettleRequest", "增加了客户结算申请", TrendsTypeEnum.CREATE); // 返回 return customersettleRequestMainDO.getId(); } @@ -114,7 +114,7 @@ public class CustomersettleRequestMainServiceImpl implements CustomersettleReque if(RequestStatusEnum.HANDLING.getCode().equals(updateObj.getStatus())) { generateRecord(updateObj,customersettleRequestDetailMapper.selectList(updateObj.getId())); } - trendsApi.createTrends(updateObj.getId(), "CustomersettleRequest", "修改了客户结算申请", TrendsTypeEnum.UPDATE); + trendsApi.createTrends(updateObj.getId(), "CustomerSettleRequest", "修改了客户结算申请", TrendsTypeEnum.UPDATE); customersettleRequestMainMapper.updateById(updateObj); } @@ -274,7 +274,7 @@ public class CustomersettleRequestMainServiceImpl implements CustomersettleReque String number = serialNumberApi.generateCode(RuleCodeEnum.CUSTOMER_SETTLE_RECORD.getCode()); customersettleRecordMainCreateReqVO.setNumber(number); //增加业务类型 - BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomersettleRecord"); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomerSettleRecord"); customersettleRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode()); CustomersettleRecordMainDO convert = CustomersettleRecordMainConvert.INSTANCE.convert(customersettleRecordMainCreateReqVO); customersettleRecordMainMapper.insert(convert); @@ -306,7 +306,7 @@ public class CustomersettleRequestMainServiceImpl implements CustomersettleReque transactionCreateReqVO.setLocationCode(recordDetailDO.getFromLocationCode()); transactionCreateReqVOList.add(transactionCreateReqVO); } - trendsApi.createTrends(mainDO.getId(), "CustomersettleRecord", "客户结算申请生成客户结算记录", TrendsTypeEnum.CREATE); + trendsApi.createTrends(mainDO.getId(), "CustomerSettleRecord", "客户结算申请生成客户结算记录", TrendsTypeEnum.CREATE); } @Override @@ -344,7 +344,7 @@ public class CustomersettleRequestMainServiceImpl implements CustomersettleReque //增加操作记录 String number = serialNumberApi.generateCode(RuleCodeEnum.CUSTOMER_SETTLE_REQUEST.getCode()); mainDO.setNumber(number); - RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("CustomersettleRequest"); + RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("CustomerSettleRequest"); RequestStatusState requestStatusState = new RequestStatusState(); requestStatusState.newObject(requestsettingDO.getAutoCommit(), requestsettingDO.getAutoAgree(), requestsettingDO.getAutoExecute()); mainDO.setStatus(requestStatusState.getState().getCode()); @@ -354,7 +354,7 @@ public class CustomersettleRequestMainServiceImpl implements CustomersettleReque mainDO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); mainDO.setRequestTime(LocalDateTime.now()); customersettleRequestMainMapper.insert(mainDO); - trendsApi.createTrends(mainDO.getId(), "customersettleRequestMain", "导入了客户结算申请", TrendsTypeEnum.CREATE); + trendsApi.createTrends(mainDO.getId(), "CustomerSettleRequest", "导入了客户结算申请", TrendsTypeEnum.CREATE); for (CustomersettleRequestDetailDO detailDO : subDOList) { detailDO.setMasterId(mainDO.getId()); detailDO.setNumber(number); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverPlan/DeliverPlanMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverPlan/DeliverPlanMainServiceImpl.java index 60866b26..2fc8a979 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverPlan/DeliverPlanMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverPlan/DeliverPlanMainServiceImpl.java @@ -23,7 +23,6 @@ import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.customer.CustomerDO; import com.win.module.wms.dal.dataobject.deliverPlan.DeliverPlanDetailDO; import com.win.module.wms.dal.dataobject.deliverPlan.DeliverPlanMainDO; -import com.win.module.wms.dal.dataobject.deliverRequest.DeliverRequestMainDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; import com.win.module.wms.dal.mysql.deliverPlan.DeliverPlanDetailMapper; @@ -111,9 +110,8 @@ public class DeliverPlanMainServiceImpl implements DeliverPlanMainService { @Override @Transactional public Long createDeliverPlanMain(DeliverPlanMainCreateReqVO createReqVO) { - RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("DeliverPlan"); DeliverPlanMainDO deliverPlanMainDO = validatorToCreate(createReqVO); - trendsApi.createTrends(requestsettingDO.getId(), "DeliverPlanMain", "增加了发货计划", TrendsTypeEnum.CREATE); + trendsApi.createTrends(deliverPlanMainDO.getId(), "DeliverPlanMain", "增加了发货计划", TrendsTypeEnum.CREATE); return deliverPlanMainDO.getId(); } @@ -127,7 +125,7 @@ public class DeliverPlanMainServiceImpl implements DeliverPlanMainService { } DeliverPlanMainDO mainDO = DeliverPlanMainConvert.INSTANCE.convert(updateReqVO); deliverPlanMainMapper.updateById(mainDO); - trendsApi.createTrends(updateReqVO.getId(), "DeliverPlanMain", deliverPlanMainDO.toString(), TrendsTypeEnum.UPDATE); + trendsApi.createTrends(mainDO.getId(), "DeliverPlanMain", deliverPlanMainDO.toString(), TrendsTypeEnum.UPDATE); } @Override diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRequest/DeliverRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRequest/DeliverRequestMainServiceImpl.java index b25a9732..849a2a5a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRequest/DeliverRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/deliverRequest/DeliverRequestMainServiceImpl.java @@ -157,7 +157,7 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService if(RequestStatusEnum.HANDLING.getCode().equals(deliverRequestMain.getStatus())) { generateJob(deliverRequestMain,deliverRequestDetailMapper.selectList(deliverRequestMain.getId())); } - trendsApi.createTrends(requestsettingDO.getId(), "DeliverRequest", "增加了制品上架申请", TrendsTypeEnum.CREATE); + trendsApi.createTrends(deliverRequestMain.getId(), "DeliverRequest", "增加了制品上架申请", TrendsTypeEnum.CREATE); return deliverRequestMain.getId(); } @@ -174,7 +174,7 @@ public class DeliverRequestMainServiceImpl implements DeliverRequestMainService if(RequestStatusEnum.HANDLING.getCode().equals(deliverRequestMainDO.getStatus())) { generateJob(deliverRequestMainDO,deliverRequestDetailMapper.selectList(deliverRequestMainDO.getId())); } - trendsApi.createTrends(requestsettingDO.getId(), "DeliverRequest", "修改了制品上架申请", TrendsTypeEnum.UPDATE); + trendsApi.createTrends(deliverRequestMainDO.getId(), "DeliverRequest", "修改了制品上架申请", TrendsTypeEnum.UPDATE); } @Override diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java index 5a22e0c4..e73018d1 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java @@ -211,10 +211,16 @@ public class JobUtils { detailDOQueryWrapper.eq("available", "TRUE"); deliverPlanDetailDO = deliverPlanDetailMapper.selectOne(detailDOQueryWrapper); BigDecimal shippedQty = deliverPlanDetailDO.getShippedQty(); -// 如果已发货数量=计划数量,更新计划明细状态为(开放 => 关闭) + //修改已发货qty deliverPlanDetailDO.setShippedQty(shippedQty.add(pshippedQty)); - if (deliverPlanDetailDO.getPlanQty() == deliverPlanDetailDO.getShippedQty()) { - deliverPlanDetailDO.setAvailable("FALSE"); + if(deliverPlanDetailDO.getShippedQty().compareTo(deliverPlanDetailDO.getPlanQty()) == 1){ + throw exception(QTY_EXCEPTION, deliverPlanDetailDO.getItemCode() + "该物件已发货数量" + deliverPlanDetailDO.getShippedQty() + "大于发货计划数量" + deliverPlanDetailDO.getPlanQty() + "超出" + deliverPlanDetailDO.getShippedQty().subtract(deliverPlanDetailDO.getPlanQty())); + }else { + deliverPlanDetailMapper.updateById(deliverPlanDetailDO); +// 如果已发货数量=计划数量,更新计划明细状态为(开放 => 关闭) + if (deliverPlanDetailDO.getPlanQty() == deliverPlanDetailDO.getShippedQty()) { + deliverPlanDetailDO.setAvailable("FALSE"); + } } // 如果全部明细状态为(关闭),更新计划状态为(已接受 => 完成) QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -933,6 +939,7 @@ public class JobUtils { // 任务子表数据 List balanceDOListJob = new ArrayList<>(); + System.out.println(queryWrapper.toString()); List balanceDOList = balanceMapper.selectList(queryWrapper); if (balanceDOList == null || balanceDOList.size() == 0 ) { throw exception(BALANCE_NOT_EXISTS); From 3f2974e061427ec138b5959edbade96d6aeade11 Mon Sep 17 00:00:00 2001 From: liuchen864 <23082234@qq.com> Date: Mon, 25 Dec 2023 09:01:33 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=BE=AA=E7=8E=AF=E7=9B=98=E7=82=B9?= =?UTF-8?q?=E7=94=9F=E6=88=90=E7=94=B3=E8=AF=B7=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataobject/countPlan/CountPlanMainDO.java | 6 ++- .../win/module/wms/job/CountPlanCycleJob.java | 47 +++++++++++++++++++ .../countPlan/CountPlanMainService.java | 6 +++ .../countPlan/CountPlanMainServiceImpl.java | 21 ++++++--- 4 files changed, 73 insertions(+), 7 deletions(-) create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/job/CountPlanCycleJob.java diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countPlan/CountPlanMainDO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countPlan/CountPlanMainDO.java index 68d2e758..64f5538e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countPlan/CountPlanMainDO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countPlan/CountPlanMainDO.java @@ -39,6 +39,10 @@ public class CountPlanMainDO extends BaseDO { * 执行周期 */ private String crontab; + /** + * 下一执行时间 + */ + private LocalDateTime nextTime; /** * 维度 * @@ -131,6 +135,6 @@ public class CountPlanMainDO extends BaseDO { /** * 租户编号 */ - private Integer tenantId; + private Long tenantId; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/job/CountPlanCycleJob.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/job/CountPlanCycleJob.java new file mode 100644 index 00000000..9645ff6b --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/job/CountPlanCycleJob.java @@ -0,0 +1,47 @@ +package com.win.module.wms.job; + +import com.win.framework.quartz.core.handler.JobHandler; +import com.win.framework.quartz.core.util.CronUtils; +import com.win.framework.tenant.core.context.TenantContextHolder; +import com.win.module.wms.dal.dataobject.countPlan.CountPlanMainDO; +import com.win.module.wms.dal.mysql.countPlan.CountPlanMainMapper; +import com.win.module.wms.service.countPlan.CountPlanMainService; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.List; + +@Component +public class CountPlanCycleJob implements JobHandler { + + @Resource + private CountPlanMainService countPlanMainService; + @Resource + private CountPlanMainMapper countPlanMainMapper; + + @Override + public String execute(String param) { + StringBuilder message = new StringBuilder(); + TenantContextHolder.setIgnore(true); + List countPlanMainDOList = countPlanMainService.getCountPlanCycle(); + TenantContextHolder.setIgnore(false); + for(CountPlanMainDO countPlanMainDO : countPlanMainDOList) { + TenantContextHolder.setTenantId(countPlanMainDO.getTenantId()); + LocalDateTime now = LocalDateTime.now(); + if(now.isAfter(countPlanMainDO.getNextTime())) { + countPlanMainService.generateRequest(countPlanMainDO); + countPlanMainDO.setNextTime(null); + // 计算下一个执行时间 + List nextTimes = CronUtils.getNextTimes(countPlanMainDO.getCrontab(), 1); + if(!nextTimes.isEmpty()) { + countPlanMainDO.setNextTime(nextTimes.get(0)); + } + countPlanMainMapper.updateById(countPlanMainDO); + message.append("盘点计划 ").append(countPlanMainDO.getNumber()).append(" 生成了盘点申请"); + } + } + return message.toString(); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanMainService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanMainService.java index d81f28f4..cff75eba 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanMainService.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanMainService.java @@ -144,4 +144,10 @@ public interface CountPlanMainService { * @param mainDO 盘点申请主 */ void generateRequest(CountPlanMainDO mainDO); + + /** + * 获取所有循环盘点,用于定时生成盘点申请 + * @return 可用循环盘点 + */ + List getCountPlanCycle(); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanMainServiceImpl.java index 9f8eed67..ff31b18b 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanMainServiceImpl.java @@ -30,12 +30,12 @@ import com.win.module.wms.dal.mysql.balance.BalanceMapper; import com.win.module.wms.dal.mysql.countPlan.CountPlanDetailMapper; import com.win.module.wms.dal.mysql.countPlan.CountPlanMainMapper; import com.win.module.wms.dal.mysql.countRequest.CountRequestMainMapper; +import com.win.module.wms.enums.plan.PlanStatusEnum; import com.win.module.wms.enums.plan.PlanStatusState; import com.win.module.wms.service.countRequest.CountRequestMainService; import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.location.LocationService; import com.win.module.wms.util.JobUtils; -import org.quartz.SchedulerException; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -279,11 +279,10 @@ public class CountPlanMainServiceImpl implements CountPlanMainService { if(mainDO.getType().equals("MANUAL")) {//指定盘点 this.generateRequest(mainDO); } else if (mainDO.getType().equals("CYCLE")) {//循环盘点 - // 添加 Job 到 Quartz 中 - try { - schedulerManager.addJob(mainDO.getId() + 10000, "countPlanJob", String.valueOf(mainDO.getId()) + "," + mainDO.getTenantId(), mainDO.getCrontab(), 3, 60*10); - } catch (SchedulerException e) { - throw new ServiceException(COUNT_PLAN_CRON_ERROR); + // 计算下一个执行时间 + List nextTimes = CronUtils.getNextTimes(mainDO.getCrontab(), 1); + if(!nextTimes.isEmpty()) { + mainDO.setNextTime(nextTimes.get(0)); } } return countPlanMainMapper.updateById(mainDO); @@ -458,4 +457,14 @@ public class CountPlanMainServiceImpl implements CountPlanMainService { } return balanceMapper.selectList(queryWrapper); } + + @Override + public List getCountPlanCycle() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("`type`", "CYCLE"); + queryWrapper.eq("`status`", PlanStatusEnum.PUBLISHED.getCode()); + queryWrapper.eq("available", "TRUE"); + return countPlanMainMapper.selectList(queryWrapper); + } + } From 4a6a1a7172e86a221699cff26b20765fa6d1b55f Mon Sep 17 00:00:00 2001 From: chenfang Date: Mon, 25 Dec 2023 09:37:19 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=BA=93=E5=AD=98=E8=BD=AC=E7=A7=BB?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E7=8A=B6=E6=80=81=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InventorymoveRequestMainServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorymoveRequest/InventorymoveRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorymoveRequest/InventorymoveRequestMainServiceImpl.java index 3eff6830..9bdc65ac 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorymoveRequest/InventorymoveRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorymoveRequest/InventorymoveRequestMainServiceImpl.java @@ -187,7 +187,7 @@ public class InventorymoveRequestMainServiceImpl implements InventorymoveRequest if (itembasicDO != null){ jobUtils.ifInType(itembasicDO.getType(), businesstypeDO); } - jobUtils.ifInInventoryStatuses(inventorymoveRequestDetailDO.getFromInventoryStatus(), businesstypeDO); + jobUtils.ifOutInventoryStatuses(inventorymoveRequestDetailDO.getFromInventoryStatus(), businesstypeDO); jobUtils.ifInFromLocationType(inventorymoveRequestDetailDO.getFromLocationCode(), businesstypeDO); jobUtils.ifInToLocationType(inventorymoveRequestDetailDO.getToLocationCode(), businesstypeDO); RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist(businesstypeCode);