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 +++++++++++++++-
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java | 46 ++++++++++++++++++-----
2 files changed, 66 insertions(+), 13 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);
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java
index 46373f9..bba1fa4 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java
@@ -57,24 +57,33 @@
QueryWrapper<ContractItem> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("contract_id",contract.getId());
List<ContractItem> list = contractItemMapper.selectList(queryWrapper);
-
- //姣旇緝璁惧绉嶇被鏄惁涓�鑷�
- if (list.size()!=entity.getNoteItemList().size()){
- return R.failed("鍚堝悓涓澶囩绫讳笌楠屾敹鏄庣粏涓笉涓�鑷�");
- }
-
+//
+// //姣旇緝璁惧绉嶇被鏄惁涓�鑷�
+// if (list.size()!=entity.getNoteItemList().size()){
+// return R.failed("鍚堝悓涓澶囩绫讳笌楠屾敹鏄庣粏涓笉涓�鑷�");
+// }
+//
//姣旇緝鍗曚釜璁惧鍙拌处鏁伴噺鏄惁涓庡悎鍚屼腑涓�鑷�
for (ContractItem contractItem:list
) {
for (ReceivingNoteItem item:entity.getNoteItemList()
) {
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<ReceivingNoteItem> queryWrapperNoteItem = new QueryWrapper<>();
+ queryWrapperNoteItem.eq("contract_id",contract.getId());
+ queryWrapperNoteItem.eq("device_id",contractItem.getDeviceId());
+ List<ReceivingNoteItem> noteItemList = itemMapper.selectList(queryWrapperNoteItem);
+ if (noteItemList != null&¬eItemList.size()>0) {
+ Integer deviceNum = noteItemList.stream().mapToInt(ReceivingNoteItem::getNum).sum();
+ if (contractItem.getNum()>=(item.getNum()+deviceNum)) {
+ return R.failed("鍚堝悓涓�"+item.getDeviceName()+"璁惧鏁伴噺涓庡疄闄呴獙鏀舵槑缁嗕腑涓嶄竴鑷�");
+ }
+ }
}
-
//璁惧搴忓垪鍙锋鏌ユ槸鍚︽湁鐩稿悓鐨勫瓨鍦�
List<String> serialArr = Arrays.stream(item.getSerialNos().split(",")).collect(Collectors.toList());
for (String serialNo:serialArr
@@ -144,6 +153,23 @@
}
}
+ //鍚堝悓鏄庣粏涓笌瀹為檯楠屾敹瀵规瘮
+ for (ContractItem contractItem:list
+ ) {
+ //鏌ヨ瀹為檯楠屾敹鎯呭喌
+ QueryWrapper<ReceivingNoteItem> queryWrapperNoteItem = new QueryWrapper<>();
+ queryWrapperNoteItem.eq("contract_id",contract.getId());
+ queryWrapperNoteItem.eq("device_id",contractItem.getDeviceId());
+ List<ReceivingNoteItem> noteItemList = itemMapper.selectList(queryWrapperNoteItem);
+ if (noteItemList != null&¬eItemList.size()>0) {
+ Integer deviceNum = noteItemList.stream().mapToInt(ReceivingNoteItem::getNum).sum();
+ if (contractItem.getNum()!=deviceNum) {
+ return R.ok();
+ }
+ }else {
+ return R.ok();
+ }
+ }
//鏇存柊鍚堝悓鐘舵�佷负瀹屾垚
contract.setStatus(2);
contractMapper.updateById(contract);
--
Gitblit v1.9.1