委外出库扫描源单调用方法修改,增加通过WEBAPI同步金蝶云委外用料清单至本地数据库功能
1个文件已修改
270 ■■■■■ 已修改文件
CLOUDWEB/WebService1.asmx.cs 270 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CLOUDWEB/WebService1.asmx.cs
@@ -950,6 +950,9 @@
                                HQtyMust = oSub.SelectToken("NeedQty")?.ToString() ?? "0",
                                HWHID = oSub.SelectToken("StockID_Id")?.ToString() ?? "0",
                                HSCWhID = oSub.SelectToken("SrcTransStockId_Id")?.ToString() ?? "0",
                                HAuxPropID = oSub.SelectToken("AuxPropID_Id")?.ToString() ?? "0",
                                HBatchNO = oSub.SelectToken("Lot_Text")?.ToString() ?? "",
                                HMTONo = oSub.SelectToken("MTONO")?.ToString() ?? "",
                                HRemark = "",
                                HSourceInterID = oSub.SelectToken("MoId")?.ToString() ?? "0",
                                HSourceEntryID = oSub.SelectToken("MoEntryId")?.ToString() ?? "0",
@@ -958,6 +961,20 @@
                                HICMOInterID = oSub.SelectToken("MoId")?.ToString() ?? "0",
                                HICMOEntryID = oSub.SelectToken("MoEntryId")?.ToString() ?? "0",
                                HICMOBillNo = oSub.SelectToken("MoBillNo")?.ToString() ?? "",
                                //HRelationQty = HRelationQty1-HRelationQty2
                                HRelationQty1 = decimal.TryParse(oSub.SelectToken("SelPickedQty")?.ToString(), out var p) ? p : 0,
                                HRelationQty2 = decimal.TryParse(oSub.SelectToken("SelPrcdReturnQty")?.ToString(), out var r) ? r : 0,
                                HMoveStockQty = oSub.SelectToken("SelTranslateQty")?.ToString() ?? "0",
                                HBackRelationQty = oSub.SelectToken("WipQty")?.ToString() ?? "0",
                                //HQtyScrap = HQtyScrap1/HQtyScrap2
                                HQtyScrap1 = decimal.TryParse(oSub.SelectToken("BaseNumerator")?.ToString(), out var n) ? n : 0,
                                HQtyScrap2 = decimal.TryParse(oSub.SelectToken("BaseDenominator")?.ToString(), out var d) ? d : 0,
                                HBOMID = oSub.SelectToken("BOMID_Id")?.ToString() ?? "0",
                                HBomNumber = oSub.SelectToken("BOMID.Number")?.ToString() ?? "",
                                HNumerator = oSub.SelectToken("Numerator")?.ToString() ?? "0",
                                HDenominator = oSub.SelectToken("Denominator")?.ToString() ?? "0",
                                HERPInterID = _saveObj.SelectToken("Result.Result.Id")?.ToString() ?? "0",
                                HERPEntryID = oSub.SelectToken("Id")?.ToString() ?? "0",
                                HCHILDSUPPLYORGID = oSub.SelectToken("ChildSupplyOrgId_Id")?.ToString() ?? "0",
                                HSUPPLYORGID = oSub.SelectToken("SupplyOrg_Id")?.ToString() ?? "0",
                                HENTRUSTPICKORGID = oSub.SelectToken("EntrustPickOrgId_Id")?.ToString() ?? "0",
