xiangpei
2024-11-28 e929e18f8d04e72a23c24b06b89ab2d7be6f9c84
business/src/main/java/com/ycl/service/impl/ProjectPlanProgressReportServiceImpl.java
@@ -1,9 +1,15 @@
package com.ycl.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.ycl.common.base.Result;
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.ProjectPlanExamineRecordMapper;
import com.ycl.mapper.ProjectPlanInfoMapper;
import com.ycl.mapper.ProjectPlanProgressReportMapper;
import com.ycl.service.ProjectPlanProgressReportService;
@@ -11,9 +17,11 @@
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.List;
@@ -30,16 +38,46 @@
public class ProjectPlanProgressReportServiceImpl extends ServiceImpl<ProjectPlanProgressReportMapper, ProjectPlanProgressReport> implements ProjectPlanProgressReportService {
    private final ProjectPlanProgressReportMapper projectPlanProgressReportMapper;
    @Autowired
    private final ProjectPlanExamineRecordMapper projectPlanExamineRecordMapper;
    @Autowired
    private ProjectPlanInfoMapper projectPlanInfoMapper;
    /**
     * 添加
     * @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.updateOne(projectPlanProgressReport);
            baseMapper.updateById(projectPlanProgressReport);
        }
        // 更新上级批复
        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 +138,7 @@
     */
    @Override
    public Result detail(Integer id) {
        ProjectPlanProgressReportVO vo = baseMapper.getById(id);
        Assert.notNull(vo, "记录不存在");
        ProgressReportResponseVO vo = baseMapper.getDetail(id);
        return Result.ok().data(vo);
    }