From f2eac03ce6cf78fa68618381f04adb17ddec3f6f Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期五, 29 十一月 2024 23:49:08 +0800
Subject: [PATCH] 首页待办
---
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