From c16d33963f594c4231cdddbf35025cf7fa3dd693 Mon Sep 17 00:00:00 2001
From: yxj <1qaz@123>
Date: 星期四, 28 七月 2022 15:36:01 +0800
Subject: [PATCH] 单据校验扫码模块,新增扫描物料条码功能:源单中存在多行相同物料时自动拆分换行匹配源单数据

---
 CLOUDWEB/WebService1.asmx.cs | 2216 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 1,803 insertions(+), 413 deletions(-)

diff --git a/CLOUDWEB/WebService1.asmx.cs b/CLOUDWEB/WebService1.asmx.cs
index 2a34859..e071ee7 100644
--- a/CLOUDWEB/WebService1.asmx.cs
+++ b/CLOUDWEB/WebService1.asmx.cs
@@ -6066,6 +6066,9 @@
                 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"]) + "\",";    //鍑鸿揣绫诲瀷
@@ -6095,11 +6098,13 @@
                         "\"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 != "")
@@ -6107,6 +6112,11 @@
                             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"]) + "\"  , ";
@@ -6193,6 +6203,7 @@
                         "\"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"]) + "\" }," +
@@ -6282,7 +6293,7 @@
                 }
                 catch (Exception e)
                 {
-                    sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒" + e.Message;
+                    sErrMsg = "瀹℃牳鐩存帴璋冩嫧鍗曞け璐ワ紒" + e.Message;
                     oCn.RollBack();
                     return false;
                 }
@@ -8650,6 +8661,20 @@
                     return false;
                 }
             }
+            if (sHSourceType == "1243")   //璋冩嫧鐢宠鍗�
+            {
+                if (SaveMoveStockStepOutBill_MoveStockRequest_CLD_New(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
+                {
+                    //"淇濆瓨鎴愬姛锛�";
+                    return true;
+                }
+                else
+                {
+                    //"淇濆瓨澶辫触锛�";
+                    sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛�" + sErrMsg;
+                    return false;
+                }
+            }
             else if (sHSourceType == "-1")   //鏃犳簮鍗�
             {
                 if (SaveMoveStockStepOutBill_CLD_New(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
@@ -8669,6 +8694,341 @@
             {
                 sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涢敊璇殑婧愬崟绫诲瀷";
                 return false;
+            }
+        }
+
+        /// <summary>
+        /// 鍒嗘寮忚皟鍑哄崟   婧愬崟锛氳皟鎷ㄧ敵璇峰崟
+        /// </summary>
+        /// <param name="oMain"></param>
+        /// <param name="sErrMsg"></param>
+        /// <returns></returns>
+        public bool SaveMoveStockStepOutBill_MoveStockRequest_CLD_New(Model.ClsKf_MoveStockStepOutBillMain 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
+            {
+                //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    sErrMsg = s;
+                    return false;
+                }
+                oMain.HYear = sYear;
+                oMain.HPeriod = sPeriod;
+
+                oCn.BeginTran();
+                //鐢熸垚鍑哄叆搴撳崟鎹�
+                //鎻掑叆瀛愯〃
+                oCn.RunProc("EXEC h_p_Kf_MoveStockStepOutBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
+                //鎻掑叆涓昏〃
+                oCn.RunProc("Insert Into Kf_ICStockBillMain   " +
+                "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
+                ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
+                ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
+                ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
+                ",HSTOCKINORGID,HSTOCKOUTORGID,HStockStyle" +
+                ",HSTOCKORGID,HOWNERID" +
+                ") " +
+                " values('1250','1250'," + 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.HStockInOrgID.ToString() + "," + oMain.HStockOutOrgID.ToString() + ",'" + oMain.HStockStyle + "'" +
+                ", " + oMain.HSTOCKORGID.ToString() + "," + oMain.HOWNERID.ToString() +
+                ") ");
+                //鏇存柊鍏宠仈鏁伴噺
+                oCn.RunProc("exec h_p_Kf_UpDateRelation_MoveStockRequestToMoveStock_Add " + oMain.HInterID.ToString());
+
+                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琛� 杩斿洖 瀛愯〃淇℃伅
+                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)
+                {
+                    sErrMsg = "鑾峰彇瀛愯〃淇℃伅澶辫触锛�";
+                    oCn.RollBack();
+                    return false;
+                }
+                else
+                {
+                    string sJson_MainCustom = "";    //涓昏〃鑷畾涔夊瓧娈�
+                    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 + "\"," +
+                        //\"FID\":\"0\",
+                        "\"FOwnerTypeIdHead	\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\"," +
+                        "\"FBillTypeID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\" }," +
+                        "\"FTransferBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferBizType"]) + "\"," +
+                        "\"FOwnerIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\" }," +
+                        "\"FOwnerTypeInIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeInIdHead"]) + "\"," +
+                        "\"FTransferDirect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferDirect"]) + "\"," +
+                        "\"FOwnerInIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerInIdHead"]) + "\" }," +
+                        "\"FStockOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\" }," +
+                        "\"FStockInOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockInOrgId"]) + "\" }," +
+                        "\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
+                        "\"FBaseCurrId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseCurrId"]) + "\" }," +
+                        "\"FVESTONWAY\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FVESTONWAY"]) + "\"," +
+                        //\"FSTOCKERID\":{\"FNumber\":\"\"},
+                        //\"FSTOCKERGROUPID\":{\"FNumber\":\"\"},
+                        //\"FNOTE\":\"\",
+                        "\"FBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBizType"]) + "\"," +
+                        //\"FScanBox\":\"\",
+                        //\"FCustID\":{\"FNUMBER\":\"\"},
+                        "\"FSUPPLIERID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSUPPLIERID"]) + "\" }," +
+                        sJson_MainCustom +
+                        "\"FSTKTRSOUTENTRY\": [   ";
+                    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_DestBatchNo = "";      //璋冨叆鎵瑰彿
+                        string sJson_SrcStockPlace = "";
+                        string sJson_DestStockPlace = "";
+                        string sJson_FProduceDate = "";     //鐢熶骇鏃ユ湡
+                        string sJson_FExpiryDate = "";      //鏈夋晥鏈熻嚦
+                        string sJson_FDestProduceDate = ""; //璋冨叆鐢熶骇鏃ユ湡
+                        string sJson_FDestExpiryDate = "";  //璋冨叆鏈夋晥鏈熻嚦
+                        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"]) + "\"  , ";
+                            sJson_DestBatchNo = "  \"FDESTLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDESTLOT"]) + "\"},    \"FDESTLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDESTLOT"]) + "\"  , ";
+                        }
+                        else
+                        {
+                            sJson_BatchNo = "";
+                            sJson_DestBatchNo = "";
+                        }
+
+                        //杈呭姪灞炴��
+                        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"]) == "")
+                        {
+                            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 (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"]) + "\",";
+                            sJson_FDestProduceDate = " \"FDestProduceDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestProduceDate"]) + "\",";
+                            sJson_FDestExpiryDate = " \"FDESTEXPIRYDATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDESTEXPIRYDATE"]) + "\",";
+                        }
+                        else
+                        {
+                            sJson_FProduceDate = "";
+                            sJson_FExpiryDate = "";
+                            sJson_FDestProduceDate = "";
+                            sJson_FDestExpiryDate = "";
+                        }
+                        //
+                        sJson_Entry = sJson_Entry + " {" +
+                        //\"FEntryID\":\"0\",
+                        "\"FMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\" }," +
+                        "\"FQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQty"]) + "\"," +
+                        sJson_FAUXPROPID +
+                        "\"FUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\" }," +
+                        sJson_BatchNo +
+                        "\"FSrcStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockId"]) + "\" }," +
+                        sJson_SrcStockPlace +
+                        "\"FDestStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockId"]) + "\" }," +
+                        sJson_DestStockPlace +
+                        "\"FBOMId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMId"]) + "\"}," +
+                        "\"FSrcStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockStatusId"]) + "\" }," +
+                        //"\"FDELICHKQUALIFYTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDELICHKQUALIFYTYPE"]) + "\"," +
+                        "\"FDestStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockStatusId"]) + "\" }," +
+                        sJson_FProduceDate +
+                        "\"FBusinessDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBusinessDate"]) + "\"," +
+                        "\"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeId"]) + "\"," +
+                        "\"FOwnerId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerId"]) + "\" }," +
+                        "\"FOwnerTypeInId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERTYPEINID"]) + "\"," +
+                        "\"FOwnerInId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerInId"]) + "\" }," +
+                        //"\"FEntryNote\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryNote"]) + "\"," +
+                        "\"FKeeperTypeInId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERTYPEINID"]) + "\"," +
+                        "\"FKeeperInId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperInId"]) + "\" }," +
+                        "\"FDestMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestMaterialId"]) + "\" }," +
+                        "\"FBaseUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\" }," +
+                        "\"FExtAuxUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitId"]) + "\" }," +
+                        //\"FExtAuxUnitQty\":\"0\",
+                        "\"FKeeperTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeId"]) + "\"," +
+                        "\"FKeeperId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperId"]) + "\" }," +
+                        //\"FQmEntryId\":\"0\",
+                        //\"FConvertEntryId\":\"0\",
+                        "\"FMtoNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMtoNo"]) + "\"," +
+                        "\"FDestMTONO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestMTONO"]) + "\"," +
+                        "\"FDestBomId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestBomId"]) + "\"}," +
+                        "\"FSNUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNUnitID"]) + "\" }," +
+                        "\"FSecUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSecUnitID"]) + "\" }," +
+                        "\"FCheckDelivery\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCheckDelivery"]) + "\"," +
+                        "\"FSrcBillDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcBillDate"]) + "\"," +
+                        "\"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
+                        "\"FSRCBILLTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\"," +
+                        sJson_FExpiryDate +
+                        sJson_FDestProduceDate +
+                        sJson_FDestExpiryDate +
+                        sJson_DestBatchNo +
+                        sJson_SubCustom +
+
+                        //\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
+                        //\"FSerialNo\":\"\",
+                        //\"FSerialNote\":\"\"}]
+
+                        "\"FSTKTSTKRANSFEROUTENTRY_Link\": [ {  " +
+                        "\"FSTKTSTKRANSFEROUTENTRY_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowId"]) + "\"," +
+                        "\"FSTKTSTKRANSFEROUTENTRY_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowLineId"]) + "\"," +
+                        "\"FSTKTSTKRANSFEROUTENTRY_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," +
+                        "\"FSTKTSTKRANSFEROUTENTRY_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," +
+                        "\"FSTKTSTKRANSFEROUTENTRY_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," +
+                        "\"FSTKTSTKRANSFEROUTENTRY_Link_FBASEQTYOLD\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FBASEQTYOLD"]) + "\"," +
+                        "\"FSTKTSTKRANSFEROUTENTRY_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"" +
+                        " } ]," +
+                        " \"FBFLOWID\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLOWID"]) + "\"}}";
+                    }
+                    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_TRANSFEROUT", sJson }); //璋冪敤淇濆瓨鏂瑰紡
+
+                        //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
+                        oCn.RunProc("exec h_p_Sc_UpDateSelfFildMoveStockStepOut '" + oMain.HBillNo + "','" + sHSourceType + "'");
+
+                        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_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;
             }
         }
 
