From 85a299f3ffe2dd47132f7f0f79146f3675bdc273 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期一, 14 四月 2025 15:27:34 +0800 Subject: [PATCH] 优化了一些已知问题 --- Tiger.Business.WMS/Common/Barcode/BarcodeAnalysis.Yada.cs | 108 +++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 87 insertions(+), 21 deletions(-) diff --git a/Tiger.Business.WMS/Common/Barcode/BarcodeAnalysis.Yada.cs b/Tiger.Business.WMS/Common/Barcode/BarcodeAnalysis.Yada.cs index 3aaf76e..e696945 100644 --- a/Tiger.Business.WMS/Common/Barcode/BarcodeAnalysis.Yada.cs +++ b/Tiger.Business.WMS/Common/Barcode/BarcodeAnalysis.Yada.cs @@ -30,29 +30,95 @@ if (!string.IsNullOrEmpty(Barcode.MetaSn)) { string[] parts = (Barcode.MetaSn ?? "").Split(new string[] { "/" }, StringSplitOptions.RemoveEmptyEntries); - //ASN鍗� - if (parts.Length == 5 && (Barcode.MetaSn.StartsWith("ASN") || Barcode.MetaSn.StartsWith("YDASN"))) + //绠辨潯鐮� + if (Barcode.MetaSn.StartsWith("Carton/")) { - Barcode.OrderNo = parts[0]; - Barcode.OrderLine = parts[1]; - Barcode.ItemCode = parts[2]; - Barcode.LotNo = parts[3]; - Barcode.SerialNoStr = parts[4]; - Barcode.Type = Types.MiniPackage; - Barcode.ItemType = ItemTypes.RawMaterial; - - result.Flag = Result.Flags.Success; - } - //鏃ф潯鐮� - if (parts.Length == 3) + //鏀惰揣绠辨潯鐮侊細Carton/YDASN241000433/10/17010505.0064.00/ASN241000433/13957 + //瑙勫垯锛欳arton/鍗曞彿/琛屽彿/鏂欏彿/鎵瑰彿/娴佹按鍙� + if (parts.Length == 6) + { + Barcode.OrderNo = parts[1]; + Barcode.OrderLine = parts[2]; + Barcode.ItemCode = parts[3]; + Barcode.LotNo = parts[4].StartsWith("ASN") ? (parts[1].StartsWith("YD") ? parts[1][2..] : parts[1]) + parts[2] : parts[4]; + Barcode.SerialNoStr = parts[5]; + Barcode.Type = Types.OuterPackage; + Barcode.ItemType = ItemTypes.RawMaterial; + + result.Flag = Result.Flags.Success; + } + } + //鍏朵粬鏉$爜 + else { - Barcode.ItemCode = parts[0]; - Barcode.LotNo = parts[1]; - Barcode.SerialNoStr = parts[2]; - Barcode.Type = Types.MiniPackage; - Barcode.ItemType = ItemTypes.RawMaterial; - - result.Flag = Result.Flags.Success; + //鏀惰揣鏉$爜锛歒DASN241200964/10/12010102.0011.00/ASN241200964/1 + //鏉傛敹鏉$爜锛歒DZS241200607/10/10150102.2226.00/ASN24120012750/0001 + //瑙勫垯锛氬崟鍙�/琛屽彿/鏂欏彿/鎵瑰彿/娴佹按鍙� + if (parts.Length == 5)// && (Barcode.MetaSn.StartsWith("ASN") || Barcode.MetaSn.StartsWith("YDZS") || Barcode.MetaSn.StartsWith("YDASN"))) + { + Barcode.OrderNo = parts[0]; + Barcode.OrderLine = parts[1]; + Barcode.ItemCode = parts[2]; + Barcode.LotNo = parts[3].StartsWith("ASN") ? (parts[0].StartsWith("YD") ? parts[0][2..] : parts[0]) + parts[1] : parts[3]; + Barcode.Type = Types.MiniPackage; + Barcode.ItemType = ItemTypes.RawMaterial; + + result.Flag = Result.Flags.Success; + } + //璋冨叆鏉$爜锛�101/YDDR241200924/10/13060306.0008.00/ASN24090127310/0001 + //褰㈡�佽浆鎹㈡潯鐮侊細101/YDZH231000028/10/32020101.0005.00/23001034/0001 + //瑙勫垯锛氱粍缁�/鍗曞彿/琛屽彿/鏂欏彿/鎵瑰彿/娴佹按鍙� + if (parts.Length == 6)// && (Barcode.MetaSn.StartsWith("YDDR") || Barcode.MetaSn.StartsWith("YDZH"))) + { + Barcode.Organization = parts[0]; + Barcode.OrderNo = parts[1]; + Barcode.OrderLine = parts[2]; + Barcode.ItemCode = parts[3]; + Barcode.LotNo = parts[4]; + Barcode.SerialNoStr = parts[5]; + Barcode.Type = Types.MiniPackage; + Barcode.ItemType = ItemTypes.RawMaterial; + + result.Flag = Result.Flags.Success; + } + //鏀惰揣鍗曪細YDRC240801351/10/10030202.0013.02/7/ + //瑙勫垯锛氬崟鍙�/琛屽彿/鏂欏彿/娴佹按鍙�/ + if (parts.Length == 4 && parts[2].Contains(".")) + { + Barcode.OrderNo = parts[0]; + Barcode.OrderLine = parts[1]; + Barcode.ItemCode = parts[2]; + Barcode.SerialNoStr = parts[3]; + Barcode.Type = Types.MiniPackage; + Barcode.ItemType = ItemTypes.RawMaterial; + + result.Flag = Result.Flags.Success; + } + //鏈熷垵搴撳瓨鏉$爜琛ユ墦锛�10150102.0655.00/108444-1-230/168A05/10101/ + //瑙勫垯锛氭枡鍙�/鎵瑰彿/搴撲綅/瀛樺偍鍦扮偣/ + if (parts.Length == 4 && parts[0].Contains(".")) + { + Barcode.ItemCode = parts[0]; + Barcode.LotNo = parts[1]; + Barcode.Location = parts[2]; + Barcode.Warehouse = parts[3]; + Barcode.Type = Types.MiniPackage; + Barcode.ItemType = ItemTypes.RawMaterial; + + result.Flag = Result.Flags.Success; + } + //鏈熷垵鏉$爜锛�10150102.0655.00/108444-1-230207/000001 + //瑙勫垯锛氭枡鍙�/鎵瑰彿/娴佹按鍙� + if (parts.Length == 3) + { + Barcode.ItemCode = parts[0]; + Barcode.LotNo = parts[1]; + Barcode.SerialNoStr = parts[2]; + Barcode.Type = Types.MiniPackage; + Barcode.ItemType = ItemTypes.RawMaterial; + + result.Flag = Result.Flags.Success; + } } } -- Gitblit v1.9.3