Exemple #1
0
        //
        // GET: /StatisticsManage/Department/
        public override ActionResult Index()
        {
            string  organizeId = Common.GetString("organizeid");
            string  startDT    = Common.GetString("startdt"); // Request["StartDT"];
            string  endDT      = Common.GetString("enddt");   // Request["EndDT"];
            UserApp userApp    = new UserApp();

            organizeId = string.IsNullOrEmpty(organizeId) ? NFine.Code.OperatorProvider.Provider.GetCurrent().CompanyId : organizeId;//获取到当前的组织结构id
            //todo 找出该组织的下级
            OrganizeApp   organizeApp    = new OrganizeApp();
            var           organizeData   = organizeApp.GetList(organizeId);
            List <string> listOrganizeId = organizeData.Select(x => x.F_Id).ToList();// new List<string>() { organizeId };

            //var userData = userApp.GetList(listOrganizeId);
            ViewBag.OrganizeList = organizeData.Select(x => x.F_FullName).ToJson();
            //todo 找出每个员工的完成情况 放入内存中 执行逻辑操作
            TaskApp taskApp = new TaskApp();
            //var taskData = taskApp.GetList(userData.Select(x => x.F_Id).ToList());
            List <Report>  listReports    = new List <Report>();
            ItemsDetailApp itemsDetailApp = new ItemsDetailApp();
            var            itemsData      = itemsDetailApp.GetItemList(schedule);

            foreach (var item in itemsData)
            {
                Report report = new Report();
                report.name = item.F_ItemName;
                List <int> listCount = new List <int>();
                foreach (var organizeItem in organizeData)
                {
                    //todo 获取组织下的所有员工
                    //获取组织下的组织
                    var           data             = organizeApp.GetAllList(organizeItem.F_Id);
                    List <string> listOrganizeNext = new List <string>();
                    foreach (var organizeItemNext in data)
                    {
                        listOrganizeNext.Add(organizeItemNext);
                    }
                    //获取下级下的所有员工
                    var userData = userApp.GetList(listOrganizeNext);
                    //获取下级下的所有员工的任务
                    var taskData = taskApp.GetList(userData.Select(x => x.F_Id).ToList());
                    if (!string.IsNullOrEmpty(startDT))
                    {
                        var time = Utils.ObjectToDateTime(startDT);
                        taskData = taskData.Where(d => d.F_CreatorTime > time).ToList();
                    }
                    if (!string.IsNullOrEmpty(endDT))
                    {
                        var time = Utils.ObjectToDateTime(endDT);
                        taskData = taskData.Where(d => d.F_CreatorTime <= time).ToList();
                    }
                    listCount.Add(taskData.Count(d => d.F_Status == item.F_Id));
                }
                report.data = listCount;
                listReports.Add(report);
            }
            ViewBag.Series = listReports.ToJson();
            return(View());
        }
 public UserController(UserApp userApp, UserLogOnApp userLogOnApp, OrganizeApp organizeApp, RoleApp roleApp, DutyApp dutyApp)
 {
     this.userApp      = userApp;
     this.userLogOnApp = userLogOnApp;
     this.organizeApp  = organizeApp;
     this.roleApp      = roleApp;
     this.dutyApp      = dutyApp;
 }
Exemple #3
0
 public ClientsDataController(ItemsDetailApp itemsDetailApp, ItemsApp itemsApp, OrganizeApp organizeApp,
                              RoleApp roleApp, DutyApp dutyApp, RoleAuthorizeApp roleAuthorizeApp)
 {
     this.itemsDetailApp   = itemsDetailApp;
     this.itemsApp         = itemsApp;
     this.organizeApp      = organizeApp;
     this.roleApp          = roleApp;
     this.dutyApp          = dutyApp;
     this.roleAuthorizeApp = roleAuthorizeApp;
 }
