public ActionResult DeleteConfirmed(int id) { HolidayTables holidayTables = db.HolidayTables.Find(id); db.HolidayTables.Remove(holidayTables); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "Id,StaffNumber,Date,Type,StartHour,EndHour,Remark")] HolidayTables holidayTables) { if (ModelState.IsValid) { db.Entry(holidayTables).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(holidayTables)); }
public ActionResult Create([Bind(Include = "Id,StaffNumber,Date,Type,StartHour,EndHour,Remark")] HolidayTables holidayTables) { if (ModelState.IsValid) { db.HolidayTables.Add(holidayTables); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(holidayTables)); }
// GET: HolidayTables/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } HolidayTables holidayTables = db.HolidayTables.Find(id); if (holidayTables == null) { return(HttpNotFound()); } return(View(holidayTables)); }
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)); }
//生成每天所需要的基本打卡表和日考勤报表 public void GenerateSignInCardStatusAndEveryDaySign(DateTime CurrentDate) { List <HolidayTables> holidays = db.HolidayTables.Where(p => p.Date == CurrentDate).ToList(); //找到每一个员工在CurrentDate这一天所有的WorkTimes var StaffWorks = (from x in db.Staffs.Where(p => p.FreeCard == false) join p in db.WorkManages.Where(p => p.Date == CurrentDate.Date) on x.StaffNumber equals p.StaffNumber join n in db.WorkTimes on p.WorksId equals n.WorksId select new { x.StaffNumber, x.Name, p.Date, p.WorksId, n.StartTime, n.EndTime, n.AheadMinutes, n.LateMinutes, n.LeaveEarlyMinutes, n.BackMinutes }).ToList(); foreach (var tmp in StaffWorks) { HolidayTables tmpHoliday = null; if (holidays.Count != 0) { try { tmpHoliday = holidays.Where(p => p.StaffNumber.Equals(tmp.StaffNumber)).Single(); } catch (Exception e) { Tools.WriteErrorLog(e); break; } } if (tmpHoliday != null && tmpHoliday.StartHour <= tmp.StartTime.Hours && tmpHoliday.EndHour >= tmp.StartTime.Hours) { continue; } //写入信息到打卡表 //添加上班时间点 db.SignInCardStatus.Add(new SignInCardStatus() { StaffNumber = tmp.StaffNumber, WorkDate = CurrentDate, NeedWorkTime = tmp.StartTime, NeedStartTime = Tools.MinusMinutes(tmp.StartTime, tmp.AheadMinutes), NeedEndTime = Tools.AddMinutes(tmp.StartTime, tmp.LateMinutes), Type = "上班", ComeLateMinutes = 0, LeaveEarlyMinutes = 0 }); //添加下班时间点 db.SignInCardStatus.Add(new SignInCardStatus() { StaffNumber = tmp.StaffNumber, WorkDate = CurrentDate, NeedWorkTime = tmp.EndTime, NeedStartTime = Tools.MinusMinutes(tmp.EndTime, tmp.LeaveEarlyMinutes), NeedEndTime = Tools.AddMinutes(tmp.EndTime, tmp.BackMinutes), Type = "下班", ComeLateMinutes = 0, LeaveEarlyMinutes = 0 }); db.SaveChanges(); } var Staffs = StaffWorks.Select(p => new { p.StaffNumber, p.WorksId }).Distinct().ToList(); foreach (var tmp in Staffs) { //生成日考勤报表 db.EveryDaySignInDates.Add(new EveryDaySignInDate(tmp.StaffNumber, tmp.WorksId, CurrentDate)); db.SaveChanges(); } }
public ActionResult PersonalCreate([Bind(Include = "Id,Staffs,Date,StartHour,EndHour,Remark,Flag,Type")] HolidayTables holidayTables) { var staff = (from s in db.Staffs select new StaffModel { department = s.Department, text = s.StaffNumber + "-" + s.Name, value = s.StaffNumber // + "-" + s.Name //显示框中显示的选中值直接就是员工号,不带姓名的 }).ToList(); var group = (from d in db.Departments select new StaffModel { department = d.DepartmentId, name = d.Name }).ToList(); Dictionary <string, int> sum = new Dictionary <string, int>(); foreach (var g in group) { int count = 0; foreach (var s in staff) { if (s.department == g.department) { count++; } } sum.Add(g.department, count); } ViewBag.Count = sum; ViewBag.Receiver = staff; ViewBag.Group = group; ViewBag.list = GetHolidayTypes(); if (ModelState.IsValid) { List <string> numbers = holidayTables.Staffs.Split(',').ToList(); List <HolidayTables> tmpHoliday = new List <HolidayTables>(); foreach (string tmpStaffNumber in numbers) { db.HolidayTables.RemoveRange(db.HolidayTables.Where(p => p.StaffNumber.Equals(tmpStaffNumber) && p.Date == holidayTables.Date).ToList()); db.SaveChanges(); tmpHoliday.Add(new HolidayTables() { Flag = false, //标示是针对个人的排班 StaffNumber = tmpStaffNumber, DepartmentId = db.Staffs.Where(p => p.StaffNumber.Equals(tmpStaffNumber)).Single().Department, Date = holidayTables.Date, StartHour = holidayTables.StartHour, EndHour = holidayTables.EndHour, Type = holidayTables.Type, Remark = holidayTables.Remark, }); } db.HolidayTables.AddRange(tmpHoliday); db.SaveChanges(); return(RedirectToAction("PersonalIndex")); } ViewBag.list = GetHolidayTypes(); return(View(holidayTables)); }