示例#1
0
        private void btnSendToCheckB_Click(object sender, EventArgs e)
        {
            DisableBtnAll();

            this.AutoScrollPosition = new Point(0, 0);

            frmBGScreen frmbg = new frmBGScreen();

            frmbg.Show();
            Application.DoEvents();

            if (saveData())
            {
                int               tps_id  = Program.CurrentPatient_queue.tps_id;
                int               mrm_id  = Program.CurrentRoom.mrm_id;
                string            messege = "";
                StatusTransaction sendToB = new Class.SendQueue().SendToCheckB((int)tpr_id, mrm_id, ref messege);
                if (sendToB == StatusTransaction.True)
                {
                    new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.SendCheckB,
                                                (int)tpr_id,
                                                tps_id,
                                                Program.CurrentSite.mhs_id,
                                                Program.CurrentRoom.mrd_ename,
                                                Program.CurrentUser.mut_username);

                    new ClsTCPClient().sendClearUnitDisplay();
                    lbAlertMsg.Text = messege;
                    StatusEmptyRoom();
                    this.tpr_id = null;
                }
                else if (sendToB == StatusTransaction.Error)
                {
                    lbAlertMsg.Text = "ระบบเกิดความผิดพลาดไม่สามารถส่งไปยัง Checkpoint B ได้ กรุณา กดปุ่ม go to Checkpoint B อีกครั้ง";
                    StatusWK();
                }
            }
            else
            {
                lbAlertMsg.Text = "Save Data Incomplete. Please Try Again.";
                StatusWK();
            }

            frmbg.Close();
        }
示例#2
0
        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);
            }
        }
示例#3
0
        private void btnSendToCheckB_Click(object sender, EventArgs e)
        {
            DisableBtnAll();

            this.AutoScrollPosition = new Point(0, 0);

            frmBGScreen frmbg = new frmBGScreen();

            frmbg.Show();
            Application.DoEvents();

            int        mrm_id  = Program.CurrentRoom.mrm_id;
            string     messege = "";
            List <int> mvt_id  = new List <int>();

            if (uu.enable && uu.visible && uu.check)
            {
                mvt_id.Add(uu.mvt_id);
            }
            if (ul.enable && ul.visible && ul.check)
            {
                mvt_id.Add(ul.mvt_id);
            }
            if (ub.enable && ub.visible && ub.check)
            {
                mvt_id.Add(ub.mvt_id);
            }
            if (uw.enable && uw.visible && uw.check)
            {
                mvt_id.Add(uw.mvt_id);
            }
            if (mvt_id.Count() == 0)
            {
                lbAlertMsg.Text = "กรุณาเลือก Order ที่ต้องการตรวจเพิ่มอย่างน้อย 1 รายการ";
                StatusWK();
            }
            else
            {
                StatusTransaction sendToB = new Class.SendQueue().SendToCheckB((int)tpr_id, mvt_id, (int)this.tps_id, ref messege);
                if (sendToB == StatusTransaction.True)
                {
                    new Class.logPatientFlowCls(Class.logPatientFlowCls.sendType.SendCheckB,
                                                (int)tpr_id,
                                                (int)tps_id,
                                                Program.CurrentSite.mhs_id,
                                                Program.CurrentRoom.mrd_ename,
                                                Program.CurrentUser.mut_username);

                    new ClsTCPClient().sendClearUnitDisplay();
                    lbAlertMsg.Text = messege;
                    StatusEmptyRoom();
                    this.tpr_id = null;
                }
                else if (sendToB == StatusTransaction.Error)
                {
                    lbAlertMsg.Text = "ระบบเกิดความผิดพลาดไม่สามารถส่งไปยัง Checkpoint B ได้ กรุณา กดปุ่ม go to Checkpoint B อีกครั้ง";
                    StatusWK();
                }
            }
            frmbg.Close();
        }