From 01410747fc92a6f7bccdf9497fcde43368dc9752 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期六, 30 十一月 2024 08:05:27 +0800
Subject: [PATCH] 项目跟进回显部门

---
 business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java |   51 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 49 insertions(+), 2 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 9f58f2e..5c0b5fa 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ycl.common.base.Result;
+import com.ycl.domain.entity.ProjectPlanExamineRecord;
 import com.ycl.domain.entity.ProjectPlanInfo;
 import com.ycl.domain.entity.ProjectPlanRecord;
 import com.ycl.domain.form.ProjectPlanInfoForm;
@@ -13,15 +14,19 @@
 import com.ycl.domain.vo.ProjectPlanInfoResponseVO;
 import com.ycl.domain.vo.ProjectPlanInfoVO;
 import com.ycl.framework.utils.PageUtil;
+import com.ycl.mapper.ProjectPlanExamineRecordMapper;
 import com.ycl.mapper.ProjectPlanInfoMapper;
 import com.ycl.mapper.ProjectPlanRecordMapper;
 import com.ycl.service.ProjectPlanInfoService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -37,6 +42,7 @@
 
     private final ProjectPlanInfoMapper projectPlanInfoMapper;
     private final ProjectPlanRecordMapper projectPlanRecordMapper;
+    private final ProjectPlanExamineRecordMapper projectPlanExamineRecordMapper;
 
     /**
      * 娣诲姞
@@ -126,13 +132,17 @@
         return Result.ok().data(vos);
     }
 
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public Result addPlanInfo(ProjectPlanInfoRequest request) {
         if (request.getAddList() == null || request.getAddList().isEmpty()) {{
             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 -> {
@@ -142,15 +152,30 @@
             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());
+        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);
+        });
         return Result.ok("娣诲姞鎴愬姛");
     }
 
@@ -169,4 +194,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("寤舵湡鎴愬姛");
+    }
 }

--
Gitblit v1.8.0