From 7d6e94ce50f70464ebd27ceb8c2e88b95c48b704 Mon Sep 17 00:00:00 2001
From: zrg <z1873@LAPTOP-EAVL132E>
Date: 星期一, 20 十月 2025 14:07:05 +0800
Subject: [PATCH] 1

---
 SyntacticSugar/obj/Debug/SyntacticSugar.csproj.AssemblyReference.cache |    0 
 WebAPI/ListModels.cs                                                   |   10 
 WebAPI/Controllers/仓存管理/委外用料/WW_PPBomBillController.cs                 |  121 +++++++++
 WebAPI/Models/ClsWW_EntrustOrderBillMainSub.cs                         |   55 ++++
 WebAPI/Models/ClsWW_PPBomBill.cs                                       |   88 +++++++
 WebAPI/Models/ClsWW_EntrustOrderBillMain_1.cs                          |   48 ++++
 WebAPI/Controllers/CGGL/WW_EntrustOrderBillController.cs               |  160 +++++++++++++
 WebAPI/Properties/PublishProfiles/FolderProfile15.pubxml.user          |   44 +-
 WebAPI/Controllers/BaseSet/Gy_PropertyController.cs                    |   30 +
 WebAPI/WebAPI.csproj                                                   |    4 
 WebAPI/Controllers/BaseSet/Gy_SourceController.cs                      |   56 ++++
 WebAPI/Models/ClsWW_PPBomBillSubERP.cs                                 |   67 +++++
 12 files changed, 648 insertions(+), 35 deletions(-)