@@ -12648,7 +13008,6 @@
                 if (SaveSellOutBill_SeOutStock_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -13029,7 +13388,32 @@
         /// <returns></returns>
         private bool SaveSellOutBill_SeOutStock_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
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -13064,12 +13448,6 @@
                 ") ");
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Xs_UpDateRelation_SeOutStockToSellOut_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;
@@ -13232,8 +13610,8 @@
                         " \"FDISCOUNTRATE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDISCOUNTRATE"]) + "," +
                         //\"FPriceDiscount\":\"0\",
                         //\"FActQty\":\"0\",
-                        " \"FSALUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALUNITID"]) + "\"}," +
-                        " \"FSALUNITQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALUNITQTY"]) + "," +
+                        //" \"FSALUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALUNITID"]) + "\"}," + //绉诲埌涓嬫柟
+                        //" \"FSALUNITQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALUNITQTY"]) + "," +                 //绉诲埌涓嬫柟
                         " \"FSALBASEQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALBASEQTY"]) + "," +
                         " \"FPRICEBASEQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRICEBASEQTY"]) + "," +
                         //\"FProjectNo\":\"\",
@@ -13269,6 +13647,8 @@
                         " \"FBASEUNITQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITQTY"]) + "," +
                         " \"FSALBASENUM\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALBASENUM"]) + "," +
                         " \"FSTOCKBASEDEN\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKBASEDEN"]) + "," +
+                        " \"FSALUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALUNITID"]) + "\"}," +
+                        " \"FSALUNITQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALUNITQTY"]) + "," +
                         sJson_SubCustom +
 
                         " \"FTaxDetailSubEntity\": [ {  " +
@@ -13307,31 +13687,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",
@@ -13340,22 +13696,8 @@
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         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;
@@ -13364,13 +13706,13 @@
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚閿�鍞嚭搴撳崟鎴愬姛锛�" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚閿�鍞嚭搴撳崟澶辫触锛佺櫥褰曞け璐ワ紒";
+                        sErrMsg = "鐢熸垚閿�鍞嚭搴撳崟澶辫触锛侀噾铦朵簯鐧诲綍澶辫触锛�";
                         oCn.RollBack();
                         return false;
                     }
@@ -13381,6 +13723,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;
             }
         }
 
@@ -18921,7 +19309,6 @@
                 if (SaveOtherOutBill_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -19225,7 +19612,32 @@
         /// <returns></returns>
         public bool SaveOtherOutBill_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
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -19262,11 +19674,6 @@
                 ") ");
                 //鏇存柊鍏宠仈鏁伴噺
 
-                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;
@@ -19399,67 +19806,28 @@
                     string sJson_End = "  ]  }}";
                     string sJson = sJson_Main + sJson_Entry + sJson_End;
 
-                    //浠庨厤缃枃浠惰幏鍙� CLOUD缃戝潃銆佽处濂椾俊鎭�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮�
-                    if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
-                    {
-                        sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
-                        return false;
-                    }
-
-                    //鑾峰彇CLOUD璐﹀彿瀵嗙爜
-                    string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
-                    string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
-                    DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
-                    if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
-                    {
-                    }
-                    else
-                    {
-                        sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
-                        sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
-                    }
-
-                    //鐢熸垚 鍏朵粬鍑哄簱鍗� 1涓墿鏂�1鍗�
-                    string HReturn;
-                    ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
-                    string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
-                    bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
+                    //鐢熸垚閲戣澏浜戝崟鎹�
                     if (bLogin)
                     {
                         var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
                         new object[] { "STK_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;
+                            sErrMsg = "鐢熸垚鍏朵粬鍑哄簱鍗曞け璐ワ紒" + HReturn + sJson;
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鍏朵粬鍑哄簱鍗曞け璐ワ紒鐧诲綍澶辫触锛�";
+                        sErrMsg = "鐢熸垚鍏朵粬鍑哄簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
                         oCn.RollBack();
                         return false;
                     }
@@ -19467,9 +19835,55 @@
             }
             catch (Exception e)
             {
-                sErrMsg = "鍏朵粬鍑哄簱鍗曞け璐ワ紒" + e.Message;
+                sErrMsg = "鐢熸垚鍏朵粬鍑哄簱鍗曞け璐ワ紒" + e.Message;
                 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;
             }
         }
 
@@ -24503,7 +24917,6 @@
                 if (SaveProductInBill_ICMO_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -24518,7 +24931,6 @@
                 if (SaveProductInBill_ICMOReport_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -24543,7 +24955,32 @@
         /// <returns></returns>
         public bool SaveProductInBill_ICMO_CLD(Model.ClsKf_ProductInBillMain 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
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -24579,12 +25016,6 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Sc_UpDateRelation_ICMOToProductIn_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.Kf_ProductInBill_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_GetProductInBill_ICMO_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetProductInBill_ICMO_CLD_New");
@@ -24596,6 +25027,17 @@
                 }
                 else
                 {
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if (sCheckFlag != "")
+                    {
+                        oSystemParameterMain.Kf_ProductInBill_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\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
@@ -24614,6 +25056,7 @@
                         //\"FCurrId\":{\"FNumber\":\"\"},
                         //\"FEntrustInStockId\":\"0\",
                         //\"FScanBox\":\"\",
+                        sJson_MainCustom +
                         "\"FEntity\": [   ";
                     string sJson_Entry = "";
                     for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
@@ -24624,6 +25067,7 @@
                         }
                         string sJson_BatchNo = "";
                         string sJson_StockPlace = "";
+                        string sJson_FAUXPROPID = "";
                         string sJson_SubCustom = "";    //瀛愯〃鑷畾涔夊瓧娈�
 
                         sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
@@ -24636,6 +25080,10 @@
                         {
                             sJson_BatchNo = "";
                         }
+
+                        //杈呭姪灞炴��
+                        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"]) == "")
                         {
@@ -24669,6 +25117,7 @@
                         sJson_BatchNo +
                         " \"FISBACKFLUSH\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISBACKFLUSH"]) + "," +
                         //" \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}}," +
+                        sJson_FAUXPROPID +
                         " \"FMTONO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMTONO"]) + "\"," +
                         " \"FPROJECTNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPROJECTNO"]) + "\"," +
                         " \"FWORKSHOPID1\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FWORKSHOPID1"]) + "\"}," +
@@ -24725,31 +25174,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",
@@ -24758,22 +25183,8 @@
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildProductIn '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "PRD_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[] { "PRD_INSTOCK", sJson3 }); //瀹℃牳鍗曟嵁
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson;
@@ -24783,12 +25194,11 @@
                         else
                         {
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒鐧诲綍澶辫触锛�";
+                        sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
                         oCn.RollBack();
                         return false;
                     }
@@ -24800,6 +25210,52 @@
                 oCn.RollBack();
                 return false;
             }
+
+            if (oSystemParameterMain.Kf_ProductInBill_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_INSTOCK", sJson2 }); //鎻愪氦鍗曟嵁
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "PRD_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;
+            }
         }
 
         /// <summary>
@@ -24810,7 +25266,32 @@
         /// <returns></returns>
         public bool SaveProductInBill_ICMOReport_CLD(Model.ClsKf_ProductInBillMain 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
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -24846,12 +25327,6 @@
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Sc_UpDateRelation_ICMOReportToProductIn_Add " + oMain.HInterID.ToString());
 
-                if (oSystemParameterMain.Kf_ProductInBill_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_GetProductInBill_ICMOReport_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetProductInBill_ICMOReport_CLD_New");
@@ -24863,6 +25338,17 @@
                 }
                 else
                 {
+                    string sCheckFlag = "";         //鏄惁瀹℃牳鏍囧織
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+                    //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織
+                    sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]);
+                    if(sCheckFlag!="")
+                    {
+                        oSystemParameterMain.Kf_ProductInBill_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\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
@@ -24881,6 +25367,7 @@
                         //\"FCurrId\":{\"FNumber\":\"\"},
                         //\"FEntrustInStockId\":\"0\",
                         //\"FScanBox\":\"\",
+                        sJson_MainCustom +
                         "\"FEntity\": [   ";
                     string sJson_Entry = "";
                     for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
@@ -25024,31 +25511,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",
@@ -25057,22 +25520,8 @@
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildProductIn '" + oMain.HBillNo + "','" + sHSourceType + "'");
 
-                        if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "PRD_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[] { "PRD_INSTOCK", sJson3 }); //瀹℃牳鍗曟嵁
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson;
@@ -25082,12 +25531,11 @@
                         else
                         {
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒鐧诲綍澶辫触锛�";
+                        sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
                         oCn.RollBack();
                         return false;
                     }
@@ -25098,6 +25546,52 @@
                 sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒" + e.Message;
                 oCn.RollBack();
                 return false;
+            }
+
+            if (oSystemParameterMain.Kf_ProductInBill_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_INSTOCK", sJson2 }); //鎻愪氦鍗曟嵁
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "PRD_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;
             }
         }
 
@@ -27545,7 +28039,6 @@
                 if (SaveOtherInBill_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -27560,7 +28053,6 @@
                 if (SaveOtherInBill_StockInRequest_CLD_SenKai(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -27585,7 +28077,32 @@
         /// <returns></returns>
         public bool SaveOtherInBill_CLD(Model.ClsKf_OtherInBillMain 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
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -27622,11 +28139,6 @@
                 ") ");
                 //鏇存柊鍏宠仈鏁伴噺
 
-                if (oSystemParameterMain.Kf_OtherInBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                {
-                    //瀹℃牳鍗曟嵁
-                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
-                }
 
                 //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
                 DataSet Ds;
@@ -27754,67 +28266,28 @@
                     string sJson_End = "  ]  }}";
                     string sJson = sJson_Main + sJson_Entry + sJson_End;
 
-                    //浠庨厤缃枃浠惰幏鍙� CLOUD缃戝潃銆佽处濂椾俊鎭�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮�
-                    if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
-                    {
-                        sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
-                        return false;
-                    }
-
-                    //鑾峰彇CLOUD璐﹀彿瀵嗙爜
-                    string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
-                    string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
-                    DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
-                    if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
-                    {
-                    }
-                    else
-                    {
-                        sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
-                        sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
-                    }
-
-                    //鐢熸垚 鍏朵粬鍏ュ簱鍗� 1涓墿鏂�1鍗�
-                    string HReturn;
-                    ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
-                    string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
-                    bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
+                    //鐢熸垚閲戣澏浜戝崟鎹�
                     if (bLogin)
                     {
                         var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
                         new object[] { "STK_MISCELLANEOUS", sJson });
 
-                        if (oSystemParameterMain.Kf_OtherInBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "STK_MISCELLANEOUS", sJson2 });
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "STK_MISCELLANEOUS", sJson3 });
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
-                            sErrMsg = "鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson;
+                            sErrMsg = "鐢熸垚鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson;
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鍏朵粬鍏ュ簱鍗曞け璐ワ紒鐧诲綍澶辫触锛�";
+                        sErrMsg = "鐢熸垚鍏朵粬鍏ュ簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
                         oCn.RollBack();
                         return false;
                     }
