/// <summary> /// 输液巡视 /// </summary> /// <returns></returns> public ActionResult Driplist() { var sod = GetParams(); if (!sod.ContainsKey("StartTime")) { sod["StartTime"] = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"); } if (!sod.ContainsKey("EndTime")) { sod["EndTime"] = DateTime.Now.ToString("yyyy-MM-dd"); } var service = ThirdServiceContext.FindService("1bd9454c-a9a2-4514-a1c2-fe0c040665d0"); if (service == null) { return(this.MyJson(0, "服务定义引用错误。")); } //var list = service.DoService(new //{ // HomepageID = 1, // PatientID = 52134, // Baby = 0, // StartTime = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"), // EndTime = DateTime.Now.ToString("yyyy-MM-dd") //}.toStrObjDict()); var list = service.DoService(sod); //按照医嘱内容分组 var grouping = list.Where(a => !string.IsNullOrEmpty(a.GetString("RelatID"))) .GroupBy(a => new { AdviceContent = a.GetString("AdviceContent") }); //查找相关ID为null,获取滴速 var parents = list.Where(a => string.IsNullOrEmpty(a.GetString("RelatID"))); var result = new List <dynamic>(); var enumerable = parents as StrObjectDict[] ?? parents.ToArray(); foreach (var item in grouping) { var lstAdvice = new List <StrObjectDict>(); foreach (var child in item) { var p = enumerable.First(a => a.GetString("ID").Equals(child.GetString("RelatID"))); child["DS"] = p.GetString("DoctorAdvice"); lstAdvice.Add(child); } result.Add(new { AdviceContent = item.Key.AdviceContent, AdviceInfo = lstAdvice }); } return(this.MyJson(result)); }
/// <summary> /// 护理巡视 /// </summary> /// <returns></returns> public ActionResult ScoutSickroomGetlists() { var sod = GetParams(); //入参没有包含时间,则传入当天时间 if (!sod.ContainsKey("StartTime")) { sod["StartTime"] = DateTime.Now; } if (!sod.ContainsKey("EndTime")) { sod["EndTime"] = DateTime.Now; } var service = ThirdServiceContext.FindService("3cc6de9c-96e1-4aaa-bdb7-7bd374537df2"); if (service == null) { return(this.MyJson(0, "服务定义引用错误。")); } var list = service.DoService(sod); return(this.MyJson(list)); }
public ActionResult Test() { IThirdService service = ThirdServiceContext.FindService("90335235-effd-44d8-927e-b17ccdde6844");//测试性能 service.DoService(null); return(null); }
/// <summary> /// 修改三方数据源 /// </summary> /// <returns></returns> public ActionResult DataSource() { var dict = GetParams(); //(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.89)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = ydtest))) var dataSource = string.Format("(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = {0})(PORT = {1}))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = {2})))", dict.GetString("Host"), dict.GetString("Port"), dict.GetString("SID")); var url = string.Format("Data Source={0};User ID={1};Password={2};", dataSource, dict.GetString("UserName"), dict.GetString("Password")); var p = new { Provider = dict.GetString("Provider"), Url = url, UserName = dict.GetString("UserName"), Password = dict.GetString("Password"), Database = dataSource, ID = "ef090fc0-a178-42a7-81da-5f6d5021bf81" }; var result = DB.Execute(new DBState { Name = "UPDATE_DataSource", Param = p.toStrObjDict(), Type = ESqlType.UPDATE }); if (result > 0) { WebAppContextInit.ThirdDbInit(); ThirdServiceContext.Initializer(DeployMode.MODE_NORMAL); } return(this.MyJson(result)); }
/// <summary> /// 已配液 /// Operator RequestTime LesionID /// </summary> /// <returns></returns> public ActionResult AdviceGetdosagelog() { var sod = GetParams(); //入参没有包含时间,则传入当天时间 if (!sod.ContainsKey("StartTime")) { sod["StartTime"] = DateTime.Now; } if (!sod.ContainsKey("EndTime")) { sod["EndTime"] = DateTime.Now; } var service = ThirdServiceContext.FindService("72f681b9-f524-440a-9094-aceb7144f5fa"); if (service == null) { return(this.MyJson(0, "服务定义引用错误。")); } //var list = service.DoService(new //{ // HomePageID = 1, // PatientID = 52134, // Baby = 0, // StartTime = DateTime.Now, // EndTime = DateTime.Now, // LesionID = 426 //}.toStrObjDict()); var list = service.DoService(sod); var group = list.GroupBy(g => new { RequestTime = g["RequestTime"], RelatID = g["RelatID"] }). Where(g => g.Key.RelatID != null); var result = new List <dynamic>(); foreach (var item in group) { var info = new List <dynamic>(); foreach (var g in item) { info.Add(CreateDosage(g)); } var parent = list.FirstOrDefault(a => a.GetString("ID").Equals(item.Key.RelatID.ToString()) && a.GetString("RequestTime").Equals(item.Key.RequestTime.ToString()) && string.IsNullOrEmpty(a.GetString("RelatID"))); info.Add(CreateDosage(parent)); result.Add(new { info = info, FullName = parent.GetString("FullName"), ExcuteRate = parent.GetString("ExcuteRate"), RequestTime = parent.GetString("RequestTime"), DosingTime = parent.GetString("DosingTime") }); } return(this.MyJson(result)); }
string DoService(string id) { var service = ThirdServiceContext.FindService(id); try { service.DoServiceAsync(null); } catch (Exception msg) { return(msg.Message); } return(null); }
/// <summary> /// 导入所有三方数据(护理项目,部门,职工,病人) /// </summary> /// <returns></returns> //public ActionResult FetchAll() //{ // StrObjectDict dict = GetParams(); // return null; //} /// <summary> /// 导入问题关系 /// </summary> /// <returns></returns> public string SaveQuestionRelation() { try { var service1 = ThirdServiceContext.FindService("a8e6b69e-6980-4732-bee4-39ca1293bfdc"); var data = service1.DoServiceAsync(null); var lstDbState = new List <DBState>(); var lstCheck = new List <dynamic>(); foreach (var item in data) { var id = item.GetString("ID"); var ys = item.GetString("因素对照").Replace("<ITEM>", "").Replace("</ITEM>", "").Replace("<ITEM/>", "").Replace("\n", ""); var cs = item.GetString("措施对照").Replace("<ITEM>", "").Replace("</ITEM>", "").Replace("<ITEM/>", "").Replace("\n", ""); var mb = item.GetString("目标对照").Replace("<ITEM>", "").Replace("</ITEM>", "").Replace("<ITEM/>", "").Replace("\n", ""); var pg = item.GetString("评估对照").Replace("<ITEM>", "").Replace("</ITEM>", "").Replace("<ITEM/>", "").Replace("\n", ""); var result = GetRelation(id, ys, lstCheck); if (result != null && result.Count != 0) { lstDbState.AddRange(result); } result = GetRelation(id, cs, lstCheck); if (result != null && result.Count != 0) { lstDbState.AddRange(result); } result = GetRelation(id, mb, lstCheck); if (result != null && result.Count != 0) { lstDbState.AddRange(result); } result = GetRelation(id, pg, lstCheck); if (result != null && result.Count != 0) { lstDbState.AddRange(result); } } DB.ExecuteAsync(lstDbState); } catch (Exception msg) { return(msg.Message); throw; } return(null); }
public static void OtherInit() { try { ThirdServiceContext.Initializer(DeployMode.MODE_NORMAL); LoginSession.Init(); if (!CheckRegCode()) { HttpContext.Current.Application["REGCODE"] = "false"; } else { HttpContext.Current.Application["REGCODE"] = "true"; } } catch { } }
/// <summary> /// 统计病区患者人数 /// </summary> private IList <StrObjectDict> GeneralReport(StrObjectDict sod) { var service = ThirdServiceContext.FindService("7ac40243-302e-4cd7-98cb-9dc7ef9c6b6a"); return(service.DoService(sod)); }
/// <summary> /// 交班报告 48373493-109f-4af6-b9dd-64bf4166d345 /// </summary> /// <returns></returns> public ActionResult ChangeShiftsReport() { // WebAppContextInit.DbInit(); var service = ThirdServiceContext.FindService("48373493-109f-4af6-b9dd-64bf4166d345"); if (service == null) { return(this.MyJson(0, "服务定义引用错误。")); } var sod = GetParams(); var lesionId = sod.GetString("LesionID"); //班次 ID为公共代码ID var parentID = "485045d0-1fe9-4553-be68-921e3bc44bb4"; var parameter = new StrObjectDict { { "CodeID", parentID } }; var listComm = DataServiceManager.Instance.ListSod("LISTSOD_CommonCodeDetail", parameter); //交班记录 var pLog = new StrObjectDict { { "LesionID", lesionId } }; var changesTationLogs = DataServiceManager.Instance.ListSod("LIST_ChangesTationLogRec", pLog); //查询时间对应的报告 const string dateFormat = "yyyy-MM-dd"; var date = DateTime.Now.ToString(dateFormat); var pDate = sod.GetDate("Date"); if (pDate != null) { date = pDate.Value.ToString(dateFormat); } sod.Remove("Date"); DateTime rsTime; DateTime reTime; var rCulCount = new List <dynamic>();//保存各班次人员情况 var all = new List <StrObjectDict>(); var generalReport = new List <StrObjectDict>(); foreach (var common in listComm) { var remark = common.GetString("Remarks"); if (string.IsNullOrEmpty(remark)) { continue; } var timeArr = remark.Split(','); if (timeArr.Length != 2) { continue; } var sTime = string.Format("{0} {1}", date, timeArr[0]); var eTime = string.Format("{0} {1}", date, timeArr[1]); if (!(DateTime.TryParse(sTime, out rsTime) && DateTime.TryParse(eTime, out reTime))) { continue; } //构造sql查询入参 sod["StartTime"] = sTime; sod["EndTime"] = eTime; //查找出在该班次下的记录 var t = changesTationLogs.Where(g => { var dateTime = g.GetDate("RecordTime"); return(dateTime != null && (DateTime.Compare(dateTime.Value, rsTime) >= 0 && DateTime.Compare(dateTime.Value, reTime) < 0)); }).ToList(); var now = DateTime.Now; //判断当前时间是否在班次时间内 var isCurTime = now.Hour >= rsTime.Hour && now.Hour <= reTime.Hour; var lst = service.DoService(sod); rCulCount.Add(Convert(lst, sTime, isCurTime, t)); var grParameter = new StrObjectDict { { "LesionID", lesionId }, { "StartTime", sTime }, { "EndTime", eTime } }; generalReport.AddRange(GeneralReport(grParameter)); all.AddRange(lst); } var group = all.GroupBy(g => new { PatientID = g.GetString("PatientID"), HomePageID = g.GetString("HomePageID"), FullName = g.GetString("FullName"), BedNumber = g.GetString("BedNumber"), Description = g.GetString("Description") }); var patients = new List <dynamic>(); foreach (var item in group) { var lstG = new List <StrObjectDict>(); var oIndex = 0; foreach (var g in item.OrderBy(o => o.GetDate("TimeOffset"))) { var sysContent = string.Format("{0} {1} {2} {3} {4}", g.GetString("BBT"), g.GetString("P"), g.GetString("R"), g.GetString("BP"), g.GetString("NurseDigest")); if (string.IsNullOrEmpty(sysContent) || sysContent.Trim().Equals("/")) { sysContent = string.Empty; } g.Add("SysContent", sysContent); g.Add("Order", oIndex); lstG.Add(g); oIndex++; } patients.Add(new { Name = item.Key.FullName, BedNumber = item.Key.BedNumber, Description = item.Key.Description, Info = lstG }); } //统计总人数 var gIndex = 0; foreach (var item in generalReport.OrderBy(g => g.GetDate("StartTime"))) { item.Add("Order", gIndex); var sTime = item.GetDate("StartTime"); var eTime = item.GetDate("EndTime"); if (sTime != null) { item.Add("StartHour", sTime.Value.Hour); } if (eTime != null) { item.Add("EndHour", eTime.Value.Hour); } gIndex++; } return(this.MyJson(new { Report = rCulCount.OrderBy(o => o.Times), RangePatients = patients, GeneralReport = generalReport.OrderBy(o => o.GetInt("Order")) })); }
/// <summary> /// 输液状态 /// </summary> /// <returns></returns> public ActionResult TransfusionStatus() { var service = ThirdServiceContext.FindService("79584c92-57f7-4d20-bca4-8a6aaf1dcfff"); if (service == null) { return(this.MyJson(0, "服务定义引用错误。")); } var sod = GetParams(); var list = service.DoService(sod); var grouping = list.GroupBy(a => new { //ID = a.GetString("ID"), //Usage = a.GetString("Usage"), //RequestTime = a.GetString("RequestTime"), //ExcuteRate = a.GetString("ExcuteRate"), Status = a.GetString("Status") }); var objs = new List <dynamic>(); foreach (var item in grouping) { var drugInfo = new List <dynamic>(); var drugCount = 0; var drugGroruping = item.GroupBy(a => new { ID = a.GetString("ID"), Usage = a.GetString("Usage"), RequestTime = a.GetString("RequestTime"), ExcuteRate = a.GetString("ExcuteRate") }); foreach (var drugItem in drugGroruping) { var drugList = new List <dynamic>(); foreach (var drug in drugItem) { drugList.Add(new { DrugID = drug.GetString("DrugID"), AdviceContent = drug.GetString("AdviceContent"), OnceYield = drug.GetString("OnceYield") }); drugCount++; } drugInfo.Add(new { ID = drugItem.Key.ID, Usage = drugItem.Key.Usage, RequestTime = drugItem.Key.RequestTime, ExcuteRate = drugItem.Key.ExcuteRate, DrugList = drugList }); } objs.Add(new { Status = item.Key.Status, DrugCount = drugCount, DrugInfo = drugInfo }); } return(this.MyJson(objs)); }