package com.by4cloud.platformx.device.entity; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.by4cloud.platformx.common.data.mybatis.BaseModel; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.hibernate.annotations.Table; import org.springframework.format.annotation.DateTimeFormat; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Transient; import java.util.Date; import java.util.List; /** * @author kdq * @version 1.0.0 * @ClassName Contract.java * @Description TODO * @createTime 2025年03月13日 09:07:00 */ @Data @Entity @TableName("contract") @javax.persistence.Table(name = "contract") @Table(appliesTo = "contract", comment = "合同表") public class Contract extends BaseModel { @Schema(description = "名称") @Column(columnDefinition="VARCHAR(200) comment '名称'") private String name; @Schema(description = "编号") @Column(columnDefinition="VARCHAR(200) comment '编号'") private String number; @Schema(description = "甲方") @Column(columnDefinition="VARCHAR(50) comment '甲方'") private String partya; @Schema(description = "乙方") @Column(columnDefinition="VARCHAR(50) comment '乙方'") private String partyb; @Schema(description = "三方") @Column(columnDefinition="VARCHAR(50) comment '三方'") private String partyc; /** * 合同金额 */ @Schema(description = "合同金额") @Column(columnDefinition="double comment '合同金额'") @TableField("`output`") private Double output; /** * 总量 */ @Schema(description = "总量") @Column(columnDefinition="double comment '总量'") private Double countExecutive; /** * 执行量 */ @Schema(description = "执行量") @Column(columnDefinition="double comment '执行量'") private Double executive; /** * 合同条款 */ @Schema(description = "合同条款") @TableField(updateStrategy = FieldStrategy.NOT_NULL) @Column(columnDefinition="varchar(500) comment '合同条款'") private String content; /** * */ @TableField(updateStrategy = FieldStrategy.NOT_NULL) @Schema(description = "文件名称") @Column(columnDefinition="varchar(2000) comment '文件名称'") private String fileName; @TableField(updateStrategy = FieldStrategy.NOT_NULL) @Schema(description = "文件地址") @Column(columnDefinition="varchar(2000) comment '文件地址'") private String filePath; @Schema(description = "类型") @Column(columnDefinition="int comment '类型 0租赁合同,1购买合同,2承租合同'") private Integer type; @Schema(description = "状态") @Column(columnDefinition="int comment '类型 0待审批,1已审批,2完结'") private Integer status; @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd") @Schema(description = "填报时间") @Column(columnDefinition = "datetime comment '填报时间'") private Date releaseDate; @Transient @TableField(exist = false) private List contractItemList; }