Exemple #1
0
        public ActionResult Edit(string hallNo)
        {
            var hallService = new SYS_HALL_DAL();
            var hall        = hallService.GetHall(hallNo);

            return(View(hall));
        }
Exemple #2
0
        /// <summary>
        /// 设置组织下拉
        /// </summary>
        /// <param name="orgId"></param>
        /// <param name="level"></param>
        /// <returns></returns>
        protected string SetViewBagOrgData(string orgId = null, string level = "4")
        {
            if (level != "4")
            {
                var organDao = new SYS_ORGANIZE_DAL();
                var orgs     = organDao.GetListForUserId(UserState.UserID, level);

                ViewBag.Orgs = new SelectList(orgs, "ORG_ID", "ORG_NAM", orgId);

                if (string.IsNullOrEmpty(orgId))
                {
                    if (orgs != null && orgs.Count > 0)
                    {
                        return(orgs[0].ORG_ID);
                    }
                }
            }
            else
            {
                var list = SYS_HALL_DAL.GetListByUserId(UserState.UserID);
                ViewBag.Orgs = new SelectList(list, "HALL_NO", "HALL_NAM", orgId);

                if (string.IsNullOrEmpty(orgId))
                {
                    if (list != null && list.Count > 0)
                    {
                        return(list[0].HALL_NO);
                    }
                }
            }
            return(orgId);
        }
Exemple #3
0
        public ActionResult ServiceSlipAnalysis(
            DateTime?beginTime,
            DateTime?endTime,
            bool export = false)

        {
            var orgId = string.Empty;

            switch (GetHighLV)
            {
            case UserLV_ENUM.省级:
            case UserLV_ENUM.市级:
            case UserLV_ENUM.区级:
                break;

            case UserLV_ENUM.务厅级:
                var listOrgs = SYS_HALL_DAL.GetListByUserId(UserState.UserID);
                if (listOrgs.Count == 1)
                {
                    orgId = listOrgs[0].HALL_NO;
                }
                return(RedirectToAction("ServiceSlipAnalysis_Person", new { orgId = orgId }));
            }

            base.DateTimeInit(ref beginTime, ref endTime);

            var mainTielt = GetOrgName(null, 2);

            ViewBag.MainTitle = GetTitleName(mainTielt, "业务差错分析", beginTime.GetValueOrDefault(),
                                             endTime.GetValueOrDefault());
            var subtitle = GetTitleName(mainTielt, "", beginTime.GetValueOrDefault(), endTime.GetValueOrDefault(), false);

            if (export)
            {
                return(ExportData(subtitle, "服务厅", beginTime.GetValueOrDefault(), endTime.GetValueOrDefault(), null));
            }

            var data = new Statistics_DAL().GetStatistics_ServiceSlipAnalysis(beginTime, endTime, UserState.UserID);


            //var exceltitle = GetTitleName(mainTielt, "业务办理分析", beginTime.GetValueOrDefault(), endTime.GetValueOrDefault(), false);


            // 所有质量类型
            var typeList = CHK_QUALITY_CON_Dao.FindList();

            ViewData["typeList"] = typeList;

            // 所有事项大类
            var itemTypeList = SYS_DLSERIAL_Dao.FindList();

            ViewData["itemTypeList"] = itemTypeList;
            var list = data.GroupBy(m => m.HALL_NAM);

            SetChart(list, typeList, "服务厅业务差错分析", beginTime.GetValueOrDefault(), endTime.GetValueOrDefault(), subtitle);

            return(View(list));
        }
Exemple #4
0
        public ActionResult Index()
        {
            switch (GetHighLV)
            {
            case UserLV_ENUM.省级:
            case UserLV_ENUM.市级:
            case UserLV_ENUM.区级:
                break;

            case UserLV_ENUM.务厅级:
                var list = SYS_HALL_DAL.GetListByUserId(UserState.UserID);
                if (list.Count == 1)
                {
                    return(RedirectToAction("StaffStat", new { orgId = list[0].HALL_NO }));
                }
                break;
            }

            return(RedirectToAction("HallStat"));
        }
