From ae36a4639fff74935c27c8e7bb0ce6b39ad039a5 Mon Sep 17 00:00:00 2001
From: yxj <yxj@hz-kingdee.com>
Date: 星期五, 24 十月 2025 13:35:45 +0800
Subject: [PATCH] WEBS引用更新

---
 WebAPI/Controllers/CGGL/WW_EntrustOrderBillController.cs |  244 +++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 206 insertions(+), 38 deletions(-)

diff --git a/WebAPI/Controllers/CGGL/WW_EntrustOrderBillController.cs b/WebAPI/Controllers/CGGL/WW_EntrustOrderBillController.cs
index d0729e0..a603d5b 100644
--- a/WebAPI/Controllers/CGGL/WW_EntrustOrderBillController.cs
+++ b/WebAPI/Controllers/CGGL/WW_EntrustOrderBillController.cs
@@ -1,10 +1,12 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using Pub_Class;
 using System;
 using System.Collections;
 using System.Collections.Generic;
 using System.Data;
 using System.Data.SqlClient;
+using System.Linq;
 using System.Web.Http;
 using WebAPI.Models;
 
@@ -31,51 +33,58 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();  //瀹氫箟澹版槑鍙橀噺 锛屾妸閫氳繃 new List<object>()鍒涘缓鐨� 瀹炰緥锛岃祴鍊肩粰鍙橀噺
                 //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
-                if (!DBUtility.ClsPub.Security_Log("WW_EntrustOrderBillQuery", 1, false, user))
-                {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "鏃犳煡璇㈡潈闄�!";
-                    objJsonResult.data = null;
-                    return objJsonResult;
-                }
-
-                string sql1 = "select * from h_v_IF_EntrustOrderBillList where 1 = 1 ";
-                if (sWhere == null || sWhere.Equals(""))
-                {
-                    ds = oCN.RunProcReturn(sql1, "h_v_IF_EntrustOrderBillList");
-                }
-                else
-                {
-                    ds = oCN.RunProcReturn(sql1+ sWhere, "h_v_IF_EntrustOrderBillList");
-                }
-
-                ////鍒ゆ柇鏄惁鏈夐噰璐粡鐞嗘潈闄�
-                //bool isCgjl = Security_Log("WW_EntrustOrderBill_PurchasManager", 1, false, user);
-                //if (!isCgjl)
+                //if (!DBUtility.ClsPub.Security_Log("WW_EntrustOrderBillQuery", 1, false, user))
                 //{
-                //    sWhere += $" and HEmpID in (select HEmpID from Gy_Czygl where Czymc='{user}' )";
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "鏃犳煡璇㈡潈闄�!";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
                 //}
-                //string sql = "select * from h_v_IF_EntrustOrderBillList where 1 = 1 " + sWhere;
-                //ds = oCN.RunProcReturn(sql, "h_v_IF_EntrustOrderBillList");
 
-                if (ds.Tables[0].Rows.Count == 0 || ds == null)
+                //string sql1 = "select * from h_v_IF_EntrustOrderBillList where 1 = 1 ";
+                //if (sWhere == null || sWhere.Equals(""))
+                //{
+                //    ds = oCN.RunProcReturn(sql1+ " order by hmainid desc", "h_v_IF_EntrustOrderBillList");
+                //}
+                //else
+                //{
+                //    ds = oCN.RunProcReturn(sql1+ sWhere+ " order by hmainid desc", "h_v_IF_EntrustOrderBillList");
+                //}
+
+                //鍒ゆ柇鏄惁鏈夐噰璐粡鐞嗘潈闄愶紙瀹夌憺锛�
+                bool isCgjl = Security_Log("WW_EntrustOrderBill_PurchasManager", 1, false, user);
+                if (!isCgjl)
                 {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "鏃犺褰�";
-                    objJsonResult.data = null;
-                    return objJsonResult;
+                    sWhere += $" and HEmpID in (select HEmpID from Gy_Czygl where Czymc='{user}' )";
                 }
-                else
+                string sql = "select * from h_v_IF_EntrustOrderBillList where 1 = 1 " + sWhere;
+                ds = oCN.RunProcReturn(sql, "h_v_IF_EntrustOrderBillList");
+                foreach (DataColumn col in ds.Tables[0].Columns)//閬嶅巻ds涓涓�涓〃锛圱ables[0]锛夌殑鎵�鏈夊垪锛圕olumns锛夋瘡娆″惊鐜腑锛宑ol鍙橀噺浼氭寔鏈夊綋鍓嶅垪鐨勫紩鐢�
                 {
-                    objJsonResult.code = "1";
-                    objJsonResult.count = 1;
-                    objJsonResult.Message = "Sucess锛�";
-                    objJsonResult.data = ds.Tables[0];
-                    return objJsonResult;
+                    Type dataType = col.DataType; //鑾峰彇褰撳墠鏁版嵁绫诲瀷浼犲叆 鑷畾涔夊彉閲廳atadataType
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; //瀛楃涓叉嫾鎺�         // 灏嗗垪鍚嶅拰鏁版嵁绫诲瀷淇℃伅鎷兼帴鎴愪竴涓狫SON鏍煎紡鐨勫瓧绗︿覆
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
                 }
+                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
+                //{
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+                //}
+                //else
+                //{
+                //objJsonResult.code = "0";
+                //objJsonResult.count = 0;
+                //objJsonResult.Message = "鏃犳暟鎹�";
+                //objJsonResult.data = null;
+                //return objJsonResult;
+                //}
             }
             catch (Exception e)
             {
@@ -349,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

--
Gitblit v1.9.1