From 3134991a6c9315421ff3d4b3b4f1bd76bb5dbdc9 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: Tue, 28 Apr 2026 17:01:08 +0800
Subject: [PATCH] 复制功能
---
multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExpectDiscrenServiceImpl.java | 92 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 92 insertions(+), 0 deletions(-)
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExpectDiscrenServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExpectDiscrenServiceImpl.java
index fec0d0c..588ae22 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExpectDiscrenServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExpectDiscrenServiceImpl.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;
@@ -9,8 +12,10 @@
import com.gkhy.exam.system.domain.ExpectContent;
import com.gkhy.exam.system.domain.ExpectContentMess;
import com.gkhy.exam.system.domain.ExpectDiscren;
+import com.gkhy.exam.system.domain.ExpectEvaluate;
import com.gkhy.exam.system.mapper.ExpectContentMapper;
import com.gkhy.exam.system.mapper.ExpectDiscrenMapper;
+import com.gkhy.exam.system.mapper.ExpectEvaluateMapper;
import com.gkhy.exam.system.service.ExpectDiscrenService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -28,6 +33,9 @@
@Autowired
private ExpectContentMapper expectContentMapper;
+
+ @Autowired
+ private ExpectEvaluateMapper expectEvaluateMapper;
@Override
@@ -125,4 +133,88 @@
}
return CommonResult.success(expectDiscrens);
}
+
+ @Override
+ @Transactional
+ public CommonResult copyExpectDiscren(Long companyId,String sourceYear, String targetYear) {
+ if (companyId==null){
+ companyId = SecurityUtils.getCompanyId();
+ }
+ LambdaQueryWrapper<ExpectDiscren> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(ExpectDiscren::getCompanyId, companyId)
+ .eq(ExpectDiscren::getDelFlag, 1).eq(ExpectDiscren::getYear, targetYear);
+ List<ExpectDiscren> expectDiscrensTarget = expectDiscrenMapper.selectList(queryWrapper);
+ if (ObjectUtil.isNotEmpty(expectDiscrensTarget)){
+ for (ExpectDiscren expectDiscren : expectDiscrensTarget) {
+ deletedExpectDiscren(expectDiscren.getId());
+ LambdaQueryWrapper<ExpectContent> queryWrapperContent = new LambdaQueryWrapper<>();
+ queryWrapperContent.eq(ExpectContent::getExpectDiscrenId, expectDiscren.getId());
+ List<ExpectContent> expectContents = expectContentMapper.selectList(queryWrapperContent);
+ expectContentMapper.deletedByDiscrenId(expectDiscren.getId());
+ if (ObjectUtil.isNotEmpty(expectContents)){
+ expectContentMapper.deletedByConentId(expectDiscren.getId());
+ }
+
+ LambdaUpdateWrapper<ExpectEvaluate> updateWrapper = new LambdaUpdateWrapper<>();
+ updateWrapper.set(ExpectEvaluate::getDelFlag, 2).set(ExpectEvaluate::getUpdateBy, SecurityUtils.getUsername())
+ .eq(ExpectEvaluate::getUpdateTime, LocalDateTime.now()).eq(ExpectEvaluate::getExpectDiscrenId, expectDiscren.getId());
+ expectEvaluateMapper.update(new ExpectEvaluate(), updateWrapper);
+ }
+ }
+
+ LambdaQueryWrapper<ExpectDiscren> queryWrapperSource = new LambdaQueryWrapper<>();
+ queryWrapperSource.eq(ExpectDiscren::getCompanyId, companyId)
+ .eq(ExpectDiscren::getDelFlag, 1).eq(ExpectDiscren::getYear, sourceYear);
+ List<ExpectDiscren> expectDiscrens = expectDiscrenMapper.selectList(queryWrapperSource);
+ if (ObjectUtil.isEmpty(expectDiscrens)){
+ return CommonResult.success("无相关数据");
+ }
+ for (ExpectDiscren expectDiscren : expectDiscrens) {
+ Integer oldId = expectDiscren.getId();
+ expectDiscren.setId(null);
+ expectDiscren.setYear(targetYear);
+ expectDiscren.setCreateBy(SecurityUtils.getUsername());
+ expectDiscren.setCreateTime(LocalDateTime.now());
+ expectDiscren.setUpdateBy(SecurityUtils.getUsername());
+ expectDiscren.setUpdateTime(LocalDateTime.now());
+ expectDiscren.setFictionTime(LocalDateTime.now());
+ expectDiscrenMapper.insert(expectDiscren);
+ List<ExpectContent> expectContents = expectContentMapper.selectByDiscrenId(oldId);
+ if (ObjectUtil.isNotEmpty(expectContents)){
+ for (ExpectContent expectContent : expectContents) {
+ List<ExpectContentMess> expectContentMesses = expectContentMapper.selectByContentId(expectContent.getId());
+ expectContent.setId(null);
+ expectContent.setExpectDiscrenId(expectDiscren.getId());
+ expectContentMapper.insert(expectContent);
+
+ if (ObjectUtil.isNotEmpty(expectContentMesses)){
+ for (ExpectContentMess expectContentMess : expectContentMesses) {
+ expectContentMess.setId(null);
+ expectContentMess.setExpectContentId(expectContent.getId());
+ }
+ expectContentMapper.insertContentMess(expectContentMesses);
+ }
+
+ }
+ }
+
+ LambdaQueryWrapper<ExpectEvaluate> queryWrapper1 = new LambdaQueryWrapper<>();
+ queryWrapper1.eq(ExpectEvaluate::getExpectDiscrenId, oldId).eq(ExpectEvaluate::getDelFlag, 1);
+ List<ExpectEvaluate> expectEvaluates = expectEvaluateMapper.selectList(queryWrapper1);
+ if (ObjectUtil.isNotEmpty(expectEvaluates)){
+ for (ExpectEvaluate expectEvaluate : expectEvaluates) {
+ expectEvaluate.setId(null);
+ expectEvaluate.setExpectDiscrenId(expectDiscren.getId());
+ expectEvaluate.setCreateBy(SecurityUtils.getUsername());
+ expectEvaluate.setCreateTime(LocalDateTime.now());
+ expectEvaluate.setUpdateBy(SecurityUtils.getUsername());
+ expectEvaluate.setUpdateTime(LocalDateTime.now());
+ expectEvaluate.setEvaluateTime(LocalDateTime.now());
+ expectEvaluateMapper.insert(expectEvaluate);
+ }
+ }
+
+ }
+ return CommonResult.success();
+ }
}
--
Gitblit v1.9.2