Exemplo n.º 1
0
        public override void ProcessMessage()
        {
            OutObject = new YIZHUXX_OUT();
            string bingRenId = InObject.BINGRENID;//病人住院ID

            #region 基本入参判断
            if (string.IsNullOrEmpty(bingRenId))
            {
                throw new Exception("病人ID不能为空!");
            }
            #endregion

            string    pinci     = string.Empty;
            DataTable dtYIZHUXX = DBVisitor.ExecuteTable(string.Format("SELECT * FROM V_YZ_BINGRENYZ WHERE BINGRENZYID='{0}'", bingRenId));
            foreach (DataRow dr in dtYIZHUXX.Rows)
            {
                BINGRENYZXX yzxx = new BINGRENYZXX();
                yzxx.STARTTIME     = dr["START_TIME"].ToString();
                yzxx.ORDERNAME     = dr["ORDER_NAME"].ToString() + dr["PSJG"].ToString();
                yzxx.PHYSICIANNAME = dr["PHYSICIAN_NAME"].ToString();
                pinci = dr["PINCI"].ToString();
                if (pinci == "ONCE" || pinci == "ST")
                {
                    yzxx.ZHIXINGSJ      = dr["ZXSJ"].ToString();
                    yzxx.ZHIXINGRENNAME = dr["ZXR1"].ToString();
                }
                else
                {
                    yzxx.ZHIXINGSJ      = dr["ZHIXINGSJ"].ToString();
                    yzxx.ZHIXINGRENNAME = dr["ZHIXINGREN_NAME"].ToString();
                }
                OutObject.BINGRENYZXX.Add(yzxx);
            }
        }
Exemplo n.º 2
0
        public int RunService(string TradeType, string TradeMsg, string YYDM, ref string TradeMsgOut)
        {
            ILog   log  = log4net.LogManager.GetLogger("XmlLog");
            string guid = Guid.NewGuid().ToString("N").ToUpper();

            log.InfoFormat("[{2}][{0}].IN  {1}", TradeType, LogUnity.I.ShowXml(TradeMsg), guid);
            //var asm = Assembly.LoadFile(@"F:\1.服务平台\3.HIS4\服务平台\HisWCF\HisWCFSVR\bin\HIS4.Schemas.dll");
            //Type tp = asm.GetType("HIS4.Schemas.ZHIFUBAOTF_IN");
            //dynamic obj = Activator.CreateInstance(tp);



            var           listpbxx      = DBVisitor.ExecuteTable(SqlLoad.GetFormat(SQ.HIS00002));
            XmlSerializer xmlSerializer = new XmlSerializer(typeof(HIS4.Schemas.ZHIFUBAOTF_IN));
            Stream        stream        = new MemoryStream(ASCIIEncoding.UTF8.GetBytes(TradeMsg));

            HIS4.Schemas.ZHIFUBAOTF_IN p = xmlSerializer.Deserialize(stream) as HIS4.Schemas.ZHIFUBAOTF_IN;



            YuHangYY.HisApplayClient yhyy = new YuHangYY.HisApplayClient();
            int i = yhyy.RunService(TradeType, TradeMsg, ref TradeMsgOut);

            log.InfoFormat("[{2}][{0}].OUT {1}", TradeType, TradeMsgOut, guid);
            return(i);
        }
Exemplo n.º 3
0
 /// <summary>
 /// 判断是否节假日
 /// </summary>
 /// <param name="regDate"></param>
 /// <returns></returns>
 public static bool GetHoliday(DateTime regDate)
 {
     if ((int)regDate.DayOfWeek == 6)
     {
         string    dynamicSql = "Select Decode(2,1,Csz1,Csz2) Value From Gy_Xtcs Where Csmc = 'SAT' And Xtxh = 23";
         DataTable dt         = DBVisitor.ExecuteTable(dynamicSql);
         if (dt.Rows.Count > 0 && dt.Rows[0]["Value"].ToString() == "1")
         {
             return(true);
         }
     }
     else if ((int)regDate.DayOfWeek == 0)
     {
         string    dynamicSql = "Select Decode(2,1,Csz1,Csz2) Value From Gy_Xtcs Where Csmc = 'SUN' And Xtxh = 23";
         DataTable dt         = DBVisitor.ExecuteTable(dynamicSql);
         if (dt.Rows.Count > 0 && dt.Rows[0]["Value"].ToString() == "1")
         {
             return(true);
         }
     }
     else
     {
         string    dynamicSql = $"SELECT COUNT(*) FROM gh_jjr WHERE RQ ='{regDate.ToString("MMdd")}'";
         DataTable dt         = DBVisitor.ExecuteTable(dynamicSql);
         if (dt.Rows.Count > 0)
         {
             return(true);
         }
     }
     return(false);
 }
Exemplo n.º 4
0
        public override void ProcessMessage()
        {
            OutObject = new MENZHENTBZLMX_OUT();

            string BingRenID = InObject.BINGRENID; //病人ID

            if (string.IsNullOrEmpty(BingRenID))
            {
                throw new Exception("病人ID不能为空!");
            }

            ///人员信息确认
            var dtBingRenXX = DBVisitor.ExecuteTable(string.Format("select * from gy_v_bingrenxx where bingrenid = '{0}' ", BingRenID));

            if (dtBingRenXX == null || dtBingRenXX.Rows.Count <= 0)
            {
                throw new Exception(string.Format("未找到病人ID为[{0}]的病人!", BingRenID));
            }
            ///特殊病处方医技信息查询
            DataTable dtTeBingZLXX = DBVisitor.ExecuteTable(string.Format("select * from mz_v_teBingZhenliaoXX where bingrenid = '{0}' ", BingRenID));

            if (dtTeBingZLXX != null && dtTeBingZLXX.Rows.Count > 0)
            {
                for (int i = 0; i < dtTeBingZLXX.Rows.Count; i++)
                {
                    TEBINGZLXX temp = new TEBINGZLXX();
                    temp.ZHENLIAOLX = dtTeBingZLXX.Rows[i]["ZHENLIAOLX"].ToString();
                    temp.ZHENLIAOID = dtTeBingZLXX.Rows[i]["ZHENLIAOID"].ToString();
                    temp.BINGRENID  = dtTeBingZLXX.Rows[i]["bingrenid"].ToString();
                    temp.SHUXINGZT  = dtTeBingZLXX.Rows[i]["SHUXINGZT"].ToString();
                    OutObject.TEBINGZLMX.Add(temp);
                }
            }
        }
Exemplo n.º 5
0
        public override void ProcessMessage()
        {
            this.OutObject = new ZD_YISHENGXX_OUT();
            string keShiId = InObject.KESHIID;

            string YiShengXXSql = "select yishengid,yishengxm,yishengxb,yishengzc,yishengjs,keshiid from web_yishengxx where 1=1  ";

            if (!string.IsNullOrEmpty(keShiId))
            {
                YiShengXXSql += " and keshiid = '" + keShiId + "' ";
            }
            DataTable dtYiShengXX = DBVisitor.ExecuteTable(YiShengXXSql);

            if (dtYiShengXX.Rows.Count > 0)
            {
                for (int i = 0; i < dtYiShengXX.Rows.Count; i++)
                {
                    HIS4.Schemas.ZD.YISHENGXX ysxx = new Schemas.ZD.YISHENGXX();
                    ysxx.YISHENGID = dtYiShengXX.Rows[i]["yishengid"].ToString();
                    ysxx.YISHENGXM = dtYiShengXX.Rows[i]["yishengxm"].ToString();
                    ysxx.YISHENGXB = dtYiShengXX.Rows[i]["yishengxb"].ToString();
                    ysxx.YISHENGZC = dtYiShengXX.Rows[i]["yishengzc"].ToString();
                    ysxx.YISHENGJS = dtYiShengXX.Rows[i]["yishengjs"].ToString();
                    OutObject.YISHENGMX.Add(ysxx);
                }
            }
            else
            {
                throw new Exception("系统建设中……");
            }
        }
Exemplo n.º 6
0
        private string getJiuZhenSJD(string yishengdm, string keshidm, string guahaoxh, string yuyuelx, int shangxiawpb, string guahaolb, string yuyuerq)
        {
            string MRJZSJD = ConfigurationManager.AppSettings["MRHaoYanJiuZhensjd"];

            if (string.IsNullOrEmpty(MRJZSJD))
            {
                MRJZSJD = "";
            }
            StringBuilder sbsql = new StringBuilder();

            sbsql.Append("select kaishisj||'-'||jieshusj as sjd from v_mz_houzhensj where keshiid = '" + keshidm + "' and " + guahaoxh + " >= qishighxh and " + guahaoxh + "<=jieshughxh " +
                         "and shangxiawbz = " + shangxiawpb + " and nvl(yishengid,'*') = '" + yishengdm + "' ");

            DataTable dt = DBVisitor.ExecuteTable(sbsql.ToString());

            if (dt.Rows.Count > 0)//返回数据空
            {
                if (string.IsNullOrEmpty(dt.Rows[0]["SJD"].ToString()))
                {
                    return(MRJZSJD);
                }
                return(dt.Rows[0]["SJD"].ToString());
            }
            return(MRJZSJD);
        }
Exemplo n.º 7
0
        //改年龄是否可挂号
        public static Boolean shiFouKeGHNianLin(string keShiDM, string zhenJianHM)
        {
            string nianLinPd = ConfigurationManager.AppSettings["NianLinPD"];

            if (string.IsNullOrEmpty(nianLinPd))
            {
                return(true);
            }
            else if (nianLinPd == "0")
            {
                return(true);
            }
            else
            {
                int age = getAGE(zhenJianHM);

                string sqlBuf = "select * from v_guahaoKeShiNianLin where keshidm = '{0}' and {1} >= nvl(qishinl,0) and {1} <= nvl(jieshunl,999)";

                DataTable dtCount = DBVisitor.ExecuteTable(string.Format(sqlBuf, keShiDM, age));

                if (dtCount.Rows.Count > 0)
                {
                    return(false);
                }
            }
            return(true);
        }
Exemplo n.º 8
0
        public override void ProcessMessage()
        {
            if (string.IsNullOrEmpty(InObject.pharmacyid) || !InObject.pharmacyid.Contains('*'))
            {
                throw new Exception("传入参数格式错误");
            }
            string chuFangHM = InObject.pharmacyid.Split('*')[1]; //处方id 多个时使用#分割
            string bingRenID = InObject.pharmacyid.Split('*')[0]; //病人id

            string pharmacyid = string.Empty;                     //药房id
            string winno      = string.Empty;                     //窗口id

            #region 入参判断
            if (string.IsNullOrEmpty(chuFangHM))
            {
                throw new Exception("处方号码不能为空");
            }
            if (string.IsNullOrEmpty(bingRenID))
            {
                throw new Exception("病人id不能为空");
            }
            #endregion

            string sqlCKXX = "select a.chufangid, a.chuangkouid chuangkouid,b.yingyongid yaofangid from mz_chufang1 a ,my_chuangkou b where a.chuangkouid = b.chuangkouid and a.chufangid in(select max(chufangid) from mz_chufang1 where chufanghm in('{0}') group by chufanghm)  and a.bingrenid = '{1}' ";

            DataTable dtCKXX = DBVisitor.ExecuteTable(string.Format(sqlCKXX, chuFangHM, bingRenID));

            if (dtCKXX.Rows.Count > 0)
            {
                pharmacyid          = dtCKXX.Rows[0]["yaofangid"].ToString();
                winno               = dtCKXX.Rows[0]["chuangkouid"].ToString();
                InObject.pharmacyid = pharmacyid;
                InObject.winno      = winno;
                InObject.orderno    = dtCKXX.Rows[0]["chufangid"].ToString();
                string sqlJiuZhenKH = "select jiuzhenkh from gy_bingrenxx where bingrenid ='{0}'";
                InObject.patientid = (string)DBVisitor.ExecuteScalar(string.Format(sqlJiuZhenKH, bingRenID));
                //InObject.patientid = bingRenID;
                OutObject = Unity.runService <DISP_PREPARE_IN, DISP_PREPARE_OUT>(InObject);
                if (OutObject.ResultCode == "0")
                {
                    if (OutObject.Result.state == "2")
                    {
                        OutObject.ResultContent = "已配药完成";
                        string sqlPYBZ = "update mz_chufang1 set peiyaobz = 1 where chufangid = '{0}'";
                        DBVisitor.ExecuteNonQuery(string.Format(sqlPYBZ, InObject.orderno));
                    }
                    else
                    {
                        //OutObject.ResultContent = "正在配药中,请稍后!";
                    }
                }
            }
            else
            {
                throw new Exception("未找到相应的处方信息");
            }
        }
Exemplo n.º 9
0
        public override void ProcessMessage()
        {
            OutObject = new JIANCHAJGCX_OUT();
            string shenQingDID = InObject.SHENQINDANID;//检查申请单ID

            #region 基础入参判断
            if (string.IsNullOrEmpty(shenQingDID))
            {
                throw new Exception("检查申请单ID不能为空!");
            }

            string    shenQingDQRSql = "select * from yj_shenqingdan where shenqindanid = '{0}'";
            DataTable dtShenQingDQR  = DBVisitor.ExecuteTable(string.Format(shenQingDQRSql, shenQingDID));
            if (dtShenQingDQR == null || dtShenQingDQR.Rows.Count <= 0)
            {
                throw new Exception("未找到该申请单的相关信息,请确认!");
            }
            #endregion

            string    shenQingBGSql = " select * from YJ_V_JIANCHABG where shenqindanid = '{0}' ";
            DataTable dtShenQingBG  = DBVisitor.ExecuteTable(string.Format(shenQingBGSql, shenQingDID));
            if (dtShenQingBG == null || dtShenQingBG.Rows.Count <= 0)
            {
                throw new Exception("检查还未出报告!");
            }
            else
            {
                for (int i = 0; i < dtShenQingBG.Rows.Count; i++)
                {
                    HIS4.Schemas.JIANCHAJGXX jcjgxx = new HIS4.Schemas.JIANCHAJGXX();
                    jcjgxx.SHENQINDANID = dtShenQingBG.Rows[i]["shenqindanid"].ToString(); //申请单id
                    jcjgxx.YIZHUID      = dtShenQingBG.Rows[i]["yizhuid"].ToString();      //医嘱id
                    jcjgxx.YIZHUXMID    = dtShenQingBG.Rows[i]["yizhuxmid"].ToString();    //医嘱项目id
                    jcjgxx.YIZHUMC      = dtShenQingBG.Rows[i]["yizhumc"].ToString();      //医嘱名称
                    jcjgxx.JIUZHENID    = dtShenQingBG.Rows[i]["jiuzhenid"].ToString();    //就诊id
                    jcjgxx.BINGRENID    = dtShenQingBG.Rows[i]["bingrenid"].ToString();    //病人id
                    jcjgxx.BINGRENZYID  = dtShenQingBG.Rows[i]["BINGRENZYID"].ToString();  //病人住院id
                    jcjgxx.JIANCHALX    = dtShenQingBG.Rows[i]["JIANCHALX"].ToString();    //检查类型
                    jcjgxx.JIANCHALXMC  = dtShenQingBG.Rows[i]["JIANCHALXMC"].ToString();  //检查类型名称
                    jcjgxx.KAIDANYS     = dtShenQingBG.Rows[i]["kaidanys"].ToString();     //开单医生
                    jcjgxx.KAIDANSJ     = dtShenQingBG.Rows[i]["kaidansj"].ToString();     //开单时间
                    jcjgxx.MOBANDM      = dtShenQingBG.Rows[i]["mobandm"].ToString();      //模板代码
                    jcjgxx.ZHUSU        = dtShenQingBG.Rows[i]["zhusu"].ToString();        //主诉
                    jcjgxx.LINCHUANGZD  = dtShenQingBG.Rows[i]["linchuangzd"].ToString();  //临床诊断
                    jcjgxx.JIANCHABW    = dtShenQingBG.Rows[i]["jianchabw"].ToString();    //检查部位
                    jcjgxx.JIANCHASJ    = dtShenQingBG.Rows[i]["jianchasj"].ToString();    //检查时间
                    jcjgxx.ZHENDUANJG   = dtShenQingBG.Rows[i]["zhenduanjg"].ToString();   //诊断结果
                    jcjgxx.BAOGAOSJ     = dtShenQingBG.Rows[i]["baogaosj"].ToString();     //报告时间
                    jcjgxx.MENZHENZYBZ  = dtShenQingBG.Rows[i]["menzhenzybz"].ToString();  //门诊住院标识
                    jcjgxx.DANGQIANZT   = dtShenQingBG.Rows[i]["dangqianzt"].ToString();   //当前状态
                    jcjgxx.DANGQIANZTMC = dtShenQingBG.Rows[i]["dangqianztmc"].ToString(); //当前状态名称
                    OutObject.JIANCHAJGMX.Add(jcjgxx);
                }
            }
        }
