修改凌晨生成的总结存数据时,如果没有数据则写入一条。(凌晨生成数据时没有绑定库位的则不会生成,当天绑定库位且做库位操作时需要手动写入一条日结存、总结存数据)

This commit is contained in:
maqiao 2024-07-06 10:25:01 +08:00
parent 3a279d73a0
commit 8fe17f7517
12 changed files with 607 additions and 137 deletions

View File

@ -330,7 +330,7 @@ namespace DM_Weight.ViewModels
{
if (SelectDrugPleaseClaim.GetQuantity == 1)
{
if(SelectDrugPleaseClaim.DrugManuNo is null)
if (SelectDrugPleaseClaim.DrugManuNo is null)
{
AlertMsg alertMsg = new AlertMsg
{
@ -359,7 +359,7 @@ namespace DM_Weight.ViewModels
.OrderBy(cs => cs.DrawerNo)
.OrderBy(cs => cs.ColNo)
.First();
if(q is null)
if (q is null)
{
AlertMsg alertMsg = new AlertMsg
{
@ -655,7 +655,7 @@ namespace DM_Weight.ViewModels
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
CreateTime = DateTime.Now,
//CreateTime = DateTime.Now,
InvoiceNo = SelectDrugPleaseClaim.PleaseNo
}).ExecuteCommand();
@ -667,7 +667,33 @@ namespace DM_Weight.ViewModels
.Where(ab => ab.ManuNo == it.ManuNo)
.Where(ab => ab.CreateDate == DateTime.Now.ToString("yyyy-MM-dd")).First();
accountBookG2Day.ManuStock = accountBookG2Day.ManuStock + it.AddQuantity;
if (accountBookG2Day != null)
{
accountBookG2Day.ManuStock = accountBookG2Day.ManuStock + it.AddQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Day).ExecuteCommand();
}
else
{
//生成日结存时可能没有该库位的绑定信息,需要写入日结存
int iDayResult = SqlSugarHelper.Db.Insertable(new AccountBookG2() {
DrugId = Convert.ToInt32(it.DrugId),
Type=3,
ManuNo=it.ManuNo,
EffDate=it.EffDate,
YQuantity=0,
ManuStock= it.AddQuantity,
TotalStock= it.AddQuantity,
UserId1 = HomeWindowViewModel.Operator?.Id,
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
InvoiceNo = "日结存"
}).ExecuteCommand();
if (iDayResult <= 0)
{
logger.Info($"未写入日结存数据{it.DrugId}-{it.ManuNo}-{it.EffDate}-{it.AddQuantity}");
}
}
//修改凌晨生成的日结存与总结存数据
AccountBookG2 accountBookG2Total = SqlSugarHelper.Db.Queryable<AccountBookG2>()
@ -675,12 +701,33 @@ namespace DM_Weight.ViewModels
.Where(ab => ab.Type == 4)
.Where(ab => ab.DrugId == Convert.ToInt32(it.DrugId))
.Where(ab => ab.CreateDate == DateTime.Now.ToString("yyyy-MM-dd")).First();
if (accountBookG2Total != null)
{
accountBookG2Total.TotalStock = accountBookG2Total.TotalStock + it.AddQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Total).ExecuteCommand();
}
else
{
//生成总结存时可能没有该库位的绑定信息,需要写入总结存
int iTotalResult = SqlSugarHelper.Db.Insertable(new AccountBookG2()
{
DrugId = Convert.ToInt32(it.DrugId),
Type = 4,
YQuantity = 0,
ManuStock = it.AddQuantity,
TotalStock = it.AddQuantity,
UserId1 = HomeWindowViewModel.Operator?.Id,
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
InvoiceNo = "总结存"
}).ExecuteCommand();
if (iTotalResult <= 0)
{
logger.Info($"未写入总结存数据{it.DrugId}-{it.AddQuantity}");
}
}
accountBookG2Total.TotalStock = accountBookG2Total.TotalStock + it.AddQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Day).ExecuteCommand();
SqlSugarHelper.Db.Updateable(accountBookG2Total).ExecuteCommand();
}
return true;

View File

@ -150,6 +150,7 @@ namespace DM_Weight.ViewModels
.WhereIF(!String.IsNullOrEmpty(SearchValue) && SelectedItem.Code.Equals("PyCode"), (cd) => cd.drugInfo.PyCode.Contains(SearchValue))
.WhereIF(!String.IsNullOrEmpty(SearchValue) && SelectedItem.Code.Equals("DrugBarcode"), (cd) => cd.drugInfo.DrugBarcode.Contains(SearchValue))
.WhereIF((_DrugPleaseState!=null&& _DrugPleaseState.StateValue>=0),(cd,dp)=>dp.State==_DrugPleaseState.StateValue)
.GroupBy(cd=>cd.Applyid)
.OrderByDescending(cd => cd.Createdate)
.OrderByDescending(cd => cd.DrugId)
.ToList();

View File

@ -195,6 +195,15 @@ namespace DM_Weight.ViewModels
_eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
}
}
else
{
AlertMsg alertMsg = new AlertMsg
{
Message = "请选择要销毁的数据",
Type = MsgType.ERROR,
};
_eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
}
});
}

View File

