调拨单上批次对应的药在库存里绑定药的都要列出来
This commit is contained in:
		
							parent
							
								
									7fb942977a
								
							
						
					
					
						commit
						0ae94e65ef
					
				| 
						 | 
				
			
			@ -308,7 +308,7 @@ namespace DM_Weight.ViewModels
 | 
			
		|||
                                                 //.Includes(cl => cl.channelStocks, dr => dr.DrugInfo, d => d.DrugManuNos)
 | 
			
		||||
                                                 .Where(cl => cl.DrugId == invoices[i].DrugId && cl.MachineId == (ConfigurationManager.AppSettings["machineId"] ?? "DM1")).ToList();
 | 
			
		||||
                    ChannelList channelLst = channelL.Count > 0 ? channelL[0] : null;
 | 
			
		||||
                    if (channelLst == null || channelLst.Id is null)
 | 
			
		||||
                    if (channelL.Count <= 0)
 | 
			
		||||
                    {
 | 
			
		||||
                        //药品未绑定库位,需要先绑药
 | 
			
		||||
                        //AlertMsg alertMsg = new AlertMsg
 | 
			
		||||
| 
						 | 
				
			
			@ -343,18 +343,45 @@ namespace DM_Weight.ViewModels
 | 
			
		|||
                                _eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
 | 
			
		||||
                                continue;
 | 
			
		||||
                            }
 | 
			
		||||
                            ChannelStock stock = new ChannelStock();
 | 
			
		||||
                            //没有库存写入一条数据
 | 
			
		||||
                            stock.MachineId = ConfigurationManager.AppSettings["machineId"] ?? "DM1";
 | 
			
		||||
                            stock.DrawerNo = channelLst.DrawerNo;
 | 
			
		||||
                            stock.BoardType = channelLst.BoardType;
 | 
			
		||||
                            stock.DrawerType = channelLst.DrawerType;
 | 
			
		||||
                            stock.ColNo = channelLst.ColNo;
 | 
			
		||||
                            stock.DrugId = channelLst.DrugId;
 | 
			
		||||
                            stock.ManuNo = invoicesManuNo[j].DrugManuNo;
 | 
			
		||||
                            stock.EffDate = manuNoList[0].EffDate;
 | 
			
		||||
                            stock.Chnguid = channelLst.Id;
 | 
			
		||||
                            stockList.Add(stock);
 | 
			
		||||
                            //没有根据药品绑定库位写入数据
 | 
			
		||||
                            for (int k = 0; k < channelL.Count; k++)
 | 
			
		||||
                            {
 | 
			
		||||
 | 
			
		||||
                                ChannelStock stock = new ChannelStock();
 | 
			
		||||
                                stock.MachineId = ConfigurationManager.AppSettings["machineId"] ?? "DM1";
 | 
			
		||||
                                stock.DrawerNo = channelL[k].DrawerNo;
 | 
			
		||||
                                stock.BoardType = channelL[k].BoardType;
 | 
			
		||||
                                stock.DrawerType = channelL[k].DrawerType;
 | 
			
		||||
                                stock.ColNo = channelL[k].ColNo;
 | 
			
		||||
                                stock.DrugId = channelL[k].DrugId;
 | 
			
		||||
                                stock.ManuNo = invoicesManuNo[j].DrugManuNo;
 | 
			
		||||
                                stock.EffDate = manuNoList[0].EffDate;
 | 
			
		||||
                                stock.Chnguid = channelL[k].Id;
 | 
			
		||||
                                stockList.Add(stock);
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                        else
 | 
			
		||||
                        {
 | 
			
		||||
                            //药品有库存,则除了将对应药品批次数据列出来外,还要将当前已绑定的药品下添加上该批次
 | 
			
		||||
                            for (int k = 0; k < channelL.Count; k++)
 | 
			
		||||
                            {
 | 
			
		||||
                                //有库存且批次抽屉库位与将要插入的批次抽屉库位一致则跳过
 | 
			
		||||
                                if(stockList.Where(t=>t.ManuNo== invoicesManuNo[j].DrugManuNo&&t.ColNo== channelL[k].ColNo&&t.DrawerNo== channelL[k].DrawerNo).FirstOrDefault()!=null)
 | 
			
		||||
                                {
 | 
			
		||||
                                    continue;
 | 
			
		||||
                                }
 | 
			
		||||
                                ChannelStock stock = new ChannelStock();
 | 
			
		||||
                                stock.MachineId = ConfigurationManager.AppSettings["machineId"] ?? "DM1";
 | 
			
		||||
                                stock.DrawerNo = channelL[k].DrawerNo;
 | 
			
		||||
                                stock.BoardType = channelL[k].BoardType;
 | 
			
		||||
                                stock.DrawerType = channelL[k].DrawerType;
 | 
			
		||||
                                stock.ColNo = channelL[k].ColNo;
 | 
			
		||||
                                stock.DrugId = channelL[k].DrugId;
 | 
			
		||||
                                stock.ManuNo = invoicesManuNo[j].DrugManuNo;
 | 
			
		||||
                                stock.EffDate = manuNoList[0].EffDate;
 | 
			
		||||
                                stock.Chnguid = channelL[k].Id;
 | 
			
		||||
                                stockList.Add(stock);
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                        //stock.AddQuantity = invoicesManuNo[j].quantity;
 | 
			
		||||
                        //stockList.ForEach(s => s.AddQuantity = invoicesManuNo[j].quantity);
 | 
			
		||||
| 
						 | 
				
			
			@ -635,22 +662,22 @@ namespace DM_Weight.ViewModels
 | 
			
		|||
                            {
 | 
			
		||||
                                //if (singleChannels[i].BoardType == 5)
 | 
			
		||||
                                //{
 | 
			
		||||
                                    List<ChannelStock> channelStockEffDate = SqlSugarHelper.Db.Queryable<ChannelStock>()
 | 
			
		||||
                                                                        .Where(cs => cs.MachineId == singleChannels[i].MachineId)
 | 
			
		||||
                                                                        .Where(cs => cs.DrawerNo == singleChannels[i].DrawerNo)
 | 
			
		||||
                                                                        .Where(cs => cs.ColNo == singleChannels[i].ColNo)
 | 
			
		||||
                                                                        .Where(cs=>cs.Quantity>0)
 | 
			
		||||
                                                                        .OrderBy(cs => cs.EffDate).ToList();
 | 
			
		||||
                                    int totalQuantity = channelStockEffDate.Sum(it => it.Quantity);
 | 
			
		||||
                                List<ChannelStock> channelStockEffDate = SqlSugarHelper.Db.Queryable<ChannelStock>()
 | 
			
		||||
                                                                    .Where(cs => cs.MachineId == singleChannels[i].MachineId)
 | 
			
		||||
                                                                    .Where(cs => cs.DrawerNo == singleChannels[i].DrawerNo)
 | 
			
		||||
                                                                    .Where(cs => cs.ColNo == singleChannels[i].ColNo)
 | 
			
		||||
                                                                    .Where(cs => cs.Quantity > 0)
 | 
			
		||||
                                                                    .OrderBy(cs => cs.EffDate).ToList();
 | 
			
		||||
                                int totalQuantity = channelStockEffDate.Sum(it => it.Quantity);
 | 
			
		||||
 | 
			
		||||
                                    //将库位多批次的总库存数更新标签
 | 
			
		||||
                                    _portUtil.WriteQuantity(channelStockEffDate[0].DrawerNo, channelStockEffDate[0].ColNo, totalQuantity);
 | 
			
		||||
                                    Thread.Sleep(200);
 | 
			
		||||
                                    _portUtil.WriteChannelInfo(6, channelStockEffDate[0].EffDate == null ? "" : channelStockEffDate[0].EffDate, channelStockEffDate[0].DrawerNo, channelStockEffDate[0].ColNo);
 | 
			
		||||
                                    Thread.Sleep(200);
 | 
			
		||||
                                    _portUtil.WriteChannelInfo(5, channelStockEffDate[0].ManuNo, channelStockEffDate[0].DrawerNo, channelStockEffDate[0].ColNo);
 | 
			
		||||
                                    Thread.Sleep(200);
 | 
			
		||||
                                    _portUtil.ShowContent(channelStockEffDate[0].DrawerNo, channelStockEffDate[0].ColNo);
 | 
			
		||||
                                //将库位多批次的总库存数更新标签
 | 
			
		||||
                                _portUtil.WriteQuantity(channelStockEffDate[0].DrawerNo, channelStockEffDate[0].ColNo, totalQuantity);
 | 
			
		||||
                                Thread.Sleep(200);
 | 
			
		||||
                                _portUtil.WriteChannelInfo(6, channelStockEffDate[0].EffDate == null ? "" : channelStockEffDate[0].EffDate, channelStockEffDate[0].DrawerNo, channelStockEffDate[0].ColNo);
 | 
			
		||||
                                Thread.Sleep(200);
 | 
			
		||||
                                _portUtil.WriteChannelInfo(5, channelStockEffDate[0].ManuNo, channelStockEffDate[0].DrawerNo, channelStockEffDate[0].ColNo);
 | 
			
		||||
                                Thread.Sleep(200);
 | 
			
		||||
                                _portUtil.ShowContent(channelStockEffDate[0].DrawerNo, channelStockEffDate[0].ColNo);
 | 
			
		||||
                                //}
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue