Example #1
0
        }//挂号退号22031

        public string MENZHENCFJL(DataTable dt)
        {
            string reXML = "<Response>";

            #region 固定 base信息
            dynamic bentity = Activator.CreateInstance(Type.GetType("MEDI.SIIM.SelfServiceWeb.Entity.BASEINFO"));

            BASEINFO baseInfo = new BASEINFO();
            baseInfo.CAOZUOYDM = dt.Rows[0]["UserID"].ToString();
            baseInfo.CAOZUOYXM = dt.Rows[0]["UserID"].ToString();
            baseInfo.CAOZUORQ  = DateTime.Now;
            baseInfo.XITONGBS  = 0;
            baseInfo.FENYUANDM = 0;

            #endregion

            #region 将长城的入参 转化为服务平台入参
            MENZHENCFJL_IN menzhencfjl = new MENZHENCFJL_IN();
            menzhencfjl.JIUZHENKH = dt.Rows[0]["CardNo"].ToString(); //就诊卡号
            menzhencfjl.YILIAOLB  = "00";                            //暂定为00,普通

            #endregion
            //和服务平台交易

            MENZHENCFJL_OUT Out = WCFServer.Call <MENZHENCFJL_IN, MENZHENCFJL_OUT>(menzhencfjl);
            if (Out.OUTMSG.ERRNO != "0")//交易错误
            {
                reXML += "<ResponseCode>-1</ResponseCode>";
                reXML += "<ResponseMsg>" + Out.OUTMSG.ERRMSG + "</ResponseMsg>";
            }
            else
            {
                //var bb = Out.CHUFANGJL.Count;
                var aa = Out.FEIYONGMXTS;
                reXML += "<ResponseCode>0</ResponseCode>"; //交易结果
                reXML += "<ResponseMsg></ResponseMsg>";    //应答信息

                for (int j = 0; j < Out.FEIYONGMXTS; j++)
                {
                    reXML += "<Item>";
                    reXML += "<PressID>" + Out.CHUFANGJL[j].CHUFANGID + "</PressID>";
                    reXML += "<PressTpye>" + Out.CHUFANGJL[j].CHUFANGLB + "</PressTpye>";
                    reXML += "<PressDate>" + Out.CHUFANGJL[j].CHUFANGRQ + "</PressDate>";
                    reXML += "<PressName>" + Out.CHUFANGJL[j].CHUFANGMC + "<PressName>";
                    reXML += "<TotalFee><TotalFee>";
                    reXML += "<DeptName>" + Out.CHUFANGJL[j].JIUZHENKS + "</DeptName>";
                    reXML += "<Doctor>" + Out.CHUFANGJL[j].JIUZHENYS + "</Doctor>";
                    reXML += "</Item>";
                }
            }

            //将服务平台出差转化为长城需要的出参
            reXML += "</Response>";
            return(reXML);
        }
Example #2
0
        public BASEINFO GetBASEINFO()
        {
            var baseinfo = new BASEINFO();

            baseinfo.CAOZUOYDM    = txtczgh.Text;                                 //操作员代码
            baseinfo.CAOZUOYXM    = txtczxm.Text;                                 //操作员姓名
            baseinfo.CAOZUORQ     = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //操作日期
            baseinfo.XITONGBS     = "TESTDemo";                                   //系统标识
            baseinfo.FENYUANDM    = "0";                                          //分院代码
            baseinfo.ZHONGDUANJBH = "0";                                          //	终端机编号
            baseinfo.ZHONGDUANLSH = Guid.NewGuid().ToString("N");
            return(baseinfo);
        }