diff --git a/SyntacticSugar/obj/Debug/SyntacticSugar.csproj.AssemblyReference.cache b/SyntacticSugar/obj/Debug/SyntacticSugar.csproj.AssemblyReference.cache
new file mode 100644
index 0000000..206fb8c
--- /dev/null
+++ b/SyntacticSugar/obj/Debug/SyntacticSugar.csproj.AssemblyReference.cache
Binary files differ
diff --git a/WebAPI/Controllers/BaseSet/Gy_PropertyController.cs b/WebAPI/Controllers/BaseSet/Gy_PropertyController.cs
index 194f09e..477ac6b 100644
--- a/WebAPI/Controllers/BaseSet/Gy_PropertyController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_PropertyController.cs
@@ -370,14 +370,23 @@
         [HttpPost]
         public object SaveGy_PropertyListApi([FromBody] JObject msg)
         {
+            LogService.Write("寮�濮嬪悓姝�");
             try
             {
                 var _value = msg["model"].ToString();
+                _value = _value.Replace("\"hendflag\": \"1\"", "\"hendflag\": true")
+                               .Replace("\"hstopflag\": \"0\"", "\"hstopflag\": false")
+                               .Replace("\"hendflag\": \"0\"", "\"hendflag\": false")
+                               .Replace("\"hstopflag\": \"1\"", "\"hstopflag\": true");
+
+                LogService.Write($"澶勭悊鍚庣殑JSON: {_value}");
+                //LogService.Write(_value);
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                 ListModels oListModels = new ListModels();
                 List<Model.ClsGy_Property_Model> lsmain = new List<Model.ClsGy_Property_Model>();
                 lsmain = oListModels.getObjectByJson_Gy_Property(_value);
                 string sql = string.Empty;
+                LogService.Write(lsmain);
                 //淇濆瓨
                 oCN.BeginTran();
                 sql = $"delete Gy_Property where HItemID = {lsmain[0].HItemID}";
@@ -385,20 +394,22 @@
                 sql = "set identity_insert Gy_Property on";
                 oCN.RunProc(sql);
 
-                oCN.RunProc($@"insert into Gy_Property(HItemID,HNumber,HName,HHelpCode,HShortNumber,HParentID
+                oCN.RunProc($@"insert into Gy_Property(HItemID,HNumber,HShortNumber,HName,HHelpCode,HParentID
                     ,HLevel,HEndFlag,HStopflag,HRemark,HPropertyTypeID,HUseFlag,HERPItemID,HMakeTime)
-                  values({lsmain[0].HItemID},'{lsmain[0].HNumber}','{lsmain[0].HName}','{lsmain[0].HHelpCode}','{lsmain[0].HShortNumber}',{lsmain[0].HParentID},{lsmain[0].HLevel}
+                  values({lsmain[0].HItemID},'{lsmain[0].HNumber}','{lsmain[0].HShortNumber}','{lsmain[0].HName}','{lsmain[0].HHelpCode}',{lsmain[0].HParentID},{lsmain[0].HLevel}
            ,{Convert.ToString(lsmain[0].HEndFlag ? 1 : 0)},{Convert.ToString(lsmain[0].HStopflag ? 1 : 0) },'{lsmain[0].HRemark}',{lsmain[0].HPropertyTypeID},'{lsmain[0].HUseFlag}',{lsmain[0].HERPItemID},'{lsmain[0].HMakeTime}')", ref DBUtility.ClsPub.sExeReturnInfo);
+                LogService.Write("涓昏〃鎻掑叆鎴愬姛");
 
-
-                //鏂板杈呭姪瀛愯〃锛�
-                oCN.RunProc($@"insert into Gy_PropertyEntry
-                            (HItemID,HERPItemID,HAuxpuID,HMaterID,HISDefault,HStopflag,HSno)
-                  values({lsmain[1].HItemID},'{lsmain[1].HERPItemID}','{lsmain[1].HAuxpuID}','{lsmain[1].HMaterID}','{lsmain[1].HISDefault}',{Convert.ToString(lsmain[0].HStopflag ? 1 : 0) },'{lsmain[1].HSno}')", ref DBUtility.ClsPub.sExeReturnInfo);
-                //淇敼涓婄骇涓洪潪鏈骇浠g爜
-                sql = "set identity_insert Gy_Property off";
+                ////鏂板杈呭姪瀛愯〃锛�
+                //oCN.RunProc($@"insert into Gy_PropertyEntry
+                //            (HItemID,HERPItemID,HAuxpuID,HMaterID,HISDefault,HStopflag,HSno)
+                //  values({lsmain[1].HItemID},'{lsmain[1].HERPItemID}','{lsmain[1].HAuxpuID}','{lsmain[1].HMaterID}','{lsmain[1].HISDefault}',{Convert.ToString(lsmain[0].HStopflag ? 1 : 0) },'{lsmain[1].HSno}')", ref DBUtility.ClsPub.sExeReturnInfo);
+                ////淇敼涓婄骇涓洪潪鏈骇浠g爜
+                //sql = "set identity_insert Gy_Property off";
+                //LogService.Write("瀛愯〃鎻掑叆鎴愬姛");
                 oCN.RunProc(sql);
                 oCN.Commit();
+
 
 
 
@@ -412,6 +423,7 @@
             }
             catch (Exception e)
             {
+                LogService.Write("寮傚父淇℃伅锛�" + e.ToString());
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
                 objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
diff --git a/WebAPI/Controllers/BaseSet/Gy_SourceController.cs b/WebAPI/Controllers/BaseSet/Gy_SourceController.cs
index 082f9eb..4dd63cb 100644
--- a/WebAPI/Controllers/BaseSet/Gy_SourceController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_SourceController.cs
@@ -364,7 +364,61 @@
                 return objJsonResult;
             }
         }
-   
+        #region 鐢熶骇璧勬簮鍒楄〃-鍒嗛〉
+        [Route("Gy_Source/list_byPage")]
+        [HttpGet]
+        public object GetSourceList_byPage(string sWhere, string user, string Organization, int page, int size)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();  //瀹氫箟澹版槑鍙橀噺 锛屾妸閫氳繃 new List<object>()鍒涘缓鐨� 瀹炰緥锛岃祴鍊肩粰鍙橀噺
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_Source_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愭煡璇�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Gy_SourceList " + page + "," + size + ",'" + Organization + "'," + "''", "h_p_Gy_SourceList");
+                }
+                else
+                {
+                    sWhere = sWhere.Replace("'", "''");
+
+                    ds = oCN.RunProcReturn("exec h_p_Gy_SourceList " + page + "," + size + ",'" + Organization + "','" + sWhere + "'", "h_p_Gy_SourceList");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
         /// <summary>
         /// 鐢熶骇璧勬簮鑾峰彇淇℃伅
         /// </summary>
diff --git a/WebAPI/Controllers/CGGL/WW_EntrustOrderBillController.cs b/WebAPI/Controllers/CGGL/WW_EntrustOrderBillController.cs
index a3bb04e..a603d5b 100644
--- a/WebAPI/Controllers/CGGL/WW_EntrustOrderBillController.cs
+++ b/WebAPI/Controllers/CGGL/WW_EntrustOrderBillController.cs
@@ -6,6 +6,7 @@
 using System.Collections.Generic;
 using System.Data;
 using System.Data.SqlClient;
+using System.Linq;
 using System.Web.Http;
 using WebAPI.Models;
 
@@ -357,7 +358,166 @@
             }
         }
 
+        #region 濮斿璁㈠崟 閲戣澏鍚屾
+        [Route("WW_EntrustOrderBill/SaveWW_EntrustOrderBillListApi")]
+        [HttpPost]
+        public object SaveWW_EntrustOrderBillListApi([FromBody] JObject sMainSub)
+        {
+            LogService.Write("寮�濮嬪悓姝�");
+            try
+            {
+                var model = sMainSub["model"].ToString();
+                var entry = sMainSub["model"]["HENTRY"].ToString();
+                var ppbomModel = sMainSub["ppbomModel"].ToString();
+                var ppbomEntry = sMainSub["ppbomModel"]["HENTRY"].ToString();
+                model = "[" + model.ToString() + "]";
+                ppbomModel = "[" + ppbomModel.ToString() + "]";
+                LogService.Write(model);
+                LogService.Write(entry);
+                LogService.Write(ppbomModel);
+                LogService.Write(ppbomEntry);
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                ListModels oListModels = new ListModels();
+
+                List<ClsWW_EntrustOrderBillMain_1> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsWW_EntrustOrderBillMain_1>>(model);
+                List<ClsWW_EntrustOrderBillMainSub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsWW_EntrustOrderBillMainSub>>(entry);
 
 
+                List<ClsWW_PPBomBill> ppbomMainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsWW_PPBomBill>>(ppbomModel);
+                List<ClsWW_PPBomBillSubERP> ppbomSubList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsWW_PPBomBillSubERP>>(ppbomEntry);
+                // 娣诲姞绌哄�兼鏌�
+                if (mainList == null || mainList.Count == 0)
+                {
+                    throw new Exception("涓昏〃鏁版嵁鍙嶅簭鍒楀寲澶辫触");
+                }
+                if (ppbomMainList == null || ppbomMainList.Count == 0)
+                {
+                    throw new Exception("鐢ㄦ枡涓昏〃鏁版嵁鍙嶅簭鍒楀寲澶辫触");
+                }
+
+                LogService.Write($"mainList 鏄惁涓虹┖: {mainList == null}");
+                LogService.Write($"mainList 鏁伴噺: {mainList?.Count ?? 0}");
+                LogService.Write($"ppbomMainList 鏄惁涓虹┖: {ppbomMainList == null}");
+                LogService.Write($"ppbomMainList 鏁伴噺: {ppbomMainList?.Count ?? 0}");
+                string sql = string.Empty;
+                LogService.Write(mainList);
+                LogService.Write(subList);
+                //淇濆瓨
+                oCN.BeginTran();
+                sql = $"delete from WW_EntrustOrderBillMain where HInterID = {mainList[0].HInterID}";
+                LogService.Write($"Hinter ID涓簕mainList[0].HInterID}");
+                oCN.RunProc(sql);
+                sql = $"delete from WW_EntrustOrderBillSub where HInterID= {mainList[0].HInterID}";
+                oCN.RunProc(sql);
+
+                //濮斿鐢ㄦ枡娓呭崟
+                sql = $"delete from WW_PPBomBillMain where HInterID = {mainList[0].HInterID}";
+                LogService.Write($"Hinter ID涓簕mainList[0].HInterID}");
+                oCN.RunProc(sql);
+                sql = $"delete from WW_PPBomBillSub where HInterID= {mainList[0].HInterID}";
+                oCN.RunProc(sql);
+
+                oCN.RunProc($@"insert into WW_EntrustOrderBillMain
+	            (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate
+	            ,HBillNo,HBillStatus
+	            ,HAddress,HSSID,HSSDate,HSupID,HCurID
+	            ,HExRate,HEmpID,HManagerID,HDeptID,HExplanation,HRemark,HInnerBillNo
+	            ,HMaker,HMakeDate,HChecker,HCheckDate
+	            ,HUpDater,HUpDateDate,HDeleteMan,HDeleteDate
+	            ,HERPInterID,HERPBillType,HSUBORGID)
+                  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].HSSID}','{mainList[0].HSSDate}',{mainList[0].HSupID},'{mainList[0].HCurID}',
+            '{mainList[0].HExRate}','{mainList[0].HEmpID}','{mainList[0].HManagerID}','{mainList[0].HDeptID}','{mainList[0].HExplanation}','{mainList[0].HRemark}','{mainList[0].HInnerBillNo}','{mainList[0].HMaker}','{mainList[0].HMakeDate}'
+            ,'{mainList[0].HChecker}','{mainList[0].HCheckDate}','{mainList[0].HUpDater}','{mainList[0].HUpDateDate}','{mainList[0].HDeleteMan}','{mainList[0].HDeleteDate}','{mainList[0].HERPInterID}','{mainList[0].HERPBillType}','{mainList[0].HSUBORGID}'
+             
+)", ref DBUtility.ClsPub.sExeReturnInfo);
+                LogService.Write("涓昏〃鎻掑叆鎴愬姛");
+                foreach (var oSub in subList)
+                {
+                    //鏂板瀛愯〃锛�
+                    oCN.RunProc($@"	insert into WW_EntrustOrderBillSub
+                     (HInterID,HEntryID,HMaterID,HUnitID,HQty,HPrice,HTaxPrice,HDiscountRate,HRelTaxPrice
+                     ,HMoney,HTaxRate,HTaxMoney,HLineTotal,HlineTotalBB,HDate,HInStockQty,HInvoiceQty
+                     ,HSeOrderBillNo,HSeOrderInterID,HSeOrderEntryID
+                     ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType
+                     ,HRelationQty,HBatChNo,HAuxPropID,HMTONo,HPlanMode,HRemark
+                     ,HERPInterID,HERPEntryID,HBomID,HWhID,HSPID
+                     ,HPOORderBillNo,HPOOrderSEQ
+                     )
+                      values({oSub.HInterID},'{oSub.HEntryID}','{oSub.HMaterID}','{oSub.HUnitID}','{oSub.HQty}',{subList[0].HPrice},'{oSub.HTaxPrice}',
+                        {oSub.HDiscountRate},'{oSub.HRelTaxPrice}','{oSub.HMoney}','{oSub.HTaxRate}','{oSub.HTaxMoney}',{subList[0].HLineTotal },'{oSub.HlineTotalBB}','{oSub.HDate}','{oSub.HInStockQty}','{oSub.HInvoiceQty}'
+                        ,'{oSub.HSeOrderBillNo}','{oSub.HSeOrderInterID}','{oSub.HSeOrderEntryID}','{oSub.HSourceInterID}','{oSub.HSourceEntryID}','{oSub.HSourceBillNo}','{oSub.HSourceBillType}','{oSub.HRelationQty}','{oSub.HBatChNo}','{oSub.HAuxPropID}','{oSub.HMTONo}','{oSub.HPlanMode}','{oSub.HRemark}',
+                        {oSub.HERPInterID},'{oSub.HERPEntryID}','{oSub.HBomID}','{oSub.HWhID}',{subList[0].HSPID },'{oSub.HPOORderBillNo}','{oSub.HPOOrderSEQ}'
+                        )", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                LogService.Write("瀛愯〃鎻掑叆鎴愬姛");
+
+                //濮斿鐢ㄦ枡娓呭崟鎻掑叆
+                oCN.RunProc($@"insert into WW_PPBomBillMain
+	            (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate
+	            ,HBillNo,HBillStatus,HICMOInterID,HICMOEntryID,HSUBBILLNO,HSUBREQENTRYSEQ
+	            ,HMaterID,HUnitID,HQty,HSupID,HDEPTID,HPOOrderBillNo,HPOOrderSeq
+	            ,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate
+	            ,HSeOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderSEQ
+	            ,HPRDORGID,HENTRUSTORGID,HPARENTOWNERID,HPARENTOWNERTYPEID
+	            ,HERPInterID,HERPBillType,HSETTLEORGID,HREQSRC)
+                  values({ppbomMainList[0].HInterID},'{ppbomMainList[0].HYear}','{ppbomMainList[0].HPeriod}','{ppbomMainList[0].HBillType}','{ppbomMainList[0].HBillSubType}','{ppbomMainList[0].HDate}','{ppbomMainList[0].HBillNo}'
+           ,'{ppbomMainList[0].HBillStatus}','{ppbomMainList[0].HICMOInterID}','{ppbomMainList[0].HICMOEntryID}','{ppbomMainList[0].HSUBBILLNO}','{ppbomMainList[0].HSUBREQENTRYSEQ}','{ppbomMainList[0].HMaterID}',{ppbomMainList[0].HUnitID},'{ppbomMainList[0].HQty}','{ppbomMainList[0].HSupID}','{ppbomMainList[0].HDeptID}',
+            '{ppbomMainList[0].HPOOrderBillNo}','{ppbomMainList[0].HPOOrderSeq}','{ppbomMainList[0].HMaker}','{ppbomMainList[0].HMakeDate}','{ppbomMainList[0].HChecker}','{ppbomMainList[0].HCheckDate}','{ppbomMainList[0].HUpDater}','{ppbomMainList[0].HUpDateDate}','{ppbomMainList[0].HSeOrderBillNo}','{ppbomMainList[0].HSeOrderInterID}','{ppbomMainList[0].HSeOrderEntryID}','{ppbomMainList[0].HSeOrderSEQ}'
+            ,'{ppbomMainList[0].HPRDORGID}','{ppbomMainList[0].HENTRUSTORGID}','{ppbomMainList[0].HPARENTOWNERID}'
+            ,'{ppbomMainList[0].HPARENTOWNERTYPEID}','{ppbomMainList[0].HERPInterID}','{ppbomMainList[0].HERPBillType}','{ppbomMainList[0].HSETTLEORGID}','{ppbomMainList[0].HREQSRC}'
+             
+)", ref DBUtility.ClsPub.sExeReturnInfo);
+                LogService.Write("濮斿娓呭崟涓昏〃鎻掑叆鎴愬姛");
+
+                foreach (var oSub in ppbomSubList)
+                {
+
+                    //鏂板瀛愯〃锛�
+                    oCN.RunProc($@"	insert into WW_PPBomBillSub
+	                (HInterID,HEntryID,HMaterID,HUnitID,HQty,HQtyMust,HWHID,HRemark
+	                ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType
+	                ,HICMOInterID,HICMOEntryID,HICMOBillNo
+	                ,HCHILDSUPPLYORGID,HSUPPLYORGID,HENTRUSTPICKORGID,HSRCTRANSORGID,HGROUPBYOWNERID,HOWNERID,HOWNERTYPEID
+	                ,HRelationQty,HMoveStockQty,HAuxPropID,HBatchNO,HMTONo,HQtyScrap,HERPInterID,HERPEntryID
+	                ,HBackRelationQty
+	                ,HPROCESSID,HBASEUNITID,HPROJECTNO,HOPERID,HSEQ
+	                ,HSTOCKSTATUSID,HRESERVETYPE
+	                )
+                      values({oSub.HInterID},'{oSub.HEntryID}','{oSub.HMaterID}','{oSub.HUnitID}','{oSub.HQty}',{oSub.HQtyMust},'{oSub.HWHID}',
+                        '{oSub.HRemark}','{oSub.HSourceInterID}','{oSub.HSourceEntryID}','{oSub.HSourceBillNo}','{oSub.HSourceBillType}',{oSub.HICMOInterID },'{oSub.HICMOEntryID}','{oSub.HICMOBillNo}','{oSub.HCHILDSUPPLYORGID}','{oSub.HSUPPLYORGID}'
+                        ,'{oSub.HENTRUSTPICKORGID}','{oSub.HSRCTRANSORGID}','{oSub.HGROUPBYOWNERID}','{oSub.HOWNERID}','{oSub.HOWNERTYPEID}','{oSub.HRelationQty}','{oSub.HMoveStockQty}','{oSub.HAuxPropID}','{oSub.HBatChNo}','{oSub.HMTONo}','{oSub.HQtyScrap}',
+                        {oSub.HERPInterID},'{oSub.HERPEntryID}','{oSub.HBackRelationQty}','{oSub.HPROCESSID}',{oSub.HBASEUNITID },'{oSub.HPROJECTNO}','{oSub.HOPERID}','{oSub.HSEQ}','{oSub.HSTOCKSTATUSID}','{oSub.HRESERVETYPE}'
+                        )", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                LogService.Write("瀛愯〃鎻掑叆鎴愬姛");
+
+
+
+
+                oCN.Commit();
+
+
+
+
+
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                LogService.Write("寮傚父淇℃伅锛�" + e.ToString());
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+        #endregion
     }
 }
\ No newline at end of file
diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\345\247\224\345\244\226\347\224\250\346\226\231/WW_PPBomBillController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\345\247\224\345\244\226\347\224\250\346\226\231/WW_PPBomBillController.cs"
index 55e3782..57a62e6 100644
--- "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\345\247\224\345\244\226\347\224\250\346\226\231/WW_PPBomBillController.cs"
+++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\345\247\224\345\244\226\347\224\250\346\226\231/WW_PPBomBillController.cs"
@@ -89,9 +89,126 @@
                 return new SQLHelper.ClsCN().RunProcReturn(sql, "h_v_WW_PPBomBillList");
             }
 
-        } 
-     
+        }
+
+
+
+        #region 濮斿鐢ㄦ枡娓呭崟璁㈠崟 閲戣澏鍚屾
+        [Route("WW_PPBomBillController/SaveWW_PPBomBillApi")]
+        [HttpPost]
+        public object SaveWW_PPBomBillApi([FromBody] JObject sMainSub)
+        {
+            LogService.Write("寮�濮嬪悓姝�");
+            try
+            {
+                // 璁板綍瀹屾暣鐨勬帴鏀舵暟鎹�
+                LogService.Write($"鎺ユ敹鍒扮殑瀹屾暣鏁版嵁: {sMainSub.ToString()}");
+                var model = sMainSub["model"].ToString();
+                var entry = sMainSub["model"]["HENTRY"].ToString();
+                model = "[" + model.ToString() + "]";
+                LogService.Write($"涓昏〃妯″瀷JSON: {model}");
+                LogService.Write($"瀛愯〃妯″瀷JSON: {entry}");
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                ListModels oListModels = new ListModels();
+                List<ClsWW_PPBomBill> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsWW_PPBomBill>>(model);
+                List<ClsWW_PPBomBillSubERP> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsWW_PPBomBillSubERP>>(entry);
+                // 娣诲姞绫诲瀷妫�鏌ユ棩蹇�
+                LogService.Write($"涓昏〃HInterID绫诲瀷: {mainList[0].HInterID.GetType()}");
+                LogService.Write($"涓昏〃HInterID鍊�: {mainList[0].HInterID}");
+                string sql = string.Empty;
+                LogService.Write($"涓绘ā鍨嬫暟鎹畕mainList}");
+                LogService.Write($"瀛愭ā鍨嬫暟鎹畕subList}");
+                //淇濆瓨
+                oCN.BeginTran();
+                int hInterID = mainList[0].HInterID;
+                LogService.Write($"寮�濮嬪鐞� HInterID: {hInterID}");
+              
+                string checkSql = $"SELECT COUNT(1) FROM WW_PPBomBillSub WHERE HInterID = {hInterID}";
+                LogService.Write($"妫�鏌ュ瓙琛ㄦ暟鎹槸鍚﹀瓨鍦�: {checkSql}");
+
+                // 2. 鍒犻櫎瀛愯〃鏁版嵁
+                string deleteSubSql = $"DELETE FROM WW_PPBomBillSub WHERE HInterID = {hInterID}";
+                LogService.Write($"鍒犻櫎瀛愯〃SQL: {deleteSubSql}");
+                oCN.RunProc(deleteSubSql, ref DBUtility.ClsPub.sExeReturnInfo);
+                LogService.Write("瀛愯〃鏁版嵁鍒犻櫎瀹屾垚");
+
+                // 3. 鍒犻櫎涓昏〃鏁版嵁
+                string deleteMainSql = $"DELETE FROM WW_PPBomBillMain WHERE HInterID = {hInterID}";
+                LogService.Write($"鍒犻櫎涓昏〃SQL: {deleteMainSql}");
+                oCN.RunProc(deleteMainSql, ref DBUtility.ClsPub.sExeReturnInfo);
+                LogService.Write("涓昏〃鏁版嵁鍒犻櫎瀹屾垚");
+               
+
+                oCN.RunProc($@"insert into WW_PPBomBillMain
+	            (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate
+	            ,HBillNo,HBillStatus,HICMOInterID,HICMOEntryID,HSUBBILLNO,HSUBREQENTRYSEQ
+	            ,HMaterID,HUnitID,HQty,HSupID,HDEPTID,HPOOrderBillNo,HPOOrderSeq
+	            ,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate
+	            ,HSeOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderSEQ
+	            ,HPRDORGID,HENTRUSTORGID,HPARENTOWNERID,HPARENTOWNERTYPEID
+	            ,HERPInterID,HERPBillType,HSETTLEORGID,HREQSRC)
+                  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].HICMOInterID}','{mainList[0].HICMOEntryID}','{mainList[0].HSUBBILLNO}','{mainList[0].HSUBREQENTRYSEQ}','{mainList[0].HMaterID}',{mainList[0].HUnitID},'{mainList[0].HQty}','{mainList[0].HSupID}','{mainList[0].HDeptID}',
+            '{mainList[0].HPOOrderBillNo}','{mainList[0].HPOOrderSeq}','{mainList[0].HMaker}','{mainList[0].HMakeDate}','{mainList[0].HChecker}','{mainList[0].HCheckDate}','{mainList[0].HUpDater}','{mainList[0].HUpDateDate}','{mainList[0].HSeOrderBillNo}','{mainList[0].HSeOrderInterID}','{mainList[0].HSeOrderEntryID}','{mainList[0].HSeOrderSEQ}'
+            ,'{mainList[0].HPRDORGID}','{mainList[0].HENTRUSTORGID}','{mainList[0].HPARENTOWNERID}'
+            ,'{mainList[0].HPARENTOWNERTYPEID}','{mainList[0].HERPInterID}','{mainList[0].HERPBillType}','{mainList[0].HSETTLEORGID}','{mainList[0].HREQSRC}'
+             
+)", ref DBUtility.ClsPub.sExeReturnInfo);
+                LogService.Write("涓昏〃鎻掑叆鎴愬姛");
+
+                foreach (var oSub in subList)
+                {
+                    var count = subList.Count();
+                    LogService.Write($"瀛愯〃鏁版嵁鏉℃暟涓簕count}");
+                    //鏂板瀛愯〃锛�
+                    oCN.RunProc($@"	insert into WW_PPBomBillSub
+	                (HInterID,HEntryID,HMaterID,HUnitID,HQty,HQtyMust,HWHID,HRemark
+	                ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType
+	                ,HICMOInterID,HICMOEntryID,HICMOBillNo
+	                ,HCHILDSUPPLYORGID,HSUPPLYORGID,HENTRUSTPICKORGID,HSRCTRANSORGID,HGROUPBYOWNERID,HOWNERID,HOWNERTYPEID
+	                ,HRelationQty,HMoveStockQty,HAuxPropID,HBatchNO,HMTONo,HQtyScrap,HERPInterID,HERPEntryID
+	                ,HBackRelationQty
+	                ,HPROCESSID,HBASEUNITID,HPROJECTNO,HOPERID,HSEQ
+	                ,HSTOCKSTATUSID,HRESERVETYPE
+	                )
+                      values({oSub.HInterID},'{oSub.HEntryID}','{oSub.HMaterID}','{oSub.HUnitID}','{oSub.HQty}',{oSub.HQtyMust},'{oSub.HWHID}',
+                        '{oSub.HRemark}','{oSub.HSourceInterID}','{oSub.HSourceEntryID}','{oSub.HSourceBillNo}','{oSub.HSourceBillType}',{oSub.HICMOInterID },'{oSub.HICMOEntryID}','{oSub.HICMOBillNo}','{oSub.HCHILDSUPPLYORGID}','{oSub.HSUPPLYORGID}'
+                        ,'{oSub.HENTRUSTPICKORGID}','{oSub.HSRCTRANSORGID}','{oSub.HGROUPBYOWNERID}','{oSub.HOWNERID}','{oSub.HOWNERTYPEID}','{oSub.HRelationQty}','{oSub.HMoveStockQty}','{oSub.HAuxPropID}','{oSub.HBatChNo}','{oSub.HMTONo}','{oSub.HQtyScrap}',
+                        {oSub.HERPInterID},'{oSub.HERPEntryID}','{oSub.HBackRelationQty}','{oSub.HPROCESSID}',{oSub.HBASEUNITID },'{oSub.HPROJECTNO}','{oSub.HOPERID}','{oSub.HSEQ}','{oSub.HSTOCKSTATUSID}','{oSub.HRESERVETYPE}'
+                        )", ref DBUtility.ClsPub.sExeReturnInfo);
                 }
+                LogService.Write("瀛愯〃鎻掑叆鎴愬姛");
+
+
+
+
+
+                oCN.Commit();
+
+
+
+
+
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                LogService.Write("寮傚父淇℃伅锛�" + e.ToString());
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+    }
 
     #endregion
 }
