Form_OrderUpd.cs 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Windows.Forms;
  8. using MainForm.DbHelper;
  9. using MainForm.Models;
  10. using Newtonsoft.Json;
  11. using StandardLibrary;
  12. namespace MainForm.FaForm
  13. {
  14. public partial class Form_OrderUpd : Form
  15. {
  16. Form_Order _Form_Order;
  17. /// <summary>
  18. /// 被修改订单的订单号
  19. /// </summary>
  20. string _WorkOrderNum = string.Empty;
  21. /// <summary>
  22. /// 当前要修改的订单的信息
  23. /// </summary>
  24. OrderTable orderTable;
  25. SqlHelper _sqlHelper = new SqlHelper();
  26. public Form_OrderUpd()
  27. {
  28. InitializeComponent();
  29. }
  30. public Form_OrderUpd(Form_Order form_Order, string workOrderNum)
  31. {
  32. _Form_Order = form_Order;
  33. _WorkOrderNum = workOrderNum;
  34. InitializeComponent();
  35. }
  36. private void Form_OrderUpd_Load(object sender, EventArgs e)
  37. {
  38. try
  39. {
  40. Cmb_Process.SelectedIndex = 0;
  41. // 查询当前订单的信息
  42. orderTable = _sqlHelper.Queryable<OrderTable>(it => it.WorkOrderNum == _WorkOrderNum).FirstOrDefault();
  43. if (orderTable != null)
  44. {
  45. txtSono.Text = orderTable.WorkOrderNum;
  46. txtBatchNumber.Text = orderTable.BatchNumber;
  47. txtSupplierCode.Text = orderTable.SupplierCode;
  48. txtMtltmrk.Text = orderTable.ProductMtltmrk;
  49. txtProductNo.Text = orderTable.ProductNo;
  50. txtProductName.Text = orderTable.ProductName;
  51. txtSoreqdat.Text = orderTable.Soreqdat;
  52. numPlannedQuantity.Text = orderTable.PlannedQuantity.ToString();
  53. txtPlnsign.Text = orderTable.Plnsign;
  54. Cmb_Process.Text = orderTable.Process;
  55. }
  56. }
  57. catch (Exception ex)
  58. {
  59. string str = ex.StackTrace;
  60. _Form_Order.AddMessage(LogType.Error, "修改订单窗体初始化失败!异常位置:" + str.Substring(str.LastIndexOf("\\") + 1, str.Length - str.LastIndexOf("\\") - 1) + ";异常信息:" + ex.Message.ToString());
  61. MessageBox.Show("修改订单窗体初始化失败!异常信息:" + ex.Message.ToString());
  62. }
  63. }
  64. /// <summary>
  65. /// 获取订单信息
  66. /// </summary>
  67. private void BtnGetOrderInfo_Click(object sender, EventArgs e)
  68. {
  69. try
  70. {
  71. WorkOrderInfo workOrderInfo = HttpUitls.GetWOData(txtSono.Text.Trim());
  72. if (workOrderInfo != null)
  73. {
  74. txtSono.Text = workOrderInfo.sono; // 车间订单号
  75. txtBatchNumber.Text = workOrderInfo.splcode; // 批次号
  76. txtMtltmrk.Text = workOrderInfo.mtltmrk; // 产品型号
  77. txtProductNo.Text = workOrderInfo.prtno; // 产品代号
  78. txtProductName.Text = workOrderInfo.prtdesc; // 产品名称
  79. txtSoreqdat.Text = workOrderInfo.soreqdat; // 需求日期
  80. numPlannedQuantity.Text = workOrderInfo.soporqty; // 计划数量
  81. txtPlnsign.Text = workOrderInfo.plnsign; // 计划标记
  82. }
  83. else
  84. {
  85. //txtSono.Text = string.Empty; // 车间订单号
  86. txtBatchNumber.Text = string.Empty; // 批次号
  87. txtSupplierCode.Text = string.Empty; // 供应商代码
  88. txtMtltmrk.Text = string.Empty; // 产品型号
  89. txtProductNo.Text = string.Empty; // 产品代号
  90. txtProductName.Text = string.Empty; // 产品名称
  91. txtSoreqdat.Text = string.Empty; // 需求日期
  92. numPlannedQuantity.Text = string.Empty; // 计划数量
  93. txtPlnsign.Text = string.Empty; // 计划标记
  94. Cmb_Process.Text = string.Empty; // 所属流程
  95. }
  96. }
  97. catch (Exception ex)
  98. {
  99. string str = ex.StackTrace;
  100. _Form_Order.AddMessage(LogType.Error, "获取订单信息失败!异常位置:" + str.Substring(str.LastIndexOf("\\") + 1, str.Length - str.LastIndexOf("\\") - 1) + ";异常信息:" + ex.Message.ToString());
  101. MessageBox.Show("获取订单信息失败!异常信息:" + ex.Message.ToString());
  102. }
  103. }
  104. /// <summary>
  105. /// 修改订单
  106. /// </summary>
  107. private void Btn_WorkOrderConfirm_Click(object sender, EventArgs e)
  108. {
  109. try
  110. {
  111. OrderTable orderTable_New = orderTable;
  112. // 修改到表中
  113. orderTable_New.WorkOrderNum = txtSono.Text.Trim(); // 车间订单号
  114. orderTable_New.BatchNumber = txtBatchNumber.Text.Trim(); // 批次号
  115. orderTable_New.ProductMtltmrk = txtMtltmrk.Text.Trim(); // 产品型号
  116. orderTable_New.ProductNo = txtProductNo.Text.Trim(); // 产品代号
  117. orderTable_New.ProductName = txtProductName.Text.Trim(); // 产品名称
  118. orderTable_New.SupplierCode = txtSupplierCode.Text.Trim(); // 供应商代码
  119. orderTable_New.PlannedQuantity = string.IsNullOrEmpty(numPlannedQuantity.Text) ? 0 : Convert.ToInt32(numPlannedQuantity.Text); // 计划数量
  120. orderTable_New.Plnsign = txtPlnsign.Text.Trim(); // 计划标记
  121. orderTable_New.Soreqdat = txtSoreqdat.Text.Trim(); // 需求日期
  122. orderTable_New.Process = Cmb_Process.Text.Trim(); // 所属流程
  123. //if (_sqlHelper.Queryable<OrderTable>(it => it.WorkOrderNum == orderTable_New.WorkOrderNum)?.Count() > 0)
  124. //{
  125. // MessageBox.Show("不可重复创建相同订单!");
  126. // return;
  127. //}
  128. _sqlHelper.Update<OrderTable>(orderTable_New);
  129. // 若是‘正在处理订单’订单则重新下发订单信息到PLC
  130. IniFile.INIWriteValue(_Form_Order.FilePath, "Product", "WorkOrderCode", orderTable_New.WorkOrderNum);
  131. IniFile.INIWriteValue(_Form_Order.FilePath, "Product", "BatchNumber", orderTable_New.BatchNumber);
  132. IniFile.INIWriteValue(_Form_Order.FilePath, "Product", "Mtltmrk", orderTable_New.ProductMtltmrk);
  133. GlobalContext.UpdateData();
  134. // 记录修改日志
  135. _Form_Order.AddMessage(LogType.Info, _Form_Order.currentRole + $"订单【_WorkOrderNum】被修改为[{JsonConvert.SerializeObject(orderTable_New)}];原订单信息为[{JsonConvert.SerializeObject(orderTable)}]");
  136. MessageBox.Show("订单修改成功!");
  137. this.Close();
  138. }
  139. catch (Exception ex)
  140. {
  141. string str = ex.StackTrace;
  142. _Form_Order.AddMessage(LogType.Error, "订单修改成功!异常位置:" + str.Substring(str.LastIndexOf("\\") + 1, str.Length - str.LastIndexOf("\\") - 1) + ";异常信息:" + ex.Message.ToString());
  143. MessageBox.Show("订单修改成功!异常信息:" + ex.Message.ToString());
  144. }
  145. }
  146. }
  147. }