“djh”
4 days ago c26e227abe288476c11b0a8b7875045e71efa14c
multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementReviewServiceImpl.java
@@ -1,5 +1,8 @@
package com.gkhy.exam.system.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.api.CommonResult;
@@ -10,6 +13,7 @@
import com.gkhy.exam.system.service.ManagementReviewService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.List;
@@ -28,9 +32,9 @@
    @Autowired
    private ManagementReviewMapper managementReviewMapper;
    @Override
    public CommonPage selectManagementReviewList(Integer companyId, Integer reviewType) {
    public CommonPage selectManagementReviewList(Integer companyId, Integer reviewType,String year) {
        PageUtils.startPage();
        List<ManagementReview> managementReviews = managementReviewMapper.selectManagementReviewList(companyId,reviewType);
        List<ManagementReview> managementReviews = managementReviewMapper.selectManagementReviewList(companyId,reviewType,year);
        return CommonPage.restPage(managementReviews);
    }
@@ -67,4 +71,72 @@
        }
        return CommonResult.failed();
    }
    @Override
    @Transactional
    public CommonResult copyManagementReview(Integer companyId, String sourceYear, String targetYear, Integer reviewType) {
        if (companyId == null) {
            companyId = SecurityUtils.getCompanyId().intValue();
        }
        if (sourceYear == null || sourceYear.trim().isEmpty()) {
            return CommonResult.failed("源年份不能为空");
        }
        if (targetYear == null || targetYear.trim().isEmpty()) {
            return CommonResult.failed("目标年份不能为空");
        }
        if (reviewType == null) {
            return CommonResult.failed("评审类型不能为空");
        }
        if (reviewType != 1 && reviewType != 2 && reviewType != 3) {
            return CommonResult.failed("评审类型无效,只能是1会议、2输入、3报告");
        }
        LambdaUpdateWrapper<ManagementReview> deleteWrapper = new LambdaUpdateWrapper<>();
        deleteWrapper.eq(ManagementReview::getCompanyId, companyId)
                .eq(ManagementReview::getYear, targetYear)
                .eq(ManagementReview::getReviewType, reviewType)
                .eq(ManagementReview::getDelFlag, 0)
                .set(ManagementReview::getDelFlag, 1)
                .set(ManagementReview::getUpdateBy, SecurityUtils.getUsername())
                .set(ManagementReview::getUpdateTime, LocalDateTime.now());
        managementReviewMapper.update(new ManagementReview(), deleteWrapper);
        LambdaQueryWrapper<ManagementReview> queryWrapperSource = new LambdaQueryWrapper<>();
        queryWrapperSource.eq(ManagementReview::getCompanyId, companyId)
                .eq(ManagementReview::getYear, sourceYear)
                .eq(ManagementReview::getReviewType, reviewType)
                .eq(ManagementReview::getDelFlag, 0);
        List<ManagementReview> sourceReviews = managementReviewMapper.selectList(queryWrapperSource);
        if (ObjectUtil.isEmpty(sourceReviews)) {
            return CommonResult.success("源年份无相关数据");
        }
        for (ManagementReview sourceReview : sourceReviews) {
            ManagementReview newReview = new ManagementReview();
            newReview.setCompanyId(sourceReview.getCompanyId());
            newReview.setCompanyName(sourceReview.getCompanyName());
            newReview.setReviewName(sourceReview.getReviewName());
            newReview.setReviewType(sourceReview.getReviewType());
            newReview.setFilePath(sourceReview.getFilePath());
            newReview.setFormat(sourceReview.getFormat());
            newReview.setYear(targetYear);
            newReview.setDelFlag(0);
            newReview.setCreateBy(SecurityUtils.getUsername());
            newReview.setCreateTime(LocalDateTime.now());
            int insert = managementReviewMapper.insert(newReview);
            if (insert <= 0) {
                throw new RuntimeException("复制管理评审数据失败");
            }
        }
        return CommonResult.success("成功从年份[" + sourceYear + "]复制到年份[" + targetYear + "]");
    }
}