交接柜补药页面启用channnel_list表
This commit is contained in:
		
							parent
							
								
									1d27a080fa
								
							
						
					
					
						commit
						7e91a2136b
					
				| 
						 | 
					@ -3,7 +3,7 @@
 | 
				
			||||||
  <connectionStrings>
 | 
					  <connectionStrings>
 | 
				
			||||||
	<!-- 数据库连接字符串 -->
 | 
						<!-- 数据库连接字符串 -->
 | 
				
			||||||
	<!--<add name="database" connectionString="server=127.0.0.1;database=wpf_dm_program;userid=root;password=qq1223" />-->
 | 
						<!--<add name="database" connectionString="server=127.0.0.1;database=wpf_dm_program;userid=root;password=qq1223" />-->
 | 
				
			||||||
	<add name="database" connectionString="server=127.0.0.1;port=3306;database=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>
 | 
					  </connectionStrings>
 | 
				
			||||||
	<!--<runtime>
 | 
						<!--<runtime>
 | 
				
			||||||
		--><!--配置之后,Appdomain.CurrentDomain.UnhandledException 事件的 IsTerminating 就变成了 false 啦!也就是说,程序并不会因为这次的异常而崩溃退出。--><!--
 | 
							--><!--配置之后,Appdomain.CurrentDomain.UnhandledException 事件的 IsTerminating 就变成了 false 啦!也就是说,程序并不会因为这次的异常而崩溃退出。--><!--
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -209,5 +209,12 @@ namespace DM_Weight.Models
 | 
				
			||||||
        private string _drugSpec;
 | 
					        private string _drugSpec;
 | 
				
			||||||
        [SugarColumn(ColumnName = "drug_manu_no")]
 | 
					        [SugarColumn(ColumnName = "drug_manu_no")]
 | 
				
			||||||
        public string DrugSpec { get=> _drugSpec;set=>SetProperty(ref _drugSpec, value); }
 | 
					        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 readonly ILog logger = LogManager.GetLogger(typeof(AdditionWindowViewModel));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private List<ChannelStock> channelStocks;
 | 
					        private List<ChannelStock>? channelStocks;
 | 
				
			||||||
        public List<ChannelStock> ChannelStocks
 | 
					        public List<ChannelStock>? ChannelStocks
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get => channelStocks;
 | 
					            get => channelStocks;
 | 
				
			||||||
            set => SetProperty(ref channelStocks, value);
 | 
					            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>();
 | 
					        List<ChannelStock> selectedStock = new List<ChannelStock>();
 | 
				
			||||||
        private object _finishStatus = Visibility.Collapsed;
 | 
					        private object _finishStatus = Visibility.Collapsed;
 | 
				
			||||||
        public object FinishStatus
 | 
					        public object FinishStatus
 | 
				
			||||||
| 
						 | 
					@ -40,7 +53,7 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
            get => _finishStatus;
 | 
					            get => _finishStatus;
 | 
				
			||||||
            set => SetProperty(ref _finishStatus, value);
 | 
					            set => SetProperty(ref _finishStatus, value);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        private bool _openStatusBtn =false;
 | 
					        private bool _openStatusBtn = false;
 | 
				
			||||||
        public bool OpenStatusBtn
 | 
					        public bool OpenStatusBtn
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get => _openStatusBtn;
 | 
					            get => _openStatusBtn;
 | 
				
			||||||
