From b0f1b697bce55af865e5705794e025d174839076 Mon Sep 17 00:00:00 2001
From: yxj <1qaz@123>
Date: 星期四, 04 八月 2022 20:35:53 +0800
Subject: [PATCH] 扫码提交生成CLOUD单据时,回滚事务方式优化修改(分成两个事务,保存的事务和审核的事务);增加根据参数,按组织进行审核单据功能

---
 CLOUDWEB/WebService1.asmx.cs | 4073 ++++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 2,601 insertions(+), 1,472 deletions(-)

diff --git a/CLOUDWEB/WebService1.asmx.cs b/CLOUDWEB/WebService1.asmx.cs
index 99252ad..396c295 100644
--- a/CLOUDWEB/WebService1.asmx.cs
+++ b/CLOUDWEB/WebService1.asmx.cs
@@ -4379,7 +4379,6 @@
             if (SaveICMOReportBill_ICMO_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
             {
                 //"淇濆瓨鎴愬姛锛�";
-                sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                 return true;
             }
             else
@@ -4404,7 +4403,32 @@
         /// <returns></returns>
         public bool SaveICMOReportBill_ICMO_CLD(Model.ClsSc_ICMOReportBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
-            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //寤虹珛涓�涓� 浜嬪姟锛�
+            //浠庨厤缃枃浠惰幏鍙� CLOUD缃戝潃銆佽处濂椾俊鎭�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮�
+            if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
+            {
+                sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
+                return false;
+            }
+
+            //鑾峰彇CLOUD璐﹀彿瀵嗙爜
+            string 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"]);
+            }
+
+            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);
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -4419,7 +4443,6 @@
                 oMain.HYear = sYear;
                 oMain.HPeriod = sPeriod;
 
-                DataSet Ds;
                 DataSet Ds2;
                 // 鍒ゆ柇鐢熶骇璁㈠崟鐘舵�� 鏄惁涓� 瀹屽伐 鎴栫粨妗�
                 Ds2 = oCn.RunProcReturn("exec h_p_Sc_LoadICMOReportStatusCheck " + oMain.HInterID.ToString(), "h_p_Sc_LoadICMOReportStatusCheck");
@@ -4436,9 +4459,9 @@
                         return false;
                     }
                 }
-                //鍐欏叆WMS鐢熶骇姹囨姤鍗�
-                oCn.BeginTran();
 
+                oCn.BeginTran();
+                //鍐欏叆WMS鐢熶骇姹囨姤鍗�
                 //鎻掑叆瀛愯〃
                 oCn.RunProc("EXEC h_p_Sc_ICMOReportBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
                 //鎻掑叆涓昏〃
@@ -4454,13 +4477,8 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Sc_UpDateRelation_ICMOToICMOReport_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.Sc_ICMOReportBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                {
-                    //瀹℃牳鍗曟嵁
-                    oCn.RunProc("Update Sc_ICMOReportBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
-                }
-
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
+                DataSet Ds;
                 Ds = oCn.RunProcReturn("exec h_p_Kf_GetICMOReportBill_ICMO_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetICMOReportBill_ICMO_CLD_New");
                 if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
                 {
@@ -4471,6 +4489,18 @@
                 else
                 {
                     string sJson_ZYMESFLAG = "";    //鐢熶骇姹囨姤鍗曞悓姝ES鏍囪
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Sc_ICMOReportBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     sJson_ZYMESFLAG = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FHZYMESFLAG"]);
 
                     string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
@@ -4484,6 +4514,7 @@
                         //\"FWorkshipIdH\":{\"FNumber\":\"\"},
                         //\"FDescription\":\"\",
                         sJson_ZYMESFLAG +
+                        sJson_MainCustom +
                         "\"FEntity\": [   ";
                     string sJson_Entry = "";
                     for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
@@ -4498,9 +4529,11 @@
                         string sJson_FAUXPROPID = "";
                         string sJson_SubCustom = "";    //瀛愯〃鑷畾涔夊瓧娈�
 
+                        //瀛愯〃鑷畾涔夊瓧娈�
                         sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
 
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , ";
                         }
@@ -4544,7 +4577,7 @@
                         {
                             sJson_EntryCustom = "";
                         }
-                        //
+
                         sJson_Entry = sJson_Entry + " {" +
                         //" \"FEntryID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HEntryID"]) + "," +
                         " \"FSRCENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYID"]) + "," +
@@ -4638,58 +4671,21 @@
                     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"]);
-                    }
-
-                    //鐢熸垚 鐢熶骇姹囨姤鍗� 
-                    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[] { "PRD_MORPT", sJson }); //璋冪敤淇濆瓨鏂瑰紡
+                        new object[] { "PRD_MORPT", sJson });
 
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildICMOReport '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        if (oSystemParameterMain.Sc_ICMOReportBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "PRD_MORPT", sJson2 }); //鎻愪氦鍗曟嵁
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "PRD_MORPT", sJson3 }); //瀹℃牳鍗曟嵁
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚鐢熶骇姹囨姤鍗曞け璐ワ紒" + HReturn + sJson;
+                            LogService.Write("鐢熸垚鐢熶骇姹囨姤鍗曪紙婧愬崟锛氱敓浜ц鍗曪級澶辫触锛�" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
@@ -4700,13 +4696,13 @@
                             {
                                 oCn.RunProc("exec h_p_WMS_UpdateSourceByBarCodeBill_ICMOReportBill '" + oMain.HBillNo + "'");
                             }
+                            LogService.Write("鐢熸垚鐢熶骇姹囨姤鍗曪紙婧愬崟锛氱敓浜ц鍗曪級鎴愬姛锛�" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚鐢熶骇姹囨姤鍗曞け璐ワ紒鐧诲綍澶辫触锛�";
+                        sErrMsg = "鐢熸垚鐢熶骇姹囨姤鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
                         oCn.RollBack();
                         return false;
                     }
@@ -4717,6 +4713,52 @@
                 sErrMsg = "鐢熸垚鐢熶骇姹囨姤鍗曞け璐ワ紒" + e.Message;
                 oCn.RollBack();
                 return false;
+            }
+
+            if (oSystemParameterMain.Sc_ICMOReportBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Sc_ICMOReportBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "PRD_MORPT", sJson2 }); //鎻愪氦鍗曟嵁
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "PRD_MORPT", sJson3 }); //瀹℃牳鍗曟嵁
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚鐢熶骇姹囨姤鍗曟垚鍔燂紝瀹℃牳鍗曟嵁澶辫触锛�" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍哥敓浜ф眹鎶ュ崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳鐢熶骇姹囨姤鍗曞け璐ワ紒" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚鐢熶骇姹囨姤鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                return true;
             }
         }
 
@@ -5994,317 +6036,6 @@
             }
         }
 
-        //鐩存帴璋冩嫧
-        private bool SaveMoveOut_CLD(Model.ClsKf_MoveStockBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
-        {
-            //浠庨厤缃枃浠惰幏鍙� 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"]);
-            }
-
-            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);
-            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
-
-            try
-            {
-                DataSet Ds;
-                //
-                oCn.BeginTran();
-                //鍐欏叆WMS璋冩嫧鍗�
-
-                //鎻掑叆瀛愯〃
-                oCn.RunProc("EXEC h_p_Kf_MoveStockBillSub_Insert " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'");
-                //鎻掑叆涓昏〃
-                oCn.RunProc("Insert Into Kf_ICStockBillMain   " +
-                "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
-                ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
-                ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
-                ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
-                ",HStockStyle,HTransferDirect,HShipType" +
-                ",HSTOCKORGID,HOWNERID" +
-                ") " +
-                " values('1207','1207'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
-                ",2012,1,'" + 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.HTransferDirect + "','" + oMain.HShipType + "'" +
-                ", " + oMain.HSTOCKORGID.ToString() + "," + oMain.HOWNERID.ToString() +
-                ") ");
-
-                if (oSystemParameterMain.WMS_MouldManagerCtl == "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");
-                }
-
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
-                Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveOutBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveOutBill_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 = "";
-                    string sJson_MainCustom = "";    //涓昏〃鑷畾涔夊瓧娈�
-                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
-
-                    if (oSystemParameterMain.WMS_CampanyName == "闊╃數") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
-                    {
-                        sJson_StockStyle = "\"F_CHLX\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_CHLX"]) + "\",";    //鍑鸿揣绫诲瀷
-                    }
-                    else
-                    {
-                        sJson_StockStyle = "";
-                    }
-                    string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[]," +
-                        "\"Model\":{ " +
-                        "\"FBillNo\":\"" + oMain.HBillNo + "\"," +
-                        "\"FBillTypeID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\" }," +
-                        "\"FBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBizType"]) + "\"," +
-                        "\"FTransferDirect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferDirect"]) + "\"," +
-                        "\"FTransferBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferBizType"]) + "\"," +
-                        "\"FSettleOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleOrgId"]) + "\" }," +
-                        "\"FSaleOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleOrgId"]) + "\" }," +
-                        "\"FStockOutOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOutOrgId"]) + "\" }," +
-                        "\"FOwnerTypeOutIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeOutIdHead"]) + "\"," +
-                        "\"FOwnerOutIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerOutIdHead"]) + "\" }," +
-                        "\"FStockOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\" }," +
-                        "\"FIsIncludedTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsIncludedTax"]) + "," +
-                        "\"FIsPriceExcludeTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsPriceExcludeTax"]) + "," +
-                        "\"FOwnerTypeIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\"," +
-                        "\"FSETTLECURRID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLECURRID"]) + "\" }," +
-                        "\"FOwnerIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\" }," +
-                        "\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
-                        "\"FBaseCurrId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseCurrId"]) + "\" }," +
-                        sJson_StockStyle +
-                        sJson_MainCustom +
-                        "\"FBillEntry\": [  ";
-                    string sJson_Entry = "";
-                    string sJson_SrcStockPlace = "";
-                    string sJson_DestStockPlace = "";
-                    string sJson_FAUXPROPID = "";
-
-                    for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
-                    {
-                        if (sJson_Entry != "")
-                        {
-                            sJson_Entry = sJson_Entry + " , ";
-                        }
-                        string sJson_BatchNo = "";
-                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
-
-                        //瀛愯〃鑷畾涔夊瓧娈�
-                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
-
-                        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_SrcStockPlace = "\"FSrcStockLocId\":{\"FSRCSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
-                            sJson_DestStockPlace = "\"FDestStockLocId\":{\"FDESTSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
-                        }
-                        else
-                        {
-                            //璋冨叆浠撲綅
-                            if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) == "")
-                            {
-                                sJson_SrcStockPlace = "";
-                            }
-                            else
-                            {
-                                sJson_SrcStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
-                            }
-                            //璋冨嚭浠撲綅
-                            if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) == "")
-                            {
-                                sJson_DestStockPlace = "";
-                            }
-                            else
-                            {
-                                sJson_DestStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
-                            }
-                        }
-                        //杈呭姪灞炴��
-                        if (oSystemParameterMain.WMS_CampanyName == "鍗撳姏" || oSystemParameterMain.WMS_CampanyName == "闊╃數") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
-                        {
-                            sJson_FAUXPROPID = "";
-                        }
-                        else if (oSystemParameterMain.WMS_CampanyName == "鍑礉濂堢壒") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
-                        {
-                            sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100001\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
-                        }
-                        else if (oSystemParameterMain.WMS_CampanyName == "妫シ") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
-                        {
-                            sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100003\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
-                        }
-                        else
-                        {
-                            sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
-                        }
-                        //鑷畾涔夊瓧娈靛鐞�
-
-                        sJson_Entry = sJson_Entry + " {\"FSEQ\":\"" + Convert.ToString(i + 1) + "\"," +
-                        "\"FMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\" }," +
-                        sJson_FAUXPROPID +
-                        "\"FUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\" }," +
-                        "\"FQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQty"]) + "\"," +
-                        sJson_BatchNo +
-                         "\"FSrcStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockId"]) + "\" }," +
-                        sJson_SrcStockPlace +
-                        //"\"FSrcStockLocId\":{\"FSRCSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}}," +
-                        "\"FDestStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockId"]) + "\" }," +
-                        sJson_DestStockPlace +
-                        //"\"FDestStockLocId\":{\"FDESTSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}}," +
-                        "\"FSrcStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockStatusId"]) + "\" }," +
-                        "\"FDestStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockStatusId"]) + "\" }," +
-                        // "\"FBusinessDate\":\"" + oMain.HDate.ToShortDateString() + "\"," +
-                        "\"FOwnerTypeOutId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeOutId"]) + "\"," +
-                        "\"FOwnerOutId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerOutId"]) + "\" }," +
-                        "\"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeId"]) + "\"," +
-                        "\"FOwnerId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerId"]) + "\" }," +
-                        "\"FBaseUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\" }," +
-                        "\"FBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseQty"]) + "\"," +
-                        "\"FISFREE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISFREE"]) + "," +
-                        "\"FKeeperTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeId"]) + "\"," +
-                        "\"FKeeperId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperId"]) + "\" }," +
-                        "\"FKeeperTypeOutId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeOutId"]) + "\"," +
-                        "\"FKeeperOutId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperOutId"]) + "\" }," +
-                        "\"FDestMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestMaterialId"]) + "\" }," +
-                        "\"FPriceUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceUnitId"]) + "\" }," +
-                        "\"FPriceQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceQty"]) + "\"," +
-                        "\"FPriceBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceQty"]) + "\"," +
-                        "\"FTransReserveLink\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTransReserveLink"]) + "," +
-                        "\"FCheckDelivery\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCheckDelivery"]) + "," +
-                        sJson_SubCustom +
-                        //"\"FSRCBILLTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\"," +
-                        //"\"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
-                        //"\"FORDERTYPE\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERTYPE"]) + "\" }," +
-                        //"\"FORDERNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERNO"]) + "\"," +
-                        //"\"FBillEntry_Link\": [ {  " +
-                        //"\"FBillEntry_Link_FFLOWID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FFLOWID"]) + "\"," +
-                        //"\"FBillEntry_Link_FFLOWLINEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FFLOWLINEID"]) + "\"," +
-                        //"\"FBillEntry_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FRuleId"]) + "\"," +
-                        //"\"FBillEntry_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FSTableName"]) + "\"," +
-                        //"\"FBillEntry_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FSBillId"]) + "\"," +
-                        //"\"FBillEntry_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FSId"]) + "\"," +
-                        //" } ]   
-                         " }  ";
-                    }
-                    string sJson_End = "  ]  }}";
-                    string sJson = sJson_Main + sJson_Entry + sJson_End;
-
-                    //鐢熸垚閲戣澏浜戝崟鎹�
-                    if (bLogin)
-                    {
-                        var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
-                        new object[] { "STK_TransferDirect", sJson });
-
-                        //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
-                        oCn.RunProc("exec h_p_Sc_UpDateSelfFildMove '" + oMain.HBillNo + "','-1'");
-
-                        HReturn = result.ToString();
-
-                        if (HReturn.Contains("\"IsSuccess\":false") == true)
-                        {
-                            sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒" + HReturn + sJson;
-                            oCn.RollBack();
-                            return false;
-                        }
-                        else
-                        {
-                            oCn.Commit();
-                        }
-                    }
-                    else
-                    {
-                        sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
-                        oCn.RollBack();
-                        return false;
-                    }
-                }
-            }
-            catch (Exception e)
-            {
-                sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒" + e.Message;
-                oCn.RollBack();
-                return false;
-            }
-
-            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-            {
-                try
-                {
-                    oCn.BeginTran();
-                    //瀹℃牳WMS鍗曟嵁
-                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
-
-                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
-                    HReturn = "";
-                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                    new object[] { "STK_TransferDirect", sJson2 });
-
-                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                    new object[] { "STK_TransferDirect", sJson3 });
-
-                    HReturn = result2.ToString() + "," + result3.ToString();
-
-                    if (HReturn.Contains("\"IsSuccess\":false") == true)
-                    {
-                        sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曟垚鍔燂紝瀹℃牳鍗曟嵁澶辫触锛�" + HReturn;
-                        oCn.RollBack();
-                        return true;
-                    }
-                    else
-                    {
-                        sErrMsg = "鐢熸垚骞跺鏍哥洿鎺ヨ皟鎷ㄥ崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
-                        oCn.Commit();
-                        return true;
-                    }
-                }
-                catch (Exception e)
-                {
-                    sErrMsg = "瀹℃牳鐩存帴璋冩嫧鍗曞け璐ワ紒" + e.Message;
-                    oCn.RollBack();
-                    return false;
-                }
-            }
-            else
-            {
-                sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
-                return true;
-            }
-        }
-
         //棰嗘枡璋冩嫧
         private bool SaveMoveMaterOut_CLD(Model.ClsKf_MoveStockBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
@@ -7355,7 +7086,6 @@
                 if (SaveMoveStockBill_PPBom_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -7370,7 +7100,6 @@
                 if (SaveMoveStockBill_SeOutStock_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -7385,7 +7114,6 @@
                 if (SaveMoveStockBill_MoveStockRequest_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -7424,7 +7152,32 @@
         /// <returns></returns>
         private bool SaveMoveStockBill_PPBom_CLD(Model.ClsKf_MoveStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
+            //浠庨厤缃枃浠惰幏鍙� 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"]);
+            }
+
+            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);
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -7442,7 +7195,7 @@
                 oCn.BeginTran();
                 //鍐欏叆WMS璋冩嫧鍗�
                 //鎻掑叆瀛愯〃
-                oCn.RunProc("EXEC h_p_Kf_MoveStockBillSub_Insert " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'");
+                oCn.RunProc("EXEC h_p_Kf_MoveStockBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
                 //鎻掑叆涓昏〃
                 oCn.RunProc("Insert Into Kf_ICStockBillMain   " +
                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
@@ -7462,20 +7215,14 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Sc_UpDateMoveStockPPBomRelation_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                {
-                    //瀹℃牳鍗曟嵁
-                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
-                }
-
-                if (oSystemParameterMain.WMS_MouldManagerCtl == "Y") //绯荤粺鍙傛暟  鍚敤鍣ㄥ叿绠$悊
+                //鍒ゆ柇鏄惁鍚敤鍣ㄥ叿绠$悊锛岀郴缁熷弬鏁�  鍚敤鍣ㄥ叿绠$悊
+                if (oSystemParameterMain.WMS_MouldManagerCtl == "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");
                 }
 
-
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
                 DataSet Ds;
                 Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockBill_PPBom_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveStockBill_PPBom_CLD_New");
                 if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
@@ -7486,6 +7233,18 @@
                 }
                 else
                 {
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_MoveStockBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
                         "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
                         "\"Model\":{ " +
@@ -7517,6 +7276,7 @@
                         //\"FThirdSystem\":\"\",
                         //\"FThirdSrcBillNo\":\"\",
                         //\"FThirdSrcId\":\"\",
+                        sJson_MainCustom +
                         "\"FBillEntry\": [  ";
                     string sJson_Entry = "";
                     for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
@@ -7529,7 +7289,13 @@
                         string sJson_SrcStockPlace = "";
                         string sJson_DestStockPlace = "";
                         string sJson_FAUXPROPID = "";
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , ";
                         }
@@ -7537,6 +7303,7 @@
                         {
                             sJson_BatchNo = "";
                         }
+
                         //杈呭姪灞炴��
                         if (oSystemParameterMain.WMS_CampanyName == "鍑礉濂堢壒") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
                         {
@@ -7546,6 +7313,7 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
+
                         //璋冨叆浠撲綅
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) == "")
                         {
@@ -7555,6 +7323,7 @@
                         {
                             sJson_SrcStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
                         }
+
                         //璋冨嚭浠撲綅
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) == "")
                         {
@@ -7564,7 +7333,7 @@
                         {
                             sJson_DestStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
                         }
-                        //
+
                         sJson_Entry = sJson_Entry + " {" +
                         //\"FEntryID\":\"0\",
                         " \"FMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\"}," +
@@ -7627,6 +7396,7 @@
                         " \"FORDERTYPE\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERTYPE"]) + "\"}," +
                         " \"FSrcBillTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcBillTypeId"]) + "\"," +
                         " \"FSrcBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcBillNo"]) + "\"," +
+                         sJson_SubCustom +
 
                         //\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
                         //\"FSerialNo\":\"\",
@@ -7645,31 +7415,7 @@
                     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"]);
-                    }
-
-                    //鐢熸垚 鐩存帴璋冩嫧
-                    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",
@@ -7678,37 +7424,24 @@
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildMove '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "STK_TransferDirect", sJson2 });
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "STK_TransferDirect", sJson3 });
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒" + HReturn + sJson;
+                            LogService.Write("鐢熸垚鐩存帴璋冩嫧鍗曪紙婧愬崟锛氱敓浜х敤鏂欐竻鍗曪級澶辫触锛�" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚鐩存帴璋冩嫧鍗曪紙婧愬崟锛氱敓浜х敤鏂欐竻鍗曪級鎴愬姛锛�" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒鐧诲綍澶辫触锛�";
+                        sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
                         oCn.RollBack();
                         return false;
                     }
@@ -7720,6 +7453,52 @@
                 oCn.RollBack();
                 return false;
             }
+
+            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "STK_TransferDirect", sJson2 });
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "STK_TransferDirect", sJson3 });
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曟垚鍔燂紝瀹℃牳鍗曟嵁澶辫触锛�" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍哥洿鎺ヨ皟鎷ㄥ崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳鐩存帴璋冩嫧鍗曞け璐ワ紒" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                return true;
+            }
         }
 
         /// <summary>
@@ -7730,7 +7509,32 @@
         /// <returns></returns>
         private bool SaveMoveStockBill_SeOutStock_CLD(Model.ClsKf_MoveStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
+            //浠庨厤缃枃浠惰幏鍙� 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"]);
+            }
+
+            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);
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -7748,7 +7552,7 @@
                 oCn.BeginTran();
                 //鍐欏叆WMS璋冩嫧鍗�
                 //鎻掑叆瀛愯〃
-                oCn.RunProc("EXEC h_p_Kf_MoveStockBillSub_Insert_SeOutStock " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'");
+                oCn.RunProc("EXEC h_p_Kf_MoveStockBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
                 //鎻掑叆涓昏〃
                 oCn.RunProc("Insert Into Kf_ICStockBillMain   " +
                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
@@ -7768,13 +7572,7 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Xs_UpDateSeOutStockRelation_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                {
-                    //瀹℃牳鍗曟嵁
-                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
-                }
-
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
                 DataSet Ds;
                 Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockBill_SeOutStock_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveStockBill_SeOutStock_CLD_New");
                 if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
@@ -7785,6 +7583,18 @@
                 }
                 else
                 {
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_MoveStockBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
                         "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
                         "\"Model\":{ " +
@@ -7823,6 +7633,7 @@
                         "\"FSaleDeptId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleDeptId"]) + "\" }," +
                         "\"FSaleGroupId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleGroupId"]) + "\" }," +
                         "\"FSalerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSalerId"]) + "\" }," +
+                        sJson_MainCustom +
                         "\"FBillEntry\": [  ";
                     string sJson_Entry = "";
                     for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
@@ -7837,7 +7648,13 @@
                         string sJson_FProduceDate = "";     //鐢熶骇鏃ユ湡
                         string sJson_FExpiryDate = "";      //鏈夋晥鏈熻嚦
                         string sJson_FAUXPROPID = "";
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , ";
                         }
@@ -7845,7 +7662,9 @@
                         {
                             sJson_BatchNo = "";
                         }
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1") //鏄惁鍚敤淇濊川鏈熸帶鍒�
+
+                        //鏄惁鍚敤淇濊川鏈熸帶鍒�
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1")
                         {
                             sJson_FProduceDate = " \"FProduceDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + "\",";
                             sJson_FExpiryDate = " \"FExpiryDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "\",";
@@ -7855,6 +7674,7 @@
                             sJson_FProduceDate = "";
                             sJson_FExpiryDate = "";
                         }
+
                         //杈呭姪灞炴��
                         if (oSystemParameterMain.WMS_CampanyName == "鍑礉濂堢壒") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
                         {
@@ -7864,6 +7684,7 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
+
                         //璋冨叆浠撲綅
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) == "")
                         {
@@ -7873,6 +7694,7 @@
                         {
                             sJson_SrcStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
                         }
+
                         //璋冨嚭浠撲綅
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) == "")
                         {
@@ -7882,7 +7704,7 @@
                         {
                             sJson_DestStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
                         }
-                        //
+
                         sJson_Entry = sJson_Entry + " {" +
                         //\"FEntryID\":\"0\",
                         " \"FMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\"}," +
@@ -7959,6 +7781,7 @@
                         " \"FSrcAuxBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcAuxBaseQty"]) + "\"," +
                         " \"FSrcBillTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcBillTypeId"]) + "\"," +
                         " \"FSrcBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcBillNo"]) + "\"," +
+                         sJson_SubCustom +
 
                         //\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
                         //\"FSerialNo\":\"\",
@@ -7977,31 +7800,7 @@
                     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"]);
-                    }
-
-                    //鐢熸垚 鐩存帴璋冩嫧
-                    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",
@@ -8010,37 +7809,24 @@
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildMove '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "STK_TransferDirect", sJson2 });
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "STK_TransferDirect", sJson3 });
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒" + HReturn + sJson;
+                            LogService.Write("鐢熸垚鐩存帴璋冩嫧鍗曪紙婧愬崟锛氬彂璐ч�氱煡鍗曪級澶辫触锛�" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚鐩存帴璋冩嫧鍗曪紙婧愬崟锛氬彂璐ч�氱煡鍗曪級鎴愬姛锛�" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒鐧诲綍澶辫触锛�";
+                        sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
                         oCn.RollBack();
                         return false;
                     }
@@ -8052,6 +7838,52 @@
                 oCn.RollBack();
                 return false;
             }
+
+            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "STK_TransferDirect", sJson2 });
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "STK_TransferDirect", sJson3 });
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曟垚鍔燂紝瀹℃牳鍗曟嵁澶辫触锛�" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍哥洿鎺ヨ皟鎷ㄥ崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳鐩存帴璋冩嫧鍗曞け璐ワ紒" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                return true;
+            }
         }
 
         /// <summary>
@@ -8062,7 +7894,32 @@
         /// <returns></returns>
         private bool SaveMoveStockBill_MoveStockRequest_CLD(Model.ClsKf_MoveStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
+            //浠庨厤缃枃浠惰幏鍙� 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"]);
+            }
+
+            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);
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -8100,19 +7957,14 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Kf_UpDateRelation_MoveStockRequestToMoveStock_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                {
-                    //瀹℃牳鍗曟嵁
-                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
-                }
-
-                if (oSystemParameterMain.WMS_MouldManagerCtl == "Y") //绯荤粺鍙傛暟  鍚敤鍣ㄥ叿绠$悊
+                //鍒ゆ柇鏄惁鍚敤鍣ㄥ叿绠$悊锛岀郴缁熷弬鏁�  鍚敤鍣ㄥ叿绠$悊
+                if (oSystemParameterMain.WMS_MouldManagerCtl == "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");
                 }
 
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
                 DataSet Ds;
                 Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockBill_MoveStockRequest_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveStockBill_MoveStockRequest_CLD_New");
                 if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
@@ -8123,6 +7975,18 @@
                 }
                 else
                 {
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_MoveStockBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
                         "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
                         "\"Model\":{ " +
@@ -8154,6 +8018,7 @@
                         //\"FThirdSystem\":\"\",
                         //\"FThirdSrcBillNo\":\"\",
                         //\"FThirdSrcId\":\"\",
+                        sJson_MainCustom +
                         "\"FBillEntry\": [  ";
                     string sJson_Entry = "";
                     for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
@@ -8168,7 +8033,13 @@
                         string sJson_FProduceDate = "";     //鐢熶骇鏃ユ湡
                         string sJson_FExpiryDate = "";      //鏈夋晥鏈熻嚦
                         string sJson_FAUXPROPID = "";
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , ";
                         }
@@ -8177,7 +8048,8 @@
                             sJson_BatchNo = "";
                         }
 
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1") //鏄惁鍚敤淇濊川鏈熸帶鍒�
+                        //鏄惁鍚敤淇濊川鏈熸帶鍒�
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1") 
                         {
                             sJson_FProduceDate = " \"FProduceDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + "\",";
                             sJson_FExpiryDate = " \"FExpiryDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "\",";
@@ -8197,6 +8069,7 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
+
                         //璋冨叆浠撲綅
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) == "")
                         {
@@ -8206,6 +8079,7 @@
                         {
                             sJson_SrcStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
                         }
+
                         //璋冨嚭浠撲綅
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) == "")
                         {
@@ -8215,7 +8089,7 @@
                         {
                             sJson_DestStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
                         }
-                        //
+
                         sJson_Entry = sJson_Entry + " {" +
                         //\"FEntryID\":\"0\",
                         " \"FMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\"}," +
@@ -8282,6 +8156,7 @@
                         " \"FSrcAuxUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcAuxUnitId"]) + "\"}," +
                         " \"FSrcBizBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcBizBaseQty"]) + "\"," +
                         " \"FSrcAuxBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcAuxBaseQty"]) + "\"," +
+                         sJson_SubCustom +
 
                         //\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
                         //\"FSerialNo\":\"\",
@@ -8301,31 +8176,7 @@
                     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"]);
-                    }
-
-                    //鐢熸垚 鐩存帴璋冩嫧
-                    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",
@@ -8334,37 +8185,24 @@
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildMove '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "STK_TransferDirect", sJson2 });
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "STK_TransferDirect", sJson3 });
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒" + HReturn + sJson;
+                            LogService.Write("鐢熸垚鐩存帴璋冩嫧鍗曪紙婧愬崟锛氳皟鎷ㄧ敵璇峰崟锛夊け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚鐩存帴璋冩嫧鍗曪紙婧愬崟锛氳皟鎷ㄧ敵璇峰崟锛夋垚鍔燂紒" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒鐧诲綍澶辫触锛�";
+                        sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
                         oCn.RollBack();
                         return false;
                     }
@@ -8375,6 +8213,392 @@
                 sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒" + e.Message;
                 oCn.RollBack();
                 return false;
