Esempio n. 1
0
        public ActionResult GetWarnData(string startDate = "", string endDate = "", string orgCode = "", string orgId = "")
        {
            Operator user = OperatorProvider.Provider.Current();

            if (string.IsNullOrEmpty(startDate) && string.IsNullOrEmpty(endDate))
            {
                startDate = DateTime.Now.Year.ToString() + "-01" + "-01";
                endDate   = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd");
            }

            SafetyAssessedArguments entity = new SafetyAssessedArguments();

            entity.startDate = startDate;
            entity.endDate   = endDate;
            if (user.RoleName.Contains("省级用户") || user.RoleName.Contains("集团用户"))
            {
                if (!string.IsNullOrEmpty(orgCode))
                {
                    entity.orgId   = orgId;
                    entity.orgCode = orgCode;
                }
            }
            else
            {
                entity.orgId   = user.OrganizeId;
                entity.orgCode = user.OrganizeCode;
            }
            var data = desktopbll.GetSafetyAssessedData(entity);

            return(Content(new AjaxResult {
                type = ResultType.success, message = "获取数据成功", resultdata = data
            }.ToJson()));
        }
Esempio n. 2
0
        public string GetIndexWarnValue(string startDate = "", string endDate = "", string orgCode = "", string orgId = "")
        {
            Operator user = OperatorProvider.Provider.Current();
            decimal  totalScore = 0; int count = 0;

            try
            {
                string key   = "WarnScore_" + user.OrganizeCode;
                string score = CacheFactory.Cache().GetCache <string>(key);

                if (string.IsNullOrEmpty(score))
                {
                    if (string.IsNullOrEmpty(startDate) && string.IsNullOrEmpty(endDate))
                    {
                        startDate = DateTime.Now.Year.ToString() + "-01" + "-01";
                        endDate   = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd");
                    }

                    SafetyAssessedArguments entity = new SafetyAssessedArguments();
                    entity.startDate = startDate;
                    entity.endDate   = endDate;
                    if (user.RoleName.Contains("省级用户") || user.RoleName.Contains("集团用户"))
                    {
                        if (!string.IsNullOrEmpty(orgCode))
                        {
                            entity.orgId   = orgId;
                            entity.orgCode = orgCode;
                            totalScore     = desktopbll.GetSafetyAssessedValue(entity);
                        }
                        else
                        {
                            OrganizeBLL orgBll = new OrganizeBLL();
                            DataTable   dt     = orgBll.GetDTList();
                            foreach (DataRow dr in dt.Rows)
                            {
                                entity.orgId   = dr[2].ToString();
                                entity.orgCode = dr[0].ToString();
                                totalScore    += desktopbll.GetSafetyAssessedValue(entity);
                            }
                            totalScore = totalScore / dt.Rows.Count;
                        }
                    }
                    else
                    {
                        entity.orgId   = user.OrganizeId;
                        entity.orgCode = user.OrganizeCode;
                        totalScore     = desktopbll.GetSafetyAssessedValue(entity);
                    }
                    CacheFactory.Cache().WriteCache <string>(totalScore.ToString(), key, DateTime.Now.AddDays(1));
                }
                else
                {
                    totalScore = decimal.Parse(score);
                }

                string[] scorearr = new string[4];

                DataItemDetailBLL itemBLL = new DataItemDetailBLL();
                string            val     = itemBLL.GetItemValue("基础预警区间分值设置");
                count = 0;
                if (!string.IsNullOrEmpty(val))
                {
                    string[] arr = val.Split('|');
                    for (int i = 0; i < arr.Length; i++)
                    {
                        string[] arrVal = arr[i].Split(',');
                        scorearr[i] = arrVal[1];  //取后一个数字
                    }
                    int j = 0;
                    foreach (string str in arr)
                    {
                        string[] arrVal = str.Split(',');

                        if (totalScore > decimal.Parse(arrVal[0]) && totalScore <= decimal.Parse(arrVal[1]))
                        {
                            count = j;
                            break;
                        }
                        j++;
                    }
                }

                return(Newtonsoft.Json.JsonConvert.SerializeObject(new { score = Math.Round(totalScore, 1), index = count, scorearry = scorearr }));
            }
            catch (Exception ex)
            {
                return(Newtonsoft.Json.JsonConvert.SerializeObject(ex));
            }
        }