生产汇报、直接调拨上传生成单据调用方法修改,金蝶云报错提示内容优化,增加根据参数判断生成单据时是否直接提交单据功能
1个文件已修改
907 ■■■■ 已修改文件
CLOUDWEB/WebService1.asmx.cs 907 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CLOUDWEB/WebService1.asmx.cs
@@ -4499,7 +4499,7 @@
                int sYear = 0;
                int sPeriod = 0;
                if (oSystemParameterMain.Sc_ICMOReportBill_BillDateMode == "N") //系统参数  单据日期是否取界面递入日期
                if (oSystemParameterMain.Sc_ICMOReportBill_BillDateMode.ToUpper() == "N") //系统参数  单据日期是否取界面递入日期
                {
                    oMain.HDate = DateTime.Today;
                }
@@ -4550,7 +4550,7 @@
                //根据TMP表 返回 信息
                DataSet Ds;
                if (oSystemParameterMain.WMS_CloudMode == "N") //系统参数  是否为私有云模式(N为公有云模式,Y为私有云模式)
                if (oSystemParameterMain.WMS_CloudMode.ToUpper() == "N") //系统参数  是否为私有云模式(N为公有云模式,Y为私有云模式)
                {
                    Ds = oCn.RunProcReturn("exec h_p_Kf_GetICMOReportBill_ICMO_PUBCLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetICMOReportBill_ICMO_PUBCLD_New");
                    sRemark = sRemark + " ;公有云模式";
@@ -4573,7 +4573,7 @@
                    string sJson_Date = "";         //单据日期
                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
                    if (oSystemParameterMain.Sc_ICMOReportBill_BillDateMode == "Y") //系统参数  单据日期是否取界面递入日期
                    if (oSystemParameterMain.Sc_ICMOReportBill_BillDateMode.ToUpper() == "Y") //系统参数  单据日期是否取界面递入日期
                    {
                        sJson_Date = "\"FDATE\":\"" + oMain.HDate.ToShortDateString() + "\",";
                    }
@@ -4785,8 +4785,16 @@
                        if (HReturn.Contains("\"IsSuccess\":false") == true)
                        {
                            sErrMsg = "生成生产汇报单失败!" + HReturn;
                            //sErrMsg = "生成生产汇报单失败!" + HReturn + sJson;
                            //反序列化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;
                            LogService.Write("生成生产汇报单(源单:生产订单)失败!" + HReturn + sJson);   //写入txt文本
                            oCn.RollBack();
                            return false;
@@ -4794,7 +4802,7 @@
                        else
                        {
                            //韩电扫码生成生产汇报单时,回填对应条码档案源单信息
                            if (oSystemParameterMain.Sc_ICMOReportBill_UpdateSourceInterID == "Y")
                            if (oSystemParameterMain.Sc_ICMOReportBill_UpdateSourceInterID.ToUpper() == "Y")
                            {
                                oCn.RunProc("exec h_p_WMS_UpdateSourceByBarCodeBill_ICMOReportBill '" + oMain.HBillNo + "'");
                            }
@@ -4812,19 +4820,19 @@
            }
            catch (Exception e)
            {
                LogService.Write("生成回滚" + sRemark);
                LogService.Write("生成回滚" + e.Message + sRemark);
                sErrMsg = "生成生产汇报单失败!" + e.Message;
                oCn.RollBack();
                return false;
            }
            if (oSystemParameterMain.Sc_ICMOReportBill_AutoCheck == "Y") //系统参数  自动审核
            if (oSystemParameterMain.Sc_ICMOReportBill_AutoCheck.ToUpper() == "Y") //系统参数  自动审核
            {
                try
                {
                    oCn.BeginTran();
                    //审核WMS单据
                    oCn.RunProc("Update Sc_ICMOReportBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=getdate() where HInterID= " + oMain.HInterID.ToString());
                    oCn.RunProc("Update Sc_ICMOReportBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
                    //提交、审核金蝶云单据
                    HReturn = "";
@@ -4832,16 +4840,29 @@
                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                    new object[] { "PRD_MORPT", sJson2 }); //提交单据
                    sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
                    new object[] { "PRD_MORPT", sJson3 }); //审核单据
                    sRemark = sRemark + " ;审核CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result2.ToString() + "," + result3.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        LogService.Write("审核单据失败" + sRemark);
                        sErrMsg = "生成生产汇报单成功,审核单据失败!" + HReturn;
                        //反序列化json数据
                        var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(result3);
                        //接收金蝶报错信息
                        var strErrorMsg = string.Empty;
                        //遍历获取报错信息
                        foreach (var item in retModel.Result.ResponseStatus.Errors)
                        {
                            strErrorMsg += item.Message + "\r\n";
                        };
                        sErrMsg = "生成生产汇报单成功,审核单据失败!" + strErrorMsg;
                        LogService.Write("审核单据失败" + sRemark + HReturn);
                        oCn.RollBack();
                        return true;
                    }
@@ -4855,8 +4876,55 @@
                }
                catch (Exception e)
                {
                    LogService.Write("审核回滚" + sRemark);
                    LogService.Write("审核回滚" + sRemark + HReturn);
                    sErrMsg = "审核生产汇报单失败!" + e.Message;
                    oCn.RollBack();
                    return false;
                }
            }
            else if (oSystemParameterMain.Sc_ICMOReportBill_AutoSubmit.ToUpper() == "Y") //系统参数  自动提交
            {
                try
                {
                    oCn.BeginTran();
                    //提交金蝶云单据
                    HReturn = "";
                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                    new object[] { "PRD_MORPT", sJson2 }); //提交单据
                    sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result2.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        //反序列化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;
                        LogService.Write("提交单据失败" + sRemark + HReturn);
                        oCn.RollBack();
                        return true;
                    }
                    else
                    {
                        LogService.Write("生成并提交生产汇报单(源单:生产订单)成功!" + sRemark);
                        sErrMsg = "生成并提交生产汇报单成功!单据号为:" + oMain.HBillNo;
                        oCn.Commit();
                        return true;
                    }
                }
                catch (Exception e)
                {
                    LogService.Write("提交回滚" + sRemark + HReturn);
                    sErrMsg = "提交生产汇报单失败!" + e.Message;
                    oCn.RollBack();
                    return false;
                }
