修改单支断电调用页面

This commit is contained in:
maqiao 2025-10-27 17:08:50 +08:00
parent ecfe08ebeb
commit 148417c3c1
18 changed files with 299 additions and 228 deletions

View File

@ -150,11 +150,11 @@
{
if (orderTakeVo.Status == 0)
{
PortUtil.PowerOn(drawerNo);
await Task.Delay(portSetting.Value.delayTime);
// 判断是否为单支抽屉
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOn(drawerNo);
await Task.Delay(portSetting.Value.delayTime);
byte[] quantity = await PortUtil.CheckQuantityByDrawer(drawerNo);
orderTakeVo.BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", orderTakeVo.BeforeQuantity)}】");
@ -199,7 +199,10 @@
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
);
logger.Info($"抽屉打开失败");
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff(drawerNo);
}
RestData();
stop();
}
@ -277,7 +280,10 @@
}
//有单支抽屉则广播灭灯
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff(drawerNo);
}
// if (!string.IsNullOrEmpty(alertMessage))
// {
// //弹出确认对话框
@ -323,17 +329,15 @@
);
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff();
PortUtil.PowerOff(drawerNo);
}
stop();
}
});
PortUtil.PowerOff();
}
void RestData()
{
PortUtil.PowerOff();
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
this.status = 0;
data.ForEach(it =>

View File

@ -114,11 +114,11 @@
{
if (orderTakeVo.Status == 0)
{
PortUtil.PowerOn(drawerNo);
await Task.Delay(portSetting.Value.delayTime);
// 判断是否为单支抽屉
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOn(drawerNo);
await Task.Delay(portSetting.Value.delayTime);
byte[] quantity = await PortUtil.CheckQuantityByDrawer(drawerNo);
orderTakeVo.BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", orderTakeVo.BeforeQuantity)}】");
@ -163,7 +163,10 @@
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
);
logger.Info($"抽屉打开失败");
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff(drawerNo);
}
RestData();
stop();
}
@ -232,8 +235,15 @@
}
}
//有单支抽屉则广播灭灯
PortUtil.PowerOff(drawerNo);
// 所有抽屉操作完成,断电单支抽屉
for (int i = 0; i < drawerNos.Count; i++)
{
if (setting.Value.single.Contains(drawerNos[i].ChannelStock.DrawerNo))
{
PortUtil.PowerOff(drawerNos[i].ChannelStock.DrawerNo);
await Task.Delay(200);
}
}
// if (!string.IsNullOrEmpty(alertMessage))
// {
// //弹出确认对话框
@ -284,12 +294,10 @@
stop();
}
});
PortUtil.PowerOff();
}
void RestData()
{
PortUtil.PowerOff();
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
this.status = 0;
data.ForEach(it =>

View File

@ -276,8 +276,6 @@
drawerNo = Convert.ToInt32(selectSpl[0]);
colNo = Convert.ToInt32(selectSpl[1]);
}
PortUtil.PowerOn(drawerNo);
await Task.Delay(portSetting.Value.delayTime);
PortUtil.DrawerNo = drawerNo;
// 根据抽屉类型来决定打开前是否需要查询数量
var promiseUtil = new PromiseUtil<object>();
@ -295,6 +293,8 @@
// 判断是否为单支抽屉
if (drawerSetting.Value.single != null && drawerSetting.Value.single.Contains(this.drawerNo))
{
PortUtil.PowerOn(drawerNo);
await Task.Delay(portSetting.Value.delayTime);
byte[] quantity = await PortUtil.CheckQuantityByDrawer(this.drawerNo);
BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", BeforeQuantity)}】");
@ -332,6 +332,10 @@
PortUtil.SpeakAsync($"加药完成,请,点击完成按钮");
this.status = 3;
PortUtil.Operate = false;
if (drawerSetting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff(drawerNo);
}
stop();
}
else
@ -364,12 +368,10 @@
stop();
}
});
PortUtil.PowerOff();
}
void RestData()
{
PortUtil.PowerOff();
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
this.status = 0;
// this.BeforeQuantity = new int[9];

View File

@ -321,7 +321,6 @@
void RestData()
{
PortUtil.PowerOff();
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
this.status = 0;
// this.BeforeQuantity = new int[9];

View File

@ -183,11 +183,11 @@
{
if (orderTakeVo.Status == 0)
{
PortUtil.PowerOn(drawerNo);
await Task.Delay(portSetting.Value.delayTime);
// 判断是否为单支抽屉
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOn(drawerNo);
await Task.Delay(portSetting.Value.delayTime);
byte[] quantity = await PortUtil.CheckQuantityByDrawer(drawerNo);
orderTakeVo.BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", orderTakeVo.BeforeQuantity)}】");
@ -215,7 +215,10 @@
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
);
logger.Info($"抽屉打开失败");
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff(drawerNo);
}
RestData();
stop();
}
@ -238,7 +241,6 @@
}
});
orderTakeVo.Status = 2;
PortUtil.PowerOff(drawerNo);
if (options._data == drawerNos.Count - 1)
{
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
@ -279,6 +281,10 @@
dialogService.Close(false);
}
}
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff(drawerNo);
}
stop();
}
else
@ -311,12 +317,10 @@
stop();
}
});
PortUtil.PowerOff();
}
void RestData()
{
PortUtil.PowerOff();
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
this.status = 0;
data.ForEach(it =>

View File

@ -391,7 +391,7 @@
_message.Notify(
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = errMessage, Duration = 4000 }
);
break; ;
break;
}
}
else

