DebugAgvUI.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. using ProjectManagementSystem.Common.Core;
  2. using ProjectManagementSystem.Common.Extenions;
  3. using ProjectManagementSystem.Common.Logger;
  4. using ProjectManagementSystem.Common.WebApi;
  5. using ProjectManagementSystem.Device.CommandCallback;
  6. using ProjectManagementSystem.Device.Extenions;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.ComponentModel;
  10. using System.Data;
  11. using System.Drawing;
  12. using System.Linq;
  13. using System.Text;
  14. using System.Threading.Tasks;
  15. using System.Windows.Forms;
  16. namespace ProjectManagementSystem.UI
  17. {
  18. public partial class DebugAgvUI : UserControl, IDisplayUI
  19. {
  20. public DebugAgvUI()
  21. {
  22. InitializeComponent();
  23. }
  24. public bool Init()
  25. {
  26. dataGridUI1.dataGridView1.CellClick += DataGridView1_CellClick;
  27. return true;
  28. }
  29. private void DataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
  30. {
  31. textBox1.Text = dataGridUI1.GetCurrentColValue("AgvID");
  32. }
  33. public void UpdateDisplay()
  34. {
  35. if (!this.Visible) return;
  36. var dataList = PmsApi.GetAllCarrierProp();
  37. dataGridUI1.ShowDataGrid(dataList);
  38. }
  39. private void 暂停小车ToolStripMenuItem_Click(object sender, EventArgs e)
  40. {
  41. CarrierOpreate(sender, PmsApi.CarrierPause);
  42. }
  43. private void 恢复小车ToolStripMenuItem_Click(object sender, EventArgs e)
  44. {
  45. CarrierOpreate(sender, PmsApi.CarrierResume);
  46. }
  47. private void CarrierOpreate(object sender, Predicate<int> predicate)
  48. {
  49. string agvIdString = dataGridUI1.GetCurrentColValue("AgvID");
  50. if (!int.TryParse(agvIdString, out int agvId)) return;
  51. if (agvId <= 0) return;
  52. bool result = predicate(agvId);
  53. string text = $"{agvId}#,{sender}{result.ToChineseString()}";
  54. MessageBox.Show(text, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  55. CLog.Instance.TaskLog.WriteInfo("AGV信息界面(手动操作)", text);
  56. }
  57. }
  58. }