<?php

/**
 * Created by PhpStorm.
 * User: boyer
 * Date: 2020/3/28
 * Time: 13:36
 */
class Api_Inv_InvtHeadType extends Api_Inv_Abstract
{
    public $BondInvtNo;//清单编号;海关审批通过后系统自动返填
    public $SeqNo;//清单预录入统一编号;首次导入为空，导入成功后返回预录入编号
    public $PutrecNo;//备案编号;
    public $EtpsInnerInvtNo;//企业内部清单编号;由企业自行编写
    public $BizopEtpsSccd;//经营企业社会信用代码;
    public $BizopEtpsno;//经营企业编号;
    public $BizopEtpsNm;//经营企业名称;
    public $RcvgdEtpsno;//收货企业编号;
    public $RvsngdEtpsSccd;//收发货企业社会信用代码;
    public $RcvgdEtpsNm;//收货企业名称;
    public $DclEtpsSccd;//申报企业社会信用代码;
    public $DclEtpsno;//申报企业编号;
    public $DclEtpsNm;//申报企业名称;
    public $InvtDclTime;//清单申报时间;系统自动反填
    public $EntryDclTime;//报关单申报日期;清单报关时使用。海关端报关单入库时，反填并反馈企业端
    public $EntryNo;//对应报关单编号;清单报关时使用。海关端报关单入库时，反填并反馈企业端
    public $RltInvtNo;//关联清单编号;结转类专用
    public $RltPutrecNo;//关联备案编号;结转类专用
    public $RltEntryNo;//关联报关单编号;可录入或者系统自动生成报关单后返填
    //;二线取消报关的情况下使用，用于生成区外一般贸易报关单。暂未使用
    public $RltEntryBizopEtpsSccd;//关联报关单境内收发货人社会信用代码;二线取消报关的情况下使用，用于生成区外一般贸易报关单。暂未使用
    public $RltEntryBizopEtpsno;//关联报关单境内收发货人编号;当报关类型DCLCUS_TYPECD字段为1时，该字段必填
    //;报关类型为关联报关时必填。二线取消报关的情况下使用，用于生成区外一般贸易报关单。暂未使用
    public $RltEntryBizopEtpsNm;//关联报关单境内收发货人名称;当报关类型DCLCUS_TYPECD字段为1时，该字段必填
    //;同上
    public $RltEntryRvsngdEtpsSccd;//关联报关单收发货单位社会统一信用代码;二线取消报关的情况下使用，用于生成区外一般贸易报关单。暂未使用
    public $RltEntryRcvgdEtpsno;//关联报关单海关收发货单位编码;当报关类型DCLCUS_TYPECD字段为1时，该字段必填
    //;报关类型为关联报关时必填。二线取消报关的情况下使用，用于生成区外一般贸易报关单。
    public $RltEntryRcvgdEtpsNm;//关联报关单收发货单位名称;当报关类型DCLCUS_TYPECD字段为1时，该字段必填
    public $RltEntryDclEtpsSccd;//关联报关单申报单位社会统一信用代码;二线取消报关的情况下使用，用于生成区外一般贸易报关单。暂未使用
    public $RltEntryDclEtpsno;//关联报关单海关申报单位编码;当报关类型DCLCUS_TYPECD字段为1时，该字段必填
    //;报关类型为关联报关时必填。二线取消报关的情况下使用，用于生成区外一般贸易报关单。
    public $RltEntryDclEtpsNm;//关联报关单申报单位名称;当报关类型DCLCUS_TYPECD字段为1时，该字段必填
    public $ImpexpPortcd;//进出境关别;
    public $DclPlcCuscd;//申报地关区代码;
    public $ImpexpMarkcd;//进出口标记代码;I：进口,E：出口
    public $MtpckEndprdMarkcd;//料件成品标记代码;I：料件，E：成品
    public $SupvModecd;//监管方式代码;
    public $TrspModecd;//运输方式代码;
    public $DclcusFlag;//是否报关标志;1.报关2.非报关
    public $DclcusTypecd;//报关类型代码;1.关联报关2.对应报关；
    //;当报关标志为“1.报关”时，企业可选择“关联报关单”/“对应报关单”；
    //;当报关标志填写为“2.非报关”时，报关标志填写为“2.非报关”该项不可填。
    public $VrfdedMarkcd;//核扣标记代码;系统自动返填
    public $InvtIochkptStucd;//清单进出卡口状态代码;系统自动返填
    public $PrevdTime;//预核扣时间;
    public $FormalVrfdedTime;//正式核扣时间;
    public $ApplyNo;//申请表编号;
    public $ListType;//流转类型;非流转类不填写，流转类填写: A：加工贸易深加工结转、B：加工贸易余料结转、C：不作价设备结转
    public $InputCode;//录入企业编号;
    public $InputCreditCode;//录入企业社会信用代码;
    public $InputName;//录入单位名称;
    public $IcCardNo;//申报人IC卡号;
    public $InputTime;//录入日期;
    public $ListStat;//清单状态;系统自动返填
    public $CorrEntryDclEtpsSccd;//对应报关单申报单位社会统一信用代码;
    public $CorrEntryDclEtpsNo;//对应报关单申报单位代码;当报关类型DCLCUS_TYPECD字段为2时，该字段必填
    public $CorrEntryDclEtpsNm;//对应报关单申报单位名称;当报关类型DCLCUS_TYPECD字段为2时，该字段必填
    public $DecType;//报关单类型;1:进口报关单
    //2:出口报关单
    //3:进境备案清单
    //4:出境备案清单
    //5:进境两单一审备案清单
    //6:出境两单一审备案清单
    //B:转关提前进境备案清单
    //C:转关提前出境备案清单
    //F:出口二次转关单
    //G:进口提前/工厂验放报关单
    //H:出口提前/工厂验放报关单
    //I:进口提前/暂时进口报关单
    //J:出口提前/暂时出口报关单
    //K:进口提前/中欧班列报关单
    //L:出口提前/中欧班列报关单
    //M:出口提前/市场采购报关单
    //N:出口提前/空运联程报关单
    //O:进口提前/工厂验放备案清单
    //P:出口提前/工厂验放备案清单
    //Q:进口提前/暂时进口备案清单
    //R:出口提前/暂时出口备案清单
    //S:进口提前/中欧班列备案清单
    //T:出口提前/中欧班列备案清单
    //U:出口提前/市场采购备案清单
    //V:出口提前/空运联程备案清单
    public $StshipTrsarvNatcd;//起运/运抵国(地区）;
    public $InvtType;//清单类型;(SAS项目新增)//;标识清单类别，0：普通清单，1：集报清单，3：先入区后报关，4：简单加工，5：保税展示交易，6：区内流转，7：区港联动，8:保税电商，9：一纳成品内销默认为0：普通清单
    public $EntryStucd;//报关状态;(SAS项目新增)
    //;标明对应（关联）报关单放行状态，目前只区分 0：未放行，1：已放行。该字段用于区域或物流账册的清单，该类型清单满足两个条件才能核扣：报关单被放行+货物全部过卡
    public $PassportUsedTypeCd;//核放单生成标志代码;(SAS项目新增)
    public $Rmk;//备注;
    public $DclTypecd;//申报类型;1-备案申请 2-变更申请 3-删除申请（目前默认为：1，后期会增加2和3）
    public $NeedEntryModified;//报关单同步修改标志;
    public $LevyBlAmt;//计征金额;
    public $ChgTmsCnt;//变更次数;有变更时填写
    public $GenDecFlag;//是否生成报关单
    public function setFromArray($headType){
        foreach ($headType as $key=>$value){
            if(property_exists($this,$key)){
                $this->$key=$value;
                $this->storeData[$key]=$value;
            }
        }
    }
}