From 4c33acfe648e9b008f91c5e2cf446550e6b0174d Mon Sep 17 00:00:00 2001 From: liding <756868258@qq.com> Date: 星期二, 22 七月 2025 17:35:57 +0800 Subject: [PATCH] 1.正式库导出优化 2.销售导出 3.设备使用状态优化 4.定时任务优化 --- main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentManagementServiceImpl.java | 20 ++++++++++++++++++-- 1 files changed, 18 insertions(+), 2 deletions(-) diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentManagementServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentManagementServiceImpl.java index 863d663..e2fe1bf 100644 --- a/main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentManagementServiceImpl.java +++ b/main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentManagementServiceImpl.java @@ -11,11 +11,15 @@ import com.ruoyi.business.service.EquipmentManagementService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.business.vo.EquipmentManagementVo; +import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.bean.BeanUtils; import org.springframework.stereotype.Service; import lombok.RequiredArgsConstructor; +import org.springframework.transaction.annotation.Isolation; +import org.springframework.transaction.annotation.Transactional; +import java.beans.Transient; import java.util.Arrays; import java.util.List; import java.util.Objects; @@ -66,7 +70,8 @@ // 鏌ヨ璇ヨ澶囩殑浣跨敤鎬婚噺锛坲sageQuantity锛� LambdaQueryWrapper<EquipmentUsageRecord> usageQueryWrapper = new LambdaQueryWrapper<>(); - usageQueryWrapper.eq(EquipmentUsageRecord::getEquipmentId, entity.getId()); + usageQueryWrapper.eq(EquipmentUsageRecord::getEquipmentId, entity.getId()) + .eq(EquipmentUsageRecord::getEquipmentStatus, 1); // 璁$畻鎬讳娇鐢ㄩ噺 Integer totalUsage = equipmentUsageRecordMapper.selectList(usageQueryWrapper).stream() @@ -109,7 +114,18 @@ } @Override + @Transactional(isolation = Isolation.REPEATABLE_READ) public int delByIds(Long[] ids) { - return equipmentManagementMapper.deleteByIds(Arrays.asList(ids)); + // 1. 妫�鏌ヨ澶囨槸鍚︽鍦ㄤ娇鐢紙娣诲姞琛岄攣 for update锛� + List<EquipmentUsageRecord> records = equipmentUsageRecordMapper.selectList( + new LambdaQueryWrapper<EquipmentUsageRecord>() + .in(EquipmentUsageRecord::getEquipmentId, Arrays.asList(ids)) + .last("FOR UPDATE") // 娣诲姞琛岄攣锛岄攣瀹氭煡璇㈢粨鏋� + ); + if (!records.isEmpty()) { + throw new BaseException("璁惧姝e湪浣跨敤涓紝璇锋牳瀵�!"); + } else { + return equipmentManagementMapper.deleteByIds(Arrays.asList(ids)); + } } } -- Gitblit v1.9.3