package com.brilliance.isc.vo.model;

import com.brilliance.mda.runtime.mda.IStream;
import com.brilliance.mda.runtime.mda.impl.StreamImpl;
import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.isc.bo.Act;
import com.brilliance.isc.bo.Atd;
import com.brilliance.isc.bo.Bch;
import com.brilliance.isc.bo.Usr;
import com.brilliance.isc.common.vo.AbstractCommonVo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.math.BigDecimal;
import java.util.Date;

import static com.brilliance.mda.runtime.mda.Constants.NULLSTR;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class AttpVo extends AbstractCommonVo {
		private static Logger log = LoggerFactory.getLogger(AttpVo.class);

        //保存联行查询结果
        private  IStream bchstream = new StreamImpl();
        //GetRef
        //private transient IControl getref = new ControlImpl("getref", "GetRef", this);
        //收款对象
        private  String gors = NULLSTR;
        //Status E-nable, D-isable, I-nvisible
        private  String pansta = NULLSTR;
        //Uil Payment
        private  String payuil = NULLSTR;
        //static text 收汇款对象
        private  String shktyp = NULLSTR;
        //清算编号
        private  String sysno = NULLSTR;
        //汇款性�'�
        private  String trntyp = NULLSTR;
        //报文类型
        private  String swftyp = NULLSTR;
        //起息日期
        @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
        private  Date opndat;
        //业务种类
        private  String bustyp = NULLSTR;
        //汇款人�'�户性�'�
        private  String acctyp = NULLSTR;
        //附言
        private  String commet = NULLSTR;
        //接收行BIC
        private  String resbch = NULLSTR;
        //接收行名称
        private  String resbchnam = NULLSTR;
        //日期标签
        private  String opndatlab = NULLSTR;
        //�'�用类型
        private  String feetyp = NULLSTR;
        //SND Rol  Lable
        private  String sndlab = NULLSTR;
        //汇款人名称
        private  String orcnam = NULLSTR;
        //收款人名称
        private  String pyenam = NULLSTR;
        //收款人地址
        private  String pyeadr = NULLSTR;
        //汇款人地址
        private  String orcadr = NULLSTR;
        //附言标签
        private  String comlab = NULLSTR;
        //受益行
        private  String shouyh = NULLSTR;
        //附言72（102）
        private  String com102 = NULLSTR;
        //相关参考号
        private  String xnggbh = NULLSTR;
        //相关参考号
        private  String xnglab = NULLSTR;
        //同业代付
        private  String dfdflg = NULLSTR;
        //发报行BIC
        private  String sndbch = NULLSTR;
        //发报行名称
        private  String sndbchnam = NULLSTR;
        //�'�户类型
        private  String accmod = NULLSTR;
        //自�'�区备注label
        private  String commetlab = NULLSTR;
        //自�'�区备注
        private  String comsystbl = NULLSTR;
        //查询客户号
        //private transient IControl serpty = new ControlImpl("serpty", "查询客户号", this);
        //付款人常驻国家/地区编码
        private  String country = NULLSTR;
        //?
        //private transient IControl selbut1 = new ControlImpl("selbut1", "?", this);
        //收款人常驻国家/地区代码
        private  String paycountcode = NULLSTR;
        //?
        //private transient IControl selbut = new ControlImpl("selbut", "?", this);
        //业务类型
        private  String ywlxdm = NULLSTR;
        //是否已升级2.0
        private  String updsta = NULLSTR;
        //汇款人名称
        private  String orcnamfxps = NULLSTR;
        //汇款人地址
        private  String orcadrfxps = NULLSTR;
        //收款人名称
        private  String pyenamfxps = NULLSTR;
        //收款人地址
        private  String pyeadrfxps = NULLSTR;

		private Ptsaddp ptsaddp;

		private Act cpbact;

		private Usr usr;

		private Bch wrkbch;

		private Atd atd;

        //现汇币种
        private  String fcycur = NULLSTR;
        //现汇金额
        private BigDecimal fcyamt = Decimals.ZERO_SCALE3;
        //现汇账号
        private  String fcyacc = NULLSTR;
        //�'�汇币种
        private  String lcycur = NULLSTR;
        //�'�汇金额
        private  BigDecimal lcyamt = Decimals.ZERO_SCALE3;
        //�'�汇帐号
        private  String lcyacc = NULLSTR;
        //其他币种
        private  String othcur = NULLSTR;
        //其它金额
        private  BigDecimal othamt = Decimals.ZERO_SCALE3;
        //其它帐号
        private  String othacc = NULLSTR;

        //发起清算行行号
        private String sbnkno = NULLSTR;
        //接收清算行行号
        private String rbnkno = NULLSTR;
        //接收行行号
        private String zhogjh = NULLSTR;
        //第三偿付行信息
        private String rmbdet = NULLSTR;
        //发报行信息
        private String fabaoh = NULLSTR;

        @Override
        public void reset() {
                super.reset();
                if(atd == null){
                    atd = new Atd();
                }
        }




}