using CentralControl.DBDAO; using CommonFunc; using CommonFunc.Tools; using COSMO.IM.LanJu.Index; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using System.Timers; 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.Navigation; using System.Windows.Shapes; using XGL.Data.DBService; using XGL.Models.Model.FoamingMac; namespace XGL.Views { /// /// LanJu_Operator.xaml 的交互逻辑 /// public partial class LanJu_Operator : UserControl { FormingMachineService formingMachineService = new FormingMachineService(); DBService userDbWareHouse = new DBService(); public static LanJu_Operator lanJu_Operator; Frame frame = new Frame() { Content = new Views.LanJu_InOut()}; string deviceCode = Utils.GetAppSetting("DeviceCode"); public enum WindowID { frame } public LanJu_Operator() { InitializeComponent(); WindowChange(WindowID.frame); } public void WindowChange(WindowID windowID) { Window1.Content = frame; } private void InOut_Click(object sender, RoutedEventArgs e) { LanJu_InOut lanJu_InOut = new LanJu_InOut(); Window1.Content = new Frame { Content = lanJu_InOut }; } private void Complete_Click(object sender, RoutedEventArgs e) { LanJu_Complete lanJu_Complete = new LanJu_Complete(); Window1.Content = new Frame { Content = lanJu_Complete }; } private void DeviceItems_Click(object sender, RoutedEventArgs e) { LanJu_DeviceItems lanJu_DeviceItems = new LanJu_DeviceItems(); Window1.Content = new Frame { Content = lanJu_DeviceItems }; } private void Paused_Click(object sender, RoutedEventArgs e) { LanJu_Paused lanJu_Paused = new LanJu_Paused(); Window1.Content= new Frame { Content = lanJu_Paused }; } private void UCOperator_Loaded(object sender, RoutedEventArgs e) { GetWorkOrderInfo(); } private void GetWorkOrderInfo() { try { List orderList = new List(); //modelWareHouse = new List(); userDbWareHouse = new DBService(); DataTable dt = formingMachineService.GetFormingMachineInfo(deviceCode); if (dt == null) return; foreach (DataRow i in dt.Rows) { FoamingMacModel order = new FoamingMacModel(); order.workorder_id = i["workorder_id"].ToString(); order.workorder_code = i["workorder_code"].ToString(); order.product_name = i["product_name"].ToString(); order.product_code = i["product_code"].ToString(); order.car_num = Convert.ToInt32(i["car_num"].ToString()); order.begin = Convert.ToDateTime(i["begin"].ToString()); order.status = i["status"].ToString(); order.process_id = i["route_code"].ToString(); order.work_batch_code = i["work_batch_code"].ToString(); order.attr1 = i["attr1"].ToString(); order.taskcode = i["taskcode"].ToString(); order.rfid = i["rfid"].ToString(); orderList.Add(order); } this.dgWorkOrderInfo.ItemsSource = null; this.dgWorkOrderInfo.ItemsSource = orderList;//dt.DefaultView; } catch (Exception ex) { LogHelper.instance.log.Error("获取工单准备信息时发生异常:" + ex.Message); } } private void dgWorkOrderInfo_LoadingRow(object sender, DataGridRowEventArgs e) { e.Row.Header = (e.Row.GetIndex() + 1).ToString(); } private void btnPause_Click(object sender, RoutedEventArgs e) { var selectedRow = dgWorkOrderInfo.SelectedItem as FoamingMacModel; if (selectedRow == null) { MessageBox.Show("请选择你要暂停的工单!", "温馨提示", MessageBoxButton.OK, MessageBoxImage.Warning); return; } MessageBoxResult result = MessageBox.Show("你确定要暂停该工单吗?", "温馨提示", MessageBoxButton.YesNo, MessageBoxImage.Information); if (result == MessageBoxResult.No) return; var workordercode = selectedRow.workorder_code; string currStatus = selectedRow.status; if(currStatus!="w2") { MessageBox.Show("只有活动中的工单才支持暂停!", "温馨提示", MessageBoxButton.OK, MessageBoxImage.Warning); return; } formingMachineService.UpdateWorkOrder(workordercode,"w4"); GetWorkOrderInfo(); } private void btnRecover_Click(object sender, RoutedEventArgs e) { var selectedRow = dgWorkOrderInfo.SelectedItem as FoamingMacModel; if (selectedRow == null) { MessageBox.Show("请选择你要恢复的工单!", "温馨提示", MessageBoxButton.OK, MessageBoxImage.Warning); return; } MessageBoxResult result = MessageBox.Show("你确定要恢复该工单吗?", "温馨提示", MessageBoxButton.YesNo, MessageBoxImage.Information); if (result == MessageBoxResult.No) return; var workordercode = selectedRow.workorder_code; formingMachineService.UpdateWorkOrder(workordercode, "w2"); GetWorkOrderInfo(); } /// /// 查看工艺 /// /// /// private void Flow_Click(object sender, RoutedEventArgs e) { var selectedRow = dgWorkOrderInfo.SelectedItem as FoamingMacModel; if (selectedRow == null) return; var workordercode = selectedRow.workorder_code; DataTable dt = userDbWareHouse.GetFlowInfo(workordercode); FlowInfoWin flowInfoWin = new FlowInfoWin(dt); flowInfoWin.ShowDialog(); } /// /// 查看物料 /// /// /// private void Material_Click(object sender, RoutedEventArgs e) { var selectedRow = dgWorkOrderInfo.SelectedItem as FoamingMacModel; if (selectedRow == null) return; var processid = selectedRow.workorder_code; DataTable dt = userDbWareHouse.GetMaterialInfo(processid); LanJu_Material sopInfoWin = new LanJu_Material(dt); sopInfoWin.ShowDialog(); } /// /// 查看SOP /// /// /// private void Button_Click(object sender, RoutedEventArgs e) { var selectedRow = dgWorkOrderInfo.SelectedItem as FoamingMacModel; if (selectedRow == null) return; var workordercode = selectedRow.workorder_code; DataTable dt = userDbWareHouse.GetSOPInfo(workordercode); SopInfoWin sopInfoWin = new SopInfoWin(dt); sopInfoWin.ShowDialog(); } private void btnRefresh_Click(object sender, RoutedEventArgs e) { GetWorkOrderInfo(); } private void btnComplete_Click(object sender, RoutedEventArgs e) { if (dgWorkOrderInfo.SelectedItems.Count == 0) { CustomMessageBox.Show("请选择要完成的数据", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning); return; } var selectedRow = dgWorkOrderInfo.SelectedItem as FoamingMacModel; ShouPeiWin shouPeiWin = new ShouPeiWin(selectedRow); shouPeiWin.ShowDialog(); } } }