@ -198,7 +198,7 @@ namespace DM_Weight.ViewModels
ManuNo = it.ManuNo,
EffDate = !String.IsNullOrEmpty(it.EffDate) ? DateTime.ParseExact(it.EffDate, "yyyy-MM-dd", System.Globalization.CultureInfo.CurrentCulture) : null,
Operator = HomeWindowViewModel.Operator?.Id,
Reviewer=HomeWindowViewModel.Reviewer?.Id,
Reviewer = HomeWindowViewModel.Reviewer?.Id,
OperationTime = DateTime.Now,
Quantity = it.AddQuantity,
Type = 1,
@ -231,21 +231,66 @@ namespace DM_Weight.ViewModels
.Where(ab => ab.DrugId == Convert.ToInt32(it.DrugId))
.Where(ab => ab.ManuNo == it.ManuNo)
.Where(ab => ab.CreateDate == DateTime.Now.ToString("yyyy-MM-dd")).First();
accountBookG2Day.ManuStock = accountBookG2Day.ManuStock + it.AddQuantity;
if (accountBookG2Day != null)
{
accountBookG2Day.ManuStock = accountBookG2Day.ManuStock + it.AddQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Day).ExecuteCommand();
}
else
{
//生成日结存时可能没有该库位的绑定信息,需要写入日结存
int iDayResult = SqlSugarHelper.Db.Insertable(new AccountBookG2()
{
DrugId = Convert.ToInt32(it.DrugId),
Type = 3,
ManuNo = it.ManuNo,
EffDate = it.EffDate,
YQuantity = 0,
ManuStock = it.AddQuantity,
TotalStock = it.AddQuantity,
UserId1 = HomeWindowViewModel.Operator?.Id,
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
InvoiceNo = "日结存"
}).ExecuteCommand();
if (iDayResult <= 0)
{
logger.Info($"未写入日结存数据{it.DrugId}-{it.ManuNo}-{it.EffDate}-{it.AddQuantity}");
}
}
//修改凌晨生成的总结存数据
AccountBookG2 accountBookG2Total = SqlSugarHelper.Db.Queryable<AccountBookG2>()
.Where(ab => ab.MachineId.Equals(it.MachineId))
.Where(ab => ab.Type == 4)
.Where(ab => ab.DrugId == Convert.ToInt32(it.DrugId))
.Where(ab => ab.CreateDate == DateTime.Now.ToString("yyyy-MM-dd")).First();
accountBookG2Total.TotalStock = accountBookG2Total.TotalStock + it.AddQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Day).ExecuteCommand();
SqlSugarHelper.Db.Updateable(accountBookG2Total).ExecuteCommand();
if (accountBookG2Total != null)
{
accountBookG2Total.TotalStock = accountBookG2Total.TotalStock + it.AddQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Total).ExecuteCommand();
}
else
{
//生成总结存时可能没有该库位的绑定信息,需要写入总结存
int iTotalResult = SqlSugarHelper.Db.Insertable(new AccountBookG2()
{
DrugId = Convert.ToInt32(it.DrugId),
Type = 4,
YQuantity = 0,
ManuStock = it.AddQuantity,
TotalStock = it.AddQuantity,
UserId1 = HomeWindowViewModel.Operator?.Id,
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
InvoiceNo = "总结存"
}).ExecuteCommand();
if (iTotalResult <= 0)
{
logger.Info($"未写入总结存数据{it.DrugId}-{it.AddQuantity}");
}
}
}
return true;
});
@ -312,10 +357,10 @@ namespace DM_Weight.ViewModels
.Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrawerNo).Select(cs => SqlFunc.AggregateCount(cs.DrawerNo)).Count();
}
else
{
{
count = SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerType != 3)
.Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrawerNo).Select(cs => SqlFunc.AggregateCount(cs.DrawerNo)).Count();
}
Is8Drawer = count < 9;
Is16Drawer = count >= 16;

View File

@ -233,22 +233,66 @@ namespace DM_Weight.ViewModels
.Where(ab => ab.DrugId == Convert.ToInt32(it.DrugId))
.Where(ab => ab.ManuNo == it.ManuNo)
.Where(ab => ab.CreateDate == DateTime.Now.ToString("yyyy-MM-dd")).First();
accountBookG2Day.ManuStock = accountBookG2Day.ManuStock - it.TakeQuantity;
if (accountBookG2Day != null)
{
accountBookG2Day.ManuStock = accountBookG2Day.ManuStock - it.TakeQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Day).ExecuteCommand();
}
else
{
//生成日结存时可能没有该库位的绑定信息,需要写入日结存
int iDayResult = SqlSugarHelper.Db.Insertable(new AccountBookG2()
{
DrugId = Convert.ToInt32(it.DrugId),
Type = 3,
ManuNo = it.ManuNo,
EffDate = it.EffDate,
YQuantity = 0,
ManuStock = it.TakeQuantity,
TotalStock = it.TakeQuantity,
UserId1 = HomeWindowViewModel.Operator?.Id,
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
InvoiceNo = "日结存"
}).ExecuteCommand();
if (iDayResult <= 0)
{
logger.Info($"未写入日结存数据{it.DrugId}-{it.ManuNo}-{it.EffDate}-{it.AddQuantity}");
}
}
//修改凌晨生成的总结存数据
AccountBookG2 accountBookG2Total = SqlSugarHelper.Db.Queryable<AccountBookG2>()
.Where(ab => ab.MachineId.Equals(it.MachineId))
.Where(ab => ab.Type == 4)
.Where(ab => ab.DrugId == Convert.ToInt32(it.DrugId))
.Where(ab => ab.CreateDate == DateTime.Now.ToString("yyyy-MM-dd")).First();
accountBookG2Total.TotalStock = accountBookG2Total.TotalStock - it.TakeQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Day).ExecuteCommand();
SqlSugarHelper.Db.Updateable(accountBookG2Total).ExecuteCommand();
if (accountBookG2Total != null)
{
accountBookG2Total.TotalStock = accountBookG2Total.TotalStock - it.TakeQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Total).ExecuteCommand();
}
else
{
//生成总结存时可能没有该库位的绑定信息,需要写入总结存
int iTotalResult = SqlSugarHelper.Db.Insertable(new AccountBookG2()
{
DrugId = Convert.ToInt32(it.DrugId),
Type = 4,
YQuantity = 0,
ManuStock = it.TakeQuantity,
TotalStock = it.TakeQuantity,
UserId1 = HomeWindowViewModel.Operator?.Id,
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
InvoiceNo = "总结存"
}).ExecuteCommand();
if (iTotalResult <= 0)
{
logger.Info($"未写入总结存数据{it.DrugId}-{it.AddQuantity}");
}
}
logger.Info($"抽屉取药保存->库位【{it.DrawerNo}-{it.ColNo}】取出药品【{it.DrugInfo.DrugName}】个数【{it.TakeQuantity}】,取药前库存【{it.Quantity}】");

