Exemple #1
0
        public override void ProcessMessage()
        {
            OutObject = new YUYUEJLCX_OUT();
            string jiuzhenKh = InObject.JIUZHENKH;                               //就诊卡号

            string xingMing    = InObject.XINGMING;                              //姓名
            string zhengjianHm = InObject.ZHENGJIANHM;                           //证件号码
            string lianxiDh    = InObject.LIANXIDH;                              //联系电话
            string yuyuerq     = InObject.YUYUERQ;                               //预约日期
            string quHaoZt     = InObject.QUHAOZT;                               //取号状态

            string yuYueCZFS = ConfigurationManager.AppSettings["GUAHAOYYCZFS"]; //挂号预约处理方式

            if (!string.IsNullOrEmpty(yuYueCZFS) && yuYueCZFS == "1")
            {
                if (string.IsNullOrEmpty(lianxiDh))
                {
                    throw new Exception("联系电话不能为空!");
                }
                string    yyjlcx = @"  select xingming,jiuzhenyyid yuyueid,jiuzhenyyid quhaomm,yishengid yishengdm,(select zhigongxm from gy_zhigongxx where zhigongid = a.yishengid ) yishengxm,keshiid keshidm,(select keshimc from gy_keshi where keshiid = a.keshiid) keshimc,to_char(yuyuesj,'yyyy-mm-dd') riqi,
                            to_Char(yuyuesj,'hh24:mi:ss') jiuzhensj,guahaoyyxh guahaoxh,decode(shangxiawbz,0,1,2) guahaobc,DIANHUA,YUYUEZT,CAOZUORQ,paibanid,beizhu  from v_mz_guahaoyyxh_yshyh  a  where dianhua = '{0}' ";
                DataTable dtYYJL = DBVisitor.ExecuteTable(string.Format(yyjlcx, lianxiDh));

                if (dtYYJL.Rows.Count <= 0)
                {
                    throw new Exception("未找到预约记录!");
                }

                for (int i = 0; i < dtYYJL.Rows.Count; i++)
                {
                    YUYUEXX yuyuexx = new YUYUEXX();
                    yuyuexx.BINGRENXM = dtYYJL.Rows[i]["xingming"].ToString();  //病人姓名
                    yuyuexx.YUYUEID   = dtYYJL.Rows[i]["yuyueid"].ToString();   //预约ID
                    yuyuexx.QUHAOMM   = dtYYJL.Rows[i]["quhaomm"].ToString();   //取号密码
                    yuyuexx.GUAHAOBC  = dtYYJL.Rows[i]["guahaobc"].ToString();  //挂号班次
                    yuyuexx.GUAHAOXH  = dtYYJL.Rows[i]["guahaoxh"].ToString();  //挂号序号
                    yuyuexx.JIUZHENSJ = dtYYJL.Rows[i]["jiuzhensj"].ToString(); //就诊时间
                    yuyuexx.KESHIDM   = dtYYJL.Rows[i]["keshidm"].ToString();   //科室代码
                    yuyuexx.KESHIMC   = dtYYJL.Rows[i]["keshimc"].ToString();   //科室名称
                    yuyuexx.YISHENGDM = dtYYJL.Rows[i]["yishengdm"].ToString(); //医生代码
                    yuyuexx.YISHENGXM = dtYYJL.Rows[i]["yishengxm"].ToString(); //医生姓名
                    yuyuexx.RIQI      = dtYYJL.Rows[i]["riqi"].ToString();      //就诊日期
                    yuyuexx.YUYUESJ   = dtYYJL.Rows[i]["caozuorq"].ToString();
                    yuyuexx.YUYUEZT   = dtYYJL.Rows[i]["yuyuezt"].ToString();
                    yuyuexx.BEIZHU    = dtYYJL.Rows[i]["beizhu"].ToString();
                    if (yuyuexx.YUYUEZT == "0")
                    {
                        yuyuexx.YUYUEZTSM = "未挂号";
                    }
                    else if (yuyuexx.YUYUEZT == "1")
                    {
                        yuyuexx.YUYUEZTSM = "已挂号";
                    }
                    else if (yuyuexx.YUYUEZT == "2")
                    {
                        yuyuexx.YUYUEZTSM = "预约取消";
                    }
                    else if (yuyuexx.YUYUEZT == "3")
                    {
                        yuyuexx.YUYUEZTSM = "预约过期";
                    }

                    string paiBanID = dtYYJL.Rows[i]["paibanid"].ToString();
                    OutObject.YUYUEMX.Add(yuyuexx);
                }
            }
            else
            {
                #region 标准his4业务流程

                #endregion
                #region 入参判断
                if (string.IsNullOrEmpty(jiuzhenKh) && string.IsNullOrEmpty(zhengjianHm))
                {
                    throw new Exception("就诊卡号和证件号码不能同时为空");
                }
                //if (string.IsNullOrEmpty(lianxiDh))
                //{
                //    throw new Exception("联系电话不能为空");
                //}
                #endregion
                StringBuilder sbSql = new StringBuilder("select a.yuyueid, a.yuyuezt,to_char(a.caozuorq,'yyyy-mm-dd hh24:mi:ss') caozuorq, a.yuyuehao quhaomm,decode(a.shangxiawbz,'0','上午','1','下午','其他') guahaobc,a.guahaoxh, ");
                sbSql.Append("to_char(a.yuyuesj,'yyyy-mm-dd hh24:mi:ss') jiuzhensj,a.yuyueks keshidm,a.yuyueksmc keshimc,a.paibanid, ");       //
                sbSql.Append("a.yuyueys yishengdm,a.yuyueysxm yishengxm,to_char(a.yuyuesj,'yyyy-mm-dd') riqi from mz_guahaoyy a  WHERE 1=1 "); //
                if (!string.IsNullOrEmpty(jiuzhenKh))
                {
                    sbSql.Append("and a.jiuzhenkh='" + jiuzhenKh + "' ");
                }
                //if (jiuzhenkLx != string.Empty)
                //    sbSql.Append("and a.jiuzhenkLx='" + jiuzhenkLx + "' ");//?
                if (!string.IsNullOrEmpty(xingMing))
                {
                    sbSql.Append("and a.xingming ='" + xingMing + "' ");
                }
                if (!string.IsNullOrEmpty(zhengjianHm))
                {
                    sbSql.Append("and a.shenfenzh ='" + zhengjianHm + "' ");
                }
                if (!string.IsNullOrEmpty(lianxiDh))
                {
                    sbSql.Append("and a.lianxirdh ='" + lianxiDh + "' ");
                }
                if (!string.IsNullOrEmpty(yuyuerq))
                {
                    sbSql.Append(" and to_char(a.yuyuesj,'yyyy-mm-dd') ='" + yuyuerq + "' ");
                }
                if (quHaoZt != "4")
                {
                    if (!string.IsNullOrEmpty(quHaoZt))
                    {
                        sbSql.Append(" and a.yuyuezt =" + quHaoZt + " ");
                    }
                }
                sbSql.Append(" order by a.caozuorq desc ");
                DataTable dt = DBVisitor.ExecuteTable(sbSql.ToString());
                if (dt.Rows.Count == 0)
                {
                    throw new Exception("未找到预约记录");
                }
                else
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        YUYUEXX yuyuexx = new YUYUEXX();
                        yuyuexx.YUYUEID   = dt.Rows[i]["yuyueid"].ToString();   //预约ID
                        yuyuexx.QUHAOMM   = dt.Rows[i]["quhaomm"].ToString();   //取号密码
                        yuyuexx.GUAHAOBC  = dt.Rows[i]["guahaobc"].ToString();  //挂号班次
                        yuyuexx.GUAHAOXH  = dt.Rows[i]["guahaoxh"].ToString();  //挂号序号
                        yuyuexx.JIUZHENSJ = dt.Rows[i]["jiuzhensj"].ToString(); //就诊时间
                        yuyuexx.KESHIDM   = dt.Rows[i]["keshidm"].ToString();   //科室代码
                        yuyuexx.KESHIMC   = dt.Rows[i]["keshimc"].ToString();   //科室名称
                        yuyuexx.YISHENGDM = dt.Rows[i]["yishengdm"].ToString(); //医生代码
                        yuyuexx.YISHENGXM = dt.Rows[i]["yishengxm"].ToString(); //医生姓名
                        yuyuexx.RIQI      = dt.Rows[i]["riqi"].ToString();      //就诊日期
                        yuyuexx.YUYUESJ   = dt.Rows[i]["caozuorq"].ToString();
                        yuyuexx.YUYUEZT   = dt.Rows[i]["yuyuezt"].ToString();
                        if (yuyuexx.YUYUEZT == "0")
                        {
                            yuyuexx.YUYUEZTSM = "未挂号";
                        }
                        else if (yuyuexx.YUYUEZT == "1")
                        {
                            yuyuexx.YUYUEZTSM = "已挂号";
                        }
                        else if (yuyuexx.YUYUEZT == "2")
                        {
                            yuyuexx.YUYUEZTSM = "预约取消";
                        }
                        else if (yuyuexx.YUYUEZT == "3")
                        {
                            yuyuexx.YUYUEZTSM = "预约过期";
                        }

                        string    paiBanID     = dt.Rows[i]["paibanid"].ToString();
                        string    shouFeiXMSql = "select zhenliaofxm,guahaofxm from mz_v_guahaopb_ex_zzj where paibanid = '{0}' ";
                        DataTable dtShouFeiXM  = DBVisitor.ExecuteTable(string.Format(shouFeiXMSql, paiBanID));
                        if (dtShouFeiXM.Rows.Count > 0)
                        {
                            string zhenLiaoFXM = dtShouFeiXM.Rows[0]["zhenliaofxm"].ToString();
                            string guaHaoFXM   = dtShouFeiXM.Rows[0]["guahaofxm"].ToString();
                            yuyuexx.GUAHAOF   = Unity.GetXiangMuFY(guaHaoFXM);
                            yuyuexx.ZHENLIAOF = Unity.GetXiangMuFY(zhenLiaoFXM);
                        }

                        OutObject.YUYUEMX.Add(yuyuexx);
                    }
                }
            }
        }