diff --git a/WebAPI/ListModels.cs b/WebAPI/ListModels.cs
index 10b3eb4..02ac298 100644
--- a/WebAPI/ListModels.cs
+++ b/WebAPI/ListModels.cs
@@ -9,6 +9,7 @@
 using Model;
 using System.Data;
 using System.Text.RegularExpressions;
+using WebAPI.Models;
 
 namespace WebAPI
 {
@@ -5119,10 +5120,17 @@
             List<Model.ClsGy_SOPBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_SOPBillSub>>(jsonString);
             return list;
         }
-
+        
         public static implicit operator ListModels(DataTable v)
         {
             throw new NotImplementedException();
         }
+
+        public List<ClsWW_EntrustOrderBillMain_1> getObjectByJson_WW_EntrustOrderBillMain(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<ClsWW_EntrustOrderBillMain_1> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsWW_EntrustOrderBillMain_1>>(jsonString);
+            return list;
+        }
     }
 } 
\ No newline at end of file
diff --git a/WebAPI/Models/ClsWW_EntrustOrderBillMainSub.cs b/WebAPI/Models/ClsWW_EntrustOrderBillMainSub.cs
new file mode 100644
index 0000000..5d29491
--- /dev/null
+++ b/WebAPI/Models/ClsWW_EntrustOrderBillMainSub.cs
@@ -0,0 +1,55 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WebAPI.Models
+{
+    public class ClsWW_EntrustOrderBillMainSub : DBUtility.ClsXt_BaseBillMain
+    {
+        public Int64 HDeptID;//		
+        public Int64 HSupID;//		
+        public string HOrderProcNO;//	
+        public Int64 HMaterID;
+        public Int64 HUnitID;
+        public Decimal HQty;
+        public Decimal HPrice;
+        public Int64 HInterID;
+        public Decimal HTaxPrice;
+        public string HDiscountRate;
+        public Decimal HRelTaxPrice;
+        public Decimal HMoney;
+        public Decimal HTaxRate;
+        public Decimal HTaxMoney;
+        public Decimal HLineTotal;
+        public Decimal HlineTotalBB;
+        public string HSourceBillNo;
+        public string HSourceBillType;
+        public string HBatChNo;
+        public int HERPInterID;
+        public int HBomID;
+        public int HWhID;
+        public int HSPID;
+        public string HPOORderBillNo;
+        public string HPOOrderSEQ;
+        public int HManagerID;
+        public int HInnerBillNo;
+        ///////////////////////////////////WW_EntrustOrderBillSub
+        public string HBillNo_bak;
+        public int HEntryID;
+        public string HCloseMan;
+        public int HCloseType;
+        public int HSourceInterID;
+        public int HAuxPropID;
+        public int HERPEntryID;
+        public string HMTONo;
+        public string HPlanMode;
+        public string HSeOrderBillNo;
+        public string HSeOrderInterID;
+        public string HSeOrderEntryID;
+        public string HSourceEntryID;
+        public decimal HInStockQty;
+        public decimal HInvoiceQty;
+        public decimal HRelationQty;
+
+    }
+}
diff --git a/WebAPI/Models/ClsWW_EntrustOrderBillMain_1.cs b/WebAPI/Models/ClsWW_EntrustOrderBillMain_1.cs
new file mode 100644
index 0000000..e0ae059
--- /dev/null
+++ b/WebAPI/Models/ClsWW_EntrustOrderBillMain_1.cs
@@ -0,0 +1,48 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WebAPI.Models
+{
+    public class ClsWW_EntrustOrderBillMain_1 : DBUtility.ClsXt_BaseBillMain
+    {
+        public Int64 HDeptID;//		
+        public Int64 HSupID;//		
+        public string HOrderProcNO;//	
+        public Int64 HYear;
+        public Int64 HPeriod;
+        public string HBillType;
+        public string HBillSubType;
+        public int HInterID;
+        public string HDate;
+        public string HBillNo;
+        public Int64 HBillStatus;
+        public string HRemark;
+        public string HMainSourceBillType;
+        public Int64 HMainSourceInterID;
+        public Int64 HERPInterID;
+        public string HERPBillType;
+        public Int64 HSUBORGID;
+        public string HConfirmDate;
+        public string HExplanation;
+        public string HAddress;
+        public int HSSID;
+        public string HSSDate;
+        public int HCurID;
+        public string HExRate;
+        public int HEmpID;
+        public int HManagerID;
+        public string HInnerBillNo;
+        ///////////////////////////////////WW_EntrustOrderBillSub
+        public string HBillNo_bak;
+        public int HEntryID;
+        public string HCloseMan;
+        public int HCloseType;
+        public int HSourceInterID;
+        public int HAuxPropID;
+        public int HERPEntryID;
+        public string HMTONo;
+        public int? HPlanMode;
+
+    }
+}
diff --git a/WebAPI/Models/ClsWW_PPBomBill.cs b/WebAPI/Models/ClsWW_PPBomBill.cs
new file mode 100644
index 0000000..9813c52
--- /dev/null
+++ b/WebAPI/Models/ClsWW_PPBomBill.cs
@@ -0,0 +1,88 @@
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WebAPI.Models
+{
+    public class ClsWW_PPBomBill : DBUtility.ClsXt_BaseBillMain
+    {
+
+
+        //[JsonProperty("HInterID")]
+        //[JsonConverter(typeof(StringToLongConverter))]
+        public int HInterID { get; set; }
+
+
+        public Int64 HDeptID;//		
+        public Int64 HSupID;//		
+        public string HOrderProcNO;//	
+        public Int64 HYear;
+        public Int64 HPeriod;
+        public string HBillType;
+        public string HBillSubType;
+
+        public string HDate;
+        public string HBillNo;
+        public Int64 HBillStatus;
+        public string HRemark;
+        public string HMainSourceBillType;
+        public Int64 HMainSourceInterID;
+        public Int64 HERPInterID;
+        public string HERPBillType;
+        public Int64 HSUBORGID;
+        public int HEmpID;
+        public int HManagerID;
+        public int HICMOInterID;
+        public int HICMOEntryID;
+        public int HSUBREQENTRYSEQ;
+        public int HMaterID;
+        public int HUnitID;
+        public int HSeOrderInterID;
+        public int HSeOrderEntryID;
+        public int HSeOrderSEQ;
+        public int HENTRUSTORGID;
+        public int HPARENTOWNERID;
+        public int HPARENTOWNERTYPEID;
+        public int HSETTLEORGID;
+        public decimal HQty;
+        public string HSUBBILLNO;
+        public string HPOOrderBillNo;
+        public string HPOOrderSeq;
+        public string HSeOrderBillNo;
+        public string HREQSRC;
+        ///////////////////////////////////WW_EntrustOrderBillSub
+       
+
+    }
+    public class StringToLongConverter : JsonConverter
+    {
+        public override bool CanConvert(Type objectType)
+        {
+            return objectType == typeof(long);
+        }
+
+        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
+        {
+            if (reader.TokenType == JsonToken.String)
+            {
+                string stringValue = reader.Value.ToString();
+                if (long.TryParse(stringValue, out long result))
+                {
+                    return result;
+                }
+            }
+            else if (reader.TokenType == JsonToken.Integer)
+            {
+                return Convert.ToInt64(reader.Value);
+            }
+
+            return 0L;
+        }
+
+        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
+        {
+            writer.WriteValue(value.ToString());
+        }
+    }
+}
diff --git a/WebAPI/Models/ClsWW_PPBomBillSubERP.cs b/WebAPI/Models/ClsWW_PPBomBillSubERP.cs
new file mode 100644
index 0000000..4696eb7
--- /dev/null
+++ b/WebAPI/Models/ClsWW_PPBomBillSubERP.cs
@@ -0,0 +1,67 @@
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WebAPI.Models
+{
+    public class ClsWW_PPBomBillSubERP : DBUtility.ClsXt_BaseBillMain
+    {
+        public int HDeptID;//		
+        public int HSupID;//		
+        public string HOrderProcNO;//	
+        public int HMaterID;
+        public int HUnitID;
+        public Decimal HQty;
+        public Decimal HPrice;
+        public int HInterID;
+        public Decimal HRelTaxPrice;
+        public Decimal HMoney;
+        public string HSourceBillNo;
+        public string HSourceBillType;
+        public string HBatChNo;
+        public int HERPInterID;
+        public int HBomID;
+        public int HWhID;
+        public int HSPID;
+        public string HPOORderBillNo;
+        public string HPOOrderSEQ;
+        public int HInnerBillNo;
+        [JsonProperty("FEntryID")]
+        public int HEntryID;
+        public string HCloseMan;
+        public int HCloseType;
+        public int HSourceInterID;
+        public int HAuxPropID;
+        public int HERPEntryID;
+        public int HENTRUSTPICKORGID;
+        public int HSRCTRANSORGID;
+        public int HGROUPBYOWNERID;
+        public int HWHID;
+        public int HICMOInterID;
+        public int HICMOEntryID;
+        public int HCHILDSUPPLYORGID;
+        public int HSUPPLYORGID;
+        public int HRESERVETYPE;
+        public int HPROCESSID;
+        public int HBASEUNITID;
+        public int HOWNERTYPEID;
+        public int HOPERID;
+        public int HSEQ;
+        public int HSTOCKSTATUSID;
+        public decimal HQtyMust;
+        public decimal HQtyScrap;
+        public decimal HBackRelationQty;
+        public decimal HMoveStockQty;
+        public string HMTONo;
+        public string HPlanMode;
+        public string HSeOrderBillNo;
+        public string HICMOBillNo;
+        public string HSeOrderInterID;
+        public string HSeOrderEntryID;
+        public string HSourceEntryID;
+        public string HPROJECTNO;
+        public decimal HRelationQty;
+
+    }
+}
diff --git a/WebAPI/Properties/PublishProfiles/FolderProfile15.pubxml.user b/WebAPI/Properties/PublishProfiles/FolderProfile15.pubxml.user
index 2eb010b..32b87dd 100644
--- a/WebAPI/Properties/PublishProfiles/FolderProfile15.pubxml.user
+++ b/WebAPI/Properties/PublishProfiles/FolderProfile15.pubxml.user
@@ -5,7 +5,7 @@
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
     <_PublishTargetUrl>D:\缃戠珯鍙戝竷\鏅轰簯MESWMS\API</_PublishTargetUrl>