+            }
+
+            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "STK_TransferDirect", sJson2 });
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "STK_TransferDirect", sJson3 });
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曟垚鍔燂紝瀹℃牳鍗曟嵁澶辫触锛�" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍哥洿鎺ヨ皟鎷ㄥ崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳鐩存帴璋冩嫧鍗曞け璐ワ紒" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                return true;
+            }
+        }
+
+        /// <summary>
+        /// 鐩存帴璋冩嫧鍗�   婧愬崟锛氭棤婧愬崟
+        /// </summary>
+        /// <param name="oMain"></param>
+        /// <param name="sErrMsg"></param>
+        /// <returns></returns>
+        private bool SaveMoveOut_CLD(Model.ClsKf_MoveStockBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+            //浠庨厤缃枃浠惰幏鍙� 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"]);
+            }
+
+            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);
+            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();
+                //鍐欏叆WMS璋冩嫧鍗�
+                //鎻掑叆瀛愯〃
+                oCn.RunProc("EXEC h_p_Kf_MoveStockBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','-1'");
+                //鎻掑叆涓昏〃
+                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,HTransferDirect,HShipType" +
+                ",HSTOCKORGID,HOWNERID" +
+                ") " +
+                " values('1207','1207'," + 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.HTransferDirect + "','" + oMain.HShipType + "'" +
+                ", " + oMain.HSTOCKORGID.ToString() + "," + oMain.HOWNERID.ToString() +
+                ") ");
+
+                //鍒ゆ柇鏄惁鍚敤鍣ㄥ叿绠$悊锛岀郴缁熷弬鏁�  鍚敤鍣ㄥ叿绠$悊
+                if (oSystemParameterMain.WMS_MouldManagerCtl == "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");
+                }
+
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
+                DataSet Ds;
+                Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveOutBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveOutBill_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 = "";
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";    //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_MoveStockBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
+                    if (oSystemParameterMain.WMS_CampanyName == "闊╃數") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                    {
+                        sJson_StockStyle = "\"F_CHLX\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_CHLX"]) + "\",";    //鍑鸿揣绫诲瀷
+                    }
+                    else
+                    {
+                        sJson_StockStyle = "";
+                    }
+
+                    string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[]," +
+                        "\"Model\":{ " +
+                        "\"FBillNo\":\"" + oMain.HBillNo + "\"," +
+                        "\"FBillTypeID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\" }," +
+                        "\"FBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBizType"]) + "\"," +
+                        "\"FTransferDirect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferDirect"]) + "\"," +
+                        "\"FTransferBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferBizType"]) + "\"," +
+                        "\"FSettleOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleOrgId"]) + "\" }," +
+                        "\"FSaleOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleOrgId"]) + "\" }," +
+                        "\"FStockOutOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOutOrgId"]) + "\" }," +
+                        "\"FOwnerTypeOutIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeOutIdHead"]) + "\"," +
+                        "\"FOwnerOutIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerOutIdHead"]) + "\" }," +
+                        "\"FStockOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\" }," +
+                        "\"FIsIncludedTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsIncludedTax"]) + "," +
+                        "\"FIsPriceExcludeTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsPriceExcludeTax"]) + "," +
+                        "\"FOwnerTypeIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\"," +
+                        "\"FSETTLECURRID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLECURRID"]) + "\" }," +
+                        "\"FOwnerIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\" }," +
+                        "\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
+                        "\"FBaseCurrId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseCurrId"]) + "\" }," +
+                        sJson_StockStyle +
+                        sJson_MainCustom +
+                        "\"FBillEntry\": [  ";
+                    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_SrcStockPlace = "";
+                        string sJson_DestStockPlace = "";
+                        string sJson_FAUXPROPID = "";
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
+                        //鏄惁鍚敤鎵规绠$悊
+                        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_SrcStockPlace = "\"FSrcStockLocId\":{\"FSRCSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
+                            sJson_DestStockPlace = "\"FDestStockLocId\":{\"FDESTSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
+                        }
+                        else
+                        {
+                            //璋冨叆浠撲綅
+                            if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) == "")
+                            {
+                                sJson_SrcStockPlace = "";
+                            }
+                            else
+                            {
+                                sJson_SrcStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
+                            }
+                            //璋冨嚭浠撲綅
+                            if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) == "")
+                            {
+                                sJson_DestStockPlace = "";
+                            }
+                            else
+                            {
+                                sJson_DestStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
+                            }
+                        }
+
+                        //杈呭姪灞炴��
+                        if (oSystemParameterMain.WMS_CampanyName == "鍗撳姏" || oSystemParameterMain.WMS_CampanyName == "闊╃數") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            sJson_FAUXPROPID = "";
+                        }
+                        else if (oSystemParameterMain.WMS_CampanyName == "鍑礉濂堢壒") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100001\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
+                        }
+                        else if (oSystemParameterMain.WMS_CampanyName == "妫シ") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100003\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
+                        }
+                        else
+                        {
+                            sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
+                        }
+
+                        sJson_Entry = sJson_Entry + " {\"FSEQ\":\"" + Convert.ToString(i + 1) + "\"," +
+                        "\"FMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\" }," +
+                        sJson_FAUXPROPID +
+                        "\"FUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\" }," +
+                        "\"FQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQty"]) + "\"," +
+                        sJson_BatchNo +
+                         "\"FSrcStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockId"]) + "\" }," +
+                        sJson_SrcStockPlace +
+                        //"\"FSrcStockLocId\":{\"FSRCSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}}," +
+                        "\"FDestStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockId"]) + "\" }," +
+                        sJson_DestStockPlace +
+                        //"\"FDestStockLocId\":{\"FDESTSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}}," +
+                        "\"FSrcStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockStatusId"]) + "\" }," +
+                        "\"FDestStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockStatusId"]) + "\" }," +
+                        // "\"FBusinessDate\":\"" + oMain.HDate.ToShortDateString() + "\"," +
+                        "\"FOwnerTypeOutId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeOutId"]) + "\"," +
+                        "\"FOwnerOutId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerOutId"]) + "\" }," +
+                        "\"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeId"]) + "\"," +
+                        "\"FOwnerId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerId"]) + "\" }," +
+                        "\"FBaseUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\" }," +
+                        "\"FBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseQty"]) + "\"," +
+                        "\"FISFREE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISFREE"]) + "," +
+                        "\"FKeeperTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeId"]) + "\"," +
+                        "\"FKeeperId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperId"]) + "\" }," +
+                        "\"FKeeperTypeOutId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeOutId"]) + "\"," +
+                        "\"FKeeperOutId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperOutId"]) + "\" }," +
+                        "\"FDestMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestMaterialId"]) + "\" }," +
+                        "\"FPriceUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceUnitId"]) + "\" }," +
+                        "\"FPriceQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceQty"]) + "\"," +
+                        "\"FPriceBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceQty"]) + "\"," +
+                        "\"FTransReserveLink\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTransReserveLink"]) + "," +
+                        sJson_SubCustom +
+                        "\"FCheckDelivery\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCheckDelivery"]) + "} ";
+                        //"\"FSRCBILLTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\"," +
+                        //"\"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
+                        //"\"FORDERTYPE\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERTYPE"]) + "\" }," +
+                        //"\"FORDERNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERNO"]) + "\"," +
+                        //"\"FBillEntry_Link\": [ {  " +
+                        //"\"FBillEntry_Link_FFLOWID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FFLOWID"]) + "\"," +
+                        //"\"FBillEntry_Link_FFLOWLINEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FFLOWLINEID"]) + "\"," +
+                        //"\"FBillEntry_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FRuleId"]) + "\"," +
+                        //"\"FBillEntry_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FSTableName"]) + "\"," +
+                        //"\"FBillEntry_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FSBillId"]) + "\"," +
+                        //"\"FBillEntry_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FSId"]) + "\"," +
+                        //" } ]   
+                        //" }  ";
+                    }
+                    string sJson_End = "  ]  }}";
+                    string sJson = sJson_Main + sJson_Entry + sJson_End;
+
+                    //鐢熸垚閲戣澏浜戝崟鎹�
+                    if (bLogin)
+                    {
+                        var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
+                        new object[] { "STK_TransferDirect", sJson });
+
+                        //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
+                        oCn.RunProc("exec h_p_Sc_UpDateSelfFildMove '" + oMain.HBillNo + "','-1'");
+
+                        HReturn = result.ToString();
+
+                        if (HReturn.Contains("\"IsSuccess\":false") == true)
+                        {
+                            sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒" + HReturn + sJson;
+                            LogService.Write("鐢熸垚鐩存帴璋冩嫧鍗曪紙婧愬崟锛氭棤婧愬崟锛夊け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
+                            oCn.RollBack();
+                            return false;
+                        }
+                        else
+                        {
+                            LogService.Write("鐢熸垚鐩存帴璋冩嫧鍗曪紙婧愬崟锛氭棤婧愬崟锛夋垚鍔燂紒" + sJson);
+                            oCn.Commit();
+                        }
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
+                        oCn.RollBack();
+                        return false;
+                    }
+                }
+            }
+            catch (Exception e)
+            {
+                sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒" + e.Message;
+                oCn.RollBack();
+                return false;
+            }
+
+            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "STK_TransferDirect", sJson2 });
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "STK_TransferDirect", sJson3 });
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曟垚鍔燂紝瀹℃牳鍗曟嵁澶辫触锛�" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍哥洿鎺ヨ皟鎷ㄥ崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳鐩存帴璋冩嫧鍗曞け璐ワ紒" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                return true;
             }
         }
 
@@ -8597,7 +8821,6 @@
         [WebMethod]
         public bool set_SaveMoveStockStepOutBill_New(Model.ClsKf_MoveStockStepOutBillMain oMain, string sHSourceType, ref string sErrMsg)
         {
-            string sHBillNo = "";
             //鑾峰彇绯荤粺鍙傛暟
             Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
             if (oSystemParameter.ShowBill(ref sErrMsg) == false)
@@ -8651,7 +8874,6 @@
                 if (SaveMoveStockStepOutBill_SeOutStock_CLD_New(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -8680,7 +8902,6 @@
                 if (SaveMoveStockStepOutBill_CLD_New(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -8768,13 +8989,14 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Kf_UpDateRelation_MoveStockRequestToMoveStock_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.WMS_MouldManagerCtl == "Y") //绯荤粺鍙傛暟  鍚敤鍣ㄥ叿绠$悊
+                //鍒ゆ柇鏄惁鍚敤鍣ㄥ叿绠$悊锛岀郴缁熷弬鏁�  鍚敤鍣ㄥ叿绠$悊
+                if (oSystemParameterMain.WMS_MouldManagerCtl == "Y")
                 {
                     string HMouldBillType = "3840";
                     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");
                 }
 
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
                 DataSet Ds;
                 Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockStepOutBill_MoveStockRequest_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveStockStepOutBill_MoveStockRequest_CLD_New");
                 if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
@@ -8785,7 +9007,16 @@
                 }
                 else
                 {
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
                     string sJson_MainCustom = "";    //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_MoveStockStepOutBill_AutoCheck = sCheckFlag;
+                    }
+
                     sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
 
                     string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
@@ -8858,6 +9089,7 @@
                         {
                             sJson_SrcStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
                         }
+
                         //璋冨叆浠撲綅
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) == "")
                         {
@@ -8868,7 +9100,8 @@
                             sJson_DestStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
                         }
 
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1") //鏄惁鍚敤淇濊川鏈熸帶鍒�
+                        //鏄惁鍚敤淇濊川鏈熸帶鍒�
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1")
                         {
                             sJson_FProduceDate = " \"FProduceDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + "\",";
                             sJson_FExpiryDate = " \"FExpiryDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "\",";
@@ -8882,7 +9115,7 @@
                             sJson_FDestProduceDate = "";
                             sJson_FDestExpiryDate = "";
                         }
-                        //
+
                         sJson_Entry = sJson_Entry + " {" +
                         //\"FEntryID\":\"0\",
                         "\"FMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\" }," +
@@ -8952,7 +9185,7 @@
                     if (bLogin)
                     {
                         var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
-                        new object[] { "STK_TRANSFEROUT", sJson }); //璋冪敤淇濆瓨鏂瑰紡
+                        new object[] { "STK_TRANSFEROUT", sJson });
 
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildMoveStockStepOut '" + oMain.HBillNo + "','" + sHSourceType + "'");
@@ -8962,11 +9195,13 @@
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚鍒嗘寮忚皟鍑哄崟澶辫触锛�" + HReturn + sJson;
+                            LogService.Write("鐢熸垚鍒嗘寮忚皟鍑哄崟锛堟簮鍗曪細璋冩嫧鐢宠鍗曪級澶辫触锛�" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚鍒嗘寮忚皟鍑哄崟锛堟簮鍗曪細璋冩嫧鐢宠鍗曪級鎴愬姛锛�" + sJson);
                             oCn.Commit();
                         }
                     }
@@ -9040,7 +9275,32 @@
         /// <returns></returns>
         public bool SaveMoveStockStepOutBill_SeOutStock_CLD_New(Model.ClsKf_MoveStockStepOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
-            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //寤虹珛涓�涓� 浜嬪姟锛�
+            //浠庨厤缃枃浠惰幏鍙� CLOUD缃戝潃銆佽处濂椾俊鎭�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮�
+            if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
+            {
+                sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
+                return false;
+            }
+
+            //鑾峰彇CLOUD璐﹀彿瀵嗙爜
+            string 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"]);
+            }
+
+            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);
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -9078,19 +9338,14 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Kf_UpDateRelation_SeOutStockToMoveStockStepOut_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.Kf_MoveStockStepOutBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                {
-                    //瀹℃牳鍗曟嵁
-                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
-                }
-
-                if (oSystemParameterMain.WMS_MouldManagerCtl == "Y") //绯荤粺鍙傛暟  鍚敤鍣ㄥ叿绠$悊
+                //鍒ゆ柇鏄惁鍚敤鍣ㄥ叿绠$悊锛岀郴缁熷弬鏁�  鍚敤鍣ㄥ叿绠$悊
+                if (oSystemParameterMain.WMS_MouldManagerCtl == "Y")
                 {
                     string HMouldBillType = "3840";
                     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");
                 }
 
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
                 DataSet Ds;
                 Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockStepOutBill_SeOutStock_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveStockStepOutBill_SeOutStock_CLD");
                 if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
@@ -9102,6 +9357,18 @@
                 else
                 {
                     string sJson_Custom = "";
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_MoveStockStepOutBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     if (oSystemParameterMain.WMS_CampanyName == "鍥涚淮灏�")//绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
                     {
                         sJson_Custom = "\"F_ABCD_ASSISTANT\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_ASSISTANT"]) + "\" }," +       //鐗╂祦鍏徃
@@ -9143,6 +9410,7 @@
                         "\"FISGENFORIOS\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISGENFORIOS"]) + "\"," +
                         "\"FISIOSFORFIN\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISIOSFORFIN"]) + "\"," +
                         sJson_Custom +
+                        sJson_MainCustom +
                         "\"FSTKTRSOUTENTRY\": [   ";
                     string sJson_Entry = "";
                     for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
@@ -9156,7 +9424,13 @@
                         string sJson_DestStockPlace = "";
                         string sJson_EntryCustom = "";
                         string sJson_FAUXPROPID = "";
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , ";
                         }
@@ -9164,6 +9438,7 @@
                         {
                             sJson_BatchNo = "";
                         }
+
                         //杈呭姪灞炴��
                         if (oSystemParameterMain.WMS_CampanyName == "鍑礉濂堢壒") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
                         {
@@ -9173,6 +9448,7 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
+
                         //璋冨嚭浠撲綅
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) == "")
                         {
@@ -9182,6 +9458,7 @@
                         {
                             sJson_SrcStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
                         }
+
                         //璋冨叆浠撲綅
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) == "")
                         {
@@ -9191,6 +9468,7 @@
                         {
                             sJson_DestStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
                         }
+
                         //鑷畾涔夊瓧娈靛鐞�
                         if (oSystemParameterMain.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
                         {
@@ -9198,7 +9476,7 @@
                                             "\"F_ABCD_DECIMAL\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_ABCD_DECIMAL"]) + "," +      //绠辨暟
                                             "\"F_ABCD_QTY2\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_ABCD_QTY2"]) + ",";             //搴斿彂鏁伴噺
                         }
-                        //
+
                         sJson_Entry = sJson_Entry + " {" +
                         //\"FEntryID\":\"0\",
                         "\"FMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\" }," +
@@ -9245,6 +9523,7 @@
                         "\"FSTOCKOUTFLAG\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKOUTFLAG"]) + "\"," +
                         "\"FSRCTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCTYPE"]) + "\"," +
                         sJson_EntryCustom +
+                        sJson_SubCustom +
 
                         //\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
                         //\"FSerialNo\":\"\",
@@ -9261,70 +9540,33 @@
                     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"]);
-                    }
-
-                    //鐢熸垚 鍒嗘寮忚皟鍑哄崟
-                    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_TRANSFEROUT", sJson }); //璋冪敤淇濆瓨鏂瑰紡
+                        new object[] { "STK_TRANSFEROUT", sJson });
 
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildMoveStockStepOut '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        if (oSystemParameterMain.Kf_MoveStockStepOutBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "STK_TRANSFEROUT", sJson2 }); //鎻愪氦鍗曟嵁
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "STK_TRANSFEROUT", sJson3 }); //瀹℃牳鍗曟嵁
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚鍒嗘寮忚皟鍑哄崟澶辫触锛�" + HReturn + sJson;
+                            LogService.Write("鐢熸垚鍒嗘寮忚皟鍑哄崟锛堟簮鍗曪細鍙戣揣閫氱煡鍗曪級澶辫触锛�" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚鍒嗘寮忚皟鍑哄崟锛堟簮鍗曪細鍙戣揣閫氱煡鍗曪級鎴愬姛锛�" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚鍒嗘寮忚皟鍑哄崟澶辫触锛佺櫥褰曞け璐ワ紒";
+                        sErrMsg = "鐢熸垚鍒嗘寮忚皟鍑哄崟澶辫触锛侀噾铦朵簯鐧诲綍澶辫触锛�";
                         oCn.RollBack();
                         return false;
                     }
@@ -9336,6 +9578,52 @@
                 oCn.RollBack();
                 return false;
             }
+
+            if (oSystemParameterMain.Kf_MoveStockStepOutBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "STK_TRANSFEROUT", sJson2 }); //鎻愪氦鍗曟嵁
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "STK_TRANSFEROUT", sJson3 }); //瀹℃牳鍗曟嵁
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚鍒嗘寮忚皟鍑哄崟鎴愬姛锛屽鏍稿崟鎹け璐ワ紒" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍稿垎姝ュ紡璋冨嚭鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳鍒嗘寮忚皟鍑哄崟澶辫触锛�" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚鍒嗘寮忚皟鍑哄崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                return true;
+            }
         }
 
         /// <summary>
