Beispiel #1
0
        public FileContentResult Download_StyleOfWorkTotalCount(int?deptID)
        {
            DepartmentDataObject dept = this.departmentService.GetOne(deptID.Value);

            int[] ids  = dept.GetIDArray();
            int   year = this.timeOverService.GetFirst().Year;
            List <BeMeasuredDataObject> beMeasuredList = this.beMeasuredService.GetList(ids, year);
            IList <ReviewDataObject>    reviewList     = this.reviewService.GetList(year);
            DataTable dt = new DataTable();

            dt.Columns.AddRange(new DataColumn[]
            {
                new DataColumn("工号"),
                new DataColumn("姓名"),
                new DataColumn("没有"),
                new DataColumn("有些"),
                new DataColumn("很严重")
            }
                                );
            foreach (BeMeasuredDataObject bm in beMeasuredList)
            {
                DataRow row = dt.NewRow();
                row["工号"]  = bm.UserInfo.WorkNo;
                row["姓名"]  = bm.UserInfo.UserName;
                row["没有"]  = bm.StyleOfWorkList.Count((p) => { return(p.Score == 100); });
                row["有些"]  = bm.StyleOfWorkList.Count((p) => { return(p.Score == 80); });
                row["很严重"] = bm.StyleOfWorkList.Count((p) => { return(p.Score == 50); });
                dt.Rows.Add(row);
            }

            string fileName = "德和作风测评票数(" + dept.Name + ")";

            byte[] buf = ExcelHelper.ExportToExcel(dt, fileName);
            return(File(buf, "application/octet-stream", Server.UrlEncode(fileName + ".xls")));
        }
Beispiel #2
0
        private ActionResult GetTotalCount(int?deptID, int?pageSize, int?pageIndex)
        {
            pageSize = pageSize ?? 20;
            if (pageIndex == null || pageIndex.Value < 1)
            {
                pageIndex = 1;
            }

            ViewResult view  = new ViewResult();
            JTPager    pager = new JTPager()
            {
                Size = pageSize.Value, Index = pageIndex.Value
            };

            int year = this.timeOverService.GetFirst()?.Year ?? DateTime.Now.Year;
            DepartmentDataObject dept = this.departmentService.GetOne(deptID.Value);

            int[] ids = dept.GetIDArray();
            IList <BeMeasuredDataObject> beMeasuredList = this.beMeasuredService.GetTotal(ids, year, pager);

            view.ViewData["PageSize"]    = pager.Size;
            view.ViewData["PageIndex"]   = pager.Index;
            view.ViewData["PageCount"]   = pager.Count;
            view.ViewData["RecordCount"] = pager.Total;
            view.ViewData["DeptID"]      = deptID.Value;
            view.ViewName = "EvaluationCountResult";
            view.ViewData["BeMeasuredList"] = beMeasuredList;
            return(view);
        }
