|
|
|
|
@ -93,7 +93,8 @@ namespace XGLFinishPro.Views
|
|
|
|
|
{
|
|
|
|
|
if (jianyanwuliao.Text.IsNullOrEmpty() || jianyanjiedian.Text.IsNullOrEmpty() || renwubianhao.Text.IsNullOrEmpty() || guizemingcheng.Text.IsNullOrEmpty())
|
|
|
|
|
{
|
|
|
|
|
MessageBox.Show("数据不完整,无法称重!!");
|
|
|
|
|
//MessageBox.Show("数据不完整,无法称重!!");
|
|
|
|
|
upDateDate("1.0");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
@ -133,8 +134,10 @@ namespace XGLFinishPro.Views
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
int i = 0;
|
|
|
|
|
while (true)
|
|
|
|
|
{
|
|
|
|
|
i++;
|
|
|
|
|
string data = serialPort.ReadExisting();
|
|
|
|
|
Thread.Sleep(200);
|
|
|
|
|
if (!string.IsNullOrEmpty(data))
|
|
|
|
|
@ -146,6 +149,15 @@ namespace XGLFinishPro.Views
|
|
|
|
|
UpdateUI(bb);
|
|
|
|
|
break; // 读到数据后跳出循环
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Thread.Sleep(1000);
|
|
|
|
|
if (i == 10)
|
|
|
|
|
{
|
|
|
|
|
MessageBox.Show("获取城中数据超时,检查秤是否正常");
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
@ -189,31 +201,53 @@ namespace XGLFinishPro.Views
|
|
|
|
|
/// 称重更新数据库
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="Date"></param>
|
|
|
|
|
public void upDateDate(string Date)
|
|
|
|
|
public async void upDateDate(string Date)
|
|
|
|
|
{
|
|
|
|
|
// 将数据保存
|
|
|
|
|
CheckTaskModel newItem = new CheckTaskModel() { material_name = Date };
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
// 将数据保存
|
|
|
|
|
CheckTaskModel newItem = new CheckTaskModel() { material_name = Date };
|
|
|
|
|
// 获取当前应用程序的Dispatcher
|
|
|
|
|
dispatcher = Application.Current.Dispatcher;
|
|
|
|
|
Dispatcher.Invoke(() =>
|
|
|
|
|
// 创建一个任务,等待10秒
|
|
|
|
|
var timeoutTask = Task.Delay(TimeSpan.FromSeconds(10));
|
|
|
|
|
// 执行数据库操作的任务
|
|
|
|
|
var saveDataTask = Task.Run(() =>
|
|
|
|
|
{
|
|
|
|
|
zhongDate.Items.Add(newItem);
|
|
|
|
|
// 在这里执行数据库操作
|
|
|
|
|
userDbWareHouse.InsertCheckTaskDetail(checkTaskModel.actual_value, checkTaskModel.record_id);
|
|
|
|
|
});
|
|
|
|
|
if (string.IsNullOrEmpty(checkTaskModel.actual_value))
|
|
|
|
|
|
|
|
|
|
// 等待哪个任务先完成
|
|
|
|
|
var completedTask = await Task.WhenAny(saveDataTask, timeoutTask);
|
|
|
|
|
|
|
|
|
|
// 判断是哪个任务先完成
|
|
|
|
|
if (completedTask == timeoutTask)
|
|
|
|
|
{
|
|
|
|
|
checkTaskModel.actual_value = $"[\"{Date}\"]";
|
|
|
|
|
// 弹窗提醒
|
|
|
|
|
MessageBox.Show("保存数据超时!");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
// 去除字符串开头和结尾的方括号
|
|
|
|
|
checkTaskModel.actual_value = checkTaskModel.actual_value.Trim(']');
|
|
|
|
|
|
|
|
|
|
// 获取当前应用程序的Dispatcher
|
|
|
|
|
dispatcher = Application.Current.Dispatcher;
|
|
|
|
|
Dispatcher.Invoke(() =>
|
|
|
|
|
{
|
|
|
|
|
zhongDate.Items.Add(newItem);
|
|
|
|
|
});
|
|
|
|
|
if (string.IsNullOrEmpty(checkTaskModel.actual_value))
|
|
|
|
|
{
|
|
|
|
|
checkTaskModel.actual_value = $"[\"{Date}\"]";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
// 去除字符串开头和结尾的方括号
|
|
|
|
|
checkTaskModel.actual_value = checkTaskModel.actual_value.Trim(']');
|
|
|
|
|
|
|
|
|
|
// 在字符串末尾添加逗号和aaa的值
|
|
|
|
|
checkTaskModel.actual_value += $", \"{Date}\"]";
|
|
|
|
|
// 在字符串末尾添加逗号和aaa的值
|
|
|
|
|
checkTaskModel.actual_value += $", \"{Date}\"]";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
userDbWareHouse.InsertCheckTaskDetail(checkTaskModel.actual_value, checkTaskModel.record_id);//保存称重数据
|
|
|
|
|
//userDbWareHouse.InsertCheckTaskDetail(checkTaskModel.actual_value, checkTaskModel.record_id);//保存称重数据
|
|
|
|
|
Button_Click_2(null, null);
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
@ -334,7 +368,7 @@ namespace XGLFinishPro.Views
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
private void DeleteButton_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
private async void DeleteButton_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
@ -344,14 +378,36 @@ namespace XGLFinishPro.Views
|
|
|
|
|
{
|
|
|
|
|
var item = (CheckTaskModel)dataContext;
|
|
|
|
|
string materialName = item.material_name;
|
|
|
|
|
// 从 DataGrid 的 ItemsSource 中移除该项
|
|
|
|
|
zhongDate.Items.Remove(item); // 从 actual_value 中移除 materialName
|
|
|
|
|
|
|
|
|
|
// 从 actual_value 中移除 materialName
|
|
|
|
|
checkTaskModel.actual_value = RemoveMaterialNameFromActualValue(checkTaskModel.actual_value, materialName);
|
|
|
|
|
if (checkTaskModel.actual_value == "[]")
|
|
|
|
|
{
|
|
|
|
|
checkTaskModel.actual_value = null;
|
|
|
|
|
}
|
|
|
|
|
userDbWareHouse.InsertCheckTaskDetail(checkTaskModel.actual_value, checkTaskModel.record_id);
|
|
|
|
|
// 创建一个任务,等待10秒
|
|
|
|
|
var timeoutTask = Task.Delay(TimeSpan.FromSeconds(10));
|
|
|
|
|
// 执行数据库操作的任务
|
|
|
|
|
var saveDataTask = Task.Run(() =>
|
|
|
|
|
{
|
|
|
|
|
// 在这里执行数据库操作
|
|
|
|
|
userDbWareHouse.InsertCheckTaskDetail(checkTaskModel.actual_value, checkTaskModel.record_id);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 等待哪个任务先完成
|
|
|
|
|
var completedTask = await Task.WhenAny(saveDataTask, timeoutTask);
|
|
|
|
|
|
|
|
|
|
// 判断是哪个任务先完成
|
|
|
|
|
if (completedTask == timeoutTask)
|
|
|
|
|
{
|
|
|
|
|
// 弹窗提醒
|
|
|
|
|
MessageBox.Show("删除数据超时!");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
// 从 DataGrid 的 ItemsSource 中移除该项
|
|
|
|
|
zhongDate.Items.Remove(item);
|
|
|
|
|
}
|
|
|
|
|
Button_Click_2(null, null);
|
|
|
|
|
// 从数据源中移除该项
|
|
|
|
|
}
|
|
|
|
|
|