沈泽
2021-11-05 c737780b45a08735555842d044e1b4464284b217
WebAPI/WebServer.cs
@@ -5,7 +5,7 @@
using System.Data;
using System.Linq;
using System.Web;
using Kingdee.BOS.WebApi.Client;
//using Kingdee.BOS.WebApi.Client;
namespace WebAPI
@@ -53,6 +53,34 @@
            //DAL.ClsIF_Department_View dal = new DAL.ClsIF_Department_View();
            //return dal.GetList(sWhere);
        }
        /// <summary>
        /// 获取物料列表
        /// </summary>
        /// <param name="sWhere"></param>
        /// <param name="sErr"></param>
        /// <returns></returns>
        public DataSet GetMaterialList(string sWhere, ref string sErr)
        {
            BLL.ClsIF_Material_View bll = new BLL.ClsIF_Material_View();
            return bll.GetList(sWhere, ref DBUtility.ClsPub.sExeReturnInfo);
        }
        //ClsGy_Unit_View
        /// <summary>
        /// 获取单位列表
        /// </summary>
        /// <param name="sWhere"></param>
        /// <param name="sErr"></param>
        /// <returns></returns>
        public DataSet GetUnitList(string sWhere, ref string sErr)
        {
            DAL.ClsGy_Unit_View dal = new DAL.ClsGy_Unit_View();
            return dal.GetList(sWhere);
        }
        /// <summary>
        /// 职员列表
        /// </summary>
@@ -95,10 +123,11 @@
        }
        #endregion
        #region 一键扫码    入库模块
        //一键扫码模式,根据条码前缀走 不同方法(仓库、仓位、部门)(源单、物料条码)    入库模块
        public Model.ClsKf_ICStockBill_WMS get_CheckTypeByBarCode(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool HRedBlueFlag, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HOWNERID, ref string sErrMsg)
        public Model.ClsKf_ICStockBill_WMS get_CheckTypeByBarCode(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool HRedBlueFlag, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HOWNERID,Int64 HOrgID, ref string sErrMsg)
        {
            BLL.ClsKF_PonderationBillMain_Temp bll = new ClsKF_PonderationBillMain_Temp();
            return bll.get_CheckTypeByBarCode(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, ref DBUtility.ClsPub.sExeReturnInfo);
@@ -1092,6 +1121,7 @@
        }
        #endregion
        #region 外购退料    外购入库(红字)   *
@@ -4438,8 +4468,17 @@
            WebS.WebService1 oWebs = new WebS.WebService1();
            if (oWebs.set_SavePOStockInBill_New(oMain, sHSourceType, ref sErrMsg))
            {
                sErrMsg = "保存成功!" + oMain.HBillNo;
                return true;
                //判断是否反写成功
                if (set_UpdateHStatus(oMain.HInterID, oMain.HExplanation.ToString()))
                {
                    sErrMsg = "保存成功!" + oMain.HBillNo;
                    return true;
                }
                else
                {
                    sErrMsg = "保存成功!" + oMain.HBillNo + "状态反写失败!";
                    return true;
                }
            }
            else
            {
@@ -4608,7 +4647,19 @@
            //DAL.Cls_S_IF_ICMOBill_Lite dal = new DAL.Cls_S_IF_ICMOBill_Lite();
            //return dal.DisSourceBillList(sWhere);
        }
        /// <summary>
        /// 返回生产汇报单列表   源单
        /// </summary>
        /// <param name="sWhere">过滤条件</param>
        /// <returns></returns>
        public DataSet GetSc_ICMOReportBillList(string sWhere)
        {
            WebS.WebService1 oWebs = new WebS.WebService1();
            BLL.ClsKf_ProductInBill bll = new BLL.ClsKf_ProductInBill();
            return  oWebs.GetSc_ICMOReportBillList (sWhere);
            //DAL.Cls_S_IF_ICMOBill_Lite dal = new DAL.Cls_S_IF_ICMOBill_Lite();
            //return dal.DisSourceBillList(sWhere);
        }
        /// <summary>
        /// 生成产品入库单K3
