修改查看状态列表默认按数量倒序

This commit is contained in:
gaosong
2023-11-18 12:39:25 +08:00
parent d65da69c1d
commit e4a2ad5a56
@@ -2716,38 +2716,47 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
private void projectDetailsStatisticsGroupByTerritoryHearSort(List<Map<String, Object>> dataList,Map<String,Object> 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);
}
}