交接柜加药添加对应批次信息

This commit is contained in:
maqiao 2024-12-07 11:27:02 +08:00
parent b4a764ed59
commit 5f2c4aee93
2 changed files with 133 additions and 35 deletions

View File

@ -205,6 +205,11 @@ namespace DM_Weight.Models
[SugarColumn(IsIgnore = true)] [SugarColumn(IsIgnore = true)]
public string OrderNos { get; set; } public string OrderNos { get; set; }
//交接柜加药数量
[SugarColumn(ColumnName = "col_no1")]
public int AddToJJNum { get; set; }
//需要加药数量
[SugarColumn(ColumnName = "col_no2")]
public int NeedNum { get; set; }
} }
} }

View File

@ -40,6 +40,8 @@ namespace DM_Weight.ViewModels
get => _jiaojie_channelStocks; get => _jiaojie_channelStocks;
set => SetProperty(ref _jiaojie_channelStocks, value); set => SetProperty(ref _jiaojie_channelStocks, value);
} }
public List<ChannelStock> AddJJStock = new List<ChannelStock>();
/// <summary> /// <summary>
/// 交接柜的库位信息 /// 交接柜的库位信息
/// </summary> /// </summary>
@ -351,47 +353,35 @@ namespace DM_Weight.ViewModels
Id = it.Id, Id = it.Id,
}).UpdateColumns(it => new { it.Quantity, it.ManuNo, it.EffDate }).ExecuteCommand(); }).UpdateColumns(it => new { it.Quantity, it.ManuNo, it.EffDate }).ExecuteCommand();
//更新 交接柜 批次信息 ////更新 交接柜 批次信息
List<ChannelStock> jiaojieStock = Jiaojie_ChannelStocks.Where(cs => cs.DrugId == it.DrugId).ToList(); //List<ChannelStock> jiaojieStock = Jiaojie_ChannelStocks.Where(cs => cs.DrugId == it.DrugId).ToList();
//交接柜中有该药品及批次的数据则更新;没有则插入一条 ////交接柜中有该药品及批次的数据则更新;没有则插入一条
if (jiaojieStock != null) //if (jiaojieStock != null)
{
for (int j = 0; j < jiaojieStock.Count; j++)
{
List<ChannelStock> searchStock = SqlSugarHelper.Db.Queryable<ChannelStock>()
.Where(cs => cs.DrawerNo == jiaojieStock[j].DrawerNo
&& cs.DrugId == jiaojieStock[j].DrugId
&& cs.DrugId == it.DrugId
&& cs.ManuNo == it.ManuNo
&&cs.MachineId==(ConfigurationManager.AppSettings["jj_machineId"] ?? "DM5"))
.ToList();
//List<ChannelStock> stockManuList = jiaojieStock.Where(cs => cs.ManuNo == it.ManuNo).ToList();
if (searchStock == null || searchStock.Count <= 0)
{
SqlSugarHelper.Db.Deleteable<ChannelStock>().Where(cs=>cs.DrawerNo== jiaojieStock[j].DrawerNo&&cs.DrugId== jiaojieStock[j].DrugId&&cs.Quantity<=0).ExecuteCommand();
jiaojieStock[j].ManuNo = it.ManuNo;
jiaojieStock[j].Id = Guid.NewGuid().ToString();
SqlSugarHelper.Db.Insertable(jiaojieStock).ExecuteCommand();
}
}
}
//if (jiaojieStock != null && jiaojieStock.Count > 0)
//{ //{
// for (int j = 0; j < jiaojieStock.Count; j++) // for (int j = 0; j < jiaojieStock.Count; j++)
// { // {
// // 更新数据 交接柜 库存信息 // if(it.Quantity> jiaojieStock[j].Quantity)
// ChannelStock jiaojie_it = jiaojieStock[j];
// SqlSugarHelper.Db.Updateable(new ChannelStock()
// { // {
// //Quantity = jiaojie_it.BaseQuantity, // //取的数量够不够被
// //ManuNo = it.ManuNo, // }
// //EffDate = it.EffDate, // List<ChannelStock> searchStock = SqlSugarHelper.Db.Queryable<ChannelStock>()
// Id = jiaojie_it.Id, // .Where(cs => cs.DrawerNo == jiaojieStock[j].DrawerNo
// }).UpdateColumns(jiaojie_it => new { jiaojie_it.ManuNo }).ExecuteCommand(); // && cs.DrugId == jiaojieStock[j].DrugId
// && cs.DrugId == it.DrugId
// && cs.ManuNo == it.ManuNo
// &&cs.MachineId==(ConfigurationManager.AppSettings["jj_machineId"] ?? "DM5"))
// .ToList();
// //List<ChannelStock> stockManuList = jiaojieStock.Where(cs => cs.ManuNo == it.ManuNo).ToList();
// if (searchStock == null || searchStock.Count <= 0)
// {
// SqlSugarHelper.Db.Deleteable<ChannelStock>().Where(cs=>cs.DrawerNo== jiaojieStock[j].DrawerNo&&cs.DrugId== jiaojieStock[j].DrugId&&cs.Quantity<=0).ExecuteCommand();
// jiaojieStock[j].ManuNo = it.ManuNo;
// jiaojieStock[j].Id = Guid.NewGuid().ToString();
// SqlSugarHelper.Db.Insertable(jiaojieStock[j]).ExecuteCommand();
// }
// } // }
//} //}
// 保存数据 出库记录 // 保存数据 出库记录
SqlSugarHelper.Db.Insertable(new MachineRecord() SqlSugarHelper.Db.Insertable(new MachineRecord()
{ {
@ -411,6 +401,109 @@ namespace DM_Weight.ViewModels
}).ExecuteCommand(); }).ExecuteCommand();
} }
//更新 交接柜 批次信息
for (int i = 0; i < Jiaojie_ChannelStocks.Count; i++)
{
ChannelStock jiaoStock = Jiaojie_ChannelStocks[i];
SqlSugarHelper.Db.Deleteable<ChannelStock>().Where(cs => cs.DrawerNo == jiaoStock.DrawerNo && cs.DrugId == jiaoStock.DrugId && cs.MachineId == jiaoStock.MachineId && cs.Quantity <= 0 && cs.AddToJJNum <= 0).ExecuteCommand();
List<ChannelStock> csStockList = record.Where(cs => cs.DrugId == jiaoStock.DrugId && cs.TakeQuantity > 0).ToList();
if (csStockList != null && csStockList.Count > 0)
{
for (int j = 0; j < csStockList.Count; j++)
{
ChannelStock csStock = csStockList[j];
ChannelStock jjStockManuNo = SqlSugarHelper.Db.Queryable<ChannelStock>()
.Where(cs => cs.DrawerNo == jiaoStock.DrawerNo && cs.DrugId == jiaoStock.DrugId && cs.ManuNo == csStock.ManuNo && cs.MachineId == "DM5").First();
if (jjStockManuNo != null)
{
//有该批次
if (jiaoStock.NeedNum > csStock.TakeQuantity)
{
//不够取
ChannelStock newStock = new ChannelStock();
newStock.Chnguid = jiaoStock.Chnguid;
newStock.BaseQuantity = jiaoStock.BaseQuantity;
newStock.ManuNo = jiaoStock.ManuNo;
newStock.DrawerNo = jiaoStock.DrawerNo;
newStock.DrugId = jiaoStock.DrugId;
newStock.AddToJJNum = csStock.TakeQuantity;
newStock.Id = Guid.NewGuid().ToString();
newStock.MachineId = jiaoStock.MachineId;
newStock.Id = Guid.NewGuid().ToString();
AddJJStock.Add(newStock);
csStock.TakeQuantity = 0;
jiaoStock.NeedNum = jiaoStock.NeedNum - csStock.TakeQuantity;
}
else
{
//够取
jiaoStock.AddQuantity = jiaoStock.Quantity+ jiaoStock.NeedNum;
jiaoStock.NeedNum = 0;
AddJJStock.Add(jiaoStock);
csStock.Quantity = csStock.Quantity - jiaoStock.NeedNum;
//csStockList[j].Quantity = csStock.Quantity - jiaoStock.NeedNum;
ChannelStock newStock = new ChannelStock();
newStock.Chnguid = jiaoStock.Chnguid;
newStock.BaseQuantity = jiaoStock.BaseQuantity;
newStock.ManuNo = jiaoStock.ManuNo;
newStock.DrawerNo = jiaoStock.DrawerNo;
newStock.DrugId = jiaoStock.DrugId;
newStock.AddToJJNum = csStock.TakeQuantity;
newStock.Id = Guid.NewGuid().ToString();
newStock.MachineId = jiaoStock.MachineId;
newStock.Id=Guid.NewGuid().ToString();
AddJJStock.Add(newStock);
csStock.TakeQuantity = jiaoStock.NeedNum - csStock.TakeQuantity;
jiaoStock.NeedNum = 0;
break;
}
}
else //没有该批次
{
if (jiaoStock.NeedNum > csStock.TakeQuantity)
{
//不够取
ChannelStock newStock = new ChannelStock();
newStock.Chnguid = jiaoStock.Chnguid;
newStock.BaseQuantity = csStock.BaseQuantity;
newStock.DrawerNo = jiaoStock.DrawerNo;
newStock.DrugId = jiaoStock.DrugId;
newStock.ManuNo = csStock.ManuNo;
newStock.AddToJJNum = csStock.Quantity;
newStock.Id = Guid.NewGuid().ToString();
newStock.MachineId = jiaoStock.MachineId;
AddJJStock.Add(newStock);
jiaoStock.NeedNum = jiaoStock.NeedNum - csStock.Quantity;
csStockList[j].TakeQuantity = 0;
}
else
{
//够取
ChannelStock newStock = new ChannelStock();
newStock.Chnguid = jiaoStock.Chnguid;
newStock.BaseQuantity = csStock.BaseQuantity;
newStock.DrawerNo = jiaoStock.DrawerNo;
newStock.DrugId = jiaoStock.DrugId;
newStock.ManuNo = csStock.ManuNo;
newStock.AddToJJNum = jiaoStock.NeedNum;
newStock.NeedNum = 0;
newStock.Id = Guid.NewGuid().ToString();
newStock.MachineId=jiaoStock.MachineId;
AddJJStock.Add(newStock);
csStock.TakeQuantity = csStock.Quantity - newStock.AddToJJNum;
break;
}
}
}
}
}
//保存交接柜数据
SqlSugarHelper.Db.Insertable(AddJJStock).ExecuteCommand();
//保存注射剂报表信息 //保存注射剂报表信息
for (int j = 0; j < Jiaojie_ChannelStocks.Count; j++) for (int j = 0; j < Jiaojie_ChannelStocks.Count; j++)
{ {