@@ -9346,7 +9634,32 @@
         /// <returns></returns>
         public bool SaveMoveStockStepOutBill_CLD_New(Model.ClsKf_MoveStockStepOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
-            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //寤虹珛涓�涓� 浜嬪姟锛�
+            //浠庨厤缃枃浠惰幏鍙� CLOUD缃戝潃銆佽处濂椾俊鎭�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮�
+            if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
+            {
+                sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
+                return false;
+            }
+
+            //鑾峰彇CLOUD璐﹀彿瀵嗙爜
+            string 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"]);
+            }
+
+            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);
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -9383,19 +9696,14 @@
                 ") ");
                 //鏇存柊鍏宠仈鏁伴噺
 
-                if (oSystemParameterMain.Kf_MoveStockStepOutBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                {
-                    //瀹℃牳鍗曟嵁
-                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
-                }
-
-                if (oSystemParameterMain.WMS_MouldManagerCtl == "Y") //绯荤粺鍙傛暟  鍚敤鍣ㄥ叿绠$悊
+                //鍒ゆ柇鏄惁鍚敤鍣ㄥ叿绠$悊锛岀郴缁熷弬鏁�  鍚敤鍣ㄥ叿绠$悊
+                if (oSystemParameterMain.WMS_MouldManagerCtl == "Y")
                 {
                     string HMouldBillType = "3840";
                     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");
                 }
 
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
                 DataSet Ds;
                 Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockStepOutBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveStockStepOutBill_CLD");
                 if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
@@ -9406,6 +9714,18 @@
                 }
                 else
                 {
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_MoveStockStepOutBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
                         "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
                         "\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
@@ -9433,6 +9753,7 @@
                         "\"FOwnerOutIDHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNEROUTID"]) + "\" }," +
                         "\"FISGENFORIOS\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISGENFORIOS"]) + "\"," +
                         "\"FISIOSFORFIN\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISIOSFORFIN"]) + "\"," +
+                        sJson_MainCustom +
                         "\"FSTKTRSOUTENTRY\": [   ";
                     string sJson_Entry = "";
                     for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
@@ -9445,7 +9766,13 @@
                         string sJson_SrcStockPlace = "";
                         string sJson_DestStockPlace = "";
                         string sJson_FAUXPROPID = "";
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , ";
                         }
@@ -9453,6 +9780,7 @@
                         {
                             sJson_BatchNo = "";
                         }
+
                         //杈呭姪灞炴��
                         if (oSystemParameterMain.WMS_CampanyName == "鍑礉濂堢壒") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
                         {
@@ -9462,6 +9790,7 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
+
                         //璋冨嚭浠撲綅
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) == "")
                         {
@@ -9471,6 +9800,7 @@
                         {
                             sJson_SrcStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
                         }
+
                         //璋冨叆浠撲綅
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) == "")
                         {
@@ -9480,7 +9810,7 @@
                         {
                             sJson_DestStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
                         }
-                        //
+
                         sJson_Entry = sJson_Entry + " {" +
                         //\"FEntryID\":\"0\",
                         "\"FMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\" }," +
@@ -9526,6 +9856,7 @@
                         "\"FRowType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRowType"]) + "\"," +
                         "\"FSTOCKOUTFLAG\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKOUTFLAG"]) + "\"," +
                         "\"FSRCTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCTYPE"]) + "\"," +
+                         sJson_SubCustom +
 
                         //\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
                         //\"FSerialNo\":\"\",
@@ -9542,31 +9873,7 @@
                     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"]);
-                    }
-
-                    //鐢熸垚 鍒嗘寮忚皟鍑哄崟
-                    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",
@@ -9575,37 +9882,24 @@
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildMoveStockStepOut '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        if (oSystemParameterMain.Kf_MoveStockStepOutBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "STK_TRANSFEROUT", sJson2 }); //鎻愪氦鍗曟嵁
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "STK_TRANSFEROUT", sJson3 }); //瀹℃牳鍗曟嵁
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚鍒嗘寮忚皟鍑哄崟澶辫触锛�" + HReturn + sJson;
+                            LogService.Write("鐢熸垚鍒嗘寮忚皟鍑哄崟锛堟簮鍗曪細鏃犳簮鍗曪級澶辫触锛�" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚鍒嗘寮忚皟鍑哄崟锛堟簮鍗曪細鏃犳簮鍗曪級鎴愬姛锛�" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚鍒嗘寮忚皟鍑哄崟澶辫触锛佺櫥褰曞け璐ワ紒";
+                        sErrMsg = "鐢熸垚鍒嗘寮忚皟鍑哄崟澶辫触锛侀噾铦朵簯鐧诲綍澶辫触锛�";
                         oCn.RollBack();
                         return false;
                     }
@@ -9617,6 +9911,52 @@
                 oCn.RollBack();
                 return false;
             }
+
+            if (oSystemParameterMain.Kf_MoveStockStepOutBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "STK_TRANSFEROUT", sJson2 }); //鎻愪氦鍗曟嵁
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "STK_TRANSFEROUT", sJson3 }); //瀹℃牳鍗曟嵁
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚鍒嗘寮忚皟鍑哄崟鎴愬姛锛屽鏍稿崟鎹け璐ワ紒" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍稿垎姝ュ紡璋冨嚭鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳鍒嗘寮忚皟鍑哄崟澶辫触锛�" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚鍒嗘寮忚皟鍑哄崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                return true;
+            }
         }
 
         #endregion
@@ -9627,7 +9967,6 @@
         [WebMethod]
         public bool set_SaveMoveStockStepInBill_New(Model.ClsKf_MoveStockStepInBillMain oMain, string sHSourceType, ref string sErrMsg)
         {
-            string sHBillNo = "";
             //鑾峰彇绯荤粺鍙傛暟
             Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
             if (oSystemParameter.ShowBill(ref sErrMsg) == false)
@@ -9681,14 +10020,12 @@
                 if (SaveMoveStockStepInBill_MoveStockStepOut_CLD_New(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
                 {
                     //"淇濆瓨澶辫触锛�";
                     sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛�" + sErrMsg;
-                    //sErrMsg = sErrMsg;
                     return false;
                 }
             }
@@ -9707,7 +10044,32 @@
         /// <returns></returns>
         public bool SaveMoveStockStepInBill_MoveStockStepOut_CLD_New(Model.ClsKf_MoveStockStepInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
-            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //寤虹珛涓�涓� 浜嬪姟锛�
+            //浠庨厤缃枃浠惰幏鍙� CLOUD缃戝潃銆佽处濂椾俊鎭�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮�
+            if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
+            {
+                sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
+                return false;
+            }
+
+            //鑾峰彇CLOUD璐﹀彿瀵嗙爜
+            string 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"]);
+            }
+
+            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);
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -9745,19 +10107,14 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Kf_UpDateRelation_MoveStockStepOutToMoveStockStepIn_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.Kf_MoveStockStepInBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                {
-                    //瀹℃牳鍗曟嵁
-                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
-                }
-
-                if (oSystemParameterMain.WMS_MouldManagerCtl == "Y") //绯荤粺鍙傛暟  鍚敤鍣ㄥ叿绠$悊
+                //鍒ゆ柇鏄惁鍚敤鍣ㄥ叿绠$悊锛岀郴缁熷弬鏁�  鍚敤鍣ㄥ叿绠$悊
+                if (oSystemParameterMain.WMS_MouldManagerCtl == "Y")
                 {
                     string HMouldBillType = "3841";
                     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");
                 }
 
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
                 DataSet Ds;
                 Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockStepInBill_MoveStockStepOut_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveStockStepInBill_MoveStockStepOut_CLD");
                 if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
@@ -9769,6 +10126,18 @@
                 else
                 {
                     string sJson_Custom = "";
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_MoveStockStepInBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     if (oSystemParameterMain.WMS_CampanyName == "鍥涚淮灏�")//绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
                     {
                         sJson_Custom = "\"F_ABCD_DATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_DATE"]) + "\",";      //璋冨嚭鏃ユ湡
@@ -9777,6 +10146,7 @@
                     {
                         sJson_Custom = "";
                     }
+
                     string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
                         "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
                         "\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
@@ -9808,6 +10178,7 @@
                         "\"FISGENFORIOS\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISGENFORIOS"]) + "\"," +
                         "\"FISIOSFORFIN\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISIOSFORFIN"]) + "\"," +
                         sJson_Custom +
+                        sJson_MainCustom +
                         "\"FSTKTRSINENTRY\": [   ";
                     string sJson_Entry = "";
                     for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
@@ -9820,7 +10191,13 @@
                         string sJson_SrcStockPlace = "";
                         string sJson_DestStockPlace = "";
                         string sJson_FAUXPROPID = "";
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , ";
                         }
@@ -9828,6 +10205,7 @@
                         {
                             sJson_BatchNo = "";
                         }
+
                         //杈呭姪灞炴��
                         if (oSystemParameterMain.WMS_CampanyName == "鍑礉濂堢壒") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
                         {
@@ -9837,6 +10215,7 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
+
                         //璋冨叆浠撲綅
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) == "")
                         {
@@ -9846,6 +10225,7 @@
                         {
                             sJson_SrcStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
                         }
+
                         //璋冨嚭浠撲綅
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) == "")
                         {
@@ -9855,7 +10235,7 @@
                         {
                             sJson_DestStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
                         }
-                        //
+
                         sJson_Entry = sJson_Entry + " {" +
                         //\"FEntryID\":\"0\",
                         "\"FMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\" }," +
@@ -9910,6 +10290,7 @@
                         "\"FRowType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRowType"]) + "\"," +
                         "\"FSTOCKOUTFLAG\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKOUTFLAG"]) + "\"," +
                         "\"FSRCTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCTYPE"]) + "\"," +
+                         sJson_SubCustom +
 
                         //\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
                         //\"FSerialNo\":\"\",
@@ -9929,70 +10310,33 @@
                     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"]);
-                    }
-
-                    //鐢熸垚 鍒嗘寮忚皟鍏ュ崟
-                    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_TRANSFERIN", sJson }); //璋冪敤淇濆瓨鏂瑰紡
+                        new object[] { "STK_TRANSFERIN", sJson });
 
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildMoveStockStepIn '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        if (oSystemParameterMain.Kf_MoveStockStepInBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "STK_TRANSFERIN", sJson2 }); //鎻愪氦鍗曟嵁
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "STK_TRANSFERIN", sJson3 }); //瀹℃牳鍗曟嵁
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚鍒嗘寮忚皟鍏ュ崟澶辫触锛�" + HReturn + sJson;
+                            LogService.Write("鐢熸垚鍒嗘寮忚皟鍏ュ崟锛堟簮鍗曪細鍒嗘寮忚皟鍑哄崟锛夊け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚鍒嗘寮忚皟鍏ュ崟锛堟簮鍗曪細鍒嗘寮忚皟鍑哄崟锛夋垚鍔燂紒" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚鍒嗘寮忚皟鍏ュ崟澶辫触锛佺櫥褰曞け璐ワ紒";
+                        sErrMsg = "鐢熸垚鍒嗘寮忚皟鍏ュ崟澶辫触锛侀噾铦朵簯鐧诲綍澶辫触锛�";
                         oCn.RollBack();
                         return false;
                     }
@@ -10003,6 +10347,52 @@
                 sErrMsg = "鐢熸垚鍒嗘寮忚皟鍏ュ崟澶辫触锛�" + e.Message;
                 oCn.RollBack();
                 return false;
+            }
+
+            if (oSystemParameterMain.Kf_MoveStockStepInBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "STK_TRANSFERIN", sJson2 }); //鎻愪氦鍗曟嵁
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "STK_TRANSFERIN", sJson3 }); //瀹℃牳鍗曟嵁
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚鍒嗘寮忚皟鍏ュ崟鎴愬姛锛屽鏍稿崟鎹け璐ワ紒" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍稿垎姝ュ紡璋冨叆鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳鍒嗘寮忚皟鍏ュ崟澶辫触锛�" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚鍒嗘寮忚皟鍏ュ崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                return true;
             }
         }
 
@@ -11036,26 +11426,11 @@
         [WebMethod]
         public bool set_SaveSellOutBackBill_CLD_New(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
-            ////涓婁紶鍓嶅垽鏂槸鍚﹀瓨鍦ㄧ浉鍚屾潯鐮�
-            //SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
-            //DataSet ds = oCn.RunProcReturn("exec h_p_WMS_UpLoadControl " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "'", "h_p_WMS_UpLoadControl");
-            //if (ds == null || ds.Tables[0].Rows.Count == 0)
-            //{
-            //}
-            //else
-            //{
-            //    if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 1)
-            //    {
-            //        sErrMsg = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
-            //        return false;
-            //    }
-            //}
             if (sHSourceType == "1403")   //閫�璐ч�氱煡鍗�
             {
                 if (SaveSellOutBackBill_SeOutStockBack_CLD_New(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo + sErrMsg;
                     return true;
                 }
                 else
@@ -11070,7 +11445,6 @@
                 if (SaveSellOutBackBill_SeOrder_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -11095,7 +11469,32 @@
         /// <returns></returns>
         private bool SaveSellOutBackBill_SeOutStockBack_CLD_New(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
+            //浠庨厤缃枃浠惰幏鍙� 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"]);
+            }
+
+            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);
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -11131,13 +11530,7 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Xs_UpDateRelation_SeOutStockBackToSellOutBack_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.Kf_SellOutBackBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                {
-                    //瀹℃牳鍗曟嵁
-                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
-                }
-
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
                 DataSet Ds;
                 Ds = oCn.RunProcReturn("exec h_p_Kf_GetSellOutBackBill_SeOutStockBack_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetSellOutBackBill_SeOutStockBack_CLD_New");
                 if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
@@ -11148,6 +11541,18 @@
                 }
                 else
                 {
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_SellOutBackBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\", " +
                     "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
                     "\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
@@ -11182,6 +11587,7 @@
                     "\"FIsTotalServiceOrCost\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsTotalServiceOrCost"]) + "\"," +
                     //
                     "\"FBussinessType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBussinessType"]) + "\"," +
+                    sJson_MainCustom +
 
                     "\"SubHeadEntity\":{" +
                     //\"FEntryId\":\"0\",
@@ -11212,7 +11618,13 @@
                         string sJson_FProduceDate = "";     //鐢熶骇鏃ユ湡
                         string sJson_FExpiryDate = "";      //鏈夋晥鏈熻嚦
                         string sJson_FAUXPROPID = "";
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , ";
                         }
@@ -11220,6 +11632,7 @@
                         {
                             sJson_BatchNo = "";
                         }
+
                         //杈呭姪灞炴��
                         if (oSystemParameterMain.WMS_CampanyName == "鍑礉濂堢壒") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
                         {
@@ -11230,7 +11643,8 @@
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
 
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1") //鏄惁鍚敤淇濊川鏈熸帶鍒�
+                        //鏄惁鍚敤淇濊川鏈熸帶鍒�
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1") 
                         {
                             sJson_FProduceDate = " \"FProduceDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + "\",";
                             sJson_FExpiryDate = " \"FExpiryDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "\",";
@@ -11320,6 +11734,7 @@
                         "\"FSalBaseNum\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSalBaseNum"]) + "\"," +
                         "\"FStockBaseDen\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockBaseDen"]) + "\"," +
                         "\"FSrcBillTypeID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcBillTypeID"]) + "\"," +
+                        sJson_SubCustom +
 
                         "\"FTaxDetailSubEntity\":[{" +
                         //"FDetailID": 0,
@@ -11351,31 +11766,7 @@
                     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"]);
-                    }
-
-                    //鐢熸垚 閿�鍞��璐у崟
-                    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",
@@ -11384,37 +11775,24 @@
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildSellOutBack '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        if (oSystemParameterMain.Kf_SellOutBackBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "SAL_RETURNSTOCK", sJson2 });
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "SAL_RETURNSTOCK", sJson3 });
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚閿�鍞��璐у崟澶辫触锛�" + HReturn + sJson;
+                            LogService.Write("鐢熸垚閿�鍞��璐у崟锛堟簮鍗曪細閫�璐ч�氱煡鍗曪級澶辫触锛�" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚閿�鍞��璐у崟锛堟簮鍗曪細閫�璐ч�氱煡鍗曪級鎴愬姛锛�" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚閿�鍞��璐у崟澶辫触锛佺櫥褰曞け璐ワ紒";
+                        sErrMsg = "鐢熸垚閿�鍞��璐у崟澶辫触锛侀噾铦朵簯鐧诲綍澶辫触锛�";
                         oCn.RollBack();
                         return false;
                     }
