From fc06896dd3094f3b272d2f941c8f738479b5ad73 Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期五, 29 十一月 2024 07:48:26 +0800
Subject: [PATCH] 计划项审批

---
 business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java  |   22 +++++++++--
 business/src/main/java/com/ycl/domain/entity/ProjectPlanInfo.java                     |   15 +------
 business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java           |   13 +++++-
 business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoItem.java                     |    2 +
 business/src/main/resources/mapper/ProjectPlanInfoMapper.xml                          |    5 +-
 business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoVO.java                       |    3 +
 business/src/main/resources/mapper/ProjectPlanProgressReportMapper.xml                |    1 
 business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml                 |    1 
 business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java |    1 
 9 files changed, 38 insertions(+), 25 deletions(-)

diff --git a/business/src/main/java/com/ycl/domain/entity/ProjectPlanInfo.java b/business/src/main/java/com/ycl/domain/entity/ProjectPlanInfo.java
index 02506a9..9753e95 100644
--- a/business/src/main/java/com/ycl/domain/entity/ProjectPlanInfo.java
+++ b/business/src/main/java/com/ycl/domain/entity/ProjectPlanInfo.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ycl.system.domain.base.AbsEntity;
+import com.ycl.system.domain.base.AbsEntityOnlyIdAndDeleted;
 import lombok.Data;
 
 import java.time.LocalDateTime;
@@ -18,7 +19,7 @@
  */
 @Data
 @TableName("t_project_plan_info")
