UAT197条修改,项目库详情-统计-表头排序

This commit is contained in:
wangzhijiang
2023-05-09 16:41:04 +08:00
parent c772cf3f55
commit d43182504e
@@ -1874,6 +1874,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
}
}
if(CollectionUtils.isNotEmpty(dataList)){
this.projectDetailsStatisticsGroupByTerritoryHearSort(dataList,params);
result.put("dataList",dataList);
return result;
}
@@ -2035,11 +2036,50 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
dataList.add(dataMap);
}
}
this.projectDetailsStatisticsGroupByTerritoryHearSort(dataList,params);
result.put("dataList",dataList);
}
return result;
}
/**
* 项目库详情统计-根据责任领域分组统计数据-表头排序
* @param dataList
* @param params
*/
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(CollectionUtils.isNotEmpty(dataList) && StringUtils.isNotEmpty(orderByField) && StringUtils.isNotEmpty(orderBy)){
Collator comparator = Collator.getInstance(Locale.CHINESE);
Collections.sort(dataList,(data1,data2)->{
String param1 = "";
String param2 = "";
// 一级责任领域名称
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("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")) : "";
}
// 占比
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);
}
return 0;
});
}
}
@Override
public void exportProjectDetailsStatisticsGroupByTerritoryXls(HttpServletResponse response, HttpServletRequest request, Map<String, Object> params) {
Map<String, Object> projectDetailsStatisticsGroupByTerritory = getProjectDetailsStatisticsGroupByTerritory(params);