diff --git a/src/main/java/com/lz/modules/app/controller/TestController.java b/src/main/java/com/lz/modules/app/controller/TestController.java index 6d1f2fa5..c366c26a 100644 --- a/src/main/java/com/lz/modules/app/controller/TestController.java +++ b/src/main/java/com/lz/modules/app/controller/TestController.java @@ -267,7 +267,7 @@ public class TestController { R r = resultRecordService.initFlowRecord(resultRecordId); } - // http://localhost:8080/lz_management/test/getAuth?userId=395 + // http://localhost:8080/lz_management/test/getAuth?userId=314 @RequestMapping("/test/getAuth") public R getAuth(Long userId) throws Exception{ Map map = staffRoleService.getRoleByUserId(userId); 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 6ef6647d..1d9447df 100644 --- a/src/main/java/com/lz/modules/flow/dao/StaffRoleMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/StaffRoleMapper.java @@ -66,4 +66,6 @@ public interface StaffRoleMapper extends BaseMapper { StaffRole selectStaffRolesByStaffIdDepartmentLevelList(@Param("staffId") Long staffId, @Param("departmentLevels") List departmentLevels); + + List selectMenusByParentId(@Param("parentId") long parentId); } \ No newline at end of file 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 346c896a..8ac106f1 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 @@ -430,6 +430,10 @@ public class StaffRoleServiceImpl extends ServiceImpl staffMenuDepartmentList= staffMenuService.selectByParentId( RoleMenuEnums.DEPARTMENT_PM.getType()); if(CollectionUtils.isNotEmpty(staffMenuDepartmentList)){ staffMenus.addAll(staffMenuDepartmentList); } } + if(CollectionUtils.isNotEmpty(staffRoleList)){ - List staffMenuList = staffRoleMapper.selectAllMenus(userId); - if(CollectionUtils.isNotEmpty(staffMenuList)){ - staffMenus.addAll(staffMenuList); - } + for(StaffRole staffRole: staffRoleList){ + if(staffRole.getDepartmentLevel().equals(RoleEnums.MASTER_PM.getName())){ //如果是主管理员 + List staffMenuList= staffMenuService.selectByParentId( RoleMenuEnums.MASTER_PM.getType()); + if(CollectionUtils.isNotEmpty(staffMenuList)){ + staffMenus.addAll(staffMenuList); + } + }else{ + List staffMenuList = staffRoleMapper.selectAllMenus(staffRole.getStaffId()); + if(CollectionUtils.isNotEmpty(staffMenuList)){ + staffMenus.addAll(staffMenuList); + } + } + } } if(CollectionUtils.isNotEmpty(staffMenus) && staffMenus.size() > 0 ){ List authIds = new ArrayList<>(); diff --git a/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java b/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java index facbc770..ae350613 100644 --- a/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java +++ b/src/main/java/com/lz/modules/performance/controller/AssessManagerController.java @@ -51,13 +51,14 @@ public class AssessManagerController extends AbstractController{ @ApiOperation("获取考核列表") @ApiResponses({@ApiResponse(code = 200,message = "成功",response = AssessManagerListRes.class)}) public R assessList(@RequestBody AssessListReq req){ + Long userId = null; try { - Long userId = getUserId(); + userId = getUserId(); req.setLoginUserId(userId); PageUtils pageUtils = assessManagerService.assessList(req); return R.ok().put("data",pageUtils); } catch (Exception e) { - log.error("获取考核列表异常,",e); + log.error("获取考核列表异常,userId: " + userId,e); return R.error(e.getMessage()); } } @@ -67,12 +68,13 @@ public class AssessManagerController extends AbstractController{ @ApiResponses({@ApiResponse(code = 200,message = "成功",response = AssessManagerDetailRes.class)}) public R assessDetail(@RequestBody AssessDetailReq req){ PageUtils pageUtils; + Long userId = null; try { - Long userId = getUserId(); + userId = getUserId(); req.setLoginUserId(userId); pageUtils = assessManagerService.assessDetail(req); } catch (Exception e) { - log.error("获取考核详情列表异常" ,e); + log.error("获取考核详情列表异常,userId: " + userId,e); return R.error(e.getMessage()); } return R.ok().put("data",pageUtils); @@ -86,12 +88,13 @@ public class AssessManagerController extends AbstractController{ @ApiResponses({@ApiResponse(code = 200,message = "成功",response = ChartStatistical.class)}) public R assessChart(@RequestBody AssessDetailReq req){ List process; + Long userId = null; try { - Long userId = getUserId(); + userId = getUserId(); req.setLoginUserId(userId); process = chartResultService.countAssessNumByFlowProcess(req); } catch (Exception e) { - log.error("获取详情顶部人数统计异常" ,e); + log.error("获取详情顶部人数统计异常,userId: " + userId,e); return R.error(e.getMessage()); } return R.ok().put("data",process); diff --git a/src/main/java/com/lz/modules/performance/controller/ChartController.java b/src/main/java/com/lz/modules/performance/controller/ChartController.java index 7f160b91..6c2c1c33 100644 --- a/src/main/java/com/lz/modules/performance/controller/ChartController.java +++ b/src/main/java/com/lz/modules/performance/controller/ChartController.java @@ -27,10 +27,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.*; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; +import java.util.concurrent.*; +import java.util.function.Function; import java.util.function.Supplier; /** @@ -111,15 +109,7 @@ public class ChartController extends AbstractController{ return R.ok().put("data",ownResultResps); } - public void main(String[] args) { - ExecutorService executor = Executors.newFixedThreadPool(10); - List resultRecords = Lists.newArrayList(); - CompletableFuture> listCompletableFuture = CompletableFuture.supplyAsync(() -> resultRecordService.list(), executor); - try { - resultRecords = listCompletableFuture.get(); - } catch (Exception e) { - e.printStackTrace(); - } - } + + } diff --git a/src/main/java/com/lz/modules/performance/req/ChartResultReq.java b/src/main/java/com/lz/modules/performance/req/ChartResultReq.java index bec1ffa5..b4373e7d 100644 --- a/src/main/java/com/lz/modules/performance/req/ChartResultReq.java +++ b/src/main/java/com/lz/modules/performance/req/ChartResultReq.java @@ -14,8 +14,8 @@ import lombok.Data; @ApiModel("获取报表等级详情实体") public class ChartResultReq extends BasePage{ - @ApiModelProperty(value = "部门id",name = "departmentId") - private String departmentId; + @ApiModelProperty(value = "部门ids,逗号隔开",name = "departmentIds") + private String departmentIds; @ApiModelProperty(value = "考核id",name = "startId") private Long startId; diff --git a/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java b/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java index 93302d3f..39fa2115 100644 --- a/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java +++ b/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java @@ -19,13 +19,11 @@ import com.lz.modules.flow.dao.EvaluationStartStaffMapper; import com.lz.modules.flow.dao.FlowRecordMapper; import com.lz.modules.flow.dao.FlowStartMapper; import com.lz.modules.flow.entity.EvaluationGroup; -import com.lz.modules.flow.entity.EvaluationStartStaff; import com.lz.modules.flow.entity.FlowStart; import com.lz.modules.flow.model.GroupStaffs; import com.lz.modules.flow.model.StartGroups; import com.lz.modules.flow.service.EvaluationGroupService; import com.lz.modules.flow.service.EvaluationStartStaffService; -import com.lz.modules.flow.service.FlowRecordService; import com.lz.modules.flow.service.FlowStartService; import com.lz.modules.job.business.DingtalkBusiness; import com.lz.modules.performance.dto.ToScoreDingTalkDto; @@ -40,21 +38,12 @@ import com.lz.modules.performance.service.AssessService; import com.lz.modules.sys.dao.app.ResultRecordMapper; import com.lz.modules.sys.entity.app.ResultRecord; import com.lz.modules.sys.service.app.ResultRecordService; -import com.sun.org.apache.regexp.internal.RE; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.function.Consumer; -import java.util.function.Function; -import java.util.stream.Collectors; import static java.util.stream.Collectors.toList; @@ -122,7 +111,7 @@ public class AssessManagerServiceImpl implements AssessManagerService { }else { ResultRecord resultRecord = resultRecordMapper.selectOneByStartId(flowStart.getId(),mandepartmentIds); int i = resultRecordMapper.countStartAndGroupNum(flowStart.getId(),mandepartmentIds); - res.setJoinNum(resultRecord == null? StringUtil.EMPTY : resultRecord.getStaffName() + i + "等人"); + res.setJoinNum(resultRecord == null? StringUtil.EMPTY : resultRecord.getStaffName() + "等"+ i + "人"); } data.add(res); @@ -291,7 +280,6 @@ public class AssessManagerServiceImpl implements AssessManagerService { Long evaluation = group.getId(); int i = evaluationStartStaffService.updateBatchToScore(req.getStartId(), group.getId()); log.info("更新evaluationStartStaff 数据 为已评分 " + i); - List dtos = resultRecordMapper.selectToScoreList(req.getStartId(), evaluation); if(CollectionUtils.isNotEmpty(dtos)){ log.info("本次评分更新操作 num: " + dtos.size()); @@ -347,17 +335,4 @@ public class AssessManagerServiceImpl implements AssessManagerService { } - /* public static void main(String[] args) { - ExecutorService executorService = Executors.newFixedThreadPool(10); - CompletableFuture> future = CompletableFuture.supplyAsync(()-> Arrays.asList(1L,2L),executorService); - try { - List longs = future.get(); - System.out.println(); - } catch (InterruptedException e) { - e.printStackTrace(); - } catch (ExecutionException e) { - e.printStackTrace(); - } - }*/ - } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java b/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java index e6e35b49..e3731c09 100644 --- a/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java +++ b/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.google.common.collect.Lists; import com.google.common.collect.Maps; +import com.google.common.collect.Sets; import com.lz.common.exception.RRException; import com.lz.common.utils.PageUtils; import com.lz.common.utils.R; @@ -182,7 +183,16 @@ public class ChartResultServiceImpl implements ChartResultService { @Override public PageUtils selectChartDetailList(ChartResultReq req) { - List allDeparmentIds = staffService.selectAllDeparmentIdsByDepartmentParentId(req.getDepartmentId()); + String departmentIds = req.getDepartmentIds(); + Set allDepart = Sets.newHashSet(); + if(StringUtil.isNotBlank(departmentIds)){ + String[] split = departmentIds.split(","); + for(String s:split){ + List deparmentIds = staffService.selectAllDeparmentIdsByDepartmentParentId(s); + allDepart.addAll(deparmentIds); + } + } + List allDeparmentIds = new ArrayList<>(allDepart); //自己管理的和所有的部门交集 log.info("selectChartDetailList 查询部门:" + JSON.toJSONString(allDeparmentIds)); List mandepartmentIds = assessService.roleDepartments(req.getLoginUserId()); diff --git a/src/main/resources/mapper/flow/StaffRoleMapper.xml b/src/main/resources/mapper/flow/StaffRoleMapper.xml index 19ea3969..1689bd4a 100644 --- a/src/main/resources/mapper/flow/StaffRoleMapper.xml +++ b/src/main/resources/mapper/flow/StaffRoleMapper.xml @@ -169,6 +169,7 @@ select menu_id from lz_staff_role_menu where role_id in ( select id from lz_staff_role where staff_id = #{userId} and is_delete=0) and is_delete = 0 ) and is_delete = 0 + + +