You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
652 lines
27 KiB
C#
652 lines
27 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Threading;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Input;
|
|
using System.Windows.Media;
|
|
using System.Windows.Threading;
|
|
using Masuit.Tools.Logging;
|
|
using Microsoft.Extensions.Hosting;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Khd.Core.EntityFramework;
|
|
using Khd.Core.Plc.S7;
|
|
using Thrift.Server;
|
|
using Thrift.Transport;
|
|
using ThriftService;
|
|
using Thrift.Protocol;
|
|
using Khd.Core.Domain.Models;
|
|
using Z.EntityFramework.Plus;
|
|
using OfficeOpenXml;
|
|
using Microsoft.Win32;
|
|
using System.IO;
|
|
using System.Windows;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using System.Text.RegularExpressions;
|
|
using System.Net.Http;
|
|
using System.Net.Http.Json;
|
|
using Khd.Core.Domain.Dto.webapi;
|
|
using Newtonsoft.Json;
|
|
using HandyControl.Tools.Extension;
|
|
|
|
namespace Khd.Core.Wpf.Form
|
|
{
|
|
/// <summary>
|
|
/// FormBoardT.xaml 的交互逻辑
|
|
/// </summary>
|
|
public partial class FormBoardT : Window
|
|
{
|
|
private readonly IHost _host;
|
|
private Khd.Core.Plc.S7.Plc _plc;
|
|
private DispatcherTimer ShowTimer;//刷新时间
|
|
private DispatcherTimer PLCMessage;//呈现PLC机柜信息
|
|
private DispatcherTimer UPMessageTimer;//刷新上件记录
|
|
private DispatcherTimer ShowOrderMessage;//呈现PLC机柜信息
|
|
private object order_code;
|
|
private int UpState;//对应上件站点的状态,0为良好 1为损坏
|
|
List<BasePlcpoint> basePlcpoints = new List<BasePlcpoint>();
|
|
object timerjilu;
|
|
public class selectOrderData
|
|
{
|
|
public string Id { get; set; }
|
|
public string orderCode { get; set; }
|
|
}
|
|
private string selectedId;
|
|
//FormShowSelect formSelect;
|
|
// public static int WeekNo = CommonHelper.WeekOfYear(DateTime.Now, new System.Globalization.CultureInfo("zh-CN"));
|
|
public FormBoardT(IHost host)
|
|
{
|
|
InitializeComponent();
|
|
this._host = host;
|
|
}
|
|
/// <summary>
|
|
/// 页面加载事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void FormBoard_Loaded(object sender, RoutedEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
LogManager.Info($"--------------------------当前时间 :{DateTime.Now} >>> 客户端启动;");
|
|
//设置显示任务栏
|
|
if (WindowState == WindowState.Normal)
|
|
{
|
|
MaxHeight = SystemParameters.MaximizedPrimaryScreenHeight;
|
|
WindowState = WindowState.Maximized;
|
|
}
|
|
//加载dategrid信息
|
|
//LoadMaterial_GetMessage("");
|
|
//连接PLC判断
|
|
// var plc = new Khd.Core.Plc.S7.Plc((CpuType)PlcConfig.CpuType, PlcConfig.IP, PlcConfig.Port,
|
|
// PlcConfig.Rack, PlcConfig.Slot);
|
|
// //plc.Open();
|
|
// //if (!plc.IsConnected)
|
|
// //{
|
|
// // MessageBox.Show("PLC连接失败,重新连接");
|
|
// //}
|
|
// //else
|
|
// //{
|
|
// // this._plc = plc;
|
|
// //}
|
|
|
|
// using var scope = _host.Services.CreateScope();
|
|
// using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>();
|
|
// basePlcpoints = dbContext.BasePlcpoint.Where(t => t.isDelete == 0).ToList();
|
|
// //var baseMaterials = dbContext.BaseMaterial.Where(t => t.IsDelete == 0).ToList();
|
|
////
|
|
|
|
// PLCMessage = new DispatcherTimer();
|
|
// PLCMessage.Tick += new EventHandler(PLCmessage); //委托获取点位方法
|
|
// PLCMessage.Interval = new TimeSpan(0, 0, 0, 0, 1000);
|
|
// PLCMessage.Start();
|
|
|
|
// UPMessageTimer = new DispatcherTimer();
|
|
// UPMessageTimer.Tick += new EventHandler(UpMessage); //委托刷新上件记录
|
|
// UPMessageTimer.Interval = new TimeSpan(0, 0, 0, 0, 2000);
|
|
// UPMessageTimer.Start();
|
|
// Button_Click_1(null, null);
|
|
// SetTime();
|
|
// List<string> list = new List<string>
|
|
// {
|
|
// "101上件点",
|
|
// "102上件点",
|
|
// "103上件点"
|
|
// };
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 刷新日期
|
|
/// </summary>
|
|
private void SetTime()
|
|
{
|
|
new Thread(() =>
|
|
{
|
|
while (true)
|
|
{
|
|
try
|
|
{
|
|
Dispatcher.Invoke(new Action(delegate
|
|
{
|
|
LabDate.Content = DateTime.Now.ToString("yyyy年MM月dd日");
|
|
LabTime.Content = DateTime.Now.ToString("HH:mm:ss");
|
|
}));
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
}
|
|
finally
|
|
{
|
|
Thread.Sleep(1000);
|
|
}
|
|
}
|
|
}).Start();
|
|
}
|
|
public void UpMessage(object sender, EventArgs e)
|
|
{
|
|
MoHuChaXunWuLiaoName_SelectionChanged(timerjilu, null);
|
|
}
|
|
/// <summary>
|
|
/// WCS通讯方法
|
|
/// </summary>
|
|
public void StartThriftServer()
|
|
{
|
|
try
|
|
{
|
|
int point = Convert.ToInt32(ThriftConfig.JiesShouDuanKou);
|
|
WcsServer wcsServer = new WcsServer();
|
|
//wcsServer.SendCarEvent += SendCar;
|
|
// wcsServer.helloEvent += hello;
|
|
WcsThrift.Processor processor = new WcsThrift.Processor(wcsServer);
|
|
TServerTransport serverTransport = new TServerSocket(point);
|
|
TServer server = new TSimpleServer(processor, serverTransport);
|
|
server.Serve();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Application.Current.Dispatcher.Invoke(new Action(
|
|
delegate
|
|
{
|
|
//设置图片为未到位
|
|
|
|
}));
|
|
LogManager.Error(ex);
|
|
}
|
|
|
|
}
|
|
public string hello(string name)
|
|
{
|
|
//Console.WriteLine($"hello {name}");
|
|
//return $"ServerResponse receive from client name:{name}";
|
|
try
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(name))
|
|
{
|
|
Application.Current.Dispatcher.Invoke(new Action(
|
|
delegate
|
|
{
|
|
//设置图片为已到位、显示挂具号
|
|
|
|
}));
|
|
}
|
|
else
|
|
{
|
|
Application.Current.Dispatcher.Invoke(new Action(
|
|
delegate
|
|
{
|
|
|
|
}));
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogManager.Info($"客户端接收服务端推送的小车信息方法报错 >>> {ex.Message}");
|
|
}
|
|
return "";
|
|
}
|
|
|
|
/// <summary>
|
|
/// 发车方法
|
|
///
|
|
/// </summary>
|
|
/// <param name="carlist"></param>
|
|
/// <param name="prodCode">物料号</param>
|
|
/// <param name="amount">三轮车辆长度</param>
|
|
public void SendCar(List<string> carlist, string prodCode, string bunber,string ordercodeid)
|
|
{
|
|
TTransport transport = new TSocket(ThriftConfig.ThriftIpAddress, ThriftConfig.TuiSongDuankou);
|
|
try
|
|
{
|
|
//Console.WriteLine($"hello carlist[0]:{carlist.FirstOrDefault()}|order_code:{order_code}|amount:{amount}");
|
|
//return $"ServerResponse receive from client order_code:{order_code}";
|
|
transport.Open();
|
|
TProtocol protocol = new TBinaryProtocol(transport);
|
|
WcsThrift.Client client = new WcsThrift.Client(protocol);
|
|
// var ret = client.SendCar(carlist, prodCode, bunber, ordercodeid);
|
|
if ("1" == "1")//与服务端交互成功发车时
|
|
{
|
|
Application.Current.Dispatcher.Invoke(new Action(
|
|
delegate
|
|
{
|
|
//发车成功提示反馈
|
|
this.lba_ThrifTtitle.Foreground = new SolidColorBrush(Colors.Green);
|
|
this.lba_ThrifTtitle.Text = "发车成功!";
|
|
|
|
}));
|
|
}
|
|
|
|
else//与服务端交互失败时
|
|
{
|
|
|
|
Application.Current.Dispatcher.Invoke(new Action(
|
|
delegate
|
|
{
|
|
this.lba_ThrifTtitle.Foreground = new SolidColorBrush(Colors.Red);
|
|
this.lba_ThrifTtitle.Text = $"Thrift交互失败!";
|
|
|
|
}));
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogManager.Info($"发车方法报错 >>> {ex.Message}");
|
|
}
|
|
finally
|
|
{
|
|
transport.Close();
|
|
transport.Dispose();
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 显示序号事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void dgData_LoadingRow(object sender, DataGridRowEventArgs e)
|
|
{ e.Row.Header = e.Row.GetIndex() + 1; }
|
|
/// <summary>
|
|
/// 点击退出按钮
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void btnExit_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
if (MessageBox.Show("是否确认关闭程序", "提示信息", MessageBoxButton.YesNo, MessageBoxImage.Information) == MessageBoxResult.Yes)
|
|
{
|
|
System.Environment.Exit(System.Environment.ExitCode);
|
|
}
|
|
}
|
|
private void Close(object sender, EventArgs e)
|
|
{
|
|
System.Environment.Exit(System.Environment.ExitCode);
|
|
}
|
|
public int i = 0;
|
|
/// <summary>
|
|
/// 电气机柜信息面板定时器调用方法
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void PLCmessage(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (i == 1000)
|
|
{
|
|
i = 0;
|
|
}
|
|
foreach (var item in basePlcpoints)
|
|
{
|
|
//通过名称找到TextBox
|
|
TextBox FoundTextBox = (TextBox)FindName(item.plcpointNo);
|
|
if (FoundTextBox == null)
|
|
{
|
|
continue;
|
|
}
|
|
string value = i.ToString();
|
|
//string value = _plc.Read(item.plcpointAddress).ToString();
|
|
//if (value.IsNullOrEmpty())
|
|
//{
|
|
// continue;
|
|
//}
|
|
//if (FoundTextBox.IsFocused == true)
|
|
//{
|
|
// continue;
|
|
//}
|
|
FoundTextBox.Text = value;
|
|
i++;
|
|
LogManager.Info(i.ToString());
|
|
}
|
|
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogManager.Info($"电气机柜信息面板定时器调用方法报错 >>> {ex.Message}");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// PLC读取方法封装
|
|
/// </summary>
|
|
/// <param name="plcAddress">plc地址位</param>
|
|
/// <param name="plcDataType">plc数据类型(int类型默认为1)</param>
|
|
/// <param name="plcValueLength">plc地址位长度(string类型默认为2)</param>
|
|
/// <param name="textBoxXcid">载具号文本输入框</param>
|
|
/// <param name="textBoxGjdw">载具到位文本输入框</param>
|
|
/// <param name="textBoxClzt">PLC车辆状态文本输入框</param>
|
|
/// <param name="textBoxXcqx">载具去向文本输入框</param>
|
|
/// <param name="textBoxWcsclzt">WCS处理状态文本输入框</param>
|
|
private void ReadPlcData(string plcAddress, int plcDataType, string plcValueLength,
|
|
TextBox textBoxXcid, TextBox textBoxGjdw, TextBox textBoxClzt,
|
|
TextBox textBoxXcqx, TextBox textBoxWcsclzt)
|
|
{
|
|
try
|
|
{
|
|
// 载具号
|
|
ReadAndSetText(plcAddress, textBoxXcid);
|
|
|
|
// 载具到位
|
|
//DQXX.plcpointAddress = $"DB4.DBW{GetOffset(plcAddress, 0)}";
|
|
string gjdw = $"DB4.DBW{GetOffset(plcAddress, 0)}";
|
|
ReadAndSetText(gjdw, textBoxGjdw);
|
|
|
|
// PLC处理状态
|
|
//DQXX.plcpointAddress = $"DB4.DBW{GetOffset(plcAddress, 2)}";
|
|
string plcclzt = $"DB4.DBW{GetOffset(plcAddress, 2)}";
|
|
ReadAndSetText(plcclzt, textBoxClzt);
|
|
|
|
// 小车去向
|
|
//DQXX.plcpointAddress = $"DB5.DBW{GetOffset(plcAddress, 0)}";
|
|
string xcqx = $"DB5.DBW{GetOffset(plcAddress, 0)}";
|
|
ReadAndSetText(xcqx, textBoxXcqx, textBoxXcqx.IsFocused);
|
|
|
|
// WCS处理完成
|
|
//DQXX.plcpointAddress = $"DB5.DBW{GetOffset(plcAddress, 2)}";
|
|
string wcsclzt = $"DB5.DBW{GetOffset(plcAddress, 2)}";
|
|
ReadAndSetText(wcsclzt, textBoxWcsclzt, textBoxWcsclzt.IsFocused);
|
|
//-------------------------------------------------------------------------以下为方法内部嵌套方法
|
|
//嵌套方法1
|
|
void ReadAndSetText(string dw, TextBox textBox, bool checkFocus = false)
|
|
{
|
|
string value = _plc.Read(dw).ToString();
|
|
if (value != null && (!checkFocus || !textBox.IsFocused))
|
|
{
|
|
textBox.Text = value;
|
|
}
|
|
}
|
|
//嵌套方法2
|
|
int GetOffset(string PlcAddress, int baseOffset)
|
|
{
|
|
int result = int.Parse(PlcAddress.Substring(4, 1)) * 4 + baseOffset;
|
|
return result;
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogManager.Info($"PLC读取方法封装报错 >>> {ex.Message}");
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 订单导入按钮点击事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void btn_dingdandaoru_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
Application.Current.Dispatcher.Invoke(new Action(
|
|
delegate
|
|
{
|
|
// 设置 EPPlus 许可上下文
|
|
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
|
|
OpenFileDialog openFileDialog = new OpenFileDialog();
|
|
openFileDialog.Filter = "Excel Files|*.xls;*.xlsx";
|
|
if (openFileDialog.ShowDialog() == true)
|
|
{
|
|
FileInfo fileInfo = new FileInfo(openFileDialog.FileName);
|
|
|
|
using (ExcelPackage package = new ExcelPackage(fileInfo))
|
|
{
|
|
ExcelWorksheet worksheet = package.Workbook.Worksheets.FirstOrDefault();
|
|
|
|
if (worksheet != null)
|
|
{
|
|
// 获取 Excel 表头
|
|
var columnHeaders = worksheet.Cells[1, 1, 1, worksheet.Dimension.End.Column]
|
|
.Select(cell => cell.Text)
|
|
.ToList();
|
|
BaseProductionOrderSplit orderMoedel = new();
|
|
// 映射数据库字段,这里需要根据你的实际需求进行调整
|
|
var columnMappings = new Dictionary<string, string>
|
|
{
|
|
// 添加映射
|
|
{columnHeaders[0],"production_sequence"},
|
|
{columnHeaders[1],"line_code"},
|
|
{columnHeaders[3],"prod_code"},
|
|
{columnHeaders[4],"Quantity"},
|
|
{columnHeaders[5],"order_code"}
|
|
};
|
|
int ordernum = 0;
|
|
// 获取实际的行数和列数
|
|
int rowCount = worksheet.Dimension.Rows;
|
|
int colCount = worksheet.Dimension.Columns;
|
|
// 遍历 Excel 数据行
|
|
for (int row = 2; row <= rowCount; row++)
|
|
{
|
|
// 创建 SQL 插入语句
|
|
//string insertCommand = $"INSERT INTO YourTableName ({string.Join(", ", columnMappings.Values)}) VALUES (";
|
|
List<string> values = new();
|
|
// 遍历 Excel 数据列
|
|
for (int col = 1; col <= colCount; col++)
|
|
{
|
|
string columnName = columnHeaders[col - 1];
|
|
string databaseColumnName;
|
|
// 映射 Excel 列名到数据库列名
|
|
if (columnMappings.TryGetValue(columnName, out databaseColumnName))
|
|
{
|
|
// 获取 Excel 单元格的值
|
|
var cellValue = worksheet.Cells[row, col].Text;
|
|
// 添加值到插入语句
|
|
values.Add(cellValue);
|
|
//values.Add($"'{cellValue.Replace("'", "''")}'");
|
|
//if (!string.IsNullOrWhiteSpace(cellValue))
|
|
//{
|
|
// values.Add(cellValue);
|
|
//}
|
|
}
|
|
}
|
|
// 使用 LINQ 查询空值
|
|
bool containsNull = values.Any(item => item == "" || item == null);
|
|
if (containsNull)
|
|
{
|
|
//MessageBox.Show("Excel表格中存在空值,不执行导入操作!", "订单导入操作提示!");
|
|
//LogManager.Info($"订单导入按钮事件错误 >>> Excel表格中存在空值!不执行导入操作!");
|
|
break;
|
|
}
|
|
// 获得插入语句
|
|
//string fullInsertCommand = $"{insertCommand} {string.Join(", ", values)} )";
|
|
var xianbiename = Char.GetNumericValue(values[1][values[1].Length - 1]).ToString();
|
|
int orderSequence = int.Parse(values[0].Trim());
|
|
using var scope = _host.Services.CreateScope();
|
|
using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>();
|
|
// var orderModel = dbContext.BaseProductionOrderSplit.OrderBy(t => t.productionSequence).ToList();
|
|
///var data = orderModel.Find(t => t.orderCode == values[4].Trim().ToUpper());
|
|
//
|
|
}
|
|
|
|
MessageBox.Show($"{ordernum}条订单导入系统!", "订单导入操作提示!");
|
|
//LoadMaterial_GetMessage("");
|
|
}
|
|
}
|
|
}
|
|
}));
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show($"订单导入失败 >>> {ex.Message}", "订单导入操作提示!");
|
|
LogManager.Info($"按钮订单导入事件报错 >>> {ex.Message}");
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 接收到载具号后,清空残留信息
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void CarNo_TextChanged(object sender, TextChangedEventArgs e)
|
|
{
|
|
//if (!string.IsNullOrWhiteSpace(this.tBoxMessage.Text) && this.tBoxMessage.Text.Length == 17)
|
|
//{
|
|
// //清空缓存信息
|
|
// this.CarNo.Clear();
|
|
// this.tBoxMessage.Clear();
|
|
// this.lba_ThrifTtitle.Text = string.Empty;
|
|
//}
|
|
}
|
|
/// <summary>
|
|
/// 订单清空按钮
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void btn_ClearOrder_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
var data = this.LoadMaterial.ItemsSource;
|
|
if (data == null)
|
|
{
|
|
MessageBox.Show($"当前订单信息为空,无需清空操作!", "订单手动清空提示!");
|
|
return;
|
|
}
|
|
if (MessageBox.Show("确认是否清空当前预存订单?",
|
|
"订单手动清空提示",
|
|
MessageBoxButton.YesNo, MessageBoxImage.Information) == MessageBoxResult.Yes)
|
|
{
|
|
using var scope = _host.Services.CreateScope();
|
|
using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>();
|
|
string sqlQuery = @"INSERT INTO
|
|
base_production_order_split_bak
|
|
(id,site_code, line_code, line_name, order_code,prod_code,prod_desc,IsOver,est,Quantity,production_sequence)
|
|
SELECT
|
|
id,site_code, line_code, line_name, order_code,prod_code,prod_desc,IsOver,est,Quantity,production_sequence
|
|
FROM base_production_order_split;";
|
|
string sqlDelete = @"Delete
|
|
FROM
|
|
base_production_order_split;";
|
|
var ret = dbContext.Database.ExecuteSqlRaw(sqlQuery);
|
|
dbContext.Database.ExecuteSqlRaw(sqlDelete);
|
|
string zhandianText = ThriftConfig.UpSite == "k46" ? "K46" : "K48";
|
|
string saveLog = ret == 0 ? "清空后备份任务SQL执行失败!" : "清空后备份任务SQL语句执行成功!";
|
|
if (ret != 0) MessageBox.Show($"{ret}条订单清空完毕!", "订单清空提示!");
|
|
LogManager.Info($"手动清空任务日志记录 >>> 站点:{zhandianText}{saveLog}");
|
|
this.LoadMaterial.ItemsSource = null;
|
|
//LoadMaterial_GetMessage("");
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogManager.Info($"手动清空任务方法报错 >>> {ex.Message}");
|
|
}
|
|
}
|
|
|
|
private void Button_Click_1(object sender, RoutedEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
//
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show("查询订单遇到错误~>>>>>>>>>>>>>>>>>>>>" + ex);
|
|
LogManager.Info("查询订单遇到错误~>>>>>>>>>>>>>>>>>>>>" + ex);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 选择事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void MoHuChaXunWuLiaoName_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
timerjilu = sender;
|
|
ComboBox comboBox = (ComboBox)sender;
|
|
var shangjiandian = comboBox.SelectedItem;
|
|
string numberPart = Regex.Match(shangjiandian.ToString(), @"\d+").Value;
|
|
try
|
|
{
|
|
using var scope = _host.Services.CreateScope();
|
|
using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>();
|
|
//
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show("查询订单遇到错误~>>>>>>>>>>>>>>>>>>>>" + ex);
|
|
LogManager.Info("查询订单遇到错误~>>>>>>>>>>>>>>>>>>>>" + ex);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 删除物料
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void Button_Click_2(object sender, RoutedEventArgs e)
|
|
{
|
|
if (LoadMaterial0.SelectedIndex == -1)
|
|
{
|
|
MessageBox.Show("请选择要删除的物料!");
|
|
}
|
|
else
|
|
{
|
|
var quere = MessageBox.Show("确定删除吗", "提示", MessageBoxButton.OKCancel, MessageBoxImage.Asterisk);
|
|
//
|
|
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 刷新产线
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void Button_Click_3(object sender, RoutedEventArgs e)
|
|
{
|
|
//
|
|
}
|
|
/// <summary>
|
|
/// 物料选择事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void shangjianwuliaocombox_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
//
|
|
|
|
}
|
|
|
|
private void orderselect_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
}
|
|
|
|
private void Button_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
using var scope = _host.Services.CreateScope();
|
|
using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>();
|
|
var data = dbContext.WcsTask.Where(t => t.useFlag == 0).ToList();
|
|
this.LoadMaterial0.ItemsSource = null;
|
|
this.LoadMaterial0.ItemsSource = data;
|
|
this.LoadMaterial0.Items.Refresh();
|
|
//MessageBox.Show("查询");
|
|
}
|
|
}
|
|
|
|
|
|
}
|