From 82de67c48acaf472a6f8bb8b53f3f4feec9f5e54 Mon Sep 17 00:00:00 2001
From: zrg <z1873@LAPTOP-EAVL132E>
Date: 星期五, 17 十月 2025 10:42:18 +0800
Subject: [PATCH] 1

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

diff --git a/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs b/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs
index c9f22a9..e5006c0 100644
--- a/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs
+++ b/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs
@@ -2095,5 +2095,165 @@
         }
         #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鍜屽崟鎹彿鐩哥瓑鐨勫崟鎹紝瀛樺湪锛屽垯閲嶅缓锛屽彧鏈塱d鍙风浉绛夛紝鍒欑敵璇锋柊鐨刬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
+                ,HAddress,HSupID,HCurID,HWHID,HEmpID,HManagerID,HSecManagerID,HKeeperID,HDeptID,HExplanation,HRemark
+                ,HInnerBillNo,HSTOCKORGID,HOWNERID,HMaker,HMakeDate,HProjectID,HInvoiceBillNo
+                ,HChecker, HCheckDate)
+                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].HAddress}',
+                '{mainList[0].HSupID}',
+                '{mainList[0].HCurID}',
+                '{mainList[0].HWHID}',
+                '{mainList[0].HEmpID}',
+                '{mainList[0].HManagerID}',
+                '{mainList[0].HSecManagerID}',
+                '{mainList[0].HKeeperID}',
+                '{mainList[0].HDeptID}',
+                '{mainList[0].HExplanation}',
+                '{mainList[0].HRemark}',
+                '{mainList[0].HInnerBillNo}',
+                {mainList[0].HSTOCKORGID},
+                '{mainList[0].HOWNERID}',
+                '{mainList[0].HMaker}',
+                '{mainList[0].HMakeDate}',
+                '{mainList[0].HProjectID}',
+                '{mainList[0].HInvoiceBillNo}',
+                '{mainList[0].HChecker}',
+                '{mainList[0].HCheckDate}'
+                )
+            ");
+
+                // 瀛愯〃鎻掑叆
+                foreach (var osub in subList)
+                {
+                   
+                    oCN.RunProc($@"Insert into Kf_ICStockBillSub 
+                    (HInterID,HEntryID,HMaterID,HUnitID,HQtyMust,HQty,HPrice
+                    ,HMoney,HOrderPrice,HWHID,HSPID,HRelationQty,HBatchNo
+                    ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType
+                    ,HPOOrderInterID,HPOOrderEntryID ,HPOOrderBillNo
+                    ,HPropertyID,HSecUnitID,HSecUnitRate,HPlanMode,HRemark,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo
+                    ,HTaxRate,HTaxPrice,HlineTotal) 
+                    values (
+                        '{osub.HInterID}', 
+                        '{osub.HEntryID}', 
+                        '{osub.HMaterID}',
+                        '{osub.HUnitID}', 
+                        '{osub.HQtyMust}', 
+                        '{osub.HQty}',
+                        '{osub.HPrice}',
+                        '{osub.HMoney}',
+                        '{osub.HOrderPrice}',
+                        '{osub.HWHID}',
+                        '{osub.HSPID}',
+                        '{osub.HRelationQty}',
+                        '{osub.HBatchNo}',
+                        '{osub.HSourceInterID}',
+                        '{osub.HSourceEntryID}',
+                        '{osub.HSourceBillNo}',
+                        '{osub.HSourceBillType}',
+                        '{osub.HPOOrderInterID}',
+                        '{osub.HPOOrderEntryID}',
+                        '{osub.HPOOrderBillNo}',
+                        '{osub.HPropertyID}',
+                        '{osub.HSecUnitID}',
+                        '{osub.HSecUnitRate}',
+                        '{osub.HPlanMode}',
+                        '{osub.HRemark}',
+                        '{osub.HSeOrderInterID}',
+                        '{osub.HSeOrderEntryID}',
+                        '{osub.HSeOrderBillNo}',
+                        '{osub.HTaxRate}',
+                        '{osub.HTaxPrice}',
+                        '{osub.HlineTotal}'
+                    )
+                    ");
+                }
+
+                //閲囪喘鍏ュ簱鍗曟柊澧炲洖濉噰璐叆搴撳叧鑱旀暟閲�
+                oCN.RunProc("exec h_p_Cg_UpDateRelation_POOrderToPOStockIn_Add " + mainList[0].HInterID);
+
+                //閲囪喘鍏ュ簱鍗曟柊澧炲洖濉敹鏂欓�氱煡鍗曞叧鑱旀暟閲�
+                oCN.RunProc("exec h_p_Cg_UpDateRelation_POInStockToPOStockIn_Add " + mainList[0].HInterID);
+
+
+                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