From cccb705d0007796019d8dbc5bb56817e856fb075 Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期三, 27 十一月 2024 00:09:52 +0800
Subject: [PATCH] 上级批复,计划日志展示
---
business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java | 12 +++
business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java | 13 ++++
business/src/main/java/com/ycl/mapper/ProjectPlanExamineRecordMapper.java | 7 ++
business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java | 23 +++++++
business/src/main/java/com/ycl/domain/entity/ProjectPlanExamineRecord.java | 5 +
business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java | 14 ++++
business/src/main/java/com/ycl/controller/ProjectPlanInfoController.java | 5 +
business/src/main/java/com/ycl/service/ProjectPlanInfoService.java | 6 ++
business/src/main/java/com/ycl/domain/vo/DepartmentApprovalResponseVO.java | 24 ++++++++
business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml | 50 ++++++++++++++++
10 files changed, 156 insertions(+), 3 deletions(-)
diff --git a/business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java b/business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java
index c7f7aa2..dc7f016 100644
--- a/business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java
+++ b/business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java
@@ -26,7 +26,7 @@
@RequiredArgsConstructor
@Api(value = "椤圭洰瀹℃牳璁板綍琛�", tags = "椤圭洰瀹℃牳璁板綍琛ㄧ鐞�")
@RestController
-@RequestMapping("/project-plan-examine-record")
+@RequestMapping("/api/project-plan-examine-record")
public class ProjectPlanExamineRecordController {
private final ProjectPlanExamineRecordService projectPlanExamineRecordService;
@@ -79,4 +79,14 @@
public Result list() {
return projectPlanExamineRecordService.all();
}
+
+ @GetMapping("/departmentApproval/{id}")
+ public Result departmentApproval(@PathVariable("id") Integer projectPlanRecordId) {
+ return projectPlanExamineRecordService.departmentApproval(projectPlanRecordId);
+ }
+
+ @GetMapping("/planLog/{id}")
+ public Result planLog(@PathVariable("id") Integer projectPlanRecordId) {
+ return projectPlanExamineRecordService.planLog(projectPlanRecordId);
+ }
}
diff --git a/business/src/main/java/com/ycl/controller/ProjectPlanInfoController.java b/business/src/main/java/com/ycl/controller/ProjectPlanInfoController.java
index 84e7722..7bc3652 100644
--- a/business/src/main/java/com/ycl/controller/ProjectPlanInfoController.java
+++ b/business/src/main/java/com/ycl/controller/ProjectPlanInfoController.java
@@ -93,4 +93,9 @@
public Result savePlanInfo(@RequestBody ProjectPlanInfo item) {
return projectPlanInfoService.savePlanInfo(item);
}
+
+ @PostMapping("/delayPlanInfo")
+ public Result delayPlanInfo(@RequestBody ProjectPlanInfoForm request) {
+ return projectPlanInfoService.delayPlanInfo(request);
+ }
}
diff --git a/business/src/main/java/com/ycl/domain/entity/ProjectPlanExamineRecord.java b/business/src/main/java/com/ycl/domain/entity/ProjectPlanExamineRecord.java
index 0a2777c..d2474d0 100644
--- a/business/src/main/java/com/ycl/domain/entity/ProjectPlanExamineRecord.java
+++ b/business/src/main/java/com/ycl/domain/entity/ProjectPlanExamineRecord.java
@@ -6,6 +6,7 @@
import lombok.Data;
import java.time.LocalDateTime;
+import java.util.Date;
/**
* 椤圭洰瀹℃牳璁板綍琛�
@@ -65,10 +66,10 @@
@TableField("delay_start_time")
/** 寤舵湡寮�濮嬫椂闂� */
- private LocalDateTime delayStartTime;
+ private Date delayStartTime;
@TableField("delay_end_time")
/** 寤舵湡缁撴潫鏃堕棿 */
- private LocalDateTime delayEndTime;
+ private Date delayEndTime;
}
diff --git a/business/src/main/java/com/ycl/domain/vo/DepartmentApprovalResponseVO.java b/business/src/main/java/com/ycl/domain/vo/DepartmentApprovalResponseVO.java
new file mode 100644
index 0000000..3b642ee
--- /dev/null
+++ b/business/src/main/java/com/ycl/domain/vo/DepartmentApprovalResponseVO.java
@@ -0,0 +1,24 @@
+package com.ycl.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class DepartmentApprovalResponseVO {
+ private Long id;
+ private String title;
+ private Integer departmentExamine;
+ private String departmentApproval;
+ private String departmentApprovalReply;
+ private Integer manageExamine;
+ private String manageApproval;
+ private String manageApprovalReply;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date gmtCreate;
+}
diff --git a/business/src/main/java/com/ycl/mapper/ProjectPlanExamineRecordMapper.java b/business/src/main/java/com/ycl/mapper/ProjectPlanExamineRecordMapper.java
index 9d323cf..356c6ff 100644
--- a/business/src/main/java/com/ycl/mapper/ProjectPlanExamineRecordMapper.java
+++ b/business/src/main/java/com/ycl/mapper/ProjectPlanExamineRecordMapper.java
@@ -3,10 +3,13 @@
import com.ycl.domain.entity.ProjectPlanExamineRecord;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.domain.vo.DepartmentApprovalResponseVO;
import com.ycl.domain.vo.ProjectPlanExamineRecordVO;
import com.ycl.domain.query.ProjectPlanExamineRecordQuery;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
* 椤圭洰瀹℃牳璁板綍琛� Mapper 鎺ュ彛
@@ -30,4 +33,8 @@
IPage getPage(IPage page, @Param("query") ProjectPlanExamineRecordQuery query);
void insertOne(ProjectPlanExamineRecord item);
+
+ List<DepartmentApprovalResponseVO> selectInfo(Integer projectPlanRecordId);
+
+ List<DepartmentApprovalResponseVO> getPlanLog(Integer projectPlanRecordId);
}
diff --git a/business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java b/business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java
index c2018d1..cc1b984 100644
--- a/business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java
+++ b/business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java
@@ -62,4 +62,18 @@
* @return
*/
Result all();
+
+ /**
+ * 涓婄骇鎵瑰
+ * @param projectPlanRecordId
+ * @return
+ */
+ Result departmentApproval(Integer projectPlanRecordId);
+
+ /**
+ * 璁″垝鏃ュ織
+ * @param projectPlanRecordId
+ * @return
+ */
+ Result planLog(Integer projectPlanRecordId);
}
diff --git a/business/src/main/java/com/ycl/service/ProjectPlanInfoService.java b/business/src/main/java/com/ycl/service/ProjectPlanInfoService.java
index e8c4e77..66aa756 100644
--- a/business/src/main/java/com/ycl/service/ProjectPlanInfoService.java
+++ b/business/src/main/java/com/ycl/service/ProjectPlanInfoService.java
@@ -76,4 +76,10 @@
* @return
*/
Result savePlanInfo(ProjectPlanInfo item);
+
+ /**
+ * 寤舵湡
+ * @return
+ */
+ Result delayPlanInfo(ProjectPlanInfoForm request);
}
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 9ad060e..729eeba 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ycl.domain.entity.ProjectPlanExamineRecord;
+import com.ycl.domain.vo.DepartmentApprovalResponseVO;
import com.ycl.mapper.ProjectPlanExamineRecordMapper;
import com.ycl.service.ProjectPlanExamineRecordService;
import com.ycl.common.base.Result;
@@ -116,4 +117,16 @@
.collect(Collectors.toList());
return Result.ok().data(vos);
}
+
+ @Override
+ public Result departmentApproval(Integer projectPlanRecordId) {
+ List<DepartmentApprovalResponseVO> vo =baseMapper.selectInfo(projectPlanRecordId);
+ return Result.ok().data(vo);
+ }
+
+ @Override
+ public Result planLog(Integer projectPlanRecordId) {
+ List<DepartmentApprovalResponseVO> vo =baseMapper.getPlanLog(projectPlanRecordId);
+ return Result.ok().data(vo);
+ }
}
diff --git a/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java
index a706a1b..55690a8 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java
@@ -162,6 +162,7 @@
item.setProjectPlanRecordId(request.getProjectPlanRecordId().longValue());
item.setEventType(0);
item.setGmtCreate(new Date());
+ item.setDeleted(0);
list.stream().forEach(i -> {
item.setProjectPlanInfoId(i.getId().longValue());
projectPlanExamineRecordMapper.insertOne(item);
@@ -184,4 +185,26 @@
}
return Result.ok("淇濆瓨鎴愬姛");
}
+
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public Result delayPlanInfo(ProjectPlanInfoForm request) {
+ // 鏇存敼璁″垝椤规椂闂�
+ new LambdaUpdateChainWrapper<>(baseMapper)
+ .eq(ProjectPlanInfo::getId, request.getId())
+ .set(ProjectPlanInfo::getStartTime, request.getStartTime())
+ .set(ProjectPlanInfo::getEndTime, request.getEndTime())
+ .update();
+ // 鏂板涓�鏉″鏍歌褰�
+ ProjectPlanExamineRecord item = new ProjectPlanExamineRecord();
+ item.setProjectPlanRecordId(request.getProjectPlanRecordId().longValue());
+ item.setProjectPlanInfoId(request.getId().longValue());
+ item.setEventType(1);
+ item.setDelayStartTime(request.getStartTime());
+ item.setDelayEndTime(request.getEndTime());
+ item.setGmtCreate(new Date());
+ item.setDeleted(0);
+ projectPlanExamineRecordMapper.insertOne(item);
+ return Result.ok("寤舵湡鎴愬姛");
+ }
}
diff --git a/business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml b/business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml
index 32dc202..be6c346 100644
--- a/business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml
+++ b/business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml
@@ -20,6 +20,19 @@
<result column="gmt_create" property="gmtCreate" />
<result column="gmt_update" property="gmtUpdate" />
</resultMap>
+
+ <resultMap id="selectInfoResultMap" type="com.ycl.domain.vo.DepartmentApprovalResponseVO">
+ <id property="id" column="id" />
+ <result property="title" column="title" />
+ <result property="departmentExamine" column="department_examine" />
+ <result property="departmentApproval" column="department_approval" />
+ <result property="departmentApprovalReply" column="department_approval_reply" />
+ <result property="manageExamine" column="manage_examine" />
+ <result property="manageApproval" column="manage_approval" />
+ <result property="manageApprovalReply" column="manage_approval_reply" />
+ <result property="gmtCreate" column="gmt_create" />
+ </resultMap>
+
<insert id="insertOne">
insert into t_project_plan_examine_record (
project_plan_record_id,
@@ -103,5 +116,42 @@
WHERE
TPPER.deleted = 0
</select>
+ <select id="selectInfo" resultType="com.ycl.domain.vo.DepartmentApprovalResponseVO">
+ SELECT
+ ranked.id,
+ (SELECT title FROM t_project_plan_info WHERE id = ranked.project_plan_info_id) as title,
+ ranked.department_examine,
+ ranked.department_approval,
+ ranked.department_approval_reply,
+ ranked.manage_examine,
+ ranked.manage_approval,
+ ranked.manage_approval_reply,
+ ranked.gmt_create
+ FROM (
+ SELECT
+ *,
+ ROW_NUMBER() OVER (PARTITION BY project_plan_info_id ORDER BY gmt_update DESC) AS rn
+ FROM t_project_plan_examine_record AS pper
+ WHERE project_plan_record_id = #{projectPlanRecordId}
+ ) AS ranked
+ WHERE rn = 1;
+ </select>
+
+ <select id="getPlanLog" resultType="com.ycl.domain.vo.DepartmentApprovalResponseVO">
+ SELECT
+ pper.id,
+ (SELECT title FROM t_project_plan_info WHERE id = pper.project_plan_info_id) as title,
+ pper.department_examine,
+ pper.department_approval,
+ pper.department_approval_reply,
+ pper.manage_examine,
+ pper.manage_approval,
+ pper.manage_approval_reply,
+ pper.gmt_create
+ FROM t_project_plan_examine_record AS pper
+ WHERE
+ pper.project_plan_record_id = #{projectPlanRecordId}
+ ORDER BY gmt_update DESC
+ </select>
</mapper>
--
Gitblit v1.8.0