package com.zt.plat.module.contractorder.dal.dataobject.contract;

import com.baomidou.mybatisplus.annotation.*;
import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO;
import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 市场价配置 DO
 *
 * @author 后台管理
 */
@TableName("bse_ctrt_prc")
@KeySequence("bse_ctrt_prc_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
/**
 * 支持业务基类继承：isBusiness=true 时继承 BusinessBaseDO，否则继承 BaseDO
 */
public class ContractPriceDO extends BusinessBaseDO {

    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    /**
     * 条款主键
     */
    @TableField("FMU_ID")
    private Long formulaId;
    /**
     * 市场价
     */
    @TableField("VAL")
    private BigDecimal value;
    /**
     * 计算方式;均价/高位价/地位价
     */
    @TableField("CALT_WY")
    private String calculateWay;
    /**
     * 数据来源网价代码;数据字典
     */
    @TableField("DAT_ORGN")
    private String dataOrigin;
    /**
     * 计价开始日期
     */
    @TableField("CALT_STRT_DT")
    private LocalDateTime calculateStartDate;
    /**
     * 计价截止日期
     */
    @TableField("CALT_END_DT")
    private LocalDateTime calculateEndDate;
    /**
     * 包含开始日期
     */
    @TableField("IN_STRT_DT")
    private String inStartDate;
    /**
     * 包含结束日期
     */
    @TableField("IN_END_DT")
    private String inEndDate;
    /**
     * 价格品种元素的明细分类
     */
    @TableField("PRC_GRD")
    private String priceGrade;
    /**
     * 品种分类
     */
    @TableField("GRD_TP")
    private String gradeType;
    /**
     * 取价方式;区间价/固定价
     */
    @TableField("AVG_TP")
    private String averageType;
    /**
     * 网价小数位
     */
    @TableField("DEC_PNT")
    private BigDecimal decimalPoint;
}