@@ -6418,6 +6486,7 @@
        //发货调拨
        private bool SaveMoveSellOut_CLD(Model.ClsKf_MoveStockBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
        {
            string sRemark = "";
            //从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
            if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
            {
@@ -6443,6 +6512,8 @@
            string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
            bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
            sRemark = sRemark + " ;获取验证CLOUD账号密码" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
            try
            {
@@ -6472,7 +6543,9 @@
                //更新关联数量
                oCn.RunProc("exec h_p_Xs_UpDateSeOutStockRelation_Add " + oMain.HInterID.ToString());
                if (oSystemParameterMain.WMS_MouldManagerCtl == "Y") //系统参数  启用器具管理
                sRemark = sRemark + " ;生成出入库单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                if (oSystemParameterMain.WMS_MouldManagerCtl.ToUpper() == "Y") //系统参数  启用器具管理
                {
                    string HMouldBillType = "3814";
                    oCn.RunProc("EXEC h_p_Sc_MouldStockBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillType + "','" + HMouldBillType + "'," + oMain.HSupID.ToString() + "," + oMain.HKeeperID.ToString() + "," + oMain.HSecManagerID.ToString() + "," + oMain.HDeptID.ToString() + ",3");
@@ -6510,7 +6583,7 @@
                        sJson_StockStyle = "";
                    }
                    if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode == "Y") //系统参数  单据日期是否取界面递入日期
                    if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode.ToUpper() == "Y") //系统参数  单据日期是否取界面递入日期
                    {
                        sJson_Date = "\"FDATE\":\"" + oMain.HDate.ToShortDateString() + "\",";
                    }
@@ -6656,20 +6729,35 @@
                    string sJson_End = "  ]  }}";
                    string sJson = sJson_Main + sJson_Entry + sJson_End;
                    sRemark = sRemark + " ;获取CLOUD单据API递入值" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    //生成金蝶云单据
                    if (bLogin)
                    {
                        var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
                        new object[] { "STK_TransferDirect", sJson });
                        sRemark = sRemark + " ;生成CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                        //生成单据后更新自定义字段
                        oCn.RunProc("exec h_p_Sc_UpDateSelfFildMove '" + oMain.HBillNo + "','1402'");
                        sRemark = sRemark + " ;生成单据后回填字段信息" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                        HReturn = result.ToString();
                        if (HReturn.Contains("\"IsSuccess\":false") == true)
                        {
                            sErrMsg = "生成发货调拨单失败!" + HReturn;
                            //反序列化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;
                            LogService.Write("生成直接调拨单(源单:发货通知单)失败-旧方法!" + HReturn + sJson);   //写入txt文本
                            oCn.RollBack();
                            return false;
@@ -6692,7 +6780,7 @@
                                    oCn.RunProc("EXEC h_p_ToCLD_BackDataDELIVERYNOTICE_Move_Close '" + oMain.HBillNo + "'");
                                }
                            }
                            LogService.Write("生成直接调拨单(源单:发货通知单)成功-旧方法!" + sJson);
                            sRemark = sRemark + sJson;
                            oCn.Commit();
                        }
                    }
@@ -6706,12 +6794,13 @@
            }
            catch (Exception e)
            {
                LogService.Write("生成回滚" + e.Message + sRemark);
                sErrMsg = "生成发货调拨单失败!" + e.Message;
                oCn.RollBack();
                return false;
            }
            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数  自动审核
            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck.ToUpper() == "Y") //系统参数  自动审核
            {
                try
                {
@@ -6725,20 +6814,35 @@
                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                    new object[] { "STK_TransferDirect", sJson2 });
                    sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
                    new object[] { "STK_TransferDirect", sJson3 });
                    sRemark = sRemark + " ;审核CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result2.ToString() + "," + result3.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        sErrMsg = "生成发货调拨单成功,审核单据失败!" + HReturn;
                        //反序列化json数据
                        var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(result3);
                        //接收金蝶报错信息
                        var strErrorMsg = string.Empty;
                        //遍历获取报错信息
                        foreach (var item in retModel.Result.ResponseStatus.Errors)
                        {
                            strErrorMsg += item.Message + "\r\n";
                        };
                        sErrMsg = "生成发货调拨单成功,审核单据失败!" + strErrorMsg;
                        LogService.Write("审核单据失败" + sRemark + HReturn);
                        oCn.RollBack();
                        return true;
                    }
                    else
                    {
                        LogService.Write("生成并审核发货调拨单(源单:发货通知单)成功!" + sRemark);
                        sErrMsg = "生成并审核发货调拨单成功!单据号为:" + oMain.HBillNo;
                        oCn.Commit();
                        return true;
@@ -6746,13 +6850,62 @@
                }
                catch (Exception e)
                {
                    LogService.Write("审核回滚" + sRemark + HReturn);
                    sErrMsg = "审核发货调拨单失败!" + e.Message;
                    oCn.RollBack();
                    return false;
                }
            }
            else if (oSystemParameterMain.Kf_MoveStockBill_AutoSubmit.ToUpper() == "Y") //系统参数  自动提交
            {
                try
                {
                    oCn.BeginTran();
                    //提交金蝶云单据
                    HReturn = "";
                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                    new object[] { "STK_TransferDirect", sJson2 });
                    sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result2.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        //反序列化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;
                        LogService.Write("提交单据失败" + sRemark + HReturn);
                        oCn.RollBack();
                        return true;
                    }
                    else
                    {
                        LogService.Write("生成并提交发货调拨单(源单:发货通知单)成功!" + sRemark);
                        sErrMsg = "生成并提交发货调拨单成功!单据号为:" + oMain.HBillNo;
                        oCn.Commit();
                        return true;
                    }
                }
                catch (Exception e)
                {
                    LogService.Write("提交回滚" + sRemark + HReturn);
                    sErrMsg = "提交发货调拨单失败!" + e.Message;
                    oCn.RollBack();
                    return false;
                }
            }
            else
            {
                LogService.Write("生成直接调拨单(源单:发货通知单)成功-旧方法!" + sRemark);
                sErrMsg = "生成发货调拨单成功!单据号为:" + oMain.HBillNo;
                return true;
            }
@@ -8653,7 +8806,7 @@
                int sYear = 0;
                int sPeriod = 0;
                if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode == "N") //系统参数  单据日期是否取界面递入日期
                if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode.ToUpper() == "N") //系统参数  单据日期是否取界面递入日期
                {
                    oMain.HDate = DateTime.Today;
                }
