kingwang1995 7 years ago
parent
commit
c9aa3d3a6c

+ 4 - 4
parkMonitor/DB/DBOperation.cs

@@ -301,7 +301,7 @@ namespace parkMonitor.DB
             return garageFreeSpace;
         }
 
-        //更新车表剩余车位数
+        //更新车表剩余车位数
         public void UpdateGarageFreeSpace(int garageFreeSpace,int garageID)
         {
             string sql = "update garage set garageFreeSpace = '" + garageFreeSpace + "' where garageID = '" + garageID + "'";
@@ -466,12 +466,12 @@ namespace parkMonitor.DB
             return v;
         }
 
-        //根据车库id和车位id获得x,y,z
-        public Fetching_Space GetFetchingSpace(int parkingSpaceID, int garageID)
+        //根据车位id获得x,y,z
+        public Fetching_Space GetFetchingSpace(int parkingSpaceID)
         {
             Fetching_Space fs = new Fetching_Space();
             MySqlDataReader reader;
-            string sql = "select * from vehicle where parkingSpaceID = '" + parkingSpaceID + "',garageID='" + garageID + "'";
+            string sql = "select * from vehicle where parkingSpaceID = '" + parkingSpaceID+" '";
             con = oper.getConn();
             try
             {

+ 4 - 0
parkMonitor/entity/AbstractMessage.cs

@@ -14,6 +14,7 @@ namespace parkMonitor.entity
         public string context { set; get; }
         public string sender { set; get; }
         public string receiver { set; get; }
+        public int parkingRecordsID { set; get; }
         public int garageID { get; set; }
 
         public MessageUTF8()
@@ -237,6 +238,7 @@ namespace parkMonitor.entity
         public string LicenseNum;
         public string userID;
         public int garageID;
+        public int parkingRecordsID;
         public string TimeRecord;
 
         public Command()
@@ -245,6 +247,7 @@ namespace parkMonitor.entity
             TimeRecord = "";
             userID = "";
             garageID = 0;
+            parkingRecordsID = 0;
             TimeRecord = "";
         }
 
@@ -255,6 +258,7 @@ namespace parkMonitor.entity
             cmdClone.LicenseNum = LicenseNum;
             cmdClone.userID = userID;
             cmdClone.garageID = garageID;
+            cmdClone.parkingRecordsID = parkingRecordsID;
             cmdClone.TimeRecord = TimeRecord;
             return cmdClone;
         }

+ 11 - 2
parkMonitor/server/CoreThread/CoreThreadTest.cs

@@ -159,7 +159,7 @@ namespace parkMonitor.server.CoreThread
                     Vehicle vehiclelist = oper.GetVehicle(queueCmd.LicenseNum);
                     int parkingSpaceID = vehiclelist.parkingSpaceID;
                     int garageID = vehiclelist.garageID;
-                    Fetching_Space fslist = oper.GetFetchingSpace(parkingSpaceID, garageID);
+                    Fetching_Space fslist = oper.GetFetchingSpace(parkingSpaceID);
                     int parkingSpaceX = fslist.parkingSpaceX;
                     int parkingSpaceY = fslist.parkingSpaceY;
                     int parkingSpaceZ = fslist.parkingSpaceZ;
@@ -171,7 +171,7 @@ namespace parkMonitor.server.CoreThread
                     pm.parkingSpaceY = Convert.ToString(parkingSpaceY);
                     pm.parkingSpaceZ = Convert.ToString(parkingSpaceZ);
                     PLC.SetMessage(pm);
-                    Console.WriteLine("取车" + queueCmd.LicenseNum);
+                    Console.WriteLine("取车" + queueCmd.LicenseNum);                  
                     //PLC.SetMessage(new PLCNode(startRobot_address, Convert.ToString(startRobot)));
                     //PLC.SetMessage(new PLCNode(parkingSpaceID_address, Convert.ToString(parkingSpaceID)));
                     //PLC.SetMessage(new PLCNode(parkingSpaceX_address, Convert.ToString(parkingSpaceX)));
@@ -198,6 +198,15 @@ namespace parkMonitor.server.CoreThread
                     //Task.WaitAll(signalFromPLC);
                     signalFromPLC.Wait();
                     //数据库更新
+                    //更新车库表车位数
+                    int freeSpaceCount = oper.getGarageFreeSpace(garageID);
+                    freeSpaceCount = freeSpaceCount + 1;
+                    oper.UpdateGarageFreeSpace(freeSpaceCount, garageID);
+                    //更新车位表车位状态
+                    oper.UpdateParkingSpaceState(parkingSpaceID,0);
+                    //更新车辆表车辆停车状态
+                    oper.UpdateVehicleParkState(queueCmd.LicenseNum, 0);
+                    //更新停车记录表
                 }
 
                 if (queueCmd.commandType == 's')