@@ -27822,9 +28295,55 @@
             }
             catch (Exception e)
             {
-                sErrMsg = "鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + e.Message;
+                sErrMsg = "鐢熸垚鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + e.Message;
                 oCn.RollBack();
                 return false;
+            }
+
+            if (oSystemParameterMain.Kf_OtherInBill_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_MISCELLANEOUS", sJson2 });
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "STK_MISCELLANEOUS", sJson3 });
+
+                    HReturn = 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;
             }
         }
 
@@ -27836,7 +28355,32 @@
         /// <returns></returns>
         public bool SaveOtherInBill_StockInRequest_CLD_SenKai(Model.ClsKf_OtherInBillMain 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
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -27873,12 +28417,6 @@
                 ") ");
                 //鏇存柊鍏宠仈鏁伴噺
                 oCn.RunProc("exec h_p_Kf_UpDateRelation_StockInRequestToOtherIn_Add " + oMain.HInterID.ToString());
-
-                if (oSystemParameterMain.Kf_OtherInBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                {
-                    //瀹℃牳鍗曟嵁
-                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
-                }
 
                 //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
                 DataSet Ds;
@@ -28029,52 +28567,14 @@
                     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_MISCELLANEOUS", sJson });
 
-                        if (oSystemParameterMain.Kf_OtherInBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "STK_MISCELLANEOUS", sJson2 });
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "STK_MISCELLANEOUS", sJson3 });
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson;
@@ -28084,7 +28584,6 @@
                         else
                         {
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
@@ -28100,6 +28599,52 @@
                 sErrMsg = "鐢熸垚鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + e.Message;
                 oCn.RollBack();
                 return false;
+            }
+
+            if (oSystemParameterMain.Kf_OtherInBill_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_MISCELLANEOUS", sJson2 });
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "STK_MISCELLANEOUS", sJson3 });
+
+                    HReturn = 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;
             }
         }
 
@@ -28670,7 +29215,7 @@
 
         #endregion
 
-        #region 宸ュ簭姹囨姤杞Щ鍗�        *
+        #region 宸ュ簭姹囨姤杞Щ鍗�        *鐢熸垚鐢熶骇鍏ュ簱鍗曘�侀鏂欏嚭搴撳崟
 
         //鐢熸垚宸ュ簭姹囨姤杞Щ鍗�
         [WebMethod]