Exemplo n.º 10
0
        public static string GetXiangMuFY(string xiangMuDM)
        {
            string sqlXMFY = "select danjia1 from gy_shoufeixm where shoufeixmid = '{0}'";

            DataTable dtXMFY = DBVisitor.ExecuteTable(string.Format(sqlXMFY, xiangMuDM));
            string    xmfy   = string.Empty;

            if (dtXMFY.Rows.Count > 0)
            {
                xmfy = dtXMFY.Rows[0][0].ToString();
            }
            return(xmfy);
        }
Exemplo n.º 11
0
        //获取有效天数
        public static string GetYouXiaoTs()
        {
            //1手工处方2手工医技3电子处方4电子检验检查其他5处置6体检接口7代收挂号诊疗费中间用|分隔;0无穷天
            string    youxiaoTs = "0";
            string    sqlStr    = "select pkg_pt_gongyong.Fun_GY_GetCanShu('00','门诊收费_结算有效天数','3') as youxiaots from dual ";
            DataTable dtCount   = DBVisitor.ExecuteTable(sqlStr);

            if (dtCount.Rows.Count > 0 && dtCount.Rows[0][0].ToString() != string.Empty)
            {
                youxiaoTs = dtCount.Rows[0][0].ToString();
            }
            return(youxiaoTs);
        }
Exemplo n.º 12
0
        public override void ProcessMessage()
        {
            OutObject = new YUANQUXX_OUT();

            string    sqlBuf     = "SELECT yuanquid,yuanqumc FROM v_GY_YUANQU ";
            DataTable dtYuanQuXX = DBVisitor.ExecuteTable(sqlBuf);

            for (int i = 0; i < dtYuanQuXX.Rows.Count; i++)
            {
                Schemas.YUANQUXX yqxx = new Schemas.YUANQUXX();
                yqxx.YUANQUID = dtYuanQuXX.Rows[i]["yuanquid"].ToString();
                yqxx.YUANQUMC = dtYuanQuXX.Rows[i]["yuanqumc"].ToString();
                OutObject.YUANQUMX.Add(yqxx);
            }
        }
Exemplo n.º 13
0
        public override void ProcessMessage()
        {
            OutObject = new ZD_JIANCHAXMBW_OUT();
            DataTable dtJianChaBWXMXX = DBVisitor.ExecuteTable("SELECT DAIMAID AS JIANCHAXMBWDM, DAIMAMC AS JIANCHAXMBWMC,JIANCHALX AS JIANCHAXMLX  FROM GY_JIANCHABW WHERE ZUOFEIBZ = 0 ");

            for (int i = 0; i < dtJianChaBWXMXX.Rows.Count; i++)
            {
                JIANCHAXMBWXX temp = new JIANCHAXMBWXX();

                temp.JIANCHAXMBWDM = dtJianChaBWXMXX.Rows[i]["JIANCHAXMBWDM"].ToString();
                temp.JIANCHAXMBWMC = dtJianChaBWXMXX.Rows[i]["JIANCHAXMBWMC"].ToString();
                temp.JIANCHAXMLX   = dtJianChaBWXMXX.Rows[i]["JIANCHAXMLX"].ToString();

                OutObject.JIANCHAXMBWMX.Add(temp);
            }
        }
Exemplo n.º 14
0
        public override void ProcessMessage()
        {
            this.OutObject = new ZD_YIYUANXX_OUT();

            string YiYuanXXSql = "select YILIAOJGMC,YILIAOJGJS,YILIAOJGDZ from web_yiliaojgxx ";

            DataTable dtYiYuanXX = DBVisitor.ExecuteTable(YiYuanXXSql);

            if (dtYiYuanXX.Rows.Count > 0)
            {
                OutObject.YIYUANMC = dtYiYuanXX.Rows[0]["YILIAOJGMC"].ToString();
                OutObject.YIYUANJS = dtYiYuanXX.Rows[0]["YILIAOJGJS"].ToString();
                OutObject.YIYUANDZ = dtYiYuanXX.Rows[0]["YILIAOJGDZ"].ToString();
            }
            else
            {
                throw new Exception("系统建设中……");
            }
        }
Exemplo n.º 15
0
        public override void ProcessMessage()
        {
            OutObject = new ZD_JIANCHAXMXX_OUT();
            DataTable dtJianChaXMXX = DBVisitor.ExecuteTable("SELECT A.JIANCHAXMID AS JIANCHAXMDM,A.JIANCHAXMMC AS JIANCHAXMMC,A.JIANCHALX AS JIANCHAXMLX,D.DAIMAMC AS JIANCHAXMLXMC,C.JIANCHABWID AS JIANCHABWDM,B.DAIMAMC AS JIANCHABWMC,'' AS JIANCHAXMFX,A.JIANCHASM AS JIANCHAXMBZ FROM GY_JIANCHAXM A, GY_JIANCHABW B, GY_JIANCHAXMBWDY C, GY_JIANCHALX D WHERE A.JIANCHAXMID = C.JIANCHAXMID AND A.JIANCHALX = D.DAIMAID AND B.DAIMAID = C.JIANCHABWID AND A.JIANCHALX = D.DAIMAID AND A.ZUOFEIBZ = 0 AND A.MOJIBZ = 1 AND B.ZUOFEIBZ = 0 AND D.ZUOFEIBZ = 0 and substr(a.yuanqusy,1,1) ='1' ");

            for (int i = 0; i < dtJianChaXMXX.Rows.Count; i++)
            {
                JIANCHAXMXX temp = new JIANCHAXMXX();
                temp.JIANCHAXMDM   = dtJianChaXMXX.Rows[i]["JIANCHAXMDM"].ToString();
                temp.JIANCHABWDM   = dtJianChaXMXX.Rows[i]["JIANCHABWDM"].ToString();
                temp.JIANCHABWMC   = dtJianChaXMXX.Rows[i]["JIANCHABWMC"].ToString();
                temp.JIANCHAXMBZ   = dtJianChaXMXX.Rows[i]["JIANCHAXMBZ"].ToString();
                temp.JIANCHAXMFX   = dtJianChaXMXX.Rows[i]["JIANCHAXMFX"].ToString();
                temp.JIANCHAXMLX   = dtJianChaXMXX.Rows[i]["JIANCHAXMLX"].ToString();
                temp.JIANCHAXMLXMC = dtJianChaXMXX.Rows[i]["JIANCHAXMLXMC"].ToString();
                temp.JIANCHAXMMC   = dtJianChaXMXX.Rows[i]["JIANCHAXMMC"].ToString();
                OutObject.JIANCHAXMMX.Add(temp);
            }
        }
Exemplo n.º 16
0
        public override void ProcessMessage()
        {
            string chuFangHM = InObject.pharmacyid.Split('*')[1]; //处方id 多个时使用|分割
            string bingRenID = InObject.pharmacyid.Split('*')[0]; //病人id

            #region 基本入参判断
            if (string.IsNullOrEmpty(chuFangHM))
            {
                throw new Exception("处方号码不能为空");
            }
            if (string.IsNullOrEmpty(bingRenID))
            {
                throw new Exception("病人ID不能为空");
            }
            #endregion

            string    sqlCFXX = "select a.chufangid, b.yingyongid yaofangid,a.zhidanren fayaoyaoshi,a.chuangkouid fayaochuangkou from mz_chufang1 a ,my_chuangkou b where a.chuangkouid = b.chuangkouid and a.chufangid in(select max(chufangid) from mz_chufang1 where chufanghm in('{0}') group by chufanghm)  and  bingrenid = '{1}' ";
            DataTable dtCFXX  = DBVisitor.ExecuteTable(string.Format(sqlCFXX, chuFangHM, bingRenID));

            if (dtCFXX.Rows.Count > 0)
            {
                InObject.pharmacyid = dtCFXX.Rows[0]["yaofangid"].ToString();
                InObject.winno      = dtCFXX.Rows[0]["fayaochuangkou"].ToString();
                InObject.dispoper   = dtCFXX.Rows[0]["fayaoyaoshi"].ToString();
                patientid pattemp      = new patientid();
                string    sqlJiuZhenKH = "select jiuzhenkh from gy_bingrenxx where bingrenid ='{0}'";
                pattemp.pid = (string)DBVisitor.ExecuteScalar(string.Format(sqlJiuZhenKH, bingRenID));
                //pattemp.pid = bingRenID;
                pattemp.orderno = dtCFXX.Rows[0]["chufangid"].ToString();
                InObject.patientidlist.Add(pattemp);

                OutObject = Unity.runService <DISP_FINISH_IN, DISP_FINISH_OUT>(InObject);
            }
            else
            {
                throw new Exception("未找到相关的处方信息!");
            }
        }
Exemplo n.º 17
0
        public override void ProcessMessage()
        {
            this.OutObject = new ZD_KESHIXX_OUT();

            string KeShiXXSql = "select keshiid,keshimc,keshims from web_keshixx ";

            DataTable dtKeShiXX = DBVisitor.ExecuteTable(KeShiXXSql);

            if (dtKeShiXX.Rows.Count > 0)
            {
                for (int i = 0; i < dtKeShiXX.Rows.Count; i++)
                {
                    HIS4.Schemas.ZD.KESHIXX ksxx = new HIS4.Schemas.ZD.KESHIXX();
                    ksxx.KESHIID = dtKeShiXX.Rows[i]["KESHIID"].ToString();
                    ksxx.KESHIMC = dtKeShiXX.Rows[i]["keshimc"].ToString();
                    ksxx.KESHIMS = dtKeShiXX.Rows[i]["keshims"].ToString();
                    OutObject.KESHIMX.Add(ksxx);
                }
            }
            else
            {
                throw new Exception("系统建设中……");
            }
        }
Exemplo n.º 18
0
        public MENZHENFYXX getXiangMuXX(string xiangMuXH)
        {
            MENZHENFYXX mzfyxx    = null;
            string      mzfyxxSql = "select a.shoufeixmid, a.shoufeixmmc, a.hesuanxm,a.jijiadw,a.danjia1,a.yibaodj,b.hesuanxmmc from gy_shoufeixm a,gy_hesuanxm b where a.hesuanxm = b.hesuanxmid and a.zuofeibz ='0' and shoufeixmid = '{0}' ";

            if (!string.IsNullOrEmpty(xiangMuXH) && xiangMuXH != "*")
            {
                DataTable dtFYXX = DBVisitor.ExecuteTable(string.Format(mzfyxxSql, xiangMuXH));
                if (dtFYXX.Rows.Count > 0)
                {
                    mzfyxx             = new MENZHENFYXX();
                    mzfyxx.XIANGMUXH   = dtFYXX.Rows[0]["shoufeixmid"].ToString(); //项目序号
                    mzfyxx.XIANGMUMC   = dtFYXX.Rows[0]["shoufeixmmc"].ToString(); //项目名称
                    mzfyxx.XIANGMUGL   = dtFYXX.Rows[0]["hesuanxm"].ToString();    //项目归类
                    mzfyxx.XIANGMUGLMC = dtFYXX.Rows[0]["hesuanxmmc"].ToString();  //项目归类名称
                    mzfyxx.XIANGMUDW   = dtFYXX.Rows[0]["jijiadw"].ToString();     //项目单位
                    mzfyxx.DANJIA      = dtFYXX.Rows[0]["danjia1"].ToString();     //单价
                    mzfyxx.SHULIANG    = "1";                                      //数量
                    mzfyxx.FEIYONGLX   = "0";
                    mzfyxx.YIBAODJ     = dtFYXX.Rows[0]["yibaodj"].ToString();     //医保等级
                }
            }
            return(mzfyxx);
        }
Exemplo n.º 19
0
        /// <summary>
        /// 注册获取交易安全校验码
        /// </summary>
        /// <param name="MAC"></param>
        /// <param name="key"></param>
        public int Signature(string MAC, ref string key, ref string Erro)
        {
            DataTable dt = DBVisitor.ExecuteTable($"select * from GY_REGISTERED where mac='{MAC}'");
            int       i  = 0;

            key = GetRandomString(12);
            if (dt.Rows.Count > 0)
            {
                i = DBVisitor.ExecuteNonQuery($"update GY_REGISTERED set KEY='{key}' where MAC='{MAC}'");
            }
            else
            {
                i = DBVisitor.ExecuteNonQuery($"insert into GY_REGISTERED(MAC,KEY) values('{MAC}','{key}')");
            }
            if (i > 0)
            {
                return(0);
            }
            else
            {
                Erro = "注册失败!";
                return(-1);
            }
        }
