From 8b187a6ff83671df4f01336f00259b4e009ed1ff Mon Sep 17 00:00:00 2001 From: liss <1780094091@qq.com> Date: Wed, 19 Nov 2025 16:45:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A2=E5=95=86erp=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/base/enums/ErrorCodeConstants.java | 2 +- .../service/erp/ErpCustomerServiceImpl.java | 111 +++++++++++++----- .../resources/mapper/ErpCustomerMapper.xml | 2 +- 3 files changed, 82 insertions(+), 33 deletions(-) diff --git a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/base/enums/ErrorCodeConstants.java b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/base/enums/ErrorCodeConstants.java index 0113c886..98cc53a5 100644 --- a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/base/enums/ErrorCodeConstants.java +++ b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/base/enums/ErrorCodeConstants.java @@ -25,7 +25,7 @@ public interface ErrorCodeConstants { ErrorCode BUSINESS_RULE_NOT_EXISTS = new ErrorCode(1_027_100_001, "规则模型不存在"); - ErrorCode BUSINESS_ALGORITHM_NOT_EXISTS = new ErrorCode(1_027_100_002, "算法模型不存在"); + ErrorCode BUSINESS_ALGORITHM_NOT_EXISTS = new ErrorCode(1_027_100_002, "算法模型不存在"); ErrorCode BUSINESS_DIMENSION_NOT_EXISTS = new ErrorCode(1_027_200_001, "经营指标维度不存在"); ErrorCode BUSINESS_INDICATOR_NOT_EXISTS = new ErrorCode(1_027_200_002, "经营指标不存在"); ErrorCode BUSINESS_DICTIONARY_TYPE_NOT_EXISTS = new ErrorCode(1_027_200_003, "业务字典类型不存在"); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpCustomerServiceImpl.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpCustomerServiceImpl.java index f0b3ca00..f7e6f069 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpCustomerServiceImpl.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/service/erp/ErpCustomerServiceImpl.java @@ -119,44 +119,93 @@ public class ErpCustomerServiceImpl implements ErpCustomerService { initialize(key); } //循环近五年日期, - JSONArray dataArrayALL = new JSONArray(); - LocalDate endDate = LocalDate.now(); - LocalDate startDate = endDate.minusYears(5); - for (LocalDate date = startDate; !date.isAfter(endDate); date = date.plusDays(1)) { - // 构建req参数 - Map req = new HashMap<>(); - List> datumList = new ArrayList<>(); - Map datumEntry = new HashMap<>(); - // 构建datum参数数组 - datumEntry.put("sign", "I"); - datumEntry.put("option", "EQ"); - // 把每次循环的日期,放在这里 - datumEntry.put("low", date.toString()); - datumList.add(datumEntry); - req.put(funcnrEnum.getDatekey(), datumList); +// JSONArray dataArrayALL = new JSONArray(); +// LocalDate endDate = LocalDate.now(); +// LocalDate startDate = endDate.minusYears(5); +// for (LocalDate date = startDate; !date.isAfter(endDate); date = date.plusDays(1)) { + // 构建req参数 + Map req = new HashMap<>(); + List> datumList = new ArrayList<>(); + Map datumEntry = new HashMap<>(); + // 构建datum参数数组 + datumEntry.put("sign", "I"); + datumEntry.put("option", "EQ"); + // 把每次循环的日期,放在这里 + datumEntry.put("low", LocalDate.now().toString()); + datumList.add(datumEntry); + req.put(funcnrEnum.getDatekey(), datumList); - // 1. 调用ERP接口获取数据 - for (OftenEnum.ModeTypeEnum type : OftenEnum.ModeTypeEnum.values()) { - req.put("MODE", type.modetype); - HashMap dataFromERP = erpConfig.fetchDataFromERP(funcnr, req); - JSONArray dataArray = (JSONArray) dataFromERP.get(funcnrEnum.getDatakey()); - if (dataArray == null || dataArray.isEmpty()) { - continue; - } - dataArrayALL.addAll(dataArray); - } - } - if (dataArrayALL.isEmpty()) { + // 1. 调用ERP接口获取数据 + HashMap dataFromERP = erpConfig.fetchDataFromERP(funcnr, req); + JSONArray dataArray = (JSONArray) dataFromERP.get("E_RESP"); +// if (dataArray == null || dataArray.isEmpty()) { +// continue; +// } +// dataArrayALL.addAll(dataArray); +// } + if (dataArray.isEmpty()) { return; } // 2. 处理数据,区分新增和更新 - ProcessingResult result = processData(dataArrayALL, funcnrEnum); + ProcessingResult result = processData(dataArray, funcnrEnum); // 3. 批量保存数据 saveData(result); } + +// @Override +// @Transactional +// @XxlJob("getErpCustomerTask") +// public void callErpRfcInterface() { +// OftenEnum.FuncnrEnum funcnrEnum = OftenEnum.FuncnrEnum.客商信息; +// String funcnr = funcnrEnum.getFuncnr(); +// +// String key = "erp" + funcnrEnum.getFuncnr(); +// List allnumbers = myRedisConfig.getRedisCache(key); +// List numbers = null; +// if (allnumbers != null) { +// //取前100的数据 +// numbers = allnumbers.stream().limit(100).collect(Collectors.toList()); +// JSONArray dataArrayALL = new JSONArray(); +// //循环近五年日期, +// for (String number : numbers) { +// // 构建req参数 +// Map req = new HashMap<>(); +// List> datumList = new ArrayList<>(); +// Map datumEntry = new HashMap<>(); +// // 构建datum参数数组 +// datumEntry.put("sign", "I"); +// datumEntry.put("option", "EQ"); +// // 把每次循环的日期,放在这里 +// datumEntry.put("low", number); +// datumList.add(datumEntry); +// req.put("PARTNER", datumList); +// +// // 1. 调用ERP接口获取数据 +// for (OftenEnum.ModeTypeEnum type : OftenEnum.ModeTypeEnum.values()) { +// req.put("MODE", type.modetype); +// HashMap dataFromERP = erpConfig.fetchDataFromERP(funcnr, req); +// JSONArray dataArray = (JSONArray) dataFromERP.get("E_RESP"); +// if (dataArray == null || dataArray.isEmpty()) { +// continue; +// } +// dataArrayALL.addAll(dataArray); +// } +// } +// if (dataArrayALL.isEmpty()) { +// return; +// } +// +// // 2. 处理数据,区分新增和更新 +// ProcessingResult result = processData(dataArrayALL, funcnrEnum); +// +// // 3. 批量保存数据 +// saveData(result); +// } +// } + /** * 处理数据,区分新增和更新 */ @@ -171,7 +220,7 @@ public class ErpCustomerServiceImpl implements ErpCustomerService { for (int i = 0; i < dataArray.size(); i++) { JSONObject dataJson = dataArray.getJSONObject(i); if (dataJson != null) { - String number = dataJson.getString(funcnr.getDatakey()); + String number = dataJson.getString("PARTNER"); if (number != null) { number = number.trim(); } @@ -191,7 +240,7 @@ public class ErpCustomerServiceImpl implements ErpCustomerService { } DO.setIsGiveback(dataJson.getString("XDELE")); DO.setIsProvisional(dataJson.getString("XBLCK")); - DO.setTaxNumber(dataJson.getString("TAXNO")); + DO.setTaxNumber(dataJson.getString("TAXNUM")); if (comnumbers.contains(number)) { // 更新 @@ -217,7 +266,7 @@ public class ErpCustomerServiceImpl implements ErpCustomerService { if (!result.toUpdate.isEmpty()) { erpCustomerMapper.updateBatchByNumber(result.toUpdate); } - myRedisConfig.updateRedisCache(result.key, result.allnumbers); +// myRedisConfig.updateRedisCache(result.key, result.allnumbers); } /** diff --git a/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpCustomerMapper.xml b/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpCustomerMapper.xml index f7830924..7921051f 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpCustomerMapper.xml +++ b/zt-module-erp/zt-module-erp-server/src/main/resources/mapper/ErpCustomerMapper.xml @@ -23,7 +23,7 @@ IS_PRVS = #{item.isProvisional}, TAX_NUM = #{item.taxNumber}, - WHERE NUM = #{item.downCenterNumber} + WHERE NUM = #{item.number} \ No newline at end of file