From 2656ae9bce8544d81da66c07aaede5386d6fbebb Mon Sep 17 00:00:00 2001 From: liding <756868258@qq.com> Date: 星期五, 25 七月 2025 15:41:01 +0800 Subject: [PATCH] 1.序列化问题 2.设备领用逻辑优化 --- main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentUsageRecordServiceImpl.java | 37 ++++++++++++++++++------------------- 1 files changed, 18 insertions(+), 19 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 13c1d08..c272fa3 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 @@ -3,9 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.basic.entity.Supply; -import com.ruoyi.basic.mapper.CoalInfoMapper; -import com.ruoyi.business.dto.EquipmentManagementDto; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.business.dto.EquipmentUsageRecordDto; import com.ruoyi.business.entity.EquipmentManagement; import com.ruoyi.business.entity.EquipmentUsageDetail; @@ -14,12 +12,11 @@ import com.ruoyi.business.mapper.EquipmentUsageDetailMapper; import com.ruoyi.business.mapper.EquipmentUsageRecordMapper; import com.ruoyi.business.service.EquipmentUsageRecordService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.bean.BeanUtils; import com.ruoyi.system.mapper.SysUserMapper; -import org.springframework.stereotype.Service; import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDate; @@ -133,7 +130,7 @@ } // 澶勭悊褰掕繕閫昏緫 - if (equipmentUsageRecordDto.getEquipmentStatus() == 2) { + if (equipmentUsageRecordDto.getEquipmentStatus() != 1) { result = handleReturnOperation(equipmentUsageRecordDto, equipment, originalRecord, userId, username); } else { // 澶勭悊鏅�氱紪杈戦�昏緫锛堥潪褰掕繕鐘舵�侊級 @@ -173,7 +170,7 @@ private int handleReturnOperation(EquipmentUsageRecordDto dto, EquipmentManagement equipment, EquipmentUsageRecord originalRecord, Long userId, String username) { - // 鑾峰彇鏈褰掕繕鏁伴噺 + // 鏍¢獙褰掕繕鏁伴噺 Integer returnQuantity = dto.getReturnQuantity(); if (returnQuantity == null || returnQuantity <= 0) { throw new RuntimeException("褰掕繕鏁伴噺蹇呴』澶т簬0"); @@ -185,18 +182,19 @@ throw new RuntimeException("褰掕繕鏁伴噺涓嶈兘瓒呰繃鏈綊杩樻暟閲忥紝鍓╀綑鏈綊杩樻暟閲忥細" + remainingQuantity); } - // 鏇存柊涓昏褰� + // 鍑嗗鏇存柊璁板綍 EquipmentUsageRecord updateRecord = new EquipmentUsageRecord(); updateRecord.setId(originalRecord.getId()); - updateRecord.setReturnQuantity(originalRecord.getReturnQuantity() + returnQuantity); - updateRecord.setEquipmentStatus(2); // 宸插綊杩樼姸鎬� - updateRecord.setUsageEndTime(LocalDate.now()); - // 濡傛灉鍏ㄩ儴褰掕繕锛屾洿鏂扮姸鎬佸拰鏃堕棿 -// if (updateRecord.getReturnQuantity().equals(originalRecord.getUsageQuantity())) { -// -// } + int newReturnQuantity = originalRecord.getReturnQuantity() + returnQuantity; + updateRecord.setReturnQuantity(newReturnQuantity); - // 鎭㈠搴撳瓨 + // 鍒ゆ柇鏄惁鍏ㄩ儴褰掕繕 + boolean isFullReturn = newReturnQuantity == originalRecord.getUsageQuantity(); + int newStatus = isFullReturn ? 3 : 2; // 3琛ㄧず鍏ㄩ儴褰掕繕锛�2琛ㄧず閮ㄥ垎褰掕繕 + updateRecord.setEquipmentStatus(newStatus); + updateRecord.setUsageEndTime(LocalDate.now()); + + // 鎭㈠搴撳瓨鏁伴噺 equipment.setQuantity(equipment.getQuantity() + returnQuantity); equipmentManagementMapper.updateById(equipment); @@ -205,10 +203,11 @@ // 淇濆瓨褰掕繕鏄庣粏璁板綍 if (result > 0) { - String remark = "璁惧褰掕繕" + (updateRecord.getEquipmentStatus() == 2 ? "锛堝叏閮ㄥ綊杩橈級" : "锛堥儴鍒嗗綊杩橈級"); - saveUsageDetail(originalRecord.getId(), originalRecord.getEquipmentId(), 2, returnQuantity, userId, username, remark); + String remark = isFullReturn ? "璁惧褰掕繕锛堝叏閮ㄥ綊杩橈級" : "璁惧褰掕繕锛堥儴鍒嗗綊杩橈級"; + int operationType = isFullReturn ? 3 : 2; // 涓庝富璁板綍鐘舵�佷繚鎸佷竴鑷� + saveUsageDetail(originalRecord.getId(), originalRecord.getEquipmentId(), + operationType, returnQuantity, userId, username, remark); } - return result; } -- Gitblit v1.9.3