diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml
index 2d9e849f9..01139f7ac 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml
@@ -140,7 +140,7 @@
SELECT * from params_collect_manifest pcm LEFT JOIN params_manifest pm ON pm.id = pcm.params_manifest_id WHERE pm.project_id = #{projectId}
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaSjSjxtbhServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaSjSjxtbhServiceImpl.java
index 52b8714bc..0f425e829 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaSjSjxtbhServiceImpl.java
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaSjSjxtbhServiceImpl.java
@@ -353,7 +353,7 @@ public class OtaBaSjSjxtbhServiceImpl extends ServiceImpl pcmQueryWrap = new QueryWrapper<>();
pcmQueryWrap.lambda().in(ParamsCollectManifestEO::getParamsManifestId,pmIdList);
List pcmEoList = this.paramsCollectManifestEOService.list(pcmQueryWrap);
+ pcmEoList = pcmEoList.stream().filter(pcmEo -> !StringUtils.equals(pcmEo.getControlType(),ControlTypeEnum.Title.getValue())).collect(Collectors.toList());
List sysDictItems = new ArrayList<>();
String pcmDutyTerritoryStr = pcmEoList.stream().map(ParamsCollectManifestEO::getDutyTerritory).collect(Collectors.joining(","));
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectStatusBoardServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectStatusBoardServiceImpl.java
index 63a5cde6b..bc204e2b7 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectStatusBoardServiceImpl.java
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectStatusBoardServiceImpl.java
@@ -15,6 +15,7 @@ import com.jero.modules.cert.collect.entity.ParamsManifestEO;
import com.jero.modules.cert.collect.enums.CollectManifestStatisticsStateEnum;
import com.jero.modules.cert.collect.service.IParamsCollectManifestEOService;
import com.jero.modules.cert.collect.service.IParamsManifestEOService;
+import com.jero.modules.cert.template.enums.ControlTypeEnum;
import com.jero.modules.project.entity.*;
import com.jero.modules.project.enums.*;
import com.jero.modules.project.mapper.ProjectUserPermissionMapper;
@@ -578,6 +579,7 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
List pmEoList = this.paramsManifestEOService.list();
log.info("一阶段消耗时间:" + (System.currentTimeMillis() - startTime));
List pcmEoList = this.paramsCollectManifestEOService.getList(null);
+ pcmEoList = pcmEoList.stream().filter(pcmEo -> !StringUtils.equals(pcmEo.getControlType(), ControlTypeEnum.Title.getValue())).collect(Collectors.toList());;
log.info("二阶段消耗时间:" + (System.currentTimeMillis() - startTime));
@@ -593,10 +595,11 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
// 多线程代码
// 创建线程一
List finalPlbEoList = plbEoList;
+ List finalPcmEoList = pcmEoList;
Thread thread1 = new Thread(new Runnable() {
@Override
public void run() {
- exportCrossProjectProgressSetData(finalPlbEoList, corssProjectProgressSheet,pliEoList,pciEoList,pmEoList,pcmEoList,projectLibraryBase,ptpEoList);
+ exportCrossProjectProgressSetData(finalPlbEoList, corssProjectProgressSheet,pliEoList,pciEoList,pmEoList, finalPcmEoList,projectLibraryBase,ptpEoList);
}
});
@@ -604,7 +607,7 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
Thread thread2 = new Thread(new Runnable() {
@Override
public void run() {
- exportOverviewCrossProjectProgressSetData(finalPlbEoList, overviewCrossProjectProgressSheet,pliEoList,pciEoList,pmEoList,pcmEoList,projectLibraryBase,ptpEoList,cellStyleTitle);
+ exportOverviewCrossProjectProgressSetData(finalPlbEoList, overviewCrossProjectProgressSheet,pliEoList,pciEoList,pmEoList,finalPcmEoList,projectLibraryBase,ptpEoList,cellStyleTitle);
}
});
@@ -773,6 +776,8 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
List pcmEoList,
ProjectLibraryBase projectLibraryBase,
List ptpEoList) {
+ CellStyle style = sheet.getWorkbook().createCellStyle();
+ style.setDataFormat(sheet.getWorkbook().createDataFormat().getFormat("0.00%")); // 将格式设置为百分比(保留两位小数)
int dataIndex = 2;
for (ProjectLibraryBase plbEo : plbEoList) {
long startTime = System.currentTimeMillis();
@@ -821,7 +826,12 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
dataRow.createCell(3).setCellValue(fgrqqrToBeConfirmed);
dataRow.createCell(4).setCellValue(fgrqqrAccept);
dataRow.createCell(5).setCellValue(fgrqqrRefuse);
- dataRow.createCell(6).setCellValue(fgrqqrPercentage);
+
+ Cell cell = dataRow.createCell(6);
+ cell.setCellStyle(style);
+ cell.setCellType(CellType.NUMERIC);
+ cell.setCellValue(Double.valueOf(fgrqqrPercentage.replace("%",""))/100);
+
dataRow.createCell(7).setCellValue(legalTaskConfirmationStr);
Map designMap = this.projectLawsInventoryEOService.groupByDesignStatus(pliEos);
@@ -844,7 +854,10 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
dataRow.createCell(13).setCellValue(designToBeTracked);
dataRow.createCell(14).setCellValue(designNotInvolved);
dataRow.createCell(15).setCellValue(designTaskTermination);
- dataRow.createCell(16).setCellValue(designPercentage);
+ cell = dataRow.createCell(16);
+ cell.setCellStyle(style);
+ cell.setCellType(CellType.NUMERIC);
+ cell.setCellValue(Double.valueOf(designPercentage.replace("%",""))/100);
dataRow.createCell(17).setCellValue(designDeadlineStr);
Map verifyMap = this.projectLawsInventoryEOService.groupByVerifyStatus(pliEos);
@@ -867,7 +880,10 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
dataRow.createCell(23).setCellValue(verifyToBeTracked);
dataRow.createCell(24).setCellValue(verifyNotInvolved);
dataRow.createCell(25).setCellValue(verifyTaskTermination);
- dataRow.createCell(26).setCellValue(verifyPercentage);
+ cell = dataRow.createCell(26);
+ cell.setCellStyle(style);
+ cell.setCellType(CellType.NUMERIC);
+ cell.setCellValue(Double.valueOf(verifyPercentage.replace("%",""))/100);
dataRow.createCell(27).setCellValue(verifyDeadlineStr);
List pciEos = pciEoList.stream().filter(pciEo -> StringUtils.equals(pciEo.getProjectLibraryId(), plbEo.getId())).collect(Collectors.toList());
@@ -884,7 +900,10 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
dataRow.createCell(30).setCellValue(rzRqqrToBeConfirmed);
dataRow.createCell(31).setCellValue(rzRqqrAccept);
dataRow.createCell(32).setCellValue(rzRqqrRefuse);
- dataRow.createCell(33).setCellValue(rzRqqrPercentage);
+ cell = dataRow.createCell(33);
+ cell.setCellStyle(style);
+ cell.setCellType(CellType.NUMERIC);
+ cell.setCellValue(Double.valueOf(rzRqqrPercentage.replace("%",""))/100);
dataRow.createCell(34).setCellValue(legalTaskConfirmationStr);
Map preHomoMap = this.projectCertificationInventoryEOService.groupByPreHomoStatus(pciEos);
@@ -900,7 +919,10 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
dataRow.createCell(37).setCellValue(preHomoToBeReviewedCount);
dataRow.createCell(38).setCellValue(preHomoAccept);
dataRow.createCell(39).setCellValue(preHomoRefuse);
- dataRow.createCell(40).setCellValue(preHomoPercentage);
+ cell = dataRow.createCell(40);
+ cell.setCellStyle(style);
+ cell.setCellType(CellType.NUMERIC);
+ cell.setCellValue(Double.valueOf(preHomoPercentage.replace("%",""))/100);
dataRow.createCell(41).setCellValue(attestationStartTimeStr);
Map certificationProgressMap = this.projectCertificationInventoryEOService.groupByCertificationProgress(pciEos);
@@ -921,7 +943,10 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
dataRow.createCell(46).setCellValue(certificationProgressNotSubmitCount);
dataRow.createCell(47).setCellValue(certificationProgressReportSubmitCount);
dataRow.createCell(48).setCellValue(certificationProgressStoredCount);
- dataRow.createCell(49).setCellValue(certificationProgressPercentage);
+ cell = dataRow.createCell(49);
+ cell.setCellStyle(style);
+ cell.setCellType(CellType.NUMERIC);
+ cell.setCellValue(Double.valueOf(certificationProgressPercentage.replace("%",""))/100);
dataRow.createCell(50).setCellValue(certificationSubmissionStr);
@@ -959,14 +984,17 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
syncReporAmount = (double) syncReporMap.get("amount");
double parameterCollectingCount = notStartAmount + collectingAmount + submitAmount + syncReporAmount;
- double parameterCollectingPercentage = (syncReporAmount / parameterCollectingCount) * 100;
+ double parameterCollectingPercentage = ((submitAmount + syncReporAmount) / parameterCollectingCount) * 100;
parameterCollectingPercentageStr = (parameterCollectingPercentage != 0 && (syncReporAmount !=0 )) ? df.format(parameterCollectingPercentage) : "0";
}
dataRow.createCell(51).setCellValue(notStartAmount);
dataRow.createCell(52).setCellValue(collectingAmount);
dataRow.createCell(53).setCellValue(submitAmount);
dataRow.createCell(54).setCellValue(syncReporAmount);
- dataRow.createCell(55).setCellValue(parameterCollectingPercentageStr + percentSign);
+ cell = dataRow.createCell(55);
+ cell.setCellStyle(style);
+ cell.setCellType(CellType.NUMERIC);
+ cell.setCellValue(Double.valueOf(parameterCollectingPercentageStr)/100);
dataRow.createCell(56).setCellValue(certificationSubmissionStr);
dataIndex ++;
@@ -976,7 +1004,7 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
/**
* 导出跨项目进度概览
- * @param workbook
+ * @param sheet
* @param projectLibraryBase
* @param plbEoList
* @param pliEoList
@@ -1110,30 +1138,30 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
List pliEos = pliEoList.stream().filter(pliEo -> StringUtils.equals(pliEo.getProjectLibraryId(), plbEo.getId())).collect(Collectors.toList());
Map fgRwqrMap = this.projectLawsInventoryEOService.groupByFGRwqrStatus(pliEos);
Map fgRwqrProjectScheduleExportMap = (Map) fgRwqrMap.get("projectScheduleExportMap");
- String fgrqqrPercentage = (String) fgRwqrProjectScheduleExportMap.get("percentage");
+ double fgrqqrPercentage = Double.parseDouble(((String)fgRwqrProjectScheduleExportMap.get("percentage")).replace("%",""))/100;
Map designMap = this.projectLawsInventoryEOService.groupByDesignStatus(pliEos);
Map designMapProjectScheduleExportMap = (Map) designMap.get("projectScheduleExportMap");
- String designPercentage = (String) designMapProjectScheduleExportMap.get("percentage");
+ double designPercentage = Double.parseDouble(((String)designMapProjectScheduleExportMap.get("percentage")).replace("%",""))/100;
Map verifyMap = this.projectLawsInventoryEOService.groupByVerifyStatus(pliEos);
Map verifyMapProjectScheduleExportMap = (Map) verifyMap.get("projectScheduleExportMap");
- String verifyPercentage = (String) verifyMapProjectScheduleExportMap.get("percentage");
+ double verifyPercentage = Double.parseDouble(((String)verifyMapProjectScheduleExportMap.get("percentage")).replace("%",""))/100;
List pciEos = pciEoList.stream().filter(pciEo -> StringUtils.equals(pciEo.getProjectLibraryId(), plbEo.getId())).collect(Collectors.toList());
Map rzRwqrMap = this.projectCertificationInventoryEOService.groupByFGRwqrStatus(pciEos);
Map rzRwqrProjectScheduleExportMap = (Map) rzRwqrMap.get("projectScheduleExportMap");
- String rzRqqrPercentage = (String) rzRwqrProjectScheduleExportMap.get("percentage");
+ double rzRqqrPercentage = Double.parseDouble(((String)rzRwqrProjectScheduleExportMap.get("percentage")).replace("%",""))/100;
Map preHomoMap = this.projectCertificationInventoryEOService.groupByPreHomoStatus(pciEos);
Map preHomoProjectScheduleExportMap = (Map) preHomoMap.get("projectScheduleExportMap");
- String preHomoPercentage = (String) preHomoProjectScheduleExportMap.get("percentage");
+ double preHomoPercentage = Double.parseDouble(((String)preHomoProjectScheduleExportMap.get("percentage")).replace("%",""))/100;
List pmEos = pmEoList.stream().filter(pmEo -> {
return StringUtils.equals(pmEo.getProjectId(), plbEo.getId());
}).collect(Collectors.toList());
- String parameterCollectingPercentageStr = "0" + percentSign;
+ double parameterCollectingPercentageStr = 0;
if(CollectionUtils.isNotEmpty(pmEos)){
List pmEoIdList = pmEos.stream().map(ParamsManifestEO::getId).distinct().collect(Collectors.toList());
@@ -1159,13 +1187,13 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
double syncReporAmount = (double) syncReporMap.get("amount");
double parameterCollectingCount = notStartAmount + collectingAmount + submitAmount + syncReporAmount;
- double parameterCollectingPercentage = (syncReporAmount / parameterCollectingCount) * 100;
- parameterCollectingPercentageStr = (parameterCollectingPercentage != 0 && (syncReporAmount !=0 )) ? df.format(parameterCollectingPercentage) + percentSign : "0" + percentSign;
+ double parameterCollectingPercentage = (submitAmount + syncReporAmount) / parameterCollectingCount;
+ parameterCollectingPercentageStr = (parameterCollectingPercentage != 0 && (syncReporAmount !=0 )) ? parameterCollectingPercentage : 0;
}
Map certificationProgressMap = this.projectCertificationInventoryEOService.groupByCertificationProgress(pciEos);
Map certificationProgressMapProjectScheduleExportMap = (Map) certificationProgressMap.get("projectScheduleExportMap");
- String certificationProgressPercentage = (String) certificationProgressMapProjectScheduleExportMap.get("percentage");
+ double certificationProgressPercentage = Double.parseDouble(((String)certificationProgressMapProjectScheduleExportMap.get("percentage")).replace("%",""))/100;
CellRangeAddress regionCell1 = new CellRangeAddress(dataIndex, dataIndex + 1, 0, 0);
sheet.addMergedRegion(regionCell1);
@@ -1179,7 +1207,11 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
Cell dataRowCell = dataRow.createCell(i);
dataRowCell.setCellStyle(cellStyleTitle);
Cell dataRow2Cell = dataRow2.createCell(i);
- dataRow2Cell.setCellStyle(cellStyleTitle);
+ CellStyle style = sheet.getWorkbook().createCellStyle();
+ style.setDataFormat(sheet.getWorkbook().createDataFormat().getFormat("0.00%"));
+ dataRow2Cell.setCellStyle(style);
+ dataRow2Cell.setCellType(CellType.NUMERIC);
+
if(i == 0){
dataRowCell.setCellValue(plbEo.getShowName());
}else if(i==1){