diff --git a/DM_Weight/App.config b/DM_Weight/App.config
index ac6cf4c..371c0d3 100644
--- a/DM_Weight/App.config
+++ b/DM_Weight/App.config
@@ -3,7 +3,7 @@
-
+
-
+
diff --git a/DM_Weight/Models/StringVSIntModels.cs b/DM_Weight/Models/StringVSIntModels.cs
new file mode 100644
index 0000000..a530097
--- /dev/null
+++ b/DM_Weight/Models/StringVSIntModels.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DM_Weight.Models
+{
+ public class StringVSIntModels
+ {
+ public string StringId { get; set; }
+ public int IntQuantity { get; set; }
+ }
+}
diff --git a/DM_Weight/ViewModels/AddToJiaoJieDialogViewModel.cs b/DM_Weight/ViewModels/AddToJiaoJieDialogViewModel.cs
index 6b0503d..2b909c6 100644
--- a/DM_Weight/ViewModels/AddToJiaoJieDialogViewModel.cs
+++ b/DM_Weight/ViewModels/AddToJiaoJieDialogViewModel.cs
@@ -3,6 +3,7 @@ using DM_Weight.msg;
using DM_Weight.Port;
using DM_Weight.util;
using log4net;
+using MaterialDesignThemes.Wpf;
using Prism.Commands;
using Prism.Events;
using Prism.Mvvm;
@@ -16,6 +17,7 @@ using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Input;
+using System.Windows.Media;
namespace DM_Weight.ViewModels
{
@@ -41,6 +43,8 @@ namespace DM_Weight.ViewModels
get => _jiaojie_channelStocks;
set => SetProperty(ref _jiaojie_channelStocks, value);
}
+ //交接柜所在药箱下的所有药品id
+ List drugIdLst = new List();
//交接柜中无该批次添加实体
public List AddJJStock = new List();
//交接柜中有该批次更新实体
@@ -61,6 +65,20 @@ namespace DM_Weight.ViewModels
private IEnumerable> enumerable;
private IEnumerator> enumerator;
+ private SolidColorBrush _colorBrush;
+
+ public SolidColorBrush SnackbarBackground
+ {
+ get => _colorBrush;
+ set => SetProperty(ref _colorBrush, value);
+ }
+ private ISnackbarMessageQueue _snackbarMessageQueue = new SnackbarMessageQueue(TimeSpan.FromSeconds(3));
+
+ public ISnackbarMessageQueue SnackbarMessageQueue
+ {
+ get => _snackbarMessageQueue;
+ set => SetProperty(ref _snackbarMessageQueue, value);
+ }
public string Title => "交接柜补药";
@@ -82,18 +100,19 @@ namespace DM_Weight.ViewModels
public void OnDialogOpened(IDialogParameters parameters)
{
_eventAggregator.GetEvent().Subscribe(DoMyPrismEvent);
- Jiaojie_ChannelStocks = parameters.GetValue>("ChannelStocks");
+ Jiaojie_ChannelStocks = parameters.GetValue>("_ChannelStock");
+
for (int i = 0; i < Jiaojie_ChannelStocks.Count; i++)
{
ChannelStock copy = TransExpV2.Trans(Jiaojie_ChannelStocks[i]);
ChannelStocks.Add(copy);
}
- ChannelStocks = Jiaojie_ChannelStocks.GroupBy(cs =>new { cs.DrugId, cs.ManuNo }).Select(g => new
- {
- Key = g.Key,
- AddQuantity = g.Sum(s => s.AddQuantity)
- }).Select(cs => new ChannelStock() { DrugId = cs.Key.DrugId,ManuNo=cs.Key.ManuNo, AddQuantity = cs.AddQuantity }).ToList();
+ //ChannelStocks = Jiaojie_ChannelStocks.GroupBy(cs =>new { cs.DrugId }).Select(g => new
+ //{
+ // Key = g.Key,
+ // AddQuantity = g.Sum(s => s.AddQuantity)
+ //}).Select(cs => new ChannelStock() { DrugId = cs.Key.DrugId,ManuNo=cs.Key.ManuNo, AddQuantity = cs.AddQuantity }).ToList();
RequestData();
}
@@ -199,9 +218,9 @@ namespace DM_Weight.ViewModels
.Where(cs => cs.Quantity > 0)
.Where(cs => cs.DrawerType == 1)
.Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM3"))
- .Where(cs => cs.DrugId == ChannelStocks[i].DrugId && cs.ManuNo == ChannelStocks[i].ManuNo)
- .OrderBy(cs => cs.EffDate)
- .OrderBy(cs => cs.DrawerNo)
+ .Where(cs => cs.DrugId == ChannelStocks[i].DrugId)
+ //.OrderBy(cs => cs.EffDate)
+ .OrderBy(cs => new { cs.EffDate, cs.DrawerNo, cs.ColNo })
.ToList();
if (HasQChannels == null || HasQChannels.Count <= 0)
{
@@ -213,22 +232,37 @@ namespace DM_Weight.ViewModels
// 说明数量足够
if (total >= TakeQ)
{
- for (int j = 0; TakeQ > 0; j++)
+ //for (int j = 0; TakeQ > 0; j++)
+ //{
+ // ChannelStock stock = HasQChannels[j];
+ // if (TakeQ > stock.Quantity)
+ // {
+ // stock.TakeQuantity = stock.Quantity;
+ // channelStocks.Add(stock);
+ // TakeQ -= stock.Quantity;
+ // }
+ // else
+ // {
+ // stock.TakeQuantity = TakeQ;
+ // channelStocks.Add(stock);
+ // TakeQ = 0;
+ // }
+ //}
+ int hadTakeQ = 0;
+ for (int j = 0; j < HasQChannels.Count; j++)
{
- ChannelStock stock = HasQChannels[j];
- if (TakeQ > stock.Quantity)
+ if ((ChannelStocks[i].AddQuantity - hadTakeQ) > HasQChannels[j].Quantity)
{
- stock.TakeQuantity = stock.Quantity;
- channelStocks.Add(stock);
- TakeQ -= stock.Quantity;
+ HasQChannels[j].TakeQuantity = HasQChannels[j].Quantity;
+ hadTakeQ += HasQChannels[j].Quantity;
}
else
{
- stock.TakeQuantity = TakeQ;
- channelStocks.Add(stock);
- TakeQ = 0;
+ HasQChannels[j].TakeQuantity = ChannelStocks[i].AddQuantity - hadTakeQ;
+ break;
}
}
+ channelStocks.AddRange(HasQChannels);
}
else
{
@@ -247,14 +281,14 @@ namespace DM_Weight.ViewModels
}
else
{
- channelStocks.Sort((a, b) =>
- {
- if ((a.DrawerNo - b.DrawerNo) == 0)
- {
- return a.ColNo - b.ColNo;
- }
- return a.DrawerNo - b.DrawerNo;
- });
+ //channelStocks.Sort((a, b) =>
+ //{
+ // if ((a.DrawerNo - b.DrawerNo) == 0)
+ // {
+ // return a.ColNo - b.ColNo;
+ // }
+ // return a.DrawerNo - b.DrawerNo;
+ //});
ChannelStocks = channelStocks;
@@ -282,7 +316,7 @@ namespace DM_Weight.ViewModels
}
}
- enumerable = ChannelStocks.GroupBy(cs => cs.DrawerNo, cs => cs);
+ enumerable = ChannelStocks.Where(cs=>cs.TakeQuantity>0).GroupBy(cs => cs.DrawerNo, cs => cs);
enumerator = enumerable.GetEnumerator();
enumerator.MoveNext();
Status = 1;
@@ -337,11 +371,36 @@ namespace DM_Weight.ViewModels
{
if (!_isFinishClick)
{
+
_isFinishClick = true;
List record = ChannelStocks.FindAll(it => it.TakeQuantity > 0).ToList();
if (record.Count > 0)
{
+ //交接柜需要补药数量与加药数量对比,数量不一致则提示
+
+ var jjSum = from item in Jiaojie_ChannelStocks orderby item.DrugId group item by item.DrugId into g select new { DrugId = g.Key, Quantity = g.Sum(item => item.NeedNum) };
+
+ var csSum = from item in record orderby item.DrugId group item by item.DrugId into g select new { DrugId = g.Key, Quantity = g.Sum(item => item.TakeQuantity) };
+ foreach (var jjItem in jjSum)
+ {
+ foreach (var csItem in csSum)
+ {
+ if (jjItem.DrugId == csItem.DrugId)
+ {
+ if (jjItem.Quantity != csItem.Quantity)
+ {
+ SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
+ SnackbarMessageQueue.Enqueue("输入药品数量与需要补药品数不一致!");
+ _isFinishClick = false;
+ return;
+ }
+ }
+ }
+ }
+
+
+
string InvoiceId = "AddJiaoJie_" + CurrentTimeMillis();
var f = SqlSugarHelper.Db.UseTran(() =>
{
@@ -357,35 +416,6 @@ namespace DM_Weight.ViewModels
Id = it.Id,
}).UpdateColumns(it => new { it.Quantity, it.ManuNo, it.EffDate }).ExecuteCommand();
- ////更新 交接柜 批次信息
- //List jiaojieStock = Jiaojie_ChannelStocks.Where(cs => cs.DrugId == it.DrugId).ToList();
- ////交接柜中有该药品及批次的数据则更新;没有则插入一条
- //if (jiaojieStock != null)
- //{
- // for (int j = 0; j < jiaojieStock.Count; j++)
- // {
- // if(it.Quantity> jiaojieStock[j].Quantity)
- // {
- // //取的数量够不够被
- // }
- // List searchStock = SqlSugarHelper.Db.Queryable()
- // .Where(cs => cs.DrawerNo == jiaojieStock[j].DrawerNo
- // && cs.DrugId == jiaojieStock[j].DrugId
- // && cs.DrugId == it.DrugId
- // && cs.ManuNo == it.ManuNo
- // &&cs.MachineId==(ConfigurationManager.AppSettings["jj_machineId"] ?? "DM5"))
- // .ToList();
- // //List stockManuList = jiaojieStock.Where(cs => cs.ManuNo == it.ManuNo).ToList();
- // if (searchStock == null || searchStock.Count <= 0)
- // {
- // SqlSugarHelper.Db.Deleteable().Where(cs=>cs.DrawerNo== jiaojieStock[j].DrawerNo&&cs.DrugId== jiaojieStock[j].DrugId&&cs.Quantity<=0).ExecuteCommand();
- // jiaojieStock[j].ManuNo = it.ManuNo;
- // jiaojieStock[j].Id = Guid.NewGuid().ToString();
- // SqlSugarHelper.Db.Insertable(jiaojieStock[j]).ExecuteCommand();
- // }
- // }
- //}
-
// 保存数据 出库记录
SqlSugarHelper.Db.Insertable(new MachineRecord()
{
@@ -408,31 +438,31 @@ namespace DM_Weight.ViewModels
//更新 交接柜 批次信息
for (int i = 0; i < Jiaojie_ChannelStocks.Count; i++)
{
- ChannelStock jiaoStock = Jiaojie_ChannelStocks[i];
- SqlSugarHelper.Db.Deleteable().Where(cs => cs.DrawerNo == jiaoStock.DrawerNo && cs.DrugId == jiaoStock.DrugId && cs.MachineId == jiaoStock.MachineId && cs.Quantity <= 0).ExecuteCommand();
- List csStockList = record.Where(cs => cs.DrugId == jiaoStock.DrugId && cs.TakeQuantity > 0).ToList();
+ ChannelStock jiaoStock = Jiaojie_ChannelStocks[i];
+ SqlSugarHelper.Db.Deleteable().Where(cs => cs.DrawerNo == Jiaojie_ChannelStocks[i].DrawerNo && cs.DrugId == Jiaojie_ChannelStocks[i].DrugId && cs.MachineId == Jiaojie_ChannelStocks[i].MachineId && cs.Quantity <= 0).ExecuteCommand();
+ List csStockList = record.Where(cs => cs.DrugId == Jiaojie_ChannelStocks[i].DrugId && cs.TakeQuantity > 0).ToList();
if (csStockList != null && csStockList.Count > 0)
{
for (int j = 0; j < csStockList.Count; j++)
{
ChannelStock csStock = (ChannelStock)csStockList[j].Clone();
ChannelStock jjStockManuNo = SqlSugarHelper.Db.Queryable()
- .Where(cs => cs.DrawerNo == jiaoStock.DrawerNo && cs.DrugId == jiaoStock.DrugId && cs.ManuNo == csStock.ManuNo && cs.MachineId == "DM5").First();
- logger.Info($"库中{jiaoStock.DrawerNo}号手术间,{jiaoStock.DrugId},{csStock.ManuNo};有该批次{jjStockManuNo!=null};jjStockManuNo是空:{jjStockManuNo==null}");
+ .Where(cs => cs.DrawerNo == Jiaojie_ChannelStocks[i].DrawerNo && cs.DrugId == Jiaojie_ChannelStocks[i].DrugId && cs.ManuNo == csStock.ManuNo && cs.MachineId == "DM5").First();
+ logger.Info($"库中{Jiaojie_ChannelStocks[i].DrawerNo}号手术间,{Jiaojie_ChannelStocks[i].DrugId},{csStock.ManuNo};有该批次{jjStockManuNo != null};jjStockManuNo是空:{jjStockManuNo == null}");
if (jjStockManuNo != null)
{
int addNum = csStock.TakeQuantity;
- logger.Info($"需补药数{jiaoStock.NeedNum},该批次取药数{csStock.TakeQuantity}");
+ logger.Info($"需补药数{Jiaojie_ChannelStocks[i].NeedNum},该批次取药数{csStock.TakeQuantity}");
//有该批次
- if (jiaoStock.NeedNum > csStock.TakeQuantity)
+ if (Jiaojie_ChannelStocks[i].NeedNum > csStock.TakeQuantity)
{
//不够取
ChannelStock newStock = new ChannelStock();
//newStock.Chnguid = jiaoStock.Chnguid;
//newStock.BaseQuantity = jiaoStock.BaseQuantity;
- newStock.ManuNo = jiaoStock.ManuNo;
- newStock.DrawerNo = jiaoStock.DrawerNo;
- newStock.DrugId = jiaoStock.DrugId;
+ newStock.ManuNo = Jiaojie_ChannelStocks[i].ManuNo;
+ newStock.DrawerNo = Jiaojie_ChannelStocks[i].DrawerNo;
+ newStock.DrugId = Jiaojie_ChannelStocks[i].DrugId;
newStock.AddToJJNum = addNum;
newStock.Id = jjStockManuNo.Id;
//newStock.MachineId = jiaoStock.MachineId;
@@ -440,7 +470,7 @@ namespace DM_Weight.ViewModels
//newStock.Quantity = jiaoStock.Quantity + csStock.TakeQuantity;
UpdateJJStock.Add(newStock);
csStockList[j].TakeQuantity = 0;
- jiaoStock.NeedNum = jiaoStock.NeedNum - csStock.TakeQuantity;
+ Jiaojie_ChannelStocks[i].NeedNum = Jiaojie_ChannelStocks[i].NeedNum - csStock.TakeQuantity;
}
else
{
@@ -454,53 +484,53 @@ namespace DM_Weight.ViewModels
ChannelStock newStock = new ChannelStock();
//newStock.Chnguid = jiaoStock.Chnguid;
//newStock.BaseQuantity = jiaoStock.BaseQuantity;
- newStock.ManuNo = jiaoStock.ManuNo;
- newStock.DrawerNo = jiaoStock.DrawerNo;
- newStock.DrugId = jiaoStock.DrugId;
- newStock.AddToJJNum = jiaoStock.NeedNum;
+ newStock.ManuNo = Jiaojie_ChannelStocks[i].ManuNo;
+ newStock.DrawerNo = Jiaojie_ChannelStocks[i].DrawerNo;
+ newStock.DrugId = Jiaojie_ChannelStocks[i].DrugId;
+ newStock.AddToJJNum = Jiaojie_ChannelStocks[i].NeedNum;
newStock.Id = jjStockManuNo.Id;
//newStock.MachineId = jiaoStock.MachineId;
//newStock.NeedNum = 0;
//newStock.Quantity = jiaoStock.Quantity + csStock.TakeQuantity;
UpdateJJStock.Add(newStock);
- csStockList[j].TakeQuantity = csStock.TakeQuantity - jiaoStock.NeedNum;
- jiaoStock.NeedNum = 0;
+ csStockList[j].TakeQuantity = csStock.TakeQuantity - Jiaojie_ChannelStocks[i].NeedNum;
+ Jiaojie_ChannelStocks[i].NeedNum = 0;
break;
}
}
else //没有该批次
{
- if (jiaoStock.NeedNum > csStock.TakeQuantity)
+ if (Jiaojie_ChannelStocks[i].NeedNum > csStock.TakeQuantity)
{
//不够取
ChannelStock newStock = new ChannelStock();
- newStock.BaseQuantity = jiaoStock.BaseQuantity;
- newStock.Chnguid = jiaoStock.Chnguid;
- newStock.DrawerNo = jiaoStock.DrawerNo;
- newStock.DrugId = jiaoStock.DrugId;
+ newStock.BaseQuantity = Jiaojie_ChannelStocks[i].BaseQuantity;
+ newStock.Chnguid = Jiaojie_ChannelStocks[i].Chnguid;
+ newStock.DrawerNo = Jiaojie_ChannelStocks[i].DrawerNo;
+ newStock.DrugId = Jiaojie_ChannelStocks[i].DrugId;
newStock.ManuNo = csStock.ManuNo;
newStock.AddToJJNum = csStock.TakeQuantity;
newStock.Id = Guid.NewGuid().ToString();
- newStock.MachineId = jiaoStock.MachineId;
+ newStock.MachineId = Jiaojie_ChannelStocks[i].MachineId;
newStock.DrawerType = 1;
newStock.NeedNum = 0;
AddJJStock.Add(newStock);
- jiaoStock.NeedNum = jiaoStock.NeedNum - csStock.TakeQuantity;
+ Jiaojie_ChannelStocks[i].NeedNum = Jiaojie_ChannelStocks[i].NeedNum - csStock.TakeQuantity;
csStockList[j].TakeQuantity = 0;
}
else
{
//够取
ChannelStock newStock = new ChannelStock();
- newStock.Chnguid = jiaoStock.Chnguid;
- newStock.BaseQuantity = jiaoStock.BaseQuantity;
- newStock.DrawerNo = jiaoStock.DrawerNo;
- newStock.DrugId = jiaoStock.DrugId;
+ newStock.Chnguid = Jiaojie_ChannelStocks[i].Chnguid;
+ newStock.BaseQuantity = Jiaojie_ChannelStocks[i].BaseQuantity;
+ newStock.DrawerNo = Jiaojie_ChannelStocks[i].DrawerNo;
+ newStock.DrugId = Jiaojie_ChannelStocks[i].DrugId;
newStock.ManuNo = csStock.ManuNo;
- newStock.AddToJJNum = jiaoStock.NeedNum;
+ newStock.AddToJJNum = Jiaojie_ChannelStocks[i].NeedNum;
newStock.NeedNum = 0;
newStock.Id = Guid.NewGuid().ToString();
- newStock.MachineId = jiaoStock.MachineId;
+ newStock.MachineId = Jiaojie_ChannelStocks[i].MachineId;
newStock.DrawerType = 1;
AddJJStock.Add(newStock);
csStockList[j].TakeQuantity = csStock.TakeQuantity - newStock.AddToJJNum;
@@ -511,7 +541,7 @@ namespace DM_Weight.ViewModels
}
SqlSugarHelper.Db.Updateable()
.SetColumns(cs => new ChannelStock() { NeedNum = 0 })
- .Where(cs => cs.DrawerNo == jiaoStock.DrawerNo)
+ .Where(cs => cs.DrawerNo == Jiaojie_ChannelStocks[i].DrawerNo)
.ExecuteCommand();
}
@@ -568,19 +598,20 @@ namespace DM_Weight.ViewModels
}
}
//更新交接柜状态为 已取药未入库(等在交接柜入库后再更新交接柜库存)
- List jiaojie = Jiaojie_ChannelStocks.GroupBy(cs => cs.DrawerNo).Select(cs => cs.FirstOrDefault()).ToList();
- if (jiaojie != null && jiaojie.Count > 0)
+ if (Jiaojie_ChannelStocks != null)
{
- for (int j = 0; j < jiaojie.Count; j++)
+ Jiaojie_ChannelStocks.ForEach(jj =>
{
- ChannelStock jiaojie_it = jiaojie[j];
//更新交接柜状态为 已取药未入库
SqlSugarHelper.Db.Updateable(new ChannelList()
{
State = 1,
- Id = jiaojie_it.ChannelLst.Id
+ Id = jj.ChannelLst.Id
}).UpdateColumns(it => it.State).ExecuteCommand();
+
}
+
+ );
}
return true;
});
diff --git a/DM_Weight/ViewModels/AddToJiaoJieNewDialogViewModel.cs b/DM_Weight/ViewModels/AddToJiaoJieNewDialogViewModel.cs
new file mode 100644
index 0000000..db14983
--- /dev/null
+++ b/DM_Weight/ViewModels/AddToJiaoJieNewDialogViewModel.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DM_Weight.ViewModels
+{
+ public class AddToJiaoJieNewDialogViewModel
+ {
+
+ }
+}
diff --git a/DM_Weight/ViewModels/AddToJiaoJieWindowViewModel.cs b/DM_Weight/ViewModels/AddToJiaoJieWindowViewModel.cs
index 2e48d3f..22de0bf 100644
--- a/DM_Weight/ViewModels/AddToJiaoJieWindowViewModel.cs
+++ b/DM_Weight/ViewModels/AddToJiaoJieWindowViewModel.cs
@@ -39,24 +39,44 @@ namespace DM_Weight.ViewModels
public void OnNavigatedFrom(NavigationContext navigationContext)
{
// 取消消息订阅
- _eventAggregator.GetEvent().Unsubscribe(DoMyPrismEvent);
- _eventAggregator.GetEvent().Unsubscribe(SetIsSelected);
+ //_eventAggregator.GetEvent().Unsubscribe(DoMyPrismEvent);
+ //_eventAggregator.GetEvent().Unsubscribe(SetIsSelected);
}
- private List channelStocks;
- public List ChannelStocks
+ private List? channelStocks;
+ public List? ChannelStocks
{
get => channelStocks;
set => SetProperty(ref channelStocks, value);
}
+ private ChannelStock _channelStock;
+ public ChannelStock _ChannelStock
+ {
+ get => _channelStock;
+ set => SetProperty(ref _channelStock, value);
+ }
+
+ private List? _channelLists;
+ public List? _ChannelLists
+ {
+ get => _channelLists;
+ set => SetProperty(ref _channelLists, value);
+ }
+ private ChannelList _channelList;
+ public ChannelList _ChannelList
+ {
+ get => _channelList;
+ set => SetProperty(ref _channelList, value);
+ }
+
public void OnNavigatedTo(NavigationContext navigationContext)
{
- _eventAggregator.GetEvent().Subscribe(DoMyPrismEvent);
- _eventAggregator.GetEvent().Subscribe(SetIsSelected);
+ //_eventAggregator.GetEvent().Subscribe(DoMyPrismEvent);
+ //_eventAggregator.GetEvent().Subscribe(SetIsSelected);
RequestData();
}
private PortUtil _portUtil;
@@ -70,26 +90,85 @@ namespace DM_Weight.ViewModels
}
private void RequestData()
{
- ChannelStocks = SqlSugarHelper.Db.Queryable()
- .Includes(cs => cs.ChannelLst)
- .Includes(cs => cs.DrugInfo)
- .Where(cs => cs.MachineId == (ConfigurationManager.AppSettings["jj_machineId"] ?? "DM5") && cs.BaseQuantity > cs.Quantity)
- .OrderBy(cs => cs.Chnguid)
- .OrderBy(cs => cs.DrawerNo)
- .ToList();
- //ChannelStocks = ChannelStocks.GroupBy(it => new { it.DrawerNo, it.DrugId })
- // .Select(it =>
- // {
- // var ret = it.First();
- // ret.Quantity = it.Sum(itx => itx.Quantity);
- // ret.NeedNum=it.Sum(itx => itx.NeedNum);
- // return ret;
- // }).Where(it=>it.BaseQuantity>it.Quantity)
- // .ToList();
- ChannelStocks.ForEach(cs => cs.AddQuantity = cs.BaseQuantity - cs.Quantity);
+ //ChannelStocks = SqlSugarHelper.Db.Queryable()
+ // .Includes(cs => cs.ChannelLst)
+ // .Includes(cs => cs.DrugInfo)
+ // .Where(cs => cs.MachineId == (ConfigurationManager.AppSettings["jj_machineId"] ?? "DM5") && cs.BaseQuantity > cs.Quantity)
+ // .OrderBy(cs => cs.Chnguid)
+ // .OrderBy(cs => cs.DrawerNo)
+ // .ToList();
+ ////ChannelStocks = ChannelStocks.GroupBy(it => new { it.DrawerNo, it.DrugId })
+ //// .Select(it =>
+ //// {
+ //// var ret = it.First();
+ //// ret.Quantity = it.Sum(itx => itx.Quantity);
+ //// ret.NeedNum=it.Sum(itx => itx.NeedNum);
+ //// return ret;
+ //// }).Where(it=>it.BaseQuantity>it.Quantity)
+ //// .ToList();
+ //ChannelStocks.ForEach(cs => cs.AddQuantity = cs.BaseQuantity - cs.Quantity);
+
+ //ICollectionView vw = CollectionViewSource.GetDefaultView(ChannelStocks);
+ //vw.GroupDescriptions.Add(new PropertyGroupDescription("ChannelLst"));
+
+ //_ChannelLists = SqlSugarHelper.Db.Queryable()
+ // .Includes(cl => cl.channelStocks)
+ // .Includes(cl => cl.Drug)
+ // .InnerJoin((cl, cs) => cl.Id == cs.Chnguid && cs.BaseQuantity > cs.Quantity)
+ // .Where(cl => cl.MachineId == (ConfigurationManager.AppSettings["jj_machineId"] ?? "DM5"))
+ // .OrderBy(cl => cl.Id)
+ // .OrderBy(cl => cl.DrawerNo)
+ // .ToList();
+ ChannelStocks?.Clear();
+ _ChannelLists?.Clear();
+ //1)查询channel_stock所有要补药的药箱
+ ChannelStocks = SqlSugarHelper.Db.Queryable()
+ .Includes(cs => cs.ChannelLst)
+ .Includes(cs => cs.DrugInfo)
+ .Where(cs => cs.MachineId == (ConfigurationManager.AppSettings["jj_machineId"] ?? "DM5") && cs.NeedNum > 0)
+ .OrderBy(cs => cs.Chnguid)
+ .OrderBy(cs => cs.DrawerNo)
+ .ToList();
+ ChannelStocks = ChannelStocks.GroupBy(it => new { it.DrawerNo, it.DrugId })
+ .Select(it =>
+ {
+ var ret = it.First();
+ ret.Quantity = it.Sum(itx => itx.Quantity);
+ ret.NeedNum = it.Sum(itx => itx.NeedNum);
+ return ret;
+ }).Where(it => it.BaseQuantity > it.Quantity)
+ .ToList();
+ if (ChannelStocks != null && ChannelStocks.Count > 0)
+ {
+ ChannelStocks.ForEach(cs => cs.AddQuantity = cs.NeedNum);
+
+ //2)查询channel_list将1)中查询的添加到channel_list的channel_stock里供页面呈现显示
+ List DrawerNoList = ChannelStocks.Select(cs => cs.DrawerNo).Distinct().ToList();
+ List channelLists = new List();
+ for (int i = 0; i < DrawerNoList.Count; i++)
+ {
+ var channelList = SqlSugarHelper.Db.Queryable()
+ .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();
+ }
+ channelList.channelStocks.AddRange(ChannelStocks.Where(cs => cs.DrawerNo == DrawerNoList[i]&&(cs.NeedNum>0||cs.AddToJJNum>0)).ToList());
+ if (channelList != null)
+ {
+ channelLists.Add(channelList);
+ }
+ }
+ _ChannelLists = channelLists;
+ }
+ else
+ {
+ _ChannelLists.Clear();
+ }
- ICollectionView vw = CollectionViewSource.GetDefaultView(ChannelStocks);
- vw.GroupDescriptions.Add(new PropertyGroupDescription("ChannelLst"));
}
private int _status = 0;
@@ -108,304 +187,304 @@ namespace DM_Weight.ViewModels
get => new DelegateCommand(() => RequestData());
}
//一键补药
- public DelegateCommand OpenDragCommand
- {
- get => new DelegateCommand(() =>
- {
- try
- {
- Status = 1;
- IsEnable = false;
+ //public DelegateCommand OpenDragCommand
+ //{
+ // get => new DelegateCommand(() =>
+ // {
+ // try
+ // {
+ // Status = 1;
+ // IsEnable = false;
- var varDrawerNO = SqlSugarHelper.Db.Queryable()
- .Where(cs => cs.MachineId == (ConfigurationManager.AppSettings["machineId"] ?? "DM3"))
- .GroupBy(cs => cs.DrawerNo).Select(DrawerNo => DrawerNo).ToList();
+ // var varDrawerNO = SqlSugarHelper.Db.Queryable()
+ // .Where(cs => cs.MachineId == (ConfigurationManager.AppSettings["machineId"] ?? "DM3"))
+ // .GroupBy(cs => cs.DrawerNo).Select(DrawerNo => DrawerNo).ToList();
- iDrawerNoLst = varDrawerNO.Select(item => item.DrawerNo).ToList();
- CurrentNum = 0;
- _portUtil.SpeakAsync($"正在打开 {iDrawerNoLst[CurrentNum]} 号抽屉");
+ // iDrawerNoLst = varDrawerNO.Select(item => item.DrawerNo).ToList();
+ // CurrentNum = 0;
+ // _portUtil.SpeakAsync($"正在打开 {iDrawerNoLst[CurrentNum]} 号抽屉");
- _portUtil.WindowName = "AddToJiaoJieWindow";
- _portUtil.Operate = true;
- //_portUtil.BoardType = singleChannels.Count > 0 ? singleChannels[0].BoardType : 1;
- //_portUtil.ColNos = singleChannels.Select(it => it.ColNo).ToArray();
- _portUtil.DrawerNo = iDrawerNoLst[CurrentNum];
- _portUtil.OpenAllDrawer();
+ // _portUtil.WindowName = "AddToJiaoJieWindow";
+ // _portUtil.Operate = true;
+ // //_portUtil.BoardType = singleChannels.Count > 0 ? singleChannels[0].BoardType : 1;
+ // //_portUtil.ColNos = singleChannels.Select(it => it.ColNo).ToArray();
+ // _portUtil.DrawerNo = iDrawerNoLst[CurrentNum];
+ // _portUtil.OpenAllDrawer();
- }
- catch (Exception ex)
- {
+ // }
+ // catch (Exception ex)
+ // {
- AlertMsg alertMsg = new AlertMsg
- {
- Message = $"补药异常{ex.Message}",
- Type = MsgType.ERROR,
- };
- _eventAggregator.GetEvent().Publish(alertMsg);
- logger.Info($"AddToJiaoJieWindowViewModel异常:{ex.Message}");
- _portUtil.Operate = false;
- }
+ // AlertMsg alertMsg = new AlertMsg
+ // {
+ // Message = $"补药异常{ex.Message}",
+ // Type = MsgType.ERROR,
+ // };
+ // _eventAggregator.GetEvent().Publish(alertMsg);
+ // logger.Info($"AddToJiaoJieWindowViewModel异常:{ex.Message}");
+ // _portUtil.Operate = false;
+ // }
- });
- }
- void DoMyPrismEvent(DeviceMsg msg)
- {
- if (msg.WindowName == "AddToJiaoJieWindow")
- {
- switch (msg.EventType)
- {
- // 抽屉打开
- case EventType.DRAWEROPEN:
- if (Status == 1)
- {
- Status = 2;
- }
- CurrentNum += 1;
- if (CurrentNum < iDrawerNoLst.Count)
- {
- _portUtil.WindowName = "AddToJiaoJieWindow";
- _portUtil.Operate = true;
- _portUtil.DrawerNo = iDrawerNoLst[CurrentNum];
- _portUtil.OpenAllDrawer();
- }
- else
- {
- _portUtil.GetAllDrawerLockState();
- }
- break;
- // 抽屉关闭
- case EventType.DRAWERCLOSE:
- if (Status == 2)
- {
- Status = 3;
- }
- _portUtil.Operate = false;
- IsEnable = true;
- CurrentNum = 0;
+ // });
+ //}
+ //void DoMyPrismEvent(DeviceMsg msg)
+ //{
+ // if (msg.WindowName == "AddToJiaoJieWindow")
+ // {
+ // switch (msg.EventType)
+ // {
+ // // 抽屉打开
+ // case EventType.DRAWEROPEN:
+ // if (Status == 1)
+ // {
+ // Status = 2;
+ // }
+ // CurrentNum += 1;
+ // if (CurrentNum < iDrawerNoLst.Count)
+ // {
+ // _portUtil.WindowName = "AddToJiaoJieWindow";
+ // _portUtil.Operate = true;
+ // _portUtil.DrawerNo = iDrawerNoLst[CurrentNum];
+ // _portUtil.OpenAllDrawer();
+ // }
+ // else
+ // {
+ // _portUtil.GetAllDrawerLockState();
+ // }
+ // break;
+ // // 抽屉关闭
+ // case EventType.DRAWERCLOSE:
+ // if (Status == 2)
+ // {
+ // Status = 3;
+ // }
+ // _portUtil.Operate = false;
+ // IsEnable = true;
+ // CurrentNum = 0;
- break;
- // 数量变化
- case EventType.UPDATEQUANTITY:
- if (Status == 2)
- {
- ChannelStocks.ForEach(it => it.AddQuantity = msg.Quantitys[it.ColNo - 1]);
- }
- break;
- // 打开失败
- case EventType.OPENERROR:
- AlertMsg alertMsg = new AlertMsg
- {
- Message = msg.Message,
- Type = MsgType.ERROR,
- };
- _eventAggregator.GetEvent().Publish(alertMsg);
- Status = 0;
- _portUtil.Operate = false;
- IsEnable = false;
- CurrentNum = 0;
- break;
- }
- }
+ // break;
+ // // 数量变化
+ // case EventType.UPDATEQUANTITY:
+ // if (Status == 2)
+ // {
+ // ChannelStocks.ForEach(it => it.AddQuantity = msg.Quantitys[it.ColNo - 1]);
+ // }
+ // break;
+ // // 打开失败
+ // case EventType.OPENERROR:
+ // AlertMsg alertMsg = new AlertMsg
+ // {
+ // Message = msg.Message,
+ // Type = MsgType.ERROR,
+ // };
+ // _eventAggregator.GetEvent().Publish(alertMsg);
+ // Status = 0;
+ // _portUtil.Operate = false;
+ // IsEnable = false;
+ // CurrentNum = 0;
+ // break;
+ // }
+ // }
- }
+ //}
//完成按钮
- public DelegateCommand AddFinish
- {
- get => new DelegateCommand(() =>
- {
- if (ChannelStocks.FindAll(cs => cs.ChannelLst.IsSelected).Count <= 0)
- {
+ //public DelegateCommand AddFinish
+ //{
+ // get => new DelegateCommand(() =>
+ // {
+ // if (ChannelStocks.FindAll(cs => cs.ChannelLst.IsSelected).Count <= 0)
+ // {
- AlertMsg alertMsg = new AlertMsg
- {
- Message = "请选择药箱",
- Type = MsgType.SUCCESS,
- };
- _eventAggregator.GetEvent().Publish(alertMsg);
- return;
- }
- List jiaojieStocks = new List();
- List cs = ChannelStocks.FindAll(cs => cs.ChannelLst.IsSelected).ToList();
- for (int i = 0; i < cs.Count; i++)
- {
- ChannelStock copy = TransExpV2.Trans(cs[i]);
- jiaojieStocks.Add(copy);
- }
- csList = jiaojieStocks.FindAll(cs => cs.ChannelLst.IsSelected).GroupBy(cs => cs.DrugId).Select(g => new
- {
- DrugId = g.Key,
- AddQuantity = g.Sum(s => s.AddQuantity)
- }).Select(cs => new ChannelStock() { DrugId = cs.DrugId, AddQuantity = cs.AddQuantity }).ToList();
+ // AlertMsg alertMsg = new AlertMsg
+ // {
+ // Message = "请选择药箱",
+ // Type = MsgType.SUCCESS,
+ // };
+ // _eventAggregator.GetEvent().Publish(alertMsg);
+ // return;
+ // }
+ // List jiaojieStocks = new List();
+ // List cs = ChannelStocks.FindAll(cs => cs.ChannelLst.IsSelected).ToList();
+ // for (int i = 0; i < cs.Count; i++)
+ // {
+ // ChannelStock copy = TransExpV2.Trans(cs[i]);
+ // jiaojieStocks.Add(copy);
+ // }
+ // csList = jiaojieStocks.FindAll(cs => cs.ChannelLst.IsSelected).GroupBy(cs => cs.DrugId).Select(g => new
+ // {
+ // DrugId = g.Key,
+ // AddQuantity = g.Sum(s => s.AddQuantity)
+ // }).Select(cs => new ChannelStock() { DrugId = cs.DrugId, AddQuantity = cs.AddQuantity }).ToList();
- List channelStocks = new List();
- List msg = new List();
- for (int i = 0; i < csList.Count; i++)
- {
- List HasQChannels = SqlSugarHelper.Db.Queryable()
- .Includes(cs => cs.DrugInfo)
- .Where(cs => cs.Quantity > 0)
- .Where(cs => cs.DrawerType == 1)
- .Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM3"))
- .Where(cs => cs.DrugId == csList[i].DrugId)
- .OrderBy(cs => cs.EffDate)
- .OrderBy(cs => cs.DrawerNo)
- .ToList();
- int total = HasQChannels.Sum(it => it.Quantity);
- int TakeQ = csList[i].AddQuantity;
- // 说明数量足够
- if (total >= TakeQ)
- {
- for (int j = 0; TakeQ > 0; j++)
- {
- ChannelStock stock = HasQChannels[j];
- if (TakeQ > stock.Quantity)
- {
- stock.TakeQuantity = stock.Quantity;
- channelStocks.Add(stock);
- TakeQ -= stock.Quantity;
- }
- else
- {
- stock.TakeQuantity = TakeQ;
- channelStocks.Add(stock);
- TakeQ = 0;
- }
- }
- }
- else
- {
- msg.Add($"药品【{ChannelStocks[i].DrugInfo.DrugName}】库存不足,应取【{TakeQ}】库存【{total}】");
- }
+ // List channelStocks = new List();
+ // List msg = new List();
+ // for (int i = 0; i < csList.Count; i++)
+ // {
+ // List HasQChannels = SqlSugarHelper.Db.Queryable()
+ // .Includes(cs => cs.DrugInfo)
+ // .Where(cs => cs.Quantity > 0)
+ // .Where(cs => cs.DrawerType == 1)
+ // .Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM3"))
+ // .Where(cs => cs.DrugId == csList[i].DrugId)
+ // .OrderBy(cs => cs.EffDate)
+ // .OrderBy(cs => cs.DrawerNo)
+ // .ToList();
+ // int total = HasQChannels.Sum(it => it.Quantity);
+ // int TakeQ = csList[i].AddQuantity;
+ // // 说明数量足够
+ // if (total >= TakeQ)
+ // {
+ // for (int j = 0; TakeQ > 0; j++)
+ // {
+ // ChannelStock stock = HasQChannels[j];
+ // if (TakeQ > stock.Quantity)
+ // {
+ // stock.TakeQuantity = stock.Quantity;
+ // channelStocks.Add(stock);
+ // TakeQ -= stock.Quantity;
+ // }
+ // else
+ // {
+ // stock.TakeQuantity = TakeQ;
+ // channelStocks.Add(stock);
+ // TakeQ = 0;
+ // }
+ // }
+ // }
+ // else
+ // {
+ // msg.Add($"药品【{ChannelStocks[i].DrugInfo.DrugName}】库存不足,应取【{TakeQ}】库存【{total}】");
+ // }
- }
- if (msg.Count > 0)
- {
- DialogParameters dialogParameters = new DialogParameters();
- dialogParameters.Add("msgInfo", msg);
- DialogServiceExtensions.ShowDialogHost(_dialogService, "ShowMessageDialog", dialogParameters, "RootDialog");
- return;
+ // }
+ // if (msg.Count > 0)
+ // {
+ // DialogParameters dialogParameters = new DialogParameters();
+ // dialogParameters.Add("msgInfo", msg);
+ // DialogServiceExtensions.ShowDialogHost(_dialogService, "ShowMessageDialog", dialogParameters, "RootDialog");
+ // return;
- }
- else
- {
- channelStocks.Sort((a, b) =>
- {
- if ((a.DrawerNo - b.DrawerNo) == 0)
- {
- return a.ColNo - b.ColNo;
- }
- return a.DrawerNo - b.DrawerNo;
- });
- }
- List record = channelStocks.FindAll(it => it.TakeQuantity > 0).ToList();
- if (record.Count > 0)
- {
- string InvoiceId = "AddJiaoJie_" + CurrentTimeMillis();
- var f = SqlSugarHelper.Db.UseTran(() =>
- {
- for (int i = 0; i < record.Count; i++)
- {
- ChannelStock it = record[i];
- // 更新数据 库存信息
- SqlSugarHelper.Db.Updateable(new ChannelStock()
- {
- Quantity = it.Quantity - it.TakeQuantity,
- ManuNo = it.ManuNo,
- EffDate = it.EffDate,
- Id = it.Id,
- }).UpdateColumns(it => new { it.Quantity, it.ManuNo, it.EffDate }).ExecuteCommand();
+ // }
+ // else
+ // {
+ // channelStocks.Sort((a, b) =>
+ // {
+ // if ((a.DrawerNo - b.DrawerNo) == 0)
+ // {
+ // return a.ColNo - b.ColNo;
+ // }
+ // return a.DrawerNo - b.DrawerNo;
+ // });
+ // }
+ // List record = channelStocks.FindAll(it => it.TakeQuantity > 0).ToList();
+ // if (record.Count > 0)
+ // {
+ // string InvoiceId = "AddJiaoJie_" + CurrentTimeMillis();
+ // var f = SqlSugarHelper.Db.UseTran(() =>
+ // {
+ // for (int i = 0; i < record.Count; i++)
+ // {
+ // ChannelStock it = record[i];
+ // // 更新数据 库存信息
+ // SqlSugarHelper.Db.Updateable(new ChannelStock()
+ // {
+ // Quantity = it.Quantity - it.TakeQuantity,
+ // ManuNo = it.ManuNo,
+ // EffDate = it.EffDate,
+ // Id = it.Id,
+ // }).UpdateColumns(it => new { it.Quantity, it.ManuNo, it.EffDate }).ExecuteCommand();
- //更新 交接柜 库存信息
- List jiaojie = jiaojieStocks.Where(cs => cs.DrugId == it.DrugId).ToList();
- if (jiaojie != null && jiaojie.Count > 0)
- {
- for (int j = 0; j < jiaojie.Count; j++)
- {
- // 更新数据 交接柜 库存信息
- ChannelStock jiaojie_it = jiaojie[j];
- SqlSugarHelper.Db.Updateable(new ChannelStock()
- {
- Quantity = jiaojie_it.BaseQuantity,
- //ManuNo = it.ManuNo,
- //EffDate = it.EffDate,
- Id = jiaojie_it.Id,
- }).UpdateColumns(jiaojie_it => new { jiaojie_it.Quantity }).ExecuteCommand();
- }
- }
+ // //更新 交接柜 库存信息
+ // List jiaojie = jiaojieStocks.Where(cs => cs.DrugId == it.DrugId).ToList();
+ // if (jiaojie != null && jiaojie.Count > 0)
+ // {
+ // for (int j = 0; j < jiaojie.Count; j++)
+ // {
+ // // 更新数据 交接柜 库存信息
+ // ChannelStock jiaojie_it = jiaojie[j];
+ // SqlSugarHelper.Db.Updateable(new ChannelStock()
+ // {
+ // Quantity = jiaojie_it.BaseQuantity,
+ // //ManuNo = it.ManuNo,
+ // //EffDate = it.EffDate,
+ // Id = jiaojie_it.Id,
+ // }).UpdateColumns(jiaojie_it => new { jiaojie_it.Quantity }).ExecuteCommand();
+ // }
+ // }
- // 保存数据 出库记录
- SqlSugarHelper.Db.Insertable(new MachineRecord()
- {
- MachineId = it.MachineId,
- DrawerNo = it.DrawerNo,
- ColNo = it.ColNo,
- DrugId = it.DrugId,
- ManuNo = it.ManuNo,
- EffDate = !String.IsNullOrEmpty(it.EffDate) ? DateTime.ParseExact(it.EffDate, "yyyy-MM-dd", System.Globalization.CultureInfo.CurrentCulture) : null,
- Operator = HomeWindowViewModel.Operator?.Id,
- Reviewer = HomeWindowViewModel.Reviewer?.Id,
- OperationTime = DateTime.Now,
- Quantity = it.TakeQuantity,
- Type = 2,
- InvoiceId = InvoiceId
- }).ExecuteCommand();
- }
- return true;
- });
- if (f.Data)
- {
- // 更新屏显库存
- List singleChannels = record.FindAll(it => it.BoardType != 5);
- if (singleChannels.Count > 0)
- {
- singleChannels.ForEach(it =>
- {
- _portUtil.WriteQuantity(it.DrawerNo, it.ColNo, it.Quantity - it.TakeQuantity);
- });
- }
- AlertMsg alertMsg = new AlertMsg
- {
- Message = "补药完成,库存已更新",
- Type = MsgType.SUCCESS,
- };
- _eventAggregator.GetEvent().Publish(alertMsg);
- RequestData();
- }
- if (!f.IsSuccess)
- {
- AlertMsg alertMsg = new AlertMsg
- {
- Message = "补药操作失败,库存更新失败!",
- Type = MsgType.ERROR,
- };
- _eventAggregator.GetEvent().Publish(alertMsg);
- }
- }
- else
- {
- AlertMsg alertMsg = new AlertMsg
- {
- Message = "补药数量有误",
- Type = MsgType.ERROR
- };
- _eventAggregator.GetEvent().Publish(alertMsg);
- }
- });
- }
+ // // 保存数据 出库记录
+ // SqlSugarHelper.Db.Insertable(new MachineRecord()
+ // {
+ // MachineId = it.MachineId,
+ // DrawerNo = it.DrawerNo,
+ // ColNo = it.ColNo,
+ // DrugId = it.DrugId,
+ // ManuNo = it.ManuNo,
+ // EffDate = !String.IsNullOrEmpty(it.EffDate) ? DateTime.ParseExact(it.EffDate, "yyyy-MM-dd", System.Globalization.CultureInfo.CurrentCulture) : null,
+ // Operator = HomeWindowViewModel.Operator?.Id,
+ // Reviewer = HomeWindowViewModel.Reviewer?.Id,
+ // OperationTime = DateTime.Now,
+ // Quantity = it.TakeQuantity,
+ // Type = 2,
+ // InvoiceId = InvoiceId
+ // }).ExecuteCommand();
+ // }
+ // return true;
+ // });
+ // if (f.Data)
+ // {
+ // // 更新屏显库存
+ // List singleChannels = record.FindAll(it => it.BoardType != 5);
+ // if (singleChannels.Count > 0)
+ // {
+ // singleChannels.ForEach(it =>
+ // {
+ // _portUtil.WriteQuantity(it.DrawerNo, it.ColNo, it.Quantity - it.TakeQuantity);
+ // });
+ // }
+ // AlertMsg alertMsg = new AlertMsg
+ // {
+ // Message = "补药完成,库存已更新",
+ // Type = MsgType.SUCCESS,
+ // };
+ // _eventAggregator.GetEvent().Publish(alertMsg);
+ // RequestData();
+ // }
+ // if (!f.IsSuccess)
+ // {
+ // AlertMsg alertMsg = new AlertMsg
+ // {
+ // Message = "补药操作失败,库存更新失败!",
+ // Type = MsgType.ERROR,
+ // };
+ // _eventAggregator.GetEvent().Publish(alertMsg);
+ // }
+ // }
+ // else
+ // {
+ // AlertMsg alertMsg = new AlertMsg
+ // {
+ // Message = "补药数量有误",
+ // Type = MsgType.ERROR
+ // };
+ // _eventAggregator.GetEvent().Publish(alertMsg);
+ // }
+ // });
+ //}
//取消
- public DelegateCommand CancleAdd
- {
- get => new DelegateCommand(() =>
- {
- _portUtil.ResetData();
- Status = 0;
- IsEnable = true;
- CurrentNum = 0;
- });
- }
+ //public DelegateCommand CancleAdd
+ //{
+ // get => new DelegateCommand(() =>
+ // {
+ // _portUtil.ResetData();
+ // Status = 0;
+ // IsEnable = true;
+ // CurrentNum = 0;
+ // });
+ //}
public DelegateCommand RejectReport_Download
@@ -437,14 +516,16 @@ namespace DM_Weight.ViewModels
// DrugId = g.Key, AddQuantity = g.Sum(s => s.AddQuantity)
//}).Select(cs=>new ChannelStock() { DrugId=cs.DrugId,AddQuantity=cs.AddQuantity }).ToList();
- csList = ChannelStocks.FindAll(cs => cs.ChannelLst.IsSelected).ToList();
+ csList = _ChannelList.channelStocks.FindAll(cs => cs.ChannelLst.IsSelected).ToList();
if (csList != null && csList.Count > 0)
{
// 此处延时1毫秒,等待页面渲染
await Task.Delay(TimeSpan.FromMilliseconds(1));
DialogParameters dialogParameters = new DialogParameters();
- dialogParameters.Add("ChannelStocks", csList);
+ dialogParameters.Add("_ChannelStock", csList);
+ //List drugIdLst = ChannelStocks.FindAll(cs => cs.DrawerNo == _ChannelStock.DrawerNo).Select(cs => cs.DrugId).ToList();
+ //dialogParameters.Add("drugIdLst", drugIdLst);
DialogServiceExtensions.ShowDialogHost(_dialogService, "AddToJiaoJieDialog", dialogParameters, DoDialogResult, "RootDialog");
}
@@ -470,38 +551,61 @@ namespace DM_Weight.ViewModels
//}
//MessageBox.Show("返回值:" + dialogResult.Result.ToString());
}
- int AddToJiaoJieClickNum = 1;
- //设置选中药箱的复选框状态
- private void SetIsSelected(ChannelStock channelStock)
+ //int AddToJiaoJieClickNum = 1;
+ ////设置选中药箱的复选框状态
+ //private void SetIsSelected(ChannelStock channelStock)
+ //{
+ // if (channelStock != null)
+ // {
+ // //channelStock.ChannelLst.IsSelected = !channelStock.ChannelLst.IsSelected;
+ // if (channelStock.ChannelLst.State == 0)
+ // {
+ // channelStock.ChannelLst.IsSelected = !channelStock.ChannelLst.IsSelected;
+ // }
+ // else
+ // {
+ // return;
+ // }
+ // if (_ChannelList.channelStocks != null && _ChannelList.channelStocks != null)
+ // {
+ // _ChannelList.channelStocks = _ChannelList.channelStocks.Select(x =>
+ // {
+ // for (int i = 0; i < _ChannelList.channelStocks.Count; i++)
+ // {
+ // if (_ChannelList.channelStocks[i].DrawerNo == channelStock.DrawerNo)
+ // {
+ // _ChannelList.channelStocks[i].ChannelLst = channelStock.ChannelLst;
+ // }
+ // else
+ // {
+ // _ChannelList.channelStocks[i].ChannelLst.IsSelected = false;
+ // }
+ // }
+ // return x;
+ // }).ToList();
+ // }
+ // ICollectionView vw = CollectionViewSource.GetDefaultView(_ChannelList.channelStocks);
+ // vw.GroupDescriptions.Add(new PropertyGroupDescription("ChannelLst"));
+ // }
+ //}
+
+
+ private DelegateCommand _rowSelected;
+
+ public DelegateCommand RowSelected => _rowSelected ??= new DelegateCommand(OpenOrderDialog);
+ public async void OpenOrderDialog()
{
- if (channelStock != null)
+ if (_ChannelList != null && _ChannelList.channelStocks != null && _ChannelList.State == 0)
{
- //channelStock.ChannelLst.IsSelected = !channelStock.ChannelLst.IsSelected;
- if (channelStock.ChannelLst.State == 0)
- {
- channelStock.ChannelLst.IsSelected = !channelStock.ChannelLst.IsSelected;
- }
- else
- {
- return;
- }
- if (channelStock != null && ChannelStocks != null)
- {
- ChannelStocks = ChannelStocks.Select(x =>
- {
- for (int i = 0; i < ChannelStocks.Count; i++)
- {
- if (ChannelStocks[i].DrawerNo == channelStock.DrawerNo)
- {
- ChannelStocks[i].ChannelLst = channelStock.ChannelLst;
- }
- }
- return x;
- }).ToList();
- }
- ICollectionView vw = CollectionViewSource.GetDefaultView(ChannelStocks);
- vw.GroupDescriptions.Add(new PropertyGroupDescription("ChannelLst"));
+ // 此处延时1毫秒,等待页面渲染
+ await Task.Delay(TimeSpan.FromMilliseconds(1));
+ //选中药箱号下的所有药品id
+ DialogParameters dialogParameters = new DialogParameters();
+ dialogParameters.Add("_ChannelStock", _ChannelList.channelStocks);
+ DialogServiceExtensions.ShowDialogHost(_dialogService, "AddToJiaoJieDialog", dialogParameters, DoDialogResult, "RootDialog");
+
}
+
}
}
}
diff --git a/DM_Weight/Views/AddToJiaoJieWindow.xaml b/DM_Weight/Views/AddToJiaoJieWindow.xaml
index 3a0b7a9..14e0ba8 100644
--- a/DM_Weight/Views/AddToJiaoJieWindow.xaml
+++ b/DM_Weight/Views/AddToJiaoJieWindow.xaml
@@ -10,6 +10,21 @@
xmlns:prism="http://prismlibrary.com/"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
+
+
+
diff --git a/DM_Weight/Views/AddToJiaoJieWindow.xaml.cs b/DM_Weight/Views/AddToJiaoJieWindow.xaml.cs
index ecfdf6d..b7b68e9 100644
--- a/DM_Weight/Views/AddToJiaoJieWindow.xaml.cs
+++ b/DM_Weight/Views/AddToJiaoJieWindow.xaml.cs
@@ -23,42 +23,42 @@ namespace DM_Weight.Views
///
public partial class AddToJiaoJieWindow : UserControl
{
- IEventAggregator _eventAggregator;
- public AddToJiaoJieWindow(IEventAggregator eventAggregator)
+ //IEventAggregator _eventAggregator;
+ public AddToJiaoJieWindow()
{
InitializeComponent();
- _eventAggregator = eventAggregator;
+ //_eventAggregator = eventAggregator;
}
//展开
- private void Expander_Expanded(object sender, RoutedEventArgs e)
- {
- //Expander expander = sender as Expander;
- //if (expander != null)
- //{
- // // 假设你的数据在DataContext中
- // List data = expander.DataContext as List;
- // if (data != null&&data.Count>0)
- // {
- // // 使用data做你需要的操作
- // }
- //}
- }
+ //private void Expander_Expanded(object sender, RoutedEventArgs e)
+ //{
+ // //Expander expander = sender as Expander;
+ // //if (expander != null)
+ // //{
+ // // // 假设你的数据在DataContext中
+ // // List data = expander.DataContext as List;
+ // // if (data != null&&data.Count>0)
+ // // {
+ // // // 使用data做你需要的操作
+ // // }
+ // //}
+ //}
//收起
- private void Expander_Collapsed(object sender, RoutedEventArgs e)
- {
- Expander expander = sender as Expander;
- if (expander != null)
- {
- // 假设你的数据在DataContext中
- CollectionViewGroup group = expander.DataContext as CollectionViewGroup;
- if (group != null)
- {
- ChannelStock internalGroup = group.Items[0] as ChannelStock;
+ //private void Expander_Collapsed(object sender, RoutedEventArgs e)
+ //{
+ // Expander expander = sender as Expander;
+ // if (expander != null)
+ // {
+ // // 假设你的数据在DataContext中
+ // CollectionViewGroup group = expander.DataContext as CollectionViewGroup;
+ // if (group != null)
+ // {
+ // ChannelStock internalGroup = group.Items[0] as ChannelStock;
- _eventAggregator.GetEvent().Publish(internalGroup);
- }
- }
- }
+ // _eventAggregator.GetEvent().Publish(internalGroup);
+ // }
+ // }
+ //}
}
}
diff --git a/DM_Weight/Views/Dialog/AddToJiaoJieDialog.xaml b/DM_Weight/Views/Dialog/AddToJiaoJieDialog.xaml
index 6057632..13d4ea2 100644
--- a/DM_Weight/Views/Dialog/AddToJiaoJieDialog.xaml
+++ b/DM_Weight/Views/Dialog/AddToJiaoJieDialog.xaml
@@ -75,7 +75,7 @@
EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}"
/>
-
+ />-->
+
+
+
+
+
+
+
+
+
+
+
+
@@ -147,6 +159,9 @@
+
diff --git a/DM_Weight/Views/Dialog/AddToJiaoJieNewDialog.xaml b/DM_Weight/Views/Dialog/AddToJiaoJieNewDialog.xaml
new file mode 100644
index 0000000..9a5d045
--- /dev/null
+++ b/DM_Weight/Views/Dialog/AddToJiaoJieNewDialog.xaml
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DM_Weight/Views/Dialog/AddToJiaoJieNewDialog.xaml.cs b/DM_Weight/Views/Dialog/AddToJiaoJieNewDialog.xaml.cs
new file mode 100644
index 0000000..0c7eebd
--- /dev/null
+++ b/DM_Weight/Views/Dialog/AddToJiaoJieNewDialog.xaml.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace DM_Weight.Views.Dialog
+{
+ ///
+ /// AddToJiaoJieNewDialog.xaml 的交互逻辑
+ ///
+ public partial class AddToJiaoJieNewDialog : UserControl
+ {
+ public AddToJiaoJieNewDialog()
+ {
+ InitializeComponent();
+ }
+ }
+}