Exemplo n.º 20
0
        public override void ProcessMessage()
        {
            this.OutObject = new JIANCHAJGXX_OUT();

            string kaishiRq  = InObject.KAISHIRQ;  //开始日期
            string jieshuRq  = InObject.JIESHURQ;  //结束日期
            string jiuzhenLy = InObject.JIUZHENLY; //就诊来源
            string bingrenId = InObject.BINGRENID; //病人id
            string xingMing  = InObject.XINGMING;  //姓名
            string jianChaDH = InObject.JIANCHADH; //检查单号

            #region 基本入参判断
            if (string.IsNullOrEmpty(bingrenId))
            {
                throw new Exception("未接收到病人唯一号!");
            }
            #endregion
            #region 语句拼装
            StringBuilder sbSql    = new StringBuilder();
            StringBuilder sbSql_MZ = new StringBuilder();
            StringBuilder sbSql_ZY = new StringBuilder();
            sbSql_MZ.Append("select b.jiuzhenkh JIUZHENKH, ");
            sbSql_MZ.Append("a.jiuzhenid   YILIAOXH, ");
            sbSql_MZ.Append("a.jianchabwmc YILIAOMC, ");
            sbSql_MZ.Append("e.zhigonggh   SONGJIANYSGH, ");
            sbSql_MZ.Append("e.zhigongxm   SONGJIANYSXM, ");
            sbSql_MZ.Append("d.yuyuesqrq   SONGJIANSJ, ");
            sbSql_MZ.Append("NVL(D.JIANCHARQ,NVL(D.YUYUEQRRQ,D.KAIDANRQ)) JIANCHARQ, ");
            sbSql_MZ.Append("d.jiancharen  BIANGENGYSGH, ");
            sbSql_MZ.Append("f.zhigongxm   BIANGENGYSXM, ");
            sbSql_MZ.Append("a.baogaosj    BIANGENGRQ, ");
            sbSql_MZ.Append("d.yuyuesqr    SHENHEYSGH, ");
            sbSql_MZ.Append("h.zhigongxm   SHENHEYSXM, ");
            sbSql_MZ.Append("decode(d.dangqianzt,1,'新开单',9,'已撤销',8,'已打印',7,'已报告',6,'已完成',5,'已安排',4,'已预约',3,'待登记',2,'待划价',11,'已发送''未接收',10,'已退单')  JIANCHAZT, ");
            sbSql_MZ.Append("a.jianchasj   JIANCHAMS, ");
            sbSql_MZ.Append("a.zhenduanjg  JIANCHAJG, ");
            sbSql_MZ.Append("d.yuyueqrrq     SHENHERQ, ");
            sbSql_MZ.Append("a.SHENQINGDID JIANCHAH, ");
            sbSql_MZ.Append("b.binganhao   BINGANH, ");
            sbSql_MZ.Append("''            BINGQUMC, ");
            sbSql_MZ.Append("''            BINGQUCH, ");
            sbSql_MZ.Append("b.xingbie     BINGRENXB, ");
            sbSql_MZ.Append("c.nianling||c.nianlingdw BINGRENNL, ");
            sbSql_MZ.Append("g.keshimc       SONGJIANKSMC, ");
            sbSql_MZ.Append("d.yuyuesqrq     YUYUERQ, ");
            sbSql_MZ.Append("a.jianchabwid   JIANCHABWDM ");
            sbSql_MZ.Append("From yj_jianchabg a, gy_bingrenxx b ,zj_jiuzhenxx c,yj_shenqingdan d , ");
            sbSql_MZ.Append("gy_zhigongxx e , gy_zhigongxx f,gy_keshi g,gy_zhigongxx h, gy_yuanqu i ");
            sbSql_MZ.Append("where a.bingrenid = b.bingrenid  ");
            sbSql_MZ.Append("and a.jiuzhenid = c.jiuzhenid  ");
            sbSql_MZ.Append("and a.shenqingdid = d.shenqindanid ");
            sbSql_MZ.Append("and d.kaidanren = e.zhigongid(+) ");
            sbSql_MZ.Append("and d.jiancharen = f.zhigongid(+) ");
            sbSql_MZ.Append("and d.yuyuesqr = h.zhigongid(+) ");
            sbSql_MZ.Append("and g.keshiid=d.kaidanks ");
            sbSql_MZ.Append("and i.yuanquid = g.yuanquid ");
            if (!string.IsNullOrEmpty(kaishiRq))
            {
                sbSql_MZ.Append(" and a.baogaosj >= to_date('" + kaishiRq + "','yyyy-mm-dd') ");
            }
            if (!string.IsNullOrEmpty(jieshuRq))
            {
                sbSql_MZ.Append(" and a.baogaosj <= to_date('" + Convert.ToDateTime(jieshuRq).ToString("yyyy-MM-dd") + " 23:59:59" + "','yyyy-mm-dd hh24:mi:ss') ");
            }
            if (!string.IsNullOrEmpty(bingrenId))
            {
                sbSql_MZ.Append(" and b.bingrenid ='" + bingrenId + "' ");
            }
            if (!string.IsNullOrEmpty(xingMing))
            {
                sbSql_MZ.Append(" and b.xingming ='" + xingMing + "' ");
            }
            if (!string.IsNullOrEmpty(jianChaDH))
            {
                sbSql_MZ.Append(" and a.shenqingdid ='" + jianChaDH + "' ");
            }

            sbSql_ZY.Append("select b.jiuzhenkh JIUZHENKH, ");
            sbSql_ZY.Append("a.jiuzhenid   YILIAOXH, ");
            sbSql_ZY.Append("a.jianchabwmc YILIAOMC, ");
            sbSql_ZY.Append("e.zhigonggh   SONGJIANYSGH, ");
            sbSql_ZY.Append("e.zhigongxm   SONGJIANYSXM, ");
            sbSql_ZY.Append("d.yuyuesqrq   SONGJIANSJ, ");
            sbSql_ZY.Append("NVL(D.JIANCHARQ,NVL(D.YUYUEQRRQ,D.KAIDANRQ)) JIANCHARQ, ");
            sbSql_ZY.Append("d.jiancharen  BIANGENGYSGH, ");
            sbSql_ZY.Append("f.zhigongxm   BIANGENGYSXM, ");
            sbSql_ZY.Append("a.baogaosj    BIANGENGRQ, ");
            sbSql_ZY.Append("d.yuyuesqr    SHENHEYSGH, ");
            sbSql_ZY.Append("h.zhigongxm   SHENHEYSXM, ");
            sbSql_ZY.Append("decode(d.dangqianzt,1,'新开单',9,'已撤销',8,'已打印',7,'已报告',6,'已完成',5,'已安排',4,'已预约',3,'待登记',2,'待划价',11,'已发送''未接收',10,'已退单')  JIANCHAZT, ");
            sbSql_ZY.Append("a.jianchasj   JIANCHAMS, ");
            sbSql_ZY.Append("a.zhenduanjg  JIANCHAJG, ");
            sbSql_ZY.Append("d.yuyueqrrq     SHENHERQ, ");
            sbSql_ZY.Append("a.SHENQINGDID JIANCHAH, ");
            sbSql_ZY.Append("b.binganhao   BINGANH, ");
            sbSql_ZY.Append("c.dangqianbqmc BINGQUMC, ");
            sbSql_ZY.Append("c.dangqiancw   BINGQUCH, ");
            sbSql_ZY.Append("b.xingbie     BINGRENXB, ");
            sbSql_ZY.Append("c.nianling||c.nianlingdw BINGRENNL, ");
            sbSql_ZY.Append("g.keshimc       SONGJIANKSMC, ");
            sbSql_ZY.Append("d.yuyuesqrq     YUYUERQ, ");
            sbSql_ZY.Append("a.jianchabwid   JIANCHABWDM ");
            sbSql_ZY.Append("From yj_jianchabg a, gy_bingrenxx b ,zy_bingrenxx c,yj_shenqingdan d , ");
            sbSql_ZY.Append("gy_zhigongxx e , gy_zhigongxx f,gy_keshi g,gy_zhigongxx h, gy_yuanqu i ");
            sbSql_ZY.Append("where a.bingrenid = b.bingrenid  ");
            sbSql_ZY.Append("and a.bingrenzyid = c.bingrenzyid  ");
            sbSql_ZY.Append("and a.shenqingdid = d.shenqindanid ");
            sbSql_ZY.Append("and d.kaidanren = e.zhigongid(+) ");
            sbSql_ZY.Append("and d.jiancharen = f.zhigongid(+) ");
            sbSql_ZY.Append("and d.yuyuesqr = h.zhigongid(+) ");
            sbSql_ZY.Append("and g.keshiid=d.kaidanks ");
            sbSql_ZY.Append("and i.yuanquid = g.yuanquid ");
            if (!string.IsNullOrEmpty(kaishiRq))
            {
                sbSql_ZY.Append(" and a.baogaosj >= to_date('" + kaishiRq + "','yyyy-mm-dd') ");
            }
            if (!string.IsNullOrEmpty(jieshuRq))
            {
                sbSql_ZY.Append(" and a.baogaosj <= to_date('" + Convert.ToDateTime(jieshuRq).ToString("yyyy-MM-dd") + " 23:59:59" + "','yyyy-mm-dd hh24:mi:ss') ");
            }
            if (!string.IsNullOrEmpty(bingrenId))
            {
                sbSql_ZY.Append(" and c.bingrenzyid ='" + bingrenId + "' ");
            }
            if (!string.IsNullOrEmpty(xingMing))
            {
                sbSql_ZY.Append(" and b.xingming ='" + xingMing + "' ");
            }
            if (!string.IsNullOrEmpty(jianChaDH))
            {
                sbSql_ZY.Append(" and a.shenqingdid ='" + jianChaDH + "' ");
            }

            if (!string.IsNullOrEmpty(jiuzhenLy))
            {
                if (jiuzhenLy == "1") //门诊
                {
                    sbSql = sbSql_MZ;
                }
                else if (jiuzhenLy == "2")//住院
                {
                    sbSql = sbSql_ZY;
                }
            }
            else //所有
            {
                sbSql = sbSql_MZ;
                sbSql.Append("Union all ");
                sbSql.Append(sbSql_ZY);
            }
            #endregion
            DataTable dtJianChaXX = DBVisitor.ExecuteTable(sbSql.ToString());

            if (dtJianChaXX != null && dtJianChaXX.Rows.Count > 0)
            {
                for (int i = 0; i < dtJianChaXX.Rows.Count; i++)
                {
                    JIANCHAXXX jcxx = new JIANCHAXXX();
                    jcxx.JIUZHENKH    = dtJianChaXX.Rows[i]["JIUZHENKH"].ToString();                 //就诊卡号
                    jcxx.YILIAOXH     = dtJianChaXX.Rows[i]["YILIAOXH"].ToString();                  //医疗序号
                    jcxx.YILIAOMC     = dtJianChaXX.Rows[i]["YILIAOMC"].ToString();                  //医疗名称
                    jcxx.SONGJIANYSGH = dtJianChaXX.Rows[i]["SONGJIANYSGH"].ToString();              //送检医生工号
                    jcxx.SONGJIANYSXM = dtJianChaXX.Rows[i]["SONGJIANYSXM"].ToString();              //送检医生姓名
                    jcxx.SONGJIANSJ   = dtJianChaXX.Rows[i]["SONGJIANSJ"].ToString();                //送检时间
                    jcxx.JIANCHARQ    = dtJianChaXX.Rows[i]["JIANCHARQ"].ToString();                 //检查日期
                    jcxx.BIANGENGYSGH = dtJianChaXX.Rows[i]["BIANGENGYSGH"].ToString();              //变更医生工号
                    jcxx.BIANGENGYSXM = dtJianChaXX.Rows[i]["BIANGENGYSXM"].ToString();              //变更医生姓名
                    jcxx.BIANGENGRQ   = dtJianChaXX.Rows[i]["BIANGENGRQ"].ToString();                //变更日期
                    jcxx.SHENHEYSGH   = dtJianChaXX.Rows[i]["SHENHEYSGH"].ToString();                //审核医生工号
                    jcxx.SHENHEYSXM   = dtJianChaXX.Rows[i]["SHENHEYSXM"].ToString();                //审核医生姓名
                    jcxx.JIANCHAZT    = dtJianChaXX.Rows[i]["JIANCHAZT"].ToString();                 //检查状态
                    jcxx.JIANCHAMS    = dtJianChaXX.Rows[i]["JIANCHAMS"].ToString();                 //检查描述
                    jcxx.JIANCHAJG    = dtJianChaXX.Rows[i]["JIANCHAJG"].ToString();                 //检查结果
                    jcxx.SHENHERQ     = dtJianChaXX.Rows[i]["SHENHERQ"].ToString();                  //审核日期
                    //jcxx.STUDYUID = dtJianChaXX.Rows[i]["STUDYUID"].ToString();                      //STUDYUID
                    jcxx.JIANCHAH     = dtJianChaXX.Rows[i]["JIANCHAH"].ToString();                  //检查号码
                    jcxx.BINGANH      = dtJianChaXX.Rows[i]["BINGANH"].ToString();                   //病案号
                    jcxx.BINGQUMC     = dtJianChaXX.Rows[i]["BINGQUMC"].ToString();                  //病区名称
                    jcxx.BINGQUCH     = dtJianChaXX.Rows[i]["BINGQUCH"].ToString();                  //病区床号
                    jcxx.BINGRENXB    = dtJianChaXX.Rows[i]["BINGRENXB"].ToString();                 //病人性别
                    jcxx.BINGRENNL    = dtJianChaXX.Rows[i]["BINGRENNL"].ToString();                 //病人年龄
                    jcxx.SONGJIANKSMC = dtJianChaXX.Rows[i]["SONGJIANKSMC"].ToString();              //送检科室名称
                    jcxx.YUYUERQ      = dtJianChaXX.Rows[i]["YUYUERQ"].ToString();                   //预约日期
                    jcxx.JIANCHABWDM  = dtJianChaXX.Rows[i]["JIANCHABWDM"].ToString();               //检查部位代码
                    OutObject.JIANCHAXMX.Add(jcxx);
                }
            }
            else
            {
                throw new Exception("报告制作中,请耐心等待!");
            }
        }
