项目库-项目详情-参数收集统计-前端接收数据结构修改

This commit is contained in:
liyawei
2022-08-01 16:53:23 +08:00
parent 049fbb3534
commit 5aa1214154
3 changed files with 56 additions and 56 deletions
@@ -44,7 +44,7 @@ public class ProjectDetailsStatisticsCollectManifestController {
@GetMapping(value = "/getProjectDetailsStatisticsCollectManifestData") @GetMapping(value = "/getProjectDetailsStatisticsCollectManifestData")
public Result<?> getProjectDetailsStatisticsCollectManifestData(@RequestParam(name="paramsManifestId",required=true) String paramsManifestId, public Result<?> getProjectDetailsStatisticsCollectManifestData(@RequestParam(name="paramsManifestId",required=true) String paramsManifestId,
@RequestParam(name="cut",required=true) String cut) { @RequestParam(name="cut",required=true) String cut) {
List<Map<String, Object>> data = paramsManifestEOService.getStatisticsForProjectDetails(paramsManifestId, cut); Map<String, Object> data = paramsManifestEOService.getStatisticsForProjectDetails(paramsManifestId, cut);
return Result.OK(data); return Result.OK(data);
} }
} }
@@ -86,5 +86,5 @@ public interface IParamsManifestEOService extends IService<ParamsManifestEO> {
List<Map<String, String>> labelListForProjectDetails(String projectId); List<Map<String, String>> labelListForProjectDetails(String projectId);
List<Map<String, Object>> getStatisticsForProjectDetails(String paramsManifestId, String cut); Map<String, Object> getStatisticsForProjectDetails(String paramsManifestId, String cut);
} }
@@ -15,7 +15,6 @@ import com.jero.modules.cert.collect.entity.ParamsConfigEO;
import com.jero.modules.cert.collect.entity.ParamsManifestEO; import com.jero.modules.cert.collect.entity.ParamsManifestEO;
import com.jero.modules.cert.collect.enums.CollectManifestChangeFlagEnum; import com.jero.modules.cert.collect.enums.CollectManifestChangeFlagEnum;
import com.jero.modules.cert.collect.enums.CollectManifestStateEnum; import com.jero.modules.cert.collect.enums.CollectManifestStateEnum;
import com.jero.modules.cert.collect.enums.CollectManifestStatisticsStateEnum;
import com.jero.modules.cert.collect.enums.ManifestStateEnum; import com.jero.modules.cert.collect.enums.ManifestStateEnum;
import com.jero.modules.cert.collect.mapper.ParamsCollectManifestEOMapper; import com.jero.modules.cert.collect.mapper.ParamsCollectManifestEOMapper;
import com.jero.modules.cert.collect.mapper.ParamsConfigEOMapper; import com.jero.modules.cert.collect.mapper.ParamsConfigEOMapper;
@@ -637,10 +636,17 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
} }
@Override @Override
public List<Map<String, Object>> getStatisticsForProjectDetails(String paramsManifestId, String cut) { public Map<String, Object> getStatisticsForProjectDetails(String paramsManifestId, String cut) {
// 查询所有责任领域 // 查询所有责任领域
List<DictModel> dutyTerritoryDictList = sysDictMapper.queryDictItemsByCode("duty_territory"); List<DictModel> dutyTerritoryDictList = sysDictMapper.queryDictItemsByCode("duty_territory");
Map<String, Object> result = new LinkedHashMap<>();
List<String> dutyTerritoryNameList = new LinkedList<>();
List<Map<String, Object>> notStartList = new LinkedList<>();
List<Map<String, Object>> collectingList = new LinkedList<>();
List<Map<String, Object>> submitList = new LinkedList<>();
List<Map<String, Object>> syncReportList = new LinkedList<>();
// 统计清单参数 // 统计清单参数
ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO(); ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO();
paramsCollectManifestEO.setParamsManifestId(paramsManifestId); paramsCollectManifestEO.setParamsManifestId(paramsManifestId);
@@ -648,9 +654,16 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
double total = listAll.size(); double total = listAll.size();
if (total > 0) {
List<Map<String, Object>> result = new LinkedList<>();
dutyTerritoryDictList.forEach(item->{ dutyTerritoryDictList.forEach(item->{
if (CutEnum.EN.getValue().equals(cut)) {
dutyTerritoryNameList.add(item.getTextEn());
} else {
dutyTerritoryNameList.add(item.getText());
}
// 计算数量 // 计算数量
double notStartNumber = listAll.stream().filter(e -> (CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.get("state")) double notStartNumber = listAll.stream().filter(e -> (CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.get("state"))
|| CollectManifestStateEnum.SDT_BACK.getValue().equals(e.get("state")) || CollectManifestStateEnum.SDT_BACK.getValue().equals(e.get("state"))
@@ -675,41 +688,28 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
String submitPercent = getRatio(submitNumber, total); // 已提交的参数项 百分比 String submitPercent = getRatio(submitNumber, total); // 已提交的参数项 百分比
String syncReportPercent = getRatio(syncReportNumber, total); // 已同步上报库的参数项 百分比 String syncReportPercent = getRatio(syncReportNumber, total); // 已同步上报库的参数项 百分比
Map<String, Object> map = new HashMap<>();
// 组装数据 返回前端 // 组装数据 返回前端
List<Map<String, Object>> data = new LinkedList<>(); getData(notStartList, notStartNumber, notStartPercent);
getData(data, cut, CollectManifestStatisticsStateEnum.NOT_START, notStartNumber, notStartPercent); getData(collectingList, collectingNumber, collectingPercent);
getData(data, cut, CollectManifestStatisticsStateEnum.COLLECTING, collectingNumber, collectingPercent); getData(submitList, submitNumber, submitPercent);
getData(data, cut, CollectManifestStatisticsStateEnum.SUBMIT, submitNumber, submitPercent); getData(syncReportList, syncReportNumber, syncReportPercent);
getData(data, cut, CollectManifestStatisticsStateEnum.SYNC_REPORT, syncReportNumber, syncReportPercent);
if (CutEnum.EN.getValue().equals(cut)) {
map.put(item.getTextEn(), data);
} else {
map.put(item.getText(), data);
}
result.add(map);
}); });
result.put("dutyTerritory", dutyTerritoryNameList);
result.put("notStart", notStartList);
result.put("collecting", collectingList);
result.put("submit", submitList);
result.put("syncReport", syncReportList);
return result; return result;
} }
return null; private void getData(List<Map<String, Object>> data, double quantity, String percentage) {
} Map<String, Object> map = new HashMap<>();
map.put("quantity", quantity);
private void getData(List<Map<String, Object>> data, String cut, CollectManifestStatisticsStateEnum statisticsStateEnum, double quantity, String percentage) { map.put("percentage", percentage);
data.add(map);
Map<String, Object> notStartMap = new HashMap<>();
if (CutEnum.EN.getValue().equals(cut)) {
notStartMap.put("name", statisticsStateEnum.getEnName());
} else {
notStartMap.put("name", statisticsStateEnum.getName());
}
notStartMap.put("type", statisticsStateEnum.getValue());
notStartMap.put("quantity", quantity);
notStartMap.put("percentage", percentage);
data.add(notStartMap);
} }
/** /**
@@ -720,7 +720,7 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
*/ */
private String getRatio(Double d1, Double d2) { private String getRatio(Double d1, Double d2) {
if (d1 == null || d2 == null || d2 <= 0) { if (d1 == null || d2 == null || d2 <= 0) {
return "0%"; return "0.00%";
} }
NumberFormat percent = NumberFormat.getPercentInstance(); NumberFormat percent = NumberFormat.getPercentInstance();
percent.setMaximumFractionDigits(2); percent.setMaximumFractionDigits(2);