示例#1
0
        /// <summary>
        /// </summary>
        /// <param name="wl"/>
        /// <param name="handled"/>
        /// <param name="prevReturnValue"/>
        /// <returns/>
        public WorkEqp SELECT_PROFILE_EQP0(WorkLoader wl, ref bool handled, WorkEqp prevReturnValue)
        {
            try
            {
                WorkEqp selectEqp        = null;
                Time    minAvailableTime = DateTime.MaxValue;

#if DEBUG
                //var a = FindHelper.GetNowDT();

                //if (FindHelper.GetNowDT().Hour == 11 && FindHelper.GetNowDT().Minute == 40)
                //    Console.WriteLine();
#endif

                List <WorkEqp> list = new List <WorkEqp>(wl.EqpList);

                if (list.Count == 0)
                {
                    return(selectEqp);
                }

                foreach (WorkEqp eqp in list)
                {
                    if (eqp.IsDone())
                    {
                        continue;
                    }

                    if (selectEqp == null || minAvailableTime > eqp.AvailableTime)
                    {
                        minAvailableTime = eqp.AvailableTime;
                        selectEqp        = eqp;
                    }
                }

                return(selectEqp);
            }
            catch (Exception e)
            {
                WriteHelper.WriteErrorHistory(ErrorLevel.FATAL, string.Format("ErrorMessage : {0}   MethodName : {1}", e.Message, System.Reflection.MethodInfo.GetCurrentMethod().Name));
                return(default(WorkEqp));
            }
        }
示例#2
0
 /// <summary>
 /// </summary>
 /// <param name="wl"/>
 /// <param name="now"/>
 /// <param name="handled"/>
 public void ON_END_PROFILING0(WorkLoader wl, Time now, ref bool handled)
 {
 }