未关闭抽屉添加提示音,退出时未关闭抽屉菜单显示不对修改
This commit is contained in:
parent
5793c1ffcf
commit
c7a3ef80ad
|
@ -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 啦!也就是说,程序并不会因为这次的异常而崩溃退出。--><!--
|
||||||
|
|
|
@ -86,7 +86,7 @@ namespace DM_Weight.Port
|
||||||
|
|
||||||
// 是否正在操作中
|
// 是否正在操作中
|
||||||
public bool Operate { get; set; }
|
public bool Operate { get; set; }
|
||||||
|
|
||||||
//冰箱是否正在操作中
|
//冰箱是否正在操作中
|
||||||
public bool FridgeOperate { get; set; }
|
public bool FridgeOperate { get; set; }
|
||||||
|
|
||||||
|
@ -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();
|
||||||
|
@ -764,23 +770,23 @@ namespace DM_Weight.Port
|
||||||
byte[] buffer = new byte[length];
|
byte[] buffer = new byte[length];
|
||||||
// try
|
// try
|
||||||
// {
|
// {
|
||||||
int _length = 0;
|
int _length = 0;
|
||||||
DateTime start = DateTime.Now;
|
DateTime start = DateTime.Now;
|
||||||
DateTime end = DateTime.Now;
|
DateTime end = DateTime.Now;
|
||||||
while (_length != length && end.Subtract(start).TotalMilliseconds < timeout)
|
while (_length != length && end.Subtract(start).TotalMilliseconds < timeout)
|
||||||
{
|
{
|
||||||
_length = serialPort.BytesToRead;
|
_length = serialPort.BytesToRead;
|
||||||
end = DateTime.Now;
|
end = DateTime.Now;
|
||||||
}
|
}
|
||||||
if (_length != length)
|
if (_length != length)
|
||||||
{
|
{
|
||||||
throw new TimeoutException($"串口【{serialPort.PortName}】交互超时");
|
throw new TimeoutException($"串口【{serialPort.PortName}】交互超时");
|
||||||
}
|
}
|
||||||
serialPort.Read(buffer, 0, length);
|
serialPort.Read(buffer, 0, length);
|
||||||
// }
|
// }
|
||||||
// catch (Exception ex)
|
// catch (Exception ex)
|
||||||
// {
|
// {
|
||||||
// logger.Error($"GetBufferByPort:{ex.Message}");
|
// logger.Error($"GetBufferByPort:{ex.Message}");
|
||||||
// }
|
// }
|
||||||
return buffer;
|
return buffer;
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
|
@ -1265,7 +1271,7 @@ namespace DM_Weight.Port
|
||||||
logger.Info($"操作发生异常:ex:{ex.Message}");
|
logger.Info($"操作发生异常:ex:{ex.Message}");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
// 回收箱状态查询
|
// 回收箱状态查询
|
||||||
public async Task<byte[]> CheckRecoverStatus()
|
public async Task<byte[]> CheckRecoverStatus()
|
||||||
|
@ -1426,7 +1432,7 @@ namespace DM_Weight.Port
|
||||||
});
|
});
|
||||||
logger.Info($"操作发生异常:ex:{ex.Message},方法名:ClearCount;参数:{DrawerNo},{ColNo}");
|
logger.Info($"操作发生异常:ex:{ex.Message},方法名:ClearCount;参数:{DrawerNo},{ColNo}");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async void SetNumCount(int DrawerNo, int ColNo, int Quantity)
|
public async void SetNumCount(int DrawerNo, int ColNo, int Quantity)
|
||||||
|
@ -1457,7 +1463,7 @@ namespace DM_Weight.Port
|
||||||
});
|
});
|
||||||
logger.Info($"操作发生异常:ex:{ex.Message},方法名:SetNumCount;参数:{DrawerNo},{ColNo},{Quantity}");
|
logger.Info($"操作发生异常:ex:{ex.Message},方法名:SetNumCount;参数:{DrawerNo},{ColNo},{Quantity}");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1507,7 +1513,7 @@ namespace DM_Weight.Port
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
fridgeSerial.DiscardInBuffer();
|
fridgeSerial.DiscardInBuffer();
|
||||||
byte bAddress;
|
byte bAddress;
|
||||||
if (iIndex == 1)
|
if (iIndex == 1)
|
||||||
{
|
{
|
||||||
|
@ -1546,7 +1552,7 @@ namespace DM_Weight.Port
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
fridgeSerial.DiscardInBuffer();
|
fridgeSerial.DiscardInBuffer();
|
||||||
byte bAddress;
|
byte bAddress;
|
||||||
if (iIndex == 1)
|
if (iIndex == 1)
|
||||||
{
|
{
|
||||||
|
@ -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);
|
||||||
|
|
|
@ -145,7 +145,7 @@ namespace DM_Weight.ViewModels
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
SetProperty(ref _selectedChildMenu, value);
|
SetProperty(ref _selectedChildMenu, value);
|
||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
@ -424,7 +437,7 @@ namespace DM_Weight.ViewModels
|
||||||
{
|
{
|
||||||
string retStr = string.Empty;
|
string retStr = string.Empty;
|
||||||
byte[] data = null;
|
byte[] data = null;
|
||||||
float retT = await _portUtil.GetFridgeTemperature(1);
|
float retT = await _portUtil.GetFridgeTemperature(1);
|
||||||
Thread.Sleep(80);
|
Thread.Sleep(80);
|
||||||
WD = $"恒温冷藏抽屉当前温度:{Math.Round((retT - 1.5), 2)}℃;";
|
WD = $"恒温冷藏抽屉当前温度:{Math.Round((retT - 1.5), 2)}℃;";
|
||||||
if (Convert.ToInt32(ConfigurationManager.AppSettings["hasFridge"]) > 1)
|
if (Convert.ToInt32(ConfigurationManager.AppSettings["hasFridge"]) > 1)
|
||||||
|
@ -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();
|
||||||
|
|
Loading…
Reference in New Issue