Exemple #4
0
        public ActionResult Default()
        {
            var           organizeId       = NFine.Code.OperatorProvider.Provider.GetCurrent().CompanyId;//获取到当前的组织结构id
            UserApp       userApp          = new UserApp();
            TaskApp       taskApp          = new TaskApp();
            OrganizeApp   organizeApp      = new OrganizeApp();
            var           organizeData     = organizeApp.GetAllList(organizeId);
            List <string> listOrganizeNext = new List <string>();

            foreach (var item in organizeData)
            {
                listOrganizeNext.Add(item);
            }
            var      userData = userApp.GetList(listOrganizeNext);
            var      taskData = taskApp.GetList(userData.Select(x => x.F_Id).ToList());
            DateTime dt       = DateTime.Now; //当前时间

            //当天待处理任务
            ViewBag.DayTaskDoing = taskData.Count(d => d.F_Status == Doing && d.F_CreatorTime > dt.AddDays(-1) && d.F_CreatorTime <= dt);
            //本周待处理任务
            DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d"))); //本周周一
            DateTime endWeek   = startWeek.AddDays(6);                                        //本周周日

            ViewBag.WeekTaskDoing = taskData.Count(d => d.F_Status == Doing && d.F_CreatorTime > startWeek && d.F_CreatorTime <= endWeek);
            //本周已处理任务
            ViewBag.WeekTaskDone = taskData.Count(d => d.F_Status == Done && d.F_CreatorTime > startWeek && d.F_CreatorTime <= endWeek);
            //本月待处理任务
            DateTime startMonth = dt.AddDays(1 - dt.Day);              //本月月初
            DateTime endMonth   = startMonth.AddMonths(1).AddDays(-1); //本月月末
            //本月任务
            var tempTask = taskData.Where(d => d.F_CreatorTime > startMonth && d.F_CreatorTime <= endMonth).ToList();

            //本月待处理
            ViewBag.MonthTaskDoing = tempTask.Count(d => d.F_Status == Doing);

            //本月已处理任务
            ViewBag.MonthTaskDone = tempTask.Count(d => d.F_Status == Done);
            //本月未完成
            ViewBag.MonthTaskNone = tempTask.Count(d => d.F_Status != Done && d.F_Status != Doing);
            //最近6个月的完成情况
            List <int>    listLineChartData = new List <int>();
            List <string> listLineChartName = new List <string>();

            for (int i = 6; i > 0; i--)
            {
                startMonth = dt.AddMonths(-i).AddDays(1 - dt.Day); //当月月初
                endMonth   = startMonth.AddMonths(1).AddDays(-1);  //当月月末
                var tempCount = taskData.Count(d => d.F_Status == Done && d.F_CreatorTime > startMonth && d.F_CreatorTime <= endMonth);
                listLineChartData.Add(tempCount);
                listLineChartName.Add(dt.AddMonths(-i).Year + "年" + dt.AddMonths(-i).Month + "月");
            }
            ViewBag.LineChartData = listLineChartData.ToJson();
            ViewBag.LineChartName = listLineChartName.ToJson();
            return(View());
        }
