Merge branch 'version_performance_2.0' of http://gitlab.ldxinyong.com/enterpriseManagement/lz_management into version_performance_2.0
This commit is contained in:
commit
9883cbc9da
@ -8,7 +8,9 @@ package com.lz.modules.flow.dao;
|
||||
* @since 2020-08-18
|
||||
*/
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.lz.modules.flow.entity.FlowRecord;
|
||||
import com.lz.modules.performance.dto.TaskListDto;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@ -52,6 +54,8 @@ public interface FlowRecordMapper extends BaseMapper<FlowRecord> {
|
||||
Long copyFlowRecord(FlowRecord flowRecord);
|
||||
|
||||
//查看自己要审批的记录 status为1代表流程走到了这里
|
||||
List<Long> selectFlowRecordIdsByApprovalStaffId(@Param("approvalStaffId") Long approvalStaffId);
|
||||
List<TaskListDto> selectTodoTasksByApprovalStaffId(@Param("approvalStaffId") Long approvalStaffId, @Param("page") IPage page);
|
||||
|
||||
List<TaskListDto> selectFinishTasksByApprovalStaffId(@Param("approvalStaffId") Long approvalStaffId, @Param("page") IPage page);
|
||||
|
||||
}
|
||||
@ -1,7 +1,10 @@
|
||||
package com.lz.modules.flow.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.lz.common.utils.PageUtils;
|
||||
import com.lz.modules.equipment.entity.model.BasePage;
|
||||
import com.lz.modules.flow.entity.FlowRecord;
|
||||
import com.lz.modules.performance.req.AssessTaskReq;
|
||||
import com.lz.modules.sys.entity.app.ResultRecord;
|
||||
|
||||
import java.util.List;
|
||||
@ -53,5 +56,5 @@ public interface FlowRecordService extends IService<FlowRecord> {
|
||||
|
||||
Long copyFlowRecord(FlowRecord flowRecord);
|
||||
|
||||
List<Long> selectFlowRecordIdsByApprovalStaffId(Long approvalStaffId);
|
||||
PageUtils selectTaskListByApprovalStaffId(AssessTaskReq req, Long approvalStaffId);
|
||||
}
|
||||
@ -1,15 +1,19 @@
|
||||
package com.lz.modules.flow.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.lz.common.utils.Constant;
|
||||
import com.lz.common.utils.PageUtils;
|
||||
import com.lz.modules.app.entity.StaffEntity;
|
||||
import com.lz.modules.app.service.StaffService;
|
||||
import com.lz.modules.app.utils.t.OneTuple;
|
||||
import com.lz.modules.equipment.entity.model.BasePage;
|
||||
import com.lz.modules.flow.dao.FlowRecordMapper;
|
||||
import com.lz.modules.flow.entity.FlowRecord;
|
||||
import com.lz.modules.flow.enums.FlowRecordEnum;
|
||||
import com.lz.modules.flow.model.StaffRoleDto;
|
||||
import com.lz.modules.flow.service.FlowRecordService;
|
||||
import com.lz.modules.performance.req.AssessTaskReq;
|
||||
import com.lz.modules.sys.entity.app.ResultRecord;
|
||||
import com.lz.modules.sys.service.app.ResultRecordService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -139,7 +143,19 @@ public class FlowRecordServiceImpl extends ServiceImpl<FlowRecordMapper, FlowRec
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Long> selectFlowRecordIdsByApprovalStaffId(Long approvalStaffId) {
|
||||
return flowRecordMapper.selectFlowRecordIdsByApprovalStaffId(approvalStaffId);
|
||||
public PageUtils selectTaskListByApprovalStaffId(AssessTaskReq req, Long approvalStaffId) {
|
||||
PageUtils pageUtils = new PageUtils();
|
||||
if(req.getStatus()==0){
|
||||
pageUtils = PageUtils.startPage(req.getCurrPage(), req.getPageSize()).doSelect(
|
||||
page -> flowRecordMapper.selectTodoTasksByApprovalStaffId(approvalStaffId,page)
|
||||
);
|
||||
}
|
||||
if(req.getStatus()==1){
|
||||
pageUtils = PageUtils.startPage(req.getCurrPage(), req.getPageSize()).doSelect(
|
||||
page -> flowRecordMapper.selectFinishTasksByApprovalStaffId(approvalStaffId,page)
|
||||
);
|
||||
}
|
||||
|
||||
return pageUtils;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,18 +1,29 @@
|
||||
package com.lz.modules.performance.controller;
|
||||
|
||||
import com.lz.common.utils.DateUtils;
|
||||
import com.lz.common.utils.PageUtils;
|
||||
import com.lz.common.utils.R;
|
||||
import com.lz.common.utils.StringUtil;
|
||||
import com.lz.modules.app.entity.StaffEntity;
|
||||
import com.lz.modules.app.service.StaffService;
|
||||
import com.lz.modules.equipment.entity.model.BasePage;
|
||||
import com.lz.modules.flow.entity.FlowChart;
|
||||
import com.lz.modules.flow.service.FlowChangeService;
|
||||
import com.lz.modules.flow.service.FlowRecordService;
|
||||
import com.lz.modules.performance.dto.TaskListDto;
|
||||
import com.lz.modules.performance.req.AssessDetailReq;
|
||||
import com.lz.modules.performance.req.AssessListReq;
|
||||
import com.lz.modules.performance.req.AssessTaskReq;
|
||||
import com.lz.modules.performance.req.ChartResultReq;
|
||||
import com.lz.modules.performance.res.ChartStatisticalRes;
|
||||
import com.lz.modules.performance.res.TaskListRes;
|
||||
import com.lz.modules.performance.service.AssessTaskService;
|
||||
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 org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
@ -20,6 +31,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
/**
|
||||
* @Author: djc
|
||||
@ -28,46 +40,39 @@ import java.util.Optional;
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/performance")
|
||||
public class TaskController extends AbstractController{
|
||||
private FlowRecordService flowRecordService;
|
||||
private ResultRecordService resultRecordService;
|
||||
private StaffService staffService;
|
||||
private FlowChangeService flowChangeService;
|
||||
@Api(value="智能绩效", tags={"智能绩效部分接口"})
|
||||
public class SmartPerformanceController extends AbstractController{
|
||||
@Autowired
|
||||
private AssessTaskService assessTaskService;
|
||||
|
||||
@RequestMapping("task/list")
|
||||
public R list(int status){
|
||||
List<TaskListRes> list = new ArrayList<>();
|
||||
Long userId = getUserId();
|
||||
List<Long> flowRecordIds = flowRecordService.selectFlowRecordIdsByApprovalStaffId(userId);
|
||||
if(CollectionUtils.isEmpty(flowRecordIds)){
|
||||
return R.ok();
|
||||
}
|
||||
flowRecordIds.stream().forEach(recordId -> {
|
||||
TaskListRes res = new TaskListRes();
|
||||
ResultRecord resultRecord = resultRecordService.selectResultRecordById(recordId);
|
||||
StaffEntity staffEntity = staffService.selectStaffById(resultRecord.getStaffId());
|
||||
res.setAvatar(Optional.ofNullable(staffEntity.getAvatar()).orElse(StringUtil.EMPTY));
|
||||
//res.setTitle(); 根据状态拼接文案
|
||||
//res.setTime();
|
||||
//res.setUrl();
|
||||
list.add(res);
|
||||
});
|
||||
@ApiOperation("获取待办/处理事项")
|
||||
@ApiImplicitParam(name = "status",value = "状态 (0:待办 1:已处理)", required = true, dataType = "int",paramType = "query")
|
||||
@ApiResponses({@ApiResponse(code = 200,message = "成功",response = TaskListRes.class)})
|
||||
public R list(AssessTaskReq req){
|
||||
assessTaskService.assessTaskList(req,getUserId());
|
||||
return R.ok().put("page","");
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping("chart/result")
|
||||
public R chartResult(@RequestBody ChartResultReq req){
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@RequestMapping("assess/group/list")
|
||||
public R groupList(@RequestBody AssessListReq req){
|
||||
ChartStatisticalRes res = new ChartStatisticalRes();
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@RequestMapping("assess/group/detail")
|
||||
public R groupDetail(@RequestBody AssessDetailReq req){
|
||||
ChartStatisticalRes res = new ChartStatisticalRes();
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@RequestMapping("chart/result")
|
||||
public R chartResult(@RequestBody AssessDetailReq req){
|
||||
return R.ok();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
package com.lz.modules.performance.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Author: djc
|
||||
* @Desc:
|
||||
* @Date: 2020/10/14 14:41
|
||||
*/
|
||||
@Data
|
||||
public class TaskListDto {
|
||||
|
||||
private Long recordId;
|
||||
|
||||
private Long staffId;
|
||||
|
||||
private Long currentApprovalStaffId;
|
||||
|
||||
private String monthTime;
|
||||
|
||||
private Date gmtModified;
|
||||
|
||||
private int flowProcess;
|
||||
|
||||
private int type;
|
||||
}
|
||||
@ -0,0 +1,41 @@
|
||||
package com.lz.modules.performance.enums;
|
||||
|
||||
/**
|
||||
* @Author: djc
|
||||
* @Desc:
|
||||
* @Date: 2020/10/14 17:00
|
||||
*/
|
||||
public enum ResultFlowProcessEnum {
|
||||
TARGET(0,"制定目标"),
|
||||
CONFIRM(1,"目标确认"),
|
||||
DO(2,"执行中"),
|
||||
SCORE(4,"评分"),
|
||||
FINISH(5,"考核结束"),
|
||||
;
|
||||
private int status;
|
||||
|
||||
private String desc;
|
||||
|
||||
|
||||
|
||||
ResultFlowProcessEnum(int status, String desc) {
|
||||
this.status = status;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public int getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(int status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
public void setDesc(String desc) {
|
||||
this.desc = desc;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.lz.modules.performance.req;
|
||||
|
||||
import com.lz.modules.equipment.entity.model.BasePage;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author: djc
|
||||
* @Desc:
|
||||
* @Date: 2020/10/14 11:38
|
||||
*/
|
||||
@Data
|
||||
public class AssessTaskReq extends BasePage{
|
||||
private int status;
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package com.lz.modules.performance.req;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author: djc
|
||||
* @Desc:
|
||||
* @Date: 2020/10/14 16:50
|
||||
*/
|
||||
@Data
|
||||
public class ChartResultReq {
|
||||
//考核类型 月度 季度
|
||||
private int assessType;
|
||||
|
||||
private String month;
|
||||
|
||||
private String startTime;
|
||||
|
||||
private String endTime;
|
||||
|
||||
}
|
||||
@ -8,7 +8,7 @@ import lombok.Data;
|
||||
* @Date: 2020/10/13 18:25
|
||||
*/
|
||||
@Data
|
||||
public class chartStatisticalRes {
|
||||
public class ChartStatisticalRes {
|
||||
|
||||
private String desc;
|
||||
//人数
|
||||
@ -1,5 +1,7 @@
|
||||
package com.lz.modules.performance.res;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
@ -8,13 +10,18 @@ import lombok.Data;
|
||||
* @Date: 2020/10/13 17:15
|
||||
*/
|
||||
@Data
|
||||
@ApiModel(value = "待办/处理事项列表返回")
|
||||
public class TaskListRes {
|
||||
//头像
|
||||
@ApiModelProperty(value = "头像", name = "avatar")
|
||||
private String avatar;
|
||||
//标题
|
||||
@ApiModelProperty(value = "标题", name = "title")
|
||||
private String title;
|
||||
//时间
|
||||
@ApiModelProperty(value = "时间", name = "time")
|
||||
private String time;
|
||||
//跳转路径
|
||||
@ApiModelProperty(value = "跳转路径url", name = "url")
|
||||
private String url;
|
||||
}
|
||||
|
||||
@ -0,0 +1,13 @@
|
||||
package com.lz.modules.performance.service;
|
||||
|
||||
import com.lz.common.utils.PageUtils;
|
||||
import com.lz.modules.performance.req.AssessTaskReq;
|
||||
|
||||
/**
|
||||
* @Author: djc
|
||||
* @Desc:
|
||||
* @Date: 2020/10/14 14:58
|
||||
*/
|
||||
public interface AssessTaskService {
|
||||
PageUtils assessTaskList(AssessTaskReq req,Long userId);
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
package com.lz.modules.performance.service;
|
||||
|
||||
import com.lz.modules.performance.req.ChartResultReq;
|
||||
|
||||
/**
|
||||
* @Author: djc
|
||||
* @Desc:
|
||||
* @Date: 2020/10/14 16:52
|
||||
*/
|
||||
public interface ChartResultService {
|
||||
void ChartReport(ChartResultReq req);
|
||||
}
|
||||
@ -0,0 +1,67 @@
|
||||
package com.lz.modules.performance.service.impl;
|
||||
|
||||
import com.lz.common.utils.DateUtils;
|
||||
import com.lz.common.utils.PageUtils;
|
||||
import com.lz.common.utils.StringUtil;
|
||||
import com.lz.modules.app.entity.StaffEntity;
|
||||
import com.lz.modules.app.service.StaffService;
|
||||
import com.lz.modules.flow.service.FlowChangeService;
|
||||
import com.lz.modules.flow.service.FlowRecordService;
|
||||
import com.lz.modules.performance.dto.TaskListDto;
|
||||
import com.lz.modules.performance.req.AssessTaskReq;
|
||||
import com.lz.modules.performance.res.TaskListRes;
|
||||
import com.lz.modules.performance.service.AssessTaskService;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @Author: djc
|
||||
* @Desc:
|
||||
* @Date: 2020/10/14 14:59
|
||||
*/
|
||||
@Service("assessTaskService")
|
||||
public class AssessTaskServiceImpl implements AssessTaskService {
|
||||
@Autowired
|
||||
private FlowRecordService flowRecordService;
|
||||
@Autowired
|
||||
private StaffService staffService;
|
||||
@Autowired
|
||||
private FlowChangeService flowChangeService;
|
||||
|
||||
@Override
|
||||
public PageUtils assessTaskList(AssessTaskReq req,Long userId) {
|
||||
PageUtils data = new PageUtils();
|
||||
List<TaskListRes> list = new ArrayList<>();
|
||||
PageUtils pageUtils = flowRecordService.selectTaskListByApprovalStaffId(req,userId);
|
||||
if(CollectionUtils.isEmpty(pageUtils.getList())){
|
||||
return data;
|
||||
}
|
||||
List<TaskListDto> dtos = pageUtils.getList();
|
||||
dtos.stream().forEach(taskListDto -> {
|
||||
TaskListRes res = new TaskListRes();
|
||||
StaffEntity staffEntity = staffService.selectStaffById(taskListDto.getStaffId());
|
||||
res.setAvatar(Optional.ofNullable(staffEntity.getAvatar()).orElse(StringUtil.EMPTY));
|
||||
String name = staffEntity.getName();
|
||||
if(taskListDto.getStaffId().equals(taskListDto.getCurrentApprovalStaffId())){
|
||||
name = "您";
|
||||
}
|
||||
//根据状态拼接文案
|
||||
res.setTitle(name + "的" + taskListDto.getMonthTime() + "");
|
||||
res.setTime(DateUtils.format(taskListDto.getGmtModified(),DateUtils.DATE_TIME_PATTERN));
|
||||
//跳转绩效详情页
|
||||
res.setUrl("?" + taskListDto.getRecordId());
|
||||
list.add(res);
|
||||
});
|
||||
data.setTotalCount(pageUtils.getTotalCount());
|
||||
data.setTotalPage(pageUtils.getTotalPage());
|
||||
data.setList(list);
|
||||
data.setPageSize(req.getPageSize());
|
||||
data.setCurrPage(req.getCurrPage());
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
package com.lz.modules.performance.service.impl;
|
||||
|
||||
import com.lz.modules.performance.req.ChartResultReq;
|
||||
import com.lz.modules.performance.service.ChartResultService;
|
||||
import com.lz.modules.sys.service.app.ResultRecordService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @Author: djc
|
||||
* @Desc:
|
||||
* @Date: 2020/10/14 16:53
|
||||
*/
|
||||
@Service("chartResultService")
|
||||
public class ChartResultServiceImpl implements ChartResultService {
|
||||
@Autowired
|
||||
private ResultRecordService resultRecordService;
|
||||
@Override
|
||||
public void ChartReport(ChartResultReq req) {
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@ -200,8 +200,19 @@
|
||||
select * from lz_flow_record where is_delete = 0 and record_id = #{recordResultId} and type = #{type} and status = #{status}
|
||||
</select>
|
||||
|
||||
<select id="selectFlowRecordIdsByApprovalStaffId" resultType="Long">
|
||||
select distinct(record_id) from lz_flow_record where is_delete = 0 and approval_staff_id = #{approvalStaffId} and status = 1
|
||||
|
||||
<select id="selectFinishTasksByApprovalStaffId" resultType="com.lz.modules.performance.dto.TaskListDto">
|
||||
SELECT DISTINCT(record_id),flow_process,current_approval_staff_id,staff_id,month_time,r.gmt_modified,f.type from lz_flow_record f
|
||||
LEFT JOIN lz_result_record r
|
||||
ON f.record_id = r.id
|
||||
where f.is_delete=0 and r.is_delete=0
|
||||
and approval_staff_id = #{approvalStaffId}
|
||||
and f.status = 1
|
||||
order by r.gmt_modified desc
|
||||
</select>
|
||||
|
||||
<select id="selectTodoTasksByApprovalStaffId" resultType="com.lz.modules.performance.dto.TaskListDto">
|
||||
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user