Exemple #5
0
        public ActionResult Index(string orgId, DateTime?beginTime, DateTime?endTime,
                                  int pageIndex   = 1, int pageSize = 20, string field = "HALL_NAM", string orderStr = "ASC",
                                  string viewName = "HallStat")
        {
            base.DateTimeInit(ref beginTime, ref endTime);

            switch (GetHighLV)
            {
            case UserLV_ENUM.省级:
            case UserLV_ENUM.市级:
            case UserLV_ENUM.区级:
                break;

            case UserLV_ENUM.务厅级:
                var list = SYS_HALL_DAL.GetListByUserId(UserState.UserID);
                if (list.Count == 1 && string.IsNullOrEmpty(orgId))
                {
                    orgId    = list[0].HALL_NO;
                    viewName = "StaffStat";
                }
                break;
            }


            ViewBag.ViewName = viewName;
            //因为现在只做到服务厅级别
            //return RedirectToAction("HallStat");
            var model = new
            {
                orgId     = orgId,
                beginTime = beginTime,
                endTime   = endTime,
                pageIndex = pageIndex,
                pageSize  = pageSize,
                field     = field,
                orderStr  = orderStr,
                viewName  = viewName
            };

            return(View(model));
        }
Exemple #6
0
        public ActionResult Index()
        {
            switch (GetHighLV)
            {
            case UserLV_ENUM.务厅级:
                var hallNo = string.Empty;
                var list   = SYS_HALL_DAL.GetListByUserId(UserState.UserID);
                if (list != null && list.Any())
                {
                    var hall = list.FirstOrDefault();
                    if (hall != null)
                    {
                        hallNo = hall.HALL_NO;
                    }
                }
                return(RedirectToAction("PersonalIndex", new { hallNo = hallNo }));

            default:
                return(RedirectToAction("HallIndex"));
            }
        }
Exemple #7
0
        public ActionResult Index(string rolenam, string orgid, string orgnam, int pageIndex = 1, int pageSize = 20)
        {
            ViewBag.ORGID   = orgid;
            ViewBag.ORGNAM  = orgnam;
            ViewBag.ROLENAM = rolenam;

            var orgall      = DaoOrg.FindList();
            var organdchild = new SYS_HALL_DAL().GetOrgAndChild(orgid);

            if (organdchild != null && organdchild.Count == 0)
            {
                organdchild = null;
            }

            Page <SYS_ROLE> data = dao.GetList(pageIndex, pageSize, "", "ROLE_NAM like", rolenam, "ORG_ID in", organdchild);

            foreach (var role in data.Items)
            {
                role.RoleORG = orgall.FirstOrDefault(obj => obj.ORG_ID == role.ORG_ID);
            }
            return(View(data));
        }
Exemple #8
0
        public ActionResult Save(HallModel model)
        {
            try
            {
                var hallService    = new SYS_HALL_DAL();
                var monHallService = new MON_HALL_DAL();

                hallService.UpdatePictUrl(model.HallNo, model.ImageUrl);


                #region 保存详细数据

                if (model.RemoveHallConfigs != null)
                {
                    foreach (var item in model.RemoveHallConfigs)
                    {
                        if (item.Type == 1)
                        {
                            monHallService.RemoveHallTabDef(item.HallNo, item.Id);
                        }
                        else
                        {
                            monHallService.RemoveHallCameraDef(item.Id);
                        }
                    }
                }

                if (model.HallTabConfigs != null)
                {
                    monHallService.DeleteHallTabDef(model.HallNo);
                    foreach (var tab in model.HallTabConfigs.Select(item => new MON_HALL_TAB_DEF()
                    {
                        COUNTER_ID = item.Id,
                        HALL_NO = item.HallNo,
                        HORIZ_SIGN = item.X,
                        VERTI_SIGN = item.Y,
                        ICON_URL = item.IconUrl
                    }))
                    {
                        MonHallTabDefDao.AddObject(tab);
                    }
                }
                if (model.HallCameraConfigs != null)
                {
                    foreach (var camera in model.HallCameraConfigs.Select(item => new MON_HALL_CAMERA_DEF()
                    {
                        DIR_TYP = (byte?)item.DirType,
                        SEQ = item.Id,
                        HALL_NO = item.HallNo,
                        HORIZ_SIGN = item.X,
                        VERTI_SIGN = item.Y,
                        ICON_URL = item.IconUrl,
                        CGI_PROTOCOL = item.CgiProtpcpl,
                        CHANNEL_ID = item.ChannelId,
                        HTTP_PROTOCOL = item.HttpProtocol,
                        IP_ADDRESS = item.Ip,
                        IPORT = item.Iport,
                        MON_COUNTER = item.MonCounter,
                        RTSP_PORT = item.RtspPort,
                        STRING_TYP = item.StringType,
                        USER_NAME = item.UserName,
                        USER_PASSWORD = item.Password,
                        ZERO_CHANNEL_IND = item.ZeroChannelInd,
                        CAMERA_TYP = item.CameraType,
                        MON_SHOW_IND = item.MonShowing,
                        CAMERA_NAM = item.CameraName
                    }))
                    {
                        monHallService.SaveHallCameraDef(camera);
                    }
                }

                #endregion

                return(Json(new { success = 0, JsonRequestBehavior.AllowGet }));
            }
            catch
            {
                return(Json(new { success = 1, JsonRequestBehavior.AllowGet }));
            }
        }