View File

@ -304,20 +304,66 @@ namespace DM_Weight.ViewModels
.Where(ab => ab.DrugId == Convert.ToInt32(it.DrugId))
.Where(ab => ab.ManuNo == it.ManuNo)
.Where(ab => ab.CreateDate == DateTime.Now.ToString("yyyy-MM-dd")).First();
accountBookG2Day.ManuStock = accountBookG2Day.ManuStock + it.AddQuantity;
if (accountBookG2Day != null)
{
accountBookG2Day.ManuStock = accountBookG2Day.ManuStock + it.AddQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Day).ExecuteCommand();
}
else
{
//生成日结存时可能没有该库位的绑定信息,需要写入日结存
int iDayResult = SqlSugarHelper.Db.Insertable(new AccountBookG2()
{
DrugId = Convert.ToInt32(it.DrugId),
Type = 3,
ManuNo = it.ManuNo,
EffDate = it.EffDate,
YQuantity = 0,
ManuStock = it.AddQuantity,
TotalStock = it.AddQuantity,
UserId1 = HomeWindowViewModel.Operator?.Id,
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
InvoiceNo = "日结存"
}).ExecuteCommand();
if (iDayResult <= 0)
{
logger.Info($"未写入日结存数据{it.DrugId}-{it.ManuNo}-{it.EffDate}-{it.AddQuantity}");
}
}
//修改凌晨生成的总结存数据
AccountBookG2 accountBookG2Total = SqlSugarHelper.Db.Queryable<AccountBookG2>()
.Where(ab => ab.MachineId.Equals(it.MachineId))
.Where(ab => ab.Type == 4)
.Where(ab => ab.DrugId == Convert.ToInt32(it.DrugId))
.Where(ab => ab.CreateDate == DateTime.Now.ToString("yyyy-MM-dd")).First();
accountBookG2Total.TotalStock = accountBookG2Total.TotalStock + it.AddQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Day).ExecuteCommand();
SqlSugarHelper.Db.Updateable(accountBookG2Total).ExecuteCommand();
if (accountBookG2Total != null)
{
accountBookG2Total.TotalStock = accountBookG2Total.TotalStock + it.AddQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Total).ExecuteCommand();
}
else
{
//生成总结存时可能没有该库位的绑定信息,需要写入总结存
int iTotalResult = SqlSugarHelper.Db.Insertable(new AccountBookG2()
{
DrugId = Convert.ToInt32(it.DrugId),
Type = 4,
YQuantity = 0,
ManuStock = it.AddQuantity,
TotalStock = it.AddQuantity,
UserId1 = HomeWindowViewModel.Operator?.Id,
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
InvoiceNo = "总结存"
}).ExecuteCommand();
if (iTotalResult <= 0)
{
logger.Info($"未写入总结存数据{it.DrugId}-{it.AddQuantity}");
}
}
}
return true;
});

View File

