Пример #1
0
        //getstate
        string DetermineState(Dump dump, TypeOfDump tod, TypeOfZone toz, bool spd)
        {
            string curstate = dump.State.Current;
            string state    = dump.State.Current;

            if (checkLoadZone(tod, toz, false) && curstate == state)
            {
                state = OnLoadingZone(dump);
            }
            if (checkLoad(tod, toz, (spd || dump.State.Current == "LL")) && curstate == state)
            {
                state = OnLoad(dump);
            }
            if (checkUnload(tod, toz, (spd || dump.State.Current == "UU")) && curstate == state)
            {
                state = OnUnload(dump);
            }
            if (checkShiftChange(tod, toz, (spd || dump.State.Current == "PP")) && curstate == state)
            {
                state = OnShiftChange(dump);
            }
            if (checkOutage(tod, toz, spd) && curstate == state)
            {
                state = OnOutage(dump);
            }
            if (checkMove(tod, toz, spd) && curstate == state)
            {
                state = OnMove(dump);
            }
            return(state);
        }
Пример #2
0
        public usedExcavator ToucheExcavator(string truckimei, double latitude, double longitude, DateTime datetime, int speedKPH)
        {
            int excav = -1;

            excav = Dumps.SearchExcavator(latitude, longitude);
            if (excav == -1)
            {
                return(null);
            }

            TypeOfZone toz      = TypeOfZone.OnTruckZone;
            TypeOfDump tod      = TypeOfDump.Excavator;
            Dump       dump     = Dumps[excav];
            bool       spd      = false;
            string     newState = DetermineState(dump, tod, toz, spd);

            return(new usedExcavator()
            {
                id = excav, newstate = newState
            });
        }
Пример #3
0
 bool IsExist(TypeOfDump tod, int id)
 {
     return((Dumps.Where(x => x.Id == id && x.Tod == tod)).FirstOrDefault() != null);
 }
Пример #4
0
 //check zone
 bool checkLoadZone(TypeOfDump tod, TypeOfZone toz, bool spd)
 {
     return(tod == TypeOfDump.Dumptruck && (toz == TypeOfZone.OnLoadingZone || toz == TypeOfZone.OnLoadingOrStorageZone))
            //|| (tod == TypeOfDump.Excavator && toz == TypeOfZone.OnTruckZone)
     ;
 }
Пример #5
0
 bool checkMove(TypeOfDump tod, TypeOfZone toz, bool spd)
 {
     return((tod == TypeOfDump.Excavator && toz == TypeOfZone.None && spd) ||
            (tod == TypeOfDump.Dumptruck && toz == TypeOfZone.None && spd));
 }
Пример #6
0
 bool checkShiftChange(TypeOfDump tod, TypeOfZone toz, bool spd)
 {
     return((tod == TypeOfDump.Dumptruck && toz == TypeOfZone.OnShiftChangePoint && !spd) ||
            (tod == TypeOfDump.Dumptruck && toz == TypeOfZone.OnGarage && !spd));
 }
Пример #7
0
 bool checkUnload(TypeOfDump tod, TypeOfZone toz, bool spd)
 {
     return(tod == TypeOfDump.Dumptruck && (toz == TypeOfZone.OnStoragePoint || toz == TypeOfZone.OnLoadingOrStorageZone) && !spd);
 }
Пример #8
0
 bool checkLoad(TypeOfDump tod, TypeOfZone toz, bool spd)
 {
     return((tod == TypeOfDump.Dumptruck && toz == TypeOfZone.OnLoadingPoint && !spd) ||
            (tod == TypeOfDump.Excavator && toz == TypeOfZone.OnTruckZone));
 }