From 9a1eb07f890b6a69812c6c1d62a305b06b18fb73 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 26 十一月 2024 18:01:21 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 55 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 6c533f0..9f58f2e 100644 --- a/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java @@ -1,20 +1,27 @@ 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.conditions.update.LambdaUpdateChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.common.base.Result; import com.ycl.domain.entity.ProjectPlanInfo; +import com.ycl.domain.entity.ProjectPlanRecord; import com.ycl.domain.form.ProjectPlanInfoForm; import com.ycl.domain.query.ProjectPlanInfoQuery; +import com.ycl.domain.vo.ProjectPlanInfoRequest; +import com.ycl.domain.vo.ProjectPlanInfoResponseVO; import com.ycl.domain.vo.ProjectPlanInfoVO; import com.ycl.framework.utils.PageUtil; 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.stereotype.Service; import org.springframework.util.Assert; +import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -29,6 +36,7 @@ public class ProjectPlanInfoServiceImpl extends ServiceImpl<ProjectPlanInfoMapper, ProjectPlanInfo> implements ProjectPlanInfoService { private final ProjectPlanInfoMapper projectPlanInfoMapper; + private final ProjectPlanRecordMapper projectPlanRecordMapper; /** * 娣诲姞 @@ -99,8 +107,9 @@ */ @Override public Result detail(Integer id) { - ProjectPlanInfoVO vo = baseMapper.getById(id); - Assert.notNull(vo, "璁板綍涓嶅瓨鍦�"); + ProjectPlanInfoResponseVO vo = new ProjectPlanInfoResponseVO(); + vo.setList(new LambdaQueryChainWrapper<>(baseMapper).eq(ProjectPlanInfo::getProjectPlanRecordId, id).list()); + vo.setActualInvest(new LambdaQueryChainWrapper<>(projectPlanRecordMapper).eq(ProjectPlanRecord::getId, id).one().getActualInvest()); return Result.ok().data(vo); } @@ -116,4 +125,48 @@ .collect(Collectors.toList()); return Result.ok().data(vos); } + + @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(); + // 鎵归噺鎻掑叆鏂拌褰� + List<ProjectPlanInfo> list = new ArrayList<>(); + request.getAddList().forEach(item -> { + ProjectPlanInfo projectPlanInfo = new ProjectPlanInfo(); + projectPlanInfo.setProjectPlanRecordId(request.getProjectPlanRecordId().longValue()); + projectPlanInfo.setTitle(item.getTitle()); + projectPlanInfo.setProgressStatus(0); + projectPlanInfo.setStartTime(item.getStartTime()); + projectPlanInfo.setEndTime(item.getEndTime()); + list.add(projectPlanInfo); + }); + baseMapper.batchInsert(list); + // 鏇存柊璁″垝璁板綍鐨勬姇璧�,浠ュ強涓婃姤鐘舵�� + new LambdaUpdateChainWrapper<>(projectPlanRecordMapper) + .eq(ProjectPlanRecord::getId, request.getProjectPlanRecordId()) + .set(ProjectPlanRecord::getActualInvest, request.getActualInvest()) + .set(ProjectPlanRecord::getReportStatus, 0) + .update(); + return Result.ok("娣诲姞鎴愬姛"); + } + + @Override + public Result savePlanInfo(ProjectPlanInfo item) { + item.setProgressStatus(0); + // 鍒ゆ柇id鏄惁瀛樺湪锛屽瓨鍦ㄥ垯鏇存柊锛屼笉瀛樺湪鍒欐柊澧� + if (item.getId() == null) { + baseMapper.insertOne(item); + } else { + new LambdaUpdateChainWrapper<>(baseMapper).eq(ProjectPlanInfo::getId, item.getId()) + .set(ProjectPlanInfo::getTitle, item.getTitle()) + .set(ProjectPlanInfo::getStartTime, item.getStartTime()) + .set(ProjectPlanInfo::getEndTime, item.getEndTime()) + .update(); + } + return Result.ok("淇濆瓨鎴愬姛"); + } } -- Gitblit v1.8.0