下载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.mock.web.MockMultipartFile;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream;
@@ -183,6 +184,9 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
@Autowired
private IProcessHistoryEOService processHistoryEOService;
@Autowired
private IConditionAssessmentEOService conditionAssessmentEOService;
/**
* 保存
*
@@ -2400,6 +2404,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
}
@Override
@Transactional
public Result<?> change(Map<String, Object> parmas) {
List<String> idList = Arrays.asList(parmas.get("ids").toString().split(","));
if(CollectionUtils.isNotEmpty(idList)){
@@ -2411,7 +2416,29 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
//清单、任务确认初始化。
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<>();
idList.forEach(id -> {
ProjectTaskInventoryEO projectTaskInventoryEO = new ProjectTaskInventoryEO();
@@ -2420,6 +2447,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
projectTaskInventoryEO.setProjectLawsInventoryId(id);
projectTaskInventoryEOList.add(projectTaskInventoryEO);
});
//项目任务清单数据初始化。
this.projectTaskInventoryEOService.deleteByProjectLawsInventoryIds(idList);
this.projectTaskInventoryEOService.saveBatch(projectTaskInventoryEOList);
@@ -2442,6 +2470,10 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
deleteTaskInventoryFeedbackWrapper.lambda().in(ProjectTaskInventoryFeedbackEO::getProjectTaskInventoryId,idList);
this.projectTaskInventoryFeedbackEOService.remove(deleteTaskInventoryFeedbackWrapper);
//删除当前项目状态表
QueryWrapper<ConditionAssessmentEO> deleteConditionAssessmentWrapper = new QueryWrapper<>();
deleteConditionAssessmentWrapper.lambda().in(ConditionAssessmentEO::getProjectLawsInventoryId,idList);
this.conditionAssessmentEOService.remove(deleteConditionAssessmentWrapper);
}
return Result.OK("变更成功!");
}
@@ -4273,7 +4305,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
if(templateFile != null){
try {
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/";
File pathFile = new File(TEMP_FILE_PATH);
@@ -4287,18 +4319,15 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
//验证符合性流程实例id
String verifyPId = projectTaskInventoryEO.getVerifyPId();
if(StringUtils.isNotEmpty(verifyPId)){
//Compliance Attachments 验证符合性流程里最后通过审批的“工程确认”中的附件
setTableContent(1,wordMLPackage,params,verifyPId);
//Validation Compliance Check Approvals(验证符合性确认的审批历史数据)
setTableContent(4,wordMLPackage,params,verifyPId);
}
//Compliance Attachments 验证符合性流程里最后通过审批的“工程确认”中的附件
setTableContent(1,wordMLPackage,params,verifyPId);
//Validation Compliance Check Approvals(验证符合性确认的审批历史数据)
setTableContent(4,wordMLPackage,params,verifyPId);
//设计符合性流程实例id
String designPId = projectTaskInventoryEO.getDesignPId();
if(StringUtils.isNotEmpty(designPId)){
//Design Compliance Check Approvals (设计符合性确认的审批历史数据)
setTableContent(3,wordMLPackage,params,designPId);
}
//Design Compliance Check Approvals (设计符合性确认的审批历史数据)
setTableContent(3,wordMLPackage,params,designPId);
WordUtil.replaceVariable(wordMLPackage, dataMap);
Docx4J.save(wordMLPackage, os);
@@ -4370,54 +4399,70 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
List<Map<String , Object>> dataList = new ArrayList<>();
// 设置数据
if(tableIndex == 1){
QueryWrapper<ProjectTaskInventoryFeedbackEO> taskFeedbackQueryWrapper = new QueryWrapper<>();
taskFeedbackQueryWrapper.lambda().eq(ProjectTaskInventoryFeedbackEO::getActiProcInstId,pId);
List<ProjectTaskInventoryFeedbackEO> projectTaskInventoryFeedbackEOList = projectTaskInventoryFeedbackEOService.getBaseMapper().selectList(taskFeedbackQueryWrapper);
if(CollectionUtils.isNotEmpty(projectTaskInventoryFeedbackEOList)){
List<String> fileIdList = projectTaskInventoryFeedbackEOList.stream().map(ProjectTaskInventoryFeedbackEO::getFileId).distinct().collect(Collectors.toList());
String fileId = StringUtils.join(fileIdList,",");
List<OSSFile> fileList = iOSSFileService.getFileInfos(fileId);
if(CollectionUtils.isNotEmpty(fileList)){
fileList.forEach(file -> {
Map<String,Object> fileMap = new HashMap<>();
fileMap.put("item.fileName", StringUtils.isNotEmpty(file.getFileName()) ? file.getFileName() : "");
fileMap.put("item.filePath", StringUtils.isNotEmpty(file.getUrl()) ? file.getUrl() : "");
dataList.add(fileMap);
if(StringUtils.isNotEmpty(pId)){
if(tableIndex == 1){
QueryWrapper<ProjectTaskInventoryFeedbackEO> taskFeedbackQueryWrapper = new QueryWrapper<>();
taskFeedbackQueryWrapper.lambda().eq(ProjectTaskInventoryFeedbackEO::getActiProcInstId,pId);
List<ProjectTaskInventoryFeedbackEO> projectTaskInventoryFeedbackEOList = projectTaskInventoryFeedbackEOService.getBaseMapper().selectList(taskFeedbackQueryWrapper);
if(CollectionUtils.isNotEmpty(projectTaskInventoryFeedbackEOList)){
List<String> fileIdList = projectTaskInventoryFeedbackEOList.stream().map(ProjectTaskInventoryFeedbackEO::getFileId).distinct().collect(Collectors.toList());
String fileId = StringUtils.join(fileIdList,",");
List<OSSFile> fileList = iOSSFileService.getFileInfos(fileId);
if(CollectionUtils.isNotEmpty(fileList)){
fileList.forEach(file -> {
Map<String,Object> fileMap = new HashMap<>();
fileMap.put("item.fileName", StringUtils.isNotEmpty(file.getFileName()) ? file.getFileName() : "");
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 == 3){
params.put("actiProcInstId",pId);
List<ProcessHistoryEO> processHistoryEOList = processHistoryEOService.queryList(params);
if(CollectionUtils.isNotEmpty(processHistoryEOList)){
processHistoryEOList.forEach(processHistory -> {
String createTime = sdf.format(processHistory.getCreateTime());
}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> 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 : "");
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", StringUtils.isNotEmpty(processHistory.getReviewResult()) ? processHistory.getReviewResult() : "");
verifyMap.put("verify.opinion", StringUtils.isNotEmpty(processHistory.getApprovalOpinion()) ? processHistory.getApprovalOpinion() : "");
verifyMap.put("verify.node", StringUtils.isNotEmpty(processHistory.getName()) ? processHistory.getName() : "");
verifyMap.put("verify.operator", StringUtils.isNotEmpty(processHistory.getAssignee()) ? processHistory.getAssignee() :"");
verifyMap.put("verify.dateTime", StringUtils.isNotEmpty(createTime) ? createTime : "");
Map<String,Object> verifyMap = new HashMap<>();
verifyMap.put("verify.result", StringUtils.isNotEmpty(processHistory.getReviewResult()) ? processHistory.getReviewResult() : "");
verifyMap.put("verify.opinion", StringUtils.isNotEmpty(processHistory.getApprovalOpinion()) ? processHistory.getApprovalOpinion() : "");
verifyMap.put("verify.node", StringUtils.isNotEmpty(processHistory.getName()) ? processHistory.getName() : "");
verifyMap.put("verify.operator", StringUtils.isNotEmpty(processHistory.getAssignee()) ? processHistory.getAssignee() :"");
verifyMap.put("verify.dateTime", StringUtils.isNotEmpty(createTime) ? createTime : "");
dataList.add(verifyMap);
});
/*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);
});
}
}
}
@@ -258,6 +258,16 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
//认证进度
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<>();
lawsInventoryEOQueryWrapper.lambda().eq(ProjectLawsInventoryEO::getProjectLibraryId,id);
lawsInventoryEOQueryWrapper.lambda().eq(ProjectLawsInventoryEO::getInventoryAffirmStatus, InventoryAffirmStatusEnum.ACCEPTED.getValue());
@@ -292,16 +302,6 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
currentProjectStatusMap.put("currentProjectStatusTotal",currentProjectStatusTotal);
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);
designComplianceMap.put("designComplianceMapList",designComplianceMapList);
@@ -523,16 +523,34 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
* @param 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)){
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(CollectionUtils.isNotEmpty(dutyTerritory)){
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
data.put("dutyTerritory",dutyTerritory.get(0).getItemText());
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
data.put("dutyTerritory",dutyTerritory.get(0).getEnName());
if(data.get("dutyTerritory") != null){
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())){
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);
}
}
}