-    <History>True|2025-10-14T06:05:31.2616924Z;True|2025-10-14T14:02:10.6138305+08:00;True|2025-10-14T13:57:54.3561365+08:00;</History>
+    <History>True|2025-10-19T15:57:11.9849312Z;True|2025-10-19T23:53:15.4977051+08:00;True|2025-10-19T23:41:02.0215742+08:00;True|2025-10-19T23:34:25.4494199+08:00;True|2025-10-19T23:30:03.5810837+08:00;True|2025-10-19T23:22:39.5476985+08:00;True|2025-10-19T23:22:20.2272753+08:00;True|2025-10-19T23:15:10.2422773+08:00;False|2025-10-19T23:14:23.2218748+08:00;False|2025-10-19T23:14:03.8904781+08:00;True|2025-10-19T23:08:24.3839679+08:00;False|2025-10-19T23:07:41.7356133+08:00;True|2025-10-19T23:03:51.1923423+08:00;True|2025-10-19T22:54:35.4258887+08:00;True|2025-10-19T22:38:36.8504562+08:00;True|2025-10-19T22:30:53.2619046+08:00;True|2025-10-19T22:19:48.5190979+08:00;False|2025-10-19T22:19:25.0417529+08:00;True|2025-10-19T10:18:37.7568898+08:00;False|2025-10-19T10:17:39.0489779+08:00;True|2025-10-19T00:36:10.1256256+08:00;True|2025-10-19T00:28:13.4547010+08:00;True|2025-10-19T00:24:56.4922347+08:00;True|2025-10-19T00:08:00.9510311+08:00;True|2025-10-19T00:07:21.1744014+08:00;True|2025-10-19T00:04:00.1610719+08:00;True|2025-10-18T23:45:54.6880913+08:00;False|2025-10-18T23:45:09.4926551+08:00;True|2025-10-17T16:34:40.3462346+08:00;True|2025-10-17T15:57:55.0661308+08:00;True|2025-10-17T15:48:37.8032774+08:00;True|2025-10-17T15:38:26.3458977+08:00;True|2025-10-17T15:35:44.6273511+08:00;True|2025-10-17T15:33:36.8751794+08:00;True|2025-10-17T15:24:56.7103124+08:00;True|2025-10-17T15:11:54.8125618+08:00;True|2025-10-17T10:01:39.1174966+08:00;False|2025-10-17T09:59:53.7076348+08:00;False|2025-10-17T09:59:37.5485358+08:00;True|2025-10-16T22:50:25.1274544+08:00;True|2025-10-16T22:27:21.4303431+08:00;False|2025-10-16T22:24:32.1551719+08:00;True|2025-10-16T22:20:39.0970374+08:00;True|2025-10-16T22:05:29.7248115+08:00;True|2025-10-16T22:01:07.5549766+08:00;True|2025-10-16T18:46:20.7386786+08:00;True|2025-10-16T17:53:12.3938090+08:00;True|2025-10-16T13:49:06.4717584+08:00;True|2025-10-16T11:30:06.0699232+08:00;False|2025-10-16T11:29:29.3280003+08:00;True|2025-10-14T14:05:31.2616924+08:00;True|2025-10-14T14:02:10.6138305+08:00;True|2025-10-14T13:57:54.3561365+08:00;</History>
   </PropertyGroup>
   <ItemGroup>
     <File Include="apiapp.json">
