From 4ad9053cc576b74f74985f22fa5af25cca282a28 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期五, 28 三月 2025 14:32:56 +0800
Subject: [PATCH] 合同审批 验收和台账中下拉 招标 中标编号后台生成 流水列表接口

---
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java                |   22 ++
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteController.java           |    2 
 platformx-device-biz/src/main/resources/mapper/InventoryFlowWaterMapper.xml                                        |   19 ++
 platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/InventoryFlowWaterQueryDTO.java               |   13 +
 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNote.java                         |    6 
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractService.java                      |    6 
 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedgerItem.java               |   12 +
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceLeasingLedgerService.java           |    8 +
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/InventoryFlowWaterService.java            |    4 
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/PurchaseTendrOrderService.java            |    4 
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseTendrOrderServiceImpl.java   |   15 +
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InventoryFlowWaterMapper.java              |    5 
 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InventoryFlowWaterPageVo.java           |   23 ++
 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedger.java                   |   11 +
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerController.java     |   13 +
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java        |   67 +++++++
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerItemController.java |    1 
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseWinningLetterController.java   |    4 
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/InventoryFlowWaterController.java      |    8 
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InventoryFlowWaterServiceImpl.java   |    7 
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseTendrOrderController.java      |   14 +
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteService.java                 |    3 
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java             |   17 ++
 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNoteItem.java                     |   15 +
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java  |  122 ++++++++++++++
 25 files changed, 388 insertions(+), 33 deletions(-)

diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/InventoryFlowWaterQueryDTO.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/InventoryFlowWaterQueryDTO.java
new file mode 100644
index 0000000..0fb330c
--- /dev/null
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/InventoryFlowWaterQueryDTO.java
@@ -0,0 +1,13 @@
+package com.by4cloud.platformx.device.dto;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "搴撳瓨娴佹按鍒嗛〉鍏ュ弬")
+public class InventoryFlowWaterQueryDTO {
+
+	@Schema(description = "璁惧鍚嶇О")
+	private String deviceName;
+
+}
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 b205abf..82736b0 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
@@ -1,5 +1,6 @@
 package com.by4cloud.platformx.device.entity;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.by4cloud.platformx.common.data.mybatis.BaseModel;
 import com.fasterxml.jackson.annotation.JsonFormat;
@@ -9,8 +10,9 @@
 
 import javax.persistence.Column;
 import javax.persistence.Entity;
-import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.Transient;
 import java.util.Date;
+import java.util.List;
 
 @Data
 @Entity
@@ -78,4 +80,11 @@
 	@Schema(description = "鎵跨鍏徃")
 	@Column(columnDefinition="bigint comment '鎵跨鍏徃'")
 	private Long lesseeContractId;
+
+	/**
+	 * 鍙拌处鏄庣粏
+	 */
+	@Transient
+	@TableField(exist = false)
+	private List<DeviceLeasingLedgerItem> ledgerItemList;
 }
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedgerItem.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedgerItem.java
index e0b9404..86c3e86 100644
--- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedgerItem.java
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedgerItem.java
@@ -1,5 +1,6 @@
 package com.by4cloud.platformx.device.entity;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.by4cloud.platformx.common.data.mybatis.BaseModel;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -8,6 +9,8 @@
 
 import javax.persistence.Column;
 import javax.persistence.Entity;
+import javax.persistence.Transient;
+import java.util.List;
 
 @Data
 @Entity
@@ -34,7 +37,7 @@
 	 * 璁惧缂栫爜
 	 */
 	@Schema(description="璁惧缂栫爜")
-	@Column(columnDefinition="VARCHAR(16) comment '璁惧缂栫爜'")
+	@Column(columnDefinition="VARCHAR(32) comment '璁惧缂栫爜'")
 	private String deviceCode;
 
 	/**
@@ -71,4 +74,11 @@
 	@Schema(description = "鏁伴噺")
 	@Column(columnDefinition="INTEGER comment '鏁伴噺'")
 	private Integer num;
+
+	/**
+	 * 鍙拌处鏄庣粏
+	 */
+	@Transient
+	@TableField(exist = false)
+	private List<String> serialNos;
 }
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNote.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNote.java
index c192bac..b2b9af4 100644
--- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNote.java
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNote.java
@@ -126,9 +126,9 @@
 	/**
 	 * 浣跨敤鍏徃
 	 */
