using System; using System.Collections.Generic; using System.Text; using System.Data; using Kingdee.BOS.WebApi.Client; namespace BLL { public class ClsKf_EntrustOutBill { /// /// 根据过滤条件,返回源单信息-返回委外订单投料列表 /// /// 过滤条件 /// 错误信息 /// public DataSet GetWW_WWPPBomList(string sWhere, ref string sErr) { try { DAL.Cls_S_IF_WWPPBomBill_Lite dal = new DAL.Cls_S_IF_WWPPBomBill_Lite(); return dal.DisSourceBillList(sWhere); } catch (Exception e) { sErr = sErr + "," + e.Message; return null; } } //生成委外出库单 public bool set_SaveEntrustOutBill_New(Model.ClsKf_EntrustOutBillMain oMain, string sHSourceType, ref string sErrMsg) { //获取系统参数 Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); if (oSystemParameter.ShowBill(ref sErrMsg) == false) { sErrMsg = "获取系统参数失败! " + sErrMsg; return false; } // if (oSystemParameter.omodel.Kf_EntrustOutBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE { if (SaveEntrustOutBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg)) { //"保存成功!"; sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { //"保存失败!"; sErrMsg = sErrMsg; return false; } } if (oSystemParameter.omodel.Kf_EntrustOutBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD { if (set_SaveEntrustOutBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true) { //"保存成功!"; return true; } else { //"保存失败!"; return false; } } sErrMsg = "保存委外出库单失败!" + sErrMsg; return false; } #region 委外出库K3 * /// /// 生成委外出库单K3 /// /// /// /// public bool SaveEntrustOutBill_K3(Model.ClsKf_EntrustOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DAL.ClsKf_EntrustOutBill dal = new DAL.ClsKf_EntrustOutBill(); dal.omodel = oMain; //上传前必填项判断 if (oMain.HSupID == 0) { sErrMsg = "加工单位没有选择!"; return false; } if (oMain.HSecManagerID == 0) { sErrMsg = "领料没有选择!"; return false; } if (oMain.HKeeperID == 0) { sErrMsg = "发料没有选择!"; return false; } try { //判断会计期是否合理 string s = ""; int sYear = 0; int sPeriod = 0; if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false) { sErrMsg = s; return false; } oMain.HYear = sYear; oMain.HPeriod = sPeriod; DataSet Ds; oCn.BeginTran(); //生成出入库单据 //插入子表 oCn.RunProc("EXEC h_p_Kf_EntrustOutBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'"); //插入主表 oCn.RunProc("Insert Into Kf_ICStockBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" + ") " + " values('1211','1211'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" + ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" + ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HMangerID.ToString() + "," + oMain.HSecManagerID.ToString() + ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) + ") "); //新增K3子表、主表 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'"); //更新关联数量 if (sHSourceType == "3720") //委外订单-投料 { oCn.RunProc("exec h_p_WW_UpDateRelation_WWPPBomToEntrustOut_Add " + oMain.HInterID.ToString()); //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_UpdateBillRelateData_WWPPBom_New " + oMain.HInterID.ToString()); } else //无源单 { //回填K3关联数量 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_UpdateBillRelateData_New " + oMain.HInterID.ToString()); } //审核单据 if (oSystemParameterMain.Kf_EntrustOutBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); //审核K3单据 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString()); //更新K3库存 oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_UpdateStock_New " + oMain.HInterID.ToString()); oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_UpdateOrderStock_New " + oMain.HInterID.ToString()); } //K3负库存判断 if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制 { //判断条码库存是否异常(负库存、库存大于条码初始化) Ds = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + oMain.HInterID.ToString(), "h_p_KF_ICInventoryBarCodeQtyCtrl"); if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1) { } else { sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]); oCn.RollBack(); return false; } } sErrMsg = "新增单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sErrMsg = "生成委外出库单失败!" + e.Message; oCn.RollBack(); return false; } } #endregion #region 委外出库CLOUD //委外出库(领料 public bool set_SaveEntrustOutBill_CLD(Model.ClsKf_EntrustOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { if (SaveEntrustOutBill_CLD(oMain, oSystemParameterMain, ref sErrMsg)) { //"保存成功!"; sErrMsg = "保存成功!" + oMain.HBillNo; return true; } else { //"保存失败!"; sErrMsg = sErrMsg; return false; } } /// /// 委外出库单 /// /// /// /// private bool SaveEntrustOutBill_CLD(Model.ClsKf_EntrustOutBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); try { DataSet Ds; oCn.BeginTran(); //写入WMS委外出库单 //插入子表 oCn.RunProc("EXEC h_p_Kf_EntrustOutBillSub_Insert " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'"); //插入主表 oCn.RunProc("Insert Into Kf_ICStockBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" + ") " + " values('1211','1211'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" + ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" + ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HMangerID.ToString() + "," + oMain.HSecManagerID.ToString() + ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) + ") "); //更新关联数量 oCn.RunProc("exec h_p_Sc_UpDatePPBomRelation_Add " + oMain.HInterID.ToString()); if (oSystemParameterMain.Kf_EntrustOutBill_AutoCheck == "Y") //系统参数 自动审核 { //审核单据 oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString()); } //根据TMP表 返回 子表信息 Ds = oCn.RunProcReturn("exec h_p_Kf_GetEntrustOutBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetEntrustOutBill_CLD"); if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0) { sErrMsg = "获取子表信息失败!"; oCn.RollBack(); return false; } else { string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[]," + "\"Model\":{ " + //\"FID\":" + oMain.HInterID.ToString() + "," + "\"FBillNo\":\"" + oMain.HBillNo + "\"," + "\"FBillType\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillType"]) + "\" }," + // "\"FDate\":\"" + oMain.HDate.ToShortDateString() + "\"," + "\"FStockOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," + "\"FSubOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," + "\"FSupplierId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplierId"]) + "\"}," + //"\"FPICKERID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPICKERID"]) + "\"," + "\"FSTOCKERID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKERID"]) + "\" }," + "\"FDescription\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDescription"]) + "\"," + "\"FIsCrossTrade\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsCrossTrade"]) + "\"," + //"\"FVmiBusiness \":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FVmiBusiness"]) + "\"," + "\"FScanBox \":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FScanBox"]) + "\"," + "\"FEntity\": [ "; string sJson_Entry = ""; for (int i = 0; i < Ds.Tables[1].Rows.Count; i++) { if (sJson_Entry != "") { sJson_Entry = sJson_Entry + " , "; } string sJson_BatchNo = ""; string sJson_StockPlace = ""; if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理 { sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[i]["FLOT"]) + "\" , "; } else { sJson_BatchNo = ""; } if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "") //仓位 { sJson_StockPlace = ""; } else { sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},"; } sJson_Entry = sJson_Entry + " { \"FSEQ\":\"" + Convert.ToString(i + 1) + "\"," + "\"FMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\" }," + "\"FUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\" }," + "\"FAppQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAppQty"]) + "\"," + "\"FActualQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FActualQty"]) + "\"," + "\"FStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockId"]) + "\" }," + sJson_StockPlace + //"\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}}," + // "\"FLOT\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" }," + sJson_BatchNo + "\"FSRCBIZENTRYSEQ\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBIZENTRYSEQ"]) + "\"," + "\"FSRCBIZBILLTYPE\":{ \"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBIZBILLTYPE"]) + "\" }," + "\"FSRCBIZBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBIZBILLNO"]) + "\"," + "\"FPickingStatus\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPickingStatus"]) + "\"," + "\"FParentMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FParentMaterialId"]) + "\" }," + "\"FSrcInterId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcInterId"]) + "\"," + "\"FSrcEntryId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcEntryId"]) + "\"," + "\"FSRCBIZINTERID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBIZINTERID"]) + "\"," + "\"FConsome\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FConsome"]) + "\"," + "\"FSubReqId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSubReqId"]) + "\"," + "\"FReserveType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReserveType"]) + "\"," + "\"FSettleOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSettleOrgId"]) + "\"}," + "\"FBaseStockActualQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseStockActualQty"]) + "\"," + "\"FSRCBIZENTRYID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBIZENTRYID"]) + "\"," + "\"FPPbomBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPPbomBillNo"]) + "\"," + "\"FSubReqEntryId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSubReqEntryId"]) + "\"," + "\"FSubReqEntrySeq\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSubReqEntrySeq"]) + "\"," + "\"FBaseUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\" }," + "\"FBaseAppQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseAppQty"]) + "\"," + "\"FBaseActualQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseActualQty"]) + "\"," + "\"FBaseAllowOverQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseAllowOverQty"]) + "\"," + "\"FBaseSelPrcdReturnQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseSelPrcdReturnQty"]) + "\"," + "\"FPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPrice"]) + "\"," + "\"FAmount\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAmount"]) + "\"," + "\"FStockUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockUnitId"]) + "\" }," + "\"FStockAppQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockAppQty"]) + "\"," + "\"FStockAllowOverQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockAllowOverQty"]) + "\"," + "\"FStockSelPrcdReturnQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockSelPrcdReturnQty"]) + "\"," + "\"FSecAllowOverQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSecAllowOverQty"]) + "\"," + "\"FSecSelPrcdReturnQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSecSelPrcdReturnQty"]) + "\"," + "\"FEntryVmiBusiness\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryVmiBusiness"]) + "\"," + "\"FPMBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPMBillNo"]) + "\"," + "\"FGroupRow\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FGroupRow"]) + "\"," + "\"FPOOrderBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPOOrderBillNo"]) + "\"," + "\"FPOOrderSeq\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPOOrderSeq"]) + "\"," + "\"FSupplierId0\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSupplierId0"]) + "\" }," + //"\"FKeeperTypeId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeId"]) + "\" }," + //"\"FKeeperId\":{ \"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\" }," + "\"FStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockStatusId"]) + "\" }," + "\"FProduceDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + "\"," + "\"FExpiryDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "\"," + "\"FAllowOverQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAllowOverQty"]) + "\"," + "\"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeId"]) + "\"," + "\"FOwnerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerId"]) + "\"}," + //"\"FParentOwnerTypeId\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"," + //"\"FParentOwnerId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FParentOwnerId"]) + "\" }," + //"\"FSerialSubEntity\":{ \"FDetailID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSerialSubEntity"]) + "\" }," + //"\"FSerialNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSerialNo"]) + "\"," + //"\"FSerialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSerialId"]) + "\" }," + //"\"FSerialNote\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSerialNote"]) + "\"," + "\"FEntity_Link\": [ { " + "\"FEntity_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," + "\"FEntity_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," + "\"FEntity_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," + "\"FEntity_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"," + " } ] } "; } string sJson_End = " ] }}"; string sJson = sJson_Main + sJson_Entry + sJson_End; //从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码 if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo)) { sErrMsg = Pub_Class.ClsPub.sExeReturnInfo; return false; } //生成 委外领料 1个物料1单 string HReturn; ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl); string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117 bool bLogin = client.Login(dbId, Pub_Class.ClsPub.sCLOUDUseName, Pub_Class.ClsPub.sCLOUDPsd, 2052); if (bLogin) { var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save", new object[] { "SUB_PickMtrl", sJson }); if (oSystemParameterMain.Kf_EntrustOutBill_AutoCheck == "Y") //系统参数 自动审核 { string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}"; var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit", new object[] { "SUB_PickMtrl", sJson2 }); string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}"; var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit", new object[] { "SUB_PickMtrl", sJson3 }); HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString(); } else { HReturn = result.ToString(); } if (HReturn.Contains("\"IsSuccess\":false") == true) { sErrMsg = "生成委外领料单失败!" + HReturn + sJson; oCn.RollBack(); return false; } else { oCn.Commit(); return true; } } else { sErrMsg = "生成委外领料单失败!登录失败!"; oCn.RollBack(); return false; } } } catch (Exception e) { sErrMsg = "生成委外领料单失败!" + e.Message; oCn.RollBack(); return false; } } #endregion } }