修改单支断电调用页面
This commit is contained in:
parent
ecfe08ebeb
commit
148417c3c1
|
|
@ -150,11 +150,11 @@
|
||||||
{
|
{
|
||||||
if (orderTakeVo.Status == 0)
|
if (orderTakeVo.Status == 0)
|
||||||
{
|
{
|
||||||
PortUtil.PowerOn(drawerNo);
|
|
||||||
await Task.Delay(portSetting.Value.delayTime);
|
|
||||||
// 判断是否为单支抽屉
|
// 判断是否为单支抽屉
|
||||||
if (setting.Value.single.Contains(drawerNo))
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
{
|
{
|
||||||
|
PortUtil.PowerOn(drawerNo);
|
||||||
|
await Task.Delay(portSetting.Value.delayTime);
|
||||||
byte[] quantity = await PortUtil.CheckQuantityByDrawer(drawerNo);
|
byte[] quantity = await PortUtil.CheckQuantityByDrawer(drawerNo);
|
||||||
orderTakeVo.BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
orderTakeVo.BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
||||||
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", orderTakeVo.BeforeQuantity)}】");
|
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", orderTakeVo.BeforeQuantity)}】");
|
||||||
|
|
@ -199,7 +199,10 @@
|
||||||
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
||||||
);
|
);
|
||||||
logger.Info($"抽屉打开失败");
|
logger.Info($"抽屉打开失败");
|
||||||
PortUtil.PowerOff(drawerNo);
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(drawerNo);
|
||||||
|
}
|
||||||
RestData();
|
RestData();
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
@ -277,7 +280,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
//有单支抽屉则广播灭灯
|
//有单支抽屉则广播灭灯
|
||||||
PortUtil.PowerOff(drawerNo);
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(drawerNo);
|
||||||
|
}
|
||||||
// if (!string.IsNullOrEmpty(alertMessage))
|
// if (!string.IsNullOrEmpty(alertMessage))
|
||||||
// {
|
// {
|
||||||
// //弹出确认对话框
|
// //弹出确认对话框
|
||||||
|
|
@ -323,17 +329,15 @@
|
||||||
);
|
);
|
||||||
if (setting.Value.single.Contains(drawerNo))
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
{
|
{
|
||||||
PortUtil.PowerOff();
|
PortUtil.PowerOff(drawerNo);
|
||||||
}
|
}
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
PortUtil.PowerOff();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RestData()
|
void RestData()
|
||||||
{
|
{
|
||||||
PortUtil.PowerOff();
|
|
||||||
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
||||||
this.status = 0;
|
this.status = 0;
|
||||||
data.ForEach(it =>
|
data.ForEach(it =>
|
||||||
|
|
|
||||||
|
|
@ -114,11 +114,11 @@
|
||||||
{
|
{
|
||||||
if (orderTakeVo.Status == 0)
|
if (orderTakeVo.Status == 0)
|
||||||
{
|
{
|
||||||
PortUtil.PowerOn(drawerNo);
|
|
||||||
await Task.Delay(portSetting.Value.delayTime);
|
|
||||||
// 判断是否为单支抽屉
|
// 判断是否为单支抽屉
|
||||||
if (setting.Value.single.Contains(drawerNo))
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
{
|
{
|
||||||
|
PortUtil.PowerOn(drawerNo);
|
||||||
|
await Task.Delay(portSetting.Value.delayTime);
|
||||||
byte[] quantity = await PortUtil.CheckQuantityByDrawer(drawerNo);
|
byte[] quantity = await PortUtil.CheckQuantityByDrawer(drawerNo);
|
||||||
orderTakeVo.BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
orderTakeVo.BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
||||||
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", orderTakeVo.BeforeQuantity)}】");
|
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", orderTakeVo.BeforeQuantity)}】");
|
||||||
|
|
@ -163,7 +163,10 @@
|
||||||
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
||||||
);
|
);
|
||||||
logger.Info($"抽屉打开失败");
|
logger.Info($"抽屉打开失败");
|
||||||
PortUtil.PowerOff(drawerNo);
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(drawerNo);
|
||||||
|
}
|
||||||
RestData();
|
RestData();
|
||||||
stop();
|
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))
|
// if (!string.IsNullOrEmpty(alertMessage))
|
||||||
// {
|
// {
|
||||||
// //弹出确认对话框
|
// //弹出确认对话框
|
||||||
|
|
@ -284,12 +294,10 @@
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
PortUtil.PowerOff();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RestData()
|
void RestData()
|
||||||
{
|
{
|
||||||
PortUtil.PowerOff();
|
|
||||||
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
||||||
this.status = 0;
|
this.status = 0;
|
||||||
data.ForEach(it =>
|
data.ForEach(it =>
|
||||||
|
|
|
||||||
|
|
@ -46,8 +46,8 @@
|
||||||
<RadzenStack class="rz-p-4 rz-border-radius-1" Style="border: var(--rz-grid-cell-border);align-content:center" Orientation="Orientation.Horizontal" Gap="1rem">
|
<RadzenStack class="rz-p-4 rz-border-radius-1" Style="border: var(--rz-grid-cell-border);align-content:center" Orientation="Orientation.Horizontal" Gap="1rem">
|
||||||
<RadzenText Class="rz-mt-2 rz-my-0" Style="color: var(--rz-text-tertiary-color);">移入</RadzenText>
|
<RadzenText Class="rz-mt-2 rz-my-0" Style="color: var(--rz-text-tertiary-color);">移入</RadzenText>
|
||||||
<RadzenDropDownDataGrid AllowVirtualization="true" Name="BoxColorList" TValue="BoxModel" Data="@BoxColorList" Value="BoxColor" Style="width: 11vw;"
|
<RadzenDropDownDataGrid AllowVirtualization="true" Name="BoxColorList" TValue="BoxModel" Data="@BoxColorList" Value="BoxColor" Style="width: 11vw;"
|
||||||
ValueChanged="@((args) => OnColorChanged(args))" AllowFiltering="false"
|
ValueChanged="@((args) => OnColorChanged(args))" AllowFiltering="false"
|
||||||
AllowFilteringByAllStringColumns="true" TextProperty="药箱号">
|
AllowFilteringByAllStringColumns="true" TextProperty="药箱号">
|
||||||
<Template>
|
<Template>
|
||||||
@((context as BoxModel).BoxNo == 1 ? "白" : (context as BoxModel).BoxNo == 2 ? "绿" : (context as BoxModel).BoxNo == 3 ? "非常规" : "抽屉")
|
@((context as BoxModel).BoxNo == 1 ? "白" : (context as BoxModel).BoxNo == 2 ? "绿" : (context as BoxModel).BoxNo == 3 ? "非常规" : "抽屉")
|
||||||
</Template>
|
</Template>
|
||||||
|
|
@ -69,7 +69,7 @@
|
||||||
{
|
{
|
||||||
@if (status < 3)
|
@if (status < 3)
|
||||||
{
|
{
|
||||||
<RadzenButton IsBusy="@(status>0)" BusyText="加药中。。。" ButtonStyle="ButtonStyle.Warning" Variant="Variant.Flat" Shade="Shade.Light" Text="加药" Click="@OpenDrawer" Style="width: 120px" />
|
<RadzenButton IsBusy="@(status > 0)" BusyText="加药中。。。" ButtonStyle="ButtonStyle.Warning" Variant="Variant.Flat" Shade="Shade.Light" Text="加药" Click="@OpenDrawer" Style="width: 120px" />
|
||||||
<RadzenButton Visible="@CancleIsEnable" Variant="Variant.Flat" Text="取消" Click="@Cancel" Style="width: 120px" />
|
<RadzenButton Visible="@CancleIsEnable" Variant="Variant.Flat" Text="取消" Click="@Cancel" Style="width: 120px" />
|
||||||
}
|
}
|
||||||
@if (status == 3)
|
@if (status == 3)
|
||||||
|
|
@ -276,8 +276,6 @@
|
||||||
drawerNo = Convert.ToInt32(selectSpl[0]);
|
drawerNo = Convert.ToInt32(selectSpl[0]);
|
||||||
colNo = Convert.ToInt32(selectSpl[1]);
|
colNo = Convert.ToInt32(selectSpl[1]);
|
||||||
}
|
}
|
||||||
PortUtil.PowerOn(drawerNo);
|
|
||||||
await Task.Delay(portSetting.Value.delayTime);
|
|
||||||
PortUtil.DrawerNo = drawerNo;
|
PortUtil.DrawerNo = drawerNo;
|
||||||
// 根据抽屉类型来决定打开前是否需要查询数量
|
// 根据抽屉类型来决定打开前是否需要查询数量
|
||||||
var promiseUtil = new PromiseUtil<object>();
|
var promiseUtil = new PromiseUtil<object>();
|
||||||
|
|
@ -295,6 +293,8 @@
|
||||||
// 判断是否为单支抽屉
|
// 判断是否为单支抽屉
|
||||||
if (drawerSetting.Value.single != null && drawerSetting.Value.single.Contains(this.drawerNo))
|
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);
|
byte[] quantity = await PortUtil.CheckQuantityByDrawer(this.drawerNo);
|
||||||
BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
||||||
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", BeforeQuantity)}】");
|
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", BeforeQuantity)}】");
|
||||||
|
|
@ -332,6 +332,10 @@
|
||||||
PortUtil.SpeakAsync($"加药完成,请,点击完成按钮");
|
PortUtil.SpeakAsync($"加药完成,请,点击完成按钮");
|
||||||
this.status = 3;
|
this.status = 3;
|
||||||
PortUtil.Operate = false;
|
PortUtil.Operate = false;
|
||||||
|
if (drawerSetting.Value.single.Contains(drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(drawerNo);
|
||||||
|
}
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -364,12 +368,10 @@
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
PortUtil.PowerOff();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RestData()
|
void RestData()
|
||||||
{
|
{
|
||||||
PortUtil.PowerOff();
|
|
||||||
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
||||||
this.status = 0;
|
this.status = 0;
|
||||||
// this.BeforeQuantity = new int[9];
|
// this.BeforeQuantity = new int[9];
|
||||||
|
|
|
||||||
|
|
@ -321,7 +321,6 @@
|
||||||
|
|
||||||
void RestData()
|
void RestData()
|
||||||
{
|
{
|
||||||
PortUtil.PowerOff();
|
|
||||||
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
||||||
this.status = 0;
|
this.status = 0;
|
||||||
// this.BeforeQuantity = new int[9];
|
// this.BeforeQuantity = new int[9];
|
||||||
|
|
|
||||||
|
|
@ -183,11 +183,11 @@
|
||||||
{
|
{
|
||||||
if (orderTakeVo.Status == 0)
|
if (orderTakeVo.Status == 0)
|
||||||
{
|
{
|
||||||
PortUtil.PowerOn(drawerNo);
|
|
||||||
await Task.Delay(portSetting.Value.delayTime);
|
|
||||||
// 判断是否为单支抽屉
|
// 判断是否为单支抽屉
|
||||||
if (setting.Value.single.Contains(drawerNo))
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
{
|
{
|
||||||
|
PortUtil.PowerOn(drawerNo);
|
||||||
|
await Task.Delay(portSetting.Value.delayTime);
|
||||||
byte[] quantity = await PortUtil.CheckQuantityByDrawer(drawerNo);
|
byte[] quantity = await PortUtil.CheckQuantityByDrawer(drawerNo);
|
||||||
orderTakeVo.BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
orderTakeVo.BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
||||||
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", orderTakeVo.BeforeQuantity)}】");
|
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", orderTakeVo.BeforeQuantity)}】");
|
||||||
|
|
@ -215,7 +215,10 @@
|
||||||
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
||||||
);
|
);
|
||||||
logger.Info($"抽屉打开失败");
|
logger.Info($"抽屉打开失败");
|
||||||
PortUtil.PowerOff(drawerNo);
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(drawerNo);
|
||||||
|
}
|
||||||
RestData();
|
RestData();
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
@ -238,7 +241,6 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
orderTakeVo.Status = 2;
|
orderTakeVo.Status = 2;
|
||||||
PortUtil.PowerOff(drawerNo);
|
|
||||||
if (options._data == drawerNos.Count - 1)
|
if (options._data == drawerNos.Count - 1)
|
||||||
{
|
{
|
||||||
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
||||||
|
|
@ -279,6 +281,10 @@
|
||||||
dialogService.Close(false);
|
dialogService.Close(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(drawerNo);
|
||||||
|
}
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -311,12 +317,10 @@
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
PortUtil.PowerOff();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RestData()
|
void RestData()
|
||||||
{
|
{
|
||||||
PortUtil.PowerOff();
|
|
||||||
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
||||||
this.status = 0;
|
this.status = 0;
|
||||||
data.ForEach(it =>
|
data.ForEach(it =>
|
||||||
|
|
|
||||||
|
|
@ -391,7 +391,7 @@
|
||||||
_message.Notify(
|
_message.Notify(
|
||||||
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = errMessage, Duration = 4000 }
|
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = errMessage, Duration = 4000 }
|
||||||
);
|
);
|
||||||
break; ;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
@using log4net;
|
@using log4net;
|
||||||
<style>
|
<style>
|
||||||
.rz-custom-header {
|
.rz-custom-header {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<RadzenStack Orientation="Orientation.Horizontal">
|
<RadzenStack Orientation="Orientation.Horizontal">
|
||||||
|
|
@ -19,11 +19,11 @@
|
||||||
{
|
{
|
||||||
if (setting.Value.returnDrawer != null && setting.Value.returnDrawer.Contains(i))
|
if (setting.Value.returnDrawer != null && setting.Value.returnDrawer.Contains(i))
|
||||||
{
|
{
|
||||||
<RadzenButton class="col-5" Click="@(() => SelectDrawer(i))" Text="@i.ToString()" Disabled="true" Shade="Shade.Light" Variant="@(drawerNo !=i ? Variant.Outlined : Variant.Flat)" Style="background-color: #d3d3d3;" />
|
<RadzenButton class="col-5" Click="@(() => SelectDrawer(i))" Text="@i.ToString()" Disabled="true" Shade="Shade.Light" Variant="@(drawerNo != i ? Variant.Outlined : Variant.Flat)" Style="background-color: #d3d3d3;" />
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<RadzenButton class="col-5" Click="@(() => SelectDrawer(i))" Text="@i.ToString()" Disabled="@(status > 0)" Shade="Shade.Light" Variant="@(drawerNo !=i ? Variant.Outlined : Variant.Flat)" />
|
<RadzenButton class="col-5" Click="@(() => SelectDrawer(i))" Text="@i.ToString()" Disabled="@(status > 0)" Shade="Shade.Light" Variant="@(drawerNo != i ? Variant.Outlined : Variant.Flat)" />
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -35,7 +35,7 @@
|
||||||
<div class="row justify-content-around align-items-center" style="margin-top: 220px; height: 430px;">
|
<div class="row justify-content-around align-items-center" style="margin-top: 220px; height: 430px;">
|
||||||
@foreach (int i in DrawerNos)
|
@foreach (int i in DrawerNos)
|
||||||
{
|
{
|
||||||
<RadzenButton class="col-12" Click="@(() => SelectDrawer(i))" Text="@i.ToString()" Disabled="@(status > 0)" Shade="Shade.Light" Variant="@(drawerNo !=i ? Variant.Outlined : Variant.Flat)" />
|
<RadzenButton class="col-12" Click="@(() => SelectDrawer(i))" Text="@i.ToString()" Disabled="@(status > 0)" Shade="Shade.Light" Variant="@(drawerNo != i ? Variant.Outlined : Variant.Flat)" />
|
||||||
|
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -43,19 +43,19 @@
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
<RadzenDataGrid @ref="grid" Style="width:66vw; overflow:auto"
|
<RadzenDataGrid @ref="grid" Style="width:66vw; overflow:auto"
|
||||||
LoadData="@LoadData"
|
LoadData="@LoadData"
|
||||||
IsLoading="@isLoading"
|
IsLoading="@isLoading"
|
||||||
Count="@count"
|
Count="@count"
|
||||||
EmptyText="无数据"
|
EmptyText="无数据"
|
||||||
Data="@channels"
|
Data="@channels"
|
||||||
AllowColumnResize="true" AllowAlternatingRows="false"
|
AllowColumnResize="true" AllowAlternatingRows="false"
|
||||||
CellClick="@((DataGridCellMouseEventArgs<ChannelStock> args) => OnCellClick(args))"
|
CellClick="@((DataGridCellMouseEventArgs<ChannelStock> args) => OnCellClick(args))"
|
||||||
AllowPaging="true" PageSize="10" PagerHorizontalAlign="HorizontalAlign.Left" ShowPagingSummary="true" PagingSummaryFormat="{0}/{1} 共{2}条数据">
|
AllowPaging="true" PageSize="10" PagerHorizontalAlign="HorizontalAlign.Left" ShowPagingSummary="true" PagingSummaryFormat="{0}/{1} 共{2}条数据">
|
||||||
<HeaderTemplate>
|
<HeaderTemplate>
|
||||||
<RadzenRow JustifyContent="JustifyContent.End">
|
<RadzenRow JustifyContent="JustifyContent.End">
|
||||||
@if (status < 3)
|
@if (status < 3)
|
||||||
{
|
{
|
||||||
<RadzenButton IsBusy="@(status>0)" BusyText="加药中。。。" ButtonStyle="ButtonStyle.Warning" Variant="Variant.Flat" Shade="Shade.Light" Text="加药" Click="@OpenDrawer" />
|
<RadzenButton IsBusy="@(status > 0)" BusyText="加药中。。。" ButtonStyle="ButtonStyle.Warning" Variant="Variant.Flat" Shade="Shade.Light" Text="加药" Click="@OpenDrawer" />
|
||||||
}
|
}
|
||||||
@if (status == 3)
|
@if (status == 3)
|
||||||
{
|
{
|
||||||
|
|
@ -205,8 +205,6 @@
|
||||||
async Task OpenDrawer()
|
async Task OpenDrawer()
|
||||||
{
|
{
|
||||||
this.status = 1;
|
this.status = 1;
|
||||||
PortUtil.PowerOn(this.drawerNo);
|
|
||||||
await Task.Delay(portSetting.Value.delayTime);
|
|
||||||
PortUtil.DrawerNo = this.drawerNo;
|
PortUtil.DrawerNo = this.drawerNo;
|
||||||
// 根据抽屉类型来决定打开前是否需要查询数量
|
// 根据抽屉类型来决定打开前是否需要查询数量
|
||||||
var promiseUtil = new PromiseUtil<object>();
|
var promiseUtil = new PromiseUtil<object>();
|
||||||
|
|
@ -224,6 +222,8 @@
|
||||||
// 判断是否为单支抽屉
|
// 判断是否为单支抽屉
|
||||||
if (setting.Value.single != null && setting.Value.single.Contains(this.drawerNo))
|
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);
|
byte[] quantity = await PortUtil.CheckQuantityByDrawer(this.drawerNo);
|
||||||
BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
||||||
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", BeforeQuantity)}】");
|
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", BeforeQuantity)}】");
|
||||||
|
|
@ -257,6 +257,10 @@
|
||||||
logger.Info($"抽屉打开失败");
|
logger.Info($"抽屉打开失败");
|
||||||
RestData();
|
RestData();
|
||||||
PortUtil.Operate = false;
|
PortUtil.Operate = false;
|
||||||
|
if (setting.Value.single.Contains(this.drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(this.drawerNo);
|
||||||
|
}
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -279,6 +283,11 @@
|
||||||
}
|
}
|
||||||
this.status = 3;
|
this.status = 3;
|
||||||
PortUtil.Operate = false;
|
PortUtil.Operate = false;
|
||||||
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(this.drawerNo);
|
||||||
|
|
||||||
|
}
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -353,12 +362,10 @@
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
PortUtil.PowerOff(this.drawerNo);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RestData()
|
void RestData()
|
||||||
{
|
{
|
||||||
PortUtil.PowerOff(this.drawerNo);
|
|
||||||
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
||||||
this.status = 0;
|
this.status = 0;
|
||||||
this.BeforeQuantity = new int[9];
|
this.BeforeQuantity = new int[9];
|
||||||
|
|
@ -456,7 +463,7 @@
|
||||||
if (channels.Any(cl => cl.AddQuantity != 0 && cl.DrugId != null && cl.drugManuNo != null))
|
if (channels.Any(cl => cl.AddQuantity != 0 && cl.DrugId != null && cl.drugManuNo != null))
|
||||||
{
|
{
|
||||||
// 保存账册、操作记录
|
// 保存账册、操作记录
|
||||||
var b = await channelListDao.DrawerOperationFinish(channels.Where(cl => cl.AddQuantity != 0).ToList(), 1,null,null);
|
var b = await channelListDao.DrawerOperationFinish(channels.Where(cl => cl.AddQuantity != 0).ToList(), 1, null, null);
|
||||||
if (!b)
|
if (!b)
|
||||||
{
|
{
|
||||||
_message.Notify(new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"数据保存失败", Duration = 4000 });
|
_message.Notify(new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"数据保存失败", Duration = 4000 });
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
@using log4net;
|
@using log4net;
|
||||||
<style>
|
<style>
|
||||||
.rz-custom-header {
|
.rz-custom-header {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<RadzenStack Orientation="Orientation.Horizontal">
|
<RadzenStack Orientation="Orientation.Horizontal">
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
<div class="row justify-content-around align-items-center" style="margin-top: 220px; height: 430px;">
|
<div class="row justify-content-around align-items-center" style="margin-top: 220px; height: 430px;">
|
||||||
@foreach (int i in DrawerNos)
|
@foreach (int i in DrawerNos)
|
||||||
{
|
{
|
||||||
<RadzenButton class="col-5" Click="@(() => SelectDrawer(i))" Text="@i.ToString()" Disabled="@(status > 0)" Shade="Shade.Light" Variant="@(drawerNo !=i ? Variant.Outlined : Variant.Flat)" />
|
<RadzenButton class="col-5" Click="@(() => SelectDrawer(i))" Text="@i.ToString()" Disabled="@(status > 0)" Shade="Shade.Light" Variant="@(drawerNo != i ? Variant.Outlined : Variant.Flat)" />
|
||||||
|
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -29,7 +29,7 @@
|
||||||
<div class="row justify-content-around align-items-center" style="margin-top: 220px; height: 430px;">
|
<div class="row justify-content-around align-items-center" style="margin-top: 220px; height: 430px;">
|
||||||
@foreach (int i in DrawerNos)
|
@foreach (int i in DrawerNos)
|
||||||
{
|
{
|
||||||
<RadzenButton class="col-12" Click="@(() => SelectDrawer(i))" Text="@i.ToString()" Disabled="@(status > 0)" Shade="Shade.Light" Variant="@(drawerNo !=i ? Variant.Outlined : Variant.Flat)" />
|
<RadzenButton class="col-12" Click="@(() => SelectDrawer(i))" Text="@i.ToString()" Disabled="@(status > 0)" Shade="Shade.Light" Variant="@(drawerNo != i ? Variant.Outlined : Variant.Flat)" />
|
||||||
|
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -37,14 +37,14 @@
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
<RadzenDataGrid @ref="grid" Style="width:66vw; overflow:auto"
|
<RadzenDataGrid @ref="grid" Style="width:66vw; overflow:auto"
|
||||||
LoadData="@LoadData"
|
LoadData="@LoadData"
|
||||||
IsLoading="@isLoading"
|
IsLoading="@isLoading"
|
||||||
Count="@count"
|
Count="@count"
|
||||||
EmptyText="无数据"
|
EmptyText="无数据"
|
||||||
Data="@channels"
|
Data="@channels"
|
||||||
AllowColumnResize="true" AllowAlternatingRows="false"
|
AllowColumnResize="true" AllowAlternatingRows="false"
|
||||||
CellClick="@((DataGridCellMouseEventArgs<ChannelStock> args) => OnCellClick(args))"
|
CellClick="@((DataGridCellMouseEventArgs<ChannelStock> args) => OnCellClick(args))"
|
||||||
AllowPaging="true" PageSize="10" PagerHorizontalAlign="HorizontalAlign.Left" ShowPagingSummary="true" PagingSummaryFormat="{0}/{1} 共{2}条数据">
|
AllowPaging="true" PageSize="10" PagerHorizontalAlign="HorizontalAlign.Left" ShowPagingSummary="true" PagingSummaryFormat="{0}/{1} 共{2}条数据">
|
||||||
<HeaderTemplate>
|
<HeaderTemplate>
|
||||||
<RadzenRow JustifyContent="JustifyContent.End">
|
<RadzenRow JustifyContent="JustifyContent.End">
|
||||||
@if (status < 3)
|
@if (status < 3)
|
||||||
|
|
@ -52,11 +52,11 @@
|
||||||
if (setting.Value.returnDrawer != null && setting.Value.returnDrawer.Contains(drawerNo))
|
if (setting.Value.returnDrawer != null && setting.Value.returnDrawer.Contains(drawerNo))
|
||||||
{
|
{
|
||||||
|
|
||||||
<RadzenButton IsBusy="@(status>0)" BusyText="取空瓶中。。。" ButtonStyle="ButtonStyle.Warning" Variant="Variant.Flat" Shade="Shade.Light" Text="取空瓶" Click="@OpenDrawer" />
|
<RadzenButton IsBusy="@(status > 0)" BusyText="取空瓶中。。。" ButtonStyle="ButtonStyle.Warning" Variant="Variant.Flat" Shade="Shade.Light" Text="取空瓶" Click="@OpenDrawer" />
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<RadzenButton IsBusy="@(status>0)" BusyText="取药中。。。" ButtonStyle="ButtonStyle.Warning" Variant="Variant.Flat" Shade="Shade.Light" Text="取药" Click="@OpenDrawer" />
|
<RadzenButton IsBusy="@(status > 0)" BusyText="取药中。。。" ButtonStyle="ButtonStyle.Warning" Variant="Variant.Flat" Shade="Shade.Light" Text="取药" Click="@OpenDrawer" />
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@if (status == 3)
|
@if (status == 3)
|
||||||
|
|
@ -68,8 +68,8 @@
|
||||||
{
|
{
|
||||||
<RadzenLabel Text="入库药箱" Component="BoxList" />
|
<RadzenLabel Text="入库药箱" Component="BoxList" />
|
||||||
<RadzenDropDownDataGrid AllowVirtualization="true" Name="BoxColorList" TValue="BoxModel" Data="@BoxColorList" Value="BoxColor" Style="width: 7vw;"
|
<RadzenDropDownDataGrid AllowVirtualization="true" Name="BoxColorList" TValue="BoxModel" Data="@BoxColorList" Value="BoxColor" Style="width: 7vw;"
|
||||||
ValueChanged="@((args) => OnColorChanged(args))" AllowFiltering="false"
|
ValueChanged="@((args) => OnColorChanged(args))" AllowFiltering="false"
|
||||||
AllowFilteringByAllStringColumns="true" TextProperty="药箱号">
|
AllowFilteringByAllStringColumns="true" TextProperty="药箱号">
|
||||||
<Template>
|
<Template>
|
||||||
@((context as BoxModel).BoxNo == 1 ? "白" : (context as BoxModel).BoxNo == 3 ? "非常规" : "绿")
|
@((context as BoxModel).BoxNo == 1 ? "白" : (context as BoxModel).BoxNo == 3 ? "非常规" : "绿")
|
||||||
</Template>
|
</Template>
|
||||||
|
|
@ -78,23 +78,23 @@
|
||||||
</Columns>
|
</Columns>
|
||||||
</RadzenDropDownDataGrid>
|
</RadzenDropDownDataGrid>
|
||||||
<RadzenDropDownDataGrid AllowVirtualization="true" Name="BoxList" TValue="BoxModel" Data="@BoxList" Value="BoxNum" Style="width: 15vw;"
|
<RadzenDropDownDataGrid AllowVirtualization="true" Name="BoxList" TValue="BoxModel" Data="@BoxList" Value="BoxNum" Style="width: 15vw;"
|
||||||
ValueChanged="@((args) => OnBoxChanged(args))" AllowFilteringByAllStringColumns="true" TextProperty="药箱号">
|
ValueChanged="@((args) => OnBoxChanged(args))" AllowFilteringByAllStringColumns="true" TextProperty="药箱号">
|
||||||
<Template>
|
<Template>
|
||||||
|
|
||||||
@(
|
@(
|
||||||
(context as BoxModel).BoxName == 99 ? "急诊药盒" : (context as BoxModel).BoxName == 111 ? "恢复室药盒" :
|
(context as BoxModel).BoxName == 99 ? "急诊药盒" : (context as BoxModel).BoxName == 111 ? "恢复室药盒" :
|
||||||
(context as BoxModel).BoxName == 31 ? "胃镜药盒" :
|
(context as BoxModel).BoxName == 31 ? "胃镜药盒" :
|
||||||
(context as BoxModel).BoxName == 32 ? "导管药盒" :
|
(context as BoxModel).BoxName == 32 ? "导管药盒" :
|
||||||
(context as BoxModel).BoxName == 33 ? "生殖药盒" :
|
(context as BoxModel).BoxName == 33 ? "生殖药盒" :
|
||||||
(context as BoxModel).BoxName == 34 ? "妇门药盒" : (context as BoxModel).BoxName + "-" + ((context as BoxModel).BoxNo == 1 ? "白" : "绿")
|
(context as BoxModel).BoxName == 34 ? "妇门药盒" : (context as BoxModel).BoxName + "-" + ((context as BoxModel).BoxNo == 1 ? "白" : "绿")
|
||||||
)
|
)
|
||||||
|
|
||||||
</Template>
|
</Template>
|
||||||
<Columns>
|
<Columns>
|
||||||
<RadzenDropDownDataGridColumn Property="BoxName" Title="药箱号" Sortable="false" />
|
<RadzenDropDownDataGridColumn Property="BoxName" Title="药箱号" Sortable="false" />
|
||||||
</Columns>
|
</Columns>
|
||||||
</RadzenDropDownDataGrid>
|
</RadzenDropDownDataGrid>
|
||||||
}
|
}
|
||||||
<RadzenButton Visible="@CompleteIsEnable" ButtonStyle="ButtonStyle.Warning" Variant="Variant.Flat" Shade="Shade.Light" Text="完成" Click="@TakeFinish" />
|
<RadzenButton Visible="@CompleteIsEnable" ButtonStyle="ButtonStyle.Warning" Variant="Variant.Flat" Shade="Shade.Light" Text="完成" Click="@TakeFinish" />
|
||||||
}
|
}
|
||||||
@if (status > 0 && status <= 3)
|
@if (status > 0 && status <= 3)
|
||||||
|
|
@ -230,8 +230,6 @@
|
||||||
async Task OpenDrawer()
|
async Task OpenDrawer()
|
||||||
{
|
{
|
||||||
this.status = 1;
|
this.status = 1;
|
||||||
PortUtil.PowerOn(this.drawerNo);
|
|
||||||
await Task.Delay(portSetting.Value.delayTime);
|
|
||||||
PortUtil.DrawerNo = this.drawerNo;
|
PortUtil.DrawerNo = this.drawerNo;
|
||||||
// 根据抽屉类型来决定打开前是否需要查询数量
|
// 根据抽屉类型来决定打开前是否需要查询数量
|
||||||
var promiseUtil = new PromiseUtil<object>();
|
var promiseUtil = new PromiseUtil<object>();
|
||||||
|
|
@ -249,6 +247,8 @@
|
||||||
// 判断是否为单支抽屉
|
// 判断是否为单支抽屉
|
||||||
if (setting.Value.single != null && setting.Value.single.Contains(this.drawerNo))
|
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);
|
byte[] quantity = await PortUtil.CheckQuantityByDrawer(this.drawerNo);
|
||||||
BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
||||||
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", BeforeQuantity)}】");
|
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", BeforeQuantity)}】");
|
||||||
|
|
@ -277,6 +277,10 @@
|
||||||
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
||||||
);
|
);
|
||||||
logger.Info($"抽屉打开失败");
|
logger.Info($"抽屉打开失败");
|
||||||
|
if (setting.Value.single.Contains(this.drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(this.drawerNo);
|
||||||
|
}
|
||||||
RestData();
|
RestData();
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
@ -298,7 +302,7 @@
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PortUtil.SpeakAsync($"取药完成,请核对或录入正确的取出数量");
|
PortUtil.SpeakAsync($"取药完成,请核对或录入正确的取出数量");
|
||||||
}
|
}
|
||||||
// 判断是否为称重抽屉
|
// 判断是否为称重抽屉
|
||||||
if (setting.Value.weigh != null && setting.Value.weigh.Contains(this.drawerNo))
|
if (setting.Value.weigh != null && setting.Value.weigh.Contains(this.drawerNo))
|
||||||
|
|
@ -309,6 +313,10 @@
|
||||||
logger.Info($"关闭抽屉,称重抽屉获取稳定数量后日志");
|
logger.Info($"关闭抽屉,称重抽屉获取稳定数量后日志");
|
||||||
this.status = 3;
|
this.status = 3;
|
||||||
PortUtil.Operate = false;
|
PortUtil.Operate = false;
|
||||||
|
if (setting.Value.single.Contains(this.drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(this.drawerNo);
|
||||||
|
}
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -390,7 +398,6 @@
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
PortUtil.PowerOff(this.drawerNo);
|
|
||||||
}
|
}
|
||||||
//关闭抽屉后获取称重稳定数量
|
//关闭抽屉后获取称重稳定数量
|
||||||
public async Task GetWeightQuantity()
|
public async Task GetWeightQuantity()
|
||||||
|
|
@ -488,7 +495,6 @@
|
||||||
}
|
}
|
||||||
void RestData()
|
void RestData()
|
||||||
{
|
{
|
||||||
PortUtil.PowerOff(this.drawerNo);
|
|
||||||
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
||||||
this.status = 0;
|
this.status = 0;
|
||||||
this.BeforeQuantity = new int[9];
|
this.BeforeQuantity = new int[9];
|
||||||
|
|
|
||||||
|
|
@ -209,38 +209,49 @@
|
||||||
{
|
{
|
||||||
if (options._data == 0)
|
if (options._data == 0)
|
||||||
{
|
{
|
||||||
PortUtil.PowerOn(drawerNo);
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
await Task.Delay(portSetting.Value.delayTime);
|
{
|
||||||
|
PortUtil.PowerOn(drawerNo);
|
||||||
|
await Task.Delay(portSetting.Value.delayTime);
|
||||||
|
}
|
||||||
BeforeQuantity = new int[9];
|
BeforeQuantity = new int[9];
|
||||||
AfterQuantity = new int[9];
|
AfterQuantity = new int[9];
|
||||||
|
int flag = 0;//抽屉对应库位无药位置亮灯指令只发一次
|
||||||
for (int j = 0; j < data[index].ChannelStocks.Count; j++)
|
for (int j = 0; j < data[index].ChannelStocks.Count; j++)
|
||||||
{
|
{
|
||||||
// _flagList.Add(flag);
|
if (data[index].ChannelStocks[j].AddQuantity > 0)
|
||||||
//单支-查数
|
|
||||||
if (data[index].ChannelStocks[j].BoardType.ToString().Contains("2"))
|
|
||||||
{
|
{
|
||||||
byte[] quantity = await PortUtil.CheckQuantityByDrawer(data[index].ChannelStocks[j].DrawerNo);
|
// _flagList.Add(flag);
|
||||||
data[index].BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
//单支-查数
|
||||||
logger.Info($"单支抽屉【{drawerNo}】,开抽屉前检测数量【{string.Join(",", data[index].BeforeQuantity)}】");
|
if (data[index].ChannelStocks[j].BoardType.ToString().Contains("2"))
|
||||||
|
{
|
||||||
|
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)}】");
|
||||||
|
if (flag == 0)
|
||||||
|
{
|
||||||
|
await PortUtil.NoLightOnByCol(drawerNo, data[index].ChannelStocks.Where(cs => cs.DrawerNo == drawerNo).Select(cs => cs.ColNo).ToArray());
|
||||||
|
flag = 1;
|
||||||
|
}
|
||||||
|
|
||||||
await PortUtil.NoLightOnByCol(drawerNo, data.Select(ot => ot.ChannelStocks.Where(cs => cs.DrawerNo == drawerNo).Select(cs => cs.ColNo)).Cast<int>().ToArray());
|
}
|
||||||
}
|
//称重-查数++
|
||||||
//称重-查数
|
if (data[index].ChannelStocks[j].BoardType.ToString().Contains("6"))
|
||||||
if (data[index].ChannelStocks[j].BoardType.ToString().Contains("6"))
|
{
|
||||||
{
|
PortUtil.DrawerNo = data[index].ChannelStocks[j].DrawerNo;// drawerNo;
|
||||||
PortUtil.DrawerNo = data[index].ChannelStocks[j].DrawerNo;// drawerNo;
|
PortUtil.ColNoLst.Add(data[index].ChannelStocks[j].ColNo);
|
||||||
PortUtil.ColNoLst.Add(data[index].ChannelStocks[j].ColNo);
|
|
||||||
|
|
||||||
data[index].BeforeQuantity[data[index].ChannelStocks[j].ColNo - 1] = await PortUtil.CheckQuantityForSingle(data[index].ChannelStocks[j].ColNo);
|
data[index].BeforeQuantity[data[index].ChannelStocks[j].ColNo - 1] = await PortUtil.CheckQuantityForSingle(data[index].ChannelStocks[j].ColNo);
|
||||||
logger.Info($"称重抽屉【{data[index].ChannelStocks[j].DrawerNo}】,开抽屉前检测数量【{string.Join(",", data[index].BeforeQuantity)}】");
|
logger.Info($"称重抽屉【{data[index].ChannelStocks[j].DrawerNo}】,开抽屉前检测数量【{string.Join(",", data[index].BeforeQuantity)}】");
|
||||||
await Task.Delay(200);
|
await Task.Delay(200);
|
||||||
}
|
}
|
||||||
//药盒-开药盒
|
//药盒-开药盒
|
||||||
if (data[index].ChannelStocks[j].BoardType.ToString().Contains("3"))
|
if (data[index].ChannelStocks[j].BoardType.ToString().Contains("3"))
|
||||||
{
|
{
|
||||||
PortUtil.DrawerNo = data[index].ChannelStocks[j].DrawerNo;
|
PortUtil.DrawerNo = data[index].ChannelStocks[j].DrawerNo;
|
||||||
await PortUtil.OpenBoxByColNo(data[index].ChannelStocks[j].ColNo);
|
await PortUtil.OpenBoxByColNo(data[index].ChannelStocks[j].ColNo);
|
||||||
await Task.Delay(200);
|
await Task.Delay(200);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var b = await PortUtil.OpenDrawerStatus(drawerNo);
|
var b = await PortUtil.OpenDrawerStatus(drawerNo);
|
||||||
|
|
@ -258,7 +269,10 @@
|
||||||
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
||||||
);
|
);
|
||||||
logger.Info($"抽屉打开失败");
|
logger.Info($"抽屉打开失败");
|
||||||
PortUtil.PowerOff(drawerNo);
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(drawerNo);
|
||||||
|
}
|
||||||
RestData();
|
RestData();
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
@ -272,10 +286,6 @@
|
||||||
if (b)
|
if (b)
|
||||||
{
|
{
|
||||||
options._data = 0;
|
options._data = 0;
|
||||||
if (setting.Value.single.Contains(drawerNo))
|
|
||||||
{
|
|
||||||
PortUtil.PowerOff(drawerNo);
|
|
||||||
}
|
|
||||||
if (index == drawerNos.Count - 1)
|
if (index == drawerNos.Count - 1)
|
||||||
{
|
{
|
||||||
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
||||||
|
|
@ -287,68 +297,72 @@
|
||||||
{
|
{
|
||||||
for (int j = 0; j < data[i].ChannelStocks.Count; j++)
|
for (int j = 0; j < data[i].ChannelStocks.Count; j++)
|
||||||
{
|
{
|
||||||
string flag = "关" + data[i].ChannelStocks[j].DrawerNo.ToString() + data[i].ChannelStocks[j].ColNo.ToString();
|
if (data[i].ChannelStocks[j].AddQuantity > 0)
|
||||||
|
|
||||||
if (!_flagList.Contains(flag))
|
|
||||||
{
|
{
|
||||||
_flagList.Add(flag);
|
string flag = "关" + data[i].ChannelStocks[j].DrawerNo.ToString() + data[i].ChannelStocks[j].ColNo.ToString();
|
||||||
//关闭抽屉后获取称重数量
|
|
||||||
PortUtil.DrawerNo = data[i].ChannelStocks[j].DrawerNo;// drawerNo;
|
|
||||||
// 判断是否为称重抽屉
|
|
||||||
//单支-查数
|
|
||||||
if (data[i].ChannelStocks[j].BoardType.ToString().Contains("6"))
|
|
||||||
{
|
|
||||||
PortUtil.ColNoLst = this.ColNos;
|
|
||||||
|
|
||||||
AfterQuantity[data[i].ChannelStocks[j].ColNo - 1] = await PortUtil.CheckQuantityForSingle(data[i].ChannelStocks[j].ColNo);
|
if (!_flagList.Contains(flag))
|
||||||
logger.Info($"称重抽屉,关抽屉后检测数量【{string.Join(",", AfterQuantity)}】");
|
|
||||||
WeightFinnalQuantity[data[i].ChannelStocks[j].ColNo - 1] = data[i].BeforeQuantity[data[i].ChannelStocks[j].ColNo - 1] - AfterQuantity[data[i].ChannelStocks[j].ColNo - 1];
|
|
||||||
if (data[i].ChannelStocks[j].Quantity != WeightFinnalQuantity[data[i].ChannelStocks[j].ColNo - 1])
|
|
||||||
{
|
|
||||||
//称重自动计数数量与实际要取数量不一致弹出提示,确认后保存数据
|
|
||||||
alertMessage += $"{data[i].Drug.DrugName}应取数量【{data[i].Quantity}】,实际取出数量【{WeightFinnalQuantity[data[i].ChannelStocks[j].ColNo - 1]}】";
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//单支-查数
|
|
||||||
if (data[i].ChannelStocks[j].BoardType.ToString().Contains("2"))
|
|
||||||
{
|
{
|
||||||
byte[] quantity = await PortUtil.CheckQuantityByDrawer(drawerNo);
|
_flagList.Add(flag);
|
||||||
AfterQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
//关闭抽屉后获取称重数量
|
||||||
logger.Info($"单支抽屉,关抽屉后检测数量【{string.Join(",", AfterQuantity)}】");
|
PortUtil.DrawerNo = data[i].ChannelStocks[j].DrawerNo;// drawerNo;
|
||||||
WeightFinnalQuantity[data[i].ChannelStocks[j].ColNo - 1] = data[i].BeforeQuantity[data[i].ChannelStocks[j].ColNo - 1] - AfterQuantity[data[i].ChannelStocks[j].ColNo - 1];
|
// 判断是否为称重抽屉
|
||||||
if (data[i].ChannelStocks[j].Quantity != WeightFinnalQuantity[data[i].ChannelStocks[j].ColNo - 1])
|
//单支-查数
|
||||||
|
if (data[i].ChannelStocks[j].BoardType.ToString().Contains("6"))
|
||||||
{
|
{
|
||||||
alertMessage += $"{data[i].Drug.DrugName}应取数量【{data[i].ChannelStocks[j].Quantity}】,实际取出数量【{WeightFinnalQuantity[data[i].ChannelStocks[j].ColNo - 1]}】";
|
PortUtil.ColNoLst = this.ColNos;
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!string.IsNullOrEmpty(alertMessage))
|
|
||||||
{
|
|
||||||
//弹出确认对话框
|
|
||||||
alertMessage += "应取数与实际取出数不一致确认要保存吗?";
|
|
||||||
//弹出确认提示框
|
|
||||||
var confirm = await dialogService.OpenAsync<ConfirmDialog>
|
|
||||||
(
|
|
||||||
$"保存确认",
|
|
||||||
new Dictionary<string, object>
|
|
||||||
() { { "confirmInfo", alertMessage } },
|
|
||||||
new DialogOptions()
|
|
||||||
{ Width = "45vw", Resizable = true, Draggable = true, ShowClose = false });
|
|
||||||
|
|
||||||
if (!confirm)
|
AfterQuantity[data[i].ChannelStocks[j].ColNo - 1] = await PortUtil.CheckQuantityForSingle(data[i].ChannelStocks[j].ColNo);
|
||||||
{
|
logger.Info($"称重抽屉,关抽屉后检测数量【{string.Join(",", AfterQuantity)}】");
|
||||||
RestData();
|
WeightFinnalQuantity[data[i].ChannelStocks[j].ColNo - 1] = data[i].BeforeQuantity[data[i].ChannelStocks[j].ColNo - 1] - AfterQuantity[data[i].ChannelStocks[j].ColNo - 1];
|
||||||
logger.Info("取消保存");
|
if (data[i].ChannelStocks[j].Quantity != WeightFinnalQuantity[data[i].ChannelStocks[j].ColNo - 1])
|
||||||
cancelFlag = true;
|
{
|
||||||
// 关闭弹窗
|
//称重自动计数数量与实际要取数量不一致弹出提示,确认后保存数据
|
||||||
dialogService.Close(false);
|
alertMessage += $"{data[i].Drug.DrugName}应取数量【{data[i].Quantity}】,实际取出数量【{WeightFinnalQuantity[data[i].ChannelStocks[j].ColNo - 1]}】";
|
||||||
break;
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
//单支-查数
|
||||||
|
if (data[i].ChannelStocks[j].BoardType.ToString().Contains("2"))
|
||||||
{
|
{
|
||||||
|
byte[] quantity = await PortUtil.CheckQuantityByDrawer(drawerNo);
|
||||||
|
AfterQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
||||||
|
logger.Info($"单支抽屉,关抽屉后检测数量【{string.Join(",", AfterQuantity)}】");
|
||||||
|
WeightFinnalQuantity[data[i].ChannelStocks[j].ColNo - 1] = data[i].BeforeQuantity[data[i].ChannelStocks[j].ColNo - 1] - AfterQuantity[data[i].ChannelStocks[j].ColNo - 1];
|
||||||
|
if (data[i].ChannelStocks[j].Quantity != WeightFinnalQuantity[data[i].ChannelStocks[j].ColNo - 1])
|
||||||
|
{
|
||||||
|
alertMessage += $"{data[i].Drug.DrugName}应取数量【{data[i].ChannelStocks[j].Quantity}】,实际取出数量【{WeightFinnalQuantity[data[i].ChannelStocks[j].ColNo - 1]}】";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!string.IsNullOrEmpty(alertMessage))
|
||||||
|
{
|
||||||
|
//弹出确认对话框
|
||||||
|
alertMessage += "应取数与实际取出数不一致确认要保存吗?";
|
||||||
|
//弹出确认提示框
|
||||||
|
// 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
|
||||||
|
// {
|
||||||
|
// logger.Info(alertMessage);
|
||||||
|
// }
|
||||||
logger.Info(alertMessage);
|
logger.Info(alertMessage);
|
||||||
|
alertMessage = string.Empty;
|
||||||
}
|
}
|
||||||
alertMessage = string.Empty;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -357,6 +371,15 @@
|
||||||
break;
|
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();
|
stop();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -402,12 +425,10 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
PortUtil.PowerOff();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RestData()
|
void RestData()
|
||||||
{
|
{
|
||||||
PortUtil.PowerOff();
|
|
||||||
PortUtil.Operate = false;
|
PortUtil.Operate = false;
|
||||||
this.status = 0;
|
this.status = 0;
|
||||||
_flagList.Clear();
|
_flagList.Clear();
|
||||||
|
|
|
||||||
|
|
@ -220,7 +220,10 @@
|
||||||
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
||||||
);
|
);
|
||||||
logger.Info($"抽屉打开失败");
|
logger.Info($"抽屉打开失败");
|
||||||
PortUtil.PowerOff();
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(drawerNo);
|
||||||
|
}
|
||||||
RestData();
|
RestData();
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
@ -234,10 +237,6 @@
|
||||||
if (b)
|
if (b)
|
||||||
{
|
{
|
||||||
options._data = 0;
|
options._data = 0;
|
||||||
if (setting.Value.single.Contains(drawerNo))
|
|
||||||
{
|
|
||||||
PortUtil.PowerOff();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (index == drawerNos.Count - 1)
|
if (index == drawerNos.Count - 1)
|
||||||
{
|
{
|
||||||
|
|
@ -315,6 +314,10 @@
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(drawerNo);
|
||||||
|
}
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -365,7 +368,11 @@
|
||||||
);
|
);
|
||||||
if (setting.Value.single.Contains(drawerNo))
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
{
|
{
|
||||||
PortUtil.PowerOff();
|
|
||||||
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(drawerNo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
@ -374,7 +381,6 @@
|
||||||
|
|
||||||
void RestData()
|
void RestData()
|
||||||
{
|
{
|
||||||
PortUtil.PowerOff();
|
|
||||||
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
||||||
this.status = 0;
|
this.status = 0;
|
||||||
this.BeforeQuantity = new int[9];
|
this.BeforeQuantity = new int[9];
|
||||||
|
|
|
||||||
|
|
@ -124,11 +124,11 @@
|
||||||
{
|
{
|
||||||
if (orderTakeVo.Status == 0)
|
if (orderTakeVo.Status == 0)
|
||||||
{
|
{
|
||||||
PortUtil.PowerOn(drawerNo);
|
|
||||||
await Task.Delay(portSetting.Value.delayTime);
|
|
||||||
// 判断是否为单支抽屉
|
// 判断是否为单支抽屉
|
||||||
if (setting.Value.single.Contains(drawerNo))
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
{
|
{
|
||||||
|
PortUtil.PowerOn(drawerNo);
|
||||||
|
await Task.Delay(portSetting.Value.delayTime);
|
||||||
byte[] quantity = await PortUtil.CheckQuantityByDrawer(drawerNo);
|
byte[] quantity = await PortUtil.CheckQuantityByDrawer(drawerNo);
|
||||||
orderTakeVo.BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
orderTakeVo.BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
||||||
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", orderTakeVo.BeforeQuantity)}】");
|
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", orderTakeVo.BeforeQuantity)}】");
|
||||||
|
|
@ -173,7 +173,10 @@
|
||||||
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
||||||
);
|
);
|
||||||
logger.Info($"抽屉打开失败");
|
logger.Info($"抽屉打开失败");
|
||||||
PortUtil.PowerOff(drawerNo);
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(drawerNo);
|
||||||
|
}
|
||||||
RestData();
|
RestData();
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
@ -196,7 +199,6 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
orderTakeVo.Status = 2;
|
orderTakeVo.Status = 2;
|
||||||
PortUtil.PowerOff(drawerNo);
|
|
||||||
if (options._data == drawerNos.Count - 1)
|
if (options._data == drawerNos.Count - 1)
|
||||||
{
|
{
|
||||||
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
||||||
|
|
@ -253,6 +255,10 @@
|
||||||
dialogService.Close(false);
|
dialogService.Close(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(drawerNo);
|
||||||
|
}
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -285,13 +291,10 @@
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
PortUtil.PowerOff();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RestData()
|
void RestData()
|
||||||
{
|
{
|
||||||
PortUtil.PowerOff();
|
|
||||||
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
||||||
this.status = 0;
|
this.status = 0;
|
||||||
data.ForEach(it =>
|
data.ForEach(it =>
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
<RadzenText TextStyle="TextStyle.Body1" Class="rz-text-truncate"><b>@(order?.Sex)</b></RadzenText>
|
<RadzenText TextStyle="TextStyle.Body1" Class="rz-text-truncate"><b>@(order?.Sex)</b></RadzenText>
|
||||||
<RadzenText TextStyle="TextStyle.Overline" Class="rz-mt-2 rz-my-0" Style="color: var(--rz-text-tertiary-color);">年龄:</RadzenText>
|
<RadzenText TextStyle="TextStyle.Overline" Class="rz-mt-2 rz-my-0" Style="color: var(--rz-text-tertiary-color);">年龄:</RadzenText>
|
||||||
<RadzenText TextStyle="TextStyle.Body1" Class="rz-text-truncate"><b>@(order?.Age)</b></RadzenText>
|
<RadzenText TextStyle="TextStyle.Body1" Class="rz-text-truncate"><b>@(order?.Age)</b></RadzenText>
|
||||||
|
|
||||||
</RadzenStack>
|
</RadzenStack>
|
||||||
<RadzenDataGrid @ref="grid" Data="@data" ExpandMode="DataGridExpandMode.Multiple"
|
<RadzenDataGrid @ref="grid" Data="@data" ExpandMode="DataGridExpandMode.Multiple"
|
||||||
RowRender="@RowRender"
|
RowRender="@RowRender"
|
||||||
|
|
@ -52,20 +52,20 @@
|
||||||
<RadzenDataGridColumn Property="StockQuantity" Title="总库存" />
|
<RadzenDataGridColumn Property="StockQuantity" Title="总库存" />
|
||||||
</Columns>
|
</Columns>
|
||||||
</RadzenDataGrid>
|
</RadzenDataGrid>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</RadzenStack>
|
</RadzenStack>
|
||||||
<RadzenStack Orientation="Orientation.Horizontal" JustifyContent="JustifyContent.Center" Gap="0.5rem">
|
<RadzenStack Orientation="Orientation.Horizontal" JustifyContent="JustifyContent.Center" Gap="0.5rem">
|
||||||
@if(status < 2)
|
@if (status < 2)
|
||||||
{
|
{
|
||||||
<RadzenButton Click="@OpenDrawer" Disabled="!CanReturnDrug" IsBusy="status > 0" BusyText="退药中。。。" ButtonStyle="ButtonStyle.Warning" Variant="Variant.Flat" Text="退药" Style="width: 120px" />
|
<RadzenButton Click="@OpenDrawer" Disabled="!CanReturnDrug" IsBusy="status > 0" BusyText="退药中。。。" ButtonStyle="ButtonStyle.Warning" Variant="Variant.Flat" Text="退药" Style="width: 120px" />
|
||||||
}
|
}
|
||||||
@if(status == 2)
|
@if (status == 2)
|
||||||
{
|
{
|
||||||
<RadzenButton Click="@TakeFinish" ButtonStyle="ButtonStyle.Success" Variant="Variant.Flat" Text="完成" Style="width: 120px" />
|
<RadzenButton Click="@TakeFinish" ButtonStyle="ButtonStyle.Success" Variant="Variant.Flat" Text="完成" Style="width: 120px" />
|
||||||
}
|
}
|
||||||
@if(status < 2)
|
@if (status < 2)
|
||||||
{
|
{
|
||||||
<RadzenButton Click="@Cancel" Variant="Variant.Flat" Text="取消" Style="width: 120px" />
|
<RadzenButton Click="@Cancel" Variant="Variant.Flat" Text="取消" Style="width: 120px" />
|
||||||
}
|
}
|
||||||
|
|
@ -168,8 +168,11 @@
|
||||||
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
||||||
);
|
);
|
||||||
logger.Info($"处方退药抽屉【{drawerNo}】打开失败");
|
logger.Info($"处方退药抽屉【{drawerNo}】打开失败");
|
||||||
PortUtil.PowerOff();
|
|
||||||
RestData();
|
RestData();
|
||||||
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(drawerNo);
|
||||||
|
}
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -182,15 +185,15 @@
|
||||||
if (b)
|
if (b)
|
||||||
{
|
{
|
||||||
options._data = 0;
|
options._data = 0;
|
||||||
if (setting.Value.single.Contains(drawerNo))
|
|
||||||
{
|
|
||||||
PortUtil.PowerOff();
|
|
||||||
}
|
|
||||||
if (index == drawerNos.Count - 1)
|
if (index == drawerNos.Count - 1)
|
||||||
{
|
{
|
||||||
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
||||||
PortUtil.SpeakAsync($"退药完成,请,点击完成按钮进行确认");
|
PortUtil.SpeakAsync($"退药完成,请,点击完成按钮进行确认");
|
||||||
this.status = 2;
|
this.status = 2;
|
||||||
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(drawerNo);
|
||||||
|
}
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -232,7 +235,7 @@
|
||||||
);
|
);
|
||||||
if (setting.Value.single.Contains(drawerNo))
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
{
|
{
|
||||||
PortUtil.PowerOff();
|
PortUtil.PowerOff(drawerNo);
|
||||||
}
|
}
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
@ -241,7 +244,6 @@
|
||||||
|
|
||||||
void RestData()
|
void RestData()
|
||||||
{
|
{
|
||||||
PortUtil.PowerOff();
|
|
||||||
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
||||||
this.status = 0;
|
this.status = 0;
|
||||||
}
|
}
|
||||||
|
|
@ -253,7 +255,7 @@
|
||||||
}
|
}
|
||||||
async Task TakeFinish()
|
async Task TakeFinish()
|
||||||
{
|
{
|
||||||
|
|
||||||
// 保存账册、操作记录
|
// 保存账册、操作记录
|
||||||
var b = await orderInfoDao.OrderReturnFinish(data, order.OrderNo);
|
var b = await orderInfoDao.OrderReturnFinish(data, order.OrderNo);
|
||||||
if (!b)
|
if (!b)
|
||||||
|
|
|
||||||
|
|
@ -158,13 +158,13 @@
|
||||||
{
|
{
|
||||||
if (options._data == 0)
|
if (options._data == 0)
|
||||||
{
|
{
|
||||||
PortUtil.PowerOn(drawerNo);
|
|
||||||
await Task.Delay(portSetting.Value.delayTime);
|
|
||||||
BeforeQuantity = new int[9];
|
BeforeQuantity = new int[9];
|
||||||
AfterQuantity = new int[9];
|
AfterQuantity = new int[9];
|
||||||
// 判断是否为单支抽屉
|
// 判断是否为单支抽屉
|
||||||
if (setting.Value.single.Contains(drawerNo))
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
{
|
{
|
||||||
|
PortUtil.PowerOn(drawerNo);
|
||||||
|
await Task.Delay(portSetting.Value.delayTime);
|
||||||
byte[] quantity = await PortUtil.CheckQuantityByDrawer(drawerNo);
|
byte[] quantity = await PortUtil.CheckQuantityByDrawer(drawerNo);
|
||||||
BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
||||||
logger.Info($"单支抽屉【{drawerNo}】,开抽屉前检测数量【{string.Join(",", BeforeQuantity)}】");
|
logger.Info($"单支抽屉【{drawerNo}】,开抽屉前检测数量【{string.Join(",", BeforeQuantity)}】");
|
||||||
|
|
@ -185,7 +185,10 @@
|
||||||
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
||||||
);
|
);
|
||||||
logger.Info($"抽屉打开失败");
|
logger.Info($"抽屉打开失败");
|
||||||
PortUtil.PowerOff(drawerNo);
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(drawerNo);
|
||||||
|
}
|
||||||
RestData();
|
RestData();
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
@ -257,12 +260,10 @@
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
PortUtil.PowerOff();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RestData()
|
void RestData()
|
||||||
{
|
{
|
||||||
PortUtil.PowerOff();
|
|
||||||
this.status = 0;
|
this.status = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -191,13 +191,13 @@
|
||||||
{
|
{
|
||||||
if (options._data == 0)
|
if (options._data == 0)
|
||||||
{
|
{
|
||||||
PortUtil.PowerOn(drawerNo);
|
|
||||||
await Task.Delay(portSetting.Value.delayTime);
|
|
||||||
BeforeQuantity = new int[9];
|
BeforeQuantity = new int[9];
|
||||||
AfterQuantity = new int[9];
|
AfterQuantity = new int[9];
|
||||||
// 判断是否为单支抽屉
|
// 判断是否为单支抽屉
|
||||||
if (setting.Value.single.Contains(drawerNo))
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
{
|
{
|
||||||
|
PortUtil.PowerOn(drawerNo);
|
||||||
|
await Task.Delay(portSetting.Value.delayTime);
|
||||||
byte[] quantity = await PortUtil.CheckQuantityByDrawer(drawerNo);
|
byte[] quantity = await PortUtil.CheckQuantityByDrawer(drawerNo);
|
||||||
BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
||||||
logger.Info($"单支抽屉【{drawerNo}】,开抽屉前检测数量【{string.Join(",", BeforeQuantity)}】");
|
logger.Info($"单支抽屉【{drawerNo}】,开抽屉前检测数量【{string.Join(",", BeforeQuantity)}】");
|
||||||
|
|
@ -218,7 +218,10 @@
|
||||||
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
||||||
);
|
);
|
||||||
logger.Info($"抽屉打开失败");
|
logger.Info($"抽屉打开失败");
|
||||||
PortUtil.PowerOff(drawerNo);
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(drawerNo);
|
||||||
|
}
|
||||||
RestData();
|
RestData();
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
@ -279,12 +282,10 @@
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
PortUtil.PowerOff();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RestData()
|
void RestData()
|
||||||
{
|
{
|
||||||
PortUtil.PowerOff();
|
|
||||||
this.status = 0;
|
this.status = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@
|
||||||
</RadzenStack>
|
</RadzenStack>
|
||||||
</RadzenStack>
|
</RadzenStack>
|
||||||
@code {
|
@code {
|
||||||
@inject Radzen.DialogService dialogService;
|
@inject Radzen.DialogService dialogService;
|
||||||
@inject NotificationService _message
|
@inject NotificationService _message
|
||||||
@inject PortUtil PortUtil;
|
@inject PortUtil PortUtil;
|
||||||
@inject ISelfTakeDao selfTakeDao;
|
@inject ISelfTakeDao selfTakeDao;
|
||||||
|
|
@ -77,7 +77,7 @@
|
||||||
int status;
|
int status;
|
||||||
|
|
||||||
[Parameter] public OrderInfo order { get; set; }
|
[Parameter] public OrderInfo order { get; set; }
|
||||||
[Parameter] public List<OrderDetail> orderDetails { get; set; }
|
[Parameter] public List<OrderDetail> orderDetails { get; set; }
|
||||||
|
|
||||||
|
|
||||||
private bool CanTakeDrug = true;
|
private bool CanTakeDrug = true;
|
||||||
|
|
@ -169,7 +169,10 @@
|
||||||
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"抽屉【{drawerNo}】打开失败,请检测硬件", Duration = 4000 }
|
||||||
);
|
);
|
||||||
logger.Info($"抽屉打开失败");
|
logger.Info($"抽屉打开失败");
|
||||||
PortUtil.PowerOff();
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(drawerNo);
|
||||||
|
}
|
||||||
RestData();
|
RestData();
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
@ -193,7 +196,6 @@
|
||||||
});
|
});
|
||||||
PortUtil.Operate = false;
|
PortUtil.Operate = false;
|
||||||
orderTakeVo.Status = 2;
|
orderTakeVo.Status = 2;
|
||||||
PortUtil.PowerOff();
|
|
||||||
if (options._data == drawerNos.Count - 1)
|
if (options._data == drawerNos.Count - 1)
|
||||||
{
|
{
|
||||||
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
||||||
|
|
@ -250,6 +252,10 @@
|
||||||
dialogService.Close(false);
|
dialogService.Close(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(drawerNo);
|
||||||
|
}
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -304,7 +310,6 @@
|
||||||
}
|
}
|
||||||
void RestData()
|
void RestData()
|
||||||
{
|
{
|
||||||
PortUtil.PowerOff();
|
|
||||||
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
||||||
this.status = 0;
|
this.status = 0;
|
||||||
}
|
}
|
||||||
|
|
@ -313,7 +318,7 @@
|
||||||
{
|
{
|
||||||
|
|
||||||
// 保存账册、操作记录
|
// 保存账册、操作记录
|
||||||
var b = await selfTakeDao.OrderTakeFinish(data,order);
|
var b = await selfTakeDao.OrderTakeFinish(data, order);
|
||||||
if (!b)
|
if (!b)
|
||||||
{
|
{
|
||||||
_message.Notify(new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"数据保存失败", Duration = 4000 });
|
_message.Notify(new NotificationMessage { Severity = NotificationSeverity.Error, Summary = "提示", Detail = $"数据保存失败", Duration = 4000 });
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.rz-custom-header {
|
.rz-custom-header {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<RadzenStack Orientation="Orientation.Horizontal">
|
<RadzenStack Orientation="Orientation.Horizontal">
|
||||||
|
|
@ -19,11 +19,11 @@
|
||||||
{
|
{
|
||||||
if (setting.Value.returnDrawer != null && setting.Value.returnDrawer.Contains(i))
|
if (setting.Value.returnDrawer != null && setting.Value.returnDrawer.Contains(i))
|
||||||
{
|
{
|
||||||
<RadzenButton class="col-5" Click="@(() => SelectDrawer(i))" Text="@i.ToString()" Disabled="true" Shade="Shade.Light" Variant="@(drawerNo !=i ? Variant.Outlined : Variant.Flat)" Style="background-color: #d3d3d3;" />
|
<RadzenButton class="col-5" Click="@(() => SelectDrawer(i))" Text="@i.ToString()" Disabled="true" Shade="Shade.Light" Variant="@(drawerNo != i ? Variant.Outlined : Variant.Flat)" Style="background-color: #d3d3d3;" />
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<RadzenButton class="col-5" Click="@(() => SelectDrawer(i))" Text="@i.ToString()" Disabled="@(status > 0)" Shade="Shade.Light" Variant="@(drawerNo !=i ? Variant.Outlined : Variant.Flat)" />
|
<RadzenButton class="col-5" Click="@(() => SelectDrawer(i))" Text="@i.ToString()" Disabled="@(status > 0)" Shade="Shade.Light" Variant="@(drawerNo != i ? Variant.Outlined : Variant.Flat)" />
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -31,19 +31,19 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<RadzenDataGrid @ref="grid"
|
<RadzenDataGrid @ref="grid"
|
||||||
LoadData="@LoadData"
|
LoadData="@LoadData"
|
||||||
IsLoading="@isLoading"
|
IsLoading="@isLoading"
|
||||||
Count="@count"
|
Count="@count"
|
||||||
EmptyText="无数据"
|
EmptyText="无数据"
|
||||||
Data="@channels"
|
Data="@channels"
|
||||||
AllowColumnResize="true" AllowAlternatingRows="false"
|
AllowColumnResize="true" AllowAlternatingRows="false"
|
||||||
CellClick="@((DataGridCellMouseEventArgs<ChannelStock> args) => OnCellClick(args))"
|
CellClick="@((DataGridCellMouseEventArgs<ChannelStock> args) => OnCellClick(args))"
|
||||||
AllowPaging="true" PageSize="10" PagerHorizontalAlign="HorizontalAlign.Left" ShowPagingSummary="true" PagingSummaryFormat="{0}/{1} 共{2}条数据">
|
AllowPaging="true" PageSize="10" PagerHorizontalAlign="HorizontalAlign.Left" ShowPagingSummary="true" PagingSummaryFormat="{0}/{1} 共{2}条数据">
|
||||||
<HeaderTemplate>
|
<HeaderTemplate>
|
||||||
<RadzenRow JustifyContent="JustifyContent.End">
|
<RadzenRow JustifyContent="JustifyContent.End">
|
||||||
@if (status < 3)
|
@if (status < 3)
|
||||||
{
|
{
|
||||||
<RadzenButton IsBusy="@(status>0)" BusyText="盘点中。。。" ButtonStyle="ButtonStyle.Warning" Variant="Variant.Flat" Shade="Shade.Light" Text="盘点" Click="@OpenDrawer" />
|
<RadzenButton IsBusy="@(status > 0)" BusyText="盘点中。。。" ButtonStyle="ButtonStyle.Warning" Variant="Variant.Flat" Shade="Shade.Light" Text="盘点" Click="@OpenDrawer" />
|
||||||
}
|
}
|
||||||
@if (status == 3)
|
@if (status == 3)
|
||||||
{
|
{
|
||||||
|
|
@ -171,11 +171,11 @@
|
||||||
// 开启抽屉
|
// 开启抽屉
|
||||||
else if (this.status == 1)
|
else if (this.status == 1)
|
||||||
{
|
{
|
||||||
PortUtil.PowerOn(drawerNo);
|
|
||||||
await Task.Delay(portSetting.Value.delayTime);
|
|
||||||
// 判断是否为单支抽屉
|
// 判断是否为单支抽屉
|
||||||
if (setting.Value.single.Contains(this.drawerNo))
|
if (setting.Value.single.Contains(this.drawerNo))
|
||||||
{
|
{
|
||||||
|
PortUtil.PowerOn(drawerNo);
|
||||||
|
await Task.Delay(portSetting.Value.delayTime);
|
||||||
byte[] quantity = await PortUtil.CheckQuantityByDrawer(this.drawerNo);
|
byte[] quantity = await PortUtil.CheckQuantityByDrawer(this.drawerNo);
|
||||||
BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
BeforeQuantity = quantity.Select(it => Convert.ToInt32(it)).ToArray().Skip(3).Take(9).ToArray();
|
||||||
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", BeforeQuantity)}】");
|
logger.Info($"单支抽屉,开抽屉前检测数量【{string.Join(",", BeforeQuantity)}】");
|
||||||
|
|
@ -210,6 +210,10 @@
|
||||||
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
||||||
PortUtil.SpeakAsync($"盘点完成,请,核对,或,录入,正确的,盘点数量");
|
PortUtil.SpeakAsync($"盘点完成,请,核对,或,录入,正确的,盘点数量");
|
||||||
this.status = 3;
|
this.status = 3;
|
||||||
|
if (setting.Value.single.Contains(drawerNo))
|
||||||
|
{
|
||||||
|
PortUtil.PowerOff(drawerNo);
|
||||||
|
}
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -245,12 +249,10 @@
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
PortUtil.PowerOff();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RestData()
|
void RestData()
|
||||||
{
|
{
|
||||||
PortUtil.PowerOff();
|
|
||||||
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
PortUtil.speechSynthesizer.SpeakAsyncCancelAll();
|
||||||
this.status = 0;
|
this.status = 0;
|
||||||
this.BeforeQuantity = new int[9];
|
this.BeforeQuantity = new int[9];
|
||||||
|
|
|
||||||
|
|
@ -492,7 +492,7 @@ namespace MasaBlazorApp3.Port
|
||||||
//单支板通电
|
//单支板通电
|
||||||
public void PowerOn(int DrawerNo)
|
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)
|
if (_portConfig.StorageCan == 2)
|
||||||
{
|
{
|
||||||
canBusSerial.DiscardInBuffer();
|
canBusSerial.DiscardInBuffer();
|
||||||
|
|
@ -509,7 +509,7 @@ namespace MasaBlazorApp3.Port
|
||||||
//单支板断电
|
//单支板断电
|
||||||
public void PowerOff(int DrawerNo)
|
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)
|
if (_portConfig.StorageCan == 2)
|
||||||
{
|
{
|
||||||
canBusSerial.DiscardInBuffer();
|
canBusSerial.DiscardInBuffer();
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@
|
||||||
"delayTime": 200
|
"delayTime": 200
|
||||||
},
|
},
|
||||||
"drawer": {
|
"drawer": {
|
||||||
"single": [ 1,2 ],
|
"single": [ 1,2,3 ],
|
||||||
"weigh": [ 4 ],
|
"weigh": [ 4 ],
|
||||||
"box": [ 4 ],
|
"box": [ 4 ],
|
||||||
"label": [ 4 ],
|
"label": [ 4 ],
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue