From e1a6524fa9bf8c3733c0aea5918918dea56e48b0 Mon Sep 17 00:00:00 2001 From: liuxy Date: Thu, 14 Mar 2024 11:24:21 +0800 Subject: [PATCH] =?UTF-8?q?rev=EF=BC=9A=E5=90=91=E9=A3=9E=E4=B9=A6?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E5=9B=BE=E7=89=87=EF=BC=9A=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=E3=80=81=E5=8D=A0=E6=AF=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nl/wms/sch/manage/AutoSendSalesIvt.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSendSalesIvt.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSendSalesIvt.java index 07553ba43..6e5b0ea98 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSendSalesIvt.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSendSalesIvt.java @@ -277,6 +277,13 @@ public class AutoSendSalesIvt { resultList.add(resultJson); } + // 根据合计倒序排序 + resultList = resultList.stream() + .sorted(Comparator.comparing(row -> row.getDoubleValue("day_sum"))) + .collect(Collectors.toList()); + + Collections.reverse(resultList); + // 插入小计 JSONObject jsonMin = new JSONObject(); jsonMin.put("sales_man", "小计"); @@ -342,6 +349,29 @@ public class AutoSendSalesIvt { resultListAll.add(jsonSum); + // 计算占比 + JSONObject jsonPro = new JSONObject(); + jsonPro.put("sales_man", "占比"); + + double day1_pro = NumberUtil.mul(NumberUtil.div(jsonSum.getDoubleValue("day1"), jsonSum.getDoubleValue("day_sum")), 100); + jsonPro.put("day1", NumberUtil.round(day1_pro, 2) + "%"); + + double day2_pro = NumberUtil.mul(NumberUtil.div(jsonSum.getDoubleValue("day2"), jsonSum.getDoubleValue("day_sum")), 100); + jsonPro.put("day2", NumberUtil.round(day2_pro, 2) + "%"); + + double day3_pro = NumberUtil.mul(NumberUtil.div(jsonSum.getDoubleValue("day3"), jsonSum.getDoubleValue("day_sum")), 100); + jsonPro.put("day3", NumberUtil.round(day3_pro, 2) + "%"); + + double day4_pro = NumberUtil.mul(NumberUtil.div(jsonSum.getDoubleValue("day4"), jsonSum.getDoubleValue("day_sum")), 100); + jsonPro.put("day4", NumberUtil.round(day4_pro, 2) + "%"); + + double day5_pro = NumberUtil.mul(NumberUtil.div(jsonSum.getDoubleValue("day5"), jsonSum.getDoubleValue("day_sum")), 100); + jsonPro.put("day5", NumberUtil.round(day5_pro, 2) + "%"); + + jsonPro.put("day_sum", "100%"); + resultListAll.add(jsonPro); + + JSONObject result = new JSONObject(); result.put("data", resultListAll); resultSize.add(resultListAll.size()+1);