This commit is contained in:
2024-11-22 09:20:00 +08:00
parent b6ec36e71f
commit f5415b17fe

View File

@@ -1203,11 +1203,14 @@ namespace ZR.Service.mes.qc
boardData.PolishStockTime =
Context
.Queryable<WmPolishInventory>()
.WhereIF(
!string.IsNullOrEmpty(query.Partnumber),
it => it.Partnumber == query.Partnumber
)
.Where(it => it.Status == 1)
.Select(it => it.CreatedTime)
.First() ?? new DateTime(2024, 10, 19, 0, 0, 0);
// 抛光盘点库存
.First() ?? new DateTime(2024, 11, 16, 12, 0, 0);
// 抛光盘点库存(起初数)
int polishWarehouseTotal =
Context
.Queryable<WmPolishInventory>()
@@ -1227,6 +1230,10 @@ namespace ZR.Service.mes.qc
it => it.FinishedPartNumber == query.Partnumber
)
.Where(it => it.StartTime >= boardData.PolishStockTime)
.WhereIF(
query.EndTime != null,
it => it.StartTime <= query.EndTime.Value.ToLocalTime()
)
.Sum(it => it.PaoguangTotal) ?? 0
) / 3;
@@ -1239,6 +1246,10 @@ namespace ZR.Service.mes.qc
it => it.Partnumber == query.Partnumber
)
.Where(it => it.StartTime >= boardData.PolishStockTime)
.WhereIF(
query.EndTime != null,
it => it.StartTime <= query.EndTime.Value.ToLocalTime()
)
.Sum(it => it.PaoguangTotal) ?? 0;
// GP12反抛
int gP12PolishTotal =
@@ -1249,6 +1260,10 @@ namespace ZR.Service.mes.qc
it => it.Partnumber == query.Partnumber
)
.Where(it => it.StartTime >= boardData.PolishStockTime)
.WhereIF(
query.EndTime != null,
it => it.StartTime <= query.EndTime.Value.ToLocalTime()
)
.Sum(it => it.PaoguangTotal) ?? 0;
// 抛光总投入数
int polishRequireTotal =
@@ -1259,6 +1274,10 @@ namespace ZR.Service.mes.qc
it => it.Partnumber == query.Partnumber
)
.Where(it => it.StartTime >= boardData.PolishStockTime)
.WhereIF(
query.EndTime != null,
it => it.StartTime <= query.EndTime.Value.ToLocalTime()
)
.Sum(it => it.RequireNumber) ?? 0;
// 抛光实际库存
@@ -1273,9 +1292,13 @@ namespace ZR.Service.mes.qc
boardData.OneTimeStockTime =
Context
.Queryable<WmOneTimeInventory>()
.WhereIF(
!string.IsNullOrEmpty(query.Partnumber),
it => it.Partnumber == query.Partnumber
)
.Where(it => it.Status == 1)
.Select(it => it.CreatedTime)
.First() ?? new DateTime(2024, 10, 19, 0, 0, 0);
.First() ?? new DateTime(2024, 11, 16, 12, 0, 0);
// 一次合格盘点库存
int oneTimeWarehouseTotal =
@@ -1296,6 +1319,10 @@ namespace ZR.Service.mes.qc
it => it.FinishedPartNumber == query.Partnumber
)
.Where(it => it.StartTime >= boardData.OneTimeStockTime)
.WhereIF(
query.EndTime != null,
it => it.StartTime <= query.EndTime.Value.ToLocalTime()
)
.Sum(it => it.QualifiedNumber) ?? 0;
// 倒车雷达
string[] checkStrArray2 = { "倒车雷达" };
@@ -1319,6 +1346,10 @@ namespace ZR.Service.mes.qc
it => it.FinishedPartNumber == query.Partnumber
)
.And(it => it.StartTime >= boardData.OneTimeStockTime)
.AndIF(
query.EndTime != null,
it => it.StartTime <= query.EndTime.Value.ToLocalTime()
)
.ToExpression();
// 倒车雷达
int productParkingSensorbQualifiedTotal =
@@ -1339,6 +1370,10 @@ namespace ZR.Service.mes.qc
it => it.Partnumber == query.Partnumber
)
.Where(it => it.StartTime >= boardData.OneTimeStockTime)
.WhereIF(
query.EndTime != null,
it => it.StartTime <= query.EndTime.Value.ToLocalTime()
)
.Sum(it => it.QualifiedNumber) ?? 0;
// GP12总投入
int gP12RequireTotal =
@@ -1349,6 +1384,10 @@ namespace ZR.Service.mes.qc
it => it.Partnumber == query.Partnumber
)
.Where(it => it.StartTime >= boardData.OneTimeStockTime)
.WhereIF(
query.EndTime != null,
it => it.StartTime <= query.EndTime.Value.ToLocalTime()
)
.Sum(it => it.RequireNumber) ?? 0;
// 后道直接出库
int afterPolishOutTotal =
@@ -1360,6 +1399,10 @@ namespace ZR.Service.mes.qc
)
.Where(it => it.Type == 1)
.Where(it => it.StartTime >= boardData.OneTimeStockTime)
.WhereIF(
query.EndTime != null,
it => it.StartTime <= query.EndTime.Value.ToLocalTime()
)
.Sum(it => it.RequireNumber) ?? 0;
boardData.RealOneTimeWarehouseCount =
@@ -1369,6 +1412,151 @@ namespace ZR.Service.mes.qc
- gP12RequireTotal
- afterPolishOutTotal;
if (
query.EndTime != null
&& query.StartTime.Value.ToLocalTime() > boardData.OneTimeStockTime
|| query.StartTime.Value.ToLocalTime() > boardData.PolishStockTime
)
{
QcProductAndPolishAndOneTimeFqcBoardQuery oldQuery =
new()
{
Partnumber = query.Partnumber,
EndTime = query.StartTime.Value.ToLocalTime()
};
// 产线抛光
int productPolishTotal2 =
(
Context
.Queryable<QcQualityStatisticsFirst>()
.WhereIF(
!string.IsNullOrEmpty(query.Partnumber),
it => it.FinishedPartNumber == query.Partnumber
)
.Where(it => it.StartTime >= boardData.PolishStockTime)
.Where(it => it.StartTime <= query.StartTime.Value.ToLocalTime())
.Sum(it => it.PaoguangTotal) ?? 0
) / 3;
// 后道反抛
int afterPolishPolishTotal2 =
Context
.Queryable<WmPolishQualityStatistics>()
.WhereIF(
!string.IsNullOrEmpty(query.Partnumber),
it => it.Partnumber == query.Partnumber
)
.Where(it => it.StartTime >= boardData.PolishStockTime)
.Where(it => it.StartTime <= query.StartTime.Value.ToLocalTime())
.Sum(it => it.PaoguangTotal) ?? 0;
// GP12反抛
int gP12PolishTotal2 =
Context
.Queryable<WmGp12QualityStatistics>()
.WhereIF(
!string.IsNullOrEmpty(query.Partnumber),
it => it.Partnumber == query.Partnumber
)
.Where(it => it.StartTime >= boardData.PolishStockTime)
.Where(it => it.StartTime <= query.StartTime.Value.ToLocalTime())
.Sum(it => it.PaoguangTotal) ?? 0;
// 抛光总投入数
int polishRequireTotal2 =
Context
.Queryable<WmPolishWorkQualityStatistics>()
.WhereIF(
!string.IsNullOrEmpty(query.Partnumber),
it => it.Partnumber == query.Partnumber
)
.Where(it => it.StartTime >= boardData.PolishStockTime)
.Where(it => it.StartTime <= query.StartTime.Value.ToLocalTime())
.Sum(it => it.RequireNumber) ?? 0;
// 抛光实际库存时间修正
int realPolishWarehouseCount2 =
productPolishTotal2
+ afterPolishPolishTotal2
+ gP12PolishTotal2
- polishRequireTotal2;
boardData.RealPolishWarehouseCount -= realPolishWarehouseCount2;
//一次合格实际库存时间修正
// 产线合格
int productQualifiedTotal2 =
Context
.Queryable<QcQualityStatisticsFirst>()
.WhereIF(
!string.IsNullOrEmpty(query.Partnumber),
it => it.FinishedPartNumber == query.Partnumber
)
.Where(it => it.StartTime >= boardData.OneTimeStockTime)
.Where(it => it.StartTime <= query.StartTime.Value.ToLocalTime())
.Sum(it => it.QualifiedNumber) ?? 0;
var predicateParkingSensor2 = Expressionable
.Create<QcQualityStatisticsFirst>()
.And(it => ParkingSensorPartNumberList.Contains(it.FinishedPartNumber))
.AndIF(
!string.IsNullOrEmpty(query.Partnumber),
it => it.FinishedPartNumber == query.Partnumber
)
.And(it => it.StartTime >= boardData.OneTimeStockTime)
.And(it => it.StartTime <= query.StartTime.Value.ToLocalTime())
.ToExpression();
// 倒车雷达
int productParkingSensorbQualifiedTotal2 =
Context
.Queryable<QcQualityStatisticsFirst>()
.Where(predicateParkingSensor)
.Sum(it => it.QualifiedNumber) ?? 0;
// 产线合格 - 倒车雷达
productQualifiedTotal2 =
(productQualifiedTotal2 - productParkingSensorbQualifiedTotal2) / 3;
// 抛光合格
int polishQualifiedTotal2 =
Context
.Queryable<WmPolishWorkQualityStatistics>()
.WhereIF(
!string.IsNullOrEmpty(query.Partnumber),
it => it.Partnumber == query.Partnumber
)
.Where(it => it.StartTime >= boardData.OneTimeStockTime)
.Where(it => it.StartTime <= query.StartTime.Value.ToLocalTime())
.Sum(it => it.QualifiedNumber) ?? 0;
// GP12总投入
int gP12RequireTotal2 =
Context
.Queryable<WmGp12QualityStatistics>()
.WhereIF(
!string.IsNullOrEmpty(query.Partnumber),
it => it.Partnumber == query.Partnumber
)
.Where(it => it.StartTime >= boardData.OneTimeStockTime)
.Where(it => it.StartTime <= query.StartTime.Value.ToLocalTime())
.Sum(it => it.RequireNumber) ?? 0;
// 后道直接出库
int afterPolishOutTotal2 =
Context
.Queryable<WmPolishQualityStatistics>()
.WhereIF(
!string.IsNullOrEmpty(query.Partnumber),
it => it.Partnumber == query.Partnumber
)
.Where(it => it.Type == 1)
.Where(it => it.StartTime >= boardData.OneTimeStockTime)
.Where(it => it.StartTime <= query.StartTime.Value.ToLocalTime())
.Sum(it => it.RequireNumber) ?? 0;
int realOneTimeWarehouseCount2 =
productQualifiedTotal2
+ polishQualifiedTotal2
- gP12RequireTotal2
- afterPolishOutTotal2;
boardData.RealOneTimeWarehouseCount -= realOneTimeWarehouseCount2;
}
return boardData;
}