From 4cefda498794546132951333de310b81bf9e46db Mon Sep 17 00:00:00 2001 From: yujh_java Date: Tue, 9 Sep 2025 18:04:49 +0800 Subject: [PATCH] =?UTF-8?q?BI=E6=B1=87=E6=80=BB=E5=B1=82=EF=BC=8C=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=8E=88=E4=BF=A1=E9=A2=9D=E5=BA=A6=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E7=8E=87=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SaleCountDimensionImpl.java | 7 ++-- .../apps/bnbm/datalinkup/util/SaleUtil.java | 34 +++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/service/impl/SaleCountDimensionImpl.java b/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/service/impl/SaleCountDimensionImpl.java index 029819e..f5c5c72 100644 --- a/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/service/impl/SaleCountDimensionImpl.java +++ b/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/service/impl/SaleCountDimensionImpl.java @@ -277,7 +277,8 @@ public class SaleCountDimensionImpl implements DataSummaryService { receivableMap.put(xszz, map); } } - + //先查询区域公司授信额度维护表 + List sxedList = SDK.getBOAPI().query("BO_EU_DATALINKUP_QYGSED").orderBy("QYGS").desc().list(); // 合并数据并创建BO对象 for (RowMap receivable : receivableMaps) { String xszz = receivable.getString("XSZZ"); @@ -320,6 +321,8 @@ public class SaleCountDimensionImpl implements DataSummaryService { bo.set("LJHK", receivable.getString("LJHK")); bo.set("LJXS", receivable.getString("LJXS")); bo.set("HKL", receivable.getString("HKL")); + //增加额度使用率情况 + bo.set("EDSYL", SaleUtil.calculateResult(sxedList,bkgs,receivable.getString("QYGS"),yszk)); bos.add(bo); } @@ -386,7 +389,7 @@ public class SaleCountDimensionImpl implements DataSummaryService { } else { ArrayList bos = new ArrayList<>(); // 循环外先获取下公装家装、基材面材类别 - List gzjzList = SDK.getBOAPI().query("BO_EU_DATALINKUP_CPJZGZJCMC").list(); + List gzjzList = SDK.getBOAPI().query("BO_EU_DATALINKUP_CPJZGZJCMC").orderBy("CPLB_L2").desc().list(); for (RowMap map : maps) { String gc = map.getString("KCZZ"); String yearmonth = map.getString("YEARMONTH"); diff --git a/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/util/SaleUtil.java b/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/util/SaleUtil.java index 33f2abe..ba93f00 100644 --- a/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/util/SaleUtil.java +++ b/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/util/SaleUtil.java @@ -29,4 +29,38 @@ public class SaleUtil { } return new String[]{defaultJzgz, defaultJcmc,defaultProdCat}; } + + /** + * 根据BKGS和QYGS匹配sxedList中的元素并计算结果 + * @param sxedList 待匹配的列表 + * @param bkgs 传入的BKGS参数 + * @param qygs 传入的QYGS参数 + * @param yszk 传入的YSZK参数 + * @return 匹配成功返回YSZK/SXED,否则返回0 + */ + public static double calculateResult(List sxedList, String bkgs, String qygs, double yszk) { + // 遍历列表中的每个元素 + for (BO bo : sxedList) { + // 获取当前元素的BKGS和QYGS + String boBkgs = bo.getString("BKGS"); + String boQygs = bo.getString("QYGS"); + // 同时匹配BKGS和QYGS + if (bkgs.equals(boBkgs) && qygs.equals(boQygs)) { + // 匹配成功,获取SXED值 + String sxedStr = bo.getString("SXED"); + try { + // 将SXED转换为数值并计算结果 + double sxed = Double.parseDouble(sxedStr); + // 避免除以0的情况 + return sxed != 0 ? yszk / sxed : 0; + } catch (NumberFormatException e) { + // 如果SXED无法转换为数值,返回0 + return 0; + } + } + } + // 没有匹配到任何元素,返回0 + return 0; + } + }