From b905d2a6b1349d12b15ee5d62474eec637c9b9ef Mon Sep 17 00:00:00 2001
From: yxj <yxj@hz-kingdee.com>
Date: 星期四, 16 十月 2025 15:38:07 +0800
Subject: [PATCH] 生产入库扫描源单调用方法修改,增加通过WEBAPI同步金蝶云生产订单至本地数据库功能

---
 CLOUDWEB/WebService1.asmx.cs |  284 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 282 insertions(+), 2 deletions(-)

diff --git a/CLOUDWEB/WebService1.asmx.cs b/CLOUDWEB/WebService1.asmx.cs
index 35cc223..88dc8a7 100644
--- a/CLOUDWEB/WebService1.asmx.cs
+++ b/CLOUDWEB/WebService1.asmx.cs
@@ -35,6 +35,255 @@
 
         #region 鍗曟嵁鍚屾
 
+        #region 鐢熶骇璁㈠崟鍚屾     鏍规嵁鍗曟嵁鍙峰悓姝�
+
+        [WebMethod]
+        public bool GetWebAPIToLocal_ICMO(string HBillNo, string HBillType, string HMaker, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
+            //浠庨厤缃枃浠惰幏鍙� CLOUD缃戝潃銆佽处濂椾俊鎭�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮�
+            if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
+            {
+                sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
+                return false;
+            }
+
+            //鑾峰彇CLOUD璐﹀彿瀵嗙爜
+            string HReturn;
+            string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
+            string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
+            string dbId = Pub_Class.ClsPub.sCLOUDAcc;
+            ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
+            bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
+
+            if (bLogin)
+            {
+                //鏌ョ湅鍗曟嵁
+                string sJson = "{\"CreateOrgId\":0,\"Number\":\"" + HBillNo + "\"}";
+                var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.View",
+                new object[] { "PRD_MO", 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";
+                    };
+                    sErrMsg = "鍚屾鍗曟嵁澶辫触锛�" + strErrorMsg;
+                    return false;
+                }
+                else
+                {
+                    //涓昏〃鏁版嵁璧嬪��
+                    var MainData = new
+                    {
+                        HInterID = _saveObj.SelectToken("Result.Result.Id")?.ToString() ?? "0",
+                        HYear = DateTime.Now.Year,
+                        HPeriod = DateTime.Now.Month,
+                        HBillType = HBillType,
+                        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,
+                        HEMPID = 0,
+                        HRoutingInterID = 0,
+                        HPlanQty = 1,
+                        HRelationQty = 0,
+                        HPlanBeginDate = _saveObj.SelectToken("Result.Result.Date")?.ToString(),
+                        HPlanEndDate = DateTime.Now,
+                        HBeginDate = _saveObj.SelectToken("Result.Result.Date")?.ToString(),
+                        HEndDate = DateTime.Now,
+                        HMaterID = 0,
+                        HUnitID = 0,
+                        HBomID = 0,
+                        HBatchNo = "",
+                        HSourceInterID = 0,
+                        HSourceEntryID = 0,
+                        HSourceBillNo = "",
+                        HSourceBillType = "",
+                        HSeOrderInterID = 0,
+                        HSeOrderEntryID = 0,
+                        HSeOrderBillNo = "",
+                        HPRDORGID = _saveObj.SelectToken("Result.Result.PrdOrgId_Id")?.ToString() ?? "0",
+                        HENTRUSTORGID = _saveObj.SelectToken("Result.Result.ENTrustOrgId_Id")?.ToString() ?? "0",
+                        HOWNERID = _saveObj.SelectToken("Result.Result.OwnerId_Id")?.ToString() ?? "0",
+                        HOWNERTYPEID = _saveObj.SelectToken("Result.Result.OwnerTypeId")?.ToString() ?? "",
+                        HCusID = 0,
+                        HDeptID = _saveObj.SelectToken("Result.Result.WorkShopID_Id")?.ToString() ?? "0",
+                        HRemark = "WebAPI瀵煎叆",
+                        HMTONo = "",
+                        HERPInterID = _saveObj.SelectToken("Result.Result.Id")?.ToString() ?? "0",
+                        HERPBillType = _saveObj.SelectToken("Result.Result.BillType_Id")?.ToString() ?? "",
+                        HMaker = _saveObj.SelectToken("Result.Result.CreatorId.Name")?.ToString() ?? "",
+                        HMakeDate = _saveObj.SelectToken("Result.Result.CreateDate")?.ToString(),
+                        HChecker = _saveObj.SelectToken("Result.Result.ApproverId.Name")?.ToString() ?? "",
+                        HCheckDate = _saveObj.SelectToken("Result.Result.ApproveDate")?.ToString(),
+                        HUpDater = _saveObj.SelectToken("Result.Result.ModifierId.Name")?.ToString() ?? "",
+                        HUpDateDate = _saveObj.SelectToken("Result.Result.ModifyDate")?.ToString(),
+                        HDeleteMan = _saveObj.SelectToken("Result.Result.CANCELER.Name")?.ToString() ?? "",
+                        HDeleteDate = _saveObj.SelectToken("Result.Result.CancelDate")?.ToString(),
+                        HBillSubType = _saveObj.SelectToken("Result.Result.IsRework")?.ToString().ToUpper() == "TRUE" ? "杩斿伐" : "鏅��",
+                        HISENTRUST = _saveObj.SelectToken("Result.Result.IsEntrust")?.ToString().ToUpper() == "TRUE" ? 1 : 0,
+                        HISREWORK = _saveObj.SelectToken("Result.Result.IsRework")?.ToString().ToUpper() == "TRUE" ? 1 : 0,
+                    };
+
+                    //鏍规嵁鍗曟嵁ID锛屽垹闄ゆ湰鍦版暟鎹�
+                    oCn.RunProc("Delete from Sc_ICMOBillMain where HInterID=" + MainData.HInterID.ToString(), ref DBUtility.ClsPub.sExeReturnInfo);
+                    oCn.RunProc("Delete from Sc_ICMOBillSub where HInterID=" + MainData.HInterID.ToString(), ref DBUtility.ClsPub.sExeReturnInfo);
+
+                    //鎻掑叆涓昏〃
+                    oCn.RunProc("Insert Into Sc_ICMOBillMain " +
+                    "(HInterID,HYear,HPeriod,HBillType,HDate" +
+                    ",HBillNo,HBillStatus,HEMPID,HRoutingInterID,HPlanQty" +
+                    ",HRelationQty,HPlanBeginDate,HPlanEndDate,HBeginDate,HEndDate" +
+                    ",HMaterID,HUnitID,HBomID,HBatchNo" +
+                    ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                    ",HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+                    ",HPRDORGID,HENTRUSTORGID,HOWNERID,HOWNERTYPEID,HCusID" +
+                    ",HDeptID,HRemark,HMTONo,HERPInterID,HERPBillType" +
+                    ",HMaker,HMakeDate,HChecker,HCheckDate" +
+                    ",HUpDater,HUpDateDate,HDeleteMan,HDeleteDate" +
+                    ",HBillSubType,HISENTRUST,HISREWORK" +
+                    ") " +
+                    " values(" + MainData.HInterID.ToString() + "," + MainData.HYear.ToString() + "," + MainData.HPeriod.ToString() + ",'" + MainData.HBillType + "','" + MainData.HDate + "'" +
+                    ",'" + MainData.HBillNo + "'," + MainData.HBillStatus.ToString() + "," + MainData.HEMPID.ToString() + "," + MainData.HRoutingInterID.ToString() + "," + MainData.HPlanQty.ToString() +
+                    ", " + MainData.HRelationQty.ToString() + ",'" + MainData.HPlanBeginDate + "','" + MainData.HPlanEndDate + "','" + MainData.HBeginDate + "','" + MainData.HEndDate + "'" +
+                    ", " + MainData.HMaterID.ToString() + "," + MainData.HUnitID.ToString() + "," + MainData.HBomID.ToString() + ",'" + MainData.HBatchNo + "'" +
+                    ", " + MainData.HSourceInterID.ToString() + "," + MainData.HSourceEntryID.ToString() + ",'" + MainData.HSourceBillNo + "','" + MainData.HSourceBillType + "'" +
+                    ", " + MainData.HSeOrderInterID.ToString() + "," + MainData.HSeOrderEntryID.ToString() + ",'" + MainData.HSeOrderBillNo + "'" +
+                    ", " + MainData.HPRDORGID.ToString() + "," + MainData.HENTRUSTORGID.ToString() + "," + MainData.HOWNERID.ToString() + ",'" + MainData.HOWNERTYPEID + "'," + MainData.HCusID.ToString() +
+                    ", " + MainData.HDeptID.ToString() + ",'" + MainData.HRemark + "','" + MainData.HMTONo + "'," + MainData.HERPInterID.ToString() + ",'" + MainData.HERPBillType + "'" +
+                    ",'" + MainData.HMaker + "','" + MainData.HMakeDate + "','" + MainData.HChecker + "'," + (MainData.HCheckDate == "" ? "NULL" : "'" + MainData.HCheckDate + "'") +
+                    ",'" + MainData.HUpDater + "'," + (MainData.HUpDateDate == "" ? "NULL" : "'" + MainData.HUpDateDate + "'") + ",'" + MainData.HDeleteMan + "'," + (MainData.HDeleteDate == "" ? "NULL" : "'" + MainData.HDeleteDate + "'") +
+                    ",'" + MainData.HBillSubType + "'," + DBUtility.ClsPub.BoolToString(MainData.HISENTRUST) + "," + DBUtility.ClsPub.BoolToString(MainData.HISREWORK) +
+                    ") ");
+
+                    //瀛愯〃鏁版嵁璧嬪��
+                    var dataArr = _saveObj.SelectToken("Result.Result.TreeEntity") 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",
+                                HSEQ = oSub.SelectToken("Seq")?.ToString() ?? "0",
+                                HQty = oSub.SelectToken("Qty")?.ToString() ?? "0",
+                                HQTYMUST = oSub.SelectToken("Qty")?.ToString() ?? "0",
+                                HRelationQty = oSub.SelectToken("StockInQuaSelAuxQty")?.ToString() ?? "0",
+                                HRelationMoney = 0,
+                                HPlanBeginDate = oSub.SelectToken("PlanStartDate")?.ToString() ?? "",
+                                HPlanEndDate = oSub.SelectToken("PlanFinishDate")?.ToString() ?? "",
+                                HBeginDate = oSub.SelectToken("PlanStartDate")?.ToString() ?? "",
+                                HEndDate = oSub.SelectToken("PlanFinishDate")?.ToString() ?? "",
+                                HBomID = oSub.SelectToken("BomId_Id")?.ToString() ?? "0",
+                                HBomNumber = oSub.SelectToken("BomId.Number")?.ToString() ?? "",
+                                HRemark = "",
+                                HMaterID = oSub.SelectToken("MaterialId_Id")?.ToString() ?? "0",
+                                HUnitID = oSub.SelectToken("UnitId_Id")?.ToString() ?? "0",
+                                HWHID = oSub.SelectToken("StockId_Id")?.ToString() ?? "0",
+                                HSPID = oSub.SelectToken("StockLocId_Id")?.ToString() ?? "0",
+                                HPROCID = 0,
+                                HDEPTID = oSub.SelectToken("WorkShopID_Id")?.ToString() ?? "0",
+                                HBatchNo = oSub.SelectToken("Lot_Text")?.ToString() ?? "",
+                                HSourceInterID = oSub.SelectToken("SrcBillId")?.ToString() ?? "0",
+                                HSourceEntryID = oSub.SelectToken("SrcBillEntryId")?.ToString() ?? "0",
+                                HSourceBillNo = oSub.SelectToken("SrcBillNo")?.ToString() ?? "",
+                                HSourceBillType = oSub.SelectToken("SrcBillType")?.ToString() ?? "",
+                                HSeOrderInterID = oSub.SelectToken("SaleOrderId")?.ToString() ?? "0",
+                                HSeOrderEntryID = oSub.SelectToken("SaleOrderEntryId")?.ToString() ?? "0",
+                                HSeOrderBillNo = oSub.SelectToken("SaleOrderNo")?.ToString() ?? "",
+                                HSTOCKINORGID = oSub.SelectToken("StockInOrgId_Id")?.ToString() ?? "0",
+                                HINSTOCKOWNERID = oSub.SelectToken("InStockOwnerId_Id")?.ToString() ?? "0",
+                                HINSTOCKOWNERTYPEID = oSub.SelectToken("InStockOwnerTypeId")?.ToString() ?? "",
+                                HREQUESTORGID = oSub.SelectToken("RequestOrgId_Id")?.ToString() ?? "0",
+                                HPlanMode = 0,
+                                HMTONo = oSub.SelectToken("MTONo")?.ToString() ?? "",
+                                HERPInterID = _saveObj.SelectToken("Result.Result.Id")?.ToString() ?? "0",
+                                HERPEntryID = oSub.SelectToken("Id")?.ToString() ?? "0",
+                                HSTATUS = oSub.SelectToken("Status")?.ToString() ?? "",
+                                HEntryCusID = 0,
+                                HICMOReportRelationQty = oSub.SelectToken("RepQuaSelAuxQty")?.ToString() ?? "0",
+                                HAuxPropID = oSub.SelectToken("AuxPropId_Id")?.ToString() ?? "0",
+                                HProdMaterCode = "",
+                                HCusShortName = "",
+                                HCusNeedMaterial = "",
+                                HPlanSendGoodsDate = "",
+                                HProdMaterName = "",
+                                HWorkRemark = "",
+                                HImportNote = "",
+                                HCusName = "",
+                                HInstockQty_Max = oSub.SelectToken("StockInLimitH")?.ToString() ?? "0",
+                                HInstockQty_Min = oSub.SelectToken("StockInLimitL")?.ToString() ?? "0",
+                                HPickLabel = "",
+                                HPickLabelNumber = "",
+                                HCusNumber = "",
+                                HINSTOCKTYPE = oSub.SelectToken("InStockType")?.ToString() ?? "",
+                                HCHECKPRODUCT = oSub.SelectToken("CheckProduct")?.ToString().ToUpper() == "TRUE" ? 1 : 0,
+                                HQAIP = oSub.SelectToken("QAIP")?.ToString() ?? "",
+                                HISBACKFLUSH = oSub.SelectToken("ISBACKFLUSH")?.ToString().ToUpper() == "TRUE" ? 1 : 0,
+                                HREQSRC = oSub.SelectToken("ReqSrc")?.ToString() ?? "",
+                                HSTOCKINQUASELAUXQTY = oSub.SelectToken("StockInQuaSelAuxQty")?.ToString() ?? "0",
+                                HSeOrderEntrySEQ = oSub.SelectToken("SaleOrderEntrySeq")?.ToString() ?? "0",
+                                HPROJECTNO = oSub.SelectToken("ProjectNo")?.ToString() ?? "",
+                                HPRODUCTTYPE = oSub.SelectToken("ProductType")?.ToString() == "1" ? 1 : 0,
+                                HCOSTRATE = oSub.SelectToken("CostRate")?.ToString() ?? "0",
+                                HBASEUNITID = oSub.SelectToken("BaseUnitId_Id")?.ToString() ?? "0",
+                                HOrderProcNO = oSub.SelectToken("SaleOrderNo")?.ToString() ?? "",
+                            };
+
+                            //鎻掑叆瀛愯〃
+                            oCn.RunProc("Insert Into Sc_ICMOBillSub " +
+                            "(HInterID,HENTRYID,HSEQ,HQty,HQTYMUST,HRelationQty,HRelationMoney" +
+                            ",HPlanBeginDate,HPlanEndDate,HBeginDate,HEndDate,HBomID,HBomNumber,HRemark" +
+                            ",HMaterID,HUnitID,HWHID,HSPID,HPROCID,HDEPTID,HBatchNo" +
+                            ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                            ",HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+                            ",HSTOCKINORGID,HINSTOCKOWNERID,HINSTOCKOWNERTYPEID,HREQUESTORGID" +
+                            ",HPlanMode,HMTONo,HERPInterID,HERPEntryID,HSTATUS" +
+                            ",HEntryCusID,HICMOReportRelationQty,HAuxPropID,HProdMaterCode,HCusShortName" +
+                            ",HCusNeedMaterial,HPlanSendGoodsDate,HProdMaterName,HWorkRemark,HImportNote,HCusName" +
+                            ",HInstockQty_Max,HInstockQty_Min,HPickLabel,HPickLabelNumber,HCusNumber" +
+                            ",HINSTOCKTYPE,HCHECKPRODUCT,HQAIP,HISBACKFLUSH,HREQSRC,HSTOCKINQUASELAUXQTY" +
+                            ",HSeOrderEntrySEQ,HPROJECTNO,HPRODUCTTYPE,HCOSTRATE,HBASEUNITID,HOrderProcNO" +
+                            ") " +
+                            " values(" + SubData.HInterID.ToString() + "," + SubData.HEntryID.ToString() + "," + SubData.HSEQ.ToString() + "," + SubData.HQty.ToString() + "," + SubData.HQTYMUST.ToString() + "," + SubData.HRelationQty.ToString() + "," + SubData.HRelationMoney.ToString() +
+                            ",'" + SubData.HPlanBeginDate + "','" + SubData.HPlanEndDate + "','" + SubData.HBeginDate + "','" + SubData.HEndDate + "'," + SubData.HBomID.ToString() + ",'" + SubData.HBomNumber + "','" + SubData.HRemark + "'" +
+                            ", " + SubData.HMaterID.ToString() + "," + SubData.HUnitID.ToString() + "," + SubData.HWHID.ToString() + "," + SubData.HSPID.ToString() + "," + SubData.HPROCID.ToString() + "," + SubData.HDEPTID.ToString() + ",'" + SubData.HBatchNo + "'" +
+                            ", " + SubData.HSourceInterID.ToString() + "," + SubData.HSourceEntryID.ToString() + ",'" + SubData.HSourceBillNo + "','" + SubData.HSourceBillType + "'" +
+                            ", " + SubData.HSeOrderInterID.ToString() + "," + SubData.HSeOrderEntryID.ToString() + ",'" + SubData.HSeOrderBillNo + "'" +
+                            ", " + SubData.HSTOCKINORGID.ToString() + "," + SubData.HINSTOCKOWNERID.ToString() + ",'" + SubData.HINSTOCKOWNERTYPEID + "'," + SubData.HREQUESTORGID.ToString() +
+                            ", " + SubData.HPlanMode.ToString() + ",'" + SubData.HMTONo + "'," + SubData.HERPInterID.ToString() + "," + SubData.HERPEntryID.ToString() + ",'" + SubData.HSTATUS + "'" +
+                            ", " + SubData.HEntryCusID.ToString() + "," + SubData.HICMOReportRelationQty.ToString() + "," + SubData.HAuxPropID.ToString() + ",'" + SubData.HProdMaterCode + "','" + SubData.HCusShortName + "'" +
+                            ",'" + SubData.HCusNeedMaterial + "','" + SubData.HPlanSendGoodsDate + "','" + SubData.HProdMaterName + "','" + SubData.HWorkRemark + "','" + SubData.HImportNote + "','" + SubData.HCusName + "'" +
+                            ", " + SubData.HInstockQty_Max.ToString() + "," + SubData.HInstockQty_Min.ToString() + ",'" + SubData.HPickLabel + "','" + SubData.HPickLabelNumber + "','" + SubData.HCusNumber + "'" +
+                            ",'" + SubData.HINSTOCKTYPE + "'," + DBUtility.ClsPub.BoolToString(SubData.HCHECKPRODUCT) + ",'" + SubData.HQAIP + "'," + DBUtility.ClsPub.BoolToString(SubData.HISBACKFLUSH) + ",'" + SubData.HREQSRC + "'," + SubData.HSTOCKINQUASELAUXQTY.ToString() +
+                            ", " + SubData.HSeOrderEntrySEQ.ToString() + ",'" + SubData.HPROJECTNO + "'," + DBUtility.ClsPub.BoolToString(SubData.HPRODUCTTYPE) + "," + SubData.HCOSTRATE.ToString() + "," + SubData.HBASEUNITID.ToString() + ",'" + SubData.HOrderProcNO + "'" +
+                            ") ");
+                        }
+                    }
+                    return true;
+                }
+            }
+            else
+            {
+                sErrMsg = "鍚屾鍗曟嵁澶辫触锛侀噾铦朵簯鐧诲綍澶辫触锛�";
+                return false;
+            }
+        }
+
+        #endregion
+
         #region 閲囪喘璁㈠崟鍚屾     鏍规嵁鍗曟嵁鍙峰悓姝�
 
         [WebMethod]