@@ -45,28 +45,28 @@
       <publishTime>02/22/2013 16:43:40</publishTime>
     </File>
     <File Include="bin/BLL.dll">
-      <publishTime>10/14/2025 13:57:41</publishTime>
+      <publishTime>10/18/2025 23:45:39</publishTime>
     </File>
     <File Include="bin/BLL.pdb">
-      <publishTime>10/14/2025 13:57:41</publishTime>
+      <publishTime>10/18/2025 23:45:39</publishTime>
     </File>
     <File Include="bin/BouncyCastle.Crypto.dll">
       <publishTime>12/18/2020 05:32:28</publishTime>
     </File>
     <File Include="bin/DAL.dll">
-      <publishTime>10/14/2025 13:57:36</publishTime>
+      <publishTime>10/18/2025 23:45:34</publishTime>
     </File>
     <File Include="bin/DAL.pdb">
-      <publishTime>10/14/2025 13:57:36</publishTime>
+      <publishTime>10/18/2025 23:45:34</publishTime>
     </File>
     <File Include="bin/Dapper.dll">
       <publishTime>07/22/2016 22:52:40</publishTime>
     </File>
     <File Include="bin/DBUtility.dll">
-      <publishTime>10/14/2025 13:57:28</publishTime>
+      <publishTime>10/16/2025 17:52:48</publishTime>
     </File>
     <File Include="bin/DBUtility.pdb">
