public JsonResult Create([Bind(Include = "staffNr,attendanceDate, actWorkingHour, remark, actExtraWorkingHour, extraWorkType")] AttendanceRecordCal arc) { ResultMessage msg = new ResultMessage(); try { msg = DoValidation(arc); if (!msg.Success) { return(Json(msg, JsonRequestBehavior.AllowGet)); } else { IAttendanceRecordCalService arcs = new AttendanceRecordCalService(Settings.Default.db); bool isSucceed = arcs.Create(arc); msg.Success = isSucceed; msg.Content = isSucceed ? "" : "创建失败"; return(Json(msg, JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { return(Json(new ResultMessage() { Success = false, Content = ex.Message }, JsonRequestBehavior.AllowGet)); } }
public ActionResult UpdateActHour(int id) { ResultMessage msg = new ResultMessage(); double actHour = 0; double actExtraHour = 0; if (!double.TryParse(Request.Form["actWorkingHourRound"], out actHour)) { msg.Content = "工作日工时必须是数字"; return(Json(msg)); } // 加班时间可以为空 // 如果加班为空, 直接写入0 // 如果不为空, 则所填必须为数字 if (!string.IsNullOrWhiteSpace(Request.Form["actExtraWorkingHourRound"]) && !double.TryParse(Request.Form["actExtraWorkingHourRound"], out actExtraHour)) { msg.Content = "加班工时必须是数字"; return(Json(msg)); } bool handled = false; if (!bool.TryParse(Request.Form["isExceptionHandled"], out handled)) { msg.Content = "是否处理值非法,请刷新页面重新填写"; return(Json(msg)); } IAttendanceRecordCalService ss = new AttendanceRecordCalService(Settings.Default.db); AttendanceRecordCal record = ss.FindById(id); string oldHour = record.actWorkingHour.ToString(); string oldActHour = record.actExtraWorkingHour.ToString(); //判断加班类型是否为空, 如果为空, 就返回null // 如果做判断,直接使用int.Parse转,会报异常 int?ExtraWorkType = null; if (!string.IsNullOrWhiteSpace(Request.Form["extraWorkType"])) { ExtraWorkType = int.Parse(Request.Form["extraWorkType"]); } msg = ss.UpdateActHourById(id, actHour, actExtraHour, handled, Request.Form["remark"], ExtraWorkType); string newHour = actHour.ToString(); string newActHour = actExtraHour.ToString(); // 创建调整考勤记录##User## try { IMessageRecordService mrs = new MessageRecordService(Settings.Default.db); mrs.CreateStaffUpdateAttHourMessage(record.staffNr, (Session["user"] as User).id, oldHour, newHour, oldActHour, newActHour); } catch { } return(Json(msg)); }
// GET: AttendanceRecordCal/Delete/5 public ActionResult Delete(int id) { IAttendanceRecordCalService arcs = new AttendanceRecordCalService(Settings.Default.db); AttendanceRecordCal record = arcs.FindById(id); SetExtraWorkTypeList(record.extraworkType); if (record != null) { AbsenceRecordView absenceRecord = new AbsenceRecordService(Settings.Default.db).FindViewByStaffNrAndDate(record.staffNr, record.attendanceDate); ExtraWorkRecordView extraWorkRecord = new ExtraWorkRecordService(Settings.Default.db).FindViewByStaffNrAndDate(record.staffNr, record.attendanceDate); List <AttendanceRecordDetailView> records = new List <AttendanceRecordDetailView>(); IAttendanceRecordDetailService s = new AttendanceRecordDetailService(Settings.Default.db); records = s.GetDetailsViewByStaffAndDateWithExtrawork(record.staffNr, record.attendanceDate); ViewData["attendRecords"] = records; ViewData["absenceRecord"] = absenceRecord; ViewData["extraWorkRecord"] = extraWorkRecord; } else { SetExtraWorkTypeList(null); } return(View(record)); }
public ActionResult Index(int?page) { int pageIndex = PagingHelper.GetPageIndex(page); AttendanceRecordCalSearchModel q = new AttendanceRecordCalSearchModel(); IAttendanceRecordCalService ss = new AttendanceRecordCalService(Settings.Default.db); IPagedList <AttendanceRecordCalView> records = ss.SearchCalView(q).ToPagedList(pageIndex, Settings.Default.pageSize); ViewBag.Query = q; SetExtraWorkTypeList(null); return(View(records)); }
public ActionResult Search([Bind(Include = "CompanyId,DepartmentId,StaffNr,IsException,IsExceptionHandled,AttendanceDateFrom,AttendanceDateEnd")] AttendanceRecordCalSearchModel q) { int pageIndex = 0; int.TryParse(Request.QueryString.Get("page"), out pageIndex); pageIndex = PagingHelper.GetPageIndex(pageIndex); IAttendanceRecordCalService ss = new AttendanceRecordCalService(Settings.Default.db); IPagedList <AttendanceRecordCalView> records = ss.SearchCalView(q).ToPagedList(pageIndex, Settings.Default.pageSize); ViewBag.Query = q; SetExtraWorkTypeList(null); return(View("Index", records)); }
public ActionResult Delete(int id, FormCollection collection) { ResultMessage msg = new ResultMessage(); try { IAttendanceRecordCalService arcs = new AttendanceRecordCalService(Settings.Default.db); bool isSucceed = arcs.DeleteById(id); msg.Success = isSucceed; msg.Content = isSucceed ? "" : "删除失败"; return(Json(msg, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new ResultMessage() { Success = false, Content = ex.Message }, JsonRequestBehavior.AllowGet)); } }
public ActionResult ExceptionList() { IAttendanceRecordCalService ss = new AttendanceRecordCalService(Settings.Default.db); DateTime startDate = DateTime.Now.Date.AddDays(-20); DateTime endDate = DateTime.Now.Date; if (!string.IsNullOrEmpty(Request.QueryString["startDate"])) { DateTime.TryParse(Request.QueryString["startDate"], out startDate); } if (!string.IsNullOrEmpty(Request.QueryString["endDate"])) { DateTime.TryParse(Request.QueryString["endDate"], out endDate); } List <AttendanceRecordCalExceptionView> records = ss.GetCalExceptionHandleList(startDate, endDate); for (var d = startDate; d <= endDate; d = d.AddDays(1)) { if (records.Where(s => s.attendanceDate.Equals(d)).FirstOrDefault() == null) { records.Add(new AttendanceRecordCalExceptionView() { attendanceDate = d, isExceptionHandledCount = 0 }); } } records = records.OrderByDescending(s => s.attendanceDate).ToList(); ViewBag.startDate = startDate.ToString("yyyy-MM-dd"); ViewBag.endDate = endDate.ToString("yyyy-MM-dd"); return(View(records)); }
/// <summary> /// 分发任务 /// </summary> /// <param name="ts"></param> public void Dispatch(TaskSetting ts) { ITaskRoundService trs = new TaskRoundService(this.DbString); TaskRound taskRound = null; try { if (ts.LogTaskRound) { taskRound = trs.Create(ts.TaskType); } LogUtil.Logger.Info("获取到任务信息:"); LogUtil.Logger.Info(ts.TaskType); LogUtil.Logger.Info(ts.JsonParameter); switch (ts.TaskType) { case TaskType.CalAtt: CalAttParameter calAtt = JSONHelper.parse <CalAttParameter>(ts.JsonParameter); IAttendanceRecordService ars = new AttendanceRecordService(this.DbString); //ars.CalculateAttendRecord(calAtt.AttCalculateDateTime, calAtt.ShiftCodes); ars.CalculateAttendRecordWithExtrawork(calAtt.AttCalculateDateTime); // add send email to queue SendAttWarnEmailMessage(calAtt.AttCalculateDateTime, calAtt.ShiftCodes); // create message record SendAttWarnMsgRecordMessage(calAtt.AttCalculateDateTime, calAtt.ShiftCodes); break; case TaskType.SendMail: break; case TaskType.SendAttExceptionMail: AttWarnEmailParameter attWarn = JSONHelper.parse <AttWarnEmailParameter>(ts.JsonParameter); IAttendanceRecordCalService arcs = new AttendanceRecordCalService(this.DbString); arcs.SendWarnEmail(attWarn.AttWarnDate); break; case TaskType.ToFullMemeberWarn: IMessageRecordService mrs = new MessageRecordService(this.DbString); mrs.CreateToFullMemberMessage(ts.TaskCreateAt.Date); break; case TaskType.AttExceptionWarn: AttWarnParameter attWarnP = JSONHelper.parse <AttWarnParameter>(ts.JsonParameter); IMessageRecordService mrss = new MessageRecordService(this.DbString); mrss.CreateAttExceptionMessage(attWarnP.AttWarnDate); break; case TaskType.ReStartSvc: this.IsRestartSvc = true; break; default: throw new TaskTypeNotSupportException(); } if (ts.LogTaskRound && taskRound != null) { trs.FinishTaskByUniqId(taskRound.uuid, "任务运行成功"); } } catch (Exception ex) { string msg = string.Format("{0}: {1}", ex.Message, ex.StackTrace); LogUtil.Logger.Error("任务执行错误:", ex); try { if (ts.LogTaskRound && taskRound != null) { trs.FinishTaskByUniqId(taskRound.uuid, msg, true); } } catch { } throw new Exception(msg, ex); } }