From 838e75177580a88effebf7a7dce836604ee4cccf Mon Sep 17 00:00:00 2001 From: wulin Date: Thu, 22 Oct 2020 17:19:39 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=BB=84=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=98=AF=E6=97=A0=E6=B3=95=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E7=99=BB=E8=AE=B0id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../flow/dao/FlowApprovalRoleMapper.java | 4 ++ .../java/com/lz/modules/flow/entity/Flow.java | 3 + .../flow/service/FlowApprovalRoleService.java | 3 + .../impl/FlowApprovalRoleServiceImpl.java | 30 +++++++++ .../controller/FlowStartController.java | 15 ++++- .../controller/ResultModelController.java | 5 +- .../mapper/flow/FlowApprovalRoleMapper.xml | 24 +++++++ src/main/resources/mapper/flow/FlowMapper.xml | 63 ++++++++++++------- src/test/java/com/lz/mysql/MysqlMain.java | 2 +- 9 files changed, 121 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/dao/FlowApprovalRoleMapper.java b/src/main/java/com/lz/modules/flow/dao/FlowApprovalRoleMapper.java index 70134be2..434c6244 100644 --- a/src/main/java/com/lz/modules/flow/dao/FlowApprovalRoleMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/FlowApprovalRoleMapper.java @@ -11,6 +11,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.lz.modules.flow.entity.FlowApprovalRole; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + +import java.util.List; + @Mapper public interface FlowApprovalRoleMapper extends BaseMapper { @@ -30,4 +33,5 @@ public interface FlowApprovalRoleMapper extends BaseMapper { int deleteFlowApprovalRoleById(@Param("id")Long id); + Long insertFlowApprovalRoles(@Param("list") List flowApprovalRoles); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/entity/Flow.java b/src/main/java/com/lz/modules/flow/entity/Flow.java index a7632813..ba400c22 100644 --- a/src/main/java/com/lz/modules/flow/entity/Flow.java +++ b/src/main/java/com/lz/modules/flow/entity/Flow.java @@ -38,6 +38,8 @@ public class Flow implements java.io.Serializable { private Long chartId; //权重,评分时的权重 private BigDecimal weight; + //发起考核id + private Long startId; /** * * @return @@ -169,6 +171,7 @@ public class Flow implements java.io.Serializable { ",opt=" + opt + ",optDesc=" + optDesc + ",roleId=" + roleId + + ",startId=" + startId + "}"; } } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/FlowApprovalRoleService.java b/src/main/java/com/lz/modules/flow/service/FlowApprovalRoleService.java index cca7b458..7e785e81 100644 --- a/src/main/java/com/lz/modules/flow/service/FlowApprovalRoleService.java +++ b/src/main/java/com/lz/modules/flow/service/FlowApprovalRoleService.java @@ -3,6 +3,8 @@ package com.lz.modules.flow.service; import com.baomidou.mybatisplus.extension.service.IService; import com.lz.modules.flow.entity.FlowApprovalRole; +import java.util.List; + /** *

* 流程审批表 服务类 @@ -30,4 +32,5 @@ public interface FlowApprovalRoleService extends IService { int deleteFlowApprovalRoleById(Long id); + Long insertFlowApprovalRoles(List flowApprovalRoles); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowApprovalRoleServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowApprovalRoleServiceImpl.java index 2933d321..bb61beb3 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowApprovalRoleServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowApprovalRoleServiceImpl.java @@ -2,11 +2,15 @@ package com.lz.modules.flow.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.lz.modules.flow.dao.FlowApprovalRoleMapper; +import com.lz.modules.flow.entity.EvaluationStartStaff; import com.lz.modules.flow.entity.FlowApprovalRole; import com.lz.modules.flow.service.FlowApprovalRoleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + /** *

* 流程审批表 服务类 @@ -23,6 +27,7 @@ public class FlowApprovalRoleServiceImpl extends ServiceImpl flowApprovalRoles){ + if(flowApprovalRoles.size() <= maxInsertSQL){ + return flowApprovalRoleMapper.insertFlowApprovalRoles(flowApprovalRoles); + } + //下面防止sql语句过大 + Long count = Long.getLong("0"); + int insert = 0; + List approvalRoles = new ArrayList<>(); + for (FlowApprovalRole role:flowApprovalRoles + ) { + approvalRoles.add(role); + insert++; + if(insert >= maxInsertSQL){ + count += flowApprovalRoleMapper.insertFlowApprovalRoles(approvalRoles); + approvalRoles.clear(); + insert = 0; + } + } + if(approvalRoles.size() > 0){ + count += flowApprovalRoleMapper.insertFlowApprovalRoles(approvalRoles); + } + return count; + + } } diff --git a/src/main/java/com/lz/modules/performance/controller/FlowStartController.java b/src/main/java/com/lz/modules/performance/controller/FlowStartController.java index a6840361..d92fc494 100644 --- a/src/main/java/com/lz/modules/performance/controller/FlowStartController.java +++ b/src/main/java/com/lz/modules/performance/controller/FlowStartController.java @@ -49,6 +49,11 @@ public class FlowStartController { @Autowired private FlowService flowService; + @Autowired + private FlowApprovalRoleService flowApprovalRoleService; + + + @@ -71,6 +76,7 @@ public class FlowStartController { @ApiOperation("发起新的考核任务") public R save(@RequestBody @ApiParam FlowStart flowStart) { flowStartService.insertFlowStart(flowStart); + Map chartNameMaps = new HashedMap(); //下面开始初始化流程 List ids = Arrays.stream(flowStart.getGroupIds().split(",")).map(new Function() { @Override @@ -132,15 +138,20 @@ public class FlowStartController { if(evaluationStartStaffs.size() > 0){ evaluationStartStaffService.insertEvaluationStartStaffs(evaluationStartStaffs); //下面初始化lz_flow流程表 lz_flow_approval_role流程审批表 - //List flows = new ArrayList<>(); + List flowApprovalRoles = new ArrayList<>(); for (FlowChartDetailRecord flowChartDetailRecord:flowChartDetailRecords ) { Flow flow = new Flow(); flow.setFlowId(evaluationGroup.getId()); flow.setOpt("+"); + flow.setStartId(flowStart.getId()); flow.setChartId(flowChartDetailRecord.getChartId()); + String optName = chartNameMaps.get(flowChartDetailRecord.getChartId()); + if(optName == null){ + } + flow.setOpt(optName); flowService.insertFlow(flow); if(flowChartDetailRecord.getOptType().intValue() == ChartOptType.APPOINT.getCode()){//指定人员的 @@ -175,7 +186,7 @@ public class FlowStartController { //插入记录 } if(flowApprovalRoles.size() > 0){ - + flowApprovalRoleService.insertFlowApprovalRoles(flowApprovalRoles); } for (EvaluationStartStaff startStaff:evaluationStartStaffs diff --git a/src/main/java/com/lz/modules/performance/controller/ResultModelController.java b/src/main/java/com/lz/modules/performance/controller/ResultModelController.java index 1deeff43..2d9bea5f 100644 --- a/src/main/java/com/lz/modules/performance/controller/ResultModelController.java +++ b/src/main/java/com/lz/modules/performance/controller/ResultModelController.java @@ -48,6 +48,7 @@ public class ResultModelController { resultModelDetailReq.setCalculateId(dto.getCalculateId()); resultModelDetailReq.setEvaluationGroupId(dto.getEvaluationGroupId()); resultModelDetailReq.setGradeStatus(dto.getGradeStatus()); + resultModelDetailReq.setGradeGroupId(dto.getGradeGroupId()); ResultModelItemReq itemReq = new ResultModelItemReq(); BeanUtils.copyProperties(dto, itemReq); List req = resultTagetLibService.selectResultTagetLibByModelReqId(dto.getId()); @@ -87,10 +88,6 @@ public class ResultModelController { @PostMapping("/saveDetail") @ApiOperation("保存模板中的考核维度及指标") public R saveDetail(@RequestBody @ApiParam ResultModelDetailReq resultModelDetailReq) { - - - - int resultModelOrderBy = 0; for (ResultModelItemReq itemReq: resultModelDetailReq.getModelItems()) { diff --git a/src/main/resources/mapper/flow/FlowApprovalRoleMapper.xml b/src/main/resources/mapper/flow/FlowApprovalRoleMapper.xml index 953d2640..240b132e 100644 --- a/src/main/resources/mapper/flow/FlowApprovalRoleMapper.xml +++ b/src/main/resources/mapper/flow/FlowApprovalRoleMapper.xml @@ -94,5 +94,29 @@ update lz_flow_approval_role set is_delete = 1 where id=#{id} limit 1 + + + insert into lz_flow_chart_detail_record( + approval_id, + type, + role_id, + flow_id, + step_type, + approval_type, + is_delete + )values + ( + #{ item.approvalId}, + #{ item.type}, + #{ item.roleId}, + #{ item.flowId}, + #{ item.stepType}, + #{ item.approvalType}, + 0 + ) + + ; + + diff --git a/src/main/resources/mapper/flow/FlowMapper.xml b/src/main/resources/mapper/flow/FlowMapper.xml index 8ea0fd1f..e8f2cde1 100644 --- a/src/main/resources/mapper/flow/FlowMapper.xml +++ b/src/main/resources/mapper/flow/FlowMapper.xml @@ -12,48 +12,65 @@ + + + + - id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, flow_id AS flowId, opt AS opt, opt_desc AS optDesc, role_id AS roleId + id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, flow_id AS flowId, opt AS opt, opt_desc AS optDesc, role_id AS roleId, chart_id AS chartId, weight AS weight, start_id AS startId + + + + insert into lz_flow( - flow_id, - opt, - opt_desc, - role_id, - is_delete, - gmt_create, - gmt_modified + flow_id, + opt, + opt_desc, + role_id, + chart_id, + weight, + start_id, + is_delete, + gmt_create, + gmt_modified )values( - #{ flowId}, - #{ opt}, - #{ optDesc}, - #{ roleId}, - 0, - now(), - now() + #{ flowId}, + #{ opt}, + #{ optDesc}, + #{ roleId}, + #{ chartId}, + #{ weight}, + #{ startId}, + 0, + now(), + now() ) update - lz_flow + lz_flow is_delete = #{isDelete}, gmt_create = #{gmtCreate}, flow_id = #{flowId}, opt = #{opt}, opt_desc = #{optDesc}, - role_id = #{roleId} + role_id = #{roleId}, + chart_id = #{chartId}, + weight = #{weight}, + start_id = #{startId} ,gmt_modified = now() where id = #{id} @@ -62,18 +79,22 @@ update - lz_flow - set + lz_flow + set is_delete = #{isDelete}, gmt_create = #{gmtCreate}, flow_id = #{flowId}, opt = #{opt}, opt_desc = #{optDesc}, - role_id = #{roleId} + role_id = #{roleId}, + chart_id = #{chartId}, + weight = #{weight}, + start_id = #{startId} ,gmt_modified = now() where id = #{id} + update lz_flow set is_delete = 1 where id=#{id} limit 1 diff --git a/src/test/java/com/lz/mysql/MysqlMain.java b/src/test/java/com/lz/mysql/MysqlMain.java index 5a35f8d6..5a1398c5 100644 --- a/src/test/java/com/lz/mysql/MysqlMain.java +++ b/src/test/java/com/lz/mysql/MysqlMain.java @@ -82,7 +82,7 @@ public class MysqlMain { //list.add(new TablesBean("lz_flow_chart_detail_record")); //list.add(new TablesBean("lz_flow_approval_role")); - list.add(new TablesBean("lz_evaluation_start_staff")); + list.add(new TablesBean("lz_flow")); List list2 = new ArrayList(); Map map = MysqlUtil2ShowCreateTable.getComments();