From 194afebd4a1d0af0eea02c000688e8c5eb4d24d3 Mon Sep 17 00:00:00 2001 From: liuy <37787198+LiuyCodes@users.noreply.github.com> Date: Mon, 11 Nov 2024 12:02:41 +0800 Subject: [PATCH 1/2] =?UTF-8?q?refactor(sales):=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E9=94=80=E5=94=AE=E5=87=BA=E5=BA=93=E6=9F=A5=E8=AF=A2=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除了未使用的 CalculateDateVo 和 dateStr 相关代码 -优化了查询条件设置,直接使用 startTime 和 endTime 参数 -调整了查询方法参数,提高了代码可读性 - 注释掉了部分测试代码,增加了正式运行时的日志输出 --- .../sales/SoSaleOutPluginInitializerToC.java | 17 ++++++----------- .../SoSaleOutPluginInitializerToBTest.java | 5 ++++- .../SoSaleOutPluginInitializerToCTest.java | 4 ++-- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java index 7cb785f2..e2207932 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java @@ -227,13 +227,9 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { Assert.notNull(startTime, "查询条件,开始时间不能为空!"); Assert.notNull(endTime, "查询条件,结束时间不能为空!"); -// CalculateDateVo calculateDateVo = DateStrUtil.calculateCalculateEntireDayPeriod(dateStr); String tocShop = shopTobOrToCUtil.getCommaShop("TOC"); - List<com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto> headerDetailsDtoList = new ArrayList<>(); QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo(); -// queryOfsSoSaleOutVo.setShipAt_start(calculateDateVo.getStart_time()); -// queryOfsSoSaleOutVo.setShipAt_end(calculateDateVo.getEnd_time()); queryOfsSoSaleOutVo.setShipAt_start(startTime); queryOfsSoSaleOutVo.setShipAt_end(endTime); queryOfsSoSaleOutVo.setClientCode("LETS"); @@ -242,7 +238,6 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { queryOfsSoSaleOutVo.setPageNo(1L); queryOfsSoSaleOutVo.setPageSize(100L); queryOfsSoSaleOutVo.setStoreCode(tocShop); -// queryOfsSoSaleOutVo.setCode("LETS-SH2024070500000003"); ofsStandardUtil.queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L, "ofs.shipment.search"); logger.info("数据返回行数:{}", headerDetailsDtoList.size()); if (headerDetailsDtoList.size() > 0) { @@ -369,24 +364,24 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { Assert.notNull(startTime, "查询条件,开始时间不能为空!"); Assert.notNull(endTime, "查询条件,结束时间不能为空!"); -// CalculateDateVo calculateDateVo = DateStrUtil.calculateCalculateEntireDayPeriod(dateStr); String tocShop = shopTobOrToCUtil.getCommaShop("TOC"); - List<com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto> headerDetailsDtoList = new ArrayList<>(); QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo(); -// queryOfsSoSaleOutVo.setShipAt_start(calculateDateVo.getStart_time()); -// queryOfsSoSaleOutVo.setShipAt_end(calculateDateVo.getEnd_time()); queryOfsSoSaleOutVo.setTradeSuccessAt_start(startTime); queryOfsSoSaleOutVo.setTradeSuccessAt_end(endTime); queryOfsSoSaleOutVo.setClientCode("LETS"); queryOfsSoSaleOutVo.setInternalInstructionType("SALES,EXCHANGE,REISSUE,NEIBULINGYONG,INPURCHASE,HUOFAN"); queryOfsSoSaleOutVo.setSourceOrderStatus("TRADE_FINISHED");//交易成功状态 -// queryOfsSoSaleOutVo.setStatus(900L); queryOfsSoSaleOutVo.setPageNo(1L); queryOfsSoSaleOutVo.setPageSize(100L); queryOfsSoSaleOutVo.setStoreCode(tocShop); -// queryOfsSoSaleOutVo.setCode("LETS-SH2024070500000003"); ofsStandardUtil.queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L, "ofs.shipment.search"); + //测试 +// for (int i = 0; i < headerDetailsDtoList.size(); i++) { +// HeaderDetailsDto headerDetailsDto = headerDetailsDtoList.get(i); +// HeaderDto header = headerDetailsDto.getHeader(); +// logger.info("CODE:" + header.getCode()); +// } logger.info("TOC数据返回行数:{}", headerDetailsDtoList.size()); if (headerDetailsDtoList.size() > 0) { getSetTran(headerDetailsDtoList); diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToBTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToBTest.java index e4f49bdf..eef8bd5a 100644 --- a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToBTest.java +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToBTest.java @@ -88,7 +88,10 @@ public class SoSaleOutPluginInitializerToBTest { // soSaleOutPluginInitializerToB.startImplementByStockTime("2024-10-31 14:48:41", "2024-10-31 14:48:41"); - soSaleOutPluginInitializerToB.startImplementByCode("LETS-SH2024110500037199", "stock"); +// soSaleOutPluginInitializerToB.startImplementByCode("LETS-SH2024110700026623", "stock"); + + + soSaleOutPluginInitializerToB.startImplementByStockTime("2024-11-07 00:00:00", "2024-11-07 23:59:59"); } catch (Exception e) { e.printStackTrace(); } diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToCTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToCTest.java index e89a835c..c9c3f4e7 100644 --- a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToCTest.java +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToCTest.java @@ -112,7 +112,7 @@ class SoSaleOutPluginInitializerToCTest { // String aaa = "LETS-SH2024102900016893"; // soSaleOutPluginInitializerToC.startImplementStockByCode(aaa, "tran"); -// soSaleOutPluginInitializerToC.startImplementStockByTime("2024-10-31 14:48:41", "2024-10-31 14:48:41"); + soSaleOutPluginInitializerToC.startImplementTranByTime("2024-11-05 09:40:20", "2024-11-05 09:40:20"); } catch (Exception e) { e.printStackTrace(); } @@ -121,7 +121,7 @@ class SoSaleOutPluginInitializerToCTest { try { // soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2024091900002878", "stock"); - soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2024110300036490", "tran"); +// soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2024110500029917", "tran"); } catch (Exception e) { e.printStackTrace(); } From 9dc61005384755c5de9be771389c6ceb533e72ba Mon Sep 17 00:00:00 2001 From: liuy <37787198+LiuyCodes@users.noreply.github.com> Date: Mon, 11 Nov 2024 16:42:03 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat(plugin):=20=E6=B7=BB=E5=8A=A0=E9=94=80?= =?UTF-8?q?=E5=94=AE=E5=87=BA=E5=BA=93=E5=92=8C=E5=94=AE=E5=90=8E=E5=85=A5?= =?UTF-8?q?=E5=BA=93=E5=8D=95=E5=8F=B7=E6=89=93=E5=8D=B0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 SoSaleOutPluginInitializerToB 和 SoSaleReturnPluginInitializerToB 类中添加了 splicingPrintingOrderNumber 方法 - 该方法用于打印销售出库和售后入库单号 - 在查询库存和确认收入时调用该方法记录日志 - 优化了测试用例,注释掉了部分测试代码 --- .../sales/SoSaleOutPluginInitializerToB.java | 22 +++++++++++++++++++ .../SoSaleReturnPluginInitializerToB.java | 21 ++++++++++++++++++ .../SoSaleOutPluginInitializerToBTest.java | 10 ++++++--- .../SoSaleOutPluginInitializerToCTest.java | 4 ++-- .../SoSaleReturnPluginInitializerToCTest.java | 6 ++--- 5 files changed, 55 insertions(+), 8 deletions(-) diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToB.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToB.java index 9b8129de..7455fb7b 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToB.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToB.java @@ -34,6 +34,7 @@ import com.hzya.frame.web.entity.JsonResultEntity; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import sun.tools.jinfo.JInfo; import java.math.BigDecimal; import java.time.LocalDate; @@ -269,6 +270,7 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { // queryOfsSoSaleOutVo.setCode("LETS-SH2024010200000004"); ofsStandardUtil.queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L, "ofs.shipment.search"); logger.info("插件:{} (库存)O接口返回行数:{} 时间段:{} {}", getPluginName(), headerDetailsDtoList.size(), startTime, endTime); + splicingPrintingOrderNumber(headerDetailsDtoList, "stock", startTime, endTime, null); if (headerDetailsDtoList.size() > 0) { getSetStock(headerDetailsDtoList); } else { @@ -314,6 +316,7 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { queryOfsSoSaleOutVo.setStoreCode(tobShop); ofsStandardUtil.queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L, "ofs.shipment.search"); logger.info("插件:{} (确认收入)O接口返回行数:{} 时间段:{} {}", getPluginName(), headerDetailsDtoList.size(), startTime, endTime); + splicingPrintingOrderNumber(headerDetailsDtoList, "tran", startTime, endTime, null); if (headerDetailsDtoList.size() > 0) { getSetStockTran(headerDetailsDtoList); } else { @@ -355,6 +358,7 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { queryOfsSoSaleOutVo.setCode(code); ofsStandardUtil.queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L, "ofs.shipment.search"); logger.info("根据单据号查询:数据返回行数:{}", headerDetailsDtoList.size()); + splicingPrintingOrderNumber(headerDetailsDtoList, sceneType, null, null, code); if (headerDetailsDtoList.size() > 0) { if (sceneType.equals("stock")) { getSetStock(headerDetailsDtoList); @@ -2716,4 +2720,22 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { // } // } // } + + /** + * 打印出库单单号 + * + * @author liuyang + */ + private void splicingPrintingOrderNumber(List<HeaderDetailsDto> headerDetailsDtoList, String sceneType, String startTime, String endTime, String code) { + try { + if (headerDetailsDtoList != null && headerDetailsDtoList.size() > 0) { + String codesJoined = headerDetailsDtoList.stream().map(HeaderDetailsDto::getHeader).map(HeaderDto::getCode).collect(Collectors.joining(",")); + logger.info("{} 销售出库单号:{} 查询条件:{} ~ {} code:{}", sceneType, codesJoined, startTime, endTime, code); + } else { + logger.info("{} 销售出库单号:{} 查询条件:{} ~ {} code:{}", sceneType, "无", startTime, endTime, code); + } + } catch (Exception e) { + logger.error("splicingPrintingOrderNumber方法抛出异常", e); + } + } } \ No newline at end of file diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java index ef470298..7f4524f0 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java @@ -270,6 +270,7 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { // queryOfsSoSaleOutVo.setCode("LETS-RE2024081900000001"); ofsStandardUtil.queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.receipt.search"); logger.info("插件:{} (库存)O接口返回行数:{} 时间段:{} {}", getPluginName(), returnGoodHeaderDetailsDataDtoArrayList.size(), startTime, endTime); + splicingPrintingOrderNumber(returnGoodHeaderDetailsDataDtoArrayList, "stock", startTime, endTime, null); if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { getSetStock(returnGoodHeaderDetailsDataDtoArrayList); } else { @@ -317,6 +318,7 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { // queryOfsSoSaleOutVo.setCode("LETS-RE2024081900000001"); ofsStandardUtil.queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.receipt.search"); logger.info("插件:{} (确认收入)O接口返回行数:{} 时间段:{} {}", getPluginName(), returnGoodHeaderDetailsDataDtoArrayList.size(), startTime, endTime); + splicingPrintingOrderNumber(returnGoodHeaderDetailsDataDtoArrayList, "tran", startTime, endTime, null); if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { getSetTrade(returnGoodHeaderDetailsDataDtoArrayList); } else { @@ -361,6 +363,7 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { // queryOfsSoSaleOutVo.setStatus(900L); ofsStandardUtil.queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L, "ofs.receipt.search"); logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size()); + splicingPrintingOrderNumber(returnGoodHeaderDetailsDataDtoArrayList, sceneType, null, null, code); if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { if (sceneType.equals("stock")) { getSetStock(returnGoodHeaderDetailsDataDtoArrayList); @@ -2569,4 +2572,22 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { } return totalPayAmount; } + + /** + * 打印售后入库单单号 + * + * @author liuyang + */ + private void splicingPrintingOrderNumber(List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoArrayList, String sceneType, String startTime, String endTime, String code) { + try { + if (returnGoodHeaderDetailsDataDtoArrayList != null && returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { + String codesJoined = returnGoodHeaderDetailsDataDtoArrayList.stream().map(StockinOrderSearchResponse.StockinOrder::getHeader).map(StockinOrderSearchResponse.StockinOrder.StockinH::getCode).collect(Collectors.joining(",")); + logger.info("{} 售后入库单单号:{} 查询条件:{} ~ {} code:{}", sceneType, codesJoined, startTime, endTime, code); + } else { + logger.info("{} 售后入库单单号:{} 查询条件:{} ~ {} code:{}", sceneType, "无", startTime, endTime, code); + } + } catch (Exception e) { + logger.error("splicingPrintingOrderNumber方法抛出异常", e); + } + } } \ No newline at end of file diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToBTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToBTest.java index eef8bd5a..684f6f70 100644 --- a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToBTest.java +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToBTest.java @@ -79,7 +79,8 @@ public class SoSaleOutPluginInitializerToBTest { // soSaleOutPluginInitializerToB.startImplementByCode("LETS-SH2024101700000270"); try { -// soSaleOutPluginInitializerToB.startImplementByCode("LETS-SH2024102300053750", "tran"); +// soSaleOutPluginInitializerToB.startImplementByCode("LETS-SH2024110700023341", "stock"); + // soSaleOutPluginInitializerToB.startImplementByStockTime("2024-10-23 16:09:59", "2024-10-23 16:10:01"); // String aaa = "LETS-SH2024103100016169"; @@ -88,10 +89,13 @@ public class SoSaleOutPluginInitializerToBTest { // soSaleOutPluginInitializerToB.startImplementByStockTime("2024-10-31 14:48:41", "2024-10-31 14:48:41"); -// soSaleOutPluginInitializerToB.startImplementByCode("LETS-SH2024110700026623", "stock"); +// soSaleOutPluginInitializerToB.startImplementByCode("LETS-SH2024110700026623", "tran"); - soSaleOutPluginInitializerToB.startImplementByStockTime("2024-11-07 00:00:00", "2024-11-07 23:59:59"); +// soSaleOutPluginInitializerToB.startImplementByStockTime("2024-11-08 19:18:02", "2024-11-08 19:18:02"); + + + soSaleOutPluginInitializerToB.startImplementByTranTime("2000-11-08 19:18:02", "2000-11-08 19:18:02"); } catch (Exception e) { e.printStackTrace(); } diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToCTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToCTest.java index c9c3f4e7..6bf605a6 100644 --- a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToCTest.java +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToCTest.java @@ -112,7 +112,7 @@ class SoSaleOutPluginInitializerToCTest { // String aaa = "LETS-SH2024102900016893"; // soSaleOutPluginInitializerToC.startImplementStockByCode(aaa, "tran"); - soSaleOutPluginInitializerToC.startImplementTranByTime("2024-11-05 09:40:20", "2024-11-05 09:40:20"); +// soSaleOutPluginInitializerToC.startImplementTranByTime("2024-11-05 09:40:20", "2024-11-05 09:40:20"); } catch (Exception e) { e.printStackTrace(); } @@ -121,7 +121,7 @@ class SoSaleOutPluginInitializerToCTest { try { // soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2024091900002878", "stock"); -// soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2024110500029917", "tran"); + soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2024110500013375", "tran"); } catch (Exception e) { e.printStackTrace(); } diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToCTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToCTest.java index c29e1733..e2002de7 100644 --- a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToCTest.java +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToCTest.java @@ -30,8 +30,8 @@ public class SoSaleReturnPluginInitializerToCTest { public void startImplement() { // soSaleReturnPluginInitializerToC.startImplement(null, null); try { - String code = "LETS-RE2024110500004678"; - soSaleReturnPluginInitializerToC.startImplementByCode(code, "stock"); +// String code = "LETS-RE2024110500004678"; +// soSaleReturnPluginInitializerToC.startImplementByCode(code, "stock"); } catch (Exception e) { e.printStackTrace(); } @@ -41,7 +41,7 @@ public class SoSaleReturnPluginInitializerToCTest { try { -// soSaleReturnPluginInitializerToC.startImplementStockByTime("2024-10-21 00:00:00", "2024-10-21 23:59:59"); + soSaleReturnPluginInitializerToC.startImplementStockByTime("2024-11-01 00:00:00", "2024-11-01 23:59:59"); // JSONObject jsonObject = new JSONObject(); // soSaleReturnPluginInitializerToC.executeBusiness(jsonObject);