-public class ProjectPlanInfo extends AbsEntity {
+public class ProjectPlanInfo extends AbsEntityOnlyIdAndDeleted {
 
     private static final long serialVersionUID = 1L;
 
@@ -35,23 +36,11 @@
     private Integer progressStatus;
 
     @TableField("start_time")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     /** 璁″垝寮�濮嬫椂闂� */
     private Date startTime;
 
     @TableField("end_time")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     /** 璁″垝瀹屾垚鏃堕棿 */
     private Date endTime;
 
-    /** 鍒涘缓鏃堕棿 */
-    @TableField(exist = false)
-    private Date gmtCreate;
-
-    /** 淇敼鏃堕棿 */
-    @TableField(exist = false)
-    private Date gmtUpdate;
-
-    @TableField(exist = false)
-    private Integer deleted;
 }
diff --git a/business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoItem.java b/business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoItem.java
index fee3153..8425346 100644
--- a/business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoItem.java
+++ b/business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoItem.java
@@ -14,6 +14,8 @@
 @NoArgsConstructor
 public class ProjectPlanInfoItem {
     private String title;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date startTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date endTime;
 }
diff --git a/business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoVO.java b/business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoVO.java
index 6343fd5..d6f7810 100644
--- a/business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoVO.java
+++ b/business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoVO.java
@@ -2,6 +2,7 @@
 
 
 import com.ycl.domain.entity.ProjectPlanInfo;
+import com.ycl.system.domain.base.AbsEntity;
 import com.ycl.system.domain.base.AbsVo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -19,7 +20,7 @@
  */
 @Data
 @ApiModel(value = "椤圭洰璁″垝椤瑰搷搴旀暟鎹�", description = "椤圭洰璁″垝椤瑰搷搴旀暟鎹�")
-public class ProjectPlanInfoVO extends AbsVo {
+public class ProjectPlanInfoVO extends AbsEntity {
 
     /** 椤圭洰璁″垝璁板綍id */
     @ApiModelProperty("椤圭洰璁″垝璁板綍id")
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 d6086a7..c7eb055 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java
@@ -4,8 +4,10 @@
 import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
 import com.ycl.common.utils.SecurityUtils;
 import com.ycl.domain.entity.ProjectPlanExamineRecord;
+import com.ycl.domain.entity.ProjectPlanRecord;
 import com.ycl.domain.vo.DepartmentApprovalResponseVO;
 import com.ycl.mapper.ProjectPlanExamineRecordMapper;
+import com.ycl.mapper.ProjectPlanRecordMapper;
 import com.ycl.service.ProjectPlanExamineRecordService;
 import com.ycl.common.base.Result;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -33,6 +35,7 @@
 public class ProjectPlanExamineRecordServiceImpl extends ServiceImpl<ProjectPlanExamineRecordMapper, ProjectPlanExamineRecord> implements ProjectPlanExamineRecordService {
 
     private final ProjectPlanExamineRecordMapper projectPlanExamineRecordMapper;
+    private final ProjectPlanRecordMapper projectPlanRecordMapper;
 
     /**
      * 娣诲姞
@@ -150,10 +153,21 @@
 
     @Override
     public Result saveExamine(ProjectPlanExamineRecordForm form) {
-        ProjectPlanExamineRecord projectPlanExamineRecord = ProjectPlanExamineRecordForm.getEntityByForm(form, null);
-        projectPlanExamineRecord.setDepartmentUserId(SecurityUtils.getUserId());
-        projectPlanExamineRecord.setManagerUserId(SecurityUtils.getUserId());
-        baseMapper.updateById(projectPlanExamineRecord);
+        // 鍒ゆ柇锛屽鏋滈兘鍚屾剰锛屽垯鐩存帴鏇存柊瀹℃壒璁板綍
+        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());
+            projectPlanExamineRecord.setManagerUserId(SecurityUtils.getUserId());
+            baseMapper.updateById(projectPlanExamineRecord);
+        }
+        // 鍚﹀垯锛屽皢椤圭洰璁板綍璁剧疆涓烘湭涓婃姤锛屽苟灏嗚褰曢�昏緫鍒犻櫎
+        new LambdaUpdateChainWrapper<>(projectPlanRecordMapper)
+                .eq(ProjectPlanRecord::getId, form.getProjectPlanRecordId())
+                .set(ProjectPlanRecord::getReportStatus,1);
+        new LambdaUpdateChainWrapper<>(baseMapper)
+                .eq(ProjectPlanExamineRecord::getProjectPlanRecordId, form.getProjectPlanRecordId())
+                .remove();
         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 a202490..5c0b5fa 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java
@@ -139,7 +139,10 @@
             return Result.error("璇烽�夋嫨瑕佹坊鍔犵殑璁″垝椤�");
         }}
         // 鍒犻櫎鍘熸湁璁板綍
-        new LambdaUpdateChainWrapper<>(baseMapper).eq(ProjectPlanInfo::getProjectPlanRecordId, request.getProjectPlanRecordId()).remove();
+        new LambdaUpdateChainWrapper<>(baseMapper)
+                .eq(ProjectPlanInfo::getProjectPlanRecordId, request.getProjectPlanRecordId())
+                .set(ProjectPlanInfo::getDeleted, 1)
+                .update();
         // 鎵归噺鎻掑叆鏂拌褰�
         List<ProjectPlanInfo> list = new ArrayList<>();
         request.getAddList().forEach(item -> {
@@ -149,15 +152,19 @@
             projectPlanInfo.setProgressStatus(0);
             projectPlanInfo.setStartTime(item.getStartTime());
             projectPlanInfo.setEndTime(item.getEndTime());
+            projectPlanInfo.setDeleted(0);
             list.add(projectPlanInfo);
         });
-        baseMapper.batchInsert(list);
+        list.stream().forEach(i -> {
+            baseMapper.insert(i);
+        });
         // 鏇存柊璁″垝璁板綍鐨勬姇璧�,浠ュ強涓婃姤鐘舵��
         new LambdaUpdateChainWrapper<>(projectPlanRecordMapper)
                 .eq(ProjectPlanRecord::getId, request.getProjectPlanRecordId())
                 .set(ProjectPlanRecord::getActualInvest, request.getActualInvest())
                 .set(ProjectPlanRecord::getReportStatus, 0)
                 .update();
+
         // 鏂板涓�鏉″鏍歌褰�
         ProjectPlanExamineRecord item = new ProjectPlanExamineRecord();
         item.setProjectPlanRecordId(request.getProjectPlanRecordId().longValue());
@@ -166,8 +173,8 @@
         item.setDeleted(0);
         list.stream().forEach(i -> {
             item.setProjectPlanInfoId(i.getId().longValue());
-//            projectPlanExamineRecordMapper.insert(item);
             projectPlanExamineRecordMapper.insertOne(item);
+//            projectPlanExamineRecordMapper.insertOne(item);
         });
         return Result.ok("娣诲姞鎴愬姛");
     }
diff --git a/business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java
index ae2e7e6..dc6ed30 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java
@@ -68,7 +68,6 @@
             baseMapper.insertOne(projectPlanProgressReport);
         }else {
             projectPlanProgressReport.setId(form.getProgressReportId());
-//            baseMapper.updateOne(projectPlanProgressReport);
             baseMapper.updateById(projectPlanProgressReport);
         }
 
diff --git a/business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml b/business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml
index 1f5eea5..2e939a8 100644
--- a/business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml
+++ b/business/src/main/resources/mapper/ProjectPlanExamineRecordMapper.xml
@@ -145,6 +145,7 @@
                  WHERE project_plan_record_id = #{projectPlanRecordId}
              ) AS ranked
         WHERE rn = 1 AND ranked.deleted = 0
+        Order by gmt_create DESC
     </select>
 
     <select id="getPlanLog" resultType="com.ycl.domain.vo.DepartmentApprovalResponseVO">
diff --git a/business/src/main/resources/mapper/ProjectPlanInfoMapper.xml b/business/src/main/resources/mapper/ProjectPlanInfoMapper.xml
index ebc1fb4..eec02c6 100644
--- a/business/src/main/resources/mapper/ProjectPlanInfoMapper.xml
+++ b/business/src/main/resources/mapper/ProjectPlanInfoMapper.xml
@@ -9,12 +9,13 @@
         <result column="progress_status" property="progressStatus" />
         <result column="start_time" property="startTime" />
         <result column="end_time" property="endTime" />
+        <result column="deleted" property="deleted" />
     </resultMap>
     <insert id="batchInsert" keyColumn="id" useGeneratedKeys="true" keyProperty="id">
-        insert into t_project_plan_info(project_plan_record_id, title, progress_status, start_time, end_time)
+        insert into t_project_plan_info(project_plan_record_id, title, progress_status, start_time, end_time, deleted)
         values
         <foreach collection="list" item="item" separator=",">
-            (#{item.projectPlanRecordId}, #{item.title}, #{item.progressStatus}, #{item.startTime}, #{item.endTime})
+            (#{item.projectPlanRecordId}, #{item.title}, #{item.progressStatus}, #{item.startTime}, #{item.endTime}, #{item.deleted})
         </foreach>
     </insert>
     <insert id="insertOne">
diff --git a/business/src/main/resources/mapper/ProjectPlanProgressReportMapper.xml b/business/src/main/resources/mapper/ProjectPlanProgressReportMapper.xml
index 5e7ddeb..8d2b74d 100644
--- a/business/src/main/resources/mapper/ProjectPlanProgressReportMapper.xml
+++ b/business/src/main/resources/mapper/ProjectPlanProgressReportMapper.xml
@@ -93,7 +93,6 @@
                  LEFT JOIN t_project_plan_progress_report AS pppr ON pppr.project_plan_info_id = ppi.id
                  RIGHT JOIN t_project_plan_examine_record AS pper ON pper.project_plan_info_id = ppi.id
         WHERE ppi.id = #{id}
-        ORDER BY pper.gmt_create DESC LIMIT 1
     </select>
 
 </mapper>

--
Gitblit v1.8.0