package cn.gov.customs.wxjy.analyze.pojo;
import lombok.Data;
import cn.gov.customs.wxjy.common.annotation.Excel;
import cn.gov.customs.wxjy.common.core.domain.BaseEntity;

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

/**
 * 危险品报关单头对象 WXJY_ENTRY_HEAD
 *
 * @author xiong
 * @date 2025-12-04
 */
@Data
public class EntryHead extends BaseEntity {
private static final long serialVersionUID = 1L;

    /** 报关单号 */
    private String entryId;

    /** 维护状态 */
    @Excel(name = "维护状态")
    private String mainStatus;

    /** 通关模式 */
    @Excel(name = "通关模式")
    private String passMode;

    /** 运输方式 */
    @Excel(name = "运输方式")
    private String trafMode;

    /** 出入境标志 */
    @Excel(name = "出入境标志")
    private String ieFlag;

    /** 进出境口岸 */
    @Excel(name = "进出境口岸")
    private String iePort;

    /** 申报口岸 */
    @Excel(name = "申报口岸")
    private String declPort;

    /** 所属海关 */
    @Excel(name = "所属海关")
    private String customsCode;

    /** 货物运抵(进出口)时间 */
    @Excel(name = "货物运抵(进出口)时间")
    private LocalDateTime ieDate;

    /** 申报时间 */
    @Excel(name = "申报时间")
    private LocalDateTime declDate;

    /** 是否提前申报标记 */
    @Excel(name = "是否提前申报标记")
    private String declAdvanceFlag;

    /** 自动受理时间 */
    @Excel(name = "自动受理时间")
    private LocalDateTime acceptDate;

    /** 出境报关单-货物进港时间 */
    @Excel(name = "出境报关单-货物进港时间")
    private LocalDateTime exInPortDate;

    /** 境内收发货人代码 */
    @Excel(name = "境内收发货人代码")
    private String consignScc;

    /** 境内收发货人代码 */
    @Excel(name = "境内收发货人代码")
    private String consignCode;

    /** 境内收发货人名称 */
    @Excel(name = "境内收发货人名称")
    private String consignName;

    /** 境外收发货人代码 */
    @Excel(name = "境外收发货人代码")
    private String frnConsignCode;

    /** 境外收发货人名称(中文) */
    @Excel(name = "境外收发货人名称(中文)")
    private String frnConsignName;

    /** 监管方式 */
    @Excel(name = "监管方式")
    private String tradeMode;

    /** 贸易国别代码 */
    @Excel(name = "贸易国别代码")
    private String tradeCountry;

    /** 货运量毛重 */
    @Excel(name = "货运量毛重")
    private BigDecimal grossWt;

    /** 货运量净重 */
    @Excel(name = "货运量净重")
    private BigDecimal netWt;

    /** 货运值人民币 */
    @Excel(name = "货运值人民币")
    private BigDecimal rmbPrice;

    /** 货运值美元 */
    @Excel(name = "货运值美元")
    private BigDecimal usdPrice;

    /** 集装箱数量 */
    @Excel(name = "集装箱数量")
    private BigInteger container;

    /** 报关模式 */
    @Excel(name = "报关模式")
    private String declMode;

    /** 报关单状态 */
    @Excel(name = "报关单状态")
    private String declStatus;

    /** 现场接单时间 */
    @Excel(name = "现场接单时间")
    private LocalDateTime orderReceiveDate;

    /** 接单耗时即单证审核时长(秒) */
    @Excel(name = "接单耗时即单证审核时长(秒)")
    private BigDecimal orderReceiveCost;

    /** 单证放行时间 */
    @Excel(name = "单证放行时间")
    private LocalDateTime certRlsDate;

    /** 担保放行时间 */
    @Excel(name = "担保放行时间")
    private LocalDateTime preReleaseDate;

    /** 申报单位代码 */
    @Excel(name = "申报单位代码")
    private String agentCode;

    /** 申报单位名称 */
    @Excel(name = "申报单位名称")
    private String agentName;

    /** 备注 */
    @Excel(name = "备注")
    private String noteS;

    /** 生产销售单位代码 */
    @Excel(name = "生产销售单位代码")
    private String ownerCode;

    /** 生产销售单位名称 */
    @Excel(name = "生产销售单位名称")
    private String ownerName;

    /** 转关数据发送时间 */
    @Excel(name = "转关数据发送时间")
    private LocalDateTime examDate;

    /** 转关数据核销时间 */
    @Excel(name = "转关数据核销时间")
    private LocalDateTime checkDate;

    /** 完整申报电子申报时间 */
    @Excel(name = "完整申报电子申报时间")
    private LocalDateTime compEleDate;

    /** 结关时间 */
    @Excel(name = "结关时间")
    private LocalDateTime releaseDate;

    /** 海关通关时间(秒) */
    @Excel(name = "海关通关时间(秒)")
    private BigDecimal cuCost;

    /** 总体通关时间(秒) */
    @Excel(name = "总体通关时间(秒)")
    private BigDecimal totalCost;

    /** 申报前准备时间(秒) */
    @Excel(name = "申报前准备时间(秒)")
    private BigDecimal beforeDeclCost;

    /** 是否专业审单 */
    @Excel(name = "是否专业审单")
    private String profVerifyFlag;

    /** 是否新两步申报标记 */
    @Excel(name = "是否新两步申报标记")
    private String newTwoStepFlag;

    /** 电子申报时间 */
    @Excel(name = "电子申报时间")
    private LocalDateTime eleDeclDate;

    /** 现场验估时间 */
    @Excel(name = "现场验估时间")
    private LocalDateTime assessStartDate;

    /** 验估处置完毕时间 */
    @Excel(name = "验估处置完毕时间")
    private LocalDateTime assessEndDate;

    /** 退单时间 */
    @Excel(name = "退单时间")
    private LocalDateTime refundDate;

    /** 是否退过单标记 */
    @Excel(name = "是否退过单标记")
    private String refundFlag;

    /** 查验指令下达时间 */
    @Excel(name = "查验指令下达时间")
    private LocalDateTime manCreateTime;

    /** 查验开始时间 */
    @Excel(name = "查验开始时间")
    private LocalDateTime manChkTimeStart;

    /** 查验结束时间 */
    @Excel(name = "查验结束时间")
    private LocalDateTime manChkTimeEnd;

    /** 查验关区 */
    @Excel(name = "查验关区")
    private String checkCustomsCode;

    /** 是否查验 */
    @Excel(name = "是否查验")
    private String checkFlag;

    /** 处理结果 */
    @Excel(name = "处理结果")
    private String manProcResult;

    /** 处理意见 */
    @Excel(name = "处理意见")
    private String manProcIdea;

}
