下载word报告、变更接口完善。

This commit is contained in:
wangzhijiang
2022-05-24 19:04:53 +08:00
parent 121d636ca1
commit 9dd4d7d43b
2 changed files with 136 additions and 73 deletions
@@ -89,6 +89,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.mock.web.MockMultipartFile; import org.springframework.mock.web.MockMultipartFile;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream; import javax.servlet.ServletOutputStream;
@@ -183,6 +184,9 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
@Autowired @Autowired
private IProcessHistoryEOService processHistoryEOService; private IProcessHistoryEOService processHistoryEOService;
@Autowired
private IConditionAssessmentEOService conditionAssessmentEOService;
/** /**
* 保存 * 保存
* *
@@ -2400,6 +2404,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
} }
@Override @Override
@Transactional
public Result<?> change(Map<String, Object> parmas) { public Result<?> change(Map<String, Object> parmas) {
List<String> idList = Arrays.asList(parmas.get("ids").toString().split(",")); List<String> idList = Arrays.asList(parmas.get("ids").toString().split(","));
if(CollectionUtils.isNotEmpty(idList)){ if(CollectionUtils.isNotEmpty(idList)){
@@ -2411,7 +2416,29 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
//清单、任务确认初始化。 //清单、任务确认初始化。
this.baseMapper.update(projectLawsInventoryEO,updateLawsInventoryWrapper); this.baseMapper.update(projectLawsInventoryEO,updateLawsInventoryWrapper);
//项目任务清单数据初始化。 QueryWrapper<ProjectTaskInventoryEO> taskInventoryQueryWrapper = new QueryWrapper<>();
taskInventoryQueryWrapper.lambda().in(ProjectTaskInventoryEO::getProjectLawsInventoryId,idList);
List<ProjectTaskInventoryEO> projectTaskInventoryList = this.projectTaskInventoryEOService.getBaseMapper().selectList(taskInventoryQueryWrapper);
//删除流程历史
if(CollectionUtils.isNotEmpty(projectTaskInventoryList)){
List<String> actiProcInstIdList = new ArrayList<>();
List<String> verifyPIdList = projectTaskInventoryList.stream().map(ProjectTaskInventoryEO::getVerifyPId).distinct().collect(Collectors.toList());
List<String> prehomoPIdList = projectTaskInventoryList.stream().map(ProjectTaskInventoryEO::getPrehomoPId).distinct().collect(Collectors.toList());
List<String> designPIdList = projectTaskInventoryList.stream().map(ProjectTaskInventoryEO::getDesignPId).distinct().collect(Collectors.toList());
actiProcInstIdList.addAll(verifyPIdList);
actiProcInstIdList.addAll(prehomoPIdList);
actiProcInstIdList.addAll(designPIdList);
actiProcInstIdList = actiProcInstIdList.stream().distinct().collect(Collectors.toList());;
if(CollectionUtils.isNotEmpty(actiProcInstIdList)){
QueryWrapper<ProcessHistoryEO> processHistoryDeleteWrapper = new QueryWrapper<>();
processHistoryDeleteWrapper.lambda().in(ProcessHistoryEO::getActiProcInstId,actiProcInstIdList);
processHistoryEOService.remove(processHistoryDeleteWrapper);
}
}
List<ProjectTaskInventoryEO> projectTaskInventoryEOList = new ArrayList<>(); List<ProjectTaskInventoryEO> projectTaskInventoryEOList = new ArrayList<>();
idList.forEach(id -> { idList.forEach(id -> {
ProjectTaskInventoryEO projectTaskInventoryEO = new ProjectTaskInventoryEO(); ProjectTaskInventoryEO projectTaskInventoryEO = new ProjectTaskInventoryEO();
@@ -2420,6 +2447,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
projectTaskInventoryEO.setProjectLawsInventoryId(id); projectTaskInventoryEO.setProjectLawsInventoryId(id);
projectTaskInventoryEOList.add(projectTaskInventoryEO); projectTaskInventoryEOList.add(projectTaskInventoryEO);
}); });
//项目任务清单数据初始化。
this.projectTaskInventoryEOService.deleteByProjectLawsInventoryIds(idList); this.projectTaskInventoryEOService.deleteByProjectLawsInventoryIds(idList);
this.projectTaskInventoryEOService.saveBatch(projectTaskInventoryEOList); this.projectTaskInventoryEOService.saveBatch(projectTaskInventoryEOList);
@@ -2442,6 +2470,10 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
deleteTaskInventoryFeedbackWrapper.lambda().in(ProjectTaskInventoryFeedbackEO::getProjectTaskInventoryId,idList); deleteTaskInventoryFeedbackWrapper.lambda().in(ProjectTaskInventoryFeedbackEO::getProjectTaskInventoryId,idList);
this.projectTaskInventoryFeedbackEOService.remove(deleteTaskInventoryFeedbackWrapper); this.projectTaskInventoryFeedbackEOService.remove(deleteTaskInventoryFeedbackWrapper);
//删除当前项目状态表
QueryWrapper<ConditionAssessmentEO> deleteConditionAssessmentWrapper = new QueryWrapper<>();
deleteConditionAssessmentWrapper.lambda().in(ConditionAssessmentEO::getProjectLawsInventoryId,idList);
this.conditionAssessmentEOService.remove(deleteConditionAssessmentWrapper);
} }
return Result.OK("变更成功!"); return Result.OK("变更成功!");
} }
@@ -4273,7 +4305,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
if(templateFile != null){ if(templateFile != null){
try { try {
String uuid = UUID.randomUUID().toString(); String uuid = UUID.randomUUID().toString();
// final String TEMP_FILE_PATH = System.getProperty("os.name").toLowerCase().contains("windows") ? System.getProperty("user.dir") + File.separator : "/home/admin/tempfile/"; //final String TEMP_FILE_PATH = System.getProperty("os.name").toLowerCase().contains("windows") ? System.getProperty("user.dir") + File.separator : "/home/admin/tempfile/";
final String TEMP_FILE_PATH = exportPdfTempPath + "exportFile/"; final String TEMP_FILE_PATH = exportPdfTempPath + "exportFile/";
File pathFile = new File(TEMP_FILE_PATH); File pathFile = new File(TEMP_FILE_PATH);
@@ -4287,18 +4319,15 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
//验证符合性流程实例id //验证符合性流程实例id
String verifyPId = projectTaskInventoryEO.getVerifyPId(); String verifyPId = projectTaskInventoryEO.getVerifyPId();
if(StringUtils.isNotEmpty(verifyPId)){ //Compliance Attachments 验证符合性流程里最后通过审批的“工程确认”中的附件
//Compliance Attachments 验证符合性流程里最后通过审批的“工程确认”中的附件 setTableContent(1,wordMLPackage,params,verifyPId);
setTableContent(1,wordMLPackage,params,verifyPId); //Validation Compliance Check Approvals(验证符合性确认的审批历史数据)
//Validation Compliance Check Approvals(验证符合性确认的审批历史数据) setTableContent(4,wordMLPackage,params,verifyPId);
setTableContent(4,wordMLPackage,params,verifyPId);
}
//设计符合性流程实例id //设计符合性流程实例id
String designPId = projectTaskInventoryEO.getDesignPId(); String designPId = projectTaskInventoryEO.getDesignPId();
if(StringUtils.isNotEmpty(designPId)){ //Design Compliance Check Approvals (设计符合性确认的审批历史数据)
//Design Compliance Check Approvals (设计符合性确认的审批历史数据) setTableContent(3,wordMLPackage,params,designPId);
setTableContent(3,wordMLPackage,params,designPId);
}
WordUtil.replaceVariable(wordMLPackage, dataMap); WordUtil.replaceVariable(wordMLPackage, dataMap);
Docx4J.save(wordMLPackage, os); Docx4J.save(wordMLPackage, os);
@@ -4370,54 +4399,70 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
List<Map<String , Object>> dataList = new ArrayList<>(); List<Map<String , Object>> dataList = new ArrayList<>();
// 设置数据 // 设置数据
if(tableIndex == 1){ if(StringUtils.isNotEmpty(pId)){
QueryWrapper<ProjectTaskInventoryFeedbackEO> taskFeedbackQueryWrapper = new QueryWrapper<>(); if(tableIndex == 1){
taskFeedbackQueryWrapper.lambda().eq(ProjectTaskInventoryFeedbackEO::getActiProcInstId,pId); QueryWrapper<ProjectTaskInventoryFeedbackEO> taskFeedbackQueryWrapper = new QueryWrapper<>();
List<ProjectTaskInventoryFeedbackEO> projectTaskInventoryFeedbackEOList = projectTaskInventoryFeedbackEOService.getBaseMapper().selectList(taskFeedbackQueryWrapper); taskFeedbackQueryWrapper.lambda().eq(ProjectTaskInventoryFeedbackEO::getActiProcInstId,pId);
if(CollectionUtils.isNotEmpty(projectTaskInventoryFeedbackEOList)){ List<ProjectTaskInventoryFeedbackEO> projectTaskInventoryFeedbackEOList = projectTaskInventoryFeedbackEOService.getBaseMapper().selectList(taskFeedbackQueryWrapper);
List<String> fileIdList = projectTaskInventoryFeedbackEOList.stream().map(ProjectTaskInventoryFeedbackEO::getFileId).distinct().collect(Collectors.toList()); if(CollectionUtils.isNotEmpty(projectTaskInventoryFeedbackEOList)){
String fileId = StringUtils.join(fileIdList,","); List<String> fileIdList = projectTaskInventoryFeedbackEOList.stream().map(ProjectTaskInventoryFeedbackEO::getFileId).distinct().collect(Collectors.toList());
List<OSSFile> fileList = iOSSFileService.getFileInfos(fileId); String fileId = StringUtils.join(fileIdList,",");
if(CollectionUtils.isNotEmpty(fileList)){ List<OSSFile> fileList = iOSSFileService.getFileInfos(fileId);
fileList.forEach(file -> { if(CollectionUtils.isNotEmpty(fileList)){
Map<String,Object> fileMap = new HashMap<>(); fileList.forEach(file -> {
fileMap.put("item.fileName", StringUtils.isNotEmpty(file.getFileName()) ? file.getFileName() : ""); Map<String,Object> fileMap = new HashMap<>();
fileMap.put("item.filePath", StringUtils.isNotEmpty(file.getUrl()) ? file.getUrl() : ""); fileMap.put("item.fileName", StringUtils.isNotEmpty(file.getFileName()) ? file.getFileName() : "");
dataList.add(fileMap); fileMap.put("item.filePath", StringUtils.isNotEmpty(file.getUrl()) ? file.getUrl() : "");
/*fileMap.put("item.fileName", file.getFileName());
fileMap.put("item.filePath", file.getUrl());*/
dataList.add(fileMap);
});
}
}
}else if(tableIndex == 3){
params.put("actiProcInstId",pId);
List<ProcessHistoryEO> processHistoryEOList = processHistoryEOService.queryList(params);
if(CollectionUtils.isNotEmpty(processHistoryEOList)){
processHistoryEOList.forEach(processHistory -> {
String createTime = sdf.format(processHistory.getCreateTime());
Map<String,Object> designMap = new HashMap<>();
designMap.put("design.result", StringUtils.isNotEmpty(processHistory.getReviewResult()) ? processHistory.getReviewResult() : "");
designMap.put("design.opinion", StringUtils.isNotEmpty(processHistory.getApprovalOpinion()) ? processHistory.getApprovalOpinion() : "");
designMap.put("design.node", StringUtils.isNotEmpty(processHistory.getName()) ? processHistory.getName() : "");
designMap.put("design.operator", StringUtils.isNotEmpty(processHistory.getAssignee()) ? processHistory.getAssignee() :"");
designMap.put("design.dateTime", StringUtils.isNotEmpty(createTime) ? createTime : "");
/*designMap.put("design.result", processHistory.getReviewResult());
designMap.put("design.opinion", processHistory.getApprovalOpinion());
designMap.put("design.node", processHistory.getName());
designMap.put("design.operator", processHistory.getAssignee());
designMap.put("design.dateTime", createTime);*/
dataList.add(designMap);
}); });
} }
} }else if(tableIndex == 4){
}else if(tableIndex == 3){ params.put("actiProcInstId",pId);
params.put("actiProcInstId",pId); List<ProcessHistoryEO> processHistoryEOList = processHistoryEOService.queryList(params);
List<ProcessHistoryEO> processHistoryEOList = processHistoryEOService.queryList(params); if(CollectionUtils.isNotEmpty(processHistoryEOList)){
if(CollectionUtils.isNotEmpty(processHistoryEOList)){ processHistoryEOList.forEach(processHistory -> {
processHistoryEOList.forEach(processHistory -> { String createTime = sdf.format(processHistory.getCreateTime());
String createTime = sdf.format(processHistory.getCreateTime());
Map<String,Object> designMap = new HashMap<>(); Map<String,Object> verifyMap = new HashMap<>();
designMap.put("design.result", StringUtils.isNotEmpty(processHistory.getReviewResult()) ? processHistory.getReviewResult() : ""); verifyMap.put("verify.result", StringUtils.isNotEmpty(processHistory.getReviewResult()) ? processHistory.getReviewResult() : "");
designMap.put("design.opinion", StringUtils.isNotEmpty(processHistory.getApprovalOpinion()) ? processHistory.getApprovalOpinion() : ""); verifyMap.put("verify.opinion", StringUtils.isNotEmpty(processHistory.getApprovalOpinion()) ? processHistory.getApprovalOpinion() : "");
designMap.put("design.node", StringUtils.isNotEmpty(processHistory.getName()) ? processHistory.getName() : ""); verifyMap.put("verify.node", StringUtils.isNotEmpty(processHistory.getName()) ? processHistory.getName() : "");
designMap.put("design.operator", StringUtils.isNotEmpty(processHistory.getAssignee()) ? processHistory.getAssignee() :""); verifyMap.put("verify.operator", StringUtils.isNotEmpty(processHistory.getAssignee()) ? processHistory.getAssignee() :"");
designMap.put("design.dateTime", StringUtils.isNotEmpty(createTime) ? createTime : ""); verifyMap.put("verify.dateTime", StringUtils.isNotEmpty(createTime) ? createTime : "");
dataList.add(designMap);
});
}
}else if(tableIndex == 4){
params.put("actiProcInstId",pId);
List<ProcessHistoryEO> processHistoryEOList = processHistoryEOService.queryList(params);
if(CollectionUtils.isNotEmpty(processHistoryEOList)){
processHistoryEOList.forEach(processHistory -> {
String createTime = sdf.format(processHistory.getCreateTime());
Map<String,Object> verifyMap = new HashMap<>(); /*verifyMap.put("verify.result", processHistory.getReviewResult());
verifyMap.put("verify.result", StringUtils.isNotEmpty(processHistory.getReviewResult()) ? processHistory.getReviewResult() : ""); verifyMap.put("verify.opinion", processHistory.getApprovalOpinion());
verifyMap.put("verify.opinion", StringUtils.isNotEmpty(processHistory.getApprovalOpinion()) ? processHistory.getApprovalOpinion() : ""); verifyMap.put("verify.node", processHistory.getName());
verifyMap.put("verify.node", StringUtils.isNotEmpty(processHistory.getName()) ? processHistory.getName() : ""); verifyMap.put("verify.operator", processHistory.getAssignee());
verifyMap.put("verify.operator", StringUtils.isNotEmpty(processHistory.getAssignee()) ? processHistory.getAssignee() :""); verifyMap.put("verify.dateTime", createTime);*/
verifyMap.put("verify.dateTime", StringUtils.isNotEmpty(createTime) ? createTime : ""); dataList.add(verifyMap);
dataList.add(verifyMap); });
}); }
} }
} }
@@ -258,6 +258,16 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
//认证进度 //认证进度
Map<String,Object> certificationProgressMap = new HashMap<>(); Map<String,Object> certificationProgressMap = new HashMap<>();
//清单确认统计
List<Map<String,Object>> listingToConfirmMapList = this.projectLawsInventoryEOMapper.getlistingToConfirmStatistics(id);
listingToConfirmMap.put("listingToConfirmMapList",listingToConfirmMapList);
result.put("listingToConfirmMap",listingToConfirmMap);
//任务确认统计
List<Map<String,Object>> taskToConfirmMapList = this.projectLawsInventoryEOMapper.getTaskToConfirmStatistics(id);
taskToConfirmMap.put("taskToConfirmMapList",taskToConfirmMapList);
result.put("taskToConfirmMap",taskToConfirmMap);
QueryWrapper<ProjectLawsInventoryEO> lawsInventoryEOQueryWrapper = new QueryWrapper<>(); QueryWrapper<ProjectLawsInventoryEO> lawsInventoryEOQueryWrapper = new QueryWrapper<>();
lawsInventoryEOQueryWrapper.lambda().eq(ProjectLawsInventoryEO::getProjectLibraryId,id); lawsInventoryEOQueryWrapper.lambda().eq(ProjectLawsInventoryEO::getProjectLibraryId,id);
lawsInventoryEOQueryWrapper.lambda().eq(ProjectLawsInventoryEO::getInventoryAffirmStatus, InventoryAffirmStatusEnum.ACCEPTED.getValue()); lawsInventoryEOQueryWrapper.lambda().eq(ProjectLawsInventoryEO::getInventoryAffirmStatus, InventoryAffirmStatusEnum.ACCEPTED.getValue());
@@ -292,16 +302,6 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
currentProjectStatusMap.put("currentProjectStatusTotal",currentProjectStatusTotal); currentProjectStatusMap.put("currentProjectStatusTotal",currentProjectStatusTotal);
result.put("currentProjectStatusMap",currentProjectStatusMap); result.put("currentProjectStatusMap",currentProjectStatusMap);
//清单确认统计
List<Map<String,Object>> listingToConfirmMapList = this.projectLawsInventoryEOMapper.getlistingToConfirmStatistics(id);
listingToConfirmMap.put("listingToConfirmMapList",listingToConfirmMapList);
result.put("listingToConfirmMap",listingToConfirmMap);
//任务确认统计
List<Map<String,Object>> taskToConfirmMapList = this.projectLawsInventoryEOMapper.getTaskToConfirmStatistics(id);
taskToConfirmMap.put("taskToConfirmMapList",taskToConfirmMapList);
result.put("taskToConfirmMap",taskToConfirmMap);
//设计符合性 //设计符合性
List<Map<String,Object>> designComplianceMapList = this.projectTaskInventoryEOMapper.getDesignComplianceStatistice(projectLawsInventoryIdList); List<Map<String,Object>> designComplianceMapList = this.projectTaskInventoryEOMapper.getDesignComplianceStatistice(projectLawsInventoryIdList);
designComplianceMap.put("designComplianceMapList",designComplianceMapList); designComplianceMap.put("designComplianceMapList",designComplianceMapList);
@@ -523,16 +523,34 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
* @param cut * @param cut
*/ */
public void disposeData(List<Map<String,Object>> datas,String cut){ public void disposeData(List<Map<String,Object>> datas,String cut){
List<SysDictItem> dictItemList = sysDictItemServiceImpl.selectItemsByDictCode("duty_territory"); List<SysDictItem> dutyTerritoryList = sysDictItemServiceImpl.selectItemsByDictCode("duty_territory");
if(CollectionUtils.isNotEmpty(datas)){ if(CollectionUtils.isNotEmpty(datas)){
for (Map<String, Object> data : datas) { for (Map<String, Object> data : datas) {
List<SysDictItem> dutyTerritory = dictItemList.stream().filter(dict -> StringUtils.equals(dict.getItemValue(), data.get("dutyTerritory").toString())).collect(Collectors.toList()); if(data.get("dutyTerritory") != null){
if(CollectionUtils.isNotEmpty(dutyTerritory)){ String[] dutyTerritorieArr = data.get("dutyTerritory").toString().split(",");
if(StringUtils.equals(cut,CutEnum.CN.getValue())){ String dutyTerritories = "";
data.put("dutyTerritory",dutyTerritory.get(0).getItemText()); for (String dutyTerritorie : dutyTerritorieArr) {
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ List<String> collect = new ArrayList<>();
data.put("dutyTerritory",dutyTerritory.get(0).getEnName()); if(StringUtils.equals(cut,CutEnum.CN.getValue())){
collect = dutyTerritoryList.stream()
.filter(e -> StringUtils.equals(dutyTerritorie, e.getItemValue()))
.map(SysDictItem::getItemText)
.collect(Collectors.toList());
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
collect = dutyTerritoryList.stream()
.filter(e -> StringUtils.equals(dutyTerritorie, e.getItemValue()))
.map(SysDictItem::getEnName)
.collect(Collectors.toList());
}
if(CollectionUtils.isNotEmpty(collect)){
dutyTerritories += collect.get(0) + ",";
}
} }
if(StringUtils.isNotEmpty(dutyTerritories)){
dutyTerritories = dutyTerritories.substring(0,dutyTerritories.length()-1);
}
data.put("dutyTerritory",dutyTerritories);
} }
} }
} }