View File

@ -205,8 +205,6 @@
async Task OpenDrawer()
{
this.status = 1;
PortUtil.PowerOn(this.drawerNo);
await Task.Delay(portSetting.Value.delayTime);
PortUtil.DrawerNo = this.drawerNo;
// 根据抽屉类型来决定打开前是否需要查询数量
var promiseUtil = new PromiseUtil<object>();
@ -224,6 +222,8 @@
// 判断是否为单支抽屉
if (setting.Value.single != null && setting.Value.single.Contains(this.drawerNo))
{
PortUtil.PowerOn(this.drawerNo);
await Task.Delay(portSetting.Value.delayTime);
byte[] quantity = await PortUtil.CheckQuantityByDrawer(this.drawerNo);
BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", BeforeQuantity)}】");
@ -257,6 +257,10 @@
logger.Info($"抽屉打开失败");
RestData();
PortUtil.Operate = false;
if (setting.Value.single.Contains(this.drawerNo))
{
PortUtil.PowerOff(this.drawerNo);
}
stop();
}
@ -279,6 +283,11 @@
}
this.status = 3;
PortUtil.Operate = false;
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff(this.drawerNo);
}
stop();
}
else
@ -353,12 +362,10 @@
stop();
}
});
PortUtil.PowerOff(this.drawerNo);
}
void RestData()
{
PortUtil.PowerOff(this.drawerNo);
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
this.status = 0;
this.BeforeQuantity = new int[9];

View File

@ -230,8 +230,6 @@
async Task OpenDrawer()
{
this.status = 1;
PortUtil.PowerOn(this.drawerNo);
await Task.Delay(portSetting.Value.delayTime);
PortUtil.DrawerNo = this.drawerNo;
// 根据抽屉类型来决定打开前是否需要查询数量
var promiseUtil = new PromiseUtil<object>();
@ -249,6 +247,8 @@
// 判断是否为单支抽屉
if (setting.Value.single != null && setting.Value.single.Contains(this.drawerNo))
{
PortUtil.PowerOn(this.drawerNo);
await Task.Delay(portSetting.Value.delayTime);
byte[] quantity = await PortUtil.CheckQuantityByDrawer(this.drawerNo);
BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", BeforeQuantity)}】");
@ -277,6 +277,10 @@
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
);
logger.Info($"抽屉打开失败");
if (setting.Value.single.Contains(this.drawerNo))
{
PortUtil.PowerOff(this.drawerNo);
}
RestData();
stop();
}
@ -309,6 +313,10 @@
logger.Info($"关闭抽屉,称重抽屉获取稳定数量后日志");
this.status = 3;
PortUtil.Operate = false;
if (setting.Value.single.Contains(this.drawerNo))
{
PortUtil.PowerOff(this.drawerNo);
}
stop();
}
else
@ -390,7 +398,6 @@
stop();
}
});
PortUtil.PowerOff(this.drawerNo);
}
//关闭抽屉后获取称重稳定数量
public async Task GetWeightQuantity()
@ -488,7 +495,6 @@
}
void RestData()
{
PortUtil.PowerOff(this.drawerNo);
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
this.status = 0;
this.BeforeQuantity = new int[9];

View File

@ -208,12 +208,18 @@
else if (this.status == 1)
{
if (options._data == 0)
{
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOn(drawerNo);
await Task.Delay(portSetting.Value.delayTime);
}
BeforeQuantity = new int[9];
AfterQuantity = new int[9];
int flag = 0;//抽屉对应库位无药位置亮灯指令只发一次
for (int j = 0; j < data[index].ChannelStocks.Count; j++)
{
if (data[index].ChannelStocks[j].AddQuantity > 0)
{
// _flagList.Add(flag);
//单支-查数
@ -222,10 +228,14 @@
byte[] quantity = await PortUtil.CheckQuantityByDrawer(data[index].ChannelStocks[j].DrawerNo);
data[index].BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
logger.Info($"单支抽屉【{drawerNo}】,开抽屉前检测数量【{string.Join(",", data[index].BeforeQuantity)}】");
await PortUtil.NoLightOnByCol(drawerNo, data.Select(ot => ot.ChannelStocks.Where(cs => cs.DrawerNo == drawerNo).Select(cs => cs.ColNo)).Cast<int>().ToArray());
if (flag == 0)
{
await PortUtil.NoLightOnByCol(drawerNo, data[index].ChannelStocks.Where(cs => cs.DrawerNo == drawerNo).Select(cs => cs.ColNo).ToArray());
flag = 1;
}
//称重-查数
}
//称重-查数++
if (data[index].ChannelStocks[j].BoardType.ToString().Contains("6"))
{
PortUtil.DrawerNo = data[index].ChannelStocks[j].DrawerNo;// drawerNo;
@ -243,6 +253,7 @@
await Task.Delay(200);
}
}
}
var b = await PortUtil.OpenDrawerStatus(drawerNo);
if (b)
{
@ -258,7 +269,10 @@
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
);
logger.Info($"抽屉打开失败");
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff(drawerNo);
}
RestData();
stop();
}
@ -272,10 +286,6 @@
if (b)
{
options._data = 0;
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff(drawerNo);
}
if (index == drawerNos.Count - 1)
{
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
@ -286,6 +296,8 @@
for (int i = 0; i < data.Count; i++)
{
for (int j = 0; j < data[i].ChannelStocks.Count; j++)
{
if (data[i].ChannelStocks[j].AddQuantity > 0)
{
string flag = "关" + data[i].ChannelStocks[j].DrawerNo.ToString() + data[i].ChannelStocks[j].ColNo.ToString();
@ -327,36 +339,47 @@
//弹出确认对话框
alertMessage += "应取数与实际取出数不一致确认要保存吗?";
//弹出确认提示框
var confirm = await dialogService.OpenAsync<ConfirmDialog>
(
$"保存确认",
new Dictionary<string, object>
() { { "confirmInfo", alertMessage } },
new DialogOptions()
{ Width = "45vw", Resizable = true, Draggable = true, ShowClose = false });
// var confirm = await dialogService.OpenAsync<ConfirmDialog>
// (
// $"保存确认",
// new Dictionary<string, object>
// () { { "confirmInfo", alertMessage } },
// new DialogOptions()
// { Width = "45vw", Resizable = true, Draggable = true, ShowClose = false });
if (!confirm)
{
RestData();
logger.Info("取消保存");
cancelFlag = true;
// 关闭弹窗
dialogService.Close(false);
break;
}
else
{
// if (!confirm)
// {
// RestData();
// logger.Info("取消保存");
// cancelFlag = true;
// // 关闭弹窗
// dialogService.Close(false);
// break;
// }
// else
// {
// logger.Info(alertMessage);
// }
logger.Info(alertMessage);
}
alertMessage = string.Empty;
}
}
}
}
if (cancelFlag)
{
break;
}
}
// 所有抽屉操作完成,断电单支抽屉
for (int i = 0; i < drawerNos.Count; i++)
{
if (setting.Value.single.Contains(drawerNos[i]))
{
PortUtil.PowerOff(drawerNos[i]);
await Task.Delay(200);
}
}
stop();
}
else
@ -402,12 +425,10 @@
}
}
});
PortUtil.PowerOff();
}
void RestData()
{
PortUtil.PowerOff();
PortUtil.Operate = false;
this.status = 0;
_flagList.Clear();

View File

@ -220,7 +220,10 @@
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
);
logger.Info($"抽屉打开失败");
PortUtil.PowerOff();
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff(drawerNo);
}
RestData();
stop();
}
@ -234,10 +237,6 @@
if (b)
{
options._data = 0;
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff();
}
if (index == drawerNos.Count - 1)
{
@ -315,6 +314,10 @@
break;
}
}
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff(drawerNo);
}
stop();
}
else
@ -365,7 +368,11 @@
);
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff();
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff(drawerNo);
}
}
stop();
}
@ -374,7 +381,6 @@
void RestData()
{
PortUtil.PowerOff();
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
this.status = 0;
this.BeforeQuantity = new int[9];

View File

@ -124,11 +124,11 @@
{
if (orderTakeVo.Status == 0)
{
PortUtil.PowerOn(drawerNo);
await Task.Delay(portSetting.Value.delayTime);
// 判断是否为单支抽屉
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOn(drawerNo);
await Task.Delay(portSetting.Value.delayTime);
byte[] quantity = await PortUtil.CheckQuantityByDrawer(drawerNo);
orderTakeVo.BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", orderTakeVo.BeforeQuantity)}】");
@ -173,7 +173,10 @@
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
);
logger.Info($"抽屉打开失败");
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff(drawerNo);
}
RestData();
stop();
}
@ -196,7 +199,6 @@
}
});
orderTakeVo.Status = 2;
PortUtil.PowerOff(drawerNo);
if (options._data == drawerNos.Count - 1)
{
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
@ -253,6 +255,10 @@
dialogService.Close(false);
}
}
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff(drawerNo);
}
stop();
}
else
@ -285,13 +291,10 @@
stop();
}
});
PortUtil.PowerOff();
}
void RestData()
{
PortUtil.PowerOff();
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
this.status = 0;
data.ForEach(it =>

View File

@ -168,8 +168,11 @@
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
);
logger.Info($"处方退药抽屉【{drawerNo}】打开失败");
PortUtil.PowerOff();
RestData();
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff(drawerNo);
}
stop();
}
}
@ -182,15 +185,15 @@
if (b)
{
options._data = 0;
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff();
}
if (index == drawerNos.Count - 1)
{
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
PortUtil.SpeakAsync($"退药完成,请,点击完成按钮进行确认");
this.status = 2;
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff(drawerNo);
}
stop();
}
else
@ -232,7 +235,7 @@
);
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff();
PortUtil.PowerOff(drawerNo);
}
stop();
}
@ -241,7 +244,6 @@
void RestData()
{
PortUtil.PowerOff();
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
this.status = 0;
}

