Beispiel #1
0
        public static async Task <bool> run(DateTime DateStart, DateTime DateEnd, int type)
        {
            bool ok = true;

            switch (type)
            {
            case 0:
                ok = await process(DateStart, DateEnd);

                Logger.Info(ok.ToString());
                break;

            case 1:
                ok = PuskStopReader.CheckCrossData(DateStart, DateEnd);
                Logger.Info(ok.ToString());
                break;

            case 2:
                ok = await PuskStopReader.FillAnalogData(DateStart, DateEnd, (new string[] { "DN", "LN" }).ToList());

                Logger.Info(ok.ToString());
                break;

            case 100:
                ok = await process(DateStart, DateEnd);

                Logger.Info(ok.ToString());
                PuskStopReader.CheckCrossData(DateStart, DateEnd);
                ok = await PuskStopReader.FillAnalogData(DateStart, DateEnd, (new string[] { "DN", "LN" }).ToList());

                Logger.Info(ok.ToString());
                break;

            case 201:
                CreateReport(DateStart, DateEnd, "MNU", "Насосы МНУ");
                break;

            case 202:
                CreateReport(DateStart, DateEnd, "DN", "Дренажные насосы");
                break;

            case 203:
                CreateReport(DateStart, DateEnd, "LN", "Лекажные насосы");
                break;
            }
            return(ok);
        }
Beispiel #2
0
        public static async Task <bool> process(DateTime dateStart, DateTime dateEnd)
        {
            DateTime       date   = dateStart.AddSeconds(0);;
            DateTime       start  = DateTime.Now;
            DiagDBEntities diagDB = new DiagDBEntities();
            Dictionary <int, List <PuskStopReader.PuskStopReaderRecord> > requestsDict = new Dictionary <int, List <PuskStopReader.PuskStopReaderRecord> >();

            for (int gg = 1; gg <= 10; gg++)
            {
                if (gg == 8)
                {
                    continue;
                }
                List <PuskStopReader.PuskStopReaderRecord> request = new List <PuskStopReader.PuskStopReaderRecord>();
                IEnumerable <PuskStopPoint> req = from p in diagDB.PuskStopPoints where p.gg == gg && p.analog == false select p;
                foreach (PuskStopPoint pt in req)
                {
                    PuskStopReader.PuskStopReaderRecord rec = new PuskStopReader.PuskStopReaderRecord();
                    rec.DBRecord = pt.pointType;
                    rec.iess     = pt.point;
                    rec.inverted = pt.inverted;
                    rec.gg       = pt.gg;
                    IEnumerable <PuskStopPoint> req2 = from p in diagDB.PuskStopPoints where p.gg == gg && p.analog == true && pt.pointType.Contains(p.pointType) select p;
                    if (req2.Count() > 0)
                    {
                        PuskStopPoint inner = req2.First();
                        rec.ValueIess = inner.point;
                    }
                    request.Add(rec);
                }
                requestsDict.Add(gg, request);
            }

            while (date < dateEnd)
            {
                Logger.Info(date.ToString());
                for (int gg = 1; gg <= 10; gg++)
                {
                    if (gg == 8)
                    {
                        continue;
                    }
                    if (gg == 3 && date < DateTime.Parse("07.05.2020"))
                    {
                        continue;
                    }
                    if (gg == 5 && date < DateTime.Parse("01.06.2019"))
                    {
                        continue;
                    }
                    if (gg == 1 && date < DateTime.Parse("21.04.2021"))
                    {
                        continue;
                    }
                    Logger.Info(String.Format("ГГ {0} Дата {1}", gg, date));
                    List <PuskStopReader.PuskStopReaderRecord> request = requestsDict[gg];

                    bool ok = await PuskStopReader.FillPuskStopData(request, date, date.AddHours(3));
                }
                date = date.AddHours(3);
            }
            DateTime end = DateTime.Now;

            Logger.Info((end - start).TotalMinutes.ToString());
            Logger.Info("Finish");
            return(true);
        }