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);
                }

            }
        }