下载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,6 +4399,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
List<Map<String , Object>> dataList = new ArrayList<>(); List<Map<String , Object>> dataList = new ArrayList<>();
// 设置数据 // 设置数据
if(StringUtils.isNotEmpty(pId)){
if(tableIndex == 1){ if(tableIndex == 1){
QueryWrapper<ProjectTaskInventoryFeedbackEO> taskFeedbackQueryWrapper = new QueryWrapper<>(); QueryWrapper<ProjectTaskInventoryFeedbackEO> taskFeedbackQueryWrapper = new QueryWrapper<>();
taskFeedbackQueryWrapper.lambda().eq(ProjectTaskInventoryFeedbackEO::getActiProcInstId,pId); taskFeedbackQueryWrapper.lambda().eq(ProjectTaskInventoryFeedbackEO::getActiProcInstId,pId);
@@ -4383,6 +4413,8 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
Map<String,Object> fileMap = new HashMap<>(); Map<String,Object> fileMap = new HashMap<>();
fileMap.put("item.fileName", StringUtils.isNotEmpty(file.getFileName()) ? file.getFileName() : ""); fileMap.put("item.fileName", StringUtils.isNotEmpty(file.getFileName()) ? file.getFileName() : "");
fileMap.put("item.filePath", StringUtils.isNotEmpty(file.getUrl()) ? file.getUrl() : ""); 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); dataList.add(fileMap);
}); });
} }
@@ -4400,6 +4432,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
designMap.put("design.node", StringUtils.isNotEmpty(processHistory.getName()) ? processHistory.getName() : ""); designMap.put("design.node", StringUtils.isNotEmpty(processHistory.getName()) ? processHistory.getName() : "");
designMap.put("design.operator", StringUtils.isNotEmpty(processHistory.getAssignee()) ? processHistory.getAssignee() :""); designMap.put("design.operator", StringUtils.isNotEmpty(processHistory.getAssignee()) ? processHistory.getAssignee() :"");
designMap.put("design.dateTime", StringUtils.isNotEmpty(createTime) ? createTime : ""); 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); dataList.add(designMap);
}); });
} }
@@ -4416,10 +4454,17 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
verifyMap.put("verify.node", StringUtils.isNotEmpty(processHistory.getName()) ? processHistory.getName() : ""); verifyMap.put("verify.node", StringUtils.isNotEmpty(processHistory.getName()) ? processHistory.getName() : "");
verifyMap.put("verify.operator", StringUtils.isNotEmpty(processHistory.getAssignee()) ? processHistory.getAssignee() :""); verifyMap.put("verify.operator", StringUtils.isNotEmpty(processHistory.getAssignee()) ? processHistory.getAssignee() :"");
verifyMap.put("verify.dateTime", StringUtils.isNotEmpty(createTime) ? createTime : ""); verifyMap.put("verify.dateTime", StringUtils.isNotEmpty(createTime) ? createTime : "");
/*verifyMap.put("verify.result", processHistory.getReviewResult());
verifyMap.put("verify.opinion", processHistory.getApprovalOpinion());
verifyMap.put("verify.node", processHistory.getName());
verifyMap.put("verify.operator", processHistory.getAssignee());
verifyMap.put("verify.dateTime", createTime);*/
dataList.add(verifyMap); dataList.add(verifyMap);
}); });
} }
} }
}
//构造循环列表的数据 //构造循环列表的数据
ClassFinder find = new ClassFinder(Tbl.class); ClassFinder find = new ClassFinder(Tbl.class);
@@ -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(",");
String dutyTerritories = "";
for (String dutyTerritorie : dutyTerritorieArr) {
List<String> collect = new ArrayList<>();
if(StringUtils.equals(cut,CutEnum.CN.getValue())){ if(StringUtils.equals(cut,CutEnum.CN.getValue())){
data.put("dutyTerritory",dutyTerritory.get(0).getItemText()); collect = dutyTerritoryList.stream()
.filter(e -> StringUtils.equals(dutyTerritorie, e.getItemValue()))
.map(SysDictItem::getItemText)
.collect(Collectors.toList());
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
data.put("dutyTerritory",dutyTerritory.get(0).getEnName()); 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);
} }
} }
} }