-//	@Schema(description = "浣跨敤鍏徃")
-//	@Column(columnDefinition="long comment '浣跨敤鍏徃'")
-//	private Long deptId;
+	@Schema(description = "浣跨敤鍏徃")
+	@Column(columnDefinition="long comment '浣跨敤鍏徃'")
+	private Long deptId;
 
 	@Transient
 	@TableField(exist = false)
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNoteItem.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNoteItem.java
index 5ab650a..c911c60 100644
--- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNoteItem.java
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNoteItem.java
@@ -41,8 +41,8 @@
 	private Long contractItemId;
 
 	@Schema(description = "鏁伴噺")
-	@Column(columnDefinition="bigint comment '鏁伴噺'")
-	private Long num;
+	@Column(columnDefinition="integer comment '鏁伴噺'")
+	private Integer num;
 
 	/**
 	 * 楠屾敹閲戦
@@ -94,11 +94,12 @@
 	@Column(columnDefinition="VARCHAR(32) comment '璁¢噺鍗曚綅'")
 	private String meteringUnit;
 
+
 	/**
-	 * 鍏ュ簱鏃舵墍闇�搴忓垪鍙�
+	 * 璁惧搴忓垪鍙�
 	 */
-	@Schema(description = "璁惧搴忓垪鍙�")
-	@Transient
-	@TableField(exist = false)
-	private List<String> serialNos;
+	@Schema(description="璁惧搴忓垪鍙� 閫楀彿鍒嗛殧")
+	@Column(columnDefinition="VARCHAR(256) comment '璁惧搴忓垪鍙�'")
+	private String serialNos;
+
 }
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
new file mode 100644
index 0000000..cc6bbfe
--- /dev/null
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InventoryFlowWaterPageVo.java
@@ -0,0 +1,23 @@
+package com.by4cloud.platformx.device.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class InventoryFlowWaterPageVo {
+
+	private Long id;
+
+	private String devicName;
+
+	private String className;
+
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date createTime;
+
+	private String operateType;
+
+	private String serialNo;
+}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java
index 4bbec76..07ac4df 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java
@@ -126,4 +126,26 @@
     public List<Contract> export(Contract contract,Long[] ids) {
         return contractService.list(Wrappers.lambdaQuery(contract).in(ArrayUtil.isNotEmpty(ids), Contract::getId, ids));
     }
+
+	/**
+	 * 瀹℃壒閫氳繃鍚堝悓
+	 * @param id id
+	 * @return R
+	 */
+	@Operation(summary = "瀹℃壒閫氳繃鍚堝悓" , description = "瀹℃壒閫氳繃鍚堝悓" )
+	@GetMapping("/approved/{id}" )
+	public R approved(@PathVariable("id" ) Long id) {
+		return R.ok(contractService.approved(id));
+	}
+
+	/**
+	 * 鑾峰彇瀹℃壒閫氳繃鍚堝悓鐨勪笅鎷夊垪琛�
+	 * @return R
+	 */
+	@Operation(summary = "鑾峰彇瀹℃壒閫氳繃鍚堝悓鐨勪笅鎷夊垪琛�" , description = "鑾峰彇瀹℃壒閫氳繃鍚堝悓鐨勪笅鎷夊垪琛�" )
+	@GetMapping("/getApprovedContractList" )
+	public R getApprovedContractList() {
+		return R.ok(contractService.getApprovedContractList());
+	}
+
 }
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerController.java
index 6c6d1ab..66c878a 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerController.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerController.java
@@ -67,7 +67,7 @@
     @GetMapping("/{id}" )
     @PreAuthorize("@pms.hasPermission('device_deviceLeasingLedger_view')" )
     public R getById(@PathVariable("id" ) Long id) {
-        return R.ok(deviceLeasingLedgerService.getById(id));
+        return R.ok(deviceLeasingLedgerService.getByIdDeep(id));
     }
 
     /**
@@ -81,7 +81,7 @@
     @PreAuthorize("@pms.hasPermission('device_deviceLeasingLedger_add')" )
     public R save(@RequestBody DeviceLeasingLedger deviceLeasingLedger) {
 		deviceLeasingLedger.setLedgerCode(maxSizeService.nextNo(MaxSizeContant.LEDGER_CODE));
-        return R.ok(deviceLeasingLedgerService.save(deviceLeasingLedger));
+        return deviceLeasingLedgerService.saveDeep(deviceLeasingLedger);
     }
 
     /**
@@ -139,4 +139,13 @@
 	public R getDeviceSelectList(@PathVariable("ledgerId")Long ledgerId) {
 		return R.ok(deviceLeasingLedgerService.getDeviceSelectList(ledgerId));
 	}
+
+	/**
+	 * 鍙拌处涓澶囧簭鍒楀彿涓嬫媺涓嬫媺
+	 */
+	@Operation(summary = "鍙拌处鏄庣粏涓澶囧簭鍒楀彿涓嬫媺",description = "鍙拌处鏄庣粏涓澶囧簭鍒楀彿涓嬫媺涓嬫媺")
+	@GetMapping("/getLedgerDeviceList/{deviceId}")
+	public R getLedgerDeviceList(@PathVariable("deviceId")Long deviceId) {
+		return R.ok(deviceLeasingLedgerService.getLedgerDeviceList(deviceId));
+	}
 }
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerItemController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerItemController.java
index e19a466..e7ecb0e 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerItemController.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceLeasingLedgerItemController.java
@@ -49,6 +49,7 @@
     @PreAuthorize("@pms.hasPermission('device_deviceLeasingLedgerItem_view')" )
     public R getDeviceLeasingLedgerItemPage(@ParameterObject Page page, @ParameterObject DeviceLeasingLedgerItem deviceLeasingLedgerItem) {
         LambdaQueryWrapper<DeviceLeasingLedgerItem> wrapper = Wrappers.lambdaQuery();
+		wrapper.eq(deviceLeasingLedgerItem.getLedgerId()!=null,DeviceLeasingLedgerItem::getLedgerId,deviceLeasingLedgerItem.getLedgerId());
 		wrapper.eq(StrUtil.isNotBlank(deviceLeasingLedgerItem.getDeviceCode()),DeviceLeasingLedgerItem::getDeviceCode,deviceLeasingLedgerItem.getDeviceCode());
         return R.ok(deviceLeasingLedgerItemService.page(page, wrapper));
     }
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/InventoryFlowWaterController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/InventoryFlowWaterController.java
index 9583c9a..29894dc 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/InventoryFlowWaterController.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/InventoryFlowWaterController.java
@@ -7,6 +7,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.by4cloud.platformx.common.core.util.R;
 import com.by4cloud.platformx.common.log.annotation.SysLog;
