xiangpei
2024-12-12 2330e34c1d0f8a3c58a729eaee8e9987f612d83d
business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java
@@ -24,6 +24,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Date;
@@ -135,14 +136,13 @@
    @Transactional(rollbackFor = Exception.class)
    @Override
    public Result addPlanInfo(ProjectPlanInfoRequest request) {
        if (request.getAddList() == null || request.getAddList().isEmpty()) {{
        if (CollectionUtils.isEmpty(request.getAddList())) {{
            return Result.error("请选择要添加的计划项");
        }}
        // 删除原有记录
        new LambdaUpdateChainWrapper<>(baseMapper)
                .eq(ProjectPlanInfo::getProjectPlanRecordId, request.getProjectPlanRecordId())
                .set(ProjectPlanInfo::getDeleted, 1)
                .update();
                .remove();
        // 批量插入新记录
        List<ProjectPlanInfo> list = new ArrayList<>();
        request.getAddList().forEach(item -> {
@@ -153,12 +153,9 @@
            projectPlanInfo.setProgressStatus(0); // 计划项进度为未开始
            projectPlanInfo.setStartTime(item.getStartTime()); // 计划项开始时间
            projectPlanInfo.setEndTime(item.getEndTime()); // 计划项结束时间
            projectPlanInfo.setDeleted(0);// 未删除
            list.add(projectPlanInfo);
        });
        list.stream().forEach(i -> {
            baseMapper.insert(i);
        });
        this.saveBatch(list);
        // 更新计划记录的投资,以及上报状态
        new LambdaUpdateChainWrapper<>(projectPlanRecordMapper)
                .eq(ProjectPlanRecord::getId, request.getProjectPlanRecordId())
@@ -168,13 +165,11 @@
        // 新增一条审核记录
        ProjectPlanExamineRecord item = new ProjectPlanExamineRecord();
        item.setProjectPlanRecordId(request.getProjectPlanRecordId().longValue());
        item.setProjectPlanRecordId(request.getProjectPlanRecordId());
        item.setEventType(0); // 计划上报
        item.setGmtCreate(new Date());  // 创建时间
        item.setDeleted(0); // 未删除
        list.stream().forEach(i -> {
            item.setProjectPlanInfoId(i.getId().longValue());
            projectPlanExamineRecordMapper.insertOne(item);
            item.setProjectPlanInfoId(i.getId());
            projectPlanExamineRecordMapper.insert(item);
        });
        return Result.ok("添加成功");
    }
@@ -207,16 +202,28 @@
                .set(ProjectPlanInfo::getStartTime, request.getStartTime())
                .set(ProjectPlanInfo::getEndTime, request.getEndTime())
                .update();
        // 查询出原来的审核记录
        ProjectPlanExamineRecord item = new LambdaQueryChainWrapper<>(projectPlanExamineRecordMapper)
                .eq(ProjectPlanExamineRecord::getProjectPlanInfoId, request.getId())
                .eq(ProjectPlanExamineRecord::getProjectPlanRecordId, request.getProjectPlanRecordId())
                .ne(ProjectPlanExamineRecord::getEventType, 2)
                .eq(ProjectPlanExamineRecord::getDeleted, 0) // 未删除
                .orderByDesc(ProjectPlanExamineRecord::getGmtCreate)
                .last("LIMIT 1")
                .one();
        // 新增一条审核记录
        ProjectPlanExamineRecord item = new ProjectPlanExamineRecord();
        item.setProjectPlanRecordId(request.getProjectPlanRecordId().longValue());
        item.setProjectPlanInfoId(request.getId().longValue());
//        item.setId(null);
//        item.setEventType(1);
//        item.setDelayStartTime(request.getStartTime());
//        item.setDelayEndTime(request.getEndTime());
//        item.setGmtCreate(null);
//        item.setGmtUpdate(null);
//        projectPlanExamineRecordMapper.insertOne(item);
        // 更新原来的审核记录
        item.setEventType(1);
        item.setDelayStartTime(request.getStartTime());
        item.setDelayEndTime(request.getEndTime());
        item.setGmtCreate(new Date());
        item.setDeleted(0);
        projectPlanExamineRecordMapper.insertOne(item);
        projectPlanExamineRecordMapper.updateById(item);
        return Result.ok("延期成功");
    }
@@ -236,11 +243,9 @@
        item.setProjectPlanRecordId(form.getProjectPlanRecordId().longValue());
        item.setProjectPlanInfoId(form.getId().longValue());
        item.setEventType(0); // 计划上报
        item.setDelayStartTime(form.getStartTime());
        item.setDelayEndTime(form.getEndTime());
        item.setGmtCreate(new Date());
        item.setDeleted(0); // 未删除
        projectPlanExamineRecordMapper.insertOne(item);
        projectPlanExamineRecordMapper.insert(item);
        return Result.ok("重新上报成功");
    }
}