yct преди 6 години
родител
ревизия
1f76487127

+ 1 - 1
parkMonitor/DataBase/IDBOperation.cs

@@ -140,7 +140,7 @@ namespace parkMonitor.DataBase
                     {
                         conn.Open();
                     }
-                    catch { }
+                    catch (Exception e) { UILogServer.ins.error(e.StackTrace); }
                 }
             }
         }

+ 63 - 62
parkMonitor/server/CoreThread/AbstractCmd.cs

@@ -203,6 +203,7 @@ namespace parkMonitor.server.CoreThread
             queueCmd.returnedCount += 1;
             queuingThread.SetMessage(queueCmd);
             //线程计数调整
+            Robot.robot1.occupied = false;
             Robot.robot1.waitCount -= 1;
             //释放激光
             if (lm != null)
@@ -226,35 +227,35 @@ 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
+                    //{
+                    //    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;          //数据库异常待处理
+                    //}
                 }
                 else
                 {
@@ -265,35 +266,35 @@ 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
+                    //{
+                    //    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;          //数据库异常待处理
+                    //}
                 }
             }
             else
@@ -896,9 +897,9 @@ namespace parkMonitor.server.CoreThread
                                 }
                             }
                         }
-                        catch
+                        catch(Exception e)
                         {
-                            throw;//数据库操作失败异常待处理
+                            Log.WriteLog(LogType.NOT_DATABASE, LogFile.ERROR, e.StackTrace);//数据库操作失败异常待处理
                         }
                     }
                     else
@@ -1165,9 +1166,9 @@ namespace parkMonitor.server.CoreThread
                                 }
                             }
                         }
-                        catch
+                        catch(Exception e)
                         {
-                            throw;//数据库操作失败异常待处理
+                            Log.WriteLog(LogType.NOT_DATABASE, LogFile.ERROR, e.StackTrace);//数据库操作失败异常待处理
                         }
                     }
                     else

+ 4 - 4
parkMonitor/server/CoreThread/CoreThreadTest2.cs

@@ -266,9 +266,9 @@ namespace parkMonitor.server.CoreThread
                         }
                     }
                 }
-                catch
+                catch(Exception e)
                 {
-                    throw;          //数据库异常待处理
+                    Log.WriteLog(LogType.NOT_DATABASE, LogFile.ERROR, e.StackTrace);        //数据库异常待处理
                 }
             }
         }
@@ -305,7 +305,7 @@ namespace parkMonitor.server.CoreThread
                         catch
                         {
                             Log.WriteLog(LogType.DATABASE, sqlStatus + ":" + sqlMsg);
-                            throw;
+                            //throw;
                         }
                     }
                     if (sqlStatus == "0")
@@ -323,7 +323,7 @@ namespace parkMonitor.server.CoreThread
                         catch
                         {
                             Log.WriteLog(LogType.DATABASE, sqlStatus + ":" + sqlMsg);
-                            throw;
+                            //throw;
                         }
                     }
                     Log.ReadLog(out sqlStatus, out sqlMsg, out count);

+ 7 - 6
parkMonitor/server/CoreThread/SpaceManager.cs

@@ -105,7 +105,7 @@ namespace parkMonitor.server.CoreThread
                         }
                     }
                     //无空闲车位则退出
-                    if(lps.Count == 0)
+                    if (lps.Count == 0)
                     {
                         return null;
                     }
@@ -268,7 +268,7 @@ namespace parkMonitor.server.CoreThread
                     }
                 }
             }
-            if (allocatedPB != null)
+            if (allocatedPB != null && allocatedPB.bufferID > 0)
             {
                 bufferList[allocatedPB.bufferID - 1].occupied = true;
                 return allocatedPB;
@@ -302,7 +302,7 @@ namespace parkMonitor.server.CoreThread
         /// <returns></returns>
         public bool CheckIfBufferExist(int bufferID)
         {
-            if (bufferList != null && bufferList.Count >= bufferID)
+            if (bufferList != null && bufferList.Count >= bufferID && bufferID > 0)
             {
                 return true;
             }
@@ -316,9 +316,9 @@ namespace parkMonitor.server.CoreThread
         {
             if (CheckIfBufferExist(parkingBufferID))
             {
-                if (bufferList[parkingBufferID-1].occupied != status)
+                if (bufferList[parkingBufferID - 1].occupied != status)
                 {
-                    bufferList[parkingBufferID-1].occupied = status;
+                    bufferList[parkingBufferID - 1].occupied = status;
                     return true;
                 }
                 else { return false; }
@@ -346,7 +346,8 @@ namespace parkMonitor.server.CoreThread
         /// 单参数构造函数
         /// </summary>
         /// <param name="bufferID"></param>
-        public ParkingBuffer(int bufferID) : this(bufferID, true)
+        public ParkingBuffer(int bufferID)
+            : this(bufferID, true)
         {
         }
         /// <summary>