From 01876d595c48c32c7e35dcbdef26177b0f5161dc Mon Sep 17 00:00:00 2001
From: yxj <yxj@hz-kingdee.com>
Date: 星期一, 15 十二月 2025 17:01:37 +0800
Subject: [PATCH] 小卫条码解析规则修改

---
 CLOUDWEB/WebService1.asmx.cs |   68 ++++++++++++++++++++++++---------
 1 files changed, 49 insertions(+), 19 deletions(-)

diff --git a/CLOUDWEB/WebService1.asmx.cs b/CLOUDWEB/WebService1.asmx.cs
index d990c7e..d02d410 100644
--- a/CLOUDWEB/WebService1.asmx.cs
+++ b/CLOUDWEB/WebService1.asmx.cs
@@ -63251,18 +63251,47 @@
                 SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
 
                 //鑾峰彇瀵瑰簲鏉$爜瑙f瀽鏁版嵁
+                string sHMaterNumber = "";      //鐗╂枡缂栫爜
+                string sHMaterName = "";        //鐗╂枡鍚嶇О
+                string sHSupNumber = "";        //渚涘簲鍟嗙紪鐮�
+                string sHBatchNo = "";          //鏉ユ枡鎵瑰彿
+                string sHBarQty = "";           //鏉ユ枡鏁伴噺
+                string sHPOOrderBillNo = "";    //閲囪喘璁㈠崟缂栫爜
                 string[] str = sBarCode.Split('@');
 
-                if (str.Length != 4 && str.Length < 6)
+                //鏉$爜瑙勫垯锛氱墿鏂欑紪鐮� @渚涘簲鍟嗙紪鐮� @鐢熶骇鏃ユ壒鍙�8浣嶆棩鏈熺爜 @閲囪喘璁㈠崟缂栫爜 @鏉ユ枡鎬绘暟閲�
+                if (str.Length == 5)
                 {
-                    sErrMsg = "1銆佹潯鐮佹。妗堜腑涓嶅瓨鍦ㄨ鏉$爜锛岃纭鏉$爜鏄惁姝g‘锛�2銆佹潯鐮佽В鏋愬け璐�,鏉$爜鏍煎紡閿欒锛屽繀椤诲寘鍚�3涓� @ 鍒嗛殧绗︽垨涓嶅皯浜�5涓� @ 鍒嗛殧绗︼紒";
+                    sHMaterNumber = str[0];
+                    sHSupNumber = str[1];
+                    sHBatchNo = str[2];
+                    sHPOOrderBillNo = str[3];
+                    sHBarQty = str[4];
+                }
+                //鏉$爜瑙勫垯锛氱墿鏂欑紪鐮� @渚涘簲鍟嗙紪鐮� @鏉ユ枡鎵瑰彿 @鏉ユ枡鏁伴噺 @閲囪喘璁㈠崟缂栫爜 @娴佹按鍙�
+                else if (str.Length == 6)
+                {
+                    sHMaterNumber = str[0];
+                    sHSupNumber = str[1];
+                    sHBatchNo = str[2];
+                    sHBarQty = str[3];
+                    sHPOOrderBillNo = str[4];
+                }
+                //鏉$爜瑙勫垯锛氱墿鏂欑紪鐮� @渚涘簲鍟嗙紪鐮� @鐗╂枡鍚嶇О @鎵瑰彿 @鏉ユ枡鏁伴噺 @閲囪喘璁㈠崟缂栫爜 @娴佹按鍙�
+                else if (str.Length == 7)
+                {
+                    sHMaterNumber = str[0];
+                    sHSupNumber = str[1];
+                    sHMaterName = str[2];
+                    sHBatchNo = str[3];
+                    sHBarQty = str[4];
+                    sHPOOrderBillNo = str[5];
+                }
+                else
+                {
+                    sErrMsg = "1銆佹潯鐮佹。妗堜腑涓嶅瓨鍦ㄨ鏉$爜锛岃纭鏉$爜鏄惁姝g‘锛�2銆佹潯鐮佽В鏋愬け璐�,鏉$爜鏍煎紡閿欒锛屽繀椤诲寘鍚�4-6涓� @ 鍒嗛殧绗︼紒";
                     return false;
                 }