@@ -8692,7 +8845,7 @@
                sRemark = sRemark + " ;生成出入库单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                //判断是否启用器具管理,系统参数  启用器具管理
                if (oSystemParameterMain.WMS_MouldManagerCtl == "Y")
                if (oSystemParameterMain.WMS_MouldManagerCtl.ToUpper() == "Y")
                {
                    string HMouldBillType = "3814";
                    oCn.RunProc("EXEC h_p_Sc_MouldStockBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillType + "','" + HMouldBillType + "'," + oMain.HSupID.ToString() + "," + oMain.HKeeperID.ToString() + "," + oMain.HSecManagerID.ToString() + "," + oMain.HDeptID.ToString() + ",3");
@@ -8702,7 +8855,7 @@
                //根据TMP表 返回 信息
                DataSet Ds;
                if (oSystemParameterMain.WMS_CloudMode == "N") //系统参数  是否为私有云模式(N为公有云模式,Y为私有云模式)
                if (oSystemParameterMain.WMS_CloudMode.ToUpper() == "N") //系统参数  是否为私有云模式(N为公有云模式,Y为私有云模式)
                {
                    Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockBill_PPBom_PUBCLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveStockBill_PPBom_PUBCLD_New");
                    sRemark = sRemark + " ;公有云模式";
@@ -8724,7 +8877,7 @@
                    string sJson_Date = "";             //单据日期
                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
                    if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode == "Y") //系统参数  单据日期是否取界面递入日期
                    if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode.ToUpper() == "Y") //系统参数  单据日期是否取界面递入日期
                    {
                        sJson_Date = "\"FDATE\":\"" + oMain.HDate.ToShortDateString() + "\",";
                    }
@@ -8939,7 +9092,16 @@
                        if (HReturn.Contains("\"IsSuccess\":false") == true)
                        {
                            sErrMsg = "生成直接调拨单失败!" + HReturn;
                            //反序列化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;
                            LogService.Write("生成直接调拨单(源单:生产用料清单)失败!" + HReturn + sJson);   //写入txt文本
                            oCn.RollBack();
                            return false;
@@ -8960,19 +9122,19 @@
            }
            catch (Exception e)
            {
                LogService.Write("生成回滚" + sRemark);
                LogService.Write("生成回滚" + e.Message + sRemark);
                sErrMsg = "生成直接调拨单失败!" + e.Message;
                oCn.RollBack();
                return false;
            }
            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数  自动审核
            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck.ToUpper() == "Y") //系统参数  自动审核
            {
                try
                {
                    oCn.BeginTran();
                    //审核WMS单据
                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=getdate() where HInterID= " + oMain.HInterID.ToString());
                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
                    //提交、审核金蝶云单据
                    HReturn = "";
@@ -8980,16 +9142,29 @@
                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                    new object[] { "STK_TransferDirect", sJson2 });
                    sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
                    new object[] { "STK_TransferDirect", sJson3 });
                    sRemark = sRemark + " ;审核CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result2.ToString() + "," + result3.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        LogService.Write("审核单据失败" + sRemark);
                        sErrMsg = "生成直接调拨单成功,审核单据失败!" + HReturn;
                        //反序列化json数据
                        var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(result3);
                        //接收金蝶报错信息
                        var strErrorMsg = string.Empty;
                        //遍历获取报错信息
                        foreach (var item in retModel.Result.ResponseStatus.Errors)
                        {
                            strErrorMsg += item.Message + "\r\n";
                        };
                        sErrMsg = "生成直接调拨单成功,审核单据失败!" + strErrorMsg;
                        LogService.Write("审核单据失败" + sRemark + HReturn);
                        oCn.RollBack();
                        return true;
                    }
@@ -9003,8 +9178,55 @@
                }
                catch (Exception e)
                {
                    LogService.Write("审核回滚" + sRemark);
                    LogService.Write("审核回滚" + sRemark + HReturn);
                    sErrMsg = "审核直接调拨单失败!" + e.Message;
                    oCn.RollBack();
                    return false;
                }
            }
            else if (oSystemParameterMain.Kf_MoveStockBill_AutoSubmit.ToUpper() == "Y") //系统参数  自动提交
            {
                try
                {
                    oCn.BeginTran();
                    //提交金蝶云单据
                    HReturn = "";
                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                    new object[] { "STK_TransferDirect", sJson2 });
                    sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result2.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        //反序列化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;
                        LogService.Write("提交单据失败" + sRemark + HReturn);
                        oCn.RollBack();
                        return true;
                    }
                    else
                    {
                        LogService.Write("生成并提交直接调拨单(源单:生产用料清单)成功!" + sRemark);
                        sErrMsg = "生成并提交直接调拨单成功!单据号为:" + oMain.HBillNo;
                        oCn.Commit();
                        return true;
                    }
                }
                catch (Exception e)
                {
                    LogService.Write("提交回滚" + sRemark + HReturn);
                    sErrMsg = "提交直接调拨单失败!" + e.Message;
                    oCn.RollBack();
                    return false;
                }
@@ -9061,7 +9283,7 @@
                int sYear = 0;
                int sPeriod = 0;
                if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode == "N") //系统参数  单据日期是否取界面递入日期
                if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode.ToUpper() == "N") //系统参数  单据日期是否取界面递入日期
                {
                    oMain.HDate = DateTime.Today;
                }
@@ -9101,7 +9323,7 @@
                //根据TMP表 返回 信息
                DataSet Ds;
                if (oSystemParameterMain.WMS_CloudMode == "N") //系统参数  是否为私有云模式(N为公有云模式,Y为私有云模式)
                if (oSystemParameterMain.WMS_CloudMode.ToUpper() == "N") //系统参数  是否为私有云模式(N为公有云模式,Y为私有云模式)
                {
                    Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockBill_WWPPBom_PUBCLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveStockBill_WWPPBom_PUBCLD_New");
                    sRemark = sRemark + " ;公有云模式";
@@ -9123,7 +9345,7 @@
                    string sJson_Date = "";             //单据日期
                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
                    if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode == "Y") //系统参数  单据日期是否取界面递入日期
                    if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode.ToUpper() == "Y") //系统参数  单据日期是否取界面递入日期
                    {
                        sJson_Date = "\"FDATE\":\"" + oMain.HDate.ToShortDateString() + "\",";
                    }
