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