@@ -29301,6 +29846,651 @@
             catch (Exception e)
             {
                 sErrMsg = "宸ュ簭姹囨姤杞Щ涓敓鎴愮敓浜ч鏂欏崟澶辫触锛�" + e.Message;
+                oCn.RollBack();
+                return false;
+            }
+        }
+
+        #endregion
+
+        #region 宸ュ簭姹囨姤杞Щ鍗�        *鐢熸垚鐢熶骇鍏ュ簱鍗曘�佺洿鎺ヨ皟鎷ㄥ崟
+
+        //鐢熸垚宸ュ簭姹囨姤杞Щ鍗�     鐢熶骇鍏ュ簱鍗曘�佺洿鎺ヨ皟鎷ㄥ崟
+        [WebMethod]
+        public bool set_SaveProcReportMoveBill_MoveStock(Model.ClsKf_ProductInBillMain oMain, Int64 HOutBillID, string HOutBillNo, string HPPBomBillNo, Int64 HSCWHID, Int64 HSCSPID, ref string sErrMsg)
+        {
+            //鑾峰彇绯荤粺鍙傛暟
+            Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+            if (oSystemParameter.ShowBill(ref sErrMsg) == false)
+            {
+                sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                return false;
+            }
+
+            //涓婁紶鍓嶅垽鏂�
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_PreUploadJudgment_ProcReportMoveStock " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + HOutBillID.ToString() + ",'" + HOutBillNo + "','" + HPPBomBillNo + "'," + HSCWHID.ToString() + "," + HSCSPID.ToString() + "," + oMain.HOWNERID.ToString(), "h_p_WMS_PreUploadJudgment_ProcReportMoveStock");
+            if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+            {
+                sErrMsg = "涓婁紶鍓嶅垽鏂暟鎹畬鏁存�уけ璐ワ紒";
+                return false;
+            }
+            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 (set_SaveProcReportMoveBill_MoveStock_CLD_New(oMain, HOutBillID, HOutBillNo, oSystemParameter.omodel, ref sErrMsg) == true)
+            {
+                //"淇濆瓨鎴愬姛锛�";
+                return true;
+            }
+            else
+            {
+                //"淇濆瓨澶辫触锛�";
+                return false;
+            }
+
+            sErrMsg = "淇濆瓨宸ュ簭姹囨姤杞Щ鍗曞け璐ワ紒" + sErrMsg;
+            return false;
+        }
+
+        //鐢熸垚宸ュ簭姹囨姤杞Щ鍗�
+        [WebMethod]
+        public bool set_SaveProcReportMoveBill_MoveStock_CLD_New(Model.ClsKf_ProductInBillMain oMain, Int64 HOutBillID, string HOutBillNo, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+            if (SaveProcReportMoveBill_MoveStock_CLD(oMain, HOutBillID, HOutBillNo, oSystemParameterMain, ref sErrMsg))
+            {
+                //"淇濆瓨鎴愬姛锛�";
+                sErrMsg = "淇濆瓨鎴愬姛锛佺敓浜у叆搴撳崟鍙凤細" + oMain.HBillNo + "锛岀洿鎺ヨ皟鎷ㄥ崟鍙凤細" + HOutBillNo;
+                return true;
+            }
+            else
+            {
+                //"淇濆瓨澶辫触锛�";
+                sErrMsg = "鐢熶骇鍏ュ簱鍗曞彿锛�" + oMain.HBillNo + "锛岀敓浜у叆搴撳崟ID锛�" + oMain.HInterID + "锛岀洿鎺ヨ皟鎷ㄥ崟鍙凤細" + HOutBillNo + "锛岀洿鎺ヨ皟鎷ㄥ崟ID锛�" + HOutBillID + "锛�" + sErrMsg;
+                return false;
+            }
+        }
+
+        /// <summary>
+        /// 宸ュ簭姹囨姤杞Щ鍗� 鐢熶骇鍏ュ簱鍗�   婧愬崟锛氱敓浜ф眹鎶ュ崟    鐩存帴璋冩嫧鍗�   婧愬崟锛氱敓浜х敤鏂欐竻鍗�
+        /// </summary>
+        /// <param name="oMain"></param>
+        /// <param name="sErrMsg"></param>
+        /// <returns></returns>
+        public bool SaveProcReportMoveBill_MoveStock_CLD(Model.ClsKf_ProductInBillMain oMain, Int64 HOutBillID, string HOutBillNo, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //寤虹珛涓�涓� 浜嬪姟锛�
+            try
+            {
+                //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    sErrMsg = s;
+                    return false;
+                }
+                oMain.HYear = sYear;
+                oMain.HPeriod = sPeriod;
+
+                oCn.BeginTran();
+                //鐢熸垚鍑哄叆搴撳崟鎹�
+                //鎻掑叆瀛愯〃
+                oCn.RunProc("EXEC h_p_Kf_ProductInBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','3711'");
+                //鎻掑叆涓昏〃
+                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" +
+                ",HSTOCKORGID,HOWNERID" +
+                ") " +
+                " values('1202','1202'," + 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.HBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
+                ", " + oMain.HSTOCKORGID.ToString() + "," + oMain.HOWNERID.ToString() +
+                ") ");
+                //鏇存柊鍏宠仈鏁伴噺
+                oCn.RunProc("exec h_p_Sc_UpDateRelation_ICMOReportToProductIn_Add " + oMain.HInterID.ToString());
+
+                if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+                {
+                    //瀹℃牳鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
+                }
+                oCn.Commit();
+            }
+            catch (Exception e)
+            {
+                sErrMsg = "鐢熸垚宸ュ簭姹囨姤杞Щ涓敓浜у叆搴撳崟澶辫触ERP锛�" + e.Message;
+                oCn.RollBack();
+                return false;
+            }
+
+            try
+            {
+                //鏍规嵁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)
+                {
+                    sErrMsg = "鑾峰彇宸ュ簭姹囨姤杞Щ涓敓浜у叆搴撳崟瀛愯〃淇℃伅澶辫触锛�";
+                    return false;
+                }
+                else
+                {
+                    string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
+                        "\"IsEntryBatchFill\":\"false\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
+                        "\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
+                        //\"FID\":\"0\",
+                        "\"FBillType\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillType"]) + "\"}," +
+                        "\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
+                        "\"FSTOCKORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKORGID"]) + "\"}," +
+                        //\"FStockId0\":{\"FNumber\":\"\"},
+                        "\"FPRDORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPRDORGID"]) + "\"}," +
+                        //\"FWorkShopId\":{\"FNumber\":\"\"},
+                        "\"FOWNERTYPEID0\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERTYPEID0"]) + "\"," +
+                        "\"FOWNERID0\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERID0"]) + "\"}," +
+                        //\"FSTOCKERID\":{\"FNAME\":\"\"},
+                        //\"FDescription\":\"\",
+                        "\"FISENTRUST\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISENTRUST"]) + "," +
+                        //\"FCurrId\":{\"FNumber\":\"\"},
+                        //\"FEntrustInStockId\":\"0\",
+                        //\"FScanBox\":\"\",
+                        "\"FEntity\": [   ";
+                    string sJson_Entry = "";
+                    for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
+                    {
+                        if (sJson_Entry != "")
+                        {
+                            sJson_Entry = sJson_Entry + " , ";
+                        }
+                        string sJson_BatchNo = "";
+                        string sJson_StockPlace = "";
+                        string sJson_FProduceDate = "";     //鐢熶骇鏃ユ湡
+                        string 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 = "";
+                        }
+
+                        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"]) + "\",";
+                        }
+                        else
+                        {
+                            sJson_FProduceDate = "";
+                            sJson_FExpiryDate = "";
+                        }
+
+                        //浠撲綅
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) == "")
+                        {
+                            sJson_StockPlace = "";
+                        }
+                        else
+                        {
+                            sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) + "\"}},";
+                        }
+                        //
+                        sJson_Entry = sJson_Entry + " {" +
+                        //\"FEntryID\":\"0\",
+                        " \"FSRCENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYID"]) + "," +
+                        " \"FIsNew\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsNew"]) + "," +
+                        " \"FMATERIALID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMATERIALID"]) + "\"}," +
+                        " \"FCHECKPRODUCT\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCHECKPRODUCT"]) + "," +
+                        " \"FINSTOCKTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FINSTOCKTYPE"]) + "\"," +
+                        " \"FPRODUCTTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRODUCTTYPE"]) + "\"," +
+                        " \"FUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUNITID"]) + "\"}," +
+                        " \"FMUSTQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMUSTQTY"]) + "," +
+                        " \"FREALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREALQTY"]) + "," +
+                        " \"FCostRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCOSTWEIGHT"]) + "," +
+                        " \"FBASEUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITID"]) + "\"}," +
+                        " \"FBASEMUSTQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEMUSTQTY"]) + "," +
+                        " \"FBASEREALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEREALQTY"]) + "," +
+                        " \"FOWNERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERTYPEID"]) + "\"," +
+                        " \"FOWNERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERID"]) + "\"}," +
+                        " \"FSTOCKID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKID"]) + "\"}," +
+                        sJson_StockPlace +
+                        " \"FBOMID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMID"]) + "\"}," +
+                        sJson_BatchNo +
+                        " \"FISBACKFLUSH\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISBACKFLUSH"]) + "," +
+                        " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}}," +
+                        " \"FMTONO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMTONO"]) + "\"," +
+                        " \"FPROJECTNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPROJECTNO"]) + "\"," +
+                        " \"FWORKSHOPID1\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FWORKSHOPID1"]) + "\"}," +
+                        " \"FSHIFTGROUPID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSHIFTGROUPID"]) + "\"}," +
+                        " \"FMOBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOBILLNO"]) + "\"," +
+                        " \"FMOID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOID"]) + "," +
+                        " \"FMOENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOENTRYID"]) + "," +
+                        " \"FMOENTRYSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOENTRYSEQ"]) + "," +
+                        " \"FMemo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMemo"]) + "\"," +
+                        " \"FSTOCKUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKUNITID"]) + "\"}," +
+                        " \"FSTOCKREALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKREALQTY"]) + "," +
+                        " \"FSECUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSECUNITID"]) + "\"}," +
+                        //\"FSecRealQty\":\"0\",
+                        " \"FSRCBILLTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPE"]) + "\"," +
+                        " \"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
+                        " \"FSRCINTERID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCINTERID"]) + "," +
+                        " \"FBASEPRDREALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEPRDREALQTY"]) + "," +
+                        //\"FIsFinished\":\"false\",
+                        //\"FStockStatusId\":{\"FNumber\":\"\"},
+                        " \"FSRCENTRYSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYSEQ"]) + "," +
+                        " \"FMOMAINENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOMAINENTRYID"]) + "," +
+                        " \"FKEEPERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERTYPEID"]) + "\"," +
+                        " \"FKEEPERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERID"]) + "\"}," +
+                        sJson_FProduceDate +
+                        //\"FSelReStkQty\":\"0\",
+                        sJson_FExpiryDate +
+                        //\"FBaseSelReStkQty\":\"0\",
+                        " \"FSNUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNUNITID"]) + "\"}," +
+                        " \"FQAIP\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQAIP"]) + "\"," +
+                        " \"FREQSRC\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQSRC"]) + "\"," +
+                        " \"FREQBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLNO"]) + "\"," +
+                        " \"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"]) + "," +
+
+                        //\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
+                        //\"FSerialNo\":\"\",
+                        //\"FSerialId\":{\"FNumber\":\"\"},
+                        //\"FSerialNote\":\"\"}]
+
+                        " \"FEntity_Link\": [ {  " +
+                            " \"FEntity_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowId"]) + "\"," +
+                            " \"FEntity_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowLineId"]) + "\"," +
+                            " \"FEntity_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," +
+                            " \"FEntity_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," +
+                            " \"FEntity_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," +
+                            " \"FEntity_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"," +
+                            " \"FEntity_Link_FBasePrdRealQtyOld\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FBasePrdRealQtyOld"]) + "," +
+                            " \"FEntity_Link_FBasePrdRealQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FBasePrdRealQty"]) + "" +
+                        " } ]," +
+                        " \"FBFLOWID\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLOWID"]) + "\"}}";
+                    }
+                    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_INSTOCK", sJson }); //璋冪敤淇濆瓨鏂瑰紡
+
+                        //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
+                        oCn.RunProc("exec h_p_Sc_UpDateSelfFildProductIn '" + oMain.HBillNo + "','3711'");
+
+                        if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+                        {
+                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                            new object[] { "PRD_INSTOCK", sJson2 }); //鎻愪氦鍗曟嵁
+
+                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                            new object[] { "PRD_INSTOCK", sJson3 }); //瀹℃牳鍗曟嵁
+
+                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
+                        }
+                        else
+                        {
+                            HReturn = result.ToString();
+                        }
+                        if (HReturn.Contains("\"IsSuccess\":false") == true)
+                        {
+                            sErrMsg = "宸ュ簭姹囨姤杞Щ鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson;
+                            return false;
+                        }
+                        else
+                        {
+                            if (SaveMoveStockBill_ProcReportMove_CLD(oMain, HOutBillID, HOutBillNo, oSystemParameterMain, ref sErrMsg))
+                            {
+                                return true;
+                            }
+                            else
+                            {
+                                return false;
+                            }
+                        }
+                    }
+                    else
+                    {
+                        sErrMsg = "宸ュ簭姹囨姤杞Щ鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒鐧诲綍澶辫触锛�";
+                        return false;
+                    }
+                }
+            }
+            catch (Exception e)
+            {
+                sErrMsg = "宸ュ簭姹囨姤杞Щ鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒" + e.Message;
+                return false;
+            }
+        }
+
+
+        /// <summary>
+        /// 宸ュ簭姹囨姤杞Щ鍗� 鐩存帴璋冩嫧鍗�    锛堟簮鍗曪細鐢熶骇鐢ㄦ枡娓呭崟锛�
+        /// </summary>
+        /// <param name="oMain"></param>
+        /// <param name="sErrMsg"></param>
+        /// <returns></returns>
+        public bool SaveMoveStockBill_ProcReportMove_CLD(Model.ClsKf_ProductInBillMain oMain, Int64 HOutBillID, string HOutBillNo, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            try
+            {
+                //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    sErrMsg = s;
+                    return false;
+                }
+                oMain.HYear = sYear;
+                oMain.HPeriod = sPeriod;
+
+                oCn.BeginTran();
+                //鍐欏叆WMS璋冩嫧鍗�
+                //鎻掑叆瀛愯〃
+                oCn.RunProc("EXEC h_p_Kf_MoveStockBillSub_Insert_ProcReportMove " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + HOutBillID.ToString() + ",'" + HOutBillNo + "'");
+                //鎻掑叆涓昏〃
+                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" +
+                ",HSTOCKORGID,HOWNERID" +
+                ") " +
+                " values('1207','1207'," + HOutBillID.ToString() + ",'" + HOutBillNo + "',convert(varchar(10),getdate(),120),'鐢熶骇浠诲姟鍗�-鎶曟枡'" +
+                ", " + 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.HBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
+                ", " + oMain.HSTOCKORGID.ToString() + "," + oMain.HOWNERID.ToString() +
+                ") ");
+                //鏇存柊鍏宠仈鏁伴噺
+                oCn.RunProc("exec h_p_Sc_UpDateMoveStockPPBomRelation_Add " + HOutBillID.ToString());
+
+                if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+                {
+                    //瀹℃牳鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + HOutBillID.ToString());
+                }
+
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
+                DataSet Ds;
+                Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockBill_ProcReportMove_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + HOutBillID.ToString() + ",'" + HOutBillNo + "'," + oMain.HOWNERID.ToString(), "h_p_Kf_GetMoveStockBill_ProcReportMove_CLD_New");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
+                {
+                    sErrMsg = "鑾峰彇宸ュ簭姹囨姤杞Щ涓洿鎺ヨ皟鎷ㄥ崟瀛愯〃淇℃伅澶辫触锛�";
+                    oCn.RollBack();
+                    return false;
+                }
+                else
+                {
+                    string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
+                        "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
+                        "\"Model\":{ " +
+                        //\"FID\":\"0\",
+                        "\"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"]) + "\"}," +
+                        //\"FStockerId\":{\"FNumber\":\"\"},
+                        //\"FStockerGroupId\":{\"FNumber\":\"\"},
+                        "\"FDATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDATE"]) + "\"," +
+                        //\"FNote\":\"\",
+                        "\"FBaseCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseCurrId"]) + "\"}," +
+                        "\"FSUPPLIERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSUPPLIERID"]) + "\"}," +
+                        //\"FCustID\":{\"FNUMBER\":\"\"},
+                        //\"FScanBox\":\"\",
+                        //\"FThirdSystem\":\"\",
+                        //\"FThirdSrcBillNo\":\"\",
+                        //\"FThirdSrcId\":\"\",
+                        "\"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 = "";
+                        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 = "";
+                        }
+                        //杈呭姪灞炴��
+                        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"]) == "")
+                        {
+                            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"]) + "\"}},";
+                        }
+                        //
+                        sJson_Entry = sJson_Entry + " {" +
+                        //\"FEntryID\":\"0\",
+                        " \"FMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\"}," +
+                        //" \"FAuxPropId\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAuxPropId"]) + "\"}}," +
+                        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 +
+                        //\"FPrice\":\"0\",
+                        " \"FDestStockId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockId"]) + "\"}," +
+                        sJson_DestStockPlace +
+                        " \"FBomId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBomId"]) + "\"}," +
+                        " \"FSrcStockStatusId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockStatusId"]) + "\"}," +
+                        //\"FDeliChkQualifyType\":\"\",
+                        //\"FAmount\":\"0\",
+                        //\"FProduceDate\":\"1900-01-01\",
+                        " \"FDestStockStatusId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockStatusId"]) + "\"}," +
+                        " \"FMtoNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMtoNo"]) + "\"," +
+                        " \"FBusinessDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBusinessDate"]) + "\"," +
+                        //\"FExpiryDate\":\"1900-01-01\",
+                        " \"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"]) + "\"}," +
+                        //\"FNoteEntry\":\"\",
+                        " \"FProjectNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProjectNo"]) + "\"," +
+                        //\"FOutJoinQty\":\"0\",
+                        " \"FSecUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSecUnitId"]) + "\"}," +
+                        //\"FSecQty\":\"0\",
+                        //\"FBASEOUTJOINQTY\":\"0\",
+                        " \"FBaseUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\"}," +
+                        " \"FExtAuxUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitId"]) + "\"}," +
+                        //\"FExtAuxUnitQty\":\"0\",
+                        " \"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"]) + "\"," +
+                        //\"FActQty\":\"0\",
+                        " \"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"]) + "\"}," +
+                        //\"FDiscountRate\":\"0\",
+                        //\"FRepairQty\":\"0\",
+                        //\"FRETURNNOTE\":\"\",
+                        " \"FDestLot\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestLot"]) + "\"}," +
+                        " \"FDestMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestMaterialId"]) + "\"}," +
+                        " \"FDestBomId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestBomId"]) + "\"}," +
+                        //\"FServiceContext\":\"\",
+                        //\"FPriceUnitID\":{\"FNumber\":\"\"},
+                        //\"FPriceQty\":\"0\",
+                        //\"FPriceBaseQty\":\"0\",
+                        //\"FSOEntryId\":\"0\",
+                        " \"FTransReserveLink\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTransReserveLink"]) + "," +
+                        //\"FQmEntryId\":\"0\",
+                        //\"FConvertEntryId\":\"0\",
+                        //\"FThirdSrcEntryId\":\"\",
+                        " \"FOrderNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOrderNo"]) + "\"," +
+                        " \"FSNUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNUnitID"]) + "\"}," +
+                        " \"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"]) + "\"," +
+
+                        //\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
+                        //\"FSerialNo\":\"\",
+                        //\"FSerialNote\":\"\"}]
+
+                        " \"FBillEntry_Link\": [{" +
+                            " \"FBillEntry_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowId"]) + "\"," +
+                            " \"FBillEntry_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowLineId"]) + "\"," +
+                            " \"FBillEntry_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," +
+                            " \"FBillEntry_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," +
+                            " \"FBillEntry_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," +
+                            " \"FBillEntry_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"" +
+                        " } ]," +
+                        " \"FBFLOWID\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLOWID"]) + "\"}}";
+                    }
+                    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_TransferDirect", sJson });
+
+                        //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
+                        oCn.RunProc("exec h_p_Sc_UpDateSelfFildMove '" + oMain.HBillNo + "','3720'");
+
+                        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 });
+
+                            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;
+                            oCn.RollBack();
+                            return false;
+                        }
+                        else
+                        {
+                            oCn.Commit();
+                            return true;
+                        }
+                    }
+                    else
+                    {
+                        sErrMsg = "宸ュ簭姹囨姤杞Щ涓敓鎴愮洿鎺ヨ皟鎷ㄥ崟澶辫触锛佺櫥褰曞け璐ワ紒";
+                        oCn.RollBack();
+                        return false;
+                    }
+                }
+            }
+            catch (Exception e)
+            {
+                sErrMsg = "宸ュ簭姹囨姤杞Щ涓敓鎴愮洿鎺ヨ皟鎷ㄥ崟澶辫触锛�" + e.Message;
                 oCn.RollBack();
                 return false;
             }
