UAT问题清单-205条,参数收集统计按照一级责任领域统计。
This commit is contained in:
+110
-42
@@ -35,13 +35,16 @@ import com.jero.modules.cert.template.entity.ParamsTemplateEO;
|
||||
import com.jero.modules.cert.template.enums.ControlTypeEnum;
|
||||
import com.jero.modules.cert.template.service.IParamsInfoPublishEOService;
|
||||
import com.jero.modules.cert.template.service.IParamsTemplateEOService;
|
||||
import com.jero.modules.enums.DictCodeEnum;
|
||||
import com.jero.modules.project.entity.ProjectRelatedPersonnel;
|
||||
import com.jero.modules.project.service.IProjectLibraryBaseService;
|
||||
import com.jero.modules.project.service.IProjectRelatedPersonnelService;
|
||||
import com.jero.modules.project.service.IProjectUserPermissionService;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.enums.DicCodeEnum;
|
||||
import com.jero.modules.system.mapper.SysDictMapper;
|
||||
import com.jero.modules.system.service.ISysDictItemService;
|
||||
import com.jero.modules.system.service.ISysDictService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
@@ -125,6 +128,9 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
|
||||
@Autowired
|
||||
private ISysDictService sysDictService;
|
||||
|
||||
@Autowired
|
||||
private ISysDictItemService sysDictItemService;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
@@ -877,8 +883,8 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getStatisticsForProjectDetails(String paramsManifestId, String cut) {
|
||||
// 查询所有责任领域
|
||||
List<DictModel> dutyTerritoryDictList = sysDictMapper.queryDictItemsByCode("duty_territory");
|
||||
List<SysDictItem> sysDictItems = this.sysDictItemService.selectItemsAll();
|
||||
Map<String, List<SysDictItem>> firstLevelDutyTerritoryMap = this.sysDictItemService.getFirstLevelSysDictItemByDictCode(DictCodeEnum.DUTY_TERRITORY.getValue(),sysDictItems);
|
||||
|
||||
Map<String, Object> result = new LinkedHashMap<>();
|
||||
List<String> dutyTerritoryNameList = new LinkedList<>();
|
||||
@@ -898,60 +904,122 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
|
||||
paramsCollectManifestEO.setParamsManifestId(paramsManifestId);
|
||||
List<Map<String, Object>> listAll = paramsCollectManifestEOMapper.listInfoForExport(paramsCollectManifestEO, null);
|
||||
|
||||
// 循环责任领域,计算每个责任领域中的四种状态数据
|
||||
for (DictModel item : dutyTerritoryDictList) {
|
||||
if(ObjectUtil.isNotEmpty(firstLevelDutyTerritoryMap)){
|
||||
for (Map.Entry<String, List<SysDictItem>> dutyTerritoryMap : firstLevelDutyTerritoryMap.entrySet()) {
|
||||
String firstLevelDutyTerritory = dutyTerritoryMap.getKey();
|
||||
List<SysDictItem> dutyTerritoryList = dutyTerritoryMap.getValue();
|
||||
if(StringUtils.isEmpty(firstLevelDutyTerritory) || CollectionUtils.isEmpty(dutyTerritoryList)){
|
||||
continue;
|
||||
}
|
||||
|
||||
// 计算数量
|
||||
double notStartNumber = listAll.stream().filter(e -> (CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.get("state"))
|
||||
double notStartNumber = 0;
|
||||
double collectingNumber = 0;
|
||||
double submitNumber = 0;
|
||||
double syncReportNumber = 0;
|
||||
|
||||
for (SysDictItem dictItem : dutyTerritoryList) {
|
||||
// 计算数量
|
||||
notStartNumber += listAll.stream().filter(e -> (CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.get("state"))
|
||||
|| CollectManifestStateEnum.SDT_BACK.getValue().equals(e.get("state"))
|
||||
|| CollectManifestStateEnum.CHANGE.getValue().equals(e.get("state"))) && item.getValue().equals(e.get("duty_territory")))
|
||||
.count(); // 未开始的参数项 数量
|
||||
|| CollectManifestStateEnum.CHANGE.getValue().equals(e.get("state"))) && dictItem.getItemValue().equals(e.get("duty_territory")))
|
||||
.count(); // 未开始的参数项 数量
|
||||
|
||||
double collectingNumber = listAll.stream().filter(e -> (CollectManifestStateEnum.WAIT_SDT.getValue().equals(e.get("state"))
|
||||
collectingNumber += listAll.stream().filter(e -> (CollectManifestStateEnum.WAIT_SDT.getValue().equals(e.get("state"))
|
||||
|| CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.get("state"))
|
||||
|| CollectManifestStateEnum.DRE_BACK.getValue().equals(e.get("state"))
|
||||
|| CollectManifestStateEnum.CERT_BACK.getValue().equals(e.get("state"))) && item.getValue().equals(e.get("duty_territory")))
|
||||
.count(); // 收集中的参数项 数量
|
||||
|| CollectManifestStateEnum.CERT_BACK.getValue().equals(e.get("state"))) && dictItem.getItemValue().equals(e.get("duty_territory")))
|
||||
.count(); // 收集中的参数项 数量
|
||||
|
||||
double submitNumber = listAll.stream().filter(e -> CollectManifestStateEnum.SUBMIT.getValue().equals(e.get("state")) && item.getValue().equals(e.get("duty_territory")))
|
||||
.count(); // 已提交的参数项 数量
|
||||
submitNumber += listAll.stream().filter(e -> CollectManifestStateEnum.SUBMIT.getValue().equals(e.get("state")) && dictItem.getItemValue().equals(e.get("duty_territory")))
|
||||
.count(); // 已提交的参数项 数量
|
||||
|
||||
double syncReportNumber = listAll.stream().filter(e -> CollectManifestStateEnum.SYNC_REPORT.getValue().equals(e.get("state")) && item.getValue().equals(e.get("duty_territory")))
|
||||
.count(); // 已同步上报库的参数项 数量
|
||||
syncReportNumber += listAll.stream().filter(e -> CollectManifestStateEnum.SYNC_REPORT.getValue().equals(e.get("state")) && dictItem.getItemValue().equals(e.get("duty_territory")))
|
||||
.count(); // 已同步上报库的参数项 数量
|
||||
}
|
||||
|
||||
// 计算百分比
|
||||
double total = notStartNumber + collectingNumber + submitNumber + syncReportNumber; // 当前责任领域参数项总数
|
||||
String notStartPercent = getRatio(notStartNumber, total); // 未开始的参数项 百分比
|
||||
String collectingPercent = getRatio(collectingNumber, total); // 收集中的参数项 百分比
|
||||
String submitPercent = getRatio(submitNumber, total); // 已提交的参数项 百分比
|
||||
String syncReportPercent = getRatio(syncReportNumber, total); // 已同步上报库的参数项 百分比
|
||||
// 计算百分比
|
||||
double total = notStartNumber + collectingNumber + submitNumber + syncReportNumber; // 当前责任领域参数项总数
|
||||
String notStartPercent = getRatio(notStartNumber, total); // 未开始的参数项 百分比
|
||||
String collectingPercent = getRatio(collectingNumber, total); // 收集中的参数项 百分比
|
||||
String submitPercent = getRatio(submitNumber, total); // 已提交的参数项 百分比
|
||||
String syncReportPercent = getRatio(syncReportNumber, total); // 已同步上报库的参数项 百分比
|
||||
|
||||
// 累加
|
||||
totalAll += total;
|
||||
notStartTotal += notStartNumber;
|
||||
collectingTotal += collectingNumber;
|
||||
submitTotal += submitNumber;
|
||||
syncReportTotal += syncReportNumber;
|
||||
// 累加
|
||||
totalAll += total;
|
||||
notStartTotal += notStartNumber;
|
||||
collectingTotal += collectingNumber;
|
||||
submitTotal += submitNumber;
|
||||
syncReportTotal += syncReportNumber;
|
||||
|
||||
// 组装数据 返回前端
|
||||
if (notStartNumber == collectingNumber && collectingNumber == submitNumber && submitNumber == syncReportNumber && syncReportNumber == 0) {
|
||||
continue;
|
||||
}
|
||||
getData(notStartList, notStartNumber, notStartPercent);
|
||||
getData(collectingList, collectingNumber, collectingPercent);
|
||||
getData(submitList, submitNumber, submitPercent);
|
||||
getData(syncReportList, syncReportNumber, syncReportPercent);
|
||||
|
||||
// 组装数据 返回前端
|
||||
if (notStartNumber == collectingNumber && collectingNumber == submitNumber && submitNumber == syncReportNumber && syncReportNumber == 0) {
|
||||
continue;
|
||||
dutyTerritoryNameList.add(firstLevelDutyTerritory);
|
||||
}
|
||||
|
||||
if (CutEnum.EN.getValue().equals(cut)) {
|
||||
dutyTerritoryNameList.add(item.getTextEn());
|
||||
} else {
|
||||
dutyTerritoryNameList.add(item.getText());
|
||||
}
|
||||
|
||||
getData(notStartList, notStartNumber, notStartPercent);
|
||||
getData(collectingList, collectingNumber, collectingPercent);
|
||||
getData(submitList, submitNumber, submitPercent);
|
||||
getData(syncReportList, syncReportNumber, syncReportPercent);
|
||||
|
||||
}
|
||||
|
||||
// // 查询所有责任领域
|
||||
// List<DictModel> dutyTerritoryDictList = sysDictMapper.queryDictItemsByCode("duty_territory");
|
||||
// // 循环责任领域,计算每个责任领域中的四种状态数据
|
||||
// for (DictModel item : dutyTerritoryDictList) {
|
||||
//
|
||||
// // 计算数量
|
||||
// double notStartNumber = listAll.stream().filter(e -> (CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.get("state"))
|
||||
// || CollectManifestStateEnum.SDT_BACK.getValue().equals(e.get("state"))
|
||||
// || CollectManifestStateEnum.CHANGE.getValue().equals(e.get("state"))) && item.getValue().equals(e.get("duty_territory")))
|
||||
// .count(); // 未开始的参数项 数量
|
||||
//
|
||||
// double collectingNumber = listAll.stream().filter(e -> (CollectManifestStateEnum.WAIT_SDT.getValue().equals(e.get("state"))
|
||||
// || CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.get("state"))
|
||||
// || CollectManifestStateEnum.DRE_BACK.getValue().equals(e.get("state"))
|
||||
// || CollectManifestStateEnum.CERT_BACK.getValue().equals(e.get("state"))) && item.getValue().equals(e.get("duty_territory")))
|
||||
// .count(); // 收集中的参数项 数量
|
||||
//
|
||||
// double submitNumber = listAll.stream().filter(e -> CollectManifestStateEnum.SUBMIT.getValue().equals(e.get("state")) && item.getValue().equals(e.get("duty_territory")))
|
||||
// .count(); // 已提交的参数项 数量
|
||||
//
|
||||
// double syncReportNumber = listAll.stream().filter(e -> CollectManifestStateEnum.SYNC_REPORT.getValue().equals(e.get("state")) && item.getValue().equals(e.get("duty_territory")))
|
||||
// .count(); // 已同步上报库的参数项 数量
|
||||
//
|
||||
// // 计算百分比
|
||||
// double total = notStartNumber + collectingNumber + submitNumber + syncReportNumber; // 当前责任领域参数项总数
|
||||
// String notStartPercent = getRatio(notStartNumber, total); // 未开始的参数项 百分比
|
||||
// String collectingPercent = getRatio(collectingNumber, total); // 收集中的参数项 百分比
|
||||
// String submitPercent = getRatio(submitNumber, total); // 已提交的参数项 百分比
|
||||
// String syncReportPercent = getRatio(syncReportNumber, total); // 已同步上报库的参数项 百分比
|
||||
//
|
||||
// // 累加
|
||||
// totalAll += total;
|
||||
// notStartTotal += notStartNumber;
|
||||
// collectingTotal += collectingNumber;
|
||||
// submitTotal += submitNumber;
|
||||
// syncReportTotal += syncReportNumber;
|
||||
//
|
||||
//
|
||||
// // 组装数据 返回前端
|
||||
// if (notStartNumber == collectingNumber && collectingNumber == submitNumber && submitNumber == syncReportNumber && syncReportNumber == 0) {
|
||||
// continue;
|
||||
// }
|
||||
//
|
||||
// if (CutEnum.EN.getValue().equals(cut)) {
|
||||
// dutyTerritoryNameList.add(item.getTextEn());
|
||||
// } else {
|
||||
// dutyTerritoryNameList.add(item.getText());
|
||||
// }
|
||||
//
|
||||
// getData(notStartList, notStartNumber, notStartPercent);
|
||||
// getData(collectingList, collectingNumber, collectingPercent);
|
||||
// getData(submitList, submitNumber, submitPercent);
|
||||
// getData(syncReportList, syncReportNumber, syncReportPercent);
|
||||
//
|
||||
// }
|
||||
|
||||
// 设置全部
|
||||
if (CutEnum.EN.getValue().equals(cut)) {
|
||||
dutyTerritoryNameList.add(0, "All");
|
||||
|
||||
Reference in New Issue
Block a user