@@ -11425,6 +11803,52 @@
                 sErrMsg = "鐢熸垚閿�鍞��璐у崟澶辫触锛�" + e.Message;
                 oCn.RollBack();
                 return false;
+            }
+
+            if (oSystemParameterMain.Kf_SellOutBackBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "SAL_RETURNSTOCK", sJson2 });
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "SAL_RETURNSTOCK", sJson3 });
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚閿�鍞��璐у崟鎴愬姛锛屽鏍稿崟鎹け璐ワ紒" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍搁攢鍞��璐у崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳閿�鍞��璐у崟澶辫触锛�" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚閿�鍞��璐у崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                return true;
             }
         }
 
@@ -11437,7 +11861,32 @@
         /// <returns></returns>
         private bool SaveSellOutBackBill_SeOrder_CLD(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
+            //浠庨厤缃枃浠惰幏鍙� 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"]);
+            }
+
+            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);
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -11473,13 +11922,7 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Xs_UpDateRelation_SeOrderToSellOutBack_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.Kf_SellOutBackBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                {
-                    //瀹℃牳鍗曟嵁
-                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
-                }
-
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
                 DataSet Ds;
                 Ds = oCn.RunProcReturn("exec h_p_Kf_GetSellOutBackBill_SeOrder_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetSellOutBackBill_SeOrder_CLD_New");
                 if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
@@ -11490,6 +11933,18 @@
                 }
                 else
                 {
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_SellOutBackBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\", " +
                     "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
                     "\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
@@ -11525,6 +11980,7 @@
                     //
                     "\"FBussinessType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBussinessType"]) + "\"," +
                     "\"FSaledeptid\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaledeptid"]) + "\"}," +
+                    sJson_MainCustom +
 
                     "\"SubHeadEntity\":{" +
                     //\"FEntryId\":\"0\",
@@ -11555,7 +12011,13 @@
                         string sJson_FProduceDate = "";     //鐢熶骇鏃ユ湡
                         string sJson_FExpiryDate = "";      //鏈夋晥鏈熻嚦
                         string sJson_FAUXPROPID = "";
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , ";
                         }
@@ -11564,7 +12026,8 @@
                             sJson_BatchNo = "";
                         }
 
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1") //鏄惁鍚敤淇濊川鏈熸帶鍒�
+                        //鏄惁鍚敤淇濊川鏈熸帶鍒�
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1") 
                         {
                             sJson_FProduceDate = " \"FProduceDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + "\",";
                             sJson_FExpiryDate = " \"FExpiryDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "\",";
@@ -11574,6 +12037,7 @@
                             sJson_FProduceDate = "";
                             sJson_FExpiryDate = "";
                         }
+
                         //杈呭姪灞炴��
                         if (oSystemParameterMain.WMS_CampanyName == "鍑礉濂堢壒") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
                         {
@@ -11664,6 +12128,7 @@
                         "\"FStockBaseDen\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockBaseDen"]) + "\"," +
                         "\"FSrcBillTypeID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcBillTypeID"]) + "\"," +
                         "\"FBaseunitQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseunitQty"]) + "\"," +
+                        sJson_SubCustom +
 
                         "\"FTaxDetailSubEntity\":[{" +
                         //"FDetailID": 0,
@@ -11695,31 +12160,7 @@
                     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"]);
-                    }
-
-                    //鐢熸垚 閿�鍞��璐у崟
-                    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",
@@ -11728,37 +12169,24 @@
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildSellOutBack '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        if (oSystemParameterMain.Kf_SellOutBackBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "SAL_RETURNSTOCK", sJson2 });
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "SAL_RETURNSTOCK", sJson3 });
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚閿�鍞��璐у崟澶辫触锛�" + HReturn + sJson;
+                            LogService.Write("鐢熸垚閿�鍞��璐у崟锛堟簮鍗曪細閿�鍞鍗曪級澶辫触锛�" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚閿�鍞��璐у崟锛堟簮鍗曪細閿�鍞鍗曪級鎴愬姛锛�" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚閿�鍞��璐у崟澶辫触锛佺櫥褰曞け璐ワ紒";
+                        sErrMsg = "鐢熸垚閿�鍞��璐у崟澶辫触锛侀噾铦朵簯鐧诲綍澶辫触锛�";
                         oCn.RollBack();
                         return false;
                     }
@@ -11769,6 +12197,52 @@
                 sErrMsg = "鐢熸垚閿�鍞��璐у崟澶辫触锛�" + e.Message;
                 oCn.RollBack();
                 return false;
+            }
+
+            if (oSystemParameterMain.Kf_SellOutBackBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "SAL_RETURNSTOCK", sJson2 });
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "SAL_RETURNSTOCK", sJson3 });
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚閿�鍞��璐у崟鎴愬姛锛屽鏍稿崟鎹け璐ワ紒" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍搁攢鍞��璐у崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳閿�鍞��璐у崟澶辫触锛�" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚閿�鍞��璐у崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                return true;
             }
         }
 
@@ -12993,7 +13467,6 @@
                 if (SaveSellOutBill_SeOrder_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -13032,7 +13505,32 @@
         /// <returns></returns>
         private bool SaveSellOutBill_SeOrder_CLD(Model.ClsKf_SellOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
+            //浠庨厤缃枃浠惰幏鍙� 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"]);
+            }
+
+            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);
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -13068,12 +13566,6 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Xs_UpDateRelation_SeOrderToSellOut_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.Kf_SellOutBill_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_GetSellOutBill_SeOrder_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetSellOutBill_SeOrder_CLD_New");
@@ -13085,6 +13577,18 @@
                 }
                 else
                 {
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_SellOutBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
                         "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
                         "\"Model\":{ " +
@@ -13120,6 +13624,7 @@
                         "\"FIsTotalServiceOrCost\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsTotalServiceOrCost"]) + "\"," +
                         "\"FBUSINESSTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBUSINESSTYPE"]) + "\"," +
                         "\"FSALEDEPTID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSALEDEPTID"]) + "\"}," +
+                        sJson_MainCustom +
 
                         "\"SubHeadEntity\":{ " +
                         //\"FEntryId\":\"0\",
@@ -13150,7 +13655,13 @@
                         string sJson_FProduceDate = "";     //鐢熶骇鏃ユ湡
                         string sJson_FExpiryDate = "";      //鏈夋晥鏈熻嚦
                         string sJson_FAUXPROPID = "";
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , ";
                         }
@@ -13159,7 +13670,8 @@
                             sJson_BatchNo = "";
                         }
 
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1") //鏄惁鍚敤淇濊川鏈熸帶鍒�
+                        //鏄惁鍚敤淇濊川鏈熸帶鍒�
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1")
                         {
                             sJson_FProduceDate = " \"FProduceDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + "\",";
                             sJson_FExpiryDate = " \"FExpiryDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "\",";
@@ -13179,6 +13691,7 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
+
                         //浠撲綅
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) == "")
                         {
@@ -13188,7 +13701,7 @@
                         {
                             sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) + "\"}},";
                         }
-                        //
+
                         sJson_Entry = sJson_Entry + " {" +
                         //\"FENTRYID\":\"0\",
                         " \"FROWTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FROWTYPE"]) + "\"," +
@@ -13264,6 +13777,7 @@
                         " \"FSTOCKBASEDEN\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKBASEDEN"]) + "\"," +
                         " \"FPRICE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRICE"]) + "\"," +
                         " \"FTAXPRICE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTAXPRICE"]) + "\"," +
+                         sJson_SubCustom +
 
                         " \"FTaxDetailSubEntity\": [ {  " +
                             //"FDetailID": 0,
@@ -13303,31 +13817,7 @@
                     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"]);
-                    }
-
-                    //鐢熸垚 閿�鍞嚭搴� 
-                    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",
@@ -13336,37 +13826,24 @@
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildSellOut '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        if (oSystemParameterMain.Kf_SellOutBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "SAL_OUTSTOCK", sJson2 });
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "SAL_OUTSTOCK", sJson3 });
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚閿�鍞嚭搴撳崟澶辫触锛�" + HReturn + sJson;
+                            LogService.Write("鐢熸垚閿�鍞嚭搴撳崟锛堟簮鍗曪細閿�鍞鍗曪級澶辫触锛�" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚閿�鍞嚭搴撳崟锛堟簮鍗曪細閿�鍞鍗曪級鎴愬姛锛�" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚閿�鍞嚭搴撳崟澶辫触锛佺櫥褰曞け璐ワ紒";
+                        sErrMsg = "鐢熸垚閿�鍞嚭搴撳崟澶辫触锛侀噾铦朵簯鐧诲綍澶辫触锛�";
                         oCn.RollBack();
                         return false;
                     }
@@ -13377,6 +13854,52 @@
                 sErrMsg = "鐢熸垚閿�鍞嚭搴撳崟澶辫触锛�" + e.Message;
                 oCn.RollBack();
                 return false;
+            }
+
+            if (oSystemParameterMain.Kf_SellOutBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "SAL_OUTSTOCK", sJson2 });
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "SAL_OUTSTOCK", sJson3 });
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚閿�鍞嚭搴撳崟鎴愬姛锛屽鏍稿崟鎹け璐ワ紒" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍搁攢鍞嚭搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳閿�鍞嚭搴撳崟澶辫触锛�" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚閿�鍞嚭搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                return true;
             }
         }
 
@@ -13460,8 +13983,18 @@
                 }
                 else
                 {
-                    string sJson_MainCustom = "";    //涓昏〃鑷畾涔夊瓧娈�
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_SellOutBill_AutoCheck = sCheckFlag;
+                    }
+
                     sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
                         "\"IsEntryBatchFill\":\"false\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
                         "\"Model\":{ " +
@@ -13496,6 +14029,7 @@
                         "\"FPLANRECADDRESS\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPLANRECADDRESS"]) + "\"," +
                         "\"FIsTotalServiceOrCost\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsTotalServiceOrCost"]) + "," +
                         "\"FBUSINESSTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBUSINESSTYPE"]) + "\"," +
+                        sJson_MainCustom +
 
                         "\"SubHeadEntity\":{ " +
                         //\"FEntryId\":\"0\",
@@ -13513,7 +14047,6 @@
                         "\"FEXCHANGETYPEID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FEXCHANGETYPEID"]) + "\"}," +
                         "\"FEXCHANGERATE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FEXCHANGERATE"]) + "," +
                         "\"FISPRICEEXCLUDETAX\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISPRICEEXCLUDETAX"]) + "}," +
-                        sJson_MainCustom +
                         "\"FEntity\": [  ";
                     string sJson_Entry = "";
                     for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
@@ -13531,6 +14064,7 @@
 
                         //瀛愯〃鑷畾涔夊瓧娈�
                         sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
                         //鏄惁鍚敤鎵规绠$悊
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") 
                         {
@@ -13541,7 +14075,8 @@
                             sJson_BatchNo = "";
                         }
 
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1") //鏄惁鍚敤淇濊川鏈熸帶鍒�
+                        //鏄惁鍚敤淇濊川鏈熸帶鍒�
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1")
                         {
                             sJson_FProduceDate = " \"FProduceDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + "\",";
                             sJson_FExpiryDate = " \"FExpiryDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "\",";
@@ -13565,6 +14100,7 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
+
                         //浠撲綅
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) == "")
                         {
@@ -13574,7 +14110,7 @@
                         {
                             sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) + "\"}},";
                         }
-                        //
+
                         sJson_Entry = sJson_Entry + " {" +
                         //\"FENTRYID\":\"0\",
                         " \"FROWTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FROWTYPE"]) + "\"," +
@@ -13701,12 +14237,13 @@
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚閿�鍞嚭搴撳崟澶辫触锛�" + HReturn + sJson;
+                            LogService.Write("鐢熸垚閿�鍞嚭搴撳崟锛堟簮鍗曪細鍙戣揣閫氱煡鍗曪級澶辫触锛�" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
-                            LogService.Write("鐢熸垚閿�鍞嚭搴撳崟鎴愬姛锛�" + sJson);
+                            LogService.Write("鐢熸垚閿�鍞嚭搴撳崟锛堟簮鍗曪細鍙戣揣閫氱煡鍗曪級鎴愬姛锛�" + sJson);
                             oCn.Commit();
                         }
                     }
@@ -14689,7 +15226,6 @@
                 if (SaveMateOutBackBill_PPBom_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -14729,7 +15265,32 @@
         /// <returns></returns>
         public bool SaveMateOutBackBill_PPBom_CLD(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
+            //浠庨厤缃枃浠惰幏鍙� 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"]);
+            }
+
+            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);
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -14765,13 +15326,7 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Sc_UpDateRelation_PPBomToMateOutBack_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.Kf_MateOutBackBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                {
-                    //瀹℃牳鍗曟嵁
-                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
-                }
-
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
                 DataSet Ds;
                 Ds = oCn.RunProcReturn("exec h_p_Kf_GetMateOutBackBill_PPBom_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMateOutBackBill_PPBom_CLD_New");
                 if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
@@ -14782,6 +15337,18 @@
                 }
                 else
                 {
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_MateOutBackBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\", " +
                     "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
                     "\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
@@ -14800,6 +15367,7 @@
                     "\"FVmiBusiness\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FVmiBusiness"]) + "\"," +
                     //\"FScanBox\":\"\",
                     //\"FSourceType\":\"\",
+                    sJson_MainCustom +
                     "\"FEntity\": [  ";
                     string sJson_Entry = "";
                     for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
@@ -14811,7 +15379,13 @@
                         string sJson_BatchNo = "";
                         string sJson_StockPlace = "";
                         string sJson_FAUXPROPID = "";
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , ";
                         }
@@ -14829,7 +15403,9 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")  //浠撲綅
+
+                        //浠撲綅
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")  
                         {
                             sJson_StockPlace = "";
                         }
@@ -14911,6 +15487,7 @@
                         "\"FReqBillId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReqBillId"]) + "," +
                         "\"FReqEntrySeq\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReqEntrySeq"]) + "," +
                         "\"FReqEntryId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReqEntryId"]) + "," +
+                         sJson_SubCustom +
 
                         //\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
                         //\"FSerialNo\":\"\",
@@ -14931,31 +15508,7 @@
                     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"]);
-                    }
-
-                    //鐢熸垚鐢熶骇閫�鏂欏崟
-                    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",
@@ -14964,37 +15517,24 @@
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildMateOutBack '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        if (oSystemParameterMain.Kf_MateOutBackBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "PRD_ReturnMtrl", sJson2 });
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "PRD_ReturnMtrl", sJson3 });
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚鐢熶骇閫�鏂欏崟澶辫触锛�" + HReturn + sJson;
+                            LogService.Write("鐢熸垚鐢熶骇閫�鏂欏崟锛堟簮鍗曪細鐢熶骇鐢ㄦ枡娓呭崟锛夊け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚鐢熶骇閫�鏂欏崟锛堟簮鍗曪細鐢熶骇鐢ㄦ枡娓呭崟锛夋垚鍔燂紒" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚鐢熶骇閫�鏂欏崟澶辫触锛佺櫥褰曞け璐ワ紒";
+                        sErrMsg = "鐢熸垚鐢熶骇閫�鏂欏崟澶辫触锛侀噾铦朵簯鐧诲綍澶辫触锛�";
                         oCn.RollBack();
                         return false;
                     }
@@ -15005,6 +15545,52 @@
                 sErrMsg = "鐢熸垚鐢熶骇閫�鏂欏崟澶辫触锛�" + e.Message;
                 oCn.RollBack();
                 return false;
+            }
+
+            if (oSystemParameterMain.Kf_MateOutBackBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "PRD_ReturnMtrl", sJson2 });
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "PRD_ReturnMtrl", sJson3 });
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚鐢熶骇閫�鏂欏崟鎴愬姛锛屽鏍稿崟鎹け璐ワ紒" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍哥敓浜ч��鏂欏崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳鐢熶骇閫�鏂欏崟澶辫触锛�" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚鐢熶骇閫�鏂欏崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                return true;
             }
         }
 
@@ -15502,7 +16088,6 @@
                 if (SaveMateOutBill_PPBom_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -15528,7 +16113,32 @@
         /// <returns></returns>
         public bool SaveMateOutBill_PPBom_CLD(Model.ClsKf_MateOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
+            //浠庨厤缃枃浠惰幏鍙� 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"]);
+            }
+
+            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);
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -15564,12 +16174,6 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Sc_UpDateRelation_PPBomToMateOut_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.Kf_MateOutBill_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_GetMateOutBill_PPBom_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMateOutBill_PPBom_CLD_New");
@@ -15581,6 +16185,18 @@
                 }
                 else
                 {
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_MateOutBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
                         "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
                         "\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
@@ -15601,6 +16217,7 @@
                         "\"FVmiBusiness\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FVmiBusiness"]) + "\"," +
                         //\"FScanBox\":\"\",
                         //\"FSourceType\":\"\",