Exemple #5
0
        public ActionResult GetInfo()
        {
            var keyValue = OperatorProvider.Provider.GetCurrent().UserId;
            var data     = _userApp.GetForm(keyValue);

            if (data != null && data.F_OrganizeId != null)
            {
                var organize = new OrganizeApp().GetForm(data.F_OrganizeId);
                data.F_OrganizeId = organize == null ? "无" : organize.F_FullName;
            }
            else
            {
                if (data != null)
                {
                    data.F_OrganizeId = "无";
                }
            }
            if (data != null && data.F_DepartmentId != null)
            {
                var department = new OrganizeApp().GetForm(data.F_DepartmentId);
                data.F_DepartmentId = department == null ? "无" : department.F_FullName;
            }
            else
            {
                if (data != null)
                {
                    data.F_DepartmentId = "无";
                }
            }
            if (data != null && data.F_RoleId != null)
            {
                var role = new RoleApp().GetForm(data.F_RoleId);
                data.F_RoleId = role == null ? "无" : role.F_FullName;
            }
            else
            {
                if (data != null)
                {
                    data.F_RoleId = "无";
                }
            }
            if (data != null && data.F_DutyId != null)
            {
                var duty = new DutyApp().GetForm(data.F_DutyId);
                data.F_DutyId = duty == null ? "无" : duty.F_FullName;
            }
            else
            {
                if (data != null)
                {
                    data.F_DutyId = "无";
                }
            }
            return(Content(data.ToJson()));
        }
        public ActionResult XFExcel(string starttime)
        {
            OrganizeApp organizeApp = new OrganizeApp();
            DataTable   dt          = new DataTable();

            dt.Columns.Add("部门");
            dt.Columns.Add("姓名");

            DateTime now = DateTime.Now;

            if (!string.IsNullOrEmpty(starttime))
            {
                now = starttime.ToDate();
            }
            now = new DateTime(now.Year, now.Month, 1);
            for (int i = 1; i <= now.AddMonths(1).AddDays(-1).Day; i++)
            {
                dt.Columns.Add(i + "日");
            }
            foreach (var item in userApp.GetList(new Pagination()
            {
                page = 1, rows = 1000, sord = "asc", sidx = "F_DepartmentId asc,F_CreatorTime desc"
            }, ""))
            {
                DataRow dr = dt.NewRow();
                dr["部门"] = organizeApp.GetForm(item.F_DepartmentId).F_FullName;
                dr["姓名"] = item.F_RealName;
                for (int i = 1; i <= now.AddMonths(1).AddDays(-1).Day; i++)
                {
                    string times = "";
                    if (!string.IsNullOrEmpty(item.F_PosCard))
                    {
                        foreach (var attr in posApp.GetList(item.F_PosCard.Trim(), new DateTime(now.Year, now.Month, i), new DateTime(now.Year, now.Month, i)))
                        {
                            times += attr.PosTime.ToString("HH:mm:ss") + "  \r\n";
                        }
                    }

                    dr[i + "日"] = times;
                }
                dt.Rows.Add(dr);
            }

            NPOIExcel npoiexel = new NPOIExcel();
            string    fileDir  = DateTime.Now.ToString("yyyyMMdd");
            string    fileName = "XF" + Guid.NewGuid().ToString("N") + ".xls";
            string    destDir  = Server.MapPath(@"/XlsTemp") + "\\" + fileDir + "\\";

            if (!Directory.Exists(destDir))
            {
                Directory.CreateDirectory(destDir);
            }
            npoiexel.ToExcel(dt, now.ToString("yyyy年MM月") + "的消费机数据", "Sheet1", destDir + fileName);
            return(Content("/XlsTemp/" + fileDir + "/" + fileName));
        }
Exemple #7
0
        public ActionResult GetMyGridJson()
        {
            var           companyId    = NFine.Code.OperatorProvider.Provider.GetCurrent().CompanyId;//获取到当前的组织结构id
            OrganizeApp   organizeApp  = new OrganizeApp();
            var           organizeData = organizeApp.GetList();
            List <string> organizeIds  = new List <string>();

            organizeIds = GetChildList(organizeIds, organizeData.Where(d => d.F_Id == companyId).ToList());
            var userData = new UserApp().GetList(organizeIds);

            return(Content(userData.ToJson()));
        }
Exemple #8
0
        List <string> GetChildList(List <string> organizeIds,
                                   List <OrganizeEntity> organizeEntities)
        {
            OrganizeApp organizeApp = new OrganizeApp();

            foreach (var item in organizeEntities)
            {
                organizeIds.Add(item.F_Id);
                var tempdata = organizeApp.GetList().Where(d => d.F_ParentId == item.F_Id).ToList();
                GetChildList(organizeIds, tempdata);
            }
            return(organizeIds);
        }
Exemple #9
0
        public override ActionResult Form()
        {
            OrganizeApp oa       = new OrganizeApp();
            var         list     = oa.GetList();
            string      allorgID = "";

            foreach (var item in list)
            {
                allorgID = allorgID + item.ID + ",";
            }
            ViewBag.AllOrgID = allorgID;
            return(View());
        }
Exemple #10
0
        /// <summary>
        /// 获取我的下级员工id集合
        /// </summary>
        /// <returns></returns>
        public static List <string> GetMyUser()
        {
            //根据权限获取我的下级
            var           companyId    = NFine.Code.OperatorProvider.Provider.GetCurrent().CompanyId;//获取到当前的组织结构id
            OrganizeApp   organizeApp  = new OrganizeApp();
            var           organizeData = organizeApp.GetList();
            List <string> organizeIds  = new List <string>();

            organizeIds = GetChildList(organizeIds, organizeData.Where(d => d.F_Id == companyId).ToList());
            var expression = ExtLinq.True <UserEntity>();

            expression = expression.And(d => organizeIds.Contains(d.F_OrganizeId));
            IUserRepository service = new UserRepository();

            return(service.FindList(expression).Select(x => x.F_Id).ToList());
        }