-      <publishTime>10/14/2025 13:57:28</publishTime>
+      <publishTime>10/16/2025 17:52:48</publishTime>
     </File>
     <File Include="bin/Grpc.Core.Api.dll">
       <publishTime>03/22/2022 13:17:26</publishTime>
@@ -111,10 +111,10 @@
       <publishTime>07/25/2012 19:48:56</publishTime>
     </File>
     <File Include="bin/Model.dll">
-      <publishTime>10/14/2025 13:57:32</publishTime>
+      <publishTime>10/18/2025 23:45:31</publishTime>
     </File>
     <File Include="bin/Model.pdb">
-      <publishTime>10/14/2025 13:57:32</publishTime>
+      <publishTime>10/18/2025 23:45:31</publishTime>
     </File>
     <File Include="bin/Models/ClsSc_MouldScrapOutBillMain.cs">
       <publishTime>07/08/2025 13:46:38</publishTime>
@@ -147,34 +147,34 @@
       <publishTime>10/23/2021 17:07:54</publishTime>
     </File>
     <File Include="bin/Pub_Class.dll">
-      <publishTime>10/14/2025 13:57:24</publishTime>
+      <publishTime>10/16/2025 17:52:44</publishTime>
     </File>
     <File Include="bin/Pub_Class.pdb">
