一次合格品仓库,抛光仓库,GP12质检报告,抛光操作,后道检验相关功能完善

This commit is contained in:
2024-08-09 13:16:17 +08:00
parent 8b9205cea3
commit 729f148731
8 changed files with 1347 additions and 691 deletions

View File

@@ -50,7 +50,7 @@ namespace ZR.Service.mes.wms
)
.AndIF(
parm.EndTime != null,
it => it.StartTime <= parm.StartTime.Value.ToLocalTime()
it => it.StartTime <= parm.EndTime.Value.ToLocalTime()
);
var response = Queryable()
@@ -127,8 +127,67 @@ namespace ZR.Service.mes.wms
(decimal)model.QualifiedNumber / model.RequireNumber * 100 ?? 0.0m;
}
model.QualifiedRate = qualifiedRate;
WmPolishQualityStatistics res0 = Context.Insertable(model).ExecuteReturnEntity();
if (res0 == null)
{
Context.Ado.RollbackTran();
throw new Exception("插入抛光质检记录失败");
}
WmPolishInventoryService inventoryService = new();
//TODO 合格品检查是否是门把手,是进入成品库,不是进入一次合格品库
WmOneTimeInventoryService oneTimeService = new();
// 合格品检查是否是门把手,是进入成品库(仅出库),不是进入一次合格品库
string[] checkStrArray =
{
"T22",
"T26",
"A58",
"A60",
"C01",
"B02",
"V71",
"T1EJ "
};
var isDoorknobCheck = Expressionable
.Create<WmMaterial>();
foreach (string checkStr in checkStrArray)
{
isDoorknobCheck.Or(it => it.Description.Contains(checkStr));
}
;
isDoorknobCheck.And(it => it.Partnumber == res0.Partnumber)
.And(it => it.Type == 1)
.And(it => it.Status == 1)
.And(it => it.Description.Contains("门把手"));
bool isDoorknob = Context
.Queryable<WmMaterial>()
.Where(isDoorknobCheck.ToExpression())
.Any();
if (!isDoorknob && model.QualifiedNumber > 0)
{
WmOneTimeInventory wmOneTimeInventoryWarehousing =
new()
{
Partnumber = model.Partnumber,
Type = model.IsReturnWorkpiece ? 2 : 1,
Quantity = model.PaoguangTotal,
CreatedBy = model.CreatedBy,
ActionTime = DateTime.Now.ToLocalTime(),
Remark =
"抛光合格品入库,合格数:"
+ model.QualifiedNumber
+ "。记录时间:"
+ model.CreatedTime.Value.ToLocalTime().ToString()
+ "[来源记录识别编号:"
+ res0.Id
+ "]"
};
int res1 = oneTimeService.DoWmOneTimeWarehousing(wmOneTimeInventoryWarehousing);
if (res1 == 0)
{
Context.Ado.RollbackTran();
throw new Exception("抛光合格品入库失败");
}
}
//抛光品重新进入抛光仓库
if (model.PaoguangTotal > 0)
@@ -140,12 +199,15 @@ namespace ZR.Service.mes.wms
Type = model.IsReturnWorkpiece ? 2 : 1,
Quantity = model.PaoguangTotal,
CreatedBy = model.CreatedBy,
ActionTime = DateTime.Now,
ActionTime = DateTime.Now.ToLocalTime(),
Remark =
"抛光质检记录入库:抛光数"
"抛光质检记录入库,抛光数:"
+ model.PaoguangTotal
+ "。记录时间"
+ "。记录时间:"
+ model.CreatedTime.Value.ToLocalTime().ToString()
+ "[来源记录识别编号:"
+ res0.Id
+ "]"
};
int res1 = inventoryService.DoWmPolishWarehousing(wmPolishInventory);
if (res1 == 0)
@@ -168,31 +230,27 @@ namespace ZR.Service.mes.wms
CreatedBy = model.CreatedBy,
ActionTime = DateTime.Now,
Remark =
"抛光质检记录出库:合格数"
"抛光质检记录出库,合格数:"
+ model.QualifiedNumber
+ "、打磨数"
+ "、打磨数:"
+ model.DamoTotal
+ "、报废数"
+ "、报废数:"
+ model.BaofeiTotal
+ "。记录时间"
+ "。记录时间:"
+ model.CreatedTime.Value.ToLocalTime().ToString()
+ "[来源记录识别编号:"
+ res0.Id
+ "]"
};
int res1 = inventoryService.DoWmPolishRetrieval(wmPolishInventory);
if (res1 == 0)
int res2 = inventoryService.DoWmPolishRetrieval(wmPolishInventory);
if (res2 == 0)
{
Context.Ado.RollbackTran();
throw new Exception("抛光质检记录出库失败");
}
}
WmPolishQualityStatistics res3 = Context.Insertable(model).ExecuteReturnEntity();
if (res3 == null)
{
Context.Ado.RollbackTran();
throw new Exception("插入抛光质检记录失败");
}
Context.Ado.CommitTran();
return res3;
return res0;
}
catch (Exception e)
{
@@ -220,7 +278,7 @@ namespace ZR.Service.mes.wms
)
)
{
throw new Exception("投入数与合格数,抛光数,打磨数,报废数不符合,请检查");
throw new Exception("投入数与合格数,抛光数,打磨数,报废数不符合,请检查");
}
decimal qualifiedRate = 0.0m;
if (model.QualifiedNumber != 0)