| | |
| | | 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.system.service.ManagementPlanService; |
| | | 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; |
| | |
| | | } |
| | | 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("复制成功"); |
| | | } |
| | | |
| | | } |