public ActionResult GetDeptSick(string year) { 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; } //获取基础数据 DataTable dt = occupationalstaffdetailbll.GetStatisticsDeptTable(year, wheresql); List <OccStatisticsEntity> stlist = new List <OccStatisticsEntity>(); int Sum = 0; foreach (DataRow dr in dt.Rows) { //先获取DataTable中数据 OccStatisticsEntity st = new OccStatisticsEntity(); st.Sicktype = dr[0].ToString(); st.SickUserNum = Convert.ToInt32(dr[1]); st.SickValue = dr[2].ToString(); Sum += Convert.ToInt32(dr[1]); //获取总和 stlist.Add(st); } //求每条数据的比例 for (int i = 0; i < stlist.Count; i++) { stlist[i].Proportion = string.Format("{0:0.00%}", Convert.ToDouble(stlist[i].SickUserNum) / Convert.ToDouble(Sum)); } OccStatisticsEntity occ = new OccStatisticsEntity(); occ.Sicktype = "合计"; occ.SickUserNum = Sum; occ.Proportion = "100%"; occ.SickValue = ""; stlist.Add(occ); return(ToJsonResult(stlist)); }
public ActionResult GetHazardSick(string year, string risk) { 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 += " and " + where; } HazarddetectionBLL habll = new HazarddetectionBLL(); int years = Convert.ToInt32(year); DataTable dt = habll.GetStatisticsHazardTable(years, risk, true, wheresql); //全部统计数据 DataTable dtCb = habll.GetStatisticsHazardTable(years, risk, false, wheresql); //超标统计数据 List <OccStatisticsEntity> stlist = new List <OccStatisticsEntity>(); int[] Month = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };//先设定月份 int Sum = 0; int CbSum = 0; int dtRow = 0;//第几行数据 int dtCbRow = 0; for (int i = 0; i < Month.Length; i++) { //验证是否有这一年数据 if (dtRow < dt.Rows.Count) { int mon = Convert.ToInt32(dt.Rows[dtRow][0]); if (mon == Month[i]) //如果有这个年份直接添加 { //先获取DataTable中数据 OccStatisticsEntity st = new OccStatisticsEntity(); st.Sicktype = Convert.ToInt32(dt.Rows[dtRow][0]).ToString(); st.SickUserNum = Convert.ToInt32(dt.Rows[dtRow][1]); if (dtCbRow < dtCb.Rows.Count) { int monCb = Convert.ToInt32(dtCb.Rows[dtCbRow][0]); if (monCb == Month[i]) { st.SickValue = dtCb.Rows[dtCbRow][1].ToString(); CbSum += Convert.ToInt32(dtCb.Rows[dtCbRow][1]); dtCbRow++; } else { st.SickValue = "0"; } } else { st.SickValue = "0"; } Sum += Convert.ToInt32(dt.Rows[dtRow][1]); stlist.Add(st); dtRow++; } else { OccStatisticsEntity st = new OccStatisticsEntity(); st.Sicktype = Month[i].ToString(); st.SickUserNum = 0; st.SickValue = "0"; stlist.Add(st); } } else { OccStatisticsEntity st = new OccStatisticsEntity(); st.Sicktype = Month[i].ToString(); st.SickUserNum = 0; st.SickValue = "0"; stlist.Add(st); } } OccStatisticsEntity Hj = new OccStatisticsEntity(); Hj.Sicktype = "合计"; Hj.SickUserNum = Sum; Hj.SickValue = CbSum.ToString(); stlist.Add(Hj); //遍历修改其比例和合计 for (int i = 0; i < stlist.Count; i++) { if (stlist[i].SickValue != "0") { stlist[i].Proportion = string.Format("{0:0.00%}", Convert.ToDouble(stlist[i].SickValue) / Convert.ToDouble(stlist[i].SickUserNum)); } else { stlist[i].Proportion = "0.00%"; } } return(ToJsonResult(stlist)); }
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)); }