From 474adeb1127df8aaf4a0cef1b12e4e28f8650dd7 Mon Sep 17 00:00:00 2001 From: wulin Date: Fri, 23 Oct 2020 18:12:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E7=9A=84=E5=A4=9A=EF=BC=8C=E5=B0=B1?= =?UTF-8?q?=E4=B8=8D=E6=84=BF=E6=84=8F=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lz/modules/app/dao/DepartmentsDao.java | 4 + .../java/com/lz/modules/app/dao/StaffDao.java | 6 + .../modules/app/entity/DepartmentsEntity.java | 2 + .../modules/app/entity/StaffSimpleInfo.java | 47 ++++ .../app/service/DepartmentsService.java | 1 + .../lz/modules/app/service/StaffService.java | 6 + .../service/impl/DepartmentsServiceImpl.java | 25 ++ .../app/service/impl/StaffServiceImpl.java | 9 + .../flow/entity/EvaluationStartStaff.java | 21 +- .../modules/flow/entity/FlowApprovalRole.java | 21 +- .../flow/service/EvaluationGroupService.java | 3 + .../impl/EvaluationGroupServiceImpl.java | 76 +++++ .../impl/EvaluationStartStaffServiceImpl.java | 2 +- .../impl/FlowApprovalRoleServiceImpl.java | 2 +- .../controller/FlowStartController.java | 261 +++++++++++------- .../sys/dao/app/ResultDetailMapper.java | 2 + .../modules/sys/entity/app/ResultRecord.java | 86 +++++- .../sys/service/app/ResultDetailService.java | 2 + .../app/impl/ResultDetailServiceImpl.java | 9 + .../mapper/app/ResultDetailMapper.xml | 30 ++ .../mapper/app/ResultRecordMapper.xml | 28 +- .../flow/EvaluationStartStaffMapper.xml | 33 ++- .../mapper/flow/FlowApprovalRoleMapper.xml | 57 ++-- .../mapper/generator/DepartmentsDao.xml | 14 + .../resources/mapper/generator/StaffDao.xml | 22 ++ src/test/java/com/lz/mysql/MysqlMain.java | 18 +- 26 files changed, 637 insertions(+), 150 deletions(-) create mode 100644 src/main/java/com/lz/modules/app/entity/StaffSimpleInfo.java diff --git a/src/main/java/com/lz/modules/app/dao/DepartmentsDao.java b/src/main/java/com/lz/modules/app/dao/DepartmentsDao.java index 13c3e8e6..0462f621 100644 --- a/src/main/java/com/lz/modules/app/dao/DepartmentsDao.java +++ b/src/main/java/com/lz/modules/app/dao/DepartmentsDao.java @@ -51,4 +51,8 @@ public interface DepartmentsDao extends BaseMapper { List selectDepartmentIdsByparentIds(@Param("parentIds") List parentIds, @Param("page") IPage page); List selectDeparmentLevel1(); + + List selectEntityByDepartmentIds(@Param("dIds") List dIds); + + List selectEntityByParentDepartmentIds(@Param("dIds") List dIds); } diff --git a/src/main/java/com/lz/modules/app/dao/StaffDao.java b/src/main/java/com/lz/modules/app/dao/StaffDao.java index cc938077..08d82262 100644 --- a/src/main/java/com/lz/modules/app/dao/StaffDao.java +++ b/src/main/java/com/lz/modules/app/dao/StaffDao.java @@ -3,7 +3,9 @@ package com.lz.modules.app.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.lz.modules.app.dto.*; +import com.lz.modules.app.entity.DepartmentsEntity; import com.lz.modules.app.entity.StaffEntity; +import com.lz.modules.app.entity.StaffSimpleInfo; import com.lz.modules.app.req.ReportListReq; import com.lz.modules.equipment.entity.model.FindByNameModel; import org.apache.ibatis.annotations.Mapper; @@ -84,4 +86,8 @@ public interface StaffDao extends BaseMapper { List selectStaffSimpleInfoByIds(@Param("ids") List ids); List getDepatAllStaffInfos(@Param("departmentId") String departmentId); + + List selectAllStaffSimpleInfos(@Param("depart") DepartmentsEntity depart); + + List selectStaffSimpleInfos(@Param("sIds") List sIds); } diff --git a/src/main/java/com/lz/modules/app/entity/DepartmentsEntity.java b/src/main/java/com/lz/modules/app/entity/DepartmentsEntity.java index 5c35b7b5..c2ff0f13 100644 --- a/src/main/java/com/lz/modules/app/entity/DepartmentsEntity.java +++ b/src/main/java/com/lz/modules/app/entity/DepartmentsEntity.java @@ -46,6 +46,8 @@ public class DepartmentsEntity implements Serializable { private Integer status; //第几级部门 private Integer level; + + /** * 自增主键 * @return diff --git a/src/main/java/com/lz/modules/app/entity/StaffSimpleInfo.java b/src/main/java/com/lz/modules/app/entity/StaffSimpleInfo.java new file mode 100644 index 00000000..f84e3a1b --- /dev/null +++ b/src/main/java/com/lz/modules/app/entity/StaffSimpleInfo.java @@ -0,0 +1,47 @@ +package com.lz.modules.app.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 员工基本信息表 + * + * @author fumeiai + * @email fumeiai@linzikg.com + * @date 2020-04-29 20:59:20 + */ +@Data +public class StaffSimpleInfo implements Serializable { + private static final long serialVersionUID = 1L; + + + + /** + * 自增主键 + */ + @TableId + private Long id; + + /** + * 员工姓名 + */ + private String name; + + /** + * 工号 + */ + private String jobNumber; + + //职位 + private String position; + //部门名称 + private String departmentName; + //部门id + private String departmentId; + + +} diff --git a/src/main/java/com/lz/modules/app/service/DepartmentsService.java b/src/main/java/com/lz/modules/app/service/DepartmentsService.java index 78ad64da..37c017f2 100644 --- a/src/main/java/com/lz/modules/app/service/DepartmentsService.java +++ b/src/main/java/com/lz/modules/app/service/DepartmentsService.java @@ -53,5 +53,6 @@ public interface DepartmentsService extends IService { */ List getDepartmentTreeByStaffId(String staffId,boolean containSelf); + List selectAllDepartmentIds(List dIds); } diff --git a/src/main/java/com/lz/modules/app/service/StaffService.java b/src/main/java/com/lz/modules/app/service/StaffService.java index b9c444fb..75b4a912 100644 --- a/src/main/java/com/lz/modules/app/service/StaffService.java +++ b/src/main/java/com/lz/modules/app/service/StaffService.java @@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.lz.common.utils.PageUtils; import com.lz.modules.app.dto.*; +import com.lz.modules.app.entity.DepartmentsEntity; import com.lz.modules.app.entity.StaffEntity; +import com.lz.modules.app.entity.StaffSimpleInfo; import com.lz.modules.equipment.entity.model.FindByNameModel; import com.lz.modules.job.model.responseBo.DepartmentStaffBo; import com.lz.modules.sys.entity.SysUserEntity; @@ -86,5 +88,9 @@ public interface StaffService extends IService { List selectStaffSimpleInfoByIds(List ids); List getDepatAllStaffInfos(String departmentId); + + List selectAllStaffSimpleInfos(DepartmentsEntity depart); + + List selectStaffSimpleInfos(List sIds); } diff --git a/src/main/java/com/lz/modules/app/service/impl/DepartmentsServiceImpl.java b/src/main/java/com/lz/modules/app/service/impl/DepartmentsServiceImpl.java index 98ecaa03..73eaff46 100644 --- a/src/main/java/com/lz/modules/app/service/impl/DepartmentsServiceImpl.java +++ b/src/main/java/com/lz/modules/app/service/impl/DepartmentsServiceImpl.java @@ -265,5 +265,30 @@ public class DepartmentsServiceImpl extends ServiceImpl selectAllDepartmentIds(List dIds){ + List departmentsEntities = departmentsDao.selectEntityByDepartmentIds(dIds); + + List childs = selectAllChildDepartmentIds(departmentsEntities); + if(childs != null){ + departmentsEntities.addAll(childs); + } + + return departmentsEntities; + } + + public List selectAllChildDepartmentIds(List departmentsEntities){ + + List departments = departmentsDao.selectEntityByParentDepartmentIds(departmentsEntities); + if(departments.size() > 0){ + List childs = selectAllChildDepartmentIds(departments); + if(childs != null){ + departments.addAll(childs); + } + return departments; + } + return null; + } } diff --git a/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java b/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java index 580c4b69..fad8d263 100644 --- a/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java +++ b/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java @@ -453,6 +453,15 @@ public class StaffServiceImpl extends ServiceImpl impleme return staffDao.getDepatAllStaffInfos(departmentId); } + @Override + public List selectAllStaffSimpleInfos(DepartmentsEntity depart){ + return staffDao.selectAllStaffSimpleInfos(depart); + } + + @Override + public List selectStaffSimpleInfos(List sIds){ + return staffDao.selectStaffSimpleInfos(sIds); + } } diff --git a/src/main/java/com/lz/modules/flow/entity/EvaluationStartStaff.java b/src/main/java/com/lz/modules/flow/entity/EvaluationStartStaff.java index b1c6394f..2f385110 100644 --- a/src/main/java/com/lz/modules/flow/entity/EvaluationStartStaff.java +++ b/src/main/java/com/lz/modules/flow/entity/EvaluationStartStaff.java @@ -10,7 +10,7 @@ import java.util.Date; *

*

*发起考核考,核组人员对应关系表 * @author quyixiao -* @since 2020-10-22 +* @since 2020-10-23 */ @Data @@ -44,6 +44,9 @@ public class EvaluationStartStaff implements java.io.Serializable { //0: 未通知评分 1: 已通知评分 @ApiModelProperty(value = "0: 未通知评分 1: 已通知评分", name = "score") private Integer score; + //考核组名称 + @ApiModelProperty(value = "考核组名称", name = "evaluationName") + private String evaluationName; /** * * @return @@ -179,6 +182,21 @@ public class EvaluationStartStaff implements java.io.Serializable { this.score = score; } + /** + * 考核组名称 + * @return + */ + public String getEvaluationName() { + return evaluationName; + } + /** + * 考核组名称 + * @param evaluationName + */ + public void setEvaluationName(String evaluationName) { + this.evaluationName = evaluationName; + } + @Override public String toString() { return "EvaluationStartStaff{" + @@ -191,6 +209,7 @@ public class EvaluationStartStaff implements java.io.Serializable { ",staffId=" + staffId + ",type=" + type + ",score=" + score + + ",evaluationName=" + evaluationName + "}"; } } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/entity/FlowApprovalRole.java b/src/main/java/com/lz/modules/flow/entity/FlowApprovalRole.java index ce8738e1..acb3c034 100644 --- a/src/main/java/com/lz/modules/flow/entity/FlowApprovalRole.java +++ b/src/main/java/com/lz/modules/flow/entity/FlowApprovalRole.java @@ -10,7 +10,7 @@ import java.util.Date; *

*

*流程审批表 * @author quyixiao -* @since 2020-10-21 +* @since 2020-10-23 */ @Data @@ -47,6 +47,9 @@ public class FlowApprovalRole implements java.io.Serializable { //-1考核人员自己,0指定人员id,此时approval_id有值,1一级主管,2二级主管.... @ApiModelProperty(value = "-1考核人员自己,0指定人员id,此时approval_id有值,1一级主管,2二级主管....", name = "approvalType") private Integer approvalType; + //小结点的第几步,从0开始,如果是多人,步数相同 + @ApiModelProperty(value = "小结点的第几步,从0开始,如果是多人,步数相同", name = "stepIndex") + private Integer stepIndex; /** * * @return @@ -197,6 +200,21 @@ public class FlowApprovalRole implements java.io.Serializable { this.approvalType = approvalType; } + /** + * 小结点的第几步,从0开始,如果是多人,步数相同 + * @return + */ + public Integer getStepIndex() { + return stepIndex; + } + /** + * 小结点的第几步,从0开始,如果是多人,步数相同 + * @param stepIndex + */ + public void setStepIndex(Integer stepIndex) { + this.stepIndex = stepIndex; + } + @Override public String toString() { return "FlowApprovalRole{" + @@ -210,6 +228,7 @@ public class FlowApprovalRole implements java.io.Serializable { ",flowId=" + flowId + ",stepType=" + stepType + ",approvalType=" + approvalType + + ",stepIndex=" + stepIndex + "}"; } } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java b/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java index 081d66e6..7c0820cd 100644 --- a/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java +++ b/src/main/java/com/lz/modules/flow/service/EvaluationGroupService.java @@ -3,6 +3,7 @@ package com.lz.modules.flow.service; import com.baomidou.mybatisplus.extension.service.IService; import com.lz.common.utils.PageUtils; import com.lz.common.utils.R; +import com.lz.modules.app.entity.StaffSimpleInfo; import com.lz.modules.flow.entity.EvaluationGroup; import com.lz.modules.flow.req.EvaluationGroupReq; @@ -43,4 +44,6 @@ public interface EvaluationGroupService extends IService { List selectEvaluationGroupByIds(List ids); EvaluationGroup selectEvaluationGroupByName(String name); + //获取考核组里面所有参与的人员信息,去除重复,去除离职 + List selectAllStaffSimpleInfoByGroupId(EvaluationGroup evaluationGroup); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java index e662a7a6..3a60922d 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java @@ -5,6 +5,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.lz.common.utils.ISelect; import com.lz.common.utils.PageUtils; import com.lz.common.utils.R; +import com.lz.common.utils.StringUtil; +import com.lz.modules.app.entity.DepartmentsEntity; +import com.lz.modules.app.entity.StaffSimpleInfo; +import com.lz.modules.app.service.DepartmentsService; import com.lz.modules.app.service.StaffOccupationService; import com.lz.modules.app.service.StaffService; import com.lz.modules.flow.dao.EvaluationGroupMapper; @@ -16,6 +20,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; +import java.util.function.Function; +import java.util.function.Supplier; +import java.util.stream.Collectors; /** *

@@ -40,6 +47,9 @@ public class EvaluationGroupServiceImpl extends ServiceImpl selectAllStaffSimpleInfoByGroupId(EvaluationGroup evaluationGroup){ + List staffSimpleInfos = new ArrayList<>(); + if(!StringUtil.isEmpty(evaluationGroup.getDepIds())){ + + + List dIds = Arrays.stream(evaluationGroup. + getDepIds().split(",")).map(new Function() { + @Override + public String apply(String s) { + return s; + } + }).collect(Collectors.toList()); + //获取所有部门信息,包括子部门 + List departmentsEntities = departmentsService.selectAllDepartmentIds(dIds); + //下面获取部门下面的所有在职人员 + for (DepartmentsEntity depart:departmentsEntities + ) { + + List staffSimpleInfos1 = staffService.selectAllStaffSimpleInfos(depart); + if(staffSimpleInfos1 != null){ + staffSimpleInfos.addAll(staffSimpleInfos1); + } + } + } + + if(!StringUtil.isEmpty(evaluationGroup.getStaffIds())){ + + List sIds = Arrays.stream(evaluationGroup.getStaffIds() + .split(",")).map(new Function() { + @Override + public Long apply(String s) { + return Long.parseLong(s); + } + }).collect(Collectors.toList()); + List staffSimpleInfos1 = staffService.selectStaffSimpleInfos(sIds); + if(staffSimpleInfos1 != null){ + staffSimpleInfos.addAll(staffSimpleInfos1); + } + } + //下面去重 + if(staffSimpleInfos.size() > 1){ + //下面去除跨部门的人员,只保留第一次添加进来的人员 + Map staffSimpleInfoMap = + staffSimpleInfos.stream().collect(Collectors.toMap(StaffSimpleInfo::getId, Function.identity(), (e, replace) -> e)); + //下面删除排除人员信息 + if(!StringUtil.isEmpty(evaluationGroup.getOutIds())){ + List oIds = Arrays.stream(evaluationGroup.getOutIds().split(",")).map(new Function() { + @Override + public Long apply(String s) { + return Long.parseLong(s); + } + }).collect(Collectors.toList()); + + for (Long id:oIds + ) { + staffSimpleInfoMap.remove(id); + } + } + staffSimpleInfos = staffSimpleInfoMap.values().stream().collect(Collectors.toList()); + } + + + return staffSimpleInfos; + } } diff --git a/src/main/java/com/lz/modules/flow/service/impl/EvaluationStartStaffServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/EvaluationStartStaffServiceImpl.java index de384347..0e6993fd 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/EvaluationStartStaffServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/EvaluationStartStaffServiceImpl.java @@ -67,7 +67,7 @@ public class EvaluationStartStaffServiceImpl extends ServiceImpl startStaffs = new ArrayList<>(); for (EvaluationStartStaff startStaff:evaluationStartStaffs 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 bb61beb3..ed9229ed 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 @@ -68,7 +68,7 @@ public class FlowApprovalRoleServiceImpl extends ServiceImpl approvalRoles = new ArrayList<>(); for (FlowApprovalRole role:flowApprovalRoles 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 ed7c0c73..f95e0217 100644 --- a/src/main/java/com/lz/modules/performance/controller/FlowStartController.java +++ b/src/main/java/com/lz/modules/performance/controller/FlowStartController.java @@ -7,19 +7,21 @@ import com.lz.common.emun.CheckStaffType; import com.lz.common.utils.PageUtils; import com.lz.common.utils.R; import com.lz.common.utils.StringUtil; +import com.lz.modules.app.entity.StaffSimpleInfo; import com.lz.modules.flow.entity.*; +import com.lz.modules.flow.model.ResultModelDto; +import com.lz.modules.flow.model.ResultTagetLibDto; import com.lz.modules.flow.service.*; import com.lz.modules.sys.entity.app.ResultDetail; import com.lz.modules.sys.entity.app.ResultRecord; +import com.lz.modules.sys.service.app.ResultDetailService; +import com.lz.modules.sys.service.app.ResultRecordService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.apache.commons.collections.map.HashedMap; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.*; import java.util.function.Function; @@ -54,16 +56,26 @@ public class FlowStartController { @Autowired private FlowApprovalRoleService flowApprovalRoleService; + @Autowired + private FlowChartService flowChartService; + + @Autowired + private ResultRecordService resultRecordService; + + @Autowired + private ResultDetailService resultDetailService; - @RequestMapping("/getById") - public R getById(@RequestBody FlowStart flowStart) { - flowStart = flowStartService.selectFlowStartById(flowStart.getId()); - return R.ok().put("flowStart",flowStart); + @GetMapping("/getById") + public R getById(@RequestParam Long id) { + EvaluationGroup evaluationGroup = evaluationGroupService.selectEvaluationGroupById(id); + List staffIds = evaluationGroupService.selectAllStaffSimpleInfoByGroupId(evaluationGroup); + //flowStart = flowStartService.selectFlowStartById(flowStart.getId()); + return R.ok().put("data",staffIds); } @@ -78,12 +90,12 @@ public class FlowStartController { @ApiOperation("发起新的考核任务") public R save(@RequestBody @ApiParam FlowStart flowStart) { flowStartService.insertFlowStart(flowStart); - Map chartNameMaps = new HashedMap(); + Map chartNameMaps = new HashedMap(); //下面开始初始化流程 List ids = Arrays.stream(flowStart.getGroupIds().split(",")).map(new Function() { @Override public Long apply(String s) { - return Long.getLong(s); + return Long.parseLong(s); } }).collect(Collectors.toList()); List evaluationGroups = evaluationGroupService.selectEvaluationGroupByIds(ids); @@ -91,15 +103,16 @@ public class FlowStartController { for (EvaluationGroup evaluationGroup:evaluationGroups ) { //下面初始化员工考核流程 - List staffIds = evaluationGroupService.selectAllStaffIdsByGroupId(evaluationGroup.getId()); - + List staffIds = evaluationGroupService.selectAllStaffSimpleInfoByGroupId(evaluationGroup); + Map staffSimpleInfoMap = + staffIds.stream().collect(Collectors.toMap(StaffSimpleInfo::getId, Function.identity(), (e, replacement) -> e)); if(staffIds.size() == 0){ return R.error(evaluationGroup.getName() + "——无有效考核人员"); } - List resultModels = resultModelService.selectResultModelByGroupId(evaluationGroup.getId()); - if(resultModels.size() == 0){ + List resultModelDtos = resultModelService.selectResultDtoByGroupId(evaluationGroup.getId()); + if(resultModelDtos.size() == 0){ return R.error(evaluationGroup.getName() + "——没有设置考核模板"); } @@ -109,107 +122,165 @@ public class FlowStartController { return R.error(evaluationGroup.getName() + "——没有设置考核流程"); } - //初始化lz_result_records数据 - List resultRecords = new ArrayList<>(); - //初始化lz_result_details数据 - List resultDetails = new ArrayList<>(); + //下面初始化lz_flow流程表 lz_flow_approval_role流程审批表 + List flowApprovalRoles = new ArrayList<>(); + int stepIndex = 0; + 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){ + FlowChart flowChart = flowChartService.selectFlowChartById(flowChartDetailRecord.getChartId()); + chartNameMaps.put(flowChart.getId(), flowChart.getName()); + optName = flowChart.getName(); + } + flow.setOpt(optName); + flowService.insertFlow(flow); - List evaluationStartStaffs = new ArrayList<>(); - //下面初始化参与人员 - for (String staffId:staffIds - ) { - EvaluationStartStaff evaluationStartStaff = new EvaluationStartStaff(); - evaluationStartStaff.setEvaluationId(evaluationGroup.getId()); - evaluationStartStaff.setStaffId(Long.getLong(staffId)); - evaluationStartStaff.setStaffId(flowStart.getId()); - evaluationStartStaff.setType(CheckStaffType.STAFF.getCode()); - evaluationStartStaffs.add(evaluationStartStaff); - - - for (ResultModel resultModel:resultModels - ) { - ResultRecord resultRecord = new ResultRecord(); + if(flowChartDetailRecord.getOptType().intValue() == ChartOptType.APPOINT.getCode()){//指定人员的 + String[] optIds = flowChartDetailRecord.getOptIds().split(","); + for (String id:optIds + ) { + String[] roleIds = flowChartDetailRecord.getRoleIds().split(","); + for (String roleId:roleIds + ) { + FlowApprovalRole flowApprovalRole = new FlowApprovalRole(); + flowApprovalRole.setFlowId(flow.getId()); + flowApprovalRole.setApprovalId(Long.parseLong(id)); + flowApprovalRole.setStepType(flowChartDetailRecord.getStepType()); + flowApprovalRole.setRoleId(Long.parseLong(roleId)); + flowApprovalRole.setApprovalType(flowChartDetailRecord.getOptType()); + flowApprovalRoles.add(flowApprovalRole); + flowApprovalRole.setStepType(stepIndex); + } + stepIndex++; + } + }else{ + String[] roleIds = flowChartDetailRecord.getRoleIds().split(","); + for (String roleId:roleIds + ) { + FlowApprovalRole flowApprovalRole = new FlowApprovalRole(); + flowApprovalRole.setFlowId(flow.getId()); + flowApprovalRole.setStepType(flowChartDetailRecord.getStepType()); + flowApprovalRole.setRoleId(Long.parseLong(roleId)); + flowApprovalRole.setApprovalType(flowChartDetailRecord.getOptType()); + flowApprovalRoles.add(flowApprovalRole); + flowApprovalRole.setStepType(stepIndex); + stepIndex++; + } } - } - if(evaluationStartStaffs.size() == 0){ + //插入记录 + if(flowApprovalRoles.size() > 0){ + flowApprovalRoleService.insertFlowApprovalRoles(flowApprovalRoles); - return R.error(evaluationGroup.getName() + "——未指定考核参与人员"); + //初始化lz_result_details数据 + List resultDetails = new ArrayList<>(); - } - //下面初始化管理人员 - if(evaluationGroup.getManagerIds() != null && evaluationGroup.getManagerIds().length() > 0){ - String[] managerIds = evaluationGroup.getManagerIds().split(","); - for (String staffId:managerIds - ) { + List evaluationStartStaffs = new ArrayList<>(); + //下面初始化参与人员 + for (StaffSimpleInfo staffInfo:staffIds + ) { EvaluationStartStaff evaluationStartStaff = new EvaluationStartStaff(); evaluationStartStaff.setEvaluationId(evaluationGroup.getId()); - evaluationStartStaff.setStaffId(Long.getLong(staffId)); + evaluationStartStaff.setEvaluationName(evaluationGroup.getName()); + evaluationStartStaff.setStaffId(staffInfo.getId()); evaluationStartStaff.setStaffId(flowStart.getId()); - evaluationStartStaff.setType(CheckStaffType.MANAGER.getCode()); + evaluationStartStaff.setType(CheckStaffType.STAFF.getCode()); evaluationStartStaffs.add(evaluationStartStaff); - } - } - if(evaluationStartStaffs.size() > 0){ - evaluationStartStaffService.insertEvaluationStartStaffs(evaluationStartStaffs); - //下面初始化lz_flow流程表 lz_flow_approval_role流程审批表 - List flowApprovalRoles = new ArrayList<>(); - for (FlowChartDetailRecord flowChartDetailRecord:flowChartDetailRecords + //初始化lz_result_records数据 + ResultRecord resultRecord = new ResultRecord(); + resultRecord.setDepartmentId(staffInfo.getDepartmentId()); + resultRecord.setDepartmentName(staffInfo.getDepartmentName()); + resultRecord.setStaffId(staffInfo.getId()); + resultRecord.setStaffName(staffInfo.getName()); + resultRecord.setType(1);//设置为提交目标 + resultRecord.setStatus(0);//设置为新建 + resultRecord.setStartId(flowStart.getId()); + resultRecord.setEvaluationId(evaluationGroup.getId()); + resultRecord.setFlowProcess(0);//设置为目标制定 + + //下面初始化flow_staff_id_role字段,步骤为0的 + String roleJSON = "["; + for (int i = 0; i < flowApprovalRoles.size() ;i++){ + FlowApprovalRole approvalRole = flowApprovalRoles.get(i); + if(approvalRole.getStepIndex().intValue() == 0){ + if(i == 0){ + //设置当前审批员工id current_approval_staff_id + resultRecord.setCurrentApprovalStaffId(approvalRole.getApprovalId()); + //设置当前审批员工姓名 current_approval_staff_name + resultRecord.setCurrentApprovalStaffName(""); + roleJSON += ("{\"roleId\":"+ approvalRole.getRoleId() + + ",\"staffId\":" + approvalRole.getApprovalId() + "}"); + }else{ + roleJSON += (",{\"roleId\":"+ approvalRole.getRoleId() + + ",\"staffId\":" + approvalRole.getApprovalId() + "}"); + } + } + } + roleJSON += "]"; + resultRecord.setFlowStaffIdRole(roleJSON); + resultRecordService.insertResultRecord(resultRecord); + //下面生成ResultDetail对象 + for (ResultModelDto modelDto:resultModelDtos ) { - 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){ + if(modelDto.getTagetLibs().size() > 0){//模板里面有添加指标 + for (ResultTagetLibDto libDto: + modelDto.getTagetLibs()) { + ResultDetail resultDetail = new ResultDetail(); + resultDetail.setRecordId(resultRecord.getId()); + resultDetail.setTarget(libDto.getName()); + resultDetail.setType(modelDto.getType()); + resultDetail.setKeyResult(libDto.getKeyResult()); + resultDetail.setCheckWeight(libDto.getWeight()); + resultDetail.setStaffId(staffInfo.getId()); + resultDetail.setPriority(libDto.getOrderBy()); + resultDetails.add(resultDetail); + } + } + } + } + //如果有数据插入lz_result_detail表 + if(resultDetails.size() > 0){ + // + resultDetailService.insertResultDetails(resultDetails); + } + + //下面初始化管理人员 + if(!StringUtil.isEmpty(evaluationGroup.getManagerIds())){ + String[] managerIds = evaluationGroup.getManagerIds().split(","); + for (String staffId:managerIds + ) { + EvaluationStartStaff evaluationStartStaff = new EvaluationStartStaff(); + evaluationStartStaff.setEvaluationId(evaluationGroup.getId()); + evaluationStartStaff.setEvaluationName(evaluationGroup.getName()); + evaluationStartStaff.setStaffId(Long.parseLong(staffId)); + evaluationStartStaff.setStaffId(flowStart.getId()); + evaluationStartStaff.setType(CheckStaffType.MANAGER.getCode()); + evaluationStartStaffs.add(evaluationStartStaff); + + } + } + + evaluationStartStaffService.insertEvaluationStartStaffs(evaluationStartStaffs); + }else{ + return R.error(evaluationGroup.getName() + "——初始化考核流程失败"); + } - } - flow.setOpt(optName); - flowService.insertFlow(flow); - if(flowChartDetailRecord.getOptType().intValue() == ChartOptType.APPOINT.getCode()){//指定人员的 - String[] optIds = flowChartDetailRecord.getOptIds().split(","); - for (String id:optIds - ) { - String[] roleIds = flowChartDetailRecord.getRoleIds().split(","); - for (String roleId:roleIds - ) { - FlowApprovalRole flowApprovalRole = new FlowApprovalRole(); - flowApprovalRole.setFlowId(flow.getId()); - flowApprovalRole.setApprovalId(Long.getLong(id)); - flowApprovalRole.setStepType(flowChartDetailRecord.getStepType()); - flowApprovalRole.setRoleId(Long.getLong(roleId)); - flowApprovalRole.setApprovalType(flowChartDetailRecord.getOptType()); - flowApprovalRoles.add(flowApprovalRole); - } - } - }else{ - String[] roleIds = flowChartDetailRecord.getRoleIds().split(","); - for (String roleId:roleIds - ) { - FlowApprovalRole flowApprovalRole = new FlowApprovalRole(); - flowApprovalRole.setFlowId(flow.getId()); - flowApprovalRole.setStepType(flowChartDetailRecord.getStepType()); - flowApprovalRole.setRoleId(Long.getLong(roleId)); - flowApprovalRole.setApprovalType(flowChartDetailRecord.getOptType()); - flowApprovalRoles.add(flowApprovalRole); - } - } - //插入记录 - } - if(flowApprovalRoles.size() > 0){ - flowApprovalRoleService.insertFlowApprovalRoles(flowApprovalRoles); - } //下面初始化lz_result_record表和lz_result_detail表 - } + diff --git a/src/main/java/com/lz/modules/sys/dao/app/ResultDetailMapper.java b/src/main/java/com/lz/modules/sys/dao/app/ResultDetailMapper.java index 64b3eead..a6ee1644 100644 --- a/src/main/java/com/lz/modules/sys/dao/app/ResultDetailMapper.java +++ b/src/main/java/com/lz/modules/sys/dao/app/ResultDetailMapper.java @@ -41,4 +41,6 @@ public interface ResultDetailMapper extends BaseMapper { //计算业务/价值观得分 BigDecimal calculateScore(@Param("recordId") Long recordId, @Param("staffId") Long staffId,@Param("type") Integer type); + + Long insertResultDetails(List resultDetails); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/sys/entity/app/ResultRecord.java b/src/main/java/com/lz/modules/sys/entity/app/ResultRecord.java index d1e966dd..cb403e66 100644 --- a/src/main/java/com/lz/modules/sys/entity/app/ResultRecord.java +++ b/src/main/java/com/lz/modules/sys/entity/app/ResultRecord.java @@ -1,59 +1,87 @@ package com.lz.modules.sys.entity.app; -import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.Date; /** *

-* 菜单权限表 *

*业绩记录表 * @author quyixiao -* @since 2020-09-15 +* @since 2020-10-23 */ @Data @TableName("lz_result_record") +@ApiModel(value = "业绩记录表") public class ResultRecord implements java.io.Serializable { // @TableId(value = "id", type = IdType.AUTO) private Long id; //是否删除状态,1:删除,0:有效 + @ApiModelProperty(value = "是否删除状态,1:删除,0:有效", name = "isDelete") private Integer isDelete; //创建时间 + @ApiModelProperty(value = "创建时间", name = "gmtCreate") private Date gmtCreate; //最后修改时间 + @ApiModelProperty(value = "最后修改时间", name = "gmtModified") private Date gmtModified; //月份 + @ApiModelProperty(value = "月份", name = "monthTime") private Date monthTime; //0.新建,1 提交审批中,2 拒绝, 3 侍提交 ,4 审批通过,5 驳回,6申述,7 流程终止 + @ApiModelProperty(value = "0.新建,1 提交审批中,2 拒绝, 3 侍提交 ,4 审批通过,5 驳回,6申述,7 流程终止", name = "status") private Integer status; //最后得分 + @ApiModelProperty(value = "最后得分", name = "lastScore") private BigDecimal lastScore; //总分 + @ApiModelProperty(value = "总分", name = "allScore") private BigDecimal allScore; //备注 + @ApiModelProperty(value = "备注", name = "remark") private String remark; //员工id + @ApiModelProperty(value = "员工id", name = "staffId") private Long staffId; //类型 ,1 表示提交目标,2 表示提交结果 + @ApiModelProperty(value = "类型 ,1 表示提交目标,2 表示提交结果", name = "type") private Integer type; //当前审批流转所在员工 id + @ApiModelProperty(value = "当前审批流转所在员工 id", name = "flowStaffIdRole") private String flowStaffIdRole; //员工所在部门 id + @ApiModelProperty(value = "员工所在部门 id", name = "departmentId") private String departmentId; //员工所在部门名称 + @ApiModelProperty(value = "员工所在部门名称", name = "departmentName") private String departmentName; //员工姓名 + @ApiModelProperty(value = "员工姓名", name = "staffName") private String staffName; //当前审批的员工 id + @ApiModelProperty(value = "当前审批的员工 id", name = "currentApprovalStaffId") private Long currentApprovalStaffId; //当前审批的员工名,以逗号隔开 + @ApiModelProperty(value = "当前审批的员工名,以逗号隔开", name = "currentApprovalStaffName") private String currentApprovalStaffName; //等级 + @ApiModelProperty(value = "等级", name = "scoreLevel") private String scoreLevel; + //发起考核次数 + @ApiModelProperty(value = "发起考核次数", name = "startId") + private Long startId; + //当前是目标确认还是评分,0,目标制定,1,目标确认,2执行中,3,结果值录入,4,评分,5考核结束 + @ApiModelProperty(value = "当前是目标确认还是评分,0,目标制定,1,目标确认,2执行中,3,结果值录入,4,评分,5考核结束", name = "flowProcess") + private Integer flowProcess; + //考核组id + @ApiModelProperty(value = "考核组id", name = "evaluationId") + private Long evaluationId; /** * * @return @@ -130,14 +158,14 @@ public class ResultRecord implements java.io.Serializable { } /** - * 0.新建,1 提交审批中,2 拒绝, 3 侍提交 ,4 审批通过,5 驳回 + * 0.新建,1 提交审批中,2 拒绝, 3 侍提交 ,4 审批通过,5 驳回,6申述,7 流程终止 * @return */ public Integer getStatus() { return status; } /** - * 0.新建,1 提交审批中,2 拒绝, 3 侍提交 ,4 审批通过,5 驳回 + * 0.新建,1 提交审批中,2 拒绝, 3 侍提交 ,4 审批通过,5 驳回,6申述,7 流程终止 * @param status */ public void setStatus(Integer status) { @@ -324,6 +352,51 @@ public class ResultRecord implements java.io.Serializable { this.scoreLevel = scoreLevel; } + /** + * 发起考核次数 + * @return + */ + public Long getStartId() { + return startId; + } + /** + * 发起考核次数 + * @param startId + */ + public void setStartId(Long startId) { + this.startId = startId; + } + + /** + * 当前是目标确认还是评分,0,目标制定,1,目标确认,2执行中,3,结果值录入,4,评分,5考核结束 + * @return + */ + public Integer getFlowProcess() { + return flowProcess; + } + /** + * 当前是目标确认还是评分,0,目标制定,1,目标确认,2执行中,3,结果值录入,4,评分,5考核结束 + * @param flowProcess + */ + public void setFlowProcess(Integer flowProcess) { + this.flowProcess = flowProcess; + } + + /** + * 考核组id + * @return + */ + public Long getEvaluationId() { + return evaluationId; + } + /** + * 考核组id + * @param evaluationId + */ + public void setEvaluationId(Long evaluationId) { + this.evaluationId = evaluationId; + } + @Override public String toString() { return "ResultRecord{" + @@ -345,6 +418,9 @@ public class ResultRecord implements java.io.Serializable { ",currentApprovalStaffId=" + currentApprovalStaffId + ",currentApprovalStaffName=" + currentApprovalStaffName + ",scoreLevel=" + scoreLevel + + ",startId=" + startId + + ",flowProcess=" + flowProcess + + ",evaluationId=" + evaluationId + "}"; } } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/sys/service/app/ResultDetailService.java b/src/main/java/com/lz/modules/sys/service/app/ResultDetailService.java index 2b74aa17..3677aa1f 100644 --- a/src/main/java/com/lz/modules/sys/service/app/ResultDetailService.java +++ b/src/main/java/com/lz/modules/sys/service/app/ResultDetailService.java @@ -65,4 +65,6 @@ public interface ResultDetailService extends IService { String getScoreLevel(double doubleValue); List selectByRecordIdAndType(Long id, int i); + + Long insertResultDetails(List resultDetails); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java index 49780b96..210f6d95 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java @@ -81,6 +81,8 @@ public class ResultDetailServiceImpl extends ServiceImpl resultDetails){ + if(resultDetails.size() <= maxInsertSQL){ + return resultDetailMapper.insertResultDetails(resultDetails); + } + } + } diff --git a/src/main/resources/mapper/app/ResultDetailMapper.xml b/src/main/resources/mapper/app/ResultDetailMapper.xml index 036f6217..07548b07 100644 --- a/src/main/resources/mapper/app/ResultDetailMapper.xml +++ b/src/main/resources/mapper/app/ResultDetailMapper.xml @@ -145,5 +145,35 @@ and record_id = #{recordId} and staff_id = #{staffId} and type = #{type} + + insert into lz_result_detail( + type, + target, + key_result, + check_weight, + check_result, + super_score, + acquire_score, + score_comment, + record_id, + staff_id, + priority, + is_delete + )values( + #{ type}, + #{ target}, + #{ keyResult}, + #{ checkWeight}, + #{ checkResult}, + #{ superScore}, + #{ acquireScore}, + #{ scoreComment}, + #{ recordId}, + #{ staffId}, + #{ priority}, + 0 + ) + + diff --git a/src/main/resources/mapper/app/ResultRecordMapper.xml b/src/main/resources/mapper/app/ResultRecordMapper.xml index 2c570ee5..18a8858a 100644 --- a/src/main/resources/mapper/app/ResultRecordMapper.xml +++ b/src/main/resources/mapper/app/ResultRecordMapper.xml @@ -1,6 +1,6 @@ - + @@ -22,12 +22,15 @@ + + + - id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, month_time AS monthTime, status AS status, last_score AS lastScore, all_score AS allScore, remark AS remark, staff_id AS staffId, type AS type, flow_staff_id_role AS flowStaffIdRole, department_id AS departmentId, department_name AS departmentName, staff_name AS staffName, current_approval_staff_id AS currentApprovalStaffId, current_approval_staff_name AS currentApprovalStaffName, score_level AS scoreLevel + id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, month_time AS monthTime, status AS status, last_score AS lastScore, all_score AS allScore, remark AS remark, staff_id AS staffId, type AS type, flow_staff_id_role AS flowStaffIdRole, department_id AS departmentId, department_name AS departmentName, staff_name AS staffName, current_approval_staff_id AS currentApprovalStaffId, current_approval_staff_name AS currentApprovalStaffName, score_level AS scoreLevel, start_id AS startId, flow_process AS flowProcess, evaluation_id AS evaluationId @@ -54,6 +57,9 @@ current_approval_staff_id, current_approval_staff_name, score_level, + start_id, + flow_process, + evaluation_id, is_delete, gmt_create, gmt_modified @@ -72,6 +78,9 @@ #{ currentApprovalStaffId}, #{ currentApprovalStaffName}, #{ scoreLevel}, + #{ startId}, + #{ flowProcess}, + #{ evaluationId}, 0, now(), now() @@ -98,7 +107,10 @@ staff_name = #{staffName}, current_approval_staff_id = #{currentApprovalStaffId}, current_approval_staff_name = #{currentApprovalStaffName}, - score_level = #{scoreLevel} + score_level = #{scoreLevel}, + start_id = #{startId}, + flow_process = #{flowProcess}, + evaluation_id = #{evaluationId} ,gmt_modified = now() where id = #{id} @@ -124,7 +136,10 @@ staff_name = #{staffName}, current_approval_staff_id = #{currentApprovalStaffId}, current_approval_staff_name = #{currentApprovalStaffName}, - score_level = #{scoreLevel} + score_level = #{scoreLevel}, + start_id = #{startId}, + flow_process = #{flowProcess}, + evaluation_id = #{evaluationId} ,gmt_modified = now() where id = #{id} @@ -134,7 +149,6 @@ update lz_result_record set is_delete = 1 where id=#{id} limit 1 - update lz_result_record set is_delete = 2 where id=#{id} limit 1 @@ -244,10 +258,10 @@ a GROUP by id - order by department_id desc + order by department_id desc - order by id desc + order by id desc diff --git a/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml b/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml index e9079262..cd8ff324 100644 --- a/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml +++ b/src/main/resources/mapper/flow/EvaluationStartStaffMapper.xml @@ -13,19 +13,20 @@ + - id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, evaluation_id AS evaluationId, start_id AS startId, staff_id AS staffId, type AS type, score AS score + id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, evaluation_id AS evaluationId, start_id AS startId, staff_id AS staffId, type AS type, score AS score, evaluation_name AS evaluationName @@ -36,6 +37,7 @@ staff_id, type, score, + evaluation_name, is_delete, gmt_create, gmt_modified @@ -45,6 +47,7 @@ #{ staffId}, #{ type}, #{ score}, + #{ evaluationName}, 0, now(), now() @@ -62,7 +65,8 @@ start_id = #{startId}, staff_id = #{staffId}, type = #{type}, - score = #{score} + score = #{score}, + evaluation_name = #{evaluationName} ,gmt_modified = now() where id = #{id} @@ -71,22 +75,25 @@ update - lz_evaluation_start_staff + lz_evaluation_start_staff set - is_delete = #{isDelete}, - gmt_create = #{gmtCreate}, - evaluation_id = #{evaluationId}, - start_id = #{startId}, - staff_id = #{staffId}, - type = #{type}, - score = #{score} + is_delete = #{isDelete}, + gmt_create = #{gmtCreate}, + evaluation_id = #{evaluationId}, + start_id = #{startId}, + staff_id = #{staffId}, + type = #{type}, + score = #{score}, + evaluation_name = #{evaluationName} ,gmt_modified = now() where id = #{id} + - update lz_evaluation_start_staff set is_delete = 1 where id=#{id} limit 1 + update lz_evaluation_start_staff set is_delete = 1 where id=#{id} limit 1 + insert into lz_evaluation_start_staff( @@ -94,6 +101,7 @@ start_id, staff_id, type, + evaluation_name, is_delete )values ( @@ -101,6 +109,7 @@ #{ item.startId}, #{ item.staffId}, #{ item.type}, + #{ item.evaluationName}, 0 ) diff --git a/src/main/resources/mapper/flow/FlowApprovalRoleMapper.xml b/src/main/resources/mapper/flow/FlowApprovalRoleMapper.xml index 240b132e..dcb59247 100644 --- a/src/main/resources/mapper/flow/FlowApprovalRoleMapper.xml +++ b/src/main/resources/mapper/flow/FlowApprovalRoleMapper.xml @@ -14,50 +14,53 @@ + - id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, approval_id AS approvalId, type AS type, role_id AS roleId, flow_id AS flowId, step_type AS stepType, approval_type AS approvalType + id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, approval_id AS approvalId, type AS type, role_id AS roleId, flow_id AS flowId, step_type AS stepType, approval_type AS approvalType, step_index AS stepIndex insert into lz_flow_approval_role( - approval_id, - type, - role_id, - flow_id, - step_type, - approval_type, - is_delete, - gmt_create, - gmt_modified + approval_id, + type, + role_id, + flow_id, + step_type, + approval_type, + step_index, + is_delete, + gmt_create, + gmt_modified )values( - #{ approvalId}, - #{ type}, - #{ roleId}, - #{ flowId}, - #{ stepType}, - #{ approvalType}, - 0, - now(), - now() + #{ approvalId}, + #{ type}, + #{ roleId}, + #{ flowId}, + #{ stepType}, + #{ approvalType}, + #{ stepIndex}, + 0, + now(), + now() ) update - lz_flow_approval_role + lz_flow_approval_role is_delete = #{isDelete}, gmt_create = #{gmtCreate}, @@ -66,7 +69,8 @@ role_id = #{roleId}, flow_id = #{flowId}, step_type = #{stepType}, - approval_type = #{approvalType} + approval_type = #{approvalType}, + step_index = #{stepIndex} ,gmt_modified = now() where id = #{id} @@ -75,8 +79,8 @@ update - lz_flow_approval_role - set + lz_flow_approval_role + set is_delete = #{isDelete}, gmt_create = #{gmtCreate}, approval_id = #{approvalId}, @@ -84,7 +88,8 @@ role_id = #{roleId}, flow_id = #{flowId}, step_type = #{stepType}, - approval_type = #{approvalType} + approval_type = #{approvalType}, + step_index = #{stepIndex} ,gmt_modified = now() where id = #{id} @@ -103,6 +108,7 @@ flow_id, step_type, approval_type, + step_index, is_delete )values ( @@ -112,6 +118,7 @@ #{ item.flowId}, #{ item.stepType}, #{ item.approvalType}, + #{ item.stepIndex}, 0 ) diff --git a/src/main/resources/mapper/generator/DepartmentsDao.xml b/src/main/resources/mapper/generator/DepartmentsDao.xml index 173a17d4..0d9280ad 100644 --- a/src/main/resources/mapper/generator/DepartmentsDao.xml +++ b/src/main/resources/mapper/generator/DepartmentsDao.xml @@ -154,7 +154,21 @@ where d1.department_id = #{departmentId} + + diff --git a/src/main/resources/mapper/generator/StaffDao.xml b/src/main/resources/mapper/generator/StaffDao.xml index 86b09b19..f3e0247f 100644 --- a/src/main/resources/mapper/generator/StaffDao.xml +++ b/src/main/resources/mapper/generator/StaffDao.xml @@ -479,4 +479,26 @@ join lz_staff_occupation occ on jj.staff_id=occ.staff_id where occ.staff_status=0 and occ.is_delete=0 + + + diff --git a/src/test/java/com/lz/mysql/MysqlMain.java b/src/test/java/com/lz/mysql/MysqlMain.java index 5a1398c5..98389dd8 100644 --- a/src/test/java/com/lz/mysql/MysqlMain.java +++ b/src/test/java/com/lz/mysql/MysqlMain.java @@ -5,9 +5,9 @@ import org.springframework.util.ResourceUtils; import java.io.File; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; public class MysqlMain { @@ -51,6 +51,20 @@ public class MysqlMain { */ public static void main(String[] args) throws Exception { + /*List testMaps = new ArrayList<>(); + TestMap test = new TestMap(); + test.setName("123"); + test.setMobile("18969093321"); + testMaps.add(test); + + test = new TestMap(); + test.setName("123"); + test.setMobile("18969093321"); + testMaps.add(test); + + Map t = testMaps.stream().collect(Collectors.toMap(TestMap::getName, testMap -> testMap));*/ + + String path = ResourceUtils.getURL("classpath:").getPath(); System.out.println(path); String dir = null; @@ -82,7 +96,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_flow")); + list.add(new TablesBean("lz_evaluation_start_staff")); List list2 = new ArrayList(); Map map = MysqlUtil2ShowCreateTable.getComments();