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 ++++++++++++++++- business/src/main/java/com/ycl/domain/vo/ProgressReportResponseVO.java | 3 business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java | 29 +++++-- business/src/main/java/com/ycl/domain/vo/ProjectProgressFileListsRequest.java | 17 ++++ business/src/main/java/com/ycl/controller/ProgressPlanController.java | 14 +++ start/src/main/resources/application.yml | 2 business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java | 11 ++ business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java | 11 ++ business/src/main/java/com/ycl/controller/ProjectInfoController.java | 5 + common/src/main/java/com/ycl/common/enums/business/FileTypeEnum.java | 6 + business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java | 20 ++++- business/src/main/java/com/ycl/service/ProgressPlanService.java | 11 ++ business/src/main/java/com/ycl/service/ProjectInfoService.java | 2 business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java | 30 +++++++ 14 files changed, 206 insertions(+), 26 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..6c2e2c0 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,15 @@ public Result list() { return progressPlanService.all(); } + + @PostMapping("/saveProjectProgressFileLists") + public Result saveProjectProgressFileLists(@RequestBody ProjectProgressFileListsRequest request) { + return progressPlanService.saveProjectProgressFileLists(request); + } + + @GetMapping("/getProjectProgressForm/{id}") + public Result getProjectProgressForm(@PathVariable("id") Integer id) { + return progressPlanService.getProjectProgressForm(id); + } + } diff --git a/business/src/main/java/com/ycl/controller/ProjectInfoController.java b/business/src/main/java/com/ycl/controller/ProjectInfoController.java index 22c73e9..f2e314c 100644 --- a/business/src/main/java/com/ycl/controller/ProjectInfoController.java +++ b/business/src/main/java/com/ycl/controller/ProjectInfoController.java @@ -99,4 +99,9 @@ public Result generateProjectCode() { return Result.ok().data(ProjectCodeGenerator.generateProjectCode()); }; + + @GetMapping("/getManagerFlag/{recordId}") + public Result getManagerFlag(@PathVariable("recordId") Integer recordId) { + return projectInfoService.getManagerFlag(recordId); + } } diff --git a/business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java b/business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java index 169c98f..982ed76 100644 --- a/business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java +++ b/business/src/main/java/com/ycl/controller/ProjectPlanExamineRecordController.java @@ -90,8 +90,13 @@ return projectPlanExamineRecordService.planLog(projectPlanRecordId); } - @PostMapping("/replyDepartmentApproval") - public Result replyDepartmentApproval(@RequestBody ProjectPlanExamineRecordForm form) { - return projectPlanExamineRecordService.replyDepartmentApproval(form); + @PostMapping("/saveExamine") + public Result saveExamine(@RequestBody ProjectPlanExamineRecordForm form) { + return projectPlanExamineRecordService.saveExamine(form); + } + + @PostMapping("/replyExamine") + public Result replyExamine(@RequestBody ProjectPlanExamineRecordForm form) { + return projectPlanExamineRecordService.replyExamine(form); } } 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..02bdab1 --- /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 projectReportId; + 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..aee7fc4 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,13 @@ * @return */ Result all(); + + /** + * 淇濆瓨绔e伐鎶ュ憡銆佹儏鍐佃鏄庨檮浠� + * @param request + * @return + */ + Result saveProjectProgressFileLists(ProjectProgressFileListsRequest request); + + Result getProjectProgressForm(Integer id); } diff --git a/business/src/main/java/com/ycl/service/ProjectInfoService.java b/business/src/main/java/com/ycl/service/ProjectInfoService.java index 5e3a90f..e98c556 100644 --- a/business/src/main/java/com/ycl/service/ProjectInfoService.java +++ b/business/src/main/java/com/ycl/service/ProjectInfoService.java @@ -75,4 +75,6 @@ Result docDetail(Integer id); Result addDoc(DocumentInfoForm form); + + Result getManagerFlag(Integer recordId); } diff --git a/business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java b/business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java index 3464ca2..112824f 100644 --- a/business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java +++ b/business/src/main/java/com/ycl/service/ProjectPlanExamineRecordService.java @@ -78,9 +78,16 @@ Result planLog(Integer projectPlanRecordId); /** - * 涓婄骇鍥炲 + * 鍥炲瀹℃壒 * @param form * @return */ - Result replyDepartmentApproval(ProjectPlanExamineRecordForm form); + Result replyExamine(ProjectPlanExamineRecordForm form); + + /** + * 淇濆瓨瀹℃壒 + * @param form + * @return + */ + Result saveExamine(ProjectPlanExamineRecordForm form); } 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); + } } diff --git a/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java index 39d69d4..8c29fb9 100644 --- a/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java @@ -25,10 +25,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -260,4 +257,19 @@ fileService.saveBatch(fileList); return Result.ok(); } + + @Override + public Result getManagerFlag(Integer recordId) { + ProjectInfo projectInfo = baseMapper.selectById(recordId); + // 鍒ゆ柇褰撳墠鐢ㄦ埛id鏄惁鍦ㄤ富绠″垪琛ㄤ腑 + String competentDepartment = projectInfo.getCompetentDepartment(); + List<String> list = Arrays.asList(competentDepartment.split(",")); + // 鑾峰緱褰撳墠鐢ㄦ埛id + Long userId = SecurityUtils.getUserId(); + if (list.contains(userId.toString())) { + return Result.ok().data(true); + } else { + return Result.ok().data(false); + } + } } diff --git a/business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java index 0404651..d6086a7 100644 --- a/business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProjectPlanExamineRecordServiceImpl.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; +import com.ycl.common.utils.SecurityUtils; import com.ycl.domain.entity.ProjectPlanExamineRecord; import com.ycl.domain.vo.DepartmentApprovalResponseVO; import com.ycl.mapper.ProjectPlanExamineRecordMapper; @@ -132,15 +133,27 @@ return Result.ok().data(vo); } + /** + * 鍥炲瀹℃壒浜嬮」 + * @param form + * @return + */ @Override - public Result replyDepartmentApproval(ProjectPlanExamineRecordForm form) { - baseMapper.updateByForm(form); -// new LambdaUpdateChainWrapper<>(baseMapper) -// .eq(ProjectPlanExamineRecord::getId, form.getId()) -// .set(ProjectPlanExamineRecord::getDepartmentApprovalReply,form.getDepartmentApprovalReply()) -// .set(ProjectPlanExamineRecord::getManageApprovalReply, form.getManageApprovalReply()) -// .set(ProjectPlanExamineRecord::getGmtUpdate ,new Date()) -// .update(); + public Result replyExamine(ProjectPlanExamineRecordForm form) { + ProjectPlanExamineRecord projectPlanExamineRecord = ProjectPlanExamineRecordForm.getEntityByForm(form, null); + projectPlanExamineRecord.setId(form.getId().longValue()); + projectPlanExamineRecord.setDepartmentUserId(SecurityUtils.getUserId()); + projectPlanExamineRecord.setManagerUserId(SecurityUtils.getUserId()); + baseMapper.updateById(projectPlanExamineRecord); + return Result.ok("鍥炲鎴愬姛"); + } + + @Override + public Result saveExamine(ProjectPlanExamineRecordForm form) { + ProjectPlanExamineRecord projectPlanExamineRecord = ProjectPlanExamineRecordForm.getEntityByForm(form, null); + projectPlanExamineRecord.setDepartmentUserId(SecurityUtils.getUserId()); + projectPlanExamineRecord.setManagerUserId(SecurityUtils.getUserId()); + baseMapper.updateById(projectPlanExamineRecord); 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..ae2e7e6 100644 --- a/business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java @@ -1,13 +1,17 @@ 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.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 +28,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 +47,8 @@ private final ProjectPlanExamineRecordMapper projectPlanExamineRecordMapper; @Autowired private ProjectPlanInfoMapper projectPlanInfoMapper; + @Autowired + private FileMapper fileMapper; /** * 娣诲姞 @@ -51,7 +58,6 @@ @Transactional(rollbackFor = Exception.class) @Override public Result add(ProgressReportResponseVO form) { - ProjectPlanProgressReport projectPlanProgressReport = new ProjectPlanProgressReport(); projectPlanProgressReport.setProjectPlanInfoId(form.getId().longValue()); projectPlanProgressReport.setStartTime(form.getActualStartTime()); @@ -64,6 +70,25 @@ projectPlanProgressReport.setId(form.getProgressReportId()); // baseMapper.updateOne(projectPlanProgressReport); 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.setId(null); + 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); + }); } // 鏇存柊涓婄骇鎵瑰 @@ -139,6 +164,9 @@ @Override public Result detail(Integer id) { ProgressReportResponseVO vo = baseMapper.getDetail(id); + if (vo != null) { + vo.setFileList(new LambdaQueryChainWrapper<>(fileMapper).eq(File::getBusId, id).eq(File::getType, FileTypeEnum.PROJECT_PROGRESS_INFO_REPORT).list()); + } return Result.ok().data(vo); } 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 610936c..88a8fe9 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 @@ -14,7 +14,11 @@ public enum FileTypeEnum { PROJECT_INFO("project_info", "椤圭洰鍩烘湰淇℃伅"), INVEST_POLICY("invest_policy","鎶曡祫椤圭洰浜т笟鏀跨瓥绗﹀悎鎯呭喌"), - DOCUMENT_INFO("document_info","鐩稿叧鏂囦欢"); + DOCUMENT_INFO("document_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