package com.yh.saas.plugin.yiliangyiyun.entity;

import com.baomidou.mybatisplus.activerecord.Model;
import java.io.Serializable;
import java.util.List;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.annotations.Version;

import com.baomidou.mybatisplus.enums.IdType;
import com.yh.saas.common.support.entity.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 贸易仓单申请信息
 * </p>
 *
 * @author Gdc
 * @since 2021-11-06
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("trade_warehouse_receipt_appl")
public class TradeWarehouseReceiptAppl extends BaseModel<TradeWarehouseReceiptAppl> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(type = IdType.UUID)
    private String id;
    /**
     * 公司id
     */
    private String compId;
    /**
     * 合同编号
     */
    private String contractNo;
    /**
     * 业务编号
     */
    private String billNo;
    /**
     * 仓库id
     */
    private String warehouseId;
    /**
     * 仓库名
     */
    private String warehouseName;
    /**
     * 仓库地址
     */
    private String warehouseAddress;
    /**
     * 名头id
     */
    private String renownId;
    /**
     * 名头
     */
    private String renown;
    /**
     * 银行id
     */
    private String bankId;
    /**
     * 银行
     */
    private String bank;
    /**
     * 第三方id
     */
    private String threeId;
    /**
     * 第三方
     */
    private String three;
    /**
     * 仓位号id
     */
    private String warehouseNoId;
    /**
     * 仓位号
     */
    private String warehouseNo;
    /**
     * 货名key
     */
    private String goodsNameKey;
    /**
     * 货名
     */
    private String goodsName;
    /**
     * 粮食类型key
     */
    private String grainTypeKey;
    /**
     * 粮食类型
     */
    private String grainType;
    /**
     * 品级key
     */
    private String gradeKey;
    /**
     * 品级
     */
    private String grade;
    /**
     * 本单重量
     */
    private Double weight;
    /**
     * 现有储量
     */
    private Double nowWeight;
    /**
     * 可用储量
     */
    private Double useWeight;
    /**
     * 单价（元/吨）
     */
    private Double unitPrice;
    /**
     * 总价值
     */
    private Double totalValue;
    /**
     * 发放金额
     */
    private Double paymentAmount;
    /**
     * 应还金额
     */
    private Double amountDue;
    /**
     * 已还金额
     */
    private Double amountRepaid;
    /**
     * 待还金额
     */
    private Double amountToRepaid;
    /**
     * 申请比例
     */
    private String applicationProportion;
    /**
     * 申请金额
     */
    private Double interest;
    /**
     * 利息
     */
    private Double applicationAmount;
    /**
     * 监管费
     */
    private Double supervisionFee;
    /**
     * 保险费
     */
    private Double insurancePremium;
    /**
     * 其他费
     */
    private Double otherFee;
    /**
     * 利息显示隐藏
     */
    private String applicationAmountFlag;
    /**
     * 监管费显示隐藏
     */
    private String supervisionFeeFlag;
    /**
     * 其他费显示隐藏
     */
    private String otherFeeFlag;
    /**
     * 保险费显示隐藏
     */
    private String insurancePremiumFlag;
    /**
     * 修改费用1
     */
    private String modifyExpense1;
    /**
     * 修改费用2
     */
    private String modifyExpense2;
    /**
     * 修改费用3
     */
    private String modifyExpense3;
    /**
     * 修改费用4
     */
    private String modifyExpense4;
    /**
     * 附件
     */
    private String appendix;
    /**
     * 磅单
     */
    private String bdappendix;
    /**
     * 锁定状态标识
     */
    private String lockedStatusFlag;
    /**
     * 锁定状态
     */
    private String lockedStatus;
    /**
     * 状态标识
     */
    private String statusFlag;
    /**
     * 状态
     */
    private String status;
    /**
     * 状态英文
     */
    private String statusEn;
    /**
     * 审核状态
     */
    private String approveStatus;
    /**
     * 审核流id
     */
    private String workflowId;
    /**
     * 备注
     */
    private String remark;
    /**
     * 模糊查询
     */
    @TableField(exist = false)
    private String searchKeyWord;

    /**
     *查询类型
     */
    @TableField(exist = false)
    private String searchType;

    @TableField(exist = false)
    private String taskId;

    @TableField(exist = false)
    private String warehousePositioning;

    @TableField(exist = false)
    private String editFlag;

    @TableField(exist = false)
    private List<TradeWarehouseReceiptAppl> tradeWarehouseReceiptAppls;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    public static class QueryFiles {

        public static final String COMP_ID = "comp_id";

        public static final String DELETE_FLAG = "delete_flag";

    }

}
