From 1948a5ff0581e7596249fb8d299559a17c977141 Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期四, 05 十二月 2024 17:08:16 +0800
Subject: [PATCH] 分角色展示项目计划,实现不同角色的功能
---
business/src/main/java/com/ycl/service/impl/ProgressPlanServiceImpl.java | 77 +++++++++++++++++++++++++++++++++++---
1 files changed, 71 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..ef903c0 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;
/**
* 娣诲姞
@@ -126,6 +129,8 @@
progressPlanInfoFlag.setPlanInfoList(
new LambdaQueryChainWrapper<>(projectPlanInfoMapper)
.eq(ProjectPlanInfo::getProjectPlanRecordId, record.getId())
+ .eq(ProjectPlanInfo::getDeleted, 0) // 鏈垹闄�
+ .eq(ProjectPlanInfo::getPlanStatus, 2) // 璁″垝椤瑰鎵归�氳繃
.list()
);
monthProgress.add(progressPlanInfoFlag);
@@ -143,6 +148,8 @@
progressPlanInfoFlag.setPlanInfoList(
new LambdaQueryChainWrapper<>(projectPlanInfoMapper)
.eq(ProjectPlanInfo::getProjectPlanRecordId, record.getId())
+ .eq(ProjectPlanInfo::getDeleted, 0) // 鏈垹闄�
+ .eq(ProjectPlanInfo::getPlanStatus, 2) // 璁″垝椤瑰鎵归�氳繃
.list()
);
seasonProgress.add(progressPlanInfoFlag);
@@ -160,6 +167,8 @@
progressPlanInfoFlag.setPlanInfoList(
new LambdaQueryChainWrapper<>(projectPlanInfoMapper)
.eq(ProjectPlanInfo::getProjectPlanRecordId, record.getId())
+ .eq(ProjectPlanInfo::getDeleted, 0) // 鏈垹闄�
+ .eq(ProjectPlanInfo::getPlanStatus, 2) // 璁″垝椤瑰鎵归�氳繃
.list()
);
yearProgress.add(progressPlanInfoFlag);
@@ -187,4 +196,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