From fc8c86e7a365d5c6bdc37c2b05b9f83115ac2bc3 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期三, 23 四月 2025 17:30:52 +0800
Subject: [PATCH] 巡检任务  设备维修新增是否生成工单

---
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java |   47 +++++++++++++++++++++++++++++------------------
 1 files changed, 29 insertions(+), 18 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..beaf1ac 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
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 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.constant.MaxSizeContant;
 import com.by4cloud.platformx.device.dto.ReceivingNoteQueryDTO;
 import com.by4cloud.platformx.device.entity.*;
@@ -57,24 +58,26 @@
 		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()+"璁惧鏁伴噺涓嶈兘瓒呰繃鍚堝悓鏄庣粏涓璁㈢殑璁惧鏁伴噺");
 					}
-
+					Integer deviceNum = itemMapper.selectDeviceNumByContractId(contractItem.getContractId(),item.getDeviceId());
+					if (contractItem.getNum()<(deviceNum+item.getNum())){
+						return R.failed("瀹為檯楠屾敹鏄庣粏涓�"+item.getDeviceName()+"璁惧鏁伴噺涓嶈兘瓒呰繃鍚堝悓鏄庣粏涓璁㈢殑璁惧鏁伴噺");
+					}
 				}
-
 				//璁惧搴忓垪鍙锋鏌ユ槸鍚︽湁鐩稿悓鐨勫瓨鍦�
 				List<String> serialArr = Arrays.stream(item.getSerialNos().split(",")).collect(Collectors.toList());
 				for (String serialNo:serialArr
@@ -116,12 +119,12 @@
 							inventory.setName(device.getName());
 							inventory.setSerialNo(serialNo);
 							if (contract!=null&&(contract.getType()==1||contract.getType()==2)){
-								inventory.setSource(1);
-								inventory.setInventoryStatus(1);
+								inventory.setSource(CommonStatusContant.DEVICE_INVENTORY_RESOURCE_WAREHOUSE);
+								inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_USABLE);
 							}
 							if (contract!=null&&contract.getType()==0){
-								inventory.setSource(1);
-								inventory.setInventoryStatus(2);
+								inventory.setSource(CommonStatusContant.DEVICE_INVENTORY_RESOURCE_WAREHOUSE);
+								inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_RENTING);
 							}
 							inventoryMapper.insert(inventory);
 							//璁惧搴撳瓨娴佹按鍚屾鏂板
@@ -134,7 +137,7 @@
 								flowWater.setOperateType(2);
 							}
 							if (contract!=null&&contract.getType()==0){
-								flowWater.setOperateType(1);
+								flowWater.setOperateType(CommonStatusContant.DEVICE_INVENTORY_FLOW_WATER_OUT);
 							}
 							inventoryFlowWaterMapper.insert(flowWater);
 						}
@@ -144,6 +147,14 @@
 			}
 		}
 
+		//鍚堝悓鏄庣粏涓笌瀹為檯楠屾敹瀵规瘮
+		for (ContractItem contractItem:list
+		) {
+			Integer deviceNum = itemMapper.selectDeviceNumByContractId(contractItem.getContractId(),contractItem.getDeviceId());
+			if (contractItem.getNum()!=deviceNum){
+				return R.ok();
+			}
+		}
 		//鏇存柊鍚堝悓鐘舵�佷负瀹屾垚
 		contract.setStatus(2);
 		contractMapper.updateById(contract);
@@ -178,8 +189,8 @@
 	}
 
 	public static void main(String[] args) {
-		Long l1= 1905442028714270722l;
-		long l2 = 1905442028714270722l;
-		System.out.println(l1==l2);
+		int l1= 2;
+		int l2 = 3;
+		System.out.println(l1>=l2);
 	}
 }

--
Gitblit v1.9.1