一次合格,抛光品仓库统计逻辑修改

This commit is contained in:
2025-06-16 11:22:40 +08:00
parent e0afea26c2
commit ffb6157d7f
4 changed files with 353 additions and 290 deletions

View File

@@ -297,20 +297,18 @@ namespace ZR.Service.mes.wms
.ToList();
foreach (WmOneTimeInventoryDto item in list)
{
//TODO 20250408 盘点时间修正(三个时间比对)
WmOneTimeRecord minCheckRecord =
wmOneTimeRecords
.Where(o => o.Partnumber == item.Partnumber && o.ChangeType == 3)
.OrderByDescending(o => o.ActionTime)
.FirstOrDefault();
WmOneTimeRecord minCheckRecord = wmOneTimeRecords
.Where(o => o.Partnumber == item.Partnumber && o.ChangeType == 3)
.OrderByDescending(o => o.ActionTime)
.FirstOrDefault();
DateTime minCheckRecordTime = DateTime.MinValue;
int minCheckRecordQuantity = 0;
if (minCheckRecord != null)
{
minCheckRecordTime = minCheckRecord.ActionTime ?? DateTime.MinValue;
}
DateTime minCheckInventoryTime = item.CreatedTime ?? minDateTime;
//TODO 20250408修改 最小盘点时间判断/如有盘点记录,则优先取盘点记录数据
DateTime checkTime =
@@ -343,11 +341,14 @@ namespace ZR.Service.mes.wms
)
.Select(o => o.ChangeQuantity)
.Sum();
item.RealQuantity = minCheckRecordQuantity + (runum.Value - chunum.Value);
item.CreatedTime = checkTime;
}
list = list.Where(it => it.RealQuantity != 0 || it.Quantity != 0)
list = list.WhereIF(
string.IsNullOrEmpty(parm.Partnumber),
it => it.RealQuantity != 0 || it.Quantity != 0
)
.Where(it => !string.IsNullOrEmpty(it.Partnumber))
.DistinctBy(it => it.Partnumber)
.OrderBy(it => it.RealQuantity)
@@ -657,17 +658,17 @@ namespace ZR.Service.mes.wms
{
Context.Ado.BeginTran();
// 检查是否存在库中
/* WmOneTimeInventory oneTImeInventory = Context
.Queryable<WmOneTimeInventory>()
.Where(it => it.Id == parm.Id)
.Where(it => it.Status == 1)
.First();
if (oneTImeInventory == null)
{
Context.Ado.RollbackTran();
throw new Exception("盘点记录不存在" + parm.Id);
}
Context.Updateable(parm).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand();*/
/* WmOneTimeInventory oneTImeInventory = Context
.Queryable<WmOneTimeInventory>()
.Where(it => it.Id == parm.Id)
.Where(it => it.Status == 1)
.First();
if (oneTImeInventory == null)
{
Context.Ado.RollbackTran();
throw new Exception("盘点记录不存在" + parm.Id);
}
Context.Updateable(parm).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand();*/
// 已有则新增记录
//TODO 20250408 新逻辑调整 只添加盘点记录 算库存数时自动调整
string code = !string.IsNullOrEmpty(parm.WorkOrder)
@@ -724,6 +725,7 @@ namespace ZR.Service.mes.wms
.OrderBy(it => it.Description)
.ToList();
}
//导出
public List<WmOneTimeInventoryExportDto> GetExportList(WmOneTimeInventoryQueryDto parm)
{
@@ -748,13 +750,9 @@ namespace ZR.Service.mes.wms
//TODO 20250408 新导出逻辑
// 构建导出数据
WmOneTimeInventoryQueryDto queryParams = new()
{
PageSize = 10000,
PageNum = 1
};
List<WmOneTimeInventoryExportDto> exportDto = GetListNew(queryParams).Result
.Select(it =>
WmOneTimeInventoryQueryDto queryParams = new() { PageSize = 10000, PageNum = 1 };
List<WmOneTimeInventoryExportDto> exportDto = GetListNew(queryParams)
.Result.Select(it =>
{
return new WmOneTimeInventoryExportDto
{