From 5753686fc38a3840e628201e8d87bf710b51f204 Mon Sep 17 00:00:00 2001 From: wulin Date: Mon, 16 Nov 2020 11:01:43 +0800 Subject: [PATCH 1/5] =?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 2/5] =?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 3/5] =?UTF-8?q?=E5=A2=9E=E5=8A=A0startId=E5=AD=97=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 4/5] =?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 5/5] =?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);