internal static InterBankNoticeLetterInfo OnRetrieveNoticeLetter(DateTime tradeDate, string tradeOrg, string tellerNo, InterBankNoticeQueryInfo info, out string outmsg) { outmsg = ""; byte[] codemsg = null; bool sent = false; string dbexception = ""; MessageData reqdata = null; MessageData recdata = null; Guid msgid = Guid.Empty; InterBankNoticeLetterInfo resultdetail = null; try { msgid = MsgTransferUtility.RetrieveNoticeLetter(tradeDate,tradeOrg, tellerNo, info, ref codemsg); reqdata = MsgHandlerEntry.CreateMessageData(msgid, PlatformType.Core, tellerNo, tradeOrg, (int)MessageBizType.CoreInterBankNoticeLetter, codemsg, info.NoticeID); #if MQSYNC recdata = MQMsgHandlerEntry.DeliverMessage(reqdata, codemsg, out sent); #else recdata = MsgHandlerEntry.DeliverMessage(MsgHandlerEntry.CreateMessageData(msgid, PlatformType.Core, codemsg)); #endif InterBankNoticeLetterData data = MsgTransfer.DecodeMsg(recdata.MessageID, recdata.CurrentRespPackage.PackageMessage) as InterBankNoticeLetterData; if (data != null) { if (!String.IsNullOrEmpty(data.SyserrHandler.Message)) { outmsg = data.SyserrHandler.Message; } else if (data.OmsgHandler.NUM_ENT > 0) { outmsg = MsgHandlerEntry.ExtractOMsg(data); } else { if (data.OData != null) { resultdetail = new InterBankNoticeLetterInfo(); resultdetail.ACCOUNT_DATE = CommonDataHelper.StrTrimer(data.OData.ACCOUNT_DATE, null); resultdetail.NOTICE_NO = CommonDataHelper.StrTrimer(data.OData.NOTICE_NO, null); resultdetail.NOTICE_TYPE = string.IsNullOrEmpty(data.OData.NOTICE_TYPE) ? AidTypeDefine.INTER_BANK_NOTICE_TYPE.OpenAccount : (AidTypeDefine.INTER_BANK_NOTICE_TYPE)Enum.Parse(typeof(AidTypeDefine.INTER_BANK_NOTICE_TYPE), CommonDataHelper.StrTrimer(data.OData.NOTICE_TYPE, null)); resultdetail.BUSINESS_TYPE = string.IsNullOrEmpty(data.OData.BUSINESS_TYPE) ? AidTypeDefine.INTER_BANK_BIZ_TERM_TYPE.Current : (AidTypeDefine.INTER_BANK_BIZ_TERM_TYPE)Enum.Parse(typeof(AidTypeDefine.INTER_BANK_BIZ_TERM_TYPE), CommonDataHelper.StrTrimer(data.OData.BUSINESS_TYPE, null)); resultdetail.ACCOUNT = CommonDataHelper.StrTrimer(data.OData.ACCOUNT_NO, null); resultdetail.CURRENCY = CommonDataHelper.StrTrimer(data.OData.CURRENCY, null); resultdetail.CUSTOMER_TYPE = CommonDataHelper.StrTrimer(data.OData.CUSTOMER_TYPE, null); resultdetail.CASH_PROPERTY = CommonDataHelper.StrTrimer(data.OData.CASH_PROPERTY, null); resultdetail.PRODUCT_TYPE = CommonDataHelper.StrTrimer(data.OData.PRODUCT_TYPE, null); resultdetail.PRODUCT_CODE = CommonDataHelper.StrTrimer(data.OData.PRODUCT_CODE, null); resultdetail.DEPOSIT_TYPE = string.IsNullOrEmpty(data.OData.DEPOSIT_TYPE) ? AidTypeDefine.INTER_BANK_DEPOSITING_CATEGORY.Other_Banks : (AidTypeDefine.INTER_BANK_DEPOSITING_CATEGORY)Enum.Parse(typeof(AidTypeDefine.INTER_BANK_DEPOSITING_CATEGORY), CommonDataHelper.StrTrimer(data.OData.DEPOSIT_TYPE, null)); resultdetail.ACCOUNT_PROPERTY = CommonDataHelper.StrTrimer(data.OData.ACCOUNT_PROPERTY, null); resultdetail.ACCOUNT_TYPE = CommonDataHelper.StrTrimer(data.OData.ACCOUNT_TYPE, null); resultdetail.CURRENT_ACCOUNT = CommonDataHelper.StrTrimer(data.OData.CURRENT_ACCOUNT, null); resultdetail.INTEREST_ACCOUNT = CommonDataHelper.StrTrimer(data.OData.INTEREST_ACCOUNT, null); resultdetail.FIXED_NEW_ACCOUNT = CommonDataHelper.StrTrimer(data.OData.FIXED_NEW_ACCOUNT, null); resultdetail.VOUCHER_NO = CommonDataHelper.StrTrimer(data.OData.VOUCHER_NO, null); resultdetail.VOUCHER_NEW_NO = CommonDataHelper.StrTrimer(data.OData.VOUCHER_NEW_NO, null); resultdetail.AUTO_REDEPO = CommonDataHelper.StrTrimer(data.OData.AUTO_REDEPO, null) == "1"; resultdetail.DEPOSIT_TERM = CommonDataHelper.StrTrimer(data.OData.DEPOSIT_TERM, null); resultdetail.VALUE_DATE = CommonDataHelper.StrTrimer(data.OData.VALUE_DATE, null); resultdetail.MATURITY_DATE = CommonDataHelper.StrTrimer(data.OData.MATURITY_DATE, null); resultdetail.AMOUNT = CommonDataHelper.ConvertDecimal(CommonDataHelper.StrTrimer(data.OData.AMOUNT, null), 6); resultdetail.RATE = CommonDataHelper.ConvertDecimal(CommonDataHelper.StrTrimer(data.OData.RATE, null), 6); resultdetail.INTEREST_BEARING_MANNER = string.IsNullOrEmpty(data.OData.INTEREST_BEARING_MANNER) ? AidTypeDefine.INTER_BANK_COUPON_TYPE.InterestWithPrincipal : (AidTypeDefine.INTER_BANK_COUPON_TYPE)Enum.Parse(typeof(AidTypeDefine.INTER_BANK_COUPON_TYPE), CommonDataHelper.StrTrimer(data.OData.INTEREST_BEARING_MANNER, null)); resultdetail.INTEREST = CommonDataHelper.ConvertDecimal(CommonDataHelper.StrTrimer(data.OData.INTEREST, null), 6); resultdetail.CUSTOMER_CODE = CommonDataHelper.StrTrimer(data.OData.CUSTOMER_CODE, null); resultdetail.BANK_FLAG = CommonDataHelper.StrTrimer(data.OData.BANK_FLAG, null); resultdetail.HANDLE_ORGNAZTION = CommonDataHelper.StrTrimer(data.OData.HANDLE_ORGNAZTION, null); resultdetail.APPROVE_ORGNAZTION = CommonDataHelper.StrTrimer(data.OData.APPROVE_ORGNAZTION, null); resultdetail.HANDLE_TELLER = CommonDataHelper.StrTrimer(data.OData.HANDLE_TELLER, null); resultdetail.APPROVE_TELLER = CommonDataHelper.StrTrimer(data.OData.APPROVE_TELLER, null); resultdetail.HANDLE_FLAG = CommonDataHelper.StrTrimer(data.OData.HANDLE_FLAG, null); resultdetail.TRADE_FLOW_NO = CommonDataHelper.StrTrimer(data.OData.TRADE_FLOW_NO, null); resultdetail.CHILD_TRADE_FLOW_NO = CommonDataHelper.StrTrimer(data.OData.CHILD_TRADE_FLOW_NO, null); resultdetail.TELLER_FLOW_NO = CommonDataHelper.StrTrimer(data.OData.TELLER_FLOW_NO, null); resultdetail.RECORD_FLAG = CommonDataHelper.StrTrimer(data.OData.RECORD_FLAG, null); resultdetail.BOOK_TYPE = CommonDataHelper.StrTrimer(data.OData.BOOK_TYPE, null); resultdetail.ACCOUNT_NAME = CommonDataHelper.StrTrimer(data.OData.ACCOUNT_NAME, null); resultdetail.BALANCE = CommonDataHelper.ConvertDecimal(CommonDataHelper.StrTrimer(data.OData.BALANCE, null),6); resultdetail.SUM_AMOUNT = CommonDataHelper.ConvertDecimal(CommonDataHelper.StrTrimer(data.OData.SUM_AMOUNT, null),6); resultdetail.RESERVE = CommonDataHelper.StrTrimer(data.OData.RESERVE, null); } return resultdetail; } } else { outmsg = MsgHandlerEntry.Type_Convert_Error; } OnUpdateDBLog(recdata.MessageID, outmsg, MsgLogState.RecvFailed, out dbexception); return resultdetail; } catch (Exception ex) { outmsg = ex.Message; OnException(sent, reqdata, recdata, msgid, ex, outmsg); return resultdetail; } }
/// <summary> /// 通知单查询 /// </summary> /// <param name="tradeDate">业务交易日</param> /// <param name="tradeOrg">交易机构号</param> /// <param name="tellerNo">柜员号</param> /// <param name="accountDate">会计日期</param> /// <param name="noticeNo">通知单编号</param> /// <param name="noticeType">通知单类型</param> /// <param name="isCurrent">是否是活期</param> /// <param name="result">查询结果</param> /// <param name="outmsg"></param> /// <returns></returns> public static TupleResult<RegularResult, InterBankNoticeLetterInfo> InterBankRetrieveNotice(string tradeOrg, string tellerNo, DateTime tradeDate, InterBankNoticeQueryInfo info) { InterBankNoticeLetterInfo result; string outmsg = ""; result = ClientSyncHelper.OnRetrieveNoticeLetter(tradeDate, tradeOrg, tellerNo, info, out outmsg); if (result == null) { outmsg = string.Format("{0}{1}", MsgHandlerEntry.Info_Return_Core, outmsg); return new TupleResult<RegularResult,InterBankNoticeLetterInfo>(new RegularResult(false, outmsg), result); } return new TupleResult<RegularResult,InterBankNoticeLetterInfo>(new RegularResult(true, outmsg), result); }
private void btnQuery_Click(object sender, EventArgs e) { InterBankNoticeQueryInfo info = new InterBankNoticeQueryInfo() { AccountDate = DateTime.Parse(会计日期.Text), NoticeID = 通知单编号.Text, NoticeType = (AidTypeDefine.INTER_BANK_NOTICE_TYPE)Enum.Parse(typeof(AidTypeDefine.INTER_BANK_NOTICE_TYPE),通知单类型.Text), BizType = (AidTypeDefine.INTER_BANK_BIZ_TERM_TYPE) Enum.Parse(typeof(AidTypeDefine.INTER_BANK_BIZ_TERM_TYPE), 业务类型.Text) }; TupleResult<RegularResult, InterBankNoticeLetterInfo> resultset = AidSysClientSyncWrapper.InterBankRetrieveNotice(机构号.Text, 柜员号.Text, DateTime.Parse(业务交易日.Text), info); if (!resultset.First.Succeed) { MessageBox.Show(resultset.First.ExceptionMsg); } else { TestForQuery(resultset.Second); } }
private void btnQueryOfCustomer_Click(object sender, EventArgs e) { try { byte[] codemsg = null; InterBankNoticeQueryInfo info = new InterBankNoticeQueryInfo(); info.BizType = (AidTypeDefine.INTER_BANK_BIZ_TERM_TYPE)Enum.Parse(typeof(AidTypeDefine.INTER_BANK_BIZ_TERM_TYPE), 业务类型.Text.Trim()); info.AccountDate = DateTime.Parse(会计日期.Text); info.NoticeID = 通知单编号.Text.Trim(); info.NoticeType = (AidTypeDefine.INTER_BANK_NOTICE_TYPE) Enum.Parse(typeof(AidTypeDefine.INTER_BANK_NOTICE_TYPE), 通知单类型.Text.Trim()); Guid messageID = MsgTransferUtility.RetrieveNoticeLetter(DateTime.Parse(业务交易日.Text), 机构号.Text, 柜员号.Text, info, ref codemsg); MessageData msgdata = new MessageData { MessageID = messageID, FirstTime = DateTime.Now, TragetPlatform = PlatformType.Core }; msgdata.ReqPackageList.Enqueue(new PackageData(1, codemsg)); msgdata.IsMultiPackage = false; DispatchMsg(msgdata); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// 通知单查询 /// </summary> /// <param name="tradeDate">业务交易日</param> /// <param name="tradeOrg">交易机构号</param> /// <param name="tellerNo">柜员号</param> /// <param name="accountDate">会计日期</param> /// <param name="noticeNo">通知单编号</param> /// <param name="noticeType">通知单类型</param> /// <param name="isCurrent">是否是活期</param> /// <param name="codemsg"></param> /// <returns></returns> public static Guid RetrieveNoticeLetter(DateTime tradeDate, string tradeOrg, string tellerNo, InterBankNoticeQueryInfo info, ref byte[] codemsg) { InterBankNoticeLetterData data = new InterBankNoticeLetterData(); data.RQhdrHandler.SYS_TXID = "415670"; // 新增,主机启动原交易码 data.RQhdrHandler.TX_OUNO = tradeOrg; 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.ACCOUNT_DATE = info.AccountDate.ToString("yyyyMMdd"); data.RQDTL.NOTICE_NO = info.NoticeID; data.RQDTL.NOTICE_TYPE = ((int)info.NoticeType).ToString(); data.RQDTL.BUSINESS_TYPE = ((int)info.BizType).ToString(); return MsgTransfer.CodeMsgToBinary(data, ref codemsg); }