private InterBankOpenAcctInfo GetModel(bool isAdd)
 {
     InterBankOpenAcctInfo info=new InterBankOpenAcctInfo();
     info.AMOUNT = double.Parse(string.IsNullOrEmpty(交易金额.Text) ? "0" : 交易金额.Text);
     info.AUTO_REDEPO = 定期自动转存标志.Text == "1" ? true : false;
     info.CURRENT_ACCOUNT = 资金来源活期账号.Text;
     info.CUSTOMER_CODE = 客户内码.Text;
     info.DEPOSIT_TYPE = (AidTypeDefine.INTER_BANK_DEPOSITING_CATEGORY)Enum.Parse(typeof(AidTypeDefine.INTER_BANK_DEPOSITING_CATEGORY), 存款种类.Text);
     info.INTEREST_ACCOUNT = 收息账号.Text;
     info.INTEREST_BEARING_MANNER = (AidTypeDefine.INTER_BANK_COUPON_TYPE)Enum.Parse(typeof(AidTypeDefine.INTER_BANK_COUPON_TYPE), 计息方式.Text);
     info.BIZ_TERM_TYPE = 业务类型.Text == "1" ? AidTypeDefine.INTER_BANK_BIZ_TERM_TYPE.Current : AidTypeDefine.INTER_BANK_BIZ_TERM_TYPE.Fixed;
     info.MATURITY_DATE =string.IsNullOrEmpty(到期日期.Text) ? DateTime.Now : DateTime.Parse(到期日期.Text);
     info.NOTICE_NO = 通知单编号.Text;
     info.OPERATION_TYPE = isAdd ? AidTypeDefine.INTER_BANK_OPERATION_TYPE.CreateNew : AidTypeDefine.INTER_BANK_OPERATION_TYPE.Cancel;
     info.RATE = double.Parse(string.IsNullOrEmpty(利率.Text) ? "0" : 利率.Text);
     info.VALUE_DATE =string.IsNullOrEmpty(起息日期.Text.Trim()) ? DateTime.Now : DateTime.Parse(起息日期.Text);
     return info;
 }
        /// <summary>
        /// 活期定期开户
        /// </summary>
        /// <param name="info"></param>
        /// <param name="isCurrent">活期or定期</param>
        /// <param name="isCancel">是否撤销</param>
        /// <param name="outmsg"></param>
        /// <returns></returns>
        public static RegularResult InterBankOpenAccount(string orgID, string tellerNO, DateTime tradeDate, InterBankOpenAcctInfo info)
        {
            string outmsg = "";
            bool isOk = ClientSyncHelper.OnOpenAccount(orgID, tellerNO, tradeDate, info, out outmsg);
            if (!isOk)
            {
                outmsg = string.Format("{0}{1}", MsgHandlerEntry.Info_Return_Core, outmsg);
            }

            return new RegularResult(isOk, outmsg);
        }
        /// <summary>
        /// 活期定期开户
        /// </summary>
        /// <param name="info"></param>
        /// <param name="outmsg"></param>
        /// <returns></returns>
        internal static bool OnOpenAccount(string orgID, string tellerNO, DateTime tradeDate, InterBankOpenAcctInfo info, out string outmsg)
        {
            outmsg = "";
            byte[] codemsg = null;
            bool sent = false;
            string dbexception = "";
            MessageData reqdata = null;
            MessageData recdata = null;
            Guid msgid = Guid.Empty;
            try
            {
                msgid = MsgTransferUtility.OpenAccount(orgID, tellerNO, tradeDate, info, ref codemsg);
                reqdata = MsgHandlerEntry.CreateMessageData(msgid, PlatformType.Core, tellerNO, orgID, (int)MessageBizType.CoreInterBankOpenAccount, codemsg, info.NOTICE_NO);
#if MQSYNC
                recdata = MQMsgHandlerEntry.DeliverMessage(reqdata, codemsg, out sent);
#else
                recdata = MsgHandlerEntry.DeliverMessage(MsgHandlerEntry.CreateMessageData(msgid, PlatformType.Core, codemsg));
#endif

                InterBankOpenAcctData data = MsgTransfer.DecodeMsg(recdata.MessageID, recdata.CurrentRespPackage.PackageMessage) as InterBankOpenAcctData;
                if (data != null)
                {
                    if (!String.IsNullOrEmpty(data.SyserrHandler.Message))
                    {
                        outmsg = data.SyserrHandler.Message;
                    }
                    else
                    {
                        outmsg = MsgHandlerEntry.ExtractOMsg(data);
                    }

                    if (string.IsNullOrEmpty(outmsg) || outmsg.Trim() == "")
                        return true;
                }
                else
                {
                    outmsg = MsgHandlerEntry.Type_Convert_Error;
                }

                OnUpdateDBLog(recdata.MessageID, outmsg, MsgLogState.RecvFailed, out dbexception);
                return false;
            }
            catch (Exception ex)
            {
                outmsg = ex.Message;
                OnException(sent, reqdata, recdata, msgid, ex, outmsg);
                return false;
            }

        }
        /// <summary>
        /// 活期定期开户
        /// </summary>
        /// <param name="info"></param>
        /// <param name="codemsg"></param>
        /// <returns></returns>
        public static Guid OpenAccount(string orgID, string tellerNO, DateTime tradeDate, InterBankOpenAcctInfo info, ref byte[] codemsg)
        {
            InterBankOpenAcctData data = new InterBankOpenAcctData();

            data.RQhdrHandler.SYS_TXID = "415660"; // 新增,主机启动原交易码
            data.RQhdrHandler.TX_OUNO = orgID;
            data.RQhdrHandler.TEL_ID = tellerNO;
            data.RQhdrHandler.TX_MODE = "0";
            data.RQhdrHandler.TX_DTE = tradeDate.ToString("yyyy-MM-dd");
            data.RQhdrHandler.SRV_JNO = CommonDataHelper.SpaceString(12);
            data.RQhdrHandler.SRV_REV_JNO = CommonDataHelper.SpaceString(12);
            data.RQhdrHandler.HOST_JNO = CommonDataHelper.SpaceString(11);

            data.RQDTL.OPERATE_TYPE = ((int)info.OPERATION_TYPE).ToString();
            data.RQDTL.ACCOUNT_DATE = tradeDate.ToString("yyyyMMdd");
            data.RQDTL.NOTICE_NO = info.NOTICE_NO;
            data.RQDTL.BUSINESS_TYPE = ((int)info.BIZ_TERM_TYPE).ToString();
            if (info.OPERATION_TYPE == AidTypeDefine.INTER_BANK_OPERATION_TYPE.CreateNew)
            {
                data.RQDTL.HANDLE_ORGNAZTION = info.OPERATE_ORGANIZATION;
                data.RQDTL.APPROVE_ORGNAZTION = orgID;
                data.RQDTL.DEPOSIT_TYPE = ((int)info.DEPOSIT_TYPE).ToString();
                data.RQDTL.CURRENT_ACCOUNT = info.CURRENT_ACCOUNT;
                data.RQDTL.INTEREST_ACCOUNT = info.INTEREST_ACCOUNT;
                data.RQDTL.AUTO_REDEPO = info.AUTO_REDEPO ? "1" : "0";
                data.RQDTL.VALUE_DATE = info.VALUE_DATE.ToString("yyyyMMdd");
                data.RQDTL.MATURITY_DATE = info.MATURITY_DATE.ToString("yyyyMMdd");
                data.RQDTL.AMOUNT = info.AMOUNT;
                data.RQDTL.RATE = info.RATE;
                data.RQDTL.INTEREST_BEARING_MANNER = ((int)info.INTEREST_BEARING_MANNER).ToString();
                data.RQDTL.CUSTOMER_CODE = info.CUSTOMER_CODE;
                data.RQDTL.HANDLE_TELLER = tellerNO;
                data.RQDTL.APPROVE_TELLER = tellerNO;
                if (info.BIZ_TERM_TYPE == AidTypeDefine.INTER_BANK_BIZ_TERM_TYPE.Current) // 活期开户
                {
                    data.RQDTL.PRODUCT_TYPE = ((int)AidTypeDefine.INTER_BANK_PROCUDT_CATEGORY_ID.Current).ToString();
                    data.RQDTL.PRODUCT_CODE = ((int)AidTypeDefine.INTER_BANK_PRODUCT_CODE.Current_Fixed).ToString();
                    data.RQDTL.BUSINESS_TYPE = ((int)AidTypeDefine.INTER_BANK_BIZ_TERM_TYPE.Current).ToString();
                }
                else // 定期开户
                {
                    data.RQDTL.PRODUCT_TYPE = ((int)AidTypeDefine.INTER_BANK_PROCUDT_CATEGORY_ID.Fixed).ToString();
                    data.RQDTL.PRODUCT_CODE = ((int)AidTypeDefine.INTER_BANK_PRODUCT_CODE.Current_Fixed).ToString();
                    data.RQDTL.BUSINESS_TYPE = ((int)AidTypeDefine.INTER_BANK_BIZ_TERM_TYPE.Fixed).ToString();
                }
            }

            return MsgTransfer.CodeMsgToBinary(data, ref codemsg);
        }