From b24e024f386e7f25a071b58e9267a2c19f20ba1e Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期二, 10 十二月 2024 18:11:47 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java |   75 ++++++++++++++++++++++++++++---------
 1 files changed, 56 insertions(+), 19 deletions(-)

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 5c0b5fa..e2c80b6 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java
@@ -148,11 +148,12 @@
         request.getAddList().forEach(item -> {
             ProjectPlanInfo projectPlanInfo = new ProjectPlanInfo();
             projectPlanInfo.setProjectPlanRecordId(request.getProjectPlanRecordId().longValue());
-            projectPlanInfo.setTitle(item.getTitle());
-            projectPlanInfo.setProgressStatus(0);
-            projectPlanInfo.setStartTime(item.getStartTime());
-            projectPlanInfo.setEndTime(item.getEndTime());
-            projectPlanInfo.setDeleted(0);
+            projectPlanInfo.setTitle(item.getTitle()); // 璁″垝椤规爣棰�
+            projectPlanInfo.setPlanStatus(0); // 璁″垝椤圭姸鎬佷负鏈紑濮�
+            projectPlanInfo.setProgressStatus(0); // 璁″垝椤硅繘搴︿负鏈紑濮�
+            projectPlanInfo.setStartTime(item.getStartTime()); // 璁″垝椤瑰紑濮嬫椂闂�
+            projectPlanInfo.setEndTime(item.getEndTime()); // 璁″垝椤圭粨鏉熸椂闂�
+            projectPlanInfo.setDeleted(0);// 鏈垹闄�
             list.add(projectPlanInfo);
         });
         list.stream().forEach(i -> {
@@ -168,23 +169,25 @@
         // 鏂板涓�鏉″鏍歌褰�
         ProjectPlanExamineRecord item = new ProjectPlanExamineRecord();
         item.setProjectPlanRecordId(request.getProjectPlanRecordId().longValue());
-        item.setEventType(0);
-        item.setGmtCreate(new Date());
-        item.setDeleted(0);
+        item.setEventType(0); // 璁″垝涓婃姤
+        item.setGmtCreate(new Date());  // 鍒涘缓鏃堕棿
+        item.setDeleted(0); // 鏈垹闄�
         list.stream().forEach(i -> {
             item.setProjectPlanInfoId(i.getId().longValue());
-            projectPlanExamineRecordMapper.insertOne(item);
-//            projectPlanExamineRecordMapper.insertOne(item);
+            projectPlanExamineRecordMapper.insert(item);
         });
         return Result.ok("娣诲姞鎴愬姛");
     }
 
     @Override
-    public Result savePlanInfo(ProjectPlanInfo item) {
-        item.setProgressStatus(0);
+    public Result savePlanInfo(ProjectPlanInfo item, Integer planRecordId) {
+        item.setProjectPlanRecordId(planRecordId.longValue()); // 椤圭洰璁″垝璁板綍id
+        item.setProgressStatus(0); // 鏈紑濮�
+        item.setDeleted(0); // 鏈垹闄�
+        item.setPlanStatus(0); // 鏈鏍�
         // 鍒ゆ柇id鏄惁瀛樺湪锛屽瓨鍦ㄥ垯鏇存柊锛屼笉瀛樺湪鍒欐柊澧�
         if (item.getId() == null) {
-            baseMapper.insertOne(item);
+            baseMapper.insert(item);
         } else {
             new LambdaUpdateChainWrapper<>(baseMapper).eq(ProjectPlanInfo::getId, item.getId())
                     .set(ProjectPlanInfo::getTitle, item.getTitle())
@@ -204,16 +207,50 @@
                 .set(ProjectPlanInfo::getStartTime, request.getStartTime())
                 .set(ProjectPlanInfo::getEndTime, request.getEndTime())
                 .update();
+        // 鏌ヨ鍑哄師鏉ョ殑瀹℃牳璁板綍
+        ProjectPlanExamineRecord item = new LambdaQueryChainWrapper<>(projectPlanExamineRecordMapper)
+                .eq(ProjectPlanExamineRecord::getProjectPlanInfoId, request.getId())
+                .eq(ProjectPlanExamineRecord::getProjectPlanRecordId, request.getProjectPlanRecordId())
+                .ne(ProjectPlanExamineRecord::getEventType, 2)
+                .eq(ProjectPlanExamineRecord::getDeleted, 0) // 鏈垹闄�
+                .orderByDesc(ProjectPlanExamineRecord::getGmtCreate)
+                .last("LIMIT 1")
+                .one();
         // 鏂板涓�鏉″鏍歌褰�
-        ProjectPlanExamineRecord item = new ProjectPlanExamineRecord();
-        item.setProjectPlanRecordId(request.getProjectPlanRecordId().longValue());
-        item.setProjectPlanInfoId(request.getId().longValue());
+//        item.setId(null);
+//        item.setEventType(1);
+//        item.setDelayStartTime(request.getStartTime());
+//        item.setDelayEndTime(request.getEndTime());
+//        item.setGmtCreate(null);
+//        item.setGmtUpdate(null);
+//        projectPlanExamineRecordMapper.insertOne(item);
+        // 鏇存柊鍘熸潵鐨勫鏍歌褰�
         item.setEventType(1);
         item.setDelayStartTime(request.getStartTime());
         item.setDelayEndTime(request.getEndTime());
-        item.setGmtCreate(new Date());
-        item.setDeleted(0);
-        projectPlanExamineRecordMapper.insertOne(item);
+        projectPlanExamineRecordMapper.updateById(item);
         return Result.ok("寤舵湡鎴愬姛");
     }
+
+    @Override
+    public Result resubmitPlanInfo(ProjectPlanInfoForm form) {
+        // 鏇存柊閲嶆柊涓婃姤鍚庣殑鍐呭
+        new LambdaUpdateChainWrapper<>(baseMapper)
+                .eq(ProjectPlanInfo::getId, form.getId())
+                .set(ProjectPlanInfo::getTitle, form.getTitle())
+                .set(ProjectPlanInfo::getStartTime, form.getStartTime())
+                .set(ProjectPlanInfo::getEndTime, form.getEndTime())
+                .set(ProjectPlanInfo::getPlanStatus, 0) // 灏嗚璁″垝椤硅缃负鏈鏍哥殑鐘舵��
+                .update();
+
+        // 鏂板涓�鏉¤鍒掍笂鎶ョ殑瀹℃牳璁板綍
+        ProjectPlanExamineRecord item = new ProjectPlanExamineRecord();
+        item.setProjectPlanRecordId(form.getProjectPlanRecordId().longValue());
+        item.setProjectPlanInfoId(form.getId().longValue());
+        item.setEventType(0); // 璁″垝涓婃姤
+        item.setGmtCreate(new Date());
+        item.setDeleted(0); // 鏈垹闄�
+        projectPlanExamineRecordMapper.insert(item);
+        return Result.ok("閲嶆柊涓婃姤鎴愬姛");
+    }
 }

--
Gitblit v1.8.0