From e8b11c6f789923ba0f9d21e85423231c567d92d2 Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期三, 27 十一月 2024 18:37:49 +0800
Subject: [PATCH] 进度上报查询

---
 business/src/main/java/com/ycl/service/impl/ProgressPlanServiceImpl.java |   75 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 73 insertions(+), 2 deletions(-)

diff --git a/business/src/main/java/com/ycl/service/impl/ProgressPlanServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProgressPlanServiceImpl.java
index cb52f7d..e18139b 100644
--- a/business/src/main/java/com/ycl/service/impl/ProgressPlanServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProgressPlanServiceImpl.java
@@ -1,20 +1,28 @@
 package com.ycl.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ycl.common.base.Result;
 import com.ycl.domain.entity.ProgressPlan;
+import com.ycl.domain.entity.ProjectPlanInfo;
+import com.ycl.domain.entity.ProjectPlanRecord;
 import com.ycl.domain.form.ProgressPlanForm;
 import com.ycl.domain.query.ProgressPlanQuery;
+import com.ycl.domain.vo.ProgressPlanInfoFlag;
+import com.ycl.domain.vo.ProgressPlanInfoResponseVO;
 import com.ycl.domain.vo.ProgressPlanVO;
 import com.ycl.framework.utils.PageUtil;
 import com.ycl.mapper.ProgressPlanMapper;
+import com.ycl.mapper.ProjectPlanInfoMapper;
+import com.ycl.mapper.ProjectPlanRecordMapper;
 import com.ycl.service.ProgressPlanService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -29,6 +37,8 @@
 public class ProgressPlanServiceImpl extends ServiceImpl<ProgressPlanMapper, ProgressPlan> implements ProgressPlanService {
 
     private final ProgressPlanMapper progressPlanMapper;
+    private final ProjectPlanRecordMapper projectPlanRecordMapper;
+    private final ProjectPlanInfoMapper projectPlanInfoMapper;
 
     /**
      * 娣诲姞
@@ -99,12 +109,73 @@
      */
     @Override
     public Result detail(Integer id) {
-        ProgressPlanVO vo = baseMapper.getById(id);
-        Assert.notNull(vo, "璁板綍涓嶅瓨鍦�");
+        ProgressPlanInfoResponseVO vo = new ProgressPlanInfoResponseVO();
+        List<ProgressPlanInfoFlag> monthProgress = new ArrayList<>();
+        List<ProgressPlanInfoFlag> seasonProgress = new ArrayList<>();
+        List<ProgressPlanInfoFlag> yearProgress = new ArrayList<>();
+
+        // 鏌ヨ鏈堝害璁″垝椤�
+        new LambdaQueryChainWrapper<>(projectPlanRecordMapper)
+                .eq(ProjectPlanRecord::getProjectInfoId, id)
+                .eq(ProjectPlanRecord::getPlanTimeFlag, 0)
+                .list()
+                .stream().forEach(record -> {
+                    ProgressPlanInfoFlag progressPlanInfoFlag = new ProgressPlanInfoFlag();
+                    progressPlanInfoFlag.setPlanTime(record.getPlanTime());
+                    progressPlanInfoFlag.setPlanTimeFlag(record.getPlanTimeFlag());
+                    progressPlanInfoFlag.setPlanInfoList(
+                            new LambdaQueryChainWrapper<>(projectPlanInfoMapper)
+                                    .eq(ProjectPlanInfo::getProjectPlanRecordId, record.getId())
+                                    .list()
+                    );
+                    monthProgress.add(progressPlanInfoFlag);
+                });
+
+        // 鏌ヨ瀛e害璁″垝椤�
+        new LambdaQueryChainWrapper<>(projectPlanRecordMapper)
+                .eq(ProjectPlanRecord::getProjectInfoId, id)
+                .eq(ProjectPlanRecord::getPlanTimeFlag, 1)
+                .list()
+                .stream().forEach(record -> {
+                    ProgressPlanInfoFlag progressPlanInfoFlag = new ProgressPlanInfoFlag();
+                    progressPlanInfoFlag.setPlanTime(record.getPlanTime());
+                    progressPlanInfoFlag.setPlanTimeFlag(record.getPlanTimeFlag());
+                    progressPlanInfoFlag.setPlanInfoList(
+                            new LambdaQueryChainWrapper<>(projectPlanInfoMapper)
+                                    .eq(ProjectPlanInfo::getProjectPlanRecordId, record.getId())
+                                    .list()
+                    );
+                    seasonProgress.add(progressPlanInfoFlag);
+                });
+
+        // 鏌ヨ骞村害璁″垝椤�
+        new LambdaQueryChainWrapper<>(projectPlanRecordMapper)
+                .eq(ProjectPlanRecord::getProjectInfoId, id)
+                .eq(ProjectPlanRecord::getPlanTimeFlag, 2)
+                .list()
+                .stream().forEach(record -> {
+                    ProgressPlanInfoFlag progressPlanInfoFlag = new ProgressPlanInfoFlag();
+                    progressPlanInfoFlag.setPlanTime(record.getPlanTime());
+                    progressPlanInfoFlag.setPlanTimeFlag(record.getPlanTimeFlag());
+                    progressPlanInfoFlag.setPlanInfoList(
+                            new LambdaQueryChainWrapper<>(projectPlanInfoMapper)
+                                    .eq(ProjectPlanInfo::getProjectPlanRecordId, record.getId())
+                                    .list()
+                    );
+                    yearProgress.add(progressPlanInfoFlag);
+                });
+
+        vo.setMonthProgress(monthProgress);
+        vo.setSeasonProgress(seasonProgress);
+        vo.setYearProgress(yearProgress);
         return Result.ok().data(vo);
     }
 
     /**
+     *
+     */
+
+    /**
      * 鍒楄〃
      * @return
      */

--
Gitblit v1.8.0