From 4ee9e6833f738e22390c4e875fe140c2b96cfcc2 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 29 十一月 2024 04:03:37 +0800
Subject: [PATCH] 项目库分页查询

---
 business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java |   47 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 42 insertions(+), 5 deletions(-)

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 fe9851a..5d53406 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java
@@ -1,9 +1,15 @@
 package com.ycl.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
 import com.ycl.common.base.Result;
+import com.ycl.domain.entity.ProjectPlanExamineRecord;
+import com.ycl.domain.entity.ProjectPlanInfo;
 import com.ycl.domain.entity.ProjectPlanProgressReport;
+import com.ycl.domain.vo.ProgressReportResponseVO;
 import com.ycl.framework.utils.PageUtil;
+import com.ycl.mapper.ProjectPlanExamineRecordMapper;
+import com.ycl.mapper.ProjectPlanInfoMapper;
 import com.ycl.mapper.ProjectPlanProgressReportMapper;
 import com.ycl.service.ProjectPlanProgressReportService;
 
@@ -11,9 +17,11 @@
 import com.ycl.domain.form.ProjectPlanProgressReportForm;
 import com.ycl.domain.vo.ProjectPlanProgressReportVO;
 import com.ycl.domain.query.ProjectPlanProgressReportQuery;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.BeanUtils;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
 
 import java.util.List;
@@ -30,16 +38,46 @@
 public class ProjectPlanProgressReportServiceImpl extends ServiceImpl<ProjectPlanProgressReportMapper, ProjectPlanProgressReport> implements ProjectPlanProgressReportService {
 
     private final ProjectPlanProgressReportMapper projectPlanProgressReportMapper;
+    @Autowired
+    private final ProjectPlanExamineRecordMapper projectPlanExamineRecordMapper;
+    @Autowired
+    private ProjectPlanInfoMapper projectPlanInfoMapper;
 
     /**
      * 娣诲姞
      * @param form
      * @return
      */
+    @Transactional(rollbackFor = Exception.class)
     @Override
-    public Result add(ProjectPlanProgressReportForm form) {
-        ProjectPlanProgressReport entity = ProjectPlanProgressReportForm.getEntityByForm(form, null);
-        baseMapper.insert(entity);
+    public Result add(ProgressReportResponseVO form) {
+
+        ProjectPlanProgressReport projectPlanProgressReport = new ProjectPlanProgressReport();
+        projectPlanProgressReport.setProjectPlanInfoId(form.getId().longValue());
+        projectPlanProgressReport.setStartTime(form.getActualStartTime());
+        projectPlanProgressReport.setEndTime(form.getActualEndTime());
+        projectPlanProgressReport.setProgressStatus(form.getProgressStatus());
+        projectPlanProgressReport.setActualInvest(form.getActualInvest());
+        if (form.getProgressReportId() == null) {
+            baseMapper.insertOne(projectPlanProgressReport);
+        }else {
+            projectPlanProgressReport.setId(form.getProgressReportId());
+//            baseMapper.updateOne(projectPlanProgressReport);
+            baseMapper.updateById(projectPlanProgressReport);
+        }
+
+        // 鏇存柊涓婄骇鎵瑰
+        new LambdaUpdateChainWrapper<>(projectPlanExamineRecordMapper)
+                .eq(ProjectPlanExamineRecord::getId, form.getExamineRecordId())
+                .set(ProjectPlanExamineRecord::getDepartmentApprovalReply, form.getDepartmentApprovalReply())
+                .set(ProjectPlanExamineRecord::getManageApprovalReply, form.getManageApprovalReply())
+                .update();
+
+        // 鏇存柊涓婃姤鐘舵��
+        new LambdaUpdateChainWrapper<>(projectPlanInfoMapper)
+                .eq(ProjectPlanInfo::getId, form.getId())
+                .set(ProjectPlanInfo::getProgressStatus, 1)
+                .update();
         return Result.ok("娣诲姞鎴愬姛");
     }
 
@@ -100,8 +138,7 @@
      */
     @Override
     public Result detail(Integer id) {
-        ProjectPlanProgressReportVO vo = baseMapper.getById(id);
-        Assert.notNull(vo, "璁板綍涓嶅瓨鍦�");
+        ProgressReportResponseVO vo = baseMapper.getDetail(id);
         return Result.ok().data(vo);
     }
 

--
Gitblit v1.8.0