项目库详情-法规清单数据-点击饼状图根据责任领域统计百分比开发。
This commit is contained in:
+9
@@ -4,6 +4,7 @@ import com.jero.modules.system.entity.SysDictItem;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -46,4 +47,12 @@ public interface ISysDictItemService extends IService<SysDictItem> {
|
||||
* @return
|
||||
*/
|
||||
String disposeShowDictItemText(List<SysDictItem> sysDictItems,String fieldTexts,String cut,String dicCode);
|
||||
|
||||
/**
|
||||
* 根据字典code获取一级数据字典
|
||||
* @param dictCode
|
||||
* @param sysDictItems
|
||||
* @return
|
||||
*/
|
||||
Map<String, List<SysDictItem>> getFirstLevelSysDictItemByDictCode(String dictCode,List<SysDictItem> sysDictItems);
|
||||
}
|
||||
|
||||
+26
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.modules.enums.DictCodeEnum;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
import com.jero.modules.system.mapper.SysDictItemMapper;
|
||||
import com.jero.modules.system.service.ISysDictItemService;
|
||||
@@ -13,7 +14,9 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -231,4 +234,27 @@ public class SysDictItemServiceImpl extends ServiceImpl<SysDictItemMapper, SysDi
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, List<SysDictItem>> getFirstLevelSysDictItemByDictCode(String dictCode,List<SysDictItem> sysDictItems) {
|
||||
List<SysDictItem> sysDictItemByDictCode = sysDictItems.stream().filter(sysDict -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(sysDict.getDictCode(), dictCode)) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
Map<String, List<SysDictItem>> result = null;
|
||||
if(CollectionUtils.isNotEmpty(sysDictItemByDictCode)){
|
||||
result = sysDictItems.stream().filter(sysDict -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.isNotEmpty(sysDict.getStatNode())) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.groupingBy(SysDictItem::getStatNode));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
+2
@@ -38,6 +38,8 @@ public enum OperatorTypeEnum {
|
||||
QUERY_PREHOMO_STATISTICS("查询prehomo统计","queryPrehomoStatistics"),
|
||||
QUERY_VERIFY_STATISTICS("查询验证符合性统计","queryVerifyStatistics"),
|
||||
QUERY_CERTIFICATION_PROGRESS_STATISTICS("查询认证进度统计","queryCertificationProgressStatistics"),
|
||||
QUERY_FG_TASK_TO_CONFIRM_STATISTICS("查询法规任务确认统计","queryFGTaskToConfirmStatistics"),
|
||||
QUERY_RZ_TASK_TO_CONFIRM_STATISTICS("查询认证任务确认统计","queryRZTaskToConfirmStatistics"),
|
||||
|
||||
ADD_LAWS_OPINION_GATHER("添加法规意见收集数据","addLawsOpinionGather"),
|
||||
UPDATE_LAWS_OPINION_GATHER_GATHER_RESULT("更新法规意见收集数据收集结果","updateLawsOpinionGatherGatherResult"),
|
||||
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
package com.jero.modules.project.service;
|
||||
|
||||
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 项目库统计service
|
||||
*/
|
||||
public interface IProjectLibraryStatisticsService {
|
||||
|
||||
/**
|
||||
* 获取法规清单-任务确认统计信息-根据责任领域分组
|
||||
* @param datas
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> getFGTaskToConfirmStatisticsGroupByTerritory(List<ProjectLawsInventoryEO> datas, Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 获取设计符合性确认流程统计信息-根据责任领域分组
|
||||
* @param datas
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> getDesignComplianceStatisticeGroupByTerritory(List<ProjectLawsInventoryEO> datas, Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 获取验证符合性确认流程统计信息-根据责任领域分组
|
||||
* @param datas
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> getVerifyComplianceStatisticeGroupByTerritory(List<ProjectLawsInventoryEO> datas, Map<String, Object> params);
|
||||
}
|
||||
+133
-51
@@ -165,6 +165,9 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
||||
@Autowired
|
||||
private IParamsCollectManifestEOService paramsCollectManifestEOService;
|
||||
|
||||
@Autowired
|
||||
private IProjectLibraryStatisticsService projectLibraryStatisticsService;
|
||||
|
||||
private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
/**
|
||||
@@ -1734,61 +1737,140 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
||||
|
||||
QueryWrapper<ProjectLawsInventoryEO> lawsInventoryEOQueryWrapper = new QueryWrapper<>();
|
||||
lawsInventoryEOQueryWrapper.lambda().eq(ProjectLawsInventoryEO::getProjectLibraryId,projectLibraryId);
|
||||
lawsInventoryEOQueryWrapper.lambda().eq(ProjectLawsInventoryEO::getInventoryAffirmStatus, InventoryAffirmStatusEnum.ACCEPTED.getValue());
|
||||
lawsInventoryEOQueryWrapper.lambda().eq(ProjectLawsInventoryEO::getTaskAffirmStatus, TaskAffirmStatusEnum.ACCEPTED.getValue());
|
||||
List<ProjectLawsInventoryEO> projectLawsInventoryEOList = projectLawsInventoryEOMapper.selectList(lawsInventoryEOQueryWrapper);
|
||||
List<String> projectLawsInventoryIdList = projectLawsInventoryEOList.stream().distinct().map(ProjectLawsInventoryEO::getId).collect(Collectors.toList());
|
||||
|
||||
if(StringUtils.equals(OperatorTypeEnum.QUERY_CURRENT_PROJECT_STATUS_STATISTICS.getValue(),operatorType)){
|
||||
params.put("projectLawsInventoryIdList",projectLawsInventoryIdList);
|
||||
List<Map<String, Object>> conditionAssessmentMapList = this.conditionAssessmentEOService.getProjectStatusAssessStatisticsGroupByTerritory(params);
|
||||
disposeData(conditionAssessmentMapList,cut);
|
||||
result.put("dataList",conditionAssessmentMapList);
|
||||
}else if(StringUtils.equals(OperatorTypeEnum.QUERY_LISTING_TO_CONFIRM_STATISTICS.getValue(),operatorType)){
|
||||
//清单确认 状态
|
||||
String inventoryAffirmStatus = (String) params.get("inventoryAffirmStatus");
|
||||
List<Map<String,Object>> listingToConfirmList = this.projectLawsInventoryEOMapper.getListingToConfirmStatisticsGroupByTerritory(projectLibraryId,inventoryAffirmStatus);
|
||||
disposeData(listingToConfirmList,cut);
|
||||
result.put("dataList",listingToConfirmList);
|
||||
}else if(StringUtils.equals(OperatorTypeEnum.QUERY_TASK_TO_CONFIRM_STATISTICS.getValue(),operatorType)){
|
||||
//任务确认 状态
|
||||
String taskAffirmStatus = (String) params.get("taskAffirmStatus");
|
||||
List<Map<String,Object>> taskToConfirmList = this.projectLawsInventoryEOMapper.getTaskToConfirmStatisticsGroupByTerritory(projectLibraryId,taskAffirmStatus);
|
||||
disposeData(taskToConfirmList,cut);
|
||||
result.put("dataList",taskToConfirmList);
|
||||
}else if(StringUtils.equals(OperatorTypeEnum.QUERY_DESIGN_STATISTICS.getValue(),operatorType)){
|
||||
//设计符合性 流程任务状态
|
||||
String designFlowTaskStatus = (String) params.get("designFlowTaskStatus");
|
||||
if(CollectionUtils.isNotEmpty(projectLawsInventoryIdList)){
|
||||
List<Map<String,Object>> designComplianceList = this.projectTaskInventoryEOMapper.getDesignComplianceStatisticeGroupByTerritory(projectLawsInventoryIdList,designFlowTaskStatus);
|
||||
disposeData(designComplianceList,cut);
|
||||
result.put("dataList",designComplianceList);
|
||||
}
|
||||
}else if(StringUtils.equals(OperatorTypeEnum.QUERY_PREHOMO_STATISTICS.getValue(),operatorType)){
|
||||
//prehomo确认 流程任务状态
|
||||
String prehomoFlowTaskStatus = (String) params.get("prehomoFlowTaskStatus");
|
||||
if(CollectionUtils.isNotEmpty(projectLawsInventoryIdList)){
|
||||
List<Map<String,Object>> prehomoList = this.projectTaskInventoryEOMapper.getPrehomoStatisticeGroupByTerritory(projectLawsInventoryIdList,prehomoFlowTaskStatus);
|
||||
disposeData(prehomoList,cut);
|
||||
result.put("dataList",prehomoList);
|
||||
}
|
||||
}else if(StringUtils.equals(OperatorTypeEnum.QUERY_VERIFY_STATISTICS.getValue(),operatorType)){
|
||||
//验证符合性 流程任务状态
|
||||
String verifyFlowTaskStatus = (String) params.get("verifyFlowTaskStatus");
|
||||
List<SysDictItem> sysDictItems = new ArrayList<>();
|
||||
// 法规清单所有的责任领域
|
||||
String pliDutyTerritoryStr = projectLawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getDutyTerritory).collect(Collectors.joining(","));
|
||||
if (StringUtils.isNotEmpty(pliDutyTerritoryStr)) {
|
||||
List<String> pliDutyTerritoryList = Arrays.asList(pliDutyTerritoryStr.split(",")).stream().distinct().collect(Collectors.toList());
|
||||
sysDictItems = this.sysDictItemServiceImpl.selectItemsAll().stream().filter(sysDictItem -> {
|
||||
boolean flag = false;
|
||||
for (String pliDutyTerritory : pliDutyTerritoryList) {
|
||||
if(StringUtils.equals(sysDictItem.getItemValue(),pliDutyTerritory)){
|
||||
flag = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
if(CollectionUtils.isNotEmpty(projectLawsInventoryIdList)){
|
||||
List<Map<String,Object>> verifyComplianceList = this.projectTaskInventoryEOMapper.getVerifyComplianceStatisticeGroupByTerritory(projectLawsInventoryIdList,verifyFlowTaskStatus);
|
||||
disposeData(verifyComplianceList,cut);
|
||||
result.put("dataList",verifyComplianceList);
|
||||
}
|
||||
}else if(StringUtils.equals(OperatorTypeEnum.QUERY_CERTIFICATION_PROGRESS_STATISTICS.getValue(),operatorType)){
|
||||
//认证进度 流程任务状态
|
||||
String certificationProgress = (String) params.get("certificationProgress");
|
||||
Map<String,Object> pliEoMap = new HashMap<>();
|
||||
|
||||
if(CollectionUtils.isNotEmpty(projectLawsInventoryIdList)){
|
||||
List<Map<String,Object>> certificationProgressList = this.projectTaskInventoryEOMapper.getCertificationProgressStatisticsGroupByTerritory(projectLawsInventoryIdList,certificationProgress);
|
||||
disposeData(certificationProgressList,cut);
|
||||
result.put("dataList",certificationProgressList);
|
||||
Map<String, List<SysDictItem>> firstLevelDutyTerritoryMap = this.sysDictItemServiceImpl.getFirstLevelSysDictItemByDictCode(DictCodeEnum.DUTY_TERRITORY.getValue(),sysDictItems);
|
||||
if(ObjectUtils.isNotEmpty(firstLevelDutyTerritoryMap)){
|
||||
// 根据责任领域组装法规清单数据,后续计算使用
|
||||
for (Map.Entry<String, List<SysDictItem>> firstLevelMap : firstLevelDutyTerritoryMap.entrySet()) {
|
||||
String key = firstLevelMap.getKey();
|
||||
List<SysDictItem> dutyTerritoryList = firstLevelMap.getValue();
|
||||
if(StringUtils.isEmpty(key) || CollectionUtils.isEmpty(dutyTerritoryList)){
|
||||
continue;
|
||||
}
|
||||
List<ProjectLawsInventoryEO> pliEoList = projectLawsInventoryEOList.stream().filter(pliEo -> {
|
||||
boolean flag = false;
|
||||
for (SysDictItem dutyTerritory : dutyTerritoryList) {
|
||||
if (StringUtils.contains(pliEo.getDutyTerritory(), dutyTerritory.getItemValue())) {
|
||||
flag = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("dutyTerritoryList",dutyTerritoryList);
|
||||
json.put("pliEoList",pliEoList);
|
||||
pliEoMap.put(key,json);
|
||||
}
|
||||
}
|
||||
String status = (String) params.get("status");
|
||||
if (CollectionUtils.isNotEmpty(projectLawsInventoryEOList)) {
|
||||
List<String> projectLawsInventoryIdList = projectLawsInventoryEOList.stream().distinct().map(ProjectLawsInventoryEO::getId).collect(Collectors.toList());
|
||||
if(StringUtils.equals(OperatorTypeEnum.QUERY_FG_TASK_TO_CONFIRM_STATISTICS.getValue(),operatorType)){
|
||||
if(ObjectUtils.isNotEmpty(pliEoMap)){
|
||||
|
||||
List<Map<String, Object>> dataList = new ArrayList<>();
|
||||
for (Map.Entry<String, Object> pliMap : pliEoMap.entrySet()) {
|
||||
String key = pliMap.getKey();
|
||||
JSONObject json = (JSONObject) pliMap.getValue();
|
||||
List<ProjectLawsInventoryEO> pliEoList = (List<ProjectLawsInventoryEO>) json.get("pliEoList");
|
||||
Map<String, Object> dataMaps = this.projectLibraryStatisticsService.getFGTaskToConfirmStatisticsGroupByTerritory(pliEoList,params);
|
||||
Map<String, Object> dataMap = (Map<String, Object>) dataMaps.get(status);
|
||||
double amount = (double) dataMap.get("amount");
|
||||
if(amount != 0){
|
||||
dataMap.put("dutyTerritoryName",key);
|
||||
dataList.add(dataMap);
|
||||
}
|
||||
}
|
||||
result.put("dataList",dataList);
|
||||
}
|
||||
}else if(StringUtils.equals(OperatorTypeEnum.QUERY_CURRENT_PROJECT_STATUS_STATISTICS.getValue(),operatorType)){
|
||||
params.put("projectLawsInventoryIdList",projectLawsInventoryIdList);
|
||||
List<Map<String, Object>> conditionAssessmentMapList = this.conditionAssessmentEOService.getProjectStatusAssessStatisticsGroupByTerritory(params);
|
||||
disposeData(conditionAssessmentMapList,cut);
|
||||
result.put("dataList",conditionAssessmentMapList);
|
||||
}else if(StringUtils.equals(OperatorTypeEnum.QUERY_LISTING_TO_CONFIRM_STATISTICS.getValue(),operatorType)){
|
||||
//清单确认 状态
|
||||
String inventoryAffirmStatus = (String) params.get("inventoryAffirmStatus");
|
||||
List<Map<String,Object>> listingToConfirmList = this.projectLawsInventoryEOMapper.getListingToConfirmStatisticsGroupByTerritory(projectLibraryId,inventoryAffirmStatus);
|
||||
disposeData(listingToConfirmList,cut);
|
||||
result.put("dataList",listingToConfirmList);
|
||||
}else if(StringUtils.equals(OperatorTypeEnum.QUERY_TASK_TO_CONFIRM_STATISTICS.getValue(),operatorType)){
|
||||
//任务确认 状态
|
||||
String taskAffirmStatus = (String) params.get("taskAffirmStatus");
|
||||
List<Map<String,Object>> taskToConfirmList = this.projectLawsInventoryEOMapper.getTaskToConfirmStatisticsGroupByTerritory(projectLibraryId,taskAffirmStatus);
|
||||
disposeData(taskToConfirmList,cut);
|
||||
result.put("dataList",taskToConfirmList);
|
||||
}else if(StringUtils.equals(OperatorTypeEnum.QUERY_DESIGN_STATISTICS.getValue(),operatorType)){
|
||||
//设计符合性
|
||||
List<Map<String, Object>> dataList = new ArrayList<>();
|
||||
for (Map.Entry<String, Object> pliMap : pliEoMap.entrySet()) {
|
||||
String key = pliMap.getKey();
|
||||
JSONObject json = (JSONObject) pliMap.getValue();
|
||||
List<ProjectLawsInventoryEO> pliEoList = (List<ProjectLawsInventoryEO>) json.get("pliEoList");
|
||||
Map<String, Object> dataMaps = this.projectLibraryStatisticsService.getDesignComplianceStatisticeGroupByTerritory(pliEoList,params);
|
||||
Map<String, Object> dataMap = (Map<String, Object>) dataMaps.get(status);
|
||||
double amount = (double) dataMap.get("amount");
|
||||
if(amount != 0){
|
||||
dataMap.put("dutyTerritoryName",key);
|
||||
dataList.add(dataMap);
|
||||
}
|
||||
}
|
||||
result.put("dataList",dataList);
|
||||
}else if(StringUtils.equals(OperatorTypeEnum.QUERY_PREHOMO_STATISTICS.getValue(),operatorType)){
|
||||
//prehomo确认 流程任务状态
|
||||
String prehomoFlowTaskStatus = (String) params.get("prehomoFlowTaskStatus");
|
||||
if(CollectionUtils.isNotEmpty(projectLawsInventoryIdList)){
|
||||
List<Map<String,Object>> prehomoList = this.projectTaskInventoryEOMapper.getPrehomoStatisticeGroupByTerritory(projectLawsInventoryIdList,prehomoFlowTaskStatus);
|
||||
disposeData(prehomoList,cut);
|
||||
result.put("dataList",prehomoList);
|
||||
}
|
||||
}else if(StringUtils.equals(OperatorTypeEnum.QUERY_VERIFY_STATISTICS.getValue(),operatorType)){
|
||||
//验证符合性 流程任务状态
|
||||
List<Map<String, Object>> dataList = new ArrayList<>();
|
||||
for (Map.Entry<String, Object> pliMap : pliEoMap.entrySet()) {
|
||||
String key = pliMap.getKey();
|
||||
JSONObject json = (JSONObject) pliMap.getValue();
|
||||
List<ProjectLawsInventoryEO> pliEoList = (List<ProjectLawsInventoryEO>) json.get("pliEoList");
|
||||
Map<String, Object> dataMaps = this.projectLibraryStatisticsService.getVerifyComplianceStatisticeGroupByTerritory(pliEoList,params);
|
||||
Map<String, Object> dataMap = (Map<String, Object>) dataMaps.get(status);
|
||||
double amount = (double) dataMap.get("amount");
|
||||
if(amount != 0){
|
||||
dataMap.put("dutyTerritoryName",key);
|
||||
dataList.add(dataMap);
|
||||
}
|
||||
}
|
||||
result.put("dataList",dataList);
|
||||
}else if(StringUtils.equals(OperatorTypeEnum.QUERY_CERTIFICATION_PROGRESS_STATISTICS.getValue(),operatorType)){
|
||||
//认证进度 流程任务状态
|
||||
String certificationProgress = (String) params.get("certificationProgress");
|
||||
|
||||
if(CollectionUtils.isNotEmpty(projectLawsInventoryIdList)){
|
||||
List<Map<String,Object>> certificationProgressList = this.projectTaskInventoryEOMapper.getCertificationProgressStatisticsGroupByTerritory(projectLawsInventoryIdList,certificationProgress);
|
||||
disposeData(certificationProgressList,cut);
|
||||
result.put("dataList",certificationProgressList);
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
||||
+290
@@ -0,0 +1,290 @@
|
||||
package com.jero.modules.project.service.impl;
|
||||
|
||||
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
|
||||
import com.jero.modules.project.enums.ComplianceFlowStatusEnum;
|
||||
import com.jero.modules.project.enums.TaskAffirmStatusEnum;
|
||||
import com.jero.modules.project.service.IProjectCertificationInventoryEOService;
|
||||
import com.jero.modules.project.service.IProjectLawsInventoryEOService;
|
||||
import com.jero.modules.project.service.IProjectLibraryStatisticsService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class ProjectLibraryStatisticsServiceImpl implements IProjectLibraryStatisticsService {
|
||||
|
||||
@Autowired
|
||||
private IProjectLawsInventoryEOService projectLawsInventoryEOService;
|
||||
@Autowired
|
||||
private IProjectCertificationInventoryEOService projectCertificationInventoryEOService;
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getFGTaskToConfirmStatisticsGroupByTerritory(List<ProjectLawsInventoryEO> datas, Map<String, Object> params) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
if(CollectionUtils.isNotEmpty(datas)){
|
||||
DecimalFormat df = new DecimalFormat("#.00");
|
||||
String status = (String) params.get("status");
|
||||
|
||||
Map<String,Object> notStartedMap = new HashMap<>();
|
||||
Map<String,Object> toConfirmMap = new HashMap<>();
|
||||
Map<String,Object> acceptedMap = new HashMap<>();
|
||||
Map<String,Object> rejectedMap = new HashMap<>();
|
||||
|
||||
// 未发起
|
||||
List<ProjectLawsInventoryEO> notStartedDesignPliEoList = datas.stream().filter(data -> {
|
||||
boolean flag = (
|
||||
StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue())
|
||||
|| StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.REGULATORY_ENGINEER_RETURNS.getValue())
|
||||
|| StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())
|
||||
);
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
List<ProjectLawsInventoryEO> notStartedVerifyPliEoList = datas.stream().filter(data -> {
|
||||
boolean flag = (
|
||||
StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue())
|
||||
|| StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.REGULATORY_ENGINEER_RETURNS.getValue())
|
||||
|| StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())
|
||||
);
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
double notStartedComplianceFlowCount = (double) notStartedDesignPliEoList.size() + notStartedVerifyPliEoList.size();
|
||||
double notStartedPercentage = (notStartedComplianceFlowCount / (datas.size() * 2)) * 100;
|
||||
String notStartedPercentageStr = notStartedPercentage != 0 ? df.format(notStartedPercentage) : "0";
|
||||
notStartedMap.put("amount",notStartedComplianceFlowCount);
|
||||
notStartedMap.put("percentage",notStartedPercentageStr + "%");
|
||||
|
||||
// 待确认
|
||||
List<ProjectLawsInventoryEO> toConfirmDesignPliEoList = datas.stream().filter(data -> {
|
||||
boolean flag = (
|
||||
StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue())
|
||||
);
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
List<ProjectLawsInventoryEO> toConfirmVerifyPliEoList = datas.stream().filter(data -> {
|
||||
boolean flag = (
|
||||
StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue())
|
||||
);
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
double toConfirmComplianceFlowCount = (double) toConfirmDesignPliEoList.size() + toConfirmVerifyPliEoList.size();
|
||||
double toConfirmPercentage = (toConfirmComplianceFlowCount / (datas.size() * 2)) * 100;
|
||||
String toConfirmPercentageStr = toConfirmPercentage != 0 ? df.format(toConfirmPercentage) : "0";
|
||||
toConfirmMap.put("amount",toConfirmComplianceFlowCount);
|
||||
toConfirmMap.put("percentage",toConfirmPercentageStr + "%");
|
||||
|
||||
// 接受
|
||||
List<ProjectLawsInventoryEO> acceptedDesignPliEoList = datas.stream().filter(data -> {
|
||||
boolean flag = (
|
||||
StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue())
|
||||
|| StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue())
|
||||
|| StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.CONFORMITY.getValue())
|
||||
|| StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.INCONFORMITY.getValue())
|
||||
|| StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue())
|
||||
|| StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.UNINVOLVED.getValue())
|
||||
);
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
List<ProjectLawsInventoryEO> acceptedVerifyPliEoList = datas.stream().filter(data -> {
|
||||
boolean flag = (
|
||||
StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue())
|
||||
|| StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue())
|
||||
|| StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.CONFORMITY.getValue())
|
||||
|| StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.INCONFORMITY.getValue())
|
||||
|| StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue())
|
||||
|| StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.UNINVOLVED.getValue())
|
||||
);
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
double acceptedComplianceFlowCount = (double) acceptedDesignPliEoList.size() + acceptedVerifyPliEoList.size();
|
||||
double acceptedPercentage = (acceptedComplianceFlowCount / (datas.size() * 2)) * 100;
|
||||
String acceptedPercentageStr = acceptedPercentage != 0 ? df.format(acceptedPercentage) : "0";
|
||||
acceptedMap.put("amount",acceptedComplianceFlowCount);
|
||||
acceptedMap.put("percentage",acceptedPercentageStr + "%");
|
||||
|
||||
// 拒绝
|
||||
List<ProjectLawsInventoryEO> rejectedDesignPliEoList = datas.stream().filter(data -> {
|
||||
boolean flag = (
|
||||
StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue())
|
||||
);
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
List<ProjectLawsInventoryEO> rejectedVerifyPliEoList = datas.stream().filter(data -> {
|
||||
boolean flag = (
|
||||
StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue())
|
||||
);
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
double rejectedComplianceFlowCount = (double) rejectedDesignPliEoList.size() + rejectedVerifyPliEoList.size();
|
||||
double rejectedPercentage = (rejectedComplianceFlowCount / (datas.size() * 2)) * 100;
|
||||
String rejectedPercentageStr = rejectedPercentage != 0 ? df.format(rejectedPercentage) : "0";
|
||||
rejectedMap.put("amount",rejectedComplianceFlowCount);
|
||||
rejectedMap.put("percentage",rejectedPercentageStr + "%");
|
||||
|
||||
result.put(TaskAffirmStatusEnum.NOT_STARTED.getValue(),notStartedMap);
|
||||
result.put(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue(),toConfirmMap);
|
||||
result.put(TaskAffirmStatusEnum.ACCEPTED.getValue(),acceptedMap);
|
||||
result.put(TaskAffirmStatusEnum.REJECTED.getValue(),rejectedMap);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getDesignComplianceStatisticeGroupByTerritory(List<ProjectLawsInventoryEO> datas, Map<String, Object> params) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
if(CollectionUtils.isNotEmpty(datas)){
|
||||
Map<String,Object> notStartedMap = new HashMap<>();
|
||||
Map<String,Object> toConfirmMap = new HashMap<>();
|
||||
Map<String,Object> complianceMap = new HashMap<>();
|
||||
Map<String,Object> nonComplianceMap = new HashMap<>();
|
||||
|
||||
DecimalFormat df = new DecimalFormat("#.00");
|
||||
// 未发起
|
||||
List<ProjectLawsInventoryEO> notStartedDesignPliEoList = datas.stream().filter(data -> {
|
||||
boolean flag = (
|
||||
StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue())
|
||||
|| StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())
|
||||
|| StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.REGULATORY_ENGINEER_RETURNS.getValue())
|
||||
|| StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue())
|
||||
|| StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue())
|
||||
);
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
double notStartedComplianceFlowCount = (double) notStartedDesignPliEoList.size();
|
||||
double notStartedPercentage = (notStartedComplianceFlowCount / (datas.size())) * 100;
|
||||
String notStartedPercentageStr = notStartedPercentage != 0 ? df.format(notStartedPercentage) : "0";
|
||||
notStartedMap.put("amount",notStartedComplianceFlowCount);
|
||||
notStartedMap.put("percentage",notStartedPercentageStr + "%");
|
||||
|
||||
// 待确认
|
||||
List<ProjectLawsInventoryEO> toConfirmDesignPliEoList = datas.stream().filter(data -> {
|
||||
boolean flag = (
|
||||
StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue())
|
||||
|| StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue())
|
||||
|| StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue())
|
||||
);
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
double toConfirmComplianceFlowCount = (double) toConfirmDesignPliEoList.size();
|
||||
double toConfirmPercentage = (toConfirmComplianceFlowCount / (datas.size())) * 100;
|
||||
String toConfirmPercentageStr = toConfirmPercentage != 0 ? df.format(toConfirmPercentage) : "0";
|
||||
toConfirmMap.put("amount",toConfirmComplianceFlowCount);
|
||||
toConfirmMap.put("percentage",toConfirmPercentageStr + "%");
|
||||
|
||||
// 符合
|
||||
List<ProjectLawsInventoryEO> complianceDesignPliEoList = datas.stream().filter(data -> {
|
||||
boolean flag = (
|
||||
StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.CONFORMITY.getValue())
|
||||
);
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
double complianceFlowCount = (double) complianceDesignPliEoList.size();
|
||||
double compliancePercentage = (complianceFlowCount / (datas.size())) * 100;
|
||||
String compliancePercentageStr = compliancePercentage != 0 ? df.format(compliancePercentage) : "0";
|
||||
complianceMap.put("amount",complianceFlowCount);
|
||||
complianceMap.put("percentage",compliancePercentageStr + "%");
|
||||
|
||||
// 不符合
|
||||
List<ProjectLawsInventoryEO> nonComplianceDesignPliEoList = datas.stream().filter(data -> {
|
||||
boolean flag = (
|
||||
StringUtils.equals(data.getDesignFlowStatus(),ComplianceFlowStatusEnum.INCONFORMITY.getValue())
|
||||
);
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
double nonComplianceComplianceFlowCount = (double) nonComplianceDesignPliEoList.size();
|
||||
double nonCompliancePercentage = (nonComplianceComplianceFlowCount / (datas.size())) * 100;
|
||||
String nonCompliancePercentageStr = nonCompliancePercentage != 0 ? df.format(nonCompliancePercentage) : "0";
|
||||
nonComplianceMap.put("amount",nonComplianceComplianceFlowCount);
|
||||
nonComplianceMap.put("percentage",nonCompliancePercentageStr + "%");
|
||||
|
||||
result.put(TaskAffirmStatusEnum.NOT_STARTED.getValue(),notStartedMap);
|
||||
result.put(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue(),toConfirmMap);
|
||||
result.put(ComplianceFlowStatusEnum.CONFORMITY.getValue(),complianceMap);
|
||||
result.put(ComplianceFlowStatusEnum.INCONFORMITY.getValue(),nonComplianceMap);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getVerifyComplianceStatisticeGroupByTerritory(List<ProjectLawsInventoryEO> datas, Map<String, Object> params) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
if(CollectionUtils.isNotEmpty(datas)){
|
||||
Map<String,Object> notStartedMap = new HashMap<>();
|
||||
Map<String,Object> toConfirmMap = new HashMap<>();
|
||||
Map<String,Object> complianceMap = new HashMap<>();
|
||||
Map<String,Object> nonComplianceMap = new HashMap<>();
|
||||
|
||||
DecimalFormat df = new DecimalFormat("#.00");
|
||||
// 未发起
|
||||
List<ProjectLawsInventoryEO> notStartedVerifyPliEoList = datas.stream().filter(data -> {
|
||||
boolean flag = (
|
||||
StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue())
|
||||
|| StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())
|
||||
|| StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.REGULATORY_ENGINEER_RETURNS.getValue())
|
||||
|| StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.DUTY_PERSON_REJECTED.getValue())
|
||||
|| StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue())
|
||||
);
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
double notStartedComplianceFlowCount = (double) notStartedVerifyPliEoList.size();
|
||||
double notStartedPercentage = (notStartedComplianceFlowCount / (datas.size())) * 100;
|
||||
String notStartedPercentageStr = notStartedPercentage != 0 ? df.format(notStartedPercentage) : "0";
|
||||
notStartedMap.put("amount",notStartedComplianceFlowCount);
|
||||
notStartedMap.put("percentage",notStartedPercentageStr + "%");
|
||||
|
||||
// 待确认
|
||||
List<ProjectLawsInventoryEO> toConfirmVerifyPliEoList = datas.stream().filter(data -> {
|
||||
boolean flag = (
|
||||
StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue())
|
||||
|| StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue())
|
||||
|| StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.TO_TRACK.getValue())
|
||||
);
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
double toConfirmComplianceFlowCount = (double) toConfirmVerifyPliEoList.size();
|
||||
double toConfirmPercentage = (toConfirmComplianceFlowCount / (datas.size())) * 100;
|
||||
String toConfirmPercentageStr = toConfirmPercentage != 0 ? df.format(toConfirmPercentage) : "0";
|
||||
toConfirmMap.put("amount",toConfirmComplianceFlowCount);
|
||||
toConfirmMap.put("percentage",toConfirmPercentageStr + "%");
|
||||
|
||||
// 符合
|
||||
List<ProjectLawsInventoryEO> complianceVerifyPliEoList = datas.stream().filter(data -> {
|
||||
boolean flag = (
|
||||
StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.CONFORMITY.getValue())
|
||||
);
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
double complianceFlowCount = (double) complianceVerifyPliEoList.size();
|
||||
double compliancePercentage = (complianceFlowCount / (datas.size())) * 100;
|
||||
String compliancePercentageStr = compliancePercentage != 0 ? df.format(compliancePercentage) : "0";
|
||||
complianceMap.put("amount",complianceFlowCount);
|
||||
complianceMap.put("percentage",compliancePercentageStr + "%");
|
||||
|
||||
// 不符合
|
||||
List<ProjectLawsInventoryEO> nonComplianceVerifyPliEoList = datas.stream().filter(data -> {
|
||||
boolean flag = (
|
||||
StringUtils.equals(data.getVerifyFlowStatus(),ComplianceFlowStatusEnum.INCONFORMITY.getValue())
|
||||
);
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
double nonComplianceComplianceFlowCount = (double) nonComplianceVerifyPliEoList.size();
|
||||
double nonCompliancePercentage = (nonComplianceComplianceFlowCount / (datas.size())) * 100;
|
||||
String nonCompliancePercentageStr = nonCompliancePercentage != 0 ? df.format(nonCompliancePercentage) : "0";
|
||||
nonComplianceMap.put("amount",nonComplianceComplianceFlowCount);
|
||||
nonComplianceMap.put("percentage",nonCompliancePercentageStr + "%");
|
||||
|
||||
result.put(TaskAffirmStatusEnum.NOT_STARTED.getValue(),notStartedMap);
|
||||
result.put(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue(),toConfirmMap);
|
||||
result.put(ComplianceFlowStatusEnum.CONFORMITY.getValue(),complianceMap);
|
||||
result.put(ComplianceFlowStatusEnum.INCONFORMITY.getValue(),nonComplianceMap);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user