Ejemplo n.º 1
0
        private void btnCardCancel_Click(object sender, EventArgs e)
        {
            try
            {
                string scope = this.txtScope.Text.Trim();
                string str   = Van.KICC.Cancel(Van.JobKind.CancelCard,
                                               Van.CashKind.None,
                                               this.txtTid.Text.Trim(),
                                               this.txtCardNo.Text.Trim(),
                                               scope,
                                               txtAmtSplit.Text.Trim(),
                                               txtAmt.Text.Trim(),
                                               this.txtOrgRegNo.Text.Trim(),
                                               this.txtOrgRegDate.Text.Trim());
                SendData(str);

                Van.RecivedData reqdata = new RecivedData();
                reqdata = _ReqData;

                if (reqdata.IsAgreeError)
                {
                    MessageBox.Show(reqdata.Message);
                    return;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 현금연수증 자동 승인취소
        /// </summary>
        private void fnCashBillAutoCacel(bool cashbillyn
                                         , CashKind cashbillkind
                                         , string regno
                                         , string amt
                                         , string orgagreeno
                                         )
        {
            try
            {
                if (cashbillyn)
                {
                    //현금영수증 승인건이라면
                    //현금영수증을 취소한다.
                    /***********************************************************************************************************************************************/
                    Van.RecivedData CashCancelreq = new RecivedData();
                    using (BizVanComunication bizVan = new BizVanComunication())
                    {
                        CashCancelreq = bizVan.SendData("PROJECT_D",
                                                        JobKind.CancelCash,
                                                        cashbillkind,
                                                        regno,
                                                        "",
                                                        "",
                                                        amt,
                                                        "",
                                                        "",
                                                        "",
                                                        "", CashGbn.None);
                        bizVan.Dispose();
                    }

                    /***********************************************************************************************************************************************/
                    if (CashCancelreq.IsAgreeError)
                    {
                        //cashAgreeNo
                        Basic.ShowMessage(1, "현금영수증 승인 후 DB 저장시 에러입니다.\n\r" +
                                          "현금영수증 승인 취소시 아래와 같은 에러로 취소하지 못하였습니다.\n\r\n\r" +
                                          "에러내용:\n\r" +
                                          CashCancelreq.Message + "\n\r\n\r" +
                                          "전산실에 문의하여 수기 취소바랍니다. \n\r\n\r" +
                                          "승인번호 : " + orgagreeno);

                        Van.Log.Log.SaveLog("[현금영수증승인후 - DB 저장시에러 - 현금영수증 승인취소시 -에러 ] - 승인번호 : " + orgagreeno);
                    }
                }

                return;
            }
            catch (Exception ex)
            {
                Basic.ShowMessage(3, ex.Message);
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }
        }
Ejemplo n.º 3
0
 public override BotNode Process(RecivedData recivedData)
 {
     if (recivedData.Message == Texts.Ago)
     {
         return(this.AgoNode);
     }
     else
     {
         this._text = "Please Select correct item";
     }
     return(this);
 }
Ejemplo n.º 4
0
 public override BotNode Process(RecivedData recivedData)
 {
     if (recivedData.Message == Texts.Ago)
     {
         return(new StartNode(String.Empty));
     }
     else
     {
         this.StartMessageText = "Please Select correct item";
     }
     return(this);
 }
Ejemplo n.º 5
0
 public override BotNode Process(RecivedData recivedData)
 {
     if (recivedData.Message == Texts.SelectNumber)
     {
         return(new NodeSelectNumber());
     }
     if (recivedData.Message == Texts.About)
     {
         return(new NodeAbout());
     }
     else
     {
         this.StartMessageText = "Please Select correct item";
     }
     return(this);
 }
        public override BotNode Process(RecivedData recivedData)
        {
            int tmp;

            if (int.TryParse(recivedData.Message, out tmp))
            {
                return(new NodeShowNumberSelected(tmp, this));
            }
            else if (recivedData.Message == Texts.Ago)
            {
                return(new StartNode(string.Empty));
            }
            else
            {
                this.StartMessageText = "Please Select correct item";
            }
            return(this);
        }
Ejemplo n.º 7
0
        private void btnCardReg_Click(object sender, EventArgs e)
        {
            Van.RecivedData reqdata = new RecivedData();
            try
            {
                string scope = this.txtScope.Text.Trim();
                string str   = Van.KICC.Reg(Van.JobKind.RegCard,
                                            Van.CashKind.None,
                                            this.txtTid.Text.Trim(),
                                            this.txtCardNo.Text.Trim(),
                                            scope,
                                            txtAmtSplit.Text.Trim(),
                                            txtAmt.Text.Trim());

                if (chkSign.Checked)
                {
                    //*********************************************************************************
                    //싸인을 받는다.
                    if (this.pictureEdit1.Image != null)
                    {
                        pictureEdit1.Image.Dispose();
                        pictureEdit1.Image = null;
                    }



                    ReqClear();
                    Van.frmVanLoading fCash = new frmVanLoading("고객싸인요청",
                                                                VanType.KICC,
                                                                frmVanLoading.JobKind.Sign,
                                                                "GetRequest");

                    fCash.Amount         = 10000;
                    fCash.SignPadReqdata = str;
                    fCash.SignPort       = int.Parse(this.txtSignPadPort.Text.Trim());
                    fCash.SignSpeed      = 57600;
                    fCash.Owner          = this;
                    fCash.VanServerIP    = this.txtKiccIP.Text.Trim();
                    fCash.VanServerPort  = int.Parse(this.txtKiccPort.Text.Trim());
                    fCash.ShowDialog();


                    Application.DoEvents();

                    if (_ReqData.RequestCode == ((int)Van.frmVanLoading.RS232Err.PortError).ToString())
                    {
                        MessageBox.Show("싸인패드 연결실패 입니다.");
                        return;
                    }
                    else if (_ReqData.RequestCode == ((int)Van.frmVanLoading.RS232Err.NotImage).ToString())
                    {
                        MessageBox.Show("싸인이미지가 없습니다.");
                        return;
                    }
                    else if (_ReqData.RequestCode == ((int)Van.frmVanLoading.RS232Err.TimeOut).ToString())
                    {
                        MessageBox.Show("제한시간 초과 입니다.");
                        return;
                    }
                    else if (_ReqData.RequestCode == ((int)Van.frmVanLoading.RS232Err.Communication).ToString())
                    {
                        MessageBox.Show("싸인패드와 통신할 수 없습니다.");
                        return;
                    }
                    else if (_ReqData.RequestCode == ((int)Van.frmVanLoading.RS232Err.NotData).ToString())
                    {
                        MessageBox.Show("데이터가 없습니다..");
                        return;
                    }
                    //*********************************************************************************

                    if (this.pictureEdit1.Image != null)
                    {
                        this.pictureEdit1.Image.Dispose();
                        this.pictureEdit1.Image = null;
                    }

                    Image imgs = mImage.ByteArrayToImage(_ReqData.SignData);

                    this.pictureEdit1.Image = mImage.ByteArrayToImage(_ReqData.SignData);

                    Van.SignViewer f = new SignViewer(imgs);
                    f.ShowDialog();
                }



                if (!_ReqData.IsSignPadAgree)
                {
                    SendData(str);
                }



                reqdata = _ReqData;

                if (reqdata.IsAgreeError)
                {
                    MessageBox.Show(reqdata.Message);
                    return;
                }


                if (_ReqData.IsSignPadAgree)
                {
                    if (this.gridSend.DataSource != null)
                    {
                        ((DataTable)this.gridSend.DataSource).Dispose();
                        this.gridSend.DataSource = null;
                    }

                    if (this.gridRecevie.DataSource != null)
                    {
                        ((DataTable)this.gridRecevie.DataSource).Dispose();
                        this.gridRecevie.DataSource = null;
                    }

                    this.gridSend.DataSource    = _ReqData.dsDoc.Tables[0].Copy();
                    this.gridRecevie.DataSource = _ReqData.dsDoc.Tables[1].Copy();

                    this.gridRecevie.Refresh();
                    this.gridSend.Refresh();


                    txtSendData.Text     = _ReqData.FullSendData;
                    txtReceviedData.Text = _ReqData.FullRequestData;
                }



                txtOrgRegNo.Text        = reqdata.AgreeNo;
                this.txtOrgRegDate.Text = reqdata.AgreeDate.Substring(0, 6);
                InvokeOnClick(btnCardCancel, new EventArgs());
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        /// <summary>
        /// 현금결제처리
        /// </summary>
        private void fnPay110_Reg()
        {
            try
            {
                bool IsAgreeCash = false;
                bool IsClose     = BizCommon.Gneral_D.IsRoomClose();
                if (PayInfo.useKind == UseKind.Room && IsClose)
                {
                    Basic.ShowMessage(1, "현재 마감작업중입니다. \n\r마감이 끝난후 작업을 계속하십시요");
                    return;
                }

                int amt = int.Parse(Basic.MaskReplace(txtCashAmt.Text.Trim()));
                if (amt <= 0)
                {
                    Basic.ShowMessage(1, "결제금액을 입력하여 주십시요.");
                    txtCashAmt.Focus();
                    return;
                }


                _Pay_UserCheck = "";
                //담당자체크기능 //
                DAHAH05 f = new DAHAH05(Parm.CurrentUserInformation.roomTask.gsDFacility, "fn_Room_UserCheck");
                f.Owner = this;
                f.ShowDialog();

                if (_Pay_UserCheck == "")
                {
                    Basic.ShowMessage(1, "담당자 확인이 되지 않았습니다.");
                    return;
                }
                string empno = _Pay_UserCheck;



                if (Basic.MaskReplace(Num.GetNumberOnly(PayInfomation.RoomInfo.C_Facipart)) + Basic.MaskReplace(Num.GetNumberOnly(PayInfomation.RoomInfo.C_RoomNo)).Trim() == "")
                {
                    Basic.ShowMessage(2, "Bill 번호를 생성 할 수 없습니다.\n\r\n\r동코드:" + PayInfomation.RoomInfo.C_Facipart + "\r\n객실번호:" + PayInfomation.RoomInfo.C_RoomNo);
                    return;
                }

                Van.RecivedData Cashreqdata = new RecivedData();
                //현금영수증 선택되었을대
                if (chkCashBillYn.Checked)
                {
                    /* if (lupCashBill_IdCode.EditValue.ToString() == "0")
                     * {
                     *   DataRow[] dr = Parm.mDataTable.dtZx010ms.Select("HEAD = 'Z0028' AND DETAIL = '0' AND USE_YN = 'Y' ");
                     *
                     *   if (dr.Length >= 0) txtCashBillRegNo.Text = dr[0]["ITEM1"].ToString();
                     * }
                     *
                     * if(lupCashBill_IdCode.EditValue.ToString() == "")
                     * {
                     *   //현금영수증
                     *   Basic.ShowMessage(1, "현금영수증 구분을 선택하여 주십시요");
                     *   lupCashBill_IdCode.Focus();
                     *   return;
                     * }
                     * else if(!chkCashSignPad.Checked && txtCashBillRegNo.Text.Trim().Length < 7)
                     * {
                     *   //현금영수증
                     *   Basic.ShowMessage(1, "식별번호를 정확하게 입력하여 주십시요");
                     *   txtCashBillRegNo.Focus();
                     *   return;
                     * }
                     */
                    Van.RecivedData reqdata = new RecivedData();
                    //식별번호를 싸인패드로 받는다면
                    if (chkCashSignPad.Checked)
                    {
                        using (BizVanComunication regNumber = new BizVanComunication())
                        {
                            reqdata = regNumber.GetCashRegNumber("PROJECT_D",
                                                                 int.Parse(Basic.MaskReplace(txtCashAmt.Text.Trim()))
                                                                 );
                            regNumber.Dispose();
                        }
                        txtCashBillRegNo.Text = reqdata.CashRegNumber;
                    }

                    /* if(txtCashBillRegNo.Text.Trim().Length < 7)
                     * {
                     *   //현금영수증
                     *   Basic.ShowMessage(1, "식별번호를 정확하게 입력하여 주십시요");
                     *   txtCashBillRegNo.Focus();
                     *   return;
                     * }
                     */
                    //현금영수증 승인요청
                    /***********************************************************************************************************************************************/
                    // if(BizCommon.CheckVan.CheckMode() == DialogResult.No) return;

                    using (BizVanComunication bizVan = new BizVanComunication())
                    {
                        Cashreqdata = bizVan.SendData("PROJECT_D",
                                                      JobKind.RegCash,
                                                      optCashBillKind.SelectedIndex < 1 ? Van.CashKind.Persnal :Van.CashKind.Company,
                                                      txtCashBillRegNo.Text.Trim(),
                                                      "",
                                                      "",
                                                      Basic.MaskReplace(txtCashAmt.Text.Trim()),
                                                      "",
                                                      "",
                                                      "",
                                                      "",
                                                      lupCashBill_IdCode.EditValue.ToString() == "1" ? CashGbn.Card : CashGbn.None);
                        bizVan.Dispose();
                    }

                    /***********************************************************************************************************************************************/

                    if (Cashreqdata.IsAgreeError)
                    {
                        Basic.ShowMessage(1, Cashreqdata.Message);
                        return;
                    }

                    //승인여부
                    //DB 작업 실패시 삭제하기위해서
                    IsAgreeCash = true;
                }
                else
                {
                    if (cAutoReg.Checked)
                    {
                        DataRow[] dr        = Parm.mDataTable.dtZx010ms.Select("HEAD = 'Z0028' AND DETAIL = '0' AND USE_YN = 'Y' ");
                        Int32     _intInput = 0;
                        Int32     _intZ0028 = 0;
                        try
                        {
                            _intInput = Convert.ToInt32(txtCashAmt.Text.Replace(",", ""));
                        }
                        catch (Exception ex)
                        {
                            _intInput = -1;
                        }

                        try
                        {
                            _intZ0028 = Convert.ToInt32(dr[0]["ITEM2"].ToString());
                        }
                        catch (Exception)
                        {
                            _intZ0028 = 0;
                        }

                        if (_intInput >= _intZ0028)
                        {
                            using (BizVanComunication bizVan = new BizVanComunication())
                            {
                                Cashreqdata = bizVan.SendData("PROJECT_D",
                                                              JobKind.RegCash,
                                                              optCashBillKind.SelectedIndex < 1 ? Van.CashKind.Persnal : Van.CashKind.Company,
                                                              dr[0]["ITEM1"].ToString(),
                                                              "",
                                                              "",
                                                              Basic.MaskReplace(txtCashAmt.Text.Trim()),
                                                              "",
                                                              "",
                                                              "",
                                                              "", CashGbn.None);
                                bizVan.Dispose();
                            }

                            /***********************************************************************************************************************************************/

                            if (Cashreqdata.IsAgreeError)
                            {
                                Basic.ShowMessage(1, Cashreqdata.Message);
                                return;
                            }

                            //승인여부
                            //DB 작업 실패시 삭제하기위해서
                            IsAgreeCash = true;
                        }
                    }
                }

                string cashAgreeNo = Cashreqdata.AgreeNo;
                this.Cursor = Cursors.WaitCursor;
                //현금결제 루틴을 태운다.

                string v_ret = fn_110(amt.ToString(), IsAgreeCash, BizCommon.Parm_Pay.PAY_CODE_CASH, cashAgreeNo, empno, PayInfomation.RoomInfo.C_Reference);
                this.Cursor = Cursors.Default;
                if (v_ret != "OK")
                {
                    Basic.ShowMessage(1, v_ret);

                    if (IsAgreeCash)
                    {
                        //현금영수증 승인건이라면
                        //현금영수증을 취소한다.
                        /***********************************************************************************************************************************************/

                        Van.RecivedData CashCancelreq = new RecivedData();
                        using (BizVanComunication bizVan = new BizVanComunication())
                        {
                            CashCancelreq = bizVan.SendData("PROJECT_D",
                                                            JobKind.CancelCash,
                                                            optCashBillKind.SelectedIndex < 1 ? Van.CashKind.Persnal :Van.CashKind.Company,
                                                            txtCashBillRegNo.Text.Trim(),
                                                            "",
                                                            "",
                                                            Basic.MaskReplace(txtCashAmt.Text.Trim()),
                                                            "",
                                                            "",
                                                            "",
                                                            "",
                                                            lupCashBill_IdCode.EditValue.ToString() == "1" ? CashGbn.Card : CashGbn.None);
                            bizVan.Dispose();
                        }

                        /***********************************************************************************************************************************************/

                        if (CashCancelreq.IsAgreeError)
                        {
                            //cashAgreeNo
                            Basic.ShowMessage(1, "현금영수증 승인 후 DB 저장시 에러입니다.\n\r" +
                                              "현금영수증 승인 취소시 아래와 같은 에러로 취소하지 못하였습니다.\n\r\n\r" +
                                              "에러내용:\n\r" +
                                              CashCancelreq.Message + "\n\r\n\r" +
                                              "전산실에 문의하여 수기 취소바랍니다. \n\r\n\r" +
                                              "승인번호 : " + cashAgreeNo);

                            Van.Log.Log.SaveLog("[현금영수증승인후 - DB 저장시에러 - 현금영수증 승인취소시 -에러 ] - 승인번호 : " + cashAgreeNo);
                        }
                    }
                    return;
                }

                txtCashAmt.Text       = "0";
                txtCashBillRegNo.Text = "";
                Basic.ShowMessage(1, "저장 하였습니다.");
                RaiseDataReflashEvent(true);
            }
            catch (Exception ex)
            {
                Basic.ShowMessage(3, ex.Message);
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }
        }
        private void fn_120(DataRow r, string emp, string memo)
        {
            try
            {
                #region DataRow 정보

                /*
                 *  dt.Columns.Add("FACILITY_CODE"     );
                 *  dt.Columns.Add("MNG_NO"            );
                 *  dt.Columns.Add("MNG_SEQ"           ,typeof(decimal));
                 *  dt.Columns.Add("TASK_DATE"         );
                 *  dt.Columns.Add("KEY_SEQ"           ,typeof(decimal));
                 *  dt.Columns.Add("RAISE_CODE"        );
                 *  dt.Columns.Add("RAISE_CODE_NAME");
                 *  dt.Columns.Add("PAY_CODE"          );
                 *  dt.Columns.Add("PAY_CODE_NAME");
                 *  dt.Columns.Add("PAY_AMT"           ,typeof(decimal));
                 *  dt.Columns.Add("RMRK"              );
                 *  dt.Columns.Add("REFERENCE"         );
                 *  dt.Columns.Add("SEQ_NO"            ,typeof(decimal));
                 *  dt.Columns.Add("TRACK_TWO"         );
                 *  dt.Columns.Add("CARD_NO"           );
                 *  dt.Columns.Add("VALID_THRU"        );
                 *  dt.Columns.Add("AGREE_NO"          );
                 *  dt.Columns.Add("AGREE_DATE"        );
                 *  dt.Columns.Add("INSTALLMENT_CNT"   ,typeof(decimal));
                 *  dt.Columns.Add("EASY_YN"           );
                 *
                 *  dt.Columns.Add("CO_FACILITY_CODE"  );
                 *  dt.Columns.Add("CO_MNG_NO"         );
                 *  dt.Columns.Add("CO_MNG_SEQ"        ,typeof(decimal));
                 *  dt.Columns.Add("CO_TASK_DATE"      );
                 *  dt.Columns.Add("CO_KEY_SEQ"        ,typeof(decimal));
                 */
                #endregion

                //객실일때 마감여부 확인
                bool IsClose = BizCommon.Gneral_D.IsRoomClose();
                if (info.useKind == DAZAZ02.UseKind.Room && IsClose)
                {
                    Basic.ShowMessage(1, "현재 마감작업중입니다. \n\r마감이 끝난후 작업을 계속하십시요");
                    return;
                }


                //카드정보를 읽어온다.
                DataTable dtParm1 = DataLayer.GetDataTableParameter(DataLayer.DatatableStyle.Parameter);
                dtParm1.Rows.Add(new object[] { "V_BIZ_CODE", Parm.CurrentUserInformation.BizInfo.BizCode });
                dtParm1.Rows.Add(new object[] { "V_AGREE_NO", r["AGREE_NO"].ToString().Trim() });
                DataSet dsCardinfo = DataLayer.ExecuteSpDataset("PKG_DAZAZ02.PR_CARD_INFO", dtParm1, DataLayer.MessageEncoding.Default);

                if (dsCardinfo.Tables[0].Rows.Count <= 0)
                {
                    Basic.ShowMessage(1, "카드정보가 없습니다.");
                    return;
                }

                /**********************************************************************************************/
                //취소승인
                /**********************************************************************************************/
                // if(BizCommon.CheckVan.CheckMode() == DialogResult.No) return;



                string str             = "";
                string strcancelcardno = "";

                if (dsCardinfo.Tables[0].Rows[0]["TRACK_TWO"].ToString().Trim() == "")
                {
                    strcancelcardno = dsCardinfo.Tables[0].Rows[0]["CARD_NO"].ToString().Trim();
                }
                else
                {
                    strcancelcardno = dsCardinfo.Tables[0].Rows[0]["TRACK_TWO"].ToString().Trim();
                }


                if (strcancelcardno == "")
                {
                    Basic.ShowMessage(1, "카드정보가 없습니다.");
                    return;
                }


                Van.RecivedData reqdata = new RecivedData();

                using (BizVanComunication bizAgree = new BizVanComunication())
                {
                    reqdata = bizAgree.SendData("PROJECT_D",
                                                JobKind.CancelCard,
                                                CashKind.None,
                                                strcancelcardno,
                                                dsCardinfo.Tables[0].Rows[0]["VALID_THRU"].ToString().Trim(),
                                                dsCardinfo.Tables[0].Rows[0]["INSTALLMENT_CNT"].ToString().Trim(),
                                                dsCardinfo.Tables[0].Rows[0]["SALE_AMT"].ToString().Trim(),
                                                "",
                                                "",
                                                dsCardinfo.Tables[0].Rows[0]["AGREE_NO"].ToString().Trim(),
                                                DateTime.Parse(uDate.GetDateFromYYYY_MM_DD(dsCardinfo.Tables[0].Rows[0]["AGREE_DATE"].ToString().Trim())).ToString("yyyyMMdd"),
                                                CashGbn.None);
                    bizAgree.Dispose();
                }


                if (reqdata.IsAgreeError)
                {
                    Basic.ShowMessage(3, "카드 승인을 취소할 수 없습니다.  - \n\r" + reqdata.Message);
                    return;
                }

                this.Cursor = Cursors.WaitCursor;

                try{
                    //승인 이후 에러건에 대한 메세지 처리를 무조건한다.

                    string AgreeDates = reqdata.AgreeDate.Substring(0, 4) + "-" +
                                        reqdata.AgreeDate.Substring(4, 2) + "-" +
                                        reqdata.AgreeDate.Substring(6, 2);

                    AgreeDates = DateTime.Parse(AgreeDates).ToString("yyyyMMdd");

                    string saledate      = Parm.CurrentUserInformation.roomTask.gsTaskDate;
                    string bizcode       = Parm.CurrentUserInformation.BizInfo.BizCode;
                    string facilitycode  = r["FACILITY_CODE"].ToString().Trim();
                    string billno        = Basic.MaskReplace(Num.GetNumberOnly(Faci)) + Basic.MaskReplace(Num.GetNumberOnly(RoomNo));
                    string saleyn        = "Y";
                    string payseq        = "일련번호현금의 seqno 에넎는다";
                    string agreeyn       = "N";
                    string saleamt       = (int.Parse(r["PAY_AMT"].ToString().Trim()) * -1).ToString().Trim();
                    string cardno        = r["CARD_NO"].ToString().Trim();
                    string validthru     = r["VALID_THRU"].ToString().Trim();
                    string installentcnt = r["INSTALLMENT_CNT"].ToString().Trim();
                    string agreeno       = reqdata.AgreeNo;
                    string orgagreeno    = r["AGREE_NO"].ToString().Trim();
                    string card_co_code  = reqdata.CardCoCode;
                    string card_co_name  = reqdata.CardCoName;
                    string issu_co_code  = reqdata.ISSUCoCode;
                    string issu_co_name  = reqdata.ISSUCoName;
                    string card_join_no  = reqdata.CardJoinNo;
                    string agreedate     = AgreeDates;
                    //string agreetime     = reqdata.AgreeDate.Substring(6,4);
                    string agreetime = reqdata.AgreeDate.Length > 6 ? reqdata.AgreeDate.Substring(6, 4) : DateTime.Now.ToString("hhmm");
                    string track_Two = dsCardinfo.Tables[0].Rows[0]["TRACK_TWO"].ToString().Trim();
                    string easyyn    = "N";
                    string tid       = Parm.CurrentUserInformation.roomTask.gsCardTerminalID;
                    string empno     = Parm.CurrentUserInformation.id;
                    string ip        = Parm.CurrentUserInformation.ip;


                    //채번한다.
                    DataTable dtParm = DataLayer.GetDataTableParameter(DataLayer.DatatableStyle.Parameter);
                    dtParm.Rows.Add(new object[] { "V_SALE_DATE", saledate });
                    dtParm.Rows.Add(new object[] { "V_BIZ_CODE", bizcode });
                    dtParm.Rows.Add(new object[] { "V_FACILITY_CODE", facilitycode });
                    dtParm.Rows.Add(new object[] { "V_POS_NO", "01" });
                    dtParm.Rows.Add(new object[] { "V_BILL_NO", billno });
                    dtParm.Rows.Add(new object[] { "V_SALE_YN", saleyn });

                    payseq = DataLayer.ExecuteSpScala("PKG_DAZAZ02.PR_IAA030MS_KEY_SEQ", dtParm, DataLayer.MessageEncoding.Default);


                    //일단 넘길테이블에 담는다.
                    DataTable dtCard = Pay.CreditCard(saledate,
                                                      bizcode,
                                                      facilitycode,
                                                      billno,
                                                      saleyn,
                                                      payseq,
                                                      agreeyn,
                                                      saleamt,
                                                      cardno,
                                                      validthru,
                                                      installentcnt,
                                                      agreeno,
                                                      orgagreeno,
                                                      card_co_code,
                                                      card_co_name,
                                                      issu_co_code,
                                                      issu_co_name,
                                                      card_join_no,
                                                      agreedate,
                                                      agreetime,
                                                      track_Two,
                                                      easyyn,
                                                      tid,
                                                      empno,
                                                      ip);

                    //카드정보는 담았다
                    //현금정보를 동반해야되기때문에 현금정보를 담는다.


                    string mngno     = r["MNG_NO"].ToString().Trim();                             //관리번호
                    string mngseq    = r["MNG_SEQ"].ToString().Trim();                            //관리순번
                    string taskdate  = Appdate;                                                   //작업일자
                    string keyseq    = "일련번호";                                                    //일련번호
                    string rasiecode = r["RAISE_CODE"].ToString().Trim();                         //발생코드
                    string paycode   = r["PAY_CODE"].ToString().Trim();                           //결제코드
                    string payamt    = r["PAY_AMT"].ToString().Trim();                            //결제금액
                    string itemstat  = "D";                                                       //상태
                    string facipart  = Faci;                                                      //동코드
                    string reference = reqdata.AgreeNo;                                           //참고(카드번호,승인번호/락카번호/연회번호/상품권번호/회원번호)
                    string seqno     = payseq;                                                    //순번
                    string rmrk      = "[승인번호:" + reqdata.AgreeNo + "] 사유:" + memo;               //비고

                    string co_facilitycode = "";                                                  //이체영업장코드
                    string co_mngcode      = "";                                                  //이체관리번호
                    string co_mngseq       = "";                                                  //이체관리순번
                    string co_taskdate     = "";                                                  //이체영업일자
                    string co_keyseq       = "";                                                  //이체일련번호

                    string st_facilitycode = facilitycode;                                        //최초영업장코드
                    string st_mngno        = mngno;                                               //최초관리번호
                    string st_mngseq       = mngseq;                                              //최초관리순번
                    string st_taskdate     = Basic.MaskReplace(r["TASK_DATE"].ToString().Trim()); //최초영업일자
                    string st_keyseq       = r["KEY_SEQ"].ToString().Trim();                      //최초일련번호
                    string editstatus      = "3";                                                 //작업구분


                    //seqno 순번을 가져와서 할당한다.
                    //입금테이블 [DCA030MS]
                    // 사업장코드 // 영업장코드 //관리번호 //관리순번// 영업일자 // == 일련번호//
                    // 순번을 가져온다
                    //PR_KEY_SEQ
                    DataTable dtParm3 = DataLayer.GetDataTableParameter(DataLayer.DatatableStyle.Parameter);

                    dtParm3.Rows.Add(new object[] { "V_BIZ_CODE", bizcode });
                    dtParm3.Rows.Add(new object[] { "V_FACILITY_CODE", facilitycode });
                    dtParm3.Rows.Add(new object[] { "V_MNG_NO", mngno });
                    dtParm3.Rows.Add(new object[] { "V_MNG_SEQ", mngseq });
                    dtParm3.Rows.Add(new object[] { "V_TASK_DATE", taskdate });

                    keyseq = DataLayer.ExecuteSpScala("PKG_DAZAZ02.PR_DCA030MS_KEY_SEQ", dtParm3, DataLayer.MessageEncoding.Default);


                    DataTable dtcash = Pay.Room_110(bizcode,
                                                    facilitycode,
                                                    mngno,
                                                    mngseq,
                                                    taskdate,
                                                    keyseq,
                                                    rasiecode,
                                                    paycode,
                                                    payamt,
                                                    itemstat,
                                                    facipart, reference,
                                                    seqno,
                                                    rmrk,
                                                    co_facilitycode,
                                                    co_mngcode,
                                                    co_mngseq,
                                                    co_taskdate,
                                                    co_keyseq,
                                                    st_facilitycode,
                                                    st_mngno,
                                                    st_mngseq,
                                                    st_taskdate,
                                                    st_keyseq,
                                                    empno,
                                                    ip,
                                                    editstatus);

                    DataSet dsTmp = DataLayer.AddProdedcure(new DataTable[] { dtcash, dtCard });

                    string v_ret = DataLayer.ExecuteSpScalaTransaction(dsTmp, "OK", DataLayer.MessageEncoding.Default);

                    if (v_ret != "OK")
                    {
                        Basic.ShowMessage(1, v_ret);
                        Basic.ShowMessage(1, "[전신실에 문의하세요] \n\r카드 승인은 취소 되었으나 자료갱신시 에러입니다.\n\tr" +
                                          "취소 승인번호 : " + reqdata.AgreeNo + "\n\r" +
                                          "\n\r에러내용 : " + v_ret);
                        Van.Log.Log.SaveLog("카드 승인 취소 후 - DB 갱신에러 - 취소승인번호 : " + reqdata.AgreeNo + " / mngno:" + r["MNG_NO"].ToString().Trim() + " / mngseq:" + r["MNG_SEQ"].ToString().Trim() + "  ERR:" + v_ret);
                    }

                    //영수증출력
                    bill_Print_Card(taskdate, bizcode, facilitycode, billno, keyseq, mngno, mngseq);
                }
                catch (Exception ex)
                {
                    Basic.ShowMessage(1, "[전신실에 문의하세요] \n\r카드 승인은 취소 되었으나 자료갱신시 에러입니다.\n\tr" +
                                      "취소 승인번호 : " + reqdata.AgreeNo + "\n\r" +
                                      "\n\r에러내용 : " + ex.Message);
                    Van.Log.Log.SaveLog("카드 승인 취소 후 - DB 갱신에러 - 취소승인번호 : " + reqdata.AgreeNo + " / mngno:" + r["MNG_NO"].ToString().Trim() + " / mngseq:" + r["MNG_SEQ"].ToString().Trim() + "  ERR:" + ex.Message);
                }


                fnSelect();

                Basic.ShowMessage(1, "취소 하였습니다.");
            }
            catch (Exception ex)
            {
                Basic.ShowMessage(3, ex.Message);
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }
        }
Ejemplo n.º 10
0
        /// <summary>
        /// 현금영수증 승인
        /// </summary>
        private bool fnCashBill(bool cashbillyn
                                , bool cashsignpadyn
                                , string amt
                                , CashKind cashbillkind
                                , string cashbillregno
                                , ref string refcashbillregno
                                , ref string refIdNoCode
                                , ref Van.RecivedData cashreqdata
                                )
        {
            try
            {
                bool IsClose = BizCommon.Gneral_D.IsRoomClose();

                refIdNoCode = "";


                //현금영수증 선택되었을대
                if (cashbillyn)
                {
                    Van.RecivedData reqdata = new RecivedData();
                    refcashbillregno = cashbillregno;

                    //식별번호를 싸인패드로 받는다면
                    if (cashsignpadyn)
                    {
                        using (BizVanComunication regNumber = new BizVanComunication())
                        {
                            reqdata = regNumber.GetCashRegNumber("PROJECT_D",
                                                                 int.Parse(Basic.MaskReplace(amt))
                                                                 );
                            regNumber.Dispose();
                        }
                        refcashbillregno = reqdata.CashRegNumber;
                    }

                    if (cashbillregno.Length < 7)
                    {
                        //현금영수증
                        Basic.ShowMessage(1, "식별번호를 정확하게 입력하여 주십시요");
                        return(false);
                    }

                    //현금영수증 승인요청
                    /***********************************************************************************************************************************************/

                    using (BizVanComunication bizVan = new BizVanComunication())
                    {
                        cashreqdata = bizVan.SendData("PROJECT_D",
                                                      JobKind.RegCash,
                                                      cashbillkind,
                                                      refcashbillregno.Trim(),
                                                      "",
                                                      "",
                                                      Basic.MaskReplace(amt),
                                                      "",
                                                      "",
                                                      "",
                                                      "", lupCashBill_IdCode.EditValue.ToString() == "1" ? CashGbn.Card : CashGbn.None);
                        bizVan.Dispose();
                    }

                    /***********************************************************************************************************************************************/

                    if (cashreqdata.IsAgreeError)
                    {
                        Basic.ShowMessage(1, cashreqdata.Message);
                        return(false);
                    }

                    //승인여부
                    //DB 작업 실패시 삭제하기위해서
                    //IsAgreeCash = true;
                }
                //자진 발급
                else
                {
                    DataRow[] dr        = Parm.mDataTable.dtZx010ms.Select("HEAD = 'Z0028' AND DETAIL = '0' AND USE_YN = 'Y' ");
                    int       _intInput = 0;
                    int       _intZ0028 = 0;

                    refcashbillregno = dr[0]["ITEM1"].ToString();
                    _intInput        = int.Parse(amt.Replace(",", ""));

                    refIdNoCode = dr[0]["DETAIL"].ToString();

                    try
                    {
                        _intZ0028 = int.Parse(dr[0]["ITEM2"].ToString());
                    }
                    catch (Exception)
                    {
                        _intZ0028 = 0;
                    }

                    if (_intInput >= _intZ0028)
                    {
                        using (BizVanComunication bizVan = new BizVanComunication())
                        {
                            cashreqdata = bizVan.SendData("PROJECT_D",
                                                          JobKind.RegCash,
                                                          cashbillkind,
                                                          dr[0]["ITEM1"].ToString(),
                                                          "",
                                                          "",
                                                          Basic.MaskReplace(amt.Trim()),
                                                          "",
                                                          "",
                                                          "",
                                                          "", CashGbn.None);
                            bizVan.Dispose();
                        }


                        if (cashreqdata.IsAgreeError)
                        {
                            Basic.ShowMessage(1, cashreqdata.Message);
                            return(false);
                        }

                        //승인여부
                        //DB 작업 실패시 삭제하기위해서
                        //IsAgreeCash = true;
                    }
                }

                //cashAgreeNo = Cashreqdata.AgreeNo;
                //cashAgreeDate = Cashreqdata.AgreeDate;
                this.Cursor = Cursors.WaitCursor;
                this.Cursor = Cursors.Default;
                return(true);
            }
            catch (Exception ex)
            {
                Basic.ShowMessage(3, ex.Message);
                return(false);
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }
        }
Ejemplo n.º 11
0
        private void fnCashBillReg(bool cashbillyn)
        {
            try
            {
                Van.RecivedData CashReqData = new RecivedData();

                string CashBillRegNo = "";
                string IdNoCode      = "";

                if (!fnCashBill(cashbillyn
                                , chkCashSignPad.Checked
                                , Basic.MaskReplace(dtSelect.Rows[0]["RSV_AMT"].ToString())
                                , optCashBillKind.SelectedIndex < 1 ? Van.CashKind.Persnal : Van.CashKind.Company
                                , txtCashBillRegNo.Text.Trim()
                                , ref CashBillRegNo
                                , ref IdNoCode
                                , ref CashReqData
                                )
                    )
                {
                    return;  // 현금영수증 승인
                }
                string   tmp        = CashReqData.AgreeDate.Substring(0, 6);
                DateTime dt         = DateTime.ParseExact(tmp, "yyMMdd", null);
                string   _agreedate = dt.ToString("yyyyMMdd");

                DataTable dtparmInsert = DataLayer.GetDataTableParameter(DataLayer.DatatableStyle.Parameter);
                dtparmInsert.Rows.Add(new object[] { "V_RSV_NO", P_RSV_NO });
                dtparmInsert.Rows.Add(new object[] { "V_MNG_NO", P_MNG_NO });
                dtparmInsert.Rows.Add(new object[] { "V_SALE_DATE", Parm.CurrentUserInformation.roomTask.gsTaskDate });
                dtparmInsert.Rows.Add(new object[] { "V_BIZ_CODE", Parm.CurrentUserInformation.BizInfo.BizCode });
                dtparmInsert.Rows.Add(new object[] { "V_SALE_AMT", Basic.MaskReplace(txtAmt.Text.Trim()) });
                dtparmInsert.Rows.Add(new object[] { "V_PE_CO_CODE", optCashBillKind.SelectedIndex < 1 ? "P" : "C" });
                dtparmInsert.Rows.Add(new object[] { "V_ID_NO_CODE", IdNoCode.Length < 1 ? lupCashBill_IdCode.EditValue.ToString() : IdNoCode });
                dtparmInsert.Rows.Add(new object[] { "V_ID_NO", CashBillRegNo });
                dtparmInsert.Rows.Add(new object[] { "V_AGREE_NO", CashReqData.AgreeNo });
                dtparmInsert.Rows.Add(new object[] { "V_AGREE_DATE", _agreedate });
                dtparmInsert.Rows.Add(new object[] { "V_EASY_YN", chkCashSignPad.Checked?"Y":"N" });
                dtparmInsert.Rows.Add(new object[] { "V_U_EMP_NO", Parm.CurrentUserInformation.id });
                dtparmInsert.Rows.Add(new object[] { "V_U_IP", Parm.CurrentUserInformation.ip });

                string Result = DataLayer.ExecuteSpScala("PKG_DAHAH25.PR_10", dtparmInsert, DataLayer.MessageEncoding.Default);

                if (Result != "OK")
                {
                    fnCashBillAutoCacel(cashbillyn
                                        , optCashBillKind.SelectedIndex < 1 ? Van.CashKind.Persnal : Van.CashKind.Company
                                        , CashBillRegNo
                                        , Basic.MaskReplace(txtAmt.Text.Trim())
                                        , CashReqData.AgreeNo
                                        );
                    return;
                }

                P_REG_YN = true; // 승인완료

                if (cashbillyn)
                {
                    fnBill_Cash("Y"
                                , P_GUEST_NAME
                                , CashReqData.Amt
                                , CashBillRegNo
                                , DateTime.Now.ToString("yyyy-MM-dd")
                                , CashReqData.AgreeNo
                                );
                }

                this.Close();
            }
            catch (Exception ex)
            {
                Basic.ShowMessage(3, ex.Message);
            }
        }
Ejemplo n.º 12
0
        /// <summary>
        /// 신용카드 승인
        /// </summary>
        private void fnPay120_Reg()
        {
            try
            {
                int amt = int.Parse(Basic.MaskReplace(txtCreditAmt.Text.Trim()));


                /*if(this.txtCreditCardNo.Text.Trim().Length < 13)
                 * {
                 *
                 *  Basic.ShowMessage(1, "카드번호를 정확하게 입력하여 주십시요.");
                 *  txtCreditCardNo.Focus();
                 *  return;
                 * }
                 * else */if (amt <= 0)
                {
                    Basic.ShowMessage(1, "결제금액을 입력하여 주십시요.");
                    txtCreditAmt.Focus();
                    return;
                }
                else if (Basic.MaskReplace(Num.GetNumberOnly(PayInfomation.RoomInfo.C_Facipart)) + Basic.MaskReplace(Num.GetNumberOnly(PayInfomation.RoomInfo.C_RoomNo)).Trim() == "")
                {
                    Basic.ShowMessage(2, "Bill 번호를 생성 할 수 없습니다.\n\r\n\r동코드:" + PayInfomation.RoomInfo.C_Facipart + "\r\n객실번호:" + PayInfomation.RoomInfo.C_RoomNo);
                    return;
                }


                //객실이 마감되었는지 체크한다.
                bool IsClose = BizCommon.Gneral_D.IsRoomClose();
                if (PayInfo.useKind == UseKind.Room && IsClose)
                {
                    Basic.ShowMessage(1, "현재 마감작업중입니다. \n\r마감이 끝난후 작업을 계속하십시요");
                    return;
                }


                string SendCardNo = "";
                _TrackTowInfo = "";

                /* if(txtCreditCardNo.Text.Trim().IndexOf("=") < 0)
                 * {
                 *
                 *   SendCardNo = txtCreditCardNo.Text.Trim();
                 *
                 *   if(  this.txtCreditCardScope.Text.Trim() == "" &&
                 *           this.txtCreditCardNo.Text.Trim().IndexOf("=") < 0  )
                 *       {
                 *           Basic.ShowMessage(1, "키인 입력입니다 - 유효기간을 입력하세요.");
                 *           txtCreditCardScope.Focus();
                 *           return;
                 *       }
                 *
                 * }
                 * else
                 * {
                 *   if (txtCreditCardNo.Text.ToUpper().StartsWith("C"))
                 *       txtCreditCardNo.Text = txtCreditCardNo.Text.Remove(0, 1);
                 *   _TrackTowInfo = txtCreditCardNo.Text.Trim();
                 *   SendCardNo = txtCreditCardNo.Text.Trim();
                 *
                 *   string str1 = this.txtCreditCardNo.Text.Trim().Split('=')[0];
                 *   string str2 = this.txtCreditCardNo.Text.Trim().Split('=')[1];
                 *
                 *   this.txtCreditCardNo.Text = str1;
                 *
                 *   if(str2.Trim().Length < 4)
                 *   {
                 *       Basic.ShowMessage(1, "MSR 입력 - 카드번호가 잘못되었습니다.");
                 *       return;
                 *   }
                 *   string strscope = str2.Trim().Substring(0,4);
                 *   this.txtCreditCardScope.EditValue   = strscope ;
                 *
                 * }
                 */
                //유효기간
                string scope = Basic.MaskReplace(txtCreditCardScope.Text.Trim());

                if (scope.Length < 4)
                {
                    scope = "9999";
                }



                #region 서명모드
                /******************************************************************************/
                // 싸인패드가 체크 되어 있다면 서명모드 시작
                /******************************************************************************/

                byte[] b = null;
                string SignDataString = "";

                /*
                 * Van.RecivedData rvcSign = new RecivedData();
                 * bool  IsSucess = true;
                 * if(this.chkCreditSignPad.Checked)
                 * {
                 *  using(BizVanComunication bizVan = new BizVanComunication())
                 *  {
                 *
                 *      string reqdatas = bizVan.GetVanMakeCardProtocol( "PROJECT_D" ,
                 *                                                        JobKind.RegCard,
                 *                                                        CashKind.None,
                 *                                                        SendCardNo ,
                 *                                                        scope,
                 *                                                        Basic.MaskReplace(txtCreditAmtSplit.Text.Trim()),
                 *                                                        Basic.MaskReplace(txtCreditAmt.Text.Trim()) ,
                 *                                                        "1" ,
                 *                                                        "","","", CashGbn.None );
                 *
                 *
                 *      IsSucess =  bizVan.GetSign( "PROJECT_D",
                 *                                  int.Parse(Basic.MaskReplace(txtCreditAmt.Text.Trim())) ,
                 *                                  ref rvcSign,
                 *                                  reqdatas);
                 *      bizVan.Dispose();
                 *  }
                 *
                 * }
                 * if(!IsSucess) return;
                 */
                /******************************************************************************/
                // 서명모드 종료
                /******************************************************************************/
                #endregion

                /*
                 * SignDataString = rvcSign.SignStringData;
                 * b = rvcSign.SignData;
                 */
                //카드승인처리 시작
                /***********************************************************************************************************************************************/

                Van.RecivedData reqdata = new RecivedData();

                /*
                 * if(rvcSign.IsSignPadAgree)
                 * {
                 *  reqdata = rvcSign;
                 *  if(reqdata.IsAgreeError)
                 *  {
                 *      MessageBox.Show(reqdata.Message);
                 *      return;
                 *  }
                 * }
                 * else
                 *
                 */
                {
                    using (BizVanComunication bizAgree = new BizVanComunication())
                    {
                        reqdata = bizAgree.SendData("PROJECT_D",
                                                    JobKind.RegCard,
                                                    CashKind.None,
                                                    SendCardNo,
                                                    scope,
                                                    Basic.MaskReplace(txtCreditAmtSplit.Text.Trim()),
                                                    Basic.MaskReplace(txtCreditAmt.Text.Trim()),
                                                    "1",
                                                    SignDataString, "", "", CashGbn.None);


                        bizAgree.Dispose();
                    }

                    /***********************************************************************************************************************************************/

                    if (reqdata.IsAgreeError)
                    {
                        MessageBox.Show(reqdata.Message);
                        return;
                    }
                }

                this.Cursor = Cursors.WaitCursor;
                // 승인이 났다.
                //DB처리
                string AgreeDate = reqdata.AgreeDate.Substring(0, 4) + "-" +
                                   reqdata.AgreeDate.Substring(4, 2) + "-" +
                                   reqdata.AgreeDate.Substring(6, 2);

                AgreeDate = DateTime.Parse(AgreeDate).ToString("yyyyMMdd");

                string outSeq = "";

                string v_ret = fn_Card(Basic.MaskReplace(txtCreditAmt.Text.Trim()),
                                       //     txtCreditCardNo.Text.Trim(),
                                       Basic.MaskReplace(reqdata.CashRegNumber),
                                       Basic.MaskReplace(scope),
                                       reqdata.CardCoCode,
                                       reqdata.CardCoName,
                                       reqdata.ISSUCoCode,
                                       reqdata.ISSUCoName,
                                       reqdata.CardJoinNo,
                                       reqdata.AgreeNo,
                                       this.txtCreditAmtSplit.Text.Trim() == "" ? "0" : this.txtCreditAmtSplit.Text.Trim(),
                                       AgreeDate,
                                       reqdata.AgreeDate.Length > 6 ? reqdata.AgreeDate.Substring(6, 4) : DateTime.Now.ToString("hhmm"),
                                       _TrackTowInfo,
                                       "N",
                                       Parm.CurrentUserInformation.roomTask.gsCardTerminalID,
                                       Parm.CurrentUserInformation.id,
                                       ref outSeq);

                //DB 처리에러시 취소승인을
                //딴다.
                if (v_ret != "OK")
                {
                    Van.RecivedData reqdataCancel = new RecivedData();

                    using (BizVanComunication bizAgree = new BizVanComunication())
                    {
                        reqdataCancel = bizAgree.SendData("PROJECT_D",
                                                          JobKind.CancelCard,
                                                          CashKind.None,
                                                          _TrackTowInfo,
                                                          scope,
                                                          Basic.MaskReplace(txtCreditAmtSplit.Text.Trim()),
                                                          Basic.MaskReplace(txtCreditAmt.Text.Trim()),
                                                          "",
                                                          "",
                                                          reqdata.AgreeNo,
                                                          reqdata.AgreeDate.Substring(0, 6),
                                                          CashGbn.None);

                        bizAgree.Dispose();
                    }


                    /***********************************************************************************************************************************************/


                    if (reqdataCancel.IsAgreeError)
                    {
                        Basic.ShowMessage(3, "승인 후 DB 저장시 에러 입니다." + System.Environment.NewLine +
                                          "승인번호는 : " + reqdata.AgreeNo + " 입니다." + System.Environment.NewLine +
                                          "현재 내용을 CTL + C 로 복사하여 메모장에 붙여 넣으세요 - 붙여넣으신 내용으로 전산실에 문의하세요" + System.Environment.NewLine +
                                          "전산실에 문의하여 수기로 승인 취소를 하십시요" + System.Environment.NewLine + System.Environment.NewLine +
                                          "승인취소 에러 내용" + System.Environment.NewLine +
                                          reqdata.Message + System.Environment.NewLine + System.Environment.NewLine +
                                          "DB 처리 에러내용 :" + System.Environment.NewLine +
                                          v_ret);

                        Van.Log.Log.SaveLog("[승인후 DB 저장에러 - 승인취소실패] 에러내용 -  " + reqdataCancel.Message);
                        Van.Log.Log.SaveLog("[승인후 DB 저장에러 - 승인취소실패] 취소전문 - $" + reqdataCancel.FullSendData + "$");
                        return;
                    }

                    Basic.ShowMessage(2, v_ret);
                    return;
                }

                //메인데이터가 들어갔다면 싸인데이터도 넣어준다.
                //싸인데이터가 있다면

                if (b != null)
                {
                    string Query = @"INSERT INTO IAA030DT(
                                                         SALE_DATE     , 
                                                         BIZ_CODE      , 
                                                         FACILITY_CODE , 
                                                         POS_NO        , 
                                                         BILL_NO       , 
                                                         SALE_YN       , 
                                                         PAY_SEQ       , 
                                                         SIGN_IMG      , 
                                                         U_EMP_NO      , 
                                                         U_IP         
                                                    ) VALUES (
                                                                   :V_SALE_DATE     , 
                                                                   :V_BIZ_CODE      , 
                                                                   :V_FACILITY_CODE , 
                                                                   :V_POS_NO        , 
                                                                   :V_BILL_NO       , 
                                                                   :V_SALE_YN       , 
                                                                   :V_PAY_SEQ       , 
                                                                   :V_SIGN_IMG      , 
                                                                   :V_U_EMP_NO      , 
                                                                   :V_U_IP         
                                                               )";

                    DataTable dtParm = DataLayer.GetDataTableParameter(DataLayer.DatatableStyle.Parameter);
                    dtParm.Rows.Add(":V_SALE_DATE", PayInfomation.SaleDate);
                    dtParm.Rows.Add(":V_BIZ_CODE", PayInfomation.RoomInfo.C_Bizcode);
                    dtParm.Rows.Add(":V_FACILITY_CODE", PayInfomation.RoomInfo.C_Facilitycode);
                    dtParm.Rows.Add(":V_POS_NO", "01");
                    dtParm.Rows.Add(":V_BILL_NO", Basic.MaskReplace(Num.GetNumberOnly(PayInfomation.RoomInfo.C_Facipart)) + Basic.MaskReplace(Num.GetNumberOnly(PayInfomation.RoomInfo.C_RoomNo)));
                    dtParm.Rows.Add(":V_SALE_YN", "Y");
                    dtParm.Rows.Add(":V_PAY_SEQ", outSeq);
                    dtParm.Rows.Add(":V_SIGN_IMG", "#");
                    dtParm.Rows.Add(":V_U_EMP_NO", Parm.CurrentUserInformation.id);
                    dtParm.Rows.Add(":V_U_IP", Parm.CurrentUserInformation.ip);


                    //bill_Print_Card();

                    try
                    {
                        int ret = DataLayer.ExecuteNonQuery(Query, dtParm, b, DataLayer.MessageEncoding.Default);
                    }
                    catch (Exception ex)
                    {
                        Basic.ShowMessage(2, "카드승인은 정상승인 처리되었으며 자료도 정상저장 되었습니다. \n\r싸인 이미지만 DB 에 저장하지 못했습니다.\n\r" + ex.Message);
                    }

                    try
                    {
                        string _strBillNo = Basic.MaskReplace(Num.GetNumberOnly(PayInfomation.RoomInfo.C_Facipart)) + Basic.MaskReplace(Num.GetNumberOnly(PayInfomation.RoomInfo.C_RoomNo));
                        bill_Print_Card(outSeq, _strBillNo);
                    }
                    catch (Exception ex)
                    {
                        Basic.ShowMessage(2, "영수증 출력중 에러!");
                    }
                }
                else     // 사인데이터가 없어도 영수증 출력은 해준다로 변경함. (2015.07.15 정수환)
                {
                    string _strBillNo = Basic.MaskReplace(Num.GetNumberOnly(PayInfomation.RoomInfo.C_Facipart)) + Basic.MaskReplace(Num.GetNumberOnly(PayInfomation.RoomInfo.C_RoomNo));
                    bill_Print_Card(outSeq, _strBillNo);
                }

                Basic.ShowMessage(1, "저장 하였습니다.");


                txtCreditCardNo.Text    = "";
                txtCreditCardScope.Text = "";
                txtCreditAmtSplit.Text  = "0";
                txtCreditAmt.Text       = "0";
                _TrackTowInfo           = "";
                RaiseDataReflashEvent(true);
            }
            catch (Exception ex)
            {
                Basic.ShowMessage(3, ex.Message);
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }
        }