Exemple #9
0
        public ActionResult Index(DateTime?beginTime, DateTime?endTime, string orgid, int pageIndex = 1, int pageSize = 20, bool export = false)
        {
            CHK_AUTH();                                    //判断权限
            base.DateTimeInit(ref beginTime, ref endTime); //时间初始化

            ViewBag.beginTime = beginTime == null ? "" : beginTime.Value.ToString("yyyy-MM-dd");
            ViewBag.endTime   = endTime == null ? "" : endTime.Value.ToString("yyyy-MM-dd");
            ViewBag.NAM       = LV.ToString();
            var userorg = DalUser.GetUserORG(UserState.UserID);

            ViewBag.UserORG = new SelectList(userorg.Where(obj => obj.ORG_LEVEL == 4)
                                             , "ORG_ID", "ORG_NAM", orgid);
            if (LV == ENUM_STATLV.省市)
            {
                ViewBag.NAMLink = "/STAT/StatStaffCall?t=2";//如果是省级,点击进入市级
            }
            if (LV == ENUM_STATLV.务厅)
            {
                ViewBag.NAMLink = "/STAT/StatStaffCall?t=3";//如果是省级,点击进入员工报表
            }
            string subTitle = GetStatTitle(orgid, beginTime, endTime);

            ViewBag.subTitle = subTitle;

            List <dynamic> data = null;

            if (LV == ENUM_STATLV.省市)
            {
                data = new STAT_STAFF_BUSI_TOT_D_DAL().Q_STATDATA_GROUP_CITY(null, beginTime, endTime);
            }
            if (LV == ENUM_STATLV.务厅)
            {
                var halllist = new SYS_HALL_DAL().GetOrgHallAndChild(orgid).ToArray();
                data = new STAT_STAFF_BUSI_TOT_D_DAL().Q_STATDATA_GROUP_HALL(halllist, beginTime, endTime);
            }
            if (LV == ENUM_STATLV.员工)
            {
                var halllist = new SYS_HALL_DAL().GetOrgHallAndChild(orgid).ToArray();
                data = new STAT_STAFF_BUSI_TOT_D_DAL().Q_STATDATA_GROUP_STAFF(halllist, beginTime, endTime);
            }

            if (export)//导出
            {
                return(ExportData(StatNAM + "-" + LV.ToString(), subTitle, data));
            }
            else
            {
                DataSet   ds = new DataSet();
                DataTable dt = new DataTable();
                ds.Tables.Add(dt);
                dt.Columns.Add("NAM", typeof(string));
                dt.Columns.Add("呼叫量,P", typeof(string));
                dt.Columns.Add("办理量,P", typeof(string));
                dt.Columns.Add("弃号量,S", typeof(string));
                foreach (var item in data)
                {
                    DataRow r = dt.NewRow();
                    r["NAM"]   = item.NAM;
                    r["呼叫量,P"] = item.CALL_CNT + ";JavaScript:showCNT(\\\"CALLCNT\\\", \\\"" + Request.QueryString["orgid"] + "\\\")";
                    r["办理量,P"] = item.HANDLE_CNT + ";JavaScript:showCNT(\\\"HANDLECNT\\\", \\\"" + Request.QueryString["orgid"] + "\\\")";
                    r["弃号量,S"] = item.ABANDON_CNT + ";JavaScript:showCNT(\\\"ABANDONCNT\\\", \\\"" + Request.QueryString["orgid"] + "\\\")";
                    dt.Rows.Add(r);
                }
                subTitle = subTitle.Replace("<span style='font-size:12px;'>", "")
                           .Replace("</span>", "").Replace(StatNAM, "");
                ViewBag.ChartColumn3DXML = CreateMSColumn3DChart(StatNAM, ds.Tables[0], 420, subTitle, true);
                ViewBag.ChartSplineXML   = CreateMSSplineChart(StatNAM, ds, 420, null, null, subTitle);
                var page = new Page <dynamic>()
                {
                    Items = data.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(), ItemsPerPage = pageSize, CurrentPage = pageIndex, TotalItems = data.Count
                };
                return(View("Index", page));
            }
        }
