Пример #1
0
        public Dictionary <DateTime, SvodDataRecord> ReadSvod(string groupName, double start, double stop, string IsUstGroup)
        {
            SqlConnection con   = ReportOutputFile.getConnection();
            string        query = String.Format("Select * from svodTable where dateStart>='{0}' and dateEnd<='{1}' and {2}>={3} and {2}<={4} and {5}>0 order by dateStart",
                                                StartDate.ToString(DateFormat), EndDate.ToString(DateFormat), groupName, start.ToString().Replace(",", "."), stop.ToString().Replace(",", "."), IsUstGroup);

            SqlCommand com = con.CreateCommand();

            com.CommandText = query;

            Dictionary <DateTime, SvodDataRecord> Data = new Dictionary <DateTime, SvodDataRecord>();
            SqlDataReader reader = com.ExecuteReader();

            while (reader.Read())
            {
                SvodDataRecord rec = new SvodDataRecord();
                rec.DateStart  = reader.GetDateTime(reader.GetOrdinal("DateStart"));
                rec.DateEnd    = reader.GetDateTime(reader.GetOrdinal("DateEnd"));
                rec.IsUst      = reader.GetBoolean(reader.GetOrdinal("IsUst"));
                rec.IsUstGP    = reader.GetBoolean(reader.GetOrdinal("IsUstGP"));
                rec.IsUstPP    = reader.GetBoolean(reader.GetOrdinal("IsUstPP"));
                rec.IsUstGPOhl = reader.GetBoolean(reader.GetOrdinal("IsUstGPOhl"));
                rec.IsUstPPOhl = reader.GetBoolean(reader.GetOrdinal("IsUstPPOhl"));

                rec.PAvg = reader.GetDouble(reader.GetOrdinal("P_Avg"));
                rec.PMin = reader.GetDouble(reader.GetOrdinal("P_Min"));
                rec.PMax = reader.GetDouble(reader.GetOrdinal("P_Max"));

                rec.LN1Time  = reader.GetDouble(reader.GetOrdinal("LN1_Time"));
                rec.LN2Time  = reader.GetDouble(reader.GetOrdinal("LN2_Time"));
                rec.DN1Time  = reader.GetDouble(reader.GetOrdinal("DN1_Time"));
                rec.DN2Time  = reader.GetDouble(reader.GetOrdinal("DN2_Time"));
                rec.MNU1Time = reader.GetDouble(reader.GetOrdinal("MNU1_Time"));
                rec.MNU2Time = reader.GetDouble(reader.GetOrdinal("MNU2_Time"));
                rec.MNU3Time = reader.GetDouble(reader.GetOrdinal("MNU3_Time"));

                rec.LN1Pusk  = reader.GetInt32(reader.GetOrdinal("LN1_Pusk"));
                rec.LN2Pusk  = reader.GetInt32(reader.GetOrdinal("LN2_Pusk"));
                rec.DN1Pusk  = reader.GetInt32(reader.GetOrdinal("DN1_Pusk"));
                rec.DN2Pusk  = reader.GetInt32(reader.GetOrdinal("DN2_Pusk"));
                rec.MNU1Pusk = reader.GetInt32(reader.GetOrdinal("MNU1_Pusk"));
                rec.MNU2Pusk = reader.GetInt32(reader.GetOrdinal("MNU2_Pusk"));
                rec.MNU3Pusk = reader.GetInt32(reader.GetOrdinal("MNU3_Pusk"));

                rec.GPHot   = reader.GetDouble(reader.GetOrdinal("GP_Hot"));
                rec.GPCold  = reader.GetDouble(reader.GetOrdinal("GP_Cold"));
                rec.GPLevel = reader.GetDouble(reader.GetOrdinal("GP_Level"));

                rec.PPHot   = reader.GetDouble(reader.GetOrdinal("PP_Hot"));
                rec.PPCold  = reader.GetDouble(reader.GetOrdinal("PP_Cold"));
                rec.PPLevel = reader.GetDouble(reader.GetOrdinal("PP_Level"));

                rec.GPOhlRashod = reader.GetDouble(reader.GetOrdinal("GP_OhlRash"));
                rec.PPOhlRashod = reader.GetDouble(reader.GetOrdinal("PP_OhlRash"));


                Data.Add(rec.DateStart, rec);
            }
            return(Data);
        }
