593 lines
25 KiB
C#
593 lines
25 KiB
C#
|
using System;
|
|||
|
using System.Text;
|
|||
|
using System.Drawing;
|
|||
|
using System.Windows.Forms;
|
|||
|
using System.Collections;
|
|||
|
using System.Data;
|
|||
|
|
|||
|
using Cosmos.Win;
|
|||
|
using Cosmos.BaseFrame;
|
|||
|
using Cosmos.UserFrame;
|
|||
|
using Cosmos.ServiceProvider;
|
|||
|
using Cosmos.Common;
|
|||
|
using Cosmos.CommonManager;
|
|||
|
|
|||
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
|
|||
|
using System.Drawing.Drawing2D;
|
|||
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
|
|||
|
|
|||
|
/*-----------------------------------------------------------------------------------------------*/
|
|||
|
// 설 명 : 결제 팝업 백그라운드 화면
|
|||
|
// 작 성 자 :
|
|||
|
// 변경 이력 :
|
|||
|
/*-----------------------------------------------------------------------------------------------*/
|
|||
|
namespace Cosmos.Win
|
|||
|
{
|
|||
|
public partial class frm_PayMainBack : Form
|
|||
|
{
|
|||
|
|
|||
|
#region 변수 선언
|
|||
|
private PosStatus m_cPosStatus = new PosStatus(); //기본정보 참조
|
|||
|
private StateServer StateObject = (StateServer)StateServer.GetInstance(); //StateObject : StateServer Object(객체)
|
|||
|
|
|||
|
private SManager sManager = new SManager(); // 이 객체를 통해 업무 Service 호출
|
|||
|
private IDataCommonUs m_cDataCommon = null; // POS 공통함수 인터페이스
|
|||
|
|
|||
|
private ArrayList m_alMotDtl = new ArrayList(); // 결제 수단 정보 MOT 배열
|
|||
|
private int iMaxPage; // 결제 수단 정보 MOT 최대 페이지 수
|
|||
|
private int iNowPage; // 결제 수단 정보 MOT 현재 페이지
|
|||
|
private readonly string MotbtnName = "BtnMotPay"; // 결제 수단 기본 버튼명
|
|||
|
|
|||
|
private string m_sFuncKey = ""; // 결제 수단 기능키
|
|||
|
|
|||
|
#endregion 변수 선언
|
|||
|
|
|||
|
#region 생성자 & 소멸자 & 폼초기화
|
|||
|
public frm_PayMainBack()
|
|||
|
{
|
|||
|
InitializeComponent();
|
|||
|
|
|||
|
base.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw, true);
|
|||
|
//this.UpdateStyles();
|
|||
|
|
|||
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
|
|||
|
this.picBack.Paint += new System.Windows.Forms.PaintEventHandler(this.picBack_Gradient);
|
|||
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
|
|||
|
}
|
|||
|
|
|||
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
|
|||
|
#region picBack Paint 이벤트
|
|||
|
private void picBack_Gradient(object sender, PaintEventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
//picBack 그라데이션 처리
|
|||
|
#region picBack 그라데이션 처리
|
|||
|
Color startColor = Color.FromArgb(138, 147, 165);
|
|||
|
Color middleColor1 = Color.FromArgb(138, 147, 165);
|
|||
|
Color middleColor2 = Color.FromArgb(33, 44, 56);
|
|||
|
Color endColor = Color.FromArgb(33, 44, 56);
|
|||
|
|
|||
|
LinearGradientBrush br = new LinearGradientBrush(this.picBack.ClientRectangle,
|
|||
|
System.Drawing.Color.FromArgb(255, 255, 255),
|
|||
|
System.Drawing.Color.Black,
|
|||
|
0,
|
|||
|
false);
|
|||
|
|
|||
|
ColorBlend cb = new ColorBlend();
|
|||
|
//그라데이션 시작 위치 설정
|
|||
|
cb.Positions = new[] { 0, 1 / 10f, 1 / 2f, 1 };
|
|||
|
//그라데이션 시작 위치별 색상 설정
|
|||
|
cb.Colors = new[] { startColor, middleColor1, middleColor2, endColor };
|
|||
|
//그라데이션 처리 회전 각도
|
|||
|
br.RotateTransform(90);
|
|||
|
br.InterpolationColors = cb;
|
|||
|
|
|||
|
e.Graphics.FillRectangle(br, this.picBack.ClientRectangle);
|
|||
|
#endregion picBack 그라데이션 처리
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion picBack Paint 이벤트
|
|||
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
|
|||
|
|
|||
|
protected void InitPayMainBack(PosStatus cPosStatus, IDataCommonUs cDataCommon, string sPosMenuKey, string sPAY_STEP, string sSeqNo)
|
|||
|
{
|
|||
|
m_cPosStatus = cPosStatus;
|
|||
|
m_cDataCommon = cDataCommon;
|
|||
|
|
|||
|
picMotPayImg.Parent = pnlCardMot;
|
|||
|
|
|||
|
m_sFuncKey = sPosMenuKey;
|
|||
|
|
|||
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 start
|
|||
|
//변경
|
|||
|
//picBack.BackColor = Color.FromArgb(138, 147, 165);
|
|||
|
//#20181015 결제창 엑박 관련 이미지 미사용 처리 end
|
|||
|
|
|||
|
btnExit.Image = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.BTN_CLOSE);
|
|||
|
if (btnExit.Image != null) btnExit.Text = "";
|
|||
|
|
|||
|
string m_sEnterThemeColor = m_cPosStatus.ScnMst.ThemeColor;
|
|||
|
|
|||
|
////승인 종류 버튼 테마색상 적용!
|
|||
|
if (string.IsNullOrEmpty(m_sEnterThemeColor) == false)
|
|||
|
{
|
|||
|
if (m_sEnterThemeColor.Length == 9)
|
|||
|
padInPut.ThemeColor = m_sEnterThemeColor;
|
|||
|
}
|
|||
|
padInPut.ClearBtnText = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0817);
|
|||
|
padInPut.SearchBtnText = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_1018);
|
|||
|
|
|||
|
SetRichBoxMotMsg(rtbMotMain, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, sPosMenuKey, sSeqNo);
|
|||
|
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 start
|
|||
|
//기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리
|
|||
|
//기존
|
|||
|
//LoadMotPayHdr(m_cPosStatus.Sale.SaleMainPayStep);
|
|||
|
//변경
|
|||
|
LoadMotPayHdr(m_cPosStatus.Sale.SaleMainPayStep, sPosMenuKey);
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 end
|
|||
|
|
|||
|
//LoadMotPayHdr(sPAY_STEP);
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 결제 MOT 처리
|
|||
|
/// <summary>
|
|||
|
/// 결제 MOT 초기화
|
|||
|
/// </summary>
|
|||
|
private void SetMotPayInit()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
foreach (Control control in pnlCardMot.Controls)
|
|||
|
{
|
|||
|
if (control is UI.CsmButton)
|
|||
|
{
|
|||
|
if (control.Text != "∧" && control.Text != " ∨")
|
|||
|
{
|
|||
|
control.Text = "";
|
|||
|
control.Tag = "";
|
|||
|
control.Visible = true;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
rtbMotPayTxt.Text = "";
|
|||
|
picMotPayImg.Image = null;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 결제 MOT 헤더 로드
|
|||
|
/// </summary>
|
|||
|
/// <param name="iStep"></param>
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 start
|
|||
|
//기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리
|
|||
|
//기존
|
|||
|
//protected void LoadMotPayHdr(string sStep)
|
|||
|
//변경
|
|||
|
protected void LoadMotPayHdr(string sStep, string sPosMenuKey)
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 end
|
|||
|
{
|
|||
|
//헤더 로드
|
|||
|
m_alMotDtl.Clear();
|
|||
|
|
|||
|
int iPage = 1;
|
|||
|
int iSeq = 1;
|
|||
|
|
|||
|
SetMotPayInit();
|
|||
|
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 start
|
|||
|
//기능키를 넘겨 해당 기능키의 mot만 가져오도록 처리
|
|||
|
//기존
|
|||
|
//DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG.TABLE_NAME, sStep, "", "");
|
|||
|
//변경
|
|||
|
DataTable dt = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG.TABLE_NAME, sStep, sPosMenuKey, "");
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 end
|
|||
|
|
|||
|
if (dt == null || dt.Rows.Count <= 0) return;
|
|||
|
|
|||
|
//배열 담기
|
|||
|
foreach (DataRow dr in dt.Rows)
|
|||
|
{
|
|||
|
if (iSeq == 6)
|
|||
|
{
|
|||
|
iPage += 1;
|
|||
|
iSeq = 1;
|
|||
|
}
|
|||
|
|
|||
|
// 페이지 번호, 버튼명, 명, 태그 값
|
|||
|
m_alMotDtl.Add(new string[] { iPage.ToString(), string.Format("{0}{1:00}",MotbtnName,iSeq), CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.MOT_NM)
|
|||
|
,string.Format("{0}^{1}^{2}^{3}",CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.MSG_TYPE),CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.CNNT_ID)
|
|||
|
,CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SEQ_NO),CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.IMG_NM))
|
|||
|
,CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.CNNT_ID)
|
|||
|
});
|
|||
|
|
|||
|
//// 페이지 번호, 버튼명, 명, 태그 값
|
|||
|
//m_alMotDtl.Add(new string[] { iPage.ToString(), string.Format("{0}{1:00}",MotbtnName,iSeq), CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.MOT_NM),
|
|||
|
// CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.MSG_TYPE) + CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.CNNT_ID) + CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.IMG_NM)});
|
|||
|
|
|||
|
iSeq += 1;
|
|||
|
}
|
|||
|
|
|||
|
// 보여주기
|
|||
|
iNowPage = 1;
|
|||
|
iMaxPage = iPage;
|
|||
|
|
|||
|
SetBtnMotPay();
|
|||
|
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 start
|
|||
|
//1:1 매칭인 경우에만 해당 mot 활성화
|
|||
|
//기존
|
|||
|
/*
|
|||
|
//2016-10-25 조성완과장 요청으로 신용카드 일때 선택 안함!
|
|||
|
if (m_sFuncKey != PosKey.MENU_KEY.CREDIT_CARD)
|
|||
|
{
|
|||
|
if (dt.Rows.Count > 0) FindFuncMot(); //BtnMotPay_Click(BtnMotPay01, null);
|
|||
|
}
|
|||
|
*/
|
|||
|
//변경
|
|||
|
if (dt.Rows.Count == 1) FindFuncMot();
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 end
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
private void FindFuncMot()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (m_alMotDtl == null || iMaxPage == 0) return;
|
|||
|
|
|||
|
foreach (string[] atmp in m_alMotDtl)
|
|||
|
{
|
|||
|
if (atmp[4] == m_sFuncKey)
|
|||
|
{
|
|||
|
|
|||
|
BtnMotPay01.Text = atmp[2].ToString();
|
|||
|
BtnMotPay01.Tag = atmp[3].ToString();
|
|||
|
|
|||
|
iNowPage = CmUtil.IntParse(atmp[0]);
|
|||
|
|
|||
|
string sTmp;
|
|||
|
|
|||
|
sTmp = BtnMotPay01.Tag.ToString();
|
|||
|
|
|||
|
string[] aParam = sTmp.Split(new string[] { "^" }, StringSplitOptions.None);
|
|||
|
|
|||
|
string sCnntId = aParam[0];
|
|||
|
string sMsgFlg = aParam[1];
|
|||
|
string sSeqNo = aParam[2];
|
|||
|
string sImgPath = aParam[3];
|
|||
|
|
|||
|
picMotPayImg.Image = ImageManager.GetImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM, sImgPath.Trim());
|
|||
|
|
|||
|
SetRichBoxMotMsg(rtbMotPayTxt, sCnntId, sMsgFlg, sSeqNo);
|
|||
|
|
|||
|
BtnMotPay02.Visible = false;
|
|||
|
BtnMotPay03.Visible = false;
|
|||
|
BtnMotPay04.Visible = false;
|
|||
|
BtnMotPay05.Visible = false;
|
|||
|
|
|||
|
BtnMotPayUp.Enabled = true;
|
|||
|
BtnMotPayDown.Enabled = true;
|
|||
|
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 결제 MOT 버튼 셋팅
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
public bool SetBtnMotPay()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
SetMotPayInit();
|
|||
|
|
|||
|
if (m_alMotDtl == null || iMaxPage == 0) return false;
|
|||
|
|
|||
|
int iStrtNum = 1;
|
|||
|
foreach (string[] atmp in m_alMotDtl)
|
|||
|
{
|
|||
|
if (atmp[0] == iNowPage.ToString())
|
|||
|
{
|
|||
|
Cosmos.UI.CsmButton btnCtl = (Cosmos.UI.CsmButton)pnlCardMot.Controls[atmp[1]];
|
|||
|
|
|||
|
if (btnCtl != null)
|
|||
|
{
|
|||
|
btnCtl.Text = atmp[2];
|
|||
|
btnCtl.Tag = atmp[3];
|
|||
|
}
|
|||
|
}
|
|||
|
iStrtNum += 1;
|
|||
|
}
|
|||
|
|
|||
|
if (iNowPage == 1)
|
|||
|
{
|
|||
|
BtnMotPayUp.Enabled = false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
BtnMotPayUp.Enabled = true;
|
|||
|
}
|
|||
|
|
|||
|
if (iMaxPage == iNowPage)
|
|||
|
{
|
|||
|
BtnMotPayDown.Enabled = false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
BtnMotPayDown.Enabled = true;
|
|||
|
}
|
|||
|
|
|||
|
return true;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 결제 MOT 버튼 클릭
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
private void BtnMotPay_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (((UI.CsmButton)sender).Text == "") return;
|
|||
|
|
|||
|
if (BtnMotPay02.Visible == false)
|
|||
|
{
|
|||
|
SetBtnMotPay();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
|
|||
|
if (((UI.CsmButton)sender) == BtnMotPayUp)
|
|||
|
{
|
|||
|
if (iNowPage == 1) return;
|
|||
|
iNowPage -= 1;
|
|||
|
SetBtnMotPay();
|
|||
|
}
|
|||
|
else if (((UI.CsmButton)sender) == BtnMotPayDown)
|
|||
|
{
|
|||
|
if (iNowPage == iMaxPage) return;
|
|||
|
iNowPage += 1;
|
|||
|
SetBtnMotPay();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
string sTmp;
|
|||
|
|
|||
|
BtnMotPay01.Text = ((UI.CsmButton)sender).Text;
|
|||
|
BtnMotPay01.Tag = ((UI.CsmButton)sender).Tag;
|
|||
|
|
|||
|
|
|||
|
sTmp = BtnMotPay01.Tag.ToString();
|
|||
|
|
|||
|
|
|||
|
string[] aParam = sTmp.Split(new string[] { "^" }, StringSplitOptions.None);
|
|||
|
|
|||
|
string sCnntId = aParam[0];
|
|||
|
string sMsgFlg = aParam[1];
|
|||
|
string sSeqNo = aParam[2];
|
|||
|
string sImgPath = aParam[3];
|
|||
|
|
|||
|
picMotPayImg.Image = ImageManager.GetImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM, sImgPath.Trim());
|
|||
|
|
|||
|
SetRichBoxMotMsg(rtbMotPayTxt, sCnntId, sMsgFlg, sSeqNo);
|
|||
|
|
|||
|
|
|||
|
//sTmp = BtnMotPay01.Tag.ToString();
|
|||
|
|
|||
|
//picMotPayImg.Image = ImageManager.GetImage(BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM, CmUtil.MidH(sTmp, 5, 50).Trim());
|
|||
|
|
|||
|
//SetRichBoxMotMsg(rtbMotPayTxt, CmUtil.MidH(sTmp, 0, 1), CmUtil.MidH(sTmp, 1, 4));
|
|||
|
|
|||
|
BtnMotPay02.Visible = false;
|
|||
|
BtnMotPay03.Visible = false;
|
|||
|
BtnMotPay04.Visible = false;
|
|||
|
BtnMotPay05.Visible = false;
|
|||
|
|
|||
|
BtnMotPayUp.Enabled = true;
|
|||
|
BtnMotPayDown.Enabled = true;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
padInPut.ActiveControl.Focus();
|
|||
|
}
|
|||
|
catch { }
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 리치박스 MOT 텍스트 설정
|
|||
|
/// <summary>
|
|||
|
/// 리치박스 MOT 텍스트 설정
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
protected bool SetRichBoxMotMsg(RichTextBox rtbMot, string sMsgTp, string sMsgFlag, string sSeqNo)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
rtbMot.Text = "";
|
|||
|
DataTable dtHead = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG.TABLE_NAME, sMsgTp, sMsgFlag, sSeqNo);
|
|||
|
if (dtHead != null && dtHead.Rows.Count > 0)
|
|||
|
{
|
|||
|
//#13753 POS MOT음성 기능 추가 개발요청 start,phj
|
|||
|
//기존
|
|||
|
/*
|
|||
|
// 음성 사용 유무(0:미사용, 1:사용)
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT309) != "0")
|
|||
|
{
|
|||
|
DataRow dr = dtHead.Rows[0];
|
|||
|
if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SOUND_FILE_DIV) == "01") // 00(없음), 01(WAVE), 02(TTS)
|
|||
|
{
|
|||
|
string sFilePath = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM + CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SOUND_FILE_NM);
|
|||
|
CmUtil.PlaySound(sFilePath);
|
|||
|
}
|
|||
|
else if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SOUND_FILE_DIV) == "02") // 00(없음), 01(WAVE), 02(TTS)
|
|||
|
{
|
|||
|
CmUtil.SpeakByTTSEngine(m_cPosStatus.Base.Country, CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.TTS_DSCRP), 150);
|
|||
|
}
|
|||
|
}
|
|||
|
*/
|
|||
|
|
|||
|
//변경
|
|||
|
// PCKR인 경우에는 직영만 음성파일 재생하도록 함!
|
|||
|
// PCKR이 아닌 경우에는 직영가맹 조건에 추가안함!
|
|||
|
|
|||
|
//#20180214 마스터 수신 시 포스에서 설정한 MOT 값 변경안되도록 수정 start,phj
|
|||
|
// 기존
|
|||
|
/*
|
|||
|
if (((m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.KR && m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) == false) || //PCKR이 아니거나
|
|||
|
(((m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.KR && m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) == true) && m_cPosStatus.Mst.DrtFrcsDiv == "10")) //PCKR이고 직영일 때!
|
|||
|
{
|
|||
|
*/
|
|||
|
//#20180214 마스터 수신 시 포스에서 설정한 MOT 값 변경안되도록 수정 end,phj
|
|||
|
|
|||
|
//#13753 POS MOT음성 기능 추가 개발요청 - 20180222 음성MOT 옵션처리 start,phj
|
|||
|
if (((m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.KR && m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) == false) || //PCKR이 아니거나
|
|||
|
(((m_cPosStatus.Mst.CntryDiv == ItemConst.CNTRY_DIV.KR && m_cPosStatus.Mst.CorpDiv == ItemConst.CORP_DIV.PC) == true) &&
|
|||
|
PosMstManager.GetPosOption(POS_OPTION.OPT331) == "1")) //PCKR이고 MOT옵션 사용 일 때!
|
|||
|
{
|
|||
|
//#13753 POS MOT음성 기능 추가 개발요청 - 20180222 음성MOT 옵션처리 end,phj
|
|||
|
|
|||
|
// 음성 사용 유무(0:미사용, 1:사용)
|
|||
|
if (PosMstManager.GetPosOption(POS_OPTION.OPT309) != "0")
|
|||
|
{
|
|||
|
DataRow dr = dtHead.Rows[0];
|
|||
|
if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SOUND_FILE_DIV) == "01") // 00(없음), 01(WAVE), 02(TTS)
|
|||
|
{
|
|||
|
string sFilePath = BaseCom.NxCDPPath + PosConst.MST_IMG_PATH.CDP_COM + CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SOUND_FILE_NM);
|
|||
|
CmUtil.PlaySound(sFilePath);
|
|||
|
}
|
|||
|
else if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.SOUND_FILE_DIV) == "02") // 00(없음), 01(WAVE), 02(TTS)
|
|||
|
{
|
|||
|
CmUtil.SpeakByTTSEngine(m_cPosStatus.Base.Country, CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG.DATA.TTS_DSCRP), 150);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
//#13753 POS MOT음성 기능 추가 개발요청 end,phj
|
|||
|
}
|
|||
|
DataTable dtDetl = m_cDataCommon.SelectMOT(PosMst.MST_MOT_MSG_DTL.TABLE_NAME, sMsgTp, sMsgFlag, sSeqNo);
|
|||
|
if (dtDetl == null || dtDetl.Rows.Count <= 0) return false;
|
|||
|
|
|||
|
int iStrtNum = 0;
|
|||
|
foreach (DataRow dr in dtDetl.Rows)
|
|||
|
{
|
|||
|
string tmpStr = CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.MSG);
|
|||
|
|
|||
|
//rtbMot.AppendText(tmpStr.Trim());
|
|||
|
//rtbMot.Select(iStrtNum, tmpStr.Trim().Length);
|
|||
|
|
|||
|
rtbMot.AppendText(tmpStr);
|
|||
|
rtbMot.Select(iStrtNum, tmpStr.Length);
|
|||
|
|
|||
|
rtbMot.SelectionColor = CmUtil.GetColorToString(CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_COLOR)); // 백 컬러
|
|||
|
|
|||
|
int iFontSize = CmUtil.GetDataRowInt(dr, PosMst.MST_MOT_MSG_DTL.DATA.FONT_SIZE);
|
|||
|
|
|||
|
if (iFontSize <= 0)
|
|||
|
iFontSize = 1;
|
|||
|
|
|||
|
rtbMot.SelectionFont = new Font(m_cPosStatus.Base.FONT, iFontSize);
|
|||
|
|
|||
|
if (CmUtil.GetDataRowStr(dr, PosMst.MST_MOT_MSG_DTL.DATA.NEW_LINE_YN) == "1")
|
|||
|
{
|
|||
|
rtbMot.AppendText("\n");
|
|||
|
iStrtNum += 1;
|
|||
|
}
|
|||
|
|
|||
|
//iStrtNum += tmpStr.Trim().Length; // +1;
|
|||
|
iStrtNum += tmpStr.Length; // +1;
|
|||
|
}
|
|||
|
|
|||
|
rtbMot.Select(0, 0);
|
|||
|
rtbMot.Refresh();
|
|||
|
|
|||
|
return true;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
private void rtbMotMain_Enter(object sender, EventArgs e)
|
|||
|
{
|
|||
|
padInPut.SetActiveFocus();
|
|||
|
}
|
|||
|
|
|||
|
private void rtbMotPayTxt_Enter(object sender, EventArgs e)
|
|||
|
{
|
|||
|
padInPut.SetActiveFocus();
|
|||
|
}
|
|||
|
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 start
|
|||
|
//제휴통합 창에서 상단 제휴사 선택시 mot및 음성mot 재설정
|
|||
|
|
|||
|
#region 제휴통합 MOT 설정
|
|||
|
/// <summary>
|
|||
|
/// 제휴통합 MOT 설정
|
|||
|
/// </summary>
|
|||
|
public void SetMotMobileUnity(string sPosMenuKey, string sPAY_STEP)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
m_sFuncKey = sPosMenuKey;
|
|||
|
|
|||
|
SetRichBoxMotMsg(rtbMotMain, PosConst.MOT_MSG_TYPE.DSP_SCN_MSG, sPosMenuKey, "");
|
|||
|
|
|||
|
LoadMotPayHdr(m_cPosStatus.Sale.SaleMainPayStep, sPosMenuKey);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
WinManager.ExceptionMessage(System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name,
|
|||
|
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ex.Message);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion 제휴통합 MOT 설정
|
|||
|
|
|||
|
//#15606 제휴서비스 결제 프로세스 개선 end
|
|||
|
}
|
|||
|
}
|