//对调度令的调度指令根据序号进行增序排列 private static int CompareOrOpByNum(OrderOp a, OrderOp b) { if (a.NUM > b.NUM) { return(1); } else if (a.NUM < b.NUM) { return(-1); } else { return(0); } }
private void OrderDeliver_Click(object sender, EventArgs e) { Order newOrder = new Order(28361019, 2020, "0149395", "正常调度令", "待下发", "2020/05/15 12:29:30", "董晓萌", "2020/05/15 12:27:30", "郝佳", "无线局调度中心", "王伟强", "2020/05/15 12:32:00", "校对人", "校对时间", "备注", "", "", "", "", "", "", "", "", 0); List <OrderOp> newOrderOp = new List <OrderOp>(); OrderOp oop1 = new OrderOp(28362023, 28361019, 2, "正常调度令", 7, 11, "2020/05/15 0:0:0", "2020/10/27 0:0:0", "08:00:00", "10:00:00", 6230, 450, 1, "369", "", "HR2/0.5/4", "1", 0, "西藏", "1234567", "", "1", "", "", "", "", "", "", "", "", "", "", ""); newOrderOp.Add(oop1); OrderOp oop2 = new OrderOp(28362024, 28361019, 1, "正常调度令", 1, 1, "2020/05/15 0:0:0", "2020/10/27 0:0:0", "08:00:00", "10:00:00", 6230, 100, 1, "313", "", "HR2/0.5/4", "1", 0, "西藏", "1234567", "", "1", "", "", "", "", "", "", "", "", "", "", ""); newOrderOp.Add(oop2); string netSimulateData_s = JsonConvert.SerializeObject(newOrderOp); //textBox1.Text = netSimulateData_s; List <OrderOp> OrderOp_r = JsonConvert.DeserializeObject <List <OrderOp> >(netSimulateData_s); //int orderOp_count = 0; MessageBox.Show(OrderOp_r.Count().ToString()); }
//选中某一调度令后显示处理函数 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; } }