Example #3
0
        }//人员注册

        /// <summary>
        /// 查询挂号科室2201
        /// 挂号科室信息
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        public string GUAHAOKSXX(DataTable dt)
        {
            string reXML = "<Response>";

            #region 固定 base信息
            dynamic  bentity  = Activator.CreateInstance(Type.GetType("MEDI.SIIM.SelfServiceWeb.Entity.BASEINFO"));
            BASEINFO baseInfo = new BASEINFO();
            baseInfo.CAOZUOYDM = dt.Rows[0]["UserID"].ToString();
            baseInfo.CAOZUOYXM = dt.Rows[0]["UserID"].ToString();
            baseInfo.CAOZUORQ  = DateTime.Now;
            baseInfo.XITONGBS  = 0;
            baseInfo.FENYUANDM = 0;
            #endregion

            #region 将长城的入参 转化为服务平台入参
            GUAHAOKSXX_IN guahaoksxx = new GUAHAOKSXX_IN();
            guahaoksxx.BASEINFO = baseInfo;                                          //固定base信息
            guahaoksxx.GUAHAOFS = 0;                                                 //0.全部,1.挂号,2.预约
            guahaoksxx.RIQI     = null;                                              //DateTime.Parse("");//DateTime.Parse(dt.Rows[0]["parDeptID"].ToString());//空,返回全部可挂号科室(YYYY-MM-DD)
            guahaoksxx.GUAHAOBC = 0;                                                 //0全部 1上午 2 下午
            guahaoksxx.GUAHAOLB = Unity.GUAHAOLBZH(dt.Rows[0]["TypeID"].ToString()); //0全部 1普通 2急诊 >2相关专家类别

            #endregion
            //和服务平台交易
            GUAHAOKSXX_OUT Out = WCFServer.Call <GUAHAOKSXX_IN, GUAHAOKSXX_OUT>(guahaoksxx);

            if (Out.OUTMSG.ERRNO != "0")//交易错误
            {
                reXML += "<ResponseCode>-1</ResponseCode>";
                reXML += "<ResponseMsg>" + Out.OUTMSG.ERRMSG + "</ResponseMsg>";
            }
            else
            {
                reXML += "<ResponseCode>0</ResponseCode>"; //交易结果
                reXML += "<ResponseMsg></ResponseMsg>";    //应答信息
                //循环
                for (int i = 0; i < Out.KESHIMX.Count; i++)
                {
                    reXML += "<Item>";                                              //科室信息
                    reXML += "<DeptID>" + Out.KESHIMX[i].KESHIDM + "</DeptID>";     //科室编码
                    reXML += "<DeptName>" + Out.KESHIMX[i].KESHIMC + "</DeptName>"; //科室名称
                    reXML += "</Item>";
                }
            }

            //将服务平台出差转化为长城需要的出参
            reXML += "</Response>";
            return(reXML);
        }//查询挂号科室2201---挂号科室信息
Example #4
0
        public string MENZHENFYMX(DataTable dt)
        {
            string reXML = "<Response>";

            #region 固定 base信息
            dynamic bentity = Activator.CreateInstance(Type.GetType("MEDI.SIIM.SelfServiceWeb.Entity.BASEINFO"));

            BASEINFO baseInfo = new BASEINFO();
            baseInfo.CAOZUOYDM = dt.Rows[0]["UserID"].ToString();
            baseInfo.CAOZUOYXM = dt.Rows[0]["UserID"].ToString();
            baseInfo.CAOZUORQ  = DateTime.Now;
            baseInfo.XITONGBS  = 0;
            baseInfo.FENYUANDM = 0;

            #endregion

            #region 将长城的入参 转化为服务平台入参
            MENZHENFYMX_IN menzhenfymx = new MENZHENFYMX_IN();
            menzhenfymx.JIUZHENKLX = "1"; //就诊卡类型
            menzhenfymx.JIUZHENKH  = dt.Rows[0]["CardNo"].ToString();
            menzhenfymx.BINGRENLB  = "1";
            menzhenfymx.YIBAOKLX   = "3";
            menzhenfymx.YILIAOLB   = "00";
            menzhenfymx.JIESUANLB  = "02";
            #endregion

            MENZHENFYMX_OUT Out = WCFServer.Call <MENZHENFYMX_IN, MENZHENFYMX_OUT>(menzhenfymx);
            if (Out.OUTMSG.ERRNO != "0")//交易错误
            {
                reXML += "<ResponseCode>-1</ResponseCode>";
                reXML += "<ResponseMsg>" + Out.OUTMSG.ERRMSG + "</ResponseMsg>";
            }
            else
            {
                reXML += "<ResponseCode>0</ResponseCode>";  //交易结果
                reXML += "<ResponseMsg>退号成功</ResponseMsg>"; //应答信息
            }

            //将服务平台出差转化为长城需要的出参
            reXML += "</Response>";
            return(reXML);
        }//f费用明细---查询处方明细2302
