fix(wms): 修正包装记录查询条件,使用格式化后的包装编号
原查询条件直接使用数字比较可能导致匹配错误,现改为使用格式化后的5位数字字符串进行匹配,确保查询准确性
This commit is contained in:
@@ -432,13 +432,15 @@ namespace ZR.Service.mes.wms
|
||||
string patchCodePart = resultionPackage.PatchCode.Split("_")[1];
|
||||
// 直接在 int.TryParse 中处理转换,并在一行内完成默认值设置
|
||||
int package_no = int.TryParse(patchCodePart, out var temp) ? temp : -1;
|
||||
// 格式化为5位数字字符串,不足前面补零
|
||||
string formattedPackageNo = package_no.ToString("D5");
|
||||
// 3.1 isStrict = TRUE 时判断是否是满箱标签
|
||||
WmPackingrecord recourd = Context
|
||||
.Queryable<WmPackingrecord>()
|
||||
.Where(it => it.WorkOrderNum == resultionPackage.WorkoderID)
|
||||
// .Where(it => it.PackingCode.EndsWith(packingCode))
|
||||
.Where(it => it.PackingCode.EndsWith(formattedPackageNo))
|
||||
// .Where(it => packingCode == int.Parse(it.PackingCode.Substring(7)).ToString())
|
||||
.Where(it => package_no == int.Parse(SqlFunc.Right(it.PackingCode, 5)))
|
||||
//.Where(it => package_no == int.Parse(SqlFunc.Right(it.PackingCode, 5)))
|
||||
.Where(it => it.BFilled == true)
|
||||
.First();
|
||||
if (recourd == null)
|
||||
|
||||
Reference in New Issue
Block a user