public ActionResult VolTypeEchartsData(string deptId) { if (string.IsNullOrEmpty(deptId)) { deptId = AdminUser.DeptId; } using (LoveBankDBContext db = new LoveBankDBContext()) { string sql = string.Format(@"SELECT v.VolType ,count(v.VolType ) value from volunteer v WHERE v.DepId LIKE'{0}%' GROUP BY v.VolType ", deptId); string cacheKey = "VolTypeEchartsData" + deptId; object listCache = BaseCacheManage.RetrieveObject(cacheKey); if (listCache!=null) { return Json((VolTypeEchartsDataModel)listCache, JsonRequestBehavior.AllowGet); } else { MySqlParameter[] parm = new MySqlParameter[] { }; List<VolTypeEchartsData> list = db.Database.SqlQuery<VolTypeEchartsData>(sql, parm).ToList(); decimal total = list.Sum(x => long.Parse(x.value)); for (int i = 0; i < list.Count; i++) { list[i].Oname = list[i].VolType.ToLocalizable(); list[i].name = list[i].VolType.ToLocalizable() + "(" + (decimal.Parse(list[i].value) / total).ToString("p") + ")"; } VolTypeEchartsDataModel model = new VolTypeEchartsDataModel(); BaseCacheManage.AddObject(cacheKey, model, 10 * 60); model.DepName = (from d in db.T_Department where d.Id == deptId select d.Name).FirstOrDefault(); model.VolTypeEchartsDataList = list; model.Total = total.ToString(); return Json(model); } } }
public ActionResult MachineModuleStatisticsData(string deptId) { if (string.IsNullOrEmpty(deptId)) { deptId = AdminUser.DeptId; } using (LoveBankDBContext db = new LoveBankDBContext()) { string sql = string.Format(@"SELECT mm.`name` ,COUNT( mm.`name`) value FROM machinestatistics ms LEFT JOIN machine m ON ms.`MachineCode`=m.`MachineCode` LEFT JOIN machinemoduleshowmanage mm ON mm.`ID`=ms.`ModuleId` WHERE mm.`Name` IS NOT NULL and ms.`DeptId` LIKE '{0}%' GROUP BY mm.`name` ", deptId); string cacheKey = "MachineModuleStatisticsData" + deptId; object listCache = BaseCacheManage.RetrieveObject(cacheKey); if (listCache != null) { return Json((VolTypeEchartsDataModel)listCache, JsonRequestBehavior.AllowGet); } else { MySqlParameter[] parm = new MySqlParameter[] { }; List<VolTypeEchartsData> list = db.Database.SqlQuery<VolTypeEchartsData>(sql, parm).ToList(); decimal total = list.Sum(x => long.Parse(x.value)); for (int i = 0; i < list.Count; i++) { list[i].name = list[i].name + "(" + (decimal.Parse(list[i].value) / total).ToString("p") + ")"; } VolTypeEchartsDataModel model = new VolTypeEchartsDataModel(); BaseCacheManage.AddObject(cacheKey, model, 10 * 60); model.DepName = (from d in db.T_Department where d.Id == deptId select d.Name).FirstOrDefault(); model.VolTypeEchartsDataList = list; model.Total = total.ToString(); return Json(model, JsonRequestBehavior.AllowGet); } } }