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