Example #5
0
        }//挂号预处理2203----挂号预结算

        /// <summary>
        /// 挂号退号
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        public string GUAHAOTH(DataTable dt)
        {
            string reXML = "<Response>";

            #region 固定 base信息
            dynamic bentity = Activator.CreateInstance(Type.GetType("MEDI.SIIM.SelfServiceWeb.Entity.BASEINFO"));

            BASEINFO baseInfo = new BASEINFO();
            // baseInfo.CAOZUOYDM = dt.Rows[0]["UserID"].ToString();
            // baseInfo.CAOZUOYXM = dt.Rows[0]["UserID"].ToString();
            baseInfo.CAOZUORQ  = DateTime.Now;
            baseInfo.XITONGBS  = 0;
            baseInfo.FENYUANDM = 0;

            #endregion
            #region 将长城的入参 转化为服务平台入参
            GUAHAOTH_IN guahaoth = new GUAHAOTH_IN();
            guahaoth.JIUZHENKLX = 1;                                     //就诊卡类型
            guahaoth.JIUZHENKH  = dt.Rows[0]["CardNo"].ToString();       //就诊卡号
            guahaoth.XINGMING   = "";
            guahaoth.GUAHAOID   = dt.Rows[0]["HosTranSerNo"].ToString(); //挂号ID
            guahaoth.TUIHAOLX   = 1;                                     //退号类型

            #endregion
            //和服务平台交易

            GUAHAOTH_OUT Out = WCFServer.Call <GUAHAOTH_IN, GUAHAOTH_OUT>(guahaoth);
            if (Out.OUTMSG.ERRNO != "0")//交易错误
            {
                reXML += "<ResponseCode>-1</ResponseCode>";
                reXML += "<ResponseMsg>" + Out.OUTMSG.ERRMSG + "</ResponseMsg>";
            }
            else
            {
                reXML += "<ResponseCode>0</ResponseCode>";  //交易结果
                reXML += "<ResponseMsg>退号成功</ResponseMsg>"; //应答信息
            }

            //将服务平台出差转化为长城需要的出参
            reXML += "</Response>";
            return(reXML);
        }//挂号退号22031
Example #6
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);
            }
        }
