This commit is contained in:
杜建超 2020-10-19 16:53:15 +08:00
parent 60ed977952
commit 4fbc66d1a4
8 changed files with 54 additions and 6 deletions

View File

@ -1,10 +1,12 @@
package com.lz.modules.performance.controller;
import com.lz.common.utils.PageUtils;
import com.lz.common.utils.R;
import com.lz.modules.flow.entity.EvaluationGroup;
import com.lz.modules.flow.service.EvaluationGroupService;
import com.lz.modules.performance.req.ChartResultReq;
import com.lz.modules.performance.res.ChartStatisticalRes;
import com.lz.modules.performance.res.ResultRankListRes;
import com.lz.modules.performance.res.TaskListRes;
import com.lz.modules.performance.service.ChartResultService;
import com.lz.modules.sys.controller.AbstractController;
@ -40,10 +42,12 @@ public class ChartController extends AbstractController{
return R.ok().put("data",chartStatisticalRes);
}
public R rankList(){
return R.ok();
@PostMapping("chart/rank")
@ApiOperation("获取绩排名列表")
@ApiResponses({@ApiResponse(code = 200,message = "成功",response = ResultRankListRes.class)})
public R rankList(@RequestBody @ApiParam(name = "body",value = "body请求体",required = true) ChartResultReq req){
PageUtils pageUtils = chartResultService.resultRankList(req);
return R.ok().put("data",pageUtils);
}

View File

@ -1,5 +1,6 @@
package com.lz.modules.performance.req;
import com.lz.modules.equipment.entity.model.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -13,7 +14,7 @@ import java.time.YearMonth;
*/
@Data
@ApiModel(value = "绩效报表请求实体")
public class ChartResultReq {
public class ChartResultReq extends BasePage{
//考核类型 月度 季度
@ApiModelProperty(value = "考核类型 月度,自定义",name = "type")
private int type = 0;

View File

@ -1,6 +1,7 @@
package com.lz.modules.performance.res;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@ -12,15 +13,23 @@ import lombok.Data;
@ApiModel(value = "绩效排名列表")
public class ResultRankListRes {
//姓名
@ApiModelProperty(value = "姓名",name = "staffName")
private String staffName;
//工号
@ApiModelProperty(value = "工号",name = "staffNo")
private String staffNo;
//部门
@ApiModelProperty(value = "部门",name = "departmentName")
private String departmentName;
//绩效等级
@ApiModelProperty(value = "绩效等级",name = "scoreLevel")
private String scoreLevel;
//绩效结果
@ApiModelProperty(value = "绩效结果",name = "result")
private String result;
//绩效排名
@ApiModelProperty(value = "绩效排名",name = "rank")
private String rank;
@ApiModelProperty(value = "id",name = "recordId")
private Long recordId;
}

View File

@ -1,8 +1,10 @@
package com.lz.modules.performance.service;
import com.lz.common.utils.PageUtils;
import com.lz.modules.performance.req.ChartResultReq;
import com.lz.modules.performance.res.ChartStatistical;
import com.lz.modules.performance.res.ChartStatisticalRes;
import com.lz.modules.performance.res.ResultRankListRes;
import java.math.BigDecimal;
import java.util.List;
@ -18,4 +20,6 @@ public interface ChartResultService {
List<ChartStatistical> countDepartmentAndStaffNum(List<String>staffIds);
PageUtils resultRankList(ChartResultReq req);
}

View File

@ -2,17 +2,24 @@ package com.lz.modules.performance.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.collect.Maps;
import com.lz.common.utils.PageUtils;
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.service.DepartmentsStaffRelateService;
import com.lz.modules.app.service.StaffService;
import com.lz.modules.flow.entity.EvaluationGroup;
import com.lz.modules.flow.service.EvaluationGroupService;
import com.lz.modules.performance.req.AssessListReq;
import com.lz.modules.performance.req.ChartResultReq;
import com.lz.modules.performance.res.ChartStatistical;
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.dao.app.ResultRecordMapper;
import com.lz.modules.sys.entity.app.ResultRecord;
import com.lz.modules.sys.service.app.ResultRecordService;
import com.qcloud.cos.http.RequestBodyValue;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.ArrayUtils;
import org.springframework.beans.BeanUtils;
@ -20,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.function.Consumer;
/**
* @Author: djc
@ -35,6 +43,10 @@ public class ChartResultServiceImpl implements ChartResultService {
private DepartmentsStaffRelateService departmentsStaffRelateService;
@Autowired
private EvaluationGroupService evaluationGroupService;
@Autowired
private ResultRecordMapper resultRecordMapper;
@Autowired
private StaffService staffService;
@Override
public List<ChartStatisticalRes> chartReport(ChartResultReq req) {
@ -87,4 +99,11 @@ public class ChartResultServiceImpl implements ChartResultService {
return data;
}
@Override
public PageUtils resultRankList(ChartResultReq req) {
PageUtils pageUtils = PageUtils.startPage(req.getCurrPage(), req.getPageSize()).doSelect(
page -> resultRecordMapper.selectResultRankList(page,req)
);
return pageUtils;
}
}

View File

@ -17,6 +17,7 @@ import com.lz.modules.app.req.ResultRecordReq;
import com.lz.modules.app.resp.OwnResultResp;
import com.lz.modules.flow.model.ResultRecordDto;
import com.lz.modules.performance.req.AssessListReq;
import com.lz.modules.performance.req.ChartResultReq;
import com.lz.modules.performance.res.ChartStatistical;
import com.lz.modules.performance.res.ChartStatisticalRes;
import com.lz.modules.sys.entity.app.ResultRecord;
@ -77,4 +78,6 @@ public interface ResultRecordMapper extends BaseMapper<ResultRecord> {
List<ChartStatistical> countNumByScoreLevel(@Param("req") AssessListReq req);
List<ResultRecord> selectResultRankList(@Param("page") IPage page, @Param("req") ChartResultReq req);
}

View File

@ -1,5 +1,6 @@
package com.lz.modules.sys.service.app;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lz.common.emun.WorkMsgTypeEnum;
import com.lz.common.utils.PageUtils;
@ -107,4 +108,5 @@ public interface ResultRecordService extends IService<ResultRecord> {
List<ChartStatistical> countNumByFlowProcess(AssessListReq req);
List<ChartStatistical> countNumByScoreLevel(AssessListReq req);
}

View File

@ -341,10 +341,16 @@
<select id="countNumByFlowProcess" resultType="com.lz.modules.performance.res.ChartStatistical">
SELECT count(flow_process) num,flow_process type from lz_result_record where is_delete=0 GROUP BY flow_process
</select>
<select id="countNumByScoreLevel" resultType="com.lz.modules.performance.res.ChartStatistical">
<select id="countNumByScoreLevel" resultType="com.lz.modules.performance.res.ChartStatistical">
</select>
<select id="selectResultRankList" resultType="com.lz.modules.performance.res.ResultRankListRes">
SELECT r.id,all_score,department_name,staff_name,score_level,job_number from lz_result_record r
LEFT JOIN lz_staff s
on r.staff_id = s.id
where r.is_delete =0 and s.is_delete=0 ORDER BY all_score desc
</select>
</mapper>