From b72bb7cba52850c078157ffd95a45edf41751110 Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: Wed, 27 May 2026 15:05:17 +0800
Subject: [PATCH] 新增复制
---
multi-system/src/main/java/com/gkhy/exam/system/service/impl/CalibrationMonitoringEquipmentServiceImpl.java | 78 +++++++++++++++++++++++++++++++++++++++
1 files changed, 78 insertions(+), 0 deletions(-)
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CalibrationMonitoringEquipmentServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CalibrationMonitoringEquipmentServiceImpl.java
index ef53b8b..4355f78 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CalibrationMonitoringEquipmentServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CalibrationMonitoringEquipmentServiceImpl.java
@@ -1,10 +1,13 @@
package com.gkhy.exam.system.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
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.constant.UserConstant;
+import com.gkhy.exam.common.exception.ApiException;
import com.gkhy.exam.common.utils.PageUtils;
import com.gkhy.exam.common.utils.SecurityUtils;
import com.gkhy.exam.system.domain.CalibrationMonitoringEquipment;
@@ -12,9 +15,11 @@
import com.gkhy.exam.system.service.CalibrationMonitoringEquipmentService;
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;
+import java.util.stream.Collectors;
/**
* <p>
@@ -62,4 +67,77 @@
return CommonResult.success();
}
+
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public CommonResult copyCalibrationMonitoringEquipment(Integer companyId, String sourceYear, String targetYear) {
+ if (ObjectUtils.isEmpty(companyId)) {
+ return CommonResult.failed("公司ID不能为空");
+ }
+
+ if (ObjectUtils.isEmpty(sourceYear) || ObjectUtils.isEmpty(targetYear)) {
+ return CommonResult.failed("源年份和目标年份不能为空");
+ }
+
+ if (sourceYear.equals(targetYear)) {
+ return CommonResult.failed("源年份和目标年份不能相同");
+ }
+
+ LambdaQueryWrapper<CalibrationMonitoringEquipment> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(CalibrationMonitoringEquipment::getDelFlag, UserConstant.ENABLE)
+ .eq(CalibrationMonitoringEquipment::getCompanyId, companyId);
+
+ List<CalibrationMonitoringEquipment> sourceEquipments = calibrationMonitoringEquipmentMapper.selectList(queryWrapper);
+
+ if (ObjectUtils.isEmpty(sourceEquipments)) {
+ return CommonResult.failed("未找到源公司的设备校准数据");
+ }
+
+ List<CalibrationMonitoringEquipment> filteredEquipments = sourceEquipments.stream()
+ .filter(equipment -> equipment.getCalibrationTime() != null
+ && String.valueOf(equipment.getCalibrationTime().getYear()).equals(sourceYear))
+ .collect(Collectors.toList());
+
+ if (ObjectUtils.isEmpty(filteredEquipments)) {
+ return CommonResult.failed("未找到" + sourceYear + "年的设备校准数据");
+ }
+
+ int successCount = 0;
+ for (CalibrationMonitoringEquipment sourceEquipment : filteredEquipments) {
+ CalibrationMonitoringEquipment newEquipment = new CalibrationMonitoringEquipment();
+
+ newEquipment.setCompanyId(sourceEquipment.getCompanyId());
+ newEquipment.setDeviceName(sourceEquipment.getDeviceName());
+ newEquipment.setDeviceNumber(sourceEquipment.getDeviceNumber());
+ newEquipment.setCalibrationNumber(sourceEquipment.getCalibrationNumber());
+
+ LocalDateTime newCalibrationTime = sourceEquipment.getCalibrationTime()
+ .withYear(Integer.parseInt(targetYear));
+ newEquipment.setCalibrationTime(newCalibrationTime);
+
+ newEquipment.setCalibrationCompany(sourceEquipment.getCalibrationCompany());
+ newEquipment.setCalibrationResult(sourceEquipment.getCalibrationResult());
+ newEquipment.setConfirmUser(sourceEquipment.getConfirmUser());
+ newEquipment.setConfirmTime(sourceEquipment.getConfirmTime());
+ newEquipment.setExecutiveUser(sourceEquipment.getExecutiveUser());
+ newEquipment.setExecutiveTime(sourceEquipment.getExecutiveTime());
+ newEquipment.setDelFlag(UserConstant.ENABLE);
+ newEquipment.setCreateBy(SecurityUtils.getUsername());
+ newEquipment.setCreateTime(LocalDateTime.now());
+ newEquipment.setVersion(0);
+
+ int insertResult = calibrationMonitoringEquipmentMapper.insert(newEquipment);
+ if (insertResult > 0) {
+ successCount++;
+ }
+ }
+
+ if (successCount == 0) {
+ throw new ApiException("复制设备校准数据失败");
+ }
+
+ return CommonResult.success("成功复制" + successCount + "条设备校准数据");
+ }
+
}
--
Gitblit v1.9.2