using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using MainForm.DbHelper; using MainForm.Models; using Newtonsoft.Json; using StandardLibrary; namespace MainForm.FaForm { public partial class Form_OrderUpd : Form { Form_Order _Form_Order; /// /// 被修改订单的订单号 /// string _WorkOrderNum = string.Empty; /// /// 当前要修改的订单的信息 /// OrderTable orderTable; SqlHelper _sqlHelper = new SqlHelper(); public Form_OrderUpd() { InitializeComponent(); } public Form_OrderUpd(Form_Order form_Order, string workOrderNum) { _Form_Order = form_Order; _WorkOrderNum = workOrderNum; InitializeComponent(); } private void Form_OrderUpd_Load(object sender, EventArgs e) { try { Cmb_Process.SelectedIndex = 0; // 查询当前订单的信息 orderTable = _sqlHelper.Queryable(it => it.WorkOrderNum == _WorkOrderNum).FirstOrDefault(); if (orderTable != null) { txtSono.Text = orderTable.WorkOrderNum; txtBatchNumber.Text = orderTable.BatchNumber; txtSupplierCode.Text = orderTable.SupplierCode; txtMtltmrk.Text = orderTable.ProductMtltmrk; txtProductNo.Text = orderTable.ProductNo; txtProductName.Text = orderTable.ProductName; txtSoreqdat.Text = orderTable.Soreqdat; numPlannedQuantity.Text = orderTable.PlannedQuantity.ToString(); txtPlnsign.Text = orderTable.Plnsign; Cmb_Process.Text = orderTable.Process; } } catch (Exception ex) { string str = ex.StackTrace; _Form_Order.AddMessage(LogType.Error, "修改订单窗体初始化失败!异常位置:" + str.Substring(str.LastIndexOf("\\") + 1, str.Length - str.LastIndexOf("\\") - 1) + ";异常信息:" + ex.Message.ToString()); MessageBox.Show("修改订单窗体初始化失败!异常信息:" + ex.Message.ToString()); } } /// /// 获取订单信息 /// private void BtnGetOrderInfo_Click(object sender, EventArgs e) { try { WorkOrderInfo workOrderInfo = HttpUitls.GetWOData(txtSono.Text.Trim()); if (workOrderInfo != null) { txtSono.Text = workOrderInfo.sono; // 车间订单号 txtBatchNumber.Text = workOrderInfo.splcode; // 批次号 txtMtltmrk.Text = workOrderInfo.mtltmrk; // 产品型号 txtProductNo.Text = workOrderInfo.prtno; // 产品代号 txtProductName.Text = workOrderInfo.prtdesc; // 产品名称 txtSoreqdat.Text = workOrderInfo.soreqdat; // 需求日期 numPlannedQuantity.Text = workOrderInfo.soporqty; // 计划数量 txtPlnsign.Text = workOrderInfo.plnsign; // 计划标记 } else { //txtSono.Text = string.Empty; // 车间订单号 txtBatchNumber.Text = string.Empty; // 批次号 txtSupplierCode.Text = string.Empty; // 供应商代码 txtMtltmrk.Text = string.Empty; // 产品型号 txtProductNo.Text = string.Empty; // 产品代号 txtProductName.Text = string.Empty; // 产品名称 txtSoreqdat.Text = string.Empty; // 需求日期 numPlannedQuantity.Text = string.Empty; // 计划数量 txtPlnsign.Text = string.Empty; // 计划标记 Cmb_Process.Text = string.Empty; // 所属流程 } } catch (Exception ex) { string str = ex.StackTrace; _Form_Order.AddMessage(LogType.Error, "获取订单信息失败!异常位置:" + str.Substring(str.LastIndexOf("\\") + 1, str.Length - str.LastIndexOf("\\") - 1) + ";异常信息:" + ex.Message.ToString()); MessageBox.Show("获取订单信息失败!异常信息:" + ex.Message.ToString()); } } /// /// 修改订单 /// private void Btn_WorkOrderConfirm_Click(object sender, EventArgs e) { try { OrderTable orderTable_New = orderTable; // 修改到表中 orderTable_New.WorkOrderNum = txtSono.Text.Trim(); // 车间订单号 orderTable_New.BatchNumber = txtBatchNumber.Text.Trim(); // 批次号 orderTable_New.ProductMtltmrk = txtMtltmrk.Text.Trim(); // 产品型号 orderTable_New.ProductNo = txtProductNo.Text.Trim(); // 产品代号 orderTable_New.ProductName = txtProductName.Text.Trim(); // 产品名称 orderTable_New.SupplierCode = txtSupplierCode.Text.Trim(); // 供应商代码 orderTable_New.PlannedQuantity = string.IsNullOrEmpty(numPlannedQuantity.Text) ? 0 : Convert.ToInt32(numPlannedQuantity.Text); // 计划数量 orderTable_New.Plnsign = txtPlnsign.Text.Trim(); // 计划标记 orderTable_New.Soreqdat = txtSoreqdat.Text.Trim(); // 需求日期 orderTable_New.Process = Cmb_Process.Text.Trim(); // 所属流程 //if (_sqlHelper.Queryable(it => it.WorkOrderNum == orderTable_New.WorkOrderNum)?.Count() > 0) //{ // MessageBox.Show("不可重复创建相同订单!"); // return; //} _sqlHelper.Update(orderTable_New); // 若是‘正在处理订单’订单则重新下发订单信息到PLC IniFile.INIWriteValue(_Form_Order.FilePath, "Product", "WorkOrderCode", orderTable_New.WorkOrderNum); IniFile.INIWriteValue(_Form_Order.FilePath, "Product", "BatchNumber", orderTable_New.BatchNumber); IniFile.INIWriteValue(_Form_Order.FilePath, "Product", "Mtltmrk", orderTable_New.ProductMtltmrk); GlobalContext.UpdateData(); // 记录修改日志 _Form_Order.AddMessage(LogType.Info, _Form_Order.currentRole + $"订单【_WorkOrderNum】被修改为[{JsonConvert.SerializeObject(orderTable_New)}];原订单信息为[{JsonConvert.SerializeObject(orderTable)}]"); MessageBox.Show("订单修改成功!"); this.Close(); } catch (Exception ex) { string str = ex.StackTrace; _Form_Order.AddMessage(LogType.Error, "订单修改成功!异常位置:" + str.Substring(str.LastIndexOf("\\") + 1, str.Length - str.LastIndexOf("\\") - 1) + ";异常信息:" + ex.Message.ToString()); MessageBox.Show("订单修改成功!异常信息:" + ex.Message.ToString()); } } } }