Kaynağa Gözat

2021 0308, wangkang parkspace message修改

wk 4 yıl önce
ebeveyn
işleme
40c5ee2562

+ 14 - 14
parkspace_allocation/parkspace_manager.cpp

@@ -260,7 +260,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverA(message::Pa
 			{
 				int room_id=all_min_parkspace_data.parkspace_info(i).parkingspace_index_id();
 				//筛选出一号车库的小型车位(第一优先级)的空车位
-				if (room_id %15 <= 8 && room_id %15 >= 1
+				if (room_id %15 <= 7 && room_id %15 >= 1
 					&& all_min_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty)
 				{
 					//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
@@ -310,7 +310,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverA(message::Pa
 				//三楼的中型车位有单独的中跑车停车  且机械臂可以直接抓车到三楼
 				int room_id=all_mid_parkspace_data.parkspace_info(i).parkingspace_index_id();
 
-				if ( room_id >= 19 && room_id <= 23)
+				if ( room_id >= 19 && room_id <= 22)
 				{
 				    //只需计算端口到车位的距离
 					// 三楼中型用时=| 目标车位到电梯的距离 - 终端到电梯的距离 | / 中跑车速度
@@ -330,7 +330,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverA(message::Pa
 					}
 				}
 				//如果是六楼的中型车位
-				if ( room_id <= 68 && room_id >=61
+				if ( room_id <= 67 && room_id >=61
 					&& all_mid_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty )
 				{
 					//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
@@ -380,7 +380,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverA(message::Pa
 			{
 				int room_id=all_big_parkspace_data.parkspace_info(i).parkingspace_index_id();
 				//筛选出一号车库的大型车位
-				if ( room_id%15 <= 8 && room_id %15 >=1
+				if ( room_id%15 <= 7 && room_id %15 >=1
 					 && all_big_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty )
 				{
 					//如果是二楼车 则特殊处理
@@ -459,7 +459,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverA(message::Pa
 				int room_id=all_min_parkspace_data.parkspace_info(i).parkingspace_index_id();
 
 				//筛选出一号车库的小型车位(第一优先级)的空车位
-				if (room_id  <= 165 && room_id  >= 54
+				if (room_id  <= 165 && room_id  >= 53
 					&& all_min_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty)
 				{
 					//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
@@ -505,7 +505,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverA(message::Pa
 				int room_id=all_mid_parkspace_data.parkspace_info(i).parkingspace_index_id();
 
 				//三楼的中型车位有单独的中跑车停车  且机械臂可以直接抓车到三楼
-				if ( room_id >= 24 && room_id <= 27 )
+				if ( room_id >= 23 && room_id <= 27 )
 				{
 					//只需计算端口到车位的距离
 					// 三楼中型车位用时=| 目标车位到电梯的距离 - 终端到电梯的距离 | / 中跑车速度
@@ -524,7 +524,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverA(message::Pa
 						}
 					}
 				}
-				if ( room_id <= 75 && room_id >= 69
+				if ( room_id <= 75 && room_id >= 68
 					 && all_mid_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty )
 				{
 					//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
@@ -571,7 +571,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverA(message::Pa
 				int room_id=all_big_parkspace_data.parkspace_info(i).parkingspace_index_id();
 
 				//筛选出二号车库的大型车位的空车位
-				if ( room_id %15 >=9 && room_id %15 <=14 || room_id %15 == 0
+				if ( room_id %15 >=8 && room_id %15 <=14 || room_id %15 == 0
 					&& all_big_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty )
 				{
 					//如果是二楼车 则特殊处理
@@ -664,7 +664,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB1(message::P
 		{
 			int room_id=all_min_parkspace_data.parkspace_info(i).parkingspace_index_id();
 			//筛选出小型车位的中间部分(第一优先级)的空车位
-			if (room_id % 15 <= 8 && room_id % 15 >= 4
+			if (room_id % 15 <= 7 && room_id % 15 >= 4
 				&& all_min_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty)
 			{
 				//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
@@ -748,7 +748,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB1(message::P
 			int room_id=all_mid_parkspace_data.parkspace_info(i).parkingspace_index_id();
 
 			//如果是六楼的中型车位的中间部分(第一优先级)
-			if ( room_id >=64 && room_id <= 68
+			if ( room_id >=64 && room_id <= 67
 				 && all_mid_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty )
 			{
 				//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
@@ -835,7 +835,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB1(message::P
 			int room_id=all_big_parkspace_data.parkspace_info(i).parkingspace_index_id();
 
 			//筛选出一号车库的小型车位的靠近电梯的左侧三排(第二优先级)的空车位
-			if ( room_id %15 == 1 || room_id %15 == 2 || room_id %15 == 3 || room_id>=34 && room_id<=38
+			if ( room_id %15 == 1 || room_id %15 == 2 || room_id %15 == 3 || room_id>=34 && room_id<=37
 				 && all_big_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty )
 			{
 				//如果是二楼车 则特殊处理
@@ -927,7 +927,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB2(message::P
 		{
 			int room_id=all_min_parkspace_data.parkspace_info(i).parkingspace_index_id();
 			//筛选出小型车位的中间部分(第一优先级)的空车位
-			if (room_id % 15 >= 9 && room_id % 15 <= 12
+			if (room_id % 15 >= 8 && room_id % 15 <= 12
 				&& all_min_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty)
 			{
 				//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
@@ -1012,7 +1012,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB2(message::P
 			int room_id=all_mid_parkspace_data.parkspace_info(i).parkingspace_index_id();
 
 			//如果是六楼的中型车位的中间部分(第一优先级)
-			if ( room_id >= 69 && room_id <= 72
+			if ( room_id >= 68 && room_id <= 72
 				 && all_mid_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty )
 			{
 				//用时=目标终端到电梯口的距离/中跑车速度+(目标车位楼层-2)*楼层高度/电梯速度+电梯口到目标车位的距离/中跑车速度
@@ -1099,7 +1099,7 @@ Error_manager Parkspace_manager::query_the_optimal_parkspace_serverB2(message::P
 			int room_id=all_big_parkspace_data.parkspace_info(i).parkingspace_index_id();
 
 			//筛选出大型车位的靠近电梯的右侧三排(第二优先级)的空车位
-			if ( room_id %15 == 13 || room_id %15 == 14 || room_id %15 == 0|| room_id>=39 && room_id<=42
+			if ( room_id %15 == 13 || room_id %15 == 14 || room_id %15 == 0|| room_id>=38 && room_id<=42
 				 && all_big_parkspace_data.parkspace_info(i).parkingspace_status() == message::Parkspace_status::eParkspace_empty )
 			{
 				//如果是二楼车 则特殊处理

+ 1 - 1
parkspace_allocation/parkspace_manager.h

@@ -104,7 +104,7 @@ public://execute_msg创建各线程进行处理
 private:
 	Parkspace_manager_satus 		m_parkspace_manager_satus;      //分配器当前状态
 	Thread_pool 					m_thread_pool;					//执行多任务的线程池
-	Parkspace_operating_function 	m_parkspace_operating_function;//数据库操作函数
+	Parkspace_operating_function 	m_parkspace_operating_function;	//数据库操作函数
 	std::mutex						m_parkspace_lock;				//车位操作锁
 };