Пример #1
0
        public HttpResponseMessage Post([FromBody] ChangeQueueModel param)
        {
            List <InsFlowGenQueueComModel> inscom = SelectComKiosk(param.com_name);
            QueueNineModel qnine = GenQNine(param, inscom);

            return(Request.CreateResponse(HttpStatusCode.OK, "qid:" + qnine.q_id + " qno:" + qnine.q_no + " channel:" + qnine.channel_group_name));
        }
Пример #2
0
        private QueueNineModel GenQNine(ChangeQueueModel param, List <InsFlowGenQueueComModel> inscom)
        {
            /* Generate Q express from service Chula*/
            QueueNineModel queue = new QueueNineModel();

            //QChulaService.WS_KioskQSoapClient ws = new QChulaService.WS_KioskQSoapClient();
            CUKioskService.WS_KioskQSoapClient ws = new CUKioskService.WS_KioskQSoapClient();
            DataSet ds = ws.CreateQ_NoHN(param.slip_type_detail, param.slip_type_flag, inscom[0].locat_name, param.slip_no, param.crtd_by);

            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                queue.channel_group_name = ds.Tables[0].Rows[0]["channel_group_id"].ToString();
                queue.q_no      = ds.Tables[0].Rows[0]["q_no"].ToString();
                queue.q_id      = ds.Tables[0].Rows[0]["q_id"].ToString();
                queue.ws_result = ds.Tables[0].Rows[0]["ws_result"].ToString();
            }
            return(queue);
        }
