From c6db287f6c987060d615fd7ef5126511e051d5c6 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期日, 27 四月 2025 17:33:30 +0800
Subject: [PATCH] 盘点计划 盘点单
---
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java | 51 +++++++++++++++++++++++++++------------------------
1 files changed, 27 insertions(+), 24 deletions(-)
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java
index 34f149f..18f8ff2 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.device.constant.CommonStatusContant;
import com.by4cloud.platformx.device.entity.*;
import com.by4cloud.platformx.device.mapper.*;
import com.by4cloud.platformx.device.service.DeviceLeasingLedgerService;
@@ -68,8 +69,13 @@
for (DeviceLeasingLedgerItem item:deviceLeasingLedger.getLedgerItemList()
) {
if (contractItem.getDeviceId().equals(item.getDeviceId())){
- if (contractItem.getNum()!=item.getNum()) {
- return R.failed("鍚堝悓涓�"+item.getDeviceName()+"璁惧鏁伴噺涓庡彴璐︽槑缁嗕腑涓嶄竴鑷�");
+ if (contractItem.getNum()<item.getNum()) {
+ return R.failed("鍚堝悓涓�"+item.getDeviceName()+"璁惧鏁伴噺涓庡彴璐︽槑缁嗕腑涓嶄竴鑷达紝鏃犳硶寤虹珛鍙拌处");
+ }
+ Integer deviceNum = itemMapper.selectDeviceNumByContractId(contract.getId(),contractItem.getDeviceId());
+ //鏌ヨ鏄惁鏈夊巻鍙插嚭璐�
+ if (contractItem.getNum()<(item.getNum()+deviceNum)) {
+ return R.failed("鍚堝悓涓�"+item.getDeviceName()+"璁惧鏁伴噺鍑虹鍙拌处宸茶秴鍑鸿澶囧疄闄呭簱瀛橈紝鏃犳硶寤虹珛鍙拌处");
}
}
}
@@ -84,26 +90,15 @@
for (String serialNo:item.getSerialNos()
) {
Device device = deviceMapper.selectById(item.getDeviceId());
- if (device!=null) {
- DeviceInventory inventory = new DeviceInventory();
- inventory.setDeviceId(item.getDeviceId());
- inventory.setDeviceNumber(item.getDeviceCode());
- inventory.setName(device.getName());
- inventory.setSerialNo(serialNo);
- //鏍规嵁鍚堝悓绫诲瀷 璐拱 鎵跨 鍚堝悓绫诲瀷涓哄叆搴撴搷浣�
- if (contract!=null&&(contract.getType()==1||contract.getType()==2)){
- inventory.setSource(1);
- //鍏ュ簱鎿嶄綔 搴撳瓨鐘舵�佷负 鍙敤
- inventory.setInventoryStatus(1);
- }
- //鏍规嵁鍚堝悓绫诲瀷 绉熻祦 鍚堝悓绫诲瀷涓哄嚭搴撴搷浣�
- if (contract!=null&&contract.getType()==0){
- inventory.setSource(0);
- //鍑哄簱鎿嶄綔 搴撳瓨鐘舵�佷负 绉熻祦涓�
- inventory.setInventoryStatus(2);
- }
+ QueryWrapper<DeviceInventory> inventoryQueryWrapper = new QueryWrapper<>();
+ inventoryQueryWrapper.eq("device_id",item.getDeviceId());
+ inventoryQueryWrapper.eq("serial_no",serialNo);
+ DeviceInventory inventory = inventoryMapper.selectOne(inventoryQueryWrapper);
+ if (device!=null&&inventory!=null) {
+ inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_RENTING);
+ inventory.setLedgerItemId(item.getId());
//搴撳瓨璋冩暣
- inventoryMapper.insert(inventory);
+ inventoryMapper.updateById(inventory);
//璁惧搴撳瓨娴佹按鍚屾鏂板
InventoryFlowWater flowWater = new InventoryFlowWater();
@@ -113,18 +108,26 @@
flowWater.setClassId(device.getClassId());
//鏍规嵁鍚堝悓绫诲瀷 璐拱 鎵跨 娴佹按鎿嶄綔绫诲瀷涓哄叆搴撴搷浣�
if (contract!=null&&(contract.getType()==1||contract.getType()==2)){
- flowWater.setOperateType(2);
+ flowWater.setOperateType(CommonStatusContant.DEVICE_INVENTORY_FLOW_WATER_IN);
}
//鏍规嵁鍚堝悓绫诲瀷 绉熻祦 娴佹按鎿嶄綔绫诲瀷涓哄嚭搴撴搷浣�
if (contract!=null&&contract.getType()==0){
- flowWater.setOperateType(1);
+ flowWater.setOperateType(CommonStatusContant.DEVICE_INVENTORY_FLOW_WATER_OUT);
}
//璁板綍搴撳瓨娴佹按
inventoryFlowWaterMapper.insert(flowWater);
}
}
}
-
+ //鍚堝悓鏄庣粏涓笌鍙拌处瀵规瘮
+ for (ContractItem contractItem:list
+ ) {
+ Integer deviceNum = itemMapper.selectDeviceNumByContractId(contract.getId(),contractItem.getDeviceId());
+ //鏌ヨ鏄惁鏈夊巻鍙插嚭璐�
+ if (contractItem.getNum()!=deviceNum) {
+ return R.ok();
+ }
+ }
//鏇存柊鍚堝悓鐘舵�佷负瀹屾垚
contract.setStatus(2);
contractMapper.updateById(contract);
--
Gitblit v1.9.1