复制master分支代码
This commit is contained in:
		
							parent
							
								
									b11a8a479c
								
							
						
					
					
						commit
						d4c42203d2
					
				| 
						 | 
					@ -11,6 +11,7 @@ using Prism.Regions;
 | 
				
			||||||
using Prism.Services.Dialogs;
 | 
					using Prism.Services.Dialogs;
 | 
				
			||||||
using SqlSugar;
 | 
					using SqlSugar;
 | 
				
			||||||
using System;
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections;
 | 
				
			||||||
using System.Collections.Generic;
 | 
					using System.Collections.Generic;
 | 
				
			||||||
using System.Collections.ObjectModel;
 | 
					using System.Collections.ObjectModel;
 | 
				
			||||||
using System.Configuration;
 | 
					using System.Configuration;
 | 
				
			||||||
| 
						 | 
					@ -18,6 +19,7 @@ using System.Linq;
 | 
				
			||||||
using System.Text;
 | 
					using System.Text;
 | 
				
			||||||
using System.Threading;
 | 
					using System.Threading;
 | 
				
			||||||
using System.Threading.Tasks;
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using System.Windows.Documents;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace DM_Weight.ViewModels
 | 
					namespace DM_Weight.ViewModels
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -288,7 +290,7 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
            List<ChannelStock> iChannelStock = new List<ChannelStock>();
 | 
					            List<ChannelStock> iChannelStock = new List<ChannelStock>();
 | 
				
			||||||
            if (SelectedInvoice != null)
 | 
					            if (SelectedInvoice != null)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                //先查询入库单中有几种药
 | 
					                //先查询有几种药
 | 
				
			||||||
                string strSql = @"SELECT sum(Quantity) AS SumQuantity, COUNT(ID) AS CountNum,INVOICE_NO AS InvoiceNo,drug_id AS DrugId,QUANTITY AS quantity,drug_manu_no AS drugManuNo FROM IN_OUT_INVOICE WHERE INVOICE_NO=@INVOICE_NO  GROUP BY INVOICE_NO,DRUG_ID";
 | 
					                string strSql = @"SELECT sum(Quantity) AS SumQuantity, COUNT(ID) AS CountNum,INVOICE_NO AS InvoiceNo,drug_id AS DrugId,QUANTITY AS quantity,drug_manu_no AS drugManuNo FROM IN_OUT_INVOICE WHERE INVOICE_NO=@INVOICE_NO  GROUP BY INVOICE_NO,DRUG_ID";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                var invoices = SqlSugarHelper.Db.SqlQueryable<InOutInvoice>(strSql)
 | 
					                var invoices = SqlSugarHelper.Db.SqlQueryable<InOutInvoice>(strSql)
 | 
				
			||||||
