BasfMawb.java 9.13 KB
package com.erry.iclear.dateInterface.api.request;

import com.erry.iclear.dateInterface.repository.MawbAdd;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.*;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @author Administrator
 */

@ApiModel(value = "mawb", description = "主运单")
@Entity
@Table(name = "T_ICLEAR_API_MAWB")
@DynamicInsert
@DynamicUpdate
@Data
public class BasfMawb implements Serializable {

    private static final long serialVersionUID = -7092144710653831972L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "Id", insertable = false, nullable = false)
    private Long id;

    @Column(name = "MSGID")
    private Long msgId;

    @ApiModelProperty(value = "用户ID", name = "AppId", example = "IDE")
    @Column(name = "APPID")
    private String AppId;


    @ApiModelProperty(value = "进出口标志", name = "IEFlag", example = "固定值:E")
    @Column(name = "IEFLAG")
    private String ieFlag;

    @ApiModelProperty(value = "报关类型", name = "Type", example = "固定值:EX")
    @Column(name = "TYPE")
    private String type;

    @ApiModelProperty(value = "申报单位代码", name = "agentCode", example = "固定值:1111980005")
    //@NotBlank(message="参数agentCode不能为空")
    @Column(name = "AGENTCODE")
    private String agentCode;

    @ApiModelProperty(value = "申报单位名称", name = "agentName", example = "固定值:联邦快递(中国)有限公司")
    //@NotBlank(message="参数agentName不能为空")
    @Column(name = "AGENTNAME")
    private String agentName;

    @ApiModelProperty(value = "提单号", name = "billNo", example = "固定值:有总单号则取值‘总单号_运单号‘,没有总单号则取值‘运单号‘")
    @Column(name = "BILLNO")
    private String billNo;

    @ApiModelProperty(value = "合同号", name = "contrNo", example = "")
    @Column(name = "CONTRNO")
    private String contrNo;

    @ApiModelProperty(value = "主管海关(申报地海关)", name = "customMaster", example = "固定值:0101")
    @Column(name = "CUSTOMMASTER")
    private String customMaster;

    @ApiModelProperty(value = "征免性质", name = "cutMode", example = "101")
    @Column(name = "CUTMODE")
    private String cutMode;

    @ApiModelProperty(value = "报关/转关关系标志", name = "declTrnRel", example = "固定值:0")
    //@NotBlank(message="参数declTrnRel不能为空")
    @Column(name = "DECLTRNREL")
    private String declTrnRel;

    @ApiModelProperty(value = "经停港/指运港", name = "distinatePort", example = "ASM000")
    @Column(name = "DISTINATEPORT")
    private String distinatePort;

    @ApiModelProperty(value = "报关标志", name = "EdiId", example = "001")
    @Column(name = "EDIID")
    private String ediId;

    @ApiModelProperty(value = "海关编号", name = "EntryId", example = "001")
    @Column(name = "ENTRYID")
    private String entryId;

    @ApiModelProperty(value = "运费币制", name = "feeCurr", example = "固定值:3")
    @Column(name = "FEECURR")
    private String feeCurr;

    @ApiModelProperty(value = "运费标记", name = "feeMark", example = "99.22")
    @Column(name = "FEEMARK")
    private String feeMark;

    @ApiModelProperty(value = "运费/率", name = "feeRate", example = "43.34358")
    @Column(name = "FEERATE")
    private BigDecimal feeRate;

    @ApiModelProperty(value = "毛重", name = "grossWet", example = "")
    @Column(name = "CROSSWET")
    private BigDecimal grossWet;

    @ApiModelProperty(value = "出入境关闭", name = "IEPort", example = "固定值:0101")
    @Column(name = "IEPORT")
    private String iePort;

    @ApiModelProperty(value = "录入人名称", name = "InputerName", example = "固定值:0101")
    @Column(name = "INPUTERNAME")
    private String inputerName;

    @ApiModelProperty(value = "保险费币制", name = "insurCurr", example = "MOP")
    @Column(name = "INSURCURR")
    private String insurCurr;

    @ApiModelProperty(value = "保险费标记", name = "insurMark", example = "固定值:3")
    @Column(name = "INSURMARK")
    private String insurMark;

    @ApiModelProperty(value = "保险费/率", name = "insurRate", example = "")
    @Column(name = "INSURRATE")
    private BigDecimal insurRate;

    @ApiModelProperty(value = "备案号", name = "manualNo", example = "")
    @Column(name = "MANUALNO")
    private String manualNo;

    @ApiModelProperty(value = "净重", name = "netWt", example = "")
    @Column(name = "NETWT")
    private BigDecimal netWt;

    @ApiModelProperty(value = "杂费币制", name = "otherCurr", example = "")
    @Column(name = "OTHERCURR")
    private String otherCurr;

    @ApiModelProperty(value = "杂费/率", name = "otherRate", example = "")
    @Column(name = "OTHERRATE")
    private BigDecimal otherRate;

    @ApiModelProperty(value = "杂费标志", name = "otherMark", example = "")
    @Column(name = "OTHERMARK")
    private String otherMark;

    @ApiModelProperty(value = "消费使用/生产销售单位代码", name = "ownerCode", example = "Z321654987")
    @Column(name = "OWNERCODE")
    private String ownerCode;

    @ApiModelProperty(value = "消费使用/生产销售单位名称", name = "ownerName", example = "上海保险")
    @Column(name = "OWNERNAME")
    private String ownerName;

    @ApiModelProperty(value = "件数", name = "packNo", example = "")
    @Column(name = "PACKNO")
    private Integer packNo;

    @ApiModelProperty(value = "预录入编号", name = "preEntryId", example = "")
    private String preEntryId;

    @ApiModelProperty(value = "启运国/运抵国", name = "tradeCountry", example = "USA")
    @Column(name = "TRADECOUNTRY")
    private String tradeCountry;

    @ApiModelProperty(value = "监管方式", name = "tradeMode", example = "0200")
    @Column(name = "TRADEMODE")
    private String tradeMode;

    @ApiModelProperty(value = "境内收发货人编号", name = "tradeCode", example = "Z321654987")
    @Column(name = "TRADECODE")
    private String tradeCode;

    @ApiModelProperty(value = "运输方式代码", name = "trafMode", example = "1")
    @Column(name = "TRAFMODE")
    private String trafMode;

    @ApiModelProperty(value = "境内收发货人名称", name = "tradeName", example = "上海铢怡国际货物运输代理有限公司")
    @Column(name = "TRADENAME")
    private String tradeName;

    @ApiModelProperty(value = "成交方式", name = "transMode", example = "2")
    @Column(name = "TRANSMODE")
    private String transMode;

    @ApiModelProperty(value = "包装种类", name = "wrapType", example = "22")
    @Column(name = "WRAPTYPE")
    private String wrapType;

    @ApiModelProperty(value = "生产核销单位统一信用代码---报关形式类型", name = "TradeCodeScc", example = "A74125896321456987")
    @Column(name = "TRADECODESCC")
    private String tradeCodeScc;

    @ApiModelProperty(value = "消费使用/生产销售单位单位统一编码", name = "ownerCodeScc", example = "")
    @Column(name = "OWNERCODESCC")
    private String ownerCodeScc;

    @ApiModelProperty(value = "贸易国别", name = "tradeAreaCode", example = "")
    @Column(name = "TRADEAREACODE")
    private String tradeAreaCode;

    @ApiModelProperty(value = "标记及号码", name = "markNo", example = "N/M")
    @Column(name = "MARKNO")
    private String markNo;

    @ApiModelProperty(value = "入境口岸代码", name = "entyPortCode", example = "固定值:310302")
    @Column(name = "ENTYPORTCODE")
    private String entyPortCode;

    @ApiModelProperty(value = "入境口岸代码", name = "goodsPlace", example = "固定值:空值")
    @Column(name = "GOODSPLACE")
    private String goodsPlace;

    @ApiModelProperty(value = "申报人员姓名---报关员证号", name = "declareName", example = "固定值:空值")
    @Column(name = "DECLARENAME")
    private String declareName;

    @ApiModelProperty(value = "境外发货人代码", name = "overseasConsignorCode", example = "")
    private String overseasConsignorCode;

    @ApiModelProperty(value = "境外收货人编码", name = "overseasConsigneeCode", example = "")
    @Column(name = "OVERSEASCONSIGNEECODE")
    private String overseasConsigneeCode;

    @ApiModelProperty(value = "境外收货人名称(外文)", name = "overseasConsigneeEname", example = "")
    @Column(name = "OVERSEASCONSIGNEEENAME")
    private String overseasConsigneeEname;

    @ApiModelProperty(value = "运单ID", name = "consignmentCodeId", example = "")
    @Column(name = "CONSIGNMENTCODEID")
    private Long consignmentCodeId;

    @ApiModelProperty(value = "EANNo", name = "EANNo", example = "")
    @Column(name = "EANNO")
    private String EANNo;

    @Valid
    @ApiModelProperty(value = "运单明细", name = "BasfMawbDetail", example = "")
    @OneToMany(cascade = CascadeType.PERSIST)
    @JoinColumn(name = "mawbId")
    private List<BasfMawbDetail> mawbDetailList;
}