From e4a2ad5a56122693e86618b102298f7afe770216 Mon Sep 17 00:00:00 2001 From: gaosong Date: Sat, 18 Nov 2023 12:39:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=A5=E7=9C=8B=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E5=88=97=E8=A1=A8=E9=BB=98=E8=AE=A4=E6=8C=89=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E5=80=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProjectLibraryBaseServiceImpl.java | 29 ++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java index 80eb89f2f..553e17fa4 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java @@ -2716,38 +2716,47 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl> dataList,Map params) { String orderByField = (String) params.get("orderByField"); String orderBy = (String) params.get("orderBy"); + //默认按数量倒序 + if(null == orderByField){ + orderByField = "amount"; + } + if(null == orderBy){ + orderBy = "2"; + } if(CollectionUtils.isNotEmpty(dataList)){ Collator comparator = Collator.getInstance(Locale.CHINESE); - Collections.sort(dataList,(data1,data2)->{ + String finalOrderByField = orderByField; + String finalOrderBy = orderBy; + Collections.sort(dataList,(data1, data2)->{ String param1 = ""; String param2 = ""; // 一级责任领域名称 - if("dutyTerritoryName".equals(orderByField)){ + if("dutyTerritoryName".equals(finalOrderByField)){ param1 = StringUtils.isNotEmpty((String) data1.get("dutyTerritoryName")) ? (String) data1.get("dutyTerritoryName") : ""; param2 = StringUtils.isNotEmpty((String) data2.get("dutyTerritoryName")) ? (String) data2.get("dutyTerritoryName") : ""; - if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + if(OrderEnum.POSITIVE.getValue().equals(finalOrderBy)){ return comparator.compare(param1,param2); - }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + }else if(OrderEnum.REVERSE.getValue().equals(finalOrderBy)){ return comparator.compare(param2,param1); } } // 数量 - if(StringUtils.isEmpty(orderByField) || "amount".equals(orderByField)){ + if(StringUtils.isEmpty(finalOrderByField) || "amount".equals(finalOrderByField)){ double p1 = data1.get("amount") != null ? (double) data1.get("amount") : 0; double p2 = data2.get("amount") != null ? (double) data2.get("amount") : 0; - if(StringUtils.isEmpty(orderBy) || OrderEnum.POSITIVE.getValue().equals(orderBy)){ + if(StringUtils.isEmpty(finalOrderBy) || OrderEnum.POSITIVE.getValue().equals(finalOrderBy)){ return (int)(p1 - p2); - }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + }else if(OrderEnum.REVERSE.getValue().equals(finalOrderBy)){ return (int)(p2 - p1); } } // 占比 - if("percentage".equals(orderByField)){ + if("percentage".equals(finalOrderByField)){ double p1 = StringUtils.isNotEmpty((String) data1.get("percentage")) ? Double.parseDouble (((String) data1.get("percentage")).replace("%","")) : 0; double p2 = StringUtils.isNotEmpty((String) data2.get("percentage")) ? Double.parseDouble (((String) data2.get("percentage")).replace("%","")) : 0; - if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + if(OrderEnum.POSITIVE.getValue().equals(finalOrderBy)){ return (int)(p1 - p2); - }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + }else if(OrderEnum.REVERSE.getValue().equals(finalOrderBy)){ return (int)(p2 - p1); } }