From b0fd64098134466414d22af52baa823245839070 Mon Sep 17 00:00:00 2001 From: kongdeqiang <123456> Date: 星期一, 31 三月 2025 16:48:18 +0800 Subject: [PATCH] fix: 年度投资计划接口 --- platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 48 insertions(+), 8 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 53bfba2..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,20 +57,43 @@ 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 + ) { + QueryWrapper<DeviceInventory> inventoryQueryWrapper = new QueryWrapper<>(); + inventoryQueryWrapper.eq("device_id",item.getDeviceId()); + inventoryQueryWrapper.eq("serial_no",serialNo); + List<DeviceInventory> inventoryList = inventoryMapper.selectList(inventoryQueryWrapper); + if (inventoryList!=null&&inventoryList.size()>0){ + return R.failed("鍚堝悓鏄庣粏涓澶囧簭鍒楀彿"+serialNo+"宸插瓨鍦紝璇锋鏌ュ簭鍒楀彿"); } } } @@ -130,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