From b934f54d987efbfafbdcfcd792d03d48e1a6f6d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Fri, 13 Nov 2020 17:40:04 +0800 Subject: [PATCH 01/36] fix --- .../performance/service/impl/ChartResultServiceImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 c0319d69..56bb3364 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 @@ -184,7 +184,7 @@ public class ChartResultServiceImpl implements ChartResultService { public PageUtils selectChartDetailList(ChartResultReq req) { List allDeparmentIds = staffService.selectAllDeparmentIdsByDepartmentParentId(req.getDepartmentId()); //自己管理的和所有的部门交集 - log.info("selectChartDetailList 管理部门:" + JSON.toJSONString(allDeparmentIds)); + log.info("selectChartDetailList 查询部门:" + JSON.toJSONString(allDeparmentIds)); List mandepartmentIds = assessService.roleDepartments(req.getLoginUserId()); if(mandepartmentIds!=null ){ if(mandepartmentIds.size()==0){ @@ -196,6 +196,9 @@ public class ChartResultServiceImpl implements ChartResultService { return new PageUtils(); } } + else { + mandepartmentIds.retainAll(allDeparmentIds); + } log.info("selectChartDetailList 交集部门:" + JSON.toJSONString(mandepartmentIds)); PageUtils pageUtils = PageUtils.startPage(req.getCurrPage(), req.getPageSize()).doSelect( page -> resultRecordMapper.selectChartDetailList(page,mandepartmentIds,req.getStartId(),req.getScoreLevel()) From b126bea4928edb0a322f3d6228d30a510ede2229 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Fri, 13 Nov 2020 17:46:05 +0800 Subject: [PATCH 02/36] fix --- .../performance/service/impl/ChartResultServiceImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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 56bb3364..508106b7 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 @@ -197,11 +197,12 @@ public class ChartResultServiceImpl implements ChartResultService { } } else { - mandepartmentIds.retainAll(allDeparmentIds); + mandepartmentIds = allDeparmentIds; } log.info("selectChartDetailList 交集部门:" + JSON.toJSONString(mandepartmentIds)); + List finalMandepartmentIds = mandepartmentIds; PageUtils pageUtils = PageUtils.startPage(req.getCurrPage(), req.getPageSize()).doSelect( - page -> resultRecordMapper.selectChartDetailList(page,mandepartmentIds,req.getStartId(),req.getScoreLevel()) + page -> resultRecordMapper.selectChartDetailList(page, finalMandepartmentIds,req.getStartId(),req.getScoreLevel()) ); return pageUtils; } From c9ef0e62618392da324f3f815767a9fed31657e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Fri, 13 Nov 2020 17:46:48 +0800 Subject: [PATCH 03/36] fix --- .../modules/performance/service/impl/ChartResultServiceImpl.java | 1 + 1 file changed, 1 insertion(+) 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 508106b7..e6e35b49 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 @@ -197,6 +197,7 @@ public class ChartResultServiceImpl implements ChartResultService { } } else { + //如果掌管所有部门,查询请求部门 mandepartmentIds = allDeparmentIds; } log.info("selectChartDetailList 交集部门:" + JSON.toJSONString(mandepartmentIds)); From 4e44349c7e895bd41ef1ff34a1f58109712ae326 Mon Sep 17 00:00:00 2001 From: wulin Date: Fri, 13 Nov 2020 18:02:42 +0800 Subject: [PATCH 04/36] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8F=91=E8=B5=B7?= =?UTF-8?q?=E6=97=B6=E7=9A=84=E8=87=AA=E5=AE=9A=E4=B9=89=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lz/modules/flow/service/impl/FlowStartServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index b57d9cee..daa259f7 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -189,8 +189,8 @@ public class FlowStartServiceImpl extends ServiceImpl Date: Fri, 13 Nov 2020 19:39:45 +0800 Subject: [PATCH 05/36] =?UTF-8?q?=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=B2=BE=E5=BA=A6=E4=B8=BA=E5=9B=9B=E8=88=8D?= =?UTF-8?q?=E4=BA=94=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lz/modules/app/controller/ResultRecordController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 40e6aa0d..37c4effc 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -417,7 +417,7 @@ public class ResultRecordController extends AbstractController { resultScore.setWeight(record.getWeight()); }else{ //多人的时候权重平分 - resultScore.setWeight(record.getWeight().divide(BigDecimal.valueOf(staffs1.size()), RoundingMode.CEILING)); + resultScore.setWeight(record.getWeight().divide(BigDecimal.valueOf(staffs1.size()), RoundingMode.HALF_UP)); } scoreDtos.add(resultScore); From 699d2b8bea0a9f36a374eb0ea676c3229b4fb391 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Mon, 16 Nov 2020 09:51:42 +0800 Subject: [PATCH 06/36] fi --- src/main/resources/mapper/app/ResultRecordMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/mapper/app/ResultRecordMapper.xml b/src/main/resources/mapper/app/ResultRecordMapper.xml index 696487bf..2278dfc5 100644 --- a/src/main/resources/mapper/app/ResultRecordMapper.xml +++ b/src/main/resources/mapper/app/ResultRecordMapper.xml @@ -379,7 +379,7 @@ From 5753686fc38a3840e628201e8d87bf710b51f204 Mon Sep 17 00:00:00 2001 From: wulin Date: Mon, 16 Nov 2020 11:01:43 +0800 Subject: [PATCH 08/36] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=BB=A9=E6=95=88?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E5=A2=9E=E5=8A=A0=E9=80=9A=E8=BF=87token?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=9C=80=E6=96=B0=E5=92=8CstartId=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E6=9C=80=E6=96=B0=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ResultRecordController.java | 35 ++++++++++++++++--- .../sys/dao/app/ResultRecordMapper.java | 4 +++ .../sys/service/app/ResultRecordService.java | 4 +++ .../app/impl/ResultRecordServiceImpl.java | 9 +++++ .../mapper/app/ResultRecordMapper.xml | 7 ++++ 5 files changed, 54 insertions(+), 5 deletions(-) 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 37c4effc..63434ffe 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -31,6 +31,7 @@ import com.lz.modules.sys.service.app.ResultRecordService; import io.swagger.annotations.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; +import org.apache.ibatis.annotations.Param; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -335,14 +336,38 @@ public class ResultRecordController extends AbstractController { */ @GetMapping("/getDetail") @ApiOperation("获取绩效详情-吴林") + @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "绩效id可为空,为空时使用token的用户获取"), + @ApiImplicitParam(name = "startId", value = "任务id可为空,为空时使用token的用户获取")}) @ApiResponses({@ApiResponse(code = 200, message = "成功", response = ResultRecordDetailDto.class)}) - public R getDetail(@RequestParam @ApiParam("绩效id") Long id) { + public R getDetail(Map param) { + Long id = null; + Long startId = null; + if(param.containsKey("id")){ + id = Long.parseLong(param.get("id").toString()); + }else if(param.containsKey("startId")){ + startId = Long.parseLong(param.get("startId").toString()); + } + + + SysUserEntity user = getUser(); + ResultRecord resultRecord = null; + if(id == null){ + //id = getUserId();// + if(startId == null){//根据token获取 + resultRecord = lzResultRecordService.selectLastResultRecordByUserId(getUserId()); + }else{//根据startId和token获取 + resultRecord = lzResultRecordService.selectResultRecordByStaffIdAndStartId(getUserId(), startId); + } + + + }else{ + resultRecord = lzResultRecordService.selectResultRecordById(id); + } - ResultRecord resultRecord = lzResultRecordService.selectResultRecordById(id); if(resultRecord == null){ return R.error("绩效不存在"); } - /*SysUserEntity user = getUser(); + id = resultRecord.getId(); if(resultRecord.getStaffId().longValue() != user.getUserId().longValue()){ //下面判断权限,是否可读 EvaluationStartStaff evaluationStartStaff = @@ -350,7 +375,7 @@ public class ResultRecordController extends AbstractController { if(evaluationStartStaff == null){//非考核组设置的绩效管理人员,下面应在查询其他权限 return R.error("未被授权访问"); } - }*/ + } //获取考核维度等信息 ResultRecordDetailDto resultRecordDetailDto = new ResultRecordDetailDto(); BeanUtils.copyProperties(resultRecord, resultRecordDetailDto); @@ -403,7 +428,7 @@ public class ResultRecordController extends AbstractController { //流程已经到了审批节点,那么判断评分是否为或签,如果是那么只需要返回实际评分的那个人即可,否则全部返回 List flowRecords = flowRecordService.selectFlowRecordByRecordIdFlowProcess(resultRecord.getId(), ChartFlowType.SCORE.getCode());//获取当前的流程节点 if(flowRecords.get(0).getType().intValue() == 1){ - //或签 + //或签,这里还有优化。多个评分节点时,针对每个节点是否为或签 isOrScore = true; } 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 1afbbdd5..e66cc338 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 @@ -96,4 +96,8 @@ public interface ResultRecordMapper extends BaseMapper { List selectToScoreList(@Param("startId")Long startId, @Param("evaluationId")Long evaluationId); int countAssessNumJoin(@Param("req")AssessDetailReq req); + + ResultRecord selectLastResultRecordByUserId(@Param("userId") Long userId); + + ResultRecord selectResultRecordByStaffIdAndStartId(@Param("userId") Long userId, @Param("startId") Long startId); } \ 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 d631d887..785acfa8 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 @@ -114,4 +114,8 @@ public interface ResultRecordService extends IService { R newApproval(ApprovalDto approvalDto) throws Exception; R newResultRecordList(RecordDetailDto recordDetailDto); + + ResultRecord selectLastResultRecordByUserId(Long userId); + + ResultRecord selectResultRecordByStaffIdAndStartId(Long userId, Long startId); } \ 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 117aabf5..f57a3f15 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 @@ -1314,4 +1314,13 @@ public class ResultRecordServiceImpl extends ServiceImpl + + + From 4b5b281f85b85f9cad6b253dd5f54774709c4b7b Mon Sep 17 00:00:00 2001 From: wulin Date: Mon, 16 Nov 2020 14:20:22 +0800 Subject: [PATCH 09/36] =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ResultRecordController.java | 41 +++++++------------ 1 file changed, 15 insertions(+), 26 deletions(-) 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 63434ffe..d24d3eb2 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -339,43 +339,32 @@ public class ResultRecordController extends AbstractController { @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "绩效id可为空,为空时使用token的用户获取"), @ApiImplicitParam(name = "startId", value = "任务id可为空,为空时使用token的用户获取")}) @ApiResponses({@ApiResponse(code = 200, message = "成功", response = ResultRecordDetailDto.class)}) - public R getDetail(Map param) { + public R getDetail(@RequestParam Map param) { Long id = null; Long startId = null; - if(param.containsKey("id")){ - id = Long.parseLong(param.get("id").toString()); - }else if(param.containsKey("startId")){ - startId = Long.parseLong(param.get("startId").toString()); - } - - SysUserEntity user = getUser(); ResultRecord resultRecord = null; - if(id == null){ - //id = getUserId();// - if(startId == null){//根据token获取 - resultRecord = lzResultRecordService.selectLastResultRecordByUserId(getUserId()); - }else{//根据startId和token获取 - resultRecord = lzResultRecordService.selectResultRecordByStaffIdAndStartId(getUserId(), startId); - } - - }else{ + if(param.containsKey("id")){ + id = Long.parseLong(param.get("id").toString()); resultRecord = lzResultRecordService.selectResultRecordById(id); + //下面判断权限 + if(user.getUserId().longValue() != resultRecord.getStaffId().longValue()){ + //不是自己的绩效,判断是否为绩效管理人员,老板,部门管理人员 + log.info("不是自己的绩效"); + } + }else if(param.containsKey("startId")){//根据startId和token获取 + startId = Long.parseLong(param.get("startId").toString()); + resultRecord = lzResultRecordService.selectResultRecordByStaffIdAndStartId(getUserId(), startId); + }else{//根据token获取 + resultRecord = lzResultRecordService.selectLastResultRecordByUserId(getUserId()); } + if(resultRecord == null){ return R.error("绩效不存在"); } - id = resultRecord.getId(); - if(resultRecord.getStaffId().longValue() != user.getUserId().longValue()){ - //下面判断权限,是否可读 - EvaluationStartStaff evaluationStartStaff = - evaluationStartStaffService.selectManagerEvaluationStartStaff(resultRecord.getEvaluationId(), user.getUserId()); - if(evaluationStartStaff == null){//非考核组设置的绩效管理人员,下面应在查询其他权限 - return R.error("未被授权访问"); - } - } + //获取考核维度等信息 ResultRecordDetailDto resultRecordDetailDto = new ResultRecordDetailDto(); BeanUtils.copyProperties(resultRecord, resultRecordDetailDto); From 1cb8b1332fa19cf78071d0b2fdc7d14b61d914aa Mon Sep 17 00:00:00 2001 From: wulin Date: Mon, 16 Nov 2020 14:37:02 +0800 Subject: [PATCH 10/36] =?UTF-8?q?=E5=A2=9E=E5=8A=A0startId=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/lz/modules/flow/model/ResultRecordDetailDto.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/com/lz/modules/flow/model/ResultRecordDetailDto.java b/src/main/java/com/lz/modules/flow/model/ResultRecordDetailDto.java index 141291f6..b2c906c0 100644 --- a/src/main/java/com/lz/modules/flow/model/ResultRecordDetailDto.java +++ b/src/main/java/com/lz/modules/flow/model/ResultRecordDetailDto.java @@ -37,6 +37,9 @@ public class ResultRecordDetailDto { @ApiModelProperty(value = "员工id", name = "staffId") private Long staffId; + @ApiModelProperty(value = "任务id", name = "startId") + private Long startId; + //使用的哪个等级。等级组id,lz_result_grade的group_id From 2cc3f353791679f1bc73b7ae0f34b7a8b4854ed6 Mon Sep 17 00:00:00 2001 From: wulin Date: Mon, 16 Nov 2020 14:57:14 +0800 Subject: [PATCH 11/36] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9id=E4=BC=A0?= =?UTF-8?q?=E7=A9=BA=E7=9A=84=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ResultRecordController.java | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) 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 d24d3eb2..24f5a9f8 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -346,23 +346,31 @@ public class ResultRecordController extends AbstractController { ResultRecord resultRecord = null; if(param.containsKey("id")){ - id = Long.parseLong(param.get("id").toString()); - resultRecord = lzResultRecordService.selectResultRecordById(id); - //下面判断权限 - if(user.getUserId().longValue() != resultRecord.getStaffId().longValue()){ - //不是自己的绩效,判断是否为绩效管理人员,老板,部门管理人员 - log.info("不是自己的绩效"); + String value = param.get("id").toString(); + if(value.length() > 0){ + id = Long.parseLong(value); + resultRecord = lzResultRecordService.selectResultRecordById(id); + //下面判断权限 + if(user.getUserId().longValue() != resultRecord.getStaffId().longValue()){ + //不是自己的绩效,判断是否为绩效管理人员,老板,部门管理人员 + log.info("不是自己的绩效"); + } } + + }else if(param.containsKey("startId")){//根据startId和token获取 - startId = Long.parseLong(param.get("startId").toString()); - resultRecord = lzResultRecordService.selectResultRecordByStaffIdAndStartId(getUserId(), startId); - }else{//根据token获取 - resultRecord = lzResultRecordService.selectLastResultRecordByUserId(getUserId()); + String value = param.get("startId").toString(); + if(value.length() > 0){ + startId = Long.parseLong(value); + resultRecord = lzResultRecordService.selectResultRecordByStaffIdAndStartId(getUserId(), startId); + } } - if(resultRecord == null){ - return R.error("绩效不存在"); + resultRecord = lzResultRecordService.selectLastResultRecordByUserId(getUserId());//根据token获取 + if(resultRecord == null){ + return R.error("绩效不存在"); + } } //获取考核维度等信息 From 017cbb7f3a3438c7022c363befa8765976a6f0b5 Mon Sep 17 00:00:00 2001 From: wulin Date: Mon, 16 Nov 2020 15:08:09 +0800 Subject: [PATCH 12/36] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/controller/ResultRecordController.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) 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 24f5a9f8..4982eba4 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -350,6 +350,9 @@ public class ResultRecordController extends AbstractController { if(value.length() > 0){ id = Long.parseLong(value); resultRecord = lzResultRecordService.selectResultRecordById(id); + if(resultRecord == null){ + return R.error("绩效不存在"); + } //下面判断权限 if(user.getUserId().longValue() != resultRecord.getStaffId().longValue()){ //不是自己的绩效,判断是否为绩效管理人员,老板,部门管理人员 @@ -363,16 +366,21 @@ public class ResultRecordController extends AbstractController { if(value.length() > 0){ startId = Long.parseLong(value); resultRecord = lzResultRecordService.selectResultRecordByStaffIdAndStartId(getUserId(), startId); + if(resultRecord == null){ + return R.error("绩效不存在"); + } } - } - - if(resultRecord == null){ - resultRecord = lzResultRecordService.selectLastResultRecordByUserId(getUserId());//根据token获取 + }else{ + //根据token获取 + resultRecord = lzResultRecordService.selectLastResultRecordByUserId(getUserId()); if(resultRecord == null){ return R.error("绩效不存在"); } } + + + //获取考核维度等信息 ResultRecordDetailDto resultRecordDetailDto = new ResultRecordDetailDto(); BeanUtils.copyProperties(resultRecord, resultRecordDetailDto); From 2c7e95212c8bc2c427b015a2604edafd0fa2f04d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Mon, 16 Nov 2020 15:51:02 +0800 Subject: [PATCH 13/36] fi --- src/main/java/com/lz/modules/app/resp/OwnResultResp.java | 2 +- .../com/lz/modules/performance/controller/ChartController.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/lz/modules/app/resp/OwnResultResp.java b/src/main/java/com/lz/modules/app/resp/OwnResultResp.java index 210e36c7..b8f2322b 100644 --- a/src/main/java/com/lz/modules/app/resp/OwnResultResp.java +++ b/src/main/java/com/lz/modules/app/resp/OwnResultResp.java @@ -19,5 +19,5 @@ public class OwnResultResp { private String name; //最后得分 @ApiModelProperty("最后得分") - private BigDecimal lastScore; + private BigDecimal allScore; } 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 12a4fe6b..9331a94f 100644 --- a/src/main/java/com/lz/modules/performance/controller/ChartController.java +++ b/src/main/java/com/lz/modules/performance/controller/ChartController.java @@ -99,7 +99,7 @@ public class ChartController extends AbstractController{ //如果id为空,查询自己信息 userId = getUserId(); } - List ownResultResps = resultRecordService.ownResult(null); + List ownResultResps = resultRecordService.ownResult(userId); return R.ok().put("data",ownResultResps); } From ce2b2d6fa76ffc1e1142c5233d7973b8a9df251a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Mon, 16 Nov 2020 16:07:47 +0800 Subject: [PATCH 14/36] fi --- src/main/resources/mapper/app/ResultRecordMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/mapper/app/ResultRecordMapper.xml b/src/main/resources/mapper/app/ResultRecordMapper.xml index 247ff636..3b353928 100644 --- a/src/main/resources/mapper/app/ResultRecordMapper.xml +++ b/src/main/resources/mapper/app/ResultRecordMapper.xml @@ -281,7 +281,7 @@ - select * from lz_result_detail where record_id=#{recordResultId} and type = #{type} and is_delete = 0 order by priority asc + select * from lz_result_detail where record_id=#{recordResultId} and model_id = #{modelId} and is_delete = 0 order by priority asc diff --git a/src/test/java/com/lz/mysql/MysqlMain.java b/src/test/java/com/lz/mysql/MysqlMain.java index c89a36a3..cf1028c3 100644 --- a/src/test/java/com/lz/mysql/MysqlMain.java +++ b/src/test/java/com/lz/mysql/MysqlMain.java @@ -126,7 +126,7 @@ public class MysqlMain { List list = new ArrayList(); - list.add(new TablesBean("lz_result_score")); + list.add(new TablesBean("lz_result_detail")); List list2 = new ArrayList(); Map map = MysqlUtil2ShowCreateTable.getComments(); From fe201ca16e7810d2ddc31879f9eb873554600e0a Mon Sep 17 00:00:00 2001 From: wulin Date: Tue, 17 Nov 2020 09:45:06 +0800 Subject: [PATCH 17/36] =?UTF-8?q?=E5=8F=91=E8=B5=B7=E6=97=B6=E4=BF=9D?= =?UTF-8?q?=E5=AD=98modelId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lz/modules/flow/service/impl/FlowStartServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index daa259f7..894b725a 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -463,6 +463,7 @@ public class FlowStartServiceImpl extends ServiceImpl Date: Tue, 17 Nov 2020 09:48:14 +0800 Subject: [PATCH 18/36] =?UTF-8?q?=E8=A7=A3=E5=86=B3bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/lz/modules/sys/dao/app/ResultDetailMapper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 38a3e398..87424123 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 @@ -45,5 +45,5 @@ public interface ResultDetailMapper extends BaseMapper { Long insertResultDetails(@Param("list") List resultDetails); - List selectDtosByRecordId(@Param("recordResultId") Long id, @Param("modelId") int modelId); + List selectDtosByRecordId(@Param("recordResultId") Long id, @Param("modelId") Long modelId); } \ No newline at end of file From 3fbf7e727b0fcc3dda1352cdd4b4245205272ef5 Mon Sep 17 00:00:00 2001 From: wulin Date: Tue, 17 Nov 2020 09:57:48 +0800 Subject: [PATCH 19/36] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8F=91=E8=B5=B7?= =?UTF-8?q?=E4=BF=9D=E5=AD=98modelId=E9=94=99=E8=AF=AF=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lz/modules/flow/service/impl/FlowStartServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index 894b725a..70a38a8c 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -362,7 +362,7 @@ public class FlowStartServiceImpl extends ServiceImpl libDtos = resultTagetLibService.selectResultTagetLibDtoByModelId(dto.getId()); dto.setTagetLibs(libDtos); for (ResultTagetLibDto libDto: libDtos From 62986d16d49020cced7c439d53da808cd66f3526 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Tue, 17 Nov 2020 10:09:24 +0800 Subject: [PATCH 20/36] fix --- src/main/java/com/lz/modules/performance/req/OwnResultReq.java | 3 +++ src/main/resources/mapper/app/ResultRecordMapper.xml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/lz/modules/performance/req/OwnResultReq.java b/src/main/java/com/lz/modules/performance/req/OwnResultReq.java index 2710c7c1..3dea0f15 100644 --- a/src/main/java/com/lz/modules/performance/req/OwnResultReq.java +++ b/src/main/java/com/lz/modules/performance/req/OwnResultReq.java @@ -21,4 +21,7 @@ public class OwnResultReq { @ApiModelProperty("结束时间,必传") private String endTime; + @ApiModelProperty("条数,默认6条") + private Integer size = 6; + } diff --git a/src/main/resources/mapper/app/ResultRecordMapper.xml b/src/main/resources/mapper/app/ResultRecordMapper.xml index 967e55ba..04fd795b 100644 --- a/src/main/resources/mapper/app/ResultRecordMapper.xml +++ b/src/main/resources/mapper/app/ResultRecordMapper.xml @@ -292,7 +292,7 @@ or (DATE_FORMAT(start_time,'%Y-%m') <= #{req.endTime} and DATE_FORMAT(start_time,'%Y-%m') >= #{req.startTime}) ) - order by start_id desc + order by start_id desc limit #{req.size} From 329e03ed69e419f7b598af77cc6c1b8aeb81f620 Mon Sep 17 00:00:00 2001 From: wulin Date: Tue, 17 Nov 2020 10:21:22 +0800 Subject: [PATCH 21/36] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lz/modules/app/controller/ResultRecordController.java | 1 + .../com/lz/modules/flow/service/impl/FlowStartServiceImpl.java | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) 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 0b23aaa7..5a2e87c6 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -712,6 +712,7 @@ public class ResultRecordController extends AbstractController { resultDetail.setStaffId(resultRecord.getStaffId()); resultDetail.setRecordId(resultRecord.getId()); resultDetail.setType(model.getType()); + resultDetail.setModelId(model.getId()); inserts.add(resultDetail); } if(resultDetail.getIsDelete() == null || resultDetail.getIsDelete().intValue() == 0){ diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index 70a38a8c..7dc9aa82 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -362,7 +362,7 @@ public class FlowStartServiceImpl extends ServiceImpl libDtos = resultTagetLibService.selectResultTagetLibDtoByModelId(dto.getId()); dto.setTagetLibs(libDtos); for (ResultTagetLibDto libDto: libDtos @@ -374,6 +374,7 @@ public class FlowStartServiceImpl extends ServiceImpl 0){ //插入备份的考评组指标信息 From e3de3fa4cd0e83ad5b96098fb1a5e83890849b67 Mon Sep 17 00:00:00 2001 From: wulin Date: Tue, 17 Nov 2020 11:29:37 +0800 Subject: [PATCH 22/36] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=B6=85=E7=BA=A7?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=91=98=E6=97=A0=E6=B3=95=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=BB=84=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EvaluationGroupServiceImpl.java | 23 +++++----- .../service/impl/FlowStartServiceImpl.java | 20 +++------ .../job/business/DingtalkBusiness.java | 42 ++++++++++--------- 3 files changed, 40 insertions(+), 45 deletions(-) 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 d8966a2f..3aa63b51 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 @@ -138,7 +138,7 @@ public class EvaluationGroupServiceImpl extends ServiceImpl staffRoles = staffRoleService.selectAllByStaffId(sysUserEntity.getUserId()); + List staffRoles = staffRoleService.selectAllByStaffId(sysUserEntity.getUserId());//一个人只会有一个 if(staffRoles.size() == 0){ log.info("非绩效管理员登录查询"); return null; @@ -149,17 +149,20 @@ public class EvaluationGroupServiceImpl extends ServiceImpl(); - for (StaffRoleEvaluationGroup staffRoleEvaluationGroup:staffRoleEvaluationGroups - ) { - if(staffRoleEvaluationGroup.getEvaluationGroupId().longValue() == 0l){//管理所有组 - gIds = null; - log.info("管理所有组"); - break; - } - gIds.add(staffRoleEvaluationGroup.getEvaluationGroupId());//管理特定组 + if(staffRoleEvaluationGroups.get(0).getEvaluationGroupId().longValue() != 0L){//管理指定考评组的 + gIds = new ArrayList<>(); + for (StaffRoleEvaluationGroup staffRoleEvaluationGroup:staffRoleEvaluationGroups + ) { + if(staffRoleEvaluationGroup.getEvaluationGroupId().longValue() == 0l){//管理所有组 + gIds = null; + log.info("管理所有组"); + break; + } + gIds.add(staffRoleEvaluationGroup.getEvaluationGroupId());//管理特定组 + } } + } List finalGIds = gIds; PageUtils pageUtils = PageUtils.startPage(req.getCurrPage(), req.getPageSize()) diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index 7dc9aa82..de58bfbc 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -248,7 +248,7 @@ public class FlowStartServiceImpl extends ServiceImpl> mustRole = new HashMap<>(); Map> selfMustRole = new HashMap<>(); - + List noticeStaff = new ArrayList<>(); for (int n = 0; n < evaluationGroups.size(); n++ ) { EvaluationGroup evaluationGroup = evaluationGroups.get(n); @@ -293,9 +293,12 @@ public class FlowStartServiceImpl extends ServiceImpl 0){ // resultDetailService.insertResultDetails(resultDetails); - } - - } evaluationStartStaffService.insertEvaluationStartStaffs(evaluationStartStaffs); return 0; @@ -507,7 +507,6 @@ public class FlowStartServiceImpl extends ServiceImpl 0){//模板里面有添加指标 for (ResultTagetLibDto libDto: modelDto.getTagetLibs()) { - - ResultDetail resultDetail = new ResultDetail(); resultDetail.setRecordId(resultRecord.getId()); resultDetail.setTarget(libDto.getName()); @@ -735,12 +729,8 @@ public class FlowStartServiceImpl extends ServiceImpl 0){ // resultDetailService.insertResultDetails(resultDetails); - } evaluationStartStaffService.insertEvaluationStartStaffs(evaluationStartStaffs); - //下面通知所有参与考核人员 - - //如果有下面通知所有管理人员 }else{ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚 log.info("初始化考核流程失败"); diff --git a/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java b/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java index 593d8ae1..01b724e6 100644 --- a/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java +++ b/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java @@ -237,29 +237,31 @@ public class DingtalkBusiness { public String sendWorkMSGWithAsyn(StaffSimpleInfo fromStaff, List toStaffids, int type) { - - if (toStaffids.get(0).getEmployeeId() == null || toStaffids.get(0).getEmployeeId().length() == 0) { - //查询第三方id - List ids = toStaffids.stream().map(new Function() { - @Override - public Long apply(StaffSimpleInfo staffSimpleInfo) { - return staffSimpleInfo.getId(); + if(toStaffids.size() > 0){ + if (toStaffids.get(0).getEmployeeId() == null || toStaffids.get(0).getEmployeeId().length() == 0) { + //查询第三方id + List ids = toStaffids.stream().map(new Function() { + @Override + public Long apply(StaffSimpleInfo staffSimpleInfo) { + return staffSimpleInfo.getId(); + } + }).collect(Collectors.toList()); + List staffSimpleInfos = staffService.selectStaffSimpleInfos(ids); + Map map = toStaffids.stream().collect(Collectors.toMap(StaffSimpleInfo::getId, e -> e)); + for (StaffSimpleInfo staff : staffSimpleInfos + ) { + StaffSimpleInfo staff1 = map.get(staff.getId()); + staff1.setEmployeeId(staff1.getEmployeeId()); } - }).collect(Collectors.toList()); - List staffSimpleInfos = staffService.selectStaffSimpleInfos(ids); - Map map = toStaffids.stream().collect(Collectors.toMap(StaffSimpleInfo::getId, e -> e)); - for (StaffSimpleInfo staff : staffSimpleInfos - ) { - StaffSimpleInfo staff1 = map.get(staff.getId()); - staff1.setEmployeeId(staff1.getEmployeeId()); } - } - WorkMsgTypeEnum workMsgTypeEnum = WorkMsgTypeEnum.findRoleTypeByCode(type); + WorkMsgTypeEnum workMsgTypeEnum = WorkMsgTypeEnum.findRoleTypeByCode(type); - ThreadSendMessage threadSendMessage = new ThreadSendMessage(fromStaff, toStaffids, workMsgTypeEnum, appid); - Thread thread = new Thread(threadSendMessage); - thread.start(); - return "OK"; + ThreadSendMessage threadSendMessage = new ThreadSendMessage(fromStaff, toStaffids, workMsgTypeEnum, appid); + Thread thread = new Thread(threadSendMessage); + thread.start(); + return "OK"; + } + return "error"; } From 1d07f2098f90e534a9442eb23383a9a515733ed9 Mon Sep 17 00:00:00 2001 From: wulin Date: Tue, 17 Nov 2020 11:36:09 +0800 Subject: [PATCH 23/36] =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/EvaluationGroupServiceImpl.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) 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 3aa63b51..941867bb 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 @@ -143,13 +143,14 @@ public class EvaluationGroupServiceImpl extends ServiceImpl staffRoleEvaluationGroups = - staffRoleEvaluationGroupService.selectStaffRoleEvaluationsGroupByStaffRoles(staffRoles); - if(staffRoleEvaluationGroups.size() == 0){ - log.info("查询的管理组为空"); - return null; - } - if(staffRoleEvaluationGroups.get(0).getEvaluationGroupId().longValue() != 0L){//管理指定考评组的 + if(staffRoles.get(0).getEvaluationGroupId().longValue() != 0L){//管理指定考评组的 + List staffRoleEvaluationGroups = + staffRoleEvaluationGroupService.selectStaffRoleEvaluationsGroupByStaffRoles(staffRoles); + if(staffRoleEvaluationGroups.size() == 0){ + log.info("查询的管理组为空"); + return null; + } + gIds = new ArrayList<>(); for (StaffRoleEvaluationGroup staffRoleEvaluationGroup:staffRoleEvaluationGroups ) { From 4fa8416e78e53004b26a286567b46fc27539ac6c Mon Sep 17 00:00:00 2001 From: wulin Date: Tue, 17 Nov 2020 14:17:44 +0800 Subject: [PATCH 24/36] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lz/modules/flow/service/impl/FlowStartServiceImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index de58bfbc..bd08647b 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -414,6 +414,7 @@ public class FlowStartServiceImpl extends ServiceImpl evaluationStartStaffs = new ArrayList<>(); List resultDetails = new ArrayList(); + List resultRecords = new ArrayList<>(); //下面初始化参与人员 for (StaffSimpleInfo staffInfo:staffIds ) { @@ -445,10 +446,10 @@ public class FlowStartServiceImpl extends ServiceImpl Date: Tue, 17 Nov 2020 14:25:16 +0800 Subject: [PATCH 25/36] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../flow/service/impl/FlowStartServiceImpl.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index bd08647b..27ed584f 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -447,10 +447,15 @@ public class FlowStartServiceImpl extends ServiceImpl Date: Tue, 17 Nov 2020 14:40:53 +0800 Subject: [PATCH 26/36] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/FlowStartServiceImpl.java | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index 27ed584f..97010a8e 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -414,7 +414,7 @@ public class FlowStartServiceImpl extends ServiceImpl evaluationStartStaffs = new ArrayList<>(); List resultDetails = new ArrayList(); - List resultRecords = new ArrayList<>(); + //下面初始化参与人员 for (StaffSimpleInfo staffInfo:staffIds ) { @@ -446,16 +446,14 @@ public class FlowStartServiceImpl extends ServiceImpl resultDetails = new ArrayList<>(); List evaluationStartStaffs = new ArrayList<>(); - + List resultRecords = new ArrayList<>(); //下面初始化参与人员 for (StaffSimpleInfo staffInfo:staffIds ) { @@ -628,6 +626,9 @@ public class FlowStartServiceImpl extends ServiceImpl Date: Tue, 17 Nov 2020 14:45:49 +0800 Subject: [PATCH 27/36] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lz/modules/flow/service/impl/FlowStartServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index 97010a8e..fd5b5a91 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -716,7 +716,7 @@ public class FlowStartServiceImpl extends ServiceImpl Date: Tue, 17 Nov 2020 14:50:30 +0800 Subject: [PATCH 28/36] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/flow/service/impl/FlowStartServiceImpl.java | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index fd5b5a91..1c932b8e 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -708,12 +708,8 @@ public class FlowStartServiceImpl extends ServiceImpl Date: Tue, 17 Nov 2020 15:08:24 +0800 Subject: [PATCH 29/36] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/FlowStartServiceImpl.java | 143 +++++++++++++++++- 1 file changed, 142 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index 1c932b8e..0a2bc155 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -1,13 +1,20 @@ package com.lz.modules.flow.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.google.common.collect.Lists; import com.lz.common.emun.ChartOptType; import com.lz.common.emun.CheckStaffType; import com.lz.common.emun.WorkMsgTypeEnum; import com.lz.common.utils.R; import com.lz.common.utils.StringUtil; +import com.lz.modules.app.entity.DepartmentsStaffRelateEntity; import com.lz.modules.app.entity.StaffEntity; import com.lz.modules.app.entity.StaffSimpleInfo; +import com.lz.modules.app.enums.FlowApprovalRoleTypeEnums; +import com.lz.modules.app.enums.FlowRecordStatusEnums; +import com.lz.modules.app.enums.RoleEnums; +import com.lz.modules.app.service.DepartmentsService; +import com.lz.modules.app.service.DepartmentsStaffRelateService; import com.lz.modules.app.service.StaffService; import com.lz.modules.flow.dao.EvaluationStartStaffMapper; import com.lz.modules.flow.dao.FlowStartMapper; @@ -21,6 +28,7 @@ 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 lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.map.HashedMap; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -29,6 +37,9 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport; import java.text.SimpleDateFormat; import java.util.*; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; import java.util.function.Function; import java.util.stream.Collectors; @@ -88,6 +99,20 @@ public class FlowStartServiceImpl extends ServiceImpl flows = flowService.selectByFlowId(resultRecord.getEvaluationId(),resultRecord.getStartId()); + List flowIds = new ArrayList<>(); + for(Flow flow:flows){ + flowIds.add(flow.getId()); + } + + int i = 0; + for (FlowApprovalRole flowApprovalRole : flowApprovalRoles) { + FlowRecord flowRecord = new FlowRecord(); + flowRecord.setRecordId(resultRecord.getId()); + StaffEntity approvalStaff = new StaffEntity(); + if (FlowApprovalRoleTypeEnums.ME.getType().equals(flowApprovalRole.getType())) { + approvalStaff = staffService.selectStaffById(resultRecord.getStaffId()); + } else if (FlowApprovalRoleTypeEnums.STAFF.getType().equals(flowApprovalRole.getType())) { + approvalStaff = staffService.selectStaffById(flowApprovalRole.getApprovalId()); + } else if (FlowApprovalRoleTypeEnums.ONE_SUPPER.getType().equals(flowApprovalRole.getType())) { + approvalStaff = getDepartmentStaff(resultRecord.getStaffId(), 1); + } else if (FlowApprovalRoleTypeEnums.TWO_SUPPER.getType().equals(flowApprovalRole.getType())) { + approvalStaff = getDepartmentStaff(resultRecord.getStaffId(), 2); + } else if (FlowApprovalRoleTypeEnums.THREE_SUPPER.getType().equals(flowApprovalRole.getType())) { + approvalStaff = getDepartmentStaff(resultRecord.getStaffId(), 3); + } else if (FlowApprovalRoleTypeEnums.FOUR_SUPPER.getType().equals(flowApprovalRole.getType())) { + approvalStaff = getDepartmentStaff(resultRecord.getStaffId(), 4); + } else if (FlowApprovalRoleTypeEnums.FOUR_SUPPER.getType().equals(flowApprovalRole.getType())) { + approvalStaff = getDepartmentStaff(resultRecord.getStaffId(), 5); + } + if(approvalStaff !=null && StringUtil.isNotBlank(approvalStaff.getName())){ + insertFlowRecord(flowRecord,approvalStaff,flows,flowApprovalRole,resultRecord,i,null); + }else{ + List staffRoles= staffRoleService.selectAllStaffRoleByDepartmentLevel(Arrays.asList(new String[]{RoleEnums.MASTER_PM.getName(),RoleEnums.CHILD_PM.getName()})); + for(StaffRole staffRole:staffRoles){ + approvalStaff = staffService.selectStaffById(staffRole.getStaffId()); + if(staffRole.getDepartmentId() ==0){ //如果是管理所有部门 + insertFlowRecord(flowRecord,approvalStaff,flows,flowApprovalRole,resultRecord,i,1); + }else{ + DepartmentsStaffRelateEntity relateEntity = departmentsStaffRelateService.selectLastDepartmentByStaffId(resultRecord.getStaffId()); + Map map = departmentsService.selectUserAllDepartmentIds(relateEntity.getDepartmentId()); + List staffRoleDepartments = staffRoleDepartmentService.selectStaffRoleDepartmentByStaffRoleId(staffRole.getId()); + boolean flag = false; + for(StaffRoleDepartment staffRoleDepartment: staffRoleDepartments){ + String departmentName = map.get(staffRoleDepartment.getDepartmentId()); + if(StringUtil.isNotBlank(departmentName)){ + flag = true; + break; + } + } + if(flag){ //如果管理员是管理特定部门 + insertFlowRecord(flowRecord,approvalStaff,flows,flowApprovalRole,resultRecord,i,1); + } + } + } + } + i++; + } + resultRecordService.updateResultRecordById(resultRecord); + + /*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(); + }*/ + //resultRecordService.initFlowRecord(resultRecord.getId()); //下面生成ResultDetail对象 for (ResultModelDto modelDto:resultModelDtos @@ -747,6 +837,57 @@ public class FlowStartServiceImpl extends ServiceImpl flows,FlowApprovalRole flowApprovalRole ,ResultRecord resultRecord,int i,Integer stepType ){ + flowRecord.setApprovalStaffName(approvalStaff.getName()); + flowRecord.setApprovalStaffId(approvalStaff.getId()); + flowRecord.setFlowName(getFlow(flows, flowApprovalRole.getFlowId()).getOptDesc()); + flowRecord.setRecordStaffId(resultRecord.getStaffId()); + flowRecord.setFlowId(flowApprovalRole.getFlowId()); + FlowChart flowChart = flowService.selectFlowChartByChartId(flowApprovalRole.getFlowId()); + flowRecord.setProcessId(flowChart.getProcessId()); + flowRecord.setFlowProcess(flowChart.getFlowProcess()); + String staffRole = StaffRoles.getStaffRole(approvalStaff.getId(), StringUtil.strToLongs(flowApprovalRole.getRoleId())); + if (i == 0) { + flowRecord.setStatus(FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus()); + resultRecord.setFlowStaffIdRole(staffRole); + resultRecord.setFlowProcess(flowChart.getFlowProcess()); + } else { + flowRecord.setStatus(FlowRecordStatusEnums.UN_TO_STATUS.getStatus()); + if(new Integer(4).equals(flowChart.getFlowProcess())){ + EvaluationStartStaff evaluationStartStaff = evaluationStartStaffService.selectEvaluationStartById(resultRecord.getEvaluationId(),resultRecord.getStartId()); + if(evaluationStartStaff !=null && new Integer(1).equals(evaluationStartStaff.getScore())){ + flowRecord.setStatus(FlowRecordStatusEnums.SKIP_STATUS.getStatus()); + }else{ + log.info("evaluationStartStaff is null evaluationId :" + resultRecord.getEvaluationId() + ", startId : " + resultRecord.getStartId()); + } + } + } + flowRecord.setFlowStaffIdRole(staffRole); + flowRecord.setFlowIndex(flowApprovalRole.getStepIndex()); + flowRecord.setType(stepType !=null ? stepType :flowApprovalRole.getStepType()); //步骤类型0:依次,1:或签(同时通知,一人通过或拒绝即可),2会签(同时通知,所有人同意才可) + flowRecordService.insertFlowRecord(flowRecord); + + } + + public Flow getFlow(List flows,Long flowId){ + for(Flow flow : flows){ + if(flow.getId().equals(flowId)){ + return flow; + } + } + return new Flow(); + } + + public StaffEntity getDepartmentStaff(Long staffId, int level) { + DepartManagers departManagers = staffService.findLeader( staffId, level); + List staffEntities = departManagers.getManagers(); + if(CollectionUtils.isNotEmpty(staffEntities)){ + return staffEntities.get(0); + } + return new StaffEntity(); + + } + @Override public R getModelById(Long id, int type){ /*EvaluationGroup evaluationGroup = evaluationGroupService.selectEvaluationGroupById(id); From 76e70c8b1f67636a740c9e3d0b0e94b944b390e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Tue, 17 Nov 2020 15:11:01 +0800 Subject: [PATCH 30/36] fix --- .../performance/controller/ChartController.java | 17 +++++++++++++++++ .../controller/UserTaskController.java | 5 +++-- .../service/impl/AssessServiceImpl.java | 15 +++++++++++---- .../resources/mapper/flow/FlowRecordMapper.xml | 2 +- 4 files changed, 32 insertions(+), 7 deletions(-) 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 54e83a24..7f160b91 100644 --- a/src/main/java/com/lz/modules/performance/controller/ChartController.java +++ b/src/main/java/com/lz/modules/performance/controller/ChartController.java @@ -1,6 +1,7 @@ package com.lz.modules.performance.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.google.common.collect.Lists; import com.lz.common.utils.PageUtils; import com.lz.common.utils.R; import com.lz.common.utils.StringUtil; @@ -18,6 +19,7 @@ import com.lz.modules.performance.res.ChartStatisticalRes; import com.lz.modules.performance.res.ResultRankListRes; import com.lz.modules.performance.service.ChartResultService; import com.lz.modules.sys.controller.AbstractController; +import com.lz.modules.sys.entity.app.ResultRecord; import com.lz.modules.sys.service.app.ResultRecordService; import io.swagger.annotations.*; import lombok.extern.slf4j.Slf4j; @@ -25,6 +27,11 @@ 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.function.Supplier; /** * @Author: djc @@ -104,5 +111,15 @@ 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/controller/UserTaskController.java b/src/main/java/com/lz/modules/performance/controller/UserTaskController.java index d1277728..bfadfae0 100644 --- a/src/main/java/com/lz/modules/performance/controller/UserTaskController.java +++ b/src/main/java/com/lz/modules/performance/controller/UserTaskController.java @@ -32,11 +32,12 @@ public class UserTaskController extends AbstractController{ @ApiResponses({@ApiResponse(code = 200,message = "成功",response = TaskListRes.class)}) public R list(@RequestBody @ApiParam(name = "body",value = "body请求体",required = true) AssessTaskReq req){ PageUtils pageUtils; + Long userId = null; try { - Long userId = getUserId(); + userId = getUserId(); pageUtils = assessService.userTaskList(req, userId); } catch (Exception e) { - log.error("获取用户事项异常 userId:" ,e); + log.error("获取用户事项异常 userId:" + userId,e); return R.error(e.getMessage()); } return R.ok().put("data",pageUtils); diff --git a/src/main/java/com/lz/modules/performance/service/impl/AssessServiceImpl.java b/src/main/java/com/lz/modules/performance/service/impl/AssessServiceImpl.java index 6e3df194..a7f404ec 100644 --- a/src/main/java/com/lz/modules/performance/service/impl/AssessServiceImpl.java +++ b/src/main/java/com/lz/modules/performance/service/impl/AssessServiceImpl.java @@ -69,11 +69,18 @@ public class AssessServiceImpl implements AssessService { dtos.stream().forEach(taskListDto -> { TaskListRes res = new TaskListRes(); StaffEntity staffEntity = staffService.selectStaffById(taskListDto.getRecordStaffId()); - res.setAvatar(Optional.ofNullable(staffEntity.getAvatar()).orElse(StringUtil.EMPTY)); - String name = staffEntity.getName(); - if(taskListDto.getRecordStaffId().equals(taskListDto.getApprovalStaffId())){ - name = "您"; + String name = ""; + if(staffEntity!=null){ + res.setAvatar(Optional.ofNullable(staffEntity.getAvatar()).orElse(StringUtil.EMPTY)); + name = staffEntity.getName(); + if(taskListDto.getRecordStaffId().equals(taskListDto.getApprovalStaffId())){ + name = "您"; + } + }else { + name = "未知"; + log.info("未找到此人信息 staffId: " + taskListDto.getRecordStaffId()); } + FlowStart start = flowStartService.selectFlowStartById(taskListDto.getStartId()); //根据状态拼接文案 String startName = start == null ? "" : start.getName(); diff --git a/src/main/resources/mapper/flow/FlowRecordMapper.xml b/src/main/resources/mapper/flow/FlowRecordMapper.xml index c58c61ac..aa192578 100644 --- a/src/main/resources/mapper/flow/FlowRecordMapper.xml +++ b/src/main/resources/mapper/flow/FlowRecordMapper.xml @@ -175,7 +175,7 @@