修改项目统计排序

This commit is contained in:
高嵩
2023-06-14 18:29:47 +08:00
parent fe84e0f853
commit bbb0ccd043
@@ -2064,21 +2064,31 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
if("dutyTerritoryName".equals(orderByField)){
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)){
return comparator.compare(param1,param2);
}else if(OrderEnum.REVERSE.getValue().equals(orderBy)){
return comparator.compare(param2,param1);
}
}
// 数量
if("amount".equals(orderByField)){
param1 = StringUtils.isNotEmpty(String.valueOf(data1.get("amount"))) ? String.valueOf(data1.get("amount")) : "";
param2 = StringUtils.isNotEmpty(String.valueOf(data2.get("amount"))) ? String.valueOf(data2.get("amount")) : "";
double p1 = data1.get("amount") != null ? (double) data1.get("amount") : 0;
double p2 = data2.get("amount") != null ? (double) data2.get("amount") : 0;
if(OrderEnum.POSITIVE.getValue().equals(orderBy)){
return (int)(p1 - p2);
}else if(OrderEnum.REVERSE.getValue().equals(orderBy)){
return (int)(p2 - p1);
}
}
// 占比
if("percentage".equals(orderByField)){
param1 = StringUtils.isNotEmpty((String) data1.get("percentage")) ? (String) data1.get("percentage") : "";
param2 = StringUtils.isNotEmpty((String) data2.get("percentage")) ? (String) data2.get("percentage") : "";
}
if(OrderEnum.POSITIVE.getValue().equals(orderBy)){
return comparator.compare(param1,param2);
}else if(OrderEnum.REVERSE.getValue().equals(orderBy)){
return comparator.compare(param2,param1);
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)){
return (int)(p1 - p2);
}else if(OrderEnum.REVERSE.getValue().equals(orderBy)){
return (int)(p2 - p1);
}
}
return 0;
});