Example #7
0
        /// <summary>
        /// 获取患者信息接口(居民健康卡、医保)2002
        /// 人员信息
        /// </summary>
        /// <param name="KeShiId"></param>
        public string RENYUANXX(DataTable dt)
        {
            string reXML = "<Response>";

            #region 固定 base信息
            dynamic  bentity  = Activator.CreateInstance(Type.GetType("MEDI.SIIM.SelfServiceWeb.Entity.BASEINFO"));
            BASEINFO baseInfo = new BASEINFO();
            baseInfo.CAOZUOYDM = dt.Rows[0]["UserID"].ToString();
            baseInfo.CAOZUOYXM = dt.Rows[0]["UserID"].ToString();
            baseInfo.CAOZUORQ  = DateTime.Now;
            baseInfo.XITONGBS  = 0;
            baseInfo.FENYUANDM = 0;
            #endregion

            #region 将长城的入参 转化为服务平台入参
            RENYUANXX_IN renyuanxx = new RENYUANXX_IN();
            renyuanxx.BASEINFO   = baseInfo;
            renyuanxx.JIUZHENKLX = 1;                               //暂定永远是1
            renyuanxx.JIUZHENKH  = dt.Rows[0]["CardNo"].ToString(); //就诊卡号
            renyuanxx.BINGRENLB  = 1;                               //所有病人都按自费病人处理
            renyuanxx.YILIAOLB   = "00";                            //医疗类别,00-普通
            renyuanxx.JIESUANLB  = "02";                            //结算类别,02-门诊收费
            renyuanxx.JIUZHENRQ  = DateTime.Now.Date;
            #endregion
            //和服务平台交易
            RENYUANXX_OUT Out = WCFServer.Call <RENYUANXX_IN, RENYUANXX_OUT>(renyuanxx);
            //判断性别
            var xingbiesb = Unity.XINGBIEFCCFZH(Out.XINGBIE);


            if (Out.OUTMSG.ERRNO != "0")//交易错误
            {
                if (Out.OUTMSG.ERRNO == "-2")
                {
                    reXML += "<ResponseCode>0</ResponseCode>";
                    reXML += "<ResponseMsg>卡未注册</ResponseMsg>";  //应答信息
                    reXML += "<CardStatus>1</CardStatus>";
                    reXML += "<PatientID></PatientID> ";         //病人编号
                    reXML += "<PatientType></PatientType> ";     //病人类型
                    reXML += "<Name></Name> ";                   //姓名
                    reXML += "<Sex></Sex> ";                     //性别
                    reXML += "<Age></Age> ";                     //年龄
                    reXML += "<IDCardNo></IDCardNo> ";           //与证件类型数据字典对应的证件号
                    reXML += "<IDCardType></IDCardType> ";       //证件类型
                    reXML += "<Mobile></Mobile> ";               //手机号
                    reXML += "<BankCardNo></BankCardNo> ";       //银行卡号,居民健康卡的银行卡号
                    reXML += "<FarmInsurCard></FarmInsurCard> "; //农保卡号,非农保则为空
                }
                else
                {
                    reXML += "<ResponseCode>-1</ResponseCode>";
                    reXML += "<ResponseMsg>" + Out.OUTMSG.ERRMSG + "</ResponseMsg>";
                }
            }

            /*
             * else if (Out.OUTMSG.ERRNO == "-2")
             * {
             * reXML += "<ResponseCode>-1</ResponseCode>";
             * reXML += "<CardStatus>1</CardStatus>";
             * }*/
            else
            {
                reXML += "<ResponseCode>0</ResponseCode>";                                                 //交易结果
                reXML += "<ResponseMsg></ResponseMsg>";                                                    //应答信息
                //**
                reXML += "<CardStatus>0</CardStatus>";                                                     //卡状态,联众无这个关键字
                //**
                reXML += "<PatientID>" + Out.JIUZHENKH + "</PatientID> ";                                  //病人编号
                reXML += "<PatientType>" + Unity.BingRenLb2(Out.BINGRENLB.ToString()) + "</PatientType> "; //病人类型
                reXML += "<Name>" + Out.XINGMING + "</Name> ";                                             //姓名
                reXML += "<Sex>" + xingbiesb + "</Sex> ";                                                  //性别
                DateTime m_Str = DateTime.Parse(Out.CHUSHENGRQ.ToString());
                int      m_Y1  = m_Str.Year;
                int      m_Y2  = DateTime.Now.Year;
                int      m_Age = m_Y2 - m_Y1;
                reXML += "<Age>" + m_Age + "</Age> ";                           //年龄
                reXML += "<IDCardNo>" + Out.ZHENGJIANHM + "</IDCardNo> ";       //与证件类型数据字典对应的证件号
                reXML += "<IDCardType>" + Out.ZHENGJIANLX + "</IDCardType> ";   //证件类型
                reXML += "<Mobile>" + Out.LIANXIDH + "</Mobile> ";              //手机号
                reXML += "<BankCardNo> </BankCardNo> ";                         //银行卡号,居民健康卡的银行卡号
                reXML += "<FarmInsurCard>" + Out.YIBAOKH + "</FarmInsurCard> "; //农保卡号,非农保则为空
            }

            //将服务平台出差转化为长城需要的出参
            reXML += "</Response>";
            return(reXML);
        }//获取患者信息接口(居民健康卡、医保)2002---人员信息