| 
						 | 
					@ -51,12 +64,12 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
        //private PortUtil _portUtil;
 | 
					        //private PortUtil _portUtil;
 | 
				
			||||||
        SocketHelper _socketHelper;
 | 
					        SocketHelper _socketHelper;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public AdditionWindowViewModel(IEventAggregator eventAggregator,SocketHelper socketHelper)
 | 
					        public AdditionWindowViewModel(IEventAggregator eventAggregator, SocketHelper socketHelper)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            //_dialogService = dialogService;
 | 
					            //_dialogService = dialogService;
 | 
				
			||||||
            _eventAggregator = eventAggregator;
 | 
					            _eventAggregator = eventAggregator;
 | 
				
			||||||
            //_portUtil = portUtil;
 | 
					            //_portUtil = portUtil;
 | 
				
			||||||
            _socketHelper= socketHelper;
 | 
					            _socketHelper = socketHelper;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        public bool IsNavigationTarget(NavigationContext navigationContext)
 | 
					        public bool IsNavigationTarget(NavigationContext navigationContext)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					@ -70,11 +83,13 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public void OnNavigatedTo(NavigationContext navigationContext)
 | 
					        public void OnNavigatedTo(NavigationContext navigationContext)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            _eventAggregator.GetEvent<IsSelectedEvent>().Subscribe(SetIsSelected);
 | 
					            //_eventAggregator.GetEvent<IsSelectedEvent>().Subscribe(SetIsSelected);
 | 
				
			||||||
            RequestData();
 | 
					            RequestData();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        private void RequestData()
 | 
					        private void RequestData()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 | 
					            _ChannelLists?.Clear();
 | 
				
			||||||
 | 
					            ChannelStocks?.Clear();
 | 
				
			||||||
            ChannelStocks = SqlSugarHelper.Db.Queryable<ChannelStock>()
 | 
					            ChannelStocks = SqlSugarHelper.Db.Queryable<ChannelStock>()
 | 
				
			||||||
                .Includes<ChannelList>(cs => cs.ChannelLst)
 | 
					                .Includes<ChannelList>(cs => cs.ChannelLst)
 | 
				
			||||||
                .Includes<DrugInfo>(cs => cs.DrugInfo)
 | 
					                .Includes<DrugInfo>(cs => cs.DrugInfo)
 | 
				
			||||||
| 
						 | 
					@ -83,21 +98,54 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
                .OrderBy(cs => cs.DrawerNo)
 | 
					                .OrderBy(cs => cs.DrawerNo)
 | 
				
			||||||
                .OrderBy(cs => cs.DrugId)
 | 
					                .OrderBy(cs => cs.DrugId)
 | 
				
			||||||
                .ToList();
 | 
					                .ToList();
 | 
				
			||||||
            //ChannelStocks= ChannelStocks.GroupBy(it=>new {it.DrawerNo,it.DrugId})
 | 
					            if (ChannelStocks != null && ChannelStocks.Count > 0)
 | 
				
			||||||
            //    .Select(it=>
 | 
					            {
 | 
				
			||||||
            //    {
 | 
					                //2)查询channel_list将1)中查询的添加到channel_list的channel_stock里供页面呈现显示
 | 
				
			||||||
            //        var ret = it.First();
 | 
					                List<int> DrawerNoList = ChannelStocks.Select(cs => cs.DrawerNo).Distinct().ToList();
 | 
				
			||||||
            //        ret.Quantity = it.Sum(itx => itx.Quantity);
 | 
					                List<ChannelList> channelLists = new List<ChannelList>();
 | 
				
			||||||
            //        return ret;
 | 
					                for (int i = 0; i < DrawerNoList.Count; i++)
 | 
				
			||||||
            //    }).ToList();
 | 
					                {
 | 
				
			||||||
            //ChannelStocks.ForEach(cs => cs.AddQuantity = cs.BaseQuantity - cs.Quantity);
 | 
					                    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
 | 
					        public DelegateCommand OpenBoxCommand
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get => new DelegateCommand(() =>
 | 
					            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)
 | 
					                if (selectedStock != null && selectedStock.Count > 0)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    selectedStock.ForEach(cs => cs.ChannelLst.State = 2);
 | 
					                    selectedStock.ForEach(cs => cs.ChannelLst.State = 2);
 | 
				
			||||||
| 
						 | 
					@ -168,7 +216,7 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
                                    //    //ModbusHelper.SpeakAsync("请及时关闭药箱");
 | 
					                                    //    //ModbusHelper.SpeakAsync("请及时关闭药箱");
 | 
				
			||||||
                                    //    i = 10;
 | 
					                                    //    i = 10;
 | 
				
			||||||
                                    //}
 | 
					                                    //}
 | 
				
			||||||
                                    OpenStatusBtn =true;
 | 
					                                    OpenStatusBtn = true;
 | 
				
			||||||
                                    next();
 | 
					                                    next();
 | 
				
			||||||
                                }
 | 
					                                }
 | 
				
			||||||
                                else
 | 
					                                else
 | 
				
			||||||
