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/ReceivingNoteServiceImpl.java | 46 ++++++++++++++++++++++++++++++++++++---------- 1 files changed, 36 insertions(+), 10 deletions(-) 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