From 2330e34c1d0f8a3c58a729eaee8e9987f612d83d Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 12 十二月 2024 10:51:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java |   47 ++++++++++++++++++++++++++---------------------
 1 files changed, 26 insertions(+), 21 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 b44304c..6e189bc 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java
@@ -24,6 +24,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
+import org.springframework.util.CollectionUtils;
 
 import java.util.ArrayList;
 import java.util.Date;
@@ -135,14 +136,13 @@
     @Transactional(rollbackFor = Exception.class)
     @Override
     public Result addPlanInfo(ProjectPlanInfoRequest request) {
-        if (request.getAddList() == null || request.getAddList().isEmpty()) {{
+        if (CollectionUtils.isEmpty(request.getAddList())) {{
             return Result.error("璇烽�夋嫨瑕佹坊鍔犵殑璁″垝椤�");
         }}
         // 鍒犻櫎鍘熸湁璁板綍
         new LambdaUpdateChainWrapper<>(baseMapper)
                 .eq(ProjectPlanInfo::getProjectPlanRecordId, request.getProjectPlanRecordId())
-                .set(ProjectPlanInfo::getDeleted, 1)
-                .update();
+                .remove();
         // 鎵归噺鎻掑叆鏂拌褰�
         List<ProjectPlanInfo> list = new ArrayList<>();
         request.getAddList().forEach(item -> {
@@ -153,12 +153,9 @@
             projectPlanInfo.setProgressStatus(0); // 璁″垝椤硅繘搴︿负鏈紑濮�
             projectPlanInfo.setStartTime(item.getStartTime()); // 璁″垝椤瑰紑濮嬫椂闂�
             projectPlanInfo.setEndTime(item.getEndTime()); // 璁″垝椤圭粨鏉熸椂闂�
-            projectPlanInfo.setDeleted(0);// 鏈垹闄�
             list.add(projectPlanInfo);
         });
-        list.stream().forEach(i -> {
-            baseMapper.insert(i);
-        });
+        this.saveBatch(list);
         // 鏇存柊璁″垝璁板綍鐨勬姇璧�,浠ュ強涓婃姤鐘舵��
         new LambdaUpdateChainWrapper<>(projectPlanRecordMapper)
                 .eq(ProjectPlanRecord::getId, request.getProjectPlanRecordId())
@@ -168,13 +165,11 @@
 
         // 鏂板涓�鏉″鏍歌褰�
         ProjectPlanExamineRecord item = new ProjectPlanExamineRecord();
-        item.setProjectPlanRecordId(request.getProjectPlanRecordId().longValue());
+        item.setProjectPlanRecordId(request.getProjectPlanRecordId());
         item.setEventType(0); // 璁″垝涓婃姤
-        item.setGmtCreate(new Date());  // 鍒涘缓鏃堕棿
-        item.setDeleted(0); // 鏈垹闄�
         list.stream().forEach(i -> {
-            item.setProjectPlanInfoId(i.getId().longValue());
-            projectPlanExamineRecordMapper.insertOne(item);
+            item.setProjectPlanInfoId(i.getId());
+            projectPlanExamineRecordMapper.insert(item);
         });
         return Result.ok("娣诲姞鎴愬姛");
     }
@@ -207,16 +202,28 @@
                 .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("寤舵湡鎴愬姛");
     }
 
@@ -236,11 +243,9 @@
         item.setProjectPlanRecordId(form.getProjectPlanRecordId().longValue());
         item.setProjectPlanInfoId(form.getId().longValue());
         item.setEventType(0); // 璁″垝涓婃姤
-        item.setDelayStartTime(form.getStartTime());
-        item.setDelayEndTime(form.getEndTime());
         item.setGmtCreate(new Date());
         item.setDeleted(0); // 鏈垹闄�
-        projectPlanExamineRecordMapper.insertOne(item);
+        projectPlanExamineRecordMapper.insert(item);
         return Result.ok("閲嶆柊涓婃姤鎴愬姛");
     }
 }

--
Gitblit v1.8.0