package com.ruoyi.shipping.domain;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 凯和费用协议对象 t_ship_deal
 * 
 * @author ruoyi
 * @date 2022-01-07
 */
public class TShipDeal extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long fId;

    /** 协议名称 */
    @Excel(name = "协议名称")
    private String fName;

    /** 协议类型（1 收费 2 付费） */
    @Excel(name = "协议类型", readConverterExp = "1=,收=费,2=,付=费")
    private String fTypes;

    /** 起运港 */
    @Excel(name = "起运港")
    private Long fLoadportId;

    /** 目的港 */
    @Excel(name = "目的港")
    private Long fDestportId;

    /** 起运港中文名 */
    @Excel(name = "起运港中文名")
    private String fLoadportName;

    /** 目的港中文名 */
    @Excel(name = "目的港中文名")
    private String fDestportName;

    /** 起运港运输条款 */
    @Excel(name = "起运港运输条款")
    private String fLoadportMode;

    /** 目的港运输条款 */
    @Excel(name = "目的港运输条款")
    private String fDestportMode;

    /** 有效期开始 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "有效期开始", width = 30, dateFormat = "yyyy-MM-dd")
    private Date fPeriodStart;

    /** 有效期结束 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "有效期结束", width = 30, dateFormat = "yyyy-MM-dd")
    private Date fPeriodEnd;
    /**
     * 协议费用明细
     */
    @TableField(exist = false)
    private List<TShipDealItem> tShipDealItemList;
    //查询制单时间区间
    @TableField(exist = false)
    private List<String> cLoadDate;

    public List<String> getcLoadDate() {
        return cLoadDate;
    }

    public void setcLoadDate(List<String> cLoadDate) {
        this.cLoadDate = cLoadDate;
    }

    public List<TShipDealItem> gettShipDealItemList() {
        return tShipDealItemList;
    }

    public void settShipDealItemList(List<TShipDealItem> tShipDealItemList) {
        this.tShipDealItemList = tShipDealItemList;
    }

    public void setfId(Long fId)
    {
        this.fId = fId;
    }

    public Long getfId() 
    {
        return fId;
    }
    public void setfName(String fName) 
    {
        this.fName = fName;
    }

    public String getfName() 
    {
        return fName;
    }
    public void setfTypes(String fTypes) 
    {
        this.fTypes = fTypes;
    }

    public String getfTypes() 
    {
        return fTypes;
    }
    public void setfLoadportId(Long fLoadportId) 
    {
        this.fLoadportId = fLoadportId;
    }

    public Long getfLoadportId() 
    {
        return fLoadportId;
    }
    public void setfDestportId(Long fDestportId) 
    {
        this.fDestportId = fDestportId;
    }

    public Long getfDestportId() 
    {
        return fDestportId;
    }
    public void setfLoadportName(String fLoadportName) 
    {
        this.fLoadportName = fLoadportName;
    }

    public String getfLoadportName() 
    {
        return fLoadportName;
    }
    public void setfDestportName(String fDestportName) 
    {
        this.fDestportName = fDestportName;
    }

    public String getfDestportName() 
    {
        return fDestportName;
    }
    public void setfLoadportMode(String fLoadportMode) 
    {
        this.fLoadportMode = fLoadportMode;
    }

    public String getfLoadportMode() 
    {
        return fLoadportMode;
    }
    public void setfDestportMode(String fDestportMode) 
    {
        this.fDestportMode = fDestportMode;
    }

    public String getfDestportMode() 
    {
        return fDestportMode;
    }
    public void setfPeriodStart(Date fPeriodStart) 
    {
        this.fPeriodStart = fPeriodStart;
    }

    public Date getfPeriodStart() 
    {
        return fPeriodStart;
    }
    public void setfPeriodEnd(Date fPeriodEnd) 
    {
        this.fPeriodEnd = fPeriodEnd;
    }

    public Date getfPeriodEnd() 
    {
        return fPeriodEnd;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("fId", getfId())
            .append("fName", getfName())
            .append("fTypes", getfTypes())
            .append("fLoadportId", getfLoadportId())
            .append("fDestportId", getfDestportId())
            .append("fLoadportName", getfLoadportName())
            .append("fDestportName", getfDestportName())
            .append("fLoadportMode", getfLoadportMode())
            .append("fDestportMode", getfDestportMode())
            .append("fPeriodStart", getfPeriodStart())
            .append("fPeriodEnd", getfPeriodEnd())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("tShipDealItemList", gettShipDealItemList())
            .toString();
    }
}
