From 51df7aac3c2264151f8dcdb6386f8563ba4483cf Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期二, 25 三月 2025 14:43:14 +0800
Subject: [PATCH] 合同及明细 验收单及明细 中标通知书

---
 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/PurchaseTendrOrderEntity.java            |   12 -
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ContractItemMapper.java                  |    6 +
 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/PurchaseWinningLetterEntity.java         |   11 -
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java              |    4 
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractItemServiceImpl.java       |   13 ++
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractItemService.java                |    4 
 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/ReceivingNoteItemPageVo.java          |   18 +++
 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/ContractItemPageVo.java               |   31 +++++
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteController.java         |    9 
 platformx-device-biz/src/main/resources/mapper/ContractItemMapper.xml                                            |   30 +++++
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractItemController.java          |   10 +
 platformx-device-biz/src/main/resources/mapper/ReceivingNoteMapper.xml                                           |   16 ++
 platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ReceivingNoteItemQueryDTO.java              |   10 +
 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/impl/ReceivingNoteItemServiceImpl.java  |    7 +
 platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ReceivingNoteQueryDTO.java                  |   10 +
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseTendrOrderServiceImpl.java |   10 +
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteItemService.java           |    4 
 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/ReceivingNotePageVo.java              |   18 +++
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteItemController.java     |    8 
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ReceivingNoteItemMapper.java             |    6 +
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java      |    7 +
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseWinningLetterController.java |    6 +
 platformx-device-biz/src/main/resources/mapper/ReceivingNoteItemMapper.xml                                       |   17 ++
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseTendrOrderController.java    |    4 
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ReceivingNoteMapper.java                 |    6 +
 platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ContractItemQueryDTO.java                   |   15 ++
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteService.java               |    4 
 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/Contract.java                            |   11 +
 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ReceivingNoteItem.java                   |    3 
 30 files changed, 280 insertions(+), 36 deletions(-)

diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ContractItemQueryDTO.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ContractItemQueryDTO.java
new file mode 100644
index 0000000..fb47284
--- /dev/null
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ContractItemQueryDTO.java
@@ -0,0 +1,15 @@
+package com.by4cloud.platformx.device.dto;
+
+
+import lombok.Data;
+
+@Data
+public class ContractItemQueryDTO {
+
+	private Long contractId;
+
+	private Long deviceId;
+
+	private String contractName;
+
+}
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ReceivingNoteItemQueryDTO.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ReceivingNoteItemQueryDTO.java
new file mode 100644
index 0000000..33fd284
--- /dev/null
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ReceivingNoteItemQueryDTO.java
@@ -0,0 +1,10 @@
+package com.by4cloud.platformx.device.dto;
+
+import lombok.Data;
+
+@Data
+public class ReceivingNoteItemQueryDTO {
+
+	private String contractItemName;
+
+}
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ReceivingNoteQueryDTO.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ReceivingNoteQueryDTO.java
new file mode 100644
index 0000000..26841a5
--- /dev/null
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/dto/ReceivingNoteQueryDTO.java
@@ -0,0 +1,10 @@
+package com.by4cloud.platformx.device.dto;
+
+import lombok.Data;
+
+@Data
+public class ReceivingNoteQueryDTO {
+
+	private String contractName;
+
+}
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/Contract.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/Contract.java
index ce772e3..6cf6324 100644
--- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/Contract.java
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/Contract.java
@@ -33,6 +33,7 @@
 	@Schema(description = "鍚嶇О")
 	@Column(columnDefinition="VARCHAR(200) comment '鍚嶇О'")
 	private String name;
+
 	@Schema(description = "缂栧彿")
 	@Column(columnDefinition="VARCHAR(200) comment '缂栧彿'")
 	private String number;
@@ -52,24 +53,29 @@
 	/**
 	 * 鍚堝悓閲戦
 	 */
+	@Schema(description = "鍚堝悓閲戦")
 	@Column(columnDefinition="double comment '鍚堝悓閲戦'")
+	@TableField("`output`")
 	private Double output;
 
 	/**
 	 * 鎬婚噺
 	 */