Exemple #10
0
        public ActionResult Index(int?years, int?month, int?endMonth, string orgId, int pageIndex = 1, int pageSize = 20)
        {
            //month
            var stat    = years.GetValueOrDefault();
            var endstat = stat;

            if (years == null)
            {
                years   = DateTime.Now.Year;
                stat    = years.GetValueOrDefault();
                endstat = years.GetValueOrDefault();
                if (month == null)
                {
                    month    = DateTime.Now.Month;
                    endMonth = DateTime.Now.Month;
                }
            }

            if (month != null)
            {
                var sm = month.ToString();
                if (month < 10)
                {
                    sm = "0" + month;
                }
                int.TryParse(stat.ToString() + sm, out stat);
                if (endMonth == null)
                {
                    endstat = stat;
                }
            }
            else
            {
                stat = int.Parse(stat.ToString() + "01");
                if (endMonth == null)
                {
                    endstat = int.Parse(endstat + "12");
                }
            }

            if (endMonth != null)
            {
                var sm = endMonth.ToString();
                if (endMonth < 10)
                {
                    sm = "0" + endMonth;
                }
                int.TryParse(endstat.ToString() + sm, out endstat);
            }
            //.Select(x => x.HALL_NO).ToArray();
            var halllist = new List <string>();

            if (string.IsNullOrEmpty(orgId))
            {
                ViewBag.orgid   = "";
                ViewBag.orgName = "";
            }
            else
            {
                halllist        = new SYS_HALL_DAL().GetOrgHallAndChild(orgId);
                ViewBag.orgId   = orgId;
                ViewBag.orgName = "";
                var orginfo = orgdao.GetEntity("ORG_ID", orgId);
                if (orginfo != null)
                {
                    ViewBag.orgName = orginfo.ORG_NAM;
                }
            }
            ViewBag.EndMonths = GetMonthSelectList(true, endMonth);
            ViewBag.Months    = GetMonthSelectList(true, month);
            ViewBag.Years     = GetYearsSelectList(years);

            ViewBag.Stat    = stat;
            ViewBag.Endstat = endstat;


            //GetListSubByP
            if (month == endMonth)
            {
                var list = CHK_HALL_STAT_M_DAL.GetListSub(stat, halllist.ToArray(), pageIndex, pageSize);
                return(View(list));
            }
            else
            {
                var list = CHK_HALL_STAT_M_DAL.GetListSubByP(stat, endstat, orgId);
                return(View(list));
            }
        }
