From c0501b5a5465f9347b220f71256288ee1ba62498 Mon Sep 17 00:00:00 2001
From: chenhaozhe <cgz@hz-kingdee.com>
Date: 星期四, 16 十月 2025 09:49:36 +0800
Subject: [PATCH] 1

---
 WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs |  183 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 181 insertions(+), 2 deletions(-)

diff --git a/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs b/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs
index 51816bb..9fee2b0 100644
--- a/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs
+++ b/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs
@@ -728,7 +728,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.Message = "鍗曟嵁宸插叧闂�!";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -736,7 +736,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1360,6 +1360,43 @@
             {
 
                 ds = oCN.RunProcReturn("select * from h_v_Kf_POStockInBillList where hmainid =" + HInterID + " and hsubid = " + HSubID, "h_v_Kf_POStockInBillList");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏈煡璇㈠埌婧愬崟淇℃伅锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 閲囪喘鍏ュ簱鍗�  鏍规嵁涓诲唴鐮佷笌瀛愬唴鐮佽幏鍙栭噰璐叆搴撳崟鏁版嵁
+        [Route("Kf_POStockInBill/loadKf_POStockInBillEdit_Push")]
+        [HttpGet]
+        public object loadKf_POStockInBillEdit_Push(long HInterID, long HSubID)
+        {
+            try
+            {
+
+                ds = oCN.RunProcReturn("select * from h_v_Kf_POStockInBillEdit where hmainid =" + HInterID + " and hsubid = " + HSubID, "h_v_Kf_POStockInBillEdit");
                 if (ds == null || ds.Tables[0].Rows.Count == 0)
                 {
                     objJsonResult.code = "0";
@@ -2058,5 +2095,147 @@
         }
         #endregion
 
+
+        #region 閲囪喘鍏ュ簱鍗� 瀹℃牳鍚屾 璋冪敤API
+        [Route("Kf_POStockInBill/Kf_POStockInBillSaveApi")]
+        [HttpPost]
+        public object Kf_POStockInBillSaveApi([FromBody] JObject sMainSub)
+        {
+            try
+            {
+                oCN.BeginTran();
+                LogService.Write("鐢熶骇鍏ュ簱鍗曞悓姝�,淇濆瓨鏂规硶鎵ц锛�" + sMainSub.ToString());
+
+                var model = sMainSub["model"].ToString();
+                var entry = sMainSub["model"]["HENTRY"].ToString();
+
+                model = "[" + model.ToString() + "]";
+                List<ClsKf_ICStockBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsKf_ICStockBillMain>>(model);
+                List<ClsKf_ICStockBillSub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsKf_ICStockBillSub>>(entry);
+
+
+                // 鍒ゆ柇 鏁版嵁搴撲腑鏄惁瀛樺湪id鍜屽崟鎹彿鐩哥瓑鐨勬墦鍗曟嵁锛屽瓨鍦紝鍒欓噸寤猴紝鍙湁id鍙风浉绛夛紝鍒欑敵璇锋柊鐨刬d鍙�
+                var ds1 = oCN.RunProcReturn($@"
+                select hmainid HInterID, 鍗曟嵁鍙� HBillNO from h_v_Kf_POStockInBillList where hmainid = {mainList[0].HInterID}
+                ", "h_v_Kf_POStockInBillList");
+
+                if (ds1.Tables[0].Rows.Count > 0 && ds1.Tables[0].Rows[0]["HInterID"] != null)
+                {
+                    if (string.Equals(ds1.Tables[0].Rows[0]["HBillNo"].ToString(), mainList[0].HBillNo, StringComparison.OrdinalIgnoreCase))
+                    {
+                        string sql = string.Empty;
+                        sql = $"delete Kf_ICStockBillMain where HinterID = {mainList[0].HInterID}";
+                        oCN.RunProc(sql);
+                        sql = $"delete Kf_ICStockBillSub where HinterID = {mainList[0].HInterID}";
+                        oCN.RunProc(sql);
+                    }
+                    else
+                    {
+                        // 閲嶆柊鐢宠HInterID
+                        var HInterID_Exch = DBUtility.ClsPub.CreateBillID("1201", ref DBUtility.ClsPub.sExeReturnInfo);
+                        mainList[0].HInterID = HInterID_Exch;
+
+                        foreach (var oSub in subList)
+                        {
+                            oSub.HInterID = HInterID_Exch;
+                        }
+
+                    }
+                }
+
+
+
+                // 涓昏〃
+                oCN.RunProc($@"Insert Into Kf_ICStockBillMain    
+                    (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate
+	                ,HBillNo,HBillStatus,HSupID,HManagerID,HEmpID,HDeptID,HSecManagerID,HKeeperID,HRemark,HMaker,HMakeDate,HCurID,HExRate,HWHID,HInnerBillNo,HExplanation
+                    ,HChecker, HCheckDate, HSTOCKORGID)
+                    values(
+                    '{mainList[0].HInterID}',
+                    '{mainList[0].HYear}',
+                    '{mainList[0].HPeriod}',
+                    '{mainList[0].HBillType}',
+                    '{mainList[0].HBillSubType}',
+                    '{mainList[0].HDate}',
+                    '{mainList[0].HBillNo}',
+                    {mainList[0].HBillStatus},
+                    '{mainList[0].HSupID}',
+                    '{mainList[0].HManagerID}',
+                    '{mainList[0].HEmpID}',
+                    '{mainList[0].HDeptID}',
+                    '{mainList[0].HSecManagerID}',
+                    '{mainList[0].HKeeperID}',
+                    '{mainList[0].HRemark}',
+                    '{mainList[0].HMaker}',
+                    '{mainList[0].HMakeDate}',
+                    '{mainList[0].HCurID}',  
+                    '{mainList[0].HExRate}',  
+                    '{mainList[0].HWHID}',
+                    '{mainList[0].HInnerBillNo}',
+                    '{mainList[0].HExplanation}',
+                    '{mainList[0].HChecker}',
+                    '{mainList[0].HCheckDate}',
+                    {mainList[0].HSTOCKORGID}
+                    )
+                ");
+                // 瀛愯〃
+                foreach (var osub in subList)
+                {
+
+                    oCN.RunProc($@"Insert into Kf_ICStockBillSub 
+                    (HInterID,HEntryID,HMaterID,HUnitID,HQtyMust,HQty,HPrice
+	                ,HMoney,HWHID,HSPID,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HPOOrderInterID
+                    ,HPOOrderEntryID,HPOORderBillNo,HSecUnitID,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo,HRelationQty,HSecUnitRate,HPropertyID) 
+                    values (
+                        '{osub.HInterID}', 
+                        '{osub.HEntryID}', 
+                        '{osub.HMaterID}',
+                        '{osub.HUnitID}', 
+                        '{osub.HQtyMust}', 
+                        '{osub.HQty}',
+                        '{osub.HPrice}',
+                        '{osub.HMoney}',
+                        '{osub.HWHID}',
+                        '{osub.HSPID}',
+                        '{osub.HRemark}',
+                        '{osub.HSourceInterID}',
+                        '{osub.HSourceEntryID}',
+                        '{osub.HSourceBillNo}',
+                        '{osub.HSourceBillType}',
+                        '{osub.HPOOrderInterID}',
+                        '{osub.HPOOrderEntryID}',
+                        '{osub.HPOOrderBillNo}',
+                        '{osub.HSecUnitID}',
+                        '{osub.HSeOrderInterID}',
+                        '{osub.HSeOrderEntryID}',
+                        '{osub.HSeOrderBillNo}',
+                        '{osub.HRelationQty}',
+                        '{osub.HSecUnitRate}',
+                        '{osub.HPropertyID}'
+                    )
+                    ");
+                }
+
+
+                oCN.Commit();
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍗曟嵁淇濆瓨鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                LogService.Write("鐢熶骇鍏ュ簱鍗曞悓姝ュ紓甯�,淇濆瓨鏂规硶鎵ц瀹屾垚寮傚父锛�" + e.Message.ToString());
+
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1