|
@@ -10,7 +10,7 @@ using System.Configuration;
|
|
|
using System.Threading;
|
|
|
using parkMonitor.server.uiLogServer;
|
|
|
using parkMonitor.tools;
|
|
|
-using parkMonitor.DataBase;
|
|
|
+using parkMonitor.Database2;
|
|
|
using MySql.Data.MySqlClient;
|
|
|
using parkMonitor.server.NumMachine;
|
|
|
|
|
@@ -198,7 +198,6 @@ namespace parkMonitor.server.CoreThread
|
|
|
/// <param name="isParking"></param>
|
|
|
public void Rollback(Command queueCmd, int parkingSpaceID, bool parkingSpaceUpdated, bool isParking, LaserMessage lm)
|
|
|
{
|
|
|
- string connectionStr = null;
|
|
|
//命令回退
|
|
|
queueCmd.returnedCount += 1;
|
|
|
queuingThread.SetMessage(queueCmd);
|
|
@@ -227,35 +226,30 @@ namespace parkMonitor.server.CoreThread
|
|
|
Log.WriteLog(LogType.NOT_DATABASE, LogFile.ERROR, "车位分配出现异常,需要重启");
|
|
|
return;
|
|
|
}
|
|
|
- //try
|
|
|
- //{
|
|
|
- // using (MySqlConnection conn = DBConnectionPool.getPool(DBConnection.remoteConf).getConnection())
|
|
|
- // //using (MySqlConnection conn = new MySqlConnection(DBConnection.remoteConf))
|
|
|
- // {
|
|
|
- // Operation.TryOpen(conn);
|
|
|
- // bool DBStoreStatus = false; //判断数据库事务操作是否正常
|
|
|
- // int temp;
|
|
|
- // string updateParkingSpaceSql = "update parkingspace set parkingSpaceState = 0 where parkingSpaceID = '" + parkingSpaceID + "'";
|
|
|
- // string updateFreeSpaceSql = "update garage set garageFreeSpace = '" + ParkingSpaceManager.ins.GetFreeSpaceCount() + "' where garageID = '" + ParkingSpaceManager.garageID + "'";
|
|
|
- // string updateVehicleStateSql = "update vehicle set vehiclepParkState = '" + 0 + "'where numberPlate = '" + queueCmd.LicenseNum + "'";
|
|
|
- // List<string> strs = new List<string>();
|
|
|
- // strs.Add(updateParkingSpaceSql);
|
|
|
- // strs.Add(updateFreeSpaceSql);
|
|
|
- // strs.Add(updateVehicleStateSql);
|
|
|
- // if (!Operation.MyTransaction(conn, strs, out temp))
|
|
|
- // {
|
|
|
- // //数据库操作失败写日志
|
|
|
- // Log.WriteLog(LogType.DATABASE, updateParkingSpaceSql);
|
|
|
- // Log.WriteLog(LogType.DATABASE, updateFreeSpaceSql);
|
|
|
- // Log.WriteLog(LogType.DATABASE, updateVehicleStateSql);
|
|
|
- // //Log.WriteLog(LogType.DATABASE, strs.ToArray().ToString());
|
|
|
- // }
|
|
|
- // }
|
|
|
- //}
|
|
|
- //catch
|
|
|
- //{
|
|
|
- // throw; //数据库异常待处理
|
|
|
- //}
|
|
|
+ try
|
|
|
+ {
|
|
|
+
|
|
|
+ int temp;
|
|
|
+ string updateParkingSpaceSql = "update parkingspace set parkingSpaceState = 0 where parkingSpaceID = '" + parkingSpaceID + "'";
|
|
|
+ string updateFreeSpaceSql = "update garage set garageFreeSpace = '" + ParkingSpaceManager.ins.GetFreeSpaceCount() + "' where garageID = '" + ParkingSpaceManager.garageID + "'";
|
|
|
+ string updateVehicleStateSql = "update vehicle set vehiclepParkState = '" + 0 + "'where numberPlate = '" + queueCmd.LicenseNum + "'";
|
|
|
+ List<string> strs = new List<string>();
|
|
|
+ strs.Add(updateParkingSpaceSql);
|
|
|
+ strs.Add(updateFreeSpaceSql);
|
|
|
+ strs.Add(updateVehicleStateSql);
|
|
|
+ if (!Operation.MyTransaction(EntityForCore.remoteBQ,strs, out temp))
|
|
|
+ {
|
|
|
+ //数据库操作失败写日志
|
|
|
+ Log.WriteLog(LogType.DATABASE, updateParkingSpaceSql);
|
|
|
+ Log.WriteLog(LogType.DATABASE, updateFreeSpaceSql);
|
|
|
+ Log.WriteLog(LogType.DATABASE, updateVehicleStateSql);
|
|
|
+ //Log.WriteLog(LogType.DATABASE, strs.ToArray().ToString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch
|
|
|
+ {
|
|
|
+ throw; //数据库异常待处理
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -266,54 +260,48 @@ namespace parkMonitor.server.CoreThread
|
|
|
Log.WriteLog(LogType.NOT_DATABASE, LogFile.ERROR, "车位分配出现异常,需要重启");
|
|
|
return;
|
|
|
}
|
|
|
- //try
|
|
|
- //{
|
|
|
- // using (MySqlConnection conn = DBConnectionPool.getPool(DBConnection.remoteConf).getConnection())
|
|
|
- // //using (MySqlConnection conn = new MySqlConnection(DBConnection.remoteConf))
|
|
|
- // {
|
|
|
- // Operation.TryOpen(conn);
|
|
|
- // bool DBStoreStatus = false; //判断数据库事务操作是否正常
|
|
|
- // int temp;
|
|
|
- // string updateParkingSpaceSql = "update parkingspace set parkingSpaceState = 1 where parkingSpaceID = '" + parkingSpaceID + "'";
|
|
|
- // string updateFreeSpaceSql = "update garage set garageFreeSpace = '" + ParkingSpaceManager.ins.GetFreeSpaceCount() + "' where garageID = '" + ParkingSpaceManager.garageID + "'";
|
|
|
- // string updateVehicleStateSql = "update vehicle set vehiclepParkState = '" + 1 + "'where numberPlate = '" + queueCmd.LicenseNum + "'";
|
|
|
- // List<string> strs = new List<string>();
|
|
|
- // strs.Add(updateParkingSpaceSql);
|
|
|
- // strs.Add(updateFreeSpaceSql);
|
|
|
- // strs.Add(updateVehicleStateSql);
|
|
|
- // if (!Operation.MyTransaction(conn, strs, out temp))
|
|
|
- // {
|
|
|
- // //数据库操作失败写日志
|
|
|
- // Log.WriteLog(LogType.DATABASE, updateParkingSpaceSql);
|
|
|
- // Log.WriteLog(LogType.DATABASE, updateFreeSpaceSql);
|
|
|
- // Log.WriteLog(LogType.DATABASE, updateVehicleStateSql);
|
|
|
- // //Log.WriteLog(LogType.DATABASE, strs.ToArray().ToString());
|
|
|
- // }
|
|
|
- // }
|
|
|
- //}
|
|
|
- //catch
|
|
|
- //{
|
|
|
- // throw; //数据库异常待处理
|
|
|
- //}
|
|
|
+ try
|
|
|
+ {
|
|
|
+
|
|
|
+ int temp;
|
|
|
+ string updateParkingSpaceSql = "update parkingspace set parkingSpaceState = 1 where parkingSpaceID = '" + parkingSpaceID + "'";
|
|
|
+ string updateFreeSpaceSql = "update garage set garageFreeSpace = '" + ParkingSpaceManager.ins.GetFreeSpaceCount() + "' where garageID = '" + ParkingSpaceManager.garageID + "'";
|
|
|
+ string updateVehicleStateSql = "update vehicle set vehiclepParkState = '" + 1 + "'where numberPlate = '" + queueCmd.LicenseNum + "'";
|
|
|
+ List<string> strs = new List<string>();
|
|
|
+ strs.Add(updateParkingSpaceSql);
|
|
|
+ strs.Add(updateFreeSpaceSql);
|
|
|
+ strs.Add(updateVehicleStateSql);
|
|
|
+ if (!Operation.MyTransaction(EntityForCore.remoteBQ,strs, out temp))
|
|
|
+ {
|
|
|
+ //数据库操作失败写日志
|
|
|
+ Log.WriteLog(LogType.DATABASE, updateParkingSpaceSql);
|
|
|
+ Log.WriteLog(LogType.DATABASE, updateFreeSpaceSql);
|
|
|
+ Log.WriteLog(LogType.DATABASE, updateVehicleStateSql);
|
|
|
+ //Log.WriteLog(LogType.DATABASE, strs.ToArray().ToString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch
|
|
|
+ {
|
|
|
+ throw; //数据库异常待处理
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- connectionStr = "SqlConnectionLocation";
|
|
|
if (isParking)
|
|
|
{
|
|
|
- oper.UpdateVehicleParkState(connectionStr, queueCmd.LicenseNum, 0);
|
|
|
+ oper.UpdateVehicleParkState(EntityForCore.remoteBQ, queueCmd.LicenseNum, 0);
|
|
|
if (parkingSpaceUpdated)
|
|
|
{
|
|
|
- oper.UpdateParkingSpaceState(connectionStr, parkingSpaceID, 0);
|
|
|
+ oper.UpdateParkingSpaceState(EntityForCore.remoteBQ, parkingSpaceID, 0);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- oper.UpdateVehicleParkState(connectionStr, queueCmd.LicenseNum, 1);
|
|
|
+ oper.UpdateVehicleParkState(EntityForCore.remoteBQ, queueCmd.LicenseNum, 1);
|
|
|
if (parkingSpaceUpdated)
|
|
|
{
|
|
|
- oper.UpdateParkingSpaceState(connectionStr, parkingSpaceID, 1);
|
|
|
+ oper.UpdateParkingSpaceState(EntityForCore.remoteBQ, parkingSpaceID, 1);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -550,13 +538,12 @@ namespace parkMonitor.server.CoreThread
|
|
|
queuingThread.SetMessage(queueCmd);
|
|
|
if (!queueCmd.manual)
|
|
|
{
|
|
|
- connectionStr = "SqlConnectionStr";
|
|
|
- oper.UpdateParkingSpaceState(connectionStr, parkingSpaceID, 0);
|
|
|
+ oper.UpdateParkingSpaceState(EntityForCore.remoteBQ, parkingSpaceID, 0);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
connectionStr = "SqlConnectionLocation";
|
|
|
- oper.UpdateParkingSpaceState(connectionStr, parkingSpaceID, 0);
|
|
|
+ oper.UpdateParkingSpaceState(EntityForCore.localBQ, parkingSpaceID, 0);
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
@@ -750,11 +737,11 @@ namespace parkMonitor.server.CoreThread
|
|
|
else
|
|
|
{
|
|
|
//更新本地车位表车位状态
|
|
|
- oper.UpdateParkingSpaceState(DBConnection.localConf, ppp.parkingSpaceID, 1);
|
|
|
+ oper.UpdateParkingSpaceState(EntityForCore.localBQ, ppp.parkingSpaceID, 1);
|
|
|
//更新车库表剩余车位数
|
|
|
//int freeSpaceCount = oper.getGarageFreeSpace(connectionStr, garageID);
|
|
|
//freeSpaceCount = freeSpaceCount - 1;
|
|
|
- oper.UpdateGarageFreeSpace(DBConnection.localConf, freeSpaceCount, garageID);
|
|
|
+ //oper.UpdateGarageFreeSpace(CoreThreadTest2.localBQ, freeSpaceCount, garageID);
|
|
|
}
|
|
|
//号牌失效,数据库回滚
|
|
|
if (disappeared)
|
|
@@ -762,11 +749,11 @@ namespace parkMonitor.server.CoreThread
|
|
|
NumReset(queueCmd);
|
|
|
if (!queueCmd.manual)
|
|
|
{
|
|
|
- oper.UpdateVehicleParkState(DBConnection.remoteConf, queueCmd.LicenseNum, 0);
|
|
|
+ oper.UpdateVehicleParkState(EntityForCore.remoteBQ, queueCmd.LicenseNum, 0);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- oper.UpdateVehicleParkState(DBConnection.remoteConf, queueCmd.LicenseNum, 0);
|
|
|
+ oper.UpdateVehicleParkState(EntityForCore.localBQ, queueCmd.LicenseNum, 0);
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
@@ -858,53 +845,73 @@ namespace parkMonitor.server.CoreThread
|
|
|
{
|
|
|
if (!queueCmd.manual)
|
|
|
{
|
|
|
- //connectionStr = "SqlConnectionStr";
|
|
|
- //更新云端数据库
|
|
|
- //插入停车记录表
|
|
|
- //int parkingRecordsID = oper.InsertToParkingRecords(connectionStr, userID, numberPlate, ppp.parkingSpaceID, ppp.garageID, 3, realParkTime);
|
|
|
- //车辆表更新车辆信息
|
|
|
- //oper.UpdateVehicle(connectionStr, numberPlate, 1, realParkTime, parkingRecordsID, ppp.parkingSpaceID, 1, frontWheelbase, rearWheelbase);
|
|
|
- //插入消息队列表
|
|
|
- //oper.InsertToMessageQueue(connectionStr, userID, "停车成功", 1);
|
|
|
-
|
|
|
//事务,写入停车记录, 更新车辆信息
|
|
|
int parkingRecordsID = 0;
|
|
|
try
|
|
|
{
|
|
|
- using (MySqlConnection conn = DBConnectionPool.getPool(DBConnection.remoteConf).getConnection())
|
|
|
- //using (MySqlConnection conn = new MySqlConnection(DBConnection.remoteConf))
|
|
|
+ string insertRecordSql = "insert into parkingrecords(userID,numberPlate,parkingSpaceID,garageID,parkingRecordsState,realParkTime) values('" + userID + "','" + queueCmd.LicenseNum + "','" + ppp.parkingSpaceID + "','" + garageID + "',3,'" + realParkTime + "')";
|
|
|
+ if (!Operation.MyTransaction(EntityForCore.remoteBQ,insertRecordSql, out parkingRecordsID))
|
|
|
{
|
|
|
- Operation.TryOpen(conn);
|
|
|
- //string insertRecordSql = "insert into parkingrecords(userID,numberPlate,parkingSpaceID,garageID,parkingRecordsState,realParkTime) values('" + userID + "','" + queueCmd.LicenseNum + "','" + ppp.parkingSpaceID + "','" + garageID + "',3,'" + realParkTime + "')";
|
|
|
- string insertRecordSql = "insert into parkingrecords(userID,numberPlate,parkingSpaceID,garageID,parkingRecordsState,realParkTime) values('" + userID + "','" + queueCmd.LicenseNum + "','" + ppp.parkingSpaceID + "','" + garageID + "',3,'" + realParkTime + "')";
|
|
|
- if (!Operation.MyTransaction(conn, insertRecordSql, out parkingRecordsID))
|
|
|
- {
|
|
|
- //数据库操作失败写日志
|
|
|
- Log.WriteLog(LogType.DATABASE, "1", insertRecordSql);
|
|
|
- }
|
|
|
+ //数据库操作失败写日志
|
|
|
+ Log.WriteLog(LogType.DATABASE, "1", insertRecordSql);
|
|
|
}
|
|
|
- using (MySqlConnection conn = DBConnectionPool.getPool(DBConnection.remoteConf).getConnection())
|
|
|
- //using (MySqlConnection conn = new MySqlConnection(DBConnection.remoteConf))
|
|
|
+ int freeSpace = ParkingSpaceManager.ins.GetFreeSpaceCount();
|
|
|
+ List<string> strs = new List<string>();
|
|
|
+ string updateParkingSpaceStateSql = "update parkingspace set parkingSpaceState = 1 where parkingSpaceID = '" + ppp.parkingSpaceID + "'";
|
|
|
+ string updateFreeSpaceSql = "update garage set garageFreeSpace = '" + freeSpace + "' where garageID = '" + garageID + "'";
|
|
|
+ string updateVehicleSql = "update vehicle set vehiclepParkState = 1,scanEntryTime = '" + queueCmd.TimeRecord + "',parkingRecordsID = '" + parkingRecordsID + "',parkingSpaceID = '" + ppp.parkingSpaceID + "',vehicleTypeConfirm = 1,frontwheelbase = '" + frontWheelbase + "',rearwheelbase = '" + rearWheelbase + "' where numberPlate = '" + queueCmd.LicenseNum + "'";
|
|
|
+ strs.Add(updateParkingSpaceStateSql);
|
|
|
+ strs.Add(updateFreeSpaceSql);
|
|
|
+ strs.Add(updateVehicleSql);
|
|
|
+ int temp;
|
|
|
+ if (!Operation.MyTransaction(EntityForCore.remoteBQ,strs, out temp))
|
|
|
{
|
|
|
- Operation.TryOpen(conn);
|
|
|
- string updateVehicleSql = "update vehicle set vehiclepParkState = 1,scanEntryTime = '" + queueCmd.TimeRecord + "',parkingRecordsID = '" + parkingRecordsID + "',parkingSpaceID = '" + ppp.parkingSpaceID + "',vehicleTypeConfirm = 1,frontwheelbase = '" + frontWheelbase + "',rearwheelbase = '" + rearWheelbase + "' where numberPlate = '" + queueCmd.LicenseNum + "'";
|
|
|
- int temp;
|
|
|
- if (!Operation.MyTransaction(conn, updateVehicleSql, out temp))
|
|
|
- {
|
|
|
- //数据库操作失败写日志
|
|
|
- Log.WriteLog(LogType.DATABASE, "0", updateVehicleSql);
|
|
|
- }
|
|
|
+ //数据库操作失败写日志
|
|
|
+ Log.WriteLog(LogType.DATABASE, "0", updateParkingSpaceStateSql);
|
|
|
+ Log.WriteLog(LogType.DATABASE, "0", updateFreeSpaceSql);
|
|
|
+ Log.WriteLog(LogType.DATABASE, "0", updateVehicleSql);
|
|
|
}
|
|
|
}
|
|
|
- catch (Exception e)
|
|
|
+ catch
|
|
|
{
|
|
|
- Log.WriteLog(LogType.NOT_DATABASE, LogFile.ERROR, e.StackTrace);//数据库操作失败异常待处理
|
|
|
+ UILogServer.ins.error("停车数据库操作失败");
|
|
|
+ //throw;//数据库操作失败异常待处理
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- //插入停车记录表
|
|
|
- int parkingRecordsID = oper.InsertToLocalParkingRecords(DBConnection.localConf, 1, userID, queueCmd.LicenseNum, ppp.parkingSpaceID, garageID, 3, realParkTime, frontWheelbase, rearWheelbase);
|
|
|
+ //事务,写入停车记录, 更新车辆信息
|
|
|
+ int parkingRecordsID = 0;
|
|
|
+ try
|
|
|
+ {
|
|
|
+ string insertRecordSql = "insert into parkingrecords(userID,numberPlate,parkingSpaceID,garageID,parkingRecordsState,realParkTime) values('" + userID + "','" + queueCmd.LicenseNum + "','" + ppp.parkingSpaceID + "','" + garageID + "',3,'" + realParkTime + "')";
|
|
|
+ if (!Operation.MyTransaction(EntityForCore.remoteBQ, insertRecordSql, out parkingRecordsID))
|
|
|
+ {
|
|
|
+ //数据库操作失败写日志
|
|
|
+ Log.WriteLog(LogType.DATABASE, "1", insertRecordSql);
|
|
|
+ }
|
|
|
+ int freeSpace = ParkingSpaceManager.ins.GetFreeSpaceCount();
|
|
|
+ List<string> strs = new List<string>();
|
|
|
+ string updateParkingSpaceStateSql = "update parkingspace set parkingSpaceState = 1 where parkingSpaceID = '" + ppp.parkingSpaceID + "'";
|
|
|
+ string updateFreeSpaceSql = "update garage set garageFreeSpace = '" + freeSpace + "' where garageID = '" + garageID + "'";
|
|
|
+ string updateVehicleSql = "update vehicle set vehiclepParkState = 1,scanEntryTime = '" + queueCmd.TimeRecord + "',parkingRecordsID = '" + parkingRecordsID + "',parkingSpaceID = '" + ppp.parkingSpaceID + "',vehicleTypeConfirm = 1,frontwheelbase = '" + frontWheelbase + "',rearwheelbase = '" + rearWheelbase + "' where numberPlate = '" + queueCmd.LicenseNum + "'";
|
|
|
+ strs.Add(updateParkingSpaceStateSql);
|
|
|
+ strs.Add(updateFreeSpaceSql);
|
|
|
+ strs.Add(updateVehicleSql);
|
|
|
+ int temp;
|
|
|
+ if (!Operation.MyTransaction(EntityForCore.remoteBQ, strs, out temp))
|
|
|
+ {
|
|
|
+ //数据库操作失败写日志
|
|
|
+ Log.WriteLog(LogType.DATABASE, "0", updateParkingSpaceStateSql);
|
|
|
+ Log.WriteLog(LogType.DATABASE, "0", updateFreeSpaceSql);
|
|
|
+ Log.WriteLog(LogType.DATABASE, "0", updateVehicleSql);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch
|
|
|
+ {
|
|
|
+ UILogServer.ins.error("停车数据库操作失败");
|
|
|
+ //throw;//数据库操作失败异常待处理
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -962,13 +969,11 @@ namespace parkMonitor.server.CoreThread
|
|
|
queuingThread.SetMessage(queueCmd);
|
|
|
if (!queueCmd.manual)
|
|
|
{
|
|
|
- connectionStr = "SqlConnectionStr";
|
|
|
- oper.UpdateParkingSpaceState(connectionStr, parkingSpaceID, 0);
|
|
|
+ oper.UpdateParkingSpaceState(EntityForCore.remoteBQ, parkingSpaceID, 0);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- connectionStr = "SqlConnectionLocation";
|
|
|
- oper.UpdateParkingSpaceState(connectionStr, parkingSpaceID, 0);
|
|
|
+ oper.UpdateParkingSpaceState(EntityForCore.localBQ, parkingSpaceID, 0);
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
@@ -1008,13 +1013,11 @@ namespace parkMonitor.server.CoreThread
|
|
|
//获取车辆表中车辆相关信息
|
|
|
if (queueCmd.manual)
|
|
|
{
|
|
|
- connectionStr = DBConnection.localConf;
|
|
|
- vehiclelist = oper.GetLocalVehicle(connectionStr, queueCmd.LicenseNum, queueCmd.garageID);
|
|
|
+ //vehiclelist = oper.GetLocalVehicle(connectionStr, queueCmd.LicenseNum, queueCmd.garageID);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- connectionStr = DBConnection.remoteConf;
|
|
|
- vehiclelist = oper.GetVehicle(connectionStr, queueCmd.LicenseNum);
|
|
|
+ vehiclelist = oper.GetVehicle(EntityForCore.remoteBQ, queueCmd.LicenseNum);
|
|
|
}
|
|
|
if (vehiclelist == null)
|
|
|
{
|
|
@@ -1039,17 +1042,6 @@ namespace parkMonitor.server.CoreThread
|
|
|
frontwheelbase = vehiclelist.frontwheelbase;
|
|
|
rearwheelbase = vehiclelist.rearwheelbase;
|
|
|
queueCmd.parkingRecordsID = vehiclelist.parkingRecordsID;
|
|
|
- //获取车位表中车辆具体的车位信息
|
|
|
- //if (queueCmd.manual)
|
|
|
- //{
|
|
|
- // connectionStr = DBConnection.localStr;
|
|
|
- // ps = oper.GetFetchingSpace(connectionStr, parkingSpaceID);
|
|
|
- //}
|
|
|
- //else
|
|
|
- //{
|
|
|
- // connectionStr = DBConnection.remoteStr;
|
|
|
- // ps = oper.GetFetchingSpace(connectionStr, parkingSpaceID);
|
|
|
- //}
|
|
|
if (!ParkingSpaceManager.ins.parkingSpaceStatusMap.TryGetValue(parkingSpaceID, out ps) || ps == null)
|
|
|
{
|
|
|
EntityForCore.ins.globalStatus = false;
|
|
@@ -1138,48 +1130,54 @@ namespace parkMonitor.server.CoreThread
|
|
|
//取车事务
|
|
|
try
|
|
|
{
|
|
|
- using (MySqlConnection conn = DBConnectionPool.getPool(DBConnection.remoteConf).getConnection())
|
|
|
- //using (MySqlConnection conn = new MySqlConnection(DBConnection.remoteConf))
|
|
|
+
|
|
|
+ int temp;
|
|
|
+ List<string> strs = new List<string>();
|
|
|
+ string updateParkingSpaceStateSql = "update parkingspace set parkingSpaceState = 0 where parkingSpaceID = '" + ps.parkingSpaceID + "'";
|
|
|
+ string updateFreeSpaceSql = "update garage set garageFreeSpace = '" + freeSpaceCount + "' where garageID = '" + garageID + "'";
|
|
|
+ string updateVehicleStateSql = "update vehicle set vehiclepParkState = 0 where numberPlate = '" + queueCmd.LicenseNum + "'";
|
|
|
+ string updateParkingRecordsSql = "update parkingrecords set parkingRecordsState = 6,realGetTime = '" + queueCmd.TimeRecord + "'where parkingRecordsID = '" + queueCmd.parkingRecordsID + "'";
|
|
|
+ strs.Add(updateParkingSpaceStateSql);
|
|
|
+ strs.Add(updateFreeSpaceSql);
|
|
|
+ strs.Add(updateVehicleStateSql);
|
|
|
+ strs.Add(updateParkingRecordsSql);
|
|
|
+ if (!Operation.MyTransaction(EntityForCore.remoteBQ,strs, out temp))
|
|
|
{
|
|
|
- Operation.TryOpen(conn);
|
|
|
- int temp;
|
|
|
- List<string> strs = new List<string>();
|
|
|
- //string updateParkingSpaceStateSql = "update parkingspace set parkingSpaceState = 0 where parkingSpaceID = '" + ps.parkingSpaceID + "'";
|
|
|
- //string updateFreeSpaceSql = "update garage set garageFreeSpace = '" + freeSpaceCount + "' where garageID = '" + garageID + "'";
|
|
|
- string updateVehicleStateSql = "update vehicle set vehiclepParkState = 0 where numberPlate = '" + queueCmd.LicenseNum + "'";
|
|
|
- string updateParkingRecordsSql = "update parkingrecords set parkingRecordsState = 6,realGetTime = '" + queueCmd.TimeRecord + "'where parkingRecordsID = '" + queueCmd.parkingRecordsID + "'";
|
|
|
- //strs.Add(updateParkingSpaceStateSql);
|
|
|
- //strs.Add(updateFreeSpaceSql);
|
|
|
- strs.Add(updateVehicleStateSql);
|
|
|
- strs.Add(updateParkingRecordsSql);
|
|
|
- if (!Operation.MyTransaction(conn, strs, out temp))
|
|
|
- {
|
|
|
- Log.WriteLog(LogType.NOT_DATABASE, "数据库操作出错,记录sql语句等待流程回滚");
|
|
|
- //写日志记录sql,以待之后处理
|
|
|
- //Log.WriteLog(LogType.DATABASE, "0", updateParkingSpaceStateSql);
|
|
|
- //Log.WriteLog(LogType.DATABASE, "0", updateFreeSpaceSql);
|
|
|
- Log.WriteLog(LogType.DATABASE, "0", updateVehicleStateSql);
|
|
|
- Log.WriteLog(LogType.DATABASE, "0", updateParkingRecordsSql);
|
|
|
- }
|
|
|
+ Log.WriteLog(LogType.NOT_DATABASE, "数据库操作出错,记录sql语句等待流程回滚");
|
|
|
+ //写日志记录sql,以待之后处理
|
|
|
+ Log.WriteLog(LogType.DATABASE, "0", updateParkingSpaceStateSql);
|
|
|
+ Log.WriteLog(LogType.DATABASE, "0", updateFreeSpaceSql);
|
|
|
+ Log.WriteLog(LogType.DATABASE, "0", updateVehicleStateSql);
|
|
|
+ Log.WriteLog(LogType.DATABASE, "0", updateParkingRecordsSql);
|
|
|
}
|
|
|
}
|
|
|
- catch (Exception e)
|
|
|
+ catch
|
|
|
{
|
|
|
- Log.WriteLog(LogType.NOT_DATABASE, LogFile.ERROR, e.StackTrace);//数据库操作失败异常待处理
|
|
|
+ UILogServer.ins.error("数据库操作失败");
|
|
|
+ //throw;//数据库操作失败异常待处理
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- //更新车库表车位数
|
|
|
- //int freeSpaceCount = oper.getGarageFreeSpace(connectionStr, garageID);
|
|
|
- //freeSpaceCount = freeSpaceCount + 1;
|
|
|
- oper.UpdateGarageFreeSpace(DBConnection.localConf, freeSpaceCount, garageID);
|
|
|
- //更新车位表车位状态
|
|
|
- oper.UpdateParkingSpaceState(DBConnection.localConf, ps.parkingSpaceID, 0);
|
|
|
- ////更新车辆表车辆停车状态
|
|
|
- //locationOper.UpdateVehicleParkState(queueCmd.LicenseNum, 0);
|
|
|
- //更新停车记录表
|
|
|
- oper.UpdateParkingRecords(DBConnection.localConf, 0, 6, queueCmd.TimeRecord, queueCmd.parkingRecordsID);
|
|
|
+ int temp;
|
|
|
+ List<string> strs = new List<string>();
|
|
|
+ string updateParkingSpaceStateSql = "update parkingspace set parkingSpaceState = 0 where parkingSpaceID = '" + ps.parkingSpaceID + "'";
|
|
|
+ string updateFreeSpaceSql = "update garage set garageFreeSpace = '" + freeSpaceCount + "' where garageID = '" + garageID + "'";
|
|
|
+ string updateVehicleStateSql = "update vehicle set vehiclepParkState = 0 where numberPlate = '" + queueCmd.LicenseNum + "'";
|
|
|
+ string updateParkingRecordsSql = "update parkingrecords set parkingRecordsState = 6,realGetTime = '" + queueCmd.TimeRecord + "'where parkingRecordsID = '" + queueCmd.parkingRecordsID + "'";
|
|
|
+ strs.Add(updateParkingSpaceStateSql);
|
|
|
+ strs.Add(updateFreeSpaceSql);
|
|
|
+ strs.Add(updateVehicleStateSql);
|
|
|
+ strs.Add(updateParkingRecordsSql);
|
|
|
+ if (!Operation.MyTransaction(EntityForCore.localBQ, strs, out temp))
|
|
|
+ {
|
|
|
+ Log.WriteLog(LogType.NOT_DATABASE, "数据库操作出错,记录sql语句等待流程回滚");
|
|
|
+ //写日志记录sql,以待之后处理
|
|
|
+ Log.WriteLog(LogType.DATABASE, "0", updateParkingSpaceStateSql);
|
|
|
+ Log.WriteLog(LogType.DATABASE, "0", updateFreeSpaceSql);
|
|
|
+ Log.WriteLog(LogType.DATABASE, "0", updateVehicleStateSql);
|
|
|
+ Log.WriteLog(LogType.DATABASE, "0", updateParkingRecordsSql);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
Thread.Sleep(1000);
|
|
@@ -1196,14 +1194,14 @@ namespace parkMonitor.server.CoreThread
|
|
|
{
|
|
|
if (queueCmd.commandType == 'e')
|
|
|
{
|
|
|
- int userId = Convert.ToInt32(queueCmd.userID);
|
|
|
- //过期用户指令
|
|
|
- oper.InsertToMessageQueue(DBConnection.remoteConf, userId, "停车异常,请联系管理员!", 2);
|
|
|
- //未能停车,将车辆状态复位
|
|
|
- oper.UpdateVehicleParkState(DBConnection.remoteConf, queueCmd.LicenseNum, 0);
|
|
|
- Log.WriteLog(LogType.NOT_DATABASE, LogFile.ERROR, "过期用户指令,车牌号:" + queueCmd.LicenseNum);
|
|
|
- UILogServer.ins.error("过期用户指令,车牌号:" + queueCmd.LicenseNum);
|
|
|
- //continue;
|
|
|
+ //int userId = Convert.ToInt32(queueCmd.userID);
|
|
|
+ ////过期用户指令
|
|
|
+ //oper.InsertToMessageQueue(DBConnection.remoteConf, userId, "停车异常,请联系管理员!", 2);
|
|
|
+ ////未能停车,将车辆状态复位
|
|
|
+ //oper.UpdateVehicleParkState(DBConnection.remoteConf, queueCmd.LicenseNum, 0);
|
|
|
+ //Log.WriteLog(LogType.NOT_DATABASE, LogFile.ERROR, "过期用户指令,车牌号:" + queueCmd.LicenseNum);
|
|
|
+ //UILogServer.ins.error("过期用户指令,车牌号:" + queueCmd.LicenseNum);
|
|
|
+ ////continue;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1225,15 +1223,6 @@ namespace parkMonitor.server.CoreThread
|
|
|
if (queueCmd.commandType == 'f')
|
|
|
{
|
|
|
abstractCmd = new FetchCmd();
|
|
|
- //bool IsNumberPlateFromVehicle = oper.IsNumberPlateFromVehicle("SqlConnectionStr",queueCmd.LicenseNum);
|
|
|
- //if (IsNumberPlateFromVehicle)
|
|
|
- //{
|
|
|
- // abstractCmd = new FetchCmd();
|
|
|
- //}
|
|
|
- //else
|
|
|
- //{
|
|
|
- // Console.WriteLine(queueCmd.LicenseNum+"不在车库中");
|
|
|
- //}
|
|
|
}
|
|
|
if (queueCmd.commandType == 'e')
|
|
|
{
|