From 881e2efaf1e9f3feb79f522f696691ccd48ed0a4 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期六, 30 十一月 2024 01:26:49 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java | 11 +++ business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java | 26 +++++++- business/src/main/java/com/ycl/mapper/ProjectPlanExamineRecordMapper.java | 3 + business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java | 2 business/src/main/java/com/ycl/domain/vo/ProjectProcessToDoVo.java | 47 +++++++++++++++ business/src/main/java/com/ycl/controller/ProjectProcessController.java | 17 +++++ business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml | 23 +++++++ 7 files changed, 124 insertions(+), 5 deletions(-) diff --git a/business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java b/business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java index 982ed76..4f4652f 100644 --- a/business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java +++ b/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); + } + } diff --git a/business/src/main/java/com/ycl/controller/ProjectProcessController.java b/business/src/main/java/com/ycl/controller/ProjectProcessController.java index f264714..cecbd9e 100644 --- a/business/src/main/java/com/ycl/controller/ProjectProcessController.java +++ b/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; + } + + } diff --git a/business/src/main/java/com/ycl/domain/vo/ProjectProcessToDoVo.java b/business/src/main/java/com/ycl/domain/vo/ProjectProcessToDoVo.java new file mode 100644 index 0000000..a2529f8 --- /dev/null +++ b/business/src/main/java/com/ycl/domain/vo/ProjectProcessToDoVo.java @@ -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)) + "灏忔椂"; + } +} diff --git a/business/src/main/java/com/ycl/mapper/ProjectPlanExamineRecordMapper.java b/business/src/main/java/com/ycl/mapper/ProjectPlanExamineRecordMapper.java index 2d07cbd..3878df3 100644 --- a/business/src/main/java/com/ycl/mapper/ProjectPlanExamineRecordMapper.java +++ b/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); } diff --git a/business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java b/business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java index 112824f..79393e9 100644 --- a/business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java +++ b/business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java @@ -90,4 +90,6 @@ * @return */ Result saveExamine(ProjectPlanExamineRecordForm form); + + Result todoList(Long userId,ProjectPlanExamineRecordQuery query); } diff --git a/business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java index c7eb055..381c0b0 100644 --- a/business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java +++ b/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()); + } } diff --git a/business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml b/business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml index 2e939a8..930a9f2 100644 --- a/business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml +++ b/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> -- Gitblit v1.8.0