@@ -4790,6 +4841,17 @@
            WebS.WebService1 oWebs = new WebS.WebService1();
            if (oWebs.set_SaveProductInBill_New(oMain, sHSourceType, ref sErrMsg))
            {
                ////判断是否反写成功
                //if (set_UpdateHStatus(oMain.HInterID,oMain.HExplanation.ToString()))
                //{
                //    sErrMsg = "保存成功!" + oMain.HBillNo;
                //    return true;
                //}
                //else
                //{
                //    sErrMsg = "保存成功!" + oMain.HBillNo + "状态反写失败!";
                //    return true;
                //}
                sErrMsg = "保存成功!" + oMain.HBillNo;
                return true;
            }
@@ -4800,15 +4862,29 @@
            }
        }
        //根据id反写条码档案表状态
        public bool set_UpdateHStatus(long HinterID, string HMESSPName)
        {
            try
            {
                new SQLHelper.ClsCN().RunProcReturn("EXEC h_p_WMS_UpdateMESSPtoBarCode " + HinterID + "," + "'" + HMESSPName + "'", "h_p_WMS_UpdateMESSPtoBarCode");
                return true;
            }
            catch (Exception ex)
            {
                return false;
            }
        }
         /// <summary>
         /// 生成产品入库单
         /// </summary>
         /// <param name="oMain"></param>
         /// <param name="sHSourceType"></param>
         /// <param name="sErrMsg"></param>
         /// <returns></returns>
         public bool set_SaveProductInBill(Model.ClsKf_ProductInBillMain oMain, ref string sErrMsg)
        /// <summary>
        /// 生成产品入库单
        /// </summary>
        /// <param name="oMain"></param>
        /// <param name="sHSourceType"></param>
        /// <param name="sErrMsg"></param>
        /// <returns></returns>
        public bool set_SaveProductInBill(Model.ClsKf_ProductInBillMain oMain, ref string sErrMsg)
         {
             DAL.ClsKf_ProductInBill dal = new DAL.ClsKf_ProductInBill();
             dal.omodel = oMain;
@@ -5164,18 +5240,21 @@
             DAL.Cls_S_IF_SellOutBill_Lite dal = new DAL.Cls_S_IF_SellOutBill_Lite();
             return dal.DisSourceBillList(sWhere);
         }
         #endregion
        #endregion
        #region   委外入库
         /// <summary>
         /// 生成委外入库单K3
         /// </summary>
         /// <param name="oMain"></param>
         /// <param name="sErrMsg"></param>
         /// <returns></returns>
         public bool SaveEntrustInBill_K3(Model.ClsKf_EntrustInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
        /// <summary>
        /// 生成委外入库单K3
        /// </summary>
        /// <param name="oMain"></param>
        /// <param name="sErrMsg"></param>
        /// <returns></returns>
        public bool SaveEntrustInBill_K3(Model.ClsKf_EntrustInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
             DAL.ClsKf_EntrustInBill dal = new DAL.ClsKf_EntrustInBill();
@@ -5313,9 +5392,18 @@
             WebS.WebService1 oWebs = new WebS.WebService1();
             if (oWebs.set_SaveEntrustInBill_New(oMain, sHSourceType, ref sErrMsg))
             {
                 sErrMsg = "保存成功!" + oMain.HBillNo;
                 return true;
             }
                //判断是否反写成功
                if (set_UpdateHStatus(oMain.HInterID, oMain.HExplanation.ToString()))
                {
                    sErrMsg = "保存成功!" + oMain.HBillNo;
                    return true;
                }
                else
                {
                    sErrMsg = "保存成功!" + oMain.HBillNo + "状态反写失败!";
                    return true;
                }
            }
             else
             {
                 sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg;
@@ -6020,48 +6108,48 @@
                     //生成 委外出库 
                     string HReturn;
                     ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
                     string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
                     bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
                     if (bLogin)
                     {
                         var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
                         new object[] { "SUB_PickMtrl", sJson });
                     //ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
                     //string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
                     //bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
                     //if (bLogin)
                     //{
                     //    var result = client.Execute<string>("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<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                             new object[] { "SUB_PickMtrl", sJson2 });
                     //    if (oSystemParameterMain.Kf_EntrustOutBill_AutoCheck == "Y") //系统参数  自动审核
                     //    {
                     //        string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                     //        var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                     //        new object[] { "SUB_PickMtrl", sJson2 });
                             string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                             var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
                             new object[] { "SUB_PickMtrl", sJson3 });
                     //        string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                     //        var result3 = client.Execute<string>("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();
                     //        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;
                     }
                         //}
                     //}
                     //else
                     //{
                     //    sErrMsg = "生成委外出库单失败!登录失败!";
                     //    oCn.RollBack();
                     //    return false;
                     //}
                 }
             }
             catch (Exception e)
