UAT197条修改,项目库详情-统计-表头排序
This commit is contained in:
+40
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user