This commit is contained in:
赵正易 2024-08-16 16:05:17 +08:00
parent 4e2b817762
commit 9084aca672
4 changed files with 101 additions and 0 deletions

View File

@ -219,6 +219,11 @@
///</summary>
public int ProductQualifiedTotal { get; set; } = 0;
/// <summary>
/// 产线一次合格总数(不包含门把手)
///</summary>
public int ProductQualifiedNotDoorknobTotal { get; set; } = 0;
/// <summary>
/// 产线抛光总数
///</summary>
@ -269,6 +274,11 @@
///</summary>
public int AfterPolishQualifiedTotal { get; set; } = 0;
/// <summary>
/// 后道检验一次合格总数 (不包含门把手)
///</summary>
public int AfterPolishQualifiedNotDoorknobTotal { get; set; } = 0;
/// <summary>
/// 后道检验抛光总数
///</summary>

View File

@ -550,6 +550,38 @@ namespace ZR.Service.mes.qc
it => it.StartTime <= query.EndTime.Value.ToLocalTime()
)
.ToExpression();
string[] checkStrArray = { "T22", "T26", "A58", "A60", "C01", "B02", "V71", "T1EJ" };
var DoorknobPartNumberCheck = Expressionable.Create<WmMaterial>();
foreach (string checkStr in checkStrArray)
{
DoorknobPartNumberCheck.Or(it => it.Description.Contains(checkStr));
}
;
DoorknobPartNumberCheck
.And(it => it.Type == 1)
.And(it => it.Status == 1)
.And(it => it.Description.Contains("门把手"));
List<string> DoorknobPartNumberList = Context
.Queryable<WmMaterial>()
.Where(DoorknobPartNumberCheck.ToExpression())
.Select(it => it.Partnumber)
.ToList();
var predicate3 = Expressionable
.Create<QcQualityStatisticsTotal>()
.And(it => DoorknobPartNumberList.Contains(it.FinishedPartNumber))
.AndIF(
!string.IsNullOrEmpty(query.Partnumber),
it => it.FinishedPartNumber == query.Partnumber
)
.AndIF(
query.StartTime != null,
it => it.StartTime >= query.StartTime.Value.ToLocalTime()
)
.AndIF(
query.EndTime != null,
it => it.StartTime <= query.EndTime.Value.ToLocalTime()
)
.ToExpression();
boardData.ProductRequireTotal =
Context
.Queryable<QcQualityStatisticsTotal>()
@ -560,6 +592,13 @@ namespace ZR.Service.mes.qc
.Queryable<QcQualityStatisticsTotal>()
.Where(predicate1)
.Sum(it => it.QualifiedNumber) ?? 0;
boardData.ProductQualifiedNotDoorknobTotal =
boardData.ProductQualifiedTotal
- Context
.Queryable<QcQualityStatisticsTotal>()
.Where(predicate3)
.Sum(it => it.QualifiedNumber)
?? 0;
boardData.ProductPolishTotal =
Context
.Queryable<QcQualityStatisticsFirst>()
@ -621,6 +660,38 @@ namespace ZR.Service.mes.qc
it => it.StartTime <= query.EndTime.Value.ToLocalTime()
)
.ToExpression();
string[] checkStrArray = { "T22", "T26", "A58", "A60", "C01", "B02", "V71", "T1EJ" };
var DoorknobPartNumberCheck = Expressionable.Create<WmMaterial>();
foreach (string checkStr in checkStrArray)
{
DoorknobPartNumberCheck.Or(it => it.Description.Contains(checkStr));
}
;
DoorknobPartNumberCheck
.And(it => it.Type == 1)
.And(it => it.Status == 1)
.And(it => it.Description.Contains("门把手"));
List<string> DoorknobPartNumberList = Context
.Queryable<WmMaterial>()
.Where(DoorknobPartNumberCheck.ToExpression())
.Select(it => it.Partnumber)
.ToList();
var predicate3 = Expressionable
.Create<WmPolishQualityStatistics>()
.And(it => DoorknobPartNumberList.Contains(it.Partnumber))
.AndIF(
!string.IsNullOrEmpty(query.Partnumber),
it => it.Partnumber == query.Partnumber
)
.AndIF(
query.StartTime != null,
it => it.StartTime >= query.StartTime.Value.ToLocalTime()
)
.AndIF(
query.EndTime != null,
it => it.StartTime <= query.EndTime.Value.ToLocalTime()
)
.ToExpression();
boardData.PolishWarehouseTotal =
Context
.Queryable<WmPolishInventory>()
@ -658,6 +729,13 @@ namespace ZR.Service.mes.qc
.Queryable<WmPolishQualityStatistics>()
.Where(predicate2)
.Sum(it => it.QualifiedNumber) ?? 0;
boardData.AfterPolishQualifiedNotDoorknobTotal =
boardData.AfterPolishQualifiedTotal
- Context
.Queryable<WmPolishQualityStatistics>()
.Where(predicate3)
.Sum(it => it.QualifiedNumber)
?? 0;
boardData.AfterPolishPolishTotal =
Context
.Queryable<WmPolishQualityStatistics>()

View File

@ -33,11 +33,19 @@ namespace ZR.Service.mes.wms
location = "LS";
}
string[] packageArray = wmgoods.packagelist;
if (packageArray == null || packageArray.Length <= 0)
{
Context.Ado.RollbackTran();
throw new Exception("无入库箱,请检查传入数据!");
}
// 入库去重检查
string[] newPacakgeArray = packageArray.Distinct().ToArray();
if (packageArray.Length != newPacakgeArray.Length)
{
Context.Ado.RollbackTran();
throw new Exception("入库箱有重复,实际箱数:" + newPacakgeArray.Length);
}
// 统计记录
List<string> partnumbers = new();
int totalPackage = 0;

View File

@ -556,12 +556,17 @@ namespace ZR.Service.mes.wms
+ shipnumber
+ "\n零件号:"
+ string.Join(',', partnumbers)
+ "\n数据库变动:插入成功"
+ sum_insert
+ "删除成功"
+ sum_delete
+ "\n总箱数:"
+ totalPackage
+ "\n总零件数:"
+ totalPartnumber
+ "\n涉及批次号:\n"
+ string.Join(',', packageCodeRemark),
CreatedBy = Createby,
CreatedTime = DateTime.Now,
};