Exemple #11
0
        public ActionResult ShowQueueCNT(string ct, DateTime?beginTime, DateTime?endTime, string queueBusiCd, string orgid)
        {
            DateTime bTime = beginTime.HasValue ? beginTime.Value.AddHours(8) : (DateTime)DateTime.Now.DefaultBeginDateTime();
            DateTime eTime = endTime.HasValue ? endTime.Value.AddHours(18) : (DateTime)DateTime.Now.DefaultEndDateTime();

            var    halllist     = base.UserHall.Select(x => x.HALL_NO).ToArray();
            var    relist       = new List <STAT_STAFF_QUEUE_BUSI_D>();
            string serialname   = "";
            var    hallandchild = new SYS_HALL_DAL().GetOrgHallAndChild(orgid).ToArray();

            if (string.IsNullOrEmpty(queueBusiCd))
            {
                relist =
                    StatstaffqueuebusidDao.FindList("", "STAT_DT>=",
                                                    beginTime.HasValue
                                                        ? beginTime.Value
                                                        : Convert.ToDateTime("2000-01-01"), "STAT_DT<=",
                                                    endTime.HasValue ? endTime.Value : DateTime.Now,
                                                    "HALL_NO in", hallandchild).ToList();
            }
            else
            {
                relist =
                    StatstaffqueuebusidDao.FindList("", "STAT_DT>=",
                                                    beginTime.HasValue
                                                     ? beginTime.Value
                                                     : Convert.ToDateTime("2000-01-01"), "STAT_DT<=",
                                                    endTime.HasValue ? endTime.Value : DateTime.Now, "QUEUE_BUSI_CD", queueBusiCd,
                                                    "HALL_NO in", hallandchild).ToList();
                var ywdl = SysqueueserialDao.GetEntity("Q_SERIALID", queueBusiCd);
                serialname = ywdl.Q_SERIALNAME;
            }
            string titleName = "业务分析";

            if (!string.IsNullOrEmpty(serialname))
            {
                titleName = serialname + titleName;
            }
            var lineTable = new DataTable();

            lineTable.Columns.Add("Y_Name", typeof(string));

            switch (ct)
            {
            case "CALL_CNT":
                lineTable.Columns.Add("呼叫量", typeof(int));
                titleName = titleName + "--呼叫量";
                break;

            case "OVERTIME_WAIT_CNT":
                titleName = titleName + "--超时等候量";
                lineTable.Columns.Add("超时等候量", typeof(int));
                break;

            case "HANDLE_CNT":
                lineTable.Columns.Add("办理量", typeof(int));

                titleName = titleName + "--办理量";
                break;

            case "ABANDON_CNT":
                lineTable.Columns.Add("弃号量", typeof(int));
                titleName = titleName + "--弃号量";
                break;

            case "HANDLE_DUR":
                //总办理时长
                lineTable.Columns.Add("平均办理时间", typeof(int));
                titleName = titleName + "--平均办理时间";
                break;

            case "WAIT_DUR":     //总等待时长

                lineTable.Columns.Add("平均等待时间", typeof(int));
                titleName = titleName + "--平均等待时间";
                break;

            case "MAX_WAIT_DUR":
                lineTable.Columns.Add("最长等待时间", typeof(int));
                titleName = titleName + "--最长时间";
                break;

            case "MAX_HANDLE_DUR":
                lineTable.Columns.Add("最长办理时长", typeof(int));
                titleName = titleName + "--最长办理时长";
                break;

            case "OVERTIME_HANDLE_CNT":
                lineTable.Columns.Add("超时办理", typeof(int));
                titleName = titleName + "--超时办理";
                break;

            case "TOT_TICKET_CNT":
                lineTable.Columns.Add("人流量", typeof(int));
                titleName = titleName + "--人流量";
                break;
            }

            var mainTielt = GetOrgName(null, null);

            ViewBag.MainTitle = GetTitleName(mainTielt, "排队业务分析", beginTime.GetValueOrDefault(), endTime.GetValueOrDefault());
            var subtitle   = GetTitleName(mainTielt, "", beginTime.GetValueOrDefault(), endTime.GetValueOrDefault(), false);
            var exceltitle = GetTitleName(mainTielt, "排队业务分析", beginTime.GetValueOrDefault(), endTime.GetValueOrDefault(), false);


            TimeSpan timeSpan = eTime.Subtract(bTime);
            var      tlist    = new List <string>();

            base.SetLineYName(timeSpan, bTime, lineTable, tlist, eTime);
            for (int i = 0; i < lineTable.Rows.Count; i++)
            {
                var tempbtiem = Convert.ToDateTime(tlist[i]);

                var tempetiem = i + 1 < lineTable.Rows.Count ? Convert.ToDateTime(tlist[i + 1]) : eTime;

                var soureList = new List <STAT_STAFF_QUEUE_BUSI_D>();
                if (timeSpan.Days < 1)
                {
                    soureList = relist.
                                Where(x => x.TIME_QUANTUM_CD == tempbtiem.Hour).ToList();
                }
                else
                {
                    if (Convert.ToDateTime(tempbtiem.ToShortDateString()) ==
                        Convert.ToDateTime(eTime.ToShortDateString()))
                    {
                        soureList = relist.Where(x => x.STAT_DT >= Convert.ToDateTime(tempbtiem.ToShortDateString()) && x.STAT_DT < Convert.ToDateTime(tempetiem.AddDays(1).ToShortDateString())).ToList();
                    }
                    else
                    {
                        soureList = relist.Where(x => x.STAT_DT >= Convert.ToDateTime(tempbtiem.ToShortDateString()) && x.STAT_DT < Convert.ToDateTime(tempetiem.ToShortDateString())).ToList();
                    }
                }
                switch (ct)
                {
                case "CALL_CNT":
                    lineTable.Rows[i]["呼叫量"] = soureList.Count > 0 ? soureList.Sum(x => x.CALL_CNT) : 0;
                    break;

                case "OVERTIME_WAIT_CNT":
                    lineTable.Rows[i]["超时等候量"] = soureList.Count > 0 ? soureList.Sum(x => x.OVERTIME_WAIT_CNT) : 0;
                    break;

                case "HANDLE_CNT":
                    lineTable.Rows[i]["办理量"] = soureList.Count > 0 ? soureList.Sum(x => x.HANDLE_CNT) : 0;
                    break;

                case "ABANDON_CNT":
                    lineTable.Rows[i]["弃号量"] = soureList.Count > 0 ? soureList.Sum(x => x.ABANDON_CNT) : 0;
                    break;

                case "HANDLE_DUR":
                    //总办理时长
                    lineTable.Rows[i]["平均办理时间"] = soureList.Count > 0 ? soureList.Sum(x => x.HANDLE_CNT) != 0 ? soureList.Sum(x => x.HANDLE_DUR) / (soureList.Sum(x => x.HANDLE_CNT)) : 0 : 0;
                    break;

                case "WAIT_DUR":     //总等待时长
                    lineTable.Rows[i]["平均等待时间"] = soureList.Count > 0 ? soureList.Sum(x => x.TOT_TICKET_CNT) != 0 ? soureList.Sum(x => x.WAIT_DUR) / (soureList.Sum(x => x.TOT_TICKET_CNT)) : 0 : 0;
                    break;

                case "MAX_WAIT_DUR":
                    lineTable.Rows[i]["最长等待时间"] = soureList.Count > 0 ? soureList.Max(x => x.MAX_WAIT_DUR) : 0;
                    break;

                case "MAX_HANDLE_DUR":
                    lineTable.Rows[i]["最长办理时长"] = soureList.Count > 0 ? soureList.Max(x => x.MAX_HANDLE_DUR) : 0;
                    break;

                case "OVERTIME_HANDLE_CNT":
                    lineTable.Rows[i]["超时办理"] = soureList.Count > 0 ? soureList.Sum(x => x.OVERTIME_HANDLE_CNT) : 0;
                    break;

                case "TOT_TICKET_CNT":
                    lineTable.Rows[i]["人流量"] = soureList.Count > 0 ? soureList.Sum(x => x.TOT_TICKET_CNT) : 0;
                    break;
                }
            }
            DataSet dss = new DataSet();

            dss.Tables.Add(lineTable);

            ViewBag.ChartColumn3DXML = CreateColumn3DChart(titleName, lineTable, subtitle);
            ViewBag.ChartSplineXML   = CreateMSSplineChart(titleName, lineTable, 550, null, null, subtitle);

            ViewBag.ChartPie3DXML = CreatePie3DChart(titleName, dss, 430);

            if (ct == "HANDLE_DUR" || ct == "WAIT_DUR" || ct == "MAX_WAIT_DUR" || ct == "MAX_HANDLE_DUR")
            {
                ViewBag.ChartColumn3DXML = CreateColumn3DChart(titleName, lineTable, subtitle, true, "秒", "60", "分");
                ViewBag.ChartSplineXML   = CreateMSSplineChart(titleName, lineTable, 550, null, null, subtitle, true, "秒", "60", "分");
            }
            return(View(lineTable));
        }