@@ -31583,10 +32773,11 @@
             }
             //鍒ゆ柇鏉$爜鏄惁鍚壒娈婄鍙� # 锛屽鏋滃惈鏈夊垯 鎷嗗垎
             string[] NewBarCode;
-            if (sBarCode.CompareTo("#") > 0)
+            if (sBarCode.Contains("#"))
             {
                 NewBarCode = sBarCode.Split(Convert.ToChar("#"));
                 sBarCode = NewBarCode[0];
+                HQty = DBUtility.ClsPub.isDoule(NewBarCode[1]);
             }
             //鏍规嵁鐗╂枡鏉$爜寰楀埌瀵瑰簲婧愬崟淇℃伅锛岄潪澶氭簮鍗曟ā寮忥紝鍒ゆ柇鏄惁宸叉湁婧愬崟璁板綍(鍗曟嵁绫诲瀷=1203锛屽叾浠栧叆搴撳崟闄ゅ)
             if (SourceFlag || HBillType == "1203")
@@ -32140,10 +33331,11 @@
             }
             //鍒ゆ柇鏉$爜鏄惁鍚壒娈婄鍙� # 锛屽鏋滃惈鏈夊垯 鎷嗗垎
             string[] NewBarCode;
-            if (sBarCode.CompareTo("#") > 0)
+            if (sBarCode.Contains("#"))
             {
                 NewBarCode = sBarCode.Split(Convert.ToChar("#"));
                 sBarCode = NewBarCode[0];
+                HQty = DBUtility.ClsPub.isDoule(NewBarCode[1]);
             }
             //鏍规嵁鏉$爜鑾峰彇鏉$爜淇℃伅锛屽瓨鍦ㄧ浉鍚岀墿鏂欐椂鑷姩鑾峰彇涓�琛屾簮鍗曚俊鎭�
             DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View();
@@ -32648,10 +33840,11 @@
 
             //鍒ゆ柇鏉$爜鏄惁鍚壒娈婄鍙� # 锛屽鏋滃惈鏈夊垯 鎷嗗垎
             string[] NewBarCode;
-            if (sBarCode.CompareTo("#") > 0)
+            if (sBarCode.Contains("#"))
             {
                 NewBarCode = sBarCode.Split(Convert.ToChar("#"));
                 sBarCode = NewBarCode[0];
+                HQty = DBUtility.ClsPub.isDoule(NewBarCode[1]);
             }
             //鏍规嵁鏉$爜鑾峰彇鏉$爜淇℃伅
             DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View();
@@ -33384,10 +34577,11 @@
             }
             //鍒ゆ柇鏉$爜鏄惁鍚壒娈婄鍙� # 锛屽鏋滃惈鏈夊垯 鎷嗗垎
             string[] NewBarCode;
-            if (sBarCode.CompareTo("#") > 0)
+            if (sBarCode.Contains("#"))
             {
                 NewBarCode = sBarCode.Split(Convert.ToChar("#"));
                 sBarCode = NewBarCode[0];
+                HQty = DBUtility.ClsPub.isDoule(NewBarCode[1]);
             }
 
             //鏍规嵁鏉$爜鑾峰彇鏉$爜淇℃伅
@@ -33795,11 +34989,13 @@
             }
             //鍒ゆ柇鏉$爜鏄惁鍚壒娈婄鍙� # 锛屽鏋滃惈鏈夊垯 鎷嗗垎
             string[] NewBarCode;
-            if (sBarCode.CompareTo("#") > 0)
+            if (sBarCode.Contains("#"))
             {
                 NewBarCode = sBarCode.Split(Convert.ToChar("#"));
                 sBarCode = NewBarCode[0];
+                HQty = DBUtility.ClsPub.isDoule(NewBarCode[1]);
             }
+
             //鑾峰彇绯荤粺鍙傛暟
             Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
             if (oSystemParameter.ShowBill(ref sErrMsg) == false)
@@ -37455,10 +38651,11 @@
                 {
                     //鍒ゆ柇鏉$爜鏄惁鍚壒娈婄鍙� # 锛屽鏋滃惈鏈夊垯 鎷嗗垎
                     string[] NewBarCode;
-                    if (sBarCode.CompareTo("#") > 0)
+                    if (sBarCode.Contains("#"))
                     {
                         NewBarCode = sBarCode.Split(Convert.ToChar("#"));
                         sBarCode = NewBarCode[0];
+                        HQty = DBUtility.ClsPub.isDoule(NewBarCode[1]);
                     }
                 }
 
@@ -37934,7 +39131,7 @@
 
 
 
-            #endregion
+        #endregion
 
 
             //        #region 鎵弿鐗╂枡鏉$爜璋冪敤鏂规硶
@@ -38290,9 +39487,9 @@
             //        #endregion
 
 
-            #region 妯″叿鏉$爜澶勭悊鏂规硶
+        #region 妯″叿鏉$爜澶勭悊鏂规硶
 
-            #region 鎵弿妯″叿婧愬崟鏉$爜
+        #region 鎵弿妯″叿婧愬崟鏉$爜
 
             [WebMethod]
         public Model.ClsKf_ICStockBill_Mould get_CheckTypeByMouldSource(Int64 HInterID, string HBillNo, string HBillType, string HSourceBillNo, string HSourceBillType, string HHMaker, Int64 HOWNERID, ref string sErrMsg)
@@ -39018,10 +40215,11 @@
                 {
                     //鍒ゆ柇鏉$爜鏄惁鍚壒娈婄鍙� # 锛屽鏋滃惈鏈夊垯 鎷嗗垎
                     string[] NewBarCode;
-                    if (sBarCode.CompareTo("#") > 0)
+                    if (sBarCode.Contains("#"))
                     {
                         NewBarCode = sBarCode.Split(Convert.ToChar("#"));
                         sBarCode = NewBarCode[0];
+                        HQty = DBUtility.ClsPub.isDoule(NewBarCode[1]);
                     }
                 }
 
@@ -39115,15 +40313,22 @@
             Model.ClsKF_PonderationBillMain_Temp oMain = new Model.ClsKF_PonderationBillMain_Temp();
 
             double sRelQty = 0;
-            string sBillTypeOneScan = "";   //鏄惁鍚敤涓�娆℃壂鐮佹帶鍒讹紙'Y'涓哄惎鐢級
-            if (HBillType == "1207" && oSystemParameterMain.Kf_MoveStockBill_BillTypeOneScan == "Y")
+            string sWHSPCtl = "Y";   //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+            if (HBillType == "1207" && oSystemParameterMain.Kf_MoveStockBillCheck_WHSPCtl == "N")
             {
                 //鐩存帴璋冩嫧鍗�
-                sBillTypeOneScan = "Y";
+                sWHSPCtl = "N";
             }
 