View File

@ -158,13 +158,13 @@
{
if (options._data == 0)
{
PortUtil.PowerOn(drawerNo);
await Task.Delay(portSetting.Value.delayTime);
BeforeQuantity = new int[9];
AfterQuantity = new int[9];
// 判断是否为单支抽屉
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOn(drawerNo);
await Task.Delay(portSetting.Value.delayTime);
byte[] quantity = await PortUtil.CheckQuantityByDrawer(drawerNo);
BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
logger.Info($"单支抽屉【{drawerNo}】,开抽屉前检测数量【{string.Join(",", BeforeQuantity)}】");
@ -185,7 +185,10 @@
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
);
logger.Info($"抽屉打开失败");
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff(drawerNo);
}
RestData();
stop();
}
@ -257,12 +260,10 @@
stop();
}
});
PortUtil.PowerOff();
}
void RestData()
{
PortUtil.PowerOff();
this.status = 0;
}

View File

@ -191,13 +191,13 @@
{
if (options._data == 0)
{
PortUtil.PowerOn(drawerNo);
await Task.Delay(portSetting.Value.delayTime);
BeforeQuantity = new int[9];
AfterQuantity = new int[9];
// 判断是否为单支抽屉
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOn(drawerNo);
await Task.Delay(portSetting.Value.delayTime);
byte[] quantity = await PortUtil.CheckQuantityByDrawer(drawerNo);
BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
logger.Info($"单支抽屉【{drawerNo}】,开抽屉前检测数量【{string.Join(",", BeforeQuantity)}】");
@ -218,7 +218,10 @@
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
);
logger.Info($"抽屉打开失败");
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff(drawerNo);
}
RestData();
stop();
}
@ -279,12 +282,10 @@
stop();
}
});
PortUtil.PowerOff();
}
void RestData()
{
PortUtil.PowerOff();
this.status = 0;
}

