交接柜补药页面启用channnel_list表
This commit is contained in:
parent
1d27a080fa
commit
7e91a2136b
|
|
@ -3,7 +3,7 @@
|
|||
<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;port=3306;database=xiangtan_mazuike;userid=root;password=root" />
|
||||
<add name="database" connectionString="server=127.0.0.1;port=3306;database=xiangtan_mazuike_xx;userid=root;password=root" />
|
||||
</connectionStrings>
|
||||
<!--<runtime>
|
||||
--><!--配置之后,Appdomain.CurrentDomain.UnhandledException 事件的 IsTerminating 就变成了 false 啦!也就是说,程序并不会因为这次的异常而崩溃退出。--><!--
|
||||
|
|
|
|||
|
|
@ -209,5 +209,12 @@ namespace DM_Weight.Models
|
|||
private string _drugSpec;
|
||||
[SugarColumn(ColumnName = "drug_manu_no")]
|
||||
public string DrugSpec { get=> _drugSpec;set=>SetProperty(ref _drugSpec, value); }
|
||||
|
||||
|
||||
[SugarColumn(ColumnName = "Stock_Quantity")]
|
||||
public int BaseQuantity
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,12 +27,25 @@ namespace DM_Weight.ViewModels
|
|||
|
||||
private readonly ILog logger = LogManager.GetLogger(typeof(AdditionWindowViewModel));
|
||||
|
||||
private List<ChannelStock> channelStocks;
|
||||
public List<ChannelStock> ChannelStocks
|
||||
private List<ChannelStock>? channelStocks;
|
||||
public List<ChannelStock>? ChannelStocks
|
||||
{
|
||||
get => channelStocks;
|
||||
set => SetProperty(ref channelStocks, value);
|
||||
}
|
||||
private List<ChannelList>? _channelLists;
|
||||
public List<ChannelList>? _ChannelLists
|
||||
{
|
||||
get => _channelLists;
|
||||
set => SetProperty(ref _channelLists, value);
|
||||
}
|
||||
private ChannelList? _channelList;
|
||||
public ChannelList? _ChannelList
|
||||
{
|
||||
get => _channelList;
|
||||
set => SetProperty(ref _channelList, value);
|
||||
}
|
||||
|
||||
List<ChannelStock> selectedStock = new List<ChannelStock>();
|
||||
private object _finishStatus = Visibility.Collapsed;
|
||||
public object FinishStatus
|
||||
|
|
@ -70,11 +83,13 @@ namespace DM_Weight.ViewModels
|
|||
|
||||
public void OnNavigatedTo(NavigationContext navigationContext)
|
||||
{
|
||||
_eventAggregator.GetEvent<IsSelectedEvent>().Subscribe(SetIsSelected);
|
||||
//_eventAggregator.GetEvent<IsSelectedEvent>().Subscribe(SetIsSelected);
|
||||
RequestData();
|
||||
}
|
||||
private void RequestData()
|
||||
{
|
||||
_ChannelLists?.Clear();
|
||||
ChannelStocks?.Clear();
|
||||
ChannelStocks = SqlSugarHelper.Db.Queryable<ChannelStock>()
|
||||
.Includes<ChannelList>(cs => cs.ChannelLst)
|
||||
.Includes<DrugInfo>(cs => cs.DrugInfo)
|
||||
|
|
@ -83,21 +98,54 @@ namespace DM_Weight.ViewModels
|
|||
.OrderBy(cs => cs.DrawerNo)
|
||||
.OrderBy(cs => cs.DrugId)
|
||||
.ToList();
|
||||
//ChannelStocks= ChannelStocks.GroupBy(it=>new {it.DrawerNo,it.DrugId})
|
||||
// .Select(it=>
|
||||
// {
|
||||
// var ret = it.First();
|
||||
// ret.Quantity = it.Sum(itx => itx.Quantity);
|
||||
// return ret;
|
||||
// }).ToList();
|
||||
//ChannelStocks.ForEach(cs => cs.AddQuantity = cs.BaseQuantity - cs.Quantity);
|
||||
if (ChannelStocks != null && ChannelStocks.Count > 0)
|
||||
{
|
||||
//2)查询channel_list将1)中查询的添加到channel_list的channel_stock里供页面呈现显示
|
||||
List<int> DrawerNoList = ChannelStocks.Select(cs => cs.DrawerNo).Distinct().ToList();
|
||||
List<ChannelList> channelLists = new List<ChannelList>();
|
||||
for (int i = 0; i < DrawerNoList.Count; i++)
|
||||
{
|
||||
ChannelList channelList = SqlSugarHelper.Db.Queryable<ChannelList>()
|
||||
.Where(cl => cl.MachineId == (ConfigurationManager.AppSettings["jj_machineId"] ?? "DM5") && cl.DrawerNo == DrawerNoList[i])
|
||||
.OrderBy(cl => cl.Id)
|
||||
.OrderBy(cl => cl.DrawerNo)
|
||||
.First();
|
||||
if (channelList.channelStocks == null)
|
||||
{
|
||||
channelList.channelStocks = new List<ChannelStock>();
|
||||
}
|
||||
channelList.channelStocks.AddRange(ChannelStocks.Where(cs => cs.DrawerNo == DrawerNoList[i]).ToList());
|
||||
if (channelList != null)
|
||||
{
|
||||
channelList.State = 1;//统一将所有的状态设置为已取药待入库
|
||||
channelLists.Add(channelList);
|
||||
}
|
||||
}
|
||||
_ChannelLists = channelLists;
|
||||
}
|
||||
else
|
||||
{
|
||||
_ChannelLists = null;
|
||||
}
|
||||
|
||||
}
|
||||
//开药箱放入药品
|
||||
public DelegateCommand OpenBoxCommand
|
||||
{
|
||||
get => new DelegateCommand(() =>
|
||||
{
|
||||
selectedStock = ChannelStocks.FindAll(cs => cs.ChannelLst.IsSelected).ToList();
|
||||
if (_ChannelList == null || _ChannelList.channelStocks == null)
|
||||
{
|
||||
AlertMsg alertMsg = new AlertMsg
|
||||
{
|
||||
Message = "请先选择数据行",
|
||||
Type = MsgType.ERROR,
|
||||
};
|
||||
_eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
|
||||
return;
|
||||
}
|
||||
//selectedStock = ChannelStocks.FindAll(cs => cs.ChannelLst.IsSelected).ToList();
|
||||
selectedStock = _ChannelList.channelStocks.ToList();
|
||||
if (selectedStock != null && selectedStock.Count > 0)
|
||||
{
|
||||
selectedStock.ForEach(cs => cs.ChannelLst.State = 2);
|
||||
|
|
@ -263,21 +311,27 @@ namespace DM_Weight.ViewModels
|
|||
cs.AddToJJNum = 0;
|
||||
});
|
||||
SqlSugarHelper.Db.Updateable(selectedStock).ExecuteCommand();
|
||||
// 更新交接柜状态为 已取药未入库
|
||||
SqlSugarHelper.Db.Updateable(new ChannelList()
|
||||
{
|
||||
State = 0
|
||||
}).UpdateColumns(it => it.State).Where(it => it.DrawerNo == _ChannelList.DrawerNo).ExecuteCommand();
|
||||
|
||||
//List<ChannelStock> jiaojie = selectedStock.GroupBy(cs => cs.DrugId).Select(cs => cs.FirstOrDefault()).ToList();
|
||||
//if (jiaojie != null && jiaojie.Count > 0)
|
||||
//{
|
||||
// for (int j = 0; j < jiaojie.Count; j++)
|
||||
// {
|
||||
// ChannelStock jiaojie_it = jiaojie[j];
|
||||
// ChannelList jiaojieList = new ChannelList();
|
||||
// jiaojieList.State = 0;
|
||||
// jiaojieList.Id = jiaojie_it.ChannelLst.Id;
|
||||
// //更新交接柜状态为0
|
||||
// var result = SqlSugarHelper.Db.Updateable(jiaojieList)
|
||||
// .UpdateColumns(it => new { it.State, it.Id }).ExecuteCommand();
|
||||
// }
|
||||
//}
|
||||
|
||||
List<ChannelStock> jiaojie = selectedStock.GroupBy(cs => cs.DrawerNo).Select(cs => cs.FirstOrDefault()).ToList();
|
||||
if (jiaojie != null && jiaojie.Count > 0)
|
||||
{
|
||||
for (int j = 0; j < jiaojie.Count; j++)
|
||||
{
|
||||
ChannelStock jiaojie_it = jiaojie[j];
|
||||
ChannelList jiaojieList = new ChannelList();
|
||||
jiaojieList.State = 0;
|
||||
jiaojieList.Id = jiaojie_it.ChannelLst.Id;
|
||||
//更新交接柜状态为0
|
||||
var result = SqlSugarHelper.Db.Updateable(jiaojieList)
|
||||
.UpdateColumns(it => new { it.State, it.Id }).ExecuteCommand();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
if (f.Data)
|
||||
|
|
|
|||
|
|
@ -50,30 +50,70 @@ namespace DM_Weight.ViewModels
|
|||
set => SetProperty(ref _snackbarMessageQueue, value);
|
||||
}
|
||||
|
||||
private List<ChannelStock>? _channels;
|
||||
private List<ChannelList>? _channelLists;
|
||||
|
||||
public List<ChannelStock>? Channels
|
||||
public List<ChannelList>? _ChannelLists
|
||||
{
|
||||
get => _channels;
|
||||
set => SetProperty(ref _channels, value);
|
||||
get => _channelLists;
|
||||
set => SetProperty(ref _channelLists, value);
|
||||
}
|
||||
private ChannelList? _channelList;
|
||||
|
||||
private ChannelStock _channelStock;
|
||||
|
||||
public ChannelStock Channel
|
||||
public ChannelList? _ChannelList
|
||||
{
|
||||
get { return _channelStock; }
|
||||
get => _channelList;
|
||||
set
|
||||
{
|
||||
if (value != null)
|
||||
{
|
||||
DrugInfo = DrugInfos.Where(di => di.DrugId == value.DrugInfo.DrugId).First();
|
||||
DrugInfo = DrugInfos.Where(di => di.DrugId == value.Drug.DrugId).First();
|
||||
BaseQuantity = value.BaseQuantity.ToString();
|
||||
//DrugManuNo = DrugManuNos.Where(dm => dm.DrugId == value.DrugId && dm.ManuNo == value.ManuNo).First();
|
||||
}
|
||||
SetProperty(ref _channelStock, value);
|
||||
SetProperty(ref _channelList, value);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//private List<ChannelStock>? _channels;
|
||||
|
||||
//public List<ChannelStock>? Channels
|
||||
//{
|
||||
// get => _channels;
|
||||
// set => SetProperty(ref _channels, value);
|
||||
//}
|
||||
|
||||
//private ChannelStock _channelStock;
|
||||
|
||||
//public ChannelStock Channel
|
||||
//{
|
||||
// get { return _channelStock; }
|
||||
// set
|
||||
// {
|
||||
// if (value != null)
|
||||
// {
|
||||
// DrugInfo = DrugInfos.Where(di => di.DrugId == value.DrugInfo.DrugId).First();
|
||||
// BaseQuantity = value.BaseQuantity.ToString();
|
||||
// //DrugManuNo = DrugManuNos.Where(dm => dm.DrugId == value.DrugId && dm.ManuNo == value.ManuNo).First();
|
||||
// }
|
||||
// SetProperty(ref _channelStock, value);
|
||||
// }
|
||||
//}
|
||||
|
||||
//private DrugManuNo? _drugManuNo;
|
||||
|
||||
//public DrugManuNo? DrugManuNo
|
||||
//{
|
||||
// get => _drugManuNo;
|
||||
// set => SetProperty(ref _drugManuNo, value);
|
||||
//}
|
||||
//private List<DrugManuNo>? _drugManuNos;
|
||||
|
||||
//public List<DrugManuNo>? DrugManuNos
|
||||
//{
|
||||
// get => _drugManuNos;
|
||||
// set => SetProperty(ref _drugManuNos, value);
|
||||
//}
|
||||
|
||||
private List<DrugInfo>? _drugInfos;
|
||||
|
||||
|
|
@ -90,6 +130,18 @@ namespace DM_Weight.ViewModels
|
|||
set
|
||||
{
|
||||
SetProperty(ref _drugInfo, value);
|
||||
//if (_drugInfo != null)
|
||||
//{
|
||||
// DrugManuNos = SqlSugarHelper.Db.Queryable<DrugManuNo>().Where(m => m.DrugId == _drugInfo.DrugId.ToString()).ToList();
|
||||
// if (DrugManuNos != null)
|
||||
// {
|
||||
// DrugManuNo = DrugManuNos[0];
|
||||
// }
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// DrugManuNo = null;
|
||||
//}
|
||||
}
|
||||
}
|
||||
//药品基数
|
||||
|
|
@ -120,26 +172,36 @@ namespace DM_Weight.ViewModels
|
|||
|
||||
private void RequestData()
|
||||
{
|
||||
Channels?.Clear();
|
||||
_ChannelLists?.Clear();
|
||||
BaseQuantity = "";
|
||||
var list = SqlSugarHelper.Db.Queryable<ChannelStock>()
|
||||
var list = SqlSugarHelper.Db.Queryable<ChannelList>()
|
||||
//.Includes(cl => cl.channelStocks, cs => cs.DrugInfo,di=>di.drugBase)
|
||||
.Includes(cs => cs.DrugInfo)
|
||||
.Where(cs => cs.MachineId.Equals("DM5"))
|
||||
.Where(cs => cs.DrawerNo == DrawerNo + 1).ToList();
|
||||
.Includes(cl => cl.channelStocks)
|
||||
.Includes(cl => cl.Drug)
|
||||
.Where(cl => cl.MachineId.Equals("DM5"))
|
||||
.Where(cl => cl.DrawerNo == DrawerNo + 1)
|
||||
.OrderBy(cl => cl.DrugId).ToList();
|
||||
|
||||
//if (list != null && list.Count > 0)
|
||||
//{
|
||||
// Channels = list.GroupBy(cs =>new { cs.DrugId, cs.ManuNo }).Select(cs =>
|
||||
// {
|
||||
// var ret = cs.First();
|
||||
// ret.Quantity = cs.Sum(itx => itx.Quantity);
|
||||
// return ret;
|
||||
// }).ToList();
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// Channels = null;
|
||||
//}
|
||||
if (list != null && list.Count > 0)
|
||||
{
|
||||
Channels = list.GroupBy(cs => cs.DrugId).Select(cs =>
|
||||
{
|
||||
var ret = cs.First();
|
||||
ret.Quantity = cs.Sum(itx => itx.Quantity);
|
||||
return ret;
|
||||
}).ToList();
|
||||
_ChannelLists = list;
|
||||
}
|
||||
else
|
||||
{
|
||||
Channels = null;
|
||||
_ChannelLists = null;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -202,9 +264,9 @@ namespace DM_Weight.ViewModels
|
|||
SnackbarMessageQueue.Enqueue("药品基数请输入正确的整数");
|
||||
return;
|
||||
}
|
||||
if (Channels != null)
|
||||
if (_ChannelList != null)
|
||||
{
|
||||
int iNum = Channels.Where(cs => cs.DrugId == DrugInfo.DrugId.ToString()).Count();
|
||||
int iNum = _ChannelLists.Where(cs => cs.DrugId == DrugInfo.DrugId.ToString()).Count();
|
||||
if (iNum > 0)
|
||||
{
|
||||
SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
|
||||
|
|
@ -215,24 +277,41 @@ namespace DM_Weight.ViewModels
|
|||
}
|
||||
var f = SqlSugarHelper.Db.UseTran(() =>
|
||||
{
|
||||
string chnguid = SqlSugarHelper.Db.Queryable<ChannelList>().Where(cs => cs.MachineId == ConfigurationManager.AppSettings["machineId"].ToString() && cs.DrawerNo == DrawerNo + 1).Select(cs => cs.Id).First();
|
||||
//string chnguid = SqlSugarHelper.Db.Queryable<ChannelList>().Where(cs => cs.MachineId == ConfigurationManager.AppSettings["machineId"].ToString() && cs.DrawerNo == DrawerNo + 1).Select(cs => cs.Id).First();
|
||||
|
||||
|
||||
int colNoCount = SqlSugarHelper.Db.Queryable<ChannelList>()
|
||||
.Where(cs => cs.MachineId == ConfigurationManager.AppSettings["machineId"].ToString() && cs.DrawerNo == DrawerNo + 1)
|
||||
.Count();
|
||||
string chnguid = $"DM5_{(DrawerNo + 1)}_{(colNoCount+1)}_{DrugInfo.DrugId}";
|
||||
SqlSugarHelper.Db.Insertable(new ChannelList()
|
||||
{
|
||||
Id = chnguid,
|
||||
DrawerNo = (DrawerNo + 1),
|
||||
ColNo=(colNoCount+1),
|
||||
DrugId = DrugInfo.DrugId,
|
||||
BaseQuantity = baseQuantity,
|
||||
MachineId = "DM5",
|
||||
DrawerType=1
|
||||
}).ExecuteCommand();
|
||||
SqlSugarHelper.Db.Insertable(new ChannelStock()
|
||||
{
|
||||
Chnguid = chnguid,
|
||||
DrawerNo = DrawerNo + 1,
|
||||
DrugId = DrugInfo.DrugId.ToString(),
|
||||
DrugId = DrugInfo.DrugId,
|
||||
BaseQuantity = baseQuantity,
|
||||
Id = Guid.NewGuid().ToString(),
|
||||
MachineId = "DM5",
|
||||
AddToJJNum = 0,
|
||||
NeedNum = baseQuantity
|
||||
NeedNum = baseQuantity,
|
||||
//ManuNo=DrugManuNo.ManuNo
|
||||
}).ExecuteCommand();
|
||||
// 保存数据 入库记录
|
||||
SqlSugarHelper.Db.Insertable(new MachineRecord()
|
||||
{
|
||||
MachineId = "DM5",
|
||||
DrawerNo = DrawerNo + 1,
|
||||
DrugId = DrugInfo.DrugId.ToString(),
|
||||
DrugId = DrugInfo.DrugId,
|
||||
Operator = HomeWindowViewModel.Operator?.Id,
|
||||
OperationTime = DateTime.Now,
|
||||
Quantity = baseQuantity,
|
||||
|
|
@ -276,52 +355,56 @@ namespace DM_Weight.ViewModels
|
|||
try
|
||||
{
|
||||
|
||||
if (Channels == null)
|
||||
if (_ChannelList == null)
|
||||
{
|
||||
|
||||
SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
|
||||
SnackbarMessageQueue.Enqueue("所选手术间中无可解绑药品");
|
||||
return;
|
||||
}
|
||||
if (Channel != null)
|
||||
if (_ChannelList != null)
|
||||
{
|
||||
//解绑选定行的单个药品
|
||||
SqlSugarHelper.Db.Deleteable(Channel).ExecuteCommand();
|
||||
SqlSugarHelper.Db.Deleteable(_ChannelList.channelStocks).ExecuteCommand();
|
||||
//解绑ChannelList表中的药品
|
||||
SqlSugarHelper.Db.Deleteable<ChannelList>().Where(cl => cl.Id == _ChannelList.Id).ExecuteCommand();
|
||||
// 保存数据 入库记录
|
||||
SqlSugarHelper.Db.Insertable(new MachineRecord()
|
||||
{
|
||||
MachineId = "DM5",
|
||||
DrawerNo = DrawerNo,
|
||||
DrugId = Channel.DrugId.ToString(),
|
||||
DrugId = _ChannelList.DrugId,
|
||||
Operator = HomeWindowViewModel.Operator?.Id,
|
||||
OperationTime = DateTime.Now,
|
||||
Quantity = Channel.Quantity,
|
||||
Quantity = _ChannelList.BaseQuantity,
|
||||
Type = 55,
|
||||
InvoiceId = "解绑手术间单个药品",
|
||||
}).ExecuteCommand();
|
||||
}
|
||||
else
|
||||
{
|
||||
//解绑药箱下的所有药品
|
||||
Channels.ForEach(item =>
|
||||
{
|
||||
SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
|
||||
SnackbarMessageQueue.Enqueue("请选择要解绑的药品");
|
||||
////解绑药箱下的所有药品
|
||||
//Channels.ForEach(item =>
|
||||
//{
|
||||
|
||||
SqlSugarHelper.Db.Deleteable(item).ExecuteCommand();
|
||||
// SqlSugarHelper.Db.Deleteable(item).ExecuteCommand();
|
||||
|
||||
// 保存数据 入库记录
|
||||
SqlSugarHelper.Db.Insertable(new MachineRecord()
|
||||
{
|
||||
MachineId = "DM5",
|
||||
DrawerNo = DrawerNo,
|
||||
DrugId = item.DrugId.ToString(),
|
||||
Operator = HomeWindowViewModel.Operator?.Id,
|
||||
OperationTime = DateTime.Now,
|
||||
Quantity = item.Quantity,
|
||||
Type = 55,
|
||||
InvoiceId = "绑定手术间全部药品",
|
||||
}).ExecuteCommand();
|
||||
// // 保存数据 入库记录
|
||||
// SqlSugarHelper.Db.Insertable(new MachineRecord()
|
||||
// {
|
||||
// MachineId = "DM5",
|
||||
// DrawerNo = DrawerNo,
|
||||
// DrugId = item.DrugId.ToString(),
|
||||
// Operator = HomeWindowViewModel.Operator?.Id,
|
||||
// OperationTime = DateTime.Now,
|
||||
// Quantity = item.Quantity,
|
||||
// Type = 55,
|
||||
// InvoiceId = "绑定手术间全部药品",
|
||||
// }).ExecuteCommand();
|
||||
|
||||
});
|
||||
//});
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -341,7 +424,7 @@ namespace DM_Weight.ViewModels
|
|||
{
|
||||
get => new DelegateCommand(() =>
|
||||
{
|
||||
if (DrugInfo.DrugId != Channel.DrugId)
|
||||
if (DrugInfo.DrugId != _ChannelList.DrugId)
|
||||
{
|
||||
SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
|
||||
SnackbarMessageQueue.Enqueue("只能修改药品基数,不能更换绑定药品!");
|
||||
|
|
@ -350,19 +433,29 @@ namespace DM_Weight.ViewModels
|
|||
int baseQty = 0;
|
||||
if (int.TryParse(BaseQuantity, out baseQty))
|
||||
{
|
||||
logger.Info($"修改药品基数{Channel.BaseQuantity}改为{baseQty}");
|
||||
if (baseQty > Channel.BaseQuantity)
|
||||
logger.Info($"修改药品基数{_ChannelList.BaseQuantity}改为{baseQty}");
|
||||
if (baseQty > _ChannelList.BaseQuantity)
|
||||
{
|
||||
//基数变大,需要补药
|
||||
Channel.NeedNum = baseQty - Channel.BaseQuantity;
|
||||
_ChannelList.channelStocks[0].NeedNum = baseQty - _ChannelList.BaseQuantity;
|
||||
}
|
||||
Channel.BaseQuantity = baseQty;
|
||||
int iUpdate = SqlSugarHelper.Db.Updateable<ChannelStock>(Channel).ExecuteCommand();
|
||||
if (iUpdate > 0)
|
||||
else
|
||||
{
|
||||
_ChannelList.channelStocks[0].NeedNum = 0;
|
||||
}
|
||||
_ChannelList.BaseQuantity = baseQty;
|
||||
_ChannelList.channelStocks[0].BaseQuantity = baseQty;
|
||||
int iUpdate = SqlSugarHelper.Db.Updateable<ChannelStock>(_ChannelList.channelStocks[0]).ExecuteCommand();
|
||||
//更新ChannelList表中的BaseQuantity
|
||||
int iUpdateChannelList = SqlSugarHelper.Db.Updateable<ChannelList>()
|
||||
.SetColumns(it => new ChannelList() { BaseQuantity = baseQty })
|
||||
.Where(it => it.Id == _ChannelList.Id).ExecuteCommand();
|
||||
if (iUpdate > 0 && iUpdateChannelList > 0)
|
||||
{
|
||||
|
||||
SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#00e676"));
|
||||
SnackbarMessageQueue.Enqueue("保存修改完成!");
|
||||
RequestData();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -386,127 +479,5 @@ namespace DM_Weight.ViewModels
|
|||
{
|
||||
get => new DelegateCommand(RequestData);
|
||||
}
|
||||
//打开全部药箱
|
||||
public DelegateCommand OpenBox
|
||||
{
|
||||
get => new DelegateCommand(() => OpenBoxAction());
|
||||
}
|
||||
|
||||
private void OpenBoxAction()
|
||||
{
|
||||
|
||||
iList = SqlSugarHelper.Db.Queryable<ChannelList>().Where(cl => cl.MachineId == "DM5")
|
||||
.Select(cl => cl.DrawerNo).ToList();
|
||||
if (iList.Count > 0)
|
||||
{
|
||||
for (int i = 0; i < iList.Count; i++)
|
||||
{
|
||||
//记录开药箱日志
|
||||
SqlSugarHelper.Db.Insertable(new MachineRecord()
|
||||
{
|
||||
MachineId = "DM5",
|
||||
DrawerNo = DrawerNo,
|
||||
Operator = HomeWindowViewModel.Operator?.Id,
|
||||
OperationTime = DateTime.Now,
|
||||
Type = 55,
|
||||
InvoiceId = $"打开{DrawerNo}号手术间",
|
||||
}).ExecuteCommand();
|
||||
IsEnable = false;
|
||||
Status = 1;
|
||||
Console.WriteLine($"正在打开{iList[i]}号手术间");
|
||||
ModbusHelper.GetInstance().OpenBoxDoor(iList[i] - 1);
|
||||
//iNumber++;
|
||||
}
|
||||
|
||||
//ModbusHelper.GetInstance().GetAllBoxState();
|
||||
//if (Status == 2)
|
||||
//{
|
||||
// Status = 3;
|
||||
//}
|
||||
//IsEnable = true;
|
||||
}
|
||||
|
||||
}
|
||||
void DoMyPrismEvent(DeviceMsg msg)
|
||||
{
|
||||
switch (msg.EventType)
|
||||
{
|
||||
// 药箱打开
|
||||
case EventType.DRAWEROPEN:
|
||||
//记录开药箱日志
|
||||
SqlSugarHelper.Db.Insertable(new MachineRecord()
|
||||
{
|
||||
MachineId = "DM5",
|
||||
//DrawerNo = _portUtil.DrawerNo,
|
||||
Operator = HomeWindowViewModel.Operator?.Id,
|
||||
OperationTime = DateTime.Now,
|
||||
Type = 55,
|
||||
InvoiceId = "手术间打开",
|
||||
}).ExecuteCommand();
|
||||
|
||||
//if (iNumber < iList.Count)
|
||||
//{
|
||||
// //_portUtil.DrawerNo = iList[iNumber];
|
||||
// iNumber++;
|
||||
// if (Status == 1)
|
||||
// {
|
||||
// Status = 2;
|
||||
// }
|
||||
// //_portUtil.OpenBox();
|
||||
//}
|
||||
//else
|
||||
{
|
||||
//iNumber = 0;
|
||||
//_portUtil.GetBoxStatus();
|
||||
}
|
||||
break;
|
||||
// 药箱关闭
|
||||
case EventType.DRAWERCLOSE:
|
||||
//记录药箱操作日志
|
||||
SqlSugarHelper.Db.Insertable(new MachineRecord()
|
||||
{
|
||||
MachineId = "DM5",
|
||||
//DrawerNo = _portUtil.DrawerNo,
|
||||
Operator = HomeWindowViewModel.Operator?.Id,
|
||||
OperationTime = DateTime.Now,
|
||||
Type = 55,
|
||||
InvoiceId = "手术间关闭",
|
||||
}).ExecuteCommand();
|
||||
|
||||
if (Status == 2)
|
||||
{
|
||||
Status = 3;
|
||||
}
|
||||
IsEnable = true;
|
||||
DrawerNo = -1;
|
||||
//_portUtil.Operate = false;
|
||||
break;
|
||||
// 打开失败
|
||||
case EventType.OPENERROR:
|
||||
AlertMsg alertMsg = new AlertMsg
|
||||
{
|
||||
Message = msg.Message,
|
||||
Type = MsgType.ERROR
|
||||
};
|
||||
_eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
|
||||
|
||||
IsEnable = true;
|
||||
DrawerNo = -1;
|
||||
Status = 0;
|
||||
|
||||
//记录药箱操作日志
|
||||
SqlSugarHelper.Db.Insertable(new MachineRecord()
|
||||
{
|
||||
MachineId = "DM5",
|
||||
//DrawerNo = _portUtil.DrawerNo,
|
||||
Operator = HomeWindowViewModel.Operator?.Id,
|
||||
OperationTime = DateTime.Now,
|
||||
Type = 55,
|
||||
InvoiceId = "手术间打开失败",
|
||||
}).ExecuteCommand();
|
||||
//_portUtil.Operate = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -296,7 +296,7 @@ namespace DM_Weight.ViewModels
|
|||
{
|
||||
get => new DelegateCommand(() =>
|
||||
{
|
||||
if (DrawerNo > 0)
|
||||
if (DrawerNo >= 0)
|
||||
{
|
||||
ChannelList channelList = SqlSugarHelper.Db.Queryable<ChannelList>().Where(cs => cs.DrawerNo == (DrawerNo+1) && cs.MachineId == "DM5").First();
|
||||
if (BoxTypeSelectedItem != null)
|
||||
|
|
|
|||
|
|
@ -10,6 +10,21 @@
|
|||
xmlns:local="clr-namespace:DM_Weight.Views"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="800">
|
||||
<UserControl.Resources>
|
||||
<Style x:Key="st" TargetType="GridViewColumnHeader">
|
||||
<Style.Setters>
|
||||
<Setter Property="Height">
|
||||
<Setter.Value>55</Setter.Value>
|
||||
</Setter>
|
||||
<Setter Property="Background">
|
||||
<Setter.Value>#31ccec</Setter.Value>
|
||||
</Setter>
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>white</Setter.Value>
|
||||
</Setter>
|
||||
</Style.Setters>
|
||||
</Style>
|
||||
</UserControl.Resources>
|
||||
<Grid>
|
||||
<Grid.Resources>
|
||||
<CollectionViewSource x:Key="GroupedDataList" Source="{Binding ChannelStocks}">
|
||||
|
|
@ -86,7 +101,7 @@
|
|||
|
||||
|
||||
</Grid>
|
||||
<DataGrid
|
||||
<!--<DataGrid
|
||||
Grid.Row="1"
|
||||
materialDesign:DataGridAssist.ColumnHeaderPadding="15"
|
||||
ItemsSource="{Binding Source={StaticResource GroupedDataList}}"
|
||||
|
|
@ -104,7 +119,7 @@
|
|||
<Setter Property="BorderThickness" Value="0.6"/>
|
||||
<Setter Property="HorizontalContentAlignment" Value="Center"/>
|
||||
</Style>
|
||||
<!--<Style TargetType="{x:Type DataGridCell}" BasedOn="{StaticResource MaterialDesignDataGridCell}">
|
||||
--><!--<Style TargetType="{x:Type DataGridCell}" BasedOn="{StaticResource MaterialDesignDataGridCell}">
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsReadOnly" Value="True">
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
|
|
@ -112,7 +127,7 @@
|
|||
</Trigger>
|
||||
</Style.Triggers>
|
||||
<Setter Property="HorizontalAlignment" Value="Center"/>
|
||||
</Style>-->
|
||||
</Style>--><!--
|
||||
<Style TargetType="DataGridCell">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
|
|
@ -159,13 +174,77 @@
|
|||
<DataGrid.Columns>
|
||||
<DataGridTextColumn IsReadOnly="True" Header="药品名称" Binding="{Binding DrugInfo.DrugName}"/>
|
||||
<DataGridTextColumn IsReadOnly="True" Header="规格" Binding="{Binding DrugInfo.DrugSpec}"/>
|
||||
<DataGridTextColumn IsReadOnly="True" Header="批次" Binding="{Binding ManuNo}"/>
|
||||
<DataGridTextColumn IsReadOnly="True" Header="效期" Binding="{Binding EffDate}"/>
|
||||
<DataGridTextColumn IsReadOnly="True" Header="厂家" Binding="{Binding DrugInfo.Manufactory}"/>
|
||||
<!--<DataGridTextColumn IsReadOnly="True" Header="药品基数" Binding="{Binding BaseQuantity}"/>-->
|
||||
<DataGridTextColumn IsReadOnly="True" Header="需补药数量" Binding="{Binding AddToJJNum}"/>
|
||||
<DataGridTextColumn IsReadOnly="True" Header="批次" Binding="{Binding ManuNo}"/>
|
||||
--><!--<DataGridTextColumn IsReadOnly="True" Header="效期" Binding="{Binding EffDate}"/>-->
|
||||
<!--<DataGridTextColumn IsReadOnly="True" Header="药品基数" Binding="{Binding BaseQuantity}"/>--><!--
|
||||
<DataGridTextColumn IsReadOnly="True" Header="待入库数量" Binding="{Binding AddToJJNum}"/>
|
||||
<DataGridTextColumn IsReadOnly="True" Header="状态" Binding="{Binding ChannelLst.State,Converter={StaticResource StockStatusConverter},ConverterParameter=TextState}"/>
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
</DataGrid>-->
|
||||
<ListView Grid.ColumnSpan="2"
|
||||
Padding="0 6 0 0" Grid.Row="1"
|
||||
ItemsSource="{Binding _ChannelLists, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
|
||||
SelectedItem="{Binding _ChannelList}"
|
||||
materialDesign:ListViewAssist.HeaderRowBackground="#31ccec"
|
||||
materialDesign:DataGridAssist.ColumnHeaderPadding="10"
|
||||
materialDesign:ListViewAssist.ListViewItemPadding="13">
|
||||
<ListView.Resources>
|
||||
<Style TargetType="{x:Type GridViewColumnHeader}" BasedOn="{StaticResource {x:Type GridViewColumnHeader}}">
|
||||
<Setter Property="Foreground" Value="White" />
|
||||
</Style>
|
||||
</ListView.Resources>
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="SelectionChanged">
|
||||
<i:InvokeCommandAction Command="{Binding RowSelected}" />
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
<ListView.View>
|
||||
<GridView ColumnHeaderContainerStyle="{StaticResource st}">
|
||||
<GridViewColumn Width="80"
|
||||
DisplayMemberBinding="{Binding DrawerNo}"
|
||||
Header="药箱号"/>
|
||||
|
||||
<GridViewColumn Header="药品名称" Width="150">
|
||||
<GridViewColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<ListBox ItemsSource="{Binding channelStocks}" DisplayMemberPath="DrugInfo.DrugName" materialDesign:ListBoxItemAssist.ShowSelection="False"></ListBox>
|
||||
</DataTemplate>
|
||||
</GridViewColumn.CellTemplate>
|
||||
</GridViewColumn>
|
||||
<GridViewColumn Header="厂家" Width="150">
|
||||
<GridViewColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<ListBox ItemsSource="{Binding channelStocks}" DisplayMemberPath="DrugInfo.Manufactory" materialDesign:ListBoxItemAssist.ShowSelection="False"></ListBox>
|
||||
</DataTemplate>
|
||||
</GridViewColumn.CellTemplate>
|
||||
</GridViewColumn>
|
||||
<GridViewColumn Header="规格" Width="100">
|
||||
<GridViewColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<ListBox ItemsSource="{Binding channelStocks}" DisplayMemberPath="DrugInfo.DrugSpec" materialDesign:ListBoxItemAssist.ShowSelection="False"></ListBox>
|
||||
</DataTemplate>
|
||||
</GridViewColumn.CellTemplate>
|
||||
</GridViewColumn>
|
||||
<GridViewColumn Header="批次" Width="100">
|
||||
<GridViewColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<ListBox ItemsSource="{Binding channelStocks}" DisplayMemberPath="ManuNo" materialDesign:ListBoxItemAssist.ShowSelection="False"></ListBox>
|
||||
</DataTemplate>
|
||||
</GridViewColumn.CellTemplate>
|
||||
</GridViewColumn>
|
||||
<GridViewColumn Header="待入库数" Width="100">
|
||||
<GridViewColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<ListBox ItemsSource="{Binding channelStocks}" DisplayMemberPath="AddToJJNum" materialDesign:ListBoxItemAssist.ShowSelection="False"></ListBox>
|
||||
</DataTemplate>
|
||||
</GridViewColumn.CellTemplate>
|
||||
</GridViewColumn>
|
||||
<GridViewColumn Width="100"
|
||||
DisplayMemberBinding="{Binding State,Converter={StaticResource StockStatusConverter},ConverterParameter=TextState}"
|
||||
Header="状态"/>
|
||||
</GridView>
|
||||
</ListView.View>
|
||||
</ListView>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
|
|
|||
|
|
@ -154,10 +154,17 @@
|
|||
SelectedItem="{Binding DrugInfo}"
|
||||
DisplayMemberPath="drug_name_spec" IsEnabled="True" IsTextSearchEnabled="False" KeyUp="ComboBox_KeyUp"
|
||||
/>
|
||||
<!--<ComboBox
|
||||
Margin="6 0 6 0"
|
||||
Grid.Column="1"
|
||||
materialDesign:HintAssist.Hint="批次"
|
||||
ItemsSource="{Binding DrugManuNos}"
|
||||
SelectedItem="{Binding DrugManuNo}"
|
||||
DisplayMemberPath="ManuNo"/>-->
|
||||
<TextBox
|
||||
Grid.Column="1"
|
||||
Text="{Binding BaseQuantity}"
|
||||
materialDesign:HintAssist.Hint="药品基数"
|
||||
materialDesign:HintAssist.Hint="基数"
|
||||
Margin="16 0 32 6" Width="100"
|
||||
Style="{StaticResource MaterialDesignTextBoxBase}"/>
|
||||
<Button
|
||||
|
|
@ -194,8 +201,8 @@
|
|||
</StackPanel>
|
||||
<ListView Grid.ColumnSpan="2"
|
||||
Padding="0 6 0 0" Grid.Row="1"
|
||||
ItemsSource="{Binding Channels, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
|
||||
SelectedItem="{Binding Channel}"
|
||||
ItemsSource="{Binding _ChannelLists, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
|
||||
SelectedItem="{Binding _ChannelList}"
|
||||
materialDesign:ListViewAssist.HeaderRowBackground="#31ccec"
|
||||
materialDesign:DataGridAssist.ColumnHeaderPadding="10"
|
||||
materialDesign:ListViewAssist.ListViewItemPadding="13">
|
||||
|
|
@ -205,22 +212,40 @@
|
|||
</Style>
|
||||
</ListView.Resources>
|
||||
<ListView.View>
|
||||
<GridView>
|
||||
<GridViewColumn Width="200"
|
||||
DisplayMemberBinding="{Binding DrugInfo.DrugName}"
|
||||
<GridView ColumnHeaderContainerStyle="{StaticResource st}">
|
||||
<GridViewColumn Width="180"
|
||||
DisplayMemberBinding="{Binding Drug.DrugName}"
|
||||
Header="药品名称"/>
|
||||
<GridViewColumn Width="200"
|
||||
DisplayMemberBinding="{Binding DrugInfo.Manufactory}"
|
||||
<GridViewColumn Width="150"
|
||||
DisplayMemberBinding="{Binding Drug.Manufactory}"
|
||||
Header="厂家"/>
|
||||
<GridViewColumn Width="200"
|
||||
DisplayMemberBinding="{Binding DrugInfo.DrugSpec}"
|
||||
<GridViewColumn Width="100"
|
||||
DisplayMemberBinding="{Binding Drug.DrugSpec}"
|
||||
Header="规格"/>
|
||||
<GridViewColumn Width="100"
|
||||
<GridViewColumn Width="50"
|
||||
DisplayMemberBinding="{Binding BaseQuantity}"
|
||||
Header="药品基数"/>
|
||||
<GridViewColumn Width="100"
|
||||
DisplayMemberBinding="{Binding Quantity}"
|
||||
Header="药品库存"/>
|
||||
Header="基数"/>
|
||||
<GridViewColumn Header="批次" Width="80">
|
||||
<GridViewColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<ListBox ItemsSource="{Binding channelStocks}" DisplayMemberPath="ManuNo" materialDesign:ListBoxItemAssist.ShowSelection="False"></ListBox>
|
||||
</DataTemplate>
|
||||
</GridViewColumn.CellTemplate>
|
||||
</GridViewColumn>
|
||||
<GridViewColumn Header="库存" Width="50">
|
||||
<GridViewColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<ListBox ItemsSource="{Binding channelStocks}" DisplayMemberPath="Quantity" materialDesign:ListBoxItemAssist.ShowSelection="False"></ListBox>
|
||||
</DataTemplate>
|
||||
</GridViewColumn.CellTemplate>
|
||||
</GridViewColumn>
|
||||
<!--<GridViewColumn Header="效期" Width="100">
|
||||
<GridViewColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<ListBox ItemsSource="{Binding channelStocks}" DisplayMemberPath="EffDate" materialDesign:ListBoxItemAssist.ShowSelection="False"></ListBox>
|
||||
</DataTemplate>
|
||||
</GridViewColumn.CellTemplate>
|
||||
</GridViewColumn>-->
|
||||
|
||||
</GridView>
|
||||
</ListView.View>
|
||||
|
|
|
|||
Loading…
Reference in New Issue