Example #1
0
        /// <summary>
        /// 限額限筆報文格式
        /// </summary>
        /// <param name="co_Code"></param>
        /// <param name="proc_FUNC"></param>
        /// <param name="recId"></param>
        /// <param name="debCustNo"></param>
        /// <param name="debAcctNo"></param>
        /// <param name="creAcctNo"></param>
        /// <param name="debCur"></param>
        /// <param name="amt"></param>
        /// <param name="valueDate"></param>
        /// <param name="reference"></param>
        /// <param name="transGate"></param>
        /// <returns></returns>
        private string GetT24_DebLim_Content(string co_Code, string proc_FUNC, string recId, string debCustNo, string debAcctNo, string creAcctNo,
                                             string debCur, string amt, string valueDate, string reference, string transGate)
        {
            StringBuilder sb = new StringBuilder();

            #region ESCN.BP.DEBIT.LIMIT XML MSG
            sb.Append("<T24_DATA>");
            sb.Append("<T24_EAI>");
            sb.Append("<T24_EAI_HDR>");
            sb.Append("<MSG_SYS_ID/>");
            sb.Append("<HDR_MD5_DES/>");
            sb.Append("</T24_EAI_HDR>");
            sb.Append("<T24_EAI_MSG>");
            sb.Append("<REQ_MSG_GRP>");
            sb.Append("<REQ_MSG_OPT>");
            sb.AppendFormat("<SIGN_ON_ID>{0}</SIGN_ON_ID>", ProjectConfig.GetInstance().OfsUser);
            sb.AppendFormat("<SIGN_ON_PSWD>{0}</SIGN_ON_PSWD>", ProjectConfig.GetInstance().OfsPwd);
            sb.AppendFormat("<SIGN_ON_BRH>{0}</SIGN_ON_BRH>", co_Code);
            sb.AppendFormat("<PROC_FUNC>{0}</PROC_FUNC>", proc_FUNC);
            sb.Append("</REQ_MSG_OPT>");
            sb.Append("<REQ_MSG_DATA>");
            sb.AppendFormat("<REQ_TXN_CODE>{0}</REQ_TXN_CODE>", "ESCN.BP.DEBIT.LIMIT");
            sb.AppendFormat("<REQ_TXN_CODE_S>{0}</REQ_TXN_CODE_S>", "");
            sb.AppendFormat("<REQ_TXN_ID>{0}</REQ_TXN_ID>", recId);
            sb.AppendFormat("<CUSTOMER_NO sp='1' mp='1'>{0}</CUSTOMER_NO>", debCustNo);
            sb.AppendFormat("<DEBIT_ACCT sp='1' mp='1'>{0}</DEBIT_ACCT>", debAcctNo);
            sb.AppendFormat("<CREDIT_ACCT sp='1' mp='1'>{0}</CREDIT_ACCT>", creAcctNo);
            sb.AppendFormat("<CURRENCY sp='1' mp='1'>{0}</CURRENCY>", debCur);
            sb.AppendFormat("<AMOUNT sp='1' mp='1'>{0}</AMOUNT>", (Convert.ToDecimal(amt) * -1).ToString());
            sb.AppendFormat("<VALUE_DATE sp='1' mp='1'>{0}</VALUE_DATE>", valueDate);
            sb.AppendFormat("<REFERENCE sp='1' mp='1'>{0}</REFERENCE>", reference);
            sb.AppendFormat("<TRANS_GATE sp='1' mp='1'>{0}</TRANS_GATE>", transGate);
            sb.AppendFormat("<ITF_MSGKEY op='EQ'>{0}</ITF_MSGKEY>", "IB001.0011");
            sb.AppendFormat("<CHANNEL_ID op='EQ'>{0}</CHANNEL_ID>", ProjectConfig.GetInstance().ITFChannelID);
            sb.AppendFormat("<TERM_NO op='EQ'></TERM_NO>", System.Environment.MachineName);
            sb.AppendFormat("<EXT_BUSS_DATE op='EQ'>{0}</EXT_BUSS_DATE>", DateTime.Today.ToString("yyyyMMdd"));
            sb.AppendFormat("<EXT_REFERENCE op='EQ'>{0}</EXT_REFERENCE>", SeqNoMgr.GetInstance().GetNextSeqNo("ITF", 10));
            sb.AppendFormat("<EXT_TXN_TIME op='EQ'>{0}</EXT_TXN_TIME>", DateTime.Now.ToString("yyyyMMddHHmmss"));
            sb.Append("</REQ_MSG_DATA>");
            sb.Append("</REQ_MSG_GRP>");
            sb.Append("<REQ_PROC_INFO>");
            sb.Append("<UNQ_REF_ID/>");
            sb.Append("<REQ_PROC_SYS/>");
            sb.Append("</REQ_PROC_INFO>");
            sb.Append("</T24_EAI_MSG>");
            sb.Append("</T24_EAI>");
            sb.Append("</T24_DATA>");
            #endregion
            return(sb.ToString());
        }
Example #2
0
        /// <summary>
        /// 扣帳完成後將資訊存至BroadcastMSMQTalk(Status=999為MSMQ發起條件)
        /// </summary>
        /// <param name="msmqLabel"></param>
        /// <param name="body"></param>
        /// <returns></returns>
        private int InsertToMSMQTalk(string msmqLabel, string msmqBody, Guid btID)
        {
            //Guid btID = Guid.NewGuid();
            string strLocationID       = string.Format("Location[{0}]", ProjectConfig.GetInstance().LocationCount);
            string strReceiveQueuePath = ProjectConfig.GetInstance().GetReceiveQueuePath(strLocationID);
            string strSendURL          = ProjectConfig.GetInstance().Send_URL;

            string MSMQ_Label    = msmqLabel;                      //訊息標題
            string MSMQ_Body     = msmqBody;                       //訊息內容
            string MSMQ_Type     = "Normal";                       //訊息型態
            string MSMQ_Path     = strReceiveQueuePath;            //MSMQueue路徑
            string MachineName   = System.Environment.MachineName; //目前的機器名稱
            string URL           = strSendURL;                     //傳送的URL路徑
            string CreaterUser   = "******";        //由這支程式及FT流水號建立
            int    MSMQ_Size     = MSMQ_Body.Length;               //訊息長度
            int    MSMQ_Priority = 3;                              //訊息優先順序
            int    Status        = (int)NextDayMSMQStatus.TRANS;   //for MSMQTalk WorkMen發動次日轉帳之條件參數

            return(DBLog.InsBroadcastMSMQTalk(btID, MSMQ_Label, MSMQ_Body, MSMQ_Priority, MSMQ_Type, MSMQ_Size, MSMQ_Path, MachineName, URL, CreaterUser, Status));
        }