public ActionResult DepartmentCreate()
        {
            var group = (from d in db.Departments
                         select new StaffModel {
                department = d.DepartmentId, name = d.Name, text = d.Name, value = d.DepartmentId
            }).ToList();

            ViewBag.Group           = group;
            ViewBag.DepartmentsList = Generate.GetDepartments(base.ConnectionString);
            ViewBag.list            = GetHolidayTypes();
            return(View());
        }
Пример #2
0
        public ActionResult PersonalCreate([Bind(Include = "Id,StartDate,EndDate,WorksId,AuditStatus,StaffNumber,Remark")] WorkManages workManages)
        {
            if (ModelState.IsValid)
            {
                string staffNumber = workManages.StaffNumber.Split(new char[] { '-' })[0];

                /**
                 * 对于每一个员工,他的排班在一入职的时候,一定会分配一个默认排班的,所以在进行部门排班或者个人排版的时候,
                 * 这个员工一定已经有一条记录在WorkManages表当中,所以当进行部门排班或者个人排班的时候,只需要对这个员工的
                 * 排班信息进行更新就行了
                 * */
                string             tmpDepartmentId = (from x in db.Staffs where x.StaffNumber.Equals(staffNumber) select x.Department).Single();
                List <WorkManages> tmpWorkManages  = (from x in db.WorkManages
                                                      where x.StaffNumber.Equals(staffNumber) && x.Date <= workManages.EndDate && x.Date >= workManages.StartDate
                                                      select x).ToList();
                //删除原来的在相同时间段内的排班情况
                db.WorkManages.RemoveRange(tmpWorkManages);
                //插入新的排班情况
                int days = workManages.EndDate.DayOfYear - workManages.StartDate.DayOfYear;
                for (int i = 0; i <= days; i++)
                {
                    db.WorkManages.Add(new WorkManages()
                    {
                        WorksId      = workManages.WorksId,
                        AuditStatus  = 1,
                        Flag         = false, //标示是针对个人的排班
                        StaffNumber  = staffNumber,
                        DepartmentId = tmpDepartmentId,
                        Remark       = workManages.Remark,
                        Date         = workManages.StartDate.AddDays(i),
                    });
                }
                db.SaveChanges();
                return(RedirectToAction("PersonalIndex"));
            }
            ViewBag.DepartmentsList = Generate.GetDepartments(base.ConnectionString);
            ViewBag.WorksList       = Generate.GetWorks(base.ConnectionString);
            return(View(workManages));
        }
        public ActionResult DepartmentCreate([Bind(Include = "Id,DptIds,Date,StartHour,EndHour,Remark,Type")] HolidayTables holidayTable)
        {
            if (ModelState.IsValid)
            {
                List <string> dptIds = holidayTable.DptIds.Split(',').ToList();

                foreach (string tmp in dptIds)
                {
                    //删除原来所有的这个部门在这一天的放假情况
                    List <HolidayTables> tmpList = db.HolidayTables.Where(p => p.DepartmentId.Equals(tmp) && p.Date == holidayTable.Date).ToList();
                    db.HolidayTables.RemoveRange(tmpList);
                    db.SaveChanges();

                    List <string> StaffNubmers = db.Staffs.Where(p => p.Department.Equals(tmp)).Select(p => p.StaffNumber).ToList();
                    tmpList.Clear();
                    foreach (string tmpStaffNumber in StaffNubmers)
                    {
                        tmpList.Add(new HolidayTables()
                        {
                            Flag         = true, //标示是针对部门的假日表
                            DepartmentId = tmp,
                            StaffNumber  = tmpStaffNumber,
                            StartHour    = holidayTable.StartHour,
                            EndHour      = holidayTable.EndHour,
                            Remark       = holidayTable.Remark,
                            Date         = holidayTable.Date,
                            Type         = holidayTable.Type,
                        });
                    }
                    db.HolidayTables.AddRange(tmpList);
                    db.SaveChanges();
                }
                return(RedirectToAction("DepartmentIndex"));
            }
            ViewBag.list            = GetHolidayTypes();
            ViewBag.DepartmentsList = Generate.GetDepartments(base.ConnectionString);
            return(View(holidayTable));
        }
Пример #4
0
        public ActionResult DepartmentCreate([Bind(Include = "Id,StartDate,EndDate,WorksId,AuditStatus,DepartmentId,Remark")] WorkManages workManages)
        {
            if (ModelState.IsValid)
            {
                List <string> StaffNumbers = (from x in db.Staffs where x.Department.Equals(workManages.DepartmentId) select x.StaffNumber).ToList();
                WorkManages   wm           = db.WorkManages.Find(13);

                foreach (string tmpStaffNumber in StaffNumbers)
                {
                    List <WorkManages> tmpWorkManages = (from x in db.WorkManages
                                                         where x.StaffNumber.Equals(tmpStaffNumber) && x.Date <= workManages.EndDate && x.Date >= workManages.StartDate
                                                         select x).ToList();
                    //删除原来的在相同时间段内的排班情况
                    db.WorkManages.RemoveRange(tmpWorkManages);
                    //插入新的排班情况
                    int days = workManages.EndDate.DayOfYear - workManages.StartDate.DayOfYear;
                    for (int i = 0; i <= days; i++)
                    {
                        db.WorkManages.Add(new WorkManages()
                        {
                            WorksId      = workManages.WorksId,
                            AuditStatus  = 1,
                            Flag         = true, //标示是针对部门的排班
                            StaffNumber  = tmpStaffNumber,
                            DepartmentId = workManages.DepartmentId,
                            Remark       = workManages.Remark,
                            Date         = workManages.StartDate.AddDays(i),
                        });
                    }
                    db.SaveChanges();
                }
                return(RedirectToAction("DepartmentIndex"));
            }
            ViewBag.DepartmentsList = Generate.GetDepartments(base.ConnectionString);
            ViewBag.WorksList       = Generate.GetWorks(base.ConnectionString);
            return(View(workManages));
        }
Пример #5
0
 public ActionResult PersonalCreate()
 {
     ViewBag.DepartmentsList = Generate.GetDepartments(base.ConnectionString);
     ViewBag.WorksList       = Generate.GetWorks(base.ConnectionString);
     return(View());
 }