@@ -6895,59 +6983,311 @@
         //生成其他入库单 
         public bool set_SaveOtherInBill_New(Model.ClsKf_OtherInBillMain oMain, string sHSourceType, ref string sErrMsg)
         //public bool set_SaveOtherInBill_New(Model.ClsKf_OtherInBillMain 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_OtherInBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
         //    {
         //        if (SaveOtherInBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg))
         //        {
         //            //"保存成功!";
         //            sErrMsg = "保存成功!" + oMain.HBillNo;
         //            return true;
         //        }
         //        else
         //        {
         //            //"保存失败!";
         //            sErrMsg = sErrMsg;
         //            return false;
         //        }
         //    }
         //    if (oSystemParameter.omodel.Kf_OtherInBill_ERPMode.ToUpper() == "CLOUD")  //判断同步模式是金蝶CLOUD
         //    {
         //       ////上传前必填项判断
         //       //if (oMain.HDeptID == 0)
         //       //{
         //       //    sErrMsg = "部门没有选择!";
         //       //    return false;
         //       //}
         //       //同步生成CLOUD单据
         //       //if (SaveOtherInBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
         //       //{
         //       //    //"保存成功!";
         //       //    return true;
         //       //}
         //       //else
         //       //{
         //       //    //"保存失败!";
         //       //    return false;
         //       //}
         //   }
         //    sErrMsg = "保存其他入库单失败!" + sErrMsg;
         //    return false;
         //}
         public bool set_SaveOtherInBill_New(WebAPI.WebS.ClsKf_OtherInBillMain oMain, string sHSourceType,WebS.ClsXt_SystemParameterMain oSystemParameterMain, 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_OtherInBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
             {
                 if (SaveOtherInBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg))
                 {
                     //"保存成功!";
                     sErrMsg = "保存成功!" + oMain.HBillNo;
                     return true;
                 }
                 else
                 {
                     //"保存失败!";
                     sErrMsg = sErrMsg;
                     return false;
                 }
             }
             if (oSystemParameter.omodel.Kf_OtherInBill_ERPMode.ToUpper() == "CLOUD")  //判断同步模式是金蝶CLOUD
             {
                 ////上传前必填项判断
                 //if (oMain.HDeptID == 0)
                 //{
                 //    sErrMsg = "部门没有选择!";
                 //    return false;
                 //}
                 ////同步生成CLOUD单据
                 //if (set_SaveOtherInBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
                 //{
                 //    //"保存成功!";
                 //    return true;
                 //}
                 //else
                 //{
                 //    //"保存失败!";
                     return false;
                 //}
             }
             sErrMsg = "保存其他入库单失败!" + sErrMsg;
             return false;
         }
            WebS.WebService1 oWebs = new WebS.WebService1();//set_SaveOtherInBill_CLD_New
            if (oWebs.set_SaveOtherInBill_CLD_New(oMain, sHSourceType,oSystemParameterMain,ref sErrMsg))
            {
                sErrMsg = "保存成功!" + oMain.HBillNo;
                return true;
            }
            else
            {
                sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg;
                return false;
            }
        }
         ///生成其他入库单
         public bool set_SaveOtherInBill(Model.ClsKf_OtherInBillMain oMain, ref string sErrMsg)
        public bool SaveOtherInBill_CLD(Model.ClsKf_OtherInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
        {
            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
            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;
                oCn.BeginTran();
                //生成出入库单据
                //插入子表
                oCn.RunProc("EXEC h_p_Kf_OtherInBillSub_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" +
                ",HStockStyle" +
                ",HSTOCKORGID,HOWNERID" +
                ") " +
                " values('1203','1203'," + 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.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
                ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
                ",'" + oMain.HStockStyle + "'" +
                ", " + oMain.HSTOCKORGID.ToString() + "," + oMain.HOWNERID.ToString() +
                ") ");
                //更新关联数量
                if (oSystemParameterMain.Kf_OtherInBill_AutoCheck == "Y") //系统参数  自动审核
                {
                    //审核单据
                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
                }
                //根据TMP表 返回 子表信息
                DataSet Ds;
                Ds = oCn.RunProcReturn("exec h_p_Kf_GetOtherInBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetOtherInBill_CLD");
                if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
                {
                    sErrMsg = "获取子表信息失败!";
                    oCn.RollBack();
                    return false;
                }
                else
                {
                    string sJson_StockStyle = "";
                    if (oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数  客户定制化名称     空白为通用
                    {
                        sJson_StockStyle = "\"F_RKLX\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_RKLX"]) + "\",";    //入库类型
                    }
                    else if (oSystemParameterMain.WMS_CampanyName == "四维尔") //系统参数  客户定制化名称     空白为通用
                    {
                        sJson_StockStyle = "\"F_ABCD_COMBO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_COMBO"]) + "\",";    //其他入库业务类型
                    }
                    else
                    {
                        sJson_StockStyle = "";
                    }
                    string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"Model\":{\"FBillNo\":\"" + oMain.HBillNo + "\"," +
                        //\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FID"]) + "\"," +
                        "\"FBillTypeID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\"}," +
                        "\"FStockOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," +
                        "\"FStockDirect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockDirect"]) + "\"," +
                        "\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
                        //"\"FSUPPLIERID\":{\"FNumber\":\"" + oMain.HSupplyID.ToString() + "\"}," +
                        "\"FDEPTID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDEPTID"]) + "\"}," +
                        //"\"FSTOCKERID\":{\"FName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKERID"]) + "\"}," +
                        //"\"FSTOCKERGROUPID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKERGROUPID"]) + "\"}," +
                        "\"FOwnerTypeIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\"," +
                        "\"FOwnerIdHead\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\"}," +
                        "\"FNOTE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FNOTE"]) + "\"," +
                        "\"FBaseCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseCurrId"]) + "\"}," +
                        "\"FScanBox\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FScanBox"]) + "\"," +
                        sJson_StockStyle +
                        "\"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 = "";
                        string sJson_FAUXPROPID = "";
                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
                        {
                            sJson_BatchNo = "  \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"},    \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"  , ";
                        }
                        else
                        {
                            sJson_BatchNo = "";
                        }
                        if (oSystemParameterMain.WMS_CampanyName == "卓力") //系统参数  客户定制化名称     空白为通用
                        {
                            sJson_StockPlace = "\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
                        }
                        else
                        {
                            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"]) + "\"}},";
                            }
                        }
                        //辅助属性
                        if (oSystemParameterMain.WMS_CampanyName == "卓力" || oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数  客户定制化名称     空白为通用
                        {
                            sJson_FAUXPROPID = "";
                        }
                        else
                        {
                            sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                        }
                        //自定义字段处理
                        sJson_Entry = sJson_Entry + "{\"FEntryID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryID"]) + "\"," +
                            "\"FMATERIALID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMATERIALID"]) + "\"}," +
                            sJson_FAUXPROPID +
                            //"\"FAuxPropId\":{\"FAUXPROPID__FF100001\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAuxPropId"]) + "\"}," +
                            //"\"FAUXPROPID__FF100030\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID__FF100030"]) + "\"}," +
                            //"\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID__FF100002"]) + "\"}}," +
                            "\"FUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\"}," +
                            "\"FSTOCKSTATUSID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKSTATUSID"]) + "\"}," +
                            "\"FQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQty"]) + "," +
                            "\"FBaseUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\"}," +
                            "\"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 +
                            "\"FEntryNote\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryNote"]) + "\"," +
                            //"\"FBOMID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMID"]) + "\"}," +
                            //"\"FPRODUCEDATE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRODUCEDATE"]) + "," +
                            //"\"FMTONO\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMTONO"]) + "," +
                            "\"FExtAuxUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitId"]) + "\"}," +
                            //"\"FProjectNo\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProjectNo"]) + "," +
                            "\"FExtAuxUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitQty"]) + "," +
                            "\"FOWNERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERTYPEID"]) + "\"," +
                            "\"FOWNERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERID"]) + "\"}," +
                            "\"FKEEPERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERTYPEID"]) + "\"," +
                            "\"FKEEPERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERID"]) + "\"}} ";
                    }
                    //"\"FInStockEntry_Link_FSId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_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;
                    }
                    //获取CLOUD账号密码
                    string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
                    string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
                    DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
                    if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
                    {
                    }
                    else
                    {
                        sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
                        sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
                    }
                    //生成 其他入库单 1个物料1单
                    string HReturn;
                    //ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
                    //string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
                    //bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
                    //if (bLogin)
                    //{
                    //    var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
                    //    new object[] { "STK_MISCELLANEOUS", sJson });
                    //    if (oSystemParameterMain.Kf_OtherInBill_AutoCheck == "Y") //系统参数  自动审核
                    //    {
                    //        string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    //        var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                    //        new object[] { "STK_MISCELLANEOUS", sJson2 });
                    //        string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    //        var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
                    //        new object[] { "STK_MISCELLANEOUS", 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;
            }
        }
        ///生成其他入库单
        public bool set_SaveOtherInBill(Model.ClsKf_OtherInBillMain oMain, ref string sErrMsg)
         {
             //获取系统参数
             Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
@@ -7175,55 +7515,20 @@
         //生成其他出库单 
         public bool set_SaveOtherOutBill_New(Model.ClsKf_OtherOutBillMain oMain, string sHSourceType, ref string sErrMsg)
         public bool set_SaveOtherOutBill_New(WebAPI.WebS.ClsKf_OtherOutBillMain oMain, string sHSourceType, WebS.ClsXt_SystemParameterMain oSystemParameterMain, 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_OtherOutBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
             {
                 if (SaveOtherOutBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg))
                 {
                     //"保存成功!";
                     sErrMsg = "保存成功!" + oMain.HBillNo;
                     return true;
                 }
                 else
                 {
                     //"保存失败!";
                     sErrMsg = sErrMsg;
                     return false;
                 }
             }
             if (oSystemParameter.omodel.Kf_OtherOutBill_ERPMode.ToUpper() == "CLOUD")  //判断同步模式是金蝶CLOUD
             {
                 //上传前必填项判断
                 //if (oMain.HDeptID == 0)
                 //{
                 //    sErrMsg = "部门没有选择!";
                 //    return false;
                 //}
                 ////同步生成CLOUD单据
                 //if (set_SaveOtherOutBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
                 //{
                 //    //"保存成功!";
                 //    return true;
                 //}
                 //else
                 //{
                     //"保存失败!";
                     return false;
                 //}
             }
             sErrMsg = "保存其他出库单失败!" + sErrMsg;
             return false;
         }
            WebS.WebService1 oWebs = new WebS.WebService1();//set_SaveOtherInBill_CLD_New
            if (oWebs.set_SaveOtherOutBill_CLD_New(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
            {
                sErrMsg = "保存成功!" + oMain.HBillNo;
                return true;
            }
            else
            {
                sErrMsg = "单据号:" + oMain.HBillNo + ", 单据ID:" + oMain.HInterID + ";" + sErrMsg;
                return false;
            }
        }
@@ -7466,5 +7771,20 @@
         }
        #endregion
        #region [获取打印模板]
        /// <summary>
        /// 打印模板列表
        /// </summary>
        /// <param name="sWhere"></param>
        /// <param name="sErr"></param>
        /// <returns></returns>
        public DataSet GetOpenTmpList(string sWhere, ref string sErr)
        {
            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
            DataSet ds = new DataSet();
            ds = oCn.RunProcReturn("select * from h_v_IF_OpenTmpList " + sWhere, "h_v_IF_OpenTmpList");
            return ds;
        }
        #endregion
    }
}