/// <summary> /// 입금삭제 /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> private void btnDelete_Click(object sender, EventArgs e) { try { //데이터가 없거나 if (this.gridView.RowCount <= 0 || dt.Rows.Count <= 0 || this.gridView.FocusedRowHandle < 0) { return; } //전체합계가 int isum = int.Parse(dt.Compute("SUM(PAY_AMT)", "").ToString().Trim()); //0이라면 if (isum <= 0) { return; } string msg = "발생일자 : {0}" + System.Environment.NewLine + "입금구분 : {1}" + System.Environment.NewLine + "입금금액 : {2}" + System.Environment.NewLine + System.Environment.NewLine + "입금된 항목을 삭제 하시겠습니까?"; string taskdate = this.gridView.GetRowCellValue(this.gridView.FocusedRowHandle, "TASK_DATE").ToString().Trim(); string paycodename = this.gridView.GetRowCellValue(this.gridView.FocusedRowHandle, "PAY_CODE_NAME").ToString().Trim(); string payamt = Num.SetCommaNumber(this.gridView.GetRowCellValue(this.gridView.FocusedRowHandle, "PAY_AMT").ToString().Trim()); msg = string.Format(msg, taskdate, paycodename, payamt); if (Basic.ShowMessageQuestion(msg) == DialogResult.No) { return; } //로우가 이지체크라면 if (this.gridView.GetRowCellValue(this.gridView.FocusedRowHandle, "PAY_CODE").ToString().Trim() == Parm_Pay.RAISE_CODE_RSVAMT) { Basic.ShowMessage(3, "입금취소된 예약금은 재입실시 재사용됩니다." + System.Environment.NewLine + "예약금 환불시에는 [퇴실정산]의 예약금환불 계정을 사용하십시요."); return; } //전일자에 대한 삭제는 막는다. //TASK_DATE 와 비교한다. //appdate string strTaskDate = Basic.MaskReplace(this.gridView.GetRowCellValue(this.gridView.FocusedRowHandle, "TASK_DATE").ToString().Trim()); if (int.Parse(strTaskDate) < int.Parse(Appdate)) { Basic.ShowMessage(1, "전일자에 입금된 항목은 입금삭제가 불가능 합니다."); return; } _Pay_UserMemo = ""; //작업사유를 입력받는다. DAHAH06 f = new DAHAH06("확인", "참고사항 입력", "GetReturnFunction"); f.Owner = this; f.ShowDialog(); if (_Pay_UserMemo == "") { //Basic.ShowMessage(1, "취소사유가 입력되지 않았습니다."); return; } string memo = _Pay_UserMemo; int iRow = this.gridView.GetDataSourceRowIndex(this.gridView.FocusedRowHandle); string facilitycode = dt.Rows[iRow]["FACILITY_CODE"].ToString().Trim(); _Pay_UserCheck = ""; //담당자체크기능 // DAHAH05 ff = new DAHAH05(facilitycode, "fn_Room_UserCheck"); ff.Owner = this; ff.ShowDialog(); if (_Pay_UserCheck == "") { //Basic.ShowMessage(1, "담당자 확인이 되지 않았습니다."); return; } string empno = _Pay_UserCheck; string paycode = dt.Rows[iRow]["PAY_CODE"].ToString().Trim(); _Pay_UserMemo = ""; _Pay_UserCheck = ""; switch (paycode) { case BizCommon.Parm_Pay.PAY_CODE_CARD: //120 카드 fn_120(dt.Rows[iRow], empno, memo); break; case BizCommon.Parm_Pay.PAY_CODE_CARD2: //125 이지체크 fn_125(dt.Rows[iRow], empno, memo); break; case BizCommon.Parm_Pay.PAY_CODE_CASH: //110 현금 fn_110(dt.Rows[iRow], empno, memo, "0"); break; case BizCommon.Parm_Pay.PAY_CODE_BANK: // 115 예금 fn_115(dt.Rows[iRow], empno, memo, "0"); break; case BizCommon.Parm_Pay.PAY_CODE_RSV_AMT: // 210 예약선수금 fn_210(dt.Rows[iRow], empno, memo, "0"); break; //case BizCommon.Parm_Pay.PAY_CODE_GOLF_DEFER: // 140 락카후불 // fn_140(dt.Rows[iRow] , empno , memo, "0"); // break; case BizCommon.Parm_Pay.PAY_CODE_GROUP_DEFER: // 150 단체후불 fn_150(dt.Rows[iRow], empno, memo, "0"); break; case BizCommon.Parm_Pay.PAY_CODE_TRUST: // 170 단체후불 fn_170(dt.Rows[iRow], empno, memo, "0"); break; case BizCommon.Parm_Pay.PAY_POINT: // 181 포인트 fn_181(dt.Rows[iRow], empno, memo, "0"); break; default: Basic.ShowMessage(1, "입금 취소 기능을 제공하지 않습다"); break; } } catch (Exception ex) { Basic.ShowMessage(3, ex.Message); } }
/// <summary> ///125 - [이지체크] 항목삭제 /// </summary> /// <param name="r">The r.</param> /// <param name="emp">The emp.</param> /// <param name="memo">The memo.</param> private void fn_125(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; } //원승인번호를 받는다. _Pay_UserMemo = ""; DAHAH06 f = new DAHAH06("이지체크", "승인번호", "GetReturnFunction"); f.Owner = this; f.ShowDialog(); if (_Pay_UserMemo.Trim() == "") { Basic.ShowMessage(1, "승인번호가 없습니다."); return; } string checkregno = _Pay_UserMemo; //카드정보를 읽어온다. 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; } // 같은 승인 번호의 여러 결제건 처리 string filter = " SALE_DATE = " + Basic.MaskReplace(r["TASK_DATE"].ToString().Trim()) + " AND BIZ_CODE = " + Parm.CurrentUserInformation.BizInfo.BizCode + " AND FACILITY_CODE = " + r["FACILITY_CODE"].ToString().Trim() + " AND POS_NO = " + "01" + " AND BILL_NO = " + Basic.MaskReplace(Num.GetNumberOnly(Faci)) + Basic.MaskReplace(Num.GetNumberOnly(RoomNo)) + " AND PAY_SEQ = " + r["SEQ_NO"].ToString().Trim(); DataRow[] drCardInfo = dsCardinfo.Tables[0].Select(filter); if (drCardInfo == null || drCardInfo.Length <= 0) { Basic.ShowMessage(1, "해당 카드 결제 정보가 없습니다."); return; } string saledate = Appdate; 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 = checkregno; string orgagreeno = r["AGREE_NO"].ToString().Trim(); string card_co_code = drCardInfo[0]["CARD_CO_CODE"].ToString().Trim(); string card_co_name = drCardInfo[0]["CARD_CO_NAME"].ToString().Trim(); string issu_co_code = drCardInfo[0]["ISSU_CO_CODE"].ToString().Trim(); string issu_co_name = drCardInfo[0]["ISSU_CO_NAME"].ToString().Trim(); string card_join_no = drCardInfo[0]["CARD_JOIN_NO"].ToString().Trim(); string agreedate = ""; string agreetime = ""; string track_Two = ""; string easyyn = "Y"; string tid = ""; string empno = emp; 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 = ""; //상태 string facipart = Faci; //동코드 string reference = r["REFERENCE"].ToString().Trim(); //참고(카드번호,승인번호/락카번호/연회번호/상품권번호/회원번호) string seqno = payseq; //순번 string rmrk = "[승인번호:" + 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); return; } fnSelect(); Basic.ShowMessage(1, "취소 하였습니다."); } catch (Exception ex) { throw ex; } }
/// <summary> /// 데이터를 인서트 합니다. /// </summary> private void fnInsert() { try { if (!btnInsert.Enabled) { return; } int amt = int.Parse(this.txtAmt.Text.Trim().Replace(",", "")); if (ds == null) { Basic.ShowMessage(1, "데이터가 조회되지 않았습니다."); return; } else if (ds.Tables.Count < 2) { Basic.ShowMessage(1, "조회 중 알수 없는 오류가 있었습니다. (DataTable 오류)\r\n재 조회 후 다시 처리 합십시요"); return; } else if (int.Parse(this.txtFrom_AfterAmt.Text.Trim().Replace(",", "")) < 0) { Basic.ShowMessage(1, "보내는 객실 잔액이 0보다 작을 수 없습니다."); return; } else if (ds.Tables[0].Rows.Count <= 0) { Basic.ShowMessage(1, "보내는 객실정보가 없습니다."); return; } else if (ds.Tables[1].Rows.Count <= 0) { Basic.ShowMessage(1, "받는 객실정보가 없습니다."); return; } else if (amt <= 0) { Basic.ShowMessage(1, "금액은 0보다 커야됩니다."); this.txtAmt.Focus(); return; } else if (ds.Tables[0].Rows.Count > 1) { Basic.ShowMessage(1, "보내는 객실정보가 1건 이상 입니다. \r\n전산담당자에게 문의 바랍니다."); return; } else if (ds.Tables[0].Rows.Count > 2) { Basic.ShowMessage(1, "받는 객실정보가 1건 이상 입니다. \r\n전산담당자에게 문의 바랍니다."); return; } _Pay_UserMemo = ""; //작업사유를 입력받는다. DAHAH06 f = new DAHAH06("금액기반매출이체", "매출이체사유", "GetReturnFunction"); f.Owner = this; f.ShowDialog(); if (_Pay_UserMemo == "") { //Basic.ShowMessage(1, "매출이체사유가 입력되지 않았습니다."); return; } string memo = _Pay_UserMemo; _Pay_UserCheck = ""; //담당자체크기능 // DAHAH05 ff = new DAHAH05(Parm.CurrentUserInformation.roomTask.gsDFacility, "fn_Room_UserCheck"); ff.Owner = this; ff.ShowDialog(); if (_Pay_UserCheck == "") { //Basic.ShowMessage(1, "담당자 확인이 되지 않았습니다."); return; } string empno = _Pay_UserCheck; _Pay_UserMemo = ""; _Pay_UserCheck = ""; string ProcName = ""; //프로시져호출 //영업장이 같은때와 // 영업장이 틀릴때 구분하여 호출한다. DataTable dtParm = DataLayer.GetDataTableParameter(DataLayer.DatatableStyle.Parameter); if (_FromFacility == _ToFacility) { dtParm.Rows.Add(new object[] { "V_BIZ_CODE", Parm.CurrentUserInformation.BizInfo.BizCode }); dtParm.Rows.Add(new object[] { "V_TASK_DATE", Parm.CurrentUserInformation.roomTask.gsTaskDate }); dtParm.Rows.Add(new object[] { "V_FROM_FACI_PART", _FromFaci }); dtParm.Rows.Add(new object[] { "V_FROM_FACILITY", _FromFacility }); dtParm.Rows.Add(new object[] { "V_FROM_MNG_NO", _FromMngNo }); dtParm.Rows.Add(new object[] { "V_FROM_MNG_SEQ", _FromMngSeq }); dtParm.Rows.Add(new object[] { "V_TO_FACI_PART", _ToFaci }); dtParm.Rows.Add(new object[] { "V_TO_FACILITY", _ToFacility }); dtParm.Rows.Add(new object[] { "V_TO_MNG_NO", _ToMngNo }); dtParm.Rows.Add(new object[] { "V_TO_MNG_SEQ", _ToMngSeq }); dtParm.Rows.Add(new object[] { "V_TRANS_AMT", amt.ToString() }); dtParm.Rows.Add(new object[] { "V_TRANS_REASON", memo }); dtParm.Rows.Add(new object[] { "V_EMP_NO", empno }); dtParm.Rows.Add(new object[] { "V_IP", Parm.CurrentUserInformation.ip }); ProcName = "PKG_DAHAH16.PR_03"; } else { dtParm.Rows.Add(new object[] { "V_BIZ_CODE", Parm.CurrentUserInformation.BizInfo.BizCode }); dtParm.Rows.Add(new object[] { "V_TASK_DATE", Parm.CurrentUserInformation.roomTask.gsTaskDate }); dtParm.Rows.Add(new object[] { "V_FROM_FACILITY", _FromFacility }); dtParm.Rows.Add(new object[] { "V_FROM_MNG_NO", _FromMngNo }); dtParm.Rows.Add(new object[] { "V_FROM_MNG_SEQ", _FromMngSeq }); dtParm.Rows.Add(new object[] { "V_TO_FACI_PART", _ToFaci }); dtParm.Rows.Add(new object[] { "V_TO_FACILITY", _ToFacility }); dtParm.Rows.Add(new object[] { "V_TO_MNG_NO", _ToMngNo }); dtParm.Rows.Add(new object[] { "V_TO_MNG_SEQ", _ToMngSeq }); dtParm.Rows.Add(new object[] { "V_TRANS_AMT", amt.ToString() }); dtParm.Rows.Add(new object[] { "V_TRANS_REASON", memo }); dtParm.Rows.Add(new object[] { "V_EMP_NO", empno }); dtParm.Rows.Add(new object[] { "V_IP", Parm.CurrentUserInformation.ip }); ProcName = "PKG_DAHAH16.PR_04"; } string v_ret = DataLayer.ExecuteSpScala(ProcName, dtParm, DataLayer.MessageEncoding.Default); if (v_ret != "OK") { Basic.ShowMessage(3, v_ret); return; } SetClear(); fnSelect(); RaiseAmtReplaceEvent(int.Parse(txtFrom_AfterAmt.Text.Trim().Replace(",", ""))); Basic.ShowMessage(1, "저장하였습니다."); } catch (Exception ex) { throw ex; } }