-            //鍒ゆ柇鏄惁瀛樺湪鐩稿悓鏉$爜锛屽垽鏂槸鍚﹀惎鐢ㄤ竴娆℃壂鐮佹帶鍒讹紝鍒ゆ柇鎵�鎵潯鐮佹槸鍚﹀湪鍗曟嵁涓�
-            DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_MoveStockBillCheck '" + omodel_View.HBarCode + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID + "," + HSPID + "," + HSCWHID + "," + HSCSPID + ",'" + sBillTypeOneScan + "'", "h_p_WMS_AddBarCode_MoveStockBillCheck");
+            string sMultilineCtl = "N";   //鏍¢獙-澶氳鐩稿悓鐗╂枡鑷姩鎷嗗垎鎹㈣鍖归厤锛�'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
+            if (HBillType == "1207" && oSystemParameterMain.Kf_MoveStockBillCheck_MultilineCtl == "Y")
+            {
+                //鐩存帴璋冩嫧鍗�
+                sMultilineCtl = "Y";
+            }
+
+            //鍒ゆ柇鏄惁瀛樺湪鐩稿悓鏉$爜锛屽垽鏂墍鎵潯鐮佹槸鍚﹀湪鍗曟嵁涓�
+            DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_MoveStockBillCheck_New '" + omodel_View.HBarCode + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID + "," + HSPID + "," + HSCWHID + "," + HSCSPID + ",'" + sWHSPCtl + "','" + sMultilineCtl + "'", "h_p_WMS_AddBarCode_MoveStockBillCheck_New");
             if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
             {
                 sErrMsg = "鍒ゆ柇鎵�鎵潯鐮佹槸鍚﹀湪鍗曟嵁涓彂鐢熼敊璇紒";
@@ -39134,10 +40339,11 @@
                 if (DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0][0]) == 0)
                 {
                     omodel_View.HMaterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HMaterID"]);
-                    omodel_View.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillNo"]);
-                    omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSourceEntryID"]);
-                    omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSourceInterID"]);
-                    omodel_View.HSourceQty = DBUtility.ClsPub.isDoule(ds1.Tables[0].Rows[0]["HQtyMust"]);     //婧愬崟鍙壂鏁伴噺
+                    omodel_View.HSourceQty = DBUtility.ClsPub.isDoule(ds1.Tables[0].Rows[0]["HSumQtyMust"]);     //HSumQtyMust涓烘簮鍗曠浉鍚岀墿鏂欏墿浣欏彲鎵暟閲�
+                    HWhID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HWhID"]);
+                    HSPID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSPID"]);
+                    HSCWHID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSCWHID"]);
+                    HSCSPID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSCSPID"]);
                 }
                 else
                 {
@@ -39216,11 +40422,12 @@
                 DataSet DsWMS = oCn.RunProcReturn("exec h_p_KF_ICInventory_WMS_GetWHAndSP " + HBillID.ToString() + ",'" + HBillType + "','" + omodel_View.HBarCode + "'," + HSCWHID.ToString() + "," + HSCSPID.ToString(), "h_p_KF_ICInventory_WMS_GetWHAndSP");
                 if (DsWMS == null || DsWMS.Tables[0].Rows.Count == 0)
                 {
-                    sErrMsg = "鍒ゆ柇WMS鏉$爜搴撳瓨锛屽彂鐢熼敊璇紒";
-                    return false;
+                    sRelQty = 0;
                 }
                 else
                 {
+                    HSCWHID = DBUtility.ClsPub.isLong(DsWMS.Tables[0].Rows[0]["HWhID"]);
+                    HSCSPID = DBUtility.ClsPub.isLong(DsWMS.Tables[0].Rows[0]["HSPID"]);
                     sWMSQty = DBUtility.ClsPub.isDoule(DsWMS.Tables[0].Rows[0]["HKFQty"]);
                     //鍒ゆ柇鎵弿鏉$爜鏁伴噺涓庢潯鐮佸簱瀛樻暟閲�
                     if (sRelQty > sWMSQty)
@@ -39257,45 +40464,101 @@
                 return false;
             }
 
-            oMain.HInterID = HBillID;
-            oMain.HBillNo = HBillNo;
-            oMain.HBillType = HBillType;
-            oMain.HMaker = HMaker;
-            oMain.HMaterID = omodel_View.HMaterID;
-            oMain.HAuxPropID = omodel_View.HAuxPropID;
-            oMain.HQty = sRelQty;
-            oMain.HQtyMust = 0;
-            oMain.HBarCode = omodel_View.HBarCode;
-            oMain.HBatchNo = omodel_View.HBatchNo;
-            oMain.HMTONo = omodel_View.HMTONo;
-            oMain.HWhID = HWhID;
-            oMain.HStockPlaceID = HSPID;
-            oMain.HSCWHID = HSCWHID;
-            oMain.HOutStockPlaceID = HSCSPID;
-            oMain.HSourceInterID = omodel_View.HSourceInterID;
-            oMain.HSourceEntryID = omodel_View.HSourceEntryID;
-            oMain.HSourceBillNo = omodel_View.HSourceBillNo;
-            oMain.HSourceBillType = HBillType;
-            oMain.HRedBlueFlag = false;
-            oMain.HPieceQty = 1;
-            oMain.HSTOCKORGID = HOWNERID;
-            oMain.HOWNERID = HOWNERID;
+            if (HBillType == "1207" && oSystemParameterMain.Kf_MoveStockBill_BillTypeOneScan == "Y")
+            {
+                //鐩存帴璋冩嫧鍗�
+                //涓�娆℃壂鐮佹帶鍒讹紝鍚屼竴鏉$爜銆佸悓涓�鍗曟嵁绫诲瀷锛屽湪WMS琛ㄥ拰TEMP琛ㄩ噷锛屽彧鍏佽杩涜涓�娆℃壂鐮�
+                DataSet dsOneScan = oCn.RunProcReturn("exec h_p_WMS_CheckBarCodeOneScan_New '" + omodel_View.HBarCode + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID + "," + HSPID + "," + HSCWHID + "," + HSCSPID + ",'" + HMaker + "'", "h_p_WMS_CheckBarCodeOneScan_New");
+                if (dsOneScan == null || dsOneScan.Tables[0].Rows.Count == 0)
+                {
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(dsOneScan.Tables[0].Rows[0][0]) == 1)
+                    {
+                        sErrMsg = DBUtility.ClsPub.isStrNull(dsOneScan.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+            }
 
-            oCn.RunProc("Insert into KF_PonderationBillMain_Temp " +
-                "(HInterID,HBillNo,HBillType,HMaterID,HAuxPropID,HProcID" +
-                ",HWhID,HSCWHID,HStockPlaceID,HOutStockPlaceID,HGroupID,HAddr" +
-                ",HQtyMust,HQty,HPieceQty,HBatchNo,HBarCode,HBarCode_Pack" +
-                ",HMaker,HMakeDate,HSourceInterID,HSourceEntryID,HSourceBillType,HSourceBillNo" +
-                ",HRelationInterID,HRelationEntryID,HRelationBillNo,HRedBlueFlag,HMTONo,HPlanMode" +
-                ",HSTOCKORGID,HOtherOrgID,HOWNERID,HOWNERTYPEID,HExpressNumber,HSubBillType" +
-                ",HCusID,HDeptID,HCusBarCode,HMulSourceBill) " +
-                " Values(" + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "'," + oMain.HMaterID.ToString() + "," + oMain.HAuxPropID.ToString() + "," + oMain.HProcID.ToString() +
-                "," + oMain.HWhID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HStockPlaceID.ToString() + "," + oMain.HOutStockPlaceID.ToString() + "," + oMain.HGroupID.ToString() + ",'" + oMain.HAddr + "'" +
-                "," + oMain.HQtyMust.ToString() + "," + oMain.HQty.ToString() + "," + oMain.HPieceQty.ToString() + ",'" + oMain.HBatchNo + "','" + oMain.HBarCode + "',''" +
-                ",'" + oMain.HMaker + "',getdate()," + oMain.HSourceInterID.ToString() + "," + oMain.HSourceEntryID.ToString() + ",'" + oMain.HSourceBillType + "','" + oMain.HSourceBillNo + "'" +
-                "," + oMain.HRelationInterID.ToString() + "," + oMain.HRelationEntryID.ToString() + ",'" + oMain.HRelationBillNo + "'," + Convert.ToString(oMain.HRedBlueFlag ? 1 : 0) + ",'" + oMain.HMTONo + "',0" +
-                "," + oMain.HSTOCKORGID.ToString() + "," + oMain.HSTOCKORGID.ToString() + "," + oMain.HOWNERID.ToString() + ",'','鏍¢獙妯″紡',1" +
-                ",0,0,'" + oMain.HCusBarCode + "',0)");
+            double sSumQty = 0;
+            double sRemQty = 0;
+            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
+            {
+                omodel_View.HSourceQty = DBUtility.ClsPub.isDoule(ds1.Tables[0].Rows[i]["HQtyMust"]);   //瀛樺湪鐩稿悓鐗╂枡鏃讹紝鍏朵腑涓�琛屾簮鍗曞墿浣欏彲鎵暟閲�
+                sSumQty = sSumQty + omodel_View.HSourceQty;
+                sRemQty = sRelQty - sSumQty;
+
+                //鏁伴噺
+                //鍙瓨鍦ㄤ竴琛屾暟鎹椂锛屾暟閲�=鏉$爜鍙壂鏁伴噺
+                if (ds1.Tables[0].Rows.Count==1)
+                {
+                    oMain.HQty = sRelQty;
+                }
+                //瀛樺湪澶氳鐩稿悓鐗╂枡锛屾潯鐮佸墿浣欐暟閲�<鎵�閫夎婧愬崟鍓╀綑鍙壂鏁伴噺 鎴� 鎵�閫夎婧愬崟涓烘渶鍚庝竴鏉℃暟鎹椂 锛屾暟閲�=鏉$爜鍓╀綑鏁伴噺
+                else if (sRemQty <= 0 || (i == ds1.Tables[0].Rows.Count-1 && sRemQty > 0))
+                {
+                    oMain.HQty = sRemQty + omodel_View.HSourceQty;
+                }
+                //瀛樺湪澶氳鐩稿悓鐗╂枡锛屾潯鐮佸墿浣欐暟閲�>鎵�閫夎婧愬崟鍓╀綑鍙壂鏁伴噺 锛屾暟閲�=鎵�閫夎婧愬崟鍓╀綑鍙壂鏁伴噺
+                else
+                {
+                    oMain.HQty = omodel_View.HSourceQty;
+                }
+                //鏉$爜鏉℃暟
+                if (i == 0)
+                {
+                    oMain.HPieceQty = 1;
+                }
+                else
+                {
+                    oMain.HPieceQty = 0;
+                }
+
+                oMain.HInterID = HBillID;
+                oMain.HBillNo = HBillNo;
+                oMain.HBillType = HBillType;
+                oMain.HMaker = HMaker;
+                oMain.HMaterID = omodel_View.HMaterID;
+                oMain.HAuxPropID = omodel_View.HAuxPropID;
+                oMain.HQtyMust = 0;
+                oMain.HBarCode = omodel_View.HBarCode;
+                oMain.HBatchNo = omodel_View.HBatchNo;
+                oMain.HMTONo = omodel_View.HMTONo;
+                oMain.HWhID = HWhID;
+                oMain.HStockPlaceID = HSPID;
+                oMain.HSCWHID = HSCWHID;
+                oMain.HOutStockPlaceID = HSCSPID;
+                oMain.HSourceInterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[i]["HSourceInterID"]);
+                oMain.HSourceEntryID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[i]["HSourceEntryID"]);
+                oMain.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[i]["HSourceBillNo"]);
+                oMain.HSourceBillType = HBillType;
+                oMain.HRedBlueFlag = false;
+                oMain.HSTOCKORGID = HOWNERID;
+                oMain.HOWNERID = HOWNERID;
+
+                oCn.RunProc("Insert into KF_PonderationBillMain_Temp " +
+                    "(HInterID,HBillNo,HBillType,HMaterID,HAuxPropID,HProcID" +
+                    ",HWhID,HSCWHID,HStockPlaceID,HOutStockPlaceID,HGroupID,HAddr" +
+                    ",HQtyMust,HQty,HPieceQty,HBatchNo,HBarCode,HBarCode_Pack" +
+                    ",HMaker,HMakeDate,HSourceInterID,HSourceEntryID,HSourceBillType,HSourceBillNo" +
+                    ",HRelationInterID,HRelationEntryID,HRelationBillNo,HRedBlueFlag,HMTONo,HPlanMode" +
+                    ",HSTOCKORGID,HOtherOrgID,HOWNERID,HOWNERTYPEID,HExpressNumber,HSubBillType" +
+                    ",HCusID,HDeptID,HCusBarCode,HMulSourceBill) " +
+                    " Values(" + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "'," + oMain.HMaterID.ToString() + "," + oMain.HAuxPropID.ToString() + "," + oMain.HProcID.ToString() +
+                    "," + oMain.HWhID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HStockPlaceID.ToString() + "," + oMain.HOutStockPlaceID.ToString() + "," + oMain.HGroupID.ToString() + ",'" + oMain.HAddr + "'" +
+                    "," + oMain.HQtyMust.ToString() + "," + oMain.HQty.ToString() + "," + oMain.HPieceQty.ToString() + ",'" + oMain.HBatchNo + "','" + oMain.HBarCode + "',''" +
+                    ",'" + oMain.HMaker + "',getdate()," + oMain.HSourceInterID.ToString() + "," + oMain.HSourceEntryID.ToString() + ",'" + oMain.HSourceBillType + "','" + oMain.HSourceBillNo + "'" +
+                    "," + oMain.HRelationInterID.ToString() + "," + oMain.HRelationEntryID.ToString() + ",'" + oMain.HRelationBillNo + "'," + Convert.ToString(oMain.HRedBlueFlag ? 1 : 0) + ",'" + oMain.HMTONo + "',0" +
+                    "," + oMain.HSTOCKORGID.ToString() + "," + oMain.HSTOCKORGID.ToString() + "," + oMain.HOWNERID.ToString() + ",'','鏍¢獙妯″紡',1" +
+                    ",0,0,'" + oMain.HCusBarCode + "',0)");
+
+                if (sRemQty <= 0)
+                {
+                    break;
+                }
+            }
             return true;
         }
 