@@ -9333,7 +9555,16 @@
                        if (HReturn.Contains("\"IsSuccess\":false") == true)
                        {
                            sErrMsg = "生成直接调拨单失败!" + HReturn;
                            //反序列化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;
                            LogService.Write("生成直接调拨单(源单:委外用料清单)失败!" + HReturn + sJson);   //写入txt文本
                            oCn.RollBack();
                            return false;
@@ -9354,19 +9585,19 @@
            }
            catch (Exception e)
            {
                LogService.Write("生成回滚" + sRemark);
                LogService.Write("生成回滚" + e.Message + sRemark);
                sErrMsg = "生成直接调拨单失败!" + e.Message;
                oCn.RollBack();
                return false;
            }
            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数  自动审核
            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck.ToUpper() == "Y") //系统参数  自动审核
            {
                try
                {
                    oCn.BeginTran();
                    //审核WMS单据
                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=getdate() where HInterID= " + oMain.HInterID.ToString());
                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
                    //提交、审核金蝶云单据
                    HReturn = "";
@@ -9374,16 +9605,29 @@
                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                    new object[] { "STK_TransferDirect", sJson2 });
                    sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
                    new object[] { "STK_TransferDirect", sJson3 });
                    sRemark = sRemark + " ;审核CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result2.ToString() + "," + result3.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        LogService.Write("审核单据失败" + sRemark);
                        sErrMsg = "生成直接调拨单成功,审核单据失败!" + HReturn;
                        //反序列化json数据
                        var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(result3);
                        //接收金蝶报错信息
                        var strErrorMsg = string.Empty;
                        //遍历获取报错信息
                        foreach (var item in retModel.Result.ResponseStatus.Errors)
                        {
                            strErrorMsg += item.Message + "\r\n";
                        };
                        sErrMsg = "生成直接调拨单成功,审核单据失败!" + strErrorMsg;
                        LogService.Write("审核单据失败" + sRemark + HReturn);
                        oCn.RollBack();
                        return true;
                    }
@@ -9397,8 +9641,55 @@
                }
                catch (Exception e)
                {
                    LogService.Write("审核回滚" + sRemark);
                    LogService.Write("审核回滚" + sRemark + HReturn);
                    sErrMsg = "审核直接调拨单失败!" + e.Message;
                    oCn.RollBack();
                    return false;
                }
            }
            else if (oSystemParameterMain.Kf_MoveStockBill_AutoSubmit.ToUpper() == "Y") //系统参数  自动提交
            {
                try
                {
                    oCn.BeginTran();
                    //提交金蝶云单据
                    HReturn = "";
                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                    new object[] { "STK_TransferDirect", sJson2 });
                    sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result2.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        //反序列化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;
                        LogService.Write("提交单据失败" + sRemark + HReturn);
                        oCn.RollBack();
                        return true;
                    }
                    else
                    {
                        LogService.Write("生成并提交直接调拨单(源单:委外用料清单)成功!" + sRemark);
                        sErrMsg = "生成并提交直接调拨单成功!单据号为:" + oMain.HBillNo;
                        oCn.Commit();
                        return true;
                    }
                }
                catch (Exception e)
                {
                    LogService.Write("提交回滚" + sRemark + HReturn);
                    sErrMsg = "提交直接调拨单失败!" + e.Message;
                    oCn.RollBack();
                    return false;
                }
@@ -9455,7 +9746,7 @@
                int sYear = 0;
                int sPeriod = 0;
                if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode == "N") //系统参数  单据日期是否取界面递入日期
                if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode.ToUpper() == "N") //系统参数  单据日期是否取界面递入日期
                {
                    oMain.HDate = DateTime.Today;
                }
@@ -9495,7 +9786,7 @@
                //根据TMP表 返回 信息
                DataSet Ds;
                if (oSystemParameterMain.WMS_CloudMode == "N") //系统参数  是否为私有云模式(N为公有云模式,Y为私有云模式)
                if (oSystemParameterMain.WMS_CloudMode.ToUpper() == "N") //系统参数  是否为私有云模式(N为公有云模式,Y为私有云模式)
                {
                    Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockBill_SeOutStock_PUBCLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveStockBill_SeOutStock_PUBCLD_New");
                    sRemark = sRemark + " ;公有云模式";
@@ -9517,7 +9808,7 @@
                    string sJson_Date = "";             //单据日期
                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
                    if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode == "Y") //系统参数  单据日期是否取界面递入日期
                    if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode.ToUpper() == "Y") //系统参数  单据日期是否取界面递入日期
                    {
                        sJson_Date = "\"FDATE\":\"" + oMain.HDate.ToShortDateString() + "\",";
                    }
@@ -9753,7 +10044,16 @@
                        if (HReturn.Contains("\"IsSuccess\":false") == true)
                        {
                            sErrMsg = "生成直接调拨单失败!" + HReturn;
                            //反序列化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;
                            LogService.Write("生成直接调拨单(源单:发货通知单)失败!" + HReturn + sJson);   //写入txt文本
                            oCn.RollBack();
                            return false;
@@ -9774,19 +10074,19 @@
            }
            catch (Exception e)
            {
                LogService.Write("生成回滚" + sRemark);
                LogService.Write("生成回滚" + e.Message + sRemark);
                sErrMsg = "生成直接调拨单失败!" + e.Message;
                oCn.RollBack();
                return false;
            }
            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数  自动审核
            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck.ToUpper() == "Y") //系统参数  自动审核
            {
                try
                {
                    oCn.BeginTran();
                    //审核WMS单据
                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=getdate() where HInterID= " + oMain.HInterID.ToString());
                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
                    //提交、审核金蝶云单据
                    HReturn = "";
@@ -9794,16 +10094,29 @@
                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                    new object[] { "STK_TransferDirect", sJson2 });
                    sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
                    new object[] { "STK_TransferDirect", sJson3 });
                    sRemark = sRemark + " ;审核CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result2.ToString() + "," + result3.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        LogService.Write("审核单据失败" + sRemark);
                        sErrMsg = "生成直接调拨单成功,审核单据失败!" + HReturn;
                        //反序列化json数据
                        var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(result3);
                        //接收金蝶报错信息
                        var strErrorMsg = string.Empty;
                        //遍历获取报错信息
                        foreach (var item in retModel.Result.ResponseStatus.Errors)
                        {
                            strErrorMsg += item.Message + "\r\n";
                        };
                        sErrMsg = "生成直接调拨单成功,审核单据失败!" + strErrorMsg;
                        LogService.Write("审核单据失败" + sRemark + HReturn);
                        oCn.RollBack();
                        return true;
                    }
