/// <summary> /// 修改VCU相关信息 /// </summary> /// <param name="item"></param> public void UpdateVCUconfig(VCUconfig item) { try { string sql = string.Format("Update \"GAC_New_VCU\".\"T_VCUConfig\" set mtoc = '{0}' ,drivername= '{1}',driverpath= '{2}',binname= '{3}',binpath= '{4}',calname= '{5}',calpath= '{6}',softwareversion= '{7}',\"elementNum\"= '{8}',\"hardwarecode\"= '{9}' ,\"HW\"= '{10}',\"SW\"= '{11}' where id = {12};", item.MTOC, item.DriverName, item.DriverPath, item.BinName, item.BinPath, item.CalName, item.CalPath, item.SoftWareVersion, item.ElementNum, item.HardWareCode, item.HW, item.SW, item.Id); int result = PostgresHelper.ExecuteNonQuery(this.connectionString, CommandType.Text, sql); } catch (Exception ex) { logger.Error(ex.Message + "***" + ex.StackTrace); } }
/// <summary> /// 删除VCU配置信息 /// </summary> /// <param name="item"></param> public void DeleteVCUconfig(VCUconfig item) { try { string sql = string.Format("delete from \"GAC_New_VCU\".\"T_VCUConfig\" where id = {0}", item.Id); int result = PostgresHelper.ExecuteNonQuery(this.connectionString, CommandType.Text, sql); } catch (Exception ex) { logger.Error(ex.Message + "***" + ex.StackTrace); } }
/// <summary> /// 保存VCU相关信息 /// </summary> /// <param name="item"></param> public void SaveVCUconfig(VCUconfig item) { try { string sql = string.Format("INSERT INTO \"GAC_New_VCU\".\"T_VCUConfig\"(mtoc,drivername,driverpath,binname,binpath,calname,calpath,softwareversion,hardwarecode,\"elementNum\",\"HW\",\"SW\",\"sign\") VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}');", item.MTOC, item.DriverName, item.DriverPath, item.BinName, item.BinPath, item.CalName, item.CalPath, item.SoftWareVersion, item.HardWareCode, item.ElementNum, item.HW, item.SW, item.Sign); int result = PostgresHelper.ExecuteNonQuery(this.connectionString, CommandType.Text, sql); } catch (Exception ex) { logger.Error(ex.Message + "***" + ex.StackTrace); } }
/// <summary> /// 数据上传 /// </summary> /// <param name="obj"></param> public void Upload_Timer() { if (!canUse_Upload) { return; } else { lock (olock_Upload) { if (canUse_Upload) { canUse_Upload = false; } else { return; } } } try { string localSql = "select * from T_Result where uploadsign=0"; DataTable dt = PostgresHelper.ExecuteDataTable(this.ConnectionString, CommandType.Text, localSql); foreach (DataRow item in dt.Rows) { //上传数据 string sql = string.Format("INSERT INTO T_Upload_TcuData(cartype, conditioncode, crc1, crc2, softwareversion, softwarecode, testtime) VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}');", item["CarType"].ToString(), item["ConditionCode"].ToString(), item["CRC1"].ToString(), item["CRC2"].ToString(), item["SoftWareVersion"].ToString(), item["SoftWareCode"].ToString(), item["testtime"].ToString()); int result = SQLServerHelper.ExecuteNonQuery(this.MESCnnStr, CommandType.Text, sql); //把上传标识uploadsign改为1 if (result > 0) { string updateSql = string.Format("update T_Result set UploadSign = 1 where id ={0}", Convert.ToInt32(item["id"])); PostgresHelper.ExecuteNonQuery(this.connectionString, CommandType.Text, updateSql); } } } catch (Exception ex) { logger.Error(ex.Message + "***" + ex.StackTrace); } }
/// <summary> /// 删除VIN_MTOC码 /// </summary> public void DeleteVIN_MTOC() { OdbcConnection conn = PostgresHelper.GetOdbcConnection(this.connectionString); try { PostgresHelper.CheckConnection(conn); string sql = string.Format("DELETE FROM \"GAC_New_VCU\".\"VIN_MTOC\""); PostgresHelper.ExecuteNonQuery(conn, CommandType.Text, sql); } catch (Exception ex) { logger.Info(ex.Message + "***" + ex.StackTrace); } finally { PostgresHelper.CheckCloseConneciton(conn); } }
/// <summary> /// 插入TPMSCode /// </summary> /// <returns></returns> public int InsertTPMSCode(string carType, string canind, string baud, string sendAddress, string responseAddress) { OdbcConnection conn = PostgresHelper.GetOdbcConnection(this.connectionString); int result = -1; try { string sql = string.Format("INSERT INTO \"GAC_New_VCU\".\"T_TPMSCodeList\"(\"CarType\", \"CANIND\", \"Baud\", \"SendAddress\",\"ResponseAddress\") VALUES ('{0}', '{1}', '{2}', '{3}', '{4}');", carType, canind, baud, sendAddress, responseAddress); result = PostgresHelper.ExecuteNonQuery(conn, CommandType.Text, sql); } catch (Exception ex) { logger.Error(ex.Message + "***" + ex.StackTrace); } finally { PostgresHelper.CheckCloseConneciton(conn); } return(result); }
/// <summary> /// 更新RunParam /// </summary> /// <param name="id"></param> /// <param name="value"></param> /// <returns></returns> public int UpdateRunParam(string id, string value) { OdbcConnection conn = PostgresHelper.GetOdbcConnection(this.connectionString); int result = -1; try { string sql = string.Format("UPDATE \"GAC_New_VCU\".\"T_RunParam\" SET \"keyvalue\"='{0}' WHERE ID = '{1}';", value, id); result = PostgresHelper.ExecuteNonQuery(conn, CommandType.Text, sql); } catch (Exception ex) { throw ex; } finally { PostgresHelper.CheckCloseConneciton(conn); } return(result); }
/// <summary> /// 修改当前检测VCU的状态 /// </summary> /// <param name="state"></param> public void ChangeState(bool result, string vin) { OdbcConnection conn = PostgresHelper.GetOdbcConnection(this.connectionString); try { string state = (result == true) ? "2" : "1"; PostgresHelper.CheckConnection(conn); string sql = string.Format("update \"GAC_New_VCU\".\"T_MTOC\" set \"state\"='" + state + "' where \"vin\"='" + vin + "'"); PostgresHelper.ExecuteNonQuery(conn, CommandType.Text, sql); logger.Info(vin + "更新写入状态" + state + "成功!"); } catch (Exception ex) { logger.Error(ex.Message); } finally { PostgresHelper.CheckCloseConneciton(conn); } }
/// <summary> /// 更新流程 /// </summary> /// <param name="flowName"></param> /// <param name="sendCmd"></param> /// <param name="receiveCmd"></param> /// <param name="enable"></param> /// <param name="carType"></param> /// <param name="sleepTime"></param> /// <param name="receiveNum"></param> /// <param name="id"></param> /// <returns></returns> public int UpdateDefineFlow(string flowName, string sendCmd, string receiveCmd, string enable, string sleepTime, string receiveNum, string id) { OdbcConnection conn = PostgresHelper.GetOdbcConnection(this.connectionString); int result = -1; try { PostgresHelper.CheckConnection(conn); string sql = string.Format("UPDATE \"GAC_New_VCU\".\"T_DefineFlow\" SET \"Flowname\"='{0}', \"SendCmd\"='{1}', \"ReceiveCmd\"='{2}', \"Enabled\"='{3}', \"CarType\"='{4}', \"SleepTime\"='{5}', \"ReceiveNum\"='{6}' WHERE \"ID\"='{7}'", flowName, sendCmd, receiveCmd, enable, sleepTime, receiveNum, id); result = PostgresHelper.ExecuteNonQuery(conn, CommandType.Text, sql); } catch (Exception ex) { logger.Error(ex.Message + "***" + ex.StackTrace); } finally { PostgresHelper.CheckCloseConneciton(conn); } return(result); }
/// <summary> /// 删除TPMS特制码 /// </summary> /// <returns></returns> public int DeleteTPMSCode(string id) { OdbcConnection conn = PostgresHelper.GetOdbcConnection(this.connectionString); int result = -1; try { PostgresHelper.CheckConnection(conn); string sql = string.Format("DELETE FROM \"GAC_New_VCU\".\"T_TPMSCodeList\" WHERE \"ID\" = '{0}';", id); result = PostgresHelper.ExecuteNonQuery(conn, CommandType.Text, sql); } catch (Exception ex) { logger.Error(ex.Message + "***" + ex.StackTrace); } finally { PostgresHelper.CheckCloseConneciton(conn); } return(result); }
/// <summary> /// 保存到本地数据库 /// </summary> /// <param name="car"></param> public int SaveLocalResult(string element, bool state, string vin, string driver, string write, string cal) { int result = 0; string sql = string.Empty; try { sql = string.Format("select * from \"GAC_New_VCU\".\"T_VCUConfig\" where \"mtoc\" in (select \"mtoc\" from \"GAC_New_VCU\".\"T_MTOC\" where \"vin\"='" + vin + "')"); DataTable exist = PostgresHelper.ExecuteDataTable(this.connectionString, CommandType.Text, sql); if (exist.Rows.Count != 0) { string mtoc = exist.Rows[0]["mtoc"].ToString(); string flashBin = exist.Rows[0]["drivername"].ToString(); string writeBin = exist.Rows[0]["binname"].ToString(); string calBin = exist.Rows[0]["calname"].ToString(); string elementCode = exist.Rows[0]["elementNum"].ToString(); string softwareCode = exist.Rows[0]["softwareversion"].ToString(); string sign = exist.Rows[0]["sign"].ToString(); int teststate = (state) ? 2 : 1; int isprint = (state) ? 1 : 0; sql = string.Format("INSERT INTO \"GAC_New_VCU\".\"T_Result\"(vin, mtoc, \"flashBin\", \"writeBin\", \"calBin\",softwareversion, testtime, teststate,isprint,\"tracyCode\",\"sign\") VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}');", vin, mtoc, flashBin, writeBin, calBin, softwareCode , DateTime.Now, teststate, isprint, element, sign); } else { sql = string.Format("select * from \"GAC_New_VCU\".\"T_MTOC\" where \"vin\"= '" + vin + "'"); DataTable dtVIN = PostgresHelper.ExecuteDataTable(this.connectionString, CommandType.Text, sql); if (dtVIN.Rows.Count != 0) { sql = string.Format("select * from \"GAC_New_VCU\".\"T_VCUConfig\" where \"mtoc\"='" + dtVIN.Rows[0]["mtoc"].ToString() + "'"); DataTable save = PostgresHelper.ExecuteDataTable(this.connectionString, CommandType.Text, sql); if (save.Rows.Count != 0) { string mtoc = save.Rows[0]["mtoc"].ToString(); string flashBin = driver; string writeBin = write; string calBin = cal; string elementCode = save.Rows[0]["elementNum"].ToString(); string softwareCode = save.Rows[0]["softwareversion"].ToString(); string sign = save.Rows[0]["sign"].ToString(); int teststate = (state) ? 2 : 1; int isprint = (state) ? 1 : 0; sql = string.Format("INSERT INTO \"GAC_New_VCU\".\"T_Result\"(vin, mtoc, \"flashBin\", \"writeBin\", \"calBin\",softwareversion, testtime, teststate,isprint,\"tracyCode\",\"sign\") VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}');", vin, mtoc, flashBin, writeBin, calBin, softwareCode , DateTime.Now, teststate, isprint, element, sign); } } else { string flashBin = driver; string writeBin = write; string calBin = cal; int teststate = (state) ? 2 : 1; int isprint = (state) ? 1 : 0; sql = string.Format("INSERT INTO \"GAC_New_VCU\".\"T_Result\"(vin,\"flashBin\", \"writeBin\", \"calBin\",testtime, teststate,isprint,\"tracyCode\") VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}');", vin, flashBin, writeBin, calBin, DateTime.Now, teststate, isprint, element); } } result = PostgresHelper.ExecuteNonQuery(this.connectionString, CommandType.Text, sql); } catch (Exception ex) { logger.Error(ex.Message + "***" + ex.StackTrace); } return(result); }
/// <summary> /// 获取MTOC码和对应写入的bin文件 /// </summary> /// <param name="element"></param> public string GetMTOC(string element, string vincode, VCUconfig config) { OdbcConnection conn = PostgresHelper.GetOdbcConnection(this.connectionString); string res = string.Empty; try { this.vin = vincode; PostgresHelper.CheckConnection(conn); //先查找第一个写入状态为-1的件,插入零件号并获取MTOC码和id string mtoc = string.Empty; int result = -1; string sql = string.Empty; sql = string.Format("select * from \"GAC_New_VCU\".\"T_MTOC\" where \"vin\"='" + vincode + "'"); DataTable dtExist = PostgresHelper.ExecuteDataTable(conn, CommandType.Text, sql); if (dtExist.Rows.Count != 0) { mtoc = dtExist.Rows[0]["mtoc"].ToString(); id = int.Parse(dtExist.Rows[0]["id"].ToString()); vin = dtExist.Rows[0]["vin"].ToString(); //修改对应零件号以及写入状态为0(开始写入) sql = string.Format("update \"GAC_New_VCU\".\"T_MTOC\" set \"element\"='" + element + "',\"state\"='0' where \"vin\"='" + vin + "'"); result = PostgresHelper.ExecuteNonQuery(conn, CommandType.Text, sql); logger.Info(vin + "更新零件号" + element + "成功,对应mtoc码为:" + mtoc); //查找MTOC码对应的bin文件以及软、硬件版本号等信息 sql = string.Format("select * from \"GAC_New_VCU\".\"T_VCUConfig\" where \"mtoc\"='" + mtoc + "' "); DataTable Exist = PostgresHelper.ExecuteDataTable(conn, CommandType.Text, sql); if (Exist.Rows.Count != 0) { config.DriverName = Exist.Rows[0]["drivername"] + ""; config.DriverPath = Exist.Rows[0]["driverpath"] + ""; config.BinName = Exist.Rows[0]["binname"] + ""; config.BinPath = Exist.Rows[0]["binpath"] + ""; config.CalName = Exist.Rows[0]["calname"] + ""; config.CalPath = Exist.Rows[0]["calpath"] + ""; config.SoftWareVersion = Exist.Rows[0]["softwareversion"] + ""; config.HardWareCode = Exist.Rows[0]["hardwarecode"] + ""; config.SW = Exist.Rows[0]["SW"] + ""; config.HW = Exist.Rows[0]["HW"] + ""; config.ElementNum = Exist.Rows[0]["elementNum"] + ""; logger.Info("下载MTOC码为" + mtoc + "对应相关信息成功!"); } else { logger.Info("不存在MTOC码为" + mtoc + "对应的相关信息!"); res = "不存在MTOC码为" + mtoc + "对应的相关信息!"; } } else { logger.Info("不存在未写入的VCU"); res = "不存在未写入的VCU"; } } catch (Exception ex) { logger.Error(ex.Message); res = ex.Message; } finally { PostgresHelper.CheckCloseConneciton(conn); } return(res); }