@@ -224,6 +473,7 @@
                                 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() ?? "",
@@ -262,7 +512,7 @@
                             ",HLineTotal,HlineTotalBB,HDate,HInStockQty,HInvoiceQty,HRemark" +
                             ",HSeOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
                             ",HRelationQty,HBackRelationQty,HPropertyID,HBatChNo,HAuxPropID,HMTONo" +
-                            ",HERPInterID,HERPEntryID,HSEQ,HRECEIVEDEPTID,HSUPPLIERLOT,HBOMID" +
+                            ",HERPInterID,HERPEntryID,HSEQ,HRECEIVEDEPTID,HSUPPLIERLOT,HBOMID,HBomNumber" +
                             ",HSTOCKUNITID,HBASEUNITID,HBFLOWID,HGIVEAWAY,HROWTYPE,HBASEUNITQTY" +
                             ",HSTOCKBASEQTY,HREQTRACENO,HMATERIALDESC,HRECEIVEORGID,HREQUIREORGID,HTAXNETPRICE" +
                             ",HPRICECOEFFICIENT,HTAXCOMBINATION,HTAXCOMBINATIONNumber,HPRICEUNITID,HPRICELISTENTRY,HPRICELISTENTRYNumber" +
@@ -276,7 +526,7 @@
                             ", " + SubData.HLineTotal.ToString() + "," + SubData.HlineTotalBB.ToString() + ",'" + SubData.HDate + "'," + SubData.HInStockQty.ToString() + "," + SubData.HInvoiceQty.ToString() + ",'" + SubData.HRemark + "'" +
                             ",'" + SubData.HSeOrderBillNo + "'," + SubData.HSeOrderInterID.ToString() + "," + SubData.HSeOrderEntryID.ToString() + "," + SubData.HSourceInterID.ToString() + "," + SubData.HSourceEntryID.ToString() + ",'" + SubData.HSourceBillNo + "','" + SubData.HSourceBillType + "'" +
                             ", " + SubData.HRelationQty.ToString() + "," + SubData.HBackRelationQty.ToString() + "," + SubData.HPropertyID.ToString() + ",'" + SubData.HBatChNo + "'," + SubData.HAuxPropID.ToString() + ",'" + SubData.HMTONo + "'" +
