/// <summary> /// Конструктор по умолчанию /// </summary> public PLFUnitClass() { Records = new List <PLFRecord>(); installedSensors = new PLFRecord(); ID_DEVICE = ""; VEHICLE = ""; TIME_STEP = ""; START_PERIOD = new PLFSystemTime(); END_PERIOD = new PLFSystemTime(); }
/// <summary> /// Конструктор по умолчанию /// </summary> public PLFUnitClass() { Records = new List<PLFRecord>(); installedSensors = new PLFRecord(); ID_DEVICE = ""; VEHICLE = ""; TIME_STEP = ""; START_PERIOD = new PLFSystemTime(); END_PERIOD = new PLFSystemTime(); }
/// <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 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; }
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 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; } } }
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; }
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; }
//Проверить функции /////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; }
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; }