fix(企标稽查流程): 导入

This commit is contained in:
yjz
2024-01-03 09:59:09 +08:00
parent 9ef7a4b949
commit 404e0b057b
5 changed files with 90 additions and 12 deletions
@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.modules.laws.documenttool.entity.BaseEntity; import com.jero.modules.laws.documenttool.entity.BaseEntity;
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectContent;
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectRectifyPlan;
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectReport;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@@ -13,6 +16,7 @@ import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
@@ -46,6 +50,18 @@ public class ProcessEsInspect extends BaseEntity {
@ApiModelProperty(value = "实际稽查人") @ApiModelProperty(value = "实际稽查人")
private java.lang.String actualInspectUser; private java.lang.String actualInspectUser;
/**稽查内容*/
@ApiModelProperty(value = "稽查内容")
@TableField(exist = false)
private List<EnterpriseStandardInspectContent> enterpriseStandardInspectContentList;
/**稽查报告*/
@ApiModelProperty(value = "稽查报告")
@TableField(exist = false)
private List<EnterpriseStandardInspectReport> enterpriseStandardInspectReportList;
/**整改计划*/
@ApiModelProperty(value = "整改计划")
@TableField(exist = false)
private List<EnterpriseStandardInspectRectifyPlan> enterpriseStandardInspectRectifyPlanList;
/**ids 添加用*/ /**ids 添加用*/
@ApiModelProperty(value = "ids 添加用") @ApiModelProperty(value = "ids 添加用")
@TableField(exist = false) @TableField(exist = false)
@@ -3,6 +3,7 @@ package com.jero.modules.activiti.process.esinspect.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser; import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.SnowflakeUtils; import com.jero.common.util.SnowflakeUtils;
import com.jero.modules.activiti.entity.ProcessAll; import com.jero.modules.activiti.entity.ProcessAll;
@@ -167,10 +168,68 @@ public class EsInspectFlowServiceImpl implements IEsInspectFlowService {
v.setProjectId(projectId); v.setProjectId(projectId);
return v; return v;
}).collect(Collectors.toList()).forEach(v -> log.info(v.toString())); }).collect(Collectors.toList()).forEach(v -> log.info(v.toString()));
// 重复性校验
duplicateCheck(processEsInspectList);
processEsInspectService.saveOrUpdateBatch(processEsInspectList);
// 处理稽查内容 for (ProcessEsInspect processEsInspect : processEsInspectList) {
if (EsInspectCommon.PROCESS_NODE_1.equals(processAll.getNodeId())){ // 处理稽查内容
if (EsInspectCommon.PROCESS_NODE_1.equals(processAll.getNodeId())){
// 清除旧稽查内容
enterpriseStandardInspectContentService.remove(
new LambdaQueryWrapper<EnterpriseStandardInspectContent>()
.eq(EnterpriseStandardInspectContent::getProcessEsInspectId, processEsInspect.getId()));
// 添加新稽查内容
List<EnterpriseStandardInspectContent> enterpriseStandardInspectContentList = processEsInspect.getEnterpriseStandardInspectContentList();
for (EnterpriseStandardInspectContent enterpriseStandardInspectContent : enterpriseStandardInspectContentList) {
if (StringUtils.isBlank(enterpriseStandardInspectContent.getId())){
enterpriseStandardInspectContent.setId(String.valueOf(SnowflakeUtils.snowflake()));
}
enterpriseStandardInspectContent.setProcessEsInspectId(processEsInspect.getId());
}
enterpriseStandardInspectContentService.saveOrUpdateBatch(enterpriseStandardInspectContentList);
}
// 处理稽查报告 和 整改计划
if (EsInspectCommon.PROCESS_NODE_3.equals(processAll.getNodeId())){
// 清除旧稽查报告
enterpriseStandardInspectReportService.remove(
new LambdaQueryWrapper<EnterpriseStandardInspectReport>()
.eq(EnterpriseStandardInspectReport::getProcessEsInspectId, processEsInspect.getId()));
// 添加新稽查报告
List<EnterpriseStandardInspectReport> enterpriseStandardInspectReportList = processEsInspect.getEnterpriseStandardInspectReportList();
for (EnterpriseStandardInspectReport enterpriseStandardInspectReport : enterpriseStandardInspectReportList) {
if (StringUtils.isBlank(enterpriseStandardInspectReport.getId())){
enterpriseStandardInspectReport.setId(String.valueOf(SnowflakeUtils.snowflake()));
}
enterpriseStandardInspectReport.setInspectId(processEsInspect.getId());
}
enterpriseStandardInspectReportService.saveOrUpdateBatch(enterpriseStandardInspectReportList);
// 清除旧整改计划
enterpriseStandardInspectRectifyPlanService.remove(
new LambdaQueryWrapper<EnterpriseStandardInspectRectifyPlan>()
.eq(EnterpriseStandardInspectRectifyPlan::getProcessEsInspectId, processEsInspect.getId()));
// 添加新整改计划
List<EnterpriseStandardInspectRectifyPlan> enterpriseStandardInspectRectifyPlanList = processEsInspect.getEnterpriseStandardInspectRectifyPlanList();
for (EnterpriseStandardInspectRectifyPlan enterpriseStandardInspectRectifyPlan : enterpriseStandardInspectRectifyPlanList) {
if (StringUtils.isBlank(enterpriseStandardInspectRectifyPlan.getId())){
enterpriseStandardInspectRectifyPlan.setId(String.valueOf(SnowflakeUtils.snowflake()));
}
enterpriseStandardInspectRectifyPlan.setInspectId(processEsInspect.getId());
}
}
}
}
private void duplicateCheck(List<ProcessEsInspect> processEsInspectList) {
List<ProcessEsInspect> list = processEsInspectService.list(
new LambdaQueryWrapper<ProcessEsInspect>()
.in(ProcessEsInspect::getId, processEsInspectList.stream().map(ProcessEsInspect::getId).collect(Collectors.toList())));
if (list.size() > 0){
List<EnterpriseStandardInspect> enterpriseStandardInspectList = enterpriseStandardInspectService.listByIds(list.stream().map(ProcessEsInspect::getInspectId).collect(Collectors.toList()));
String inspectNos = enterpriseStandardInspectList.stream().map(EnterpriseStandardInspect::getInspectNo).collect(Collectors.joining(","));
throw new JeroBootException("稽查依据标准编号为:" + inspectNos + "的稽查已发起过企标稽查流程,请勿重复选择!");
} }
} }
@@ -321,6 +380,8 @@ public class EsInspectFlowServiceImpl implements IEsInspectFlowService {
if (task!= null) { if (task!= null) {
// 完成任务 // 完成任务
taskService.complete(task.getId(), map); taskService.complete(task.getId(), map);
// 处理业务表数据
handleBusinessData(esInspectFlowVO);
// 再次更新流程审批信息 // 再次更新流程审批信息
processApprovalRecordService.update(new LambdaUpdateWrapper<ProcessApprovalRecord>() processApprovalRecordService.update(new LambdaUpdateWrapper<ProcessApprovalRecord>()
.eq(ProcessApprovalRecord::getUserId, loginUser.getId()) .eq(ProcessApprovalRecord::getUserId, loginUser.getId())
@@ -201,7 +201,7 @@ public class ProcessEsInspectPlanController extends JeroController<ProcessEsInsp
@AutoLog(value = "企标稽查计划业务表-通过excel导入数据(稽查联络人发起计划)") @AutoLog(value = "企标稽查计划业务表-通过excel导入数据(稽查联络人发起计划)")
@ApiOperation(value="企标稽查计划业务表-通过excel导入数据(稽查联络人发起计划)", notes="企标稽查计划业务表-通过excel导入数据(稽查联络人发起计划)") @ApiOperation(value="企标稽查计划业务表-通过excel导入数据(稽查联络人发起计划)", notes="企标稽查计划业务表-通过excel导入数据(稽查联络人发起计划)")
@PostMapping(value = "/importExcelByStart") @PostMapping(value = "/importExcelByStart")
public Result<ProcessEsInspectPlan> importExcelByStart(HttpServletRequest request, HttpServletResponse response) throws Exception { public Result<List<ProcessEsInspectPlan>> importExcelByStart(HttpServletRequest request, HttpServletResponse response) throws Exception {
return processEsInspectPlanService.importExcelByStart(request, response); return processEsInspectPlanService.importExcelByStart(request, response);
} }
@@ -215,7 +215,7 @@ public class ProcessEsInspectPlanController extends JeroController<ProcessEsInsp
@AutoLog(value = "企标稽查计划业务表-通过excel导入数据(稽查征求意见对象填写意见)") @AutoLog(value = "企标稽查计划业务表-通过excel导入数据(稽查征求意见对象填写意见)")
@ApiOperation(value="企标稽查计划业务表-通过excel导入数据(稽查征求意见对象填写意见)", notes="企标稽查计划业务表-通过excel导入数据(稽查征求意见对象填写意见)") @ApiOperation(value="企标稽查计划业务表-通过excel导入数据(稽查征求意见对象填写意见)", notes="企标稽查计划业务表-通过excel导入数据(稽查征求意见对象填写意见)")
@PostMapping(value = "/importExcelByOpinionFill") @PostMapping(value = "/importExcelByOpinionFill")
public Result<ProcessEsInspectPlan> importExcelByOpinionFill(HttpServletRequest request, HttpServletResponse response) throws Exception { public Result<List<ProcessEsInspectPlan>> importExcelByOpinionFill(HttpServletRequest request, HttpServletResponse response) throws Exception {
return processEsInspectPlanService.importExcelByOpinionFill(request, response); return processEsInspectPlanService.importExcelByOpinionFill(request, response);
} }
} }
@@ -94,7 +94,7 @@ public interface IProcessEsInspectPlanService extends IService<ProcessEsInspectP
* @param response * @param response
* @return * @return
*/ */
Result<ProcessEsInspectPlan> importExcelByStart(HttpServletRequest request, HttpServletResponse response) throws Exception; Result<List<ProcessEsInspectPlan>> importExcelByStart(HttpServletRequest request, HttpServletResponse response) throws Exception;
/** /**
* 下载导入模板 * 下载导入模板
@@ -108,7 +108,7 @@ public interface IProcessEsInspectPlanService extends IService<ProcessEsInspectP
* @param response * @param response
* @return * @return
*/ */
Result<ProcessEsInspectPlan> importExcelByOpinionFill(HttpServletRequest request, HttpServletResponse response) throws Exception; Result<List<ProcessEsInspectPlan>> importExcelByOpinionFill(HttpServletRequest request, HttpServletResponse response) throws Exception;
/** /**
* 企标稽查计划业务表-下载导入模板(稽查征求意见对象填写意见) * 企标稽查计划业务表-下载导入模板(稽查征求意见对象填写意见)
@@ -206,7 +206,7 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
} }
@Override @Override
public Result<ProcessEsInspectPlan> importExcelByStart(HttpServletRequest request, HttpServletResponse response) throws Exception { public Result<List<ProcessEsInspectPlan>> importExcelByStart(HttpServletRequest request, HttpServletResponse response) throws Exception {
String projectId = request.getParameter("projectId"); String projectId = request.getParameter("projectId");
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
@@ -249,8 +249,7 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
if (errorMSG.length() > 0){ if (errorMSG.length() > 0){
throw new JeroBootException("文件导入失败:<br/>" + errorMSG); throw new JeroBootException("文件导入失败:<br/>" + errorMSG);
}else { }else {
saveBatch(list); return Result.OK("文件导入成功!数据行数:" + list.size(), list);
return Result.OK("文件导入成功!数据行数:" + list.size());
} }
} }
return Result.error("文件导入失败!"); return Result.error("文件导入失败!");
@@ -276,7 +275,7 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
} }
@Override @Override
public Result<ProcessEsInspectPlan> importExcelByOpinionFill(HttpServletRequest request, HttpServletResponse response) throws Exception { public Result<List<ProcessEsInspectPlan>> importExcelByOpinionFill(HttpServletRequest request, HttpServletResponse response) throws Exception {
String projectId = request.getParameter("projectId"); String projectId = request.getParameter("projectId");
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
@@ -319,8 +318,7 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
if (errorMSG.length() > 0){ if (errorMSG.length() > 0){
throw new JeroBootException("文件导入失败:<br/>" + errorMSG); throw new JeroBootException("文件导入失败:<br/>" + errorMSG);
}else { }else {
saveBatch(list); return Result.OK("文件导入成功!数据行数:" + list.size(), list);
return Result.OK("文件导入成功!数据行数:" + list.size());
} }
} }
return Result.error("文件导入失败!"); return Result.error("文件导入失败!");
@@ -368,6 +366,9 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
}else { }else {
errorList.add("征求意见对象不能为空!"); errorList.add("征求意见对象不能为空!");
} }
}else {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
processEsInspectPlan.setObjectOfConsultation(loginUser.getId());
} }
return errorList; return errorList;
} }