/////Statistics////////////////////// /// <summary> /// Получает проценты информации в карточке относительно дней в году /// </summary> /// <param name="date">Дата(год)</param> /// <param name="datablockId">ID файла, для которого нужно подсчитать</param> /// <returns>double - проценты</returns> public double Statistics_GetYearStatistics(DateTime date, int datablockId)//Проверить функции { SQLDB_Records sqldbRecords = new SQLDB_Records(connectionString, sqlDB.GETMYSQLCONNECTION()); double stat = 0; int minutesInDay = 1440; int dayInYear = GetDaysInAYear(date.Year); PLFUnitClass plfUnitClassTemp = new PLFUnitClass(); PLFRecord sensorsInstalled = new PLFRecord(); Hashtable allSensorsParamIds = new Hashtable(); sensorsInstalled.SYSTEM_TIME.systemTime = "Y"; allSensorsParamIds = Get_AllParamsSensorsId(sensorsInstalled); //plfUnitClassTemp.Records = Get_Records(datablockId, sensorsInstalled, allSensorsParamIds); int dayInMonth = DateTime.DaysInMonth(date.Year, 12); plfUnitClassTemp.Records = Get_Records(datablockId, new DateTime(date.Year, 1, 1), new DateTime(date.Year, 12, dayInMonth), sensorsInstalled, allSensorsParamIds, sqldbRecords); plfUnitClassTemp.TIME_STEP = Get_TIME_STEP(datablockId); if (plfUnitClassTemp.TIME_STEP == " ") { return(0); } double temp = plfUnitClassTemp.Get_AllWorkingTime().TotalMinutes; stat = (plfUnitClassTemp.Get_AllWorkingTime().TotalMinutes / (minutesInDay * dayInYear)) * 100; return(stat); }
private int PlfRecordsByTimeComparison(PLFRecord x, PLFRecord y) { if (x == null) { if (y == null) { return(0); } else { return(-1); } } else { if (y == null) { return(1); } else { int retval = x.SYSTEM_TIME.GetSystemTime().CompareTo(y.SYSTEM_TIME.GetSystemTime()); return(retval); } } }
public List <PLFRecord> Get_Records(List <int> dataBlockIDS, DateTime startPeriod, DateTime endPeriod, int driversCardId) { List <PLFRecord> records = new List <PLFRecord>(); List <int> dataBlockIdsToGet = new List <int>(); DateTime fromTemp = new DateTime(); DateTime toTemp = new DateTime(); SQLDB_Records sqldbRecords = new SQLDB_Records(connectionString, sqlDB.GETMYSQLCONNECTION()); maxPlfRecords = 0; GetedPlfRecords = 0; foreach (int dataBlock in dataBlockIDS) { fromTemp = Get_START_PERIOD(dataBlock); toTemp = Get_END_PERIOD(dataBlock); if (fromTemp.Date >= startPeriod && fromTemp.Date <= endPeriod) { dataBlockIdsToGet.Add(dataBlock); maxPlfRecords += sqldbRecords.Get_DataBlock_RecordsCount(dataBlock); continue; } if (toTemp.Date >= startPeriod && toTemp.Date <= endPeriod) { dataBlockIdsToGet.Add(dataBlock); maxPlfRecords += sqldbRecords.Get_DataBlock_RecordsCount(dataBlock); continue; } if (startPeriod >= fromTemp.Date && endPeriod <= toTemp.Date) { dataBlockIdsToGet.Add(dataBlock); maxPlfRecords += sqldbRecords.Get_DataBlock_RecordsCount(dataBlock); continue; } } List <PLFRecord> plfUnit = new List <PLFRecord>(); PLFUnitClass plfUnitClassTemp = new PLFUnitClass(); PLFRecord sensorsInstalled = new PLFRecord(); Hashtable allSensorsParamIds = new Hashtable(); /*if (dataBlockIdsToGet.Count > 0) * { * sensorsInstalled = Get_InstalledSensors(dataBlockIdsToGet[0]); * allSensorsParamIds = Get_AllParamsSensorsId(sensorsInstalled); * }*/ foreach (int id in dataBlockIdsToGet) { sensorsInstalled = Get_InstalledSensors(id); allSensorsParamIds = Get_AllParamsSensorsId(sensorsInstalled); plfUnit.AddRange(Get_Records(id, startPeriod, endPeriod, sensorsInstalled, allSensorsParamIds, sqldbRecords)); } plfUnit.Sort(PlfRecordsByTimeComparison); return(plfUnit); }
/// <summary> /// Получает проценты информации в карточке относительно минут в дне /// </summary> /// <param name="date">дата(год, месяц, день)</param> /// <param name="datablockId">ID файла, для которого нужно подсчитать</param> /// <returns>double - проценты</returns> public double Statistics_GetDayStatistics(DateTime date, int datablockId)//Проверить функции activities.GetTotalTime() - писалась давно, может не точно подсчитывать! { SQLDB_Records sqldbRecords = new SQLDB_Records(connectionString, sqlDB.GETMYSQLCONNECTION()); double stat = 0; int minutesInDay = 1440; PLFUnitClass plfUnitClassTemp = new PLFUnitClass(); PLFRecord sensorsInstalled = new PLFRecord(); Hashtable allSensorsParamIds = new Hashtable(); sensorsInstalled.SYSTEM_TIME.systemTime = "Y"; allSensorsParamIds = Get_AllParamsSensorsId(sensorsInstalled); plfUnitClassTemp.Records = Get_Records(datablockId, date.Date, date, sensorsInstalled, allSensorsParamIds, sqldbRecords); plfUnitClassTemp.TIME_STEP = Get_TIME_STEP(datablockId); if (plfUnitClassTemp.TIME_STEP == " ") { return(0); } stat = (plfUnitClassTemp.Get_AllWorkingTime().TotalMinutes / minutesInDay) * 100; return(stat); }
private PLFUnitClass LoadLogBook(READCYCLE.readcycle readcycle) { PLFUnitClass plf = new PLFUnitClass(); plf.START_PERIOD.systemTime = readcycle.TIMEFROM.ToString("yy:MM:dd HH:mm:ss"); plf.END_PERIOD.systemTime = readcycle.TIMETO.ToString("yy:MM:dd HH:mm:ss"); plf.TIME_STEP = readcycle.TIMESTEP.ToString(); plf.installedSensors = readcycle.installedSensors; fb_con.Open(); string sql = "SELECT * FROM LOGBOOK WHERE READCYCLEID=@READCYCLEID ORDER BY ID"; FbCommand cmd = new FbCommand(sql, fb_con); cmd.Parameters.AddWithValue("@READCYCLEID", readcycle.ID); int i = 0; PLFRecord onerecord = new PLFRecord(); DateTime previewDate = new DateTime(); string gettedValue; using (FbDataReader r = cmd.ExecuteReader()) { while (r.Read()) { onerecord = new PLFRecord(); if (plf.installedSensors.SYSTEM_TIME.systemTime != null) { gettedValue = r["READTIME"].ToString(); if (previewDate == new DateTime()) { onerecord.SYSTEM_TIME.systemTime = DateTime.Parse(gettedValue).ToString("yy:MM:dd HH:mm:ss"); previewDate = DateTime.Parse(gettedValue); } else { if (DateTime.Parse(gettedValue) == previewDate) { onerecord.SYSTEM_TIME.systemTime = (DateTime.Parse(gettedValue).AddSeconds(Convert.ToInt32(plf.TIME_STEP))).ToString("yy:MM:dd HH:mm:ss"); previewDate = DateTime.Parse(gettedValue); } else { onerecord.SYSTEM_TIME.systemTime = DateTime.Parse(gettedValue).ToString("yy:MM:dd HH:mm:ss"); previewDate = DateTime.Parse(gettedValue); } } } if (plf.installedSensors.FUEL_CONSUMPTION != null) { onerecord.FUEL_CONSUMPTION = r["FUEL0"].ToString(); } if (plf.installedSensors.FUEL_VOLUME1 != null) { onerecord.FUEL_VOLUME1 = r["FUEL1"].ToString(); } if (plf.installedSensors.FUEL_VOLUME2 != null) { onerecord.FUEL_VOLUME2 = r["FUEL2"].ToString(); } //FUELPH if (plf.installedSensors.VOLTAGE != null) { onerecord.VOLTAGE = r["BATTERY"].ToString(); } if (plf.installedSensors.ENGINE_RPM != null) { onerecord.ENGINE_RPM = r["ENGINERPM"].ToString(); } if (plf.installedSensors.TEMPERATURE1 != null) { onerecord.TEMPERATURE1 = r["TEMPERATURE1"].ToString(); } if (plf.installedSensors.TEMPERATURE2 != null) { onerecord.TEMPERATURE2 = r["TEMPERATURE2"].ToString(); } if (plf.installedSensors.WEIGHT1 != null) { onerecord.WEIGHT1 = r["WEIGHT1"].ToString(); } if (plf.installedSensors.WEIGHT2 != null) { onerecord.WEIGHT2 = r["WEIGHT2"].ToString(); } if (plf.installedSensors.WEIGHT3 != null) { onerecord.WEIGHT3 = r["WEIGHT3"].ToString(); } if (plf.installedSensors.WEIGHT4 != null) { onerecord.WEIGHT4 = r["WEIGHT4"].ToString(); } if (plf.installedSensors.WEIGHT5 != null) { onerecord.WEIGHT5 = r["WEIGHT5"].ToString(); } if (plf.installedSensors.ADDITIONAL_SENSORS != null) { onerecord.ADDITIONAL_SENSORS = r["SENSOR1"].ToString(); } if (plf.installedSensors.RESERVED_3 != null) { onerecord.RESERVED_3 = r["SENSOR3"].ToString(); } if (plf.installedSensors.RESERVED_4 != null) { onerecord.RESERVED_4 = r["SENSOR4"].ToString(); } if (plf.installedSensors.RESERVED_5 != null) { onerecord.RESERVED_5 = r["SENSOR5"].ToString(); } //IGNITION //ENGWORKTIME //REFUEL //FUELDELTA //REFUELTIME //REFUELTIME if (plf.installedSensors.SPEED != null) { onerecord.SPEED = r["SPEED"].ToString(); } if (plf.installedSensors.DISTANCE_COUNTER != null) { onerecord.DISTANCE_COUNTER = r["RACE"].ToString(); } //MOVETIME //IDLETIME if (plf.installedSensors.LATITUDE != null) { onerecord.LATITUDE = r["LATITUDE"].ToString(); } if (plf.installedSensors.LONGITUDE != null) { onerecord.LONGITUDE = r["LONGITUDE"].ToString(); } if (plf.installedSensors.ALTITUDE != null) { onerecord.ALTITUDE = r["ALTITUDE"].ToString(); } if (plf.installedSensors.FUEL_COUNTER != null) { onerecord.FUEL_COUNTER = r["FUEL"].ToString(); } plf.Records.Add(onerecord); } } fb_con.Close(); return(plf); }
/// <summary> /// Разбирает PLF файл, возвращает информацию в обьекте класса PLFUnitClass /// </summary> /// <param name="src">Битовый массив - считаный в память PLF файл</param> /// <returns>экземпляр PLFUnitClass</returns> public static PLFUnitClass PLFUnitData_Parse(byte[] src) { PLFUnitClass returnObject = new PLFUnitClass(); List <string> records = new List <string>(); System.Text.Encoding enc = System.Text.Encoding.Default; string myString = enc.GetString(src); string[] separator = { "#", "\r", "\n", "END", ";" }; string[] splittedString; string YESString = returnObject.installedSensors.YesString; returnObject.installedSensors.SetNForAllParams(); myString = DeleteComments(myString); splittedString = myString.Split(separator, StringSplitOptions.RemoveEmptyEntries); List <string> strings = splittedString.ToList <string>(); #region "Y N Switch Region" bool yes = false; splittedString = new string[2]; foreach (string str in strings) { splittedString = str.Split(new string[] { " = " }, StringSplitOptions.RemoveEmptyEntries); if (splittedString[1] == YESString) { yes = true; } switch (splittedString[0]) { case "ID_DEVICE": { returnObject.ID_DEVICE = splittedString[1]; } break; case "VEHICLE": { returnObject.VEHICLE = splittedString[1]; } break; case "TIME_STEP": { returnObject.TIME_STEP = splittedString[1]; } break; case "SYSTEM_TIME": { if (yes) { returnObject.installedSensors.SYSTEM_TIME.systemTime = splittedString[1]; yes = false; } } break; case "FUEL_VOLUME1": { if (yes) { returnObject.installedSensors.FUEL_VOLUME1 = splittedString[1]; yes = false; } } break; case "FUEL_VOLUME2": { if (yes) { returnObject.installedSensors.FUEL_VOLUME2 = splittedString[1]; yes = false; } } break; case "SPEED": { if (yes) { returnObject.installedSensors.SPEED = splittedString[1]; yes = false; } } break; case "FUEL_COUNTER": { if (yes) { returnObject.installedSensors.FUEL_COUNTER = splittedString[1]; yes = false; } } break; case "DISTANCE_COUNTER": { if (yes) { returnObject.installedSensors.DISTANCE_COUNTER = splittedString[1]; yes = false; } } break; case "FUEL_CONSUMPTION": { if (yes) { returnObject.installedSensors.FUEL_CONSUMPTION = splittedString[1]; yes = false; } } break; case "ENGINE_RPM": { if (yes) { returnObject.installedSensors.ENGINE_RPM = splittedString[1]; yes = false; } } break; case "VOLTAGE": { if (yes) { returnObject.installedSensors.VOLTAGE = splittedString[1]; yes = false; } } break; case "LATITUDE": { if (yes) { returnObject.installedSensors.LATITUDE = splittedString[1]; yes = false; } } break; case "LONGITUDE": { if (yes) { returnObject.installedSensors.LONGITUDE = splittedString[1]; yes = false; } } break; case "ALTITUDE": { if (yes) { returnObject.installedSensors.ALTITUDE = splittedString[1]; yes = false; } } break; case "TEMPERATURE1": { if (yes) { returnObject.installedSensors.TEMPERATURE1 = splittedString[1]; yes = false; } } break; case "TEMPERATURE2": { if (yes) { returnObject.installedSensors.TEMPERATURE2 = splittedString[1]; yes = false; } } break; case "WEIGHT1": { if (yes) { returnObject.installedSensors.WEIGHT1 = splittedString[1]; yes = false; } } break; case "WEIGHT2": { if (yes) { returnObject.installedSensors.WEIGHT2 = splittedString[1]; yes = false; } } break; case "WEIGHT3": { if (yes) { returnObject.installedSensors.WEIGHT3 = splittedString[1]; yes = false; } } break; case "WEIGHT4": { if (yes) { returnObject.installedSensors.WEIGHT4 = splittedString[1]; yes = false; } } break; case "WEIGHT5": { if (yes) { returnObject.installedSensors.WEIGHT5 = splittedString[1]; yes = false; } } break; case "MAIN_STATES": { if (yes) { returnObject.installedSensors.MAIN_STATES = splittedString[1]; yes = false; } } break; case "ADDITIONAL_SENSORS": { if (yes) { returnObject.installedSensors.ADDITIONAL_SENSORS = splittedString[1]; yes = false; } } break; case "RESERVED_3": { if (yes) { returnObject.installedSensors.RESERVED_3 = splittedString[1]; yes = false; } } break; case "RESERVED_4": { if (yes) { returnObject.installedSensors.RESERVED_4 = splittedString[1]; yes = false; } } break; case "RESERVED_5": { if (yes) { returnObject.installedSensors.RESERVED_5 = splittedString[1]; yes = false; } } break; case "RECORD": { records.Add(splittedString[1]); } break; } } #endregion PLFRecord plfRecord; int startIndex = 0; for (int recordIndex = startIndex; recordIndex < records.Count; recordIndex++) { plfRecord = new PLFRecord(); splittedString = records[recordIndex].Split(new string[] { ",", " ", ";" }, StringSplitOptions.RemoveEmptyEntries); #region "Присваивание значений" if (returnObject.installedSensors.SYSTEM_TIME.systemTime == YESString) { plfRecord.SYSTEM_TIME.systemTime = splittedString[0] + " " + splittedString[1]; if (recordIndex == startIndex) { returnObject.START_PERIOD = new PLFSystemTime(splittedString[0] + " " + splittedString[1]); } if (recordIndex == (records.Count - 1)) { returnObject.END_PERIOD = new PLFSystemTime(splittedString[0] + " " + splittedString[1]); } } if (returnObject.installedSensors.FUEL_VOLUME1 == YESString) { plfRecord.FUEL_VOLUME1 = splittedString[2]; } if (returnObject.installedSensors.FUEL_VOLUME2 == YESString) { plfRecord.FUEL_VOLUME2 = splittedString[3]; } if (returnObject.installedSensors.SPEED == YESString) { plfRecord.SPEED = splittedString[4]; } if (returnObject.installedSensors.FUEL_COUNTER == YESString) { plfRecord.FUEL_COUNTER = splittedString[5]; } if (returnObject.installedSensors.DISTANCE_COUNTER == YESString) { plfRecord.DISTANCE_COUNTER = splittedString[6]; } if (returnObject.installedSensors.FUEL_CONSUMPTION == YESString) { plfRecord.FUEL_CONSUMPTION = splittedString[7]; } if (returnObject.installedSensors.ENGINE_RPM == YESString) { plfRecord.ENGINE_RPM = splittedString[8]; } if (returnObject.installedSensors.VOLTAGE == YESString) { plfRecord.VOLTAGE = splittedString[9]; } if (returnObject.installedSensors.LATITUDE == YESString) { plfRecord.LATITUDE = splittedString[10]; } if (returnObject.installedSensors.LONGITUDE == YESString) { plfRecord.LONGITUDE = splittedString[11]; } if (returnObject.installedSensors.ALTITUDE == YESString) { plfRecord.ALTITUDE = splittedString[12]; } if (returnObject.installedSensors.TEMPERATURE1 == YESString) { plfRecord.TEMPERATURE1 = splittedString[13]; } if (returnObject.installedSensors.TEMPERATURE2 == YESString) { plfRecord.TEMPERATURE2 = splittedString[14]; } if (returnObject.installedSensors.WEIGHT1 == YESString) { plfRecord.WEIGHT1 = splittedString[15]; } if (returnObject.installedSensors.WEIGHT2 == YESString) { plfRecord.WEIGHT2 = splittedString[16]; } if (returnObject.installedSensors.WEIGHT3 == YESString) { plfRecord.WEIGHT3 = splittedString[17]; } if (returnObject.installedSensors.WEIGHT4 == YESString) { plfRecord.WEIGHT4 = splittedString[18]; } if (returnObject.installedSensors.WEIGHT5 == YESString) { plfRecord.WEIGHT5 = splittedString[19]; } if (returnObject.installedSensors.MAIN_STATES == YESString) { plfRecord.MAIN_STATES = splittedString[20]; } if (returnObject.installedSensors.ADDITIONAL_SENSORS == YESString) { plfRecord.ADDITIONAL_SENSORS = splittedString[21]; } if (returnObject.installedSensors.RESERVED_3 == YESString) { plfRecord.RESERVED_3 = splittedString[22]; } if (returnObject.installedSensors.RESERVED_4 == YESString) { plfRecord.RESERVED_4 = splittedString[23]; } if (returnObject.installedSensors.RESERVED_5 == YESString) { plfRecord.RESERVED_5 = splittedString[24]; } #endregion returnObject.Records.Add(plfRecord); } return(returnObject); }
private List <PLFRecord> Get_Records(int dataBlockId, PLFRecord sensorsInstalled, Hashtable allParamIds) { SQLDB_Records sqldbRecords = new SQLDB_Records(connectionString, sqlDB.GETMYSQLCONNECTION()); return(Get_Records(dataBlockId, new DateTime(), DateTime.Now, sensorsInstalled, allParamIds, sqldbRecords)); }
private Hashtable Get_AllParamsSensorsId(PLFRecord sensorsInstalled) { Hashtable allParamsIds = new Hashtable(); string paramName = "Records"; string currentParamName; #region "GetAllParams" if (sensorsInstalled.ADDITIONAL_SENSORS == sensorsInstalled.YesString) { currentParamName = paramName + ".ADDITIONAL_SENSORS"; allParamsIds.Add("ADDITIONAL_SENSORS", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.ALTITUDE == sensorsInstalled.YesString) { currentParamName = paramName + ".ALTITUDE"; allParamsIds.Add("ALTITUDE", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.DISTANCE_COUNTER == sensorsInstalled.YesString) { currentParamName = paramName + ".DISTANCE_COUNTER"; allParamsIds.Add("DISTANCE_COUNTER", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.ENGINE_RPM == sensorsInstalled.YesString) { currentParamName = paramName + ".ENGINE_RPM"; allParamsIds.Add("ENGINE_RPM", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.FUEL_CONSUMPTION == sensorsInstalled.YesString) { currentParamName = paramName + ".FUEL_CONSUMPTION"; allParamsIds.Add("FUEL_CONSUMPTION", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.FUEL_COUNTER == sensorsInstalled.YesString) { currentParamName = paramName + ".FUEL_COUNTER"; allParamsIds.Add("FUEL_COUNTER", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.FUEL_VOLUME1 == sensorsInstalled.YesString) { currentParamName = paramName + ".FUEL_VOLUME1"; allParamsIds.Add("FUEL_VOLUME1", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.FUEL_VOLUME2 == sensorsInstalled.YesString) { currentParamName = paramName + ".FUEL_VOLUME2"; allParamsIds.Add("FUEL_VOLUME2", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.LATITUDE == sensorsInstalled.YesString) { currentParamName = paramName + ".LATITUDE"; allParamsIds.Add("LATITUDE", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.LONGITUDE == sensorsInstalled.YesString) { currentParamName = paramName + ".LONGITUDE"; allParamsIds.Add("LONGITUDE", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.MAIN_STATES == sensorsInstalled.YesString) { currentParamName = paramName + ".MAIN_STATES"; allParamsIds.Add("MAIN_STATES", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.RESERVED_3 == sensorsInstalled.YesString) { currentParamName = paramName + ".RESERVED_3"; allParamsIds.Add("RESERVED_3", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.RESERVED_4 == sensorsInstalled.YesString) { currentParamName = paramName + ".RESERVED_4"; allParamsIds.Add("RESERVED_4", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.RESERVED_5 == sensorsInstalled.YesString) { currentParamName = paramName + ".RESERVED_5"; allParamsIds.Add("RESERVED_5", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.SPEED == sensorsInstalled.YesString) { currentParamName = paramName + ".SPEED"; allParamsIds.Add("SPEED", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.SYSTEM_TIME.systemTime == sensorsInstalled.YesString) { currentParamName = paramName + ".SYSTEM_TIME"; allParamsIds.Add("SYSTEM_TIME", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.TEMPERATURE1 == sensorsInstalled.YesString) { currentParamName = paramName + ".TEMPERATURE1"; allParamsIds.Add("TEMPERATURE1", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.TEMPERATURE2 == sensorsInstalled.YesString) { currentParamName = paramName + ".TEMPERATURE2"; allParamsIds.Add("TEMPERATURE2", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.VOLTAGE == sensorsInstalled.YesString) { currentParamName = paramName + ".VOLTAGE"; allParamsIds.Add("VOLTAGE", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.WEIGHT1 == sensorsInstalled.YesString) { currentParamName = paramName + ".WEIGHT1"; allParamsIds.Add("WEIGHT1", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.WEIGHT2 == sensorsInstalled.YesString) { currentParamName = paramName + ".WEIGHT2"; allParamsIds.Add("WEIGHT2", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.WEIGHT3 == sensorsInstalled.YesString) { currentParamName = paramName + ".WEIGHT3"; allParamsIds.Add("WEIGHT3", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.WEIGHT4 == sensorsInstalled.YesString) { currentParamName = paramName + ".WEIGHT4"; allParamsIds.Add("WEIGHT4", sqlDB.getParamId(currentParamName)); } if (sensorsInstalled.WEIGHT5 == sensorsInstalled.YesString) { currentParamName = paramName + ".WEIGHT5"; allParamsIds.Add("WEIGHT5", sqlDB.getParamId(currentParamName)); } #endregion return(allParamsIds); }
public PLFRecord Get_InstalledSensors(int dataBlockId) { //SQLDB sqldb = new SQLDB(connectionString); SQLDB_Records sqldbRecords = new SQLDB_Records(connectionString, sqlDB.GETMYSQLCONNECTION()); PLFRecord sensorsInstalled = new PLFRecord(); string paramName = "installedSensors"; string currentParamName; #region "Variables" bool ADDITIONAL_SENSORS; bool ALTITUDE; bool DISTANCE_COUNTER; bool ENGINE_RPM; bool FUEL_CONSUMPTION; bool FUEL_COUNTER; bool FUEL_VOLUME1; bool FUEL_VOLUME2; bool LATITUDE; bool LONGITUDE; bool MAIN_STATES; bool RESERVED_3; bool RESERVED_4; bool RESERVED_5; bool SPEED; bool SYSTEM_TIME; bool TEMPERATURE1; bool TEMPERATURE2; bool VOLTAGE; bool WEIGHT1; bool WEIGHT2; bool WEIGHT3; bool WEIGHT4; bool WEIGHT5; #endregion #region "Load From DataBase" currentParamName = paramName + ".ADDITIONAL_SENSORS"; ADDITIONAL_SENSORS = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".ALTITUDE"; ALTITUDE = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".DISTANCE_COUNTER"; DISTANCE_COUNTER = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".ENGINE_RPM"; ENGINE_RPM = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".FUEL_CONSUMPTION"; FUEL_CONSUMPTION = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".FUEL_COUNTER"; FUEL_COUNTER = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".FUEL_VOLUME1"; FUEL_VOLUME1 = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".FUEL_VOLUME2"; FUEL_VOLUME2 = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".FUEL_VOLUME2"; FUEL_VOLUME2 = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".LATITUDE"; LATITUDE = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".LONGITUDE"; LONGITUDE = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".MAIN_STATES"; MAIN_STATES = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".RESERVED_3"; RESERVED_3 = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".RESERVED_4"; RESERVED_4 = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".RESERVED_5"; RESERVED_5 = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".SPEED"; SPEED = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".SYSTEM_TIME"; SYSTEM_TIME = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".TEMPERATURE1"; TEMPERATURE1 = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".TEMPERATURE2"; TEMPERATURE2 = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".VOLTAGE"; VOLTAGE = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".WEIGHT1"; WEIGHT1 = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".WEIGHT2"; WEIGHT2 = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".WEIGHT3"; WEIGHT3 = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".WEIGHT4"; WEIGHT4 = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); currentParamName = paramName + ".WEIGHT5"; WEIGHT5 = If_Y_retTrue(sqldbRecords.Get_ParamValue(dataBlockId, currentParamName)); #endregion #region "List Initialization" //Тут еще имеется пространство для оптимизации if (ADDITIONAL_SENSORS) { sensorsInstalled.ADDITIONAL_SENSORS = "Y"; } if (ALTITUDE) { sensorsInstalled.ALTITUDE = "Y"; } if (DISTANCE_COUNTER) { sensorsInstalled.DISTANCE_COUNTER = "Y"; } if (ENGINE_RPM) { sensorsInstalled.ENGINE_RPM = "Y"; } if (FUEL_CONSUMPTION) { sensorsInstalled.FUEL_CONSUMPTION = "Y"; } if (FUEL_COUNTER) { sensorsInstalled.FUEL_COUNTER = "Y"; } if (FUEL_VOLUME1) { sensorsInstalled.FUEL_VOLUME1 = "Y"; } if (FUEL_VOLUME2) { sensorsInstalled.FUEL_VOLUME2 = "Y"; } if (LATITUDE) { sensorsInstalled.LATITUDE = "Y"; } if (LONGITUDE) { sensorsInstalled.LONGITUDE = "Y"; } if (MAIN_STATES) { sensorsInstalled.MAIN_STATES = "Y"; } if (RESERVED_3) { sensorsInstalled.RESERVED_3 = "Y"; } if (RESERVED_4) { sensorsInstalled.RESERVED_4 = "Y"; } if (RESERVED_5) { sensorsInstalled.RESERVED_5 = "Y"; } if (SPEED) { sensorsInstalled.SPEED = "Y"; } if (SYSTEM_TIME) { sensorsInstalled.SYSTEM_TIME.systemTime = "Y"; } if (TEMPERATURE1) { sensorsInstalled.TEMPERATURE1 = "Y"; } if (TEMPERATURE2) { sensorsInstalled.TEMPERATURE2 = "Y"; } if (VOLTAGE) { sensorsInstalled.VOLTAGE = "Y"; } if (WEIGHT1) { sensorsInstalled.WEIGHT1 = "Y"; } if (WEIGHT2) { sensorsInstalled.WEIGHT2 = "Y"; } if (WEIGHT3) { sensorsInstalled.WEIGHT3 = "Y"; } if (WEIGHT4) { sensorsInstalled.WEIGHT4 = "Y"; } if (WEIGHT5) { sensorsInstalled.WEIGHT5 = "Y"; } #endregion return(sensorsInstalled); }
private List <PLFRecord> Get_Records(int dataBlockId, DateTime startPeriod, DateTime endPeriod, PLFRecord sensorsInstalled, Hashtable allParamIds, SQLDB_Records sqldbRecords) { List <PLFRecord> records = new List <PLFRecord>(); PLFRecord plfRecord = new PLFRecord(); string paramName = "Records"; string currentParamName; #region "Variables" List <string> ADDITIONAL_SENSORS = new List <string>(); List <string> ALTITUDE = new List <string>(); List <string> DISTANCE_COUNTER = new List <string>(); List <string> ENGINE_RPM = new List <string>(); List <string> FUEL_CONSUMPTION = new List <string>(); List <string> FUEL_COUNTER = new List <string>(); List <string> FUEL_VOLUME1 = new List <string>(); List <string> FUEL_VOLUME2 = new List <string>(); List <string> LATITUDE = new List <string>(); List <string> LONGITUDE = new List <string>(); List <string> MAIN_STATES = new List <string>(); List <string> RESERVED_3 = new List <string>(); List <string> RESERVED_4 = new List <string>(); List <string> RESERVED_5 = new List <string>(); List <string> SPEED = new List <string>(); List <string> SYSTEM_TIME = new List <string>(); List <string> TEMPERATURE1 = new List <string>(); List <string> TEMPERATURE2 = new List <string>(); List <string> VOLTAGE = new List <string>(); List <string> WEIGHT1 = new List <string>(); List <string> WEIGHT2 = new List <string>(); List <string> WEIGHT3 = new List <string>(); List <string> WEIGHT4 = new List <string>(); List <string> WEIGHT5 = new List <string>(); #endregion #region "Load From DataBase" if (sensorsInstalled.ADDITIONAL_SENSORS == sensorsInstalled.YesString) { currentParamName = paramName + ".ADDITIONAL_SENSORS"; ADDITIONAL_SENSORS = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["ADDITIONAL_SENSORS"]); GetedPlfRecords += ADDITIONAL_SENSORS.Count; } if (sensorsInstalled.ALTITUDE == sensorsInstalled.YesString) { currentParamName = paramName + ".ALTITUDE"; ALTITUDE = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["ALTITUDE"]); GetedPlfRecords += ALTITUDE.Count; } if (sensorsInstalled.DISTANCE_COUNTER == sensorsInstalled.YesString) { currentParamName = paramName + ".DISTANCE_COUNTER"; DISTANCE_COUNTER = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["DISTANCE_COUNTER"]); GetedPlfRecords += DISTANCE_COUNTER.Count; } if (sensorsInstalled.ENGINE_RPM == sensorsInstalled.YesString) { currentParamName = paramName + ".ENGINE_RPM"; ENGINE_RPM = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["ENGINE_RPM"]); GetedPlfRecords += ENGINE_RPM.Count; } if (sensorsInstalled.FUEL_CONSUMPTION == sensorsInstalled.YesString) { currentParamName = paramName + ".FUEL_CONSUMPTION"; FUEL_CONSUMPTION = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["FUEL_CONSUMPTION"]); GetedPlfRecords += FUEL_CONSUMPTION.Count; } if (sensorsInstalled.FUEL_COUNTER == sensorsInstalled.YesString) { currentParamName = paramName + ".FUEL_COUNTER"; FUEL_COUNTER = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["FUEL_COUNTER"]); GetedPlfRecords += FUEL_COUNTER.Count; } if (sensorsInstalled.FUEL_VOLUME1 == sensorsInstalled.YesString) { currentParamName = paramName + ".FUEL_VOLUME1"; FUEL_VOLUME1 = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["FUEL_VOLUME1"]); GetedPlfRecords += FUEL_VOLUME1.Count; } if (sensorsInstalled.FUEL_VOLUME2 == sensorsInstalled.YesString) { currentParamName = paramName + ".FUEL_VOLUME2"; FUEL_VOLUME2 = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["FUEL_VOLUME2"]); GetedPlfRecords += FUEL_VOLUME2.Count; } if (sensorsInstalled.LATITUDE == sensorsInstalled.YesString) { currentParamName = paramName + ".LATITUDE"; LATITUDE = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["LATITUDE"]); GetedPlfRecords += LATITUDE.Count; } if (sensorsInstalled.LONGITUDE == sensorsInstalled.YesString) { currentParamName = paramName + ".LONGITUDE"; LONGITUDE = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["LONGITUDE"]); GetedPlfRecords += LONGITUDE.Count; } if (sensorsInstalled.MAIN_STATES == sensorsInstalled.YesString) { currentParamName = paramName + ".MAIN_STATES"; MAIN_STATES = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["MAIN_STATES"]); GetedPlfRecords += MAIN_STATES.Count; } if (sensorsInstalled.RESERVED_3 == sensorsInstalled.YesString) { currentParamName = paramName + ".RESERVED_3"; RESERVED_3 = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["RESERVED_3"]); GetedPlfRecords += RESERVED_3.Count; } if (sensorsInstalled.RESERVED_4 == sensorsInstalled.YesString) { currentParamName = paramName + ".RESERVED_4"; RESERVED_4 = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["RESERVED_4"]); GetedPlfRecords += RESERVED_4.Count; } if (sensorsInstalled.RESERVED_5 == sensorsInstalled.YesString) { currentParamName = paramName + ".RESERVED_5"; RESERVED_5 = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["RESERVED_5"]); GetedPlfRecords += RESERVED_5.Count; } if (sensorsInstalled.SPEED == sensorsInstalled.YesString) { currentParamName = paramName + ".SPEED"; SPEED = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["SPEED"]); GetedPlfRecords += SPEED.Count; } if (sensorsInstalled.SYSTEM_TIME.systemTime == sensorsInstalled.YesString) { currentParamName = paramName + ".SYSTEM_TIME"; SYSTEM_TIME = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["SYSTEM_TIME"]); GetedPlfRecords += SYSTEM_TIME.Count; } if (sensorsInstalled.TEMPERATURE1 == sensorsInstalled.YesString) { currentParamName = paramName + ".TEMPERATURE1"; TEMPERATURE1 = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["TEMPERATURE1"]); GetedPlfRecords += TEMPERATURE1.Count; } if (sensorsInstalled.TEMPERATURE2 == sensorsInstalled.YesString) { currentParamName = paramName + ".TEMPERATURE2"; TEMPERATURE2 = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["TEMPERATURE2"]); GetedPlfRecords += TEMPERATURE2.Count; } if (sensorsInstalled.VOLTAGE == sensorsInstalled.YesString) { currentParamName = paramName + ".VOLTAGE"; VOLTAGE = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["VOLTAGE"]); GetedPlfRecords += VOLTAGE.Count; } if (sensorsInstalled.WEIGHT1 == sensorsInstalled.YesString) { currentParamName = paramName + ".WEIGHT1"; WEIGHT1 = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["WEIGHT1"]); GetedPlfRecords += WEIGHT1.Count; } if (sensorsInstalled.WEIGHT2 == sensorsInstalled.YesString) { currentParamName = paramName + ".WEIGHT2"; WEIGHT2 = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["WEIGHT2"]); GetedPlfRecords += WEIGHT2.Count; } if (sensorsInstalled.WEIGHT3 == sensorsInstalled.YesString) { currentParamName = paramName + ".WEIGHT3"; WEIGHT3 = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["WEIGHT3"]); GetedPlfRecords += WEIGHT3.Count; } if (sensorsInstalled.WEIGHT4 == sensorsInstalled.YesString) { currentParamName = paramName + ".WEIGHT4"; WEIGHT4 = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["WEIGHT4"]); GetedPlfRecords += WEIGHT4.Count; } if (sensorsInstalled.WEIGHT5 == sensorsInstalled.YesString) { currentParamName = paramName + ".WEIGHT5"; WEIGHT5 = sqldbRecords.Get_AllParamsArray(dataBlockId, (int)allParamIds["WEIGHT5"]); GetedPlfRecords += WEIGHT5.Count; } #endregion if (SYSTEM_TIME.Count == 0) { return(records); throw new Exception("Файл содержит ошибки либо неправильно разобран"); } List <int> Indexes = new List <int>(); Indexes = CheckDate(SYSTEM_TIME, SYSTEM_TIME, startPeriod, endPeriod); foreach (int i in Indexes) { plfRecord = new PLFRecord(); #region "List Initialization" if (ADDITIONAL_SENSORS.Count != 0) { plfRecord.ADDITIONAL_SENSORS = ADDITIONAL_SENSORS[i]; } if (ALTITUDE.Count != 0) { plfRecord.ALTITUDE = ALTITUDE[i]; } if (DISTANCE_COUNTER.Count != 0) { plfRecord.DISTANCE_COUNTER = DISTANCE_COUNTER[i]; } if (ENGINE_RPM.Count != 0) { plfRecord.ENGINE_RPM = ENGINE_RPM[i]; } if (FUEL_CONSUMPTION.Count != 0) { plfRecord.FUEL_CONSUMPTION = FUEL_CONSUMPTION[i]; } if (FUEL_COUNTER.Count != 0) { plfRecord.FUEL_COUNTER = FUEL_COUNTER[i]; } if (FUEL_VOLUME1.Count != 0) { plfRecord.FUEL_VOLUME1 = FUEL_VOLUME1[i]; } if (FUEL_VOLUME2.Count != 0) { plfRecord.FUEL_VOLUME2 = FUEL_VOLUME2[i]; } if (LATITUDE.Count != 0) { plfRecord.LATITUDE = LATITUDE[i]; } if (LONGITUDE.Count != 0) { plfRecord.LONGITUDE = LONGITUDE[i]; } if (MAIN_STATES.Count != 0) { plfRecord.MAIN_STATES = MAIN_STATES[i]; } if (RESERVED_3.Count != 0) { plfRecord.RESERVED_3 = RESERVED_3[i]; } if (RESERVED_4.Count != 0) { plfRecord.RESERVED_4 = RESERVED_4[i]; } if (RESERVED_5.Count != 0) { plfRecord.RESERVED_5 = RESERVED_5[i]; } if (SPEED.Count != 0) { plfRecord.SPEED = SPEED[i]; } if (SYSTEM_TIME.Count != 0) { plfRecord.SYSTEM_TIME = new PLFSystemTime(SYSTEM_TIME[i]); } if (TEMPERATURE1.Count != 0) { plfRecord.TEMPERATURE1 = TEMPERATURE1[i]; } if (TEMPERATURE2.Count != 0) { plfRecord.TEMPERATURE2 = TEMPERATURE2[i]; } if (VOLTAGE.Count != 0) { plfRecord.VOLTAGE = VOLTAGE[i]; } if (WEIGHT1.Count != 0) { plfRecord.WEIGHT1 = WEIGHT1[i]; } if (WEIGHT2.Count != 0) { plfRecord.WEIGHT2 = WEIGHT2[i]; } if (WEIGHT3.Count != 0) { plfRecord.WEIGHT3 = WEIGHT3[i]; } if (WEIGHT4.Count != 0) { plfRecord.WEIGHT4 = WEIGHT4[i]; } if (WEIGHT5.Count != 0) { plfRecord.WEIGHT5 = WEIGHT5[i]; } #endregion records.Add(plfRecord); } return(records); }