public ActionResult GetYearSick(string year, string dept) { string wheresql = ""; ERCHTMS.Code.Operator user = ERCHTMS.Code.OperatorProvider.Provider.Current(); if (user.IsSystem) { wheresql = ""; } else { string where = new ERCHTMS.Busines.AuthorizeManage.AuthorizeBLL().GetModuleDataAuthority(ERCHTMS.Code.OperatorProvider.Provider.Current(), HttpContext.Request.Cookies["currentmoduleId"].Value); wheresql += where; } int yearNum = Convert.ToInt32(year); int NowYear = DateTime.Now.Year; //获取已有年份数据 DataTable dt = occupationalstaffdetailbll.GetStatisticsYearTable(yearNum, dept, wheresql); List <OccStatisticsEntity> stlist = new List <OccStatisticsEntity>(); int Sum = 0; int dtRow = 0; if (yearNum != 0) { //根据近X年 进行数据补全 for (int i = 1; i <= yearNum; i++) { //验证是否有这一年数据 if (dtRow < dt.Rows.Count) { int y = Convert.ToInt32(dt.Rows[dtRow][0]); if (y == NowYear - (yearNum - i)) //如果有这个年份直接添加 { //先获取DataTable中数据 OccStatisticsEntity st = new OccStatisticsEntity(); st.Sicktype = dt.Rows[dtRow][0].ToString(); st.SickUserNum = Convert.ToInt32(dt.Rows[dtRow][1]); stlist.Add(st); dtRow++; } else { //先获取DataTable中数据 OccStatisticsEntity st = new OccStatisticsEntity(); st.Sicktype = (NowYear - (yearNum - i)).ToString(); st.SickUserNum = 0; stlist.Add(st); } } else { //先获取DataTable中数据 OccStatisticsEntity st = new OccStatisticsEntity(); st.Sicktype = (NowYear - i).ToString(); st.SickUserNum = 0; stlist.Add(st); } } } else { for (int i = 0; i < dt.Rows.Count; i++) { //先获取DataTable中数据 OccStatisticsEntity st = new OccStatisticsEntity(); st.Sicktype = dt.Rows[i][0].ToString(); st.SickUserNum = Convert.ToInt32(dt.Rows[i][1]); stlist.Add(st); } } return(ToJsonResult(stlist)); }