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