-      <publishTime>10/14/2025 13:57:24</publishTime>
+      <publishTime>10/16/2025 17:52:44</publishTime>
     </File>
     <File Include="bin/Pub_Control.dll">
-      <publishTime>10/14/2025 13:57:26</publishTime>
+      <publishTime>10/16/2025 17:52:46</publishTime>
     </File>
     <File Include="bin/Pub_Control.pdb">
-      <publishTime>10/14/2025 13:57:26</publishTime>
+      <publishTime>10/16/2025 17:52:46</publishTime>
     </File>
     <File Include="bin/RestSharp.dll">
       <publishTime>08/31/2012 06:22:50</publishTime>
     </File>
     <File Include="bin/SQLHelper.dll">
-      <publishTime>10/14/2025 13:57:26</publishTime>
+      <publishTime>10/16/2025 17:52:46</publishTime>
     </File>
     <File Include="bin/SQLHelper.pdb">
-      <publishTime>10/14/2025 13:57:26</publishTime>
+      <publishTime>10/16/2025 17:52:46</publishTime>
     </File>
     <File Include="bin/Swashbuckle.Core.dll">
       <publishTime>02/16/2015 01:57:08</publishTime>
     </File>
     <File Include="bin/SyntacticSugar.dll">
-      <publishTime>10/14/2025 13:57:23</publishTime>
+      <publishTime>10/16/2025 17:52:43</publishTime>
     </File>
     <File Include="bin/SyntacticSugar.pdb">
