修改查看状态列表默认按数量倒序
This commit is contained in:
+19
-10
@@ -2716,38 +2716,47 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
|||||||
private void projectDetailsStatisticsGroupByTerritoryHearSort(List<Map<String, Object>> dataList,Map<String,Object> params) {
|
private void projectDetailsStatisticsGroupByTerritoryHearSort(List<Map<String, Object>> dataList,Map<String,Object> params) {
|
||||||
String orderByField = (String) params.get("orderByField");
|
String orderByField = (String) params.get("orderByField");
|
||||||
String orderBy = (String) params.get("orderBy");
|
String orderBy = (String) params.get("orderBy");
|
||||||
|
//默认按数量倒序
|
||||||
|
if(null == orderByField){
|
||||||
|
orderByField = "amount";
|
||||||
|
}
|
||||||
|
if(null == orderBy){
|
||||||
|
orderBy = "2";
|
||||||
|
}
|
||||||
if(CollectionUtils.isNotEmpty(dataList)){
|
if(CollectionUtils.isNotEmpty(dataList)){
|
||||||
Collator comparator = Collator.getInstance(Locale.CHINESE);
|
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 param1 = "";
|
||||||
String param2 = "";
|
String param2 = "";
|
||||||
// 一级责任领域名称
|
// 一级责任领域名称
|
||||||
if("dutyTerritoryName".equals(orderByField)){
|
if("dutyTerritoryName".equals(finalOrderByField)){
|
||||||
param1 = StringUtils.isNotEmpty((String) data1.get("dutyTerritoryName")) ? (String) data1.get("dutyTerritoryName") : "";
|
param1 = StringUtils.isNotEmpty((String) data1.get("dutyTerritoryName")) ? (String) data1.get("dutyTerritoryName") : "";
|
||||||
param2 = StringUtils.isNotEmpty((String) data2.get("dutyTerritoryName")) ? (String) data2.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);
|
return comparator.compare(param1,param2);
|
||||||
}else if(OrderEnum.REVERSE.getValue().equals(orderBy)){
|
}else if(OrderEnum.REVERSE.getValue().equals(finalOrderBy)){
|
||||||
return comparator.compare(param2,param1);
|
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 p1 = data1.get("amount") != null ? (double) data1.get("amount") : 0;
|
||||||
double p2 = data2.get("amount") != null ? (double) data2.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);
|
return (int)(p1 - p2);
|
||||||
}else if(OrderEnum.REVERSE.getValue().equals(orderBy)){
|
}else if(OrderEnum.REVERSE.getValue().equals(finalOrderBy)){
|
||||||
return (int)(p2 - p1);
|
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 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;
|
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);
|
return (int)(p1 - p2);
|
||||||
}else if(OrderEnum.REVERSE.getValue().equals(orderBy)){
|
}else if(OrderEnum.REVERSE.getValue().equals(finalOrderBy)){
|
||||||
return (int)(p2 - p1);
|
return (int)(p2 - p1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user