From 9e5eb7707c9a42e2515a583b40078d2d7685e2d0 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期三, 19 三月 2025 00:51:42 +0800 Subject: [PATCH] 优化清点上架支持扫箱条码 --- Tiger.Business.WMS/Common/Barcode/BarcodeAnalysis.Yada.cs | 154 +++++++++++++++++++++++++++++---------------------- 1 files changed, 88 insertions(+), 66 deletions(-) diff --git a/Tiger.Business.WMS/Common/Barcode/BarcodeAnalysis.Yada.cs b/Tiger.Business.WMS/Common/Barcode/BarcodeAnalysis.Yada.cs index 37979fa..d15c8d2 100644 --- a/Tiger.Business.WMS/Common/Barcode/BarcodeAnalysis.Yada.cs +++ b/Tiger.Business.WMS/Common/Barcode/BarcodeAnalysis.Yada.cs @@ -30,74 +30,96 @@ if (!string.IsNullOrEmpty(Barcode.MetaSn)) { string[] parts = (Barcode.MetaSn ?? "").Split(new string[] { "/" }, StringSplitOptions.RemoveEmptyEntries); - //鏀惰揣鏉$爜锛歒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"))) + //绠辨潯鐮� + 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; - } - //璋冨叆鏉$爜锛�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"))) + //鏀惰揣绠辨潯鐮侊細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]; + Barcode.SerialNoStr = parts[5]; + Barcode.Type = Types.OuterPackage; + Barcode.ItemType = ItemTypes.RawMaterial; + + result.Flag = Result.Flags.Success; + } + } + //鍏朵粬鏉$爜 + else { - 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; + //鏀惰揣鏉$爜锛歒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]; + Barcode.SerialNoStr = parts[4]; + 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