From 9b9ed98db680f7a36f5f234fe2b2146bcf24ff66 Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Thu, 20 Aug 2020 19:23:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ResultRecordController.java | 49 ++++++----- .../lz/modules/app/req/ResultRecordReq.java | 5 +- .../lz/modules/flow/dao/StaffRoleMapper.java | 2 +- .../lz/modules/flow/entity/FlowRecord.java | 18 ---- .../com/lz/modules/flow/entity/StaffRole.java | 28 +++---- .../flow/entity/StaffRoleDepartment.java | 6 +- .../modules/flow/model/ResultRecordDto.java | 16 ++++ .../lz/modules/flow/model/StaffRoleDto.java | 11 +++ .../service/impl/StaffRoleServiceImpl.java | 5 +- .../sys/dao/app/ResultRecordMapper.java | 5 ++ .../modules/sys/entity/app/ResultRecord.java | 58 +++++++++++++ .../sys/service/app/ResultRecordService.java | 2 + .../app/impl/ResultRecordServiceImpl.java | 65 ++++++--------- .../mapper/app/ResultRecordMapper.xml | 82 ++++++++++++++++--- .../mapper/flow/FlowRecordMapper.xml | 12 +-- .../mapper/flow/StaffRoleDepartmentMapper.xml | 2 +- .../resources/mapper/flow/StaffRoleMapper.xml | 25 +++--- 17 files changed, 254 insertions(+), 137 deletions(-) create mode 100644 src/main/java/com/lz/modules/flow/model/ResultRecordDto.java diff --git a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java index 967ace03..0c094827 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -106,13 +106,11 @@ public class ResultRecordController extends AbstractController { @RequestMapping("/getStaffResultDetail") public R getStaffResultDetail(ResultRecordReq req) { - int firstRowspan = 0; int secondRowspan = 0; int threeRowspan = 0; int fourRowspan = 0; int fiveRowspan = 0; - int recordType = req.getRecordType(); ResultRecord resultRecord = resultRecordService.selectResultRecordById(req.getRecordResultId()); StaffEntity staffEntity = staffService.getById(resultRecord != null ? resultRecord.getStaffId() : getUserId()); @@ -255,12 +253,13 @@ public class ResultRecordController extends AbstractController { public R commitApproval(ResultRecordReq req) { ResultRecord resultRecord = resultRecordService.selectResultRecordById(req.getRecordResultId()); StaffEntity staffEntity = staffService.selectStaffById(resultRecord.getStaffId()); + StaffEntity mySelf = staffService.selectStaffById(getUserId()); FlowDepartment flowDepartment = flowDepartmentService.selectByStaffId(staffEntity.getId()); - Long flowId =flowDepartment !=null ? flowDepartment.getSelfFlowId() : 0l; // 表示是部门主管自己 - DepartmentsStaffRelateEntity departmentsStaffRelateEntity = departmentsStaffRelateService.selectLastDepartmentByStaffId(staffEntity.getId()); + Long flowId = flowDepartment != null ? flowDepartment.getSelfFlowId() : 0l; // 表示是部门主管自己 if (flowDepartment == null) { + DepartmentsStaffRelateEntity departmentsStaffRelateEntity = departmentsStaffRelateService.selectLastDepartmentByStaffId(staffEntity.getId()); DepartmentsStaffRelateEntity leader = departmentsStaffRelateService.selectLeaderByDepartmentId(departmentsStaffRelateEntity.getDepartmentId()); - flowDepartment = flowDepartmentService.selectByStaffId(leader.getId()); + flowDepartment = flowDepartmentService.selectByStaffId(leader.getStaffId()); flowId = flowDepartment.getChildFlowId();//表示是部门下的普通员工 } List list = new ArrayList<>(); @@ -268,6 +267,9 @@ public class ResultRecordController extends AbstractController { for (int i = 0; i < 10; i++) { if (flowDepartment.getParentId() != null && flowDepartment.getParentId() > 0) { flowDepartment = flowDepartmentService.selectFlowDepartmentById(flowDepartment.getParentId()); + list.add(flowDepartment); + } else { + break; } } List flowRelations = flowRelationService.selectFlowRelationAll(); @@ -280,28 +282,31 @@ public class ResultRecordController extends AbstractController { approvalList.add(flowRelation.getChild()); } } + List flows = flowService.selectByFlowId(flowId); FlowRecord lastFlowRecord = flowRecordService.selectLastFlowRecordByRecordId(req.getRecordResultId()); - FlowRecord notFlowRecord = flowRecordService.selectNotApprovalStaffIdFlowRecords(resultRecord.getId()); if (notFlowRecord != null) { notFlowRecord.setApprovalStaffId(getUserId()); - StaffEntity mySelf = staffService.selectStaffById(resultRecord.getStaffId()); - notFlowRecord.setFlowName(mySelf.getName() + flows.get(notFlowRecord.getFlowIndex() - 1).getOptDesc()); } StaffEntity staff = staffService.selectStaffById(resultRecord.getStaffId()); + int flowIndex = lastFlowRecord != null ? lastFlowRecord.getFlowIndex() + 1 : 1; + int index = getDepartmentLevelIndex(flows, flowIndex); + if (index < 0) { //表示流程己经结束 + lastFlowRecord.setFlowName(mySelf.getName() + "-审批通过"); + flowRecordService.updateCoverFlowRecordById(lastFlowRecord); + resultRecordService.updateFlowStaffIdRoleToNull(resultRecord.getId());// 更新用户权限 + return R.ok("流程审批结束"); + } + FlowRecord flowRecord = new FlowRecord(); flowRecord.setRecordId(req.getRecordResultId()); flowRecord.setRecordStaffId(resultRecord.getStaffId()); - flowRecord.setDepartmentId(departmentsStaffRelateEntity.getDepartmentId()); - int flowIndex = lastFlowRecord != null ? lastFlowRecord.getFlowIndex() + 1 : 1; - int index = getDepartmentLevelIndex(flows, flowIndex); - + flowRecord.setFlowIndex(flowIndex); + flowRecord.setFlowId(flowId); String departmentLevel = approvalList.get(index); flowRecord.setDepartmentLevel(departmentLevel); - flowRecord.setFlowIndex(flowIndex); - StaffEntity approvalStaff = null; List staffRoleDtos = new ArrayList<>(); if (Constant.ME.equals(departmentLevel)) { //如果是自己 @@ -314,11 +319,11 @@ public class ResultRecordController extends AbstractController { List staffRoles = staffRoleService.selectByRole(departmentLevel); for(StaffRole staffRole: staffRoles ){ List staffRoleDepartments = staffRoleDepartmentService.selectStaffRoleDepartmentByStaffRoleId(staffRole.getId()); - Map departmentIdMap = departmentsService.selectUserAllDepartmentIds(departmentsStaffRelateEntity.getDepartmentId()); + Map departmentIdMap = departmentsService.selectUserAllDepartmentIds(resultRecord.getDepartmentId()); for (StaffRoleDepartment staffRoleDepartment : staffRoleDepartments) { String value = departmentIdMap.get(staffRoleDepartment.getDepartmentId()); if(StringUtil.isNotBlank(value) ){ - StaffRoleDto staffRoleDto = new StaffRoleDto(staffRole.getStaffId(),staffRole.getRecordRoleId()); + StaffRoleDto staffRoleDto = new StaffRoleDto(staffRole.getStaffId(),staffRole.getRoleId()); staffRoleDtos.add(staffRoleDto); } } @@ -328,14 +333,13 @@ public class ResultRecordController extends AbstractController { } } else { approvalStaff = staffService.selectStaffById(flowD.getStaffId()); - StaffRoleDto staffRoleDto = new StaffRoleDto(approvalStaff.getId(),flows.get(flowIndex-1).getRoleId()); + StaffRoleDto staffRoleDto = new StaffRoleDto(approvalStaff.getId(), flows.get(flowIndex - 1).getRoleId()); staffRoleDtos.add(staffRoleDto); } } - flowRecord.setFlowName((approvalStaff !=null ? approvalStaff.getName() : "")+ flows.get(flowIndex-1).getOptDesc()); + flowRecord.setFlowName(mySelf.getName() + "-" + flows.get(flowIndex - 1).getOptDesc()); flowRecord.setApprovalStaffId(approvalStaff != null ? approvalStaff.getId() : null); - flowRecord.setApprovalStaffName(approvalStaff !=null ? approvalStaff.getName() : null); - + flowRecord.setApprovalStaffName(approvalStaff != null ? approvalStaff.getName() : null); flowRecordService.insertFlowRecord(flowRecord); resultRecord.setFlowStaffIdRole(JSON.toJSONString(staffRoleDtos)); resultRecordService.updateResultRecordById(resultRecord);// 更新用户权限 @@ -343,6 +347,9 @@ public class ResultRecordController extends AbstractController { } public int getDepartmentLevelIndex(List list,int flowIndex) { + if(flowIndex > list.size()){ + return -1 ; + } List flows = new ArrayList<>(); for(int i = 0 ;i < flowIndex ;i ++){ flows.add(list.get(i)); @@ -612,6 +619,4 @@ public class ResultRecordController extends AbstractController { return R.ok(); } - - } diff --git a/src/main/java/com/lz/modules/app/req/ResultRecordReq.java b/src/main/java/com/lz/modules/app/req/ResultRecordReq.java index f978ae59..ac69d78c 100644 --- a/src/main/java/com/lz/modules/app/req/ResultRecordReq.java +++ b/src/main/java/com/lz/modules/app/req/ResultRecordReq.java @@ -22,8 +22,8 @@ public class ResultRecordReq { private String name; private String remark; - private List departmentStaffIds; - private List staffIds; + private List departmentIds; + private Long recordResultId; private BigDecimal weight = new BigDecimal(0); private Integer type; @@ -31,4 +31,5 @@ public class ResultRecordReq { private Integer isSelf = 1; private Long staffId; private Integer recordType; + private String departmentLevel ; } diff --git a/src/main/java/com/lz/modules/flow/dao/StaffRoleMapper.java b/src/main/java/com/lz/modules/flow/dao/StaffRoleMapper.java index 4fc0e08b..5416878e 100644 --- a/src/main/java/com/lz/modules/flow/dao/StaffRoleMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/StaffRoleMapper.java @@ -35,5 +35,5 @@ public interface StaffRoleMapper extends BaseMapper { StaffRole selectByStaffId(@Param("staffId") Long staffId); - List selectByRole(@Param("role") String role); + List selectByRole(@Param("departmentLevel") String departmentLevel); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/entity/FlowRecord.java b/src/main/java/com/lz/modules/flow/entity/FlowRecord.java index 35d765dc..0e56d65e 100644 --- a/src/main/java/com/lz/modules/flow/entity/FlowRecord.java +++ b/src/main/java/com/lz/modules/flow/entity/FlowRecord.java @@ -24,8 +24,6 @@ public class FlowRecord implements java.io.Serializable { private Date gmtCreate; //最后修改时间 private Date gmtModified; - //部门 id - private String departmentId; // private String departmentLevel; //记录 id @@ -104,21 +102,6 @@ public class FlowRecord implements java.io.Serializable { this.gmtModified = gmtModified; } - /** - * 部门 id - * @return - */ - public String getDepartmentId() { - return departmentId; - } - /** - * 部门 id - * @param departmentId - */ - public void setDepartmentId(String departmentId) { - this.departmentId = departmentId; - } - /** * * @return @@ -261,7 +244,6 @@ public class FlowRecord implements java.io.Serializable { ",isDelete=" + isDelete + ",gmtCreate=" + gmtCreate + ",gmtModified=" + gmtModified + - ",departmentId=" + departmentId + ",departmentLevel=" + departmentLevel + ",recordId=" + recordId + ",approvalStaffId=" + approvalStaffId + diff --git a/src/main/java/com/lz/modules/flow/entity/StaffRole.java b/src/main/java/com/lz/modules/flow/entity/StaffRole.java index 09d73476..dcca44a5 100644 --- a/src/main/java/com/lz/modules/flow/entity/StaffRole.java +++ b/src/main/java/com/lz/modules/flow/entity/StaffRole.java @@ -27,9 +27,9 @@ public class StaffRole implements java.io.Serializable { //员工 id private Long staffId; //角色 - private String role; + private String departmentLevel; //角色 id - private Long recordRoleId; + private Long roleId; /** * * @return @@ -109,30 +109,30 @@ public class StaffRole implements java.io.Serializable { * 角色 * @return */ - public String getRole() { - return role; + public String getDepartmentLevel() { + return departmentLevel; } /** * 角色 - * @param role + * @param departmentLevel */ - public void setRole(String role) { - this.role = role; + public void setDepartmentLevel(String departmentLevel) { + this.departmentLevel = departmentLevel; } /** * 角色 id * @return */ - public Long getRecordRoleId() { - return recordRoleId; + public Long getRoleId() { + return roleId; } /** * 角色 id - * @param recordRoleId + * @param roleId */ - public void setRecordRoleId(Long recordRoleId) { - this.recordRoleId = recordRoleId; + public void setRoleId(Long roleId) { + this.roleId = roleId; } @Override @@ -143,8 +143,8 @@ public class StaffRole implements java.io.Serializable { ",gmtCreate=" + gmtCreate + ",gmtModified=" + gmtModified + ",staffId=" + staffId + - ",role=" + role + - ",recordRoleId=" + recordRoleId + + ",departmentLevel=" + departmentLevel + + ",roleId=" + roleId + "}"; } } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/entity/StaffRoleDepartment.java b/src/main/java/com/lz/modules/flow/entity/StaffRoleDepartment.java index 99c0a816..6a690bce 100644 --- a/src/main/java/com/lz/modules/flow/entity/StaffRoleDepartment.java +++ b/src/main/java/com/lz/modules/flow/entity/StaffRoleDepartment.java @@ -27,7 +27,7 @@ public class StaffRoleDepartment implements java.io.Serializable { // private Long staffRoleId; // - private Long departmentId; + private String departmentId; /** * * @return @@ -107,14 +107,14 @@ public class StaffRoleDepartment implements java.io.Serializable { * * @return */ - public Long getDepartmentId() { + public String getDepartmentId() { return departmentId; } /** * * @param departmentId */ - public void setDepartmentId(Long departmentId) { + public void setDepartmentId(String departmentId) { this.departmentId = departmentId; } diff --git a/src/main/java/com/lz/modules/flow/model/ResultRecordDto.java b/src/main/java/com/lz/modules/flow/model/ResultRecordDto.java new file mode 100644 index 00000000..cd7da280 --- /dev/null +++ b/src/main/java/com/lz/modules/flow/model/ResultRecordDto.java @@ -0,0 +1,16 @@ +package com.lz.modules.flow.model; + +import com.lz.modules.sys.entity.app.ResultRecord; +import lombok.Data; + + +@Data +public class ResultRecordDto extends ResultRecord { + private String departmentLevel; + private String approvalStaffId; + private String approvalStaffName; + private String flowName; + private Integer flowId; + private Integer flowIndex; + +} diff --git a/src/main/java/com/lz/modules/flow/model/StaffRoleDto.java b/src/main/java/com/lz/modules/flow/model/StaffRoleDto.java index 326b255b..816d254e 100644 --- a/src/main/java/com/lz/modules/flow/model/StaffRoleDto.java +++ b/src/main/java/com/lz/modules/flow/model/StaffRoleDto.java @@ -1,7 +1,11 @@ package com.lz.modules.flow.model; +import com.alibaba.fastjson.JSON; import lombok.Data; +import java.util.ArrayList; +import java.util.List; + @Data public class StaffRoleDto { private Long staffId; @@ -16,4 +20,11 @@ public class StaffRoleDto { } + public static void main(String[] args) { + List staffRoleDtoList = new ArrayList<>(); + //StaffRoleDto staffRoleDto = new StaffRoleDto(314l,6l); + //staffRoleDtoList.add(staffRoleDto); + System.out.println(JSON.toJSONString(staffRoleDtoList)); + } + } diff --git a/src/main/java/com/lz/modules/flow/service/impl/StaffRoleServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/StaffRoleServiceImpl.java index 0215080a..569ad598 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/StaffRoleServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/StaffRoleServiceImpl.java @@ -66,9 +66,8 @@ public class StaffRoleServiceImpl extends ServiceImpl selectByRole(String role) { - return staffRoleMapper.selectByRole(role); + public List selectByRole(String departmentLevel) { + return staffRoleMapper.selectByRole(departmentLevel); } - } diff --git a/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java b/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java index cddb3fd1..fc9844f2 100644 --- a/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java +++ b/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java @@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.lz.modules.app.req.ResultRecordReq; +import com.lz.modules.flow.model.ResultRecordDto; import com.lz.modules.sys.entity.app.ResultRecord; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -43,4 +44,8 @@ public interface ResultRecordMapper extends BaseMapper { List selectByConditionTest(ResultRecordReq req); ResultRecord selectResultRecordByStaffId(@Param("staffId") Long staffId); + + List selectByConditionByLeader(@Param("page") IPage page, @Param("req") ResultRecordReq params); + + void updateFlowStaffIdRoleToNull(@Param("id") Long id); } \ 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 eb7f5813..bcafb133 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 @@ -42,6 +42,12 @@ public class ResultRecord implements java.io.Serializable { private Integer type; //当前审批流转所在员工 id private String flowStaffIdRole; + //员工所在部门 id + private String departmentId; + //员工所在部门名称 + private String departmentName; + //员工姓名 + private String staffName; /** * * @return @@ -222,6 +228,55 @@ public class ResultRecord implements java.io.Serializable { this.flowStaffIdRole = flowStaffIdRole; } + /** + * 员工所在部门 id + * @return + */ + public String getDepartmentId() { + return departmentId; + } + + /** + * 员工所在部门 id + * + * @param departmentId + */ + public void setDepartmentId(String departmentId) { + this.departmentId = departmentId; + } + + /** + * 员工所在部门名称 + * + * @return + */ + public String getDepartmentName() { + return departmentName; + } + + /** + * 员工所在部门名称 + * @param departmentName + */ + public void setDepartmentName(String departmentName) { + this.departmentName = departmentName; + } + + /** + * 员工姓名 + * @return + */ + public String getStaffName() { + return staffName; + } + /** + * 员工姓名 + * @param staffName + */ + public void setStaffName(String staffName) { + this.staffName = staffName; + } + @Override public String toString() { return "ResultRecord{" + @@ -237,6 +292,9 @@ public class ResultRecord implements java.io.Serializable { ",staffId=" + staffId + ",type=" + type + ",flowStaffIdRole=" + flowStaffIdRole + + ",departmentId=" + departmentId + + ",departmentName=" + departmentName + + ",staffName=" + staffName + "}"; } } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java b/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java index 5353b2c6..1af5f659 100644 --- a/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java +++ b/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java @@ -41,4 +41,6 @@ public interface ResultRecordService extends IService { void deleteBatchIds(List asList); ResultRecord selectResultRecordByStaffId(Long userId); + + void updateFlowStaffIdRoleToNull(Long id); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index f98137b0..29324300 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -1,20 +1,20 @@ package com.lz.modules.sys.service.app.impl; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.lz.common.utils.DateUtils; -import com.lz.common.utils.ISelect; import com.lz.common.utils.PageUtils; import com.lz.common.utils.StringUtil; import com.lz.modules.app.dao.DepartmentsDao; import com.lz.modules.app.dao.DepartmentsStaffRelateDao; import com.lz.modules.app.dto.EmployeesDto; import com.lz.modules.app.entity.DepartmentsEntity; -import com.lz.modules.app.entity.DepartmentsStaffRelateEntity; -import com.lz.modules.app.entity.StaffEntity; import com.lz.modules.app.req.ResultRecordReq; import com.lz.modules.app.resp.ResultRecordResp; import com.lz.modules.app.service.StaffService; +import com.lz.modules.flow.entity.FlowDepartment; +import com.lz.modules.flow.entity.StaffRole; +import com.lz.modules.flow.service.FlowDepartmentService; +import com.lz.modules.flow.service.StaffRoleService; import com.lz.modules.sys.dao.app.ResultRecordMapper; import com.lz.modules.sys.entity.SysUserEntity; import com.lz.modules.sys.entity.app.ResultRecord; @@ -26,7 +26,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; -import java.util.stream.Collectors; /** *

@@ -57,6 +56,12 @@ public class ResultRecordServiceImpl extends ServiceImpl departmentStaffIds = new ArrayList<>(); - List staffIds = new ArrayList<>(); List departmentIds = new ArrayList<>(); List tDepartments = departmentsDao.selectAll(); if (StringUtil.isNotBlank(params.getDepartment1()) || StringUtil.isNotBlank(params.getDepartment2()) || StringUtil.isNotBlank(params.getDepartment3())) { Map> departmentMap = null; - if(employeesDto == null || employeesDto.getExpire() < new Date().getTime()){ departmentMap = getStringListMap(tDepartments); Date expire = DateUtils.addMinute(new Date(),30); @@ -116,53 +118,35 @@ public class ResultRecordServiceImpl extends ServiceImpl 0) { - List departmentsStaffRelateEntities = departmentsStaffRelateDao.selectByDepartmentIds(departmentIds); - if(CollectionUtils.isNotEmpty(departmentsStaffRelateEntities)){ - Set setStaffId = departmentsStaffRelateEntities.stream().map(p->p.getStaffId()).collect(Collectors.toSet()); - departmentStaffIds = new ArrayList<>(setStaffId); - } - } - - if(StringUtil.isNotBlank(params.getName())){ - List staffEntities = staffService.selectByName(params.getName()); - if(CollectionUtils.isNotEmpty(staffEntities)){ - staffIds = staffEntities.stream().map(p->p.getId()).collect(Collectors.toList()); - } - } - - params.setDepartmentStaffIds(departmentStaffIds); - params.setStaffIds(staffIds); PageUtils pageUtils = null; if(params.getIsSelf() == 1){ // 我的业绩 params.setStaffId(user.getUserId()); pageUtils = PageUtils.startPage(params.getPage(), params.getLimit() ).doSelect( page -> resultRecordMapper.selectByCondition(page, params) ); - }else{ // 我们审批 + }else{ // 部门审批 + String departmentLevel = ""; + FlowDepartment flowDepartment = flowDepartmentService.selectByStaffId(user.getUserId()); + if(flowDepartment !=null){ + departmentLevel = flowDepartment.getDepartmentLevel(); + }else{ + StaffRole staffRole = staffRoleService.selectByStaffId(user.getUserId()); + departmentLevel= staffRole.getDepartmentLevel(); + } + params.setDepartmentLevel(departmentLevel); pageUtils = PageUtils.startPage(params.getPage(), params.getLimit() ).doSelect( - page -> resultRecordMapper.selectByCondition(page, params) + page -> resultRecordMapper.selectByConditionByLeader(page, params) ); } List resultRecords = pageUtils.getList(); if(CollectionUtils.isNotEmpty(resultRecords)){ List list = new ArrayList<>(); - Set viewStaffIdSet = resultRecords.stream().map(p->p.getStaffId()).collect(Collectors.toSet()); - List viewStaffId = new ArrayList<>(viewStaffIdSet); - List staffEntities = staffService.selectByIds(viewStaffId); - List staffRelateEntities = departmentsStaffRelateDao.selectByStaffIds(viewStaffId); - Map staffEntityMap = staffEntities.stream().collect(Collectors.toMap(StaffEntity::getId, p -> p)); - Map departmentsEntityMap = tDepartments.stream().collect(Collectors.toMap(p -> p.getDepartmentId(), p -> p)); - Map staffRelateEntityMap = staffRelateEntities.stream().collect(Collectors.toMap(p -> p.getStaffId(), p -> p)); for (ResultRecord resultRecord : resultRecords) { ResultRecordResp resp = new ResultRecordResp(); BeanUtils.copyProperties(resultRecord, resp); - resp.setStaffName(staffEntityMap.get(resp.getStaffId()) != null ? staffEntityMap.get(resp.getStaffId()).getName() : ""); - DepartmentsStaffRelateEntity relate = staffRelateEntityMap.get(resp.getStaffId()); - resp.setDepartmentName(relate != null && departmentsEntityMap.get(relate.getDepartmentId()) != null ? - departmentsEntityMap.get(relate.getDepartmentId()).getDepartmentName() : ""); list.add(resp); } pageUtils.setList(list); @@ -206,5 +190,10 @@ public class ResultRecordServiceImpl extends ServiceImpl + + + - 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 + 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 @@ -42,6 +45,9 @@ staff_id, type, flow_staff_id_role, + department_id, + department_name, + staff_name, is_delete, gmt_create, gmt_modified @@ -54,6 +60,9 @@ #{ staffId}, #{ type}, #{ flowStaffIdRole}, + #{ departmentId}, + #{ departmentName}, + #{ staffName}, 0, now(), now() @@ -74,7 +83,10 @@ remark = #{remark}, staff_id = #{staffId}, type = #{type}, - flow_staff_id_role = #{flowStaffIdRole} + flow_staff_id_role = #{flowStaffIdRole}, + department_id = #{departmentId}, + department_name = #{departmentName}, + staff_name = #{staffName} ,gmt_modified = now() where id = #{id} @@ -94,7 +106,10 @@ remark = #{remark}, staff_id = #{staffId}, type = #{type}, - flow_staff_id_role = #{flowStaffIdRole} + flow_staff_id_role = #{flowStaffIdRole}, + department_id = #{departmentId}, + department_name = #{departmentName}, + staff_name = #{staffName} ,gmt_modified = now() where id = #{id} @@ -104,6 +119,7 @@ update lz_result_record set is_delete = 1 where id=#{id} limit 1 + @@ -147,10 +165,48 @@ order by id desc - + + + + update lz_result_record set flow_staff_id_role = '[]' where id = #{id} + + + diff --git a/src/main/resources/mapper/flow/FlowRecordMapper.xml b/src/main/resources/mapper/flow/FlowRecordMapper.xml index 0ca19c0f..efca5816 100644 --- a/src/main/resources/mapper/flow/FlowRecordMapper.xml +++ b/src/main/resources/mapper/flow/FlowRecordMapper.xml @@ -8,7 +8,6 @@ - @@ -23,20 +22,15 @@ - id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, department_id AS departmentId, department_level AS departmentLevel, record_id AS recordId, approval_staff_id AS approvalStaffId, approval_staff_name AS approvalStaffName, flow_name AS flowName, record_staff_id AS recordStaffId, flow_id AS flowId, flow_index AS flowIndex, status AS status + id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, department_level AS departmentLevel, record_id AS recordId, approval_staff_id AS approvalStaffId, approval_staff_name AS approvalStaffName, flow_name AS flowName, record_staff_id AS recordStaffId, flow_id AS flowId, flow_index AS flowIndex, status AS status - - - - insert into lz_flow_record( - department_id, department_level, record_id, approval_staff_id, @@ -50,7 +44,6 @@ gmt_create, gmt_modified )values( - #{ departmentId}, #{ departmentLevel}, #{ recordId}, #{ approvalStaffId}, @@ -73,7 +66,6 @@ is_delete = #{isDelete}, gmt_create = #{gmtCreate}, - department_id = #{departmentId}, department_level = #{departmentLevel}, record_id = #{recordId}, approval_staff_id = #{approvalStaffId}, @@ -95,7 +87,6 @@ set is_delete = #{isDelete}, gmt_create = #{gmtCreate}, - department_id = #{departmentId}, department_level = #{departmentLevel}, record_id = #{recordId}, approval_staff_id = #{approvalStaffId}, @@ -115,6 +106,7 @@ + diff --git a/src/main/resources/mapper/flow/StaffRoleDepartmentMapper.xml b/src/main/resources/mapper/flow/StaffRoleDepartmentMapper.xml index 000d5dbd..a86d6fda 100644 --- a/src/main/resources/mapper/flow/StaffRoleDepartmentMapper.xml +++ b/src/main/resources/mapper/flow/StaffRoleDepartmentMapper.xml @@ -78,7 +78,7 @@ diff --git a/src/main/resources/mapper/flow/StaffRoleMapper.xml b/src/main/resources/mapper/flow/StaffRoleMapper.xml index 5851817a..57908862 100644 --- a/src/main/resources/mapper/flow/StaffRoleMapper.xml +++ b/src/main/resources/mapper/flow/StaffRoleMapper.xml @@ -9,14 +9,14 @@ - - + + - id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, staff_id AS staffId, role AS role, record_role_id AS recordRoleId + id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, staff_id AS staffId, department_level AS departmentLevel, role_id AS roleId @@ -30,15 +30,15 @@ insert into lz_staff_role( staff_id, - role, - record_role_id, + department_level, + role_id, is_delete, gmt_create, gmt_modified )values( #{ staffId}, - #{ role}, - #{ recordRoleId}, + #{ departmentLevel}, + #{ roleId}, 0, now(), now() @@ -53,8 +53,8 @@ is_delete = #{isDelete}, gmt_create = #{gmtCreate}, staff_id = #{staffId}, - role = #{role}, - record_role_id = #{recordRoleId} + department_level = #{departmentLevel}, + role_id = #{roleId} ,gmt_modified = now() where id = #{id} @@ -68,8 +68,8 @@ is_delete = #{isDelete}, gmt_create = #{gmtCreate}, staff_id = #{staffId}, - role = #{role}, - record_role_id = #{recordRoleId} + department_level = #{departmentLevel}, + role_id = #{roleId} ,gmt_modified = now() where id = #{id} @@ -80,12 +80,13 @@ +