Exemple #12
0
        public ActionResult OtherIndex(DateTime?beginTime, DateTime?endTime, string orgid, int pageIndex = 1, int pageSize = 20, bool export = false)
        {
            base.DateTimeInit(ref beginTime, ref endTime);

            ViewBag.beginTime = beginTime == null ? "" : beginTime.Value.ToString("yyyy-MM-dd");
            ViewBag.endTime   = endTime == null ? "" : endTime.Value.ToString("yyyy-MM-dd");
            var t = 3;//员工报表

            ViewBag.NAM = "员工";
            if (string.IsNullOrEmpty(Request.QueryString["t"]) ||
                !int.TryParse(Request.QueryString["t"], out t))
            {
                t = 1;
            }
            if (t == 1)
            {
                ViewBag.NAM     = "省市";
                ViewBag.NAMLink = "/STAT/statstaffqueuebusid/otherindex?t=2";//如果是省级,点击进入市级
            }
            if (t == 2)
            {
                ViewBag.NAM     = "服务厅";
                ViewBag.NAMLink = "/STAT/statstaffqueuebusid/otherindex?t=3"; //如果是省级,点击进入员工报表
            }
            if (GetHighLV == model.Enums.UserLV_ENUM.市级 && t < 2)             //判断是否有权限
            {
                return(Redirect("/STAT/statstaffqueuebusid/otherindex?t=2"));
            }
            if (GetHighLV == model.Enums.UserLV_ENUM.区级 && t < 2)//判断是否有权限
            {
                return(Redirect("/STAT/statstaffqueuebusid/otherindex?t=2"));
            }
            if (GetHighLV == model.Enums.UserLV_ENUM.务厅级 && t < 3) //判断是否有权限
            {
                return(Redirect("/STAT/statstaffqueuebusid/otherindex?t=3"));
            }
            if (GetHighLV == model.Enums.UserLV_ENUM.无权限)//判断是否有权限
            {
                return(NoAuth);
            }
            var re     = base.UserHall;
            var orgall = new SYS_USER_DAL().GetUserORG(UserState.UserID);

            ViewBag.UserORG = new SelectList(orgall.Where(obj => obj.ORG_LEVEL == 4)
                                             , "ORG_ID", "ORG_NAM", orgid);
            if (!string.IsNullOrEmpty(orgid))
            {
                orgall = orgall.Where(obj => obj.ORG_ID == orgid).ToList();
                if (null == orgall || orgall.Count() == 0)
                {
                    orgall = new List <SYS_ORGANIZE> {
                        new SYS_ORGANIZE {
                            ORG_ID = "-1"
                        }
                    };
                }
            }

            if (export)
            {
                pageIndex = 0;
            }
            List <dynamic> data = null;

            if (t == 1)
            {
                data = new STAT_STAFF_QUEUE_BUSI_D_DAL().Q_STATDATA_GROUP_CITY(null, beginTime, endTime, t);
            }
            if (t == 2)
            {
                var halllist = new SYS_HALL_DAL().GetOrgHallAndChild(orgid).ToArray();
                data = new STAT_STAFF_QUEUE_BUSI_D_DAL().Q_STATDATA_GROUP_CITY(halllist, beginTime, endTime, t);
            }
            if (t == 3)
            {
                var halllist = new SYS_HALL_DAL().GetOrgHallAndChild(orgid).ToArray();
                data = new STAT_STAFF_QUEUE_BUSI_D_DAL().Q_STATDATA_GROUP_CITY(halllist, beginTime, endTime, t);
            }
            string subTitle = "";

            if (beginTime == null && endTime == null)
            {
                subTitle = GetSubTitle(orgid, data.Select(o => o.MIN_STAT_DT).Min(), data.Select(o => o.MAX_STAT_DT).Max());
            }
            else
            {
                subTitle = GetSubTitle(orgid, beginTime, endTime);
            }
            ViewBag.subTitle = subTitle;
            if (export)//导出
            {
                string xlnam = "人流量对比分析-省市";
                if (t == 2)
                {
                    xlnam = "人流量对比分析-服务厅";
                }
                if (t == 3)
                {
                    xlnam = "人流量对比分析-排队业务";
                }
                return(ExportData(xlnam, subTitle, data));
            }
            else
            {
                subTitle = subTitle.Replace("<span style='font-size:12px;'>", "")
                           .Replace("</span>", "").Replace("人流量对比分析", "");
                DataTable dtCHART = null;
                dtCHART = GroupByNAM(data, t);
                ViewBag.ChartColumn3DXML = CreateMSColumn3DChart("人流量对比分析", dtCHART, 420, subTitle, true);
                ViewBag.ChartSplineXML   = CreateMSSplineChart("人流量对比分析", dtCHART, 420, null, null, subTitle);
                var page = new Page <dynamic>()
                {
                    Items = data.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(), ItemsPerPage = pageSize, CurrentPage = pageIndex, TotalItems = data.Count
                };

                return(View(page));
            }
        }
