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