This commit is contained in:
杜建超 2020-10-14 15:18:05 +08:00
parent 9c7b65d917
commit 8f71c7f2c4
8 changed files with 129 additions and 36 deletions

View File

@ -10,6 +10,7 @@ package com.lz.modules.flow.dao;
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;
@ -53,6 +54,6 @@ public interface FlowRecordMapper extends BaseMapper<FlowRecord> {
Long copyFlowRecord(FlowRecord flowRecord);
//查看自己要审批的记录 status为1代表流程走到了这里
List<Long> selectFlowRecordIdsByApprovalStaffId(@Param("status") int status,@Param("approvalStaffId") Long approvalStaffId, @Param("page") IPage page);
List<TaskListDto> selectTodoTasksByApprovalStaffId(@Param("approvalStaffId") Long approvalStaffId, @Param("page") IPage page);
}

View File

@ -56,5 +56,5 @@ public interface FlowRecordService extends IService<FlowRecord> {
Long copyFlowRecord(FlowRecord flowRecord);
PageUtils selectFlowRecordIdsByApprovalStaffId(AssessTaskReq req, Long approvalStaffId);
PageUtils selectTodoTasksByApprovalStaffId(AssessTaskReq req, Long approvalStaffId);
}

View File

@ -143,9 +143,9 @@ public class FlowRecordServiceImpl extends ServiceImpl<FlowRecordMapper, FlowRec
}
@Override
public PageUtils selectFlowRecordIdsByApprovalStaffId(AssessTaskReq req, Long approvalStaffId) {
public PageUtils selectTodoTasksByApprovalStaffId(AssessTaskReq req, Long approvalStaffId) {
PageUtils pageUtils = PageUtils.startPage(req.getCurrPage(), req.getPageSize()).doSelect(
page -> flowRecordMapper.selectFlowRecordIdsByApprovalStaffId(req.getStatus(),approvalStaffId,page)
page -> flowRecordMapper.selectTodoTasksByApprovalStaffId(approvalStaffId,page)
);
return pageUtils;
}

View File

@ -10,6 +10,7 @@ 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;
@ -27,6 +28,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
@ -51,36 +53,8 @@ public class TaskController extends AbstractController{
@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){
List<TaskListRes> list = new ArrayList<>();
Long userId = getUserId();
PageUtils pageUtils = flowRecordService.selectFlowRecordIdsByApprovalStaffId(req,userId);
if(pageUtils.getTotalCount() == 0){
return R.ok();
}
List<Long> flowRecordIds = pageUtils.getList();
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));
String name = staffEntity.getName();
if(resultRecord.getStaffId().equals(resultRecord.getCurrentApprovalStaffId())){
name = "";
}
//根据状态拼接文案
res.setTitle(name + "" + resultRecord.getMonthTime() + "");
res.setTime(DateUtils.format(resultRecord.getGmtModified(),DateUtils.DATE_TIME_PATTERN));
//跳转绩效详情页
res.setUrl("?" + recordId);
list.add(res);
});
PageUtils data = new PageUtils();
data.setList(list);
data.setPageSize(req.getPageSize());
data.setCurrPage(req.getCurrPage());
data.setTotalCount(pageUtils.getTotalCount());
data.setTotalPage(pageUtils.getTotalPage());
return R.ok().put("page",data);
return R.ok().put("page","");
}

View File

@ -0,0 +1,24 @@
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;
}

View File

@ -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);
}

View File

@ -0,0 +1,74 @@
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<>();
//获取待办
if(req.getStatus() == 0){
PageUtils pageUtils = flowRecordService.selectTodoTasksByApprovalStaffId(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());
}
//获取历史
if(req.getStatus() == 0){
}
data.setList(list);
data.setPageSize(req.getPageSize());
data.setCurrPage(req.getCurrPage());
return data;
}
}

View File

@ -200,8 +200,15 @@
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="selectTodoTasksByApprovalStaffId" resultType="com.lz.modules.performance.dto.TaskListDto">
SELECT DISTINCT(record_id) 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 r.status = 0
and f.status = 1
</select>
</mapper>