}//挂号退号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); }
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); }
}//人员注册 /// <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---挂号科室信息
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
}//挂号预处理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
/// <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); } }
/// <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---人员信息
}//查询挂号医生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----挂号预结算
}//查询挂号科室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---挂号医生信息
}//获取患者信息接口(居民健康卡、医保)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); }//人员注册