business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java
@@ -1,6 +1,7 @@ package com.ycl.controller; import com.ycl.common.base.Result; import com.ycl.common.core.controller.BaseController; import com.ycl.common.group.Add; import com.ycl.common.group.Update; import com.ycl.domain.form.ProjectPlanExamineRecordForm; @@ -27,7 +28,7 @@ @Api(value = "项目审核记录表", tags = "项目审核记录表管理") @RestController @RequestMapping("/api/project-plan-examine-record") public class ProjectPlanExamineRecordController { public class ProjectPlanExamineRecordController extends BaseController { private final ProjectPlanExamineRecordService projectPlanExamineRecordService; @@ -99,4 +100,12 @@ public Result replyExamine(@RequestBody ProjectPlanExamineRecordForm form) { return projectPlanExamineRecordService.replyExamine(form); } @GetMapping("/todo_list") // @PreAuthorize("hasAuthority('projectPlanExamineRecord:list')") @ApiOperation(value = "进度待办列表", notes = "进度待办列表") public Result todoList(ProjectPlanExamineRecordQuery query) { return projectPlanExamineRecordService.todoList(getUserId(),query); } } business/src/main/java/com/ycl/controller/ProjectProcessController.java
@@ -6,9 +6,13 @@ import org.springframework.validation.annotation.Validated; import org.springframework.security.access.prepost.PreAuthorize; import lombok.RequiredArgsConstructor; import java.util.List; import org.springframework.validation.annotation.Validated; import javax.validation.constraints.NotEmpty; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import com.ycl.service.ProjectProcessService; @@ -69,4 +73,17 @@ public Result taskList(TaskQuery query) { return projectProcessService.taskList(query); } @GetMapping("/to_do_task") @ApiOperation(value = "分页", notes = "分页") // @PreAuthorize("@ss.hasPermi('projectProcess:page')") public Result getAllTodoTask(ProjectProcessQuery query) { Result result = Result.ok(); projectProcessService.getAllTodoTask("", (int) query.getPageSize(), (int) query.getCurrentPage(), result); return result; } } business/src/main/java/com/ycl/domain/vo/ProjectProcessToDoVo.java
New file @@ -0,0 +1,47 @@ package com.ycl.domain.vo; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.util.Date; @Data public class ProjectProcessToDoVo { private Integer planId; private Integer projectPlanExamineRecordId; private Integer projectPlanRecordId; private Integer projectPlanInfoId; private Integer projectInfoId; private String projectName; private String projectPlanInfoTitle; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") /** 计划开始时间 */ private Date startTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date endTime; private Integer progressStatus; private String assigneeName; private String progressStatusStr; private String remainder; public String getProgressStatusStr() { switch (this.progressStatus) { case 0: return "未完成"; case 1: return "待审核"; case 2: return "已驳回"; case 3: return "已完成"; } return progressStatusStr; } public String getRemainder() { return String.valueOf((this.endTime.getTime() - this.startTime.getTime()) / (1000 * 60 * 60)) + "小时"; } } business/src/main/java/com/ycl/mapper/ProjectPlanExamineRecordMapper.java
@@ -7,6 +7,7 @@ import com.ycl.domain.vo.DepartmentApprovalResponseVO; import com.ycl.domain.vo.ProjectPlanExamineRecordVO; import com.ycl.domain.query.ProjectPlanExamineRecordQuery; import com.ycl.domain.vo.ProjectProcessToDoVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -40,4 +41,6 @@ List<DepartmentApprovalResponseVO> getPlanLog(Integer projectPlanRecordId); void updateByForm(@Param("form") ProjectPlanExamineRecordForm form); IPage todoList(IPage page, @Param("query") ProjectPlanExamineRecordQuery query,@Param("userId") Long userId); } business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java
@@ -90,4 +90,6 @@ * @return */ Result saveExamine(ProjectPlanExamineRecordForm form); Result todoList(Long userId,ProjectPlanExamineRecordQuery query); } business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java
@@ -6,6 +6,7 @@ import com.ycl.domain.entity.ProjectPlanExamineRecord; import com.ycl.domain.entity.ProjectPlanRecord; import com.ycl.domain.vo.DepartmentApprovalResponseVO; import com.ycl.domain.vo.ProjectProcessToDoVo; import com.ycl.mapper.ProjectPlanExamineRecordMapper; import com.ycl.mapper.ProjectPlanRecordMapper; import com.ycl.service.ProjectPlanExamineRecordService; @@ -39,6 +40,7 @@ /** * 添加 * * @param form * @return */ @@ -51,6 +53,7 @@ /** * 修改 * * @param form * @return */ @@ -67,6 +70,7 @@ /** * 批量删除 * * @param ids * @return */ @@ -78,6 +82,7 @@ /** * id删除 * * @param id * @return */ @@ -89,6 +94,7 @@ /** * 分页查询 * * @param query * @return */ @@ -101,6 +107,7 @@ /** * 根据id查找 * * @param id * @return */ @@ -113,6 +120,7 @@ /** * 列表 * * @return */ @Override @@ -126,18 +134,19 @@ @Override public Result departmentApproval(Integer projectPlanRecordId) { List<DepartmentApprovalResponseVO> vo =baseMapper.selectInfo(projectPlanRecordId); List<DepartmentApprovalResponseVO> vo = baseMapper.selectInfo(projectPlanRecordId); return Result.ok().data(vo); } @Override public Result planLog(Integer projectPlanRecordId) { List<DepartmentApprovalResponseVO> vo =baseMapper.getPlanLog(projectPlanRecordId); List<DepartmentApprovalResponseVO> vo = baseMapper.getPlanLog(projectPlanRecordId); return Result.ok().data(vo); } /** * 回复审批事项 * * @param form * @return */ @@ -154,7 +163,7 @@ @Override public Result saveExamine(ProjectPlanExamineRecordForm form) { // 判断,如果都同意,则直接更新审批记录 if (null != form.getDepartmentExamine() && null != form.getManageExamine() && form.getDepartmentExamine() == 0 && form.getManageExamine() == 0){ if (null != form.getDepartmentExamine() && null != form.getManageExamine() && form.getDepartmentExamine() == 0 && form.getManageExamine() == 0) { ProjectPlanExamineRecord projectPlanExamineRecord = ProjectPlanExamineRecordForm.getEntityByForm(form, null); projectPlanExamineRecord.setId(form.getId().longValue()); projectPlanExamineRecord.setDepartmentUserId(SecurityUtils.getUserId()); @@ -164,10 +173,19 @@ // 否则,将项目记录设置为未上报,并将记录逻辑删除 new LambdaUpdateChainWrapper<>(projectPlanRecordMapper) .eq(ProjectPlanRecord::getId, form.getProjectPlanRecordId()) .set(ProjectPlanRecord::getReportStatus,1); .set(ProjectPlanRecord::getReportStatus, 1); new LambdaUpdateChainWrapper<>(baseMapper) .eq(ProjectPlanExamineRecord::getProjectPlanRecordId, form.getProjectPlanRecordId()) .remove(); return Result.ok("回复成功"); } @Override public Result todoList(Long userId, ProjectPlanExamineRecordQuery query) { IPage<ProjectProcessToDoVo> page = PageUtil.getPage(query, ProjectProcessToDoVo.class); baseMapper.todoList(page, query, userId); return Result.ok().data(page.getRecords()).total(page.getTotal()); } } business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml
@@ -33,6 +33,20 @@ <result property="gmtCreate" column="gmt_create" /> </resultMap> <resultMap id="selectToDoResultMap" type="com.ycl.domain.vo.ProjectProcessToDoVo"> <result column="plan_id" property="planId"/> <result column="project_info_id" property="projectInfoId"></result> <result column="project_name" property="projectName"></result> <result column="project_plan_info_id" property="projectPlanInfoId"></result> <result column="project_plan_record_id" property="projectPlanRecordId"></result> <result column="project_plan_examine_record_id" property="projectPlanExamineRecordId"></result> <result column="title" property="projectPlanInfoTitle"></result> <result column="start_time" property="startTime"></result> <result column="end_time" property="endTime"></result> <result column="progress_status" property="progressStatus"></result> <result column="assignee_name" property="assigneeName"/> </resultMap> <insert id="insertOne"> insert into t_project_plan_examine_record ( project_plan_record_id, @@ -164,5 +178,14 @@ pper.project_plan_record_id = #{projectPlanRecordId} ORDER BY gmt_update DESC </select> <select id="todoList" resultMap="selectToDoResultMap"> SELECT ppe.id project_plan_examine_record_id,ppi.title ,ppr.project_info_id,pi.project_name,ppi.start_time,ppi.end_time,ppi.progress_status,ppe.project_plan_info_id,ppe.project_plan_record_id,ppr.plan_id, (SELECT user_name from sys_user WHERE user_id = #{userId}) as assignee_name from t_project_plan_examine_record ppe LEFT JOIN t_project_plan_info ppi on ppe.project_plan_info_id = ppi.id LEFT JOIN t_project_plan_record ppr on ppe.project_plan_record_id = ppr.id LEFT JOIN t_project_info pi on ppr.project_info_id = pi.id WHERE ppe.department_user_id = #{userId} or manager_user_id = #{userId} </select> </mapper>