xiangpei
2024-11-29 de04015a9eaf4a9928a1cba6cdfceed03146a720
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());
@@ -62,8 +68,26 @@
            baseMapper.insertOne(projectPlanProgressReport);
        }else {
            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);
                    });
        }
        // 更新上级批复
@@ -76,7 +100,7 @@
        // 更新上报状态
        new LambdaUpdateChainWrapper<>(projectPlanInfoMapper)
                .eq(ProjectPlanInfo::getId, form.getId())
                .set(ProjectPlanInfo::getProgressStatus, 2)
                .set(ProjectPlanInfo::getProgressStatus, 1)
                .update();
        return Result.ok("添加成功");
    }
@@ -139,6 +163,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);
    }
@@ -154,4 +181,32 @@
                .collect(Collectors.toList());
        return Result.ok().data(vos);
    }
    @Override
    public Result examine(ProgressReportResponseVO form) {
        // 更新审批记录
        ProjectPlanExamineRecord record = new ProjectPlanExamineRecord();
        record.setId(form.getExamineRecordId().longValue());
        record.setDepartmentExamine(form.getDepartmentExamine());
        record.setDepartmentApproval(form.getDepartmentApproval());
        record.setManageExamine(form.getManageExamine());
        record.setManageApproval(form.getManageApproval());
        projectPlanExamineRecordMapper.updateById(record);
        // 更新计划项状态
        if (form.getDepartmentExamine() == 0 && form.getManageExamine() == 0){
            new LambdaUpdateChainWrapper<>(projectPlanInfoMapper)
                   .eq(ProjectPlanInfo::getId, form.getId())
                   .set(ProjectPlanInfo::getProgressStatus, 3)
                   .update();
        }else {
            new LambdaUpdateChainWrapper<>(projectPlanInfoMapper)
                    .eq(ProjectPlanInfo::getId, form.getId())
                    .set(ProjectPlanInfo::getProgressStatus, 2)
                    .update();
        }
        return Result.ok("审批成功");
    }
}