+                        sJson_MainCustom +
                         "\"FEntity\": [  ";
                     string sJson_Entry = "";
                     for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
@@ -15614,7 +16231,23 @@
                         string sJson_FProduceDate = "";
                         string sJson_FExpiryDate = "";
                         string sJson_FAUXPROPID = "";
-                        if ((oSystemParameterMain.WMS_CampanyName == "妯渤妯″叿")) //瀹㈡埛妯渤妯″叿
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
+                        //鏄惁鍚敤鎵规绠$悊
+                        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 (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1")
                         {
                             sJson_FProduceDate = " \"FProduceDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + "\",";
                             sJson_FExpiryDate = " \"FExpiryDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "\",";
@@ -15623,15 +16256,6 @@
                         {
                             sJson_FProduceDate = "";
                             sJson_FExpiryDate = "";
-                        }
-
-                        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 = "";
                         }
 
                         //杈呭姪灞炴��
@@ -15643,6 +16267,7 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
+
                         //浠撲綅
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")
                         {
@@ -15728,6 +16353,8 @@
                         "\"FSNUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNUnitID"]) + "\"}," +
                          sJson_FProduceDate +
                          sJson_FExpiryDate +
+                         sJson_SubCustom +
+
                         //\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
                         //\"FSerialNo\":\"\",
                         //\"FSerialId\":{\"FNumber\":\"\"},
@@ -15747,31 +16374,7 @@
                     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"]);
-                    }
-
-                    //鐢熸垚棰嗘枡鍑哄簱鍗�
-                    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",
@@ -15780,37 +16383,24 @@
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildMateOut '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        if (oSystemParameterMain.Kf_MateOutBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "PRD_PickMtrl", sJson2 });
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "PRD_PickMtrl", sJson3 });
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚鐢熶骇棰嗘枡鍗曞け璐ワ紒" + HReturn + sJson;
+                            LogService.Write("鐢熸垚鐢熶骇棰嗘枡鍗曪紙婧愬崟锛氱敓浜х敤鏂欐竻鍗曪級澶辫触锛�" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚鐢熶骇棰嗘枡鍗曪紙婧愬崟锛氱敓浜х敤鏂欐竻鍗曪級鎴愬姛锛�" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚鐢熶骇棰嗘枡鍗曞け璐ワ紒鐧诲綍澶辫触锛�";
+                        sErrMsg = "鐢熸垚鐢熶骇棰嗘枡鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
                         oCn.RollBack();
                         return false;
                     }
@@ -15821,6 +16411,52 @@
                 sErrMsg = "鐢熸垚鐢熶骇棰嗘枡鍗曞け璐ワ紒" + e.Message;
                 oCn.RollBack();
                 return false;
+            }
+
+            if (oSystemParameterMain.Kf_MateOutBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "PRD_PickMtrl", sJson2 });
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "PRD_PickMtrl", sJson3 });
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚鐢熶骇棰嗘枡鍗曟垚鍔燂紝瀹℃牳鍗曟嵁澶辫触锛�" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍哥敓浜ч鏂欏崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳鐢熶骇棰嗘枡鍗曞け璐ワ紒" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚鐢熶骇棰嗘枡鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                return true;
             }
         }
 
@@ -16348,7 +16984,6 @@
                 if (SaveMateReplenishOutBill_PPBom_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -16374,7 +17009,32 @@
         /// <returns></returns>
         public bool SaveMateReplenishOutBill_PPBom_CLD(Model.ClsKf_MateReplenishOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
+            //浠庨厤缃枃浠惰幏鍙� 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"]);
+            }
+
+            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);
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -16409,11 +17069,6 @@
                 ") ");
                 //鏇存柊鍏宠仈鏁伴噺
 
-                if (oSystemParameterMain.Kf_MateReplenishOutBill_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;
@@ -16426,6 +17081,18 @@
                 }
                 else
                 {
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_MateReplenishOutBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
                         "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
                         "\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
@@ -16445,6 +17112,7 @@
                         "\"FIsCrossTrade\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsCrossTrade"]) + "\"," +
                         "\"FVmiBusiness\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FVmiBusiness"]) + "\"," +
                         //\"FScanBox\":\"\",
+                        sJson_MainCustom +
                         "\"FEntity\": [  ";
                     string sJson_Entry = "";
                     for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
@@ -16456,7 +17124,13 @@
                         string sJson_BatchNo = "";
                         string sJson_StockPlace = "";
                         string sJson_FAUXPROPID = "";
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , ";
                         }
@@ -16474,6 +17148,7 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
+
                         //浠撲綅
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")
                         {
@@ -16559,6 +17234,7 @@
                         "\"FReqBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReqBillId"]) + "\"," +
                         "\"FReqEntrySeq\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReqEntrySeq"]) + "\"," +
                         "\"FReqEntryId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReqEntryId"]) + "\"," +
+                         sJson_SubCustom +
 
                         //\"FSerialSubEntity\":[{
                         //\"FDetailID\":\"0\",
@@ -16579,31 +17255,7 @@
                     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"]);
-                    }
-
-                    //鐢熸垚琛ユ枡鍗�
-                    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",
@@ -16612,37 +17264,24 @@
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildMateReplenishOutBill '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        if (oSystemParameterMain.Kf_MateReplenishOutBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "PRD_FeedMtrl", sJson2 });
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "PRD_FeedMtrl", sJson3 });
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚鐢熶骇琛ユ枡鍗曞け璐ワ紒" + HReturn + sJson;
+                            LogService.Write("鐢熸垚鐢熶骇琛ユ枡鍗曪紙婧愬崟锛氱敓浜х敤鏂欐竻鍗曪級澶辫触锛�" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚鐢熶骇琛ユ枡鍗曪紙婧愬崟锛氱敓浜х敤鏂欐竻鍗曪級鎴愬姛锛�" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚鐢熶骇琛ユ枡鍗曞け璐ワ紒鐧诲綍澶辫触锛�";
+                        sErrMsg = "鐢熸垚鐢熶骇琛ユ枡鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
                         oCn.RollBack();
                         return false;
                     }
@@ -16653,6 +17292,52 @@
                 sErrMsg = "鐢熸垚鐢熶骇琛ユ枡鍗曞け璐ワ紒" + e.Message;
                 oCn.RollBack();
                 return false;
+            }
+
+            if (oSystemParameterMain.Kf_MateReplenishOutBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "PRD_FeedMtrl", sJson2 });
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "PRD_FeedMtrl", sJson3 });
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚鐢熶骇琛ユ枡鍗曟垚鍔燂紝瀹℃牳鍗曟嵁澶辫触锛�" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍哥敓浜цˉ鏂欏崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳鐢熶骇琛ユ枡鍗曞け璐ワ紒" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚鐢熶骇琛ユ枡鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                return true;
             }
         }
 
@@ -17210,7 +17895,6 @@
                 if (SaveEntrustOutBackBill_WWPPBom_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -17250,7 +17934,32 @@
         /// <returns></returns>
         public bool SaveEntrustOutBackBill_WWPPBom_CLD(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
+            //浠庨厤缃枃浠惰幏鍙� 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"]);
+            }
+
+            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);
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -17286,12 +17995,6 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_WW_UpDateRelation_WWPPBomToEntrustOutBack_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.Kf_EntrustOutBackBill_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_GetEntrustOutBackBill_WWPPBom_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetEntrustOutBackBill_WWPPBom_CLD_New");
@@ -17303,6 +18006,18 @@
                 }
                 else
                 {
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_EntrustOutBackBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\", " +
                     "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
                     "\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
@@ -17323,6 +18038,7 @@
                     "\"FVmiBusiness\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FVmiBusiness"]) + "\"," +
                     //\"FScanBox\":\"\",
                     //\"FSourceType\":\"\",
+                    sJson_MainCustom +
                     "\"FEntity\": [  ";
                     string sJson_Entry = "";
                     for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
@@ -17334,7 +18050,13 @@
                         string sJson_BatchNo = "";
                         string sJson_StockPlace = "";
                         string sJson_FAUXPROPID = "";
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , ";
                         }
@@ -17352,7 +18074,9 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")  //浠撲綅
+
+                        //浠撲綅
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")  
                         {
                             sJson_StockPlace = "";
                         }
@@ -17433,6 +18157,7 @@
                         " \"FReqBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReqBillId"]) + "\"," +
                         " \"FReqEntrySeq\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReqEntrySeq"]) + "\"," +
                         " \"FReqEntryId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReqEntryId"]) + "\"," +
+                        sJson_SubCustom +
 
                         //\"FSerialSubEntity\":[{
                         //\"FDetailID\":\"0\",
@@ -17454,31 +18179,7 @@
                     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"]);
-                    }
-
-                    //鐢熸垚濮斿閫�鏂欏崟
-                    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",
@@ -17487,37 +18188,24 @@
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildEntrustOutBack '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        if (oSystemParameterMain.Kf_EntrustOutBackBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "SUB_RETURNMTRL", sJson2 });
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "SUB_RETURNMTRL", sJson3 });
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚濮斿閫�鏂欏崟澶辫触锛�" + HReturn + sJson;
+                            LogService.Write("鐢熸垚濮斿閫�鏂欏崟锛堟簮鍗曪細濮斿鐢ㄦ枡娓呭崟锛夊け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚濮斿閫�鏂欏崟锛堟簮鍗曪細濮斿鐢ㄦ枡娓呭崟锛夋垚鍔燂紒" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚濮斿閫�鏂欏崟澶辫触锛佺櫥褰曞け璐ワ紒";
+                        sErrMsg = "鐢熸垚濮斿閫�鏂欏崟澶辫触锛侀噾铦朵簯鐧诲綍澶辫触锛�";
                         oCn.RollBack();
                         return false;
                     }
@@ -17528,6 +18216,52 @@
                 sErrMsg = "鐢熸垚濮斿閫�鏂欏崟澶辫触锛�" + e.Message;
                 oCn.RollBack();
                 return false;
+            }
+
+            if (oSystemParameterMain.Kf_EntrustOutBackBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "SUB_RETURNMTRL", sJson2 });
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "SUB_RETURNMTRL", sJson3 });
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚濮斿閫�鏂欏崟鎴愬姛锛屽鏍稿崟鎹け璐ワ紒" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍稿澶栭��鏂欏崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳濮斿閫�鏂欏崟澶辫触锛�" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚濮斿閫�鏂欏崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                return true;
             }
         }
 
@@ -17983,7 +18717,6 @@
                 if (SaveEntrustOutBill_WWPPBom_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -18008,7 +18741,32 @@
         /// <returns></returns>
         private bool SaveEntrustOutBill_WWPPBom_CLD(Model.ClsKf_EntrustOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
+            //浠庨厤缃枃浠惰幏鍙� 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"]);
+            }
+
+            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);
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -18044,13 +18802,7 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_WW_UpDateRelation_WWPPBomToEntrustOut_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.Kf_EntrustOutBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                {
-                    //瀹℃牳鍗曟嵁
-                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
-                }
-
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
                 DataSet Ds;
                 Ds = oCn.RunProcReturn("exec h_p_Kf_GetEntrustOutBill_WWPPBom_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetEntrustOutBill_WWPPBom_CLD_New");
                 if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
@@ -18061,6 +18813,18 @@
                 }
                 else
                 {
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_EntrustOutBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
                         "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
                         "\"Model\":{ " +
@@ -18079,6 +18843,7 @@
                         //\"FScanBox\":\"\",
                         //\"FSourceType\":\"\",
                         "\"FStockId0\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockId0"]) + "\"}," +
+                        sJson_MainCustom +
                         "\"FEntity\": [  ";
                     string sJson_Entry = "";
                     for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
@@ -18090,7 +18855,13 @@
                         string sJson_BatchNo = "";
                         string sJson_StockPlace = "";
                         string sJson_FAUXPROPID = "";
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , ";
                         }
@@ -18098,6 +18869,7 @@
                         {
                             sJson_BatchNo = "";
                         }
+
                         //杈呭姪灞炴��
                         if (oSystemParameterMain.WMS_CampanyName == "鍑礉濂堢壒") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
                         {
@@ -18107,6 +18879,7 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
+
                         //浠撲綅
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) == "")
                         {
@@ -18116,7 +18889,7 @@
                         {
                             sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) + "\"}},";
                         }
-                        //
+
                         sJson_Entry = sJson_Entry + " {" +
                         //\"FENTRYID\":\"0\",
                         " \"FMATERIALID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMATERIALID"]) + "\"}," +
@@ -18193,6 +18966,7 @@
                         " \"FSTOCKACTUALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKACTUALQTY"]) + "," +
                         " \"FSRCBILLTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPE"]) + "\"," +
                         " \"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
+                         sJson_SubCustom +
 
                         //\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
                         //\"FSerialNo\":\"\",
@@ -18214,31 +18988,7 @@
                     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"]);
-                    }
-
-                    //鐢熸垚 濮斿鍑哄簱 
-                    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",
@@ -18247,37 +18997,24 @@
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildEntrustOut '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        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 });
+                        HReturn = result.ToString();
 
-                            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;
+                            LogService.Write("鐢熸垚濮斿鍑哄簱鍗曪紙婧愬崟锛氬澶栫敤鏂欐竻鍗曪級澶辫触锛�" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚濮斿鍑哄簱鍗曪紙婧愬崟锛氬澶栫敤鏂欐竻鍗曪級鎴愬姛锛�" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚濮斿鍑哄簱鍗曞け璐ワ紒鐧诲綍澶辫触锛�";
+                        sErrMsg = "鐢熸垚濮斿鍑哄簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
                         oCn.RollBack();
                         return false;
                     }
@@ -18289,8 +19026,53 @@
                 oCn.RollBack();
                 return false;
             }
-        }
 
+            if (oSystemParameterMain.Kf_EntrustOutBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    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 });
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚濮斿鍑哄簱鍗曟垚鍔燂紝瀹℃牳鍗曟嵁澶辫触锛�" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍稿澶栧嚭搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳濮斿鍑哄簱鍗曞け璐ワ紒" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚濮斿鍑哄簱鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                return true;
+            }
+        }
 
         #endregion
 
@@ -18676,7 +19458,8 @@
             }
             if (oSystemParameter.omodel.Kf_OtherOutBackBill_ERPMode.ToUpper() == "CLOUD")  //鍒ゆ柇鍚屾妯″紡鏄噾铦禖LOUD
             {
-
+                sErrMsg = "鏆傛棤姝ゅ姛鑳斤紒";
+                return false;
             }
 
             sErrMsg = "淇濆瓨鍏朵粬鍑哄簱鍗曪紙绾㈠瓧锛夊け璐ワ紒" + sErrMsg;
@@ -19323,7 +20106,6 @@
                 if (SaveOtherOutBill_StockOutRequest_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -19348,7 +20130,32 @@
         /// <returns></returns>
         public bool SaveOtherOutBill_StockOutRequest_CLD(Model.ClsKf_OtherOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
+            //浠庨厤缃枃浠惰幏鍙� 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"]);
+            }
+
+            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);
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -19386,12 +20193,6 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Kf_UpDateRelation_StockOutRequestToOtherOut_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.Kf_OtherOutBill_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_GetOtherOutBill_StockOutRequest_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetOtherOutBill_StockOutRequest_CLD_New");
@@ -19403,8 +20204,18 @@
                 }
                 else
                 {
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
                     string sJson_MainCustom = "";    //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_OtherOutBill_AutoCheck = sCheckFlag;
+                    }
+
                     sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
                         "\"Model\":{ " +
                         //\"FID\":\"0\",
