李白
6 小时以前 e79ac38dd895ea22280c1aec45ffb68cf934e23e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
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.Comment;
 
import org.springframework.format.annotation.DateTimeFormat;
import jakarta.persistence.Table;
import java.util.List;
 
/**
 * @author wjli
 * @description
 * @date 2026/4/29 10:51
 **/
@Data
@Entity
@Table(name = "production_plan")
@Comment("排产计划")
public class ProductionPlan  extends BaseModel<BusinessCustomer> {
 
    @Schema(description = "所属合同编号")
    @Column(columnDefinition = "VARCHAR(64) comment '合同编号'")
    private String contractNo;
 
    @Schema(description = "所属合同名称")
    @Column(columnDefinition = "VARCHAR(200) comment '合同名称'")
    private String contractName;
 
    @Schema(description = "排产计划编号")
    @Column(columnDefinition = "VARCHAR(64) comment '排产计划编号'")
    private String productionPlanNo;
 
    @Schema(description = "排产计划名称")
    @Column(columnDefinition = "VARCHAR(200) comment '排产计划名称'")
    private String productionPlanName;
 
    @Schema(description = "甲方id")
    @Column(columnDefinition = "bigint comment '甲方id'")
    private Long partyAId;
 
    @Schema(description = "甲方名称")
    @Column(columnDefinition = "VARCHAR(100) comment '甲方名称'")
    private String partyA;
 
    @Schema(description = "乙方id")
    @Column(columnDefinition = "bigint comment '乙方id'")
    private Long partyBId;
 
    @Schema(description = "乙方名称")
    @Column(columnDefinition = "VARCHAR(100) comment '乙方名称'")
    private String partyB;
 
    @Schema(description = "金额")
    @Column(columnDefinition = "double comment '金额'")
    private Double amount;
 
    @Schema(description = "币种(CNY/USD等)")
    @Column(columnDefinition = "VARCHAR(10) default 'CNY' comment '币种'")
    private String currency;
 
    @Schema(description = "类型(0-生成式 1-备案式)")
    @Column(columnDefinition = "tinyint(2) default 0 comment '类型'")
    private Integer contractType;
 
    @Schema(description = "供应属性 0-成品 1-备件 2-大修 3-其他")
    @Column(columnDefinition = "tinyint(2) default 0 comment '供应属性 0-成品 1-备件 2-大修 3-其他'")
    private Integer supplyAttribute;
 
    @Schema(description = "计划状态(0-草稿 1-已生效 2-已终止 3-已过期)")
    @Column(columnDefinition = "tinyint(2) default 0 comment '计划状态'")
    private Integer status;
 
    @Schema(description = "服务属性(0-产品销售 1-无形服务)")
    @Column(columnDefinition = "tinyint(2) default 0 comment '服务属性'")
    private Integer attribute;
 
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Schema(description = "签署日期")
    @Column(columnDefinition = "VARCHAR(64) comment '签署日期'")
    private String signDate;
 
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Schema(description = "生效日期")
    @Column(columnDefinition = "VARCHAR(64) comment '生效日期'")
    private String effectiveDate;
 
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Schema(description = "到期日期")
    @Column(columnDefinition = "VARCHAR(64) comment '到期日期'")
    private String expirationDate;
 
    @Schema(description = "备注")
    @Column(columnDefinition = "TEXT comment '备注'")
    private String remark;
 
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Schema(description = "审批时间")
    @Column(columnDefinition = "datetime comment '审批时间'")
    private String approveTime;
 
    /**
     * 标的物
     */
    @Transient
    @TableField(exist = false)
    private List<ContractSubjectMatter> contractSubjectMatterList;
 
}