public async Task <ServiceResult <IEnumerable <Country> > > FilterByOptions(FilterMaster search) { var result = await _destinationService.Filterby(search); return(ServiceResult <IEnumerable <Country> > .SuccessResult(result)); }
/// <summary> /// </summary> /// <param name="db"/> /// <param name="aeqp"/> /// <param name="wips"/> /// <param name="ctx"/> /// <param name="handled"/> /// <param name="prevReturnValue"/> /// <returns/> public IHandlingBatch[] DO_SELECT0(Mozart.SeePlan.Simulation.DispatcherBase db, Mozart.SeePlan.Simulation.AoEquipment aeqp, IList <Mozart.SeePlan.Simulation.IHandlingBatch> wips, Mozart.SeePlan.Simulation.IDispatchContext ctx, ref bool handled, Mozart.SeePlan.Simulation.IHandlingBatch[] prevReturnValue) { WeightPreset preset = aeqp.Target.Preset; FabAoEquipment eqp = aeqp as FabAoEquipment; //InPort Wip 처리 if (eqp.HasInPortWip) { //여러 Lot을 넘길 경우 첫번째 투입, 나머지는 설비의 Buffer에 넣음. IHandlingBatch[] list = eqp.InitInPortWips.ToArray(); eqp.InitInPortWips.Clear(); return(list); } IHandlingBatch[] selected = null; if (wips.Count > 0) { List <IHandlingBatch> newlist = new List <IHandlingBatch>(wips); var control = DispatchControl.Instance; //if (eqp.EqpID == "FHRPH100" && eqp.NowDT >= LcdHelper.StringToDateTime("20200113 073000")) // Console.WriteLine("B"); var dummy = WeightHelper.NeedAllowRunDown_Dummy(eqp, wips); if (dummy != null) { newlist.Add(dummy); dummy.DispatchFilterInfo = eqp.LastPlanFilterInfo; } var dummyList = FilterMaster.WaitForPrevStepWip_Dummy(ctx, eqp); if (dummyList != null && dummyList.Count > 0) { newlist.AddRange(dummyList); } var lotList = control.Evaluate(db, newlist, ctx); selected = control.Select(db, eqp, lotList); if (control.IsWriteDispatchLog(eqp)) { DispatchLogHelper.AddDispatchInfo(eqp, lotList, selected, preset); //eqp.EqpDispatchInfo.AddDispatchInfo(lotList, selected, preset); } } if (selected == null) { eqp.CheckAvailableSubEqps(); } return(selected); }
public async Task <ActionResult <IEnumerable <CountryDto> > > GetS([FromBody] FilterMaster search) { var serviceResult = await _destinationService.FilterByOptions(search); if (serviceResult.ResponseCode != ResponseCode.Success) { return(BadRequest(serviceResult.Error)); } return(Ok(serviceResult.Result)); }
/// <summary> /// </summary> /// <param name="da"/> /// <param name="aeqp"/> /// <param name="wips"/> /// <param name="handled"/> public void ON_DISPATCHED0(Mozart.SeePlan.Simulation.DispatchingAgent da, Mozart.SeePlan.Simulation.AoEquipment aeqp, Mozart.SeePlan.Simulation.IHandlingBatch[] wips, ref bool handled) { var eqp = aeqp.ToFabAoEquipment(); foreach (var item in wips) { var lot = item.ToFabLot(); SetProductVersion(eqp, lot); EqpArrangeMaster.OnDispatched(eqp, lot); FilterMaster.StartEqpRecipeTime(lot, eqp); } }
public async Task <IEnumerable <Country> > Filterby(FilterMaster search) { var data = await(from country in _destinationDbContext.Country from city in country.Cities from place in city.Places where place.AvailableFrom == search.date || place.AvailableTo == search.date2 || place.PriceNight == search.price || place.WifiQuality == search.internet select country) .Include(x => x.Cities) .ThenInclude(x => x.NearActivities) .Include(x => x.Cities) .ThenInclude(x => x.Places) .ToListAsync(); return(data); }
/// <summary> /// </summary> /// <param name="eqp"/> /// <param name="wips"/> /// <param name="ctx"/> /// <param name="handled"/> /// <param name="prevReturnValue"/> /// <returns/> public IList <IHandlingBatch> DO_FILTER1(Mozart.SeePlan.Simulation.AoEquipment eqp, IList <Mozart.SeePlan.Simulation.IHandlingBatch> wips, Mozart.SeePlan.Simulation.IDispatchContext ctx, ref bool handled, IList <Mozart.SeePlan.Simulation.IHandlingBatch> prevReturnValue) { //if (eqp.EqpID == "THCVDC00" && eqp.NowDT >= LcdHelper.StringToDateTime("20200108 090229")) // Console.WriteLine("B"); if (wips == null) { return(wips); } eqp.StartDispatch_ParallelChamber(); List <IHandlingBatch> revaluation = new List <IHandlingBatch>(); //▶▶ 1차 필터 FilterMaster.DoFilter(eqp, wips, ctx); //▶▶ 2차 Group별 필터(다시 살릴 수 있음) FilterMaster.DoGroupFilter(eqp, wips, ctx, revaluation); //▶▶ Group에서 제외된 Lot 재평가 if (wips.Count == 0 && revaluation.Count > 0) { FilterMaster.Revaluate(eqp, revaluation); if (revaluation.Count > 0) { return(revaluation); } } else { foreach (var item in revaluation) { FilterMaster.WriteFilterInfo(item, eqp); } } return(wips); }