From 61f71e95f065fa8c190b5ce0bd7c0d611b8c629e Mon Sep 17 00:00:00 2001
From: yxj <yxj@hz-kingdee.com>
Date: 星期四, 13 十一月 2025 11:03:42 +0800
Subject: [PATCH] 小卫条码解析方法,新增供应商批次条码解析规则:物料编码@供应商编码@生产日批号8位日期码XXXX@来料总数量

---
 CLOUDWEB/WebService1.asmx.cs |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/CLOUDWEB/WebService1.asmx.cs b/CLOUDWEB/WebService1.asmx.cs
index 8be3cb3..d990c7e 100644
--- a/CLOUDWEB/WebService1.asmx.cs
+++ b/CLOUDWEB/WebService1.asmx.cs
@@ -63253,16 +63253,16 @@
                 //鑾峰彇瀵瑰簲鏉$爜瑙f瀽鏁版嵁
                 string[] str = sBarCode.Split('@');
 
-                if (str.Length < 6)
+                if (str.Length != 4 && str.Length < 6)
                 {
-                    sErrMsg = "鏉$爜瑙f瀽澶辫触,鏉$爜鏍煎紡閿欒锛屽繀椤诲寘鍚渶灏�5涓� @ 鍒嗛殧绗︼紒";
+                    sErrMsg = "1銆佹潯鐮佹。妗堜腑涓嶅瓨鍦ㄨ鏉$爜锛岃纭鏉$爜鏄惁姝g‘锛�2銆佹潯鐮佽В鏋愬け璐�,鏉$爜鏍煎紡閿欒锛屽繀椤诲寘鍚�3涓� @ 鍒嗛殧绗︽垨涓嶅皯浜�5涓� @ 鍒嗛殧绗︼紒";
                     return false;
                 }
                 string sHMaterNumber = str[0];      //鐗╂枡缂栫爜
                 string sHSupNumber = str[1];        //渚涘簲鍟嗙紪鐮�
-                string sHBatchNo = str[2];          //鏉ユ枡鎵瑰彿/鐗╂枡鍚嶇О
+                string sHBatchNo = str[2];          //鏉ユ枡鎵瑰彿/鐗╂枡鍚嶇О锛堝寘鍚�3涓狜鍜�5涓狜鐨勪负鎵瑰彿锛屽寘鍚�6涓狜鐨勪负鐗╂枡鍚嶇О锛�
                 string sHBarQty = str[3];           //鏉ユ枡鏁伴噺
-                string sHPOOrderBillNo = str[4];    //閲囪喘璁㈠崟缂栫爜
+                string sHPOOrderBillNo = str.Length > 4 ? str[4] : "";    //閲囪喘璁㈠崟缂栫爜
 
                 //瀹氫箟骞惰祴鍊兼潯鐮佽〃鎵�闇�鍐欏叆瀛楁鏁版嵁
                 Int64 HInterID = 0;             //涓籌D
@@ -63308,6 +63308,13 @@
                 string HPinfan = "";            //鍝佺暘
                 DateTime HEndDate = DateTime.Now; ;     //璁″垝瀹屽伐鏃ユ湡
 
+                //鑾峰彇鏉$爜绫诲瀷銆佹簮鍗曠被鍨�
+                if (str.Length == 4)
+                {
+                    HBarCodeType = "鎵规鏉$爜";
+                    HSourceBillType = "";
+                }
+
                 //鑾峰彇鐗╂枡鐩稿叧鏁版嵁
                 DataSet Mds = oCn.RunProcReturn("select top 1 HItemID,HNumber,HName,HModel,HUnitID,HISKFPERIOD,HEXPUNIT,HEXPPERIOD from Gy_Material with(nolock) where HNumber='" + sHMaterNumber + "' and HUSEORGID=" + HStockOrgID.ToString() + " order by HISKFPERIOD desc", "Gy_Material");
                 if (Mds.Tables[0].Rows.Count == 0)
@@ -63326,7 +63333,7 @@
                 }
 
                 //鑾峰彇鎵瑰彿
-                if (str.Length == 6)
+                if (str.Length == 6 || str.Length == 4)
                 {
                     HBatchNo = sHBatchNo;
                 }

--
Gitblit v1.9.1