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
}
}