Exemple #2
0
        public override void ProcessMessage()
        {
            var sql  = "";
            var yyrq = "";
            int jl   = 0;

            OutObject           = new YUYUEXXCX_OUT();
            OutObject.YUYUEXXXX = new List <YUYUEXX>();

            if (InObject.YUYUESQDBH.ToString() != "")
            {
                sql = " and a.yysqdbh = '" + InObject.YUYUESQDBH.ToString() + "'";
            }
            if (InObject.BINGRENKH.ToString() != "")
            {
                sql = sql + " and a.brkh = '" + InObject.BINGRENKH.ToString() + "'";
            }
            if (InObject.BINGRENMZH.ToString() != "")
            {
                sql = sql + " and a.brmzh = '" + InObject.BINGRENMZH.ToString() + "'";
            }
            if (InObject.BINGRENZYH.ToString() != "")
            {
                sql = sql + " and a.brzyh = '" + InObject.BINGRENZYH.ToString() + "'";
            }
            if (InObject.SHENFENZH.ToString() != "")
            {
                sql = sql + " and a.sfzh = '" + InObject.SHENFENZH.ToString() + "'";
            }
            if (InObject.JIANCHASQDBH.ToString() != "")
            {
                sql = sql + " and a.jcsqdbh = '" + InObject.JIANCHASQDBH.ToString() + "'";
            }
            int dtrq = 0;//如果是当天则为0,非当天为1

            if (InObject.YUYUEKSRQ.ToString() == "")
            {
                dtrq = 1;
                yyrq = DateTime.Now.ToString("yyyy-MM-dd");
            }
            else
            {
                if (InObject.YUYUEKSRQ == DateTime.Now.ToString("yyyy-MM-dd"))
                {
                    dtrq = 0;
                }
                else
                {
                    dtrq = 1;
                }
                yyrq = InObject.YUYUEKSRQ.ToString();
            }
            if (string.IsNullOrEmpty(InObject.CHAXUNLX))//0是所有,1是已预约,2未预约
            {
                InObject.CHAXUNLX = "0";
            }
            if (InObject.CHAXUNLX == "0" || InObject.CHAXUNLX == "1")
            {
                var listyyxx = DBVisitor.ExecuteModels(SqlLoad.GetFormat(SQ.FSD00006, sql, yyrq, dtrq));
                if (listyyxx.Count == 0)
                {
                    jl = 2;
                    //OutObject = new YUYUEXXCX_OUT();
                    //OutObject.OUTMSG.ERRNO = "-2";
                    //OutObject.OUTMSG.ERRMSG = "找不到预约信息";
                    //return;
                    //throw new Exception(string.Format("找不到预约信息"));
                }
                else
                {
                    jl = 1;
                    foreach (var item in listyyxx)
                    {
                        var yyxx = new YUYUEXX();
                        var csrq = "";
                        if (string.IsNullOrEmpty(item.Get("brcsrq")))
                        {
                            csrq = "1901-01-01";
                        }
                        else
                        {
                            csrq = item.Get("brcsrq").ToString();
                        }
                        yyxx.JIANCHAKSDM  = string.Empty;// (item.Get("jcksdm") == "" ? string.Empty : item.Get("jcksdm"));
                        yyxx.JIANCHAKSMC  = item.Get("jcksmc");
                        yyxx.BINGRENFPH   = item.Get("brfph");
                        yyxx.BINGRENLX    = int.Parse(item.Get("brlx"));
                        yyxx.BINGRENLXMC  = item.Get("brlxmc");
                        yyxx.BINGRENKH    = item.Get("brkh");
                        yyxx.BINGRENMZH   = item.Get("brmzh");
                        yyxx.BINGRENZYH   = item.Get("brzyh");
                        yyxx.BINGRENBQDM  = item.Get("brbqdm");
                        yyxx.BINGRENBQMC  = item.Get("brbqmc");
                        yyxx.BINGRENCWH   = item.Get("brcwh");
                        yyxx.BINGRENXM    = item.Get("brxm");
                        yyxx.BINGRENXB    = int.Parse(item.Get("brxb"));
                        yyxx.BINGRENNL    = item.Get("brnl").ToString();
                        yyxx.BINGRENCSRQ  = Convert.ToDateTime(csrq).ToString("yyyy-MM-dd HH:mm:ss");
                        yyxx.BINGRENLXDZ  = item.Get("brlxdz");
                        yyxx.BINGRENLXDH  = item.Get("brlxdh");
                        yyxx.SHENQINGYSGH = item.Get("sqysgh");
                        yyxx.SHENQINGYSMC = item.Get("sqysmc");
                        yyxx.SHENQINGYYDM = item.Get("sqyydm");
                        yyxx.SHENQINGYYMC = item.Get("sqyymc");
                        yyxx.JIANCHAXMDM  = item.Get("jcxmdm");
                        yyxx.JIANCHAXMMC  = item.Get("jcxmmc");
                        yyxx.JIANCHAXMLX  = item.Get("jcxmlx");
                        yyxx.JIANCHABWDM  = item.Get("jcbwdm");
                        yyxx.JIANCHABWMC  = item.Get("jcbwmc");
                        yyxx.JIANCHASBDM  = int.Parse(item.Get("jcsbdm"));
                        yyxx.JIANCHASBMC  = item.Get("jcsbmc");
                        yyxx.JIANCHASBDD  = item.Get("jcsbdd");
                        yyxx.YUYUEH       = item.Get("yyh");
                        yyxx.SHENFENZH    = item.Get("sfzh");
                        yyxx.YUYUESF      = int.Parse(item.Get("yysf"));
                        yyxx.YUYUESQDBH   = item.Get("yysqdbh");
                        yyxx.YUYUESQDZT   = int.Parse(item.Get("yysqdzt"));
                        yyxx.SHENQINGSJ   = item.Get("sqsj");
                        yyxx.JIANCHAH     = item.Get("jch");
                        yyxx.YUYUERQ      = item.Get("jcrq");
                        yyxx.YUYUESJ      = item.Get("jcsj");
                        yyxx.JIANCHASQDBH = item.Get("jcsqdbh");
                        yyxx.YINGXIANGFX  = item.Get("yxfx");
                        yyxx.YUYUSJD      = item.Get("yysjd");
                        OutObject.YUYUEXXXX.Add(yyxx);
                    }
                }
            }
            if (InObject.CHAXUNLX == "0" || InObject.CHAXUNLX == "2")
            {
                //查询未预约信息
                var listwyyxx = DBVisitor.ExecuteModels(SqlLoad.GetFormat(SQ.FSD00019, sql));
                if (listwyyxx.Count == 0)
                {
                    if (jl != 1)
                    {
                        jl = 2;
                    }
                    //OutObject = new YUYUEXXCX_OUT();
                    //OutObject.OUTMSG.ERRNO = "-2";
                    //OutObject.OUTMSG.ERRMSG = "找不到预约信息";
                    //return;
                    //throw new Exception(string.Format("找不到预约信息"));
                }
                else
                {
                    jl = 1;
                    //OutObject = new YUYUEXXCX_OUT();
                    //OutObject.YUYUEXXXX = new List<YUYUEXX>();
                    foreach (var item in listwyyxx)
                    {
                        var yyxx = new YUYUEXX();
                        var csrq = "";
                        if (string.IsNullOrEmpty(item.Get("brcsrq")))
                        {
                            csrq = "1901-01-01";
                        }
                        else
                        {
                            csrq = item.Get("brcsrq").ToString();
                        }
                        yyxx.JIANCHAKSDM  = item.Get("jcksdm");
                        yyxx.JIANCHAKSMC  = item.Get("jcksmc");
                        yyxx.BINGRENFPH   = item.Get("brfph");
                        yyxx.BINGRENLX    = int.Parse(item.Get("brlx"));
                        yyxx.BINGRENLXMC  = item.Get("brlxmc");
                        yyxx.BINGRENKH    = item.Get("brkh");
                        yyxx.BINGRENMZH   = item.Get("brmzh");
                        yyxx.BINGRENZYH   = item.Get("brzyh");
                        yyxx.BINGRENBQDM  = item.Get("brbqdm");
                        yyxx.BINGRENBQMC  = item.Get("brbqmc");
                        yyxx.BINGRENCWH   = item.Get("brcwh");
                        yyxx.BINGRENXM    = item.Get("brxm");
                        yyxx.BINGRENXB    = int.Parse(item.Get("brxb"));
                        yyxx.BINGRENNL    = item.Get("brnl").ToString();
                        yyxx.BINGRENCSRQ  = Convert.ToDateTime(csrq).ToString("yyyy-MM-dd HH:mm:ss");
                        yyxx.BINGRENLXDZ  = item.Get("brlxdz");
                        yyxx.BINGRENLXDH  = item.Get("brlxdh");
                        yyxx.SHENQINGYSGH = item.Get("sqysgh");
                        yyxx.SHENQINGYSMC = item.Get("sqysmc");
                        yyxx.SHENQINGYYDM = item.Get("sqyydm");
                        yyxx.SHENQINGYYMC = item.Get("sqyymc");
                        yyxx.JIANCHAXMDM  = item.Get("jcxmdm");
                        yyxx.JIANCHAXMMC  = item.Get("jcxmmc");
                        yyxx.JIANCHAXMLX  = item.Get("jcxmlx");
                        yyxx.JIANCHABWDM  = item.Get("jcbwdm");
                        yyxx.JIANCHABWMC  = item.Get("jcbwmc");
                        //yyxx.JIANCHASBDM = int.Parse(item.Get("jcsbdm"));
                        yyxx.JIANCHASBMC = "";
                        yyxx.JIANCHASBDD = "";
                        yyxx.YUYUEH      = "";
                        yyxx.SHENFENZH   = item.Get("sfzh");
                        //yyxx.YUYUESF = int.Parse(item.Get("yysf"));
                        yyxx.YUYUESQDBH = "";
                        //yyxx.YUYUESQDZT = int.Parse(item.Get("yysqdzt"));
                        yyxx.SHENQINGSJ   = item.Get("jcsqrq");
                        yyxx.JIANCHAH     = "";
                        yyxx.YUYUERQ      = "";
                        yyxx.YUYUESJ      = "";
                        yyxx.JIANCHASQDBH = item.Get("jcsqdbh");
                        yyxx.YINGXIANGFX  = item.Get("yxfx");
                        yyxx.YUYUSJD      = "";
                        OutObject.YUYUEXXXX.Add(yyxx);
                    }
                }
            }
            if (jl != 1)
            {
                OutObject.OUTMSG.ERRNO  = "-2";
                OutObject.OUTMSG.ERRMSG = "找不到预约信息";
            }
        }