From 79f6ec12fa4f7b7a92bf41e5406dcc39ce23c9f2 Mon Sep 17 00:00:00 2001
From: maqiao <625215135@qq.com>
Date: Thu, 28 Nov 2024 10:09:37 +0800
Subject: [PATCH] =?UTF-8?q?=E9=BA=BB=E9=86=89=E5=B8=88=E7=A1=AE=E8=AE=A4?=
=?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=8C=89=E9=92=AE=E4=BF=9D=E5=AD=98=E5=8D=95?=
=?UTF-8?q?=E5=AD=90=E7=8A=B6=E6=80=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
DM_Weight/App.config | 1 +
DM_Weight/Converter/DrawerSelectConverter.cs | 7 +-
DM_Weight/Port/ModbusHelper.cs | 8 ++
.../CheckOrderNewWindowViewModel.cs | 2 +-
.../CheckSelfOrderWindowViewModel.cs | 81 ++++++++++---------
DM_Weight/Views/CheckSelfOrderWindow.xaml | 16 ++--
6 files changed, 63 insertions(+), 52 deletions(-)
diff --git a/DM_Weight/App.config b/DM_Weight/App.config
index c46c327..57a9162 100644
--- a/DM_Weight/App.config
+++ b/DM_Weight/App.config
@@ -124,5 +124,6 @@
+
\ No newline at end of file
diff --git a/DM_Weight/Converter/DrawerSelectConverter.cs b/DM_Weight/Converter/DrawerSelectConverter.cs
index c9224cd..459370f 100644
--- a/DM_Weight/Converter/DrawerSelectConverter.cs
+++ b/DM_Weight/Converter/DrawerSelectConverter.cs
@@ -13,10 +13,11 @@ namespace DM_Weight.Converter
{
public object Convert(object[] value, Type targetType, object parameter, CultureInfo culture)
{
- int iLength = value[0].ToString().Length;
- int ButtonDrawerNo = int.Parse(value[0].ToString().Substring(0, iLength-3));
+ //int iLength = value[0].ToString().Length;
+ int iLength = value[0].ToString().IndexOf("号药箱");
+ int ButtonDrawerNo = int.Parse(value[0].ToString().Substring(0, iLength));
int SelectedDrawerNo = int.Parse(value[1].ToString());
- return ButtonDrawerNo == SelectedDrawerNo+1;
+ return ButtonDrawerNo == SelectedDrawerNo;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
diff --git a/DM_Weight/Port/ModbusHelper.cs b/DM_Weight/Port/ModbusHelper.cs
index 5b4fdb2..eb2bf65 100644
--- a/DM_Weight/Port/ModbusHelper.cs
+++ b/DM_Weight/Port/ModbusHelper.cs
@@ -56,6 +56,10 @@ namespace DM_Weight.Port
public bool[] GetAllBoxState()
{
+ if (ConfigurationManager.AppSettings["test"]!=null&&ConfigurationManager.AppSettings["test"].ToString().Equals("Y"))
+ {
+ return new bool[] { false,false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false};
+ }
bool[] bools = Policy.Handle()
.Retry(3, (exception, retryCount) =>
{
@@ -82,6 +86,10 @@ namespace DM_Weight.Port
}
public bool OpenBoxDoor(int boxNum)
{
+ if (ConfigurationManager.AppSettings["test"] != null && ConfigurationManager.AppSettings["test"].ToString().Equals("Y"))
+ {
+ return true;
+ }
bool bFlag=false;
Policy.Handle().Retry(3, ((exception, retryCount) =>
{
diff --git a/DM_Weight/ViewModels/CheckOrderNewWindowViewModel.cs b/DM_Weight/ViewModels/CheckOrderNewWindowViewModel.cs
index a838b07..41c0d8c 100644
--- a/DM_Weight/ViewModels/CheckOrderNewWindowViewModel.cs
+++ b/DM_Weight/ViewModels/CheckOrderNewWindowViewModel.cs
@@ -775,7 +775,7 @@ namespace DM_Weight.ViewModels
RequestData();
Status = 1;
_portUtil.SpeakAsync($"正在打开{DrawerNo + 1}号药箱");
- logger.Info($"正在打开{DrawerNo + 1}号药箱");
+ //logger.Info($"正在打开{DrawerNo + 1}号药箱");
//记录开药箱日志
SqlSugarHelper.Db.Insertable(machineRecord).ExecuteCommand();
ModbusHelper.GetInstance().OpenBoxDoor(DrawerNo);
diff --git a/DM_Weight/ViewModels/CheckSelfOrderWindowViewModel.cs b/DM_Weight/ViewModels/CheckSelfOrderWindowViewModel.cs
index b6c3d0d..463932d 100644
--- a/DM_Weight/ViewModels/CheckSelfOrderWindowViewModel.cs
+++ b/DM_Weight/ViewModels/CheckSelfOrderWindowViewModel.cs
@@ -24,7 +24,7 @@ namespace DM_Weight.ViewModels
internal class CheckSelfOrderWindowViewModel : BindableBase, INavigationAware, IRegionMemberLifetime
{
private readonly ILog logger = LogManager.GetLogger(typeof(CheckOrderNewWindowViewModel));
- System.Timers.Timer CheckBoxStatusTimer;
+ //System.Timers.Timer CheckBoxStatusTimer;
private int _drawerType = -1;
public int DrawerType
@@ -755,16 +755,16 @@ namespace DM_Weight.ViewModels
SqlSugarHelper.Db.Insertable(machineRecord).ExecuteCommand();
ModbusHelper.GetInstance().OpenBoxDoor(DrawerNo);
SetBtnEnable(DrawerNo + 1, false);
- if (CheckBoxStatusTimer is null)
- {
- CheckBoxStatusTimer = new System.Timers.Timer();
- }
- if (!CheckBoxStatusTimer.Enabled)
- {
- CheckBoxStatusTimer.Elapsed += new System.Timers.ElapsedEventHandler(GetAllBoxState);
- CheckBoxStatusTimer.Interval = 3000;
- CheckBoxStatusTimer.Start();
- }
+ //if (CheckBoxStatusTimer is null)
+ //{
+ // CheckBoxStatusTimer = new System.Timers.Timer();
+ //}
+ //if (!CheckBoxStatusTimer.Enabled)
+ //{
+ // CheckBoxStatusTimer.Elapsed += new System.Timers.ElapsedEventHandler(GetAllBoxState);
+ // CheckBoxStatusTimer.Interval = 3000;
+ // CheckBoxStatusTimer.Start();
+ //}
//记录药箱打开时间
ChannelList channelList = SqlSugarHelper.Db.Queryable().Where(cl => cl.MachineId == "DM5" && cl.DrawerNo == DrawerNo + 1).First();
if (channelList != null && (channelList.EffDate is null || Convert.ToDateTime(channelList.EffDate).ToString("yyyy-MM-dd") != DateTime.Now.ToString("yyyy-MM-dd")))
@@ -890,6 +890,7 @@ namespace DM_Weight.ViewModels
get => new DelegateCommand(() =>
{
GetUseBox();
+ CheckOrderAction();
});
}
@@ -1112,7 +1113,7 @@ namespace DM_Weight.ViewModels
RequestData();
AlertMsg alertMsg = new AlertMsg
{
- Message = "所选单子已核对完成",
+ Message = "所选单子已确认",
Type = MsgType.SUCCESS,
};
_eventAggregator.GetEvent().Publish(alertMsg);
@@ -1204,16 +1205,16 @@ namespace DM_Weight.ViewModels
logger.Info($"正在打开{drawerNo}号药箱");
ModbusHelper.GetInstance().OpenBoxDoor(drawerNo - 1);
SetBtnEnable(drawerNo, false);
- if (CheckBoxStatusTimer is null)
- {
- CheckBoxStatusTimer = new System.Timers.Timer();
- }
- if (!CheckBoxStatusTimer.Enabled)
- {
- CheckBoxStatusTimer.Elapsed += new System.Timers.ElapsedEventHandler(GetAllBoxState);
- CheckBoxStatusTimer.Interval = 3000;
- CheckBoxStatusTimer.Start();
- }
+ //if (CheckBoxStatusTimer is null)
+ //{
+ // CheckBoxStatusTimer = new System.Timers.Timer();
+ //}
+ //if (!CheckBoxStatusTimer.Enabled)
+ //{
+ // CheckBoxStatusTimer.Elapsed += new System.Timers.ElapsedEventHandler(GetAllBoxState);
+ // CheckBoxStatusTimer.Interval = 3000;
+ // CheckBoxStatusTimer.Start();
+ //}
//记录药箱打开时间
ChannelList channelList = SqlSugarHelper.Db.Queryable().Where(cl => cl.MachineId == "DM5" && cl.DrawerNo == drawerNo).First();
if (channelList != null && (channelList.EffDate is null || Convert.ToDateTime(channelList.EffDate).ToString("yyyy-MM-dd") != DateTime.Now.ToString("yyyy-MM-dd")))
@@ -1225,24 +1226,24 @@ namespace DM_Weight.ViewModels
}
}
- private void GetAllBoxState(object sender, ElapsedEventArgs e)
- {
- //查询药箱是否关闭,如果已经关闭则按钮可用,可继续开该编号的药箱
- if (DrawerNo >= 0)
- {
- bool[] boolArrs = ModbusHelper.GetInstance().GetAllBoxState();
- bool allFalse = Array.TrueForAll(boolArrs, b => b == false);
- if (allFalse)
- {
- if (CheckBoxStatusTimer.Enabled)
- {
- CheckBoxStatusTimer.Stop();
- }
- }
- //设置对应药箱按钮可用状态
- SetBtnEnable(DrawerNo, !boolArrs[DrawerNo]);
- }
- }
+ //private void GetAllBoxState(object sender, ElapsedEventArgs e)
+ //{
+ // //查询药箱是否关闭,如果已经关闭则按钮可用,可继续开该编号的药箱
+ // if (DrawerNo >= 0)
+ // {
+ // bool[] boolArrs = ModbusHelper.GetInstance().GetAllBoxState();
+ // bool allFalse = Array.TrueForAll(boolArrs, b => b == false);
+ // if (allFalse)
+ // {
+ // if (CheckBoxStatusTimer.Enabled)
+ // {
+ // CheckBoxStatusTimer.Stop();
+ // }
+ // }
+ // //设置对应药箱按钮可用状态
+ // SetBtnEnable(DrawerNo, !boolArrs[DrawerNo]);
+ // }
+ //}
public bool IsNavigationTarget(NavigationContext navigationContext)
{
diff --git a/DM_Weight/Views/CheckSelfOrderWindow.xaml b/DM_Weight/Views/CheckSelfOrderWindow.xaml
index b1fed28..7bcf3a8 100644
--- a/DM_Weight/Views/CheckSelfOrderWindow.xaml
+++ b/DM_Weight/Views/CheckSelfOrderWindow.xaml
@@ -33,7 +33,7 @@
-
+
@@ -156,7 +156,7 @@
SelectedItem="{Binding selectOrderInfo}"
materialDesign:ListViewAssist.HeaderRowBackground="#31ccec"
materialDesign:DataGridAssist.ColumnHeaderPadding="10"
- materialDesign:ListViewAssist.ListViewItemPadding="13">
+ materialDesign:ListViewAssist.ListViewItemPadding="3">