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.
210 lines
8.0 KiB
C#
210 lines
8.0 KiB
C#
using CommonFunc;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Reflection;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Data;
|
|
using System.Windows.Documents;
|
|
using System.Windows.Input;
|
|
using System.Windows.Media;
|
|
using System.Windows.Media.Imaging;
|
|
using System.Windows.Shapes;
|
|
using System.Windows.Threading;
|
|
using System.Timers;
|
|
using XGL.Data;
|
|
using XGL.Thrift;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace XGL.FormItem
|
|
{
|
|
/// <summary>
|
|
/// FormBoard.xaml 的交互逻辑
|
|
/// </summary>
|
|
public partial class FormBlankingBoard : Window
|
|
{
|
|
/// <summary>
|
|
/// 时间刷新计时器
|
|
/// </summary>
|
|
private DispatcherTimer dispatcherTimer;
|
|
|
|
private DispatcherTimer TimerReal;
|
|
|
|
private int LoopIndex = 1;
|
|
|
|
private int IsHouseMenuVisible = 0;
|
|
|
|
private DispatcherTimer ShowTimer;
|
|
List<Order> listOrders = new List<Order>();
|
|
List<OutCarLine> listOutCarLines = new List<OutCarLine>();
|
|
|
|
DispatcherTimer tm = new DispatcherTimer();
|
|
string content = string.Empty;
|
|
int loop = 0;//从右向左逐渐进入的循环次数
|
|
int loop2 = 0;//左侧到头后,左侧字符逐渐消失的循环次数
|
|
bool isOver = false;//所有字符是否均已划过,若都划过,则从头开始
|
|
public FormBlankingBoard()
|
|
{
|
|
InitializeComponent();
|
|
|
|
}
|
|
DataTable dtOrder;
|
|
DataTable dtOutCarLine;
|
|
private void FormBoard_Loaded(object sender, RoutedEventArgs e)
|
|
{
|
|
|
|
ShowTimer = new System.Windows.Threading.DispatcherTimer();
|
|
ShowTimer.Tick += new EventHandler(ShowCurTimer);//起个Timer一直获取当前时间
|
|
ShowTimer.Interval = new TimeSpan(0, 0, 0, 1, 0);
|
|
ShowTimer.Start();
|
|
//创建一个名为"Table_New"的空表
|
|
dtOrder = new DataTable("Table_New");
|
|
//1.创建空列
|
|
//DataColumn dc = new DataColumn();
|
|
|
|
////2.创建带列名和类型名的列(两种方式任选其一)
|
|
dtOrder.Columns.Add("est", typeof(String));
|
|
dtOrder.Columns.Add("order_code", typeof(String));
|
|
dtOrder.Columns.Add("prod_code", typeof(String));
|
|
dtOrder.Columns.Add("prod_desc", typeof(String));
|
|
dtOrder.Columns.Add("quantity", typeof(String));
|
|
dtOrder.Columns.Add("upquantity", typeof(String));
|
|
dtOrder.Columns.Add("outwarehousequantity", typeof(String));
|
|
dtOrder.Columns.Add("downquantity", typeof(String));
|
|
dtOrder.Columns.Add("down_line", typeof(String));
|
|
|
|
dtOutCarLine = new DataTable("Table_New1");
|
|
////2.创建带列名和类型名的列(两种方式任选其一)
|
|
dtOutCarLine.Columns.Add("car_no", typeof(String));
|
|
dtOutCarLine.Columns.Add("downline", typeof(String));
|
|
dtOutCarLine.Columns.Add("order_id", typeof(String));
|
|
dtOutCarLine.Columns.Add("materiel_num", typeof(String));
|
|
dtOutCarLine.Columns.Add("create_time", typeof(String));
|
|
|
|
Thread ThriftThread = new Thread(new ParameterizedThreadStart(ThriftServer));
|
|
ThriftThread.IsBackground = true;
|
|
ThriftThread.Start(Common.FormBoardThriftPort);
|
|
|
|
}
|
|
private void dgData_LoadingRow(object sender, DataGridRowEventArgs e)
|
|
{ e.Row.Header = e.Row.GetIndex() + 1; }
|
|
|
|
public void ShowCurTimer(object sender, EventArgs e)
|
|
{
|
|
LabDate.Content = DateTime.Now.ToString("yyyy年MM月dd日");
|
|
LabTime.Content = DateTime.Now.ToString("HH:mm:ss");
|
|
}
|
|
private void btnExit_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
if (MessageBox.Show("是否确认关闭程序", "提示信息", MessageBoxButton.YesNo, MessageBoxImage.Information) == MessageBoxResult.No)
|
|
{
|
|
|
|
}
|
|
else
|
|
{
|
|
System.Environment.Exit(System.Environment.ExitCode);
|
|
}
|
|
}
|
|
private void btnHouseMenuVisible_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
|
|
}
|
|
DataRow drOrder;
|
|
public string CheckOrderList(List<Order> orderlist)
|
|
{
|
|
|
|
|
|
|
|
Application.Current.Dispatcher.Invoke(new Action(
|
|
delegate
|
|
{
|
|
if (orderlist == null || orderlist.Count == 0)
|
|
{
|
|
DgLoadOrder.ItemsSource = null;
|
|
}
|
|
else
|
|
{
|
|
orderlist = orderlist.Where(t => t.Down_line == Common.LineId).ToList();
|
|
dtOrder.Clear();
|
|
for (int i = 0; i < orderlist.Count; i++)
|
|
{
|
|
drOrder = dtOrder.NewRow();
|
|
drOrder["est"] = DateTime.Parse(orderlist[i].Est.ToString()).ToString().Substring(0, 10);
|
|
drOrder["order_code"] = orderlist[i].Order_code;
|
|
drOrder["prod_code"] = orderlist[i].Prod_code;
|
|
drOrder["prod_desc"] = orderlist[i].Prod_desc;
|
|
drOrder["quantity"] = orderlist[i].Quantity;
|
|
drOrder["upquantity"] = orderlist[i].Upquantity;
|
|
drOrder["outwarehousequantity"] = orderlist[i].Outwarehousequantity;
|
|
drOrder["downquantity"] = orderlist[i].Downquantity;
|
|
drOrder["down_line"] = orderlist[i].Down_line;
|
|
dtOrder.Rows.Add(drOrder);
|
|
}
|
|
DgLoadOrder.ItemsSource = dtOrder.DefaultView;
|
|
}
|
|
}));
|
|
|
|
|
|
return "";
|
|
}
|
|
DataRow drOutCarLine;
|
|
public string CheckOutCarLineList(List<OutCarLine> outcarlinelist)
|
|
{
|
|
|
|
Application.Current.Dispatcher.Invoke(new Action(
|
|
delegate
|
|
{
|
|
if (outcarlinelist == null || outcarlinelist.Count == 0)
|
|
{
|
|
DgLoadDoor.ItemsSource = null;
|
|
}
|
|
else
|
|
{
|
|
outcarlinelist = outcarlinelist.Where(t => t.Downline == Common.LineId).ToList();
|
|
|
|
dtOutCarLine.Clear();
|
|
for (int i = 0; i < outcarlinelist.Count; i++)
|
|
{
|
|
drOutCarLine = dtOutCarLine.NewRow();
|
|
drOutCarLine["car_no"] = outcarlinelist[i].Car_no;
|
|
drOutCarLine["downline"] = outcarlinelist[i].Downline;
|
|
drOutCarLine["order_id"] = outcarlinelist[i].Order_id;
|
|
drOutCarLine["materiel_num"] = outcarlinelist[i].Materiel_num;
|
|
drOutCarLine["create_time"] = outcarlinelist[i].Create_time;
|
|
dtOutCarLine.Rows.Add(drOutCarLine);
|
|
}
|
|
DgLoadDoor.ItemsSource = dtOutCarLine.DefaultView;
|
|
}
|
|
}));
|
|
|
|
|
|
return "";
|
|
}
|
|
|
|
/// <summary>
|
|
/// 接收订单和出库队列信息
|
|
/// </summary>
|
|
private void ThriftServer(object thriftpoint)
|
|
{
|
|
try
|
|
{
|
|
int point = Convert.ToInt32(thriftpoint);
|
|
XGL.Thrift.ThriftServiceImp business = new XGL.Thrift.ThriftServiceImp();
|
|
business.GetOrderListEvent += CheckOrderList;
|
|
business.GetOutCarLineListEvent += CheckOutCarLineList;
|
|
XGL.Thrift.ThriftCommon thriftCommon = new XGL.Thrift.ThriftCommon();
|
|
thriftCommon.Start(business, point);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Common.Log.Error(ex.Message);
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|