From cbaefcc1fb6a7232ee07d42b9b61466971a12078 Mon Sep 17 00:00:00 2001 From: liuy <37787198+LiuyCodes@users.noreply.github.com> Date: Tue, 29 Oct 2024 15:05:19 +0800 Subject: [PATCH] =?UTF-8?q?refactor(purchase):=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E9=87=87=E8=B4=AD=E5=85=AC=E5=8F=B8=E7=BC=96=E7=A0=81=E5=8C=B9?= =?UTF-8?q?=E9=85=8D=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 ProxyPurchaseReturn、ProxyPurchaseWarehousOrder 和 ProxyPurchaseWarehousWarehouse 类中添加 QueryU8CEntityUtil 的自动注入 - 使用 queryU8CEntityUtil.queryBdDefDocByPkDefDocList 方法替换原有的公司编码匹配逻辑 - 优化了公司编码的查询和验证过程,提高了代码的可维护性和扩展性 - 修改了 application.yml 中的 profiles.active 配置,从 letsprod 改为 lets - 更新了测试类中的测试用例,调整了实施时间和订单编号 --- .../plugin/purchase/ProxyPurchaseReturn.java | 12 +++++-- .../purchase/ProxyPurchaseWarehousOrder.java | 15 ++++++--- .../ProxyPurchaseWarehousWarehouse.java | 12 +++++-- .../plugin/lets/util/QueryU8CEntityUtil.java | 31 +++++++++++++------ .../src/main/resources/application.yml | 2 +- .../purchase/ProxyPurchaseReturnTest.java | 4 +-- .../ProxyPurchaseWarehousOrderTest.java | 4 +-- .../ProxyPurchaseWarehousWarehouseTest.java | 2 +- .../lets/util/QueryU8CEntityUtilTest.java | 8 +++-- 9 files changed, 61 insertions(+), 29 deletions(-) diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java index 423bf0eb..37a7b808 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java @@ -105,6 +105,9 @@ public class ProxyPurchaseReturn extends PluginBaseEntity { @Autowired private OffsetTimeTime offsetTimeTime; + @Autowired + private QueryU8CEntityUtil queryU8CEntityUtil; + @Override public void initialize() { logger.info(getPluginLabel() + "執行初始化方法initialize()"); @@ -602,15 +605,18 @@ public class ProxyPurchaseReturn extends PluginBaseEntity { //采购公司 String companyCode = header.getCompanyCode(); Assert.notNull(companyCode, "O表头公司不能为空"); + String replaceCompanyCode = queryU8CEntityUtil.queryBdDefDocByPkDefDocList(companyCode.trim()); + Assert.notNull(replaceCompanyCode, "replaceCompanyCode不能为空!"); + BdCorpEntity bdCorpEntity = new BdCorpEntity(); bdCorpEntity.setDr(0); bdCorpEntity.setDataSourceCode("lets_u8c"); - bdCorpEntity.setUnitcode(companyCode); + bdCorpEntity.setUnitcode(replaceCompanyCode); List bdCorpEntityList = iBdCorpDao.query(bdCorpEntity); if (bdCorpEntityList.size() == 0) { - Assert.state(false, "根据O货主编码{},无法匹配到U8C销售公司", companyCode); + Assert.state(false, "根据O货主编码{},无法匹配到U8C销售公司", replaceCompanyCode); } else if (bdCorpEntityList.size() >= 2) { - Assert.state(false, "根据O货主编码{},匹配到U8C销售公司{}个", companyCode, bdCorpEntityList.size()); + Assert.state(false, "根据O货主编码{},匹配到U8C销售公司{}个", replaceCompanyCode, bdCorpEntityList.size()); } //采购部门:业务部门 diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousOrder.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousOrder.java index f7d6ccf5..5b983140 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousOrder.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousOrder.java @@ -85,6 +85,9 @@ public class ProxyPurchaseWarehousOrder extends PluginBaseEntity { @Autowired private OfsStandardUtil ofsStandardUtil; + @Autowired + private QueryU8CEntityUtil queryU8CEntityUtil; + @Autowired private OnlyImplementProxyOrderUtil onlyImplementProxyOrder; @@ -586,18 +589,22 @@ public class ProxyPurchaseWarehousOrder extends PluginBaseEntity { continue; } - //采购公司 + //先完成采购公司编码的转换逻辑 String companyCode = header.getCompanyCode(); Assert.notNull(companyCode, "O表头公司不能为空"); + String replaceCompanyCode = queryU8CEntityUtil.queryBdDefDocByPkDefDocList(companyCode.trim()); + Assert.notNull(replaceCompanyCode, "replaceCompanyCode不能为空!"); + + //采购公司 BdCorpEntity bdCorpEntity = new BdCorpEntity(); bdCorpEntity.setDr(0); bdCorpEntity.setDataSourceCode("lets_u8c"); - bdCorpEntity.setUnitcode(companyCode); + bdCorpEntity.setUnitcode(replaceCompanyCode); List bdCorpEntityList = iBdCorpDao.query(bdCorpEntity); if (bdCorpEntityList.size() == 0) { - Assert.state(false, "根据O货主编码{},无法匹配到U8C销售公司", companyCode); + Assert.state(false, "根据O货主编码{},无法匹配到U8C销售公司", replaceCompanyCode); } else if (bdCorpEntityList.size() >= 2) { - Assert.state(false, "根据O货主编码{},匹配到U8C销售公司{}个", companyCode, bdCorpEntityList.size()); + Assert.state(false, "根据O货主编码{},匹配到U8C销售公司{}个", replaceCompanyCode, bdCorpEntityList.size()); } //采购部门:业务部门 diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouse.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouse.java index 8c18cb09..1cb9e4e2 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouse.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouse.java @@ -70,6 +70,9 @@ public class ProxyPurchaseWarehousWarehouse extends PluginBaseEntity { @Autowired private IBdInvmandocDao iBdInvmandocDao; + @Autowired + private QueryU8CEntityUtil queryU8CEntityUtil; + @Autowired private IBdCalbodyDao iBdCalbodyDao; @@ -606,15 +609,18 @@ public class ProxyPurchaseWarehousWarehouse extends PluginBaseEntity { //采购公司 String companyCode = header.getCompanyCode(); Assert.notNull(companyCode, "O表头公司不能为空"); + String replaceCompanyCode = queryU8CEntityUtil.queryBdDefDocByPkDefDocList(companyCode.trim()); + Assert.notNull(replaceCompanyCode, "replaceCompanyCode不能为空!"); + BdCorpEntity bdCorpEntity = new BdCorpEntity(); bdCorpEntity.setDr(0); bdCorpEntity.setDataSourceCode("lets_u8c"); - bdCorpEntity.setUnitcode(companyCode); + bdCorpEntity.setUnitcode(replaceCompanyCode); List bdCorpEntityList = iBdCorpDao.query(bdCorpEntity); if (bdCorpEntityList.size() == 0) { - Assert.state(false, "根据O货主编码{},无法匹配到U8C销售公司", companyCode); + Assert.state(false, "根据O货主编码{},无法匹配到U8C销售公司", replaceCompanyCode); } else if (bdCorpEntityList.size() >= 2) { - Assert.state(false, "根据O货主编码{},匹配到U8C销售公司{}个", companyCode, bdCorpEntityList.size()); + Assert.state(false, "根据O货主编码{},匹配到U8C销售公司{}个", replaceCompanyCode, bdCorpEntityList.size()); } //采购部门:业务部门 diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/QueryU8CEntityUtil.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/QueryU8CEntityUtil.java index 0f8b07ce..1e81001a 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/QueryU8CEntityUtil.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/QueryU8CEntityUtil.java @@ -303,20 +303,31 @@ public class QueryU8CEntityUtil { bdDefdocEntity.setPkDefdoclist(OverallConstant.getOverAllValue("u8c自定义项档案-公司对照")); bdDefdocEntity.setDr(0); bdDefdocEntity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE); + bdDefdocEntity.setDoccode(corpCode.trim()); List bdDefdocEntityList = iBdDefdocDao.query(bdDefdocEntity); - if (bdDefdocEntityList.size() == 0) { - Assert.state(false, "根据:自定义档案列表编码:GSDY,主键:[{}],未查询到自定义档案", OverallConstant.getOverAllValue("u8c自定义项档案-公司对照")); - } - List corpCollect = bdDefdocEntityList.stream().map(BdDefdocEntity::getDoccode).collect(Collectors.toList()); - if (corpCollect.contains(corpCode)) { - String memo = bdDefdocEntityList.get(0).getMemo(); - String[] split = memo.split(","); - if (split.length > 0) { - corpCode = split[0]; + if (bdDefdocEntityList != null && bdDefdocEntityList.size() == 1) { +// Assert.state(false, "根据:自定义档案列表编码:GSDY,主键:[{}],未查询到自定义档案", OverallConstant.getOverAllValue("u8c自定义项档案-公司对照")); + BdDefdocEntity bdDefdocEntity1 = bdDefdocEntityList.get(0); + String memo = bdDefdocEntity1.getMemo(); + if (memo != null && !"".equals(memo)) { + String[] split = memo.split(","); + if (split.length > 0) { + return split[0]; + } } + } else if (bdDefdocEntityList != null && bdDefdocEntityList.size() >= 2) { + Assert.state(false, "存在歧义的匹配关系 公司编码:{}存在{}行对照关系!", corpCode); } return corpCode; +// List corpCollect = bdDefdocEntityList.stream().map(BdDefdocEntity::getDoccode).collect(Collectors.toList()); +// if (corpCollect.contains(corpCode)) { +// String memo = bdDefdocEntityList.get(0).getMemo(); +// String[] split = memo.split(","); +// if (split.length > 0) { +// corpCode = split[0]; +// } +// } +// return corpCode; } - ////////////////////////////////////////////////////////////////////////////////////////公司自定义档案查询 } diff --git a/buildpackage/src/main/resources/application.yml b/buildpackage/src/main/resources/application.yml index cd510979..bab6e286 100644 --- a/buildpackage/src/main/resources/application.yml +++ b/buildpackage/src/main/resources/application.yml @@ -36,7 +36,7 @@ spring: # use-suffix-pattern: true profiles: # active: @profileActive@ - active: letsprod + active: lets # active: @profile.active@ # active: dev servlet: diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturnTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturnTest.java index 1002b40e..fc5ec406 100644 --- a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturnTest.java +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturnTest.java @@ -25,7 +25,7 @@ public class ProxyPurchaseReturnTest { @Test public void startImplement() { try { -// proxyPurchaseReturn.startImplement("LETS-SH2024082700000005"); + proxyPurchaseReturn.startImplement("LETS-SH2024091200027580"); // proxyPurchaseReturn.startImplement("2024-01-01 00:00:00", "2024-08-07 23:59:59"); @@ -33,7 +33,7 @@ public class ProxyPurchaseReturnTest { // proxyPurchaseReturn.u8cOperationFlow(); - proxyPurchaseReturn.startImplement("2024-09-24 13:49:15", "2024-09-24 13:49:17"); +// proxyPurchaseReturn.startImplement("2024-09-24 13:49:15", "2024-09-24 13:49:17"); } catch (Exception e) { e.printStackTrace(); } diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousOrderTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousOrderTest.java index 44396c90..b2aaf4fe 100644 --- a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousOrderTest.java +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousOrderTest.java @@ -27,9 +27,9 @@ public class ProxyPurchaseWarehousOrderTest { @Test public void startImplementByCode() { try { -// proxyPurchaseWarehousOrder.startImplementByCode("LETS-PO2024091800000002"); + proxyPurchaseWarehousOrder.startImplementByCode("LETS-PO2024100100000001"); - proxyPurchaseWarehousOrder.startImplementByTime("2024-09-24 13:49:15", "2024-09-24 13:49:17"); +// proxyPurchaseWarehousOrder.startImplementByTime("2024-09-24 13:49:15", "2024-09-24 13:49:17"); } catch (Exception e) { e.printStackTrace(); } diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouseTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouseTest.java index 540cf9e5..d39a577c 100644 --- a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouseTest.java +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouseTest.java @@ -26,6 +26,6 @@ public class ProxyPurchaseWarehousWarehouseTest { @Test public void startImplementByCode() { - proxyPurchaseWarehousWarehouse.startImplementByCode("LETS-RE2024091800000001"); + proxyPurchaseWarehousWarehouse.startImplementByCode("LETS-RE2024080100000051"); } } \ No newline at end of file diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/util/QueryU8CEntityUtilTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/util/QueryU8CEntityUtilTest.java index 0dc87e1c..71aae3a6 100644 --- a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/util/QueryU8CEntityUtilTest.java +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/util/QueryU8CEntityUtilTest.java @@ -56,7 +56,9 @@ public class QueryU8CEntityUtilTest { System.out.println(JSON.toJSONString(bdCostsubjEntity)); } -// @Test -// public void queryBdCostsubj() { -// } + @Test + public void queryBdCostsubj() { + String s = queryU8CEntityUtil.queryBdDefDocByPkDefDocList("KS"); + System.out.println(s); + } } \ No newline at end of file