diff --git a/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java b/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java index 4c89e486..87486e5d 100644 --- a/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java @@ -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 { Long copyFlowRecord(FlowRecord flowRecord); //查看自己要审批的记录 status为1代表流程走到了这里 - List selectFlowRecordIdsByApprovalStaffId(@Param("status") int status,@Param("approvalStaffId") Long approvalStaffId, @Param("page") IPage page); + List selectTodoTasksByApprovalStaffId(@Param("approvalStaffId") Long approvalStaffId, @Param("page") IPage page); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/FlowRecordService.java b/src/main/java/com/lz/modules/flow/service/FlowRecordService.java index 358a4ba1..7e1430fd 100644 --- a/src/main/java/com/lz/modules/flow/service/FlowRecordService.java +++ b/src/main/java/com/lz/modules/flow/service/FlowRecordService.java @@ -56,5 +56,5 @@ public interface FlowRecordService extends IService { Long copyFlowRecord(FlowRecord flowRecord); - PageUtils selectFlowRecordIdsByApprovalStaffId(AssessTaskReq req, Long approvalStaffId); + PageUtils selectTodoTasksByApprovalStaffId(AssessTaskReq req, Long approvalStaffId); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java index 0faadb81..28d63354 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java @@ -143,9 +143,9 @@ public class FlowRecordServiceImpl extends ServiceImpl flowRecordMapper.selectFlowRecordIdsByApprovalStaffId(req.getStatus(),approvalStaffId,page) + page -> flowRecordMapper.selectTodoTasksByApprovalStaffId(approvalStaffId,page) ); return pageUtils; } diff --git a/src/main/java/com/lz/modules/performance/controller/TaskController.java b/src/main/java/com/lz/modules/performance/controller/TaskController.java index 1d7c4a96..7ccc0d5a 100644 --- a/src/main/java/com/lz/modules/performance/controller/TaskController.java +++ b/src/main/java/com/lz/modules/performance/controller/TaskController.java @@ -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 list = new ArrayList<>(); - Long userId = getUserId(); - PageUtils pageUtils = flowRecordService.selectFlowRecordIdsByApprovalStaffId(req,userId); - if(pageUtils.getTotalCount() == 0){ - return R.ok(); - } - List 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",""); } diff --git a/src/main/java/com/lz/modules/performance/dto/TaskListDto.java b/src/main/java/com/lz/modules/performance/dto/TaskListDto.java new file mode 100644 index 00000000..eb5b4004 --- /dev/null +++ b/src/main/java/com/lz/modules/performance/dto/TaskListDto.java @@ -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; +} diff --git a/src/main/java/com/lz/modules/performance/service/AssessTaskService.java b/src/main/java/com/lz/modules/performance/service/AssessTaskService.java new file mode 100644 index 00000000..d9b27994 --- /dev/null +++ b/src/main/java/com/lz/modules/performance/service/AssessTaskService.java @@ -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); +} diff --git a/src/main/java/com/lz/modules/performance/service/impl/AssessTaskServiceImpl.java b/src/main/java/com/lz/modules/performance/service/impl/AssessTaskServiceImpl.java new file mode 100644 index 00000000..c18f03ec --- /dev/null +++ b/src/main/java/com/lz/modules/performance/service/impl/AssessTaskServiceImpl.java @@ -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 list = new ArrayList<>(); + //获取待办 + if(req.getStatus() == 0){ + PageUtils pageUtils = flowRecordService.selectTodoTasksByApprovalStaffId(req,userId); + if(CollectionUtils.isEmpty(pageUtils.getList())){ + return data; + } + List 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; + } +} diff --git a/src/main/resources/mapper/flow/FlowRecordMapper.xml b/src/main/resources/mapper/flow/FlowRecordMapper.xml index 6bf94bed..945db3e4 100644 --- a/src/main/resources/mapper/flow/FlowRecordMapper.xml +++ b/src/main/resources/mapper/flow/FlowRecordMapper.xml @@ -200,8 +200,15 @@ select * from lz_flow_record where is_delete = 0 and record_id = #{recordResultId} and type = #{type} and status = #{status} - + 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