@@ -965,21 +982,6 @@
                                HGROUPBYOWNERID = oSub.SelectToken("GroupByOwnerId_Id")?.ToString() ?? "0",
                                HOWNERID = oSub.SelectToken("OwnerID_Id")?.ToString() ?? "0",
                                HOWNERTYPEID = oSub.SelectToken("OwnerTypeId")?.ToString() ?? "",
                                //HRelationQty = HRelationQty1-HRelationQty2
                                HRelationQty1 = decimal.TryParse(oSub.SelectToken("SelPickedQty")?.ToString(), out var p) ? p : 0,
                                HRelationQty2 = decimal.TryParse(oSub.SelectToken("SelPrcdReturnQty")?.ToString(), out var r) ? r : 0,
                                HMoveStockQty = oSub.SelectToken("SelTranslateQty")?.ToString() ?? "0",
                                HAuxPropID = oSub.SelectToken("AuxPropID_Id")?.ToString() ?? "0",
                                HBatchNO = oSub.SelectToken("Lot_Text")?.ToString() ?? "",
                                HMTONo = oSub.SelectToken("MTONO")?.ToString() ?? "",
                                //HQtyScrap = HQtyScrap1/HQtyScrap2
                                HQtyScrap1 = decimal.TryParse(oSub.SelectToken("BaseNumerator")?.ToString(), out var n) ? n : 0,
                                HQtyScrap2 = decimal.TryParse(oSub.SelectToken("BaseDenominator")?.ToString(), out var d) ? d : 0,
                                HERPInterID = _saveObj.SelectToken("Result.Result.Id")?.ToString() ?? "0",
                                HERPEntryID = oSub.SelectToken("Id")?.ToString() ?? "0",
                                HBackRelationQty = oSub.SelectToken("WipQty")?.ToString() ?? "0",
                                HNumerator = oSub.SelectToken("Numerator")?.ToString() ?? "0",
                                HDenominator = oSub.SelectToken("Denominator")?.ToString() ?? "0",
                                HBASEUNITID = oSub.SelectToken("BaseUnitID_Id")?.ToString() ?? "0",
                                HProcessID = oSub.SelectToken("ProcessID_Id")?.ToString() ?? "0",
                                HPROCESSNumber = oSub.SelectToken("ProcessID.Number")?.ToString() ?? "",
@@ -995,8 +997,6 @@
                                HSelPickedQty = oSub.SelectToken("SelPickedQty")?.ToString() ?? "0",
                                HSELPRCDRETURNQTY = oSub.SelectToken("SelPrcdReturnQty")?.ToString() ?? "0",
                                HKeyMaterID_Line = oSub.SelectToken("IsKeyComponent")?.ToString().ToUpper() == "TRUE" ? 1 : 0,
                                HBOMID = oSub.SelectToken("BOMID_Id")?.ToString() ?? "0",
                                HBomNumber = oSub.SelectToken("BOMID.Number")?.ToString() ?? "",
                            };
                            //插入子表
