From b12df20c37588aa4f41a448a5646ce9a42feb0b3 Mon Sep 17 00:00:00 2001 From: luohairen <3399054449@qq.com> Date: 星期四, 28 十一月 2024 19:11:55 +0800 Subject: [PATCH] 文件上传 --- business/src/main/java/com/ycl/service/impl/ProgressPlanServiceImpl.java | 56 ++++++++++++++++-- business/src/main/java/com/ycl/domain/vo/ProgressReportResponseVO.java | 3 + common/src/main/java/com/ycl/common/enums/business/FileTypeEnum.java | 5 + business/src/main/java/com/ycl/domain/vo/ProjectProgressFileListsRequest.java | 17 +++++ business/src/main/java/com/ycl/service/ProgressPlanService.java | 9 +++ business/src/main/java/com/ycl/controller/ProgressPlanController.java | 9 +++ start/src/main/resources/application.yml | 2 business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java | 25 ++++++++ 8 files changed, 117 insertions(+), 9 deletions(-) diff --git a/business/src/main/java/com/ycl/controller/ProgressPlanController.java b/business/src/main/java/com/ycl/controller/ProgressPlanController.java index ef2147b..96a0043 100644 --- a/business/src/main/java/com/ycl/controller/ProgressPlanController.java +++ b/business/src/main/java/com/ycl/controller/ProgressPlanController.java @@ -6,6 +6,8 @@ import com.ycl.common.group.Update; import com.ycl.domain.form.ProgressPlanForm; import com.ycl.domain.query.ProgressPlanQuery; +import com.ycl.domain.vo.ProjectProgressFileListsRequest; +import com.ycl.mapper.FileMapper; import com.ycl.service.ProgressPlanService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -31,6 +33,7 @@ public class ProgressPlanController { private final ProgressPlanService progressPlanService; + private final FileMapper fileMapper; @PostMapping @ApiOperation(value = "娣诲姞", notes = "娣诲姞") @@ -80,4 +83,10 @@ public Result list() { return progressPlanService.all(); } + + @PostMapping("/saveProjectProgressFileLists") + public Result saveProjectProgressFileLists(@RequestBody ProjectProgressFileListsRequest request) { + return progressPlanService.saveProjectProgressFileLists(request); + } + } diff --git a/business/src/main/java/com/ycl/domain/vo/ProgressReportResponseVO.java b/business/src/main/java/com/ycl/domain/vo/ProgressReportResponseVO.java index 0ab14d6..dfa3ff4 100644 --- a/business/src/main/java/com/ycl/domain/vo/ProgressReportResponseVO.java +++ b/business/src/main/java/com/ycl/domain/vo/ProgressReportResponseVO.java @@ -1,12 +1,14 @@ package com.ycl.domain.vo; import com.fasterxml.jackson.annotation.JsonFormat; +import com.ycl.domain.entity.File; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.math.BigDecimal; import java.util.Date; +import java.util.List; @Data @AllArgsConstructor @@ -33,5 +35,6 @@ private Integer manageExamine; private String manageApproval; private String manageApprovalReply; + private List<File> fileList; } diff --git a/business/src/main/java/com/ycl/domain/vo/ProjectProgressFileListsRequest.java b/business/src/main/java/com/ycl/domain/vo/ProjectProgressFileListsRequest.java new file mode 100644 index 0000000..5681e83 --- /dev/null +++ b/business/src/main/java/com/ycl/domain/vo/ProjectProgressFileListsRequest.java @@ -0,0 +1,17 @@ +package com.ycl.domain.vo; + +import com.ycl.domain.entity.File; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ProjectProgressFileListsRequest { + private Integer projectInfoId; + private List<File> completedReportFileList; + private List<File> situationDescriptionFileList; +} diff --git a/business/src/main/java/com/ycl/service/ProgressPlanService.java b/business/src/main/java/com/ycl/service/ProgressPlanService.java index 2b0b005..0fcdb6c 100644 --- a/business/src/main/java/com/ycl/service/ProgressPlanService.java +++ b/business/src/main/java/com/ycl/service/ProgressPlanService.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.domain.form.ProgressPlanForm; import com.ycl.domain.query.ProgressPlanQuery; +import com.ycl.domain.vo.ProjectProgressFileListsRequest; + import java.util.List; /** @@ -62,4 +64,11 @@ * @return */ Result all(); + + /** + * 淇濆瓨绔e伐鎶ュ憡銆佹儏鍐佃鏄庨檮浠� + * @param request + * @return + */ + Result saveProjectProgressFileLists(ProjectProgressFileListsRequest request); } 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..5b1ce4b 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,45 @@ .collect(Collectors.toList()); return Result.ok().data(vos); } + + @Override + @Transactional(rollbackFor = Exception.class) + public Result saveProjectProgressFileLists(ProjectProgressFileListsRequest request) { + // 鍒ゆ柇鏄惁瀛樺湪闄勪欢 + if(request.getSituationDescriptionFileList() != null && !request.getSituationDescriptionFileList().isEmpty()){ + new LambdaUpdateChainWrapper<>(fileMapper) + .eq(File::getBusId, request.getProjectInfoId()) + .eq(File::getType, FileTypeEnum.PROJECT_SITUATION_DESCRIPTION.getType()) + .set(File::getDeleted,1) + .update(); + + request.getSituationDescriptionFileList().stream() + .forEach(file -> { + file.setBusId(request.getProjectInfoId().longValue()); + file.setType(FileTypeEnum.PROJECT_SITUATION_DESCRIPTION); + file.setGmtCreate(new Date()); + file.setGmtUpdate(new Date()); + file.setDeleted(0); + fileMapper.insert(file); + }); + } + if(request.getCompletedReportFileList() != null && !request.getCompletedReportFileList().isEmpty()){ + new LambdaUpdateChainWrapper<>(fileMapper) + .eq(File::getBusId, request.getProjectInfoId()) + .eq(File::getType, FileTypeEnum.PROJECT_COMPLETE_REPORT.getType()) + .set(File::getDeleted,1) + .update(); + + request.getCompletedReportFileList().stream() + .forEach(file -> { + file.setBusId(request.getProjectInfoId().longValue()); + file.setType(FileTypeEnum.PROJECT_COMPLETE_REPORT); + file.setGmtCreate(new Date()); + file.setGmtUpdate(new Date()); + file.setDeleted(0); + fileMapper.insert(file); + }); + } + return Result.ok("淇濆瓨鎴愬姛"); + } } diff --git a/business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java index 5d53406..7f84aab 100644 --- a/business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java @@ -3,11 +3,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.ycl.common.base.Result; +import com.ycl.common.enums.business.FileTypeEnum; +import com.ycl.domain.entity.File; import com.ycl.domain.entity.ProjectPlanExamineRecord; import com.ycl.domain.entity.ProjectPlanInfo; import com.ycl.domain.entity.ProjectPlanProgressReport; import com.ycl.domain.vo.ProgressReportResponseVO; import com.ycl.framework.utils.PageUtil; +import com.ycl.mapper.FileMapper; import com.ycl.mapper.ProjectPlanExamineRecordMapper; import com.ycl.mapper.ProjectPlanInfoMapper; import com.ycl.mapper.ProjectPlanProgressReportMapper; @@ -24,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; +import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -42,6 +46,8 @@ private final ProjectPlanExamineRecordMapper projectPlanExamineRecordMapper; @Autowired private ProjectPlanInfoMapper projectPlanInfoMapper; + @Autowired + private FileMapper fileMapper; /** * 娣诲姞 @@ -51,7 +57,6 @@ @Transactional(rollbackFor = Exception.class) @Override public Result add(ProgressReportResponseVO form) { - ProjectPlanProgressReport projectPlanProgressReport = new ProjectPlanProgressReport(); projectPlanProgressReport.setProjectPlanInfoId(form.getId().longValue()); projectPlanProgressReport.setStartTime(form.getActualStartTime()); @@ -66,6 +71,24 @@ baseMapper.updateById(projectPlanProgressReport); } + // 鏂囦欢涓婁紶 + new LambdaUpdateChainWrapper<>(fileMapper) + .eq(File::getBusId, form.getId()) + .eq(File::getType, FileTypeEnum.PROJECT_PROGRESS_INFO_REPORT.getType()) + .set(File::getDeleted,1) + .update(); + if (form.getFileList() != null && form.getFileList().size() > 0) { + form.getFileList().stream() + .forEach(file -> { + file.setBusId(form.getId().longValue()); + file.setType(FileTypeEnum.PROJECT_PROGRESS_INFO_REPORT); + file.setGmtCreate(new Date()); + file.setGmtUpdate(new Date()); + file.setDeleted(0); + fileMapper.insert(file); + }); + } + // 鏇存柊涓婄骇鎵瑰 new LambdaUpdateChainWrapper<>(projectPlanExamineRecordMapper) .eq(ProjectPlanExamineRecord::getId, form.getExamineRecordId()) diff --git a/common/src/main/java/com/ycl/common/enums/business/FileTypeEnum.java b/common/src/main/java/com/ycl/common/enums/business/FileTypeEnum.java index f2c0231..771c5df 100644 --- a/common/src/main/java/com/ycl/common/enums/business/FileTypeEnum.java +++ b/common/src/main/java/com/ycl/common/enums/business/FileTypeEnum.java @@ -12,7 +12,10 @@ */ @Getter public enum FileTypeEnum { - PROJECT_INFO("project_info", "椤圭洰鍩烘湰淇℃伅"); + PROJECT_INFO("project_info", "椤圭洰鍩烘湰淇℃伅"), + PROJECT_COMPLETE_REPORT("project_complete_report", "椤圭洰绔e伐鎶ュ憡"), + PROJECT_SITUATION_DESCRIPTION("project_situation_description", "椤圭洰鎯呭喌璇存槑"), + PROJECT_PROGRESS_INFO_REPORT("project_progress_info_report", "椤圭洰杩涘害璁″垝椤逛笂鎶�"); @EnumValue // 鏍囨槑璇ュ瓧娈靛瓨鍏ユ暟鎹簱 private final String type; diff --git a/start/src/main/resources/application.yml b/start/src/main/resources/application.yml index 841764e..2156745 100644 --- a/start/src/main/resources/application.yml +++ b/start/src/main/resources/application.yml @@ -71,7 +71,7 @@ devtools: restart: # 鐑儴缃插紑鍏� - enabled: true + enabled: false # token閰嶇疆 token: -- Gitblit v1.8.0