@@ -39312,25 +40575,42 @@
             Model.ClsKF_PonderationBillMain_Temp oMain = new Model.ClsKF_PonderationBillMain_Temp();
 
             double sRelQty = 0;
-            string sBillTypeOneScan = "";   //鏄惁鍚敤涓�娆℃壂鐮佹帶鍒讹紙'Y'涓哄惎鐢級
-            if (HBillType == "1203" && oSystemParameterMain.Kf_OtherInBill_BillTypeOneScan == "Y")
+            string sWHSPCtl = "Y";   //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+            if (HBillType == "1203")
             {
                 //鍏朵粬鍏ュ簱鍗�
-                sBillTypeOneScan = "Y";
+                sWHSPCtl = "Y";
             }
-            else if (HBillType == "1204" && oSystemParameterMain.Kf_MateOutBill_BillTypeOneScan == "Y")
+            else if (HBillType == "1204" && oSystemParameterMain.Kf_MateOutBillCheck_WHSPCtl == "N")
             {
                 //棰嗘枡鍑哄簱鍗�
-                sBillTypeOneScan = "Y";
+                sWHSPCtl = "N";
             }
-            else if (HBillType == "1206" && oSystemParameterMain.Kf_OtherOutBill_BillTypeOneScan == "Y")
+            else if (HBillType == "1206")
             {
                 //鍏朵粬鍑哄簱鍗�
-                sBillTypeOneScan = "Y";
+                sWHSPCtl = "Y";
             }
 
-            //鍒ゆ柇鏄惁瀛樺湪鐩稿悓鏉$爜锛屽垽鏂槸鍚﹀惎鐢ㄤ竴娆℃壂鐮佹帶鍒讹紝鍒ゆ柇鎵�鎵潯鐮佹槸鍚﹀湪鍗曟嵁涓�
-            DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_BillCheck '" + omodel_View.HBarCode + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID + "," + HSPID + ",'" + sBillTypeOneScan + "'", "h_p_WMS_AddBarCode_BillCheck");
+            string sMultilineCtl = "N";   //鏍¢獙-澶氳鐩稿悓鐗╂枡鑷姩鎷嗗垎鎹㈣鍖归厤锛�'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
+            if (HBillType == "1203")
+            {
+                //鍏朵粬鍏ュ簱鍗�
+                sMultilineCtl = "N";
+            }
+            else if (HBillType == "1204" && oSystemParameterMain.Kf_MateOutBillCheck_MultilineCtl == "Y")
+            {
+                //棰嗘枡鍑哄簱鍗�
+                sMultilineCtl = "Y";
+            }
+            else if (HBillType == "1206")
+            {
+                //鍏朵粬鍑哄簱鍗�
+                sMultilineCtl = "N";
+            }
+
+            //鍒ゆ柇鏄惁瀛樺湪鐩稿悓鏉$爜锛屽垽鏂墍鎵潯鐮佹槸鍚﹀湪鍗曟嵁涓�
+            DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_BillCheck_New '" + omodel_View.HBarCode + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID + "," + HSPID + ",'" + sWHSPCtl + "','" + sMultilineCtl + "'", "h_p_WMS_AddBarCode_BillCheck_New");
             if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
             {
                 sErrMsg = "鍒ゆ柇鎵�鎵潯鐮佹槸鍚﹀湪鍗曟嵁涓彂鐢熼敊璇紒";
@@ -39341,10 +40621,9 @@
                 if (DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0][0]) == 0)
                 {
                     omodel_View.HMaterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HMaterID"]);
-                    omodel_View.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillNo"]);
-                    omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSourceEntryID"]);
-                    omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSourceInterID"]);
-                    omodel_View.HSourceQty = DBUtility.ClsPub.isDoule(ds1.Tables[0].Rows[0]["HQtyMust"]);     //婧愬崟鍙壂鏁伴噺
+                    omodel_View.HSourceQty = DBUtility.ClsPub.isDoule(ds1.Tables[0].Rows[0]["HSumQtyMust"]);     //HSumQtyMust涓烘簮鍗曠浉鍚岀墿鏂欏墿浣欏彲鎵暟閲�
+                    HWhID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HWhID"]);
+                    HSPID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSPID"]);
                 }
                 else
                 {
@@ -39499,11 +40778,12 @@
                     DataSet DsWMS = oCn.RunProcReturn("exec h_p_KF_ICInventory_WMS_GetWHAndSP " + HBillID.ToString() + ",'" + HBillType + "','" + omodel_View.HBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString(), "h_p_KF_ICInventory_WMS_GetWHAndSP");
                     if (DsWMS == null || DsWMS.Tables[0].Rows.Count == 0)
                     {
-                        sErrMsg = "鍒ゆ柇WMS鏉$爜搴撳瓨锛屽彂鐢熼敊璇紒";
-                        return false;
+                        sRelQty = 0;
                     }
                     else
                     {
+                        HWhID = DBUtility.ClsPub.isLong(DsWMS.Tables[0].Rows[0]["HWhID"]);
+                        HSPID = DBUtility.ClsPub.isLong(DsWMS.Tables[0].Rows[0]["HSPID"]);
                         sWMSQty = DBUtility.ClsPub.isDoule(DsWMS.Tables[0].Rows[0]["HKFQty"]);
                         //鍒ゆ柇鎵弿鏉$爜鏁伴噺涓庢潯鐮佸簱瀛樻暟閲�
                         if(sRelQty> sWMSQty)
@@ -39553,43 +40833,100 @@
                 }
             }
 
