Exemple #1
0
        /// <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));
        }
Exemple #2
0
        /// <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));
        }
Exemple #3
0
        public ActionResult Test()
        {
            IThirdService service = ThirdServiceContext.FindService("90335235-effd-44d8-927e-b17ccdde6844");//测试性能

            service.DoService(null);
            return(null);
        }
Exemple #4
0
        /// <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));
        }
Exemple #5
0
        /// <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));
        }
Exemple #6
0
        string DoService(string id)
        {
            var service = ThirdServiceContext.FindService(id);

            try
            {
                service.DoServiceAsync(null);
            }
            catch (Exception msg)
            {
                return(msg.Message);
            }
            return(null);
        }
Exemple #7
0
        /// <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);
        }
Exemple #8
0
 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 { }
 }
Exemple #9
0
        /// <summary>
        /// 统计病区患者人数
        /// </summary>
        private IList <StrObjectDict> GeneralReport(StrObjectDict sod)
        {
            var service = ThirdServiceContext.FindService("7ac40243-302e-4cd7-98cb-9dc7ef9c6b6a");

            return(service.DoService(sod));
        }
Exemple #10
0
        /// <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")) }));
        }
Exemple #11
0
        /// <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));
        }