Exemplo n.º 1
0
        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));
        }