Exemple #13
0
        public ActionResult TaxpayerEval(
            DateTime?beginTime,
            DateTime?endTime,
            bool export = false)
        {
            // 判断当前用户组织结构
            var power = new SYS_HALL_DAL().GetList(UserState.UserID, "4");

            if (power.Count == 1)
            {
                var hallNo = power.FirstOrDefault().HALL_NO;

                return(Redirect(Url.Action("TaxpayerEval_Person", "Statistics", new
                {
                    @beginTime = beginTime,
                    @endTime = endTime,
                    @orgId = hallNo
                })));
            }

            // 初始化日期
            base.DateTimeInit(ref beginTime, ref endTime);

            // 获取数据
            var bll    = new Statistics_DAL();
            var result = bll.GetStatistics_TaxpayerEvalChart(beginTime, endTime, UserState.UserID);


            // 控制标题
            const string titleName = "纳税人评价分析";
            var          mainTielt = base.GetOrgName(null, 3);

            ViewBag.MainTitle = GetTitleName(mainTielt, titleName, beginTime.GetValueOrDefault(),
                                             endTime.GetValueOrDefault());
            var subtitle   = GetTitleName(mainTielt, "", beginTime.GetValueOrDefault(), endTime.GetValueOrDefault(), false);
            var exceltitle = GetTitleName(mainTielt, titleName, beginTime.GetValueOrDefault(),
                                          endTime.GetValueOrDefault(), false);

            if (export)
            {
                var index = 0;
                var data  = result.Select(x => new
                {
                    序号    = ++index,
                    务厅编码  = x.HALL_NO,
                    务厅名称  = x.ORG_NAM,
                    很满意   = x.VERY_SATISFY_CNT,
                    很满意率  = x.VERY_SATISFY_CNT_BFB + "%",
                    满意    = x.SATISFY_CNT,
                    满意率   = x.SATISFY_CNT_BFB + "%",
                    基本满意  = x.COMMON_CNT,
                    基本满意率 = x.COMMON_CNT_BFB + "%",
                    满意    = x.UNSATISFY_CNT,
                    满意率   = x.UNSATISFY_CNT_BFB + "%",
                    未评价   = x.NON_EVAL_CNT,
                    未评价率  = x.NON_EVAL_CNT_BFB + "%",
                    满意度   = x.ManYiDu_BFB + "%"
                }).ToList().ToDataTable();
                return(AsposeExcelHelper.OutFileToRespone(data, "纳税人评价分析报表-服务厅", exceltitle));
            }

            var chartData = result.Select(x => new
            {
                务厅名称 = x.ORG_NAM,
                很满意  = x.VERY_SATISFY_CNT,
                满意   = x.SATISFY_CNT,
                基本满意 = x.COMMON_CNT,
                满意   = x.UNSATISFY_CNT,
                未评价  = x.NON_EVAL_CNT,
            }).ToList().ToDataTable();


            // 输出图表
            ViewBag.ChartColumn3DXML = CreateMSColumn3DChart(titleName, chartData, 430, subtitle);

            ViewBag.ChartSplineXML = CreateMSSplineChart(titleName, chartData, 430, null, null, subtitle);

            return(View(result));
        }