1
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user