From ffae43733ed6656d61ca5e129883eb738a93f9f6 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期一, 24 三月 2025 17:29:24 +0800
Subject: [PATCH] 招标采购 中标通知书生成代码提交

---
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/entity/PurchaseWinningLetterEntity.java            |  143 +++++++++++
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/PurchaseTendrOrderMapper.java                                                           |   12 +
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseTendrOrderServiceImpl.java                                                |   27 ++
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/resources/mapper/PurchaseWinningLetterMapper.xml                                      |   27 ++
 platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/PurchaseTendrOrderEntity.java                                                           |  137 +++++++++++
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/mapper/PurchaseWinningLetterMapper.java            |   11 
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseTendrOrderController.java                                                   |  133 +++++++++++
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseWinningLetterServiceImpl.java |   16 +
 platformx-device-biz/src/main/resources/mapper/PurchaseTendrOrderMapper.xml                                                                                     |   26 ++
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/service/PurchaseWinningLetterService.java          |    8 
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/controller/PurchaseWinningLetterController.java    |  119 +++++++++
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/PurchaseTendrOrderService.java                                                         |    9 
 12 files changed, 668 insertions(+), 0 deletions(-)

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
new file mode 100644
index 0000000..8c2a1a5
--- /dev/null
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/PurchaseTendrOrderEntity.java
@@ -0,0 +1,137 @@
+package com.by4cloud.platformx.device.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.time.LocalDateTime;
+
+/**
+ * 鎷涙爣閲囪喘鍗�
+ *
+ * @author pig
+ * @date 2025-03-24 15:45:03
+ */
+@Data
+@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;
+
+	/**
+	* 閲囪喘璁″垝缂栧彿
+	*/
+    @Schema(description="閲囪喘璁″垝缂栧彿")
+    private String purchasePlanCode;
+
+	/**
+	* 璁惧缂栫爜
+	*/
+    @Schema(description="璁惧缂栫爜")
+    private String deviceCode;
+
+	/**
+	* 璁惧鍚嶇О
+	*/
+    @Schema(description="璁惧鍚嶇О")
+    private String deviceName;
+
+	/**
+	* 瑙勬牸鍨嬪彿
+	*/
+    @Schema(description="瑙勬牸鍨嬪彿")
+    private String deviceModels;
+
+	/**
+	* 鍏抽敭鍙傛暟
+	*/
+    @Schema(description="鍏抽敭鍙傛暟")
+    private String keyParameter;
+
+	/**
+	* 鍒拌揣鏈堜唤
+	*/
+    @Schema(description="鍒拌揣鏈堜唤")
+    private Integer arrivalMonth;
+
+	/**
+	* 鏁伴噺
+	*/
+    @Schema(description="鏁伴噺")
+    private Integer quantity;
+
+	/**
+	* 鍗曚綅
+	*/
+    @Schema(description="鍗曚綅")
+    private String unit;
+
+	/**
+	* 棰勪及鍗曚环  /鍒�
+	*/
+    @Schema(description="棰勪及鍗曚环  /鍒�")
+    private Integer estimatePrice;
+
+	/**
+	* 璁″垝鎬婚   /鍒�
+	*/
+    @Schema(description="璁″垝鎬婚   /鍒�")
+    private Integer totalPlanndAmount;
+
+	/**
+	* 鎷熶娇鐢ㄥ湴鐐�
+	*/
+    @Schema(description="鎷熶娇鐢ㄥ湴鐐�")
+    private String locationUsed;
+
+	/**
+	* 鐘舵��
+	*/
+    @Schema(description="鐘舵��")
+    private String status;
+
+	/**
+	* 鐢宠浜�
+	*/
+	@TableField(fill = FieldFill.INSERT)
+    @Schema(description="鐢宠浜�")
+    private String createBy;
+
+	/**
+	* 鍒涘缓鏃堕棿
+	*/
+	@TableField(fill = FieldFill.INSERT)
+    @Schema(description="鍒涘缓鏃堕棿")
+    private LocalDateTime createTime;
+
+	/**
+	* 淇敼浜�
+	*/
+	@TableField(fill = FieldFill.INSERT_UPDATE)
+    @Schema(description="淇敼浜�")
+    private String updateBy;
+
+	/**
+	* 淇敼鏃堕棿
+	*/
+	@TableField(fill = FieldFill.INSERT_UPDATE)
+    @Schema(description="淇敼鏃堕棿")
+    private LocalDateTime updateTime;
+ 
+	/**
+	* delFlag
+	*/
+    @TableLogic
+	@TableField(fill = FieldFill.INSERT)
+    @Schema(description="delFlag")
+    private String delFlag;
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..e98d976
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/PurchaseTendrOrderController.java
@@ -0,0 +1,133 @@
+package com.by4cloud.platformx.device.controller;
+
+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.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.service.PurchaseTendrOrderService;
+import com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity;
+import com.by4cloud.platformx.device.service.PurchaseTendrOrderService;
+import org.springframework.security.access.prepost.PreAuthorize;
+import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
+import io.swagger.v3.oas.annotations.security.SecurityRequirement;
+import org.springdoc.api.annotations.ParameterObject;
+import org.springframework.http.HttpHeaders;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 鎷涙爣閲囪喘鍗�
+ *
+ * @author pig
+ * @date 2025-03-24 15:45:03
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/purchaseTendrOrder" )
+@Tag(description = "purchaseTendrOrder" , name = "鎷涙爣閲囪喘鍗曠鐞�" )
+@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
+public class PurchaseTendrOrderController {
+
+    private final PurchaseTendrOrderService purchaseTendrOrderService;
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     * @param page 鍒嗛〉瀵硅薄
+     * @param purchaseTendrOrder 鎷涙爣閲囪喘鍗�
+     * @return
+     */
+    @Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" )
+    @GetMapping("/page" )
+    @PreAuthorize("@pms.hasPermission('platformx_purchaseTendrOrder_view')" )
+    public R getPurchaseTendrOrderPage(@ParameterObject Page page, @ParameterObject PurchaseTendrOrderEntity purchaseTendrOrder) {
+        LambdaQueryWrapper<PurchaseTendrOrderEntity> wrapper = Wrappers.lambdaQuery();
+        return R.ok(purchaseTendrOrderService.page(page, wrapper));
+    }
+
+
+    /**
+     * 閫氳繃id鏌ヨ鎷涙爣閲囪喘鍗�
+     * @param id id
+     * @return R
+     */
+    @Operation(summary = "閫氳繃id鏌ヨ" , description = "閫氳繃id鏌ヨ" )
+    @GetMapping("/{id}" )
+    @PreAuthorize("@pms.hasPermission('platformx_purchaseTendrOrder_view')" )
+    public R getById(@PathVariable("id" ) Long id) {
+        return R.ok(purchaseTendrOrderService.getById(id));
+    }
+
+    /**
+     * 鏂板鎷涙爣閲囪喘鍗�
+     * @param purchaseTendrOrder 鎷涙爣閲囪喘鍗�
+     * @return R
+     */
+    @Operation(summary = "鏂板鎷涙爣閲囪喘鍗�" , description = "鏂板鎷涙爣閲囪喘鍗�" )
+    @SysLog("鏂板鎷涙爣閲囪喘鍗�" )
+    @PostMapping
+    @PreAuthorize("@pms.hasPermission('platformx_purchaseTendrOrder_add')" )
+    public R save(@RequestBody PurchaseTendrOrderEntity purchaseTendrOrder) {
+        return R.ok(purchaseTendrOrderService.save(purchaseTendrOrder));
+    }
+
+    /**
+     * 淇敼鎷涙爣閲囪喘鍗�
+     * @param purchaseTendrOrder 鎷涙爣閲囪喘鍗�
+     * @return R
+     */
+    @Operation(summary = "淇敼鎷涙爣閲囪喘鍗�" , description = "淇敼鎷涙爣閲囪喘鍗�" )
+    @SysLog("淇敼鎷涙爣閲囪喘鍗�" )
+    @PutMapping
+    @PreAuthorize("@pms.hasPermission('platformx_purchaseTendrOrder_edit')" )
+    public R updateById(@RequestBody PurchaseTendrOrderEntity purchaseTendrOrder) {
+        return R.ok(purchaseTendrOrderService.updateById(purchaseTendrOrder));
+    }
+
+    /**
+     * 閫氳繃id鍒犻櫎鎷涙爣閲囪喘鍗�
+     * @param ids id鍒楄〃
+     * @return R
+     */
+    @Operation(summary = "閫氳繃id鍒犻櫎鎷涙爣閲囪喘鍗�" , description = "閫氳繃id鍒犻櫎鎷涙爣閲囪喘鍗�" )
+    @SysLog("閫氳繃id鍒犻櫎鎷涙爣閲囪喘鍗�" )
+    @DeleteMapping
+    @PreAuthorize("@pms.hasPermission('platformx_purchaseTendrOrder_del')" )
+    public R removeById(@RequestBody Long[] ids) {
+        return R.ok(purchaseTendrOrderService.removeBatchByIds(CollUtil.toList(ids)));
+    }
+
+
+    /**
+     * 瀵煎嚭excel 琛ㄦ牸
+     * @param purchaseTendrOrder 鏌ヨ鏉′欢
+   	 * @param ids 瀵煎嚭鎸囧畾ID
+     * @return excel 鏂囦欢娴�
+     */
+    @ResponseExcel
+    @GetMapping("/export")
+    @PreAuthorize("@pms.hasPermission('platformx_purchaseTendrOrder_export')" )
+    public List<PurchaseTendrOrderEntity> export(PurchaseTendrOrderEntity purchaseTendrOrder,Long[] ids) {
+        return purchaseTendrOrderService.list(Wrappers.lambdaQuery(purchaseTendrOrder).in(ArrayUtil.isNotEmpty(ids), PurchaseTendrOrderEntity::getId, ids));
+    }
+
+	/**
+	 * 閫氳繃id鍒犻櫎鎷涙爣閲囪喘鍗�
+	 * @param ids id鍒楄〃
+	 * @return R
+	 */
+	@Operation(summary = "閫氳繃id瀹屾垚鎷涙爣閲囪喘鍗�" , description = "閫氳繃id瀹屾垚鎷涙爣閲囪喘鍗�" )
+	@SysLog("閫氳繃id瀹屾垚鎷涙爣閲囪喘鍗�" )
+	@GetMapping("/complete/{id}")
+	@PreAuthorize("@pms.hasPermission('platformx_purchaseTendrOrder_complete')" )
+	public R complete(@PathVariable("id")Long id) {
+		return R.ok(purchaseTendrOrderService.complete(id));
+	}
+}
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/PurchaseTendrOrderMapper.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/PurchaseTendrOrderMapper.java
new file mode 100644
index 0000000..2006114
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/PurchaseTendrOrderMapper.java
@@ -0,0 +1,12 @@
+package com.by4cloud.platformx.device.mapper;
+
+import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
+import com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity;
+import com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface PurchaseTendrOrderMapper extends PlatformxBaseMapper<PurchaseTendrOrderEntity> {
+
+
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..9d90e54
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/PurchaseTendrOrderService.java
@@ -0,0 +1,9 @@
+package com.by4cloud.platformx.device.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity;
+
+public interface PurchaseTendrOrderService extends IService<PurchaseTendrOrderEntity> {
+
+	boolean complete(Long id);
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..f874714
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseTendrOrderServiceImpl.java
@@ -0,0 +1,27 @@
+package com.by4cloud.platformx.device.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity;
+import com.by4cloud.platformx.device.mapper.PurchaseTendrOrderMapper;
+import com.by4cloud.platformx.device.service.PurchaseTendrOrderService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+/**
+ * 鎷涙爣閲囪喘鍗�
+ *
+ * @author pig
+ * @date 2025-03-24 15:45:03
+ */
+@Service
+@RequiredArgsConstructor
+public class PurchaseTendrOrderServiceImpl extends ServiceImpl<PurchaseTendrOrderMapper, PurchaseTendrOrderEntity> implements PurchaseTendrOrderService {
+
+	private final PurchaseTendrOrderMapper purchaseTendrOrderMapper;
+
+
+	@Override
+	public boolean complete(Long id) {
+		return false;
+	}
+
+}
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/controller/PurchaseWinningLetterController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/controller/PurchaseWinningLetterController.java
new file mode 100644
index 0000000..58529a0
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/controller/PurchaseWinningLetterController.java
@@ -0,0 +1,119 @@
+package com.by4cloud.platformx.device.controller;
+
+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.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.PurchaseWinningLetterEntity;
+import com.by4cloud.platformx.device.service.PurchaseWinningLetterService;
+import org.springframework.security.access.prepost.PreAuthorize;
+import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
+import io.swagger.v3.oas.annotations.security.SecurityRequirement;
+import org.springdoc.api.annotations.ParameterObject;
+import org.springframework.http.HttpHeaders;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 涓爣閫氱煡涔�
+ *
+ * @author syt
+ * @date 2025-03-24 17:13:08
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/purchaseWinningLetter" )
+@Tag(description = "purchaseWinningLetter" , name = "涓爣閫氱煡涔︾鐞�" )
+@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
+public class PurchaseWinningLetterController {
+
+    private final  PurchaseWinningLetterService purchaseWinningLetterService;
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     * @param page 鍒嗛〉瀵硅薄
+     * @param purchaseWinningLetter 涓爣閫氱煡涔�
+     * @return
+     */
+    @Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" )
+    @GetMapping("/page" )
+    @PreAuthorize("@pms.hasPermission('device_purchaseWinningLetter_view')" )
+    public R getPurchaseWinningLetterPage(@ParameterObject Page page, @ParameterObject PurchaseWinningLetterEntity purchaseWinningLetter) {
+        LambdaQueryWrapper<PurchaseWinningLetterEntity> wrapper = Wrappers.lambdaQuery();
+        return R.ok(purchaseWinningLetterService.page(page, wrapper));
+    }
+
+
+    /**
+     * 閫氳繃id鏌ヨ涓爣閫氱煡涔�
+     * @param id id
+     * @return R
+     */
+    @Operation(summary = "閫氳繃id鏌ヨ" , description = "閫氳繃id鏌ヨ" )
+    @GetMapping("/{id}" )
+    @PreAuthorize("@pms.hasPermission('device_purchaseWinningLetter_view')" )
+    public R getById(@PathVariable("id" ) Long id) {
+        return R.ok(purchaseWinningLetterService.getById(id));
+    }
+
+    /**
+     * 鏂板涓爣閫氱煡涔�
+     * @param purchaseWinningLetter 涓爣閫氱煡涔�
+     * @return R
+     */
+    @Operation(summary = "鏂板涓爣閫氱煡涔�" , description = "鏂板涓爣閫氱煡涔�" )
+    @SysLog("鏂板涓爣閫氱煡涔�" )
+    @PostMapping
+    @PreAuthorize("@pms.hasPermission('device_purchaseWinningLetter_add')" )
+    public R save(@RequestBody PurchaseWinningLetterEntity purchaseWinningLetter) {
+        return R.ok(purchaseWinningLetterService.save(purchaseWinningLetter));
+    }
+
+    /**
+     * 淇敼涓爣閫氱煡涔�
+     * @param purchaseWinningLetter 涓爣閫氱煡涔�
+     * @return R
+     */
+    @Operation(summary = "淇敼涓爣閫氱煡涔�" , description = "淇敼涓爣閫氱煡涔�" )
+    @SysLog("淇敼涓爣閫氱煡涔�" )
+    @PutMapping
+    @PreAuthorize("@pms.hasPermission('device_purchaseWinningLetter_edit')" )
+    public R updateById(@RequestBody PurchaseWinningLetterEntity purchaseWinningLetter) {
+        return R.ok(purchaseWinningLetterService.updateById(purchaseWinningLetter));
+    }
+
+    /**
+     * 閫氳繃id鍒犻櫎涓爣閫氱煡涔�
+     * @param ids id鍒楄〃
+     * @return R
+     */
+    @Operation(summary = "閫氳繃id鍒犻櫎涓爣閫氱煡涔�" , description = "閫氳繃id鍒犻櫎涓爣閫氱煡涔�" )
+    @SysLog("閫氳繃id鍒犻櫎涓爣閫氱煡涔�" )
+    @DeleteMapping
+    @PreAuthorize("@pms.hasPermission('device_purchaseWinningLetter_del')" )
+    public R removeById(@RequestBody Long[] ids) {
+        return R.ok(purchaseWinningLetterService.removeBatchByIds(CollUtil.toList(ids)));
+    }
+
+
+    /**
+     * 瀵煎嚭excel 琛ㄦ牸
+     * @param purchaseWinningLetter 鏌ヨ鏉′欢
+   	 * @param ids 瀵煎嚭鎸囧畾ID
+     * @return excel 鏂囦欢娴�
+     */
+    @ResponseExcel
+    @GetMapping("/export")
+    @PreAuthorize("@pms.hasPermission('device_purchaseWinningLetter_export')" )
+    public List<PurchaseWinningLetterEntity> export(PurchaseWinningLetterEntity purchaseWinningLetter,Long[] ids) {
+        return purchaseWinningLetterService.list(Wrappers.lambdaQuery(purchaseWinningLetter).in(ArrayUtil.isNotEmpty(ids), PurchaseWinningLetterEntity::getId, ids));
+    }
+}
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/entity/PurchaseWinningLetterEntity.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/entity/PurchaseWinningLetterEntity.java
new file mode 100644
index 0000000..151d9f9
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/entity/PurchaseWinningLetterEntity.java
@@ -0,0 +1,143 @@
+package com.by4cloud.platformx.device.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.time.LocalDateTime;
+
+/**
+ * 涓爣閫氱煡涔�
+ *
+ * @author syt
+ * @date 2025-03-24 17:13:08
+ */
+@Data
+@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;
+
+	/**
+	* 涓爣閫氱煡涔︾紪鐮�
+	*/
+    @Schema(description="涓爣閫氱煡涔︾紪鐮�")
+    private String winningCode;
+
+	/**
+	* 閲囪喘璁″垝缂栧彿
+	*/
+    @Schema(description="閲囪喘璁″垝缂栧彿")
+    private String purchasePlanCode;
+
+	/**
+	* 璁惧缂栫爜
+	*/
+    @Schema(description="璁惧缂栫爜")
+    private String deviceCode;
+
+	/**
+	* 璁惧鍚嶇О
+	*/
+    @Schema(description="璁惧鍚嶇О")
+    private String deviceName;
+
+	/**
+	* 瑙勬牸鍨嬪彿
+	*/
+    @Schema(description="瑙勬牸鍨嬪彿")
+    private String deviceModels;
+
+	/**
+	* 鍏抽敭鍙傛暟
+	*/
+    @Schema(description="鍏抽敭鍙傛暟")
+    private String keyParameter;
+
+	/**
+	* 鍒拌揣鏈堜唤
+	*/
+    @Schema(description="鍒拌揣鏈堜唤")
+    private Integer arrivalMonth;
+
+	/**
+	* 鏁伴噺
+	*/
+    @Schema(description="鏁伴噺")
+    private Integer quantity;
+
+	/**
+	* 鍗曚綅
+	*/
+    @Schema(description="鍗曚綅")
+    private String unit;
+
+	/**
+	* 涓爣鍗曚环  /鍒�
+	*/
+    @Schema(description="涓爣鍗曚环  /鍒�")
+    private Integer winningPrice;
+
+	/**
+	* 涓爣鎬婚   /鍒�
+	*/
+    @Schema(description="涓爣鎬婚   /鍒�")
+    private Integer totalWinningAmount;
+
+	/**
+	* 鎷熶娇鐢ㄥ湴鐐�
+	*/
+    @Schema(description="鎷熶娇鐢ㄥ湴鐐�")
+    private String locationUsed;
+
+	/**
+	* 涓爣鍘傚
+	*/
+    @Schema(description="涓爣鍘傚")
+    private String winningBidder;
+
+	/**
+	* 鐢宠浜�
+	*/
+	@TableField(fill = FieldFill.INSERT)
+    @Schema(description="鐢宠浜�")
+    private String createBy;
+
+	/**
+	* 鍒涘缓鏃堕棿
+	*/
+	@TableField(fill = FieldFill.INSERT)
+    @Schema(description="鍒涘缓鏃堕棿")
+    private LocalDateTime createTime;
+
+	/**
+	* 淇敼浜�
+	*/
+	@TableField(fill = FieldFill.INSERT_UPDATE)
+    @Schema(description="淇敼浜�")
+    private String updateBy;
+
+	/**
+	* 淇敼鏃堕棿
+	*/
+	@TableField(fill = FieldFill.INSERT_UPDATE)
+    @Schema(description="淇敼鏃堕棿")
+    private LocalDateTime updateTime;
+ 
+	/**
+	* delFlag
+	*/
+    @TableLogic
+	@TableField(fill = FieldFill.INSERT)
+    @Schema(description="delFlag")
+    private String delFlag;
+}
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/mapper/PurchaseWinningLetterMapper.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/mapper/PurchaseWinningLetterMapper.java
new file mode 100644
index 0000000..b590b83
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/mapper/PurchaseWinningLetterMapper.java
@@ -0,0 +1,11 @@
+package com.by4cloud.platformx.device.mapper;
+
+import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
+import com.by4cloud.platformx.device.entity.PurchaseWinningLetterEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface PurchaseWinningLetterMapper extends PlatformxBaseMapper<PurchaseWinningLetterEntity> {
+
+
+}
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/service/PurchaseWinningLetterService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/service/PurchaseWinningLetterService.java
new file mode 100644
index 0000000..22e5be4
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/service/PurchaseWinningLetterService.java
@@ -0,0 +1,8 @@
+package com.by4cloud.platformx.device.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.by4cloud.platformx.device.entity.PurchaseWinningLetterEntity;
+
+public interface PurchaseWinningLetterService extends IService<PurchaseWinningLetterEntity> {
+
+}
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseWinningLetterServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseWinningLetterServiceImpl.java
new file mode 100644
index 0000000..69f952b
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/java/com/by4cloud/platformx/device/service/impl/PurchaseWinningLetterServiceImpl.java
@@ -0,0 +1,16 @@
+package com.by4cloud.platformx.device.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.by4cloud.platformx.device.entity.PurchaseWinningLetterEntity;
+import com.by4cloud.platformx.device.mapper.PurchaseWinningLetterMapper;
+import com.by4cloud.platformx.device.service.PurchaseWinningLetterService;
+import org.springframework.stereotype.Service;
+/**
+ * 涓爣閫氱煡涔�
+ *
+ * @author syt
+ * @date 2025-03-24 17:13:08
+ */
+@Service
+public class PurchaseWinningLetterServiceImpl extends ServiceImpl<PurchaseWinningLetterMapper, PurchaseWinningLetterEntity> implements PurchaseWinningLetterService {
+}
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/resources/mapper/PurchaseWinningLetterMapper.xml b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/resources/mapper/PurchaseWinningLetterMapper.xml
new file mode 100644
index 0000000..45fe136
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/src/main/resources/mapper/PurchaseWinningLetterMapper.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.by4cloud.platformx.device.mapper.PurchaseWinningLetterMapper">
+
+  <resultMap id="purchaseWinningLetterMap" type="com.by4cloud.platformx.device.entity.PurchaseWinningLetterEntity">
+        <id property="id" column="id"/>
+        <result property="winningCode" column="winning_code"/>
+        <result property="purchasePlanCode" column="purchase_plan_code"/>
+        <result property="deviceCode" column="device_code"/>
+        <result property="deviceName" column="device_name"/>
+        <result property="deviceModels" column="device_models"/>
+        <result property="keyParameter" column="key_parameter"/>
+        <result property="arrivalMonth" column="arrival_month"/>
+        <result property="quantity" column="quantity"/>
+        <result property="unit" column="unit"/>
+        <result property="winningPrice" column="winning_price"/>
+        <result property="totalWinningAmount" column="total_winning_amount"/>
+        <result property="locationUsed" column="location_used"/>
+        <result property="winningBidder" column="winning_bidder"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="delFlag" column="del_flag"/>
+  </resultMap>
+</mapper>
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/resources/mapper/PurchaseTendrOrderMapper.xml b/platformx-device-biz/src/main/resources/mapper/PurchaseTendrOrderMapper.xml
new file mode 100644
index 0000000..142c1ac
--- /dev/null
+++ b/platformx-device-biz/src/main/resources/mapper/PurchaseTendrOrderMapper.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.by4cloud.platformx.device.mapper.PurchaseTendrOrderMapper">
+
+  <resultMap id="purchaseTendrOrderMap" type="com.by4cloud.platformx.device.entity.PurchaseTendrOrderEntity">
+        <id property="id" column="id"/>
+        <result property="purchasePlanCode" column="purchase_plan_code"/>
+        <result property="deviceCode" column="device_code"/>
+        <result property="deviceName" column="device_name"/>
+        <result property="deviceModels" column="device_models"/>
+        <result property="keyParameter" column="key_parameter"/>
+        <result property="arrivalMonth" column="arrival_month"/>
+        <result property="quantity" column="quantity"/>
+        <result property="unit" column="unit"/>
+        <result property="estimatePrice" column="estimate_price"/>
+        <result property="totalPlanndAmount" column="total_plannd_amount"/>
+        <result property="locationUsed" column="location_used"/>
+        <result property="status" column="status"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="delFlag" column="del_flag"/>
+  </resultMap>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.1