From ffbddedac17c4a7d18d382c4917b3f375356e061 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期二, 01 四月 2025 10:23:47 +0800
Subject: [PATCH] 整体流程测试修改0401-1

---
 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InventoryDetailVo.java                 |    2 
 platformx-device-biz/src/main/resources/mapper/deviceInventoryMapper.xml                                          |    4 +
 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InventoryFlowWaterPageVo.java          |    2 
 platformx-device-biz/src/main/resources/mapper/InventoryFlowWaterMapper.xml                                       |    2 
 platformx-device-biz/src/main/resources/mapper/ReceivingNoteItemMapper.xml                                        |   16 +++++
 platformx-device-biz/src/main/resources/mapper/DeviceLeasingLedgerItemMapper.xml                                  |   16 +++++
 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedger.java                  |    7 ++
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceLeasingLedgerItemMapper.java        |    2 
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java |   52 ++++-------------
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ReceivingNoteItemMapper.java              |    2 
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java       |   34 +++--------
 11 files changed, 71 insertions(+), 68 deletions(-)

diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedger.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedger.java
index f676182..cb36b9a 100644
--- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedger.java
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedger.java
@@ -96,4 +96,11 @@
 	@Column(columnDefinition="datetime comment '鍑虹鏃ユ湡'")
 	private Date deliveryDate;
 
+
+	/**
+	 * 鍚堝悓id
+	 */
+	@Schema(description = "鍚堝悓id")
+	@Column(columnDefinition="bigint comment '鍚堝悓id'")
+	private Long contractId;
 }
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InventoryDetailVo.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InventoryDetailVo.java
index 371f3f4..3861361 100644
--- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InventoryDetailVo.java
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InventoryDetailVo.java
@@ -14,7 +14,7 @@
 	private String contractName;
 
 	@Schema(description = "绉熻祦鏂�")
-	private String partyb;
+	private String rentName;
 
 	@Schema(description = "璁惧缂栧彿")
 	private String deviceNumber;
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InventoryFlowWaterPageVo.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InventoryFlowWaterPageVo.java
index cc6bbfe..1b0f3aa 100644
--- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InventoryFlowWaterPageVo.java
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InventoryFlowWaterPageVo.java
@@ -10,7 +10,7 @@
 
 	private Long id;
 
-	private String devicName;
+	private String deviceName;
 
 	private String className;
 
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceLeasingLedgerItemMapper.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceLeasingLedgerItemMapper.java
index 5c623c1..a4c7ecf 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceLeasingLedgerItemMapper.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceLeasingLedgerItemMapper.java
@@ -3,9 +3,11 @@
 import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
 import com.by4cloud.platformx.device.entity.DeviceLeasingLedgerItem;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 @Mapper
 public interface DeviceLeasingLedgerItemMapper extends PlatformxBaseMapper<DeviceLeasingLedgerItem> {
 
 
+    Integer selectDeviceNumByContractId(@Param("contractId") Long contractId,@Param("deviceId") Long deviceId);
 }
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ReceivingNoteItemMapper.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ReceivingNoteItemMapper.java
index e3ec34a..a9b72d6 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ReceivingNoteItemMapper.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ReceivingNoteItemMapper.java
@@ -14,4 +14,6 @@
 
 
     IPage<ReceivingNoteItemPageVo> pageNew(Page page, @Param("queryDTO") ReceivingNoteItemQueryDTO queryDTO);
+
+    Integer selectDeviceNumByContractId(@Param("contractId") Long contractId,@Param("deviceId") Long deviceId);
 }
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 e3862fa..e468074 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
@@ -71,16 +71,10 @@
 					if (contractItem.getNum()<item.getNum()) {
 						return R.failed("鍚堝悓涓�"+item.getDeviceName()+"璁惧鏁伴噺涓庡彴璐︽槑缁嗕腑涓嶄竴鑷达紝鏃犳硶寤虹珛鍙拌处");
 					}
+					Integer deviceNum = itemMapper.selectDeviceNumByContractId(contract.getId(),contractItem.getDeviceId());
 					//鏌ヨ鏄惁鏈夊巻鍙插嚭璐�
