From 80662b34fe93b4ede00c7fc03fbd9f01355c94e2 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期一, 07 四月 2025 13:52:17 +0800 Subject: [PATCH] 修改任务接口 --- business/src/main/java/com/ycl/service/impl/ProgressPlanServiceImpl.java | 159 +++++++++++++++++++++++++++++++++++----------------- 1 files changed, 106 insertions(+), 53 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 e18139b..f17a350 100644 --- a/business/src/main/java/com/ycl/service/impl/ProgressPlanServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProgressPlanServiceImpl.java @@ -2,27 +2,28 @@ 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.ProgressPlan; -import com.ycl.domain.entity.ProjectPlanInfo; -import com.ycl.domain.entity.ProjectPlanRecord; +import com.ycl.common.enums.business.FileTypeEnum; +import com.ycl.domain.entity.*; 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.domain.form.ProjectProgressFileListsForm; import com.ycl.framework.utils.PageUtil; -import com.ycl.mapper.ProgressPlanMapper; -import com.ycl.mapper.ProjectPlanInfoMapper; -import com.ycl.mapper.ProjectPlanRecordMapper; +import com.ycl.mapper.*; import com.ycl.service.ProgressPlanService; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; 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; @@ -39,6 +40,8 @@ private final ProgressPlanMapper progressPlanMapper; private final ProjectPlanRecordMapper projectPlanRecordMapper; private final ProjectPlanInfoMapper projectPlanInfoMapper; + private final PlanMapper planMapper; + private final FileMapper fileMapper; /** * 娣诲姞 @@ -108,7 +111,7 @@ * @return */ @Override - public Result detail(Integer id) { + public Result detail(Long id) { ProgressPlanInfoResponseVO vo = new ProgressPlanInfoResponseVO(); List<ProgressPlanInfoFlag> monthProgress = new ArrayList<>(); List<ProgressPlanInfoFlag> seasonProgress = new ArrayList<>(); @@ -116,64 +119,66 @@ // 鏌ヨ鏈堝害璁″垝椤� 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); - }); + .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()) + .eq(ProjectPlanInfo::getDeleted, 0) // 鏈垹闄� + .eq(ProjectPlanInfo::getPlanStatus, 2) // 璁″垝椤瑰鎵归�氳繃 + .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); - }); + .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()) + .eq(ProjectPlanInfo::getDeleted, 0) // 鏈垹闄� + .eq(ProjectPlanInfo::getPlanStatus, 2) // 璁″垝椤瑰鎵归�氳繃 + .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); - }); + .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()) + .eq(ProjectPlanInfo::getDeleted, 0) // 鏈垹闄� + .eq(ProjectPlanInfo::getPlanStatus, 2) // 璁″垝椤瑰鎵归�氳繃 + .list() + ); + yearProgress.add(progressPlanInfoFlag); + }); vo.setMonthProgress(monthProgress); vo.setSeasonProgress(seasonProgress); vo.setYearProgress(yearProgress); return Result.ok().data(vo); } - - /** - * - */ /** * 鍒楄〃 @@ -187,4 +192,52 @@ .collect(Collectors.toList()); return Result.ok().data(vos); } + + @Override + @Transactional(rollbackFor = Exception.class) + public Result saveProjectProgressFileLists(ProjectProgressFileListsForm form) { + new LambdaUpdateChainWrapper<>(fileMapper) + .eq(File::getBusId, form.getProjectReportId()) + .eq(File::getType, FileTypeEnum.PROJECT_SITUATION_DESCRIPTION.getType()) + .remove(); + + form.getSituationDescriptionFileList().stream() + .forEach(file -> { + file.setId(null); + file.setBusId(form.getProjectReportId()); + file.setType(FileTypeEnum.PROJECT_SITUATION_DESCRIPTION); + fileMapper.insert(file); + }); + + new LambdaUpdateChainWrapper<>(fileMapper) + .eq(File::getBusId, form.getProjectReportId()) + .eq(File::getType, FileTypeEnum.PROJECT_COMPLETE_REPORT.getType()) + .remove(); + + form.getCompletedReportFileList().stream() + .forEach(file -> { + file.setId(null); + file.setBusId(form.getProjectReportId()); + file.setType(FileTypeEnum.PROJECT_COMPLETE_REPORT); + fileMapper.insert(file); + }); + return Result.ok("淇濆瓨鎴愬姛"); + } + + @Override + public Result getProjectProgressForm(Long id) { + ProjectProgressFileListsForm result = new ProjectProgressFileListsForm(); + result.setProjectReportId(id); + result.setCompletedReportFileList(new LambdaQueryChainWrapper<>(fileMapper) + .eq(File::getBusId, id) + .eq(File::getType, FileTypeEnum.PROJECT_COMPLETE_REPORT) + .eq(File::getDeleted, 0) + .list()); + result.setSituationDescriptionFileList(new LambdaQueryChainWrapper<>(fileMapper) + .eq(File::getBusId, id) + .eq(File::getType, FileTypeEnum.PROJECT_SITUATION_DESCRIPTION) + .eq(File::getDeleted, 0) + .list()); + return Result.ok().data(result); + } } -- Gitblit v1.8.0