Beispiel #3
0
        public FileContentResult Download_StyleOfWorkTotal(int?deptID)
        {
            DepartmentDataObject dept = this.departmentService.GetOne(deptID.Value);

            int[] ids  = dept.GetIDArray();
            int   year = this.timeOverService.GetFirst().Year;
            List <BeMeasuredDataObject> beMeasuredList = this.beMeasuredService.GetList(ids, year);
            IList <ReviewDataObject>    reviewList     = this.reviewService.GetList(year);
            DataTable dt = new DataTable();

            dt.Columns.AddRange(new DataColumn[] { new DataColumn("工号"), new DataColumn("姓名"), new DataColumn("分数") });
            foreach (BeMeasuredDataObject bm in beMeasuredList)
            {
                DataRow row = dt.NewRow();
                row["工号"] = bm.UserInfo.WorkNo;
                row["姓名"] = bm.UserInfo.UserName;
                var query = bm.StyleOfWorkList.GroupBy(p => p.Ratio)
                            .Select(p =>
                                    new
                {
                    Ratio = p.Key,
                    Score = p.Sum(k => k.Score) * p.Key / 100 / p.Count()
                }
                                    );
                row["分数"] = query.Sum(p => p.Score);
                dt.Rows.Add(row);
            }

            string fileName = "德和作风测评结果(" + dept.Name + ")";

            byte[] buf = ExcelHelper.ExportToExcel(dt, fileName);
            return(File(buf, "application/octet-stream", Server.UrlEncode(fileName + ".xls")));
        }
        public string GetDepartmentTree(DepartmentDataObject parent = null)
        {
            IList <TreeNodeDataObject> treeNodes = this.departmentService.GetTreeNodes();
            JArray arr = JArray.FromObject(treeNodes);

            return(arr.ToString());
        }
        public ActionResult DepartmentEdit(int?id, int?pageSize, int?pageIndex)
        {
            if (id == null || id.Value == 0)
            {
                return(RedirectToAction("ShowError", "Error", new { Msg = "请选择组织机构!" }));
            }
            if (pageSize == null || pageSize.Value <= 0)
            {
                pageSize = 20;
            }
            if (pageIndex == null || pageIndex.Value <= 0)
            {
                pageIndex = 1;
            }
            DepartmentDataObject dept = departmentService.GetOne(id.Value);
            int recordCount           = dept.UserList.Count;
            int pageCount             = (recordCount + pageSize.Value - 1) / pageSize.Value;

            if (pageIndex.Value > pageCount)
            {
                pageIndex = pageCount;
            }
            List <UserInfoDataObject> userList = dept.UserList.OrderBy(p => p.WorkNo).Skip((pageIndex.Value - 1) * pageSize.Value)
                                                 .Take(pageSize.Value).ToList();

            ViewData["Department"]  = dept;
            ViewData["DeptList"]    = departmentService.GetList();
            ViewData["UserList"]    = userList;
            ViewData["PageSize"]    = pageSize.Value;
            ViewData["PageIndex"]   = pageIndex.Value;
            ViewData["PageCount"]   = pageCount;
            ViewData["RecordCount"] = recordCount;
            return(View());
        }
        public ActionResult AddUser(int?deptID, int?id, int?pageSize, int?pageIndex)
        {
            if (deptID == null)
            {
                return(Redirect(Request.UrlReferrer.ToString()));
            }

            JTPager pager = new JTPager();

            pager.Size  = pageSize == null || pageSize.Value <= 0 ? 20 : pageSize.Value;
            pager.Index = pageIndex == null || pageIndex.Value <= 0 ? 1 : pageIndex.Value;

            DepartmentDataObject dept = this.departmentService.GetOne(deptID.Value);

            int[] ids = dept.UserList.Select(p => p.ID).ToArray();
            IList <UserInfoDataObject> userList = this.userInfoService.GetList(ids, pager);

            ViewData["PageSize"]    = pager.Size;
            ViewData["PageIndex"]   = pager.Index;
            ViewData["PageCount"]   = pager.Count;
            ViewData["RecordCount"] = pager.Total;
            ViewData["Department"]  = dept;
            ViewData["UserList"]    = userList;

            return(View());
        }
Beispiel #7
0
        public ActionResult StyleOfWorkTotalCount(int?deptID, int?pageSize, int?pageIndex)
        {
            pageSize = pageSize ?? 20;
            if (pageIndex == null || pageIndex.Value < 1)
            {
                pageIndex = 1;
            }
            DepartmentDataObject dept = this.departmentService.GetOne(deptID.Value);

            int[] ids  = dept.GetIDArray();
            int   year = this.timeOverService.GetFirst().Year;
            List <BeMeasuredDataObject> beMeasuredList = this.beMeasuredService.GetList(ids, year);
            int recordCount = beMeasuredList.Count();
            int pageCount   = (recordCount + pageSize.Value - 1) / pageSize.Value;

            if (pageIndex > pageCount)
            {
                pageIndex = pageCount;
            }
            IList <ReviewDataObject> reviewList = this.reviewService.GetList(year);

            beMeasuredList = beMeasuredList.Skip((pageIndex.Value - 1) * pageSize.Value).Take(pageSize.Value).ToList();
            DataTable dt = new DataTable();

            dt.Columns.AddRange(new DataColumn[]
            {
                new DataColumn("工号"),
                new DataColumn("姓名"),
                new DataColumn("没有"),
                new DataColumn("有些"),
                new DataColumn("很严重")
            }
                                );
            foreach (BeMeasuredDataObject bm in beMeasuredList)
            {
                DataRow row = dt.NewRow();
                row["工号"]  = bm.UserInfo.WorkNo;
                row["姓名"]  = bm.UserInfo.UserName;
                row["没有"]  = bm.StyleOfWorkList.Count((p) => { return(p.Score == 100); });
                row["有些"]  = bm.StyleOfWorkList.Count((p) => { return(p.Score == 80); });
                row["很严重"] = bm.StyleOfWorkList.Count((p) => { return(p.Score == 50); });
                dt.Rows.Add(row);
            }
            ViewResult view = new ViewResult();

            view.ViewName                = "EvaluationTotal";
            view.ViewData["PageSize"]    = pageSize.Value;
            view.ViewData["PageIndex"]   = pageIndex.Value;
            view.ViewData["PageCount"]   = pageCount;
            view.ViewData["RecordCount"] = recordCount;
            view.ViewData["DeptID"]      = deptID.Value;
            view.ViewData["DataTable"]   = dt;
            return(view);
        }
