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.fasterxml.jackson.annotation.JsonFormat;
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.ApiModelProperty;
import lombok.Data;
@@ -13,6 +16,7 @@ import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.List;
/**
@@ -46,6 +50,18 @@ public class ProcessEsInspect extends BaseEntity {
@ApiModelProperty(value = "实际稽查人")
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 添加用*/
@ApiModelProperty(value = "ids 添加用")
@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.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.SnowflakeUtils;
import com.jero.modules.activiti.entity.ProcessAll;
@@ -167,10 +168,68 @@ public class EsInspectFlowServiceImpl implements IEsInspectFlowService {
v.setProjectId(projectId);
return v;
}).collect(Collectors.toList()).forEach(v -> log.info(v.toString()));
// 重复性校验
duplicateCheck(processEsInspectList);
processEsInspectService.saveOrUpdateBatch(processEsInspectList);
// 处理稽查内容
if (EsInspectCommon.PROCESS_NODE_1.equals(processAll.getNodeId())){
for (ProcessEsInspect processEsInspect : processEsInspectList) {
// 处理稽查内容
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) {
// 完成任务
taskService.complete(task.getId(), map);
// 处理业务表数据
handleBusinessData(esInspectFlowVO);
// 再次更新流程审批信息
processApprovalRecordService.update(new LambdaUpdateWrapper<ProcessApprovalRecord>()
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
@@ -201,7 +201,7 @@ public class ProcessEsInspectPlanController extends JeroController<ProcessEsInsp
@AutoLog(value = "企标稽查计划业务表-通过excel导入数据(稽查联络人发起计划)")
@ApiOperation(value="企标稽查计划业务表-通过excel导入数据(稽查联络人发起计划)", notes="企标稽查计划业务表-通过excel导入数据(稽查联络人发起计划)")
@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);
}
@@ -215,7 +215,7 @@ public class ProcessEsInspectPlanController extends JeroController<ProcessEsInsp
@AutoLog(value = "企标稽查计划业务表-通过excel导入数据(稽查征求意见对象填写意见)")
@ApiOperation(value="企标稽查计划业务表-通过excel导入数据(稽查征求意见对象填写意见)", notes="企标稽查计划业务表-通过excel导入数据(稽查征求意见对象填写意见)")
@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);
}
}
@@ -94,7 +94,7 @@ public interface IProcessEsInspectPlanService extends IService<ProcessEsInspectP
* @param response
* @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
* @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
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");
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
@@ -249,8 +249,7 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
if (errorMSG.length() > 0){
throw new JeroBootException("文件导入失败:<br/>" + errorMSG);
}else {
saveBatch(list);
return Result.OK("文件导入成功!数据行数:" + list.size());
return Result.OK("文件导入成功!数据行数:" + list.size(), list);
}
}
return Result.error("文件导入失败!");
@@ -276,7 +275,7 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
}
@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");
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
@@ -319,8 +318,7 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
if (errorMSG.length() > 0){
throw new JeroBootException("文件导入失败:<br/>" + errorMSG);
}else {
saveBatch(list);
return Result.OK("文件导入成功!数据行数:" + list.size());
return Result.OK("文件导入成功!数据行数:" + list.size(), list);
}
}
return Result.error("文件导入失败!");
@@ -368,6 +366,9 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
}else {
errorList.add("征求意见对象不能为空!");
}
}else {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
processEsInspectPlan.setObjectOfConsultation(loginUser.getId());
}
return errorList;
}