@ -60,7 +60,7 @@ namespace DM_Weight.ViewModels
// 抽屉打开
case EventType.DRAWEROPEN:
if (Status == 1)
{
if (channelStocks[0].process == 1)
@ -144,7 +144,7 @@ namespace DM_Weight.ViewModels
get => _channelStocks;
set => SetProperty(ref _channelStocks, value);
}
private IEnumerable<IGrouping<int, ChannelStock>> enumerable;
private IEnumerator<IGrouping<int, ChannelStock>> enumerator;
@ -172,7 +172,7 @@ namespace DM_Weight.ViewModels
{
invoices = SqlSugarHelper.Db.Queryable<InOutInvoice>()
.Includes<DrugInfo>(i => i.DrugInfo)
.InnerJoin(SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs =>cs.DrugId),(i,t) => i.DrugId == t.DrugId)
.InnerJoin(SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrugId), (i, t) => i.DrugId == t.DrugId)
.Where(i => i.InvoiceNo == Invoice.InvoiceNo)
.ToList();
@ -219,7 +219,7 @@ namespace DM_Weight.ViewModels
msg.Add($"药品【{invoice.DrugInfo.DrugName}】库存不足,应取【{TakeQ}】库存【{total}】");
}
}
if(msg.Count > 0)
if (msg.Count > 0)
{
RequestClose?.Invoke(new DialogResult(ButtonResult.Cancel));
//MessageBox.Show(string.Join("\n", msg));
@ -256,7 +256,7 @@ namespace DM_Weight.ViewModels
Status = 1;
OpenOneByOne();
}
});
}
@ -367,20 +367,66 @@ namespace DM_Weight.ViewModels
.Where(ab => ab.DrugId == Convert.ToInt32(it.DrugId))
.Where(ab => ab.ManuNo == it.ManuNo)
.Where(ab => ab.CreateDate == DateTime.Now.ToString("yyyy-MM-dd")).First();
accountBookG2Day.ManuStock = accountBookG2Day.ManuStock - it.TakeQuantity;
if (accountBookG2Day != null)
{
accountBookG2Day.ManuStock = accountBookG2Day.ManuStock - it.TakeQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Day).ExecuteCommand();
}
else
{
//生成日结存时可能没有该库位的绑定信息,需要写入日结存
int iDayResult = SqlSugarHelper.Db.Insertable(new AccountBookG2()
{
DrugId = Convert.ToInt32(it.DrugId),
Type = 3,
ManuNo = it.ManuNo,
EffDate = it.EffDate,
YQuantity = 0,
ManuStock = it.TakeQuantity,
TotalStock = it.TakeQuantity,
UserId1 = HomeWindowViewModel.Operator?.Id,
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
InvoiceNo = "日结存"
}).ExecuteCommand();
if (iDayResult <= 0)
{
logger.Info($"未写入日结存数据{it.DrugId}-{it.ManuNo}-{it.EffDate}-{it.AddQuantity}");
}
}
//修改凌晨生成的总结存数据
AccountBookG2 accountBookG2Total = SqlSugarHelper.Db.Queryable<AccountBookG2>()
.Where(ab => ab.MachineId.Equals(it.MachineId))
.Where(ab => ab.Type == 4)
.Where(ab => ab.DrugId == Convert.ToInt32(it.DrugId))
.Where(ab => ab.CreateDate == DateTime.Now.ToString("yyyy-MM-dd")).First();
accountBookG2Total.TotalStock = accountBookG2Total.TotalStock - it.TakeQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Day).ExecuteCommand();
SqlSugarHelper.Db.Updateable(accountBookG2Total).ExecuteCommand();
if (accountBookG2Total != null)
{
accountBookG2Total.TotalStock = accountBookG2Total.TotalStock - it.TakeQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Total).ExecuteCommand();
}
else
{
//生成总结存时可能没有该库位的绑定信息,需要写入总结存
int iTotalResult = SqlSugarHelper.Db.Insertable(new AccountBookG2()
{
DrugId = Convert.ToInt32(it.DrugId),
Type = 4,
YQuantity = 0,
ManuStock = it.TakeQuantity,
TotalStock = it.TakeQuantity,
UserId1 = HomeWindowViewModel.Operator?.Id,
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
InvoiceNo = "总结存"
}).ExecuteCommand();
if (iTotalResult <= 0)
{
logger.Info($"未写入总结存数据{it.DrugId}-{it.AddQuantity}");
}
}
}
return true;

View File

@ -362,20 +362,66 @@ namespace DM_Weight.ViewModels
.Where(ab => ab.DrugId == Convert.ToInt32(it.DrugId))
.Where(ab => ab.ManuNo == it.ManuNo)
.Where(ab => ab.CreateDate == DateTime.Now.ToString("yyyy-MM-dd")).First();
accountBookG2Day.ManuStock = accountBookG2Day.ManuStock + it.ReturnQuantity;
if (accountBookG2Day != null)
{
accountBookG2Day.ManuStock = accountBookG2Day.ManuStock + it.ReturnQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Day).ExecuteCommand();
}
else
{
//生成日结存时可能没有该库位的绑定信息,需要写入日结存
int iDayResult = SqlSugarHelper.Db.Insertable(new AccountBookG2()
{
DrugId = Convert.ToInt32(it.DrugId),
Type = 3,
ManuNo = it.ManuNo,
EffDate = it.EffDate,
YQuantity = 0,
ManuStock = it.ReturnQuantity,
TotalStock = it.ReturnQuantity,
UserId1 = HomeWindowViewModel.Operator?.Id,
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
InvoiceNo = "日结存"
}).ExecuteCommand();
if (iDayResult <= 0)
{
logger.Info($"未写入日结存数据{it.DrugId}-{it.ManuNo}-{it.EffDate}-{it.AddQuantity}");
}
}
//修改凌晨生成的总结存数据
AccountBookG2 accountBookG2Total = SqlSugarHelper.Db.Queryable<AccountBookG2>()
.Where(ab => ab.MachineId.Equals(it.MachineId))
.Where(ab => ab.Type == 4)
.Where(ab => ab.DrugId == Convert.ToInt32(it.DrugId))
.Where(ab => ab.CreateDate == DateTime.Now.ToString("yyyy-MM-dd")).First();
accountBookG2Total.TotalStock = accountBookG2Total.TotalStock + it.ReturnQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Day).ExecuteCommand();
SqlSugarHelper.Db.Updateable(accountBookG2Total).ExecuteCommand();
if (accountBookG2Total != null)
{
accountBookG2Total.TotalStock = accountBookG2Total.TotalStock + it.ReturnQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Total).ExecuteCommand();
}
else
{
//生成总结存时可能没有该库位的绑定信息,需要写入总结存
int iTotalResult = SqlSugarHelper.Db.Insertable(new AccountBookG2()
{
DrugId = Convert.ToInt32(it.DrugId),
Type = 4,
YQuantity = 0,
ManuStock = it.ReturnQuantity,
TotalStock = it.ReturnQuantity,
UserId1 = HomeWindowViewModel.Operator?.Id,
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
InvoiceNo = "总结存"
}).ExecuteCommand();
if (iTotalResult <= 0)
{
logger.Info($"未写入总结存数据{it.DrugId}-{it.AddQuantity}");
}
}
}
return true;
});