-					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&&noteItemList.size()>0) {
-						Integer deviceNum = noteItemList.stream().mapToInt(DeviceLeasingLedgerItem::getNum).sum();
-						if (contractItem.getNum()<(item.getNum()+deviceNum)) {
-							return R.failed("鍚堝悓涓�"+item.getDeviceName()+"璁惧鏁伴噺鍑虹鍙拌处宸茶秴鍑鸿澶囧簱瀛橈紝鏃犳硶寤虹珛鍙拌处");
-						}
+					if (contractItem.getNum()<(item.getNum()+deviceNum)) {
+						return R.failed("鍚堝悓涓�"+item.getDeviceName()+"璁惧鏁伴噺鍑虹鍙拌处宸茶秴鍑鸿澶囧疄闄呭簱瀛橈紝鏃犳硶寤虹珛鍙拌处");
 					}
 				}
 			}
@@ -95,27 +89,15 @@
 			for (String serialNo:item.getSerialNos()
 			) {
 				Device device = deviceMapper.selectById(item.getDeviceId());
-				if (device!=null) {
-					DeviceInventory inventory = new DeviceInventory();
-					inventory.setDeviceId(item.getDeviceId());
-					inventory.setDeviceNumber(item.getDeviceCode());
-					inventory.setName(device.getName());
-					inventory.setSerialNo(serialNo);
-					//鏍规嵁鍚堝悓绫诲瀷 璐拱 鎵跨 鍚堝悓绫诲瀷涓哄叆搴撴搷浣�
-					if (contract!=null&&(contract.getType()==1||contract.getType()==2)){
-						inventory.setSource(1);
-						//鍏ュ簱鎿嶄綔 搴撳瓨鐘舵�佷负 鍙敤
-						inventory.setInventoryStatus(1);
-					}
-					//鏍规嵁鍚堝悓绫诲瀷 绉熻祦 鍚堝悓绫诲瀷涓哄嚭搴撴搷浣�
-					if (contract!=null&&contract.getType()==0){
-						inventory.setSource(0);
-						//鍑哄簱鎿嶄綔 搴撳瓨鐘舵�佷负  绉熻祦涓�
-						inventory.setInventoryStatus(2);
-					}
+				QueryWrapper<DeviceInventory> inventoryQueryWrapper = new QueryWrapper<>();
+				inventoryQueryWrapper.eq("device_id",item.getDeviceId());
+				inventoryQueryWrapper.eq("serial_no",serialNo);
+				DeviceInventory inventory = inventoryMapper.selectOne(inventoryQueryWrapper);
+				if (device!=null&&inventory!=null) {
+					inventory.setInventoryStatus(2);
 					inventory.setLedgerItemId(item.getId());
 					//搴撳瓨璋冩暣
-					inventoryMapper.insert(inventory);
+					inventoryMapper.updateById(inventory);
 
 					//璁惧搴撳瓨娴佹按鍚屾鏂板
 					InventoryFlowWater flowWater = new InventoryFlowWater();
@@ -139,17 +121,9 @@
 		//鍚堝悓鏄庣粏涓笌鍙拌处瀵规瘮
 		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 {
+			Integer deviceNum = itemMapper.selectDeviceNumByContractId(contract.getId(),contractItem.getDeviceId());
+			//鏌ヨ鏄惁鏈夊巻鍙插嚭璐�
+			if (contractItem.getNum()!=deviceNum) {
 				return R.ok();
 			}
 		}
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 bba1fa4..f9bcaa3 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
@@ -69,19 +69,12 @@
 			for (ReceivingNoteItem item:entity.getNoteItemList()
 			) {
 				if (contractItem.getDeviceId().equals(item.getDeviceId())){
-					if (contractItem.getNum()>=item.getNum()) {
+					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&&noteItemList.size()>0) {
-						Integer deviceNum = noteItemList.stream().mapToInt(ReceivingNoteItem::getNum).sum();
-						if (contractItem.getNum()>=(item.getNum()+deviceNum)) {
-							return R.failed("鍚堝悓涓�"+item.getDeviceName()+"璁惧鏁伴噺涓庡疄闄呴獙鏀舵槑缁嗕腑涓嶄竴鑷�");
-						}
+					Integer deviceNum = itemMapper.selectDeviceNumByContractId(contractItem.getContractId(),item.getDeviceId());
+					if (contractItem.getNum()<(deviceNum+item.getNum())){
+						return R.failed("瀹為檯楠屾敹鏄庣粏涓�"+item.getDeviceName()+"璁惧鏁伴噺涓嶈兘瓒呰繃鍚堝悓鏄庣粏涓璁㈢殑璁惧鏁伴噺");
 					}
 				}
 				//璁惧搴忓垪鍙锋鏌ユ槸鍚︽湁鐩稿悓鐨勫瓨鍦�
@@ -156,17 +149,8 @@
 		//鍚堝悓鏄庣粏涓笌瀹為檯楠屾敹瀵规瘮
 		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&&noteItemList.size()>0) {
-				Integer deviceNum = noteItemList.stream().mapToInt(ReceivingNoteItem::getNum).sum();
-				if (contractItem.getNum()!=deviceNum) {
-					return R.ok();
-				}
-			}else {
+			Integer deviceNum = itemMapper.selectDeviceNumByContractId(contractItem.getContractId(),contractItem.getDeviceId());
+			if (contractItem.getNum()!=deviceNum){
 				return R.ok();
 			}
 		}
@@ -204,8 +188,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);
 	}
 }
diff --git a/platformx-device-biz/src/main/resources/mapper/DeviceLeasingLedgerItemMapper.xml b/platformx-device-biz/src/main/resources/mapper/DeviceLeasingLedgerItemMapper.xml
index d75dbf0..e78d0a1 100644
--- a/platformx-device-biz/src/main/resources/mapper/DeviceLeasingLedgerItemMapper.xml
+++ b/platformx-device-biz/src/main/resources/mapper/DeviceLeasingLedgerItemMapper.xml
@@ -19,4 +19,20 @@
         <result property="updateTime" column="update_time"/>
         <result property="delFlag" column="del_flag"/>
   </resultMap>
+    <select id="selectDeviceNumByContractId" resultType="java.lang.Integer">
+		select
+			ifnull(sum(dlli.num),0)
+		from
+			device_leasing_ledger_item dlli
+		where
+			dlli.device_id = #{deviceId}
+		  and exists (
+				select
+					*
+				from
+					device_leasing_ledger dll
+				where
+					dll.contract_id  = #{contractId}
+				  and dll.id = dlli.ledger_id )
+	</select>
 </mapper>
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/resources/mapper/InventoryFlowWaterMapper.xml b/platformx-device-biz/src/main/resources/mapper/InventoryFlowWaterMapper.xml
index 9248666..1e70e5c 100644
--- a/platformx-device-biz/src/main/resources/mapper/InventoryFlowWaterMapper.xml
+++ b/platformx-device-biz/src/main/resources/mapper/InventoryFlowWaterMapper.xml
@@ -21,7 +21,7 @@
     <select id="pageNew" resultType="com.by4cloud.platformx.device.entity.vo.InventoryFlowWaterPageVo">
 		select
 			ifw.id,
-			d.name devicName,
+			d.name deviceName,
 			dc.name className,
 			d.create_time ,
 			ifw.operate_type,
diff --git a/platformx-device-biz/src/main/resources/mapper/ReceivingNoteItemMapper.xml b/platformx-device-biz/src/main/resources/mapper/ReceivingNoteItemMapper.xml
index 4ff3176..b4908b6 100644
--- a/platformx-device-biz/src/main/resources/mapper/ReceivingNoteItemMapper.xml
+++ b/platformx-device-biz/src/main/resources/mapper/ReceivingNoteItemMapper.xml
@@ -39,4 +39,20 @@
 			and rni.note_id = #{queryDTO.noteId}
 		</if>
 	</select>
+    <select id="selectDeviceNumByContractId" resultType="java.lang.Integer">
+		select
+			ifnull(sum(rni.num),0)
+		from
+			receiving_note_item rni
+		where
+			rni.device_id = #{deviceId}
+		  and exists (
+				select
+					*
+				from
+					receiving_note rn
+				where
+					rn.contract_id = #{contractId}
+				  and rn.id = rni.note_id)
+	</select>
 </mapper>
diff --git a/platformx-device-biz/src/main/resources/mapper/deviceInventoryMapper.xml b/platformx-device-biz/src/main/resources/mapper/deviceInventoryMapper.xml
index ac2a1b0..e509be6 100644
--- a/platformx-device-biz/src/main/resources/mapper/deviceInventoryMapper.xml
+++ b/platformx-device-biz/src/main/resources/mapper/deviceInventoryMapper.xml
@@ -21,7 +21,7 @@
     <select id="getReleaseDetail" resultType="com.by4cloud.platformx.device.entity.vo.InventoryDetailVo">
 		select
 			c.name contractName,
-			c.partyb,
+			sd.name rentName,
 			di.device_number,
 			di.serial_no,
 			dll.delivery_date
@@ -33,6 +33,8 @@
 				dll.id = dlli.ledger_id
 				join contract c on
 				c.`number`  = dll.contract_code
+				join platformxx_boot.sys_dept sd on
+				sd.dept_id = dll.lessee_contract_id
 		where
 			di.id =#{id}
 	</select>

--
Gitblit v1.9.1