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/ContractPaymentSchedule.java |  165 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 165 insertions(+), 0 deletions(-)

diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractPaymentSchedule.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractPaymentSchedule.java
new file mode 100644
index 0000000..04ff428
--- /dev/null
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractPaymentSchedule.java
@@ -0,0 +1,165 @@
+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_payment_schedule", comment = "鍚堝悓鏀舵璁″垝/灞ョ害鑺傜偣琛�")
+public class ContractPaymentSchedule extends BaseModel<ContractPaymentSchedule> {
+
+    // ==================== 鍏宠仈淇℃伅 ====================
+
+    @Schema(description = "鍏宠仈鍚堝悓ID")
+    @Column(columnDefinition = "bigint not null comment '鍏宠仈鍚堝悓ID'")
+    private Long contractId;
+
+    @Schema(description = "鍚堝悓鍚嶇О")
+    @Column(columnDefinition = "VARCHAR(64) comment '鍚堝悓鍚嶇О'")
+    private String contractName;
+
+    @Schema(description = "鍏宠仈鏍囩殑鐗㊣D锛堝彲閫夛紝濡傛灉涓虹┖鍒欓�傜敤浜庡悎鍚屾暣浣擄級")
+    @Column(columnDefinition = "bigint comment '鍏宠仈鏍囩殑鐗㊣D'")
+    private Long subjectMatterId;
+
+    @Schema(description = "鏍囩殑鐗╁悕绉�")
+    @Column(columnDefinition = "VARCHAR(64) comment '鏍囩殑鐗╁悕绉�'")
+    private String subjectMatterName;
+
+    // ==================== 鏀舵闃舵/灞ョ害鑺傜偣鍩烘湰淇℃伅 ====================
+
+//    @Schema(description = "鏀舵闃舵/鑺傜偣缂栫爜锛堝锛歋TAGE_001锛�")
+//    @Column(columnDefinition = "VARCHAR(64) comment '鏀舵闃舵/鑺傜偣缂栫爜'")
+//    private String stageCode;
+
+    @Schema(description = "鏀舵闃舵鍚嶇О锛堟樉鎬ц绱狅紝濡傦細鍚堝悓绛捐棰勪粯銆佸彂璐у墠浠樻銆佽揣鍒扮鏀朵粯娆俱�佽皟璇曞畬鎴愪粯娆俱�佽川淇濋噾锛�")
+    @Column(columnDefinition = "VARCHAR(100) not null comment '鏀舵闃舵鍚嶇О'")
+    private String stageName;
+
+//    @Schema(description = "鑺傜偣绫诲瀷锛�0-鏍囧噯棰勫畾涔夎妭鐐� 1-鑷畾涔夎妭鐐癸級")
+//    @Column(columnDefinition = "tinyint(1) default 0 comment '鑺傜偣绫诲瀷'")
+//    private Integer nodeType;
+
+//    @Schema(description = "灞ョ害鑺傜偣缂栫爜锛堜笌鏀舵闃舵鍏宠仈鐨勫饱绾﹁妭鐐癸紝濡傦細SIGN銆丳RE_DELIVERY銆丏ELIVERY_RECEIPT銆丆OMMISSIONING銆乄ARRANTY锛�")
+//    @Column(columnDefinition = "VARCHAR(50) comment '灞ョ害鑺傜偣缂栫爜'")
+//    private String fulfillmentNodeCode;
+
+//    @Schema(description = "灞ョ害鑺傜偣鍚嶇О")
+//    @Column(columnDefinition = "VARCHAR(100) comment '灞ョ害鑺傜偣鍚嶇О'")
+//    private String fulfillmentNodeName;
+
+    // ==================== 鏀舵姣斾緥/閲戦 ====================
+
+    @Schema(description = "鏀舵姣斾緥锛�%锛屽30琛ㄧず30%锛夛紙鏄炬�ц绱狅級")
+    @Column(columnDefinition = "double comment '鏀舵姣斾緥锛�%锛�'")
+    private Double paymentRatio;
+
+    @Schema(description = "璁″垝鏀舵閲戦锛堟牴鎹悎鍚屾�婚噾棰�*姣斾緥鑷姩璁$畻锛�")
+    @Column(columnDefinition = "double comment '璁″垝鏀舵閲戦'")
+    private Double plannedAmount;
+
+    @Schema(description = "瀹為檯鏀舵閲戦")
+    @Column(columnDefinition = "double default 0.00 comment '瀹為檯鏀舵閲戦'")
+    private Double actualAmount;
+
+    // ==================== 鏃跺簭鎺у埗 ====================
+
+    @Schema(description = "闃舵椤哄簭锛堢鍑犳湡锛�")
+    @Column(columnDefinition = "int not null comment '闃舵椤哄簭'")
+    private Integer stageOrder;
+
+    @Schema(description = "璁″垝鏀舵鏃ユ湡锛堝熀浜庡悎鍚岀璁㈡棩鏈�+绾﹀畾澶╂暟璁$畻锛�")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+    @Column(columnDefinition = "VARCHAR(64) comment '璁″垝鏀舵鏃ユ湡'")
+    private String plannedPaymentDate;
+
+    @Schema(description = "鏀舵闃舵鐢熸晥鏃ユ湡锛堥殣鎬ц绱� - 灞ョ害鏃堕棿璧风偣锛屽嵆璇ヨ妭鐐瑰疄闄呰揪鎴愮殑鏃ユ湡锛�")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+    @Column(columnDefinition = "VARCHAR(64) comment '鏀舵闃舵鐢熸晥鏃ユ湡锛堝饱绾﹁妭鐐瑰疄闄呰揪鎴愭棩鏈燂級'")
+    private String effectiveDate;
+
+    @Schema(description = "绾﹀畾澶╂暟锛堝悎鍚岀璁㈠悗X澶╁唴浠樻/璐у埌鍚嶺澶╁唴浠樻绛夛級")
+    @Column(columnDefinition = "int default 0 comment '绾﹀畾澶╂暟'")
+    private Integer agreedDays;
+
+    @Schema(description = "澶╂暟璁$畻鍩哄噯锛�0-鍚堝悓绛捐鏃� 1-涓婁竴鑺傜偣鐢熸晥鏃� 2-璐у埌鏃� 3-楠屾敹鏃ワ級")
+    @Column(columnDefinition = "tinyint(1) default 0 comment '澶╂暟璁$畻鍩哄噯'")
+    private Integer calculationBasis;
+
+    // ==================== 鐘舵�佹帶鍒� ====================
+
+    @Schema(description = "灞ョ害鑺傜偣鐘舵�侊紙0-鏈紑濮� 1-杩涜涓� 2-宸茶揪鎴� 3-宸查�炬湡锛�")
+    @Column(columnDefinition = "tinyint(1) default 0 comment '灞ョ害鑺傜偣鐘舵��'")
+    private Integer fulfillmentStatus;
+
+    @Schema(description = "鏀舵鐘舵�侊紙0-鏈敹娆� 1-閮ㄥ垎鏀舵 2-宸叉敹娆� 3-閫炬湡锛�")
+    @Column(columnDefinition = "tinyint(1) default 0 comment '鏀舵鐘舵��'")
+    private Integer paymentStatus;
+
+//    @Schema(description = "鏄惁鑷姩瑙﹀彂锛�0-鎵嬪姩褰曞叆鑺傜偣鏃堕棿 1-绯荤粺鑷姩鑾峰彇鑺傜偣鏃堕棿锛�")
+//    @Column(columnDefinition = "tinyint(1) default 0 comment '鏄惁鑷姩瑙﹀彂'")
+//    private Integer isAutoTrigger;
+
+    // ==================== 鍏宠仈鍗曟嵁锛堢敤浜庣郴缁熻嚜鍔ㄨ幏鍙栬妭鐐规椂闂达級 ====================
+
+//    @Schema(description = "鍏宠仈鍗曟嵁绫诲瀷锛�0-鏃� 1-璋冭瘯鍗� 2-楠屾敹鍗� 3-鍙戣揣鍗� 4-绛炬敹鍗曪級")
+//    @Column(columnDefinition = "tinyint(2) comment '鍏宠仈鍗曟嵁绫诲瀷'")
+//    private Integer relatedDocType;
+//
+//    @Schema(description = "鍏宠仈鍗曟嵁ID锛堝璋冭瘯鍗旾D銆侀獙鏀跺崟ID绛夛級")
+//    @Column(columnDefinition = "bigint comment '鍏宠仈鍗曟嵁ID'")
+//    private Long relatedDocId;
+//
+//    @Schema(description = "鍏宠仈鍗曟嵁缂栧彿")
+//    @Column(columnDefinition = "VARCHAR(64) comment '鍏宠仈鍗曟嵁缂栧彿'")
+//    private String relatedDocNo;
+
+    // ==================== 鍙戠エ鍏宠仈 ====================
+
+//    @Schema(description = "鍏宠仈鍙戠エID")
+//    @Column(columnDefinition = "bigint comment '鍏宠仈鍙戠エID'")
+//    private Long invoiceId;
+//
+//    @Schema(description = "鏄惁宸插紑绁紙0-鏈紑绁� 1-宸插紑绁級")
+//    @Column(columnDefinition = "tinyint(1) default 0 comment '鏄惁宸插紑绁�'")
+//    private Integer isInvoiced;
+
+    // ==================== 涓氬姟鎵╁睍 ====================
+
+    @Schema(description = "澶囨敞")
+    @Column(columnDefinition = "VARCHAR(500) comment '澶囨敞'")
+    private String remark;
+
+//    @Schema(description = "鎺掑簭鍙�")
+//    @Column(columnDefinition = "int default 0 comment '鎺掑簭鍙�'")
+//    private Integer sortOrder;
+
+    // ==================== 涓存椂瀛楁锛堢敤浜庢煡璇㈠睍绀猴級 ====================
+
+
+
+//    @Transient
+//    @TableField(exist = false)
+//    @Schema(description = "閫炬湡澶╂暟锛堜复鏃跺瓧娈碉級")
+//    private Long overdueDays;
+}
\ No newline at end of file

--
Gitblit v1.9.1