Exemplo n.º 21
0
        public override void ProcessMessage()
        {
            OutObject = new JIANYANJGCX_OUT();
            string tiaoMaH = InObject.JIANYANTM;                                      //检验条码

            string JianYanJGHQMS = ConfigurationManager.AppSettings["JianYanJGHQMS"]; //检验结果获取模式

            #region 基本入参判断
            if (string.IsNullOrEmpty(JianYanJGHQMS))
            {
                JianYanJGHQMS = "0";
            }

            if (string.IsNullOrEmpty(tiaoMaH))
            {
                throw new Exception("检验条码号获取失败!");
            }
            #endregion

            #region 检验是否存在
            if (JianYanJGHQMS == "1") //嘉善县第一人民医院使用
            {
                //条码信息转换
                string sqlTiaoMaXXZH = "select doctadviseno  from l_patientinfo where listmh = '{0}' or doctadviseno = '{0}'";
                string tiaoMaXX      = DBVisitor.ExecuteScalar(string.Format(sqlTiaoMaXXZH, tiaoMaH)).ToString();
                if (string.IsNullOrEmpty(tiaoMaXX))
                {
                    throw new Exception("该检验还未出报告,请耐心等待");
                }
                else
                {
                    tiaoMaH = tiaoMaXX;
                }
            }

            string sqlJCSQD = "select kaidanks,kaidanys,kaidanysxm,kaidanksmc,jianyanxmid,jianyanxmmc,yangbenlx,yangbenlxmc,caijiren,caijirxm,to_char(caijirq,'yyyy-mm-dd hh24:mi:dd') caijisj,jieshouren,jieshourxm,to_char(jieshourq,'yyyy-mm-dd hh24:mi:dd') jieshousj,shenhebz,SHENHEREN,SHENHERXM,to_char(SHENHERQ,'yyyy-mm-dd hh24:mi:ss') as SHENHERQ  from yj_jianyansqd a where a.tiaoma='{0}' ";


            DataTable dtJCSQD = DBVisitor.ExecuteTable(string.Format(sqlJCSQD, tiaoMaH));

            if (dtJCSQD.Rows.Count <= 0)
            {
                throw new Exception("未找到该检验申请单");
            }

            OutObject.KAIDANKSDM  = dtJCSQD.Rows[0]["kaidanks"].ToString();    //开单科室代码
            OutObject.KAIDANYSDM  = dtJCSQD.Rows[0]["kaidanys"].ToString();    //开单医生代码
            OutObject.KAIDANYSXM  = dtJCSQD.Rows[0]["kaidanysxm"].ToString();  //开单医生姓名
            OutObject.KAIDANKSMC  = dtJCSQD.Rows[0]["kaidanksmc"].ToString();  //开单科室名称
            OutObject.JIANYANXMDM = dtJCSQD.Rows[0]["jianyanxmid"].ToString(); //检验项目代码
            OutObject.JIANYANXMMC = dtJCSQD.Rows[0]["jianyanxmmc"].ToString(); //检验项目名称
            OutObject.YANGBENLX   = dtJCSQD.Rows[0]["yangbenlx"].ToString();   //样本类型
            OutObject.YANGBENLXMC = dtJCSQD.Rows[0]["yangbenlxmc"].ToString(); //样本类型名称
            OutObject.CAIJISJ     = dtJCSQD.Rows[0]["caijisj"].ToString();     //采集时间
            OutObject.JIESHOUSJ   = dtJCSQD.Rows[0]["jieshousj"].ToString();   //接收时间
            string shenHeBz = dtJCSQD.Rows[0]["shenhebz"].ToString();          //审核标识
            OutObject.SHENHEBZ  = dtJCSQD.Rows[0]["SHENHEBZ"].ToString();      //审核标识
            OutObject.SHENHEREN = dtJCSQD.Rows[0]["SHENHEREN"].ToString();     //审核人
            OutObject.SHENHERXM = dtJCSQD.Rows[0]["SHENHERXM"].ToString();     //审核人姓名
            OutObject.SHENHERQ  = dtJCSQD.Rows[0]["SHENHERQ"].ToString();      //审核日期
            #endregion

            #region 检验是否已出报告
            string sqlJCBG = "";


            sqlJCBG = "select sampleno,sampletype ,to_char(checktime,'yyyy-mm-dd hh24:mi:ss') baogaosj  from l_patientinfo where doctadviseno = '{0}'";


            DataTable dtJCBG = DBVisitor.ExecuteTable(string.Format(sqlJCBG, tiaoMaH));

            if (dtJCBG.Rows.Count <= 0)  //|| shenHeBz == "0"
            {
                throw new Exception("该检验还未出报告,请耐心等待");
            }

            if (shenHeBz == "0" && ConfigurationManager.AppSettings["SHENHEHCBG"] == "1")
            {
                throw new Exception("该检验还未出报告,请耐心等待");
            }

            string sampleNo = dtJCBG.Rows[0]["sampleno"].ToString();    //样本号
            OutObject.BAOGAOSJ = dtJCBG.Rows[0]["baogaosj"].ToString(); //报告时间

            //string sampleTypeCode = dtJCBG.Rows[0]["sampletype"].ToString();//样本类型代码
            //string sampleType = "";//样本类型
            //string sqlYBLX = "select YANGBENMC from gy_yangbenlx where shuruma1 = '{0}' ";

            //if (string.IsNullOrEmpty(sampleTypeCode))
            //{
            //    DataTable dtYBLX = DBVisitor.ExecuteTable(string.Format(sqlYBLX, sampleTypeCode.ToUpper()));
            //    if (dtYBLX.Rows.Count > 0)
            //    {
            //        sampleType = dtYBLX.Rows[0]["YANGBENMC"].ToString();
            //    }
            //}
            #endregion

            #region 获取检验结果
            string sqlJYJGMX = "select b.chinesename,a.testid,a.testresult,a.resultflag,a.unit,a.reflo,a.refhi,A.HINT from l_testresult a,l_testdescribe b where a.testid = b.testid  and a.sampleno = '{0}' ";

            DataTable dtJYJGMX = DBVisitor.ExecuteTable(string.Format(sqlJYJGMX, sampleNo));
            for (int i = 0; i < dtJYJGMX.Rows.Count; i++)
            {
                JIANYANJGXX jyjgxx = new JIANYANJGXX();

                jyjgxx.JIEGUOXMDM = dtJYJGMX.Rows[i]["testid"].ToString().Replace("<", "<").Replace(">", ">");      //结果项目代码
                jyjgxx.JIEGUOXMMC = dtJYJGMX.Rows[i]["chinesename"].ToString().Replace("<", "<").Replace(">", ">"); //结果项目名称
                jyjgxx.JIEGUOZHI  = dtJYJGMX.Rows[i]["testresult"].ToString().Replace("<", "<").Replace(">", ">");  //结果值
                jyjgxx.MIAOSHUDW  = dtJYJGMX.Rows[i]["unit"].ToString().Replace("<", "<").Replace(">", ">");        //单位
                jyjgxx.CANKAOZSX  = dtJYJGMX.Rows[i]["refhi"].ToString().Replace("<", "<").Replace(">", ">");       //上限
                jyjgxx.CANKAOZXX  = dtJYJGMX.Rows[i]["reflo"].ToString().Replace("<", "<").Replace(">", ">");       //下限

                if (string.IsNullOrEmpty(jyjgxx.CANKAOZSX))                                                         //嘉善人民医院检验结果上下限存放在下限字段中,添加特别处理
                {
                    if (!string.IsNullOrEmpty(jyjgxx.CANKAOZXX))
                    {
                        if (jyjgxx.CANKAOZXX.Contains("-"))
                        {
                            jyjgxx.CANKAOZSX = jyjgxx.CANKAOZXX.Split('-')[1].ToString();
                            jyjgxx.CANKAOZXX = jyjgxx.CANKAOZXX.Split('-')[0].ToString();
                        }
                    }
                }

                string resultFlag = dtJYJGMX.Rows[i]["resultflag"].ToString();//细菌检验结果标识
                if (!string.IsNullOrEmpty(resultFlag))
                {
                    if (resultFlag.ToUpper() == "AAAAAA" || resultFlag.ToUpper() == "ABAAAA" || resultFlag.ToUpper() == "ACAAAA")
                    {
                        jyjgxx.JIEGUO = jyjgxx.JIEGUOZHI;
                    }
                    else if (resultFlag.ToUpper() == "AAA" || resultFlag.ToUpper() == "ABA" || resultFlag.ToUpper() == "ACA" || resultFlag.ToUpper() == "ADA")
                    {
                        jyjgxx.JIEGUO = "正常";
                    }
                    else if (resultFlag.ToUpper() == "BAA" || resultFlag.ToUpper() == "BBA" || resultFlag.ToUpper() == "BCA" || resultFlag.ToUpper() == "BDA")
                    {
                        jyjgxx.JIEGUO = "偏高";
                    }
                    else if (resultFlag.ToUpper() == "CAA" || resultFlag.ToUpper() == "CBA" || resultFlag.ToUpper() == "CCA" || resultFlag.ToUpper() == "CDA")
                    {
                        jyjgxx.JIEGUO = "偏低";
                    }
                    else
                    {
                        #region 细菌培养
                        if (!string.IsNullOrEmpty(resultFlag) && resultFlag == "AA")
                        {
                        }
                        else if (!string.IsNullOrEmpty(resultFlag) && resultFlag[0] == 'A')
                        {
                            continue;
                        }
                        if (string.IsNullOrEmpty(jyjgxx.JIEGUOZHI))
                        {
                            if (resultFlag[0] == 'N')
                            {
                                jyjgxx.JIEGUOZHI = jyjgxx.JIEGUOXMMC + ";";
                            }

                            if (resultFlag[0] == 'B')
                            {
                                string    sqlJYJGXJMX = "select b.chinesename,a.testid,a.testresult,a.resultflag,a.unit,a.reflo,a.refhi,A.HINT from l_testresult a,l_testdescribe b where a.testid = b.testid  and a.sampleno = '{0}' and  resultFlag = 'B" + resultFlag[1].ToString() + "'";
                                DataTable dtJYJGXJMX  = DBVisitor.ExecuteTable(string.Format(sqlJYJGXJMX, sampleNo));

                                for (int j = 0; j < dtJYJGXJMX.Rows.Count; j++)
                                {
                                    jyjgxx.JIEGUOZHI = dtJYJGXJMX.Rows[j]["chinesename"].ToString() + ":" + dtJYJGXJMX.Rows[j]["HINT"].ToString();
                                    if (dtJYJGXJMX.Rows[j]["HINT"].ToString() == "阳性")
                                    {
                                        string    sqlJYJGYWMX = "select b.chinesename,a.testid,a.testresult,a.resultflag,a.unit,a.reflo,a.refhi,A.HINT from l_testresult a,l_testdescribe b where a.testid = b.testid  and a.sampleno = '{0}' and  resultFlag = 'A" + resultFlag[1].ToString() + "'";
                                        DataTable dtJYJGYWMX  = DBVisitor.ExecuteTable(string.Format(sqlJYJGYWMX, sampleNo));

                                        for (int z = 0; z < dtJYJGYWMX.Rows.Count; z++)
                                        {
                                            JIANYANJGXX jyjgxxym = new JIANYANJGXX();
                                            jyjgxxym.JIEGUOXMDM = dtJYJGYWMX.Rows[z]["testid"].ToString(); //药敏测试代码
                                            jyjgxxym.JIEGUOXMMC = jyjgxx.JIEGUOXMMC + "[药敏]" + dtJYJGYWMX.Rows[z]["chinesename"].ToString();
                                            string naiYaoXDM = dtJYJGYWMX.Rows[z]["HINT"].ToString();      //耐药性代码
                                            switch (naiYaoXDM)
                                            {
                                            case "R":
                                                jyjgxxym.JIEGUOZHI += "R|耐药";
                                                break;

                                            case "S":
                                                jyjgxxym.JIEGUOZHI += "S|敏感";
                                                break;

                                            case "I":
                                                jyjgxxym.JIEGUOZHI += "I|中介";
                                                break;
                                            }
                                            OutObject.JIANYANJGMX.Add(jyjgxxym);
                                        }
                                    }
                                }
                            }
                        }
                        #endregion
                    }
                }
                OutObject.JIANYANJGMX.Add(jyjgxx);
            }
            #endregion

            if (OutObject.JIANYANJGMX.Count <= 0)
            {
                throw new Exception("该检验还未出报告,请耐心等待");
            }
        }
