项目状态看板-导出(项目进度sheet页表头)

This commit is contained in:
zhn
2023-10-12 17:16:48 +08:00
parent 808d0e3aa1
commit ffddd03a4a
@@ -15,7 +15,6 @@ import com.jero.modules.cert.collect.service.IParamsCollectManifestEOService;
import com.jero.modules.cert.collect.service.IParamsCollectManifestHistoryEOService;
import com.jero.modules.cert.collect.service.IParamsManifestEOService;
import com.jero.modules.cert.collect.service.IParamsManifestHistoryEOService;
import com.jero.modules.cert.report.entity.ParamsReportConfigDataEO;
import com.jero.modules.cert.template.enums.ControlTypeEnum;
import com.jero.modules.ota.entity.OtaManageApplyEO;
import com.jero.modules.ota.service.impl.OtaManageApplyEOServiceImpl;
@@ -840,38 +839,71 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
private HSSFSheet createCorssProjectProgressSheet(HSSFWorkbook workbook, ProjectLibraryBase projectLibraryBase) {
String cut = projectLibraryBase.getCut();
String sheetName = "项目进度";
// String firstTitle = "项目," +
// "法规任务确认," +
// "设计符合性确认," +
// "验证符合性确认," +
// "认证任务确认," +
// "Pre-Homo确认," +
// "认证进度," +
// "参数收集";
// String secondTitle = "待发布,待校核,待确认,接受,拒绝,完成度,责任确认日期," +
// "未发起,待提交,待审查,符合,不符合,待追踪,不涉及,任务终止,完成度,设计核查日期," +
// "未发起,待提交,待审查,符合,不符合,待追踪,不涉及,任务终止,完成度,验证核查日期," +
// "待发布,待校核,待确认,接受,拒绝,完成度,责任确认日期," +
// "未发起,待提交,待审查,审查通过,审查退回,完成度,认证开始日期," +
// "待开始,进行中,实验通过,实验失败,部件报告未提交,部件报告已提交,部件报告已入库,完成度,认证提交时间," +
// "未开始,收集中,已提交,已同步至上报库,完成度,认证提交时间";
String firstTitle = "项目," +
"法规任务确认," +
"设计符合性确认," +
"验证符合性确认," +
"设计符合性," +
"验证符合性," +
"认证任务确认," +
"Pre-Homo确认," +
"Pre-Homo流程," +
"认证进度," +
"参数收集";
String secondTitle = "待发布,待校核,待确认,接受,拒绝,完成度,责任确认日期," +
"未发起,待提交,待审查,符合,不符合,待追踪,不涉及,任务终止,完成度,设计核查日期," +
"未发起,待提交,待审查,符合,不符合,待追踪,不涉及,任务终止,完成度,验证核查日期," +
"待发布,待校核,待确认,接受,拒绝,完成度,责任确认日期," +
"未发起,待提交,待审查,审查通过,审查退回,完成度,认证开始日期," +
"待开始,进行中,实验通过,实验失败,部件报告未提交,部件报告已提交,部件报告已入库,完成度,认证提交时间," +
"开始,收集中,已提交,已同步至上报库,完成度,认证提交时间";
"参数收集进度";
String secondTitle = "清单待发布,任务待发起,任务待确认,责任人接受,责任人拒绝,完成度,责任确认日期," +
"任务待确认,结果待提交,结果待审查,符合,不符合,待追踪,完成度,设计核查日期," +//去掉不涉及,任务终止
"任务待确认,结果待提交,结果待审查,符合,不符合,待追踪,完成度,验证核查日期," +//删掉2个
"清单待发布,任务待发起,任务待确认,责任人接受,责任人拒绝,完成度,责任确认日期," +
"任务待确认,结果待提交,结果待审查,审查通过,审查退回,完成度,认证开始日期," +
"待开始,进行中,实验通过,实验失败,完成度,认证提交时间," +//删掉3个
"发起,收集中,已提交,已同步至上报库,完成度,认证提交时间";
if(com.jero.modules.system.util.StringUtils.equals(cut,CutEnum.EN.getValue())){
sheetName = "Project Progress";
firstTitle = "Project," +
"Confirmation of regulatory tasks," +
"Confirmation of design compliance," +
"Verification of compliance confirmation," +
"Design compliance," +
"Verification compliance," +
"Certification task confirmation," +
"Pre Homo confirmation," +
"Pre Homo process," +
"Certification progress," +
"Parameter collection";
secondTitle = "To be released,To be verified,To be confirmed,Accept,Refuse,Completion degree,Responsibility confirmation date," +
"Not initiated,To be submitted,Pending review,Conform to,Non Conformance,To be tracked,Not involved,Task Termination,Completion degree,Design verification date," +
"Not initiated,To be submitted,Pending review,Conform to,Non Conformance,To be tracked,Not involved,Task Termination,Completion degree,Verification verification date," +
"To be released,To be verified,To be confirmed,Accept,Refuse,Completion degree,Responsibility confirmation date," +
"Not initiated,To be submitted,Pending review,Review passed,Review return,Completion degree,Certification start date," +
"To begin,In progress,Experiment passed,Experimental failure,Component report not submitted,Component report submitted,Component report has been stored,Completion degree,Certification submission time," +
"Not started,Collecting,Submitted,Synchronized to the upper report library,Completion degree,Certification submission time";
"Parameter collection progress";
secondTitle = "List to be released,Task to be initiated,Task to be confirmed,Assignee accept,Assignee refuse,Completion degree,Responsibility confirmation date," +
"Task to be confirmed,Results to be submitted,Results to be reviewed,Compliance,Non-compliance,To be tracked,Completion degree,Design verification date," +
"Task to be confirmed,Results to be submitted,Results to be reviewed,Compliance,Non-compliance,To be tracked,Completion degree,Verification verification date," +
"List to be released,Task to be initiated,Task to be confirmed,Assignee accept,Assignee refuse,Completion degree,Responsibility confirmation date," +
"Task to be confirmed,Results to be submitted,Results to be reviewed,Review passed,Review return,Completion degree,Certification start date," +
"To begin,In progress,Experiment passed,Experimental failure,Completion degree,Certification submission time," +
"Not initiated,Collecting,Submitted,Synchronized to the upper report library,Completion degree,Certification submission time";
// firstTitle = "Project," +
// "Confirmation of regulatory tasks," +
// "Confirmation of design compliance," +
// "Verification of compliance confirmation," +
// "Certification task confirmation," +
// "Pre Homo confirmation," +
// "Certification progress," +
// "Parameter collection";
// secondTitle = "To be released,To be verified,To be confirmed,Accept,Refuse,Completion degree,Responsibility confirmation date," +
// "Not initiated,To be submitted,Pending review,Conform to,Non Conformance,To be tracked,Not involved,Task Termination,Completion degree,Design verification date," +
// "Not initiated,To be submitted,Pending review,Conform to,Non Conformance,To be tracked,Not involved,Task Termination,Completion degree,Verification verification date," +
// "To be released,To be verified,To be confirmed,Accept,Refuse,Completion degree,Responsibility confirmation date," +
// "Not initiated,To be submitted,Pending review,Review passed,Review return,Completion degree,Certification start date," +
// "To begin,In progress,Experiment passed,Experimental failure,Component report not submitted,Component report submitted,Component report has been stored,Completion degree,Certification submission time," +
// "Not started,Collecting,Submitted,Synchronized to the upper report library,Completion degree,Certification submission time";
}
HSSFSheet sheet = workbook.createSheet(sheetName);
@@ -879,17 +911,17 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
sheet.addMergedRegion(region1);
CellRangeAddress region6 = new CellRangeAddress(0, 0, 1, 7);
sheet.addMergedRegion(region6);
CellRangeAddress region7 = new CellRangeAddress(0, 0, 8, 17);
CellRangeAddress region7 = new CellRangeAddress(0, 0, 8, 15);
sheet.addMergedRegion(region7);
CellRangeAddress region8 = new CellRangeAddress(0, 0, 18, 27);
CellRangeAddress region8 = new CellRangeAddress(0, 0, 16, 23);
sheet.addMergedRegion(region8);
CellRangeAddress region9 = new CellRangeAddress(0, 0, 28, 34);
CellRangeAddress region9 = new CellRangeAddress(0, 0, 24, 30);
sheet.addMergedRegion(region9);
CellRangeAddress region10 = new CellRangeAddress(0, 0, 35, 41);
CellRangeAddress region10 = new CellRangeAddress(0, 0, 31, 37);
sheet.addMergedRegion(region10);
CellRangeAddress region11 = new CellRangeAddress(0, 0, 42, 50);
CellRangeAddress region11 = new CellRangeAddress(0, 0, 38, 43);
sheet.addMergedRegion(region11);
CellRangeAddress region12 = new CellRangeAddress(0, 0, 51, 56);
CellRangeAddress region12 = new CellRangeAddress(0, 0, 44, 49);
sheet.addMergedRegion(region12);
String[] firstTitleArr = firstTitle.split(",");
@@ -900,7 +932,7 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
CellStyle cellStyleTitle = workbook.createCellStyle();
cellStyleTitle.setAlignment(HorizontalAlignment.CENTER);//垂直居中
cellStyleTitle.setVerticalAlignment(VerticalAlignment.CENTER);//水平居中
for (int i = 0; i <= 56; i++){
for (int i = 0; i <= 49; i++){
sheet.setColumnWidth(i, 4000);
Cell firstRowCell = firstRow.createCell(i);
firstRowCell.setCellStyle(cellStyleTitle);
@@ -910,15 +942,15 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
firstRowCell.setCellValue(firstTitleArr[1]);
}else if(i == 8){
firstRowCell.setCellValue(firstTitleArr[2]);
}else if(i == 18){
}else if(i == 16){
firstRowCell.setCellValue(firstTitleArr[3]);
}else if(i == 28){
}else if(i == 24){
firstRowCell.setCellValue(firstTitleArr[4]);
}else if(i == 35){
}else if(i == 31){
firstRowCell.setCellValue(firstTitleArr[5]);
}else if(i == 42){
}else if(i == 38){
firstRowCell.setCellValue(firstTitleArr[6]);
}else if(i == 51){
}else if(i == 44){
firstRowCell.setCellValue(firstTitleArr[7]);
}
if(i >= 1){
@@ -1024,13 +1056,13 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
dataRow.createCell(11).setCellValue(designCompliance);
dataRow.createCell(12).setCellValue(designNonCompliance);
dataRow.createCell(13).setCellValue(designToBeTracked);
dataRow.createCell(14).setCellValue(designNotInvolved);
dataRow.createCell(15).setCellValue(designTaskTermination);
cell = dataRow.createCell(16);
// dataRow.createCell(14).setCellValue(designNotInvolved);
// dataRow.createCell(15).setCellValue(designTaskTermination);
cell = dataRow.createCell(14);
cell.setCellStyle(style);
cell.setCellType(CellType.NUMERIC);
cell.setCellValue(Double.valueOf(designPercentage.replace("%",""))/100);
dataRow.createCell(17).setCellValue(designDeadlineStr);
dataRow.createCell(15).setCellValue(designDeadlineStr);
Map<String,Object> verifyMap = this.projectLawsInventoryEOService.groupByVerifyStatus(pliEos);
Map<String,Object> verifyMapProjectScheduleExportMap = (Map<String, Object>) verifyMap.get("projectScheduleExportMap");
@@ -1044,19 +1076,19 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
double verifyTaskTermination = (double) verifyMapProjectScheduleExportMap.get("taskTermination");
double verifyCount = (double) verifyMapProjectScheduleExportMap.get("count");
String verifyPercentage = (String) verifyMapProjectScheduleExportMap.get("percentage");
dataRow.createCell(18).setCellValue(verifyNotStart);
dataRow.createCell(19).setCellValue(verifyToBeSubmitted);
dataRow.createCell(20).setCellValue(verifyToBeReviewed);
dataRow.createCell(21).setCellValue(verifyCompliance);
dataRow.createCell(22).setCellValue(verifyNonCompliance);
dataRow.createCell(23).setCellValue(verifyToBeTracked);
dataRow.createCell(24).setCellValue(verifyNotInvolved);
dataRow.createCell(25).setCellValue(verifyTaskTermination);
cell = dataRow.createCell(26);
dataRow.createCell(16).setCellValue(verifyNotStart);
dataRow.createCell(17).setCellValue(verifyToBeSubmitted);
dataRow.createCell(18).setCellValue(verifyToBeReviewed);
dataRow.createCell(19).setCellValue(verifyCompliance);
dataRow.createCell(20).setCellValue(verifyNonCompliance);
dataRow.createCell(21).setCellValue(verifyToBeTracked);
// dataRow.createCell(24).setCellValue(verifyNotInvolved);
// dataRow.createCell(25).setCellValue(verifyTaskTermination);
cell = dataRow.createCell(22);
cell.setCellStyle(style);
cell.setCellType(CellType.NUMERIC);
cell.setCellValue(Double.valueOf(verifyPercentage.replace("%",""))/100);
dataRow.createCell(27).setCellValue(verifyDeadlineStr);
dataRow.createCell(23).setCellValue(verifyDeadlineStr);
List<ProjectCertificationInventoryEO> pciEos = pciEoList.stream().filter(pciEo -> StringUtils.equals(pciEo.getProjectLibraryId(), plbEo.getId())).collect(Collectors.toList());
Map<String,Object> rzRwqrMap = this.projectCertificationInventoryEOService.groupByFGRwqrStatus(pciEos);
@@ -1067,16 +1099,16 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
double rzRqqrAccept = (double) rzRwqrProjectScheduleExportMap.get("accept");
double rzRqqrRefuse = (double) rzRwqrProjectScheduleExportMap.get("refuse");
String rzRqqrPercentage = (String) rzRwqrProjectScheduleExportMap.get("percentage");
dataRow.createCell(28).setCellValue(rzRqqrToBeReleased);
dataRow.createCell(29).setCellValue(rzRqqrToBeVerified);
dataRow.createCell(30).setCellValue(rzRqqrToBeConfirmed);
dataRow.createCell(31).setCellValue(rzRqqrAccept);
dataRow.createCell(32).setCellValue(rzRqqrRefuse);
cell = dataRow.createCell(33);
dataRow.createCell(24).setCellValue(rzRqqrToBeReleased);
dataRow.createCell(25).setCellValue(rzRqqrToBeVerified);
dataRow.createCell(26).setCellValue(rzRqqrToBeConfirmed);
dataRow.createCell(27).setCellValue(rzRqqrAccept);
dataRow.createCell(28).setCellValue(rzRqqrRefuse);
cell = dataRow.createCell(29);
cell.setCellStyle(style);
cell.setCellType(CellType.NUMERIC);
cell.setCellValue(Double.valueOf(rzRqqrPercentage.replace("%",""))/100);
dataRow.createCell(34).setCellValue(legalTaskConfirmationStr);
dataRow.createCell(30).setCellValue(legalTaskConfirmationStr);
Map<String,Object> preHomoMap = this.projectCertificationInventoryEOService.groupByPreHomoStatus(pciEos);
Map<String,Object> preHomoProjectScheduleExportMap = (Map<String, Object>) preHomoMap.get("projectScheduleExportMap");
@@ -1086,16 +1118,16 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
double preHomoAccept = (double) preHomoProjectScheduleExportMap.get("accept");
double preHomoRefuse = (double) preHomoProjectScheduleExportMap.get("refuse");
String preHomoPercentage = (String) preHomoProjectScheduleExportMap.get("percentage");
dataRow.createCell(35).setCellValue(preHomoNotStartCount);
dataRow.createCell(36).setCellValue(preHomoToBeSubmittedCount);
dataRow.createCell(37).setCellValue(preHomoToBeReviewedCount);
dataRow.createCell(38).setCellValue(preHomoAccept);
dataRow.createCell(39).setCellValue(preHomoRefuse);
cell = dataRow.createCell(40);
dataRow.createCell(31).setCellValue(preHomoNotStartCount);
dataRow.createCell(32).setCellValue(preHomoToBeSubmittedCount);
dataRow.createCell(33).setCellValue(preHomoToBeReviewedCount);
dataRow.createCell(34).setCellValue(preHomoAccept);
dataRow.createCell(35).setCellValue(preHomoRefuse);
cell = dataRow.createCell(36);
cell.setCellStyle(style);
cell.setCellType(CellType.NUMERIC);
cell.setCellValue(Double.valueOf(preHomoPercentage.replace("%",""))/100);
dataRow.createCell(41).setCellValue(attestationStartTimeStr);
dataRow.createCell(37).setCellValue(attestationStartTimeStr);
Map<String,Object> certificationProgressMap = this.projectCertificationInventoryEOService.groupByCertificationProgress(pciEos);
Map<String,Object> certificationProgressMapProjectScheduleExportMap = (Map<String, Object>) certificationProgressMap.get("projectScheduleExportMap");
@@ -1108,18 +1140,18 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
double certificationProgressStoredCount = (double) certificationProgressMapProjectScheduleExportMap.get("storedCount");
// String certificationProgressCount = (String) certificationProgressMapProjectScheduleExportMap.get("count");
String certificationProgressPercentage = (String) certificationProgressMapProjectScheduleExportMap.get("percentage");
dataRow.createCell(42).setCellValue(certificationProgressNotStartCount);
dataRow.createCell(43).setCellValue(certificationProgressInProgressCount);
dataRow.createCell(44).setCellValue(certificationProgressTestPassedCount);
dataRow.createCell(45).setCellValue(certificationProgressTestFailedCount);
dataRow.createCell(46).setCellValue(certificationProgressNotSubmitCount);
dataRow.createCell(47).setCellValue(certificationProgressReportSubmitCount);
dataRow.createCell(48).setCellValue(certificationProgressStoredCount);
cell = dataRow.createCell(49);
dataRow.createCell(38).setCellValue(certificationProgressNotStartCount);
dataRow.createCell(39).setCellValue(certificationProgressInProgressCount);
dataRow.createCell(40).setCellValue(certificationProgressTestPassedCount);
dataRow.createCell(41).setCellValue(certificationProgressTestFailedCount);
// dataRow.createCell(46).setCellValue(certificationProgressNotSubmitCount);
// dataRow.createCell(47).setCellValue(certificationProgressReportSubmitCount);
// dataRow.createCell(48).setCellValue(certificationProgressStoredCount);
cell = dataRow.createCell(42);
cell.setCellStyle(style);
cell.setCellType(CellType.NUMERIC);
cell.setCellValue(Double.valueOf(certificationProgressPercentage.replace("%",""))/100);
dataRow.createCell(50).setCellValue(certificationSubmissionStr);
dataRow.createCell(43).setCellValue(certificationSubmissionStr);
List<ParamsManifestEO> pmEos = pmEoList.stream().filter(pmEo -> {
@@ -1164,15 +1196,15 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
double parameterCollectingPercentage = (completionCount / parameterCollectingCount) * 100;
parameterCollectingPercentageStr = (parameterCollectingPercentage != 0 && (completionCount !=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);
cell = dataRow.createCell(55);
dataRow.createCell(44).setCellValue(notStartAmount);
dataRow.createCell(45).setCellValue(collectingAmount);
dataRow.createCell(46).setCellValue(submitAmount);
dataRow.createCell(47).setCellValue(syncReporAmount);
cell = dataRow.createCell(48);
cell.setCellStyle(style);
cell.setCellType(CellType.NUMERIC);
cell.setCellValue(Double.valueOf(parameterCollectingPercentageStr)/100);
dataRow.createCell(56).setCellValue(certificationSubmissionStr);
dataRow.createCell(49).setCellValue(certificationSubmissionStr);
dataIndex ++;
log.info("11111处理"+ dataIndex +"个项目消耗时间:" + (System.currentTimeMillis() - startTime));