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