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;
|
|
}
|