-            oMain.HInterID = HBillID;
-            oMain.HBillNo = HBillNo;
-            oMain.HBillType = HBillType;
-            oMain.HMaker = HMaker;
-            oMain.HMaterID = omodel_View.HMaterID;
-            oMain.HAuxPropID = omodel_View.HAuxPropID;
-            oMain.HQty = sRelQty;
-            oMain.HQtyMust = 0;
-            oMain.HBarCode = omodel_View.HBarCode;
-            oMain.HBatchNo = omodel_View.HBatchNo;
-            oMain.HMTONo = omodel_View.HMTONo;
-            oMain.HWhID = HWhID;
-            oMain.HStockPlaceID = HSPID;
-            oMain.HSourceInterID = omodel_View.HSourceInterID;
-            oMain.HSourceEntryID = omodel_View.HSourceEntryID;
-            oMain.HSourceBillNo = omodel_View.HSourceBillNo;
-            oMain.HSourceBillType = HBillType;
-            oMain.HRedBlueFlag = false;
-            oMain.HPieceQty = 1;
-            oMain.HSTOCKORGID = HOWNERID;
-            oMain.HOWNERID = HOWNERID;
+            //涓�娆℃壂鐮佹帶鍒讹紝鍚屼竴鏉$爜銆佸悓涓�鍗曟嵁绫诲瀷锛屽湪WMS琛ㄥ拰TEMP琛ㄩ噷锛屽彧鍏佽杩涜涓�娆℃壂鐮�
+            if ((HBillType == "1203" && oSystemParameterMain.Kf_OtherInBill_BillTypeOneScan == "Y")
+                || (HBillType == "1204" && oSystemParameterMain.Kf_MateOutBill_BillTypeOneScan == "Y")
+                || (HBillType == "1206" && oSystemParameterMain.Kf_OtherOutBill_BillTypeOneScan == "Y"))
+            {
+                DataSet dsOneScan = oCn.RunProcReturn("exec h_p_WMS_CheckBarCodeOneScan_New '" + omodel_View.HBarCode + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID + "," + HSPID + ",0,0,'" + HMaker + "'", "h_p_WMS_CheckBarCodeOneScan_New");
+                if (dsOneScan == null || dsOneScan.Tables[0].Rows.Count == 0)
+                {
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(dsOneScan.Tables[0].Rows[0][0]) == 1)
+                    {
+                        sErrMsg = DBUtility.ClsPub.isStrNull(dsOneScan.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+            }
 
-            oCn.RunProc("Insert into KF_PonderationBillMain_Temp " +
-                "(HInterID,HBillNo,HBillType,HMaterID,HAuxPropID,HProcID" +
-                ",HWhID,HSCWHID,HStockPlaceID,HOutStockPlaceID,HGroupID,HAddr" +
-                ",HQtyMust,HQty,HPieceQty,HBatchNo,HBarCode,HBarCode_Pack" +
-                ",HMaker,HMakeDate,HSourceInterID,HSourceEntryID,HSourceBillType,HSourceBillNo" +
-                ",HRelationInterID,HRelationEntryID,HRelationBillNo,HRedBlueFlag,HMTONo,HPlanMode" +
-                ",HSTOCKORGID,HOtherOrgID,HOWNERID,HOWNERTYPEID,HExpressNumber,HSubBillType" +
-                ",HCusID,HDeptID,HCusBarCode,HMulSourceBill) " +
-                " Values(" + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "'," + oMain.HMaterID.ToString() + "," + oMain.HAuxPropID.ToString() + "," + oMain.HProcID.ToString() +
-                "," + oMain.HWhID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HStockPlaceID.ToString() + "," + oMain.HOutStockPlaceID.ToString() + "," + oMain.HGroupID.ToString() + ",'" + oMain.HAddr + "'" +
-                "," + oMain.HQtyMust.ToString() + "," + oMain.HQty.ToString() + "," + oMain.HPieceQty.ToString() + ",'" + oMain.HBatchNo + "','" + oMain.HBarCode + "',''" +
-                ",'" + oMain.HMaker + "',getdate()," + oMain.HSourceInterID.ToString() + "," + oMain.HSourceEntryID.ToString() + ",'" + oMain.HSourceBillType + "','" + oMain.HSourceBillNo + "'" +
-                "," + oMain.HRelationInterID.ToString() + "," + oMain.HRelationEntryID.ToString() + ",'" + oMain.HRelationBillNo + "'," + Convert.ToString(oMain.HRedBlueFlag ? 1 : 0) + ",'" + oMain.HMTONo + "',0" +
-                "," + oMain.HSTOCKORGID.ToString() + "," + oMain.HSTOCKORGID.ToString() + "," + oMain.HOWNERID.ToString() + ",'','鏍¢獙妯″紡',1" +
-                ",0,0,'" + oMain.HCusBarCode + "',0)");
+            double sSumQty = 0;
+            double sRemQty = 0;
+            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
+            {
+                omodel_View.HSourceQty = DBUtility.ClsPub.isDoule(ds1.Tables[0].Rows[i]["HQtyMust"]);   //瀛樺湪鐩稿悓鐗╂枡鏃讹紝鍏朵腑涓�琛屾簮鍗曞墿浣欏彲鎵暟閲�
+                sSumQty = sSumQty + omodel_View.HSourceQty;
+                sRemQty = sRelQty - sSumQty;
+
+                //鏁伴噺
+                //鍙瓨鍦ㄤ竴琛屾暟鎹椂锛屾暟閲�=鏉$爜鍙壂鏁伴噺
+                if (ds1.Tables[0].Rows.Count == 1)
+                {
+                    oMain.HQty = sRelQty;
+                }
+                //瀛樺湪澶氳鐩稿悓鐗╂枡锛屾潯鐮佸墿浣欐暟閲�<鎵�閫夎婧愬崟鍓╀綑鍙壂鏁伴噺 鎴� 鎵�閫夎婧愬崟涓烘渶鍚庝竴鏉℃暟鎹椂 锛屾暟閲�=鏉$爜鍓╀綑鏁伴噺
+                else if (sRemQty <= 0 || (i == ds1.Tables[0].Rows.Count - 1 && sRemQty > 0))
+                {
+                    oMain.HQty = sRemQty + omodel_View.HSourceQty;
+                }
+                //瀛樺湪澶氳鐩稿悓鐗╂枡锛屾潯鐮佸墿浣欐暟閲�>鎵�閫夎婧愬崟鍓╀綑鍙壂鏁伴噺 锛屾暟閲�=鎵�閫夎婧愬崟鍓╀綑鍙壂鏁伴噺
+                else
+                {
+                    oMain.HQty = omodel_View.HSourceQty;
+                }
+                //鏉$爜鏉℃暟
+                if (i == 0)
+                {
+                    oMain.HPieceQty = 1;
+                }
+                else
+                {
+                    oMain.HPieceQty = 0;
+                }
+
+                oMain.HInterID = HBillID;
+                oMain.HBillNo = HBillNo;
+                oMain.HBillType = HBillType;
+                oMain.HMaker = HMaker;
+                oMain.HMaterID = omodel_View.HMaterID;
+                oMain.HAuxPropID = omodel_View.HAuxPropID;
+                oMain.HQtyMust = 0;
+                oMain.HBarCode = omodel_View.HBarCode;
+                oMain.HBatchNo = omodel_View.HBatchNo;
+                oMain.HMTONo = omodel_View.HMTONo;
+                oMain.HWhID = HWhID;
+                oMain.HStockPlaceID = HSPID;
+                oMain.HSourceInterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[i]["HSourceInterID"]);
+                oMain.HSourceEntryID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[i]["HSourceEntryID"]);
+                oMain.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[i]["HSourceBillNo"]);
+                oMain.HSourceBillType = HBillType;
+                oMain.HRedBlueFlag = false;
+                oMain.HSTOCKORGID = HOWNERID;
+                oMain.HOWNERID = HOWNERID;
+
+                oCn.RunProc("Insert into KF_PonderationBillMain_Temp " +
+                    "(HInterID,HBillNo,HBillType,HMaterID,HAuxPropID,HProcID" +
+                    ",HWhID,HSCWHID,HStockPlaceID,HOutStockPlaceID,HGroupID,HAddr" +
+                    ",HQtyMust,HQty,HPieceQty,HBatchNo,HBarCode,HBarCode_Pack" +
+                    ",HMaker,HMakeDate,HSourceInterID,HSourceEntryID,HSourceBillType,HSourceBillNo" +
+                    ",HRelationInterID,HRelationEntryID,HRelationBillNo,HRedBlueFlag,HMTONo,HPlanMode" +
+                    ",HSTOCKORGID,HOtherOrgID,HOWNERID,HOWNERTYPEID,HExpressNumber,HSubBillType" +
+                    ",HCusID,HDeptID,HCusBarCode,HMulSourceBill) " +
+                    " Values(" + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "'," + oMain.HMaterID.ToString() + "," + oMain.HAuxPropID.ToString() + "," + oMain.HProcID.ToString() +
+                    "," + oMain.HWhID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HStockPlaceID.ToString() + "," + oMain.HOutStockPlaceID.ToString() + "," + oMain.HGroupID.ToString() + ",'" + oMain.HAddr + "'" +
+                    "," + oMain.HQtyMust.ToString() + "," + oMain.HQty.ToString() + "," + oMain.HPieceQty.ToString() + ",'" + oMain.HBatchNo + "','" + oMain.HBarCode + "',''" +
+                    ",'" + oMain.HMaker + "',getdate()," + oMain.HSourceInterID.ToString() + "," + oMain.HSourceEntryID.ToString() + ",'" + oMain.HSourceBillType + "','" + oMain.HSourceBillNo + "'" +
+                    "," + oMain.HRelationInterID.ToString() + "," + oMain.HRelationEntryID.ToString() + ",'" + oMain.HRelationBillNo + "'," + Convert.ToString(oMain.HRedBlueFlag ? 1 : 0) + ",'" + oMain.HMTONo + "',0" +
+                    "," + oMain.HSTOCKORGID.ToString() + "," + oMain.HSTOCKORGID.ToString() + "," + oMain.HOWNERID.ToString() + ",'','鏍¢獙妯″紡',1" +
+                    ",0,0,'" + oMain.HCusBarCode + "',0)");
+
+                if (sRemQty <= 0)
+                {
+                    break;
+                }
+            }
             return true;
         }
 
@@ -39620,10 +40957,11 @@
                 {
                     //鍒ゆ柇鏉$爜鏄惁鍚壒娈婄鍙� # 锛屽鏋滃惈鏈夊垯 鎷嗗垎
                     string[] NewBarCode;
-                    if (sBarCode.CompareTo("#") > 0)
+                    if (sBarCode.Contains("#"))
                     {
                         NewBarCode = sBarCode.Split(Convert.ToChar("#"));
                         sBarCode = NewBarCode[0];
+                        HQty = DBUtility.ClsPub.isDoule(NewBarCode[1]);
                     }
                 }
 
@@ -39912,6 +41250,56 @@
             else
             {
                 return DS;
+            }
+        }
+
+        #endregion
+
+
+        #region 鐣岄潰鍚屾鍗曟嵁鎸夐挳璋冪敤鏂规硶    *鏍¢獙妯″紡
+
+        [WebMethod]
+        public bool set_UpdateTemp_BillCheck(Int64 HBillID, string HBillNo, string HBillType, string HMaker, Int64 HOWNERID, ref string sErrMsg)
+        {
+            //鑾峰彇绯荤粺鍙傛暟
+            Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+            if (oSystemParameter.ShowBill(ref sErrMsg) == false)
+            {
+                sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                return false;
+            }
+
+            string sWHSPCtl = "Y";   //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+            if (HBillType == "1204" && oSystemParameter.omodel.Kf_MateOutBillCheck_WHSPCtl == "N")
+            {
+                //棰嗘枡鍑哄簱鍗�
+                sWHSPCtl = "N";
+            }
+            else if (HBillType == "1207" && oSystemParameter.omodel.Kf_MoveStockBillCheck_WHSPCtl == "N")
+            {
+                //鐩存帴璋冩嫧鍗�
+                sWHSPCtl = "N";
+            }
+
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_UpdateTemp_BillCheck " + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HMaker + "'," + HOWNERID.ToString() + ",'" + sWHSPCtl + "'", "h_p_WMS_UpdateTemp_BillCheck");
+            if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
+            {
+                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛涘悓姝ュ崟鎹俊鎭彂鐢熼敊璇紒";
+                return false;
+            }
+            else
+            {
+                if (DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0][0]) == 0)
+                {
+                    sErrMsg = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]);
+                    return true;
+                }
+                else
+                {
+                    sErrMsg = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]);
+                    return false;
+                }
             }
         }
 
@@ -40375,11 +41763,13 @@
             }
             //鍒ゆ柇鏉$爜鏄惁鍚壒娈婄鍙� # 锛屽鏋滃惈鏈夊垯 鎷嗗垎
             string[] NewBarCode;
-            if (sBarCode.CompareTo("#") > 0)
+            if (sBarCode.Contains("#"))
             {
                 NewBarCode = sBarCode.Split(Convert.ToChar("#"));
                 sBarCode = NewBarCode[0];
+                HQty = DBUtility.ClsPub.isDoule(NewBarCode[1]);
             }
+
             //鑾峰彇绯荤粺鍙傛暟
             Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
             if (oSystemParameter.ShowBill(ref sErrMsg) == false)

--
Gitblit v1.9.1