/// <summary> /// hàm thực hiện viecj lấy thông tin phiếu chi /// </summary> private void CallPhieuChi() { try { frm_Tralaitien frm = new frm_Tralaitien(); frm.objLuotkham = objLuotkham; frm.v_Payment_Id = Utility.Int32Dbnull(Utility.GetValueFromGridColumn(grdPhieuChi, KcbThanhtoan.Columns.IdThanhtoan), -1); frm.Chuathanhtoan = Chuathanhtoan; frm.TotalPayment = grdPayment.GetDataRows().Length; frm.ShowCancel = false; frm.ShowDialog(); } catch (Exception exception) { //throw; } }
/// <summary> /// hàm thực hiện việc hủy thông tin phiếu chi /// </summary> private void HuyPhieuchi() { ma_lydohuy = ""; if (!Utility.isValidGrid(grdPhieuChi)) return; if (grdPhieuChi.CurrentRow != null) { if (objLuotkham == null) { objLuotkham = CreatePatientExam(); } if (objLuotkham.TrangthaiNoitru >= Utility.Int32Dbnull(THU_VIEN_CHUNG.Laygiatrithamsohethong("KCB_THANHTOAN_CHAN_THANHTOANNGOAITRU", "2", false), 2)) { Utility.ShowMsg("Bệnh nhân này đã ở trạng thái nội trú nên hệ thống không cho phép hủy phiếu chi ngoại trú nữa"); return; } v_Payment_ID = Utility.Int32Dbnull(grdPhieuChi.CurrentRow.Cells[KcbThanhtoan.Columns.IdThanhtoan].Value, -1); KcbThanhtoan objPayment = KcbThanhtoan.FetchByID(v_Payment_ID); if (objPayment != null) { //Kiểm tra ngày hủy int KCB_THANHTOAN_SONGAY_HUYPHIEUCHI = Utility.Int32Dbnull(THU_VIEN_CHUNG.Laygiatrithamsohethong("KCB_THANHTOAN_SONGAY_HUYPHIEUCHI", "0", true), 0); int Chenhlech = (int)Math.Ceiling((globalVariables.SysDate.Date - objPayment.NgayThanhtoan.Date).TotalDays); if (Chenhlech > KCB_THANHTOAN_SONGAY_HUYPHIEUCHI) { Utility.ShowMsg(string.Format("Ngày lập phiếu chi {0} - Ngày hủy phiếu chi {1}. Hệ thống không cho phép bạn hủy phiếu chi đã quá {2} ngày. Cần liên hệ quản trị hệ thống để được trợ giúp", objPayment.NgayThanhtoan.ToString("dd/MM/yyyy"), globalVariables.SysDate.ToString("dd/MM/yyyy"), KCB_THANHTOAN_SONGAY_HUYPHIEUCHI.ToString())); return; } if (PropertyLib._ThanhtoanProperties.Hienthihuyphieuchi) { frm_Tralaitien frm = new frm_Tralaitien(); frm.objLuotkham = objLuotkham; frm.v_Payment_Id = Utility.Int32Dbnull(objPayment.IdThanhtoan, -1); frm.Chuathanhtoan = Chuathanhtoan; frm.TotalPayment = grdPayment.GetDataRows().Length; frm.ShowCancel = true; frm.ShowDialog(); if (!frm.m_blnCancel) { getData(); } } else { if (THU_VIEN_CHUNG.Laygiatrithamsohethong("KCB_THANHTOAN_BATNHAPLYDO_HUYPHIEUCHI", "1", false) == "1") { frm_Chondanhmucdungchung _Nhaplydohuythanhtoan = new frm_Chondanhmucdungchung("LYDOTRATIEN", "Trả lại tiền cho Bệnh nhân", "Nhập lý do trả lại tiền trước khi thực hiện...", "Lý do trả lại tiền"); _Nhaplydohuythanhtoan.ShowDialog(); if (_Nhaplydohuythanhtoan.m_blnCancel) return; ma_lydohuy = _Nhaplydohuythanhtoan.ma; lydo_huy = _Nhaplydohuythanhtoan.ten; } ActionResult actionResult = _THANHTOAN.HuyPhieuchi(objPayment, objLuotkham, lydo_huy); switch (actionResult) { case ActionResult.Success: grdPhieuChi.CurrentRow.Delete(); ModifyCommand(); Utility.ShowMsg("Bạn hủy thông tin phiếu chi thành công", "Thông báo"); getData(); break; case ActionResult.Error: Utility.ShowMsg("Lỗi trong quá trình hủy phiếu chi", "Thông báo lỗi", MessageBoxIcon.Error); break; } } } ModifyCommand(); } }