-                            ", " + SubData.HERPInterID.ToString() + "," + SubData.HERPEntryID.ToString() + "," + SubData.HSEQ.ToString() + "," + SubData.HRECEIVEDEPTID.ToString() + ",'" + SubData.HSUPPLIERLOT + "'," + SubData.HBOMID.ToString() +
+                            ", " + SubData.HERPInterID.ToString() + "," + SubData.HERPEntryID.ToString() + "," + SubData.HSEQ.ToString() + "," + SubData.HRECEIVEDEPTID.ToString() + ",'" + SubData.HSUPPLIERLOT + "'," + SubData.HBOMID.ToString() + ",'" + SubData.HBomNumber + "'" +
                             ", " + SubData.HSTOCKUNITID.ToString() + "," + SubData.HBASEUNITID.ToString() + ",'" + SubData.HBFLOWID + "'," + DBUtility.ClsPub.BoolToString(SubData.HGIVEAWAY) + ",'" + SubData.HROWTYPE + "'," + SubData.HBASEUNITQTY.ToString() +
                             ", " + SubData.HSTOCKBASEQTY.ToString() + ",'" + SubData.HREQTRACENO + "','" + SubData.HMATERIALDESC + "'," + SubData.HRECEIVEORGID.ToString() + "," + SubData.HREQUIREORGID.ToString() + "," + SubData.HTAXNETPRICE.ToString() +
                             ", " + SubData.HPRICECOEFFICIENT.ToString() + "," + SubData.HTAXCOMBINATION.ToString() + ",'" + SubData.HTAXCOMBINATIONNumber + "'," + SubData.HPRICEUNITID.ToString() + "," + SubData.HPRICELISTENTRY.ToString() + ",'" + SubData.HPRICELISTENTRYNumber + "'" +