Example #8
0
        }//查询挂号医生2202---挂号医生信息

        /// <summary>
        ///挂号预算2203
        ///挂号预结算
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        public string GUAHAOCL(DataTable dt)
        {
            string reXML = "<Response>";

            #region 固定 base信息
            dynamic  bentity  = Activator.CreateInstance(Type.GetType("MEDI.SIIM.SelfServiceWeb.Entity.BASEINFO"));
            BASEINFO baseInfo = new BASEINFO();
            baseInfo.CAOZUOYDM = dt.Rows[0]["UserID"].ToString();
            baseInfo.CAOZUOYXM = dt.Rows[0]["UserID"].ToString();
            baseInfo.CAOZUORQ  = DateTime.Now;
            baseInfo.XITONGBS  = 0;
            baseInfo.FENYUANDM = 0;
            #endregion

            #region 将长城的入参 转化为服务平台入参
            GUAHAOCL_IN guahaoycl = new GUAHAOCL_IN();
            //科室和医生代码
            string   xinxi = dt.Rows[0]["RowID"].ToString();
            string[] xin   = xinxi.Split('/');
            //挂号医生信息入参
            guahaoycl.BASEINFO     = baseInfo;                            //固定base信息
            guahaoycl.JIUZHENKLX   = 1;                                   //卡类型,暂定是 1
            guahaoycl.JIUZHENKH    = dt.Rows[0]["CardNo"].ToString();     //就诊卡号
            guahaoycl.BINGRENLB    = 1;                                   //所有病人都按自费病人处理
            guahaoycl.BINGRENXZ    = "";                                  //病人性质
            guahaoycl.YIBAOKLX     = "3";                                 //医保卡类型
            guahaoycl.YIBAOKMM     = dt.Rows[0]["SecurityNo"].ToString(); //
            guahaoycl.YIBAOKXX     = "";                                  //医保卡信息
            guahaoycl.YILIAOLB     = "00";                                //医疗类别,00-普通
            guahaoycl.JIESUANLB    = "01";                                //结算类别,02-门诊收费
            guahaoycl.YIZHOUPBID   = "";                                  //一周排班ID
            guahaoycl.DANGTIANPBID = "";                                  //当天排班ID
            guahaoycl.RIQI         = DateTime.Now.Date;                   //日期
            guahaoycl.GUAHAOBC     = 1;                                   //挂号班次,1上午,2下午
            guahaoycl.GUAHAOLB     = 1;                                   //挂号类别,暂定为 1普通
            guahaoycl.KESHIDM      = xin[0];                              //科室代码
            guahaoycl.YISHENGDM    = xin[1];                              //医生代码
            guahaoycl.GUAHAOXH     = "0";                                 //挂号序号,传0由HIS分配
            guahaoycl.GUAHAOID     = "0";                                 //预处理传0
            guahaoycl.DAISHOUFY    = 1;                                   //代收费用,0不代收,1代收
            guahaoycl.YUYUELY      = "";                                  //暂时不知是什么
            guahaoycl.BINGLIBH     = "";                                  //病历本号

            #endregion
            //和服务平台交易
            GUAHAOCL_OUT Out = WCFServer.Call <GUAHAOCL_IN, GUAHAOCL_OUT>(guahaoycl);

            if (Out.OUTMSG.ERRNO != "0")//交易错误
            {
                reXML += "<ResponseCode>-1</ResponseCode>";
                reXML += "<ResponseMsg>" + Out.OUTMSG.ERRMSG + "</ResponseMsg>";
            }
            else
            {
                reXML += "<ResponseCode>0</ResponseCode>";                         //交易结果
                reXML += "<ResponseMsg></ResponseMsg>";                            //应答信息
                reXML += "<SumFee>" + Out.JIESUANJG.FEIYONGZE + "</SumFee>";       //费用总额
                reXML += "<SociatyFee></SociatyFee>";                              //社保金额,暂时为空
                reXML += "<PatFee>" + Out.JIESUANJG.FEIYONGZE + "</PatFee>";       //自费金额;
                reXML += "<RegFee></RegFee>";                                      //挂号费,空
                reXML += "<ClinicFee>" + Out.JIESUANJG.FEIYONGZE + "</ClinicFee>"; //诊查费,空
                reXML += "<HosTranSerNo>" + Out.GUAHAOID + "</HosTranSerNo>";      //医院流水号。暂定为挂号ID
                reXML += "<CalInfo></CalInfo>";                                    //预算信息。暂时为空
                reXML += "<ReceiptInfo></ReceiptInfo>";                            //医保打印信息,暂时为空
            }

            //将服务平台出差转化为长城需要的出参
            reXML += "</Response>";
            return(reXML);
        }//挂号预处理2203----挂号预结算