Пример #3
0
        private bool UpdateMapQueue(ChangeQueueModel param, List <PatientTransheadModel> patient, List <kiosk_transhead> tranheadresult, QueueNineModel q9)
        {
            try
            {
                using (var context = new KioskChulaiPadEntities())
                {
                    if (param != null && patient != null && tranheadresult != null)
                    {
                        /* insert */
                        int    slip_seq_express = tranheadresult[0].slip_seq;
                        string queue_no_express = q9.q_no;
                        int    slip_seq_old     = param.slip_seq;
                        string queue_no_old     = patient[0].queue_no;
                        string activeflag       = "Y";
                        string crdby            = param.crtd_by;

                        context.q_expr_ins_kiosk_map_qexpress_ipad(slip_seq_express, queue_no_express, slip_seq_old, queue_no_old, activeflag, crdby);

                        /*update queue_id to service chula*/
                        //bool updateslipseq = UpdateQ_SlipSeq(q9.q_id, slip_seq_express.ToString());

                        return(UpdateQ_SlipSeq(q9.q_id, slip_seq_express.ToString()));
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
            catch
            {
                return(false);
            }
        }
Пример #4
0
        public HttpResponseMessage GenQFlowExpress([FromBody] ChangeQueueModel param)
        {
            try
            {
                /*====get location ipad for insert======*/
                //select db.q_expr_sel_kiosk_com_cat_ipad
                //========param computer_name = 'IPAD001'
                List <InsFlowGenQueueComModel> inscom = SelectComKiosk(param.com_name);
                //List<QueueExpressResultModel> expressresult = new List<QueueExpressResultModel>();
                List <PatientTransheadModel> patient = SelectPatientTranshead(param.slip_seq);
                //QueueExpressResultModel expressResultModel = new QueueExpressResultModel();

                List <q_express_Result> resultq9     = new List <q_express_Result>();
                q_express_Result        qresultmodel = new q_express_Result();
                /*====update queue status======*/
                //update db.q_expr_upd_kiosk_transhead_queue_status_ipad
                //========param queue_status = 'C' ,slip_seq  ,last_chg_by

                string updateresult = UpdateQueueStatus(param);
                if (updateresult == "true")
                {
                    /*====select patient info transhead ======*/

                    //gen queue 9
                    if (inscom.Count > 0 && patient.Count > 0)
                    {
                        QueueNineModel qnine = GenQNine(param, inscom);
                        string         q9    = "";
                        if (qnine.ws_result != null && qnine.ws_result == "S")
                        {
                            q9 = qnine.q_no;
                        }
                        else
                        {
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, "problem when call express queue service !!"));
                        }
                        //q9 = q9 != "" ? q9 : "9" + patient[0].queue_no;

                        /*====insert transhead ======*/
                        //insert db.q_expr_ins_kiosk_transhead_ipad
                        //========param queue_status = 'C' ,slip_seq  ,last_chg_by
                        if (InsertTranshead(param, patient, inscom, q9))
                        {
                            List <kiosk_transhead> tranheadresult = GetLastTransHead(param, patient, q9);

                            if (tranheadresult.Count > 0)
                            {
                                if (UpdateMapQueue(param, patient, tranheadresult, qnine))
                                {
                                    //insert db.q_expr_ins_kiosk_qExpress_log_ipad
                                    if (InsertLogQueue(param, patient, inscom, q9))
                                    {
                                        //expressResultModel.queue_no = patient[0].queue_no;
                                        //expressResultModel.queue_no_express = q9;
                                        //expressResultModel.patient_name = patient[0].pateint_name;
                                        //expressResultModel.hn_no = patient[0].hn_no;
                                        //expressresult.Add(expressResultModel); //add to list
                                        //call service q
                                        string slip_seq_new  = tranheadresult[0].slip_seq.ToString();
                                        bool   updateqstatus = UpdateQ_ClickStatusQ_Nurse(param, slip_seq_new);
                                        if (updateqstatus)
                                        {
                                            if (this.UpdateQShowQAll2_Check(slip_seq_new, "N"))
                                            {
                                                qresultmodel.qexpress = q9;
                                                resultq9.Add(qresultmodel);
                                                return(Request.CreateResponse(HttpStatusCode.OK, resultq9.ToList()));
                                            }
                                            else
                                            {
                                                qresultmodel.qexpress = "problem when call service UpdateQShowQAll2_Check !!";
                                                resultq9.Add(qresultmodel);
                                                return(Request.CreateResponse(HttpStatusCode.BadRequest, resultq9.ToList()));
                                            }
                                        }
                                        else
                                        {
                                            qresultmodel.qexpress = "problem when call service UpdateQ_ClickStatusQ_Nurse !!";
                                            resultq9.Add(qresultmodel);
                                            return(Request.CreateResponse(HttpStatusCode.BadRequest, resultq9.ToList()));
                                        }
                                    }
                                    else
                                    {
                                        qresultmodel.qexpress = "problem when insert log queue !!";
                                        resultq9.Add(qresultmodel);
                                        return(Request.CreateResponse(HttpStatusCode.BadRequest, resultq9.ToList()));
                                    }
                                }
                                else
                                {
                                    qresultmodel.qexpress = "problem when update map queue !!";
                                    resultq9.Add(qresultmodel);
                                    return(Request.CreateResponse(HttpStatusCode.BadRequest, resultq9.ToList()));
                                }
                            }
                            else
                            {
                                qresultmodel.qexpress = "problem when select old transhead !!";
                                resultq9.Add(qresultmodel);
                                return(Request.CreateResponse(HttpStatusCode.BadRequest, resultq9.ToList()));
                            }
                        }
                        else
                        {
                            qresultmodel.qexpress = "problem when insert transhead !!";
                            resultq9.Add(qresultmodel);
                            return(Request.CreateResponse(HttpStatusCode.BadRequest, resultq9.ToList()));
                        }
                    }
                    else
                    {
                        qresultmodel.qexpress = "problem when select computer or device name !!";
                        resultq9.Add(qresultmodel);
                        return(Request.CreateResponse(HttpStatusCode.BadRequest, resultq9.ToList()));
                    }
                }
                else
                {
                    qresultmodel.qexpress = "problem when update queue status !!" + updateresult;
                    resultq9.Add(qresultmodel);
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, resultq9.ToList()));
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message + ex.InnerException.Message));
            }
        }