@@ -19443,6 +20254,7 @@
 
                         //瀛愯〃鑷畾涔夊瓧娈�
                         sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
                         //鏄惁鍚敤鎵规绠$悊
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1")
                         {
@@ -19452,6 +20264,7 @@
                         {
                             sJson_BatchNo = "";
                         }
+
                         //浠撲綅
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")
                         {
@@ -19461,8 +20274,10 @@
                         {
                             sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
                         }
+
                         //杈呭姪灞炴��
                         sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
+                        
                         //鏄惁鍚敤淇濊川鏈熸帶鍒�
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1")
                         {
@@ -19529,67 +20344,30 @@
                     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"]);
-                    }
-
-                    //鐢熸垚 鍏朵粬鍑哄簱鍗�
-                    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_MisDelivery", sJson });
 
-                        if (oSystemParameterMain.Kf_OtherOutBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "STK_MisDelivery", sJson2 });
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "STK_MisDelivery", sJson3 });
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚鍏朵粬鍑哄簱鍗曞け璐ワ紒" + HReturn + sJson;
+                            LogService.Write("鐢熸垚鍏朵粬鍑哄簱鍗曪紙婧愬崟锛氬嚭搴撶敵璇峰崟锛夊け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚鍏朵粬鍑哄簱鍗曪紙婧愬崟锛氬嚭搴撶敵璇峰崟锛夋垚鍔燂紒" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚鍏朵粬鍑哄簱鍗曞け璐ワ紒鐧诲綍澶辫触锛�";
+                        sErrMsg = "鐢熸垚鍏朵粬鍑哄簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
                         oCn.RollBack();
                         return false;
                     }
@@ -19601,11 +20379,57 @@
                 oCn.RollBack();
                 return false;
             }
+
+            if (oSystemParameterMain.Kf_OtherOutBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "STK_MisDelivery", sJson2 });
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "STK_MisDelivery", sJson3 });
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚鍏朵粬鍑哄簱鍗曟垚鍔燂紝瀹℃牳鍗曟嵁澶辫触锛�" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍稿叾浠栧嚭搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳鍏朵粬鍑哄簱鍗曞け璐ワ紒" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚鍏朵粬鍑哄簱鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                return true;
+            }
         }
 
 
         /// <summary>
-        /// 鍏朵粬鍑哄簱鍗�
+        /// 鍏朵粬鍑哄簱鍗�   锛堟簮鍗曪細鏃犳簮鍗曪級
         /// </summary>
         /// <param name="oMain"></param>
         /// <param name="sErrMsg"></param>
@@ -19687,6 +20511,18 @@
                 else
                 {
                     string sJson_StockStyle = "";
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_OtherOutBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     if (oSystemParameterMain.WMS_CampanyName == "闊╃數") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
                     {
                         sJson_StockStyle = "\"F_CHLX\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_CHLX"]) + "\",";    //鍑哄簱绫诲瀷
@@ -19718,6 +20554,7 @@
                         "\"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 +
+                        sJson_MainCustom +
                         "\"FEntity\":[";
                     string sJson_Entry = "";
                     for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
@@ -19729,7 +20566,13 @@
                         string sJson_BatchNo = "";
                         string sJson_StockPlace = "";
                         string sJson_FAUXPROPID = "";
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , ";
                         }
@@ -19738,6 +20581,7 @@
                             sJson_BatchNo = "";
                         }
 
+                        //浠撲綅
                         if (oSystemParameterMain.WMS_CampanyName == "鍗撳姏") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
                         {
                             sJson_StockPlace = "\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
@@ -19753,6 +20597,7 @@
                                 sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
                             }
                         }
+
                         //杈呭姪灞炴��
                         if (oSystemParameterMain.WMS_CampanyName == "鍗撳姏" || oSystemParameterMain.WMS_CampanyName == "闊╃數") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
                         {
@@ -19770,7 +20615,6 @@
                         {
                             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"]) + "\"}," +
@@ -19799,6 +20643,7 @@
                             "\"FKeeperTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeId"]) + "\"," +
                             //"\"FDistribution\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDistribution"]) + "," +
                             "\"FKeeperId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperId"]) + "\"}," +
+                            sJson_SubCustom +
                             "\"FExtAuxUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitId"]) + "\"}," +
                             "\"FExtAuxUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitQty"]) + "} ";
                     }
@@ -19817,11 +20662,13 @@
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚鍏朵粬鍑哄簱鍗曞け璐ワ紒" + HReturn + sJson;
+                            LogService.Write("鐢熸垚鍏朵粬鍑哄簱鍗曪紙婧愬崟锛氭棤婧愬崟锛夊け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚鍏朵粬鍑哄簱鍗曪紙婧愬崟锛氭棤婧愬崟锛夋垚鍔燂紒" + sJson);
                             oCn.Commit();
                         }
                     }
@@ -20636,7 +21483,6 @@
                 if (SavePOStockInBackBill_POOrder_CLD_New(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -20651,7 +21497,6 @@
                 if (SavePOStockInBackBill_POInStockBack_CLD_New(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -20676,7 +21521,32 @@
         /// <returns></returns>
         public bool SavePOStockInBackBill_POOrder_CLD_New(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
+            //浠庨厤缃枃浠惰幏鍙� 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"]);
+            }
+
+            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);
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -20712,13 +21582,7 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Cg_UpDateRelation_POOrderToPOStockInBack_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.Kf_POStockInBackBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                {
-                    //瀹℃牳鍗曟嵁
-                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
-                }
-
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
                 DataSet Ds;
                 Ds = oCn.RunProcReturn("exec h_p_Kf_GetPOStockInBackBill_POOrder_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetPOStockInBackBill_POOrder_CLD_New");
                 if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
@@ -20729,6 +21593,18 @@
                 }
                 else
                 {
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_POStockInBackBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\", " +
                     "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
                     "\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
@@ -20769,6 +21645,7 @@
                     //\"FCDateOffsetUnit\":\"\",
                     //\"FCDateOffsetValue\":\"0\",
                     "\"FAcceptorContactID\":{\"FCONTACTNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FAcceptorContactID"]) + "\"}," +
+                    sJson_MainCustom +
 
                     "\"FPURMRBFIN\":{" +
                     //\"FEntryId\":\"0\",
@@ -20796,7 +21673,13 @@
                         string sJson_BatchNo = "";
                         string sJson_StockPlace = "";
                         string sJson_FAUXPROPID = "";
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , ";
                         }
@@ -20814,7 +21697,9 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")  //浠撲綅
+
+                        //浠撲綅
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")  
                         {
                             sJson_StockPlace = "";
                         }
@@ -20885,6 +21770,7 @@
                         "\"FCostPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCostPrice"]) + "\"," +
                         "\"FPoRequireOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPoRequireOrgId"]) + "\"}," +
                         "\"FKEEPERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERTYPEID"]) + "\"," +
+                         sJson_SubCustom +
 
                         //\"FEntryPruCost\":[{\"FDetailID\":\"0\"}],
 
@@ -20919,31 +21805,7 @@
                     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"]);
-                    }
-
-                    //鐢熸垚澶栬喘閫�鏂欏崟
-                    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",
@@ -20952,37 +21814,24 @@
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildPOStockInBack '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        if (oSystemParameterMain.Kf_POStockInBackBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "PUR_MRB", sJson2 });
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "PUR_MRB", sJson3 });
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚澶栬喘閫�鏂欏崟澶辫触锛�" + HReturn + sJson;
+                            LogService.Write("鐢熸垚澶栬喘閫�鏂欏崟锛堟簮鍗曪細閲囪喘璁㈠崟锛夊け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚澶栬喘閫�鏂欏崟锛堟簮鍗曪細閲囪喘璁㈠崟锛夋垚鍔燂紒" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚澶栬喘閫�鏂欏崟澶辫触锛佺櫥褰曞け璐ワ紒";
+                        sErrMsg = "鐢熸垚澶栬喘閫�鏂欏崟澶辫触锛侀噾铦朵簯鐧诲綍澶辫触锛�";
                         oCn.RollBack();
                         return false;
                     }
@@ -20993,6 +21842,52 @@
                 sErrMsg = "鐢熸垚澶栬喘閫�鏂欏崟澶辫触锛�" + e.Message;
                 oCn.RollBack();
                 return false;
+            }
+
+            if (oSystemParameterMain.Kf_POStockInBackBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "PUR_MRB", sJson2 });
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "PUR_MRB", sJson3 });
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚澶栬喘閫�鏂欏崟鎴愬姛锛屽鏍稿崟鎹け璐ワ紒" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍稿璐��鏂欏崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳澶栬喘閫�鏂欏崟澶辫触锛�" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚澶栬喘閫�鏂欏崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                return true;
             }
         }
 
@@ -21005,7 +21900,32 @@
         /// <returns></returns>
         public bool SavePOStockInBackBill_POInStockBack_CLD_New(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
+            //浠庨厤缃枃浠惰幏鍙� 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"]);
+            }
+
+            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);
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -21041,13 +21961,7 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Cg_UpDateRelation_POInStockBackToPOStockInBack_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.Kf_POStockInBackBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                {
-                    //瀹℃牳鍗曟嵁
-                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
-                }
-
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
                 DataSet Ds;
                 Ds = oCn.RunProcReturn("exec h_p_Kf_GetPOStockInBackBill_POInStockBack_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetPOStockInBackBill_POInStockBack_CLD_New");
                 if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
@@ -21058,6 +21972,18 @@
                 }
                 else
                 {
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_POStockInBackBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\", " +
                     "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
                     "\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
@@ -21096,6 +22022,7 @@
                     //
                     "\"FREPLENISHMODE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FREPLENISHMODE"]) + "\"," +
                     "\"FBusinessType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBusinessType"]) + "\"," +
+                    sJson_MainCustom +
 
                     "\"FPURMRBFIN\":{" +
                     //\"FEntryId\":\"0\",
@@ -21122,7 +22049,13 @@
                         string sJson_BatchNo = "";
                         string sJson_StockPlace = "";
                         string sJson_FAUXPROPID = "";
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , ";
                         }
@@ -21140,7 +22073,9 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")  //浠撲綅
+
+                        //浠撲綅
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "") 
                         {
                             sJson_StockPlace = "";
                         }
@@ -21209,6 +22144,7 @@
                        "\"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
                        "\"FPURBASENUM\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPURBASENUM"]) + "," +
                        "\"FSTOCKBASEDEN\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKBASEDEN"]) + "," +
+                       sJson_SubCustom +
 
                         //\"FEntryPruCost\":[{\"FDetailID\":\"0\"}],
 
@@ -21236,31 +22172,7 @@
                     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"]);
-                    }
-
-                    //鐢熸垚澶栬喘閫�鏂欏崟
-                    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",
@@ -21269,37 +22181,24 @@
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildPOStockInBack '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        if (oSystemParameterMain.Kf_POStockInBackBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "PUR_MRB", sJson2 });
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "PUR_MRB", sJson3 });
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚澶栬喘閫�鏂欏崟澶辫触锛�" + HReturn + sJson;
+                            LogService.Write("鐢熸垚澶栬喘閫�鏂欏崟锛堟簮鍗曪細閫�鏂欓�氱煡鍗曪級澶辫触锛�" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚澶栬喘閫�鏂欏崟锛堟簮鍗曪細閫�鏂欓�氱煡鍗曪級鎴愬姛锛�" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚澶栬喘閫�鏂欏崟澶辫触锛佺櫥褰曞け璐ワ紒";
+                        sErrMsg = "鐢熸垚澶栬喘閫�鏂欏崟澶辫触锛侀噾铦朵簯鐧诲綍澶辫触锛�";
                         oCn.RollBack();
                         return false;
                     }
@@ -21310,6 +22209,52 @@
                 sErrMsg = "鐢熸垚澶栬喘閫�鏂欏崟澶辫触锛�" + e.Message;
                 oCn.RollBack();
                 return false;
+            }
+
+            if (oSystemParameterMain.Kf_POStockInBackBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "PUR_MRB", sJson2 });
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "PUR_MRB", sJson3 });
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚澶栬喘閫�鏂欏崟鎴愬姛锛屽鏍稿崟鎹け璐ワ紒" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍稿璐��鏂欏崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳澶栬喘閫�鏂欏崟澶辫触锛�" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚澶栬喘閫�鏂欏崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                return true;
             }
         }
 
@@ -22308,7 +23253,6 @@
                 if (SavePOStockInBill_POInStock_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -22323,7 +23267,6 @@
                 if (SavePOStockInBill_POOrder_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -22348,7 +23291,32 @@
         /// <returns></returns>
         public bool SavePOStockInBill_POInStock_CLD(Model.ClsKf_POStockInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
+            //浠庨厤缃枃浠惰幏鍙� 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"]);
+            }
+
+            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);
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -22384,13 +23352,7 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Cg_UpDateRelation_POInStockToPOStockIn_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.Kf_POStockInBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                {
-                    //瀹℃牳鍗曟嵁
-                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
-                }
-
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
                 DataSet Ds;
                 Ds = oCn.RunProcReturn("exec h_p_Kf_GetPOStockInBill_POInStock_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetPOStockInBill_POInStock_CLD_New");
                 if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
@@ -22402,6 +23364,18 @@
                 else
                 {
                     string sJson_Custom = "";   //鑷畾涔夊瓧娈�
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_POStockInBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     if (oSystemParameterMain.WMS_CampanyName == "鍦i緳") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�
                     {
                         sJson_Custom = "\"F_PAEZ_Combo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_PAEZ_Combo"]) + "\", ";             //閫佽揣鍗曞彿
@@ -22442,6 +23416,7 @@
                         "\"FTakeDeliveryBill\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTakeDeliveryBill"]) + "\"," +
                         "\"FBusinessType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBusinessType"]) + "\"," +
                         "\"FSupplierId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplierId"]) + "\"}," +
+                        sJson_MainCustom +
 
                         "\"FInStockFin\":{" +
                         //\"FEntryId\":\"0\",
@@ -22473,9 +23448,11 @@
                         string sJson_FAUXPROPID = "";
                         string sJson_SubCustom = "";    //瀛愯〃鑷畾涔夊瓧娈�
 
+                        //瀛愯〃鑷畾涔夊瓧娈�
                         sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
 
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , " +    //鎵瑰彿
                                             "  \"FReceiveLot\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReceiveLot"]) + "\"},    \"FReceiveLot_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReceiveLot"]) + "\"  , ";    //鏀惰揣鎵瑰彿
@@ -22485,7 +23462,8 @@
                             sJson_BatchNo = "";
                         }
 
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1") //鏄惁鍚敤淇濊川鏈熸帶鍒�
+                        //鏄惁鍚敤淇濊川鏈熸帶鍒�
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1")
                         {
                             sJson_FProduceDate = " \"FProduceDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + "\",";
                             sJson_FExpiryDate = " \"FExpiryDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "\",";
@@ -22505,7 +23483,9 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")  //浠撲綅
+
+                        //浠撲綅
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")  
                         {
                             sJson_StockPlace = "";
                         }
@@ -22621,31 +23601,7 @@
                     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"]);
-                    }
-
-                    //鐢熸垚閲囪喘鍏ュ簱鍗�
-                    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",
@@ -22654,37 +23610,24 @@
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildPOStockIn '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        if (oSystemParameterMain.Kf_POStockInBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "STK_InStock", sJson2 });
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "STK_InStock", sJson3 });
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚閲囪喘鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson;
+                            LogService.Write("鐢熸垚閲囪喘鍏ュ簱鍗曪紙婧愬崟锛氭敹鏂欓�氱煡鍗曪級澶辫触锛�" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚閲囪喘鍏ュ簱鍗曪紙婧愬崟锛氭敹鏂欓�氱煡鍗曪級鎴愬姛锛�" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚閲囪喘鍏ュ簱鍗曞け璐ワ紒鐧诲綍澶辫触锛�";
+                        sErrMsg = "鐢熸垚閲囪喘鍏ュ簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
                         oCn.RollBack();
                         return false;
                     }
@@ -22695,6 +23638,52 @@
                 sErrMsg = "鐢熸垚閲囪喘鍏ュ簱鍗曞け璐ワ紒" + e.Message;
                 oCn.RollBack();
                 return false;
+            }
+
+            if (oSystemParameterMain.Kf_POStockInBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "STK_InStock", sJson2 });
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "STK_InStock", sJson3 });
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚閲囪喘鍏ュ簱鍗曟垚鍔燂紝瀹℃牳鍗曟嵁澶辫触锛�" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍搁噰璐叆搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳閲囪喘鍏ュ簱鍗曞け璐ワ紒" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚閲囪喘鍏ュ簱鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                return true;
             }
         }
 
@@ -22707,7 +23696,32 @@
         /// <returns></returns>
         public bool SavePOStockInBill_POOrder_CLD(Model.ClsKf_POStockInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
+            //浠庨厤缃枃浠惰幏鍙� 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"]);
+            }
+
+            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);
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -22743,13 +23757,7 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Cg_UpDateRelation_POOrderToPOStockIn_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.Kf_POStockInBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                {
-                    //瀹℃牳鍗曟嵁
-                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
-                }
-
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
                 DataSet Ds;
                 Ds = oCn.RunProcReturn("exec h_p_Kf_GetPOStockInBill_POOrder_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetPOStockInBill_POOrder_CLD_New");
                 if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