Exemple #11
0
        private object GetOrganizeList()
        {
            OrganizeApp organizeApp = new OrganizeApp();
            var         data        = organizeApp.GetList();
            Dictionary <string, object> dictionary = new Dictionary <string, object>();

            foreach (OrganizeEntity item in data)
            {
                var fieldItem = new
                {
                    encode   = item.EnCode,
                    fullname = item.FullName
                };
                dictionary.Add(item.Id, fieldItem);
            }
            return(dictionary);
        }
Exemple #12
0
        private object GetOrganizeList()
        {
            OrganizeApp organizeApp = new OrganizeApp();
            var         data        = organizeApp.GetList();
            Dictionary <string, object> dictionary = new Dictionary <string, object>();

            foreach (Sys_Organize item in data)
            {
                var fieldItem = new
                {
                    encode   = item.F_EnCode,
                    fullname = item.F_FullName
                };
                dictionary.Add(item.F_Id, fieldItem);
            }
            Common.BIBasicList["organize"] = dictionary;
            return(dictionary);
        }
Exemple #13
0
        //获取维修商
        private object GetMaintainList()
        {
            List <MaintainEntity> datalist    = new List <MaintainEntity>();
            MaintainApp           maintainApp = new MaintainApp();
            OrganizeApp           organizeApp = new OrganizeApp();
            var maintainlist = maintainApp.GetList();
            List <OrganizeEntity> orgList = new List <OrganizeEntity>();

            if (OperatorProvider.Provider.GetCurrent().IsSystem)
            {
                orgList = organizeApp.GetList();
            }
            else
            {
                orgList = organizeApp.GetSelectEntitys(OperatorProvider.Provider.GetCurrent().CompanyId, "");
            }
            datalist = (from c in maintainlist
                        join o in orgList on c.FOrganizeId equals o.FId
                        select c).ToList();

            Dictionary <string, object> dictionary = new Dictionary <string, object>();

            foreach (MaintainEntity item in datalist)
            {
                var fieldItem = new
                {
                    FId        = item.FId,
                    FShortName = item.FShortName,
                    FNumber    = item.FNumber,
                    FFullName  = item.FFullName,
                    FLinkMan   = item.FLinkMan
                };
                dictionary.Add(item.FId, fieldItem);
            }
            return(dictionary);
        }
Exemple #14
0
        public ActionResult WriteToExcel(Pagination pagination, string keyword, string starttime)
        {
            DataTable dt = new DataTable();

            dt.Columns.Add("部门");
            dt.Columns.Add("姓名");
            dt.Columns.Add("报餐情况");
            dt.Columns.Add("上班考勤");
            dt.Columns.Add("下班考勤"); dt.Columns.Add("早晨刷卡"); dt.Columns.Add("中餐刷卡"); dt.Columns.Add("晚餐刷卡"); dt.Columns.Add("扣次数");
            dt.Columns.Add("预计补助");
            DateTime now = DateTime.Now;

            if (!string.IsNullOrEmpty(starttime))
            {
                now = starttime.ToDate();
            }
            var         lists       = new List <DataStatisticsForm>();
            OrganizeApp organizeApp = new OrganizeApp();

            foreach (var item in userApp.GetList(pagination, keyword))
            {
                DataRow dr = dt.NewRow();
                dr["部门"] = organizeApp.GetForm(item.F_DepartmentId).F_FullName;

                dr["姓名"] = item.F_RealName;
                var baocan = reportApp.GetCurrentTime(item.F_Id, now, 1);
                dr["报餐情况"] = "未报";
                if (baocan != null)
                {
                    dr["报餐情况"] = "已报";
                }
                var attl = attlApp.GetCurrentTime(item.F_AttCard, now, true);
                dr["上班考勤"] = "×";
                if (attl != null)
                {
                    dr["上班考勤"] = "√";
                }
                var attl2 = attlApp.GetCurrentTime(item.F_AttCard, now, false);
                dr["下班考勤"] = "×";
                if (attl2 != null)
                {
                    dr["下班考勤"] = "√";
                }
                var pos = posApp.GetCurrentTime(item.F_PosCard, now, 0);
                dr["早晨刷卡"] = "×";
                if (pos != null)
                {
                    dr["早晨刷卡"] = "√";
                }
                var pos1 = posApp.GetCurrentTime(item.F_PosCard, now, 1);
                dr["中餐刷卡"] = "×";
                if (pos1 != null)
                {
                    dr["中餐刷卡"] = "√";
                }
                var pos2 = posApp.GetCurrentTime(item.F_PosCard, now, 2);
                dr["晚餐刷卡"] = "×";
                if (pos2 != null)
                {
                    dr["晚餐刷卡"] = "√";
                }
                int bu  = 0;
                int kou = 0;
                PosT(now, item.F_PosCard, item.F_AttCard, item.F_Id, out bu, out kou);
                dr["预计补助"] = (bu * 15).ToString();
                dr["扣次数"]  = (kou).ToString();
                dt.Rows.Add(dr);
            }
            NPOIExcel npoiexel = new NPOIExcel();
            string    fileDir  = DateTime.Now.ToString("yyyyMMdd");
            string    fileName = "G" + Guid.NewGuid().ToString("N") + ".xls";
            string    destDir  = Server.MapPath(@"/XlsTemp") + "\\" + fileDir + "\\";

            if (!Directory.Exists(destDir))
            {
                Directory.CreateDirectory(destDir);
            }
            npoiexel.ToExcel(dt, "数据", "Sheet1", destDir + fileName);
            return(Content("/XlsTemp/" + fileDir + "/" + fileName));
        }
