perf: scc流程性能优化
This commit is contained in:
+5
-7
@@ -29,7 +29,6 @@ import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
|||||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||||
import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
|
import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
|
||||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||||
import org.springframework.validation.annotation.Validated;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
@@ -42,7 +41,6 @@ import java.util.ArrayList;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.CompletableFuture;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 流程-测试流程(process_demo)表控制层
|
* 流程-测试流程(process_demo)表控制层
|
||||||
@@ -65,15 +63,15 @@ public class ProcessStandardComplianceCheckController extends JeroController<Pro
|
|||||||
@AutoLog(value = "法规符合性排查流程-发起流程")
|
@AutoLog(value = "法规符合性排查流程-发起流程")
|
||||||
@ApiOperation(value = "法规符合性排查流程-发起流程", notes = "法规符合性排查流程-发起流程")
|
@ApiOperation(value = "法规符合性排查流程-发起流程", notes = "法规符合性排查流程-发起流程")
|
||||||
@PostMapping(value = "/start")
|
@PostMapping(value = "/start")
|
||||||
public Result<T> startProcess(@Validated @RequestBody ProcessInfoVO<ProcessSccVO> processInfoVO) {
|
public Result<T> startProcess(@RequestBody ProcessInfoVO<ProcessSccVO> processInfoVO) {
|
||||||
CompletableFuture.runAsync(() -> sccService.startProcess(processInfoVO));
|
sccService.startProcess(processInfoVO);
|
||||||
return Result.OK();
|
return Result.OK();
|
||||||
}
|
}
|
||||||
|
|
||||||
@AutoLog(value = "法规符合性排查流程-同意")
|
@AutoLog(value = "法规符合性排查流程-同意")
|
||||||
@ApiOperation(value = "法规符合性排查流程-同意", notes = "法规符合性排查流程-同意")
|
@ApiOperation(value = "法规符合性排查流程-同意", notes = "法规符合性排查流程-同意")
|
||||||
@PostMapping("/agree")
|
@PostMapping("/agree")
|
||||||
public Result<T> agree(@Validated @RequestBody ProcessInfoVO<ProcessSccVO> processInfoVO) {
|
public Result<T> agree(@RequestBody ProcessInfoVO<ProcessSccVO> processInfoVO) {
|
||||||
sccService.approveTask(processInfoVO, true);
|
sccService.approveTask(processInfoVO, true);
|
||||||
return Result.OK();
|
return Result.OK();
|
||||||
}
|
}
|
||||||
@@ -81,7 +79,7 @@ public class ProcessStandardComplianceCheckController extends JeroController<Pro
|
|||||||
@AutoLog(value = "法规符合性排查流程-驳回")
|
@AutoLog(value = "法规符合性排查流程-驳回")
|
||||||
@ApiOperation(value = "法规符合性排查流程-驳回", notes = "法规符合性排查流程-驳回")
|
@ApiOperation(value = "法规符合性排查流程-驳回", notes = "法规符合性排查流程-驳回")
|
||||||
@PostMapping("/reject")
|
@PostMapping("/reject")
|
||||||
public Result<T> reject(@Validated @RequestBody ProcessInfoVO<ProcessSccVO> processInfoVO) {
|
public Result<T> reject(@RequestBody ProcessInfoVO<ProcessSccVO> processInfoVO) {
|
||||||
sccService.approveTask(processInfoVO, false);
|
sccService.approveTask(processInfoVO, false);
|
||||||
return Result.OK();
|
return Result.OK();
|
||||||
}
|
}
|
||||||
@@ -89,7 +87,7 @@ public class ProcessStandardComplianceCheckController extends JeroController<Pro
|
|||||||
@AutoLog(value = "法规符合性排查流程-提交")
|
@AutoLog(value = "法规符合性排查流程-提交")
|
||||||
@ApiOperation(value = "法规符合性排查流程-提交", notes = "法规符合性排查流程-提交")
|
@ApiOperation(value = "法规符合性排查流程-提交", notes = "法规符合性排查流程-提交")
|
||||||
@PostMapping("/submit")
|
@PostMapping("/submit")
|
||||||
public Result<T> submit(@Validated @RequestBody ProcessInfoVO<ProcessSccVO> processInfoVO) {
|
public Result<T> submit(@RequestBody ProcessInfoVO<ProcessSccVO> processInfoVO) {
|
||||||
sccService.submit(processInfoVO);
|
sccService.submit(processInfoVO);
|
||||||
return Result.OK();
|
return Result.OK();
|
||||||
}
|
}
|
||||||
|
|||||||
+3
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||||||
import com.jero.modules.activiti.process.standardComplianceCheck.entity.ProcessStandardComplianceCheckDetail;
|
import com.jero.modules.activiti.process.standardComplianceCheck.entity.ProcessStandardComplianceCheckDetail;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Queue;
|
import java.util.Queue;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -15,6 +16,8 @@ import java.util.Queue;
|
|||||||
public interface ProcessStandardComplianceCheckDetailMapper extends BaseMapper<ProcessStandardComplianceCheckDetail> {
|
public interface ProcessStandardComplianceCheckDetailMapper extends BaseMapper<ProcessStandardComplianceCheckDetail> {
|
||||||
|
|
||||||
void batchInsert(@Param("queue") Queue<ProcessStandardComplianceCheckDetail> needAddDetailInfoQueue);
|
void batchInsert(@Param("queue") Queue<ProcessStandardComplianceCheckDetail> needAddDetailInfoQueue);
|
||||||
|
|
||||||
|
void batchInsertList(@Param("list") List<ProcessStandardComplianceCheckDetail> needAddDetailInfoList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+68
@@ -100,4 +100,72 @@
|
|||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
<insert id="batchInsertList" parameterType="java.util.Collection">
|
||||||
|
INSERT INTO process_standard_compliance_check_detail (
|
||||||
|
id,
|
||||||
|
create_by,
|
||||||
|
create_time,
|
||||||
|
update_by,
|
||||||
|
update_time,
|
||||||
|
org_code,
|
||||||
|
process_instance_id,
|
||||||
|
term_number,
|
||||||
|
term_title,
|
||||||
|
term_content,
|
||||||
|
model,
|
||||||
|
model_status,
|
||||||
|
assessor,
|
||||||
|
result,
|
||||||
|
description,
|
||||||
|
material,
|
||||||
|
valuation_time,
|
||||||
|
correction_solution,
|
||||||
|
unsatisfied_require,
|
||||||
|
correction_period,
|
||||||
|
correction_cost,
|
||||||
|
commonality,
|
||||||
|
commonality_cost,
|
||||||
|
remark,
|
||||||
|
auth_dept,
|
||||||
|
main_check_user,
|
||||||
|
design_engineer,
|
||||||
|
check_id,
|
||||||
|
batch_id
|
||||||
|
)
|
||||||
|
VALUES
|
||||||
|
<foreach collection="list" item="item" separator=",">
|
||||||
|
(
|
||||||
|
#{item.id},
|
||||||
|
#{item.createBy},
|
||||||
|
#{item.createTime},
|
||||||
|
#{item.updateBy},
|
||||||
|
#{item.updateTime},
|
||||||
|
#{item.orgCode},
|
||||||
|
#{item.processInstanceId},
|
||||||
|
#{item.termNumber},
|
||||||
|
#{item.termTitle},
|
||||||
|
#{item.termContent},
|
||||||
|
#{item.model},
|
||||||
|
#{item.modelStatus},
|
||||||
|
#{item.assessor},
|
||||||
|
#{item.result},
|
||||||
|
#{item.description},
|
||||||
|
#{item.material},
|
||||||
|
#{item.valuationTime},
|
||||||
|
#{item.correctionSolution},
|
||||||
|
#{item.unsatisfiedRequire},
|
||||||
|
#{item.correctionPeriod},
|
||||||
|
#{item.correctionCost},
|
||||||
|
#{item.commonality},
|
||||||
|
#{item.commonalityCost},
|
||||||
|
#{item.remark},
|
||||||
|
#{item.authDept},
|
||||||
|
#{item.mainCheckUser},
|
||||||
|
#{item.designEngineer},
|
||||||
|
#{item.checkId},
|
||||||
|
#{item.batchId}
|
||||||
|
)
|
||||||
|
</foreach>
|
||||||
|
</insert>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
+4
-2
@@ -220,7 +220,9 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
|||||||
// 给流程中设置主表流程变量Id
|
// 给流程中设置主表流程变量Id
|
||||||
runtimeService.setVariable(processInstanceId, CHECK_ID, standardInfo.getId());
|
runtimeService.setVariable(processInstanceId, CHECK_ID, standardInfo.getId());
|
||||||
runtimeService.setVariable(processInstanceId, MAIN_INSTANCE_ID, processInstanceId);
|
runtimeService.setVariable(processInstanceId, MAIN_INSTANCE_ID, processInstanceId);
|
||||||
this.startNodeDetailBusProcess(processInstanceId, standardInfo.getId(), businessInfoDTO.getDetailInfoList());
|
CompletableFuture.runAsync(() ->
|
||||||
|
this.startNodeDetailBusProcess(
|
||||||
|
processInstanceId, standardInfo.getId(), businessInfoDTO.getDetailInfoList()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startNodeDetailBusProcess(String processInstanceId, String checkId, List<ProcessStandardComplianceCheckDetail> detailInfoList) {
|
private void startNodeDetailBusProcess(String processInstanceId, String checkId, List<ProcessStandardComplianceCheckDetail> detailInfoList) {
|
||||||
@@ -249,7 +251,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
|||||||
detail.setCheckId(checkId);
|
detail.setCheckId(checkId);
|
||||||
detail.setProcessInstanceId(processInstanceId);
|
detail.setProcessInstanceId(processInstanceId);
|
||||||
});
|
});
|
||||||
sccDetailService.saveBatch(detailInfoList, detailInfoList.size());
|
sccDetailMapper.batchInsertList(detailInfoList);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Map<String, Object> setVariables(ProcessInfoVO<ProcessSccVO> businessInfoDTO) {
|
private Map<String, Object> setVariables(ProcessInfoVO<ProcessSccVO> businessInfoDTO) {
|
||||||
|
|||||||
Reference in New Issue
Block a user