+	@Schema(description = "鎬婚噺")
 	@Column(columnDefinition="double comment '鎬婚噺'")
 	private Double countExecutive;
 
 	/**
 	 * 鎵ц閲�
 	 */
+	@Schema(description = "鎵ц閲�")
 	@Column(columnDefinition="double comment '鎵ц閲�'")
 	private Double executive;
 
 	/**
 	 * 鍚堝悓鏉℃
 	 */
+	@Schema(description = "鍚堝悓鏉℃")
 	@TableField(updateStrategy = FieldStrategy.NOT_NULL)
 	@Column(columnDefinition="varchar(500) comment '鍚堝悓鏉℃'")
 	private String content;
@@ -78,10 +84,12 @@
 	 *
 	 */
 	@TableField(updateStrategy = FieldStrategy.NOT_NULL)
+	@Schema(description = "鏂囦欢鍚嶇О")
 	@Column(columnDefinition="varchar(2000) comment '鏂囦欢鍚嶇О'")
 	private String fileName;
 
 	@TableField(updateStrategy = FieldStrategy.NOT_NULL)
+	@Schema(description = "鏂囦欢鍦板潃")
 	@Column(columnDefinition="varchar(2000) comment '鏂囦欢鍦板潃'")
 	private String filePath;
 
@@ -98,10 +106,9 @@
 	@Schema(description = "濉姤鏃堕棿")
 	@Column(columnDefinition = "datetime comment '濉姤鏃堕棿'")
 	private Date releaseDate;
+
 	@Transient
 	@TableField(exist = false)
 	private List<ContractItem> contractItemList;
-
-
 
 }
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/PurchaseTendrOrderEntity.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/PurchaseTendrOrderEntity.java
index 8c2a1a5..2c66fcd 100644
--- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/PurchaseTendrOrderEntity.java
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/PurchaseTendrOrderEntity.java
@@ -1,7 +1,7 @@
 package com.by4cloud.platformx.device.entity;
 
 import com.baomidou.mybatisplus.annotation.*;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.by4cloud.platformx.common.data.mybatis.BaseModel;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -17,15 +17,7 @@
 @TableName("purchase_tendr_order")
 @EqualsAndHashCode(callSuper = true)
 @Schema(description = "鎷涙爣閲囪喘鍗�")