-                string sHMaterNumber = str[0];      //鐗╂枡缂栫爜
-                string sHSupNumber = str[1];        //渚涘簲鍟嗙紪鐮�
-                string sHBatchNo = str[2];          //鏉ユ枡鎵瑰彿/鐗╂枡鍚嶇О锛堝寘鍚�3涓狜鍜�5涓狜鐨勪负鎵瑰彿锛屽寘鍚�6涓狜鐨勪负鐗╂枡鍚嶇О锛�
-                string sHBarQty = str[3];           //鏉ユ枡鏁伴噺
-                string sHPOOrderBillNo = str.Length > 4 ? str[4] : "";    //閲囪喘璁㈠崟缂栫爜
 
                 //瀹氫箟骞惰祴鍊兼潯鐮佽〃鎵�闇�鍐欏叆瀛楁鏁版嵁
                 Int64 HInterID = 0;             //涓籌D
@@ -63271,7 +63300,7 @@
                 Int64 HMaterID = 0;             //鐗╂枡ID
                 Int64 HUnitID = 0;              //璁¢噺鍗曚綅ID
                 Int64 HAuxPropID = 0;           //杈呭姪灞炴�D
-                string HBatchNo = "";           //鎵规鍙�
+                string HBatchNo = sHBatchNo;    //鎵规鍙�
                 string HMTONo = "";             //MTO鍙�
                 double HQty = DBUtility.ClsPub.isDoule(sHBarQty);   //鏁伴噺
                 double HinitQty = 0;            //鍒濆鍖栨暟閲忥紙鐢熸垚鏉$爜鏃舵暟閲忥級
@@ -63308,11 +63337,11 @@
                 string HPinfan = "";            //鍝佺暘
                 DateTime HEndDate = DateTime.Now; ;     //璁″垝瀹屽伐鏃ユ湡
 
-                //鑾峰彇鏉$爜绫诲瀷銆佹簮鍗曠被鍨�
-                if (str.Length == 4)
+                //鏁伴噺鍒ゆ柇
+                if (HQty <= 0)
                 {
-                    HBarCodeType = "鎵规鏉$爜";
-                    HSourceBillType = "";
+                    sErrMsg = "鏉$爜瑙f瀽澶辫触,鏉$爜鏁伴噺涓嶅厑璁稿皬浜�0锛�";
+                    return false;
                 }
 
                 //鑾峰彇鐗╂枡鐩稿叧鏁版嵁
@@ -63325,17 +63354,18 @@
                 else
                 {
                     HMaterID = DBUtility.ClsPub.isLong(Mds.Tables[0].Rows[0]["HItemID"]);
-                    HMaterName = DBUtility.ClsPub.isStrNull(Mds.Tables[0].Rows[0]["HName"]);
+                    if(sHMaterName!="")
+                    {
+                        HMaterName = sHMaterName;
+                    }
+                    else
+                    {
+                        HMaterName = DBUtility.ClsPub.isStrNull(Mds.Tables[0].Rows[0]["HName"]);
+                    }
                     HUnitID = DBUtility.ClsPub.isLong(Mds.Tables[0].Rows[0]["HUnitID"]);
                     HISKFPERIOD = DBUtility.ClsPub.isBool(Mds.Tables[0].Rows[0]["HISKFPERIOD"]);
                     HEXPUNIT = DBUtility.ClsPub.isStrNull(Mds.Tables[0].Rows[0]["HEXPUNIT"]);
                     HEXPPERIOD = DBUtility.ClsPub.isDoule(Mds.Tables[0].Rows[0]["HEXPPERIOD"]);
-                }
-
-                //鑾峰彇鎵瑰彿
-                if (str.Length == 6 || str.Length == 4)
-                {
-                    HBatchNo = sHBatchNo;
                 }
 
                 //鑾峰彇渚涘簲鍟嗙浉鍏虫暟鎹�

--
Gitblit v1.9.1