+import com.by4cloud.platformx.device.dto.InventoryFlowWaterQueryDTO;
 import com.by4cloud.platformx.device.entity.InventoryFlowWater;
 import com.by4cloud.platformx.device.service.InventoryFlowWaterService;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -40,15 +41,14 @@
     /**
      * 鍒嗛〉鏌ヨ
      * @param page 鍒嗛〉瀵硅薄
-     * @param inventoryFlowWater 搴撳瓨娴佹按琛�
+     * @param queryDTO 搴撳瓨娴佹按琛�
      * @return
      */
     @Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" )
     @GetMapping("/page" )
     @PreAuthorize("@pms.hasPermission('platformx_inventoryFlowWater_view')" )
-    public R getInventoryFlowWaterPage(@ParameterObject Page page, @ParameterObject InventoryFlowWater inventoryFlowWater) {
-        LambdaQueryWrapper<InventoryFlowWater> wrapper = Wrappers.lambdaQuery();
-        return R.ok(inventoryFlowWaterService.page(page, wrapper));
+    public R getInventoryFlowWaterPage(@ParameterObject Page page, @ParameterObject InventoryFlowWaterQueryDTO queryDTO) {
+        return R.ok(inventoryFlowWaterService.pageNew(page, queryDTO));
     }
 
 
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseTendrOrderController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseTendrOrderController.java
index cb36a54..e0ab86d 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseTendrOrderController.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseTendrOrderController.java
@@ -8,7 +8,9 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.by4cloud.platformx.common.core.util.R;
 import com.by4cloud.platformx.common.log.annotation.SysLog;
+import com.by4cloud.platformx.device.constant.MaxSizeContant;
 import com.by4cloud.platformx.device.entity.Contract;
+import com.by4cloud.platformx.device.service.JcMaxSizeService;
 import com.by4cloud.platformx.device.service.PurchaseTendrOrderService;
 import com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity;
 import com.by4cloud.platformx.device.service.PurchaseTendrOrderService;
@@ -39,6 +41,7 @@
 public class PurchaseTendrOrderController {
 
     private final PurchaseTendrOrderService purchaseTendrOrderService;
+	private final JcMaxSizeService jcMaxSizeService;
 
     /**
      * 鍒嗛〉鏌ヨ
@@ -79,6 +82,7 @@
     @PostMapping
     @PreAuthorize("@pms.hasPermission('platformx_purchaseTendrOrder_add')" )
     public R save(@RequestBody PurchaseTendrOrderEntity purchaseTendrOrder) {
+		purchaseTendrOrder.setPurchasePlanCode(jcMaxSizeService.nextNo(MaxSizeContant.PURCHASE_PLAN_CODE));
         return R.ok(purchaseTendrOrderService.save(purchaseTendrOrder));
     }
 
@@ -134,4 +138,14 @@
 	public R complete(@PathVariable("id")Long id) {
 		return R.ok(purchaseTendrOrderService.complete(id));
 	}
+
+	/**
+	 * 鑾峰彇鎷涙爣涓嬫媺鍒楄〃
+	 * @return
+	 */
+	@GetMapping("/getPurchaseRenderList" )
+	public R getPurchaseRenderList() {
+		return R.ok(purchaseTendrOrderService.getPurchaseRenderList());
+	}
+
 }
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseWinningLetterController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseWinningLetterController.java
index b894a96..6ee6066 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseWinningLetterController.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseWinningLetterController.java
@@ -8,9 +8,11 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.by4cloud.platformx.common.core.util.R;
 import com.by4cloud.platformx.common.log.annotation.SysLog;
+import com.by4cloud.platformx.device.constant.MaxSizeContant;
 import com.by4cloud.platformx.device.entity.Contract;
 import com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity;
 import com.by4cloud.platformx.device.entity.PurchaseWinningLetterEntity;
+import com.by4cloud.platformx.device.service.JcMaxSizeService;
 import com.by4cloud.platformx.device.service.PurchaseWinningLetterService;
 import org.springframework.security.access.prepost.PreAuthorize;
 import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
@@ -38,6 +40,7 @@
 public class PurchaseWinningLetterController {
 
     private final  PurchaseWinningLetterService purchaseWinningLetterService;
+	private final JcMaxSizeService maxSizeService;
 
     /**
      * 鍒嗛〉鏌ヨ
@@ -79,6 +82,7 @@
     @PostMapping
     @PreAuthorize("@pms.hasPermission('device_purchaseWinningLetter_add')" )
     public R save(@RequestBody PurchaseWinningLetterEntity purchaseWinningLetter) {
+		purchaseWinningLetter.setWinningCode(maxSizeService.nextNo(MaxSizeContant.WINNING_CODE));
         return R.ok(purchaseWinningLetterService.save(purchaseWinningLetter));
     }
 
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteController.java
index 120840d..c416bfb 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteController.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteController.java
@@ -73,7 +73,7 @@
     @PostMapping
     @PreAuthorize("@pms.hasPermission('device_receivingNote_add')" )
     public R save(@RequestBody ReceivingNote receivingNote) {
-        return R.ok(receivingNoteService.saveDeep(receivingNote));
+        return receivingNoteService.saveDeep(receivingNote);
     }
 
     /**
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InventoryFlowWaterMapper.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InventoryFlowWaterMapper.java
index baae039..bf7e638 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InventoryFlowWaterMapper.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/InventoryFlowWaterMapper.java
@@ -1,11 +1,16 @@
 package com.by4cloud.platformx.device.mapper;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
+import com.by4cloud.platformx.device.dto.InventoryFlowWaterQueryDTO;
 import com.by4cloud.platformx.device.entity.InventoryFlowWater;
+import com.by4cloud.platformx.device.entity.vo.InventoryFlowWaterPageVo;
 import org.apache.ibatis.annotations.Mapper;
 
 @Mapper
 public interface InventoryFlowWaterMapper extends PlatformxBaseMapper<InventoryFlowWater> {
 
 
+    IPage<InventoryFlowWaterPageVo> pageNew(Page page, InventoryFlowWaterQueryDTO queryDTO);
 }
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractService.java
index ce94d2f..1cb9552 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractService.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractService.java
@@ -3,6 +3,8 @@
 import com.by4cloud.platformx.device.entity.Contract;
 import com.github.yulichang.extension.mapping.base.MPJDeepService;
 
+import java.util.List;
+
 public interface ContractService extends MPJDeepService<Contract> {
     Boolean saveDeep(Contract contract);
 
@@ -13,4 +15,8 @@
     Boolean removeChild(Long[] ids);
 
 	Contract getDetailById(Long id);
+
+	Boolean approved(Long id);
+
+	List<Contract> getApprovedContractList();
 }
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceLeasingLedgerService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceLeasingLedgerService.java
index 31904ec..0dac202 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceLeasingLedgerService.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceLeasingLedgerService.java
@@ -1,7 +1,9 @@
 package com.by4cloud.platformx.device.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.by4cloud.platformx.common.core.util.R;
 import com.by4cloud.platformx.device.entity.Device;
+import com.by4cloud.platformx.device.entity.DeviceInventory;
 import com.by4cloud.platformx.device.entity.DeviceLeasingLedger;
 
 import java.util.List;
@@ -11,4 +13,10 @@
     List<DeviceLeasingLedger> getSelectList();
 
 	List<Device> getDeviceSelectList(Long ledgerId);
+
+    R saveDeep(DeviceLeasingLedger deviceLeasingLedger);
+
+	List<DeviceInventory> getLedgerDeviceList(Long deviceId);
+
+	DeviceLeasingLedger getByIdDeep(Long id);
 }
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/InventoryFlowWaterService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/InventoryFlowWaterService.java
index 4e1e008..3cdf286 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/InventoryFlowWaterService.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/InventoryFlowWaterService.java
@@ -1,8 +1,12 @@
 package com.by4cloud.platformx.device.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.by4cloud.platformx.device.dto.InventoryFlowWaterQueryDTO;
 import com.by4cloud.platformx.device.entity.InventoryFlowWater;
 
 public interface InventoryFlowWaterService extends IService<InventoryFlowWater> {
 
+    IPage pageNew(Page page, InventoryFlowWaterQueryDTO queryDTO);
 }
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/PurchaseTendrOrderService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/PurchaseTendrOrderService.java
index 9d90e54..7125da4 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/PurchaseTendrOrderService.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/PurchaseTendrOrderService.java
@@ -3,7 +3,11 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity;
 
+import java.util.List;
+
 public interface PurchaseTendrOrderService extends IService<PurchaseTendrOrderEntity> {
 
 	boolean complete(Long id);
+
+    List<PurchaseTendrOrderEntity> getPurchaseRenderList();
 }
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteService.java
index 1e00631..f788fbd 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteService.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteService.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.by4cloud.platformx.common.core.util.R;
 import com.by4cloud.platformx.device.dto.ReceivingNoteQueryDTO;
 import com.by4cloud.platformx.device.entity.ReceivingNote;
 
@@ -10,7 +11,7 @@
 
     IPage pageNew(Page page, ReceivingNoteQueryDTO queryDTO);
 
-	boolean saveDeep(ReceivingNote receivingNote);
+	R saveDeep(ReceivingNote receivingNote);
 
 	boolean updateByIdDeep(ReceivingNote receivingNote);
 
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java
index f858eda..930e4e9 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java
@@ -31,6 +31,7 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean saveDeep(Contract contract) {
+		contract.setStatus(0);
         baseMapper.insert(contract);
         for (ContractItem contractItem : contract.getContractItemList()) {
             contractItem.setContractId(contract.getId());
@@ -82,4 +83,20 @@
 		contract.setContractItemList(itemList);
 		return contract;
 	}
+
+	@Override
+	public Boolean approved(Long id) {
+		Contract contract = baseMapper.selectById(id);
+		contract.setStatus(1);
+		baseMapper.updateById(contract);
+		return Boolean.TRUE;
+	}
+
+	@Override
+	public List<Contract> getApprovedContractList() {
+		QueryWrapper<Contract> queryWrapper = new QueryWrapper<>();
+		queryWrapper.eq("status",1);
+		List<Contract> list = baseMapper.selectList(queryWrapper);
+		return list;
+	}
 }
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 44c7d67..0d15e4c 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
@@ -2,12 +2,12 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.by4cloud.platformx.device.entity.Device;
-import com.by4cloud.platformx.device.entity.DeviceLeasingLedger;
-import com.by4cloud.platformx.device.mapper.DeviceLeasingLedgerMapper;
-import com.by4cloud.platformx.device.mapper.DeviceMapper;
+import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.device.entity.*;
+import com.by4cloud.platformx.device.mapper.*;
 import com.by4cloud.platformx.device.service.DeviceLeasingLedgerService;
 import lombok.AllArgsConstructor;
+import net.sf.jsqlparser.expression.operators.arithmetic.Concat;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -23,6 +23,11 @@
 public class DeviceLeasingLedgerServiceImpl extends ServiceImpl<DeviceLeasingLedgerMapper, DeviceLeasingLedger> implements DeviceLeasingLedgerService {
 
 	private final DeviceMapper deviceMapper;
+	private final DeviceLeasingLedgerItemMapper itemMapper;
+	private final ContractItemMapper contractItemMapper;
+	private final ContractMapper contractMapper;
+	private final DeviceInventoryMapper inventoryMapper;
+	private final InventoryFlowWaterMapper inventoryFlowWaterMapper;
 
 	@Override
 	public List<DeviceLeasingLedger> getSelectList() {
@@ -36,4 +41,113 @@
 		List<Device> list = deviceMapper.getDeviceSelectListByLedgerId(ledgerId);
 		return list;
 	}
+
+	@Override
+	public R saveDeep(DeviceLeasingLedger deviceLeasingLedger) {
+		//鏄庣粏璁惧鏁伴噺涓庡悎鍚屼腑绛捐鏁版嵁姣斿
+		QueryWrapper<Contract> contractQueryWrapper = new QueryWrapper<>();
+		contractQueryWrapper.eq("number",deviceLeasingLedger.getContractCode());
+		Contract contract = contractMapper.selectOne(contractQueryWrapper);
+		if (contract == null) {
+			return R.failed("鍚堝悓涓嶅瓨鍦�");
+		}
+
+		//鏌ヨ鍚堝悓鏄庣粏涓澶囨儏鍐�
+		QueryWrapper<ContractItem> queryWrapper = new QueryWrapper<>();
+		queryWrapper.eq("contract_id",contract.getId());
+		List<ContractItem> list = contractItemMapper.selectList(queryWrapper);
+
+		//姣旇緝璁惧绉嶇被鏄惁涓�鑷�
+		if (list.size()!=deviceLeasingLedger.getLedgerItemList().size()){
+			return R.failed("鍚堝悓涓澶囩绫讳笌鍙拌处鏄庣粏涓笉涓�鑷�");
+		}
+
+		//姣旇緝鍗曚釜璁惧鍙拌处鏁伴噺鏄惁涓庡悎鍚屼腑涓�鑷�
+		for (ContractItem contractItem:list
+			 ) {
+			for (DeviceLeasingLedgerItem item:deviceLeasingLedger.getLedgerItemList()
+			) {
+				if (contractItem.getDeviceId()==item.getDeviceId()){
+					if (contractItem.getNum()!=item.getNum()) {
+						return R.failed("鍚堝悓涓�"+contract.getName()+"璁惧鏁伴噺涓庡彴璐︽槑缁嗕腑涓嶄竴鑷�");
+					}
+				}
+			}
+		}
+
+		//鍏ュ簱
+		baseMapper.insert(deviceLeasingLedger);
+		for (DeviceLeasingLedgerItem item:deviceLeasingLedger.getLedgerItemList()
+			 ) {
+			item.setLedgerId(deviceLeasingLedger.getId());
+			itemMapper.insert(item);
+			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);
+					}
+					//搴撳瓨璋冩暣
+					inventoryMapper.insert(inventory);
+
+					//璁惧搴撳瓨娴佹按鍚屾鏂板
+					InventoryFlowWater flowWater = new InventoryFlowWater();
+					flowWater.setDeviceId(item.getDeviceId());
+					flowWater.setSerialNo(serialNo);
+					flowWater.setInventoryId(inventory.getId());
+					flowWater.setClassId(device.getClassId());
+					//鏍规嵁鍚堝悓绫诲瀷 璐拱 鎵跨 娴佹按鎿嶄綔绫诲瀷涓哄叆搴撴搷浣�
+					if (contract!=null&&(contract.getType()==1||contract.getType()==2)){
+						flowWater.setOperateType(2);
+					}
+					//鏍规嵁鍚堝悓绫诲瀷 绉熻祦 娴佹按鎿嶄綔绫诲瀷涓哄嚭搴撴搷浣�
+					if (contract!=null&&contract.getType()==0){
+						flowWater.setOperateType(1);
+					}
+					//璁板綍搴撳瓨娴佹按
+					inventoryFlowWaterMapper.insert(flowWater);
+				}
+			}
+		}
+
+		//鏇存柊鍚堝悓鐘舵�佷负瀹屾垚
+		contract.setStatus(2);
+		contractMapper.updateById(contract);
+
+		return R.ok();
+	}
+
+	@Override
+	public List<DeviceInventory> getLedgerDeviceList(Long deviceId) {
+		QueryWrapper<DeviceInventory> queryWrapper = new QueryWrapper<>();
+		queryWrapper.eq("device_id",deviceId);
+		queryWrapper.eq("inventory_status",1);
+		List<DeviceInventory> list = inventoryMapper.selectList(queryWrapper);
+		return list;
+	}
+
+	@Override
+	public DeviceLeasingLedger getByIdDeep(Long id) {
+		DeviceLeasingLedger deviceLeasingLedger = baseMapper.selectById(id);
+		QueryWrapper<DeviceLeasingLedgerItem> queryWrapper = new QueryWrapper<>();
+		queryWrapper.eq("ledger_id",id);
+		List<DeviceLeasingLedgerItem> itemList = itemMapper.selectList(queryWrapper);
+		deviceLeasingLedger.setLedgerItemList(itemList);
+		return deviceLeasingLedger;
+	}
 }
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InventoryFlowWaterServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InventoryFlowWaterServiceImpl.java
index f172139..fc4c287 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InventoryFlowWaterServiceImpl.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InventoryFlowWaterServiceImpl.java
@@ -1,6 +1,9 @@
 package com.by4cloud.platformx.device.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.by4cloud.platformx.device.dto.InventoryFlowWaterQueryDTO;
 import com.by4cloud.platformx.device.entity.InventoryFlowWater;
 import com.by4cloud.platformx.device.mapper.InventoryFlowWaterMapper;
 import com.by4cloud.platformx.device.service.InventoryFlowWaterService;
@@ -13,4 +16,8 @@
  */
 @Service
 public class InventoryFlowWaterServiceImpl extends ServiceImpl<InventoryFlowWaterMapper, InventoryFlowWater> implements InventoryFlowWaterService {
+	@Override
+	public IPage pageNew(Page page, InventoryFlowWaterQueryDTO queryDTO) {
+		return baseMapper.pageNew(page,queryDTO);
+	}
 }
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseTendrOrderServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseTendrOrderServiceImpl.java
index eea1122..b5f7e54 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseTendrOrderServiceImpl.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseTendrOrderServiceImpl.java
@@ -9,6 +9,9 @@
 import com.by4cloud.platformx.device.service.PurchaseTendrOrderService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
+
 /**
  * 鎷涙爣閲囪喘鍗�
  *
@@ -19,21 +22,25 @@
 @RequiredArgsConstructor
 public class PurchaseTendrOrderServiceImpl extends ServiceImpl<PurchaseTendrOrderMapper, PurchaseTendrOrderEntity> implements PurchaseTendrOrderService {
 
-	private final PurchaseTendrOrderMapper purchaseTendrOrderMapper;
-
 	private final PurchaseWinningLetterMapper purchaseWinningLetterMapper;
 
 
 	@Override
 	public boolean complete(Long id) {
-		PurchaseTendrOrderEntity orderEntity = purchaseTendrOrderMapper.selectById(id);
+		PurchaseTendrOrderEntity orderEntity = baseMapper.selectById(id);
 		PurchaseWinningLetterEntity entity = BeanUtil.copyProperties(orderEntity, PurchaseWinningLetterEntity.class);
 		entity.setWinningPrice(orderEntity.getEstimatePrice());
 		entity.setTotalWinningAmount(orderEntity.getTotalPlanndAmount());
 		purchaseWinningLetterMapper.insert(entity);
 		orderEntity.setStatus("2");
-		purchaseTendrOrderMapper.updateById(orderEntity);
+		baseMapper.updateById(orderEntity);
 		return true;
 	}
 
+	@Override
+	public List<PurchaseTendrOrderEntity> getPurchaseRenderList() {
+		List<PurchaseTendrOrderEntity> list = baseMapper.selectList(null);
+		return list;
+	}
+
 }
\ No newline at end of file
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 a8673d5..53bfba2 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
@@ -4,15 +4,22 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 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.MaxSizeContant;
 import com.by4cloud.platformx.device.dto.ReceivingNoteQueryDTO;
 import com.by4cloud.platformx.device.entity.*;
 import com.by4cloud.platformx.device.mapper.*;
+import com.by4cloud.platformx.device.service.JcMaxSizeService;
 import com.by4cloud.platformx.device.service.ReceivingNoteService;
 import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 楠屾敹琛�
@@ -22,13 +29,16 @@
  */
 @Service
 @AllArgsConstructor
+@Slf4j
 public class ReceivingNoteServiceImpl extends ServiceImpl<ReceivingNoteMapper, ReceivingNote> implements ReceivingNoteService {
 
+	private final JcMaxSizeService maxSizeService;
 	private final ReceivingNoteItemMapper itemMapper;
 	private final DeviceInventoryMapper inventoryMapper;
 	private final InventoryFlowWaterMapper inventoryFlowWaterMapper;
 	private final DeviceMapper deviceMapper;
 	private final ContractMapper contractMapper;
+	private final ContractItemMapper contractItemMapper;
 
 	@Override
 	public IPage pageNew(Page page, ReceivingNoteQueryDTO queryDTO) {
@@ -36,19 +46,55 @@
 	}
 
 	@Override
-	public boolean saveDeep(ReceivingNote entity) {
+	public R saveDeep(ReceivingNote entity) {
+		//鏄庣粏璁惧鏁伴噺涓庡悎鍚屼腑绛捐鏁版嵁姣斿
+		Contract contract = contractMapper.selectById(entity.getContractId());
+		if (contract == null) {
+			return R.failed("鍚堝悓涓嶅瓨鍦�");
+		}
+
+		//鏌ヨ鍚堝悓鏄庣粏涓澶囨儏鍐�
+		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("鍚堝悓涓澶囩绫讳笌楠屾敹鏄庣粏涓笉涓�鑷�");
+		}
+
+		//姣旇緝鍗曚釜璁惧鍙拌处鏁伴噺鏄惁涓庡悎鍚屼腑涓�鑷�
+		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()+"璁惧鏁伴噺涓庨獙鏀舵槑缁嗕腑涓嶄竴鑷�");
+					}
+				}
+			}
+		}
+
+		//鐢熸垚楠屾敹鍗曠紪鍙�
+		entity.setReleaseCode(maxSizeService.nextNo(MaxSizeContant.RELEASE_CODE));
+		//鍏ュ簱
 		baseMapper.insert(entity);
 		if (entity.getNoteItemList()!=null&&entity.getNoteItemList().size()>0){
 			for (ReceivingNoteItem item:entity.getNoteItemList()
 				 ) {
+					List<String> serialArr = new ArrayList<>();
+					if (item.getSerialNos()!=null&&!"".equals(item.getSerialNos())) {
+						item.setSerialNos(item.getSerialNos());
+						serialArr = Arrays.stream(item.getSerialNos().split(",")).collect(Collectors.toList());
+					}
 				item.setNoteId(entity.getId());
 				itemMapper.insert(item);
 				//璁惧搴撳瓨鍚屾鏂板
-				if (item.getSerialNos()!=null&&item.getSerialNos().size()>0){
-					for (String serialNo:item.getSerialNos()
+				if (serialArr.size()>0){
+					for (String serialNo:serialArr
 						 ) {
 						Device device = deviceMapper.selectById(item.getDeviceId());
-						Contract contract = contractMapper.selectById(entity.getContractId());
 						if (device!=null) {
 							DeviceInventory inventory = new DeviceInventory();
 							inventory.setDeviceId(item.getDeviceId());
@@ -83,7 +129,12 @@
 				}
 			}
 		}
-		return Boolean.TRUE;
+
+		//鏇存柊鍚堝悓鐘舵�佷负瀹屾垚
+		contract.setStatus(2);
+		contractMapper.updateById(contract);
+
+		return R.ok();
 	}
 
 	@Override
@@ -111,4 +162,10 @@
 		note.setNoteItemList(itemList);
 		return note;
 	}
+
+	public static void main(String[] args) {
+		Long l1= 1905442028714270722l;
+		long l2 = 1905442028714270722l;
+		System.out.println(l1==l2);
+	}
 }
diff --git a/platformx-device-biz/src/main/resources/mapper/InventoryFlowWaterMapper.xml b/platformx-device-biz/src/main/resources/mapper/InventoryFlowWaterMapper.xml
index 3ca2275..9f9ab0b 100644
--- a/platformx-device-biz/src/main/resources/mapper/InventoryFlowWaterMapper.xml
+++ b/platformx-device-biz/src/main/resources/mapper/InventoryFlowWaterMapper.xml
@@ -18,4 +18,23 @@
         <result property="updateTime" column="update_time"/>
         <result property="delFlag" column="del_flag"/>
   </resultMap>
+    <select id="pageNew" resultType="com.by4cloud.platformx.device.entity.vo.InventoryFlowWaterPageVo">
+		select
+			ifw.id,
+			d.name devicName,
+			dc.name className,
+			d.create_time ,
+			ifw.operate_type,
+			di.serial_no
+		from
+			inventory_flow_water ifw
+		join device d on d.id = ifw.device_id
+		join device_class dc on dc.id = ifw.class_id
+		join device_inventory di on di.id = ifw.inventory_id
+		where
+		      ifw.del_flag = '0'
+		<if test="queryDTO.deviceName != null and queryDTO.deviceName !=''">
+			and d.name like CONCAT('%', #{queryDTO.deviceName}, '%')
+		</if>
+	</select>
 </mapper>

--
Gitblit v1.9.1