-public class PurchaseTendrOrderEntity extends Model<PurchaseTendrOrderEntity> {
-
- 
-	/**
-	* id
-	*/
-    @TableId(type = IdType.ASSIGN_ID)
-    @Schema(description="id")
-    private Long id;
+public class PurchaseTendrOrderEntity extends BaseModel<PurchaseTendrOrderEntity> {
 
 	/**
 	* 閲囪喘璁″垝缂栧彿
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/PurchaseWinningLetterEntity.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/PurchaseWinningLetterEntity.java
index bce2a7b..3c6b7f0 100644
--- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/PurchaseWinningLetterEntity.java
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/PurchaseWinningLetterEntity.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.by4cloud.platformx.common.data.mybatis.BaseModel;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -18,15 +19,7 @@
 @TableName("purchase_winning_letter")
 @EqualsAndHashCode(callSuper = true)
 @Schema(description = "涓爣閫氱煡涔�")
-public class PurchaseWinningLetterEntity extends Model<PurchaseWinningLetterEntity> {
-
- 
-	/**
-	* id
-	*/
-    @TableId(type = IdType.ASSIGN_ID)
-    @Schema(description="id")
-    private Long id;
+public class PurchaseWinningLetterEntity extends BaseModel<PurchaseWinningLetterEntity> {
 
 	/**
 	* 涓爣閫氱煡涔︾紪鐮�
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 c96a2df..d7eeaa7 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
@@ -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;
@@ -47,9 +48,12 @@
 	/**
 	 * 鎬婚噾棰�
 	 */
+	@TableField("`output`")
 	@Column(columnDefinition="double comment '鎬婚噾棰�'")
 	private Double output;
 
-
+	@Schema(description = "楠屾敹鍗曠紪鍙�")
+	@Column(columnDefinition="VARCHAR(32) comment '楠屾敹鍗曠紪鍙�'")
+	private String releaseCode;
 
 }
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 0aea09c..aefe50f 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
@@ -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;
@@ -39,9 +40,11 @@
 	@Schema(description = "鏁伴噺")
 	@Column(columnDefinition="long comment '鏁伴噺'")
 	private Long num;
+
 	/**
 	 * 楠屾敹閲戦
 	 */
+	@TableField("`output`")
 	@Column(columnDefinition="double comment '楠屾敹閲戦'")
 	private Double output;
 
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/ContractItemPageVo.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/ContractItemPageVo.java
new file mode 100644
index 0000000..fbcecbc
--- /dev/null
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/ContractItemPageVo.java
@@ -0,0 +1,31 @@
+package com.by4cloud.platformx.device.entity.vo;
+
+import lombok.Data;
+
+@Data
+public class ContractItemPageVo {
+
+	private Long id;
+
+	private Long contractId;
+
+	private Long deviceId;
+
+	private String month;
+
+	private String name;
+
+	private String num;
+
+	private String price;
+
+	private String specification;
+
+	private String unit;
+
+	private String deviceName;
+
+	private String contractName;
+
+	private String amount;
+}
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/ReceivingNoteItemPageVo.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/ReceivingNoteItemPageVo.java
new file mode 100644
index 0000000..b4d7550
--- /dev/null
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/ReceivingNoteItemPageVo.java
@@ -0,0 +1,18 @@
+package com.by4cloud.platformx.device.entity.vo;
+
+import lombok.Data;
+
+@Data
+public class ReceivingNoteItemPageVo {
+
+	private Long id;
+
+	private String releaseCode;
+
+	private String contractItemName;
+
+	private String num;
+
+	private String output;
+
+}
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/ReceivingNotePageVo.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/ReceivingNotePageVo.java
new file mode 100644
index 0000000..eb4b338
--- /dev/null
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/ReceivingNotePageVo.java
@@ -0,0 +1,18 @@
+package com.by4cloud.platformx.device.entity.vo;
+
+import lombok.Data;
+
+@Data
+public class ReceivingNotePageVo {
+
+	private Long id;
+
+	private String releaseCompName;
+
+	private String releasePerson;
+
+	private String contractName;
+
+	private String releaseCode;
+
+}
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 b75ded5..0ce52de 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
@@ -1,8 +1,10 @@
 package com.by4cloud.platformx.device.controller;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.by4cloud.platformx.common.core.util.R;
@@ -48,6 +50,8 @@
     @PreAuthorize("@pms.hasPermission('platformx_contract_view')" )
     public R getContractPage(@ParameterObject Page page, @ParameterObject Contract contract) {
         LambdaQueryWrapper<Contract> wrapper = Wrappers.lambdaQuery();
+		wrapper.like(StringUtils.isNotEmpty(contract.getName()),Contract::getName,contract.getName());
+		wrapper.like(StringUtils.isNotEmpty(contract.getNumber()),Contract::getNumber,contract.getNumber());
         return R.ok(contractService.page(page, wrapper));
     }
 
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractItemController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractItemController.java
index 8a31ce0..583add0 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractItemController.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractItemController.java
@@ -7,7 +7,10 @@
 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.ContractItemQueryDTO;
+import com.by4cloud.platformx.device.entity.Contract;
 import com.by4cloud.platformx.device.entity.ContractItem;
+import com.by4cloud.platformx.device.entity.Device;
 import com.by4cloud.platformx.device.service.ContractItemService;
 import org.springframework.security.access.prepost.PreAuthorize;
 import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
@@ -40,15 +43,14 @@
     /**
      * 鍒嗛〉鏌ヨ
      * @param page 鍒嗛〉瀵硅薄
-     * @param contractItem 鍚堝悓鏄庣粏琛�
+     * @param  鍚堝悓鏄庣粏琛�
      * @return
      */
     @Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" )
     @GetMapping("/page" )
     @PreAuthorize("@pms.hasPermission('platformx_contractItem_view')" )
-    public R getContractItemPage(@ParameterObject Page page, @ParameterObject ContractItem contractItem) {
-        LambdaQueryWrapper<ContractItem> wrapper = Wrappers.lambdaQuery();
-        return R.ok(contractItemService.page(page, wrapper));
+    public R getContractItemPage(Page page,ContractItemQueryDTO queryDTO) {
+        return R.ok(contractItemService.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 e98d976..cb36a54 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
@@ -3,10 +3,12 @@
 import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 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.entity.Contract;
 import com.by4cloud.platformx.device.service.PurchaseTendrOrderService;
 import com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity;
 import com.by4cloud.platformx.device.service.PurchaseTendrOrderService;
@@ -49,6 +51,8 @@
     @PreAuthorize("@pms.hasPermission('platformx_purchaseTendrOrder_view')" )
     public R getPurchaseTendrOrderPage(@ParameterObject Page page, @ParameterObject PurchaseTendrOrderEntity purchaseTendrOrder) {
         LambdaQueryWrapper<PurchaseTendrOrderEntity> wrapper = Wrappers.lambdaQuery();
+		wrapper.like(StringUtils.isNotEmpty(purchaseTendrOrder.getPurchasePlanCode()),PurchaseTendrOrderEntity::getPurchasePlanCode,purchaseTendrOrder.getPurchasePlanCode());
+		wrapper.orderBy(true,false, PurchaseTendrOrderEntity::getCreateTime);
         return R.ok(purchaseTendrOrderService.page(page, wrapper));
     }
 
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 7a585c7..b894a96 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
@@ -3,10 +3,13 @@
 import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 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.entity.Contract;
+import com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity;
 import com.by4cloud.platformx.device.entity.PurchaseWinningLetterEntity;
 import com.by4cloud.platformx.device.service.PurchaseWinningLetterService;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -47,6 +50,9 @@
     @PreAuthorize("@pms.hasPermission('device_purchaseWinningLetter_view')" )
     public R getPurchaseWinningLetterPage(@ParameterObject Page page, @ParameterObject PurchaseWinningLetterEntity purchaseWinningLetter) {
         LambdaQueryWrapper<PurchaseWinningLetterEntity> wrapper = Wrappers.lambdaQuery();
+		wrapper.like(StringUtils.isNotEmpty(purchaseWinningLetter.getPurchasePlanCode()), PurchaseWinningLetterEntity::getPurchasePlanCode,purchaseWinningLetter.getPurchasePlanCode());
+		wrapper.like(StringUtils.isNotEmpty(purchaseWinningLetter.getWinningCode()), PurchaseWinningLetterEntity::getWinningCode,purchaseWinningLetter.getWinningCode());
+		wrapper.orderBy(true,false, PurchaseWinningLetterEntity::getCreateTime);
         return R.ok(purchaseWinningLetterService.page(page, wrapper));
     }
 
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 c6e4689..c8a7142 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
@@ -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.ReceivingNoteQueryDTO;
 import com.by4cloud.platformx.device.entity.ReceivingNote;
 import com.by4cloud.platformx.device.service.ReceivingNoteService;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -20,7 +21,6 @@
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
-import java.util.Objects;
 
 /**
  * 楠屾敹琛�
@@ -40,15 +40,14 @@
     /**
      * 鍒嗛〉鏌ヨ
      * @param page 鍒嗛〉瀵硅薄
-     * @param receivingNote 楠屾敹琛�
+     * @param queryDTO 楠屾敹琛�
      * @return
      */
     @Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" )
     @GetMapping("/page" )
     @PreAuthorize("@pms.hasPermission('device_receivingNote_view')" )
-    public R getReceivingNotePage(@ParameterObject Page page, @ParameterObject ReceivingNote receivingNote) {
-        LambdaQueryWrapper<ReceivingNote> wrapper = Wrappers.lambdaQuery();
-        return R.ok(receivingNoteService.page(page, wrapper));
+    public R getReceivingNotePage(@ParameterObject Page page, @ParameterObject ReceivingNoteQueryDTO queryDTO) {
+        return R.ok(receivingNoteService.pageNew(page, queryDTO));
     }
 
 
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteItemController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteItemController.java
index 9220b00..14d40f2 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteItemController.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ReceivingNoteItemController.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.ReceivingNoteItemQueryDTO;
 import com.by4cloud.platformx.device.entity.ReceivingNoteItem;
 import com.by4cloud.platformx.device.service.ReceivingNoteItemService;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -40,15 +41,14 @@
     /**
      * 鍒嗛〉鏌ヨ
      * @param page 鍒嗛〉瀵硅薄
-     * @param receivingNoteItem 楠屾敹瀛愰」琛�
+     * @param queryDTO 楠屾敹瀛愰」琛�
      * @return
      */
     @Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" )
     @GetMapping("/page" )
     @PreAuthorize("@pms.hasPermission('device_receivingNoteItem_view')" )
-    public R getReceivingNoteItemPage(@ParameterObject Page page, @ParameterObject ReceivingNoteItem receivingNoteItem) {
-        LambdaQueryWrapper<ReceivingNoteItem> wrapper = Wrappers.lambdaQuery();
-        return R.ok(receivingNoteItemService.page(page, wrapper));
+    public R getReceivingNoteItemPage(@ParameterObject Page page, @ParameterObject ReceivingNoteItemQueryDTO queryDTO) {
+        return R.ok(receivingNoteItemService.pageNew(page, queryDTO));
     }
 
 
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ContractItemMapper.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ContractItemMapper.java
index 72b7151..bafd396 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ContractItemMapper.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ContractItemMapper.java
@@ -1,11 +1,17 @@
 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.ContractItemQueryDTO;
 import com.by4cloud.platformx.device.entity.ContractItem;
+import com.by4cloud.platformx.device.entity.vo.ContractItemPageVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 @Mapper
 public interface ContractItemMapper extends PlatformxBaseMapper<ContractItem> {
 
 
+    IPage<ContractItemPageVo> pageNew(Page page, @Param("queryDTO") ContractItemQueryDTO queryDTO);
 }
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 042d9de..e3ec34a 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
@@ -1,11 +1,17 @@
 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.ReceivingNoteItemQueryDTO;
 import com.by4cloud.platformx.device.entity.ReceivingNoteItem;
+import com.by4cloud.platformx.device.entity.vo.ReceivingNoteItemPageVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 @Mapper
 public interface ReceivingNoteItemMapper extends PlatformxBaseMapper<ReceivingNoteItem> {
 
 
+    IPage<ReceivingNoteItemPageVo> pageNew(Page page, @Param("queryDTO") ReceivingNoteItemQueryDTO queryDTO);
 }
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ReceivingNoteMapper.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ReceivingNoteMapper.java
index a863374..52317c2 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ReceivingNoteMapper.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ReceivingNoteMapper.java
@@ -1,11 +1,17 @@
 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.ReceivingNoteQueryDTO;
 import com.by4cloud.platformx.device.entity.ReceivingNote;
+import com.by4cloud.platformx.device.entity.vo.ReceivingNotePageVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 @Mapper
 public interface ReceivingNoteMapper extends PlatformxBaseMapper<ReceivingNote> {
 
 
+    IPage<ReceivingNotePageVo> pageNew(Page page, @Param("queryDTO") ReceivingNoteQueryDTO queryDTO);
 }
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractItemService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractItemService.java
index 57fc87f..b23c9b7 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractItemService.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractItemService.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.ContractItemQueryDTO;
 import com.by4cloud.platformx.device.entity.ContractItem;
 
 public interface ContractItemService extends IService<ContractItem> {
 
+	IPage pageNew(Page page, ContractItemQueryDTO queryDTO);
 }
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteItemService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteItemService.java
index f6fc7ab..d2accf0 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteItemService.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ReceivingNoteItemService.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.ReceivingNoteItemQueryDTO;
 import com.by4cloud.platformx.device.entity.ReceivingNoteItem;
 
 public interface ReceivingNoteItemService extends IService<ReceivingNoteItem> {
 
+    IPage pageNew(Page page, ReceivingNoteItemQueryDTO queryDTO);
 }
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 cff8e48..6ae7af8 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
@@ -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.ReceivingNoteQueryDTO;
 import com.by4cloud.platformx.device.entity.ReceivingNote;
 
 public interface ReceivingNoteService extends IService<ReceivingNote> {
 
+    IPage pageNew(Page page, ReceivingNoteQueryDTO queryDTO);
 }
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractItemServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractItemServiceImpl.java
index 3643686..46d1f6d 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractItemServiceImpl.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractItemServiceImpl.java
@@ -1,9 +1,14 @@
 package com.by4cloud.platformx.device.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+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.ContractItemQueryDTO;
 import com.by4cloud.platformx.device.entity.ContractItem;
 import com.by4cloud.platformx.device.mapper.ContractItemMapper;
 import com.by4cloud.platformx.device.service.ContractItemService;
+import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 /**
  * 鍚堝悓鏄庣粏琛�
@@ -12,5 +17,13 @@
  * @date 2025-03-13 10:48:44
  */
 @Service
+@RequiredArgsConstructor
 public class ContractItemServiceImpl extends ServiceImpl<ContractItemMapper, ContractItem> implements ContractItemService {
+
+	private final ContractItemMapper contractItemMapper;
+
+	@Override
+	public IPage pageNew(Page page, ContractItemQueryDTO 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 6525496..eea1122 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
@@ -1,7 +1,9 @@
 package com.by4cloud.platformx.device.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity;
+import com.by4cloud.platformx.device.entity.PurchaseWinningLetterEntity;
 import com.by4cloud.platformx.device.mapper.PurchaseTendrOrderMapper;
 import com.by4cloud.platformx.device.mapper.PurchaseWinningLetterMapper;
 import com.by4cloud.platformx.device.service.PurchaseTendrOrderService;
@@ -25,7 +27,13 @@
 	@Override
 	public boolean complete(Long id) {
 		PurchaseTendrOrderEntity orderEntity = purchaseTendrOrderMapper.selectById(id);
-		return false;
+		PurchaseWinningLetterEntity entity = BeanUtil.copyProperties(orderEntity, PurchaseWinningLetterEntity.class);
+		entity.setWinningPrice(orderEntity.getEstimatePrice());
+		entity.setTotalWinningAmount(orderEntity.getTotalPlanndAmount());
+		purchaseWinningLetterMapper.insert(entity);
+		orderEntity.setStatus("2");
+		purchaseTendrOrderMapper.updateById(orderEntity);
+		return true;
 	}
 
 }
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteItemServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteItemServiceImpl.java
index 3d30892..f3b24a9 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteItemServiceImpl.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteItemServiceImpl.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.ReceivingNoteItemQueryDTO;
 import com.by4cloud.platformx.device.entity.ReceivingNoteItem;
 import com.by4cloud.platformx.device.mapper.ReceivingNoteItemMapper;
 import com.by4cloud.platformx.device.service.ReceivingNoteItemService;
@@ -13,4 +16,8 @@
  */
 @Service
 public class ReceivingNoteItemServiceImpl extends ServiceImpl<ReceivingNoteItemMapper, ReceivingNoteItem> implements ReceivingNoteItemService {
+	@Override
+	public IPage pageNew(Page page, ReceivingNoteItemQueryDTO queryDTO) {
+		return baseMapper.pageNew(page,queryDTO);
+	}
 }
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 0d6d1da..4f159a1 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
@@ -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.ReceivingNoteQueryDTO;
 import com.by4cloud.platformx.device.entity.ReceivingNote;
 import com.by4cloud.platformx.device.mapper.ReceivingNoteMapper;
 import com.by4cloud.platformx.device.service.ReceivingNoteService;
@@ -13,4 +16,8 @@
  */
 @Service
 public class ReceivingNoteServiceImpl extends ServiceImpl<ReceivingNoteMapper, ReceivingNote> implements ReceivingNoteService {
+	@Override
+	public IPage pageNew(Page page, ReceivingNoteQueryDTO queryDTO) {
+		return baseMapper.pageNew(page,queryDTO);
+	}
 }
diff --git a/platformx-device-biz/src/main/resources/mapper/ContractItemMapper.xml b/platformx-device-biz/src/main/resources/mapper/ContractItemMapper.xml
index f13d680..942d102 100644
--- a/platformx-device-biz/src/main/resources/mapper/ContractItemMapper.xml
+++ b/platformx-device-biz/src/main/resources/mapper/ContractItemMapper.xml
@@ -21,4 +21,34 @@
         <result property="updateTime" column="update_time"/>
         <result property="delFlag" column="del_flag"/>
   </resultMap>
+    <select id="pageNew" resultType="com.by4cloud.platformx.device.entity.vo.ContractItemPageVo">
+		select
+			ci.id,
+			ci.amount,
+			ci.month,
+			ci.name,
+			ci.num,
+			ci.price,
+			ci.specification,
+			ci.unit,
+			ci.contract_id,
+			ci.device_id,
+			d.name deviceName,
+			c.name contractName
+		from
+			contract_item ci
+				join contract c on ci.contract_id = c.id
+				join device d on d.id = ci.device_id
+		where
+			ci.del_flag = '0'
+		<if test="queryDTO.deviceId != null">
+			and ci.device_id = #{queryDTO.deviceId}
+		</if>
+		<if test="queryDTO.contractId != null">
+			and ci.contract_id = #{queryDTO.contractId}
+		</if>
+		<if test="queryDTO.contractName != null and queryDTO.contractName !=''">
+			and c.name like CONCAT('%', #{queryDTO.contractName}, '%')
+		</if>
+	</select>
 </mapper>
diff --git a/platformx-device-biz/src/main/resources/mapper/ReceivingNoteItemMapper.xml b/platformx-device-biz/src/main/resources/mapper/ReceivingNoteItemMapper.xml
index 5cb7345..48f45ec 100644
--- a/platformx-device-biz/src/main/resources/mapper/ReceivingNoteItemMapper.xml
+++ b/platformx-device-biz/src/main/resources/mapper/ReceivingNoteItemMapper.xml
@@ -16,4 +16,21 @@
         <result property="updateTime" column="update_time"/>
         <result property="delFlag" column="del_flag"/>
   </resultMap>
+    <select id="pageNew" resultType="com.by4cloud.platformx.device.entity.vo.ReceivingNoteItemPageVo">
+		select
+			rni.id,
+			rni.num  ,
+			rni.`output` ,
+			ci.name contractItemName,
+			rn.release_code
+		from
+			receiving_note_item rni
+				join contract_item ci on rni.contract_item_id = ci.id
+				join receiving_note rn on rn.id = rni.note_id
+		where
+			rni.del_flag = '0'
+		<if test="queryDTO.contractItemName != null and queryDTO.contractItemName !=''">
+			and c.name like CONCAT('%', #{queryDTO.contractItemName}, '%')
+		</if>
+	</select>
 </mapper>
diff --git a/platformx-device-biz/src/main/resources/mapper/ReceivingNoteMapper.xml b/platformx-device-biz/src/main/resources/mapper/ReceivingNoteMapper.xml
index 43d7177..88e1e79 100644
--- a/platformx-device-biz/src/main/resources/mapper/ReceivingNoteMapper.xml
+++ b/platformx-device-biz/src/main/resources/mapper/ReceivingNoteMapper.xml
@@ -18,4 +18,20 @@
         <result property="updateTime" column="update_time"/>
         <result property="delFlag" column="del_flag"/>
   </resultMap>
+    <select id="pageNew" resultType="com.by4cloud.platformx.device.entity.vo.ReceivingNotePageVo">
+		select
+			rn.id,
+			rn.release_comp_name ,
+			rn.release_person,
+			rn.release_code,
+			c.name contractName
+		from
+			receiving_note rn
+				join contract c on rn.contract_id = c.id
+		where
+			rn.del_flag = '0'
+		<if test="queryDTO.contractName != null and queryDTO.contractName !=''">
+			and c.name like CONCAT('%', #{queryDTO.contractName}, '%')
+		</if>
+	</select>
 </mapper>

--
Gitblit v1.9.1