@@ -9817,8 +10130,55 @@
                }
                catch (Exception e)
                {
                    LogService.Write("审核回滚" + sRemark);
                    LogService.Write("审核回滚" + sRemark + HReturn);
                    sErrMsg = "审核直接调拨单失败!" + e.Message;
                    oCn.RollBack();
                    return false;
                }
            }
            else if (oSystemParameterMain.Kf_MoveStockBill_AutoSubmit.ToUpper() == "Y") //系统参数  自动提交
            {
                try
                {
                    oCn.BeginTran();
                    //提交金蝶云单据
                    HReturn = "";
                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                    new object[] { "STK_TransferDirect", sJson2 });
                    sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result2.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        //反序列化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;
                        LogService.Write("提交单据失败" + sRemark + HReturn);
                        oCn.RollBack();
                        return true;
                    }
                    else
                    {
                        LogService.Write("生成并提交直接调拨单(源单:发货通知单)成功!" + sRemark);
                        sErrMsg = "生成并提交直接调拨单成功!单据号为:" + oMain.HBillNo;
                        oCn.Commit();
                        return true;
                    }
                }
                catch (Exception e)
                {
                    LogService.Write("提交回滚" + sRemark + HReturn);
                    sErrMsg = "提交直接调拨单失败!" + e.Message;
                    oCn.RollBack();
                    return false;
                }
@@ -9875,7 +10235,7 @@
                int sYear = 0;
                int sPeriod = 0;
                if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode == "N") //系统参数  单据日期是否取界面递入日期
                if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode.ToUpper() == "N") //系统参数  单据日期是否取界面递入日期
                {
                    oMain.HDate = DateTime.Today;
                }
@@ -9914,7 +10274,7 @@
                sRemark = sRemark + " ;生成出入库单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                //判断是否启用器具管理,系统参数  启用器具管理
                if (oSystemParameterMain.WMS_MouldManagerCtl == "Y")
                if (oSystemParameterMain.WMS_MouldManagerCtl.ToUpper() == "Y")
                {
                    string HMouldBillType = "3814";
                    oCn.RunProc("EXEC h_p_Sc_MouldStockBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillType + "','" + HMouldBillType + "'," + oMain.HSupID.ToString() + "," + oMain.HKeeperID.ToString() + "," + oMain.HSecManagerID.ToString() + "," + oMain.HDeptID.ToString() + ",3");
@@ -9924,7 +10284,7 @@
                //根据TMP表 返回 信息
                DataSet Ds;
                if (oSystemParameterMain.WMS_CloudMode == "N") //系统参数  是否为私有云模式(N为公有云模式,Y为私有云模式)
                if (oSystemParameterMain.WMS_CloudMode.ToUpper() == "N") //系统参数  是否为私有云模式(N为公有云模式,Y为私有云模式)
                {
                    Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockBill_MoveStockRequest_PUBCLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveStockBill_MoveStockRequest_PUBCLD_New");
                    sRemark = sRemark + " ;公有云模式";
@@ -9946,7 +10306,7 @@
                    string sJson_Date = "";             //单据日期
                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
                    if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode == "Y") //系统参数  单据日期是否取界面递入日期
                    if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode.ToUpper() == "Y") //系统参数  单据日期是否取界面递入日期
                    {
                        sJson_Date = "\"FDATE\":\"" + oMain.HDate.ToShortDateString() + "\",";
                    }
@@ -10167,7 +10527,16 @@
                        if (HReturn.Contains("\"IsSuccess\":false") == true)
                        {
                            sErrMsg = "生成直接调拨单失败!" + HReturn;
                            //反序列化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;
                            LogService.Write("生成直接调拨单(源单:调拨申请单)失败!" + HReturn + sJson);   //写入txt文本
                            oCn.RollBack();
                            return false;
@@ -10188,19 +10557,19 @@
            }
            catch (Exception e)
            {
                LogService.Write("生成回滚" + sRemark);
                LogService.Write("生成回滚" + e.Message + sRemark);
                sErrMsg = "生成直接调拨单失败!" + e.Message;
                oCn.RollBack();
                return false;
            }
            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数  自动审核
            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck.ToUpper() == "Y") //系统参数  自动审核
            {
                try
                {
                    oCn.BeginTran();
                    //审核WMS单据
                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=getdate() where HInterID= " + oMain.HInterID.ToString());
                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
                    //提交、审核金蝶云单据
                    HReturn = "";
@@ -10208,16 +10577,29 @@
                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                    new object[] { "STK_TransferDirect", sJson2 });
                    sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
                    new object[] { "STK_TransferDirect", sJson3 });
                    sRemark = sRemark + " ;审核CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result2.ToString() + "," + result3.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        LogService.Write("审核单据失败" + sRemark);
                        sErrMsg = "生成直接调拨单成功,审核单据失败!" + HReturn;
                        //反序列化json数据
                        var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(result3);
                        //接收金蝶报错信息
                        var strErrorMsg = string.Empty;
                        //遍历获取报错信息
                        foreach (var item in retModel.Result.ResponseStatus.Errors)
                        {
                            strErrorMsg += item.Message + "\r\n";
                        };
                        sErrMsg = "生成直接调拨单成功,审核单据失败!" + strErrorMsg;
                        LogService.Write("审核单据失败" + sRemark + HReturn);
                        oCn.RollBack();
                        return true;
                    }
@@ -10231,8 +10613,55 @@
                }
                catch (Exception e)
                {
                    LogService.Write("审核回滚" + sRemark);
                    LogService.Write("审核回滚" + sRemark + HReturn);
                    sErrMsg = "审核直接调拨单失败!" + e.Message;
                    oCn.RollBack();
                    return false;
                }
            }
            else if (oSystemParameterMain.Kf_MoveStockBill_AutoSubmit.ToUpper() == "Y") //系统参数  自动提交
            {
                try
                {
                    oCn.BeginTran();
                    //提交金蝶云单据
                    HReturn = "";
                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                    new object[] { "STK_TransferDirect", sJson2 });
                    sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result2.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        //反序列化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;
                        LogService.Write("提交单据失败" + sRemark + HReturn);
                        oCn.RollBack();
                        return true;
                    }
                    else
                    {
                        LogService.Write("生成并提交直接调拨单(源单:调拨申请单)成功!" + sRemark);
                        sErrMsg = "生成并提交直接调拨单成功!单据号为:" + oMain.HBillNo;
                        oCn.Commit();
                        return true;
                    }
                }
                catch (Exception e)
                {
                    LogService.Write("提交回滚" + sRemark + HReturn);
                    sErrMsg = "提交直接调拨单失败!" + e.Message;
                    oCn.RollBack();
                    return false;
                }
@@ -10289,7 +10718,7 @@
                int sYear = 0;
                int sPeriod = 0;
                if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode == "N") //系统参数  单据日期是否取界面递入日期
                if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode.ToUpper() == "N") //系统参数  单据日期是否取界面递入日期
                {
                    oMain.HDate = DateTime.Today;
                }
