From b8f6235347ad2690727347e6ffa4693606d80b7d Mon Sep 17 00:00:00 2001
From: llj <132905093+newwwwwwtree@users.noreply.github.com>
Date: 星期四, 16 十月 2025 11:24:51 +0800
Subject: [PATCH] 1

---
 WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs |  141 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 141 insertions(+), 0 deletions(-)

diff --git a/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs b/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs
index c9f22a9..6fcbd9e 100644
--- a/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs
+++ b/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs
@@ -2095,5 +2095,146 @@
         }
         #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].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