-      <publishTime>10/14/2025 13:57:23</publishTime>
+      <publishTime>10/16/2025 17:52:43</publishTime>
     </File>
     <File Include="bin/System.Buffers.dll">
       <publishTime>07/19/2017 18:01:28</publishTime>
@@ -285,22 +285,22 @@
       <publishTime>05/09/2023 10:43:40</publishTime>
     </File>
     <File Include="bin/TopSdk.dll">
-      <publishTime>10/13/2025 09:23:39</publishTime>
+      <publishTime>10/16/2025 11:29:45</publishTime>
     </File>
     <File Include="bin/TopSdk.pdb">
-      <publishTime>10/13/2025 09:23:39</publishTime>
+      <publishTime>10/16/2025 11:29:45</publishTime>
     </File>
     <File Include="bin/WebActivatorEx.dll">
       <publishTime>11/24/2014 19:18:48</publishTime>
     </File>
     <File Include="bin/WebAPI.dll">
-      <publishTime>10/14/2025 14:05:24</publishTime>
+      <publishTime>10/19/2025 23:57:05</publishTime>
     </File>
     <File Include="bin/WebAPI.pdb">
-      <publishTime>10/14/2025 14:05:24</publishTime>
+      <publishTime>10/19/2025 23:57:05</publishTime>
     </File>
     <File Include="bin/WebAPI.XmlSerializers.dll">
-      <publishTime>10/14/2025 14:05:30</publishTime>
+      <publishTime>10/19/2025 23:57:10</publishTime>
     </File>
     <File Include="bin/WebGrease.dll">
       <publishTime>07/18/2013 01:03:52</publishTime>
diff --git a/WebAPI/WebAPI.csproj b/WebAPI/WebAPI.csproj
index 830af11..b884ea2 100644
--- a/WebAPI/WebAPI.csproj
+++ b/WebAPI/WebAPI.csproj
@@ -646,6 +646,10 @@
     <Compile Include="Models\ClsGy_Billorigin.cs" />
     <Compile Include="Models\ClsSc_MESStopRestoreWorkBillMain.cs" />
     <Compile Include="Models\ClsSc_MESStopRestoreWorkBillSub.cs" />
+    <Compile Include="Models\ClsWW_PPBomBillSubERP.cs" />
+    <Compile Include="Models\ClsWW_EntrustOrderBillMainSub.cs" />
+    <Compile Include="Models\ClsWW_PPBomBill.cs" />
+    <Compile Include="Models\ClsWW_EntrustOrderBillMain_1.cs" />
     <Compile Include="Models\GroupOrderBill.cs" />
     <Compile Include="Models\ClsGy_PNLInfoSub.cs" />
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_ProcMulController.cs" />

--
Gitblit v1.9.1