| | |
| | | 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; |
| | |
| | | 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> |
| | |
| | | |
| | | 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 + "条设备校准数据"); |
| | | } |
| | | |
| | | } |