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());
}
}
}
}