View File

@ -169,7 +169,10 @@
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
);
logger.Info($"抽屉打开失败");
PortUtil.PowerOff();
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff(drawerNo);
}
RestData();
stop();
}
@ -193,7 +196,6 @@
});
PortUtil.Operate = false;
orderTakeVo.Status = 2;
PortUtil.PowerOff();
if (options._data == drawerNos.Count - 1)
{
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
@ -250,6 +252,10 @@
dialogService.Close(false);
}
}
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff(drawerNo);
}
stop();
}
else
@ -304,7 +310,6 @@
}
void RestData()
{
PortUtil.PowerOff();
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
this.status = 0;
}

View File

@ -171,11 +171,11 @@
// 开启抽屉
else if (this.status == 1)
{
PortUtil.PowerOn(drawerNo);
await Task.Delay(portSetting.Value.delayTime);
// 判断是否为单支抽屉
if (setting.Value.single.Contains(this.drawerNo))
{
PortUtil.PowerOn(drawerNo);
await Task.Delay(portSetting.Value.delayTime);
byte[] quantity = await PortUtil.CheckQuantityByDrawer(this.drawerNo);
BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", BeforeQuantity)}】");
@ -210,6 +210,10 @@
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
PortUtil.SpeakAsync($"盘点完成,请,核对,或,录入,正确的,盘点数量");
this.status = 3;
if (setting.Value.single.Contains(drawerNo))
{
PortUtil.PowerOff(drawerNo);
}
stop();
}
else
@ -245,12 +249,10 @@
stop();
}
});
PortUtil.PowerOff();
}
void RestData()
{
PortUtil.PowerOff();
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
this.status = 0;
this.BeforeQuantity = new int[9];

View File

@ -492,7 +492,7 @@ namespace MasaBlazorApp3.Port
//单支板通电
public void PowerOn(int DrawerNo)
{
DrawerNo = (DrawerNo > 8 ? DrawerNo - 8 : DrawerNo)*10;
DrawerNo = Convert.ToInt32(((DrawerNo > 8 ? DrawerNo - 8 : DrawerNo)*10).ToString(),16);
if (_portConfig.StorageCan == 2)
{
canBusSerial.DiscardInBuffer();
@ -509,7 +509,7 @@ namespace MasaBlazorApp3.Port
//单支板断电
public void PowerOff(int DrawerNo)
{
DrawerNo = (DrawerNo > 8 ? DrawerNo - 8 : DrawerNo)*10;
DrawerNo = Convert.ToInt32(((DrawerNo > 8 ? DrawerNo - 8 : DrawerNo) * 10).ToString(), 16);
if (_portConfig.StorageCan == 2)
{
canBusSerial.DiscardInBuffer();

View File

@ -41,7 +41,7 @@
"delayTime": 200
},
"drawer": {
"single": [ 1,2 ],
"single": [ 1,2,3 ],
"weigh": [ 4 ],
"box": [ 4 ],
"label": [ 4 ],