|
@@ -158,25 +158,29 @@ namespace Terminal
|
|
|
{
|
|
|
if (lic != "")
|
|
|
{
|
|
|
- MySqlDataReader reader;
|
|
|
+ //MySqlDataReader reader;
|
|
|
+ object[] result;
|
|
|
//查询车辆是否在车辆表中
|
|
|
string checkVehicleState = "select * from vehicle where numberPlate = '" + lic + "';";
|
|
|
if (!remote)
|
|
|
{
|
|
|
- reader = Monitor.Monitor.localDBOper.Query(checkVehicleState);
|
|
|
+ //reader = Monitor.Monitor.localDBOper.Query(checkVehicleState);
|
|
|
+ result = Monitor.Monitor.localDBOper.Query(checkVehicleState);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- reader = Monitor.Monitor.remoteDBOper.Query(checkVehicleState);
|
|
|
+ //reader = Monitor.Monitor.remoteDBOper.Query(checkVehicleState);
|
|
|
+ result = Monitor.Monitor.remoteDBOper.Query(checkVehicleState);
|
|
|
}
|
|
|
- if (reader != null && reader.Read() && reader.HasRows)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- reader.Close();
|
|
|
- reader.Dispose();
|
|
|
- }
|
|
|
- catch { }
|
|
|
+ //if (reader != null && reader.Read() && reader.HasRows)
|
|
|
+ //{
|
|
|
+ // try
|
|
|
+ // {
|
|
|
+ // reader.Close();
|
|
|
+ // reader.Dispose();
|
|
|
+ // }
|
|
|
+ // catch { }
|
|
|
+ if(result!=null && result.Length > 0) {
|
|
|
//更新车辆状态
|
|
|
string updateVehicleState = "";
|
|
|
string updateRemoteVehicleState = "";
|
|
@@ -339,18 +343,22 @@ namespace Terminal
|
|
|
string userLicense = GetLicenseFromTerm(term);
|
|
|
//与云端数据比对
|
|
|
string checkNetSql = "select * from user where userID = 1;";
|
|
|
- MySqlDataReader readerTest = Monitor.Monitor.remoteDBOper.Query(checkNetSql);
|
|
|
- if ( readerTest!= null && readerTest.Read() && readerTest.HasRows)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- readerTest.Close();
|
|
|
- readerTest.Dispose();
|
|
|
- }
|
|
|
- catch { }
|
|
|
+ object[] result = Monitor.Monitor.remoteDBOper.Query(checkNetSql);
|
|
|
+ //MySqlDataReader readerTest = Monitor.Monitor.remoteDBOper.Query(checkNetSql);
|
|
|
+ //if ( readerTest!= null && readerTest.Read() && readerTest.HasRows)
|
|
|
+ //{
|
|
|
+ // try
|
|
|
+ // {
|
|
|
+ // readerTest.Close();
|
|
|
+ // readerTest.Dispose();
|
|
|
+ // }
|
|
|
+ // catch { }
|
|
|
+ if (result!=null && result.Length>0) {
|
|
|
string userInfoCheckSql = "select * from usercarrelation where userID = '" + userID + "'and numberPlate = '" + userLicense + "';";
|
|
|
- MySqlDataReader reader = Monitor.Monitor.remoteDBOper.Query(userInfoCheckSql);
|
|
|
- if (reader != null && reader.Read() && reader.HasRows && userID != 0 && userLicense != "")
|
|
|
+ //MySqlDataReader reader = Monitor.Monitor.remoteDBOper.Query(userInfoCheckSql);
|
|
|
+ object[] objList = Monitor.Monitor.remoteDBOper.Query(userInfoCheckSql);
|
|
|
+ //if (reader != null && reader.Read() && reader.HasRows && userID != 0 && userLicense != "")
|
|
|
+ if(objList!=null && objList.Length>0 && userID != 0 && userLicense != "")
|
|
|
{
|
|
|
ts.licVerification = 1;//验证成功
|
|
|
Monitor.Monitor.PLC.WriteToPLC(ts, PLCDataType.central);
|
|
@@ -364,12 +372,12 @@ namespace Terminal
|
|
|
numReceivedStatus = 2;
|
|
|
Log.WriteLog(LogType.process, LogFile.WARNING, "号牌验证失败");
|
|
|
}
|
|
|
- try
|
|
|
- {
|
|
|
- reader.Close();
|
|
|
- reader.Dispose();
|
|
|
- }
|
|
|
- catch { }
|
|
|
+ //try
|
|
|
+ //{
|
|
|
+ // reader.Close();
|
|
|
+ // reader.Dispose();
|
|
|
+ //}
|
|
|
+ //catch { }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -460,38 +468,42 @@ namespace Terminal
|
|
|
//}
|
|
|
//查询记录ID号
|
|
|
string findRecordSql = "select parkingRecordsID from parkingrecords where receiptNum = " + term.receiptNum + ";";
|
|
|
- MySqlDataReader reader = Monitor.Monitor.localDBOper.Query(findRecordSql);
|
|
|
- MySqlDataReader remoteReader = Monitor.Monitor.remoteDBOper.Query(findRecordSql);
|
|
|
+ object[] localRecords = Monitor.Monitor.localDBOper.Query(findRecordSql);
|
|
|
+ object[] remoteRecords = Monitor.Monitor.remoteDBOper.Query(findRecordSql);
|
|
|
+ //MySqlDataReader reader = Monitor.Monitor.localDBOper.Query(findRecordSql);
|
|
|
+ //MySqlDataReader remoteReader = Monitor.Monitor.remoteDBOper.Query(findRecordSql);
|
|
|
int parkingRecordsID = 0;
|
|
|
int remoteParkingRecordsID = 0;
|
|
|
try
|
|
|
{
|
|
|
- if (reader != null && reader.Read())
|
|
|
- {
|
|
|
- parkingRecordsID = reader.GetInt32("parkingRecordsID");
|
|
|
- try
|
|
|
- {
|
|
|
- if (reader != null)
|
|
|
- {
|
|
|
- reader.Close();
|
|
|
- reader.Dispose();
|
|
|
- }
|
|
|
- }
|
|
|
- catch { }
|
|
|
- }
|
|
|
- if (remoteReader != null && remoteReader.Read())
|
|
|
- {
|
|
|
- remoteParkingRecordsID = remoteReader.GetInt32("parkingRecordsID");
|
|
|
- try
|
|
|
- {
|
|
|
- if (remoteReader != null)
|
|
|
- {
|
|
|
- remoteReader.Close();
|
|
|
- remoteReader.Dispose();
|
|
|
- }
|
|
|
- }
|
|
|
- catch { }
|
|
|
- }
|
|
|
+ //if (reader != null && reader.Read())
|
|
|
+ //{
|
|
|
+ // parkingRecordsID = reader.GetInt32("parkingRecordsID");
|
|
|
+ // try
|
|
|
+ // {
|
|
|
+ // if (reader != null)
|
|
|
+ // {
|
|
|
+ // reader.Close();
|
|
|
+ // reader.Dispose();
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // catch { }
|
|
|
+ //}
|
|
|
+ //if (remoteReader != null && remoteReader.Read())
|
|
|
+ //{
|
|
|
+ // remoteParkingRecordsID = remoteReader.GetInt32("parkingRecordsID");
|
|
|
+ // try
|
|
|
+ // {
|
|
|
+ // if (remoteReader != null)
|
|
|
+ // {
|
|
|
+ // remoteReader.Close();
|
|
|
+ // remoteReader.Dispose();
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // catch { }
|
|
|
+ //}
|
|
|
+ if(localRecords!=null && localRecords.Length > 0) { parkingRecordsID = (int)localRecords[0]; }
|
|
|
+ if (remoteRecords != null && remoteRecords.Length > 0) { remoteParkingRecordsID = (int)remoteRecords[0]; }
|
|
|
}
|
|
|
catch (Exception e) { Log.WriteLog(LogType.process, LogFile.ERROR, "查询停车记录id失败"); ; Console.WriteLine(e.Message); };
|
|
|
//更新本地车辆表
|
|
@@ -563,21 +575,29 @@ namespace Terminal
|
|
|
string parkRecordsSql = "select parkingRecordsID,userID,numberPlate,realParkTime from parkingrecords where receiptNum = " + receipt + ";";
|
|
|
try
|
|
|
{
|
|
|
- MySqlDataReader reader = Monitor.Monitor.localDBOper.Query(parkRecordsSql);
|
|
|
- if (reader != null && reader.Read())
|
|
|
+ object[] result = Monitor.Monitor.localDBOper.Query(parkRecordsSql);
|
|
|
+ if(result!=null && result.Length >= 4)
|
|
|
{
|
|
|
- object[] receiver = new object[4];
|
|
|
- reader.GetValues(receiver);
|
|
|
- recordID = (int)receiver[0];
|
|
|
- userID = (int)receiver[1];
|
|
|
- numberPlate = (string)receiver[2];
|
|
|
- realParkTime = (string)receiver[3];
|
|
|
- }
|
|
|
- if (reader != null)
|
|
|
- {
|
|
|
- reader.Close();
|
|
|
- reader.Dispose();
|
|
|
+ recordID = (int)result[0];
|
|
|
+ userID = (int)result[1];
|
|
|
+ numberPlate = (string)result[2];
|
|
|
+ realParkTime = (string)result[3];
|
|
|
}
|
|
|
+ //MySqlDataReader reader = Monitor.Monitor.localDBOper.Query(parkRecordsSql);
|
|
|
+ //if (reader != null && reader.Read())
|
|
|
+ //{
|
|
|
+ // object[] receiver = new object[4];
|
|
|
+ // reader.GetValues(receiver);
|
|
|
+ // recordID = (int)receiver[0];
|
|
|
+ // userID = (int)receiver[1];
|
|
|
+ // numberPlate = (string)receiver[2];
|
|
|
+ // realParkTime = (string)receiver[3];
|
|
|
+ //}
|
|
|
+ //if (reader != null)
|
|
|
+ //{
|
|
|
+ // reader.Close();
|
|
|
+ // reader.Dispose();
|
|
|
+ //}
|
|
|
|
|
|
}
|
|
|
catch (Exception e) { Log.WriteLog(LogType.process, LogFile.ERROR, "根据凭证号查询停车记录失败"); Console.WriteLine(e.Message); return false; }
|
|
@@ -675,18 +695,20 @@ namespace Terminal
|
|
|
string remoteParkRecordsSql = "select parkingRecordsID from parkingrecords where receiptNum = " + receiptNum + ";";
|
|
|
try
|
|
|
{
|
|
|
- MySqlDataReader reader = Monitor.Monitor.remoteDBOper.Query(remoteParkRecordsSql);
|
|
|
- if (reader != null && reader.Read())
|
|
|
- {
|
|
|
- object[] receiver = new object[1];
|
|
|
- reader.GetValues(receiver);
|
|
|
- remoteParkingRecordsID = (int)receiver[0];
|
|
|
- }
|
|
|
- if (reader != null)
|
|
|
- {
|
|
|
- reader.Close();
|
|
|
- reader.Dispose();
|
|
|
- }
|
|
|
+ object[] result = Monitor.Monitor.remoteDBOper.Query(remoteParkRecordsSql);
|
|
|
+ if(result!=null && result.Length > 0) { remoteParkingRecordsID = (int)result[0]; }
|
|
|
+ //MySqlDataReader reader = Monitor.Monitor.remoteDBOper.Query(remoteParkRecordsSql);
|
|
|
+ //if (reader != null && reader.Read())
|
|
|
+ //{
|
|
|
+ // object[] receiver = new object[1];
|
|
|
+ // reader.GetValues(receiver);
|
|
|
+ // remoteParkingRecordsID = (int)receiver[0];
|
|
|
+ //}
|
|
|
+ //if (reader != null)
|
|
|
+ //{
|
|
|
+ // reader.Close();
|
|
|
+ // reader.Dispose();
|
|
|
+ //}
|
|
|
}
|
|
|
catch (Exception e) { Console.WriteLine(e.Message); }
|
|
|
//本地存在号牌,后续操作
|
|
@@ -702,27 +724,39 @@ namespace Terminal
|
|
|
string vipInfoSql = "select orderRecordsID,monthCardType,monthCardTime from vehicle where numberPlate = '" + numberPlate + "';";
|
|
|
try
|
|
|
{
|
|
|
- MySqlDataReader reader = Monitor.Monitor.localDBOper.Query(vipInfoSql);
|
|
|
- if (reader != null && reader.Read())
|
|
|
+ object[] result = Monitor.Monitor.localDBOper.Query(vipInfoSql);
|
|
|
+ //MySqlDataReader reader = Monitor.Monitor.localDBOper.Query(vipInfoSql);
|
|
|
+ //if (reader != null && reader.Read())
|
|
|
+ if (result!=null && result.Length>=3)
|
|
|
{
|
|
|
- object[] receiver = new object[3];
|
|
|
- reader.GetValues(receiver);
|
|
|
- Console.WriteLine(receiver[2].GetType());
|
|
|
- if (!receiver[0].GetType().Equals(typeof(DBNull)))
|
|
|
+ //object[] receiver = new object[3];
|
|
|
+ //reader.GetValues(receiver);
|
|
|
+
|
|
|
+ //if (!receiver[0].GetType().Equals(typeof(DBNull)))
|
|
|
+ //{
|
|
|
+ // orderRecordsID = (int)receiver[0];
|
|
|
+ //}
|
|
|
+ //if (!receiver[1].GetType().Equals(typeof(DBNull)))
|
|
|
+ //{
|
|
|
+ // monthCardType = (int)(UInt32)receiver[1];
|
|
|
+ //}
|
|
|
+ //if (!receiver[2].GetType().Equals(typeof(DBNull)))
|
|
|
+ //{
|
|
|
+ // monthCardTime = (string)receiver[2];
|
|
|
+ //}
|
|
|
+ if (!result[0].GetType().Equals(typeof(DBNull)))
|
|
|
{
|
|
|
- orderRecordsID = (int)receiver[0];
|
|
|
+ orderRecordsID = (int)result[0];
|
|
|
}
|
|
|
- if (!receiver[1].GetType().Equals(typeof(DBNull)))
|
|
|
+ if (!result[1].GetType().Equals(typeof(DBNull)))
|
|
|
{
|
|
|
- monthCardType = (int)(UInt32)receiver[1];
|
|
|
+ monthCardType = (int)(UInt32)result[1];
|
|
|
}
|
|
|
- if (!receiver[2].GetType().Equals(typeof(DBNull)))
|
|
|
+ if (!result[2].GetType().Equals(typeof(DBNull)))
|
|
|
{
|
|
|
- monthCardTime = (string)receiver[2];
|
|
|
+ monthCardTime = (string)result[2];
|
|
|
}
|
|
|
- //orderRecordsID = (Int32)receiver[0];
|
|
|
- //monthCardType = (Int32)receiver[1];
|
|
|
- //monthCardTime = (string)receiver[2];
|
|
|
+
|
|
|
monthCardTimeLength = DateTime.Parse(monthCardTime) - DateTime.Now;
|
|
|
if (monthCardTimeLength.TotalHours <= 0)
|
|
|
{
|
|
@@ -730,23 +764,27 @@ namespace Terminal
|
|
|
}
|
|
|
Log.WriteLog(LogType.process, LogFile.INFO, "已获取本地预约与月卡信息");
|
|
|
}
|
|
|
- if (reader != null)
|
|
|
- {
|
|
|
- reader.Close();
|
|
|
- reader.Dispose();
|
|
|
- }
|
|
|
+ //if (reader != null)
|
|
|
+ //{
|
|
|
+ // reader.Close();
|
|
|
+ // reader.Dispose();
|
|
|
+ //}
|
|
|
}
|
|
|
catch (Exception e) { Console.WriteLine(e.Message); }
|
|
|
//云端VIP信息
|
|
|
try
|
|
|
{
|
|
|
- MySqlDataReader reader = Monitor.Monitor.remoteDBOper.Query(vipInfoSql);
|
|
|
- if (reader != null && reader.Read())
|
|
|
+ object[] result = Monitor.Monitor.remoteDBOper.Query(vipInfoSql);
|
|
|
+ //MySqlDataReader reader = Monitor.Monitor.remoteDBOper.Query(vipInfoSql);
|
|
|
+ //if (reader != null && reader.Read())
|
|
|
+ if(result!=null && result.Length>=3)
|
|
|
{
|
|
|
- object[] receiver = new object[3];
|
|
|
- reader.GetValues(receiver);
|
|
|
- int cardType = (int)(UInt32)receiver[1];
|
|
|
- string CardTime = (string)receiver[2];
|
|
|
+ //object[] receiver = new object[3];
|
|
|
+ //reader.GetValues(receiver);
|
|
|
+ //int cardType = (int)(UInt32)receiver[1];
|
|
|
+ //string CardTime = (string)receiver[2];
|
|
|
+ int cardType = (int)(UInt32)result[1];
|
|
|
+ string CardTime = (string)result[2];
|
|
|
TimeSpan t = DateTime.Parse(CardTime) - DateTime.Now;
|
|
|
//云端
|
|
|
if (t.TotalHours > 0 && cardType > monthCardType)
|
|
@@ -756,11 +794,11 @@ namespace Terminal
|
|
|
}
|
|
|
Log.WriteLog(LogType.process, LogFile.INFO, "已获取云端预约与月卡信息");
|
|
|
}
|
|
|
- if (reader != null)
|
|
|
- {
|
|
|
- reader.Close();
|
|
|
- reader.Dispose();
|
|
|
- }
|
|
|
+ //if (reader != null)
|
|
|
+ //{
|
|
|
+ // reader.Close();
|
|
|
+ // reader.Dispose();
|
|
|
+ //}
|
|
|
}
|
|
|
catch (Exception e) { Console.WriteLine(e.Message); }
|
|
|
|