/// <summary> /// VacationApply对象转为数据库对象 /// </summary> /// <param name="flag">标志,1为添加,2为修改需要复制修改人信息</param> /// <returns>T_HR_Dimission数据库对象</returns> public T_HR_Vacation ToDB(int flag) { T_HR_Vacation va = new T_HR_Vacation(); va.ID = ID; va.StaffID = StaffID; va.VPType = VPType; va.StartTime = StartTime; va.EndTime = EndTime; va.TimeSpan = TimeSpan; va.VPReason = VPReason; va.Valid = Valid; va.Remark = Remark; va.CreaterName = CreaterName; va.CreateTime = CreateTime; va.OperationListID = OperationListID; if (flag != 1) { va.EditorName = EditorName; va.EditeTime = EditeTime; } va.LastID = LastID; va.VPEdit = VPEdit; va.VPDelete = VPDelete; va.EditOrDelete = EditOrDelete; return(va); }
public ActionResult VRSubmit(VacationApply vacation) { DirectResult r = new DirectResult(); string orid = vacation.ID; var prelists = from o in entities.T_HR_Vacation where o.VPDelete == true && o.LastID == orid select o; foreach (T_HR_Vacation item in prelists) { T_HR_Vacation prelist = entities.T_HR_Vacation.Find(item.ID); prelist.VPDelete = false; } T_HR_Vacation orlist = entities.T_HR_Vacation.Find(orid); orlist.VPDelete = true; orlist.EditOrDelete = "Delete"; vacation.ID = Guid.NewGuid().ToString(); vacation.OperationListID = Guid.NewGuid().ToString(); vacation.Valid = false; vacation.CreaterName = new LoginUser().EmployeeId; vacation.CreateTime = DateTime.Now; vacation.VPEdit = false; vacation.VPDelete = true; vacation.EditOrDelete = ""; vacation.LastID = orid; T_CH_Operation_list newList = new T_CH_Operation_list(); newList.ID = vacation.OperationListID; newList.State = (int)CheckState.Checking;//审核中 newList.Check_flowID = vacation.CheckFlowId; newList.Check_funcID = vacation.FuncId; newList.CreateTime = DateTime.Now; newList.Creator = new LoginUser().EmployeeId; newList.Url = Url.Action("CheckVacation", "Vacation", new { id = vacation.ID }); entities.T_HR_Vacation.Add(vacation.ToDB(1)); entities.T_CH_Operation_list.Add(newList); try { entities.SaveChanges(); r.Success = true; X.Msg.Alert("提示", "保存成功!", new JFunction { Fn = "closewindow" }).Show(); } catch (Exception e) { X.Msg.Alert("警告", "数据保存失败!<br /> note:" + e.Message, new JFunction { Fn = "closewindow" }).Show(); r.Success = false; } return(r); }
public bool GetPreState(string id) { T_HR_Vacation last = entities.T_HR_Vacation.Find(id); bool flag = true; string opid; if (Convert.ToBoolean(last.VPEdit)) { var pre = (from o in entities.T_HR_Vacation where o.LastID == id && o.VPEdit == true select o).ToList(); if (pre.Any()) { opid = pre.First().OperationListID; var list = from o in entities.T_CH_Operation_list where o.ID == opid select o; if (list.Any()) { if (list.First().State == 1) { flag = false; } } } } if (Convert.ToBoolean(last.VPDelete)) { var pre = (from o in entities.T_HR_Vacation where o.LastID == id && o.VPDelete == true select o).ToList(); if (pre.Any()) { opid = pre.First().OperationListID; var list = from o in entities.T_CH_Operation_list where o.ID == opid select o; if (list.Any()) { if (list.First().State == 1) { flag = false; } } } } return(flag); }
public ActionResult AddOrEditVacation(VacationApply vacation) { try { vacation.StartTime = Convert.ToDateTime(vacation.StartTimeStr);//计算TimeSpan vacation.EndTime = Convert.ToDateTime(vacation.EndTimeStr); } catch (FormatException fe) { X.Msg.Alert("警告", "日期不正确,请检查!").Show(); return(this.Direct()); } if (vacation.StartTime.Year == vacation.EndTime.Year && vacation.StartTime.Month == vacation.EndTime.Month && vacation.StartTime <= vacation.EndTime) { DirectResult r = new DirectResult(); T_HR_Vacation vacationupdate = entities.T_HR_Vacation.Find(vacation.ID); if (vacationupdate == null)//为空为添加 { vacation.ID = Guid.NewGuid().ToString(); vacation.OperationListID = Guid.NewGuid().ToString(); vacation.Valid = true; vacation.CreaterName = new LoginUser().EmployeeId; vacation.CreateTime = DateTime.Now; vacation.VPEdit = false; vacation.VPDelete = false; T_CH_Operation_list newList = new T_CH_Operation_list(); newList.ID = vacation.OperationListID; newList.State = (int)CheckState.Checking;//审核中 newList.Check_flowID = vacation.CheckFlowId; newList.Check_funcID = vacation.FuncId; newList.CreateTime = DateTime.Now; newList.Creator = new LoginUser().EmployeeId; newList.Url = Url.Action("CheckVacation", "Vacation", new { id = vacation.ID }); entities.T_HR_Vacation.Add(vacation.ToDB(1)); entities.T_CH_Operation_list.Add(newList); try { entities.SaveChanges(); r.Success = true; X.Msg.Alert("提示", "保存成功!", new JFunction { Fn = "closewindow" }).Show(); } catch (Exception e) { X.Msg.Alert("警告", "数据保存失败!<br /> note:" + e.Message, new JFunction { Fn = "closewindow" }).Show(); r.Success = false; } } else//否则为修改 { vacation.EditorName = new LoginUser().EmployeeId; vacation.EditeTime = DateTime.Now; vacationupdate.Valid = false; vacation.ID = Guid.NewGuid().ToString(); vacation.OperationListID = Guid.NewGuid().ToString(); vacation.Valid = true; vacation.VPEdit = false; vacation.VPDelete = false; T_CH_Operation_list newList = new T_CH_Operation_list(); newList.ID = vacation.OperationListID; newList.State = (int)CheckState.Checking;//审核中 newList.Check_flowID = vacation.CheckFlowId; newList.Check_funcID = vacation.FuncId; newList.CreateTime = DateTime.Now; newList.Creator = new LoginUser().EmployeeId; newList.Url = Url.Action("CheckVacation", "Vacation", new { id = vacation.ID }); entities.T_HR_Vacation.Add(vacation.ToDB(2)); entities.T_CH_Operation_list.Add(newList); try { entities.SaveChanges(); r.Success = true; X.Msg.Alert("提示", "修改成功!", new JFunction { Fn = "closewindow" }).Show(); } catch (Exception e) { X.Msg.Alert("警告", "数据保存失败!<br /> note:" + e.Message, new JFunction { Fn = "closewindow" }).Show(); r.Success = false; } } return(r); } else { X.Msg.Alert("警告", "请假不可跨月!").Show(); return(this.Direct()); } }