@@ -10329,7 +10758,7 @@
                //根据TMP表 返回 信息
                DataSet Ds;
                if (oSystemParameterMain.WMS_CloudMode == "N") //系统参数  是否为私有云模式(N为公有云模式,Y为私有云模式)
                if (oSystemParameterMain.WMS_CloudMode.ToUpper() == "N") //系统参数  是否为私有云模式(N为公有云模式,Y为私有云模式)
                {
                    Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockBill_StockOutRequest_PUBCLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveStockBill_StockOutRequest_PUBCLD_New");
                    sRemark = sRemark + " ;公有云模式";
@@ -10351,7 +10780,7 @@
                    string sJson_Date = "";             //单据日期
                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
                    if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode == "Y") //系统参数  单据日期是否取界面递入日期
                    if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode.ToUpper() == "Y") //系统参数  单据日期是否取界面递入日期
                    {
                        sJson_Date = "\"FDATE\":\"" + oMain.HDate.ToShortDateString() + "\",";
                    }
@@ -10564,7 +10993,16 @@
                        if (HReturn.Contains("\"IsSuccess\":false") == true)
                        {
                            sErrMsg = "生成直接调拨单失败!" + HReturn;
                            //反序列化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;
                            LogService.Write("生成直接调拨单(源单:出库申请单)失败!" + HReturn + sJson);   //写入txt文本
                            oCn.RollBack();
                            return false;
@@ -10585,19 +11023,19 @@
            }
            catch (Exception e)
            {
                LogService.Write("生成回滚" + sRemark);
                LogService.Write("生成回滚" + e.Message + sRemark);
                sErrMsg = "生成直接调拨单失败!" + e.Message;
                oCn.RollBack();
                return false;
            }
            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数  自动审核
            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck.ToUpper() == "Y") //系统参数  自动审核
            {
                try
                {
                    oCn.BeginTran();
                    //审核WMS单据
                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=getdate() where HInterID= " + oMain.HInterID.ToString());
                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
                    //提交、审核金蝶云单据
                    HReturn = "";
@@ -10605,16 +11043,29 @@
                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                    new object[] { "STK_TransferDirect", sJson2 });
                    sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
                    new object[] { "STK_TransferDirect", sJson3 });
                    sRemark = sRemark + " ;审核CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result2.ToString() + "," + result3.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        LogService.Write("审核单据失败" + sRemark);
                        sErrMsg = "生成直接调拨单成功,审核单据失败!" + HReturn;
                        //反序列化json数据
                        var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(result3);
                        //接收金蝶报错信息
                        var strErrorMsg = string.Empty;
                        //遍历获取报错信息
                        foreach (var item in retModel.Result.ResponseStatus.Errors)
                        {
                            strErrorMsg += item.Message + "\r\n";
                        };
                        sErrMsg = "生成直接调拨单成功,审核单据失败!" + strErrorMsg;
                        LogService.Write("审核单据失败" + sRemark + HReturn);
                        oCn.RollBack();
                        return true;
                    }
@@ -10628,8 +11079,55 @@
                }
                catch (Exception e)
                {
                    LogService.Write("审核回滚" + sRemark);
                    LogService.Write("审核回滚" + sRemark + HReturn);
                    sErrMsg = "审核直接调拨单失败!" + e.Message;
                    oCn.RollBack();
                    return false;
                }
            }
            else if (oSystemParameterMain.Kf_MoveStockBill_AutoSubmit.ToUpper() == "Y") //系统参数  自动提交
            {
                try
                {
                    oCn.BeginTran();
                    //提交金蝶云单据
                    HReturn = "";
                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                    new object[] { "STK_TransferDirect", sJson2 });
                    sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result2.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        //反序列化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;
                        LogService.Write("提交单据失败" + sRemark + HReturn);
                        oCn.RollBack();
                        return true;
                    }
                    else
                    {
                        LogService.Write("生成并提交直接调拨单(源单:出库申请单)成功!" + sRemark);
                        sErrMsg = "生成并提交直接调拨单成功!单据号为:" + oMain.HBillNo;
                        oCn.Commit();
                        return true;
                    }
                }
                catch (Exception e)
                {
                    LogService.Write("提交回滚" + sRemark + HReturn);
                    sErrMsg = "提交直接调拨单失败!" + e.Message;
                    oCn.RollBack();
                    return false;
                }
@@ -10686,7 +11184,7 @@
                int sYear = 0;
                int sPeriod = 0;
                if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode == "N") //系统参数  单据日期是否取界面递入日期
                if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode.ToUpper() == "N") //系统参数  单据日期是否取界面递入日期
                {
                    oMain.HDate = DateTime.Today;
                }
@@ -10726,7 +11224,7 @@
                //根据TMP表 返回 信息
                DataSet Ds;
                if (oSystemParameterMain.WMS_CloudMode == "N") //系统参数  是否为私有云模式(N为公有云模式,Y为私有云模式)
                if (oSystemParameterMain.WMS_CloudMode.ToUpper() == "N") //系统参数  是否为私有云模式(N为公有云模式,Y为私有云模式)
                {
                    Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockBill_MateOutRequest_PUBCLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveStockBill_MateOutRequest_PUBCLD_New");
                    sRemark = sRemark + " ;公有云模式";
@@ -10748,7 +11246,7 @@
                    string sJson_Date = "";             //单据日期
                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
                    if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode == "Y") //系统参数  单据日期是否取界面递入日期
                    if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode.ToUpper() == "Y") //系统参数  单据日期是否取界面递入日期
                    {
                        sJson_Date = "\"FDATE\":\"" + oMain.HDate.ToShortDateString() + "\",";
                    }
