From 3adc66dee9660cf10e40abfdf52113306c7d34f3 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 29 十一月 2024 14:41:09 +0800
Subject: [PATCH] 项目库导出之导出目标列表内容
---
business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java | 74 ++++++++++++++++++++++++++++++++++--
1 files changed, 69 insertions(+), 5 deletions(-)
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 fe9851a..dc6ed30 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java
@@ -1,9 +1,19 @@
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;
import com.ycl.service.ProjectPlanProgressReportService;
@@ -11,11 +21,14 @@
import com.ycl.domain.form.ProjectPlanProgressReportForm;
import com.ycl.domain.vo.ProjectPlanProgressReportVO;
import com.ycl.domain.query.ProjectPlanProgressReportQuery;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
+import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -30,16 +43,65 @@
public class ProjectPlanProgressReportServiceImpl extends ServiceImpl<ProjectPlanProgressReportMapper, ProjectPlanProgressReport> implements ProjectPlanProgressReportService {
private final ProjectPlanProgressReportMapper projectPlanProgressReportMapper;
+ @Autowired
+ private final ProjectPlanExamineRecordMapper projectPlanExamineRecordMapper;
+ @Autowired
+ private ProjectPlanInfoMapper projectPlanInfoMapper;
+ @Autowired
+ private FileMapper fileMapper;
/**
* 娣诲姞
* @param form
* @return
*/
+ @Transactional(rollbackFor = Exception.class)
@Override
- public Result add(ProjectPlanProgressReportForm form) {
- ProjectPlanProgressReport entity = ProjectPlanProgressReportForm.getEntityByForm(form, null);
- baseMapper.insert(entity);
+ public Result add(ProgressReportResponseVO form) {
+ ProjectPlanProgressReport projectPlanProgressReport = new ProjectPlanProgressReport();
+ projectPlanProgressReport.setProjectPlanInfoId(form.getId().longValue());
+ projectPlanProgressReport.setStartTime(form.getActualStartTime());
+ projectPlanProgressReport.setEndTime(form.getActualEndTime());
+ projectPlanProgressReport.setProgressStatus(form.getProgressStatus());
+ projectPlanProgressReport.setActualInvest(form.getActualInvest());
+ if (form.getProgressReportId() == null) {
+ baseMapper.insertOne(projectPlanProgressReport);
+ }else {
+ projectPlanProgressReport.setId(form.getProgressReportId());
+ 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);
+ });
+ }
+
+ // 鏇存柊涓婄骇鎵瑰
+ new LambdaUpdateChainWrapper<>(projectPlanExamineRecordMapper)
+ .eq(ProjectPlanExamineRecord::getId, form.getExamineRecordId())
+ .set(ProjectPlanExamineRecord::getDepartmentApprovalReply, form.getDepartmentApprovalReply())
+ .set(ProjectPlanExamineRecord::getManageApprovalReply, form.getManageApprovalReply())
+ .update();
+
+ // 鏇存柊涓婃姤鐘舵��
+ new LambdaUpdateChainWrapper<>(projectPlanInfoMapper)
+ .eq(ProjectPlanInfo::getId, form.getId())
+ .set(ProjectPlanInfo::getProgressStatus, 1)
+ .update();
return Result.ok("娣诲姞鎴愬姛");
}
@@ -100,8 +162,10 @@
*/
@Override
public Result detail(Integer id) {
- ProjectPlanProgressReportVO vo = baseMapper.getById(id);
- Assert.notNull(vo, "璁板綍涓嶅瓨鍦�");
+ 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);
}
--
Gitblit v1.8.0