| 
						 | 
					@ -328,7 +330,7 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
                             .Where(cs => cs.ManuNo == invoicesManuNo[j].DrugManuNo && cs.DrugId == invoicesManuNo[j].DrugId && cs.MachineId == (ConfigurationManager.AppSettings["machineId"] ?? "DM1")).ToList();
 | 
					                             .Where(cs => cs.ManuNo == invoicesManuNo[j].DrugManuNo && cs.DrugId == invoicesManuNo[j].DrugId && cs.MachineId == (ConfigurationManager.AppSettings["machineId"] ?? "DM1")).ToList();
 | 
				
			||||||
                        //stock = stockList.Count > 0 ? stockList[0] : new ChannelStock();
 | 
					                        //stock = stockList.Count > 0 ? stockList[0] : new ChannelStock();
 | 
				
			||||||
                        List<DrugManuNo> manuNoList = SqlSugarHelper.Db.Queryable<DrugManuNo>().Where(dm => dm.ManuNo == invoicesManuNo[j].DrugManuNo && dm.DrugId == invoicesManuNo[j].DrugId).ToList();
 | 
					                        List<DrugManuNo> manuNoList = SqlSugarHelper.Db.Queryable<DrugManuNo>().Where(dm => dm.ManuNo == invoicesManuNo[j].DrugManuNo && dm.DrugId == invoicesManuNo[j].DrugId).ToList();
 | 
				
			||||||
                        if (stockList == null || stockList.Count<=0)
 | 
					                        if (stockList == null || stockList.Count <= 0)
 | 
				
			||||||
                        {
 | 
					                        {
 | 
				
			||||||
                            if (manuNoList == null || manuNoList.Count <= 0)
 | 
					                            if (manuNoList == null || manuNoList.Count <= 0)
 | 
				
			||||||
                            {
 | 
					                            {
 | 
				
			||||||
| 
						 | 
					@ -341,8 +343,8 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
                                _eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
 | 
					                                _eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
 | 
				
			||||||
                                continue;
 | 
					                                continue;
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                            //没有库存写入一条数据
 | 
					 | 
				
			||||||
                            ChannelStock stock = new ChannelStock();
 | 
					                            ChannelStock stock = new ChannelStock();
 | 
				
			||||||
 | 
					                            //没有库存写入一条数据
 | 
				
			||||||
                            stock.MachineId = ConfigurationManager.AppSettings["machineId"] ?? "DM1";
 | 
					                            stock.MachineId = ConfigurationManager.AppSettings["machineId"] ?? "DM1";
 | 
				
			||||||
                            stock.DrawerNo = channelLst.DrawerNo;
 | 
					                            stock.DrawerNo = channelLst.DrawerNo;
 | 
				
			||||||
                            stock.BoardType = channelLst.BoardType;
 | 
					                            stock.BoardType = channelLst.BoardType;
 | 
				
			||||||
| 
						 | 
					@ -355,13 +357,16 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
                            stockList.Add(stock);
 | 
					                            stockList.Add(stock);
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                        //stock.AddQuantity = invoicesManuNo[j].quantity;
 | 
					                        //stock.AddQuantity = invoicesManuNo[j].quantity;
 | 
				
			||||||
                        stockList.GroupBy(it =>it.ManuNo)
 | 
					                        //stockList.ForEach(s => s.AddQuantity = invoicesManuNo[j].quantity);
 | 
				
			||||||
 | 
					                        stockList.GroupBy(x => x.ManuNo)
 | 
				
			||||||
                           .Select(it =>
 | 
					                           .Select(it =>
 | 
				
			||||||
                           {
 | 
					                           {
 | 
				
			||||||
                               var ret = it.First();
 | 
					                               var ret = it.First();
 | 
				
			||||||
                               ret.AddQuantity = invoicesManuNo[j].quantity;
 | 
					                               ret.AddQuantity = invoicesManuNo[j].quantity;
 | 
				
			||||||
                               return ret;
 | 
					                               return ret;
 | 
				
			||||||
                                 }).ToList();
 | 
					                           })
 | 
				
			||||||
 | 
					                           .ToList();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        if (channelLst.channelStocks == null)
 | 
					                        if (channelLst.channelStocks == null)
 | 
				
			||||||
                        {
 | 
					                        {
 | 
				
			||||||
                            channelLst.channelStocks = new List<ChannelStock>();
 | 
					                            channelLst.channelStocks = new List<ChannelStock>();
 | 
				
			||||||
| 
						 | 
					@ -435,7 +440,7 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
            List<ChannelStock> singleChannels = new List<ChannelStock>();
 | 
					            List<ChannelStock> singleChannels = new List<ChannelStock>();
 | 
				
			||||||
            for (int i = 0; i < channelStocks.Count; i++)
 | 
					            for (int i = 0; i < channelStocks.Count; i++)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                ChannelStock copy= TransExpV2<ChannelStock, ChannelStock>.Trans(channelStocks[i]);
 | 
					                ChannelStock copy = TransExpV2<ChannelStock, ChannelStock>.Trans(channelStocks[i]);
 | 
				
			||||||
                singleChannels.Add(copy);
 | 
					                singleChannels.Add(copy);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            singleChannels = singleChannels.GroupBy(it => new
 | 
					            singleChannels = singleChannels.GroupBy(it => new
 | 
				
			||||||
| 
						 | 
					@ -458,15 +463,21 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if ((singleChannels.Count > 0 ? singleChannels[0].BoardType : 1) == 5)
 | 
					            if ((singleChannels.Count > 0 ? singleChannels[0].BoardType : 1) == 5)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                //List<ChannelStock> ChannelLst = channelStocks.Where(it => it.BoardType != 1)
 | 
					                List<ChannelStock> ChannelLst = new List<ChannelStock>();
 | 
				
			||||||
                //                                                        .GroupBy(it => it.ColNo)
 | 
					                for (int i = 0; i < channelStocks.Count; i++)
 | 
				
			||||||
                //                                                        .Select(it =>
 | 
					                {
 | 
				
			||||||
                //                                                        {
 | 
					                    ChannelStock copy = TransExpV2<ChannelStock, ChannelStock>.Trans(channelStocks[i]);
 | 
				
			||||||
                //                                                            var ret = it.First();
 | 
					                    singleChannels.Add(copy);
 | 
				
			||||||
                //                                                            ret.Quantity = it.Sum(itx => itx.Quantity);
 | 
					                }
 | 
				
			||||||
                //                                                            ret.AddQuantity = it.Sum(itx => itx.AddQuantity);
 | 
					                ChannelLst = ChannelLst.Where(it => it.BoardType != 1)
 | 
				
			||||||
                //                                                            return ret;
 | 
					                                                                        .GroupBy(it => it.ColNo)
 | 
				
			||||||
                //                                                        }).ToList();
 | 
					                                                                        .Select(it =>
 | 
				
			||||||
 | 
					                                                                        {
 | 
				
			||||||
 | 
					                                                                            var ret = it.First();
 | 
				
			||||||
 | 
					                                                                            ret.Quantity = it.Sum(itx => itx.Quantity);
 | 
				
			||||||
 | 
					                                                                            ret.AddQuantity = it.Sum(itx => itx.AddQuantity);
 | 
				
			||||||
 | 
					                                                                            return ret;
 | 
				
			||||||
 | 
					                                                                        }).ToList();
 | 
				
			||||||
                // 发送加药数量
 | 
					                // 发送加药数量
 | 
				
			||||||
                singleChannels.ForEach(it =>
 | 
					                singleChannels.ForEach(it =>
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
| 
						 | 
					@ -537,7 +548,7 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
                                }
 | 
					                                }
 | 
				
			||||||
                                //查询现有库位中是否有库存为0的记录,如果有直接update
 | 
					                                //查询现有库位中是否有库存为0的记录,如果有直接update
 | 
				
			||||||
                                ChannelStock recordHistory = SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerNo == it.DrawerNo && cs.ColNo == it.ColNo && cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1") && cs.Quantity <= 0).First();
 | 
					                                ChannelStock recordHistory = SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerNo == it.DrawerNo && cs.ColNo == it.ColNo && cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1") && cs.Quantity <= 0).First();
 | 
				
			||||||
                                if (recordHistory!=null&& recordHistory.Id!=null)
 | 
					                                if (recordHistory != null && recordHistory.Id != null)
 | 
				
			||||||
                                {
 | 
					                                {
 | 
				
			||||||
                                    SqlSugarHelper.Db.Updateable<ChannelStock>().SetColumns(item => new ChannelStock()
 | 
					                                    SqlSugarHelper.Db.Updateable<ChannelStock>().SetColumns(item => new ChannelStock()
 | 
				
			||||||
                                    {
 | 
					                                    {
 | 
				
			||||||
| 
						 | 
					@ -599,7 +610,7 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
                            {
 | 
					                            {
 | 
				
			||||||
                                //根据ChannelLsts中的库位,删除该库位库存为0的记录
 | 
					                                //根据ChannelLsts中的库位,删除该库位库存为0的记录
 | 
				
			||||||
                                SqlSugarHelper.Db.Deleteable<ChannelStock>()
 | 
					                                SqlSugarHelper.Db.Deleteable<ChannelStock>()
 | 
				
			||||||
                                .Where(cs => cs.Quantity <= 0 && cs.DrawerNo == ChannelLsts[i].channelStocks[0].DrawerNo && cs.ColNo == ChannelLsts[i].channelStocks[0].ColNo).ExecuteCommand();
 | 
					                                .Where(cs => cs.Quantity <= 0 && cs.DrugId == ChannelLsts[i].DrugId && cs.MachineId == ChannelLsts[i].MachineId).ExecuteCommand();
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                        return true;
 | 
					                        return true;
 | 
				
			||||||
| 
						 | 
					@ -625,7 +636,7 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
                                if (singleChannels[i].BoardType == 5)
 | 
					                                if (singleChannels[i].BoardType == 5)
 | 
				
			||||||
                                {
 | 
					                                {
 | 
				
			||||||
                                    List<ChannelStock> channelStockEffDate = SqlSugarHelper.Db.Queryable<ChannelStock>()
 | 
					                                    List<ChannelStock> channelStockEffDate = SqlSugarHelper.Db.Queryable<ChannelStock>()
 | 
				
			||||||
                                                                        .Where(cs => cs.MachineId==singleChannels[i].MachineId)
 | 
					                                                                        .Where(cs => cs.MachineId == singleChannels[i].MachineId)
 | 
				
			||||||
                                                                        .Where(cs => cs.DrawerNo == singleChannels[i].DrawerNo)
 | 
					                                                                        .Where(cs => cs.DrawerNo == singleChannels[i].DrawerNo)
 | 
				
			||||||
                                                                        .Where(cs => cs.ColNo == singleChannels[i].ColNo)
 | 
					                                                                        .Where(cs => cs.ColNo == singleChannels[i].ColNo)
 | 
				
			||||||
                                                                        .OrderBy(cs => cs.EffDate).ToList();
 | 
					                                                                        .OrderBy(cs => cs.EffDate).ToList();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue