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);
        }
Esempio n. 3
0
 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);
     }
 }
Esempio n. 4
0
        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);
        }