From 99c3d7ccf9d518d441fc1af09f792f703f8f01de Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 27 十一月 2024 02:38:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java | 17 ++++
business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java | 27 ++++++
business/src/main/java/com/ycl/mapper/ProjectPlanExamineRecordMapper.java | 10 ++
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 | 21 +++++
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 | 58 ++++++++++++++
10 files changed, 193 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..169c98f 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,19 @@
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);
+ }
+
+ @PostMapping("/replyDepartmentApproval")
+ public Result replyDepartmentApproval(@RequestBody ProjectPlanExamineRecordForm form) {
+ return projectPlanExamineRecordService.replyDepartmentApproval(form);
+ }
}
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..2d07cbd 100644
--- a/business/src/main/java/com/ycl/mapper/ProjectPlanExamineRecordMapper.java
+++ b/business/src/main/java/com/ycl/mapper/ProjectPlanExamineRecordMapper.java
@@ -3,10 +3,14 @@
import com.ycl.domain.entity.ProjectPlanExamineRecord;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.domain.form.ProjectPlanExamineRecordForm;
+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 +34,10 @@
IPage getPage(IPage page, @Param("query") ProjectPlanExamineRecordQuery query);
void insertOne(ProjectPlanExamineRecord item);
+
+ List<DepartmentApprovalResponseVO> selectInfo(Integer projectPlanRecordId);
+
+ List<DepartmentApprovalResponseVO> getPlanLog(Integer projectPlanRecordId);
+
+ void updateByForm(@Param("form") ProjectPlanExamineRecordForm form);
}
diff --git a/business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java b/business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java
index c2018d1..3464ca2 100644
--- a/business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java
+++ b/business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java
@@ -62,4 +62,25 @@
* @return
*/
Result all();
+
+ /**
+ * 涓婄骇鎵瑰
+ * @param projectPlanRecordId
+ * @return
+ */
+ Result departmentApproval(Integer projectPlanRecordId);
+
+ /**
+ * 璁″垝鏃ュ織
+ * @param projectPlanRecordId
+ * @return
+ */
+ Result planLog(Integer projectPlanRecordId);
+
+ /**
+ * 涓婄骇鍥炲
+ * @param form
+ * @return
+ */
+ Result replyDepartmentApproval(ProjectPlanExamineRecordForm form);
}
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..0404651 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java
@@ -1,7 +1,9 @@
package com.ycl.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
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;
@@ -15,6 +17,7 @@
import org.springframework.beans.BeanUtils;
import org.springframework.util.Assert;
+import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -116,4 +119,28 @@
.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);
+ }
+
+ @Override
+ public Result replyDepartmentApproval(ProjectPlanExamineRecordForm form) {
+ baseMapper.updateByForm(form);
+// new LambdaUpdateChainWrapper<>(baseMapper)
+// .eq(ProjectPlanExamineRecord::getId, form.getId())
+// .set(ProjectPlanExamineRecord::getDepartmentApprovalReply,form.getDepartmentApprovalReply())
+// .set(ProjectPlanExamineRecord::getManageApprovalReply, form.getManageApprovalReply())
+// .set(ProjectPlanExamineRecord::getGmtUpdate ,new Date())
+// .update();
+ return Result.ok("鍥炲鎴愬姛");
+ }
}
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..14a03c2 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,
@@ -55,6 +68,14 @@
#{gmtUpdate}
)
</insert>
+ <update id="updateByForm">
+ update t_project_plan_examine_record
+ set
+ department_approval_reply = #{form.departmentApprovalReply},
+ manage_approval_reply = #{form.manageApprovalReply}
+ where
+ id = #{form.id}
+ </update>
<select id="getById" resultMap="BaseResultMap">
@@ -103,5 +124,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