“djh”
3 days ago c26e227abe288476c11b0a8b7875045e71efa14c
multi-system/src/main/java/com/gkhy/exam/system/service/impl/ManagementPlanServiceImpl.java
@@ -1,6 +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.extension.service.impl.ServiceImpl;
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.common.utils.PageUtils;
@@ -8,9 +10,9 @@
import com.gkhy.exam.system.domain.ManagementPlan;
import com.gkhy.exam.system.mapper.ManagementPlanMapper;
import com.gkhy.exam.system.service.ManagementPlanService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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;
@@ -30,15 +32,18 @@
    private ManagementPlanMapper managementPlanMapper;
    @Override
    public CommonPage selectManagementPlanList(Integer companyId) {
    public CommonPage selectManagementPlanList(ManagementPlan managementPlan) {
        PageUtils.startPage();
        List<ManagementPlan> managementPlans = managementPlanMapper.selectManagementPlanById(companyId);
        List<ManagementPlan> managementPlans = managementPlanMapper.selectManagementPlanById(managementPlan);
        return CommonPage.restPage(managementPlans);
    }
    @Override
    public CommonResult insertManagementPlan(ManagementPlan managementPlan) {
        List<ManagementPlan> managementPlans = managementPlanMapper.selectManagementPlanById(managementPlan.getCompanyId());
        if (managementPlan == null || managementPlan.getCompanyId() == null){
            return CommonResult.failed("企业id不能为空");
        }
        List<ManagementPlan> managementPlans = managementPlanMapper.selectManagementPlanById(managementPlan);
        if (ObjectUtil.isNotEmpty(managementPlans)) {
            return CommonResult.failed("当前企业已有数据,请勿重复添加");
        }
@@ -76,4 +81,79 @@
        }
        return CommonResult.failed();
    }
    @Override
    @Transactional
    public CommonResult copyManagementPlan(Integer companyId, String sourceYear, String targetYear) {
        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("目标年份不能为空");
        }
        LambdaQueryWrapper<ManagementPlan> queryWrapperTarget = new LambdaQueryWrapper<>();
        queryWrapperTarget.eq(ManagementPlan::getCompanyId, companyId)
                .eq(ManagementPlan::getYear, targetYear)
                .eq(ManagementPlan::getDelFlag, 0);
        List<ManagementPlan> existingPlans = managementPlanMapper.selectList(queryWrapperTarget);
        if (ObjectUtil.isNotEmpty(existingPlans)) {
            for (ManagementPlan existingPlan : existingPlans) {
                ManagementPlan deletePlan = new ManagementPlan();
                deletePlan.setId(existingPlan.getId());
                deletePlan.setDelFlag(1);
                deletePlan.setUpdateBy(SecurityUtils.getUsername());
                deletePlan.setUpdateTime(LocalDateTime.now());
                managementPlanMapper.updateById(deletePlan);
            }
        }
        LambdaQueryWrapper<ManagementPlan> queryWrapperSource = new LambdaQueryWrapper<>();
        queryWrapperSource.eq(ManagementPlan::getCompanyId, companyId)
                .eq(ManagementPlan::getYear, sourceYear)
                .eq(ManagementPlan::getDelFlag, 0);
        List<ManagementPlan> sourcePlans = managementPlanMapper.selectList(queryWrapperSource);
        if (ObjectUtil.isEmpty(sourcePlans)) {
            return CommonResult.success("源年份无相关数据");
        }
        for (ManagementPlan sourcePlan : sourcePlans) {
            ManagementPlan newPlan = new ManagementPlan();
            newPlan.setCompanyId(sourcePlan.getCompanyId());
            newPlan.setNumber(sourcePlan.getNumber());
            newPlan.setYear(targetYear);
            newPlan.setFictionId(sourcePlan.getFictionId());
            newPlan.setFictionName(sourcePlan.getFictionName());
            newPlan.setFictionTime(sourcePlan.getFictionTime());
            newPlan.setCheckId(sourcePlan.getCheckId());
            newPlan.setCheckName(sourcePlan.getCheckName());
            newPlan.setCheckTime(sourcePlan.getCheckTime());
            newPlan.setRatifyId(sourcePlan.getRatifyId());
            newPlan.setRatifyName(sourcePlan.getRatifyName());
            newPlan.setRatifyTime(sourcePlan.getRatifyTime());
            newPlan.setContent(sourcePlan.getContent());
            newPlan.setObjective(sourcePlan.getObjective());
            newPlan.setLocation(sourcePlan.getLocation());
            newPlan.setStaff(sourcePlan.getStaff());
            newPlan.setReport(sourcePlan.getReport());
            newPlan.setDelFlag(0);
            newPlan.setCreateBy(SecurityUtils.getUsername());
            newPlan.setCreateTime(LocalDateTime.now());
            int insert = managementPlanMapper.insert(newPlan);
            if (insert <= 0) {
                throw new RuntimeException("复制管理审批计划失败");
            }
        }
        return CommonResult.success("复制成功");
    }
}