From c6040880b0da8834dbcb92d6def7d4dd0cd6c40e Mon Sep 17 00:00:00 2001
From: cuida <xiaocuijustsoso@163.com>
Date: 星期三, 29 四月 2026 16:57:50 +0800
Subject: [PATCH] feat:合同,合同标的物,收款基础代码

---
 platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractSubjectMatter.java |  141 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 141 insertions(+), 0 deletions(-)

diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractSubjectMatter.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractSubjectMatter.java
new file mode 100644
index 0000000..a9ef21c
--- /dev/null
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractSubjectMatter.java
@@ -0,0 +1,141 @@
+package com.by4cloud.platformx.business.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.by4cloud.platformx.common.data.mybatis.BaseModel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Transient;
+import lombok.Data;
+import org.hibernate.annotations.Table;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 鍚堝悓鏍囩殑鐗╂槑缁嗗疄浣撶被
+ * @author xfei
+ * @date 2024-01-15
+ */
+@Data
+@Entity
+@Table(appliesTo = "contract_subject_matter", comment = "鍚堝悓鏍囩殑鐗╂槑缁嗚〃")
+public class ContractSubjectMatter extends BaseModel<ContractSubjectMatter> {
+
+    @Schema(description = "鍏宠仈鍚堝悓ID")
+    @Column(columnDefinition = "bigint comment '鍏宠仈鍚堝悓ID'")
+    private Long contractId;
+
+    @Schema(description = "鍚堝悓鍚嶇О")
+    @Column(columnDefinition = "VARCHAR(200) comment '鍚堝悓鍚嶇О'")
+    private String contractName;
+
+    @Schema(description = "鏍囩殑鐗╁悕绉�")
+    @Column(columnDefinition = "VARCHAR(200) comment '鏍囩殑鐗╁悕绉�'")
+    private String materialName;
+
+    @Schema(description = "鏍囩殑鐗╃紪鐮侊紙鍐呴儴鍞竴缂栫爜锛�")
+    @Column(columnDefinition = "VARCHAR(64) comment '鏍囩殑鐗╃紪鐮�'")
+    private String materialCode;
+
+    @Schema(description = "鏍囩殑鐗╃紪鐮侊紙鍐呴儴鍞竴鍚嶇О锛�")
+    @Column(columnDefinition = "VARCHAR(64) comment '鏍囩殑鐗╁悕绉�(鍐呴儴)'")
+    private String materialInternalName;
+
+    @Schema(description = "鏍囩殑鐗╄鏍�/鍨嬪彿")
+    @Column(columnDefinition = "VARCHAR(200) comment '鏍囩殑鐗╄鏍�/鍨嬪彿'")
+    private String specification;
+
+    @Schema(description = "鏍囩殑鐗╁搧鐗�")
+    @Column(columnDefinition = "VARCHAR(100) comment '鏍囩殑鐗╁搧鐗�'")
+    private String brand;
+
+    @Schema(description = "鏍囩殑鐗╁垎绫伙紙0-浜у搧 1-鏈嶅姟锛�")
+    @Column(columnDefinition = "tinyint(2) default 0 comment '鏍囩殑鐗╁垎绫�'")
+    private Integer category;
+
+    @Schema(description = "鏁伴噺")
+    @Column(columnDefinition = "double comment '鏁伴噺'")
+    private Double quantity;
+
+    @Schema(description = "璁¢噺鍗曚綅锛堜釜/鍙�/鍚�/椤�/濂楃瓑锛�")
+    @Column(columnDefinition = "VARCHAR(20) comment '璁¢噺鍗曚綅'")
+    private String unit;
+
+    @Schema(description = "鍗曚环")
+    @Column(columnDefinition = "double comment '鍗曚环'")
+    private Double unitPrice;
+
+    @Schema(description = "绋庣巼锛堢櫨鍒嗘瘮锛屽13琛ㄧず13%锛�")
+    @Column(columnDefinition = "double default 0.00 comment '绋庣巼'")
+    private Double taxRate;
+
+    @Schema(description = "绋庨")
+    @Column(columnDefinition = "double default 0.00 comment '绋庨'")
+    private Double taxAmount;
+
+    @Schema(description = "鍚◣鎬讳环")
+    @Column(columnDefinition = "double comment '鍚◣鎬讳环'")
+    private Double totalAmount;
+
+    @Schema(description = "涓嶅惈绋庢�讳环")
+    @Column(columnDefinition = "double comment '涓嶅惈绋庢�讳环'")
+    private Double totalAmountExcludingTax;
+
+    @Schema(description = "浜よ揣/浜や粯鍦扮偣")
+    @Column(columnDefinition = "VARCHAR(500) comment '浜よ揣/浜や粯鍦扮偣'")
+    private String deliveryPlace;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+    @Schema(description = "璁″垝浜や粯鏃ユ湡")
+    @Column(columnDefinition = "datetime comment '璁″垝浜や粯鏃ユ湡'")
+    private Date plannedDeliveryDate;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+    @Schema(description = "瀹為檯浜や粯鏃ユ湡")
+    @Column(columnDefinition = "datetime comment '瀹為檯浜や粯鏃ユ湡'")
+    private Date actualDeliveryDate;
+
+    @Schema(description = "浜や粯鐘舵�侊紙0-鏈氦浠� 1-閮ㄥ垎浜や粯 2-宸蹭氦浠� 3-閫炬湡锛�")
+    @Column(columnDefinition = "tinyint(2) default 0 comment '浜や粯鐘舵��'")
+    private Integer deliveryStatus;
+
+    @Schema(description = "璐ㄤ繚鏈燂紙鏈堬級")
+    @Column(columnDefinition = "int default 12 comment '璐ㄤ繚鏈燂紙鏈堬級'")
+    private Integer warrantyPeriod;
+
+    @Schema(description = "鏍囩殑鐗╂弿杩�/澶囨敞")
+    @Column(columnDefinition = "TEXT comment '鏍囩殑鐗╂弿杩�/澶囨敞'")
+    private String description;
+
+    @Schema(description = "闄勪欢URL锛堜骇鍝佽鏄庝功銆佹妧鏈枃妗g瓑锛�")
+    @Column(columnDefinition = "VARCHAR(500) comment '闄勪欢URL'")
+    private String attachmentUrl;
+
+    @Schema(description = "鎺掑簭鍙�")
+    @Column(columnDefinition = "int default 0 comment '鎺掑簭鍙�'")
+    private Integer sortOrder;
+
+    @Schema(description = "鏄惁楠屾敹閫氳繃锛�0-鏈獙鏀� 1-宸查獙鏀讹級")
+    @Column(columnDefinition = "tinyint(1) default 0 comment '鏄惁楠屾敹閫氳繃'")
+    private Integer isAccepted;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+    @Schema(description = "楠屾敹鏃堕棿")
+    @Column(columnDefinition = "datetime comment '楠屾敹鏃堕棿'")
+    private Date acceptTime;
+
+
+    /**
+     * 涓存椂瀛楁 - 宸蹭氦浠樻暟閲忥紙鐢ㄤ簬浜や粯杩涘害缁熻锛�
+     */
+    @Transient
+    @TableField(exist = false)
+    @Schema(description = "宸蹭氦浠樻暟閲忥紙涓存椂瀛楁锛�")
+    private BigDecimal deliveredQuantity;
+}
\ No newline at end of file

--
Gitblit v1.9.1