public StatusTransaction skipOnStationSendManaul(int tpr_id, int tps_id, int next_mrm_id, int next_mvt_id) { try { InhCheckupDataContext cdc = new InhCheckupDataContext(); trn_patient_regi tpr = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).FirstOrDefault(); trn_patient_queue tps = tpr.trn_patient_queues.Where(x => x.tps_id == tps_id).FirstOrDefault(); Class.FunctionDataCls func = new Class.FunctionDataCls(); updatePlanForSkip(ref tpr, tps_id); skipReserveCurrentQueue(ref tpr, tps_id); func.deleteCurrentQueue(ref cdc, ref tpr, tps_id); func.insertNextQueue(ref tpr, next_mrm_id, next_mvt_id); try { cdc.SubmitChanges(); return(StatusTransaction.True); } catch (System.Data.Linq.ChangeConflictException) { foreach (ObjectChangeConflict occ in cdc.ChangeConflicts) { cdc.Refresh(System.Data.Linq.RefreshMode.KeepChanges, occ.Object); } cdc.SubmitChanges(); return(StatusTransaction.True); } } catch (Exception ex) { Program.MessageError("ClsSkipOnStation", "skipOnStationSendManaul", ex, false); return(StatusTransaction.Error); } }
private void gridData_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (gridData.Columns[e.ColumnIndex].Name == "colChageDoc" && e.RowIndex >= 0) { changing(); dataCls result = (dataCls)bindingData.Current; int tpr_id = result.tpr_id; bool success = true; if (ableChangeDoctor(tpr_id)) { frmSelectDoctor frm = new frmSelectDoctor(); frmSelectDoctor.selectDocType type = frm.getSelectType; if (ableChangeDoctor(tpr_id)) { if (type == frmSelectDoctor.selectDocType.SelectedDoctor) { success = new Class.FunctionDataCls().changeDoctor(result.tpr_id, frm.get_mut_username, "PE"); } else if (type == frmSelectDoctor.selectDocType.NoRequestDoctor) { success = new Class.FunctionDataCls().cancelPEDoctor(result.tpr_id); } } else { MessageBox.Show("ไม่สามารถเปลี่ยนแพทย์" + Environment.NewLine + "เนื่องจากได้มีการเรียกคนไข้เข้าห้องตรวจแล้ว", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("ไม่สามารถเปลี่ยนแพทย์" + Environment.NewLine + "เนื่องจากได้มีการเรียกคนไข้เข้าห้องตรวจแล้ว", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); } changeDoctor(); } }
private void btnCancel_Click(object sender, EventArgs e) { DisableBtnAll(); try { int? mvt_id = Program.CurrentPatient_queue != null ? (int?)Program.CurrentPatient_queue.mvt_id : null; frmCancelQueue frmCancelQueue = new frmCancelQueue(tpr_id, mvt_id); if (frmCancelQueue.DialogResult == System.Windows.Forms.DialogResult.OK) { new ClsTCPClient().sendClearUnitDisplay(); StatusEmptyRoom(); Class.FunctionDataCls func = new Class.FunctionDataCls(); lbAlertMsg.Text = func.getStringGotoNextRoom((int)tpr_id); new Class.ReserveSkipCls().SendAndReserve(tpr_id); this.tpr_id = null; return; } else { StatusWK(); } } catch { lbAlertMsg.Text = "กรุณากด Cancel อีกครั้ง"; StatusWK(); } }
public StatusTransaction sendClearUnitDisplay() { try { if (PrePareData.StaticDataCls.UseUnitDisplay) { int tpr_id = 0; if (Program.CurrentRegis != null) { tpr_id = Program.CurrentRegis.tpr_id; } int mhs_id = Program.CurrentSite.mhs_id; StatusTransaction chkVip = new Class.FunctionDataCls().chkVipType(tpr_id, mhs_id); if (chkVip == StatusTransaction.False) { int mrd_id = 0; if (Program.CurrentRoom != null) { mrd_id = Program.CurrentRoom.mrd_id; } StatusTransaction isCheckP = isCheckPoint(mrd_id); if (isCheckP == StatusTransaction.False) { int?mvt_id = Program.CurrentPatient_queue.mvt_id; return(sendClearUnitDisplay(tpr_id, mhs_id, mrd_id, (int)mvt_id)); } else if (isCheckP == StatusTransaction.True) { return(StatusTransaction.False); } else { return(isCheckP); } } else if (chkVip == StatusTransaction.True) { return(StatusTransaction.False); } else { return(chkVip); } } else { return(StatusTransaction.False); } } catch (Exception ex) { Program.MessageError("ClsTCPClient", "sendClearUnitDisplay()", ex, false); return(StatusTransaction.Error); } }
private void GridWaitingList_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { if (_mrm_id == null || _mrd_id == null || mut_id == null) { } else { if (e.RowIndex < 0) { return; } try { if (!_ableDoubleClick) { return; } DataGridView dgv = (DataGridView)sender; Class.WaitingListCls.WaitingListDtl data = (Class.WaitingListCls.WaitingListDtl)dgv.Rows[e.RowIndex].DataBoundItem; int tpr_id = data.tpr_id; string queueNo = ""; int tps_id = 0; frmBGScreen frmbg = new frmBGScreen(); frmbg.Show(); Application.DoEvents(); StatusTransaction onWaiting = new Class.FunctionDataCls().checkStatusWaiting(tpr_id, (int)_mrm_id, ref tps_id, ref queueNo); frmbg.Close(); if (onWaiting == StatusTransaction.False) { _OnWaitingSuccessProcess(StatusTransaction.False, queueNo + " อยู่ในสถานะที่ไม่สามารถดำเนินการได้ กรุณาตรวจสอบ"); } else { string messageAlert = ""; frmManageWaiting frmWaiting = new frmManageWaiting(); StatusTransaction isCallQ = frmWaiting.isCallQueue(tps_id, ref messageAlert); if (isCallQ == StatusTransaction.True) { } _OnWaitingSuccessProcess(isCallQ, messageAlert); } } catch (Exception ex) { Program.MessageError(this.Name, "GridWaitingList_CellDoubleClick", ex, false); } finally { Program.RefreshWaiting = true; } } }
public StatusTransaction sendCallUnitDisplay() { try { try { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { var useDis = cdc.mst_project_configs.Where(x => x.mpc_code == "UseUnitDisplay").Select(x => x.mpc_value).FirstOrDefault(); if (!string.IsNullOrEmpty(useDis)) { PrePareData.StaticDataCls.UseUnitDisplay = useDis == "true" ? true : false; } } } catch { } if (PrePareData.StaticDataCls.UseUnitDisplay) { int tpr_id = Program.CurrentRegis.tpr_id; int mhs_id = Program.CurrentSite.mhs_id; StatusTransaction chkVip = new Class.FunctionDataCls().chkVipType(tpr_id, mhs_id); if (chkVip == StatusTransaction.False) { int mrd_id = Program.CurrentRoom.mrd_id; int?mvt_id = Program.CurrentPatient_queue.mvt_id; return(sendCallUnitDisplay(tpr_id, mhs_id, mrd_id, (int)mvt_id)); } else if (chkVip == StatusTransaction.True) { return(StatusTransaction.False); } else { return(chkVip); } } else { return(StatusTransaction.False); } } catch (Exception ex) { Program.MessageError("ClsTCPClient", "sendCallUnitDisplay()", ex, false); return(StatusTransaction.Error); } }
public void updatePendingPatientQueue(ref InhCheckupDataContext cdc, ref trn_patient_regi tpr, int mrm_id) { List <trn_patient_queue> tps = tpr.trn_patient_queues .Where(x => x.mrm_id == mrm_id).ToList(); Class.FunctionDataCls func = new Class.FunctionDataCls(); if (func.checkPassedCheckPointB(tpr.tpr_id)) { cdc.trn_patient_queues.DeleteAllOnSubmit(tps); //tps.ForEach(x => x.tps_status = "CL"); } else { tps.ForEach(x => x.tps_status = "PD"); } }
private void GridWaitingList_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex < 0) { return; } try { if (!_ableDoubleClick) { return; } Program.RefreshWaiting = false; int tpr_id = (int)(GridWaitingList.Rows[e.RowIndex].Cells["tpr_id"].Value); string queueNo = ""; int tps_id = 0; frmBGScreen frmbg = new frmBGScreen(); frmbg.Show(); Application.DoEvents(); StatusTransaction onWaiting = new Class.FunctionDataCls().checkStatusWaiting(tpr_id, Program.CurrentRoom.mrm_id, ref tps_id, ref queueNo); frmbg.Close(); if (onWaiting == StatusTransaction.False) { _OnWaitingSuccessProcess(StatusTransaction.False, queueNo + " อยู่ในสถานะที่ไม่สามารถดำเนินการได้ กรุณาตรวจสอบ"); } else { string messageAlert = ""; frmManageWaiting frmWaiting = new frmManageWaiting(); StatusTransaction isCallQ = frmWaiting.isCallQueue(tps_id, ref messageAlert); if (isCallQ == StatusTransaction.True) { } _OnWaitingSuccessProcess(isCallQ, messageAlert); } } catch (Exception ex) { Program.MessageError("UIWaitList", "GridWaitingList_CellDoubleClick", ex, false); } finally { Program.RefreshWaiting = true; } }
private void btnCallQueue_Click(object sender, EventArgs e) { StatusTransaction callQ = new Class.FunctionDataCls().callQueue(_tps_id); if (callQ == StatusTransaction.True) { transaction = StatusTransaction.True; } else if (callQ == StatusTransaction.False) { messageAlert = _queue_no + " ไม่สามารถดำเนินการต่อได้ กรุณาตรวจสอบอีกครั้ง"; } else { transaction = callQ; } this.Close(); }
public StatusTransaction pendingOnWaitingSendManaul(int tpr_id, int mvt_id, int mrm_id, int mhs_id, int next_mrm_id, int next_mvt_id, int tps_id) { try { InhCheckupDataContext cdc = new InhCheckupDataContext(); trn_patient_regi tpr = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).FirstOrDefault(); trn_patient_queue tps = tpr.trn_patient_queues.Where(x => x.tps_id == tps_id).FirstOrDefault(); if (tps != null && tps.tps_status == "NS" && tps.tps_ns_status == "QL") { tpr.tpr_pending = true; updatePendingPatientPlan(ref tpr, mvt_id, mrm_id, mhs_id); updatePendingPatientQueue(ref cdc, ref tpr, mrm_id); insertPatientPending(ref tpr, mrm_id); Class.FunctionDataCls func = new Class.FunctionDataCls(); func.insertNextQueue(ref tpr, next_mrm_id, next_mvt_id); // alert try { cdc.SubmitChanges(); return(StatusTransaction.True); } catch (System.Data.Linq.ChangeConflictException) { return(StatusTransaction.NoProcess); } } else { return(StatusTransaction.NoProcess); } } catch (Exception ex) { Program.MessageError("ClsPendingOnStation", "pendingOnWaitingSendManaul", ex, false); return(StatusTransaction.Error); } }
private void DGV_Waiting_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e) { DataGridView dgv = (DataGridView)sender; sp_get_waiting_room_hdrResult data = (sp_get_waiting_room_hdrResult)dgv.Rows[e.RowIndex].DataBoundItem; switch (data.holded) { case true: dgv.Rows[e.RowIndex].DefaultCellStyle.ForeColor = Color.Red; dgv.Rows[e.RowIndex].DefaultCellStyle.SelectionForeColor = Color.Red; break; } if (mrm_code == "DC") { bool passCheckB = new Class.FunctionDataCls().checkPassedCheckPointB((int)data.tpr_id); bool isResult = new Class.FunctionDataCls().checkEventDoctorResult((int)data.mvt_id); if (!passCheckB || isResult) { dgv.Rows[e.RowIndex].Cells["colBtnCancelQueue"] = new DataGridViewTextBoxCell(); dgv.Rows[e.RowIndex].Cells["colSendToCheckB"] = new DataGridViewTextBoxCell(); } } }
private void cls_successCountDown(object sender, successTypeArgs e) { DisableBtnAll(); StatusTransaction ready = CallQueue.P_CallQueueReady(); if (ready == StatusTransaction.True) { StatusTransaction showUnit = new ClsTCPClient().sendCallUnitDisplay(); if (showUnit == StatusTransaction.Error) { //lbAlertMsg.Text = "เกิดความผิดพลาดทางเทคนิค ไม่สามารถแสดงผลบน unit display ได้"; } Class.FunctionDataCls func = new Class.FunctionDataCls(); resultUltrasound = func.popupUltrasoundLower(); if (resultUltrasound == PopupUltrasoundLower.ResultPopupUltrasoundLower.BeforeStation) { EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); List <int> mvt = mst.GetMstRoomEventByMrm(Program.CurrentRoom.mrm_id).Select(x => x.mvt_id).ToList(); Class.FunctionDataCls.sendQueueStatus result = func.sendQueueUltrasoundLower(resultUltrasound, mvt); if (result == Class.FunctionDataCls.sendQueueStatus.error) { lbAlertMsg.Text = "เกิดความผิดพลาดทางเทคนิค ไม่สามารถส่งไป ultrasound ได้ กรุณาติดต่อผู้ดูแลระบบ"; AlertOutDepartment.LoadTime(); StatusWK(); } else if (result == Class.FunctionDataCls.sendQueueStatus.sendSuccess) { new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.SendUltraSoundBefore, (int)tpr_id, (int)tps_id, Program.CurrentSite.mhs_id, Program.CurrentRoom.mrd_ename, Program.CurrentUser.mut_username); new ClsTCPClient().sendClearUnitDisplay(); StatusEmptyRoom(); lbAlertMsg.Text = func.GetStrSaveAndSend((int)tpr_id, "US", "UL"); this.tpr_id = null; } } else if (resultUltrasound == PopupUltrasoundLower.ResultPopupUltrasoundLower.AfterStation) { AlertOutDepartment.LoadTime(); ReserveSkipCls reserveSkip = new ReserveSkipCls(); int? skipRoom = reserveSkip.CheckRoomSkip(tpr_id); string alert = reserveSkip.MessegeAlertSkip(skipRoom); StatusSendUltrasoundAfter(); lbAlertMsg.Text = alert; } else if (resultUltrasound == PopupUltrasoundLower.ResultPopupUltrasoundLower.AskMeLater) { AlertOutDepartment.LoadTime(); ReserveSkipCls reserveSkip = new ReserveSkipCls(); int? skipRoom = reserveSkip.CheckRoomSkip(tpr_id); StatusWK(); string alert = reserveSkip.MessegeAlertSkip(skipRoom); lbAlertMsg.Text = alert; } } else if (ready == StatusTransaction.Error) { lbAlertMsg.Text = "กรุณากดปุ่ม Ready อีกครั้ง"; StatusNSWR(); } }
private bool ProcessSelectRoom(int select_mvt_id, int select_mrm_id, int waitingTime) { EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); Class.FunctionDataCls func = new Class.FunctionDataCls(); int tpr_id = Program.CurrentRegis.tpr_id; int mrm_id = Program.CurrentRoom.mrm_id; mst_room_hdr currentRoom = mst.GetMstRoomHdr(mrm_id); if (currentRoom != null && currentRoom.mrm_code == "EM" && Program.CurrentRoom.mrd_type == 'N') { mst_event selectRoom = mst.GetMstEvent(select_mvt_id); if (func.checkEyeDropper(tpr_id)) { if (selectRoom != null) { if (selectRoom.mvt_code == "EM") { if (MessageBox.Show("มีการเลือก Eye Dropper ซึ่งมีการรอ 15 นาที" + Environment.NewLine + "คุณต้องการดำเนินการต่อหรือไม่?", "Warning!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { return(true); } else { return(false); } } else { var timelimit = Program.GetLimitTime("EDT"); if (waitingTime > timelimit) { if (MessageBox.Show("ห้องที่คุณเลือก มีเวลารอเกิน " + timelimit.ToString() + " นาที" + Environment.NewLine + "คุณต้องการดำเนินการต่อหรือไม่?", "Warning!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { return(true); } else { return(false); } } else { return(true); } } } return(false); } else { if (selectRoom != null) { if (selectRoom.mvt_code != "EM") { if (MessageBox.Show("ส่งห้องที่ไม่ใช่ Eye Doctor คุณต้องการจะดำเนินการต่อหรือไม่?", "Warning!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { return(true); } else { return(false); } } else { return(true); } } return(false); } } else { return(true); } }
public void ShowWaiting(int no, string txtSearch, int mhs_id, string roomCode) { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { Class.FunctionDataCls func = new Class.FunctionDataCls(); string mhs_code = cdc.mst_hpc_sites.Where(x => x.mhs_id == mhs_id).Select(x => x.mhs_code).FirstOrDefault(); DateTime dateNow = Program.GetServerDateTime(); DateTime ResetDate = new DateTime(dateNow.Year, dateNow.Month, dateNow.Day, 0, 0, 0); TimeSpan timenow = dateNow.TimeOfDay; if (roomCode == "RG") { List <gridProp> result = cdc.vw_tmp_arrives.Where(x => (x.flag_success == null || x.flag_success == 'N') && x.ctloc_code == Program.CurrentSite.mhs_code && x.paadm_admdate.Value.Date == dateNow.Date) .OrderBy(x => x.appt_arrivaltime) .Select(x => new gridProp { hn_no = x.papmi_no, patient_name = x.ttl_desc + x.papmi_name + " " + x.papmi_name2 }).ToList(); int number = 1; result.ForEach(x => x.no = number++); gridBS.DataSource = result; } else { using (InhCheckupDataContext contxt = new InhCheckupDataContext()) { mst_room_hdr mstRoom = contxt.mst_room_hdrs .Where(x => x.mhs_id == mhs_id && x.mrm_status == 'A' && x.mrm_code == roomCode) .FirstOrDefault(); if (mstRoom != null) { List <sp_get_waiting_room_hdrResult> result = contxt.sp_get_waiting_room_hdr(mstRoom.mrm_id).ToList(); List <gridProp> data = result.Where(x => (txtSearch == null || txtSearch == string.Empty ? true : (x.tpt_hn_no.Contains(txtSearch) || (x.tpt_hn_no.Replace("-", "").Contains(txtSearch)) || (x.tpt_othername.ToUpper()).Contains(txtSearch.ToUpper())))) .OrderBy(x => x.priority) .Select((x, inx) => new gridProp { no = inx + 1, tpr_id = (int)x.tpr_id, tps_id = (int)x.tps_id, mhs_id = mhs_id, mvt_id = x.mvt_id, mrm_id = mstRoom.mrm_id, hn_no = x.tpt_hn_no, patient_name = x.tpt_othername, callstatus = x.holded == true ? "HD" : null }).ToList(); gridBS.DataSource = data; DGV_Waiting.AutoGenerateColumns = false; DGV_Waiting.DataSource = gridBS; lbtitle1.Text = string.Format(no.ToString() + ".Waiting " + mstRoom.mrm_ename + "(Total {0})", gridBS.Count.ToString()); if (roomCode == "RG" || roomCode == "BM" || roomCode == "SC" || roomCode == "PH") { DGV_Waiting.Columns["colBtnCancelQueue"].Visible = false; DGV_Waiting.Columns["colSendToCheckB"].Visible = false; } else if (roomCode == "DC") { foreach (DataGridViewRow row in DGV_Waiting.Rows) { gridProp gp = (gridProp)gridBS[row.Index]; bool checkDoctorResult = (cdc.mst_events.Where(x => x.mvt_id == gp.mvt_id).Select(x => x.mvt_code).FirstOrDefault() == "DC"); if (!func.checkPassedCheckPointB(gp.tpr_id) || checkDoctorResult) { row.Cells["colBtnCancelQueue"] = new DataGridViewTextBoxCell(); row.Cells["colSendToCheckB"] = new DataGridViewTextBoxCell(); } } } } } // List<gridProp> result = cdc.trn_patient_queues.Where(x => x.tps_status == "NS" && // (mhs_id == 0 // ? true // : x.mst_room_hdr.mhs_id == mhs_id) && // x.mst_room_hdr.mrm_code == roomCode && // x.tps_create_date.Value.Date == dateNow.Date && // (txtSearch == null || txtSearch == string.Empty // ? true // : (x.trn_patient_regi.trn_patient.tpt_hn_no.Contains(txtSearch) || // (x.trn_patient_regi.trn_patient.tpt_hn_no.Replace("-", "").Contains(txtSearch)) || // (x.trn_patient_regi.trn_patient.tpt_othername.ToUpper()).Contains(txtSearch.ToUpper())))) // .GroupBy(x => x.tpr_id) // .Select(x => x.OrderByDescending(y => y.tps_update_date).FirstOrDefault()) // .Select(x => new gridProp // { // tpr_id = x.tpr_id, // tps_id = x.tps_id, // mhs_id = x.mst_room_hdr.mhs_id, // mvt_id = x.mvt_id, // mrm_id = x.mrm_id, // hn_no = x.trn_patient_regi.trn_patient.tpt_hn_no, // patient_name = x.trn_patient_regi.trn_patient.tpt_othername, // callstatus = x.tps_call_status == "HD" ? "HD" : null, // // Add Data for Order BY // vip_hpc = (x.trn_patient_regi.trn_patient.tpt_vip_hpc == true) ? "Y" : "N", // hold_flag = (x.tps_call_status == "HD" && (timenow.Subtract(x.tps_hold_date.Value.TimeOfDay)).TotalMinutes >= 0) ? "Y" : "N", // bmSeq = Convert.ToInt32((x.tps_bm_seq != null) ? x.tps_bm_seq : 99), // ordDate = Convert.ToDateTime((x.tps_call_status == "HD") ? x.tps_hold_date : x.tps_create_date), // RTN_Nurse = x.trn_patient_regi.tpr_return_screening, // type_EyeNurse = ((from t in cdc.mst_events where t.mvt_id == x.mvt_id select t.mvt_code).FirstOrDefault() == "EN") ? "Y" : "N", // type_Lower = x.trn_patient_regi.tpr_miss_lower // }).ToList(); // // Add Order each Station // if (mhs_code == "01HPC2" || mhs_code == "01HPC3") // { // if (roomCode == "SC") // { // result = result.OrderByDescending(x => x.vip_hpc).ThenByDescending(x => x.RTN_Nurse).ThenByDescending(x => x.hold_flag).ThenBy(x => x.bmSeq).ThenBy(x => x.ordDate).ToList(); // } // else if (roomCode == "EM") // { // result = result.OrderByDescending(x => x.type_EyeNurse).ThenByDescending(x => x.vip_hpc).ThenByDescending(x => x.hold_flag).ThenBy(x => x.bmSeq).ThenBy(x => x.ordDate).ToList(); // } // else if (roomCode == "US") // { // result = result.OrderByDescending(x => x.type_Lower).ThenByDescending(x => x.vip_hpc).ThenByDescending(x => x.hold_flag).ThenBy(x => x.bmSeq).ThenBy(x => x.ordDate).ToList(); // } // else // { // result = result.OrderByDescending(x => x.vip_hpc).ThenByDescending(x => x.hold_flag).ThenBy(x => x.bmSeq).ThenBy(x => x.ordDate).ToList(); // } // } // else // { // if (roomCode == "EM") // { // result = result.OrderByDescending(x => x.type_EyeNurse).ThenByDescending(x => x.hold_flag).ThenBy(x => x.bmSeq).ThenBy(x => x.ordDate).ToList(); // } // else if (roomCode == "US") // { // result = result.OrderByDescending(x => x.type_Lower).ThenByDescending(x => x.hold_flag).ThenBy(x => x.bmSeq).ThenBy(x => x.ordDate).ToList(); // } // else // { // result = result.OrderByDescending(x => x.hold_flag).ThenBy(x => x.bmSeq).ThenBy(x => x.ordDate).ToList(); // } // } // int number = 1; // result.ForEach(x => x.no = number++); // gridBS.DataSource = result; //} //DGV_Waiting.AutoGenerateColumns = false; //DGV_Waiting.DataSource = gridBS; //mst_room_hdr mrm = cdc.mst_room_hdrs.Where(x => x.mrm_code == roomCode && x.mhs_id == mhs_id).FirstOrDefault(); //if (mrm != null) //{ // lbtitle1.Text = string.Format(no.ToString() + ".Waiting " + mrm.mrm_ename + "(Total {0})", gridBS.Count.ToString()); // if (roomCode == "RG" || roomCode == "BM" || roomCode == "SC" || roomCode == "PH") // { // DGV_Waiting.Columns["colBtnCancelQueue"].Visible = false; // DGV_Waiting.Columns["colSendToCheckB"].Visible = false; // } // else if (roomCode == "DC") // { // foreach (DataGridViewRow row in DGV_Waiting.Rows) // { // gridProp gp = (gridProp)gridBS[row.Index]; // bool checkDoctorResult = (cdc.mst_events.Where(x => x.mvt_id == gp.mvt_id).Select(x => x.mvt_code).FirstOrDefault() == "DC"); // if (!func.checkPassedCheckPointB(gp.tpr_id) || checkDoctorResult) // { // row.Cells["colBtnCancelQueue"] = new DataGridViewTextBoxCell(); // row.Cells["colSendToCheckB"] = new DataGridViewTextBoxCell(); // } // } // } //} //else //{ // lbtitle1.Text = string.Empty; //} } } }
public StatusTransaction pendingOnStationSendAuto(int tpr_id, int mvt_id, int mrm_id, int mhs_id, int tps_id) { try { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { Class.clsLogSendAuto logCls = new Class.clsLogSendAuto(); List <log_send_auto> log_auto = null; try { List <vw_patient_room> vw_pa_room = logCls.getLogSendAuto(tpr_id); if (vw_pa_room != null) { log_auto = vw_pa_room.Select(x => new log_send_auto { tpr_id = x.tpr_id, process_type = "P", process_tps_id = tps_id, login_flag = x.login_flag, mhs_code = x.mhs_code, mhs_ename = x.mhs_ename, mrm_ename = x.mrm_ename, mrm_id = x.mrm_id, mrm_seq_room = x.mrm_seq_room, mvt_code = x.mvt_code, mvt_id = x.mvt_id, mvt_type_cate = x.mvt_type_cate.ToString(), mze_code = x.mze_code, mze_ename = x.mze_ename, mze_id = x.mze_id, patient_vip = x.patient_vip, send_type = x.send_type, site_rm = x.site_rm, skip_seq = x.skip_seq, skip_type = x.skip_type, waiting_person = x.waiting_person, waiting_time = x.waiting_time }).ToList(); } } catch (Exception ex) { Program.MessageError("log_send_auto", "", ex, false); } List <int> list_mvt_id = new Class.FunctionDataCls().get_mvt_id(mrm_id); StatusTransaction result = CallQueue.PSendAutoAllRoom(Class.SendType.Pending, mrm_id, list_mvt_id, tps_id); if (result == StatusTransaction.SendCheckB) { if (Program.CurrentSite.mhs_extra_pe_type == true && Program.CurrentRegis.tpr_pe_site2 == 'N' && (Program.CurrentRegis.tpr_pd_pe_site2 == null || Program.CurrentRegis.tpr_pd_pe_site2 == false)) { return(StatusTransaction.ReSendManualSite2); } else { string messege = ""; StatusTransaction returnB = new Class.SendQueue().ReturnToCheckB(Class.SendType.Pending, tpr_id, mrm_id, tps_id, list_mvt_id, ref messege); if (returnB == StatusTransaction.True) { //new ClsTCPClient().sendClearUnitDisplay(); //new Class.FunctionDataCls().SendToCheckPointB(tpr_id, tps_id); } System.Windows.Forms.MessageBox.Show("ระบบไม่สามารถส่งห้องที่เหลือแบบอัตโนมัติได้ ผู้รับบริการจะถูกส่งไป Check point B", "Send Queue Alert", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Information); return(returnB); } } else if (result == StatusTransaction.True) { try { if (log_auto != null) { string queue_no = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).Select(x => x.tpr_queue_no).FirstOrDefault(); int? log_tps_id = logCls.get_tps_id(tpr_id); int index = 1; log_auto.ForEach(x => { x.tps_id = log_tps_id; x.seq_id = index++; x.tpr_queue_no = queue_no; }); cdc.log_send_autos.InsertAllOnSubmit(log_auto); cdc.SubmitChanges(); } } catch (Exception ex) { Program.MessageError("log_send_auto", "", ex, false); } return(result); } else { return(result); } } //InhCheckupDataContext cdc = new InhCheckupDataContext(); //trn_patient_regi tpr = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).FirstOrDefault(); //tpr.tpr_pending = true; //updatePendingPatientPlan(ref tpr, mvt_id, mrm_id, mhs_id); //cdc.SubmitChanges(); //updatePendingPatientQueue(ref cdc, ref tpr, mrm_id); //insertPatientPending(ref tpr, mrm_id); //CallQueue.PSendAutoAllRoom(true); //// alert //try //{ // cdc.SubmitChanges(); //} //catch (System.Data.Linq.ChangeConflictException) //{ // foreach (ObjectChangeConflict occ in cdc.ChangeConflicts) // { // cdc.Refresh(System.Data.Linq.RefreshMode.KeepChanges, occ.Object); // } // cdc.SubmitChanges(); //} //return true; } catch (Exception ex) { Program.MessageError("ClsPendingOnStation", "pendingOnStationSendAuto", ex, false); return(StatusTransaction.Error); } }
private StatusTransaction SendManualPendingCheckB(ref trn_patient_regi tpr, ref string messegeSend, string currentRoom) { try { StatusTransaction remainStation = new Class.FunctionDataCls().checkRemainEvent(tpr.tpr_id); if (remainStation == StatusTransaction.True) { frmChoiceRoom frm = new frmChoiceRoom(); if (frm.ShowDialog() == System.Windows.Forms.DialogResult.OK) { int mrm_id = frm.GetMrmID; int mvt_id = frm.mvtID; new TransactionQueueCls().SendToRoom(ref tpr, ref messegeSend, mrm_id, mvt_id); return(StatusTransaction.True); } else { return(StatusTransaction.False); } } else if (remainStation == StatusTransaction.False) { if (tpr.tpr_PRM_check == true && tpr.tpr_pe_status == "RS" && currentRoom == "PT") { frmChoicePRM frm = new frmChoicePRM(); var result = frm.ShowDialog(); if (result == DialogResult.Yes) { if (Program.CurrentSite.mhs_extra_pe_type == true && tpr.tpr_pe_site2 == 'N' && (tpr.tpr_pd_pe_site2 == null || tpr.tpr_pd_pe_site2 == false)) { new TransactionQueueCls().SendToCheckC(ref tpr, ref messegeSend, true); new TransactionQueueCls().SendToBook(ref tpr, ref messegeSend); return(StatusTransaction.True); } else { new TransactionQueueCls().SendToCheckC(ref tpr, ref messegeSend); return(StatusTransaction.True); } } else { new TransactionQueueCls().SendToBook(ref tpr, ref messegeSend); return(StatusTransaction.True); } } else { if (Program.CurrentSite.mhs_extra_pe_type == true && tpr.tpr_pe_site2 == 'N' && (tpr.tpr_pd_pe_site2 == null || tpr.tpr_pd_pe_site2 == false)) { new TransactionQueueCls().SendToCheckC(ref tpr, ref messegeSend, true); new TransactionQueueCls().SendToBook(ref tpr, ref messegeSend); return(StatusTransaction.True); } else { new TransactionQueueCls().SendToCheckC(ref tpr, ref messegeSend); return(StatusTransaction.True); } } } else { return(StatusTransaction.Error); } } catch (Exception ex) { Program.MessageError("SendManual", "SendManualPendingCheckB", ex, false); return(StatusTransaction.Error); } }
private StatusTransaction SendToStation(int tpr_id, int?end_tps_id, int end_mrm_id, int send_mrm_id, int send_mvt_id, ref string messegeSend) { try { DateTime dateNow = Program.GetServerDateTime(); using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { try { cdc.Connection.Open(); DbTransaction tran = cdc.Connection.BeginTransaction(); cdc.Transaction = tran; int?send_tps_id = null; StatusTransaction get_tps = get_send_to_tps_id(tpr_id, send_mrm_id, send_mvt_id, ref send_tps_id); trn_patient_queue send_patient_queue; if (get_tps == StatusTransaction.True) { if (send_tps_id != null) { send_patient_queue = cdc.trn_patient_queues.Where(x => x.tps_id == send_tps_id).FirstOrDefault(); send_patient_queue.mrm_id = send_mrm_id; send_patient_queue.mvt_id = send_mvt_id; send_patient_queue.mrd_id = null; send_patient_queue.tps_end_date = null; send_patient_queue.tps_start_date = null; send_patient_queue.tps_status = "NS"; send_patient_queue.tps_ns_status = "QL"; send_patient_queue.tps_update_by = Program.CurrentUser.mut_username; send_patient_queue.tps_update_date = dateNow; } else { send_patient_queue = new trn_patient_queue(); send_patient_queue.tpr_id = tpr_id; send_patient_queue.tps_create_by = Program.CurrentUser.mut_username; send_patient_queue.tps_create_date = dateNow; send_patient_queue.mrm_id = send_mrm_id; send_patient_queue.mvt_id = send_mvt_id; send_patient_queue.mrd_id = null; send_patient_queue.tps_end_date = null; send_patient_queue.tps_start_date = null; send_patient_queue.tps_status = "NS"; send_patient_queue.tps_ns_status = "QL"; send_patient_queue.tps_update_by = Program.CurrentUser.mut_username; send_patient_queue.tps_update_date = dateNow; cdc.trn_patient_queues.InsertOnSubmit(send_patient_queue); } } else { messegeSend = "เกิดความผิดพลาดของระบบ กรุณากดส่งอีกครั้ง"; return(StatusTransaction.Error); } List <int> list_tpl_id = new List <int>(); StatusTransaction get_tpl = get_list_tpl_id(tpr_id, end_mrm_id, ref list_tpl_id); if (get_tpl == StatusTransaction.True) { if (list_tpl_id != null && list_tpl_id.Count() > 0) { List <trn_patient_plan> list_patient_plan = cdc.trn_patient_plans.Where(x => list_tpl_id.Contains(x.tpl_id)).ToList(); list_patient_plan.ForEach(x => x.tpl_status = 'P'); } else { messegeSend = "เกิดความผิดพลาดของระบบ กรุณากดส่งอีกครั้ง"; return(StatusTransaction.Error); } } else { return(StatusTransaction.Error); } if (end_tps_id != null && end_tps_id > 0) { trn_patient_queue end_patient_queue = cdc.trn_patient_queues.Where(x => x.tps_id == end_tps_id).FirstOrDefault(); if (end_patient_queue != null) { end_patient_queue.mrd_id = Program.CurrentRoom.mrd_id; end_patient_queue.tps_send_by = Program.CurrentUser.mut_username; end_patient_queue.tps_end_date = dateNow; end_patient_queue.tps_status = "ED"; end_patient_queue.tps_ns_status = null; end_patient_queue.tps_update_by = Program.CurrentUser.mut_username; end_patient_queue.tps_update_date = dateNow; } else { messegeSend = "เกิดความผิดพลาดของระบบ กรุณากดส่งอีกครั้ง"; return(StatusTransaction.Error); } } else { messegeSend = "เกิดความผิดพลาดของระบบ กรุณากดส่งอีกครั้ง"; return(StatusTransaction.Error); } cdc.SubmitChanges(); cdc.Transaction.Commit(); messegeSend = new Class.FunctionDataCls().getStringGotoNextRoom(tpr_id); return(StatusTransaction.True); } catch (Exception ex) { cdc.Transaction.Rollback(); Program.MessageError("SendManaulCls", "SendToRoom", ex, false); return(StatusTransaction.Error); } finally { cdc.Connection.Close(); } } } catch (Exception ex) { Program.MessageError("SendManaulCls", "SendToRoom", ex, false); return(StatusTransaction.Error); } }
public StatusTransaction SendManualOnStationPendingCheckB(int tpr_id, int mrm_id, ref string messegeSend) { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { try { string currentRoom = new EmrClass.GetDataMasterCls().GetMstRoomHdrByMrd_id(Program.CurrentRoom.mrd_id).mrm_code; trn_patient_regi tpr = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).FirstOrDefault(); StatusTransaction result = SendManualPendingCheckB(ref tpr, ref messegeSend, currentRoom); if (result == StatusTransaction.True) { tpr.tpr_pending_cancel_onday = false; StatusTransaction checkPatientOnCheckB = new Class.FunctionDataCls().checkStatusPatientOnCheckPointB(tpr_id, mrm_id); if (checkPatientOnCheckB == StatusTransaction.True) { new TransactionPlanCls().endPlan(ref tpr, mrm_id); new TransactionQueueCls().endQueue(ref tpr); try { cdc.SubmitChanges(); } catch (System.Data.Linq.ChangeConflictException) { foreach (ObjectChangeConflict occ in cdc.ChangeConflicts) { cdc.Refresh(System.Data.Linq.RefreshMode.KeepChanges, occ.Object); } } } else if (checkPatientOnCheckB == StatusTransaction.False) { MessageBox.Show("สถานะของคนไข้ ไม่ได้อยู่ในสถานะที่จะ Send Manual ได้", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); return(StatusTransaction.False); } new Class.ReserveSkipCls().SendAndReserve(tpr_id); return(StatusTransaction.True); } else if (result == StatusTransaction.False) { StatusTransaction rePendingCB = new Class.FunctionDataCls().rePendingCheckB(ref tpr); if (rePendingCB == StatusTransaction.Error) { return(StatusTransaction.Error); } try { cdc.SubmitChanges(); } catch (System.Data.Linq.ChangeConflictException) { foreach (ObjectChangeConflict occ in cdc.ChangeConflicts) { cdc.Refresh(System.Data.Linq.RefreshMode.KeepChanges, occ.Object); } } return(StatusTransaction.False); } else { StatusTransaction rePendingCB = new Class.FunctionDataCls().rePendingCheckB(ref tpr); if (rePendingCB == StatusTransaction.Error) { return(StatusTransaction.Error); } try { cdc.SubmitChanges(); } catch (System.Data.Linq.ChangeConflictException) { foreach (ObjectChangeConflict occ in cdc.ChangeConflicts) { cdc.Refresh(System.Data.Linq.RefreshMode.KeepChanges, occ.Object); } } return(StatusTransaction.Error); } } catch (Exception ex) { Program.MessageError("SendManaulCls", "SendManualOnStationPendingCheckB", ex, false); return(StatusTransaction.Error); } } }
public StatusTransaction SendManualOnCheckB(int tpr_id, int mrm_id, ref string messageSend) { Program.RefreshWaiting = false; try { StatusTransaction checkRemain = new Class.FunctionDataCls().checkRemainEvent(tpr_id); if (checkRemain == StatusTransaction.True) { using (InhCheckupDataContext cdc = new InhCheckupDataContext()) { try { cdc.Connection.Open(); DbTransaction tran = cdc.Connection.BeginTransaction(); cdc.Transaction = tran; string currentRoom = new EmrClass.GetDataMasterCls().GetMstRoomHdrByMrd_id(Program.CurrentRoom.mrd_id).mrm_code; trn_patient_regi tpr = cdc.trn_patient_regis.Where(x => x.tpr_id == tpr_id).FirstOrDefault(); StatusTransaction result = SendManual(ref tpr, ref messageSend, currentRoom); if (result == StatusTransaction.True) { StatusTransaction checkPatientOnCheckB = new Class.FunctionDataCls().checkStatusPatientOnCheckPointB(tpr_id, mrm_id); if (checkPatientOnCheckB == StatusTransaction.True || checkPatientOnCheckB == StatusTransaction.NoProcess) { new TransactionPlanCls().endPlan(ref tpr, mrm_id); new TransactionQueueCls().endQueue(ref tpr); cdc.SubmitChanges(); cdc.Transaction.Commit(); return(StatusTransaction.True); } else if (checkPatientOnCheckB == StatusTransaction.False) { MessageBox.Show("คนไข้ไม่ได้อยู่ในสถานะ ที่จะ Send Manaul ได้", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); return(StatusTransaction.False); } else { return(checkPatientOnCheckB); } } else { return(result); } } catch (Exception ex) { cdc.Transaction.Rollback(); Program.MessageError("SendManaulCls", "SendManualOnStation", ex, false); return(StatusTransaction.Error); } finally { cdc.Connection.Close(); } } } else if (checkRemain == StatusTransaction.False) { return(new SendQueue().SendToCheckC(tpr_id, mrm_id, ref messageSend)); } else { return(checkRemain); } } catch (Exception ex) { Program.MessageError("SendManaulCls", "SendManualOnStation", ex, false); return(StatusTransaction.Error); } finally { Program.RefreshWaiting = true; } }
private void btnOK_Click(object sender, EventArgs e) { int tpr_id = Program.CurrentRegis.tpr_id; StatusTransaction checkPatientOnCheckB = new Class.FunctionDataCls().checkStatusPatientOnCheckPointB(tpr_id, Program.CurrentRoom.mrm_id); if (checkPatientOnCheckB == StatusTransaction.True) { Class.ClsPendingOnStation cls = new Class.ClsPendingOnStation(); List <int> list_mvt_id = new List <int>(); foreach (DataGridViewRow dr in gridStation.Rows) { if (dr.Cells[0].Value != null) { if ((bool)dr.Cells[Colselect.Name].Value == true) { int mvt_id = Convert.ToInt32(dr.Cells["colmvtid"].Value); list_mvt_id.Add(mvt_id); } } } //int mhs_id = Program.CurrentSite.mhs_id; StatusTransaction pandingOnCheckB = new Class.ClsPendingOnStation().pendingPatientCheckpointB(list_mvt_id); if (pandingOnCheckB == StatusTransaction.Error) { MessageBox.Show("Alert.", "กรุณา Cancel อีกครั้ง", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (pandingOnCheckB == StatusTransaction.True) { this.DialogResult = DialogResult.OK; } } else if (checkPatientOnCheckB == StatusTransaction.False) { MessageBox.Show("คนไข้ไม่ได้อยู่ในสถานะ ที่จะยกเลิก Station ได้", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); this.DialogResult = DialogResult.Cancel; } //string strReason=""; //strReason = CBReason.SelectedValue.ToString(); //if (txtReason.Text.Trim().Length > 0) //{ // strReason += txtReason.Text; //} //if (strReason.Trim() == "") //{ // txtReason.Focus(); // return; //} //bool isupdate = false; //for (int iRow = 0; iRow <= dataGridView2.Rows.Count - 1; iRow++) //{ // if (dataGridView2[0, iRow].Value != null && Convert.ToBoolean(dataGridView2[0, iRow].Value) == true) // { // int mvtid = Convert.ToInt32(dataGridView2["colmvtid", iRow].Value); // int mrmid = Convert.ToInt32(dataGridView2["colRoomid", iRow].Value); // //noina modufy // int count_te = (from data in dbc.mst_room_hdrs where data.mrm_id == mrmid && data.mrm_code == "TE" select data).Count(); // if (count_te == 1) // { // var objpp = (from t1 in dbc.trn_patient_plans // where t1.tpr_id == Program.CurrentRegis.tpr_id // && t1.mvt_id == mvtid // orderby t1.tpr_id descending // select t1).ToList(); // if (objpp != null) // { // foreach (var dr in objpp) // { // dr.tpl_status = 'C'; // dbc.SubmitChanges(); // } // } // } // else // { // //หา mvtid ของ mrmid ชุดนั้นๆ ออกมา ก่อน แล้ว นำไปอัพเดต ที trn_patient_plans tpl_status = C // var objmre = (from mre in dbc.mst_room_events where mre.mrm_id == mrmid select mre).ToList(); // if (objmre != null) // { // foreach (var dr in objmre) // { // var objpp = (from t1 in dbc.trn_patient_plans // where t1.tpr_id == Program.CurrentRegis.tpr_id // && t1.mvt_id == dr.mvt_id // orderby t1.tpr_id descending // select t1).ToList(); // if (objpp != null) // { // foreach (var dr2 in objpp) // { // dr2.tpl_status = 'C'; // dbc.SubmitChanges(); // } // } // } // } // } //code orginal comment by noina //trn_patient_plan objpp = (from t1 in dbc.trn_patient_plans // where t1.tpr_id == Program.CurrentRegis.tpr_id // && t1.mvt_id == mvtid // orderby t1.tpr_id descending // select t1).FirstOrDefault() ; //objpp.tpl_status = 'C'; //end // isupdate = true; // } //} //noina comment //if (isupdate) //{//Updte trn_patient_queues Reason // int mvtid = Program.Getmvt_id(dbc, "CB"); // DateTime dtnow = Program.GetServerDateTime(); // trn_patient_queue currentQueue=(from t1 in dbc.trn_patient_queues // where t1.tpr_id==Program.CurrentPatient_queue.tpr_id // && t1.mvt_id == mvtid // select t1).FirstOrDefault(); // if (currentQueue != null) // { // currentQueue.tps_cancel_remark = strReason; // currentQueue.tps_update_by = Program.CurrentUser.mut_username; // currentQueue.tps_update_date = dtnow; // int objcount = (from t1 in dbc.trn_patient_plans // where t1.tpr_id == Program.CurrentRegis.tpr_id // && t1.tpl_status=='N' // orderby t1.tpr_id descending // select t1).Count(); // if (objcount == 0) // { // currentQueue.tps_status = "CL"; // currentQueue.tps_ns_status = null; // currentQueue.tps_start_date = null; // currentQueue.tps_end_date = null; // currentQueue.tps_cancel_date = dtnow; // Program.CurrentPatient_queue = null; // Program.CurrentRegis = null; // } // dbc.SubmitChanges(); // } //} }
private void btnSendAuto_Click(object sender, EventArgs e) { DisableBtnAll(); DateTime startDate = DateTime.Now; this.AutoScrollPosition = new Point(0, 0); List <int> mvt_id = new List <int>(); if (uu.enable && uu.visible && uu.check && uu.autoCheck) { mvt_id.Add(uu.mvt_id); } if (ul.enable && ul.visible && ul.check && ul.autoCheck) { mvt_id.Add(ul.mvt_id); } if (ub.enable && ub.visible && ub.check && ub.autoCheck) { mvt_id.Add(ub.mvt_id); } if (uw.enable && uw.visible && uw.check && uw.autoCheck) { mvt_id.Add(uw.mvt_id); } if (mvt_id.Count() == 0) { lbAlertMsg.Text = "กรุณาเลือก Order ที่ต้องการตรวจเพิ่มอย่างน้อย 1 รายการ"; StatusWK(); } else { if (CheckMinLower()) { if (SkipLower()) { Class.FunctionDataCls func = new Class.FunctionDataCls(); EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); frmBGScreen frmbg = new frmBGScreen(); frmbg.Show(); Application.DoEvents(); try { if (new Class.FunctionDataCls().ChkSendAutoNewModule(Program.CurrentRegis)) { string msgAlert = ""; bool isPopup = false; QueueClass.SendAutoCls.ResultSendQueue result = new QueueClass.SendAutoCls().SendAuto((int)tps_id, mvt_id, user, ref msgAlert, ref isPopup); if (result == QueueClass.SendAutoCls.ResultSendQueue.Error) { lbAlertMsg.Text = msgAlert; StatusWK(); } else if (result == QueueClass.SendAutoCls.ResultSendQueue.OldRoom) { lbAlertMsg.Text = msgAlert; StatusWK(); } else { lbAlertMsg.Visible = true; if (result == QueueClass.SendAutoCls.ResultSendQueue.SendComplete) { new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.SendAuto, (int)tpr_id, (int)tps_id, Program.CurrentSite.mhs_id, Program.CurrentRoom.mrd_ename, Program.CurrentUser.mut_username, startDate); new ClsTCPClient().sendClearUnitDisplay(); new Class.ReserveSkipCls().SendAndReserve(tpr_id); StatusEmptyRoom(); this.tpr_id = null; if (isPopup) { MessageBox.Show(msgAlert, "EMR Checkup."); } else { lbAlertMsg.Text = msgAlert; } } else { if (isPopup) { MessageBox.Show(msgAlert, "EMR Checkup."); } else { lbAlertMsg.Text = msgAlert; } } } //using (Service.WS_Checkup ws = new Service.WS_Checkup()) //{ // WS_PathWay.SendAutoResult result = ws.SendAuto((int)tps_id, mvt_id.ToArray(), user.mut_username, Program.CurrentSite.mhs_id); // if (result.SendResult == WS_PathWay.Result.Error) // { // lbAlertMsg.Text = result.AlertMsg; // StatusWK(); // } // else // { // if (result.SendResult == WS_PathWay.Result.Complete) // { // new ClsTCPClient().sendClearUnitDisplay(); // new Class.ReserveSkipCls().SendAndReserve(tpr_id); // StatusEmptyRoom(); // this.tpr_id = null; // lbAlertMsg.Text = result.AlertMsg; // } // else // { // lbAlertMsg.Text = result.AlertMsg; // StatusWK(); // } // } //} } else { StatusTransaction result = CallQueue.SendAutoOnStation(mvt_id); if (result == StatusTransaction.True || result == StatusTransaction.SendCheckB) { new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.SendAuto, (int)tpr_id, (int)tps_id, Program.CurrentSite.mhs_id, Program.CurrentRoom.mrd_ename, Program.CurrentUser.mut_username, startDate); new ClsTCPClient().sendClearUnitDisplay(); lbAlertMsg.Visible = true; new Class.ReserveSkipCls().SendAndReserve(tpr_id); lbAlertMsg.Text = new Class.FunctionDataCls().getStringGotoNextRoom((int)tpr_id); StatusEmptyRoom(); this.tpr_id = null; } else if (result == StatusTransaction.Error) { lbAlertMsg.Text = "โปรดกด Send Auto อีกครั้ง"; StatusWK(); } else if (result == StatusTransaction.False) { lbAlertMsg.Text = "Save Data Complete."; StatusWK(); } } } catch (Exception ex) { lbAlertMsg.Text = ex.Message; StatusWK(); } finally { frmbg.Close(); } } else { StatusWK(); } } else { StatusWK(); } } }
private void DGV_Waiting_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (((DataGridView)sender).Columns[e.ColumnIndex].Name == "colBtnCancelQueue") { gridProp gp = (gridProp)gridBS.Current; if (checkStatusCanSend(gp.tps_id)) { Class.FunctionDataCls func = new Class.FunctionDataCls(); if (func.checkPassedCheckPointB(gp.tpr_id)) { frmCancelQueue frmCancelQueue = new frmCancelQueue(gp.tpr_id, gp.mvt_id, gp.mrm_id, gp.mhs_id, gp.tps_id, false, frmCancelQueue.useform.onWaiting); if (frmCancelQueue.DialogResult == System.Windows.Forms.DialogResult.OK) { string alert = func.getStringGotoNextRoom(gp.tpr_id); MessageBox.Show(alert); _cancelQueueHandler(null); new Class.ReserveSkipCls().SendAndReserve(gp.tpr_id); return; } else if (frmCancelQueue.DialogResult == System.Windows.Forms.DialogResult.Cancel) { return; } } } else { MessageBox.Show("คนไข้ไม่ได้อยู่ในสถานะที่ดำเนินการ skip ได้", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); _cancelQueueHandler(null); } } else if (((DataGridView)sender).Columns[e.ColumnIndex].Name == "colSendToCheckB") { gridProp gp = (gridProp)gridBS.Current; if (checkStatusCanSend(gp.tps_id)) { DialogResult result = MessageBox.Show("คุณต้องการส่ง คนไข้ไปยัง Check Point B หรือไม่?", "Alert.", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2); if (result == DialogResult.Yes) { Class.SendToCheckBCls sendB = new Class.SendToCheckBCls(); StatusTransaction complete = sendB.SendToCheckBOnWaiting(gp.tpr_id, (int)gp.mrm_id); if (complete == StatusTransaction.True) { try { new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.SendCheckB, gp.tpr_id, gp.tps_id, (Program.CurrentSite == null ? 0 : Program.CurrentSite.mhs_id), "WaitingList", (Program.CurrentUser == null ? "" : Program.CurrentUser.mut_username)); } catch (Exception ex) { Program.MessageError(this.Name, "logPatientFlowCls", ex, false); } MessageBox.Show("Sent To Checkpoint B Complete.", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); _sendTocheckBHandler(null); } else if (complete == StatusTransaction.NoProcess) { MessageBox.Show("คนไข้ไม่ได้อยู่ในสถานะที่จะส่งไปยัง checkpoint B ได้", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); _sendTocheckBHandler(null); } else if (complete == StatusTransaction.Error) { MessageBox.Show("ระบบเกิดความผิดพลาดไม่สามารถส่งไปยัง checkpoin B ได้ กรุณาทำอีกครั้ง", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); _sendTocheckBHandler(null); } } } else { MessageBox.Show("คนไข้ไม่ได้อยู่ในสถานะที่จะส่งไปยัง checkpoint B ได้", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); _cancelQueueHandler(null); } } }
private void btnSendAuto_Click(object sender, EventArgs e) { DisableBtnAll(); DateTime startDate = DateTime.Now; this.AutoScrollPosition = new Point(0, 0); //tps_id = Program.CurrentPatient_queue.tps_id; Class.FunctionDataCls func = new Class.FunctionDataCls(); EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); frmBGScreen frmbg = new frmBGScreen(); frmbg.Show(); Application.DoEvents(); try { int patientMvt = paRegis.trn_patient_queues.Where(x => x.tps_id == tps_id) .Select(x => (int)x.mvt_id).FirstOrDefault(); using (InhCheckupDataContext contxt = new InhCheckupDataContext()) { string mvt_code = contxt.mst_events.Where(x => x.mvt_id == patientMvt).Select(x => x.mvt_code).FirstOrDefault(); if (mvt_code == "PE") { if (new Class.FunctionDataCls().checkPassedCheckPointB((int)this.tpr_id)) { this.PatientEvent = PatientEventStatus.PEAfterCheckB; } else { this.PatientEvent = PatientEventStatus.PEBeforeCheckB; } } else { this.PatientEvent = PatientEventStatus.Result; } } if (saveData()) { if (this.PatientEvent == PatientEventStatus.PEBeforeCheckB) { bool sent = new QueueClass.TransactionQueueCls().SendQueueDoctorPEBeforeCheckB((int)tpr_id, (int)tps_id, user.mut_username); if (sent) { lbAlertMsg.Text = new Class.FunctionDataCls().getStringGotoNextRoom((int)tpr_id); StatusEmptyRoom(); } else { lbAlertMsg.Text = "โปรดกด Send Auto อีกครั้ง";; StatusWK(); } } else if (this.PatientEvent == PatientEventStatus.PEAfterCheckB) { if (resultUltrasound == PopupUltrasoundLower.ResultPopupUltrasoundLower.AfterStation) { List <int> mvt = mst.GetMstRoomEventByMrm(Program.CurrentRoom.mrm_id).Select(x => x.mvt_id).ToList(); Class.FunctionDataCls.sendQueueStatus result = func.sendQueueUltrasoundLower(resultUltrasound, mvt); if (result == Class.FunctionDataCls.sendQueueStatus.error) { lbAlertMsg.Text = "เกิดความผิดพลาดทางเทคนิค ไม่สามารถส่งไป ultrasound ได้ กรุณาติดต่อผู้ดูแลระบบ"; StatusWK(); } else if (result == Class.FunctionDataCls.sendQueueStatus.sendSuccess) { new ClsTCPClient().sendClearUnitDisplay(); lbAlertMsg.Text = func.GetStrSaveAndSend((int)tpr_id, "US", "UL"); StatusEmptyRoom(); this.tpr_id = null; } } else { if (new Class.FunctionDataCls().ChkSendAutoNewModule(Program.CurrentRegis)) { string msgAlert = ""; bool isPopup = false; List <int> list_mvt_id = new List <int> { patientMvt }; QueueClass.SendAutoCls.ResultSendQueue result = new QueueClass.SendAutoCls().SendAuto((int)tps_id, list_mvt_id, user, ref msgAlert, ref isPopup); if (result == QueueClass.SendAutoCls.ResultSendQueue.Error) { lbAlertMsg.Text = msgAlert; StatusWK(); } else { lbAlertMsg.Visible = true; if (result == QueueClass.SendAutoCls.ResultSendQueue.SendComplete) { new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.SendAuto, (int)tpr_id, (int)tps_id, Program.CurrentSite.mhs_id, Program.CurrentRoom.mrd_ename, Program.CurrentUser.mut_username, startDate); new ClsTCPClient().sendClearUnitDisplay(); new Class.ReserveSkipCls().SendAndReserve(tpr_id); StatusEmptyRoom(); this.tpr_id = null; if (isPopup) { MessageBox.Show(msgAlert, "EMR Checkup."); } else { lbAlertMsg.Text = msgAlert; } } else { if (isPopup) { MessageBox.Show(msgAlert, "EMR Checkup."); } else { lbAlertMsg.Text = msgAlert; } } } } else { StatusTransaction result = CallQueue.SendAutoOnStation(); if (result == StatusTransaction.True || result == StatusTransaction.SendCheckB) { new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.SendAuto, (int)tpr_id, (int)tps_id, Program.CurrentSite.mhs_id, Program.CurrentRoom.mrd_ename, Program.CurrentUser.mut_username, startDate); new ClsTCPClient().sendClearUnitDisplay(); lbAlertMsg.Visible = true; new Class.ReserveSkipCls().SendAndReserve(tpr_id); lbAlertMsg.Text = new Class.FunctionDataCls().getStringGotoNextRoom((int)tpr_id); StatusEmptyRoom(); this.tpr_id = null; } else if (result == StatusTransaction.Error) { lbAlertMsg.Text = "โปรดกด Send Auto อีกครั้ง"; StatusWK(); } else if (result == StatusTransaction.False) { lbAlertMsg.Text = "Save Data Complete."; StatusWK(); } } } } else if (this.PatientEvent == PatientEventStatus.Result) { bool sent = new QueueClass.TransactionQueueCls().SendQueueDoctorResult((int)tps_id, user.mut_username); if (sent) { lbAlertMsg.Text = "Sent To Checkpoint C."; StatusEmptyRoom(); } else { lbAlertMsg.Text = "Save Data Incomplete. Please Try Again."; StatusWK(); } } } else { lbAlertMsg.Text = "Save Data Incomplete. Please Try Again."; StatusWK(); } } catch (Exception ex) { lbAlertMsg.Text = ex.Message; StatusWK(); } frmbg.Close(); }
private void btnSendAuto_Click(object sender, EventArgs e) { DisableBtnAll(); DateTime startDate = DateTime.Now; this.AutoScrollPosition = new Point(0, 0); Class.FunctionDataCls func = new Class.FunctionDataCls(); EmrClass.GetDataMasterCls mst = new EmrClass.GetDataMasterCls(); frmBGScreen frmbg = new frmBGScreen(); frmbg.Show(); Application.DoEvents(); try { if (resultUltrasound == PopupUltrasoundLower.ResultPopupUltrasoundLower.AfterStation) { List <int> mvt = mst.GetMstRoomEventByMrm(Program.CurrentRoom.mrm_id).Select(x => x.mvt_id).ToList(); Class.FunctionDataCls.sendQueueStatus result = func.sendQueueUltrasoundLower(resultUltrasound, mvt); if (result == Class.FunctionDataCls.sendQueueStatus.error) { lbAlertMsg.Text = "เกิดความผิดพลาดทางเทคนิค ไม่สามารถส่งไป ultrasound ได้ กรุณาติดต่อผู้ดูแลระบบ"; StatusWK(); } else if (result == Class.FunctionDataCls.sendQueueStatus.sendSuccess) { new ClsTCPClient().sendClearUnitDisplay(); lbAlertMsg.Text = func.GetStrSaveAndSend((int)tpr_id, "US", "UL"); StatusEmptyRoom(); this.tpr_id = null; } } else { if (new Class.FunctionDataCls().ChkSendAutoNewModule(Program.CurrentRegis)) { string msgAlert = ""; bool isPopup = false; QueueClass.SendAutoCls.ResultSendQueue result = new QueueClass.SendAutoCls().SendAuto((int)tps_id, user, ref msgAlert, ref isPopup); if (result == QueueClass.SendAutoCls.ResultSendQueue.Error) { lbAlertMsg.Text = msgAlert; StatusWK(); } else { lbAlertMsg.Visible = true; if (result == QueueClass.SendAutoCls.ResultSendQueue.SendComplete) { new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.SendAuto, (int)tpr_id, (int)tps_id, Program.CurrentSite.mhs_id, Program.CurrentRoom.mrd_ename, Program.CurrentUser.mut_username, startDate); new ClsTCPClient().sendClearUnitDisplay(); new Class.ReserveSkipCls().SendAndReserve(tpr_id); StatusEmptyRoom(); this.tpr_id = null; if (isPopup) { MessageBox.Show(msgAlert, "EMR Checkup."); } else { lbAlertMsg.Text = msgAlert; } } else { if (isPopup) { MessageBox.Show(msgAlert, "EMR Checkup."); } else { lbAlertMsg.Text = msgAlert; } } } } else { StatusTransaction result = CallQueue.SendAutoOnStation(); if (result == StatusTransaction.True || result == StatusTransaction.SendCheckB) { new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.SendAuto, (int)tpr_id, (int)tps_id, Program.CurrentSite.mhs_id, Program.CurrentRoom.mrd_ename, Program.CurrentUser.mut_username, startDate); new ClsTCPClient().sendClearUnitDisplay(); lbAlertMsg.Visible = true; new Class.ReserveSkipCls().SendAndReserve(tpr_id); lbAlertMsg.Text = new Class.FunctionDataCls().getStringGotoNextRoom((int)tpr_id); StatusEmptyRoom(); this.tpr_id = null; } else if (result == StatusTransaction.Error) { lbAlertMsg.Text = "โปรดกด Send Auto อีกครั้ง"; StatusWK(); } else if (result == StatusTransaction.False) { lbAlertMsg.Text = "Save Data Complete."; StatusWK(); } } } } catch (Exception ex) { lbAlertMsg.Text = ex.Message; StatusWK(); } frmbg.Close(); }
private void DGV_Waiting_CellContentClick(object sender, DataGridViewCellEventArgs e) { DataGridView dgv = (DataGridView)sender; if (dgv.Columns[e.ColumnIndex].Name == "colBtnCancelQueue") { sp_get_waiting_room_hdrResult data = (sp_get_waiting_room_hdrResult)dgv.Rows[e.RowIndex].DataBoundItem; if (checkStatusCanSend((int)data.tps_id)) { Class.FunctionDataCls func = new Class.FunctionDataCls(); if (func.checkPassedCheckPointB((int)data.tpr_id)) { frmCancelQueue frmCancelQueue = new frmCancelQueue((int)data.tpr_id, (int)data.mvt_id, mrm_id, mhs_id, (int)data.tps_id, false, frmCancelQueue.useform.onWaiting); if (frmCancelQueue.DialogResult == System.Windows.Forms.DialogResult.OK) { string alert = func.getStringGotoNextRoom((int)data.tpr_id); MessageBox.Show(alert); _OnCompleteAction(false); new Class.ReserveSkipCls().SendAndReserve((int)data.tpr_id); return; } else if (frmCancelQueue.DialogResult == System.Windows.Forms.DialogResult.Cancel) { _OnCompleteAction(true); return; } } } else { MessageBox.Show("คนไข้ไม่ได้อยู่ในสถานะที่ดำเนินการ skip ได้", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); _OnCompleteAction(true); } } else if (((DataGridView)sender).Columns[e.ColumnIndex].Name == "colSendToCheckB") { sp_get_waiting_room_hdrResult data = (sp_get_waiting_room_hdrResult)dgv.Rows[e.RowIndex].DataBoundItem; if (checkStatusCanSend((int)data.tps_id)) { DialogResult result = MessageBox.Show("คุณต้องการส่ง คนไข้ไปยัง Check Point B หรือไม่?", "Alert.", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2); if (result == DialogResult.Yes) { Class.SendToCheckBCls sendB = new Class.SendToCheckBCls(); StatusTransaction complete = sendB.SendToCheckBOnWaiting((int)data.tpr_id, (int)mrm_id); if (complete == StatusTransaction.True) { MessageBox.Show("Sent To Checkpoint B Complete.", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); _OnCompleteAction(false); } else if (complete == StatusTransaction.NoProcess) { MessageBox.Show("คนไข้ไม่ได้อยู่ในสถานะที่จะส่งไปยัง checkpoint B ได้", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); _OnCompleteAction(true); } else if (complete == StatusTransaction.Error) { MessageBox.Show("ระบบเกิดความผิดพลาดไม่สามารถส่งไปยัง checkpoin B ได้ กรุณาทำอีกครั้ง", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); _OnCompleteAction(true); } } } else { MessageBox.Show("คนไข้ไม่ได้อยู่ในสถานะที่จะส่งไปยัง checkpoint B ได้", "Alert.", MessageBoxButtons.OK, MessageBoxIcon.Information); _OnCompleteAction(true); } } }