| 
						 | 
					@ -258,26 +306,32 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
                        //}
 | 
					                        //}
 | 
				
			||||||
                        selectedStock.ForEach(cs =>
 | 
					                        selectedStock.ForEach(cs =>
 | 
				
			||||||
                        {
 | 
					                        {
 | 
				
			||||||
                            cs.Quantity = cs.Quantity+cs.AddToJJNum;
 | 
					                            cs.Quantity = cs.Quantity + cs.AddToJJNum;
 | 
				
			||||||
                            cs.NeedNum= 0;
 | 
					                            cs.NeedNum = 0;
 | 
				
			||||||
                            cs.AddToJJNum = 0;
 | 
					                            cs.AddToJJNum = 0;
 | 
				
			||||||
                        });
 | 
					                        });
 | 
				
			||||||
                        SqlSugarHelper.Db.Updateable(selectedStock).ExecuteCommand();
 | 
					                        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)
 | 
					                if (f.Data)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -50,30 +50,70 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
            set => SetProperty(ref _snackbarMessageQueue, value);
 | 
					            set => SetProperty(ref _snackbarMessageQueue, value);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private List<ChannelStock>? _channels;
 | 
					        private List<ChannelList>? _channelLists;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public List<ChannelStock>? Channels
 | 
					        public List<ChannelList>? _ChannelLists
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get => _channels;
 | 
					            get => _channelLists;
 | 
				
			||||||
            set => SetProperty(ref _channels, value);
 | 
					            set => SetProperty(ref _channelLists, value);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        private ChannelList? _channelList;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private ChannelStock _channelStock;
 | 
					        public ChannelList? _ChannelList
 | 
				
			||||||
 | 
					 | 
				
			||||||
        public ChannelStock Channel
 | 
					 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get { return _channelStock; }
 | 
					            get => _channelList;
 | 
				
			||||||
            set
 | 
					            set
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (value != null)
 | 
					                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();
 | 
					                    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;
 | 
					        private List<DrugInfo>? _drugInfos;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -90,6 +130,18 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
            set
 | 
					            set
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                SetProperty(ref _drugInfo, value);
 | 
					                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()
 | 
					        private void RequestData()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            Channels?.Clear();
 | 
					            _ChannelLists?.Clear();
 | 
				
			||||||
            BaseQuantity = "";
 | 
					            BaseQuantity = "";
 | 
				
			||||||
            var list = SqlSugarHelper.Db.Queryable<ChannelStock>()
 | 
					            var list = SqlSugarHelper.Db.Queryable<ChannelList>()
 | 
				
			||||||
                //.Includes(cl => cl.channelStocks, cs => cs.DrugInfo,di=>di.drugBase)
 | 
					                //.Includes(cl => cl.channelStocks, cs => cs.DrugInfo,di=>di.drugBase)
 | 
				
			||||||
                .Includes(cs => cs.DrugInfo)
 | 
					                .Includes(cl => cl.channelStocks)
 | 
				
			||||||
                .Where(cs => cs.MachineId.Equals("DM5"))
 | 
					                .Includes(cl => cl.Drug)
 | 
				
			||||||
                .Where(cs => cs.DrawerNo == DrawerNo + 1).ToList();
 | 
					                .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)
 | 
					            if (list != null && list.Count > 0)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                Channels = list.GroupBy(cs => cs.DrugId).Select(cs =>
 | 
					                _ChannelLists = list;
 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    var ret = cs.First();
 | 
					 | 
				
			||||||
                    ret.Quantity = cs.Sum(itx => itx.Quantity);
 | 
					 | 
				
			||||||
                    return ret;
 | 
					 | 
				
			||||||
                }).ToList();
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            else
 | 
					            else
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                Channels = null;
 | 
					                _ChannelLists = null;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -202,9 +264,9 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
                SnackbarMessageQueue.Enqueue("药品基数请输入正确的整数");
 | 
					                SnackbarMessageQueue.Enqueue("药品基数请输入正确的整数");
 | 
				
			||||||
                return;
 | 
					                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)
 | 
					                if (iNum > 0)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
 | 
					                    SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
 | 
				
			||||||
