From c8fbeff3b07f96ffb4624dd64344ac00ec0c8ef8 Mon Sep 17 00:00:00 2001 From: liding <756868258@qq.com> Date: 星期五, 18 七月 2025 11:03:47 +0800 Subject: [PATCH] 1.优化正式库 2.yml设置 --- main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentUsageRecordServiceImpl.java | 35 +++++++++++++++++++++++++++++------ 1 files changed, 29 insertions(+), 6 deletions(-) diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentUsageRecordServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentUsageRecordServiceImpl.java index 7b78a37..5c2366c 100644 --- a/main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentUsageRecordServiceImpl.java +++ b/main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentUsageRecordServiceImpl.java @@ -20,6 +20,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDate; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -66,7 +67,7 @@ if (!userIds.isEmpty()) { List<SysUser> sysUsers = sysUserMapper.selectList(userIds); userMap = sysUsers.stream().collect(Collectors.toMap(SysUser::getUserId, Function.identity())); - }else { + } else { userMap = new HashMap<>(); } //鍖归厤鏁版嵁 @@ -92,6 +93,12 @@ @Override @Transactional(rollbackFor = Exception.class) public int addOrEditUsageRecord(EquipmentUsageRecordDto equipmentUsageRecordDto) { + // 鍙傛暟鏍¢獙 + if (equipmentUsageRecordDto == null) { + throw new IllegalArgumentException("璁惧浣跨敤璁板綍鍙傛暟涓嶈兘涓虹┖"); + } + + // 澶嶅埗灞炴�у埌瀹炰綋瀵硅薄 EquipmentUsageRecord equipmentUsageRecord = new EquipmentUsageRecord(); BeanUtils.copyProperties(equipmentUsageRecordDto, equipmentUsageRecord); @@ -99,12 +106,13 @@ Long equipmentId = equipmentUsageRecordDto.getEquipmentId(); Integer newUsageQuantity = equipmentUsageRecordDto.getUsageQuantity(); - // 鏌ヨ璁惧淇℃伅锛堝甫涔愯閿佺増鏈彿锛� + // 鏌ヨ璁惧淇℃伅 EquipmentManagement equipment = equipmentManagementMapper.selectById(equipmentId); if (equipment == null) { throw new RuntimeException("璁惧涓嶅瓨鍦�"); } + // 鏂板璁板綍閫昏緫 if (Objects.isNull(equipmentUsageRecordDto.getId())) { // 妫�鏌ュ簱瀛樻槸鍚﹀厖瓒� if (equipment.getQuantity() < newUsageQuantity) { @@ -115,9 +123,18 @@ equipment.setQuantity(equipment.getQuantity() - newUsageQuantity); equipmentManagementMapper.updateById(equipment); - // 鍒涘缓棰嗙敤璁板綍 + // 璁剧疆浣跨敤寮�濮嬫椂闂翠负褰撳墠鏃堕棿 + equipmentUsageRecord.setUsageStartTime(LocalDate.now()); + + // 濡傛灉鐘舵�佷负1(宸插綊杩�)锛屽垯璁剧疆缁撴潫鏃堕棿 + if ("1".equals(equipmentUsageRecordDto.getEquipmentStatus())) { + equipmentUsageRecord.setUsageEndTime(LocalDate.now()); + } + return equipmentUsageRecordMapper.insert(equipmentUsageRecord); - } else { + } + // 鏇存柊璁板綍閫昏緫 + else { // 1. 鏌ヨ鍘熼鐢ㄨ褰� EquipmentUsageRecord originalRecord = equipmentUsageRecordMapper.selectById(equipmentUsageRecordDto.getId()); if (originalRecord == null) { @@ -128,7 +145,7 @@ int quantityDelta = newUsageQuantity - originalRecord.getUsageQuantity(); if (quantityDelta != 0) { - // 3. 妫�鏌ヨ皟鏁村悗搴撳瓨鏄惁鍏呰冻锛堣�冭檻澧炲姞鍜屽噺灏戜袱绉嶆儏鍐碉級 + // 3. 妫�鏌ヨ皟鏁村悗搴撳瓨鏄惁鍏呰冻 int newInventory = equipment.getQuantity() - quantityDelta; if (newInventory < 0) { throw new RuntimeException("搴撳瓨涓嶈冻锛岃皟鏁村悗搴撳瓨灏嗕负锛�" + newInventory); @@ -141,7 +158,13 @@ } } - // 5. 鏇存柊棰嗙敤璁板綍 + // 5. 濡傛灉鐘舵�佸彉涓�1(宸插綊杩�)锛屽垯璁剧疆缁撴潫鏃堕棿涓哄綋鍓嶆椂闂� + if ("1".equals(equipmentUsageRecordDto.getEquipmentStatus()) && + (originalRecord.getEquipmentStatus() == null || !"1".equals(originalRecord.getEquipmentStatus()))) { + equipmentUsageRecord.setUsageEndTime(LocalDate.now()); + } + + // 6. 鏇存柊棰嗙敤璁板綍 return equipmentUsageRecordMapper.updateById(equipmentUsageRecord); } } -- Gitblit v1.9.3