View File

@ -66,7 +66,7 @@ namespace DM_Weight.ViewModels
channelStocks.ForEach(it => it.process = 2);
}
}
break;
// 抽屉关闭
case EventType.DRAWERCLOSE:
@ -224,7 +224,7 @@ namespace DM_Weight.ViewModels
DialogParameters dialogParameters = new DialogParameters();
dialogParameters.Add("msgInfo", msg);
DialogServiceExtensions.ShowDialogHost(_dialogService, "ShowMessageDialog", dialogParameters, "RootDialog");
}
else
{
@ -361,44 +361,90 @@ namespace DM_Weight.ViewModels
}).ExecuteCommand();
//保存账册
int iInsertResult= SqlSugarHelper.Db.Insertable(new AccountBookG2() {
int iInsertResult = SqlSugarHelper.Db.Insertable(new AccountBookG2()
{
DrugId = Convert.ToInt32(it.DrugId),
Type= 2,
Department= OrderInfo.DeptName,
OrderNo=OrderInfo.OrderNo,
ManuNo=it.ManuNo,
EffDate=it.EffDate,
OutQuantity=it.TakeQuantity,
Type = 2,
Department = OrderInfo.DeptName,
OrderNo = OrderInfo.OrderNo,
ManuNo = it.ManuNo,
EffDate = it.EffDate,
OutQuantity = it.TakeQuantity,
UserId1 = HomeWindowViewModel.Operator?.Id,
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate=DateTime.Now.ToString("yyyy-MM-dd"),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
CreateTime = DateTime.Now,
InvoiceNo=OrderInfo.OrderNo
InvoiceNo = OrderInfo.OrderNo
}).ExecuteCommand();
//修改凌晨生成的日结存与总结存数据
AccountBookG2 accountBookG2Day= SqlSugarHelper.Db.Queryable<AccountBookG2>()
.Where(ab=>ab.MachineId.Equals(it.MachineId))
.Where(ab=>ab.Type==3)
.Where(ab=>ab.DrugId==Convert.ToInt32(it.DrugId))
.Where(ab=>ab.ManuNo==it.ManuNo)
.Where(ab=>ab.CreateDate==DateTime.Now.ToString("yyyy-MM-dd")).First();
accountBookG2Day.ManuStock = accountBookG2Day.ManuStock - it.TakeQuantity;
AccountBookG2 accountBookG2Day = SqlSugarHelper.Db.Queryable<AccountBookG2>()
.Where(ab => ab.MachineId.Equals(it.MachineId))
.Where(ab => ab.Type == 3)
.Where(ab => ab.DrugId == Convert.ToInt32(it.DrugId))
.Where(ab => ab.ManuNo == it.ManuNo)
.Where(ab => ab.CreateDate == DateTime.Now.ToString("yyyy-MM-dd")).First();
if (accountBookG2Day != null)
{
accountBookG2Day.ManuStock = accountBookG2Day.ManuStock - it.TakeQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Day).ExecuteCommand();
}
else
{
//生成日结存时可能没有该库位的绑定信息,需要写入日结存
int iDayResult = SqlSugarHelper.Db.Insertable(new AccountBookG2()
{
DrugId = Convert.ToInt32(it.DrugId),
Type = 3,
ManuNo = it.ManuNo,
EffDate = it.EffDate,
YQuantity = 0,
ManuStock = it.TakeQuantity,
TotalStock = it.TakeQuantity,
UserId1 = HomeWindowViewModel.Operator?.Id,
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
InvoiceNo = "日结存"
}).ExecuteCommand();
if(iDayResult<=0)
{
logger.Info($"未写入日结存数据{it.DrugId}-{it.ManuNo}-{it.EffDate}-{it.AddQuantity}");
}
}
//修改凌晨生成的日结存与总结存数据
AccountBookG2 accountBookG2Total = SqlSugarHelper.Db.Queryable<AccountBookG2>()
.Where(ab => ab.MachineId.Equals(it.MachineId))
.Where(ab => ab.Type == 4)
.Where(ab=>ab.DrugId==Convert.ToInt32(it.DrugId))
.Where(ab => ab.DrugId == Convert.ToInt32(it.DrugId))
.Where(ab => ab.CreateDate == DateTime.Now.ToString("yyyy-MM-dd")).First();
accountBookG2Total.TotalStock= accountBookG2Total.TotalStock -it.TakeQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Day).ExecuteCommand();
SqlSugarHelper.Db.Updateable(accountBookG2Total).ExecuteCommand();
if (accountBookG2Total != null)
{
accountBookG2Total.TotalStock = accountBookG2Total.TotalStock - it.TakeQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Total).ExecuteCommand();
}
else
{
//生成总结存时可能没有该库位的绑定信息,需要写入总结存
int iTotalResult = SqlSugarHelper.Db.Insertable(new AccountBookG2()
{
DrugId = Convert.ToInt32(it.DrugId),
Type = 4,
YQuantity = 0,
ManuStock = it.TakeQuantity,
TotalStock = it.TakeQuantity,
UserId1 = HomeWindowViewModel.Operator?.Id,
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
InvoiceNo = "总结存"
}).ExecuteCommand();
if (iTotalResult <= 0)
{
logger.Info($"未写入总结存数据{it.DrugId}-{it.AddQuantity}");
}
}
}
return true;
@ -422,7 +468,7 @@ namespace DM_Weight.ViewModels
};
_eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
}
if(!f.IsSuccess)
if (!f.IsSuccess)
{
AlertMsg alertMsg = new AlertMsg
{

View File

@ -88,7 +88,7 @@ namespace DM_Weight.ViewModels
{
logger.Error(e);
}
break;
// 打开失败
case EventType.OPENERROR:
@ -176,12 +176,12 @@ namespace DM_Weight.ViewModels
List<ChannelStock> queryData = SqlSugarHelper.Db.Queryable<ChannelStock>()
.Where(cs => cs.DrugId == MachineRecord.DrugId)
.Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1"))
.WhereIF(MachineRecord.ManuNo != null,cs => cs.ManuNo == MachineRecord.ManuNo)
.WhereIF(MachineRecord.ManuNo != null, cs => cs.ManuNo == MachineRecord.ManuNo)
.OrderBy(cs => cs.DrawerNo)
.OrderBy(cs => cs.ColNo)
.ToList();
ChannelStocks = queryData;
if(ChannelStocks.Count > 0)
if (ChannelStocks.Count > 0)
{
ChannelStock = ChannelStocks[0];
}
@ -202,7 +202,8 @@ namespace DM_Weight.ViewModels
_portUtil.ColNos = new int[] { ChannelStock.ColNo };
_portUtil.DrawerNo = ChannelStock.DrawerNo;
_portUtil.Start();
} else
}
else
{
AlertMsg alertMsg = new AlertMsg
{
@ -228,7 +229,7 @@ namespace DM_Weight.ViewModels
string InvoiceId = "RETURN_" + CurrentTimeMillis();
var f = SqlSugarHelper.Db.UseTran(() =>
{
// 更新数据 库存信息
SqlSugarHelper.Db.Updateable(new ChannelStock()
{
@ -252,21 +253,21 @@ namespace DM_Weight.ViewModels
// 保存数据 还药记录
SqlSugarHelper.Db.Insertable(new MachineRecord()
{
MachineId = ChannelStock.MachineId,
DrawerNo = ChannelStock.DrawerNo,
ColNo = ChannelStock.ColNo,
DrugId = ChannelStock.DrugId,
ManuNo = ChannelStock.ManuNo,
EffDate = !String.IsNullOrEmpty(ChannelStock.EffDate) ? DateTime.ParseExact(ChannelStock.EffDate, "yyyy-MM-dd", System.Globalization.CultureInfo.CurrentCulture) : null,
Operator = HomeWindowViewModel.Operator?.Id,
OperationTime = DateTime.Now,
Quantity = ReturnQuantity,
Type = 31,
InvoiceId = InvoiceId,
GetId = MachineRecord.Id
//,StockQuantity = nowChannels.Sum(it => it.Quantity)
}).ExecuteCommand();
{
MachineId = ChannelStock.MachineId,
DrawerNo = ChannelStock.DrawerNo,
ColNo = ChannelStock.ColNo,
DrugId = ChannelStock.DrugId,
ManuNo = ChannelStock.ManuNo,
EffDate = !String.IsNullOrEmpty(ChannelStock.EffDate) ? DateTime.ParseExact(ChannelStock.EffDate, "yyyy-MM-dd", System.Globalization.CultureInfo.CurrentCulture) : null,
Operator = HomeWindowViewModel.Operator?.Id,
OperationTime = DateTime.Now,
Quantity = ReturnQuantity,
Type = 31,
InvoiceId = InvoiceId,
GetId = MachineRecord.Id
//,StockQuantity = nowChannels.Sum(it => it.Quantity)
}).ExecuteCommand();
//保存账册
SqlSugarHelper.Db.Insertable(new AccountBookG2()
@ -292,21 +293,66 @@ namespace DM_Weight.ViewModels
.Where(ab => ab.DrugId == Convert.ToInt32(ChannelStock.DrugId))
.Where(ab => ab.ManuNo == ChannelStock.ManuNo)
.Where(ab => ab.CreateDate == DateTime.Now.ToString("yyyy-MM-dd")).First();
accountBookG2Day.ManuStock = accountBookG2Day.ManuStock + ChannelStock.ReturnQuantity;
if (accountBookG2Day != null)
{
accountBookG2Day.ManuStock = accountBookG2Day.ManuStock + ChannelStock.ReturnQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Day).ExecuteCommand();
}
else
{
//生成日结存时可能没有该库位的绑定信息,需要写入日结存
int iDayResult = SqlSugarHelper.Db.Insertable(new AccountBookG2()
{
DrugId = Convert.ToInt32(ChannelStock.DrugId),
Type = 3,
ManuNo = ChannelStock.ManuNo,
EffDate = ChannelStock.EffDate,
YQuantity = 0,
ManuStock = ChannelStock.ReturnQuantity,
TotalStock = ChannelStock.ReturnQuantity,
UserId1 = HomeWindowViewModel.Operator?.Id,
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
InvoiceNo = "日结存"
}).ExecuteCommand();
if (iDayResult <= 0)
{
logger.Info($"未写入日结存数据{ChannelStock.DrugId}-{ChannelStock.ManuNo}-{ChannelStock.EffDate}-{ChannelStock.AddQuantity}");
}
}
//修改凌晨生成的总结存数据
AccountBookG2 accountBookG2Total = SqlSugarHelper.Db.Queryable<AccountBookG2>()
.Where(ab => ab.MachineId.Equals(ChannelStock.MachineId))
.Where(ab => ab.Type == 4)
.Where(ab => ab.DrugId == Convert.ToInt32(ChannelStock.DrugId))
.Where(ab => ab.CreateDate == DateTime.Now.ToString("yyyy-MM-dd")).First();
accountBookG2Total.TotalStock = accountBookG2Total.TotalStock + ChannelStock.ReturnQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Day).ExecuteCommand();
SqlSugarHelper.Db.Updateable(accountBookG2Total).ExecuteCommand();
if (accountBookG2Total != null)
{
accountBookG2Total.TotalStock = accountBookG2Total.TotalStock + ChannelStock.ReturnQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Total).ExecuteCommand();
}
else
{
//生成总结存时可能没有该库位的绑定信息,需要写入总结存
int iTotalResult = SqlSugarHelper.Db.Insertable(new AccountBookG2()
{
DrugId = Convert.ToInt32(ChannelStock.DrugId),
Type = 4,
YQuantity = 0,
ManuStock = ChannelStock.ReturnQuantity,
TotalStock = ChannelStock.ReturnQuantity,
UserId1 = HomeWindowViewModel.Operator?.Id,
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
InvoiceNo = "总结存"
}).ExecuteCommand();
if (iTotalResult <= 0)
{
logger.Info($"未写入总结存数据{ChannelStock.DrugId}-{ChannelStock.AddQuantity}");
}
}
return true;

View File

@ -125,7 +125,7 @@ namespace DM_Weight.ViewModels
get => _status; set => SetProperty(ref _status, value);
}
private List<ChannelStock> _channelStocks;
public List<ChannelStock> ChannelStocks
@ -133,7 +133,7 @@ namespace DM_Weight.ViewModels
get => _channelStocks;
set => SetProperty(ref _channelStocks, value);
}
private IEnumerable<IGrouping<int, ChannelStock>> enumerable;
private IEnumerator<IGrouping<int, ChannelStock>> enumerator;
@ -192,7 +192,7 @@ namespace DM_Weight.ViewModels
_portUtil.ColNos = singleChannels.Select(it => it.ColNo).ToArray();
_portUtil.DrawerNo = DrawerNo;
if((singleChannels.Count > 0 ? singleChannels[0].BoardType : 1) == 5)
if ((singleChannels.Count > 0 ? singleChannels[0].BoardType : 1) == 5)
{
// 发送加药数量
singleChannels.ForEach(it =>
@ -203,7 +203,7 @@ namespace DM_Weight.ViewModels
if ((singleChannels.Count > 0 ? singleChannels[0].BoardType : 1) == 6)
{
for(int i = 0; i < singleChannels.Count; i++)
for (int i = 0; i < singleChannels.Count; i++)
{
ChannelStock it = singleChannels[i];
_portUtil.ClearCount(it.DrawerNo, it.ColNo);
@ -226,7 +226,7 @@ namespace DM_Weight.ViewModels
List<ChannelStock> record = ChannelStocks.ToList();
string InvoiceId = "SELF_" + CurrentTimeMillis();
var f = SqlSugarHelper.Db.UseTran(() =>
{
{
for (int i = 0; i < record.Count; i++)
{
ChannelStock it = record[i];
@ -293,20 +293,68 @@ namespace DM_Weight.ViewModels
.Where(ab => ab.DrugId == Convert.ToInt32(it.DrugId))
.Where(ab => ab.ManuNo == it.ManuNo)
.Where(ab => ab.CreateDate == DateTime.Now.ToString("yyyy-MM-dd")).First();
accountBookG2Day.ManuStock = accountBookG2Day.ManuStock + it.AddQuantity;
if (accountBookG2Day != null)
{
accountBookG2Day.ManuStock = accountBookG2Day.ManuStock + it.AddQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Day).ExecuteCommand();
}
else
{
//生成日结存时可能没有该库位的绑定信息,需要写入日结存
int iDayResult = SqlSugarHelper.Db.Insertable(new AccountBookG2()
{
DrugId = Convert.ToInt32(it.DrugId),
Type = 3,
ManuNo = it.ManuNo,
EffDate = it.EffDate,
YQuantity = 0,
ManuStock = it.AddQuantity,
TotalStock = it.AddQuantity,
UserId1 = HomeWindowViewModel.Operator?.Id,
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
InvoiceNo = "日结存"
}).ExecuteCommand();
if (iDayResult <= 0)
{
logger.Info($"未写入日结存数据{it.DrugId}-{it.ManuNo}-{it.EffDate}-{it.AddQuantity}");
}
}
//修改凌晨生成的总结存数据
AccountBookG2 accountBookG2Total = SqlSugarHelper.Db.Queryable<AccountBookG2>()
.Where(ab => ab.MachineId.Equals(it.MachineId))
.Where(ab => ab.Type == 4)
.Where(ab => ab.DrugId == Convert.ToInt32(it.DrugId))
.Where(ab => ab.CreateDate == DateTime.Now.ToString("yyyy-MM-dd")).First();
if (accountBookG2Total != null)
{
accountBookG2Total.TotalStock = accountBookG2Total.TotalStock + it.AddQuantity;
accountBookG2Total.TotalStock = accountBookG2Total.TotalStock + it.AddQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Total).ExecuteCommand();
}
else
{
//生成总结存时可能没有该库位的绑定信息,需要写入总结存
int iTotalResult = SqlSugarHelper.Db.Insertable(new AccountBookG2()
{
DrugId = Convert.ToInt32(it.DrugId),
Type = 4,
YQuantity = 0,
ManuStock = it.AddQuantity,
TotalStock = it.AddQuantity,
UserId1 = HomeWindowViewModel.Operator?.Id,
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
InvoiceNo = "总结存"
}).ExecuteCommand();
if (iTotalResult <= 0)
{
logger.Info($"未写入总结存数据{it.DrugId}-{it.AddQuantity}");
}
}
SqlSugarHelper.Db.Updateable(accountBookG2Day).ExecuteCommand();
SqlSugarHelper.Db.Updateable(accountBookG2Total).ExecuteCommand();
}
return true;
@ -322,7 +370,7 @@ namespace DM_Weight.ViewModels
_portUtil.WriteQuantity(it.DrawerNo, it.ColNo, it.Quantity + it.AddQuantity);
});
}
AlertMsg alertMsg = new AlertMsg
{

View File

@ -270,20 +270,66 @@ namespace DM_Weight.ViewModels
.Where(ab => ab.DrugId == Convert.ToInt32(it.DrugId))
.Where(ab => ab.ManuNo == it.ManuNo)
.Where(ab => ab.CreateDate == DateTime.Now.ToString("yyyy-MM-dd")).First();
accountBookG2Day.ManuStock = accountBookG2Day.ManuStock - it.TakeQuantity;
if (accountBookG2Day != null)
{
accountBookG2Day.ManuStock = accountBookG2Day.ManuStock - it.TakeQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Day).ExecuteCommand();
}
else
{
//生成日结存时可能没有该库位的绑定信息,需要写入日结存
int iDayResult = SqlSugarHelper.Db.Insertable(new AccountBookG2()
{
DrugId = Convert.ToInt32(it.DrugId),
Type = 3,
ManuNo = it.ManuNo,
EffDate = it.EffDate,
YQuantity = 0,
ManuStock = it.TakeQuantity,
TotalStock = it.TakeQuantity,
UserId1 = HomeWindowViewModel.Operator?.Id,
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
InvoiceNo = "日结存"
}).ExecuteCommand();
if (iDayResult <= 0)
{
logger.Info($"未写入日结存数据{it.DrugId}-{it.ManuNo}-{it.EffDate}-{it.AddQuantity}");
}
}
//修改凌晨生成的总结存数据
AccountBookG2 accountBookG2Total = SqlSugarHelper.Db.Queryable<AccountBookG2>()
.Where(ab => ab.MachineId.Equals(it.MachineId))
.Where(ab => ab.Type == 4)
.Where(ab => ab.DrugId == Convert.ToInt32(it.DrugId))
.Where(ab => ab.CreateDate == DateTime.Now.ToString("yyyy-MM-dd")).First();
accountBookG2Total.TotalStock = accountBookG2Total.TotalStock - it.TakeQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Day).ExecuteCommand();
SqlSugarHelper.Db.Updateable(accountBookG2Total).ExecuteCommand();
if (accountBookG2Total != null)
{
accountBookG2Total.TotalStock = accountBookG2Total.TotalStock - it.TakeQuantity;
SqlSugarHelper.Db.Updateable(accountBookG2Total).ExecuteCommand();
}
else
{
//生成总结存时可能没有该库位的绑定信息,需要写入总结存
int iTotalResult = SqlSugarHelper.Db.Insertable(new AccountBookG2()
{
DrugId = Convert.ToInt32(it.DrugId),
Type = 4,
YQuantity = 0,
ManuStock = it.TakeQuantity,
TotalStock = it.TakeQuantity,
UserId1 = HomeWindowViewModel.Operator?.Id,
UserId2 = HomeWindowViewModel.Reviewer?.Id,
MachineId = ConfigurationManager.AppSettings["machineId"].ToString(),
CreateDate = DateTime.Now.ToString("yyyy-MM-dd"),
InvoiceNo = "总结存"
}).ExecuteCommand();
if (iTotalResult <= 0)
{
logger.Info($"未写入总结存数据{it.DrugId}-{it.AddQuantity}");
}
}
}
return true;
});