仓库数据看板

This commit is contained in:
2024-08-14 14:58:48 +08:00
parent 79504bf4c3
commit 5b3b6f6fbb
6 changed files with 337 additions and 2 deletions

View File

@@ -12,6 +12,7 @@ using ZR.Model.MES.qc.DTO;
using ZR.Model.MES.qu;
using ZR.Model.MES.wms;
using ZR.Service.mes.qc.IService;
using ZR.Service.Utils;
using static System.Runtime.InteropServices.JavaScript.JSType;
namespace ZR.Service.mes.qc
@@ -511,5 +512,107 @@ namespace ZR.Service.mes.qc
throw new Exception(ex.Message);
}
}
// 获取产线相关数据
public QcProductAndPolishAndOneTimeFqcBoardDto GetProductTotal(
QcProductAndPolishAndOneTimeFqcBoardDto boardData
)
{
boardData.ProductRequireTotal =
Context.Queryable<QcQualityStatisticsTotal>().Sum(it => it.RequireNumber) ?? 0;
boardData.ProductQualifiedTotal =
Context.Queryable<QcQualityStatisticsTotal>().Sum(it => it.QualifiedNumber) ?? 0;
boardData.ProductPolishTotal =
Context.Queryable<QcQualityStatisticsFirst>().Sum(it => it.PaoguangTotal) ?? 0;
boardData.ProductSandingTotal =
Context.Queryable<QcQualityStatisticsTotal>().Sum(it => it.DamoTotal) ?? 0;
boardData.ProductDiscardTotal =
Context.Queryable<QcQualityStatisticsTotal>().Sum(it => it.BaofeiTotal) ?? 0;
return boardData;
}
// 获取抛光相关数据
public QcProductAndPolishAndOneTimeFqcBoardDto GetPolishTotal(
QcProductAndPolishAndOneTimeFqcBoardDto boardData
)
{
boardData.PolishWarehouseTotal =
Context.Queryable<WmPolishInventory>().Sum(it => it.Quantity) ?? 0;
boardData.PolishRequireTotal =
Context.Queryable<WmPolishWorkQualityStatistics>().Sum(it => it.RequireNumber) ?? 0;
boardData.PolishQualifiedTotal =
Context.Queryable<WmPolishWorkQualityStatistics>().Sum(it => it.QualifiedNumber)
?? 0;
boardData.PolishSandingTotal =
Context.Queryable<WmPolishWorkQualityStatistics>().Sum(it => it.DamoTotal) ?? 0;
boardData.PolishDiscardTotal =
Context.Queryable<WmPolishWorkQualityStatistics>().Sum(it => it.BaofeiTotal) ?? 0;
boardData.AfterPolishRequireTotal =
Context.Queryable<WmPolishQualityStatistics>().Sum(it => it.RequireNumber) ?? 0;
boardData.AfterPolishQualifiedTotal =
Context.Queryable<WmPolishQualityStatistics>().Sum(it => it.QualifiedNumber) ?? 0;
boardData.AfterPolishPolishTotal =
Context.Queryable<WmPolishQualityStatistics>().Sum(it => it.PaoguangTotal) ?? 0;
boardData.AfterPolishSandingTotal =
Context.Queryable<WmPolishQualityStatistics>().Sum(it => it.DamoTotal) ?? 0;
boardData.AfterPolishDiscardTotal =
Context.Queryable<WmPolishQualityStatistics>().Sum(it => it.BaofeiTotal) ?? 0;
return boardData;
}
// 获取一次合格品相关数据
public QcProductAndPolishAndOneTimeFqcBoardDto GetOneTimeTotal(
QcProductAndPolishAndOneTimeFqcBoardDto boardData
)
{
boardData.OneTimeWarehouseTotal =
Context.Queryable<WmOneTimeInventory>().Sum(it => it.Quantity) ?? 0;
boardData.GP12RequireTotal =
Context.Queryable<WmGp12QualityStatistics>().Sum(it => it.RequireNumber) ?? 0;
boardData.GP12QualifiedTotal =
Context.Queryable<WmGp12QualityStatistics>().Sum(it => it.QualifiedNumber) ?? 0;
boardData.GP12PolishTotal =
Context.Queryable<WmGp12QualityStatistics>().Sum(it => it.PaoguangTotal) ?? 0;
boardData.GP12SandingTotal =
Context.Queryable<WmGp12QualityStatistics>().Sum(it => it.DamoTotal) ?? 0;
boardData.GP12DiscardTotal =
Context.Queryable<WmGp12QualityStatistics>().Sum(it => it.BaofeiTotal) ?? 0;
return boardData;
}
// 获取成品仓库相关数据
public QcProductAndPolishAndOneTimeFqcBoardDto GetFinishProductTotal(
QcProductAndPolishAndOneTimeFqcBoardDto boardData
)
{
boardData.FinishProductPartTotal =
Context.Queryable<WmGoodsNowProduction>().Sum(it => it.GoodsNumAction) ?? 0;
boardData.FinishProductPackageTotal = Context.Queryable<WmGoodsNowProduction>().Count();
boardData.FinishProductPartOutTotal =
Context.Queryable<WmGoodsOutRecord>().Sum(it => it.GoodsNumAction) ?? 0;
boardData.FinishProductPackageOutTotal = Context.Queryable<WmGoodsOutRecord>().Count();
return boardData;
}
/// <summary>
/// 获取产线,抛光,一次合格品质量报表看板数据
/// </summary>
/// <returns></returns>
public QcProductAndPolishAndOneTimeFqcBoardDto GetProductAndPolishAndOneTimeFqcBoardData()
{
QcProductAndPolishAndOneTimeFqcBoardDto result = new();
result = GetProductTotal(result);
result = GetPolishTotal(result);
result = GetOneTimeTotal(result);
result = GetFinishProductTotal(result);
result.SandingTotal = result.ProductSandingTotal + result.PolishSandingTotal + result.AfterPolishSandingTotal + result.GP12SandingTotal;
result.DiscardTotal = result.ProductDiscardTotal + result.PolishDiscardTotal + result.AfterPolishDiscardTotal + result.GP12DiscardTotal;
result.UpdatedTime = DateTime.Now.ToLocalTime();
return result;
}
}
}

View File

@@ -40,5 +40,11 @@ namespace ZR.Service.mes.qc.IService
/// <returns>QcCommonFqcWorkerOrderDataDto 质量检测工单,生产线数据</returns>
public PagedInfo<QcCommonFqcWorkerOrderDataDto> GetWorkOrderFqcData(QcCommonFqcWorkerOrderDataQuery query);
/// <summary>
/// 获取产线,抛光,一次合格品质量报表看板数据
/// </summary>
/// <returns></returns>
public QcProductAndPolishAndOneTimeFqcBoardDto GetProductAndPolishAndOneTimeFqcBoardData();
}
}