Example #9
0
        }//查询挂号科室2201---挂号科室信息

        ///<summary>
        ///查询挂号医生2202
        ///挂号医生信息
        /// </summary>
        public string GUAHAOYSXX(DataTable dt)
        {
            string reXML = "<Response>";

            #region 固定 base信息
            dynamic  bentity  = Activator.CreateInstance(Type.GetType("MEDI.SIIM.SelfServiceWeb.Entity.BASEINFO"));
            BASEINFO baseInfo = new BASEINFO();
            baseInfo.CAOZUOYDM = dt.Rows[0]["UserID"].ToString();
            baseInfo.CAOZUOYXM = dt.Rows[0]["UserID"].ToString();
            baseInfo.CAOZUORQ  = DateTime.Now;
            baseInfo.XITONGBS  = 0;
            baseInfo.FENYUANDM = 0;
            #endregion

            #region 将长城的入参 转化为服务平台入参
            GUAHAOYSXX_IN guahaoysxx = new GUAHAOYSXX_IN();
            //挂号医生信息入参
            guahaoysxx.BASEINFO = baseInfo;                                          //固定base信息
            guahaoysxx.GUAHAOFS = 0;                                                 //0.全部,1.挂号,2.预约
            guahaoysxx.RIQI     = null;                                              //DateTime.Parse("");//DateTime.Parse(dt.Rows[0]["parDeptID"].ToString());//空,返回全部可挂号科室(YYYY-MM-DD)
            guahaoysxx.GUAHAOBC = 0;                                                 //0全部 1上午 2 下午
            guahaoysxx.GUAHAOLB = Unity.GUAHAOLBZH(dt.Rows[0]["TypeID"].ToString()); //0普通 1专家 <->  0全部 1普通 2急诊 >2相关专家类别
            guahaoysxx.KESHIDM  = dt.Rows[0]["DeptID"].ToString();                   //科室代码,空显示全部科室的医生

            //挂号号源信息

            #endregion
            //和服务平台交易
            GUAHAOYSXX_OUT Out = WCFServer.Call <GUAHAOYSXX_IN, GUAHAOYSXX_OUT>(guahaoysxx);

            if (Out.OUTMSG.ERRNO != "0")//交易错误
            {
                reXML += "<ResponseCode>-1</ResponseCode>";
                reXML += "<ResponseMsg>" + Out.OUTMSG.ERRMSG + "</ResponseMsg>";
            }
            else
            {
                reXML += "<ResponseCode>0</ResponseCode>";             //交易结果
                reXML += "<ResponseMsg></ResponseMsg>";                //应答信息
                reXML += "<Item>";                                     //医生信息
                reXML += "<RowID>" + guahaoysxx.KESHIDM + "/</RowID>"; //号源ID
                reXML += "<DoctID></DoctID>";                          //医生代码
                reXML += "<DoctName>普通</DoctName>";                    //医生姓名
                reXML += "<RankID></RankID>";                          //医生级别编码
                reXML += "<RankName></RankName>";                      //医生级别名称,不确定
                reXML += "<RegFee></RegFee>";                          //挂号费
                reXML += "<ClinicFee></ClinicFee>";                    //诊查费
                reXML += "<Specialty></Specialty>";                    //医生特长
                reXML += "<TimeRegion>全天</TimeRegion>";                //号别时段
                reXML += "<RegID></RegID>";                            //排版序号
                reXML += "<RegRemained></RegRemained>";                //剩余号源
                reXML += "</Item>";
                //循环
                for (int i = 0; i < Out.YISHENGMX.Count; i++)
                {
                    var aa = Out.YISHENGMX.Count;
                    reXML += "<Item>";
                    reXML += "<RowID>" + guahaoysxx.KESHIDM + "/" + Out.YISHENGMX[i].YISHENGDM + "</RowID>"; //号源ID
                    reXML += "<DoctID>" + Out.YISHENGMX[i].YISHENGDM + "</DoctID>";                          //医生代码
                    reXML += "<DoctName>" + Out.YISHENGMX[i].YISHENGXM + "</DoctName>";                      //医生姓名
                    reXML += "<RankID>" + Out.YISHENGMX[i].YISHENGZC + "</RankID>";                          //医生级别编码
                    reXML += "<RankName>" + Out.YISHENGMX[i].YISHENGTC + "</RankName>";                      //医生级别名称,不确定
                    reXML += "<RegFee></RegFee>";                                                            //挂号费
                    reXML += "<ClinicFee></ClinicFee>";                                                      //诊查费
                    reXML += "<Specialty>" + Out.YISHENGMX[i].YISHENGJS + "</Specialty>";                    //医生特长
                    reXML += "<TimeRegion>全天</TimeRegion>";                                                  //号别时段
                    reXML += "<RegID></RegID>";                                                              //排版序号
                    reXML += "<RegRemained></RegRemained>";                                                  //剩余号源
                    reXML += "</Item>";
                }
            }

            //将服务平台出差转化为长城需要的出参
            reXML += "</Response>";
            return(reXML);
        }//查询挂号医生2202---挂号医生信息
