Пример #1
0
        public async Task <ServiceResult <IEnumerable <Country> > > FilterByOptions(FilterMaster search)
        {
            var result = await _destinationService.Filterby(search);


            return(ServiceResult <IEnumerable <Country> > .SuccessResult(result));
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        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));
        }
Пример #4
0
        /// <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);
            }
        }
Пример #5
0
        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);
        }
Пример #6
0
        /// <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);
        }