Пример #2
0
        public SortedList <DateTime, SvodDataRecord> ReadPumpSvod(string groupName, double start, double stop)
        {
            SqlConnection con   = ReportOutputFile.getConnection();
            string        query = String.Format(
                @"select  
	format(datestart, 'dd.MM.yyyy') as dt,
	min(dateStart) as mindate,
	sum(ln1_time) as ln1Time,
	sum(ln2_time) as ln2Time,
	sum(dn1_time) as dn1Time,
	sum(dn2_time) as dn2Time,
	sum(mnu1_time) as mnu1Time,
	sum(mnu2_time) as mnu2Time,
	sum(mnu3_time) as mnu3Time,

	sum(ln1_pusk) as ln1Pusk,
	sum(ln2_pusk) as ln2Pusk,
	sum(dn1_pusk) as dn1Pusk,
	sum(dn2_pusk) as dn2Pusk,
	sum(mnu1_pusk) as mnu1Pusk,
	sum(mnu2_pusk) as mnu2Pusk,
	sum(mnu3_pusk) as mnu3Pusk	
from SvodTable
where dateStart>='{0}' and dateEnd<='{1}'  and {2}>={3} and {2}<={4}
group by format(datestart, 'dd.MM.yyyy')
order by mindate",
                StartDate.ToString(DateFormat), EndDate.ToString(DateFormat), groupName, start.ToString().Replace(",", "."), stop.ToString().Replace(",", "."));

            SqlCommand com = con.CreateCommand();

            com.CommandText = query;

            SortedList <DateTime, SvodDataRecord> Data = new SortedList <DateTime, SvodDataRecord>();
            SqlDataReader reader = com.ExecuteReader();

            while (reader.Read())
            {
                SvodDataRecord rec = new SvodDataRecord();
                rec.DateStart = reader.GetDateTime(reader.GetOrdinal("mindate"));
                rec.DateEnd   = rec.DateStart.AddDays(1);
                rec.IsUst     = true;

                rec.LN1Time  = reader.GetDouble(reader.GetOrdinal("ln1Time"));
                rec.LN2Time  = reader.GetDouble(reader.GetOrdinal("ln2Time"));
                rec.DN1Time  = reader.GetDouble(reader.GetOrdinal("dn1Time"));
                rec.DN2Time  = reader.GetDouble(reader.GetOrdinal("dn2Time"));
                rec.MNU1Time = reader.GetDouble(reader.GetOrdinal("mnu1Time"));
                rec.MNU2Time = reader.GetDouble(reader.GetOrdinal("mnu2Time"));
                rec.MNU3Time = reader.GetDouble(reader.GetOrdinal("mnu3Time"));

                rec.LN1Pusk  = reader.GetInt32(reader.GetOrdinal("ln1Pusk"));
                rec.LN2Pusk  = reader.GetInt32(reader.GetOrdinal("ln2Pusk"));
                rec.DN1Pusk  = reader.GetInt32(reader.GetOrdinal("dn1Pusk"));
                rec.DN2Pusk  = reader.GetInt32(reader.GetOrdinal("dn2Pusk"));
                rec.MNU1Pusk = reader.GetInt32(reader.GetOrdinal("mnu1Pusk"));
                rec.MNU2Pusk = reader.GetInt32(reader.GetOrdinal("mnu2Pusk"));
                rec.MNU3Pusk = reader.GetInt32(reader.GetOrdinal("mnu3Pusk"));
                Data.Add(rec.DateStart, rec);
            }
            return(Data);
        }