@@ -10961,7 +11459,16 @@
                        if (HReturn.Contains("\"IsSuccess\":false") == true)
                        {
                            sErrMsg = "生成直接调拨单失败!" + HReturn;
                            //反序列化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;
                            LogService.Write("生成直接调拨单(源单:生产发料通知单)失败!" + HReturn + sJson);   //写入txt文本
                            oCn.RollBack();
                            return false;
@@ -10982,19 +11489,19 @@
            }
            catch (Exception e)
            {
                LogService.Write("生成回滚" + sRemark);
                LogService.Write("生成回滚" + e.Message + sRemark);
                sErrMsg = "生成直接调拨单失败!" + e.Message;
                oCn.RollBack();
                return false;
            }
            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数  自动审核
            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck.ToUpper() == "Y") //系统参数  自动审核
            {
                try
                {
                    oCn.BeginTran();
                    //审核WMS单据
                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=getdate() where HInterID= " + oMain.HInterID.ToString());
                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
                    //提交、审核金蝶云单据
                    HReturn = "";
@@ -11002,16 +11509,29 @@
                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                    new object[] { "STK_TransferDirect", sJson2 });
                    sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
                    new object[] { "STK_TransferDirect", sJson3 });
                    sRemark = sRemark + " ;审核CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result2.ToString() + "," + result3.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        LogService.Write("审核单据失败" + sRemark);
                        sErrMsg = "生成直接调拨单成功,审核单据失败!" + HReturn;
                        //反序列化json数据
                        var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(result3);
                        //接收金蝶报错信息
                        var strErrorMsg = string.Empty;
                        //遍历获取报错信息
                        foreach (var item in retModel.Result.ResponseStatus.Errors)
                        {
                            strErrorMsg += item.Message + "\r\n";
                        };
                        sErrMsg = "生成直接调拨单成功,审核单据失败!" + strErrorMsg;
                        LogService.Write("审核单据失败" + sRemark + HReturn);
                        oCn.RollBack();
                        return true;
                    }
@@ -11025,8 +11545,55 @@
                }
                catch (Exception e)
                {
                    LogService.Write("审核回滚" + sRemark);
                    LogService.Write("审核回滚" + sRemark + HReturn);
                    sErrMsg = "审核直接调拨单失败!" + e.Message;
                    oCn.RollBack();
                    return false;
                }
            }
            else if (oSystemParameterMain.Kf_MoveStockBill_AutoSubmit.ToUpper() == "Y") //系统参数  自动提交
            {
                try
                {
                    oCn.BeginTran();
                    //提交金蝶云单据
                    HReturn = "";
                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                    new object[] { "STK_TransferDirect", sJson2 });
                    sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result2.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        //反序列化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;
                        LogService.Write("提交单据失败" + sRemark + HReturn);
                        oCn.RollBack();
                        return true;
                    }
                    else
                    {
                        LogService.Write("生成并提交直接调拨单(源单:生产发料通知单)成功!" + sRemark);
                        sErrMsg = "生成并提交直接调拨单成功!单据号为:" + oMain.HBillNo;
                        oCn.Commit();
                        return true;
                    }
                }
                catch (Exception e)
                {
                    LogService.Write("提交回滚" + sRemark + HReturn);
                    sErrMsg = "提交直接调拨单失败!" + e.Message;
                    oCn.RollBack();
                    return false;
                }
@@ -11083,7 +11650,7 @@
                int sYear = 0;
                int sPeriod = 0;
                if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode == "N") //系统参数  单据日期是否取界面递入日期
                if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode.ToUpper() == "N") //系统参数  单据日期是否取界面递入日期
                {
                    oMain.HDate = DateTime.Today;
                }
@@ -11122,7 +11689,7 @@
                sRemark = sRemark + " ;生成出入库单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                //判断是否启用器具管理,系统参数  启用器具管理
                if (oSystemParameterMain.WMS_MouldManagerCtl == "Y")
                if (oSystemParameterMain.WMS_MouldManagerCtl.ToUpper() == "Y")
                {
                    string HMouldBillType = "3814";
                    oCn.RunProc("EXEC h_p_Sc_MouldStockBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillType + "','" + HMouldBillType + "'," + oMain.HSupID.ToString() + "," + oMain.HKeeperID.ToString() + "," + oMain.HSecManagerID.ToString() + "," + oMain.HDeptID.ToString() + ",3");
@@ -11132,7 +11699,7 @@
                //根据TMP表 返回 信息
                DataSet Ds;
                if (oSystemParameterMain.WMS_CloudMode == "N") //系统参数  是否为私有云模式(N为公有云模式,Y为私有云模式)
                if (oSystemParameterMain.WMS_CloudMode.ToUpper() == "N") //系统参数  是否为私有云模式(N为公有云模式,Y为私有云模式)
                {
                    Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockBill_PrepareMTRL_PUBCLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveStockBill_PrepareMTRL_PUBCLD_New");
                    sRemark = sRemark + " ;公有云模式";
@@ -11154,7 +11721,7 @@
                    string sJson_Date = "";             //单据日期
                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
                    if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode == "Y") //系统参数  单据日期是否取界面递入日期
                    if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode.ToUpper() == "Y") //系统参数  单据日期是否取界面递入日期
                    {
                        sJson_Date = "\"FDATE\":\"" + oMain.HDate.ToShortDateString() + "\",";
                    }
@@ -11363,7 +11930,16 @@
                        if (HReturn.Contains("\"IsSuccess\":false") == true)
                        {
                            sErrMsg = "生成直接调拨单失败!" + HReturn;
                            //反序列化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;
                            LogService.Write("生成直接调拨单(源单:生产备料单)失败!" + HReturn + sJson);   //写入txt文本
                            oCn.RollBack();
                            return false;
@@ -11384,19 +11960,19 @@
            }
            catch (Exception e)
            {
                LogService.Write("生成回滚" + sRemark);
                LogService.Write("生成回滚" + e.Message + sRemark);
                sErrMsg = "生成直接调拨单失败!" + e.Message;
                oCn.RollBack();
                return false;
            }
            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数  自动审核
            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck.ToUpper() == "Y") //系统参数  自动审核
            {
                try
                {
                    oCn.BeginTran();
                    //审核WMS单据
                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=getdate() where HInterID= " + oMain.HInterID.ToString());
                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
                    //提交、审核金蝶云单据
                    HReturn = "";
@@ -11404,16 +11980,29 @@
                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                    new object[] { "STK_TransferDirect", sJson2 });
                    sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
                    new object[] { "STK_TransferDirect", sJson3 });
                    sRemark = sRemark + " ;审核CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result2.ToString() + "," + result3.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        LogService.Write("审核单据失败" + sRemark);
                        sErrMsg = "生成直接调拨单成功,审核单据失败!" + HReturn;
                        //反序列化json数据
                        var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(result3);
                        //接收金蝶报错信息
                        var strErrorMsg = string.Empty;
                        //遍历获取报错信息
                        foreach (var item in retModel.Result.ResponseStatus.Errors)
                        {
                            strErrorMsg += item.Message + "\r\n";
                        };
                        sErrMsg = "生成直接调拨单成功,审核单据失败!" + strErrorMsg;
                        LogService.Write("审核单据失败" + sRemark + HReturn);
                        oCn.RollBack();
                        return true;
                    }
