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.
315 lines
12 KiB
C#
315 lines
12 KiB
C#
using CommonFunc.Tools;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
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.Shapes;
|
|
using XGL.Data.DBService;
|
|
using XGL.Models;
|
|
|
|
namespace XGL.Views
|
|
{
|
|
/// <summary>
|
|
/// ReportForm.xaml 的交互逻辑
|
|
/// </summary>
|
|
public partial class ReportForm : Window
|
|
{
|
|
/// <summary>
|
|
/// 数据库交互
|
|
/// </summary>
|
|
FormingMachineService formingMachineService = new FormingMachineService();
|
|
private report editReport;
|
|
private List<Models.report> reports;
|
|
private Timer timer;
|
|
private readonly string OpenLineCheckBox = "OpenLineCheckBox";
|
|
private readonly string ReplaceLineCheckBox = "ReplaceLineCheckBox";
|
|
/// <summary>
|
|
/// 上一任务不良品是否处理并放置在不合格品区域
|
|
/// </summary>
|
|
private readonly string unqualified = "unqualified";
|
|
/// <summary>
|
|
/// 涉及内容物转换,上一任务内容物是否清理干净
|
|
/// </summary>
|
|
private readonly string clear = "clear";
|
|
/// <summary>
|
|
/// 上一任务剩余包材/内容物是否做好防护、标识并放在指定位置
|
|
/// </summary>
|
|
private readonly string residue = "residue";
|
|
/// <summary>
|
|
/// 流水线是否清理干净,无与当班次生产无关的东西存处
|
|
/// </summary>
|
|
private readonly string lineClear = "lineClear";
|
|
/// <summary>
|
|
/// 作业员是否清楚当班次操作
|
|
/// </summary>
|
|
private readonly string UserKnow = "UserKnow";
|
|
/// <summary>
|
|
/// 该班次内容物、包材是否符合
|
|
/// </summary>
|
|
private readonly string qualified = "qualified";
|
|
/// <summary>
|
|
/// 班次现场使用的设备是否可以正常工作
|
|
/// </summary>
|
|
private readonly string equipStatus = "equipStatus";
|
|
/// <summary>
|
|
/// 该班次生产批号是否正确
|
|
/// </summary>
|
|
private readonly string StampCorrect = "StampCorrect";
|
|
/// <summary>
|
|
/// 不良品是否处理干净并放置在不合格品区域
|
|
/// </summary>
|
|
private readonly string isClear = "isClear";
|
|
/// <summary>
|
|
/// 剩余包材/内容物是否做好防护并放在指定位置
|
|
/// </summary>
|
|
private readonly string positionCorrect = "positionCorrect";
|
|
/// <summary>
|
|
/// 流水线是否清理干净
|
|
/// </summary>
|
|
private readonly string isLineClear = "isLineClear";
|
|
/// <summary>
|
|
/// 班次
|
|
/// </summary>
|
|
private readonly string team = "team";
|
|
public ReportForm()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void Window_Loaded(object sender, RoutedEventArgs e)
|
|
{
|
|
this.Workshop.Text = string.Empty;
|
|
this.line.Text = string.Empty;
|
|
this.date.Text = string.Empty;
|
|
this.Workshop.Text = Utils.GetAppSetting("SiteCode");
|
|
this.line.Text= Utils.GetAppSetting("LineCode");
|
|
for (int i = 1; i <= 6; i++)
|
|
{
|
|
if (FindName(team + i) is TextBlock text11)
|
|
{
|
|
text11.Text = string.Empty;
|
|
}
|
|
if (FindName(unqualified + i) is TextBlock text)
|
|
{
|
|
text.Text = string.Empty;
|
|
}
|
|
if (FindName(clear + i) is TextBlock text1)
|
|
{
|
|
text1.Text = string.Empty;
|
|
}
|
|
if (FindName(residue + i) is TextBlock text2)
|
|
{
|
|
text2.Text = string.Empty;
|
|
}
|
|
if (FindName(lineClear + i) is TextBlock text3)
|
|
{
|
|
text3.Text = string.Empty;
|
|
}
|
|
if (FindName(UserKnow + i) is TextBlock text4)
|
|
{
|
|
text4.Text = string.Empty;
|
|
}
|
|
if (FindName(qualified + i) is TextBlock text5)
|
|
{
|
|
text5.Text = string.Empty;
|
|
}
|
|
if (FindName(equipStatus + i) is TextBlock text6)
|
|
{
|
|
text6.Text = string.Empty;
|
|
}
|
|
if (FindName(StampCorrect + i) is TextBlock text7)
|
|
{
|
|
text7.Text = string.Empty;
|
|
}
|
|
if (FindName(isClear + i) is TextBlock text8)
|
|
{
|
|
text8.Text = string.Empty;
|
|
}
|
|
if (FindName(positionCorrect + i) is TextBlock text9)
|
|
{
|
|
text9.Text = string.Empty;
|
|
}
|
|
if (FindName(isLineClear + i) is TextBlock text10)
|
|
{
|
|
text10.Text = string.Empty;
|
|
}
|
|
}
|
|
|
|
GetData();
|
|
|
|
timer = new Timer(10000);
|
|
timer.Elapsed += Timer_Elapsed;
|
|
timer.Start();
|
|
}
|
|
|
|
private void Timer_Elapsed(object sender, ElapsedEventArgs e)
|
|
{
|
|
GetData();
|
|
}
|
|
|
|
private void GetData()
|
|
{
|
|
try
|
|
{
|
|
reports = formingMachineService.GetReportData("");
|
|
Dispatcher.Invoke(() =>
|
|
{
|
|
this.date.Text = DateTime.Now.ToString("yyyy-MM-dd");
|
|
for (int i = 0; i < reports.Count; i++)
|
|
{
|
|
if (FindName(unqualified + (i + 1)) is TextBlock text)
|
|
{
|
|
text.Text = reports[i].unqualified;
|
|
}
|
|
if (FindName(clear + (i + 1)) is TextBlock text1)
|
|
{
|
|
text1.Text = reports[i].clear;
|
|
}
|
|
if (FindName(residue + (i + 1)) is TextBlock text2)
|
|
{
|
|
text2.Text = reports[i].residue;
|
|
}
|
|
if (FindName(lineClear + (i + 1)) is TextBlock text3)
|
|
{
|
|
text3.Text = reports[i].lineClear;
|
|
}
|
|
if (FindName(UserKnow + (i + 1)) is TextBlock text4)
|
|
{
|
|
text4.Text = reports[i].UserKnow;
|
|
}
|
|
if (FindName(qualified + (i + 1)) is TextBlock text5)
|
|
{
|
|
text5.Text = reports[i].qualified;
|
|
}
|
|
if (FindName(equipStatus + (i + 1)) is TextBlock text6)
|
|
{
|
|
text6.Text = reports[i].equipStatus;
|
|
}
|
|
if (FindName(StampCorrect + (i + 1)) is TextBlock text7)
|
|
{
|
|
text7.Text = reports[i].StampCorrect;
|
|
}
|
|
if (FindName(isClear + (i + 1)) is TextBlock text8)
|
|
{
|
|
text8.Text = reports[i].isClear;
|
|
}
|
|
if (FindName(positionCorrect + (i + 1)) is TextBlock text9)
|
|
{
|
|
text9.Text = reports[i].positionCorrect;
|
|
}
|
|
if (FindName(isLineClear + (i + 1)) is TextBlock text10)
|
|
{
|
|
text10.Text = reports[i].isLineClear;
|
|
}
|
|
if (FindName(team + (i + 1)) is TextBlock text11)
|
|
{
|
|
text11.Text = reports[i].team == "2" ? "夜班" : "白班";
|
|
}
|
|
if (FindName(OpenLineCheckBox + (i + 1)) is CheckBox checkBox)
|
|
{
|
|
checkBox.IsChecked = (reports[i].OpenLineCheckBox == "√");
|
|
}
|
|
if (FindName(ReplaceLineCheckBox + (i + 1)) is CheckBox checkBox1)
|
|
{
|
|
checkBox1.IsChecked = (reports[i].ReplaceLineCheckBox == "√");
|
|
}
|
|
}
|
|
});
|
|
}
|
|
catch
|
|
{
|
|
|
|
}
|
|
}
|
|
|
|
private void Add_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
new AddReportFrom("Add").ShowDialog();
|
|
GetData();
|
|
}
|
|
|
|
private void Close_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
private void Edit_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
new AddReportFrom("Edit", editReport).ShowDialog();
|
|
GetData();
|
|
}
|
|
|
|
private void ContextMenu_Opened(object sender, RoutedEventArgs e)
|
|
{
|
|
//获取鼠标位置
|
|
Point mousePosition = Mouse.GetPosition(this);
|
|
Point top = this.TopLine.TransformToVisual(this).Transform(new Point(0, this.TopLine.Y1));
|
|
Point bottom = this.BottomLine.TransformToVisual(this).Transform(new Point(0, this.BottomLine.Y1));
|
|
if (mousePosition.Y > top.Y && mousePosition.Y < bottom.Y)
|
|
{
|
|
Point firstPoint = this.FirstLine.TransformToVisual(this).Transform(new Point(this.FirstLine.X1, 0));
|
|
Point secondPoint = this.SecondLine.TransformToVisual(this).Transform(new Point(this.SecondLine.X1, 0));
|
|
Point thirdLine = this.ThirdLine.TransformToVisual(this).Transform(new Point(this.ThirdLine.X1, 0));
|
|
Point fourthLine = this.FourthLine.TransformToVisual(this).Transform(new Point(this.FourthLine.X1, 0));
|
|
Point fifthLine = this.FifthLine.TransformToVisual(this).Transform(new Point(this.FifthLine.X1, 0));
|
|
Point sixthLine = this.SixthLine.TransformToVisual(this).Transform(new Point(this.SixthLine.X1, 0));
|
|
Point SeventhLine = this.SixthLine.TransformToVisual(this).Transform(new Point(this.SeventhLine.X1, 0));
|
|
if (mousePosition.X > firstPoint.X && mousePosition.X < SeventhLine.X)
|
|
{
|
|
this.EditButton.Visibility = Visibility.Visible;
|
|
if (mousePosition.X > firstPoint.X && mousePosition.X < secondPoint.X)
|
|
{
|
|
editReport = reports[0];
|
|
}
|
|
else if (mousePosition.X > secondPoint.X && mousePosition.X < thirdLine.X)
|
|
{
|
|
editReport = reports[1];
|
|
}
|
|
else if (mousePosition.X > thirdLine.X && mousePosition.X < fourthLine.X)
|
|
{
|
|
editReport = reports[2];
|
|
}
|
|
else if (mousePosition.X > fourthLine.X && mousePosition.X < fifthLine.X)
|
|
{
|
|
editReport = reports[3];
|
|
}
|
|
else if (mousePosition.X > fifthLine.X && mousePosition.X < sixthLine.X)
|
|
{
|
|
editReport = reports[4];
|
|
}
|
|
else if (mousePosition.X > sixthLine.X && mousePosition.X < SeventhLine.X)
|
|
{
|
|
editReport = reports[5];
|
|
}
|
|
if (string.IsNullOrEmpty(editReport.Id))
|
|
{
|
|
this.EditButton.Visibility = Visibility.Collapsed;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.EditButton.Visibility = Visibility.Collapsed;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.EditButton.Visibility = Visibility.Collapsed;
|
|
}
|
|
}
|
|
|
|
private void Window_Closed(object sender, EventArgs e)
|
|
{
|
|
timer.Stop();
|
|
}
|
|
}
|
|
}
|