| 
						 | 
					@ -215,24 +277,41 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            var f = SqlSugarHelper.Db.UseTran(() =>
 | 
					            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()
 | 
					                SqlSugarHelper.Db.Insertable(new ChannelStock()
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    Chnguid = chnguid,
 | 
					                    Chnguid = chnguid,
 | 
				
			||||||
                    DrawerNo = DrawerNo + 1,
 | 
					                    DrawerNo = DrawerNo + 1,
 | 
				
			||||||
                    DrugId = DrugInfo.DrugId.ToString(),
 | 
					                    DrugId = DrugInfo.DrugId,
 | 
				
			||||||
                    BaseQuantity = baseQuantity,
 | 
					                    BaseQuantity = baseQuantity,
 | 
				
			||||||
                    Id = Guid.NewGuid().ToString(),
 | 
					                    Id = Guid.NewGuid().ToString(),
 | 
				
			||||||
                    MachineId = "DM5",
 | 
					                    MachineId = "DM5",
 | 
				
			||||||
                    AddToJJNum = 0,
 | 
					                    AddToJJNum = 0,
 | 
				
			||||||
                    NeedNum = baseQuantity
 | 
					                    NeedNum = baseQuantity,
 | 
				
			||||||
 | 
					                    //ManuNo=DrugManuNo.ManuNo
 | 
				
			||||||
                }).ExecuteCommand();
 | 
					                }).ExecuteCommand();
 | 
				
			||||||
                // 保存数据 入库记录
 | 
					                // 保存数据 入库记录
 | 
				
			||||||
                SqlSugarHelper.Db.Insertable(new MachineRecord()
 | 
					                SqlSugarHelper.Db.Insertable(new MachineRecord()
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    MachineId = "DM5",
 | 
					                    MachineId = "DM5",
 | 
				
			||||||
                    DrawerNo = DrawerNo + 1,
 | 
					                    DrawerNo = DrawerNo + 1,
 | 
				
			||||||
                    DrugId = DrugInfo.DrugId.ToString(),
 | 
					                    DrugId = DrugInfo.DrugId,
 | 
				
			||||||
                    Operator = HomeWindowViewModel.Operator?.Id,
 | 
					                    Operator = HomeWindowViewModel.Operator?.Id,
 | 
				
			||||||
                    OperationTime = DateTime.Now,
 | 
					                    OperationTime = DateTime.Now,
 | 
				
			||||||
                    Quantity = baseQuantity,
 | 
					                    Quantity = baseQuantity,
 | 
				
			||||||
| 
						 | 
					@ -276,52 +355,56 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
            try
 | 
					            try
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (Channels == null)
 | 
					                if (_ChannelList == null)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
 | 
					                    SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
 | 
				
			||||||
                    SnackbarMessageQueue.Enqueue("所选手术间中无可解绑药品");
 | 
					                    SnackbarMessageQueue.Enqueue("所选手术间中无可解绑药品");
 | 
				
			||||||
                    return;
 | 
					                    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()
 | 
					                    SqlSugarHelper.Db.Insertable(new MachineRecord()
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        MachineId = "DM5",
 | 
					                        MachineId = "DM5",
 | 
				
			||||||
                        DrawerNo = DrawerNo,
 | 
					                        DrawerNo = DrawerNo,
 | 
				
			||||||
                        DrugId = Channel.DrugId.ToString(),
 | 
					                        DrugId = _ChannelList.DrugId,
 | 
				
			||||||
                        Operator = HomeWindowViewModel.Operator?.Id,
 | 
					                        Operator = HomeWindowViewModel.Operator?.Id,
 | 
				
			||||||
                        OperationTime = DateTime.Now,
 | 
					                        OperationTime = DateTime.Now,
 | 
				
			||||||
                        Quantity = Channel.Quantity,
 | 
					                        Quantity = _ChannelList.BaseQuantity,
 | 
				
			||||||
                        Type = 55,
 | 
					                        Type = 55,
 | 
				
			||||||
                        InvoiceId = "解绑手术间单个药品",
 | 
					                        InvoiceId = "解绑手术间单个药品",
 | 
				
			||||||
                    }).ExecuteCommand();
 | 
					                    }).ExecuteCommand();
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                else
 | 
					                else
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    //解绑药箱下的所有药品
 | 
					                    SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
 | 
				
			||||||
                    Channels.ForEach(item =>
 | 
					                    SnackbarMessageQueue.Enqueue("请选择要解绑的药品");
 | 
				
			||||||
                    {
 | 
					                    ////解绑药箱下的所有药品
 | 
				
			||||||
 | 
					                    //Channels.ForEach(item =>
 | 
				
			||||||
 | 
					                    //{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        SqlSugarHelper.Db.Deleteable(item).ExecuteCommand();
 | 
					                    //    SqlSugarHelper.Db.Deleteable(item).ExecuteCommand();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        // 保存数据 入库记录
 | 
					                    //    // 保存数据 入库记录
 | 
				
			||||||
                        SqlSugarHelper.Db.Insertable(new MachineRecord()
 | 
					                    //    SqlSugarHelper.Db.Insertable(new MachineRecord()
 | 
				
			||||||
                        {
 | 
					                    //    {
 | 
				
			||||||
                            MachineId = "DM5",
 | 
					                    //        MachineId = "DM5",
 | 
				
			||||||
                            DrawerNo = DrawerNo,
 | 
					                    //        DrawerNo = DrawerNo,
 | 
				
			||||||
                            DrugId = item.DrugId.ToString(),
 | 
					                    //        DrugId = item.DrugId.ToString(),
 | 
				
			||||||
                            Operator = HomeWindowViewModel.Operator?.Id,
 | 
					                    //        Operator = HomeWindowViewModel.Operator?.Id,
 | 
				
			||||||
                            OperationTime = DateTime.Now,
 | 
					                    //        OperationTime = DateTime.Now,
 | 
				
			||||||
                            Quantity = item.Quantity,
 | 
					                    //        Quantity = item.Quantity,
 | 
				
			||||||
                            Type = 55,
 | 
					                    //        Type = 55,
 | 
				
			||||||
                            InvoiceId = "绑定手术间全部药品",
 | 
					                    //        InvoiceId = "绑定手术间全部药品",
 | 
				
			||||||
                        }).ExecuteCommand();
 | 
					                    //    }).ExecuteCommand();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    });
 | 
					                    //});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
| 
						 | 
					@ -341,7 +424,7 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get => new DelegateCommand(() =>
 | 
					            get => new DelegateCommand(() =>
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (DrugInfo.DrugId != Channel.DrugId)
 | 
					                if (DrugInfo.DrugId != _ChannelList.DrugId)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
 | 
					                    SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
 | 
				
			||||||
                    SnackbarMessageQueue.Enqueue("只能修改药品基数,不能更换绑定药品!");
 | 
					                    SnackbarMessageQueue.Enqueue("只能修改药品基数,不能更换绑定药品!");
 | 
				
			||||||
| 
						 | 
					@ -350,19 +433,29 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
                int baseQty = 0;
 | 
					                int baseQty = 0;
 | 
				
			||||||
                if (int.TryParse(BaseQuantity, out baseQty))
 | 
					                if (int.TryParse(BaseQuantity, out baseQty))
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    logger.Info($"修改药品基数{Channel.BaseQuantity}改为{baseQty}");
 | 
					                    logger.Info($"修改药品基数{_ChannelList.BaseQuantity}改为{baseQty}");
 | 
				
			||||||
                    if (baseQty > Channel.BaseQuantity)
 | 
					                    if (baseQty > _ChannelList.BaseQuantity)
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        //基数变大,需要补药
 | 
					                        //基数变大,需要补药
 | 
				
			||||||
                        Channel.NeedNum = baseQty - Channel.BaseQuantity;
 | 
					                        _ChannelList.channelStocks[0].NeedNum = baseQty - _ChannelList.BaseQuantity;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    Channel.BaseQuantity = baseQty;
 | 
					                    else
 | 
				
			||||||
                    int iUpdate = SqlSugarHelper.Db.Updateable<ChannelStock>(Channel).ExecuteCommand();
 | 
					                    {
 | 
				
			||||||
                    if (iUpdate > 0)
 | 
					                        _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"));
 | 
					                        SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#00e676"));
 | 
				
			||||||
                        SnackbarMessageQueue.Enqueue("保存修改完成!");
 | 
					                        SnackbarMessageQueue.Enqueue("保存修改完成!");
 | 
				
			||||||
 | 
					                        RequestData();
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    else
 | 
					                    else
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
| 
						 | 
					@ -386,127 +479,5 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get => new DelegateCommand(RequestData);
 | 
					            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(() =>
 | 
					            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();
 | 
					                    ChannelList channelList = SqlSugarHelper.Db.Queryable<ChannelList>().Where(cs => cs.DrawerNo == (DrawerNo+1) && cs.MachineId == "DM5").First();
 | 
				
			||||||
                    if (BoxTypeSelectedItem != null)
 | 
					                    if (BoxTypeSelectedItem != null)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,6 +10,21 @@
 | 
				
			||||||
             xmlns:local="clr-namespace:DM_Weight.Views"
 | 
					             xmlns:local="clr-namespace:DM_Weight.Views"
 | 
				
			||||||
             mc:Ignorable="d" 
 | 
					             mc:Ignorable="d" 
 | 
				
			||||||
             d:DesignHeight="450" d:DesignWidth="800">
 | 
					             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>
 | 
				
			||||||
        <Grid.Resources>
 | 
					        <Grid.Resources>
 | 
				
			||||||
            <CollectionViewSource x:Key="GroupedDataList" Source="{Binding ChannelStocks}">
 | 
					            <CollectionViewSource x:Key="GroupedDataList" Source="{Binding ChannelStocks}">
 | 
				
			||||||
| 
						 | 
					@ -86,7 +101,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        </Grid>
 | 
					        </Grid>
 | 
				
			||||||
        <DataGrid
 | 
					        <!--<DataGrid
 | 
				
			||||||
                Grid.Row="1"
 | 
					                Grid.Row="1"
 | 
				
			||||||
                materialDesign:DataGridAssist.ColumnHeaderPadding="15"
 | 
					                materialDesign:DataGridAssist.ColumnHeaderPadding="15"
 | 
				
			||||||
                ItemsSource="{Binding Source={StaticResource GroupedDataList}}"
 | 
					                ItemsSource="{Binding Source={StaticResource GroupedDataList}}"
 | 
				
			||||||
| 
						 | 
					@ -104,7 +119,7 @@
 | 
				
			||||||
                    <Setter Property="BorderThickness" Value="0.6"/>
 | 
					                    <Setter Property="BorderThickness" Value="0.6"/>
 | 
				
			||||||
                    <Setter Property="HorizontalContentAlignment" Value="Center"/>
 | 
					                    <Setter Property="HorizontalContentAlignment" Value="Center"/>
 | 
				
			||||||
                </Style>
 | 
					                </Style>
 | 
				
			||||||
                <!--<Style TargetType="{x:Type DataGridCell}" BasedOn="{StaticResource MaterialDesignDataGridCell}">
 | 
					                --><!--<Style TargetType="{x:Type DataGridCell}" BasedOn="{StaticResource MaterialDesignDataGridCell}">
 | 
				
			||||||
                    <Style.Triggers>
 | 
					                    <Style.Triggers>
 | 
				
			||||||
                        <Trigger Property="IsReadOnly" Value="True">
 | 
					                        <Trigger Property="IsReadOnly" Value="True">
 | 
				
			||||||
                            <Setter Property="BorderBrush" Value="Transparent" />
 | 
					                            <Setter Property="BorderBrush" Value="Transparent" />
 | 
				
			||||||
| 
						 | 
					@ -112,7 +127,7 @@
 | 
				
			||||||
                        </Trigger>
 | 
					                        </Trigger>
 | 
				
			||||||
                    </Style.Triggers>
 | 
					                    </Style.Triggers>
 | 
				
			||||||
                    <Setter Property="HorizontalAlignment" Value="Center"/>
 | 
					                    <Setter Property="HorizontalAlignment" Value="Center"/>
 | 
				
			||||||
                </Style>-->
 | 
					                </Style>--><!--
 | 
				
			||||||
                <Style TargetType="DataGridCell">
 | 
					                <Style TargetType="DataGridCell">
 | 
				
			||||||
                    <Setter Property="Template">
 | 
					                    <Setter Property="Template">
 | 
				
			||||||
                        <Setter.Value>
 | 
					                        <Setter.Value>
 | 
				
			||||||
| 
						 | 
					@ -159,13 +174,77 @@
 | 
				
			||||||
            <DataGrid.Columns>
 | 
					            <DataGrid.Columns>
 | 
				
			||||||
                <DataGridTextColumn IsReadOnly="True" Header="药品名称" Binding="{Binding DrugInfo.DrugName}"/>
 | 
					                <DataGridTextColumn IsReadOnly="True" Header="药品名称" Binding="{Binding DrugInfo.DrugName}"/>
 | 
				
			||||||
                <DataGridTextColumn IsReadOnly="True" Header="规格" Binding="{Binding DrugInfo.DrugSpec}"/>
 | 
					                <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 DrugInfo.Manufactory}"/>
 | 
				
			||||||
                <!--<DataGridTextColumn IsReadOnly="True" Header="药品基数" Binding="{Binding BaseQuantity}"/>-->
 | 
					                <DataGridTextColumn IsReadOnly="True" Header="批次" Binding="{Binding ManuNo}"/>
 | 
				
			||||||
                <DataGridTextColumn IsReadOnly="True" Header="需补药数量" Binding="{Binding AddToJJNum}"/>
 | 
					                --><!--<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}"/>
 | 
					                <DataGridTextColumn IsReadOnly="True" Header="状态" Binding="{Binding ChannelLst.State,Converter={StaticResource StockStatusConverter},ConverterParameter=TextState}"/>
 | 
				
			||||||
            </DataGrid.Columns>
 | 
					            </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>
 | 
					    </Grid>
 | 
				
			||||||
</UserControl>
 | 
					</UserControl>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -154,10 +154,17 @@
 | 
				
			||||||
                    SelectedItem="{Binding DrugInfo}"
 | 
					                    SelectedItem="{Binding DrugInfo}"
 | 
				
			||||||
                    DisplayMemberPath="drug_name_spec" IsEnabled="True" IsTextSearchEnabled="False" KeyUp="ComboBox_KeyUp"
 | 
					                    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
 | 
					                <TextBox
 | 
				
			||||||
                Grid.Column="1"
 | 
					                Grid.Column="1"
 | 
				
			||||||
                Text="{Binding BaseQuantity}"
 | 
					                Text="{Binding BaseQuantity}"
 | 
				
			||||||
                materialDesign:HintAssist.Hint="药品基数"
 | 
					                materialDesign:HintAssist.Hint="基数"
 | 
				
			||||||
                Margin="16 0 32 6" Width="100"
 | 
					                Margin="16 0 32 6" Width="100"
 | 
				
			||||||
                Style="{StaticResource MaterialDesignTextBoxBase}"/>
 | 
					                Style="{StaticResource MaterialDesignTextBoxBase}"/>
 | 
				
			||||||
                <Button
 | 
					                <Button
 | 
				
			||||||
| 
						 | 
					@ -194,8 +201,8 @@
 | 
				
			||||||
            </StackPanel>
 | 
					            </StackPanel>
 | 
				
			||||||
            <ListView  Grid.ColumnSpan="2"
 | 
					            <ListView  Grid.ColumnSpan="2"
 | 
				
			||||||
                Padding="0 6 0 0" Grid.Row="1"
 | 
					                Padding="0 6 0 0" Grid.Row="1"
 | 
				
			||||||
                ItemsSource="{Binding Channels, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"                
 | 
					                ItemsSource="{Binding _ChannelLists, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"                
 | 
				
			||||||
                SelectedItem="{Binding Channel}"
 | 
					                SelectedItem="{Binding _ChannelList}"
 | 
				
			||||||
                materialDesign:ListViewAssist.HeaderRowBackground="#31ccec"
 | 
					                materialDesign:ListViewAssist.HeaderRowBackground="#31ccec"
 | 
				
			||||||
                materialDesign:DataGridAssist.ColumnHeaderPadding="10"
 | 
					                materialDesign:DataGridAssist.ColumnHeaderPadding="10"
 | 
				
			||||||
                materialDesign:ListViewAssist.ListViewItemPadding="13">
 | 
					                materialDesign:ListViewAssist.ListViewItemPadding="13">
 | 
				
			||||||
| 
						 | 
					@ -205,22 +212,40 @@
 | 
				
			||||||
                    </Style>
 | 
					                    </Style>
 | 
				
			||||||
                </ListView.Resources>
 | 
					                </ListView.Resources>
 | 
				
			||||||
                <ListView.View>
 | 
					                <ListView.View>
 | 
				
			||||||
                    <GridView>
 | 
					                    <GridView  ColumnHeaderContainerStyle="{StaticResource st}">
 | 
				
			||||||
                        <GridViewColumn Width="200"
 | 
					                        <GridViewColumn Width="180"
 | 
				
			||||||
                        DisplayMemberBinding="{Binding DrugInfo.DrugName}"
 | 
					                        DisplayMemberBinding="{Binding Drug.DrugName}"
 | 
				
			||||||
                        Header="药品名称"/>
 | 
					                        Header="药品名称"/>
 | 
				
			||||||
                        <GridViewColumn Width="200"
 | 
					                        <GridViewColumn Width="150"
 | 
				
			||||||
                        DisplayMemberBinding="{Binding DrugInfo.Manufactory}"
 | 
					                        DisplayMemberBinding="{Binding Drug.Manufactory}"
 | 
				
			||||||
                        Header="厂家"/>
 | 
					                        Header="厂家"/>
 | 
				
			||||||
                        <GridViewColumn Width="200"
 | 
					                        <GridViewColumn Width="100"
 | 
				
			||||||
                        DisplayMemberBinding="{Binding DrugInfo.DrugSpec}"
 | 
					                        DisplayMemberBinding="{Binding Drug.DrugSpec}"
 | 
				
			||||||
                        Header="规格"/>
 | 
					                        Header="规格"/>
 | 
				
			||||||
                        <GridViewColumn Width="100"
 | 
					                        <GridViewColumn Width="50"
 | 
				
			||||||
                        DisplayMemberBinding="{Binding BaseQuantity}"
 | 
					                        DisplayMemberBinding="{Binding BaseQuantity}"
 | 
				
			||||||
                        Header="药品基数"/>
 | 
					                        Header="基数"/>
 | 
				
			||||||
                        <GridViewColumn Width="100"
 | 
					                        <GridViewColumn Header="批次" Width="80">
 | 
				
			||||||
                        DisplayMemberBinding="{Binding Quantity}"
 | 
					                            <GridViewColumn.CellTemplate>
 | 
				
			||||||
                        Header="药品库存"/>
 | 
					                                <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>
 | 
					                </GridView>
 | 
				
			||||||
               </ListView.View>
 | 
					               </ListView.View>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue