From f3bbd6fd99d1ccef87afa19acb71dc290f418475 Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期四, 30 四月 2026 09:06:53 +0800
Subject: [PATCH] 通过调用金蝶webapi单据查询接口,同步物料信息(未完成版本)

---
 WebAPI/Controllers/条码管理/WEBSController.cs |  504 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 502 insertions(+), 2 deletions(-)

diff --git "a/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs" "b/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs"
index bc63999..d0b7439 100644
--- "a/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs"
+++ "b/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs"
@@ -17,6 +17,7 @@
 using WebAPI.Models;
 using WebAPI.Service;
 using WebAPI.Utility;
+using Kingdee.BOS.WebApi.Client;
 
 namespace WebAPI.Controllers
 {
@@ -2627,6 +2628,11 @@
                 {
                     sFormId = "STK_MISCELLANEOUS";
                 }
+                //鍙楁墭鍔犲伐鍏ュ簱鍗�
+                else if (HBillType == "1212")
+                {
+                    sFormId = "STK_OEMInStock";
+                }
                 //棰嗘枡鍑哄簱鍗�
                 else if (HBillType == "1204")
                 {
@@ -2656,6 +2662,11 @@
                 else if (HBillType == "1255")
                 {
                     sFormId = "SUB_FEEDMTRL";
+                }
+                //鍙楁墭鍔犲伐鍑哄簱鍗曪紙鍙楁墭鍔犲伐閫�鏂欙級
+                else if (HBillType == "1213")
+                {
+                    sFormId = "STK_OEMInStockRETURN";
                 }
                 //鐩存帴璋冩嫧鍗�
                 else if (HBillType == "1207")
@@ -3384,6 +3395,89 @@
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
                 objJsonResult.Message = "鍏朵粬鍏ュ簱鏍¢獙澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #endregion
+
+        #region 鍙楁墭鍔犲伐鍏ュ簱    涓婁紶鐢熷崟
+
+        #region 鍙楁墭鍔犲伐鍏ュ簱    鏂板妯″紡
+
+        /// <summary>
+        /// 鍙楁墭鍔犲伐鍏ュ簱鏂板涓婁紶
+        /// </summary>
+        /// <returns></returns>
+        [Route("WEBSController/set_SaveInceptEntInBill_Json")]
+        [HttpPost]
+        public object set_SaveInceptEntInBill_Json([FromBody] JObject oMain)
+        {
+            var _value = oMain["oMain"].ToString();
+            string msg1 = _value.ToString();
+            try
+            {
+                List<Model.ClsKf_ICStockBillMain> lsmain = new List<Model.ClsKf_ICStockBillMain>();
+                ListModels oListModels = new ListModels();
+                lsmain = oListModels.getICStockBillMainByJson(msg1);
+                WebS.ClsKf_ICStockBillMain websLsmain = new WebS.ClsKf_ICStockBillMain();
+                string sSourceType = lsmain[0].HMainSourceBillType;
+                websLsmain.HInterID = lsmain[0].HInterID;
+                websLsmain.HBillNo = lsmain[0].HBillNo;
+                websLsmain.HBillType = lsmain[0].HBillType;
+                websLsmain.HDate = lsmain[0].HDate;
+                websLsmain.HDeptID = lsmain[0].HDeptID;
+                websLsmain.HWHID = lsmain[0].HWHID;
+                websLsmain.HSCWHID = lsmain[0].HSCWHID;
+                websLsmain.HSupID = lsmain[0].HSupID;
+                websLsmain.HKeeperID = lsmain[0].HKeeperID;
+                websLsmain.HSecManagerID = lsmain[0].HSecManagerID;
+                websLsmain.HEmpID = lsmain[0].HEmpID;
+                websLsmain.HManagerID = lsmain[0].HManagerID;
+                websLsmain.HRemark = lsmain[0].HRemark;
+                websLsmain.HExplanation = lsmain[0].HExplanation;
+                websLsmain.HInnerBillNo = lsmain[0].HInnerBillNo;
+                websLsmain.HRedBlueFlag = lsmain[0].HRedBlueFlag;
+                websLsmain.HStockStyle = lsmain[0].HStockStyle;
+                websLsmain.HBillSubType = lsmain[0].HBillSubType;
+                if (lsmain[0].HMainSourceBillType == "1130")
+                {
+                    websLsmain.HMainSourceBillType = "鍙楁墭鍔犲伐鏀舵枡閫氱煡鍗�";
+                }
+                else
+                {
+                    websLsmain.HMainSourceBillType = "鎵嬪伐褰曞叆";
+                }
+                websLsmain.HMaker = lsmain[0].HMaker;
+                websLsmain.HBillerID = lsmain[0].HBillerID;
+                websLsmain.HSTOCKORGID = lsmain[0].HSTOCKORGID;
+                websLsmain.HOWNERID = lsmain[0].HSTOCKORGID;
+
+                if (oWebs.set_SaveInceptEntInBill_New(websLsmain, sSourceType, ref DBUtility.ClsPub.sErrInfo))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //澶辫触锛�
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍙楁墭鍔犲伐鍏ュ簱鍗曚笂浼犲け璐ワ紒" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -4261,6 +4355,64 @@
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
                 objJsonResult.Message = "濮斿琛ユ枡鏍¢獙澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #endregion
+
+        #region 鍙楁墭鍔犲伐鍑哄簱    涓婁紶鐢熷崟
+
+        #region 鍙楁墭鍔犲伐鍑哄簱    鏍¢獙妯″紡
+
+        /// <summary>
+        /// 鍙楁墭鍔犲伐鍑哄簱鏍¢獙涓婁紶
+        /// </summary>
+        /// <returns></returns>
+        [Route("WEBSController/set_SaveInceptEntOutBill_BillCheck_Json")]
+        [HttpPost]
+        public object set_SaveInceptEntOutBill_BillCheck_Json([FromBody] JObject oMain)
+        {
+            var _value = oMain["oMain"].ToString();
+            string msg1 = _value.ToString();
+
+            try
+            {
+                List<Model.ClsKf_ICStockBillMain> lsmain = new List<Model.ClsKf_ICStockBillMain>();
+                ListModels oListModels = new ListModels();
+                lsmain = oListModels.getICStockBillMainByJson(msg1);
+                WebAPI.WebS.ClsKf_ICStockBillMain websLsmain = new WebS.ClsKf_ICStockBillMain();
+                websLsmain.HInterID = lsmain[0].HInterID;
+                websLsmain.HBillNo = lsmain[0].HBillNo;
+                websLsmain.HBillType = "1213";
+                websLsmain.HMaker = lsmain[0].HMaker;
+                websLsmain.HSTOCKORGID = lsmain[0].HSTOCKORGID;
+
+                if (oWebs.set_SaveInceptEntOutBill_BillCheck(websLsmain, ref DBUtility.ClsPub.sErrInfo))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //澶辫触锛�
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍙楁墭鍔犲伐鍑哄簱鏍¢獙澶辫触锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -6670,6 +6822,48 @@
 
         #endregion
 
+        #region 鍙楁墭鍔犲伐鍏ュ簱    鎵弿婧愬崟鏉$爜
+
+        /// <summary>
+        /// 鍙楁墭鍔犲伐鍏ュ簱    鎵弿婧愬崟鏉$爜
+        /// </summary>
+        /// <returns></returns>
+        [Route("WEBSController/Get_SourceBarCode_InceptEntIn_Json")]
+        [HttpGet]
+        public object get_SourceBarCode_InceptEntIn_Json(Int64 HInterID, string HBillNo, string HBillType, string HSourceBillNo, string HSourceBillType, string HMaker, Int64 HStockOrgID)
+        {
+            try
+            {
+                WebSoBar = oWebs.get_SourceBarCode_InceptEntIn(HInterID, HBillNo, HBillType, HSourceBillNo, HSourceBillType, HMaker, HStockOrgID, ref DBUtility.ClsPub.sErrInfo);
+                if (WebSoBar == null)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鎴愬姛";
+                    objJsonResult.data = WebSoBar;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵弿婧愬崟鏉$爜澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
         #region 鐢熶骇棰嗘枡    鎵弿婧愬崟鏉$爜
 
         /// <summary>
@@ -7949,6 +8143,20 @@
                         sAutoBarCode = "Y";
                     }
                 }
+                //鍙楁墭鍔犲伐鍏ュ簱鍗�
+                else if (HBillType == "1212")
+                {
+                    //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                    if (oSystemParameter.omodel.Kf_InceptEntInBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                    {
+                        sSourceBarCodeCtl = "Y";
+                    }
+                    //鍏嶆壂鐗╂枡鏉$爜妯″紡锛�'Y'涓轰笉鎵墿鏂欐潯鐮侊級
+                    if (oSystemParameter.omodel.Kf_InceptEntInBillCheck_AutoBarCode.ToUpper() == "Y")
+                    {
+                        sAutoBarCode = "Y";
+                    }
+                }
                 //棰嗘枡鍑哄簱鍗�
                 else if (HBillType == "1204")
                 {
@@ -8029,6 +8237,20 @@
                     }
                     //鍏嶆壂鐗╂枡鏉$爜妯″紡锛�'Y'涓轰笉鎵墿鏂欐潯鐮侊級
                     if (oSystemParameter.omodel.Kf_EntrustReplenishOutBillCheck_AutoBarCode.ToUpper() == "Y")
+                    {
+                        sAutoBarCode = "Y";
+                    }
+                }
+                //鍙楁墭鍔犲伐鍑哄簱鍗�
+                else if (HBillType == "1213")
+                {
+                    //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                    if (oSystemParameter.omodel.Kf_InceptEntOutBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                    {
+                        sSourceBarCodeCtl = "Y";
+                    }
+                    //鍏嶆壂鐗╂枡鏉$爜妯″紡锛�'Y'涓轰笉鎵墿鏂欐潯鐮侊級
+                    if (oSystemParameter.omodel.Kf_InceptEntOutBillCheck_AutoBarCode.ToUpper() == "Y")
                     {
                         sAutoBarCode = "Y";
                     }
@@ -8564,6 +8786,14 @@
                 {
                     sFIFOCtl = "Y";
                 }
+                //鍙楁墭鍔犲伐鍑哄簱鍗�-鍏堣繘鍏堝嚭鎺у埗
+                if (HBillType == "1213"
+                    && oSystemParameter.omodel.Kf_InceptEntOutBillCheck_AutoBarCode.ToUpper() == "N"         //鍏嶆壂鐗╂枡鏉$爜妯″紡锛�'Y'涓轰笉鎵墿鏂欐潯鐮侊級
+                    && oSystemParameter.omodel.Kf_InceptEntOutBillCheck_SourceBarCodeCtl.ToUpper() == "N"    //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                    && (oSystemParameter.omodel.Kf_InceptEntOutBillCheck_FIFOCtl == "1" || oSystemParameter.omodel.Kf_InceptEntOutBillCheck_FIFOCtl == "2" || oSystemParameter.omodel.Kf_InceptEntOutBillCheck_FIFOCtl == "3"))
+                {
+                    sFIFOCtl = "Y";
+                }
                 //鐩存帴璋冩嫧鍗�-鍏堣繘鍏堝嚭鎺у埗
                 if (HBillType == "1207"
                     && oSystemParameter.omodel.Kf_MoveStockBillCheck_AutoBarCode.ToUpper() == "N"         //鍏嶆壂鐗╂枡鏉$爜妯″紡锛�'Y'涓轰笉鎵墿鏂欐潯鐮侊級
@@ -8706,6 +8936,15 @@
                         sSourceBarCodeCtl = "Y";
                     }
                 }
+                //鍙楁墭鍔犲伐鍏ュ簱鍗�
+                else if (HBillType == "1212")
+                {
+                    //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                    if (oSystemParameter.omodel.Kf_InceptEntInBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                    {
+                        sSourceBarCodeCtl = "Y";
+                    }
+                }
                 //棰嗘枡鍑哄簱鍗�
                 else if (HBillType == "1204")
                 {
@@ -8771,6 +9010,17 @@
                     }
                     //鍏堣繘鍏堝嚭鎺у埗
                     sFIFOCtl = oSystemParameter.omodel.Kf_EntrustReplenishOutBillCheck_FIFOCtl;
+                }
+                //鍙楁墭鍔犲伐鍑哄簱鍗�
+                else if (HBillType == "1213")
+                {
+                    //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                    if (oSystemParameter.omodel.Kf_InceptEntOutBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                    {
+                        sSourceBarCodeCtl = "Y";
+                    }
+                    //鍏堣繘鍏堝嚭鎺у埗
+                    sFIFOCtl = oSystemParameter.omodel.Kf_InceptEntOutBillCheck_FIFOCtl;
                 }
                 //鐩存帴璋冩嫧鍗�
                 else if (HBillType == "1207")
@@ -9079,6 +9329,15 @@
                         sSourceBarCodeCtl = "Y";
                     }
                 }
+                //鍙楁墭鍔犲伐鍏ュ簱鍗�
+                else if (HBillType == "1212")
+                {
+                    //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                    if (oSystemParameter.omodel.Kf_InceptEntInBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                    {
+                        sSourceBarCodeCtl = "Y";
+                    }
+                }
                 //棰嗘枡鍑哄簱鍗�
                 else if (HBillType == "1204")
                 {
@@ -9129,6 +9388,15 @@
                 {
                     //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
                     if (oSystemParameter.omodel.Kf_EntrustReplenishOutBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                    {
+                        sSourceBarCodeCtl = "Y";
+                    }
+                }
+                //鍙楁墭鍔犲伐鍑哄簱鍗�
+                else if (HBillType == "1213")
+                {
+                    //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                    if (oSystemParameter.omodel.Kf_InceptEntOutBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                     {
                         sSourceBarCodeCtl = "Y";
                     }
@@ -12940,6 +13208,60 @@
 
         #endregion
 
+        #region  WMS姣忔棩杩愯鐘舵�佸垎鏋愶紙姣忔棩鍒跺崟鏁伴噺锛�
+        [Route("WEBSController/GetKf_WMSDailyRunStateReport_Json")]
+        [HttpGet]
+        public object GetKf_WMSDailyRunStateReport_Json(string sWhere, string user)
+        {
+            try
+            {
+
+                Dictionary<object, object> dic = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<object, object>>(sWhere);
+
+                string HBeginDate = dic["HBeginDate"].ToString();
+                string HEndDate = dic["HEndDate"].ToString();
+
+                List<object> columnNameList = new List<object>();
+
+                ds = oCn.RunProcReturn("exec h_p_Kf_WMSDailyRunStateReport  '" + HBeginDate + "','" + HEndDate + "'", "h_p_Kf_WMSDailyRunStateReport");
+
+                if (ds.Tables[0].Rows.Count != 0 || ds != null)
+                {
+                    //娣诲姞鍒楀悕
+                    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 = 1;
+                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.data = ds;
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳暟鎹�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
 
         #endregion
 
@@ -14748,8 +15070,8 @@
             {
                 string sErrMsg = "";
                 oSystemParameter.ShowBill(ref sErrMsg);
-                // 鍗庤垷瀹㈡埛
-                if (oSystemParameter.omodel.WMS_CampanyName == "鍗庤垷")
+                // 鍗庤垷瀹㈡埛   宸ュ簭杩涚珯鎺ユ敹鍗�  宸ュ簭濮斿鎺ユ敹鍗� 鐢熶骇璁㈠崟 宸ュ簭娴佽浆鍗�
+                if (oSystemParameter.omodel.WMS_CampanyName == "鍗庤垷" && HSourceBillType != 3790 && HSourceBillType != 3793 && HSourceBillType != 3710 && HSourceBillType != 3772)
                 {
                     if (!string.IsNullOrWhiteSpace(HBarCode))
                     {
@@ -15200,5 +15522,183 @@
         #endregion
 
         #endregion
+
+        #region 璋冪敤閲戣澏webapi鎺ュ彛鍚屾鍩虹璧勬枡鏂规硶
+
+        #region 鐗╂枡鍩虹璧勬枡鍚屾
+        [Route("WEBSController/MaterialDataToLocalByKDWebApi")]
+        [HttpGet]
+        public object MaterialDataToLocalByKDWebApi(string HDate)
+        {
+            try
+            {
+                //璁块棶閲戣澏
+                ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
+                var loginRet = InvokeHelper.Login();
+                var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
+                string HReturn;
+
+                if (isSuccess == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍚屾鍩虹璧勬枡澶辫触,閲戣澏璐﹀彿鐧诲綍寮傚父銆�" + loginRet;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //璋冪敤鍗曟嵁鏌ヨwebapi
+                string sJson = $"{{\"FormId\":\"BD_MATERIAL\",\"FieldKeys\":\"FMATERIALID,FNumber,FName,FSpecification,FApproveDate,FCreateDate,FDocumentStatus\",\"FilterString\":\"FApproveDate >= '2025-04-01T00:00:00' AND FApproveDate <= '2025-04-30T23:59:59'\",\"Limit\":100,\"StartRow\":0,\"TopRowCount\":0}}";                
+
+                var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc", new object[] { "BD_MATERIAL", sJson });
+
+                var _saveObj = JObject.Parse(result);
+
+                //鍒ゆ柇鏁版嵁鏄惁鑾峰彇鎴愬姛
+                if (_saveObj.SelectToken("Result.ResponseStatus.IsSuccess")?.ToString().ToUpper() != "TRUE")
+                {
+                    HReturn = result.ToString();
+                    //鍙嶅簭鍒楀寲json鏁版嵁
+                    var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                    //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                    var strErrorMsg = string.Empty;
+                    //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                    foreach (var item in retModel.Result.ResponseStatus.Errors)
+                    {
+                        strErrorMsg += item.Message + "\r\n";
+                    };
+
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁鏌ヨ鐗╂枡淇℃伅澶辫触锛�" + strErrorMsg;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    //涓昏〃鏁版嵁璧嬪��
+                    var MainData = new
+                    {
+                        HInterID = _saveObj.SelectToken("Result.Result.Id")?.ToString() ?? "0",
+                        HDate = _saveObj.SelectToken("Result.Result.Date")?.ToString(),
+                        HBillNo = _saveObj.SelectToken("Result.Result.BillNo")?.ToString() ?? "",
+                        HBillStatus = _saveObj.SelectToken("Result.Result.ApproverId_Id")?.ToString() == "0" ? 1 : 2,
+                        HPURCHASERNumber = _saveObj.SelectToken("Result.Result.PurchaserId.Number")?.ToString() ?? "",
+                        HMaker = _saveObj.SelectToken("Result.Result.CreatorId.Name")?.ToString() ?? "",
+                        HChecker = _saveObj.SelectToken("Result.Result.ApproverId.Name")?.ToString() ?? "",
+                        HUpDater = _saveObj.SelectToken("Result.Result.ModifierId.Name")?.ToString() ?? "",
+                        HDeleteMan = _saveObj.SelectToken("Result.Result.CancellerId.Name")?.ToString() ?? "",
+                        HCloseMan = _saveObj.SelectToken("Result.Result.CloserId.Name")?.ToString() ?? "",
+                        HPURCHASERGROUPNumber = _saveObj.SelectToken("Result.Result.PurchaserGroupId.Number")?.ToString() ?? "",
+                        HPROVIDERCONTACTNumber = _saveObj.SelectToken("Result.Result.ProviderContactId.CONTACTNUMBER")?.ToString() ?? "",
+                        HSETTLEMODEID = _saveObj.SelectToken("Result.Result.POOrderFinance[0].SettleModeId_Id")?.ToString() ?? "0",
+                        HSETTLEMODENumber = _saveObj.SelectToken("Result.Result.POOrderFinance[0].SettleModeId.Number")?.ToString() ?? "",
+                        HSETTLECURRID = _saveObj.SelectToken("Result.Result.POOrderFinance[0].SettleCurrId_Id")?.ToString() ?? "0",
+                        HSETTLECURRNumber = _saveObj.SelectToken("Result.Result.POOrderFinance[0].SettleCurrId.Number")?.ToString() ?? "",
+                        HEXCHANGETYPEID = _saveObj.SelectToken("Result.Result.POOrderFinance[0].ExchangeTypeId_Id")?.ToString() ?? "0",
+                        HEXCHANGETYPENumber = _saveObj.SelectToken("Result.Result.POOrderFinance[0].ExchangeTypeId.Number")?.ToString() ?? "",
+                        HPAYCONDITIONID = _saveObj.SelectToken("Result.Result.POOrderFinance[0].PayConditionId_Id")?.ToString() ?? "0",
+                        HPAYCONDITIONNumber = _saveObj.SelectToken("Result.Result.POOrderFinance[0].PayConditionId.Number")?.ToString() ?? "",
+                        HEXCHANGERATE = _saveObj.SelectToken("Result.Result.POOrderFinance[0].ExchangeRate")?.ToString() ?? "0",
+                        HLOCALCURRID = _saveObj.SelectToken("Result.Result.POOrderFinance[0].LocalCurrId_Id")?.ToString() ?? "0",
+                        HLOCALCURRNumber = _saveObj.SelectToken("Result.Result.POOrderFinance[0].LocalCurrId.Number")?.ToString() ?? "",
+                        HISINCLUDEDTAX = _saveObj.SelectToken("Result.Result.POOrderFinance[0].IsIncludedTax")?.ToString().ToUpper() == "TRUE" ? 1 : 0,
+                        HISPRICEEXCLUDETAX = _saveObj.SelectToken("Result.Result.POOrderFinance[0].FISPRICEEXCLUDETAX")?.ToString().ToUpper() == "TRUE" ? 1 : 0,
+                    };
+
+                    //鏍规嵁鍗曟嵁鍙枫�佸崟鎹甀D锛屽垹闄ゆ湰鍦版暟鎹�
+                    oCn.RunProc("Delete from Cg_POOrderBillMain where HBillNo='" + MainData.HBillNo + "'", ref DBUtility.ClsPub.sExeReturnInfo);
+                    oCn.RunProc("Delete from Cg_POOrderBillMain where HInterID=" + MainData.HInterID.ToString(), ref DBUtility.ClsPub.sExeReturnInfo);
+                    oCn.RunProc("Delete from Cg_POOrderBillSub where HInterID=" + MainData.HInterID.ToString(), ref DBUtility.ClsPub.sExeReturnInfo);
+                   
+                    //瀛愯〃鏁版嵁璧嬪��
+                    var dataArr = _saveObj.SelectToken("Result.Result.POOrderEntry") as JArray;
+
+                    if (dataArr != null)
+                    {
+                        foreach (var oSub in dataArr)
+                        {
+                            var SubData = new
+                            {
+                                HInterID = _saveObj.SelectToken("Result.Result.Id")?.ToString() ?? "0",
+                                HEntryID = oSub.SelectToken("Id")?.ToString() ?? "0",
+                                HMaterID = oSub.SelectToken("MaterialId_Id")?.ToString() ?? "0",
+                                HUnitID = oSub.SelectToken("UnitId_Id")?.ToString() ?? "0",
+                                HQty = oSub.SelectToken("Qty")?.ToString() ?? "0",
+                                HPrice = oSub.SelectToken("Price")?.ToString() ?? "0",
+                                HTaxPrice = oSub.SelectToken("TaxPrice")?.ToString() ?? "0",
+                                HDiscountRate = oSub.SelectToken("DiscountRate")?.ToString() ?? "0",
+                                HMoney = oSub.SelectToken("Amount")?.ToString() ?? "0",
+                                HTaxRate = oSub.SelectToken("TaxRate")?.ToString() ?? "0",
+                                HTaxMoney = oSub.SelectToken("TaxAmount")?.ToString() ?? "0",
+                                HDate = oSub.SelectToken("DeliveryDate")?.ToString() ?? "",
+                                HRemark = oSub.SelectToken("Note")?.ToString() ?? "",
+                                HRelationQty = oSub.SelectToken("JOINQTY")?.ToString() ?? "0",
+                                HBackRelationQty = oSub.SelectToken("STOCKRETQTY")?.ToString() ?? "0",
+                                HPropertyID = oSub.SelectToken("AuxPropId_Id")?.ToString() ?? "0",
+                                HBatChNo = oSub.SelectToken("FLot_Text")?.ToString() ?? "",
+                                HAuxPropID = oSub.SelectToken("AuxPropId_Id")?.ToString() ?? "0",
+                                HMTONo = oSub.SelectToken("MtoNo")?.ToString() ?? "",
+                                HERPInterID = _saveObj.SelectToken("Result.Result.Id")?.ToString() ?? "0",
+                                HERPEntryID = oSub.SelectToken("Id")?.ToString() ?? "0",
+                                HSEQ = oSub.SelectToken("Seq")?.ToString() ?? "0",
+                                HRECEIVEDEPTID = oSub.SelectToken("ReceiveDeptId_Id")?.ToString() ?? "0",
+                                HSUPPLIERLOT = oSub.SelectToken("SupplierLot")?.ToString() ?? "",
+                                HBOMID = oSub.SelectToken("BomId_Id")?.ToString() ?? "0",
+                                HBomNumber = oSub.SelectToken("BomId.Number")?.ToString() ?? "",
+                                HSTOCKUNITID = oSub.SelectToken("StockUnitID_Id")?.ToString() ?? "0",
+                                HBASEUNITID = oSub.SelectToken("BaseUnitId_Id")?.ToString() ?? "0",
+                                HBFLOWID = oSub.SelectToken("FBFLowId_Id")?.ToString() ?? "",
+                                HGIVEAWAY = oSub.SelectToken("GiveAway")?.ToString().ToUpper() == "TRUE" ? 1 : 0,
+                                HROWTYPE = oSub.SelectToken("RowType")?.ToString() ?? "",
+                                HBASEUNITQTY = oSub.SelectToken("BaseUnitQty")?.ToString() ?? "0",
+                                HSTOCKBASEQTY = oSub.SelectToken("StockBaseQty")?.ToString() ?? "0",
+                                HREQTRACENO = oSub.SelectToken("ReqTraceNo")?.ToString() ?? "",
+                                HMATERIALDESC = oSub.SelectToken("MaterialDesc[0].Value")?.ToString() ?? "",
+                                HRECEIVEORGID = oSub.SelectToken("ReceiveOrgId_Id")?.ToString() ?? "0",
+                                HREQUIREORGID = oSub.SelectToken("RequireOrgId_Id")?.ToString() ?? "0",
+                                HTAXNETPRICE = oSub.SelectToken("TaxNetPrice")?.ToString() ?? "0",
+                                HPRICECOEFFICIENT = oSub.SelectToken("PriceCoefficient")?.ToString() ?? "0",
+                                HTAXCOMBINATION = oSub.SelectToken("FTaxCombination_Id")?.ToString() ?? "0",
+                                HTAXCOMBINATIONNumber = oSub.SelectToken("FTaxCombination.Number")?.ToString() ?? "",
+                                HPRICEUNITID = oSub.SelectToken("PriceUnitId_Id")?.ToString() ?? "0",
+                                HPRICELISTENTRY = oSub.SelectToken("PriceListEntry_Id")?.ToString() ?? "0",
+                                HPRICELISTENTRYNumber = oSub.SelectToken("PriceListEntry.Number")?.ToString() ?? "",
+                                HPAYORGID = oSub.SelectToken("PayOrgId_Id")?.ToString() ?? "0",
+                                HSETTLEORGID = oSub.SelectToken("SettleOrgId_Id")?.ToString() ?? "0",
+                                HTaxRate_TAX = oSub.SelectToken("POORDERENTRY_TAX[0].TaxRate")?.ToString() ?? "0",
+                                HTaxMoney_TAX = oSub.SelectToken("POORDERENTRY_TAX[0].TaxAmount")?.ToString() ?? "0",
+                                HTAXRATEID = oSub.SelectToken("POORDERENTRY_TAX[0].TaxRateId_Id")?.ToString() ?? "0",
+                                HTAXRATENumber = oSub.SelectToken("POORDERENTRY_TAX[0].TaxRateId.Number")?.ToString() ?? "",
+                                HCOSTPERCENT = oSub.SelectToken("POORDERENTRY_TAX[0].CostPercent")?.ToString() ?? "0",
+                                HCOSTAMOUNT = oSub.SelectToken("POORDERENTRY_TAX[0].CostAmount")?.ToString() ?? "0",
+                                HVAT = oSub.SelectToken("POORDERENTRY_TAX[0].VAT")?.ToString() ?? "",
+                                HSELLERWITHHOLDING = oSub.SelectToken("POORDERENTRY_TAX[0].SellerWithholding")?.ToString() ?? "",
+                                HBUYERWITHHOLDING = oSub.SelectToken("POORDERENTRY_TAX[0].BuyerWithholding")?.ToString() ?? "",
+                            };
+                          
+                        }
+                    }
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鎴愬姛";
+                    objJsonResult.data = WebSoBar;
+                    return objJsonResult;
+                }                
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍗曟嵁鏌ヨ鐗╂枡淇℃伅鍙戠敓寮傚父锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #endregion
     }
 }

--
Gitblit v1.9.1