From d430c8baf7d62f95a9b22854dc7e1bb82e3e1996 Mon Sep 17 00:00:00 2001
From: zrg <z1873@LAPTOP-EAVL132E>
Date: 星期六, 09 五月 2026 17:13:30 +0800
Subject: [PATCH] 1

---
 WebAPI/Controllers/条码管理/WEBSController.cs |  108 +++++++++++++++++++++++++++++++++--
 WarM/条码打印/Gy_BarCodeBill_Rework.cs        |   40 ++++++------
 2 files changed, 120 insertions(+), 28 deletions(-)

diff --git "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_Rework.cs" "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_Rework.cs"
index 3ade459..23ba540 100644
--- "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_Rework.cs"
+++ "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_Rework.cs"
@@ -601,28 +601,28 @@
                 if (oSystemParameter.ShowBill(ref Ret))
                 {
                     //鐢熸垚鐗╂枡鏉$爜鏃讹紝鏈哄瀷鐮佷笉鍏佽涓虹┖,濡傝嫢鐗╂枡浠g爜鍓嶇紑涓嶄负G鎴朙鐨勶紝鍙烦杩囨帶鍒�
-                    if (oSystemParameter.omodel.Gy_BarCodeBill_Rework_Ctrl != "")
-                    {
-                        string[] HMaterNumberPrefix = oSystemParameter.omodel.Gy_BarCodeBill_Rework_Ctrl.Split(',');
-                        
-                        for (int j = 0; j < grdMain.Rows.Count; j++)
-                        {
-                            if (ClsPub.isLong(grdMain.Rows[j].Cells[HMaterIDCol].Value) == 0)
-                            {
-                                continue;
-                            }
+                    //if (oSystemParameter.omodel.Gy_BarCodeBill_Rework_Ctrl != "")
+                    //{
+                    //    string[] HMaterNumberPrefix = oSystemParameter.omodel.Gy_BarCodeBill_Rework_Ctrl.Split(',');
 
-                            char HMaterfirstChar = grdMain.Rows[j].Cells[HMaterNumberCol].Value.ToString()[0];
+                    //    for (int j = 0; j < grdMain.Rows.Count; j++)
+                    //    {
+                    //        if (ClsPub.isLong(grdMain.Rows[j].Cells[HMaterIDCol].Value) == 0)
+                    //        {
+                    //            continue;
+                    //        }
 
-                            if (ClsPub.isLong(grdMain.Rows[j].Cells[HMaterIDCol].Value) != 0 && grdMain.Rows[j].Cells[HSubjoin2Col].Value.ToString() == "" && HMaterNumberPrefix.Contains(HMaterfirstChar.ToString()))
-                            {
-                                MessageBox.Show("绗�" + (j + 1) + "琛岋紝鏈哄瀷鐮佹湭缁存姢锛屼笉鍏佽鐢熸垚鏉$爜");
-                                bc.Enabled = true;
-                                return;
-                            }
-                        }
-                    }
-                }                
+                    //        char HMaterfirstChar = grdMain.Rows[j].Cells[HMaterNumberCol].Value.ToString()[0];
+
+                    //        if (ClsPub.isLong(grdMain.Rows[j].Cells[HMaterIDCol].Value) != 0 && grdMain.Rows[j].Cells[HSubjoin2Col].Value.ToString() == "" && HMaterNumberPrefix.Contains(HMaterfirstChar.ToString()))
+                    //        {
+                    //            MessageBox.Show("绗�" + (j + 1) + "琛岋紝鏈哄瀷鐮佹湭缁存姢锛屼笉鍏佽鐢熸垚鏉$爜");
+                    //            bc.Enabled = true;
+                    //            return;
+                    //        }
+                    //    }
+                    //}
+                }
 
                 oCn.BeginTran();
                 Application.DoEvents();
diff --git "a/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs" "b/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs"
index 596c8ae..18ec038 100644
--- "a/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs"
+++ "b/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs"
@@ -15620,9 +15620,10 @@
         #region 鐗╂枡鍩虹璧勬枡鍚屾
         [Route("WEBSController/MaterialDataToLocalByKDWebApi")]
         [HttpGet]
