未关闭抽屉添加提示音,退出时未关闭抽屉菜单显示不对修改

This commit is contained in:
maqiao 2024-12-22 09:22:37 +08:00
parent 5793c1ffcf
commit c7a3ef80ad
3 changed files with 58 additions and 38 deletions

View File

@ -3,7 +3,7 @@
<connectionStrings> <connectionStrings>
<!-- 数据库连接字符串 --> <!-- 数据库连接字符串 -->
<!--<add name="database" connectionString="server=127.0.0.1;database=wpf_dm_program;userid=root;password=qq1223" />--> <!--<add name="database" connectionString="server=127.0.0.1;database=wpf_dm_program;userid=root;password=qq1223" />-->
<add name="database" connectionString="server=127.0.0.1;port=3306;database=xx_xiangchang2;userid=root;password=root" /> <add name="database" connectionString="server=127.0.0.1;port=3306;database=xiangxiang_xianchang;userid=root;password=root" />
</connectionStrings> </connectionStrings>
<!--<runtime> <!--<runtime>
--><!--配置之后Appdomain.CurrentDomain.UnhandledException 事件的 IsTerminating 就变成了 false 啦!也就是说,程序并不会因为这次的异常而崩溃退出。--><!-- --><!--配置之后Appdomain.CurrentDomain.UnhandledException 事件的 IsTerminating 就变成了 false 啦!也就是说,程序并不会因为这次的异常而崩溃退出。--><!--

View File

