//选中某一调度令后显示处理函数 private void tbd_lb_SelectedIndexChanged(object sender, EventArgs e) { // display order info int selectedIndex = tbd_lb.SelectedIndex; //鼠标选择的调度令的index if (selectedIndex == -1) //未选中调度令则返回 { return; } OrderInfo tmpOrIn = GlobalVarForApp.tbdOrdersInfo[selectedIndex];// //显示文号 label1.Text = "广无调单字【" + tmpOrIn.orInfo.ORDER_YEAR.ToString() + "】" + tmpOrIn.orInfo.ORDER_CODE; label2.Text = "582丁机房填表人 " + tmpOrIn.orInfo.SENDER.Trim(); label3.Text = "下发时间 " + tmpOrIn.orInfo.SEND_DATE.ToString(); //调度 指令排序 if (tmpOrIn.orderStatus_enum == orderStatus.unconfirmed) //调度令未下发状态 { if (tmpOrIn.orOp.Count > 1) { GlobalVarForApp.tbdOrdersInfo[selectedIndex].orOp.Sort(CompareOrOpByNum); } } //清空显示,重新显示 orderInfo_dgv.Rows.Clear(); OrderOp tmpOrOp = new OrderOp(); //显示所有调度指令 for (int j = 0; j < GlobalVarForApp.tbdOrdersInfo[selectedIndex].orOp.Count; j++) { tmpOrOp = tmpOrIn.orOp[j]; orderInfo_dgv.Rows.Add(1); orderInfo_dgv.Rows[j].Cells[0].Value = tmpOrOp.NUM.ToString(); //序号 if (tmpOrOp.TR_ID == 7) //机号 { orderInfo_dgv.Rows[j].Cells[1].Value = "B01"; } else { orderInfo_dgv.Rows[j].Cells[1].Value = "A0" + tmpOrOp.TR_ID.ToString(); } orderInfo_dgv.Rows[j].Cells[2].Value = tmpOrOp.POWER.ToString(); //功率 orderInfo_dgv.Rows[j].Cells[3].Value = tmpOrOp.START_TIME + "-" + tmpOrOp.END_TIME; //开始结束时间 orderInfo_dgv.Rows[j].Cells[4].Value = tmpOrOp.FREQ.ToString(); //频率 orderInfo_dgv.Rows[j].Cells[5].Value = tmpOrOp.CHANNEL.ToString(); //节目 orderInfo_dgv.Rows[j].Cells[6].Value = tmpOrOp.CHANNEL.ToString(); //通道 if (tmpOrOp.AN_ID == 11) //天线 { orderInfo_dgv.Rows[j].Cells[7].Value = "201"; } else { orderInfo_dgv.Rows[j].Cells[7].Value = (100 + tmpOrOp.AN_ID).ToString(); } orderInfo_dgv.Rows[j].Cells[8].Value = tmpOrOp.ANT_PROG.ToString(); //程式 orderInfo_dgv.Rows[j].Cells[9].Value = tmpOrOp.AZIMUTH_M; //方向 orderInfo_dgv.Rows[j].Cells[10].Value = tmpOrOp.SERV_AREA; //服务区 ????? if (tmpOrOp.OPERATE.Trim() == "1") //操作 { orderInfo_dgv.Rows[j].Cells[11].Value = "开"; } else { orderInfo_dgv.Rows[j].Cells[11].Value = "停"; } orderInfo_dgv.Rows[j].Cells[12].Value = tmpOrOp.DAYS.ToString(); //周期 //Regex dateRegex = new Regex("d{4}{-,/,\}d{2}{-,/,\}d{2}"); Regex dateReg = new Regex(@"[0-9]{4}[-/\\][0-9]{1,2}[-/\\][0-9]{1,2}"); MatchCollection dateMatch = dateReg.Matches(tmpOrOp.START_DATE); try { orderInfo_dgv.Rows[j].Cells[13].Value = dateMatch[0]; //开始时间 } catch (Exception a) { Console.WriteLine(a.Message); } dateMatch = dateReg.Matches(tmpOrOp.END_DATE.ToString()); try { orderInfo_dgv.Rows[j].Cells[14].Value = dateMatch[0]; //结束时间 } catch (Exception a) { Console.WriteLine(a.Message); } orderInfo_dgv.Rows[j].Cells[15].Value = ""; //业务 对内广播?对外广播?实验? orderInfo_dgv.Rows[j].Cells[16].Value = ""; //备注 } switch (tmpOrIn.orderStatus_enum) { case orderStatus.unconfirmed: // OrInfo_btn.Text = "确认接收"; OrInfo_btn.Enabled = true; break; /*case orderStatus.confirmed: //已接收 * OrInfo_btn.Text = "反馈执行情况"; * OrInfo_btn.Enabled = false; * break;*/ case orderStatus.noFeedbackYet: //待反馈 OrInfo_btn.Text = "反馈执行情况"; OrInfo_btn.Enabled = true; break; case orderStatus.feedback: //已反馈未确认 OrInfo_btn.Text = "已完成"; OrInfo_btn.Enabled = false; break; } }
//消息处理函数 public void messageHandle() { RSData tmp = new RSData(); while (GlobalVarForApp.receiveMessageQueue.Count > 0) //队列中有消息进行处理 { //foreach( RSData rsdData in receiveQueue) //{ // //"LOGIN_REPLY" "ADD_USER_REPLY" "DELETE_USER_REPLY" //"DOWN_ORDER" "QUERY_ORDER_REPLY" "NEW_MESSAGE" tmp = GlobalVarForApp.receiveMessageQueue.Dequeue(); switch (tmp.CommType.Trim()) { case "LOGIN_REPLY": break; case "ADD_USER_REPLY": break; case "DELETE_USER_REPLY": break; case "DOWN_ORDER": OrderInfo tmpOrInfo = new OrderInfo(); //调度令信息 //提取调度令信息 tmpOrInfo.orInfo = tmp.order; tmpOrInfo.orRc = tmp.orderRecordList; tmpOrInfo.orOp = tmp.orderOpList; tmpOrInfo.orderStatus_enum = orderStatus.unconfirmed; //设置调度令状态信息 未接收确认状态 GlobalVarForApp.tbdOrdersInfo.Add(tmpOrInfo); //添加到调度令信息 //对orInfo全局变量按调度令号进行排序 if (GlobalVarForApp.tbdOrdersInfo.Count > 1) { GlobalVarForApp.tbdOrdersInfo.Sort(CompareOrderByOrderID); } //od_dis.od_dis_show(); //新调度令显示 tbd_lb.BeginUpdate(); tbd_lb.Items.Clear(); int count = 0; foreach (OrderInfo tmpOrderInfo in GlobalVarForApp.tbdOrdersInfo) { count++; tbd_lb.Items.Add("#" + count.ToString() + "广无调单字【" + tmpOrderInfo.orInfo.ORDER_YEAR + "】" + tmpOrderInfo.orInfo.ORDER_CODE); } tbd_lb.EndUpdate(); // //接收到新调度语音提示 // break; case "QUERY_ORDER_REPLY": break; case "NEW_MESSAGE": break; default: /* 可选的 */ break; } // } } }