-        public object MaterialDataToLocalByKDWebApi(string HDate,int limit)
+        public object MaterialDataToLocalByKDWebApi(string HDate, int limit)
         {
             bool hasMore = true;//鏄惁寰幆鏌ヨ
+            string sJson = "";
             try
             {
                 //璁块棶閲戣澏
@@ -15651,7 +15652,7 @@
                 while (hasMore) //寰幆鍒嗙粍鏌ヨ锛岄伩鍏嶆紡鍚屾
                 {
                     //鎷兼帴鍗曟嵁鏌ヨ鎺ュ彛鍙傛暟
-                    string sJson = $"{{\"FormId\":\"BD_MATERIAL\",\"FieldKeys\":\"{fieldKeys}\",\"FilterString\":\"FApproveDate >= '{HDate}' and FLOCALEID = 2052\",\"Limit\":{limit},\"StartRow\":{startRow},\"TopRowCount\":0}}";
+                    sJson = $"{{\"FormId\":\"BD_MATERIAL\",\"FieldKeys\":\"{fieldKeys}\",\"FilterString\":\"FApproveDate >= '{HDate}' and FLOCALEID = 2052\",\"Limit\":{limit},\"StartRow\":{startRow},\"TopRowCount\":0}}";
 
                     //璋冪敤閲戣澏webapi鍗曟嵁鏌ヨ鎺ュ彛
                     var HReurnData = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery",
@@ -15667,7 +15668,7 @@
                     else
                     {
                         startRow += limit; // 鍚﹀垯锛屽鍔犺捣濮嬭绱㈠紩锛屽噯澶囪姹備笅涓�椤�
-                    }                    
+                    }
 
                     foreach (JObject item in formattedData)
                     {
@@ -15703,7 +15704,7 @@
                 }
 
                 oCn.Commit(); //鎻愪氦浜嬪姟
-                                                                        
+
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "鐗╂枡淇℃伅鍚屾鎴愬姛";
@@ -15713,10 +15714,104 @@
             catch (Exception e)
             {
                 hasMore = false;
+                LogService.Write("鍗曟嵁鏌ヨ鐗╂枡淇℃伅鍙戠敓寮傚父锛侊細" + e.ToString() + "=======閫掑叆JSON鍙傛暟锛�" + sJson);
                 oCn.RollBack();//鍥炴粴浜嬪姟
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
                 objJsonResult.Message = "鍗曟嵁鏌ヨ鐗╂枡淇℃伅鍙戠敓寮傚父锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 璁¢噺鍗曚綅鍩虹璧勬枡鍚屾[鎺ュ彛閲岄潰鏌ヨ涓嶅埌鍒涘缓缁勭粐鍜屼娇鐢ㄧ粍缁囷紝鍏堝瓨0锛岀劧鍚庢暟鎹簱鍒锋柊涓媇
+        [Route("WEBSController/UnitDataToLocalByKDWebApi")]
+        [HttpGet]
+        public object UnitDataToLocalByKDWebApi(string HDate, int limit)
+        {
+            bool hasMore = true;//鏄惁寰幆鏌ヨ
+            try
+            {
+                //璁块棶閲戣澏
+                string sCLOUDUseName = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "UserName");
+                string sCLOUDPsd = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "PassWord");
+                string dbId = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "DbId");
+                ApiClient client = new ApiClient(Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "KDApiUrl"));
+                bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
+                string HReturn;
+                int startRow = 0;//鍒嗛〉锛屼粠绗�1鏉″紑濮嬫煡璇�               
+                List<JObject> allData = new List<JObject>();//鎺ユ敹瀛樺偍鎵�鏈夋煡璇㈠埌鐨勬暟鎹�
+
+                if (!bLogin)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍚屾鍩虹璧勬枡澶辫触,閲戣澏璐﹀彿鐧诲綍寮傚父銆�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //瑕侀�氳繃鎺ュ彛鏌ヨ鐨勫瓧娈�
+                string fieldKeys = "FUNITID,FNumber,FName,FFORBIDSTATUS";
+
+                oCn.BeginTran();//寮�濮嬩簨鍔�
+
+                while (hasMore) //寰幆鍒嗙粍鏌ヨ锛岄伩鍏嶆紡鍚屾
+                {
+                    //鎷兼帴鍗曟嵁鏌ヨ鎺ュ彛鍙傛暟
+                    string sJson = $"{{\"FormId\":\"BD_UNIT\",\"FieldKeys\":\"{fieldKeys}\",\"FilterString\":\"FApproveDate >= '{HDate}' and FLOCALEID = 2052\",\"Limit\":{limit},\"StartRow\":{startRow},\"TopRowCount\":0}}";
+
+                    //璋冪敤閲戣澏webapi鍗曟嵁鏌ヨ鎺ュ彛
+                    var HReurnData = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery",
+                    new object[] { sJson });
+
+                    //灏嗛噾铦跺崟鎹煡璇EBAPI鎺ュ彛杩斿洖鐨勭函鏁扮粍杞崲涓哄甫瀛楁鍚嶇殑瀵硅薄鍒楄〃
+                    JArray formattedData = ConvertKingdeeResultToObjects(HReurnData, fieldKeys);
+
+                    if (formattedData.Count < limit)
+                    {
+                        hasMore = false; // 濡傛灉鏈杩斿洖鐨勬暟閲忓皯浜庤姹傜殑 limit锛岃鏄庡凡缁忔槸鏈�鍚庝竴椤典簡
+                    }
+                    else
+                    {
+                        startRow += limit; // 鍚﹀垯锛屽鍔犺捣濮嬭绱㈠紩锛屽噯澶囪姹備笅涓�椤�
+                    }
+
+                    foreach (JObject item in formattedData)
+                    {
+                        //鍒犻櫎鍘熸湁璁板綍
+                        oCn.RunProc($"delete from Gy_Unit where HItemID = {item["FUNITID"]?.ToString()}");
+
+                        oCn.RunProc("set identity_insert Gy_Unit on");
+
+                        //閲嶆柊鍐欏叆琛�
+                        oCn.RunProc($"insert into Gy_Unit(HItemID,HERPItemID,HNumber,HName,HShortNumber,HParentID" +
+                        $", HLevel,HEndFlag,HStopflag,HRemark,HUseFlag,HRate" +
+                        $", HMakeTime,HStandard,HCREATEORGID,HUSEORGID) " +
+                        $" values ( {item["FUNITID"]?.ToString()},{item["FUNITID"]?.ToString()},'{item["FNumber"]?.ToString()}','{item["FName"]?.ToString()}','{item["FNumber"]?.ToString()}'" +
+                        $",0,1,1,{(item["FFORBIDSTATUS"]?.ToString() == "A" ? 0 : 1)},'WEBAPI-瀵煎叆','鏈娴�','1',getdate(),1,{0},{0}" +
+                        $")");
+
+                        oCn.RunProc("set identity_insert Gy_Unit off");
+                    }
+                }
+
+                oCn.Commit(); //鎻愪氦浜嬪姟
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "璁¢噺鍗曚綅淇℃伅鍚屾鎴愬姛";
+                objJsonResult.data = "";
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                hasMore = false;
+                oCn.RollBack();//鍥炴粴浜嬪姟
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍗曟嵁鏌ヨ璁¢噺鍗曚綅淇℃伅鍙戠敓寮傚父锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -15911,7 +16006,6 @@
         }
 
         #endregion
-
 
         #region 渚涘簲鍟嗗熀纭�璧勬枡鍚屾
         [Route("WEBSController/SupplierDataToLocalByKDWebApi")]
@@ -16204,7 +16298,6 @@
 
         #endregion
 
-
         #region 瀹㈡埛鍩虹璧勬枡鍚屾
         [Route("WEBSController/CustomerDataToLocalByKDWebApi")]
         [HttpGet]
@@ -16311,7 +16404,6 @@
 
         #endregion
 
-
         #region 缁勭粐鍩虹璧勬枡鍚屾
         [Route("WEBSController/ORGANIZATIONSDataToLocalByKDWebApi")]
         [HttpGet]
@@ -16402,7 +16494,6 @@
 
         #endregion
 
-
         #region 杈呭姪灞炴�у熀纭�璧勬枡鍚屾
         [Route("WEBSController/PropertyDataToLocalByKDWebApi")]
         [HttpGet]
@@ -16492,6 +16583,7 @@
         }
 
         #endregion
+
         #endregion
 
     }

--
Gitblit v1.9.1