diff --git a/shangjian/XGL.Data/DBServiceFinishProd/FinishProdDBService.cs b/shangjian/XGL.Data/DBServiceFinishProd/FinishProdDBService.cs
index 4f39f22..37b7154 100644
--- a/shangjian/XGL.Data/DBServiceFinishProd/FinishProdDBService.cs
+++ b/shangjian/XGL.Data/DBServiceFinishProd/FinishProdDBService.cs
@@ -13,6 +13,7 @@ using MySql.Data.MySqlClient;
using CommonFunc.Tools;
using XGL.Models.Model;
using XGL.Models;
+using System.Threading;
namespace XGL.Dats.DBServiceFinishProd
{
@@ -3414,21 +3415,22 @@ left join basedata_plcsetting f on a.PlcId5=f.Id
public void InsertCheckTaskDetail(string value,string where)
{
- StringBuilder strSql = new StringBuilder();
- strSql.Append("UPDATE qc_check_task_detail ");
- strSql.Append("SET actual_value =");
- if (value==null)
- {
- strSql.Append("NULL");
- }
- else
- {
- strSql.Append($"'{value}'");
- }
+ Thread.Sleep(12000);
+ //StringBuilder strSql = new StringBuilder();
+ //strSql.Append("UPDATE qc_check_task_detail ");
+ //strSql.Append("SET actual_value =");
+ //if (value==null)
+ //{
+ // strSql.Append("NULL");
+ //}
+ //else
+ //{
+ // strSql.Append($"'{value}'");
+ //}
- strSql.Append(" WHERE record_id =");
- strSql.Append($"'{where}'");
- int rowsAffected = Utils.netClientDBHelper.executeUpdate(strSql.ToString());
+ //strSql.Append(" WHERE record_id =");
+ //strSql.Append($"'{where}'");
+ //Utils.netClientDBHelper.executeUpdate(strSql.ToString());
}
// ///
diff --git a/shangjian/XGLFinishPro/Views/weighWindows.xaml.cs b/shangjian/XGLFinishPro/Views/weighWindows.xaml.cs
index 954a30f..ce6e5e1 100644
--- a/shangjian/XGLFinishPro/Views/weighWindows.xaml.cs
+++ b/shangjian/XGLFinishPro/Views/weighWindows.xaml.cs
@@ -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
/// 称重更新数据库
///
///
- 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
///
///
///
- 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);
// 从数据源中移除该项
}