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