@@ -1020,6 +1020,212 @@
                            ", " + SubData.HOWNERID.ToString() + ",'" + SubData.HOWNERTYPEID + "'," + SubData.HBASEUNITID.ToString() + "," + SubData.HProcessID.ToString() + ",'" + SubData.HPROCESSNumber + "'," + SubData.HICMOENTRYSEQ.ToString() +
                            ",'" + SubData.HPROJECTNO + "'," + SubData.HOPERID.ToString() + "," + SubData.HSEQ.ToString() + "," + SubData.HSTOCKSTATUSID.ToString() + ",'" + SubData.HSTOCKSTATUSNumber + "'," + SubData.HLOT.ToString() +
                            ", " + SubData.HOPTQUEUE.ToString() + "," + DBUtility.ClsPub.BoolToString(SubData.HRESERVETYPE) + "," + SubData.HSelPickedQty.ToString() + "," + SubData.HSELPRCDRETURNQTY.ToString() + "," + DBUtility.ClsPub.BoolToString(SubData.HKeyMaterID_Line) +
                            ") ");
                        }
                    }
                    return true;
                }
            }
            else
            {
                sErrMsg = "同步单据失败!金蝶云登录失败!";
                return false;
            }
        }
        #endregion
        #region 委外用料清单同步     根据单据号同步
        [WebMethod]
        public bool GetWebAPIToLocal_WWPPBom(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[] { "SUB_PPBOM", 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,
                        HBillSubType = HBillType,
                        HDate = _saveObj.SelectToken("Result.Result.CreateDate")?.ToString(),
                        HBillNo = _saveObj.SelectToken("Result.Result.BillNo")?.ToString() ?? "",
                        HBillStatus = _saveObj.SelectToken("Result.Result.ApproverId_Id")?.ToString() == "0" ? 1 : 2,
                        HICMOInterID = _saveObj.SelectToken("Result.Result.SubReqId")?.ToString() ?? "0",
                        HICMOEntryID = _saveObj.SelectToken("Result.Result.SubReqEntryId")?.ToString() ?? "0",
                        HSUBBILLNO = _saveObj.SelectToken("Result.Result.SubReqBillNO")?.ToString() ?? "",
                        HSUBREQENTRYSEQ = _saveObj.SelectToken("Result.Result.SubReqEntrySeq")?.ToString() ?? "0",
                        HMaterID = _saveObj.SelectToken("Result.Result.MaterialID_Id")?.ToString() ?? "0",
                        HUnitID = _saveObj.SelectToken("Result.Result.UnitID_Id")?.ToString() ?? "0",
                        HQty = _saveObj.SelectToken("Result.Result.Qty")?.ToString() ?? "0",
                        HSupID = _saveObj.SelectToken("Result.Result.SupplierId_Id")?.ToString() ?? "0",
                        HDeptID = 0,
                        HRemark = "WebAPI导入",
                        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(),
                        HPOOrderBillNo = _saveObj.SelectToken("Result.Result.PurOrderNo")?.ToString() ?? "",
                        HPOOrderSeq = _saveObj.SelectToken("Result.Result.PurOrderEntrySeq")?.ToString() ?? "0",
                        HSeOrderBillNo = _saveObj.SelectToken("Result.Result.SALEORDERNO")?.ToString() ?? "",
                        HSeOrderInterID = _saveObj.SelectToken("Result.Result.SaleOrderId")?.ToString() ?? "0",
                        HSeOrderEntryID = _saveObj.SelectToken("Result.Result.SaleOrderEntryId")?.ToString() ?? "0",
                        HSeOrderSEQ = _saveObj.SelectToken("Result.Result.SaleOrderEntrySeq")?.ToString() ?? "0",
                        HPRDORGID = _saveObj.SelectToken("Result.Result.SubOrgId_Id")?.ToString() ?? "0",
                        HENTRUSTORGID = _saveObj.SelectToken("Result.Result.SubOrgId_Id")?.ToString() ?? "0",
                        HPARENTOWNERID = _saveObj.SelectToken("Result.Result.ParentOwnerId_Id")?.ToString() ?? "0",
                        HPARENTOWNERTYPEID = _saveObj.SelectToken("Result.Result.ParentOwnerTypeId")?.ToString() ?? "",
                        HERPInterID = _saveObj.SelectToken("Result.Result.Id")?.ToString() ?? "0",
                        HERPBillType = "WWPPBOM",
                        HSETTLEORGID = _saveObj.SelectToken("Result.Result.SettleOrgId_Id")?.ToString() ?? "0",
                        HREQSRC = _saveObj.SelectToken("Result.Result.ReqSrc")?.ToString() ?? "",
                    };
                    //根据单据ID,删除本地数据
                    oCn.RunProc("Delete from WW_PPBomBillMain where HInterID=" + MainData.HInterID.ToString(), ref DBUtility.ClsPub.sExeReturnInfo);
                    oCn.RunProc("Delete from WW_PPBomBillSub where HInterID=" + MainData.HInterID.ToString(), ref DBUtility.ClsPub.sExeReturnInfo);
                    //插入主表
                    oCn.RunProc("Insert Into WW_PPBomBillMain " +
                    "(HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate" +
                    ",HBillNo,HBillStatus,HICMOInterID,HICMOEntryID,HSUBBILLNO,HSUBREQENTRYSEQ" +
                    ",HMaterID,HUnitID,HQty,HSupID,HDeptID,HRemark" +
                    ",HMaker,HMakeDate,HChecker,HCheckDate" +
                    ",HUpDater,HUpDateDate,HPOOrderBillNo,HPOOrderSeq" +
                    ",HSeOrderBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderSEQ" +
                    ",HPRDORGID,HENTRUSTORGID,HPARENTOWNERID,HPARENTOWNERTYPEID" +
                    ",HERPInterID,HERPBillType,HSETTLEORGID,HREQSRC" +
                    ") " +
                    " values(" + MainData.HInterID.ToString() + "," + MainData.HYear.ToString() + "," + MainData.HPeriod.ToString() + ",'" + MainData.HBillType + "','" + MainData.HBillSubType + "','" + MainData.HDate + "'" +
                    ",'" + MainData.HBillNo + "'," + MainData.HBillStatus.ToString() + "," + MainData.HICMOInterID.ToString() + "," + MainData.HICMOEntryID.ToString() + ",'" + MainData.HSUBBILLNO + "'," + MainData.HSUBREQENTRYSEQ.ToString() +
                    ", " + MainData.HMaterID.ToString() + "," + MainData.HUnitID.ToString() + "," + MainData.HQty.ToString() + "," + MainData.HSupID.ToString() + "," + MainData.HDeptID.ToString() + ",'" + MainData.HRemark + "'" +
                    ",'" + MainData.HMaker + "','" + MainData.HMakeDate + "','" + MainData.HChecker + "'," + (MainData.HCheckDate == "" ? "NULL" : "'" + MainData.HCheckDate + "'") +
                    ",'" + MainData.HUpDater + "'," + (MainData.HUpDateDate == "" ? "NULL" : "'" + MainData.HUpDateDate + "'") + ",'" + MainData.HPOOrderBillNo + "'," + MainData.HPOOrderSeq.ToString() +
                    ",'" + MainData.HSeOrderBillNo + "'," + MainData.HSeOrderInterID.ToString() + "," + MainData.HSeOrderEntryID.ToString() + "," + MainData.HSeOrderSEQ.ToString() +
                    ", " + MainData.HPRDORGID.ToString() + "," + MainData.HENTRUSTORGID.ToString() + "," + MainData.HPARENTOWNERID.ToString() + ",'" + MainData.HPARENTOWNERTYPEID + "'" +
                    ", " + MainData.HERPInterID.ToString() + ",'" + MainData.HERPBillType + "'," + MainData.HSETTLEORGID.ToString() + ",'" + MainData.HREQSRC + "'" +
                    ") ");
                    //子表数据赋值
                    var dataArr = _saveObj.SelectToken("Result.Result.PPBomEntry") 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("NeedQty")?.ToString() ?? "0",
                                HQtyMust = oSub.SelectToken("NeedQty")?.ToString() ?? "0",
                                HWHID = oSub.SelectToken("StockID_Id")?.ToString() ?? "0",
                                HSCWhID = oSub.SelectToken("SrcTransStockId_Id")?.ToString() ?? "0",
                                HAuxPropID = oSub.SelectToken("AuxPropID_Id")?.ToString() ?? "0",
                                HBatchNO = oSub.SelectToken("Lot_Text")?.ToString() ?? "",
                                HMTONo = oSub.SelectToken("MTONO")?.ToString() ?? "",
                                HRemark = "",
                                HSourceInterID = oSub.SelectToken("SubReqId")?.ToString() ?? "0",
                                HSourceEntryID = oSub.SelectToken("SubReqEntryId")?.ToString() ?? "0",
                                HSourceBillNo = oSub.SelectToken("SubReqBillNO")?.ToString() ?? "",
                                HSourceBillType = "",
                                HICMOInterID = 0,
                                HICMOEntryID = 0,
                                HICMOBillNo = "",
                                //HRelationQty = HRelationQty1-HRelationQty2
                                HRelationQty1 = decimal.TryParse(oSub.SelectToken("SelPickedQty")?.ToString(), out var p) ? p : 0,
                                HRelationQty2 = decimal.TryParse(oSub.SelectToken("SelPrcdReturnQty")?.ToString(), out var r) ? r : 0,
                                HMoveStockQty = oSub.SelectToken("SelTranslateQty")?.ToString() ?? "0",
                                HBackRelationQty = oSub.SelectToken("WipQty")?.ToString() ?? "0",
                                HQtyScrap = 0,
                                HBOMID = oSub.SelectToken("BOMID_Id")?.ToString() ?? "0",
                                HBomNumber = oSub.SelectToken("BOMID.Number")?.ToString() ?? "",
                                HERPInterID = _saveObj.SelectToken("Result.Result.Id")?.ToString() ?? "0",
                                HERPEntryID = oSub.SelectToken("Id")?.ToString() ?? "0",
                                HCHILDSUPPLYORGID = oSub.SelectToken("ChildSupplyOrgId_Id")?.ToString() ?? "0",
                                HSUPPLYORGID = oSub.SelectToken("SupplyOrg_Id")?.ToString() ?? "0",
                                HENTRUSTPICKORGID = oSub.SelectToken("GroupByOwnerId_Id")?.ToString() ?? "0",
                                HSRCTRANSORGID = oSub.SelectToken("SrcTransOrgId_Id")?.ToString() ?? "0",
                                HGROUPBYOWNERID = oSub.SelectToken("GroupByOwnerId_Id")?.ToString() ?? "0",
                                HOWNERID = oSub.SelectToken("OwnerID_Id")?.ToString() ?? "0",
                                HOWNERTYPEID = oSub.SelectToken("OwnerTypeId")?.ToString() ?? "",
                                HBASEUNITID = oSub.SelectToken("BaseUnitID_Id")?.ToString() ?? "0",
                                HProcessID = oSub.SelectToken("ProcessID_Id")?.ToString() ?? "0",
                                HPROCESSNumber = oSub.SelectToken("ProcessID.Number")?.ToString() ?? "",
                                HPROJECTNO = oSub.SelectToken("ProjectNO")?.ToString() ?? "",
                                HOPERID = oSub.SelectToken("OperID")?.ToString() ?? "0",
                                HSEQ = oSub.SelectToken("Seq")?.ToString() ?? "0",
                                HSTOCKSTATUSID = oSub.SelectToken("StockStatusId_Id")?.ToString() ?? "0",
                                HSTOCKSTATUSNumber = oSub.SelectToken("StockStatusId.Number")?.ToString() ?? "",
                                HRESERVETYPE = oSub.SelectToken("ReserveType")?.ToString().ToUpper() == "1" ? 1 : 0,
                            };
                            //插入子表
                            oCn.RunProc("Insert Into WW_PPBomBillSub " +
                            "(HInterID,HEntryID,HMaterID,HUnitID,HQty,HQtyMust" +
                            ",HWHID,HSCWhID,HAuxPropID,HBatchNO,HMTONo,HRemark" +
                            ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HICMOInterID,HICMOEntryID,HICMOBillNo" +
                            ",HRelationQty,HMoveStockQty,HBackRelationQty,HQtyScrap" +
                            ",HBOMID,HBomNumber,HERPInterID,HERPEntryID" +
                            ",HCHILDSUPPLYORGID,HSUPPLYORGID,HENTRUSTPICKORGID,HSRCTRANSORGID,HGROUPBYOWNERID" +
                            ",HOWNERID,HOWNERTYPEID,HBASEUNITID,HProcessID,HPROCESSNumber" +
                            ",HPROJECTNO,HOPERID,HSEQ,HSTOCKSTATUSID,HSTOCKSTATUSNumber,HRESERVETYPE" +
                            ") " +
                            " values(" + SubData.HInterID.ToString() + "," + SubData.HEntryID.ToString() + "," + SubData.HMaterID.ToString() + "," + SubData.HUnitID.ToString() + "," + SubData.HQty.ToString() + "," + SubData.HQtyMust.ToString() +
                            ", " + SubData.HWHID.ToString() + "," + SubData.HSCWhID.ToString() + "," + SubData.HAuxPropID.ToString() + ",'" + SubData.HBatchNO + "','" + SubData.HMTONo + "','" + SubData.HRemark + "'" +
                            ", " + SubData.HSourceInterID.ToString() + "," + SubData.HSourceEntryID.ToString() + ",'" + SubData.HSourceBillNo + "','" + SubData.HSourceBillType + "'," + SubData.HICMOInterID.ToString() + "," + SubData.HICMOEntryID.ToString() + ",'" + SubData.HICMOBillNo.ToString() + "'" +
                            ", " + (SubData.HRelationQty1 - SubData.HRelationQty2).ToString() + "," + SubData.HMoveStockQty.ToString() + "," + SubData.HBackRelationQty.ToString() + "," + SubData.HQtyScrap.ToString() +
                            ", " + SubData.HBOMID.ToString() + ",'" + SubData.HBomNumber + "'," + SubData.HERPInterID.ToString() + "," + SubData.HERPEntryID.ToString() +
                            ", " + SubData.HCHILDSUPPLYORGID.ToString() + "," + SubData.HSUPPLYORGID.ToString() + "," + SubData.HENTRUSTPICKORGID.ToString() + "," + SubData.HSRCTRANSORGID.ToString() + "," + SubData.HGROUPBYOWNERID.ToString() +
                            ", " + SubData.HOWNERID.ToString() + ",'" + SubData.HOWNERTYPEID + "'," + SubData.HBASEUNITID.ToString() + "," + SubData.HProcessID.ToString() + ",'" + SubData.HPROCESSNumber + "'" +
                            ",'" + SubData.HPROJECTNO + "'," + SubData.HOPERID.ToString() + "," + SubData.HSEQ.ToString() + "," + SubData.HSTOCKSTATUSID.ToString() + ",'" + SubData.HSTOCKSTATUSNumber + "'," + DBUtility.ClsPub.BoolToString(SubData.HRESERVETYPE) +
                            ") ");
                        }
                    }
@@ -56828,6 +57034,7 @@
            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为不同步)
            //获取系统参数
            Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
@@ -56840,6 +57047,35 @@
            if (oSystemParameter.omodel.Kf_EntrustOutBill_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 (oSystemParameter.omodel.WMS_CloudMode.ToUpper() == "N") //系统参数  是否为私有云模式(N为公有云模式,Y为私有云模式)
                {
                    if (HSourceBillType == "1604")
                    {
                        //委外用料清单
                        GetWebAPIToLocal_WWPPBom(HSourceBillNo, HSourceBillType, HMaker, ref sErrMsg);
                    }
                }
                else
                {
                    //私有云模式
                    oCn.RunProc("exec h_p_WMS_ERPSourceBillToLocal '" + HSourceBillNo + "','" + HSourceBillType + "'");
                }
            }
            //将源单信息存入条码出入库临时表