From 81bda9441c1de11d78e518dbe5ee632ba7144c90 Mon Sep 17 00:00:00 2001 From: shiyunteng <shiyunteng@example.com> Date: 星期一, 31 三月 2025 11:55:57 +0800 Subject: [PATCH] 验收明细和出租台账中可按设备单次验收或出租 所有验收明细中设备数量与合同中设备数量一致修改合同状态 所有台账明细中设备数量与合同中设备数量一致修改合同状态 --- platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java | 33 ++++++++++++++++++++++++++++++--- 1 files changed, 30 insertions(+), 3 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..2e5479b 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 @@ -68,8 +68,19 @@ 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()+"璁惧鏁伴噺涓庡彴璐︽槑缁嗕腑涓嶄竴鑷达紝鏃犳硶寤虹珛鍙拌处"); + } + //鏌ヨ鏄惁鏈夊巻鍙插嚭璐� + QueryWrapper<DeviceLeasingLedgerItem> queryWrapperLedgerItem = new QueryWrapper<>(); + queryWrapperLedgerItem.eq("contract_id",contract.getId()); + queryWrapperLedgerItem.eq("device_id",contractItem.getDeviceId()); + List<DeviceLeasingLedgerItem> noteItemList = itemMapper.selectList(queryWrapperLedgerItem); + if (noteItemList != null&¬eItemList.size()>0) { + Integer deviceNum = noteItemList.stream().mapToInt(DeviceLeasingLedgerItem::getNum).sum(); + if (contractItem.getNum()<(item.getNum()+deviceNum)) { + return R.failed("鍚堝悓涓�"+item.getDeviceName()+"璁惧鏁伴噺鍑虹鍙拌处宸茶秴鍑鸿澶囧簱瀛橈紝鏃犳硶寤虹珛鍙拌处"); + } } } } @@ -124,7 +135,23 @@ } } } - + //鍚堝悓鏄庣粏涓笌鍙拌处瀵规瘮 + for (ContractItem contractItem:list + ) { + //鏌ヨ瀹為檯鍙拌处鎯呭喌 + QueryWrapper<DeviceLeasingLedgerItem> queryWrapperLedgerItem = new QueryWrapper<>(); + queryWrapperLedgerItem.eq("contract_id",contract.getId()); + queryWrapperLedgerItem.eq("device_id",contractItem.getDeviceId()); + List<DeviceLeasingLedgerItem> ledgerItemList = itemMapper.selectList(queryWrapperLedgerItem); + if (ledgerItemList != null&&ledgerItemList.size()>0) { + Integer deviceNum = ledgerItemList.stream().mapToInt(DeviceLeasingLedgerItem::getNum).sum(); + if (contractItem.getNum()!=deviceNum) { + return R.ok(); + } + }else { + return R.ok(); + } + } //鏇存柊鍚堝悓鐘舵�佷负瀹屾垚 contract.setStatus(2); contractMapper.updateById(contract); -- Gitblit v1.9.1