Пример #3
0
        public bool ReadData()
        {
            Data = new SortedList <DateTime, SvodDataRecord>();
            PumpTypeEnum     type    = PumpTypeEnum.Drenage;
            ReportOutputFile outFile = new ReportOutputFile(FileName);

            try {
                outFile.ReadData();
            } catch (Exception e) {
                Logger.Info("Ошибка инициализации файла " + FileName);
                Logger.Info(e.ToString());
                return(false);
            }



            for (int i = 2; i < outFile.Data.Count; i++)
            {
                try {
                    Dictionary <int, string> fileRec = outFile.Data[i];
                    SvodDataRecord           rec     = new SvodDataRecord();
                    rec.DateStart = ReportOutputFile.getDate(fileRec[0]);
                    rec.DateEnd   = ReportOutputFile.getDate(fileRec[1]);
                    rec.PMin      = ReportOutputFile.getDouble(fileRec[2]);
                    rec.PMax      = ReportOutputFile.getDouble(fileRec[3]);
                    rec.PAvg      = ReportOutputFile.getDouble(fileRec[4]);

                    rec.LN1Time  = ReportOutputFile.getDouble(fileRec[5]);
                    rec.LN2Time  = ReportOutputFile.getDouble(fileRec[6]);
                    rec.DN1Time  = ReportOutputFile.getDouble(fileRec[7]);
                    rec.DN2Time  = ReportOutputFile.getDouble(fileRec[8]);
                    rec.MNU1Time = ReportOutputFile.getDouble(fileRec[9]);
                    rec.MNU2Time = ReportOutputFile.getDouble(fileRec[10]);
                    rec.MNU3Time = ReportOutputFile.getDouble(fileRec[11]);

                    rec.LN1Pusk  = (int)ReportOutputFile.getDouble(fileRec[12]);
                    rec.LN2Pusk  = (int)ReportOutputFile.getDouble(fileRec[13]);
                    rec.DN1Pusk  = (int)ReportOutputFile.getDouble(fileRec[14]);
                    rec.DN2Pusk  = (int)ReportOutputFile.getDouble(fileRec[15]);
                    rec.MNU1Pusk = (int)ReportOutputFile.getDouble(fileRec[16]);
                    rec.MNU2Pusk = (int)ReportOutputFile.getDouble(fileRec[17]);
                    rec.MNU3Pusk = (int)ReportOutputFile.getDouble(fileRec[18]);

                    rec.GPHot   = ReportOutputFile.getDouble(fileRec[19]);
                    rec.GPCold  = ReportOutputFile.getDouble(fileRec[20]);
                    rec.GPLevel = ReportOutputFile.getDouble(fileRec[21]);


                    rec.PPHot   = ReportOutputFile.getDouble(fileRec[22]);
                    rec.PPCold  = ReportOutputFile.getDouble(fileRec[23]);
                    rec.PPLevel = ReportOutputFile.getDouble(fileRec[24]);

                    double GPLevelMin = ReportOutputFile.getDouble(fileRec[25]);
                    double PPLevelMin = ReportOutputFile.getDouble(fileRec[26]);
                    double GPLevelMax = ReportOutputFile.getDouble(fileRec[27]);
                    double PPLevelMax = ReportOutputFile.getDouble(fileRec[28]);

                    double gpHotMin  = ReportOutputFile.getDouble(fileRec[29]);
                    double gpColdMin = ReportOutputFile.getDouble(fileRec[30]);
                    double gpHotMax  = ReportOutputFile.getDouble(fileRec[31]);
                    double gpColdMax = ReportOutputFile.getDouble(fileRec[32]);

                    double ppHotMin  = ReportOutputFile.getDouble(fileRec[33]);
                    double ppColdMin = ReportOutputFile.getDouble(fileRec[34]);
                    double ppHotMax  = ReportOutputFile.getDouble(fileRec[35]);
                    double ppColdMax = ReportOutputFile.getDouble(fileRec[36]);

                    double gpOhlAvg = ReportOutputFile.getDouble(fileRec[37]);
                    double gpOhlMin = ReportOutputFile.getDouble(fileRec[38]);
                    double gpOhlMax = ReportOutputFile.getDouble(fileRec[39]);

                    double ppOhlAvg1 = ReportOutputFile.getDouble(fileRec[40]);
                    double ppOhlMin1 = ReportOutputFile.getDouble(fileRec[41]);
                    double ppOhlMax1 = ReportOutputFile.getDouble(fileRec[42]);

                    double ppOhlAvg2 = ReportOutputFile.getDouble(fileRec[43]);
                    double ppOhlMin2 = ReportOutputFile.getDouble(fileRec[44]);
                    double ppOhlMax2 = ReportOutputFile.getDouble(fileRec[45]);


                    rec.GPOhlRashod = gpOhlAvg;
                    rec.PPOhlRashod = ppOhlAvg1 + ppOhlAvg2;


                    rec.IsUst = IsUst(rec.PMin, rec.PMax, rec.PAvg, 2);

                    rec.IsUstGP = IsUst(GPLevelMin, GPLevelMax, rec.GPLevel, 3);
                    rec.IsUstGP = rec.IsUstGP && IsUst(gpHotMin, gpHotMax, rec.GPHot, 3);
                    rec.IsUstGP = rec.IsUstGP && IsUst(gpColdMin, gpColdMax, rec.GPCold, 3);

                    rec.IsUstPP = IsUst(PPLevelMin, PPLevelMax, rec.PPLevel, 3);
                    rec.IsUstPP = rec.IsUstPP && IsUst(ppHotMin, ppHotMax, rec.PPHot, 3);
                    rec.IsUstPP = rec.IsUstPP && IsUst(ppColdMin, ppColdMax, rec.PPCold, 3);

                    rec.IsUstGPOhl = IsUst(gpOhlMin, gpOhlMax, gpOhlAvg, 5);
                    rec.IsUstPPOhl = IsUst(ppOhlMin1, ppOhlMax1, ppOhlAvg1, 5) && IsUst(ppOhlMin2, ppOhlMax2, ppOhlAvg2, 5);


                    while (Data.ContainsKey(rec.DateStart))
                    {
                        rec.DateStart = rec.DateStart.AddMilliseconds(1);
                    }
                    Data.Add(rec.DateStart, rec);
                } catch (Exception e) {
                    Logger.Info("ошибка при разборе строки");
                    Logger.Info(e.ToString());
                    return(false);
                }
            }
            return(true);
        }