private bool CheckDuiplicate(MrpExWorkHour mrpExWorkHour) { if (mrpExWorkHour.WindowTime < mrpExWorkHour.StartTime) { SaveErrorMessage(string.Format(Resources.EXT.ControllerLan.Con_EndTimeNeedToBeGreaterStartToTime, mrpExWorkHour.StartTime, mrpExWorkHour.WindowTime)); return true; } //check 同一生产线是否有重叠 string hql = @" from MrpExWorkHour as u where u.Flow = ? and StartTime>? and WindowTime<? "; var list = this.genericMgr.FindAll<MrpExWorkHour>(hql, new object[] { mrpExWorkHour.Flow, mrpExWorkHour.StartTime.AddDays(-7), mrpExWorkHour.WindowTime.AddDays(7) }) ?? new List<MrpExWorkHour>(); bool isDuiplicate = false; foreach (var wh in list) { if (wh.Id == mrpExWorkHour.Id) { continue; } if (mrpExWorkHour.StartTime < wh.WindowTime && mrpExWorkHour.StartTime >= wh.StartTime) { SaveErrorMessage(Resources.SYS.ErrorMessage.Errors_Existing_Code, mrpExWorkHour.Flow); isDuiplicate = true; SaveErrorMessage(string.Format(Resources.EXT.ControllerLan.Con_StartTimeAlreadyIncluded, wh.Id, wh.StartTime, wh.WindowTime)); break; } if (mrpExWorkHour.WindowTime <= wh.WindowTime && mrpExWorkHour.WindowTime > wh.StartTime) { isDuiplicate = true; SaveErrorMessage(string.Format(Resources.EXT.ControllerLan.Con_FinishTimeAlreadyIncluded, wh.Id, wh.StartTime, wh.WindowTime)); break; } if (mrpExWorkHour.StartTime <= wh.StartTime && mrpExWorkHour.WindowTime >= wh.WindowTime) { isDuiplicate = true; SaveErrorMessage(string.Format(Resources.EXT.ControllerLan.Con_IdStartToTimeAndEndTimeContainCurrentTime, wh.Id, wh.StartTime, wh.WindowTime)); break; } } //todo 校验给时间段是否生产了此断面 return isDuiplicate; }
public ActionResult Edit(MrpExWorkHour mrpExWorkHour) { if (ModelState.IsValid) { bool isDuiplicate = CheckDuiplicate(mrpExWorkHour); if (!isDuiplicate) { this.genericMgr.UpdateWithTrim(mrpExWorkHour); SaveSuccessMessage(Resources.MRP.MrpExWorkHour.MrpExWorkHour_Updated); } } return View(mrpExWorkHour); }
public ActionResult New(MrpExWorkHour mrpExWorkHour) { if (ModelState.IsValid) { try { bool isDuiplicate = CheckDuiplicate(mrpExWorkHour); if (!isDuiplicate) { mrpExWorkHour.ItemDescription = itemMgr.GetCacheItem(mrpExWorkHour.Item).Description; this.genericMgr.CreateWithTrim(mrpExWorkHour); SaveSuccessMessage(Resources.MRP.MrpExWorkHour.MrpExWorkHour_Added); return RedirectToAction("Edit/" + mrpExWorkHour.Id); } } catch (Exception ex) { SaveErrorMessage(Resources.EXT.ControllerLan.Con_NewAddedUnsuccessfully_1, ex.Message); } } return View(mrpExWorkHour); }