Example #10
0
        }//获取患者信息接口(居民健康卡、医保)2002---人员信息

        /// <summary>
        ///  居民健康卡 /农信银行卡 建档
        ///  人员注册
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        public string RENYUANZC(DataTable dt)
        {
            string reXML = "<Response>";

            #region 固定 base信息
            dynamic  bentity  = Activator.CreateInstance(Type.GetType("MEDI.SIIM.SelfServiceWeb.Entity.BASEINFO"));
            BASEINFO baseInfo = new BASEINFO();
            baseInfo.CAOZUOYDM = dt.Rows[0]["UserID"].ToString();
            baseInfo.CAOZUOYXM = dt.Rows[0]["UserID"].ToString();
            baseInfo.CAOZUORQ  = DateTime.Now;
            baseInfo.XITONGBS  = 0;
            baseInfo.FENYUANDM = 0;
            #endregion

            #region 将长城的入参 转化为服务平台入参
            RENYUANZC_IN renyuanzc = new RENYUANZC_IN();
            renyuanzc.BASEINFO      = baseInfo;
            renyuanzc.JIUZHENKH     = "1";                                           //暂定永远是1
            renyuanzc.JIUZHENKH     = dt.Rows[0]["CardNo"].ToString();               //就诊卡号
            renyuanzc.BINGRENLB     = "1";                                           //所有病人都按自费病人处理
            renyuanzc.YIBAOKXX      = "";                                            //医保卡信息
            renyuanzc.YIBAOKH       = "";                                            //医保卡号
            renyuanzc.GERENBH       = "";                                            //dt.Rows[0]["TerTranSerNo"].ToString();//个人编号
            renyuanzc.BINGLIBH      = "";                                            //病历本号
            renyuanzc.XINGMING      = dt.Rows[0]["Name"].ToString();                 //姓名
            renyuanzc.XINGBIE       = Unity.XINGBIEZH(dt.Rows[0]["Sex"].ToString()); //性别
            renyuanzc.MINZU         = "";                                            //民族
            renyuanzc.CHUSHENGRQ    = dt.Rows[0]["Birthday"].ToString();             //出生日期
            renyuanzc.ZHENGJIANLX   = "";                                            //暂时未找到
            renyuanzc.ZHENGJIANHM   = dt.Rows[0]["IDCardNo"].ToString();             //未找到
            renyuanzc.DANWEILX      = "00";                                          //暂定单位类型无
            renyuanzc.DANWEIBH      = "";                                            //单位编号
            renyuanzc.DANWEIMC      = "";                                            //单位名称
            renyuanzc.JIATINGZZ     = dt.Rows[0]["Address"].ToString();              //家庭地址
            renyuanzc.RENYUANLB     = "";                                            //人员类别
            renyuanzc.LIANXIDH      = dt.Rows[0]["Mobile"].ToString();               //联系电话
            renyuanzc.YINHANGKH     = "";                                            //银行卡号
            renyuanzc.QIANYUEBZ     = "0";                                           //签约标志,0未签约,1签约。不知道是什么
            renyuanzc.YILIAOLB      = "00";                                          //医保类型,暂定为 00普通
            renyuanzc.JIESUANLB     = "02";                                          //就算类别,暂定为 02门诊收费
            renyuanzc.YIBAOKMM      = "";                                            //医保卡密码
            renyuanzc.ZHAOPIAN      = "";                                            //照片
            renyuanzc.SHIFOUYK      = "1";                                           //是否有卡,暂定为1有卡,传0为无卡
            renyuanzc.BANGDINGYHK   = "0";                                           //绑定银行卡。暂定为 0否,传1 为是
            renyuanzc.ZHONGDUANSBXX = "";                                            //终端设备信息

            #endregion
            //和服务平台交易
            RENYUANZC_OUT Out = WCFServer.Call <RENYUANZC_IN, RENYUANZC_OUT>(renyuanzc);

            if (Out.OUTMSG.ERRNO != "0")
            {
                reXML += "<ResponseCode>-1</ResponseCode>";
                reXML += "<ResponseMsg>" + Out.OUTMSG.ERRMSG + "</ResponseMsg>";
            }
            else
            {
                reXML += "<ResponseCode>0</ResponseCode>";
                reXML += "<ResponseMsg>建档成功</ResponseMsg>";
                reXML += "<OpDateTime>" + baseInfo.CAOZUORQ + "</OpDateTime>";
                reXML += "<HosTranSerNo></HosTranSerNo>";
            }

            //将服务平台出差转化为长城需要的出参
            reXML += "</Response>";
            return(reXML);
        }//人员注册