Beispiel #8
0
        public FileContentResult Download_EvaluationTotal(int?deptID)
        {
            DepartmentDataObject dept = this.departmentService.GetOne(deptID.Value);

            int[] ids  = dept.GetIDArray();
            int   year = this.timeOverService.GetFirst().Year;
            List <BeMeasuredDataObject> beMeasuredList = this.beMeasuredService.GetList(ids, year);
            int recordCount = beMeasuredList.Count();
            IList <ReviewDataObject> reviewList = this.reviewService.GetList(year);
            DataTable dt = new DataTable();

            dt.Columns.AddRange(new DataColumn[] { new DataColumn("工号"), new DataColumn("姓名") });
            foreach (ReviewDataObject review in reviewList)
            {
                dt.Columns.Add(new DataColumn(review.Name));
            }
            dt.Columns.Add(new DataColumn("总分"));
            foreach (BeMeasuredDataObject bm in beMeasuredList)
            {
                DataRow row = dt.NewRow();
                row["工号"] = bm.UserInfo.WorkNo;
                row["姓名"] = bm.UserInfo.UserName;
                double sum = 0;
                foreach (ReviewDataObject review in reviewList)
                {
                    var query = bm.EvaluationTableList.GroupBy(p => p.Ratio)
                                .Select(p => new
                    {
                        Ratio = p.Key,
                        Score = p.Sum(k => k.EvaluationTableDetail.Where(t => t.ReviewID == review.ID).Sum(s => s.Score)) * p.Key / 100 / p.Count()
                    });
                    double score = query.Sum(p => p.Score);
                    row[review.Name] = score;
                    sum += score;
                }
                row["总分"] = sum;
                dt.Rows.Add(row);
            }
            string fileName = "民主测评总评(" + dept.Name + ")";

            byte[] buf = ExcelHelper.ExportToExcel(dt, fileName);
            return(File(buf, "application/octet-stream", Server.UrlEncode(fileName + ".xls")));
        }
Beispiel #9
0
        public FileContentResult Download_GetStyleOfWorkCount(int?deptID)
        {
            int year = this.timeOverService.GetFirst()?.Year ?? DateTime.Now.Year;
            DepartmentDataObject dept = this.departmentService.GetOne(deptID.Value);

            int[] ids = dept.GetIDArray();
            List <BeMeasuredDataObject> beMeasuredList = this.beMeasuredService.GetList(ids, year);
            List <double> ratios = new List <double>();

            beMeasuredList.ForEach(
                item =>
                ratios.AddRange(item.MeasuredList.GroupBy(p => p.Ratio).Select(p => p.Key).ToArray())
                );
            ratios = ratios.Distinct().OrderBy(p => - p).ToList();
            DataTable dt = new DataTable();

            dt.Columns.AddRange(new DataColumn[] { new DataColumn("工号"), new DataColumn("姓名") });
            foreach (double ratio in ratios)
            {
                dt.Columns.Add(new DataColumn(string.Format("{0}%投票人数", ratio)));
            }
            foreach (BeMeasuredDataObject bm in beMeasuredList)
            {
                DataRow row = dt.NewRow();
                row["工号"] = bm.UserInfo.WorkNo;
                row["姓名"] = bm.UserInfo.UserName;
                foreach (double ratio in ratios)
                {
                    row[string.Format("{0}%投票人数", ratio)] = bm.StyleOfWorkList.Where(p => p.Ratio == ratio && p.Score > 0).Count();
                }
                dt.Rows.Add(row);
            }
            string fileName = string.Format("德和作风({0})投票数", dept.Name);

            byte[] buf = ExcelHelper.ExportToExcel(dt, fileName);
            return(File(buf, "application/octet-stream", Server.UrlEncode(fileName + ".xls")));
        }