@@ -11427,8 +12016,55 @@
                }
                catch (Exception e)
                {
                    LogService.Write("审核回滚" + sRemark);
                    LogService.Write("审核回滚" + sRemark + HReturn);
                    sErrMsg = "审核直接调拨单失败!" + e.Message;
                    oCn.RollBack();
                    return false;
                }
            }
            else if (oSystemParameterMain.Kf_MoveStockBill_AutoSubmit.ToUpper() == "Y") //系统参数  自动提交
            {
                try
                {
                    oCn.BeginTran();
                    //提交金蝶云单据
                    HReturn = "";
                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                    new object[] { "STK_TransferDirect", sJson2 });
                    sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result2.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        //反序列化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;
                        LogService.Write("提交单据失败" + sRemark + HReturn);
                        oCn.RollBack();
                        return true;
                    }
                    else
                    {
                        LogService.Write("生成并提交直接调拨单(源单:生产备料单)成功!" + sRemark);
                        sErrMsg = "生成并提交直接调拨单成功!单据号为:" + oMain.HBillNo;
                        oCn.Commit();
                        return true;
                    }
                }
                catch (Exception e)
                {
                    LogService.Write("提交回滚" + sRemark + HReturn);
                    sErrMsg = "提交直接调拨单失败!" + e.Message;
                    oCn.RollBack();
                    return false;
                }
@@ -11485,7 +12121,7 @@
                int sYear = 0;
                int sPeriod = 0;
                if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode == "N") //系统参数  单据日期是否取界面递入日期
                if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode.ToUpper() == "N") //系统参数  单据日期是否取界面递入日期
                {
                    oMain.HDate = DateTime.Today;
                }
@@ -11522,7 +12158,7 @@
                sRemark = sRemark + " ;生成出入库单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                //判断是否启用器具管理,系统参数  启用器具管理
                if (oSystemParameterMain.WMS_MouldManagerCtl == "Y")
                if (oSystemParameterMain.WMS_MouldManagerCtl.ToUpper() == "Y")
                {
                    string HMouldBillType = "3814";
                    oCn.RunProc("EXEC h_p_Sc_MouldStockBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillType + "','" + HMouldBillType + "'," + oMain.HSupID.ToString() + "," + oMain.HKeeperID.ToString() + "," + oMain.HSecManagerID.ToString() + "," + oMain.HDeptID.ToString() + ",3");
@@ -11532,7 +12168,7 @@
                //根据TMP表 返回 信息
                DataSet Ds;
                if (oSystemParameterMain.WMS_CloudMode == "N") //系统参数  是否为私有云模式(N为公有云模式,Y为私有云模式)
                if (oSystemParameterMain.WMS_CloudMode.ToUpper() == "N") //系统参数  是否为私有云模式(N为公有云模式,Y为私有云模式)
                {
                    Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveOutBill_PUBCLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveOutBill_PUBCLD");
                    sRemark = sRemark + " ;公有云模式";
@@ -11565,7 +12201,7 @@
                        sJson_BillTypeID = "\"FBillTypeID\":{ \"FNumber\":\"" + oMain.HBillSubType + "\" },";
                    }
                    if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode == "Y") //系统参数  单据日期是否取界面递入日期
                    if (oSystemParameterMain.Kf_MoveStockBill_BillDateMode.ToUpper() == "Y") //系统参数  单据日期是否取界面递入日期
                    {
                        sJson_Date = "\"FDATE\":\"" + oMain.HDate.ToShortDateString() + "\",";
                    }
@@ -11763,7 +12399,16 @@
                        if (HReturn.Contains("\"IsSuccess\":false") == true)
                        {
                            sErrMsg = "生成直接调拨单失败!" + HReturn;
                            //反序列化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;
                            LogService.Write("生成直接调拨单(源单:无源单)失败!" + HReturn + sJson);   //写入txt文本
                            oCn.RollBack();
                            return false;
@@ -11784,13 +12429,13 @@
            }
            catch (Exception e)
            {
                LogService.Write("生成回滚" + sRemark);
                LogService.Write("生成回滚" + e.Message + sRemark);
                sErrMsg = "生成直接调拨单失败!" + e.Message;
                oCn.RollBack();
                return false;
            }
            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数  自动审核
            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck.ToUpper() == "Y") //系统参数  自动审核
            {
                try
                {
@@ -11804,16 +12449,29 @@
                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                    new object[] { "STK_TransferDirect", sJson2 });
                    sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
                    new object[] { "STK_TransferDirect", sJson3 });
                    sRemark = sRemark + " ;审核CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result2.ToString() + "," + result3.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        LogService.Write("审核单据失败" + sRemark);
                        sErrMsg = "生成直接调拨单成功,审核单据失败!" + HReturn;
                        //反序列化json数据
                        var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(result3);
                        //接收金蝶报错信息
                        var strErrorMsg = string.Empty;
                        //遍历获取报错信息
                        foreach (var item in retModel.Result.ResponseStatus.Errors)
                        {
                            strErrorMsg += item.Message + "\r\n";
                        };
                        sErrMsg = "生成直接调拨单成功,审核单据失败!" + strErrorMsg;
                        LogService.Write("审核单据失败" + sRemark + HReturn);
                        oCn.RollBack();
                        return true;
                    }
@@ -11827,12 +12485,59 @@
                }
                catch (Exception e)
                {
                    LogService.Write("审核回滚" + sRemark);
                    LogService.Write("审核回滚" + sRemark + HReturn);
                    sErrMsg = "审核直接调拨单失败!" + e.Message;
                    oCn.RollBack();
                    return false;
                }
            }
            else if (oSystemParameterMain.Kf_MoveStockBill_AutoSubmit.ToUpper() == "Y") //系统参数  自动提交
            {
                try
                {
                    oCn.BeginTran();
                    //提交金蝶云单据
                    HReturn = "";
                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
                    new object[] { "STK_TransferDirect", sJson2 });
                    sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result2.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        //反序列化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;
                        LogService.Write("提交单据失败" + sRemark + HReturn);
                        oCn.RollBack();
                        return true;
                    }
                    else
                    {
                        LogService.Write("生成并提交直接调拨单(源单:无源单)成功!" + sRemark);
                        sErrMsg = "生成并提交直接调拨单成功!单据号为:" + oMain.HBillNo;
                        oCn.Commit();
                        return true;
                    }
                }
                catch (Exception e)
                {
                    LogService.Write("提交回滚" + sRemark + HReturn);
                    sErrMsg = "提交直接调拨单失败!" + e.Message;
                    oCn.RollBack();
                    return false;
                }
            }
            else
            {
                LogService.Write("生成直接调拨单(源单:无源单)成功!" + sRemark);