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