Beispiel #10
0
        public ActionResult ImportUserInfo(HttpPostedFileBase file)
        {
            if (file == null)
            {
                return(View());
            }

            MemoryStream ms = new MemoryStream();

            file.InputStream.CopyTo(ms);
            DataTable dt = ExcelHelper.ImportExcel(ms);
            IList <UserInfoDataObject>   list       = new List <UserInfoDataObject>();
            IList <DepartmentDataObject> deptList   = this.departmentService.GetList();
            IList <DutiesDataObject>     dutiesList = this.dutiesService.GetList();

            foreach (DataRow row in dt.Rows)
            {
                UserInfoDataObject userInfo = new UserInfoDataObject();
                userInfo.WorkNo   = row[0].ToString();
                userInfo.UserName = row[1].ToString();
                userInfo.Password = "******";
                DepartmentDataObject dept = deptList.FirstOrDefault(p => p.Name == row[2].ToString());
                userInfo.DepartmentID = dept == null ? 0 : dept.ID;
                userInfo.Professional = row[3].ToString();
                DutiesDataObject duty = dutiesList.FirstOrDefault(p => p.Name == row[4].ToString());
                userInfo.DutiesID    = duty == null ? 0 : duty.ID;
                userInfo.MajorLeader = row[5].ToString() == "是" ? true : false;
                userInfo.Director    = row[6].ToString() == "是";
                userInfo.Instructor  = row[7].ToString() == "是";
                userInfo.Secretary   = row[8].ToString() == "是";
                list.Add(userInfo);
            }
            int count = this.userInfoService.Import(list);

            ViewData["Msg"] = string.Format("{0}条数据导入成功!", count);
            return(View());
        }
Beispiel #11
0
        public ActionResult EvaluationTotal(int?deptID, int?pageSize, int?pageIndex)
        {
            pageSize = pageSize ?? 20;
            if (pageIndex == null || pageIndex.Value < 1)
            {
                pageIndex = 1;
            }
            DepartmentDataObject dept = this.departmentService.GetOne(deptID.Value);

            int[] ids  = dept.GetIDArray();
            int   year = this.timeOverService.GetFirst().Year;
            List <BeMeasuredDataObject> beMeasuredList = this.beMeasuredService.GetList(ids, year);
            int recordCount = beMeasuredList.Count();
            int pageCount   = (recordCount + pageSize.Value - 1) / pageSize.Value;

            if (pageIndex > pageCount)
            {
                pageIndex = pageCount;
            }
            IList <ReviewDataObject> reviewList = this.reviewService.GetList(year);

            beMeasuredList = beMeasuredList.Skip((pageIndex.Value - 1) * pageSize.Value).Take(pageSize.Value).ToList();
            DataTable dt = new DataTable();

            dt.Columns.AddRange(new DataColumn[] { new DataColumn("工号"), new DataColumn("姓名") });
            foreach (ReviewDataObject review in reviewList)
            {
                dt.Columns.Add(new DataColumn(review.Name));
            }
            dt.Columns.Add(new DataColumn("总分"));
            foreach (BeMeasuredDataObject bm in beMeasuredList)
            {
                DataRow row = dt.NewRow();
                row["工号"] = bm.UserInfo.WorkNo;
                row["姓名"] = bm.UserInfo.UserName;
                double sum = 0;
                foreach (ReviewDataObject review in reviewList)
                {
                    var query = bm.EvaluationTableList.GroupBy(p => p.Ratio)
                                .Select(p => new
                    {
                        Ratio = p.Key,
                        Score = p.Sum(k => k.EvaluationTableDetail.Where(t => t.ReviewID == review.ID).Sum(s => s.Score)) * p.Key / 100 / p.Count()
                    });
                    double score = query.Sum(p => p.Score);
                    row[review.Name] = score;
                    sum += score;
                }
                row["总分"] = sum;
                dt.Rows.Add(row);
            }
            ViewResult view = new ViewResult();

            view.ViewName                = "EvaluationTotal";
            view.ViewData["PageSize"]    = pageSize.Value;
            view.ViewData["PageIndex"]   = pageIndex.Value;
            view.ViewData["PageCount"]   = pageCount;
            view.ViewData["RecordCount"] = recordCount;
            view.ViewData["DeptID"]      = deptID.Value;
            view.ViewData["DataTable"]   = dt;
            return(view);
        }
 public ActionResult SaveDepartment(DepartmentDataObject department)
 {
     department = departmentService.Update(department);
     return(RedirectToAction("DepartmentEdit", "Department", new { id = department.ID }));
 }