Exemplo n.º 22
0
        public override void ProcessMessage()
        {
            try{
                string list_JianChaDXH = InObject.YIZHUID;//医嘱ID
                if (string.IsNullOrEmpty(list_JianChaDXH))
                {
                    throw new Exception("医技申请单号为空或传入节点有误");
                }

                string[] JianChaDanID = list_JianChaDXH.Split('|');

                for (int i = 0; i < JianChaDanID.Length; i++)
                {
                    var resource = new HISYY_Register();
                    resource.HospitalCode = ConfigurationManager.AppSettings["HospitalCode_Fck"].ToString();
                    resource.HospitalName = ConfigurationManager.AppSettings["HospitalName_Fck"].ToString();
                    string jcsqdSql = @"SELECT A.BINGRENXM,
                                   A.BINGRENSFZH,
                                   A.Shenqingdid,
                                   E.BINGRENID,
                                   A.BINGRENXB,
                                   A.CHUSHENGRQ AS CHUSHENRQ,
                                   A.BINGRENNL AS NIANLING,
                                   A.BINGRENLXDH AS LIANXIDH,
                                   A.BINGRENLXDZ AS DIZHI,
                                   E.JIUZHENKH,
                                   A.YIJISBDM AS SHEBEIDM,
                                   A.YIJISBMC AS SHEBEIMC,
                                   B.JIANCHASTBW,
                                   B.JIANCHAXMMC,
                                   F.FEIYONGHJ,
                                   H.FAPIAOHM,
                                   G.ZHIXINGKS,
                                   G.ZHIXINGKSMC,
                                   A.JIESHOURQ,
                                   A.YIJIYYRQ,
                                   A.YIJISQDH,
                                   A.YIJIYYH,
                                   A.SONGJIANKSDM,
                                   A.SONGJIANYSGH,
                                   A.YIJIXXAPSJ
                                    FROM SXZZ_JIANCHASQD A,SXZZ_JIANCHASQDMX B,GY_BINGRENXX E,  
                                         YJ_SHENQINGDAN F,MZ_YIJI1 G,MZ_FAPIAO1 H,MZ_YIJI2 I
                                WHERE A.JIANCHASQDID = B.JIANCHASQDID 
                                    AND A.BINGRENSFZH = E.SHENFENZH 
                                    AND A.Shenqingdid = F.SHENQINDANID 
                                    AND G.FAPIAOID = H.FAPIAOID
                                    AND G.YIJIID = I.YIJIID
                                    AND I.YIZHUID = F.YIZHUID
                                    AND I.YIZHUID = {0}
                                    AND ROWNUM = 1";
                    //,SXZZ_JIANCHASQDZD D  AND A.JIANCHASQDID = D.JIANCHASQDID
                    jcsqdSql = string.Format(jcsqdSql, JianChaDanID[i]);

                    DataTable jcsqdDt = DBVisitor.ExecuteTable(jcsqdSql);
                    if (jcsqdDt.Rows.Count == 0)
                    {
                        throw new Exception("HIS中检索不到相关记录:" + list_JianChaDXH);
                    }
                    foreach (DataRow dr in jcsqdDt.Rows)
                    {
                        resource.AdmissionSource   = "50";                         //病人类型
                        resource.PatientName       = dr["BINGRENXM"].ToString();
                        resource.IdNumber          = dr["BINGRENSFZH"].ToString(); //身份证号
                        resource.RequestNo         = dr["Shenqingdid"].ToString(); //申请单号
                        resource.AdmissionID       = dr["BINGRENID"].ToString();   //门诊/住院 号
                        resource.ExaminePartTime   = dr["YIJIXXAPSJ"].ToString();  //项目耗时
                        resource.PatientSex        = dr["BINGRENXB"].ToString();
                        resource.PatientBorn       = dr["CHUSHENRQ"].ToString();
                        resource.PatientAge        = dr["NIANLING"].ToString();
                        resource.PatientTel        = dr["LIANXIDH"].ToString();
                        resource.PatientAddress    = dr["DIZHI"].ToString();
                        resource.PatientCard       = dr["JIUZHENKH"].ToString(); //就诊卡号
                        resource.InPatientAreaName = "";                         //病区名称
                        resource.InPatientAreaCode = "";                         //病区代码
                        resource.BedNum            = "";                         //床号
                        resource.DeviceCode        = dr["SHEBEIDM"].ToString();  //设备代码
                        resource.DeviceName        = dr["SHEBEIMC"].ToString();  //设备名称
                        resource.StudiesExamine.Add(new StudiesExamine()
                        {
                            //HT  更改CODE取值
                            //ExamineCode = jcxmDt.Rows[i]["JIANCHAXMID"].ToString(),
                            ExamineCode  = dr["JIANCHASTBW"].ToString(),                         //检查项目代码
                            ExamineName  = XMLHandle.encodeString(dr["JIANCHAXMMC"].ToString()), //项目名称
                            Numbers      = "1",                                                  //数量
                            ExaminePrice = dr["FEIYONGHJ"].ToString()                            //单价
                        });
                        resource.ReceiptNum       = dr["FAPIAOHM"].ToString();                   //发票号码
                        resource.ZxDepartmentId   = dr["ZHIXINGKS"].ToString();                  //执行科室代码
                        resource.ZxDepartmentName = dr["ZHIXINGKSMC"].ToString();                //执行科室名称
                        resource.Sqrq             = dr["JIESHOURQ"].ToString();                  //。申请日期
                        resource.ExamineFY        = dr["FEIYONGHJ"].ToString();                  //检查费用
                        resource.YjsbCode         = "";                                          //设备代码
                        resource.BespeakDateTime  = dr["YIJIYYRQ"].ToString();                   //预约时间
                        resource.PDH = "";                                                       //排队号
                        resource.JCH = dr["YIJISQDH"].ToString();                                //检查号
                        resource.YYH = dr["YIJIYYH"].ToString();                                 //预约号
                        resource.RequestDepartmentId   = dr["SONGJIANKSDM"].ToString();          //申请科室代码
                        resource.RequestDepartmentName = "";                                     //申请科室名称
                        resource.RequestDoctorId       = dr["SONGJIANYSGH"].ToString();          //申请医生
                        resource.RequestDoctorName     = "";

                        string url = System.Configuration.ConfigurationManager.AppSettings["LaiDa_Url"];
                        string xml = XMLHandle.EntitytoXML <HISYY_Register>(resource);

                        logLaiDa.InfoFormat(this.GetType().Name + "设备登记调用莱达XML入参:" + xml);
                        //LogHelper.WriteLog(typeof(GG_ShuangXiangZzBLL), "设备预约调用莱达XML入参:" + xml);
                        string outxml = WSServer.Call <HISYY_Register>(url, xml).ToString();

                        logLaiDa.InfoFormat(this.GetType().Name + "设备预约调用莱达XML出参:" + outxml);
                        HISYY_Register_Result result = XMLHandle.XMLtoEntity <HISYY_Register_Result>(outxml);

                        if (result.Success == "False")
                        {
                            throw new Exception("预约登记失败,错误原因:" + result.Message);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Exemplo n.º 23
0
        public override void ProcessMessage()
        {
            string jianChaXMDM = InObject.JIANCHAXMDM;  //检查项目代码
            string yuYueRQ     = InObject.YUYUERQ;      //预约日期
            string yuYueSJ     = InObject.YUYUESJ;      //预约时间
            string chaXunLX    = InObject.CHAXUNLX;     //查询类型
            string yeWuLY      = InObject.YEWULY;       //业务来源
            string yeWuLX      = InObject.YEWULX;       //业务类型
            string jiChuSJLY   = InObject.JICHUSJLY;    //基础数据来源

            #region 基础数据判断
            if (string.IsNullOrEmpty(jianChaXMDM))
            {
                throw new Exception("检查项目代码不能为空!");
            }

            if (string.IsNullOrEmpty(yuYueRQ))
            {
                throw new Exception("预约日期不能为空!");
            }
            else if (Convert.ToDateTime(yuYueRQ) < DateTime.Now.Date)
            {
                throw new Exception("预约日期必须大于等于当前日期!");
            }

            if (string.IsNullOrEmpty(chaXunLX))
            {
                throw new Exception("查询类型不能为空!");
            }

            if (string.IsNullOrEmpty(yeWuLY))
            {
                throw new Exception("业务来源不能为空!");
            }
            if (string.IsNullOrEmpty(yeWuLX))
            {
                throw new Exception("业务类型不能为空!");
            }

            #endregion

            var resource = new HISYY_GetResource();
            resource.HospitalCode = ConfigurationManager.AppSettings["HospitalCode_Fck"].ToString();
            resource.HospitalName = ConfigurationManager.AppSettings["HospitalName_Fck"].ToString();
            //ht     SQL语句更改测试用
            //string jcxmSql = string.Format("select a.*,b.keshimc from GY_JIANCHAXM a,gy_keshi b where b.keshiid=a.zhixingks and a.zuofeibz=0 and a.jianchaxmid in({0})", jianchaxmDm);
            //string jcxmSql = string.Format("select A.*,B.DAIMAID,D.KESHIMC from GY_JIANCHAXM A, GY_JIANCHABW B, GY_JIANCHAXMBWDY C,  gy_keshi D    WHERE A.JIANCHAXMID = C.JIANCHAXMID   AND B.DAIMAID = C.JIANCHABWID  AND D.keshiid=a.zhixingks and d.yuanquid = 3 and a.zuofeibz = 0 and b.ZuoFeiBZ = 0 and b.daimaid in({0})", jianchaxmDm);

            string jcxmSql = @"select * from v_jianchaxmbwxx where DAIMAID IN({0}) AND YUANQUMC = '{1}' ";
            jcxmSql = string.Format(jcxmSql, jianChaXMDM, ConfigurationManager.AppSettings["HospitalName_Fck"].ToString());

            DataTable jcxmDt = DBVisitor.ExecuteTable(jcxmSql);

            //ht 没有对应检查项目返回
            if (jcxmDt.Rows.Count < 1)
            {
                throw new Exception("找不到检查项目: " + jianChaXMDM);
            }

            for (int i = 0; i < jcxmDt.Rows.Count; i++)
            {
                resource.BespeakExamine.Add(new BespeakExamine()
                {
                    //HT  更改CODE取值
                    //ExamineCode = jcxmDt.Rows[i]["JIANCHAXMID"].ToString(),
                    ExamineCode = jcxmDt.Rows[i]["DAIMAID"].ToString(),
                    ExamineName = XMLHandle.encodeString(jcxmDt.Rows[i]["DAIMAMC"].ToString())
                });
            }
            resource.BespeakDate = yuYueRQ.Replace("-", string.Empty);
            if (yeWuLX == "2")
            {
                resource.AdmissionSource = "10";
            }
            else
            {
                resource.AdmissionSource = "50";
            }
            resource.StudiesDepartMentCode = jcxmDt.Rows[0]["zhixingks"].ToString(); //科室代码
            resource.StudiesDepartMentName = jcxmDt.Rows[0]["keshimc"].ToString();   //科室名称
            //resource.IsJZ = jiZhen;
            //resource.IsZQ = zengQiang;
            //resource.IsLS = LinShi;

            //调用莱达WebService------------------------------------------------------------
            string url    = System.Configuration.ConfigurationManager.AppSettings["LaiDa_Url"];
            string xml    = XMLHandle.EntitytoXML <HISYY_GetResource>(resource);
            string outxml = WSServer.Call <HISYY_GetResource>(url, xml).ToString();//调用莱达webservice
            HISYY_GetResource_Result result = XMLHandle.XMLtoEntity <HISYY_GetResource_Result>(outxml);
            //------------------------------------------------------------------------------
            if (result.Success == "False")
            {
                throw new Exception("取号源信息失败,错误原因:" + result.Message);
            }
            OutObject = new SHEBEIYYZTCX_OUT();
            string[] separators = { ",", " " };
            foreach (var time in result.BespeakDatePart.Split(separators, StringSplitOptions.RemoveEmptyEntries))
            {
                SHEBEIYYXX temp = new SHEBEIYYXX();

                temp.JIANCHASBDM = result.DeviceCode;
                temp.JIANCHASBMC = result.DeviceName;
                temp.JIANCHASBDD = result.DeviceLocation;
                temp.YUYUERQ     = yuYueRQ;
                temp.YUYUEKSSJ   = time.Split('-')[0];
                temp.YUYUEJSSJ   = time.Split('-')[1];
                temp.JIANCHAYYLX = "1";
                temp.XIANGMUHS   = result.ExaminePartTime;
                OutObject.SHEBEIYYXXXX.Add(temp);
            }
        }
Exemplo n.º 24
0
        public override void ProcessMessage()
        {
            this.OutObject = new MENZHENJSJL_OUT();

            string bingRenID          = InObject.BINGRENID;                                                  //病人ID
            string kaiShiRQ           = InObject.KAISHIRQ;                                                   //开始日期
            string jieShuRQ           = InObject.JIESHURQ;                                                   //结束日期
            string yuanQuID           = InObject.BASEINFO.FENYUANDM;                                         //分院代码
            int    menZhenSJFW        = -1 * Convert.ToInt32(ConfigurationManager.AppSettings["FeiYongSJ"]); //门诊费用检索默认时间范围
            string menZhenFeiYongJLXS = ConfigurationManager.AppSettings["MZFYJLTFXX"];                      //门诊费用记录是否显示退费作废记录

            #region 基础入参判断
            if (string.IsNullOrEmpty(bingRenID))
            {
                throw new Exception("病人信息获取失败!");
            }

            if (string.IsNullOrEmpty(jieShuRQ))
            {
                jieShuRQ = DateTime.Now.ToString("yyyy-MM-dd");
            }

            if (string.IsNullOrEmpty(kaiShiRQ))
            {
                kaiShiRQ = DateTime.Now.AddDays(menZhenSJFW).Date.ToString("yyyy-MM-dd");
            }

            if (string.IsNullOrEmpty(menZhenFeiYongJLXS))
            {
                menZhenFeiYongJLXS = "0";
            }
            else
            {
                menZhenFeiYongJLXS = "1";
            }
            #endregion

            StringBuilder shouFeiJLSQL = new StringBuilder();
            shouFeiJLSQL.Append(" select a.shoufeiid,a.feiyonglb,(select leibiemc from gy_feiyonglb where leibieid = a.feiyonglb ) as feiyonglbmc,a.feiyonghj,a.shifuje,a.jiaoyilx,a.jizhenbz,a.shoufeilb,a.shoufeilx,to_char(a.shoufeirq,'yyyy-mm-dd hh24:mi') as shoufeirq,a.jiluly,decode(a.shoufeilb,1,'挂号',2,'收费','收费') as SHOUFEILBMC,decode(a.shoufeilx,10,'门诊挂号',11,'急诊挂号',20,'门诊收费',21,'急诊收费',30,'规定病种',31,'单病种',41,'其他收费') as SHOUFEILXMC,decode(a.jiluly,0,'正常',1,'退费',2,'作废')  as JILULYMC from mz_shoufei1 a where a.shoufeirq between to_date( '{1} 00:00:00','yyyy-mm-dd hh24:mi:ss') and to_date( '{2} 23:59:59','yyyy-mm-dd hh24:mi:ss') and a.bingrenid = '{0}' ");

            if (menZhenFeiYongJLXS == "1")
            {
                shouFeiJLSQL.Append(" and chongxiaobz = 0 and jiaoyilx = 1 ");
            }
            shouFeiJLSQL.Append("  order by a.shoufeirq desc ");
            //string shouFeiJLSQL = "select a.shoufeiid,a.feiyonglb,(select leibiemc from gy_feiyonglb where leibieid = a.feiyonglb ) as feiyonglbmc,a.feiyonghj,a.shifuje,a.jiaoyilx,a.jizhenbz,a.shoufeilb,a.shoufeilx,to_char(a.shoufeirq,'yyyy-mm-dd hh24:mi') as shoufeirq,a.jiluly,decode(a.shoufeilb,1,'挂号',2,'收费','收费') as SHOUFEILBMC,decode(a.shoufeilx,10,'门诊挂号',11,'急诊挂号',20,'门诊收费',21,'急诊收费',30,'规定病种',31,'单病种',41,'其他收费') as SHOUFEILXMC,decode(a.jiluly,0,'正常',1,'退费',2,'作废')  as JILULYMC from mz_shoufei1 a where a.shoufeirq between to_date( '{1} 00:00:00','yyyy-mm-dd hh24:mi:ss') and to_date( '{2} 23:59:59','yyyy-mm-dd hh24:mi:ss') and a.bingrenid = '{0}' order by a.shoufeirq desc";
            DataTable dtShouFeiJL = DBVisitor.ExecuteTable(string.Format(shouFeiJLSQL.ToString(), bingRenID, kaiShiRQ, jieShuRQ));

            if (dtShouFeiJL.Rows.Count > 0)
            {
                OutObject.JIESUANMXTS = dtShouFeiJL.Rows.Count.ToString();
                for (int i = 0; i < dtShouFeiJL.Rows.Count; i++)
                {
                    MENZHENJSXX mzjsxx = new MENZHENJSXX();
                    mzjsxx.SHOUFEIID   = dtShouFeiJL.Rows[i]["shoufeiid"].ToString();   //收费ID
                    mzjsxx.FEIYONGLB   = dtShouFeiJL.Rows[i]["feiyonglb"].ToString();   //费用类别
                    mzjsxx.FEIYONGLBMC = dtShouFeiJL.Rows[i]["feiyonglbmc"].ToString(); //费用类别名称
                    mzjsxx.FEIYONGHJ   = dtShouFeiJL.Rows[i]["feiyonghj"].ToString();   //费用合计
                    mzjsxx.SHIFUJE     = dtShouFeiJL.Rows[i]["shifuje"].ToString();     //实付金额
                    mzjsxx.JIAOYILX    = dtShouFeiJL.Rows[i]["jiaoyilx"].ToString();    //交易类型
                    mzjsxx.JIZHENBZ    = dtShouFeiJL.Rows[i]["jizhenbz"].ToString();    //急诊标志
                    mzjsxx.SHOUFEILB   = dtShouFeiJL.Rows[i]["shoufeilb"].ToString();   //收费类别
                    mzjsxx.SHOUFEILBMC = dtShouFeiJL.Rows[i]["SHOUFEILBMC"].ToString(); //收费类别名称
                    mzjsxx.SHOUFEILX   = dtShouFeiJL.Rows[i]["shoufeilx"].ToString();   //收费类型
                    mzjsxx.SHOUFEILXMC = dtShouFeiJL.Rows[i]["SHOUFEILXMC"].ToString(); //收费类型名称
                    mzjsxx.SHOUFEIRQ   = dtShouFeiJL.Rows[i]["shoufeirq"].ToString();   //收费日期
                    mzjsxx.JILULY      = dtShouFeiJL.Rows[i]["jiluly"].ToString();      //记录来源
                    mzjsxx.JILULYMC    = dtShouFeiJL.Rows[i]["JILULYMC"].ToString();    //记录来源名称
                    OutObject.MENZHENJSMX.Add(mzjsxx);
                }
            }
        }
Exemplo n.º 25
0
        public override void ProcessMessage()
        {
            this.OutObject = new ZD_YAOPINXX_OUT();

            string xiangmuGl   = InObject.XIANGMUGL;
            string shurumaLx   = InObject.SHURUMLX;
            string shuruMa     = InObject.SHURUM;
            string MenZhenZYQY = InObject.MENZHENZYQY;
            string fenYuanDM   = InObject.BASEINFO.FENYUANDM;//分院代码

            if (string.IsNullOrEmpty(xiangmuGl))
            {
                xiangmuGl = "0";
            }

            if (string.IsNullOrEmpty(MenZhenZYQY))
            {
                MenZhenZYQY = "0";
            }

            if (string.IsNullOrEmpty(fenYuanDM) || fenYuanDM == "0")
            {
                fenYuanDM = "1";
            }

            StringBuilder sbSql = new StringBuilder("select * from  v_yaopinxx_cx where 1=1 ");

            if (xiangmuGl != "0")
            {
                sbSql.Append(" and yaopinlx='" + xiangmuGl + "' ");
            }
            if (!string.IsNullOrEmpty(shuruMa))
            {
                sbSql.Append(" and shuruma1 like '" + shuruMa + "%' ");
            }
            if (MenZhenZYQY == "1")
            {
                sbSql.Append(" and menzhenqybz = 1 ");
            }
            if (MenZhenZYQY == "2")
            {
                sbSql.Append(" and zhuyuanqybz = 1 ");
            }

            sbSql.Append("  order by XIANGMUGL,XIANGMUMC ");

            DataTable dtYaoPinXX = DBVisitor.ExecuteTable(sbSql.ToString());

            if (dtYaoPinXX.Rows.Count > 0)
            {
                for (int i = 0; i < dtYaoPinXX.Rows.Count; i++)
                {
                    YAOPINXX ypxx = new YAOPINXX();
                    ypxx.XIANGMUGL   = dtYaoPinXX.Rows[i]["XIANGMUGL"].ToString();                                              //项目归类
                    ypxx.XIANGMUXH   = dtYaoPinXX.Rows[i]["XIANGMUXH"].ToString();                                              //项目序号
                    ypxx.XIANGMUCDDM = dtYaoPinXX.Rows[i]["XIANGMUCDDM"].ToString();                                            //项目产地代码
                    ypxx.XIANGMUMC   = dtYaoPinXX.Rows[i]["XIANGMUMC"].ToString();                                              //项目名称
                    ypxx.XIANGMUGLMC = dtYaoPinXX.Rows[i]["XIANGMUGLMC"].ToString();                                            //项目归类吗名称
                    ypxx.XIANGMUGG   = dtYaoPinXX.Rows[i]["XIANGMUGG"].ToString();                                              //项目规格
                    ypxx.XIANGMUJX   = dtYaoPinXX.Rows[i]["XIANGMUJX"].ToString();                                              //项目剂型
                    ypxx.XIANGMUDW   = dtYaoPinXX.Rows[i]["XIANGMUDW"].ToString();                                              //项目单位
                    ypxx.XIANGMUCDMC = dtYaoPinXX.Rows[i]["XIANGMUCDMC"].ToString();                                            //项目产地名称
                    ypxx.DANJIA      = Convert.ToDecimal(dtYaoPinXX.Rows[i]["danjia" + fenYuanDM].ToString()).ToString("0.00"); //单价
                    ypxx.YIBAODJ     = dtYaoPinXX.Rows[i]["yibaodj"].ToString();                                                //医保等级
                    ypxx.MENZHENQY   = dtYaoPinXX.Rows[i]["menzhenqybz"].ToString();                                            //门诊启用
                    ypxx.ZHUYUANQY   = dtYaoPinXX.Rows[i]["zhuyuanqybz"].ToString();                                            //住院启用
                    OutObject.YAOPINMX.Add(ypxx);
                }
            }
            else
            {
                throw new Exception("未找到相关的药品信息");
            }
        }
Exemplo n.º 26
0
        public override void ProcessMessage()
        {
            this.OutObject = new JIANYANJLCX_OUT();

            string bingRenID = InObject.BINGRENID; //病人ID
            string kaiShiRQ  = InObject.KAISHIRQ;  //开始日期
            string jieShuRQ  = InObject.JIESHURQ;  //结束日期
            string jiuZhenLY = InObject.JIUZHENLY; //就诊来源 0 门诊 1 住院 空全部

            #region 基本入参判断
            if (string.IsNullOrEmpty(bingRenID))
            {
                throw new Exception("获取病人信息失败!");
            }

            if (string.IsNullOrEmpty(kaiShiRQ))
            {
                kaiShiRQ = DateTime.Now.AddDays(-7).Date.ToString("yyyy-MM-dd");
            }

            if (string.IsNullOrEmpty(jieShuRQ))
            {
                jieShuRQ = DateTime.Now.ToString("yyyy-MM-dd");
            }

            if (string.IsNullOrEmpty(jiuZhenLY))
            {
                jiuZhenLY = "0,1";
            }
            else
            {
                if (jiuZhenLY != "0" && jiuZhenLY != "1")
                {
                    jiuZhenLY = "0,1";
                }
            }
            #endregion
            DataTable dtJianYanJL;
            if (string.IsNullOrEmpty(bingRenID))
            {
                String jianYanJLSql = " select TIAOMAH from v_bp_lis_patientinfo where  kaidanrq between to_date( '{0} 00:00:00' ,'yyyy-mm-dd hh24:mi:ss') and to_date('{1} 23:59:59','yyyy-mm-dd hh24:mi:ss')   and jiuzhenly in ({2}) group by tiaomah ";
                dtJianYanJL = DBVisitor.ExecuteTable(string.Format(jianYanJLSql, kaiShiRQ, jieShuRQ, jiuZhenLY));
            }
            else
            {
                String jianYanJLSql = " select TIAOMAH from v_bp_lis_patientinfo where  kaidanrq between to_date( '{1} 00:00:00' ,'yyyy-mm-dd hh24:mi:ss') and to_date('{2} 23:59:59','yyyy-mm-dd hh24:mi:ss')   and bingrenid = '{0}' and jiuzhenly in ({3}) group by tiaomah ";
                dtJianYanJL = DBVisitor.ExecuteTable(string.Format(jianYanJLSql, bingRenID, kaiShiRQ, jieShuRQ, jiuZhenLY));
            }
            if (dtJianYanJL.Rows.Count <= 0)
            {
                throw new Exception("未找到相关的检验记录,请确认!");
            }
            else
            {
                OutObject.JIANYANJLTS = dtJianYanJL.Rows.Count.ToString();
                for (int i = 0; i < dtJianYanJL.Rows.Count; i++)
                {
                    String    jianYanJLMXSql = " select * from v_bp_lis_patientinfo where tiaomah ={0}";
                    DataTable dtJianYanMXJL  = DBVisitor.ExecuteTable(string.Format(jianYanJLMXSql, dtJianYanJL.Rows[i]["TIAOMAH"].ToString()));
                    if (dtJianYanMXJL.Rows.Count > 0)
                    {
                        JIANYANJLXX jyjlxx = new JIANYANJLXX();
                        jyjlxx.BINGRENID   = dtJianYanMXJL.Rows[0]["BINGRENID"].ToString();   //病人ID
                        jyjlxx.JIUZHENLY   = dtJianYanMXJL.Rows[0]["JIUZHENLY"].ToString();   //就诊来源
                        jyjlxx.KAIDANSJ    = dtJianYanMXJL.Rows[0]["KAIDANRQ"].ToString();    //开单时间
                        jyjlxx.YIZHUID     = dtJianYanMXJL.Rows[0]["YIZHUID"].ToString();     //医嘱ID
                        jyjlxx.SHENQINGDID = dtJianYanMXJL.Rows[0]["SHENQINGDID"].ToString(); //申请单ID
                        jyjlxx.MENZHENID   = dtJianYanMXJL.Rows[0]["MENZHENID"].ToString();   //门诊ID
                        jyjlxx.ZHUYUANID   = dtJianYanMXJL.Rows[0]["ZHUYUANID"].ToString();   //住院ID
                        jyjlxx.BINGRENCW   = dtJianYanMXJL.Rows[0]["BINGRENCW"].ToString();   //病人床位
                        jyjlxx.BINGRENBQ   = dtJianYanMXJL.Rows[0]["BINGRENBQ"].ToString();   //病人病区
                        jyjlxx.BINGRENKS   = dtJianYanMXJL.Rows[0]["BINGRENKS"].ToString();   //病人科室
                        jyjlxx.KAIDANKSDM  = dtJianYanMXJL.Rows[0]["KAIDANKSDM"].ToString();  //开单科室代码
                        jyjlxx.KAIDANYSDM  = dtJianYanMXJL.Rows[0]["KAIDANYSDM"].ToString();  //开单医生代码
                        jyjlxx.KAIDANKSMC  = dtJianYanMXJL.Rows[0]["KAIDANKSMC"].ToString();  //开单科室名称
                        jyjlxx.KAIDANYSXM  = dtJianYanMXJL.Rows[0]["KAIDANYSXM"].ToString();  //开单医生姓名
                        for (int j = 0; j < dtJianYanMXJL.Rows.Count; j++)                    //检验项目信息
                        {
                            jyjlxx.JIANYANXMMX.Add(new JIANYANXMXX(dtJianYanMXJL.Rows[j]["JIANYANXMID"].ToString(), dtJianYanMXJL.Rows[j]["JIANYANXMMC"].ToString()));
                        }
                        jyjlxx.CAIJIYSDM = dtJianYanMXJL.Rows[0]["CAIJIYSDM"].ToString(); //采集医生代码
                        jyjlxx.CAIJIYSXM = dtJianYanMXJL.Rows[0]["CAIJIYSXM"].ToString(); //采集医生姓名
                        jyjlxx.CAIJIKSDM = dtJianYanMXJL.Rows[0]["CAIJIKSDM"].ToString(); //采集科室代码
                        jyjlxx.CAIJIKSMC = dtJianYanMXJL.Rows[0]["CAIJIKSMC"].ToString(); //采集科室名称
                        jyjlxx.TIAOMAH   = dtJianYanMXJL.Rows[0]["TIAOMAH"].ToString();   //条码号
                        jyjlxx.ZHENDUAN  = dtJianYanMXJL.Rows[0]["ZHENDUAN"].ToString();  //诊断
                        jyjlxx.SHENHEBZ  = dtJianYanMXJL.Rows[0]["SHENHEBZ"].ToString();  //审核标识
                        jyjlxx.SHENHEREN = dtJianYanMXJL.Rows[0]["SHENHEREN"].ToString(); //审核人
                        jyjlxx.SHENHERXM = dtJianYanMXJL.Rows[0]["SHENHERXM"].ToString(); //审核人姓名
                        jyjlxx.SHENHERQ  = dtJianYanMXJL.Rows[0]["SHENHERQ"].ToString();  //审核日期

                        OutObject.JIANYANJLMX.Add(jyjlxx);
                    }
                }
            }
        }
Exemplo n.º 27
0
        public override void ProcessMessage()
        {
            OutObject = new DIANZIZHXX_OUT();
            string jiuZhenKH        = InObject.JIUZHENKH;                             //就诊卡号
            string shijianFW        = InObject.SHIJIANFW;                             //时间范围(天)
            string defaultShiJianFW = ConfigurationManager.AppSettings["MORENGSJFW"]; //默认时间范围

            if (string.IsNullOrEmpty(shijianFW) || (!string.IsNullOrEmpty(shijianFW) && shijianFW == "0"))
            {
                if (string.IsNullOrEmpty(defaultShiJianFW) || (!string.IsNullOrEmpty(defaultShiJianFW) && defaultShiJianFW == "0"))
                {
                    shijianFW = "30";
                }
                else
                {
                    shijianFW = defaultShiJianFW;
                }
            }

            StringBuilder sbSql = new StringBuilder();

            sbSql.Append("select bingrenid from gy_bingrenxx where jiuzhenkh = '" + jiuZhenKH + "'");
            DataTable dt = DBVisitor.ExecuteTable(sbSql.ToString());

            if (dt.Rows.Count <= 0)//返回数据空
            {
                throw new Exception("该卡未建档,请前往人工服务台建档!");
            }

            string        bingRenID = dt.Rows[0]["bingrenid"].ToString();
            StringBuilder sbFYMX    = new StringBuilder();
            string        yewulxx   = "";

            if (InObject.YWLX == "1")
            { //1充值
                yewulxx = " and (a.yewulx='1' or a.yewulx='13') ";
            }
            else if (InObject.YWLX == "2")
            {//取现
                yewulxx = " and a.yewulx='2' ";
            }
            sbFYMX.Append("select to_char(a.caozuorq,'yyyy-mm-dd hh24:mi:ss') as CAOZUORQ,b.ZHIFUMC as ZHIFUMC,a.fashengje,a.bencije,a.shiyongje,a.caozuoyuan,a.jiaoyiid from " +
                          "gy_zijinmxz a ,gy_zhifufs b where a.fashengje != 0 and  a.zhifufs = b.ZHIFUFSID and " +
                          "a.caozuorq > sysdate - " + shijianFW + " and a.bingrenid = '" + bingRenID + "' " + yewulxx + " order by caozuorq desc,zijinmxzid desc");

            DataTable dtFYMX = DBVisitor.ExecuteTable(sbFYMX.ToString());

            if (dt.Rows.Count <= 0)//返回数据空
            {
                throw new Exception("近期内没有院内电子账户消费记录,请核实!");
            }
            else
            {
                OutObject.JIUZHENKH  = jiuZhenKH;
                OutObject.TOTALCOUNT = dtFYMX.Rows.Count.ToString();

                for (int i = 0; i < dtFYMX.Rows.Count; i++)
                {
                    DIANZIZHXFMX xfmx = new DIANZIZHXFMX();
                    xfmx.CAOZUORQ   = dtFYMX.Rows[i]["CAOZUORQ"].ToString();
                    xfmx.ZHIFUMC    = dtFYMX.Rows[i]["ZHIFUMC"].ToString();
                    xfmx.FASHENGJE  = dtFYMX.Rows[i]["FASHENGJE"].ToString();
                    xfmx.BENCIJE    = dtFYMX.Rows[i]["BENCIJE"].ToString();
                    xfmx.SHIYONGJE  = dtFYMX.Rows[i]["SHIYONGJE"].ToString();
                    xfmx.JIAOYIBH   = dtFYMX.Rows[i]["jiaoyiid"].ToString();
                    xfmx.CAOZUOYUAN = dtFYMX.Rows[i]["caozuoyuan"].ToString();
                    OutObject.FEIYONGMX.Add(xfmx);
                }
            }
        }
Exemplo n.º 28
0
        public int RunService(string TradeType, string TradeMsg, ref string TradeMsgOut)
        {
            int    i    = 0;
            string guid = Guid.NewGuid().ToString("N").ToUpper();

            //log.Info("[" + guid + "]");
            log.InfoFormat("[{2}][{0}].IN  {1}", TradeType, LogUnity.I.ShowXml(TradeMsg), guid);
            //string outxml = "";
            IBaseMessage objtype = null;

            try
            {
                objtype = (IBaseMessage)ToolUnity.LoadAssembly(TradeType);
            }
            catch (Exception ex)
            {
                //outxml = ToolUnity.ServiceERR(TradeType, ex);
                TradeMsgOut = ToolUnity.ServiceERR(TradeType, ex);
                i           = -1;
                goto last;
            }
            #region 验证数字签名
            //为适应老版本,这个参数设置成0,以后新上线的 都必须设置成1
            string Signature = ConfigurationManager.AppSettings["Signature"];
            if (Signature == "1")
            {
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(TradeMsg);
                string key  = "";
                string mac  = "";
                string sign = "";
                if (doc.DocumentElement != null)
                {
                    string head = doc.DocumentElement.Name;

                    XmlNode nodemac = doc.SelectSingleNode(head + "/BASEINFO/MACDZ");
                    if (nodemac == null)
                    {
                        TradeMsgOut = ToolUnity.ServiceERR(TradeType, "MACDZ未分配!");
                        return(-1);
                    }
                    mac = nodemac.InnerText;
                    XmlNode nodekey = doc.SelectSingleNode(head + "/BASEINFO/KEY");
                    if (nodekey == null)
                    {
                        TradeMsgOut = ToolUnity.ServiceERR(TradeType, "校验码未分配!");
                        return(-1);
                    }
                    key = nodekey.InnerText;
                    XmlNode nodesign = doc.SelectSingleNode(head + "/BASEINFO/SIGN");
                    if (nodesign == null)
                    {
                        TradeMsgOut = ToolUnity.ServiceERR(TradeType, "数字验证未分配!");
                        return(-1);
                    }
                    sign = nodesign.InnerText;
                    XmlNode BASEINFO = doc.SelectSingleNode(head + "/BASEINFO");
                    BASEINFO.RemoveChild(nodesign);
                }
                string inxml = doc.InnerXml;

                DataTable dt = DBVisitor.ExecuteTable($"select * from GY_REGISTERED where mac='{mac}'");
                if (dt.Rows.Count <= 0)
                {
                    TradeMsgOut = ToolUnity.ServiceERR(TradeType, "未注册!");
                    i           = -1;
                    return(i);
                }
                if (dt.Rows[0]["KEY"].ToString() != key)
                {
                    TradeMsgOut = ToolUnity.ServiceERR(TradeType, "校验码验证不通过!");
                    i           = -1;
                    return(i);
                }
                string mysign = AlipayMD5.Sign(inxml, dt.Rows[0]["KEY"].ToString(), "utf-8");
                if (mysign != sign)
                {
                    TradeMsgOut = ToolUnity.ServiceERR(TradeType, "签名验证错误!");
                    i           = -1;
                    return(i);
                }
            }
            #endregion
            try
            {
                objtype.MessageID = guid;
                objtype.ParseInXml(TradeMsg);
                objtype.ProcessMessage();
                //outxml = objtype.ParseOutXml();
                TradeMsgOut = objtype.ParseOutXml();
                //LogUnity.I.Info(0, TradeType, TradeMsg, outxml, "", guid);
            }
            catch (Exception ex)
            {
                //outxml = objtype.ParseOutXml(ex, ConfigurationManager.AppSettings["enabledymc"] == "0");
                TradeMsgOut = objtype.ParseOutXml(ex, ConfigurationManager.AppSettings["enabledymc"] == "0");
                //LogUnity.I.Insert(-1, TradeType, TradeMsg, outxml, ex.StackTrace.Trim(), guid);
                //LogUnity.I.Insert(-1, TradeType, TradeMsg, TradeMsgOut, ex.StackTrace.Trim(), guid);
                i = -1;
            }
last:
            {
                //log.InfoFormat("[{0}].OUT {1}", TradeType, outxml + "\r\n");
                log.InfoFormat("[{2}][{0}].OUT {1}", TradeType, TradeMsgOut, guid);
                return(i);
            }
        }
Exemplo n.º 29
0
        /// <summary>
        /// 转诊预约接口转发(桐庐) 和区域卫生做的对接 _______胡谦
        /// </summary>
        /// <param name="header"></param>
        /// <param name="body"></param>
        /// <param name="ehrXml"></param>
        public void DoBusiness(string header, string body, ref string ehrXml)
        {
            log.InfoFormat("DoBusiness##" + header + "###" + body);
            string ZHUANZHENYYLXDM = ConfigurationManager.AppSettings["ZHUANZHENYYLXDM"];
            int    i    = 0;
            string guid = Guid.NewGuid().ToString("N").ToUpper();

            log.InfoFormat("[{2}][{0}].IN  {1}", header, LogUnity.I.ShowXml(body), guid);

            Header head = new Header();

            head = MessageParse.ToXmlObject <Header>(header);

            Body inobject = MessageParse.ToXmlObject <Body>(body);

            BASEINFO baseinfo = new BASEINFO();

            baseinfo.CAOZUORQ  = head.RequestTime;
            baseinfo.CAOZUOYDM = head.UserId;
            baseinfo.JIGOUDM   = head.OrganizationId;
            baseinfo.MACDZ     = head.lient_Mac;

            Result result = new Result();

            result.Code = "0";
            result.Msg  = "OK";

            //modify by 沈宝
            try
            {
                switch (head.DocumentID)
                {
                    #region 挂号科室信息
                case "GUAHAOKSXX":
                    string ksdm = inobject.KESHIDM;
                    string sql  = "select * from v_ksxx_mcp";
                    if (!string.IsNullOrEmpty(ksdm))
                    {
                        sql += $" where  KESHIDM='{ksdm}'";
                    }
                    DataTable dt = DBVisitor.ExecuteTable(sql);

                    Body_GUAHAOKSXX outObj = new Body_GUAHAOKSXX
                    {
                        Result  = new Result(),
                        KESHIMX = new List <Entity.KESHIXX>()
                    };
                    outObj.Result = result;
                    foreach (DataRow dr in dt.Rows)
                    {
                        Entity.KESHIXX ksxx = new Entity.KESHIXX
                        {
                            JIUZHENDD = dr["WEIZHI"].ToString(),
                            KESHIDM   = dr["KESHIDM"].ToString(),
                            KESHIJS   = dr["KESHIJS"].ToString(),
                            KESHIMC   = dr["KESHIMC"].ToString(),
                            KESHIPX   = ""
                        };
                        outObj.KESHIMX.Add(ksxx);
                    }
                    ehrXml = MessageParse.GetXml(outObj);
                    log.InfoFormat("[{2}][{0}].OUT  {1}", head.DocumentID, LogUnity.I.ShowXml(ehrXml), guid);

                    return;

                    #endregion

                    #region 医生信息
                case "YISHENGJSXX":

                    string ysdm = inobject.YISHENGDM;
                    sql = "select * from v_zgxx_mcp ";
                    if (!string.IsNullOrEmpty(ysdm))
                    {
                        sql += $" where ZHIGONGID='{ysdm}'";
                    }
                    dt = DBVisitor.ExecuteTable(sql);

                    Body_YISHENGJSXX jsxxObj = new Body_YISHENGJSXX
                    {
                        Result    = new Result(),
                        YISHENGMX = new List <Entity.YISHENGXX>()
                    };
                    jsxxObj.Result = result;
                    foreach (DataRow dr in dt.Rows)
                    {
                        Entity.YISHENGXX ysxx = new Entity.YISHENGXX
                        {
                            YISHENGDM   = dr["ZHIGONGID"].ToString(),
                            YISHENGXM   = dr["ZHIGONGXM"].ToString(),
                            YISHENGXB   = dr["XB"].ToString(),
                            ZHENGJIANLX = "1",
                            ZHENGJIANHM = dr["shenfenzh"].ToString(),
                            YISHENGPX   = "",
                            YISHENGZC   = dr["ZHICHENG"].ToString(),
                            YISHENGTC   = dr["YISHENGSC"].ToString(),
                            YISHENGJS   = dr["DISCRIPTION"].ToString(),
                            ZHAOPIAN    = "",
                        };
                        jsxxObj.YISHENGMX.Add(ysxx);
                    }
                    ehrXml = MessageParse.GetXml(jsxxObj);
                    log.InfoFormat("[{2}][{0}].OUT  {1}", head.DocumentID, LogUnity.I.ShowXml(ehrXml), guid);

                    return;

                    #endregion

                    #region 排班信息 排班 上午和下午要分两条转 排班ID 要不一样
                case "YIYUANPBXX":
                    //mody by 沈宝2017/1/9
                    string ysdmpb = inobject.YISHENGDM == "" ? "1" : "2";
                    if (ysdmpb == "1")
                    {
                        string sql1 = (inobject.KESHIDM == "" ? "" : "and YIZHOUKSDM = " + inobject.KESHIDM);                    //过滤条件可是代码为空时传全部;
                        sql = $" select * from V_YIYUANYZPBXX_MCP where YIZHOUPNLBDM='1' and YUYUELX='{ZHUANZHENYYLXDM}'{sql1}"; //YUYUELX 10是分配给转诊预约的,测试时用2
                    }
                    else
                    {
                        string sql1 = (inobject.KESHIDM == "" ? "" : "and YIZHOUKSDM = " + inobject.KESHIDM);
                        sql = $" select * from V_YIYUANYZPBXX_MCP where YUYUELX='{ZHUANZHENYYLXDM}'{sql1}";
                    }
                    dt = DBVisitor.ExecuteTable(sql);

                    Body_YIYUANPBXX pbxxObj = new Body_YIYUANPBXX
                    {
                        Result   = new Result(),
                        PAIBANLB = new List <Entity.PAIBANMX>()
                    };
                    pbxxObj.Result = result;
                    int pd = Convert.ToInt32(inobject.GUAHAOBC);
                    //modify by 沈宝
                    foreach (DataRow dr in dt.Rows)
                    {
                        DateTime schedulingDate = ToolUnity.RqtoXq(dr["YIZHOUXQ"].ToString());
                        #region  午的排班
                        if (pd == 1)
                        {
                            Entity.PAIBANMX pbmx1 = new Entity.PAIBANMX
                            {
                                HAOYUANFPLX  = "0",
                                KESHIDM      = dr["YIZHOUKSDM"].ToString(),
                                KESHIMC      = dr["YIZHOUKSMC"].ToString(),
                                JIUZHENDD    = dr["GUAHAOKSWZMC"].ToString(),
                                KESHIJS      = "",
                                KESHIPX      = "",
                                YISHENGDM    = dr["YIZHOUYSDM"].ToString(),
                                YISHENGXM    = dr["YIZHOUPBLBDM"].ToString() == "1" ? dr["YIZHOUPBLBMC"].ToString() : dr["YIZHOUYSXM"].ToString(), //dr["YIZHOUPNLBDM"]=="1"?dr[]: dr["YIZHOUYSXM"].ToString(),
                                ZHENLIAOF    = dr["ZHENLIAOFEI"].ToString(),
                                ZHENLIAOJSF  = "0",
                                PAIBANRQ     = schedulingDate.ToString("yyyy-MM-dd"),
                                TINGZHENBZ   = "0",
                                GUAHAOBC     = "1",
                                GUAHAOLB     = dr[" "].ToString(),
                                YIZHOUPBID   = dr["YIZHOUPBID"].ToString() + "|" + dr["YIZHOUYSDM"].ToString() + "|1",
                                DANGTIANPBID = dr["YIZHOUPBID"].ToString() + "|" + dr["YIZHOUYSDM"].ToString() + "|1"
                            };
                            if (int.Parse(dr["YIZHOUSWZGXH"].ToString()) > 0)
                            {
                                pbxxObj.PAIBANLB.Add(pbmx1);
                            }
                        }
                        else if (pd == 2)
                        {
                            #endregion
                            #region  午的排班


                            Entity.PAIBANMX pbmx2 = new Entity.PAIBANMX
                            {
                                HAOYUANFPLX  = "0",
                                KESHIDM      = dr["YIZHOUKSDM"].ToString(),
                                KESHIMC      = dr["YIZHOUKSMC"].ToString(),
                                JIUZHENDD    = dr["GUAHAOKSWZMC"].ToString(),
                                KESHIJS      = "",
                                KESHIPX      = "",
                                YISHENGDM    = dr["YIZHOUYSDM"].ToString(),
                                YISHENGXM    = dr["YIZHOUPBLBDM"].ToString() == "1" ? dr["YIZHOUPBLBMC"].ToString() : dr["YIZHOUYSXM"].ToString(), // dr["YIZHOUYSXM"].ToString(),
                                ZHENLIAOF    = dr["ZHENLIAOFEI"].ToString(),
                                ZHENLIAOJSF  = "0",
                                PAIBANRQ     = schedulingDate.ToString("yyyy-MM-dd"),
                                TINGZHENBZ   = "0",
                                GUAHAOBC     = "2",
                                GUAHAOLB     = dr["YIZHOUPBLBDM"].ToString(),
                                YIZHOUPBID   = dr["YIZHOUPBID"].ToString() + "|" + dr["YIZHOUYSDM"].ToString() + "|2",
                                DANGTIANPBID = dr["YIZHOUPBID"].ToString() + "|" + dr["YIZHOUYSDM"].ToString() + "|2"
                            };
                            //pbmx2.YIZHOUPBID = dr["YIZHOUPBID"].ToString() + "|" + dr["YIZHOUYSDM"].ToString() + "|2";
                            if (int.Parse(dr["YIZHOUXWZGXH"].ToString()) > 0)
                            {
                                pbxxObj.PAIBANLB.Add(pbmx2);
                            }
                        }
                        else if (pd == 4 || pd == 0)
                        {
                            #endregion
                            #region 全天的排班
                            Entity.PAIBANMX pbmx1 = new Entity.PAIBANMX
                            {
                                HAOYUANFPLX  = "0",
                                KESHIDM      = dr["YIZHOUKSDM"].ToString(),
                                KESHIMC      = dr["YIZHOUKSMC"].ToString(),
                                JIUZHENDD    = dr["GUAHAOKSWZMC"].ToString(),
                                KESHIJS      = "",
                                KESHIPX      = "",
                                YISHENGDM    = dr["YIZHOUYSDM"].ToString(),
                                YISHENGXM    = dr["YIZHOUPBLBDM"].ToString() == "1" ? dr["YIZHOUPBLBMC"].ToString() : dr["YIZHOUYSXM"].ToString(), // dr["YIZHOUYSXM"].ToString(),
                                ZHENLIAOF    = dr["ZHENLIAOFEI"].ToString(),
                                ZHENLIAOJSF  = "0",
                                PAIBANRQ     = schedulingDate.ToString("yyyy-MM-dd"),
                                TINGZHENBZ   = "0",
                                GUAHAOBC     = pd.ToString(),
                                GUAHAOLB     = dr["YIZHOUPBLBDM"].ToString(),
                                YIZHOUPBID   = dr["YIZHOUPBID"].ToString() + "|" + dr["YIZHOUYSDM"].ToString() + "|1",
                                DANGTIANPBID = dr["YIZHOUPBID"].ToString() + "|" + dr["YIZHOUYSDM"].ToString() + "|1"
                            };
                            if (int.Parse(dr["YIZHOUSWZGXH"].ToString()) > 0)
                            {
                                pbxxObj.PAIBANLB.Add(pbmx1);
                            }

                            PAIBANMX pbmx2 = new Entity.PAIBANMX
                            {
                                HAOYUANFPLX  = "0",
                                KESHIDM      = dr["YIZHOUKSDM"].ToString(),
                                KESHIMC      = dr["YIZHOUKSMC"].ToString(),
                                JIUZHENDD    = dr["GUAHAOKSWZMC"].ToString(),
                                KESHIJS      = "",
                                KESHIPX      = "",
                                YISHENGDM    = dr["YIZHOUYSDM"].ToString(),
                                YISHENGXM    = dr["YIZHOUPBLBDM"].ToString() == "1" ? dr["YIZHOUPBLBMC"].ToString() : dr["YIZHOUYSXM"].ToString(), //dr["YIZHOUYSXM"].ToString(),
                                ZHENLIAOF    = dr["ZHENLIAOFEI"].ToString(),
                                ZHENLIAOJSF  = "0",
                                PAIBANRQ     = schedulingDate.ToString("yyyy-MM-dd"),
                                TINGZHENBZ   = "0",
                                GUAHAOBC     = pd.ToString(),
                                GUAHAOLB     = dr["YIZHOUPBLBDM"].ToString(),
                                YIZHOUPBID   = dr["YIZHOUPBID"].ToString() + "|" + dr["YIZHOUYSDM"].ToString() + "|2",
                                DANGTIANPBID = dr["YIZHOUPBID"].ToString() + "|" + dr["YIZHOUYSDM"].ToString() + "|2"
                            };
                            //pbmx2.YIZHOUPBID = dr["YIZHOUPBID"].ToString() + "|" + dr["YIZHOUYSDM"].ToString() + "|2";
                            if (int.Parse(dr["YIZHOUXWZGXH"].ToString()) > 0)
                            {
                                pbxxObj.PAIBANLB.Add(pbmx2);
                            }
                            #endregion
                        }
                        else
                        {
                            //inobject.GUAHAOBC = '3';晚上排班;
                            pbxxObj.Result.Msg = "无晚上排班";
                        }
                    }
                    ehrXml = MessageParse.GetXml(pbxxObj);
                    log.InfoFormat("[{2}][{0}].OUT  {1}", head.DocumentID, LogUnity.I.ShowXml(ehrXml), guid);

                    return;

                    #endregion

                    #region 号源信息
                case "GUAHAOHYXX":
                    //已挂号号源信息
                    sql = "SELECT  * from V_GUAHAOYSYHYXX_MCP A where 1=1 ";
                    if (!string.IsNullOrEmpty(inobject.KESHIDM))
                    {
                        sql += $" and PAIBANKSDM='{inobject.KESHIDM}'";
                    }
                    if (!string.IsNullOrEmpty(inobject.YISHENGDM))
                    {
                        sql += $" and PAIBANYSGH='{inobject.YISHENGDM}'";
                    }
                    DataTable YghDt = DBVisitor.ExecuteTable(sql);

                    //挂号号源信息 预约类型代码10开放给转诊预约---测试的时候用2 正式使用的时候是10
                    sql = $"SELECT* FROM V_YIYUANGHHYXX_MCP WHERE   YUYUELXDM= '{ZHUANZHENYYLXDM}'";
                    if (!string.IsNullOrEmpty(inobject.KESHIDM))
                    {
                        sql += $" and YIZHOUKSDM='{inobject.KESHIDM}'";
                    }
                    if (!string.IsNullOrEmpty(inobject.YISHENGDM))
                    {
                        sql += $" and YIZHOUYSDM='{inobject.YISHENGDM}'";
                    }
                    if (!string.IsNullOrEmpty(inobject.GUAHAOBC))
                    {
                        if (inobject.GUAHAOBC != "0" && inobject.GUAHAOBC != "4")
                        {
                            sql += $" and PAIBANLX='{inobject.GUAHAOBC}'";
                        }
                    }
                    DataTable ghhyDt = DBVisitor.ExecuteTable(sql);
                    if (ghhyDt.Rows.Count < 1)
                    {
                        result.Msg = "无所要查询号源信息";
                    }

                    DataTable HouZhenSj = DBVisitor.ExecuteTable("select * from mz_houzhensj a");

                    Body_GUAHAOHYXX hyxxOut = new Body_GUAHAOHYXX {
                        Result = new Result()
                    };
                    hyxxOut.Result    = result;
                    hyxxOut.HAOYUANMX = new List <Entity.HAOYUANXX>();
                    foreach (DataRow variable in ghhyDt.Rows)
                    {
                        #region      //上午号源
                        if (int.Parse(variable["SHANGWUYYXH"].ToString()) > 0)
                        {
                            string[] guaHaoSwXh = variable["SHANGWUYYXHMX"].ToString().Split('^');
                            foreach (var SwXhmx in guaHaoSwXh)
                            {
                                if (!string.IsNullOrEmpty(SwXhmx))
                                {
                                    //判断号源是否被占用
                                    DataRow[] dr =
                                        YghDt.Select(
                                            $"PAIBANID='{variable["YIZHOUPBID"].ToString()}' and PAIBANKSDM='{variable["YIZHOUKSDM"].ToString()}'" +
                                            $" and PAIBANYSGH='{variable["YIZHOUYSDM"].ToString()}' and PAIBANGHLB='{variable["YIZHOUPBLBDM"].ToString()}'" +
                                            $" and HAOYUANSYSJ='1' and HAOYUANSYXH='{SwXhmx}'");
                                    if (dr.Length == 0)
                                    {
                                        Entity.HAOYUANXX hymx1 = new Entity.HAOYUANXX
                                        {
                                            PAIBANRQ   = variable["schedulingdate"].ToString().Substring(0, 10),
                                            GUAHAOBC   = "1",
                                            GUAHAOLB   = variable["YIZHOUPBLBDM"].ToString(),
                                            YISHENGDM  = variable["YIZHOUYSDM"].ToString(),
                                            KESHIDM    = variable["YIZHOUKSDM"].ToString(),
                                            YIZHOUPBID =
                                                variable["YIZHOUPBID"].ToString() + "|" +
                                                variable["YIZHOUYSDM"].ToString() + "|1",
                                            DANGTIANPBID =
                                                variable["YIZHOUPBID"].ToString() + "|" +
                                                variable["YIZHOUYSDM"].ToString() + "|1",
                                            HAOYUANLB = "1",
                                            GUAHAOXH  = SwXhmx,
                                            HAOYUANID =
                                                variable["YIZHOUPBID"].ToString() + "|" +
                                                variable["YIZHOUYSDM"].ToString() + "|1|" + SwXhmx
                                        };
                                        DataRow[] HzSjDr =
                                            HouZhenSj.Select(
                                                $"qishighxh<={SwXhmx} and jieshughxh>={SwXhmx} and shangxiawbz=0 and yishengid='{variable["YIZHOUYSDM"].ToString()}' and KESHIID='{variable["YIZHOUKSDM"].ToString()}'");
                                        if (HzSjDr.Length > 0)
                                        {
                                            hymx1.JIUZHENSJ = HzSjDr[0]["KAISHISJ"].ToString() + "-" +
                                                              HzSjDr[0]["JIESHUSJ"].ToString();
                                        }
                                        else
                                        {
                                            hymx1.JIUZHENSJ = "07:30-12:00";
                                        }
                                        hyxxOut.HAOYUANMX.Add(hymx1);
                                    }
                                }
                            }
                        }
                        #endregion

                        #region   午号源
                        if (int.Parse(variable["XIAWUYYXH"].ToString()) > 0)
                        {
                            string[] guaHaoXwXh = variable["xiawuyyyhmx"].ToString().Split('^');
                            foreach (var XwXhmx in guaHaoXwXh)
                            {
                                if (!string.IsNullOrEmpty(XwXhmx))
                                {
                                    //判断号源是否被占用
                                    DataRow[] dr =
                                        YghDt.Select(
                                            $"PAIBANID='{variable["YIZHOUPBID"].ToString()}' and PAIBANKSDM='{variable["YIZHOUKSDM"].ToString()}'" +
                                            $" and PAIBANYSGH='{variable["YIZHOUYSDM"].ToString()}' and PAIBANGHLB='{variable["YIZHOUPBLBDM"].ToString()}'" +
                                            $" and HAOYUANSYSJ='1' and HAOYUANSYXH='{XwXhmx}'");
                                    if (dr.Length == 0)
                                    {
                                        Entity.HAOYUANXX hymx2 = new Entity.HAOYUANXX
                                        {
                                            PAIBANRQ   = variable["schedulingdate"].ToString().Substring(0, 10),
                                            GUAHAOBC   = "1",
                                            GUAHAOLB   = variable["YIZHOUPBLBDM"].ToString(),
                                            YISHENGDM  = variable["YIZHOUYSDM"].ToString(),
                                            KESHIDM    = variable["YIZHOUKSDM"].ToString(),
                                            YIZHOUPBID =
                                                variable["YIZHOUPBID"].ToString() + "|" +
                                                variable["YIZHOUYSDM"].ToString() + "|2",
                                            DANGTIANPBID =
                                                variable["YIZHOUPBID"].ToString() + "|" +
                                                variable["YIZHOUYSDM"].ToString() + "|2",
                                            HAOYUANLB = "1",
                                            GUAHAOXH  = XwXhmx,
                                            HAOYUANID =
                                                variable["YIZHOUPBID"].ToString() + "|" +
                                                variable["YIZHOUYSDM"].ToString() + "|2|" + XwXhmx
                                        };
                                        //候诊时间
                                        DataRow[] HzSjDr =
                                            HouZhenSj.Select(
                                                $"qishighxh<={XwXhmx} and jieshughxh>={XwXhmx} and shangxiawbz=1 and yishengid='{variable["YIZHOUYSDM"].ToString()}' and KESHIID='{variable["YIZHOUKSDM"].ToString()}'");
                                        if (HzSjDr.Length > 0)
                                        {
                                            hymx2.JIUZHENSJ = HzSjDr[0]["KAISHISJ"].ToString() + "-" +
                                                              HzSjDr[0]["JIESHUSJ"].ToString();
                                        }
                                        else
                                        {
                                            hymx2.JIUZHENSJ = "13:30-17:00";
                                        }
                                        hyxxOut.HAOYUANMX.Add(hymx2);
                                    }
                                }
                            }
                        }
                        #endregion
                    }
                    ehrXml = MessageParse.GetXml(hyxxOut);
                    log.InfoFormat("[{2}][{0}].OUT  {1}", head.DocumentID, LogUnity.I.ShowXml(ehrXml), guid);

                    return;

                    #endregion

                    #region 预约挂号
                case "YUYUEGH":
                    inobject.YUYUEXX.YIZHOUPBID = inobject.YUYUEXX.YIZHOUPBID.Split('|')[0] == "" ? inobject.YUYUEXX.DANGTIANPBID.Split('|')[0] : inobject.YUYUEXX.YIZHOUPBID.Split('|')[0];

                    Body_YUYUEGH yyghOut = new Body_YUYUEGH();
                    yyghOut.Result = new Result();
                    yyghOut.Result = result;
                    sql            = $"select * from V_YIYUANYZPBXX_MCP where YIZHOUPBID='{inobject.YUYUEXX.YIZHOUPBID}'";//YUYUELX 10是分配给转诊预约的,测试时用2
                    dt             = DBVisitor.ExecuteTable(sql);
                    if (dt.Rows.Count == 0)
                    {
                        result.Code    = "-1";
                        result.Msg     = $"找不到排班信息";
                        yyghOut.Result = result;
                        ehrXml         = MessageParse.GetXml(yyghOut);
                        log.InfoFormat("[{2}][{0}].OUT  {1}", head.DocumentID, LogUnity.I.ShowXml(ehrXml), guid);
                        return;
                    }
                    GUAHAOYY_IN ghyy = new GUAHAOYY_IN();
                    ghyy.BASEINFO     = new BASEINFO();
                    ghyy.BASEINFO     = baseinfo;
                    ghyy.JIUZHENKLX   = inobject.YUYUEXX.JIUZHENKLX == "2" ? "3" : "2";
                    ghyy.JIUZHENKH    = inobject.YUYUEXX.JIUZHENKH;
                    ghyy.ZHENGJIANLX  = "1";
                    ghyy.ZHENGJIANHM  = inobject.YUYUEXX.ZHENGJIANHM;
                    ghyy.XINGMING     = inobject.YUYUEXX.XINGMING;
                    ghyy.YIZHOUPBID   = inobject.YUYUEXX.YIZHOUPBID;
                    ghyy.DANGTIANPBID = inobject.YUYUEXX.YIZHOUPBID;
                    ghyy.RIQI         = inobject.YUYUEXX.PAIBANRQ;
                    ghyy.GUAHAOBC     = inobject.YUYUEXX.GUAHAOBC;
                    ghyy.GUAHAOLB     = inobject.YUYUEXX.GUAHAOLB;
                    ghyy.KESHIDM      = inobject.YUYUEXX.KESHIDM;
                    ghyy.YISHENGDM    = inobject.YUYUEXX.YISHENGDM;
                    ghyy.GUAHAOXH     = inobject.YUYUEXX.GUAHAOXH;
                    ghyy.LIANXIDH     = inobject.YUYUEXX.LIANXIDH;
                    ghyy.YUYUELY      = "10";
                    string TradeMsg    = MessageParse.GetXml(ghyy);
                    string TradeMsgOut = "";
                    int    j           = RunService("HIS4.Biz.GUAHAOYY", TradeMsg, ref TradeMsgOut);
                    //   ehrXml = TradeMsgOut;
                    GUAHAOYY_OUT yyout = new GUAHAOYY_OUT();
                    yyout = MessageParse.ToXmlObject <GUAHAOYY_OUT>(TradeMsgOut);
                    if (yyout.OUTMSG.ERRNO != "0")
                    {
                        result.Code    = "-1";
                        result.Msg     = yyout.OUTMSG.ERRMSG;
                        yyghOut.Result = result;
                        ehrXml         = MessageParse.GetXml(yyghOut);
                        log.InfoFormat("[{2}][{0}].OUT  {1}", head.DocumentID, LogUnity.I.ShowXml(ehrXml), guid);
                        return;
                    }

                    yyghOut.GUAHAOYY = new GUAHAOYY();
                    GUAHAOYY Outghyy = new GUAHAOYY
                    {
                        YUYUEID   = yyout.QUHAOMM,
                        QUHAOMM   = yyout.QUHAOMM,
                        JIUZHENSJ = yyout.JIUZHENSJ,
                        GUAHAOXH  = yyout.GUAHAOXH
                    };
                    yyghOut.GUAHAOYY = Outghyy;

                    yyghOut.FEIYONGMX = new List <Entity.FEIYONGXX>();

                    Entity.FEIYONGXX fyxx1 = new Entity.FEIYONGXX
                    {
                        XIANGMUXH = dt.Rows[0]["ZHENLIAOFEIDM"].ToString(),
                        XIANGMUMC = dt.Rows[0]["ZHENLIAOFEIMC"].ToString(),
                        FEIYONGLX = "04",
                        DANJIA    = dt.Rows[0]["ZHENLIAOFEI"].ToString(),
                        XIANGMUDW = "次",
                        SHULIANG  = "1",
                        JINE      = dt.Rows[0]["ZHENLIAOFEI"].ToString(),
                        YIBAODJ   = "",
                        YIBAODM   = "",
                        YIBAOZFBL = ""
                    };
                    yyghOut.FEIYONGMX.Add(fyxx1);

                    Entity.FEIYONGXX fyxx2 = new Entity.FEIYONGXX
                    {
                        XIANGMUXH = dt.Rows[0]["ZHENLIAOJSFDM"].ToString(),
                        XIANGMUMC = dt.Rows[0]["ZHENLIAOJSFMC"].ToString(),
                        FEIYONGLX = "14",
                        DANJIA    = dt.Rows[0]["ZHENLIAOJSF"].ToString(),
                        XIANGMUDW = "次",
                        SHULIANG  = "1",
                        JINE      = dt.Rows[0]["ZHENLIAOJSF"].ToString(),
                        YIBAODJ   = "",
                        YIBAODM   = "",
                        YIBAOZFBL = ""
                    };
                    yyghOut.FEIYONGMX.Add(fyxx2);
                    ehrXml = MessageParse.GetXml(yyghOut);
                    log.InfoFormat("[{2}][{0}].OUT  {1}", head.DocumentID, LogUnity.I.ShowXml(ehrXml), guid);
                    break;

                    #endregion
                    #region 预约退号
                case "YUYUETH":
                    Body_YUYUETH yyth = new Body_YUYUETH();
                    yyth.Result = result;
                    GUAHAOYYTH_IN yythIn = new GUAHAOYYTH_IN();
                    yythIn.BASEINFO    = new BASEINFO();
                    yythIn.BASEINFO    = baseinfo;
                    yythIn.JIUZHENKLX  = inobject.JIUZHENKLX == "2" ? "3" : "2";
                    yythIn.JIUZHENKH   = inobject.JIUZHENKH;
                    yythIn.ZHENGJIANLX = "1";
                    yythIn.ZHENGJIANHM = inobject.ZHENGJIANHM;
                    yythIn.XINGMING    = inobject.XINGMING;
                    yythIn.YUYUELY     = "10";
                    yythIn.QUHAOMM     = inobject.QUHAOMM;
                    TradeMsg           = MessageParse.GetXml(yythIn);
                    TradeMsgOut        = "";
                    j = RunService("HIS4.Biz.GUAHAOYYTH", TradeMsg, ref TradeMsgOut);
                    GUAHAOYYTH_OUT yythout = new GUAHAOYYTH_OUT();
                    yythout = MessageParse.ToXmlObject <GUAHAOYYTH_OUT>(TradeMsgOut);
                    if (yythout.OUTMSG.ERRNO != "0")
                    {
                        result.Code = "-1";
                        result.Msg  = yythout.OUTMSG.ERRMSG;
                        yyth.Result = result;
                        ehrXml      = MessageParse.GetXml(yyth);
                        log.InfoFormat("[{2}][{0}].OUT  {1}", head.DocumentID, LogUnity.I.ShowXml(ehrXml), guid);
                        return;
                    }
                    ehrXml = MessageParse.GetXml(yyth);
                    log.InfoFormat("[{2}][{0}].OUT  {1}", head.DocumentID, LogUnity.I.ShowXml(ehrXml), guid);
                    break;

                    #endregion
                    #region  病情自述
                //modify by 沈宝
                case "BINGQINGZS":
                    Body_BINGQINGZS bqzs = new Body_BINGQINGZS();
                    bqzs.Result = result;
                    BINGQINGZS_IN bqzs_in = new BINGQINGZS_IN();
                    bqzs_in.BASEINFO   = new BASEINFO();
                    bqzs_in.BASEINFO   = baseinfo;
                    bqzs_in.YILIAOJGDM = inobject.YILIAOJGDM;
                    if (string.IsNullOrEmpty(bqzs_in.YILIAOJGDM))
                    {
                        result.Code = "-1";
                        result.Msg  = "医疗机构不能为空!";
                        bqzs.Result = result;
                        ehrXml      = MessageParse.GetXml(bqzs);
                        log.InfoFormat("[{2}][{0}].OUT  {1}", head.DocumentID, LogUnity.I.ShowXml(ehrXml), guid);
                        return;
                    }
                    bqzs_in.JIUZHENKLX  = inobject.JIUZHENKLX;
                    bqzs_in.JIUZHENKH   = inobject.JIUZHENKH;
                    bqzs_in.ZHENGJIANLX = inobject.ZHENGJIANLX;
                    if (string.IsNullOrEmpty(bqzs_in.ZHENGJIANLX))
                    {
                        result.Code = "-1";
                        result.Msg  = "证件类型不能为空!";
                        bqzs.Result = result;
                        ehrXml      = MessageParse.GetXml(bqzs);
                        log.InfoFormat("[{2}][{0}].OUT  {1}", head.DocumentID, LogUnity.I.ShowXml(ehrXml), guid);
                        return;
                    }
                    bqzs_in.ZHENGJIANHM = inobject.ZHENGJIANHM;
                    if (string.IsNullOrEmpty(bqzs_in.ZHENGJIANHM))
                    {
                        result.Code = "-1";
                        result.Msg  = "证件号码不能为空!";
                        bqzs.Result = result;
                        ehrXml      = MessageParse.GetXml(bqzs);
                        log.InfoFormat("[{2}][{0}].OUT  {1}", head.DocumentID, LogUnity.I.ShowXml(ehrXml), guid);
                        return;
                    }
                    bqzs_in.XINGMING = inobject.XINGMING;
                    if (string.IsNullOrEmpty(bqzs_in.XINGMING))
                    {
                        result.Code = "-1";
                        result.Msg  = "姓名不能为空!";
                        bqzs.Result = result;
                        ehrXml      = MessageParse.GetXml(bqzs);
                        log.InfoFormat("[{2}][{0}].OUT  {1}", head.DocumentID, LogUnity.I.ShowXml(ehrXml), guid);
                        return;
                    }
                    bqzs_in.YUYUEID = inobject.YUYUEID;      //预约ID 是返回的信息的唯一标示;
                    if (string.IsNullOrEmpty(bqzs_in.YUYUEID))
                    {
                        result.Code = "-1";
                        result.Msg  = "预约ID不能为空!";
                        bqzs.Result = result;
                        ehrXml      = MessageParse.GetXml(bqzs);
                        log.InfoFormat("[{2}][{0}].OUT  {1}", head.DocumentID, LogUnity.I.ShowXml(ehrXml), guid);
                        return;
                    }
                    bqzs_in.GUAHAOXH = inobject.GUAHAOXH;
                    if (string.IsNullOrEmpty(bqzs_in.GUAHAOXH))
                    {
                        result.Code = "-1";
                        result.Msg  = "挂号序号不能为空!";
                        bqzs.Result = result;
                        ehrXml      = MessageParse.GetXml(bqzs);
                        log.InfoFormat("[{2}][{0}].OUT  {1}", head.DocumentID, LogUnity.I.ShowXml(ehrXml), guid);
                        return;
                    }
                    bqzs_in.RIQI = inobject.RIQI;
                    if (string.IsNullOrEmpty(bqzs_in.RIQI))
                    {
                        result.Code = "-1";
                        result.Msg  = "日期不能为空!";
                        bqzs.Result = result;
                        ehrXml      = MessageParse.GetXml(bqzs);
                        log.InfoFormat("[{2}][{0}].OUT  {1}", head.DocumentID, LogUnity.I.ShowXml(ehrXml), guid);
                        return;
                    }
                    bqzs_in.YUYUELY = inobject.YUYUELY;
                    if (string.IsNullOrEmpty(bqzs_in.YUYUELY))
                    {
                        result.Code = "-1";
                        result.Msg  = "预约来源不能为空!";
                        bqzs.Result = result;
                        ehrXml      = MessageParse.GetXml(bqzs);
                        log.InfoFormat("[{2}][{0}].OUT  {1}", head.DocumentID, LogUnity.I.ShowXml(ehrXml), guid);
                        return;
                    }
                    bqzs_in.GUOMINYW   = inobject.GUOMINYW;
                    bqzs_in.BINGQINGMS = inobject.BINGQINGMS;
                    string    yuYuesj   = @"select * from mz_guahaoyy where yuyueid = '{0}'and yuyuezt='0'";  //预约状态 0 未取,为1 取过,为2 取消;取过挂号单不在病情描述;
                    DataTable dtYuYueJL = DBVisitor.ExecuteTable(string.Format(yuYuesj, bqzs_in.YUYUEID));
                    if (dtYuYueJL == null || dtYuYueJL.Rows.Count <= 0)
                    {
                        result.Code = "-1";
                        result.Msg  = "未找到预约记录!";
                        bqzs.Result = result;
                        ehrXml      = MessageParse.GetXml(bqzs);
                        log.InfoFormat("[{2}][{0}].OUT  {1}", head.DocumentID, LogUnity.I.ShowXml(ehrXml), guid);
                        return;
                    }
                    else
                    {
                        string bingqingmsgx = @"update mz_guahaoyy set JIWANGSHI='{0}',GUOMINSHI='{1}' where yuyueid = '{2}'";
                        try
                        {
                            DBVisitor.ExecuteNonQuery(string.Format(bingqingmsgx, bqzs_in.BINGQINGMS, bqzs_in.GUOMINYW, bqzs_in.YUYUEID));
                        }
                        catch (Exception e)
                        {
                            result.Code = "-1";
                            result.Msg  = e.Message;
                            bqzs.Result = result;
                            ehrXml      = MessageParse.GetXml(bqzs);
                            log.InfoFormat("[{2}][{0}].OUT  {1}", head.DocumentID, LogUnity.I.ShowXml(ehrXml), guid);
                            return;
                        }
                    }
                    ehrXml = MessageParse.GetXml(bqzs);
                    log.InfoFormat("[{2}][{0}].OUT  {1}", head.DocumentID, LogUnity.I.ShowXml(ehrXml), guid);
                    break;
                    #endregion

                case "PAIBANHYXX":

                    break;
                }
            }
            catch (Exception e)
            {
                log.InfoFormat("{0}", e.Message);
            }
        }
Exemplo n.º 30
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);
                    }
                }
            }
        }