Quellcode durchsuchen

2022/12/11 终端改为永久队列接收反馈

wk vor 2 Jahren
Ursprung
Commit
7655b77ab2

+ 1 - 1
指令入队节点/node.py

@@ -39,7 +39,7 @@ def command_enqueue_callback(table):
     else:
         cmd=message.pick_table()
         tf.Parse(table,cmd)
-        response_port="pick_response_port"
+        response_port="pick_response_%d_port"%(cmd.terminal_id)
 
     if cmd.statu.execute_statu==message.eNormal:
         #指令入队正常

+ 22 - 16
终端/ct_terminal/ct_terminal/MainForm.cs

@@ -53,7 +53,7 @@ namespace ct_terminal
         //停车指令反馈
         private TimedData<string> m_park_command_response = new TimedData<string>("");
         //取车指令反馈
-        private string m_pick_key = "";
+
         private TimedData<string> m_pick_command_response = new TimedData<string>("");
         private Process m_process = null;
 
@@ -73,26 +73,30 @@ namespace ct_terminal
             m_rabbitmq_ex_name = json_file_operation.Instance.read_json_string("RabbitMQ_ex_name");
 
 
-            //初始化打印机
-            PrintManual.Instance.PrintManualInit();
             //初始化播放器
             m_mediaPlayer.MediaPlayerInit(this, ref this.ImagePictureBox, ref this.vlcControl1, ref this.time_label, ref this.date_label_1, ref this.date_label_2);
+            //初始化发送指令
+            m_producer.producer_init(m_rabbitmq_ip, m_rabbitmq_port, m_rabbitmq_user, m_rabbitmq_password);
+            ////初始化消费指令
+            string t_pick_queue_key = "pick_response_" + m_ternimalID.ToString() + "_queue";
+            m_pick_consumer.consumer_init(m_rabbitmq_ip, m_rabbitmq_port, m_rabbitmq_user, m_rabbitmq_password, t_pick_queue_key, pick_response_thread);
+
+            //this.parkingBtn.BackgroundImage = Image.FromFile(System.AppDomain.CurrentDomain.BaseDirectory + "./Resource/" + "parkingBtn_gray.BackgroundImage.png");
+            //this.parkingBtn.Enabled = false;
+
             //获取号牌线程
             m_car_number = new NumMachine.NumMachineLinker();
             m_car_number_condition = true;
             m_car_number_thread = new Thread(get_car_number_thread);
 
-            //初始化发送指令
-            m_producer.producer_init(m_rabbitmq_ip, m_rabbitmq_port, m_rabbitmq_user, m_rabbitmq_password);
+            //初始化打印机
+            PrintManual.Instance.PrintManualInit();
+
             //初始化消费指令
             string t_park_queue_key = "park_response_" + m_ternimalID.ToString() + "_queue";
             m_park_consumer.consumer_init(m_rabbitmq_ip, m_rabbitmq_port, m_rabbitmq_user, m_rabbitmq_password, t_park_queue_key, park_response_thread);
-            //初始化消费指令
-            string t_pick_queue_key = "pick_response_" + m_ternimalID.ToString() + "_queue";
-            m_pick_consumer.consumer_init(m_rabbitmq_ip, m_rabbitmq_port, m_rabbitmq_user, m_rabbitmq_password, t_pick_queue_key, pick_response_thread);
 
-            //this.parkingBtn.BackgroundImage = Image.FromFile(System.AppDomain.CurrentDomain.BaseDirectory + "./Resource/" + "parkingBtn_gray.BackgroundImage.png");
-            //this.parkingBtn.Enabled = false;
+
         }
         private void MainForm_Load(object sender, EventArgs e)
         {
@@ -107,15 +111,17 @@ namespace ct_terminal
 
             //启动播放器
             m_mediaPlayer.mediaplayer_run();
+
+            //启动接受反馈
+            m_pick_consumer.run();
+
             //启动号牌机
             m_car_number.Start();
             m_car_number_thread.Start();
             //启动打印机
             PrintManual.Instance.Start();
-            //启动接受反馈
-            m_park_consumer.run();
-            m_pick_consumer.run();
 
+            m_park_consumer.run();
             //启动子程序
             Process[] myprocess = Process.GetProcessesByName("UnNomalized_node");
             if (myprocess.Count() == 0)
@@ -239,9 +245,10 @@ namespace ct_terminal
             pick_Table.Statu = new table_statu();
             pick_Table.Statu.ExecuteStatu = STATU.ENormal;
             pick_Table.Statu.StatuDescription = "正常";
-            pick_Table.TerminalId = m_ternimalID;
             pick_Table.PrimaryKey = fetchingFrom.m_key;
-            m_pick_key = fetchingFrom.m_key;
+            pick_Table.TerminalId = m_ternimalID;
+
+
             m_pick_command_response = "";
             if (m_producer.send(pick_Table.ToText(), "command_ex", "user_command_port") == false)
             {
@@ -277,7 +284,6 @@ namespace ct_terminal
                 MessageBoxEe messageBoxEe = new MessageBoxEe();
                 messageBoxEe.Show("反馈超时,请联系管理员!");
             }
-            m_pick_key = "";
             m_pick_command_response = "";
             this.pickupBtn.BackgroundImage = Image.FromFile(System.AppDomain.CurrentDomain.BaseDirectory + "./Resource/" + "fetchingBtn.BackgroundImage.png");
             this.pickupBtn.Enabled = true;

+ 1 - 1
终端/ct_terminal/ct_terminal/Message.cs

@@ -1893,7 +1893,7 @@ public sealed partial class pick_table : pb::IMessage<pick_table>
   public string PrimaryKey {
     get { return primaryKey_; }
     set {
-      //primaryKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+      primaryKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
     }
   }