@ -187,13 +187,13 @@ namespace DM_Weight.Port
int[] r = buffer.Select(it => Convert.ToInt32(it)).ToArray(); int[] r = buffer.Select(it => Convert.ToInt32(it)).ToArray();
logger.Info($"GetAllDrawerLockState{string.Join(",", r)}"); logger.Info($"GetAllDrawerLockState{string.Join(",", r)}");
int[] subArray=new int[8]; int[] subArray = new int[8];
for(int i=0;i<8;i++) for (int i = 0; i < 8; i++)
{ {
subArray[i] = r[2 + i]; subArray[i] = r[2 + i];
} }
bool state= subArray.All(r => r > 0); bool state = subArray.All(r => r > 0);
if(state) if (state)
{ {
//抽屉全部关闭 //抽屉全部关闭
@ -416,7 +416,7 @@ namespace DM_Weight.Port
} }
} }
int i = 10;
public async void GetDrawerStatus() public async void GetDrawerStatus()
{ {
try try
@ -517,6 +517,12 @@ namespace DM_Weight.Port
logger.Info($"单支板数量变化【{string.Join(",", Quantitys)}】"); logger.Info($"单支板数量变化【{string.Join(",", Quantitys)}】");
} }
i--;
if (i == 0)
{
SpeakAsync("请关闭抽屉");
i = 10;
}
// 继续监听抽屉状态 // 继续监听抽屉状态
await Task.Delay(200); await Task.Delay(200);
GetDrawerStatus(); GetDrawerStatus();
@ -1076,7 +1082,7 @@ namespace DM_Weight.Port
var vlock = 321; var vlock = 321;
decimal decolNO = (decimal)ColNo; decimal decolNO = (decimal)ColNo;
var channel = Convert.ToInt32((DrawerNo * 10 + Math.Ceiling(decolNO % 3)).ToString(), 16); var channel = Convert.ToInt32((DrawerNo * 10 + Math.Ceiling(decolNO % 3)).ToString(), 16);
byte[] buffer = new byte[] { 0xaa, (byte)channel, 5,(byte)vlock, 0x00,0x00,0x00,0xee}; byte[] buffer = new byte[] { 0xaa, (byte)channel, 5, (byte)vlock, 0x00, 0x00, 0x00, 0xee };
canBusSerial.Write(buffer, 0, 8); canBusSerial.Write(buffer, 0, 8);
await Task.Delay(TimeSpan.FromMilliseconds(20)); await Task.Delay(TimeSpan.FromMilliseconds(20));
} }
@ -1089,7 +1095,7 @@ namespace DM_Weight.Port
{ {
decimal deColNo = (decimal)ColNo; decimal deColNo = (decimal)ColNo;
var channel = Convert.ToInt32((DrawerNo * 10 + Math.Ceiling(deColNo / 3)).ToString(), 16); var channel = Convert.ToInt32((DrawerNo * 10 + Math.Ceiling(deColNo / 3)).ToString(), 16);
byte[] buffer = new byte[] {0xaa,(byte)channel,2,0,0,0,0,0xee }; byte[] buffer = new byte[] { 0xaa, (byte)channel, 2, 0, 0, 0, 0, 0xee };
canBusSerial.Write(buffer, 0, 8); canBusSerial.Write(buffer, 0, 8);
return await GetBufferByPort(canBusSerial, 8); return await GetBufferByPort(canBusSerial, 8);
} }
@ -1183,7 +1189,7 @@ namespace DM_Weight.Port
{ {
canBusSerial.DiscardInBuffer(); canBusSerial.DiscardInBuffer();
int channel = Convert.ToInt32((drawerNo * 10 + colNo).ToString(),16); int channel = Convert.ToInt32((drawerNo * 10 + colNo).ToString(), 16);
byte[] buffer = new byte[] { 0xaa, (byte)channel, 6, 0, 0, 0, 0, 0xee }; byte[] buffer = new byte[] { 0xaa, (byte)channel, 6, 0, 0, 0, 0, 0xee };
buffer[3] = (byte)(quantity >> 8); buffer[3] = (byte)(quantity >> 8);
buffer[4] = (byte)(quantity & 0xff); buffer[4] = (byte)(quantity & 0xff);
@ -1232,7 +1238,7 @@ namespace DM_Weight.Port
#region #region
//清屏 //清屏
public void ClearContentMethod(int drawerNo,int colNo) public void ClearContentMethod(int drawerNo, int colNo)
{ {
decimal deColNo = colNo; decimal deColNo = colNo;
var channel = drawerNo * 10 + Math.Ceiling(deColNo / 3); var channel = drawerNo * 10 + Math.Ceiling(deColNo / 3);
@ -1622,7 +1628,7 @@ namespace DM_Weight.Port
/// 冰箱温度设定最小 /// 冰箱温度设定最小
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public async Task FridgeMinSetting(float min,int iIndex) public async Task FridgeMinSetting(float min, int iIndex)
{ {
try try
{ {
@ -1661,7 +1667,7 @@ namespace DM_Weight.Port
/// 冰箱温度设定最大 /// 冰箱温度设定最大
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public async Task FridgeMaxSetting(float max,int iIndex) public async Task FridgeMaxSetting(float max, int iIndex)
{ {
try try
{ {
@ -1706,9 +1712,9 @@ namespace DM_Weight.Port
{ {
fridgeSerial.DiscardInBuffer(); fridgeSerial.DiscardInBuffer();
byte bAddress; byte bAddress;
if (iIndex == 1 ) if (iIndex == 1)
{ {
bAddress=0x01; bAddress = 0x01;
} }
else else
{ {
@ -1754,7 +1760,7 @@ namespace DM_Weight.Port
/// 设置冰箱温度 /// 设置冰箱温度
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public async Task<float> SetFridgeTemperature(float temperature,int iIndex) public async Task<float> SetFridgeTemperature(float temperature, int iIndex)
{ {
int tpt = (int)temperature * 10; int tpt = (int)temperature * 10;
byte Temperature = (byte)(tpt & 0xff); byte Temperature = (byte)(tpt & 0xff);

View File

@ -172,6 +172,7 @@ namespace DM_Weight.ViewModels
SetProperty(ref _selectedMenu, value); SetProperty(ref _selectedMenu, value);
} }
} }
PremissionDm? PreSelectedMenu;
#region #region
#endregion #endregion
@ -182,6 +183,18 @@ namespace DM_Weight.ViewModels
} }
private void SelectionMethod() private void SelectionMethod()
{ {
if (SelectedMenu != null && SelectedMenu.PremissionName != "退出")
{
PreSelectedMenu = SelectedMenu;
}
if (_portUtil.Operate)
{
if (PreSelectedMenu != null)
{
SelectedMenu = PreSelectedMenu;
}
}
//SelectedMenu = viewName.SelectedItem as PremissionDm; //SelectedMenu = viewName.SelectedItem as PremissionDm;
//if (SelectedMenu.PremissionName == "退出") //if (SelectedMenu.PremissionName == "退出")
//{ //{
@ -198,7 +211,7 @@ namespace DM_Weight.ViewModels
// SelectedChildMenu = SelectedMenu.Children[0]; // SelectedChildMenu = SelectedMenu.Children[0];
//} //}
logger.Info("开始进入父菜单"); logger.Info("开始进入父菜单");
if (SelectedMenu != null && SelectedMenu.PremissionName == "退出") if (SelectedMenu != null && SelectedMenu.PremissionName == "退出" && !_portUtil.Operate)
{ {
logger.Info($"用户【{Operator?.Nickname}】退出登录"); logger.Info($"用户【{Operator?.Nickname}】退出登录");
Operator = null; Operator = null;
@ -520,6 +533,7 @@ namespace DM_Weight.ViewModels
//.ToTree(pd => pd.Children, pd => pd.ParentId, 0); //.ToTree(pd => pd.Children, pd => pd.ParentId, 0);
PremissionDmList = premissions; PremissionDmList = premissions;
SelectedMenu = premissions[0]; SelectedMenu = premissions[0];
PreSelectedMenu= premissions[0];
SelectedChildMenu = premissions[0].Children[0]; SelectedChildMenu = premissions[0].Children[0];
_regionManager.RequestNavigate("ContentRegion", premissions[0].Children[0].PremissionPath); _regionManager.RequestNavigate("ContentRegion", premissions[0].Children[0].PremissionPath);
FindDrawerCount(); FindDrawerCount();