@@ -22760,6 +23768,18 @@
                 }
                 else
                 {
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_POStockInBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
                         "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
                         "\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
@@ -22793,6 +23813,7 @@
                         "\"FProviderContactID\":{\"FCONTACTNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProviderContactID"]) + "\"}," +
                         //
                         "\"FBusinessType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBusinessType"]) + "\"," +
+                        sJson_MainCustom +
 
                         "\"FInStockFin\":{" +
                         //\"FEntryId\":\"0\",
@@ -22822,9 +23843,11 @@
                         string sJson_FAUXPROPID = "";
                         string sJson_SubCustom = "";    //瀛愯〃鑷畾涔夊瓧娈�
 
+                        //瀛愯〃鑷畾涔夊瓧娈�
                         sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
 
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , ";    //鎵瑰彿
                         }
@@ -22842,7 +23865,9 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")  //浠撲綅
+
+                        //浠撲綅
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "") 
                         {
                             sJson_StockPlace = "";
                         }
@@ -22952,31 +23977,7 @@
                     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"]);
-                    }
-
-                    //鐢熸垚閲囪喘鍏ュ簱鍗�
-                    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",
@@ -22985,37 +23986,24 @@
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildPOStockIn '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        if (oSystemParameterMain.Kf_POStockInBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "STK_InStock", sJson2 });
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "STK_InStock", sJson3 });
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚閲囪喘鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson;
+                            LogService.Write("鐢熸垚閲囪喘鍏ュ簱鍗曪紙婧愬崟锛氶噰璐鍗曪級澶辫触锛�" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚閲囪喘鍏ュ簱鍗曪紙婧愬崟锛氶噰璐鍗曪級鎴愬姛锛�" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚閲囪喘鍏ュ簱鍗曞け璐ワ紒鐧诲綍澶辫触锛�";
+                        sErrMsg = "鐢熸垚閲囪喘鍏ュ簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
                         oCn.RollBack();
                         return false;
                     }
@@ -23026,6 +24014,52 @@
                 sErrMsg = "鐢熸垚閲囪喘鍏ュ簱鍗曞け璐ワ紒" + e.Message;
                 oCn.RollBack();
                 return false;
+            }
+
+            if (oSystemParameterMain.Kf_POStockInBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "STK_InStock", sJson2 });
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "STK_InStock", sJson3 });
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚閲囪喘鍏ュ簱鍗曟垚鍔燂紝瀹℃牳鍗曟嵁澶辫触锛�" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍搁噰璐叆搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳閲囪喘鍏ュ簱鍗曞け璐ワ紒" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚閲囪喘鍏ュ簱鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                return true;
             }
         }
 
@@ -24288,7 +25322,8 @@
             }
             if (oSystemParameter.omodel.Kf_ProductInBackBill_ERPMode.ToUpper() == "CLOUD")  //鍒ゆ柇鍚屾妯″紡鏄噾铦禖LOUD
             {
-
+                sErrMsg = "鏆傛棤姝ゅ姛鑳斤紒";
+                return false;
             }
 
             sErrMsg = "淇濆瓨浜у搧閫�搴撳崟澶辫触锛�" + sErrMsg;
@@ -25016,7 +26051,7 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Sc_UpDateRelation_ICMOToProductIn_Add " + oMain.HInterID.ToString());
 
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
                 DataSet Ds;
                 Ds = oCn.RunProcReturn("exec h_p_Kf_GetProductInBill_ICMO_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetProductInBill_ICMO_CLD_New");
                 if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
@@ -25029,6 +26064,7 @@
                 {
                     string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
                     string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
                     //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
                     sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
                     if (sCheckFlag != "")
@@ -25070,9 +26106,11 @@
                         string sJson_FAUXPROPID = "";
                         string sJson_SubCustom = "";    //瀛愯〃鑷畾涔夊瓧娈�
 
+                        //瀛愯〃鑷畾涔夊瓧娈�
                         sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
 
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , ";
                         }
@@ -25093,7 +26131,7 @@
                         {
                             sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
                         }
-                        //
+
                         sJson_Entry = sJson_Entry + " {" +
                         //\"FEntryID\":\"0\",
                         " \"FSRCENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYID"]) + "," +
@@ -25188,11 +26226,13 @@
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson;
+                            LogService.Write("鐢熸垚鐢熶骇鍏ュ簱鍗曪紙婧愬崟锛氱敓浜т换鍔″崟锛夊け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚鐢熶骇鍏ュ簱鍗曪紙婧愬崟锛氱敓浜т换鍔″崟锛夋垚鍔燂紒" + sJson);
                             oCn.Commit();
                         }
                     }
@@ -25327,7 +26367,7 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Sc_UpDateRelation_ICMOReportToProductIn_Add " + oMain.HInterID.ToString());
 
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
                 DataSet Ds;
                 Ds = oCn.RunProcReturn("exec h_p_Kf_GetProductInBill_ICMOReport_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetProductInBill_ICMOReport_CLD_New");
                 if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
@@ -25340,6 +26380,7 @@
                 {
                     string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
                     string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
                     //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
                     sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
                     if(sCheckFlag!="")
@@ -25384,9 +26425,11 @@
                         string sJson_FAUXPROPID = "";
                         string sJson_SubCustom = "";    //瀛愯〃鑷畾涔夊瓧娈�
 
+                        //瀛愯〃鑷畾涔夊瓧娈�
                         sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
 
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , ";
                         }
@@ -25395,7 +26438,8 @@
                             sJson_BatchNo = "";
                         }
 
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1") //鏄惁鍚敤淇濊川鏈熸帶鍒�
+                        //鏄惁鍚敤淇濊川鏈熸帶鍒�
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1")
                         {
                             sJson_FProduceDate = " \"FProduceDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + "\",";
                             sJson_FExpiryDate = " \"FExpiryDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "\",";
@@ -25425,11 +26469,12 @@
                         {
                             sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) + "\"}},";
                         }
+
                         if (oSystemParameterMain.WMS_CampanyName == "闊╃數") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
                         {
                             sJson_EntryCustom = "\"F_QOUL_TEXT1\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_QOUL_TEXT1"]) + "\",";   //閿�鍞鍗曞彿
                         }
-                        //
+
                         sJson_Entry = sJson_Entry + " {" +
                         //\"FEntryID\":\"0\",
                         " \"FSRCENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYID"]) + "," +
@@ -25525,11 +26570,13 @@
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson;
+                            LogService.Write("鐢熸垚鐢熶骇鍏ュ簱鍗曪紙婧愬崟锛氱敓浜ф眹鎶ュ崟锛夊け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚鐢熶骇鍏ュ簱鍗曪紙婧愬崟锛氱敓浜ф眹鎶ュ崟锛夋垚鍔燂紒" + sJson);
                             oCn.Commit();
                         }
                     }
@@ -25989,7 +27036,8 @@
             }
             if (oSystemParameter.omodel.Kf_EntrustInBackBill_ERPMode.ToUpper() == "CLOUD")  //鍒ゆ柇鍚屾妯″紡鏄噾铦禖LOUD
             {
-
+                sErrMsg = "鏆傛棤姝ゅ姛鑳斤紒";
+                return false;
             }
 
             sErrMsg = "淇濆瓨濮斿閫�搴撳崟澶辫触锛�" + sErrMsg;
@@ -26664,7 +27712,6 @@
                 if (SaveEntrustInBill_POInStock_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -26689,7 +27736,32 @@
         /// <returns></returns>
         public bool SaveEntrustInBill_POInStock_CLD(Model.ClsKf_EntrustInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
+            //浠庨厤缃枃浠惰幏鍙� 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"]);
+            }
+
+            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);
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -26725,13 +27797,7 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Cg_UpDateRelation_POInStockToEntrustIn_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.Kf_EntrustInBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                {
-                    //瀹℃牳鍗曟嵁
-                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
-                }
-
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
                 DataSet Ds;
                 Ds = oCn.RunProcReturn("exec h_p_Kf_GetPOStockInBill_POInStock_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetPOStockInBill_POInStock_CLD_New");
                 if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
@@ -26742,6 +27808,18 @@
                 }
                 else
                 {
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_EntrustInBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
                         "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
                     "\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
@@ -26776,6 +27854,7 @@
                     "\"FTakeDeliveryBill\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTakeDeliveryBill"]) + "\"," +
                     "\"FBusinessType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBusinessType"]) + "\"," +
                     "\"FSupplierId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplierId"]) + "\"}," +
+                    sJson_MainCustom +
 
                     "\"FInStockFin\":{" +
                     //\"FEntryId\":\"0\",
@@ -26805,7 +27884,13 @@
                         string sJson_FProduceDate = "";     //鐢熶骇鏃ユ湡
                         string sJson_FExpiryDate = "";      //鏈夋晥鏈熻嚦
                         string sJson_FAUXPROPID = "";
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , " +    //鎵瑰彿
                                             "  \"FReceiveLot\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReceiveLot"]) + "\"},    \"FReceiveLot_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReceiveLot"]) + "\"  , ";    //鏀惰揣鎵瑰彿
@@ -26815,7 +27900,8 @@
                             sJson_BatchNo = "";
                         }
 
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1") //鏄惁鍚敤淇濊川鏈熸帶鍒�
+                        //鏄惁鍚敤淇濊川鏈熸帶鍒�
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1") 
                         {
                             sJson_FProduceDate = " \"FProduceDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + "\",";
                             sJson_FExpiryDate = " \"FExpiryDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "\",";
@@ -26835,7 +27921,9 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")  //浠撲綅
+
+                        //浠撲綅
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")  
                         {
                             sJson_StockPlace = "";
                         }
@@ -26915,6 +28003,7 @@
                         "\"FPURBASENUM\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPURBASENUM"]) + "," +
                         "\"FStockBaseDen\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockBaseDen"]) + "," +
                         "\"FSRCBILLTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\"," +
+                         sJson_SubCustom +
 
                         //\"FEntryPruCost\":[{\"FDetailID\":\"0\"}],
 
@@ -26947,31 +28036,7 @@
                     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"]);
-                    }
-
-                    //鐢熸垚濮斿鍏ュ簱鍗�
-                    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",
@@ -26980,37 +28045,24 @@
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildPOStockIn '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        if (oSystemParameterMain.Kf_EntrustInBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "STK_InStock", sJson2 });
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "STK_InStock", sJson3 });
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚濮斿鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson;
+                            LogService.Write("鐢熸垚濮斿鍏ュ簱鍗曪紙婧愬崟锛氭敹鏂欓�氱煡鍗曪級澶辫触锛�" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚濮斿鍏ュ簱鍗曪紙婧愬崟锛氭敹鏂欓�氱煡鍗曪級鎴愬姛锛�" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚濮斿鍏ュ簱鍗曞け璐ワ紒鐧诲綍澶辫触锛�";
+                        sErrMsg = "鐢熸垚濮斿鍏ュ簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
                         oCn.RollBack();
                         return false;
                     }
@@ -27021,6 +28073,52 @@
                 sErrMsg = "鐢熸垚濮斿鍏ュ簱鍗曞け璐ワ紒" + e.Message;
                 oCn.RollBack();
                 return false;
+            }
+
+            if (oSystemParameterMain.Kf_EntrustInBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "STK_InStock", sJson2 });
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "STK_InStock", sJson3 });
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚濮斿鍏ュ簱鍗曟垚鍔燂紝瀹℃牳鍗曟嵁澶辫触锛�" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍稿澶栧叆搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳濮斿鍏ュ簱鍗曞け璐ワ紒" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚濮斿鍏ュ簱鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                return true;
             }
         }
 
@@ -27409,7 +28507,8 @@
             }
             if (oSystemParameter.omodel.Kf_OtherInBackBill_ERPMode.ToUpper() == "CLOUD")  //鍒ゆ柇鍚屾妯″紡鏄噾铦禖LOUD
             {
-
+                sErrMsg = "鏆傛棤姝ゅ姛鑳斤紒";
+                return false;
             }
 
             sErrMsg = "淇濆瓨鍏朵粬鍏ュ簱鍗曪紙绾㈠瓧锛夊け璐ワ紒" + sErrMsg;
@@ -28070,7 +29169,7 @@
         }
 
         /// <summary>
-        /// 鍏朵粬鍏ュ簱鍗�
+        /// 鍏朵粬鍏ュ簱鍗�   婧愬崟锛氭棤婧愬崟
         /// </summary>
         /// <param name="oMain"></param>
         /// <param name="sErrMsg"></param>
@@ -28140,7 +29239,7 @@
                 //鏇存柊鍏宠仈鏁伴噺
 
 
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                //鏍规嵁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)
@@ -28152,6 +29251,18 @@
                 else
                 {
                     string sJson_StockStyle = "";
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_OtherInBill_AutoCheck = sCheckFlag;
+                    }
+
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
                     if (oSystemParameterMain.WMS_CampanyName == "闊╃數") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
                     {
                         sJson_StockStyle = "\"F_RKLX\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_RKLX"]) + "\",";    //鍏ュ簱绫诲瀷
@@ -28164,6 +29275,7 @@
                     {
                         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"]) + "\"," +
@@ -28181,6 +29293,7 @@
                         "\"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 +
+                        sJson_MainCustom +
                         "\"FEntity\":[";
                     string sJson_Entry = "";
                     for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
@@ -28192,7 +29305,13 @@
                         string sJson_BatchNo = "";
                         string sJson_StockPlace = "";
                         string sJson_FAUXPROPID = "";
-                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //鏄惁鍚敤鎵规绠$悊
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
+                        //鏄惁鍚敤鎵规绠$悊
+                        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"]) + "\"  , ";
                         }
@@ -28201,6 +29320,7 @@
                             sJson_BatchNo = "";
                         }
 
+                        //浠撲綅
                         if (oSystemParameterMain.WMS_CampanyName == "鍗撳姏") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
                         {
                             sJson_StockPlace = "\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
@@ -28216,6 +29336,7 @@
                                 sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
                             }
                         }
+
                         //杈呭姪灞炴��
                         if (oSystemParameterMain.WMS_CampanyName == "鍗撳姏" || oSystemParameterMain.WMS_CampanyName == "闊╃數") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
                         {
@@ -28233,7 +29354,6 @@
                         {
                             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"]) + "\"}," +
@@ -28260,6 +29380,7 @@
                             "\"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"]) + "\"," +
+                            sJson_SubCustom +
                             "\"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"]) +
@@ -28277,11 +29398,13 @@
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson;
+                            LogService.Write("鐢熸垚鍏朵粬鍏ュ簱鍗曪紙婧愬崟锛氭棤婧愬崟锛夊け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚鍏朵粬鍏ュ簱鍗曪紙婧愬崟锛氭棤婧愬崟锛夋垚鍔燂紒" + sJson);
                             oCn.Commit();
                         }
                     }
@@ -28418,7 +29541,7 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Kf_UpDateRelation_StockInRequestToOtherIn_Add " + oMain.HInterID.ToString());
 
-                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
                 DataSet Ds;
                 Ds = oCn.RunProcReturn("exec h_p_Kf_GetOtherInBill_StockInRequest_CLD_SenKai " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetOtherInBill_StockInRequest_CLD_SenKai");
                 if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
@@ -28468,6 +29591,7 @@
 
                         //瀛愯〃鑷畾涔夊瓧娈�
                         sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
                         //鏄惁鍚敤鎵规绠$悊
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1")
                         {
@@ -28477,6 +29601,7 @@
                         {
                             sJson_BatchNo = "";
                         }
+
                         //浠撲綅
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")
                         {
@@ -28486,8 +29611,10 @@
                         {
                             sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
                         }
+
                         //杈呭姪灞炴��
                         sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100003\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
+                        
                         //鏄惁鍚敤淇濊川鏈熸帶鍒�
                         if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1")
                         {
@@ -28578,11 +29705,13 @@
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson;
+                            LogService.Write("鐢熸垚鍏朵粬鍏ュ簱鍗曪紙婧愬崟锛氬叆搴撶敵璇峰崟锛夊け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚鍏朵粬鍏ュ簱鍗曪紙婧愬崟锛氬叆搴撶敵璇峰崟锛夋垚鍔燂紒" + sJson);
                             oCn.Commit();
                         }
                     }

--
Gitblit v1.9.1