@@ -55589,10 +55839,40 @@
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
             Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
             Int64 sMulSourceFlag = 0;   //澶氭簮鍗曟爣蹇楋紙0涓洪潪澶氭簮鍗曟ā寮忥紝1涓哄婧愬崟妯″紡锛�
+            Int64 sHSourceFlag = 1;     //鏄惁閲嶆柊鍚屾婧愬崟淇℃伅锛�1涓哄悓姝ワ紝0涓轰笉鍚屾锛�
 
             if (oSystemParameterMain.Kf_ProductInBill_MulSourceBill.ToUpper() == "Y") //绯荤粺鍙傛暟  鐢熶骇鍏ュ簱鍗�-澶氭簮鍗曟ā寮�
             {
                 sMulSourceFlag = 1;
+
+                //鍒ゆ柇婧愬崟鏄惁宸插瓨鍦ㄧ紦瀛樺垪琛ㄤ腑
+                DataSet dsSource = oCn.RunProcReturn(" select 1 from KF_PonderationBillMain_Temp with(nolock) where HInterID= " + HInterID.ToString() + " and HBillType= '" + HBillType + "' and HSourceBillNo= '" + HSourceBillNo + "' and HQtyMust<>0 ", "KF_PonderationBillMain_Temp");
+                if (dsSource == null || dsSource.Tables[0].Rows.Count == 0)
+                {
+                    sHSourceFlag = 1;
+                }
+                else
+                {
+                    sHSourceFlag = 0;
+                }
+            }
+
+            //閲嶆柊鍚屾婧愬崟淇℃伅
+            if (sHSourceFlag == 1)
+            {
+                if (oSystemParameterMain.WMS_CloudMode.ToUpper() == "N") //绯荤粺鍙傛暟  鏄惁涓虹鏈変簯妯″紡(N涓哄叕鏈変簯妯″紡锛孻涓虹鏈変簯妯″紡)
+                {
+                    if (HSourceBillType == "3710")
+                    {
+                        //鐢熶骇璁㈠崟
+                        GetWebAPIToLocal_ICMO(HSourceBillNo, HSourceBillType, HMaker, ref sErrMsg);
+                    }
+                }
+                else
+                {
+                    //绉佹湁浜戞ā寮�
+                    oCn.RunProc("exec h_p_WMS_ERPSourceBillToLocal '" + HSourceBillNo + "','" + HSourceBillType + "'");
+                }
             }
 
             //灏嗘簮鍗曚俊鎭瓨鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�

--
Gitblit v1.9.1