Exemple #15
0
        public ActionResult CheckLogin(string username, string password, string code)
        {
            LogEntity logEntity = new LogEntity();

            logEntity.ModuleName = "系统登录";
            logEntity.Type       = DbLogType.Login.ToString();
            try
            {
                if (Session["Storm_session_verifycode"].IsEmpty() || Md5.md5(code.ToLower(), 16) != Session["Storm_session_verifycode"].ToString())
                {
                    throw new Exception("验证码错误,请重新输入");
                }

                UserEntity userEntity = new UserApp().CheckLogin(username, password);
                if (userEntity != null)
                {
                    OperatorModel operatorModel = new OperatorModel();
                    operatorModel.UserId       = userEntity.Id;
                    operatorModel.UserCode     = userEntity.Account;
                    operatorModel.UserName     = userEntity.RealName;
                    operatorModel.CompanyId    = userEntity.OrganizeId;
                    operatorModel.DepartmentId = userEntity.DepartmentId;
                    if (userEntity.DepartmentId != null && !string.IsNullOrEmpty(userEntity.DepartmentId))
                    {
                        OrganizeEntity organizeEntity = new OrganizeApp().GetForm(userEntity.DepartmentId);
                        if (organizeEntity != null && !string.IsNullOrEmpty(organizeEntity.Id))
                        {
                            operatorModel.DepartmentName = organizeEntity.FullName;
                        }
                    }
                    operatorModel.RoleId             = userEntity.RoleId;
                    operatorModel.LoginIPAddress     = Net.Ip;
                    operatorModel.LoginIPAddressName = Net.GetLocation(operatorModel.LoginIPAddress);
                    operatorModel.LoginTime          = DateTime.Now;
                    operatorModel.LoginToken         = DESEncrypt.Encrypt(Guid.NewGuid().ToString());
                    if (userEntity.Account == "admin")
                    {
                        operatorModel.IsSystem = true;
                    }
                    else
                    {
                        operatorModel.IsSystem = false;
                    }
                    OperatorProvider.Provider.AddCurrent(operatorModel);
                    logEntity.Account     = userEntity.Account;
                    logEntity.NickName    = userEntity.RealName;
                    logEntity.Result      = true;
                    logEntity.Description = "登录成功";
                    new LogApp().WriteDbLog(logEntity);
                }
                return(Content(new AjaxResult {
                    state = ResultType.success.ToString(), message = "登录成功。"
                }.ToJson()));
            }
            catch (Exception ex)
            {
                logEntity.Account     = username;
                logEntity.NickName    = username;
                logEntity.Result      = false;
                logEntity.Description = "登录失败," + ex.Message;
                new LogApp().WriteDbLog(logEntity);
                return(Content(new AjaxResult {
                    state = ResultType.error.ToString(), message = ex.Message
                }.ToJson()));
            }
        }
Exemple #16
0
 public OrganizeController(OrganizeApp organizeApp)
 {
     this.organizeApp = organizeApp;
 }