From 363cf83f55c886bacb8ccab451071442a3313e67 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期五, 29 十一月 2024 04:04:40 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- business/src/main/java/com/ycl/service/impl/ProgressPlanServiceImpl.java | 71 ++++++++++++++++++++++++++++++++--- 1 files changed, 65 insertions(+), 6 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..ab00a4e 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.vo.ProjectProgressFileListsRequest; 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; /** * 娣诲姞 @@ -187,4 +190,60 @@ .collect(Collectors.toList()); return Result.ok().data(vos); } + + @Override + @Transactional(rollbackFor = Exception.class) + public Result saveProjectProgressFileLists(ProjectProgressFileListsRequest request) { + new LambdaUpdateChainWrapper<>(fileMapper) + .eq(File::getBusId, request.getProjectReportId()) + .eq(File::getType, FileTypeEnum.PROJECT_SITUATION_DESCRIPTION.getType()) + .set(File::getDeleted,1) + .update(); + + request.getSituationDescriptionFileList().stream() + .forEach(file -> { + file.setId(null); + file.setBusId(request.getProjectReportId().longValue()); + file.setType(FileTypeEnum.PROJECT_SITUATION_DESCRIPTION); + file.setGmtCreate(new Date()); + file.setGmtUpdate(new Date()); + file.setDeleted(0); + fileMapper.insert(file); + }); + + new LambdaUpdateChainWrapper<>(fileMapper) + .eq(File::getBusId, request.getProjectReportId()) + .eq(File::getType, FileTypeEnum.PROJECT_COMPLETE_REPORT.getType()) + .set(File::getDeleted,1) + .update(); + + request.getCompletedReportFileList().stream() + .forEach(file -> { + file.setId(null); + file.setBusId(request.getProjectReportId().longValue()); + file.setType(FileTypeEnum.PROJECT_COMPLETE_REPORT); + file.setGmtCreate(new Date()); + file.setGmtUpdate(new Date()); + file.setDeleted(0); + fileMapper.insert(file); + }); + return Result.ok("淇濆瓨鎴愬姛"); + } + + @Override + public Result getProjectProgressForm(Integer id) { + ProjectProgressFileListsRequest result = new ProjectProgressFileListsRequest(); + 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