交接柜加药有该批次则更新;库存列表显示交接柜库存

This commit is contained in:
maqiao 2025-01-06 09:20:31 +08:00
parent 593b55d53f
commit b58309a583
2 changed files with 54 additions and 34 deletions

View File

@ -40,8 +40,10 @@ namespace DM_Weight.ViewModels
get => _jiaojie_channelStocks;
set => SetProperty(ref _jiaojie_channelStocks, value);
}
//交接柜中无该批次添加实体
public List<ChannelStock> AddJJStock = new List<ChannelStock>();
//交接柜中有该批次更新实体
public List<ChannelStock> UpdateJJStock = new List<ChannelStock>();
/// <summary>
/// 交接柜的库位信息
/// </summary>
@ -417,23 +419,23 @@ namespace DM_Weight.ViewModels
.Where(cs => cs.DrawerNo == jiaoStock.DrawerNo && cs.DrugId == jiaoStock.DrugId && cs.ManuNo == csStock.ManuNo && cs.MachineId == "DM5").First();
if (jjStockManuNo != null)
{
int addNum = csStock.TakeQuantity;
//有该批次
if (jiaoStock.NeedNum > csStock.TakeQuantity)
{
//不够取
ChannelStock newStock = new ChannelStock();
newStock.Chnguid = jiaoStock.Chnguid;
newStock.BaseQuantity = jiaoStock.BaseQuantity;
//newStock.Chnguid = jiaoStock.Chnguid;
//newStock.BaseQuantity = jiaoStock.BaseQuantity;
newStock.ManuNo = jiaoStock.ManuNo;
newStock.DrawerNo = jiaoStock.DrawerNo;
newStock.DrugId = jiaoStock.DrugId;
newStock.AddToJJNum = csStock.TakeQuantity;
newStock.Id = Guid.NewGuid().ToString();
newStock.MachineId = jiaoStock.MachineId;
newStock.Id = Guid.NewGuid().ToString();
newStock.NeedNum = 0;
AddJJStock.Add(newStock);
newStock.AddToJJNum = addNum;
newStock.Id = jjStockManuNo.Id;
//newStock.MachineId = jiaoStock.MachineId;
//newStock.NeedNum = 0;
//newStock.Quantity = jiaoStock.Quantity + csStock.TakeQuantity;
UpdateJJStock.Add(newStock);
csStock.TakeQuantity = 0;
jiaoStock.NeedNum = jiaoStock.NeedNum - csStock.TakeQuantity;
}
@ -447,17 +449,17 @@ namespace DM_Weight.ViewModels
//csStockList[j].Quantity = csStock.Quantity - jiaoStock.NeedNum;
ChannelStock newStock = new ChannelStock();
newStock.Chnguid = jiaoStock.Chnguid;
newStock.BaseQuantity = jiaoStock.BaseQuantity;
//newStock.Chnguid = jiaoStock.Chnguid;
//newStock.BaseQuantity = jiaoStock.BaseQuantity;
newStock.ManuNo = jiaoStock.ManuNo;
newStock.DrawerNo = jiaoStock.DrawerNo;
newStock.DrugId = jiaoStock.DrugId;
newStock.AddToJJNum = jiaoStock.NeedNum;
newStock.Id = Guid.NewGuid().ToString();
newStock.MachineId = jiaoStock.MachineId;
newStock.Id=Guid.NewGuid().ToString();
newStock.NeedNum = 0;
AddJJStock.Add(newStock);
newStock.AddToJJNum = addNum;
newStock.Id = jjStockManuNo.Id;
//newStock.MachineId = jiaoStock.MachineId;
//newStock.NeedNum = 0;
//newStock.Quantity = jiaoStock.Quantity + csStock.TakeQuantity;
UpdateJJStock.Add(newStock);
csStock.TakeQuantity = csStock.TakeQuantity - jiaoStock.NeedNum;
jiaoStock.NeedNum = 0;
break;
@ -477,6 +479,7 @@ namespace DM_Weight.ViewModels
newStock.AddToJJNum = csStock.TakeQuantity;
newStock.Id = Guid.NewGuid().ToString();
newStock.MachineId = jiaoStock.MachineId;
newStock.DrawerType = 1;
newStock.NeedNum = 0;
AddJJStock.Add(newStock);
jiaoStock.NeedNum = jiaoStock.NeedNum - csStock.TakeQuantity;
@ -495,6 +498,7 @@ namespace DM_Weight.ViewModels
newStock.NeedNum = 0;
newStock.Id = Guid.NewGuid().ToString();
newStock.MachineId = jiaoStock.MachineId;
newStock.DrawerType = 1;
AddJJStock.Add(newStock);
csStock.TakeQuantity = csStock.TakeQuantity - newStock.AddToJJNum;
break;
@ -507,6 +511,10 @@ namespace DM_Weight.ViewModels
.Where(cs => cs.DrawerNo == jiaoStock.DrawerNo)
.ExecuteCommand();
}
//保存交接柜数据
if (AddJJStock != null && AddJJStock.Count > 0)
{
AddJJStock = AddJJStock.GroupBy(jj => new { jj.DrawerNo, jj.DrugId, jj.ManuNo })
.Select(jj =>
{
@ -514,10 +522,22 @@ namespace DM_Weight.ViewModels
ret.AddToJJNum = jj.Sum(itx => itx.AddToJJNum);
return ret;
}).ToList();
//保存交接柜数据
SqlSugarHelper.Db.Insertable(AddJJStock).ExecuteCommand();
}
if (UpdateJJStock != null && UpdateJJStock.Count > 0)
{
UpdateJJStock = UpdateJJStock.GroupBy(jj => new { jj.DrawerNo, jj.DrugId, jj.ManuNo })
.Select(jj =>
{
var ret = jj.First();
ret.AddToJJNum = jj.Sum(itx => itx.AddToJJNum);
return ret;
}).ToList();
for (int i = 0; i < UpdateJJStock.Count; i++)
{
SqlSugarHelper.Db.Updateable<ChannelStock>().SetColumns(cs => new ChannelStock() { AddToJJNum = UpdateJJStock[i].AddToJJNum }).Where(cs => cs.Id == UpdateJJStock[i].Id).ExecuteCommand();
}
}
//保存注射剂报表信息
for (int j = 0; j < Jiaojie_ChannelStocks.Count; j++)

View File

@ -198,9 +198,9 @@ namespace DM_Weight.ViewModels
ChannelStocks.Clear();
List<DrugInfo> q = SqlSugarHelper.Db.Queryable<DrugInfo>()
.Includes<ChannelStock>(di => di.channelStocks.Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1") && cs.DrugId != null).OrderBy(cs => cs.DrawerNo).OrderBy(cs => cs.ColNo).ToList())
.Includes<ChannelStock>(di => di.channelStocks.Where(cs => cs.DrawerType == 1).Where(cs => (cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1") || cs.MachineId == "DM5") && cs.Quantity > 0 && cs.DrugId != null).OrderBy(cs => cs.DrawerNo).OrderBy(cs => cs.ColNo).ToList())
.WhereIF(!String.IsNullOrEmpty(SearchValue), di => di.DrugName == SearchValue)
.Where(di => di.channelStocks.Any(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1") && cs.DrugId != null))
.Where(di => di.channelStocks.Any(cs =>(cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM3")||cs.MachineId=="DM5" )&&cs.Quantity>0&& cs.DrugId != null))
.OrderBy(cs => cs.DrugId)
.ToList();
Drugs = q;