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 | 6402 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 5,628 insertions(+), 774 deletions(-)

diff --git a/CLOUDWEB/WebService1.asmx.cs b/CLOUDWEB/WebService1.asmx.cs
index b526993..e071ee7 100644
--- a/CLOUDWEB/WebService1.asmx.cs
+++ b/CLOUDWEB/WebService1.asmx.cs
@@ -2114,6 +2114,19 @@
 
         #region 鍏朵粬鍏ュ簱--鏉ユ簮鍗曟嵁  *
 
+        //杩斿洖鍏ュ簱鐢宠鍒楄〃
+        /// <summary>
+        /// 杩斿洖鍏ュ簱鐢宠鍒楄〃
+        /// </summary>
+        /// <param name="sWhere">杩囨护鏉′欢</param>
+        /// <returns></returns>
+        [WebMethod]
+        public DataSet GetKf_StockInRequestBillList(string sWhere)
+        {
+            DAL.Cls_S_IF_StockInRequestBill_Lite dal = new DAL.Cls_S_IF_StockInRequestBill_Lite();
+            return dal.DisSourceBillList(sWhere);
+        }
+
         //杩斿洖k3鏈鏍稿叾浠栧叆搴�
         /// <summary>
         /// 杩斿洖k3鏈鏍稿叾浠栧叆搴�
@@ -5893,10 +5906,9 @@
         [WebMethod]
         public bool set_SaveMoveBill_CLD(Model.ClsKf_MoveStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
-            //棰嗘枡璋冩嫧(婧愬崟锛氱敓浜т换鍔″崟-鎶曟枡)
-            if (sHSourceType == "3720")
+            if (sHSourceType == "3720")//鐢熶骇鐢ㄦ枡娓呭崟
             {
-                if (SaveMoveMaterOut_CLD(oMain, oSystemParameterMain, ref sErrMsg))
+                if (SaveMoveStockBill_PPBom_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
                     sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
@@ -5906,10 +5918,26 @@
                 {
                     //"淇濆瓨澶辫触锛�";
                     sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛�" + sErrMsg;
-                    //sErrMsg = sErrMsg;
                     return false;
                 }
             }
+            ////棰嗘枡璋冩嫧(婧愬崟锛氱敓浜т换鍔″崟-鎶曟枡)
+            //if (sHSourceType == "3720")
+            //{
+            //    if (SaveMoveMaterOut_CLD(oMain, oSystemParameterMain, ref sErrMsg))
+            //    {
+            //        //"淇濆瓨鎴愬姛锛�";
+            //        sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
+            //        return true;
+            //    }
+            //    else
+            //    {
+            //        //"淇濆瓨澶辫触锛�";
+            //        sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛�" + sErrMsg;
+            //        //sErrMsg = sErrMsg;
+            //        return false;
+            //    }
+            //}
             //鍙戣揣璋冩嫧(婧愬崟锛氬彂璐ч�氱煡鍗�)
             else if (sHSourceType == "1402")
             {
@@ -5969,7 +5997,32 @@
         //鐩存帴璋冩嫧
         private bool SaveMoveOut_CLD(Model.ClsKf_MoveStockBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
+            //浠庨厤缃枃浠惰幏鍙� CLOUD缃戝潃銆佽处濂椾俊鎭�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮�
+            if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
+            {
+                sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
+                return false;
+            }
+
+            //鑾峰彇CLOUD璐﹀彿瀵嗙爜
+            string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
+            string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
+            DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
+            if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
+            {
+            }
+            else
+            {
+                sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
+                sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
+            }
+
+            string HReturn;
+            ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
+            string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
+            bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             try
             {
                 DataSet Ds;
@@ -5996,12 +6049,6 @@
                 ", " + oMain.HSTOCKORGID.ToString() + "," + oMain.HOWNERID.ToString() +
                 ") ");
 
-                if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                {
-                    //瀹℃牳鍗曟嵁
-                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
-                }
-
                 if (oSystemParameterMain.WMS_MouldManagerCtl == "Y") //绯荤粺鍙傛暟  鍚敤鍣ㄥ叿绠$悊
                 {
                     string HMouldBillType = "3814";
@@ -6019,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"]) + "\",";    //鍑鸿揣绫诲瀷
@@ -6048,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 != "")
@@ -6060,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"]) + "\"  , ";
@@ -6104,6 +6161,10 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100001\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
+                        else if (oSystemParameterMain.WMS_CampanyName == "妫シ") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100003\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
+                        }
                         else
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
@@ -6142,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"]) + "\" }," +
@@ -6159,31 +6221,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"]);
-                    }
-
-                    //鐢熸垚 鐩存帴璋冩嫧 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",
@@ -6192,22 +6230,8 @@
                         //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
                         oCn.RunProc("exec h_p_Sc_UpDateSelfFildMove '" + oMain.HBillNo + "','-1'");
 
-                        if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                        {
-                            string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                            new object[] { "STK_TransferDirect", sJson2 });
+                        HReturn = result.ToString();
 
-                            string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                            var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                            new object[] { "STK_TransferDirect", sJson3 });
-
-                            HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
-                        }
-                        else
-                        {
-                            HReturn = result.ToString();
-                        }
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
                             sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒" + HReturn + sJson;
@@ -6217,12 +6241,11 @@
                         else
                         {
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒鐧诲綍澶辫触锛�";
+                        sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
                         oCn.RollBack();
                         return false;
                     }
@@ -6233,6 +6256,52 @@
                 sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒" + e.Message;
                 oCn.RollBack();
                 return false;
+            }
+
+            if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳WMS鍗曟嵁
+                    oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "STK_TransferDirect", sJson2 });
+
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "STK_TransferDirect", sJson3 });
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曟垚鍔燂紝瀹℃牳鍗曟嵁澶辫触锛�" + HReturn;
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚骞跺鏍哥洿鎺ヨ皟鎷ㄥ崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    sErrMsg = "瀹℃牳鐩存帴璋冩嫧鍗曞け璐ワ紒" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                return true;
             }
         }
 
@@ -7331,7 +7400,6 @@
                 if (SaveMoveOut_CLD(oMain, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -7399,6 +7467,13 @@
                     //瀹℃牳鍗曟嵁
                     oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
                 }
+
+                if (oSystemParameterMain.WMS_MouldManagerCtl == "Y") //绯荤粺鍙傛暟  鍚敤鍣ㄥ叿绠$悊
+                {
+                    string HMouldBillType = "3814";
+                    oCn.RunProc("EXEC h_p_Sc_MouldStockBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillType + "','" + HMouldBillType + "'," + oMain.HSupID.ToString() + "," + oMain.HKeeperID.ToString() + "," + oMain.HSecManagerID.ToString() + "," + oMain.HDeptID.ToString() + ",3");
+                }
+
 
                 //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
                 DataSet Ds;
@@ -8305,6 +8380,217 @@
 
         #endregion
 
+        #region 鐩存帴璋冩嫧鍗�    鏍¢獙妯″紡*
+
+        //鏍¢獙鐩存帴璋冩嫧鍗�
+        [WebMethod]
+        public bool set_SaveMoveStockBill_BillCheck(Model.ClsKf_MoveStockBillMain oMain, ref string sErrMsg)
+        {
+            if (set_SaveMoveStockBill_CLD_BillCheck(oMain, ref sErrMsg) == true)
+            {
+                //涓婁紶鎴愬姛
+                return true;
+            }
+            else
+            {
+                //涓婁紶澶辫触
+                sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
+                return false;
+            }
+        }
+
+        [WebMethod]
+        public bool set_SaveMoveStockBill_CLD_BillCheck(Model.ClsKf_MoveStockBillMain oMain, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            //鑾峰彇绯荤粺鍙傛暟
+            Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+            if (oSystemParameter.ShowBill(ref sErrMsg) == false)
+            {
+                sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                return false;
+            }
+            //涓婁紶鍓嶅垽鏂�
+            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_MoveStockBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameter.omodel.Kf_MoveStockBillCheck_MustQtyCtl + "'", "h_p_WMS_BeforeUpload_MoveStockBillCheck");
+            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;
+                }
+            }
+
+            try
+            {
+                oCn.BeginTran();
+                //鍐欏叆鏉$爜鍑哄叆搴撹〃
+                oCn.RunProc("EXEC h_p_Kf_ICStockBillSub_WMS_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillType + "','" + oMain.HBillNo + "'");
+
+                //浠庨厤缃枃浠惰幏鍙� 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"]);
+                }
+
+                if (oSystemParameter.omodel.Kf_MoveStockBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹")
+                {
+                    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)
+                    {
+                        //鎻愪氦鍗曟嵁
+                        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 = result3.ToString();
+
+                        if (HReturn.Contains("\"IsSuccess\":false") == true)
+                        {
+                            sErrMsg = "瀹℃牳鐩存帴璋冩嫧鍗曞け璐ワ紒" + HReturn;
+                            oCn.RollBack();
+                            return false;
+                        }
+                        else
+                        {
+                            oCn.Commit();
+                            return true;
+                        }
+                    }
+                    else
+                    {
+                        sErrMsg = "鏍¢獙瀹℃牳鐩存帴璋冩嫧鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
+                        oCn.RollBack();
+                        return false;
+                    }
+                }
+                else
+                {
+                    //鏍规嵁TMP琛� 杩斿洖 淇敼淇℃伅
+                    DataSet Ds2;
+                    Ds2 = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveStockBillCheck");
+                    if (Ds2 == null || Ds2.Tables[0].Rows.Count == 0 || Ds2.Tables[1].Rows.Count == 0)
+                    {
+                        sErrMsg = "鑾峰彇瀛愯〃淇℃伅澶辫触锛�";
+                        oCn.RollBack();
+                        return false;
+                    }
+                    else
+                    {
+                        string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[\"FBillEntry\",\"FQty\"]," +
+                            "\"NeedReturnFields\":[],\"IsDeleteEntry\":\"false\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
+                            "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
+                            "\"Model\":{ \"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds2.Tables[0].Rows[0]["FID"]) + "\"," +
+                            "\"FBillEntry\": [  ";
+                        string sJson_Entry = "";
+                        for (int i = 0; i < Ds2.Tables[1].Rows.Count; i++)
+                        {
+                            if (sJson_Entry != "")
+                            {
+                                sJson_Entry = sJson_Entry + " , ";
+                            }
+
+                            sJson_Entry = sJson_Entry + " {" +
+                            "\"FEntryID\":\"" + Pub_Class.ClsPub.isStrNull(Ds2.Tables[1].Rows[i]["FEntryID"]) + "\"," +
+                            "\"FQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds2.Tables[1].Rows[i]["FQty"]) + "\" " +
+                            "}";
+                        }
+                        string sJson_End = "  ]  }}";
+                        string sJson = sJson_Main + sJson_Entry + sJson_End;
+
+                        //楠岃瘉鐢ㄦ埛淇℃伅
+                        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 });
+
+                            HReturn = result.ToString();
+
+                            if (HReturn.Contains("\"IsSuccess\":false") == true)
+                            {
+                                sErrMsg = "淇敼鐩存帴璋冩嫧鍗曞け璐ワ紒" + HReturn + sJson;
+                                oCn.RollBack();
+                                return false;
+                            }
+                            else
+                            {
+                                HReturn = "";
+                                //鎻愪氦鍗曟嵁
+                                string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                                var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                                new object[] { "STK_TransferDirect", sJson2 });
+                                //瀹℃牳鍗曟嵁
+                                string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                                var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                                new object[] { "STK_TransferDirect", sJson3 });
+
+                                HReturn = result3.ToString();
+
+                                if (HReturn.Contains("\"IsSuccess\":false") == true)
+                                {
+                                    sErrMsg = "鏍¢獙瀹℃牳鐩存帴璋冩嫧鍗曞け璐ワ紒" + HReturn + sJson;
+                                    oCn.RollBack();
+                                    return false;
+                                }
+                                else
+                                {
+                                    //閲嶆柊鍚屾鐩存帴璋冩嫧鍗�
+                                    oCn.RunProc("exec h_p_IFCLD_ERPSourceBillToLocal_MoveStock '" + oMain.HBillNo + "'");
+                                    oCn.Commit();
+                                    return true;
+                                }
+                            }
+                        }
+                        else
+                        {
+                            sErrMsg = "鏍¢獙瀹℃牳鐩存帴璋冩嫧鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
+                            oCn.RollBack();
+                            return false;
+                        }
+                    }
+                }
+            }
+            catch (Exception e)
+            {
+                sErrMsg = "鏍¢獙瀹℃牳鐩存帴璋冩嫧鍗曞け璐ワ紒" + e.Message;
+                oCn.RollBack();
+                return false;
+            }
+        }
+
+        #endregion
+
         #region 鍒嗘寮忚皟鍑哄崟        *
 
         //鐢熸垚鍒嗘寮忚皟鍑哄崟
@@ -8375,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))
@@ -8394,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;
             }
         }
 
@@ -12373,7 +13008,6 @@
                 if (SaveSellOutBill_SeOutStock_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -12754,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
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -12790,12 +13449,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;
                 Ds = oCn.RunProcReturn("exec h_p_Kf_GetSellOutBill_SeOutStock_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetSellOutBill_SeOutStock_CLD_New");
@@ -12810,7 +13463,7 @@
                     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\":\"\"," +
+                        "\"IsEntryBatchFill\":\"false\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
                         "\"Model\":{ " +
                         //\"FID\":\"0\",
                         "\"FBillTypeID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\"}," +
@@ -12904,6 +13557,10 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100001\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
+                        else if (oSystemParameterMain.WMS_CampanyName == "妫シ") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100003\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
+                        }
                         else
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
@@ -12953,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\":\"\",
@@ -12990,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\": [ {  " +
@@ -13028,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",
@@ -13061,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;
@@ -13085,13 +13706,13 @@
                         }
                         else
                         {
+                            LogService.Write("鐢熸垚閿�鍞嚭搴撳崟鎴愬姛锛�" + sJson);
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚閿�鍞嚭搴撳崟澶辫触锛佺櫥褰曞け璐ワ紒";
+                        sErrMsg = "鐢熸垚閿�鍞嚭搴撳崟澶辫触锛侀噾铦朵簯鐧诲綍澶辫触锛�";
                         oCn.RollBack();
                         return false;
                     }
@@ -13102,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;
             }
         }
 
@@ -15551,7 +16218,7 @@
 
                             sJson_Entry = sJson_Entry + "{" +
                             "\"FEntryID\":\"" + Pub_Class.ClsPub.isStrNull(Ds2.Tables[1].Rows[i]["FEntryID"]) + "\"," +
-                            "\"FActualQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds2.Tables[1].Rows[i]["FActualQty"]) + "\"," +
+                            "\"FActualQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds2.Tables[1].Rows[i]["FActualQty"]) + "\" " +
                             "}";
                         }
                         string sJson_End = "  ]  }}";
@@ -18642,7 +19309,6 @@
                 if (SaveOtherOutBill_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -18946,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
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -18983,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;
@@ -19076,6 +19762,10 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100001\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
+                        else if (oSystemParameterMain.WMS_CampanyName == "妫シ") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100003\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
+                        }
                         else
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
@@ -19109,74 +19799,35 @@
                             "\"FKeeperTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeId"]) + "\"," +
                             //"\"FDistribution\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDistribution"]) + "," +
                             "\"FKeeperId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperId"]) + "\"}," +
-                            "\"FExtAuxUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitId"]) + "\"}," +
-                            "\"FExtAuxUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitQty"]) + "} ";
+                            "\"FExtAuxUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitId"]) + "\"}} ";
+                        //"\"FExtAuxUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitQty"]) + "} ";
                     }
                     //"\"FInStockEntry_Link_FSId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSId"]) +
                     string sJson_End = "  ]  }}";
                     string sJson = sJson_Main + sJson_Entry + sJson_End;
 
-                    //浠庨厤缃枃浠惰幏鍙� CLOUD缃戝潃銆佽处濂椾俊鎭�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮�
-                    if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
-                    {
-                        sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
-                        return false;
-                    }
-
-                    //鑾峰彇CLOUD璐﹀彿瀵嗙爜
-                    string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
-                    string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
-                    DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
-                    if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
-                    {
-                    }
-                    else
-                    {
-                        sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
-                        sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
-                    }
-
-                    //鐢熸垚 鍏朵粬鍑哄簱鍗� 1涓墿鏂�1鍗�
-                    string HReturn;
-                    ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
-                    string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
-                    bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
+                    //鐢熸垚閲戣澏浜戝崟鎹�
                     if (bLogin)
                     {
                         var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
                         new object[] { "STK_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;
                     }
@@ -19184,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;
             }
         }
 
@@ -21495,11 +22192,13 @@
                 ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
                 ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
                 ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
+                ",HArrivalDate" +
                 ") " +
                 " values('1201','1201'," + 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.HArrivalDate.ToShortDateString() + "'" +
                 ") ");
 
                 //鏂板K3瀛愯〃銆佷富琛�
@@ -23243,6 +23942,9 @@
             }
         }
 
+
+        
+
         /// <summary>
         /// 浜у搧鍏ュ簱鍗�
         /// </summary>
@@ -23391,6 +24093,88 @@
         }
 
         #endregion
+
+        [WebMethod]
+        //鏍规嵁鐗╂枡鏉$爜 杩斿洖鐗╂枡淇℃伅  瑙勬牸鍨嬪彿  鏁伴噺
+        public bool GetInfoByBarCode(string sBarCode, ref string sMaterName, ref string sMaterNumber, ref long sMaterID, ref string sMaterModel, ref long sUnitID, ref string sUnitName, ref double sQty)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            DataSet Ds = oCn.RunProcReturn("exec h_p_GetInfoByBarCode_AGV '" + sBarCode + "'", "h_p_GetInfoByBarCode_AGV");
+            if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+            {
+                return false;
+            }
+            else
+            {
+                sMaterName = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HMaterName"]);
+                sMaterNumber = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HMaterNumber"]);
+                sMaterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HMaterID"]);
+                sMaterModel = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HMaterModel"]);
+                sUnitID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HUnitID"]);
+                sUnitName = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HUnitName"]);
+                sQty = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HQty"]);
+            }
+            return true;
+        }
+
+        [WebMethod]
+        public bool set_SaveKf_AGVRequestBill(Model.ClsKf_AGVRequestBillMain oMain, ref string sErrMsg)
+        {
+            if (SaveKf_AGVRequestBill(oMain, ref sErrMsg))
+            {
+                //"淇濆瓨鎴愬姛锛�";
+                sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
+                return true;
+            }
+            else
+            {
+                //"淇濆瓨澶辫触锛�";
+                sErrMsg = sErrMsg;
+                return false;
+            }
+        }
+
+
+
+        /// <summary>
+        /// AGV閰嶉�佸崟
+        /// </summary>
+        /// <param name="oMain"></param>
+        /// <param name="sErrMsg"></param>
+        /// <returns></returns>
+        public bool SaveKf_AGVRequestBill(Model.ClsKf_AGVRequestBillMain oMain, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            try
+            {
+                //鎻掑叆瀛愯〃
+                oCn.RunProc("Insert Into Kf_AGVRequestBillMain   " +
+                "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
+                ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
+                ",HSPID,HWHID,HSCWHID,HSCSPID,HOWNERID" +
+                ") " +
+                " values('1299','1299'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),''" +
+                ",2012,1,'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
+                ", " + oMain.HSPID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HSCSPID.ToString() + "," + oMain.HOrgID.ToString() +
+                ") ");
+                //鎻掑叆涓昏〃
+                oCn.RunProc("Insert Into Kf_AGVRequestBillSub   " +
+                "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
+                ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
+                 ",HSPID,HWHID,HSCWHID,HSCSPID,HQty,HMaterID,HOWNERID" +
+                ") " +
+                 " values('1299','1299'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),''" +
+                ",2012,1,'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
+                ", " + oMain.HSPID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HSCSPID.ToString() + "," + oMain.HQty.ToString() + "," + oMain.HMaterID.ToString() + "," + oMain.HOrgID.ToString() +
+                ") ");
+                return true;
+            }
+            catch (Exception e)
+            {
+                sErrMsg = "AGV閰嶉�佸崟澶辫触锛�" + e.Message;
+                return false;
+            }
+        }
 
         #region 浜у搧閫�搴�    浜у搧鍏ュ簱锛堢孩瀛楋級   *鏃�
 
@@ -24133,7 +24917,6 @@
                 if (SaveProductInBill_ICMO_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -24148,7 +24931,6 @@
                 if (SaveProductInBill_ICMOReport_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
                 {
                     //"淇濆瓨鎴愬姛锛�";
-                    sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
                     return true;
                 }
                 else
@@ -24173,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
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -24209,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");
@@ -24226,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 + "\"," +
@@ -24244,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++)
@@ -24254,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"]);
@@ -24266,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"]) == "")
                         {
@@ -24299,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"]) + "\"}," +
@@ -24355,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",
@@ -24388,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;
@@ -24413,12 +25194,11 @@
                         else
                         {
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒鐧诲綍澶辫触锛�";
+                        sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
                         oCn.RollBack();
                         return false;
                     }
@@ -24430,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>
@@ -24440,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
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -24476,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");
@@ -24493,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 + "\"," +
@@ -24511,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++)
@@ -24654,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",
@@ -24687,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;
@@ -24712,12 +25531,11 @@
                         else
                         {
                             oCn.Commit();
-                            return true;
                         }
                     }
                     else
                     {
-                        sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒鐧诲綍澶辫触锛�";
+                        sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
                         oCn.RollBack();
                         return false;
                     }
@@ -24728,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;
             }
         }
 
@@ -27164,22 +28028,43 @@
 
         #endregion
 
-        #region 鍏跺畠鍏ュ簱CLOUD   *New
+        #region 鍏朵粬鍏ュ簱CLOUD   *New
 
         //鐢熸垚鍏ュ簱鍗� 
         [WebMethod]
         public bool set_SaveOtherInBill_CLD_New(Model.ClsKf_OtherInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
-            if (SaveOtherInBill_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
+            if (sHSourceType == "-1")   //鏃犳簮鍗�
             {
-                //"淇濆瓨鎴愬姛锛�";
-                sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo;
-                return true;
+                if (SaveOtherInBill_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
+                {
+                    //"淇濆瓨鎴愬姛锛�";
+                    return true;
+                }
+                else
+                {
+                    //"淇濆瓨澶辫触锛�";
+                    sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛�" + sErrMsg;
+                    return false;
+                }
+            }
+            else if (oSystemParameterMain.WMS_CampanyName == "妫シ" || sHSourceType == "1241")    //鍏ュ簱鐢宠鍗�
+            {
+                if (SaveOtherInBill_StockInRequest_CLD_SenKai(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
+                {
+                    //"淇濆瓨鎴愬姛锛�";
+                    return true;
+                }
+                else
+                {
+                    //"淇濆瓨澶辫触锛�";
+                    sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛�" + sErrMsg;
+                    return false;
+                }
             }
             else
             {
-                //"淇濆瓨澶辫触锛�";
-                sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛�" + sErrMsg;
+                sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涢敊璇殑婧愬崟绫诲瀷";
                 return false;
             }
         }
@@ -27192,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
             {
                 //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
@@ -27229,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;
@@ -27320,6 +28225,10 @@
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100001\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                         }
+                        else if (oSystemParameterMain.WMS_CampanyName == "妫シ") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100003\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
+                        }
                         else
                         {
                             sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
@@ -27357,55 +28266,483 @@
                     string sJson_End = "  ]  }}";
                     string sJson = sJson_Main + sJson_Entry + sJson_End;
 
-                    //浠庨厤缃枃浠惰幏鍙� CLOUD缃戝潃銆佽处濂椾俊鎭�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮�
-                    if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
+                    //鐢熸垚閲戣澏浜戝崟鎹�
+                    if (bLogin)
                     {
-                        sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
-                        return false;
-                    }
+                        var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
+                        new object[] { "STK_MISCELLANEOUS", sJson });
 
-                    //鑾峰彇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)
-                    {
+                        HReturn = result.ToString();
+
+                        if (HReturn.Contains("\"IsSuccess\":false") == true)
+                        {
+                            sErrMsg = "鐢熸垚鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson;
+                            oCn.RollBack();
+                            return false;
+                        }
+                        else
+                        {
+                            oCn.Commit();
+                        }
                     }
                     else
                     {
-                        sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
-                        sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
+                        sErrMsg = "鐢熸垚鍏朵粬鍏ュ簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
+                        oCn.RollBack();
+                        return false;
                     }
+                }
+            }
+            catch (Exception e)
+            {
+                sErrMsg = "鐢熸垚鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + e.Message;
+                oCn.RollBack();
+                return false;
+            }
 
-                    //鐢熸垚 鍏朵粬鍏ュ簱鍗� 1涓墿鏂�1鍗�
+            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;
+            }
+        }
+
+        /// <summary>
+        /// 鍏朵粬鍏ュ簱鍗�   婧愬崟锛氬叆搴撶敵璇峰崟
+        /// </summary>
+        /// <param name="oMain"></param>
+        /// <param name="sErrMsg"></param>
+        /// <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
+            {
+                //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    sErrMsg = s;
+                    return false;
+                }
+                oMain.HYear = sYear;
+                oMain.HPeriod = sPeriod;
+
+                oCn.BeginTran();
+                //鐢熸垚鍑哄叆搴撳崟鎹�
+                //鎻掑叆瀛愯〃
+                oCn.RunProc("EXEC h_p_Kf_OtherInBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
+                //鎻掑叆涓昏〃
+                oCn.RunProc("Insert Into Kf_ICStockBillMain   " +
+                "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
+                ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
+                ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
+                ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
+                ",HStockStyle" +
+                ",HSTOCKORGID,HOWNERID" +
+                ") " +
+                " values('1203','1203'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
+                ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
+                ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
+                ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
+                ",'" + oMain.HStockStyle + "'" +
+                ", " + oMain.HSTOCKORGID.ToString() + "," + oMain.HOWNERID.ToString() +
+                ") ");
+                //鏇存柊鍏宠仈鏁伴噺
+                oCn.RunProc("exec h_p_Kf_UpDateRelation_StockInRequestToOtherIn_Add " + oMain.HInterID.ToString());
+
+                //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅
+                DataSet Ds;
+                Ds = oCn.RunProcReturn("exec h_p_Kf_GetOtherInBill_StockInRequest_CLD_SenKai " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetOtherInBill_StockInRequest_CLD_SenKai");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
+                {
+                    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\":{ " +
+                        //"FID": 0,
+                        "\"FBillNo\":\"" + oMain.HBillNo + "\"," +
+                        "\"FBillTypeID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\"}," +
+                        "\"FStockOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," +
+                        "\"FStockDirect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockDirect"]) + "\"," +
+                        "\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
+                        "\"FSUPPLIERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSUPPLIERID"]) + "\"}," +
+                        "\"FDeptId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDeptId"]) + "\"}," +
+                        "\"FACCEPTANCE\":{\"FStaffNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FACCEPTANCE"]) + "\"}," +
+                        "\"FStockerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockerId"]) + "\"}," +
+                        "\"FSTOCKERGROUPID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKERGROUPID"]) + "\"}," +
+                        "\"FOwnerTypeIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\"," +
+                        "\"FOwnerIdHead\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\"}," +
+                        "\"FNOTE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FNOTE"]) + "\"," +
+                        "\"FBaseCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseCurrId"]) + "\"}," +
+                        //"FScanBox": "",
+                        //"F_paez_Text": "",
+                        sJson_MainCustom +
+                        "\"FEntity\":[";
+                    string sJson_Entry = "";
+                    for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
+                    {
+                        if (sJson_Entry != "")
+                        {
+                            sJson_Entry = sJson_Entry + " , ";
+                        }
+                        string sJson_BatchNo = "";          //鎵瑰彿
+                        string sJson_StockPlace = "";       //浠撲綅
+                        string sJson_FAUXPROPID = "";       //杈呭姪灞炴��
+                        string sJson_FProduceDate = "";     //鐢熶骇鏃ユ湡
+                        string sJson_FExpiryDate = "";      //鏈夋晥鏈熻嚦
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+                        //鏄惁鍚敤鎵规绠$悊
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1")
+                        {
+                            sJson_BatchNo = "  \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"},    \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"  , ";
+                        }
+                        else
+                        {
+                            sJson_BatchNo = "";
+                        }
+                        //浠撲綅
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")
+                        {
+                            sJson_StockPlace = "";
+                        }
+                        else
+                        {
+                            sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
+                        }
+                        //杈呭姪灞炴��
+                        sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100003\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
+                        //鏄惁鍚敤淇濊川鏈熸帶鍒�
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1")
+                        {
+                            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 = "";
+                        }
+
+                        sJson_Entry = sJson_Entry + "{" +
+                        //"FEntryID": 0,
+                        " \"FInStockType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockType"]) + "\"," +
+                        " \"FMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\"}," +
+                        " \"FUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\"}," +
+                        " \"FStockId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockId"]) + "\"}," +
+                        sJson_StockPlace +
+                        " \"FStockStatusId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockStatusId"]) + "\"}," +
+                        sJson_BatchNo +
+                        sJson_FAUXPROPID +
+                        //"F_TFKO_Assistant2": {
+                        //            "FNumber": ""
+                        //},
+                        //"F_TFKO_Assistant": {
+                        //            "FNumber": ""
+                        //},
+                        //"F_TFKO_Assistant1": {
+                        //            "FNumber": ""
+                        //},
+                        //"F_TFKO_Assistant3": {
+                        //            "FNumber": ""
+                        //},
+                        //"F_TFKO_Text": "",
+                        //"F_TFKO_Text1": "",
+                        //"F_TFKO_Text2": "",
+                        //"F_TFKO_Text3": "",
+                        //"FExtAuxUnitQty": 0,
+                        " \"FQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQty"]) + "\"," +
+                        //"FEntryNote": "",
+                        " \"FBomId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBomId"]) + "\"}," +
+                        sJson_FProduceDate +
+                        sJson_FExpiryDate +
+                        " \"FExtAuxUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitId"]) + "\"}," +
+                        " \"FMtoNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMtoNo"]) + "\"," +
+                        " \"FProjectNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProjectNo"]) + "\"," +
+                        " \"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeId"]) + "\"," +
+                        " \"FOwnerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerId"]) + "\"}," +
+                        " \"FKeeperTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeId"]) + "\"," +
+                        " \"FKeeperId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperId"]) + "\"}," +
+                        " \"FSRCBILLTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\"," +
+                        " \"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
+                        " \"FBaseUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\"}," +
+                        " \"FSECUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSECUNITID"]) + "\"}," +
+                        " \"FSNUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNUNITID"]) + "\"}," +
+                        sJson_SubCustom +
+
+                        //"FSerialSubEntity": [
+                        //    {
+                        //            "FDetailID": 0,
+                        //        "FSerialNo": "",
+                        //        "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_FBASEQTYOLD\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FBASEQTYOLD"]) + "\"," +
+                            " \"FEntity_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"" +
+                        " } ]   }  ";
+                    }
+                    string sJson_End = "  ]  }}";
+                    string sJson = sJson_Main + sJson_Entry + sJson_End;
+
+                    //鐢熸垚閲戣澏浜戝崟鎹�
+                    if (bLogin)
+                    {
+                        var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
+                        new object[] { "STK_MISCELLANEOUS", sJson });
+
+                        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_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;
+            }
+        }
+
+        #endregion
+
+        #region 鍏朵粬鍏ュ簱    鏍¢獙妯″紡*
+
+        //鏍¢獙鍏跺畠鍏ュ簱 
+        [WebMethod]
+        public bool set_SaveOtherInBill_BillCheck(Model.ClsKf_OtherInBillMain oMain, ref string sErrMsg)
+        {
+            if (set_SaveOtherInBill_CLD_BillCheck(oMain, ref sErrMsg) == true)
+            {
+                //涓婁紶鎴愬姛
+                return true;
+            }
+            else
+            {
+                //涓婁紶澶辫触
+                sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
+                return false;
+            }
+        }
+
+        public bool set_SaveOtherInBill_CLD_BillCheck(Model.ClsKf_OtherInBillMain oMain, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            //鑾峰彇绯荤粺鍙傛暟
+            Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+            if (oSystemParameter.ShowBill(ref sErrMsg) == false)
+            {
+                sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                return false;
+            }
+            //涓婁紶鍓嶅垽鏂�
+            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_OtherInBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameter.omodel.Kf_OtherInBillCheck_MustQtyCtl + "'", "h_p_WMS_BeforeUpload_OtherInBillCheck");
+            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;
+                }
+            }
+
+            try
+            {
+                oCn.BeginTran();
+                //鍐欏叆鏉$爜鍑哄叆搴撹〃
+                oCn.RunProc("EXEC h_p_Kf_ICStockBillSub_WMS_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillType + "','" + oMain.HBillNo + "'");
+
+                //浠庨厤缃枃浠惰幏鍙� 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"]);
+                }
+
+                if (oSystemParameter.omodel.Kf_OtherInBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹")
+                {
                     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 });
+                        //鎻愪氦鍗曟嵁
+                        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 });
 
-                        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 = result3.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;
                             oCn.RollBack();
                             return false;
                         }
@@ -27417,15 +28754,105 @@
                     }
                     else
                     {
-                        sErrMsg = "鍏朵粬鍏ュ簱鍗曞け璐ワ紒鐧诲綍澶辫触锛�";
+                        sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
                         oCn.RollBack();
                         return false;
+                    }
+                }
+                else
+                {
+                    //鏍规嵁TMP琛� 杩斿洖 淇敼淇℃伅
+                    DataSet Ds2;
+                    Ds2 = oCn.RunProcReturn("exec h_p_Kf_GetOtherInBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetOtherInBillCheck");
+                    if (Ds2 == null || Ds2.Tables[0].Rows.Count == 0 || Ds2.Tables[1].Rows.Count == 0)
+                    {
+                        sErrMsg = "鑾峰彇瀛愯〃淇℃伅澶辫触锛�";
+                        oCn.RollBack();
+                        return false;
+                    }
+                    else
+                    {
+                        string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[\"FEntity\",\"FQty\"]," +
+                            "\"NeedReturnFields\":[],\"IsDeleteEntry\":\"false\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
+                            "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
+                            "\"Model\":{ \"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds2.Tables[0].Rows[0]["FID"]) + "\"," +
+                            "\"FEntity\":[";
+                        string sJson_Entry = "";
+                        for (int i = 0; i < Ds2.Tables[1].Rows.Count; i++)
+                        {
+                            if (sJson_Entry != "")
+                            {
+                                sJson_Entry = sJson_Entry + " , ";
+                            }
+
+                            sJson_Entry = sJson_Entry + "{" +
+                            "\"FEntryID\":\"" + Pub_Class.ClsPub.isStrNull(Ds2.Tables[1].Rows[i]["FEntryID"]) + "\"," +
+                            "\"FQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds2.Tables[1].Rows[i]["FQty"]) + "\" " +
+                            "}";
+                        }
+                        string sJson_End = "  ]  }}";
+                        string sJson = sJson_Main + sJson_Entry + sJson_End;
+
+                        //楠岃瘉鐢ㄦ埛淇℃伅
+                        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 });
+
+                            HReturn = result.ToString();
+
+                            if (HReturn.Contains("\"IsSuccess\":false") == true)
+                            {
+                                sErrMsg = "淇敼鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson;
+                                oCn.RollBack();
+                                return false;
+                            }
+                            else
+                            {
+                                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 = result3.ToString();
+
+                                if (HReturn.Contains("\"IsSuccess\":false") == true)
+                                {
+                                    sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson;
+                                    oCn.RollBack();
+                                    return false;
+                                }
+                                else
+                                {
+                                    //閲嶆柊鍚屾鍏朵粬鍏ュ簱鍗�
+                                    oCn.RunProc("exec h_p_IFCLD_ERPSourceBillToLocal_OtherIn '" + oMain.HBillNo + "'");
+                                    oCn.Commit();
+                                    return true;
+                                }
+                            }
+                        }
+                        else
+                        {
+                            sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
+                            oCn.RollBack();
+                            return false;
+                        }
                     }
                 }
             }
             catch (Exception e)
             {
-                sErrMsg = "鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + e.Message;
+                sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + e.Message;
                 oCn.RollBack();
                 return false;
             }
@@ -27788,7 +29215,7 @@
 
         #endregion
 
-        #region 宸ュ簭姹囨姤杞Щ鍗�        *
+        #region 宸ュ簭姹囨姤杞Щ鍗�        *鐢熸垚鐢熶骇鍏ュ簱鍗曘�侀鏂欏嚭搴撳崟
 
         //鐢熸垚宸ュ簭姹囨姤杞Щ鍗�
         [WebMethod]
@@ -28419,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;
             }
@@ -29101,6 +31173,38 @@
             }
         }
 
+        //AGV閰嶉�佸崟鍒楄〃鐣岄潰锛岃繑鍥濧GV閰嶉�佸崟淇℃伅
+        [WebMethod]
+        public DataSet GetAGVBillList_New(string sHMaker, Int64 sHOWNERID)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            DataSet Ds = oCn.RunProcReturn("exec h_p_AGVBillList_New '" + sHMaker + "'," + sHOWNERID.ToString(), "h_p_AGVBillList_New");
+            if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+            {
+                return null;
+            }
+            else
+            {
+                return Ds;
+            }
+        }
+
+        //AGV閰嶉�佸崟鍒楄〃鐣岄潰鏌ヨ鎸夐挳  鏍规嵁鍗曞彿杩囨护淇℃伅
+        [WebMethod]
+        public DataSet GetAGVBillList_BillNoQuery(string sBillNo)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            DataSet Ds = oCn.RunProcReturn("exec h_p_Kf_ICStockBillQueryList_AGV '" + sBillNo + "'", "h_p_Kf_ICStockBillQueryList_AGV");
+            if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+            {
+                return null;
+            }
+            else
+            {
+                return Ds;
+            }
+        }
+
 
 
         //宸蹭笂浼犲垪琛ㄧ晫闈紝鎾ら攢鍔熻兘锛屽垹闄MS琛ㄥ拰鏈湴鍑哄叆搴撳崟璁板綍锛屽苟鏇存柊TEMP琛ㄤ腑鐨勪笂浼犲瓧娈� HRelationInterID=0
@@ -29712,6 +31816,26 @@
                 else if (oSystemParameter.omodel.WMS_CampanyName == "鍦i緳")
                 {
                     SqlConnection ocn = new SqlConnection(@"Data Source=192.168.1.34;DataBase=master;User ID=HX_USER;PWD=lc@841022;max pool size=32767");//鍦i緳
+                    ocn.Open();
+                    SqlCommand cm = new SqlCommand(sSQL, ocn);
+                    cm.CommandTimeout = 600;
+                    SqlDataReader dr = cm.ExecuteReader();
+                    //byte[] oFile = null;
+                    if (dr.Read())
+                    {
+                        FileItem = (byte[])dr["FFile"];
+                        return true;
+                    }
+                    else
+                    {
+                        FileItem = null;
+                        sSQL = "";
+                        return false;
+                    }
+                }
+                else if (oSystemParameter.omodel.WMS_CampanyName == "妫シ")
+                {
+                    SqlConnection ocn = new SqlConnection(@"Data Source=192.168.10.66;DataBase=master;User ID=HX_USER;PWD=lc@841022;max pool size=32767");//妫シ
                     ocn.Open();
                     SqlCommand cm = new SqlCommand(sSQL, ocn);
                     cm.CommandTimeout = 600;
@@ -30649,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")
@@ -31206,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();
@@ -31714,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();
@@ -32450,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]);
             }
 
             //鏍规嵁鏉$爜鑾峰彇鏉$爜淇℃伅
@@ -32861,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)
@@ -32887,7 +35017,7 @@
             }
             //钃濆瓧浜у搧鍏ュ簱銆佸璐叆搴撱�佸澶栧叆搴撱�佺敓浜ф眹鎶ワ紝鏍规嵁鐗╂枡鏉$爜寰楀埌瀵瑰簲婧愬崟淇℃伅锛岄潪澶氭簮鍗曟ā寮�
             //鏈壂鎻忔簮鍗曠殑鎯呭喌涓嬶紝绗竴娆℃壂鎻忕墿鏂欐潯鐮佽幏鍙栨簮鍗曚俊鎭苟瀛樺叆涓存椂琛�
-            //閲囪喘鍏ュ簱锛�1201锛夈�佷骇鍝佸叆搴擄紙1202锛夈�佸澶栧叆搴擄紙1210锛夈�佺敓浜ф眹鎶ワ紙3711锛�
+            //閲囪喘鍏ュ簱锛�1201锛夈�佷骇鍝佸叆搴擄紙1202锛夈�佸叾浠栧叆搴擄紙1203锛夈�佸澶栧叆搴擄紙1210锛夈�佺敓浜ф眹鎶ワ紙3711锛�
             if (SourceFlag == false && (HBillType == "1201" || HBillType == "1202" || HBillType == "1210" || HBillType == "3711"))
             {
                 if (HSourceBillType != "-1")
@@ -33172,6 +35302,7 @@
                                 {
                                     dal.omodel_View.HMaterID = DBUtility.ClsPub.isLong(ds6.Tables[0].Rows[0]["HMaterID"]);
                                     HQty = DBUtility.ClsPub.isDoule(ds6.Tables[0].Rows[0]["HQty"]);
+                                    sRelQty = HQty;
                                 }
                                 else
                                 {
@@ -33276,8 +35407,10 @@
             //    sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
             //    return false;
             //}
-            //鐢熶骇棰嗘枡鍗�-鍏堣繘鍏堝嚭鎺у埗
-            if (HBillType == "1204" && oSystemParameter.omodel.Kf_MateOutBill_FIFOCtl == "Y") //绯荤粺鍙傛暟  鐢熶骇棰嗘枡鍗�-鍏堣繘鍏堝嚭鎺у埗
+            //鍏堣繘鍏堝嚭鎺у埗
+            if ((HBillType == "1204" && oSystemParameter.omodel.Kf_MateOutBill_FIFOCtl == "Y")      //绯荤粺鍙傛暟  鐢熶骇棰嗘枡鍗�-鍏堣繘鍏堝嚭鎺у埗
+                || (HBillType == "1205" && oSystemParameter.omodel.Kf_SellOutBill_FIFOCtl == "Y")   //绯荤粺鍙傛暟  閿�鍞嚭搴撳崟-鍏堣繘鍏堝嚭鎺у埗
+                ) 
             {
                 DataSet FIFO = oCn.RunProcReturn("exec h_p_Kf_ICInventory_FIFO_Tmp_BarCode " + HBillID.ToString() + ",'" + HBillType + "','" + model.HBatchNo + "','" + model.HBarCode + "'," + model.HQty.ToString(), "h_p_Kf_ICInventory_FIFO_Tmp_BarCode");
                 if (FIFO == null || FIFO.Tables[0].Rows.Count == 0)
@@ -33378,6 +35511,313 @@
                         return null;
                     }
                     return oBar;
+                }
+                //鍏朵粬鍏ュ簱銆佸叾浠栧嚭搴�  妫シ涓撶敤
+                else if ((HBillType == "1203" || HBillType == "1206") && oSystemParameter.omodel.WMS_CampanyName == "妫シ") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                {
+                    //鍒ゆ柇鏄惁鍚敤涓�閿壂鐮佹ā寮忥紝Y涓哄惎鐢紝鏈惎鐢ㄦ椂鍙壂鎻忕墿鏂欐潯鐮�
+                    if (oSystemParameter.omodel.WMS_OneKeyMode.ToUpper() == "N")
+                    {
+                        //鏍规嵁鍗曚釜鏉$爜鑾峰彇瀵瑰簲鏁存墭鏉$爜淇℃伅鍐欏叆鏉$爜鍑哄叆搴撲复鏃惰〃
+                        string sBarCode_New;
+                        DataSet dsTBarCode = oCn.RunProcReturn("exec h_p_WMS_BeforeCheckToBarCode_ScanStyle '" + sBarCode + "'," + HBillID.ToString() + ",'" + HBillType + "','鏁存墭鎵爜'", "h_p_WMS_BeforeCheckToBarCode_ScanStyle");
+                        if (dsTBarCode == null || dsTBarCode.Tables[0].Rows.Count == 0)
+                        {
+                            sErrMsg = "鑾峰彇鏁存墭鏉$爜淇℃伅鍙戠敓閿欒锛�";
+                            return null;
+                        }
+                        else
+                        {
+                            if (DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[0][0]) == 1)
+                            {
+                                sErrMsg = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[0]["HRemark"]);
+                                return null;
+                            }
+                            else if (DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[0][0]) == 2)
+                            {
+                                sErrMsg = "姝ゆā鍧椾笉鍏佽鍙嶅悜鎷嗙爜锛�";
+                                return null;
+                            }
+                            else
+                            {
+                                if (HBillType == "1203")
+                                {
+                                    HSourceBillNo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[0]["HSourceBillNo"]);
+                                    HSourceBillType = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[0]["HSourceBillType"]);
+
+                                    Int64 sMulSourceFlag = 0;   //澶氭簮鍗曟爣蹇楋紙0涓洪潪澶氭簮鍗曟ā寮忥紝1涓哄婧愬崟妯″紡锛�
+                                    if (oSystemParameter.omodel.Kf_OtherInBill_MulSourceBill.ToUpper() == "Y") //绯荤粺鍙傛暟  鍏朵粬鍏ュ簱鍗�-澶氭簮鍗曟ā寮�
+                                    {
+                                        sMulSourceFlag = 1;
+                                    }
+
+                                    //灏嗘簮鍗曚俊鎭瓨鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
+                                    DataSet dsyd = oCn.RunProcReturn("exec h_p_WMS_AddSourceBarCode_OtherIn " + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HSourceBillNo + "','" + HSourceBillType + "'," + sMulSourceFlag.ToString() + ",'" + HMaker + "'," + HOWNERID.ToString(), "h_p_WMS_AddSourceBarCode_OtherIn");
+                                    if (dsyd == null || dsyd.Tables[0].Rows.Count == 0)
+                                    {
+                                        sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涘皢鏉$爜瀵瑰簲婧愬崟淇℃伅瀛樺叆鏉$爜鍑哄叆搴撲复鏃惰〃澶辫触锛�";
+                                        return null;
+                                    }
+                                    else
+                                    {
+                                        if (DBUtility.ClsPub.isLong(dsyd.Tables[0].Rows[0][0]) == 0)
+                                        {
+                                            SourceFlag = true;
+                                        }
+                                        else
+                                        {
+                                            sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛�" + DBUtility.ClsPub.isStrNull(dsyd.Tables[0].Rows[0]["HRemark"]);
+                                            return null;
+                                        }
+                                    }
+                                }
+
+                                for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++)
+                                {
+                                    sBarCode_New = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCode"]);
+                                    if (set_SavePonderationBillMain_Temp_BarCode(sBarCode_New, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg))
+                                    {
+                                        oBar.HSourceBillType = sHSourceBillType;
+                                        oBar.HSourceBillNo = sHSourceBillNo;
+                                        oBar.HSupID = sHSupID;
+                                        oBar.HSupName = sHSupName;
+                                        oBar.HDeptID = sHDeptID;
+                                        oBar.HDeptName = sHDeptName;
+                                    }
+                                    else
+                                    {
+                                        sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忓け璐ワ紒" + sBarCode_New + sErrMsg;
+                                        return null;
+                                    }
+                                }
+                            }
+                            return oBar;
+                        }
+                    }
+                    //涓�閿壂鐮佹ā寮忥紝鏍规嵁鏉$爜鍓嶇紑璧� 涓嶅悓鏂规硶锛堜粨搴撱�佷粨浣嶃�侀儴闂級锛堟簮鍗曘�佺墿鏂欐潯鐮侊級
+                    else
+                    {
+                        string sRedBlue = "钃濆瓧";
+                        if (HRedBlueFlag)
+                        {
+                            sRedBlue = "绾㈠瓧";
+                        }
+                        else
+                        {
+                            sRedBlue = "钃濆瓧";
+                        }
+                        DataSet Dss;
+                        //鏍规嵁閫掑叆鐨勬潯鐮佸墠涓変綅锛屽垽鏂潯鐮佺被鍨嬶紙浠撳簱銆佷粨浣嶃�侀儴闂ㄣ�佹簮鍗曘�佺墿鏂欐潯鐮侊級
+                        Dss = oCn.RunProcReturn(" select HSourceName,BarCodeType from Xt_BarCodeType where HSourceNumber= '" + sBarCodePrefix + "'", "Xt_BarCodeType");
+
+                        //鏃犺繑鍥炴暟鎹垯涓虹墿鏂欐潯鐮�
+                        if (Dss == null || Dss.Tables[0].Rows.Count == 0)
+                        {
+                            //鏍规嵁鍗曚釜鏉$爜鑾峰彇瀵瑰簲鏁存墭鏉$爜淇℃伅鍐欏叆鏉$爜鍑哄叆搴撲复鏃惰〃
+                            string sBarCode_New;
+                            DataSet dsTBarCode = oCn.RunProcReturn("exec h_p_WMS_BeforeCheckToBarCode_ScanStyle '" + sBarCode + "'," + HBillID.ToString() + ",'" + HBillType + "','鏁存墭鎵爜'", "h_p_WMS_BeforeCheckToBarCode_ScanStyle");
+                            if (dsTBarCode == null || dsTBarCode.Tables[0].Rows.Count == 0)
+                            {
+                                sErrMsg = "鑾峰彇鏁存墭鏉$爜淇℃伅鍙戠敓閿欒锛�";
+                                return null;
+                            }
+                            else
+                            {
+                                if (DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[0][0]) == 1)
+                                {
+                                    sErrMsg = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[0]["HRemark"]);
+                                    return null;
+                                }
+                                else if (DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[0][0]) == 2)
+                                {
+                                    sErrMsg = "姝ゆā鍧椾笉鍏佽鍙嶅悜鎷嗙爜锛�";
+                                    return null;
+                                }
+                                else
+                                {
+                                    if (HBillType == "1203")
+                                    {
+                                        HSourceBillNo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[0]["HSourceBillNo"]);
+                                        HSourceBillType = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[0]["HSourceBillType"]);
+
+                                        Int64 sMulSourceFlag = 0;   //澶氭簮鍗曟爣蹇楋紙0涓洪潪澶氭簮鍗曟ā寮忥紝1涓哄婧愬崟妯″紡锛�
+                                        if (oSystemParameter.omodel.Kf_OtherInBill_MulSourceBill.ToUpper() == "Y") //绯荤粺鍙傛暟  鍏朵粬鍏ュ簱鍗�-澶氭簮鍗曟ā寮�
+                                        {
+                                            sMulSourceFlag = 1;
+                                        }
+
+                                        //灏嗘簮鍗曚俊鎭瓨鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
+                                        DataSet dsyd = oCn.RunProcReturn("exec h_p_WMS_AddSourceBarCode_OtherIn " + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HSourceBillNo + "','" + HSourceBillType + "'," + sMulSourceFlag.ToString() + ",'" + HMaker + "'," + HOWNERID.ToString(), "h_p_WMS_AddSourceBarCode_OtherIn");
+                                        if (dsyd == null || dsyd.Tables[0].Rows.Count == 0)
+                                        {
+                                            sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涘皢鏉$爜瀵瑰簲婧愬崟淇℃伅瀛樺叆鏉$爜鍑哄叆搴撲复鏃惰〃澶辫触锛�";
+                                            return null;
+                                        }
+                                        else
+                                        {
+                                            if (DBUtility.ClsPub.isLong(dsyd.Tables[0].Rows[0][0]) == 0)
+                                            {
+                                                SourceFlag = true;
+                                            }
+                                            else
+                                            {
+                                                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛�" + DBUtility.ClsPub.isStrNull(dsyd.Tables[0].Rows[0]["HRemark"]);
+                                                return null;
+                                            }
+                                        }
+                                    }
+
+                                    for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++)
+                                    {
+                                        sBarCode_New = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCode"]);
+                                        if (set_SavePonderationBillMain_Temp_BarCode(sBarCode_New, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg))
+                                        {
+                                            oBar.HSourceBillType = sHSourceBillType;
+                                            oBar.HSourceBillNo = sHSourceBillNo;
+                                            oBar.HSupID = sHSupID;
+                                            oBar.HSupName = sHSupName;
+                                            oBar.HDeptID = sHDeptID;
+                                            oBar.HDeptName = sHDeptName;
+                                        }
+                                        else
+                                        {
+                                            sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忓け璐ワ紒" + sBarCode_New + sErrMsg;
+                                            return null;
+                                        }
+                                    }
+                                }
+                                return oBar;
+                            }
+                        }
+                        else
+                        {
+                            string sBarBillName = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["HSourceName"]);
+                            string sBarBillType = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["BarCodeType"]);
+
+                            //鍒ゆ柇鏉$爜绫诲瀷涓� 鍩虹璧勬枡鏉$爜 鎴� 婧愬崟鏉$爜
+                            if (sBarBillType == "鍩虹璧勬枡鏉$爜")
+                            {
+                                //浠撳簱鏉$爜
+                                if (sBarBillName == "浠撳簱")
+                                {
+                                    DAL.ClsIF_Warehouse_View dal = new DAL.ClsIF_Warehouse_View();
+                                    //灏嗛�掑叆鐨勬潯鐮佸幓鎺夊墠涓変綅鍚庤浆鍖栨垚鏁村舰,TryParse涓嶈兘杞崲鎴愭暣鏁版椂杩斿洖false锛屽苟杩斿洖ID=0
+                                    int ID;
+                                    if (int.TryParse(sBarCode.Remove(0, 3), out ID))
+                                    {
+                                        if (dal.GetInfoByID(ID, HOWNERID))
+                                        {
+                                            oBar.HBarType = "浠撳簱鏉$爜";
+                                            oBar.HWhID = dal.omodel.HItemID;
+                                            oBar.HWhNumber = dal.omodel.HNumber;
+                                            oBar.HWhName = dal.omodel.HName;
+                                            oBar.HSPFlag = dal.omodel.HIsStockMgr;
+                                            return oBar;
+                                        }
+                                        else
+                                        {
+                                            sErrMsg = "鏃犳晥浠撳簱鏉$爜锛�";
+                                            return null;
+                                        }
+                                    }
+                                    else
+                                    {
+                                        sErrMsg = "閿欒鐨勪粨搴撴潯鐮侊紒";
+                                        return null;
+                                    }
+                                }
+                                //浠撲綅鏉$爜
+                                else if (sBarBillName == "浠撲綅")
+                                {
+                                    DAL.ClsIF_StockPlace_View dal = new DAL.ClsIF_StockPlace_View();
+                                    //灏嗛�掑叆鐨勬潯鐮佸幓鎺夊墠涓変綅鍚庤浆鍖栨垚鏁村舰
+                                    int sHSPID;
+                                    int sHWHID;
+                                    string[] sArray = sBarCode.Remove(0, 3).Split(';');
+                                    if (int.TryParse(sArray[1], out sHSPID) && int.TryParse(sArray[0], out sHWHID))
+                                    {
+                                        if (dal.GetInfoByID(sHSPID, sHWHID, HOWNERID))
+                                        {
+                                            oBar.HBarType = "浠撲綅鏉$爜";
+                                            oBar.HSPID = dal.omodel.HItemID;
+                                            oBar.HSPNumber = dal.omodel.HNumber;
+                                            oBar.HSPName = dal.omodel.HName;
+                                            oBar.HWhID = dal.omodel.HWHID;
+                                            oBar.HWhNumber = dal.omodel.HWhNumber;
+                                            oBar.HWhName = dal.omodel.HWhName;
+                                            return oBar;
+                                        }
+                                        else
+                                        {
+                                            sErrMsg = "鏃犳晥浠撲綅鏉$爜锛�";
+                                            return null;
+                                        }
+                                    }
+                                    else
+                                    {
+                                        sErrMsg = "閿欒鐨勪粨浣嶆潯鐮侊紒";
+                                        return null;
+                                    }
+                                }
+                                //閮ㄩ棬鏉$爜
+                                else if (sBarBillName == "閮ㄩ棬")
+                                {
+                                    DAL.ClsIF_Department_View dal = new DAL.ClsIF_Department_View();
+                                    //灏嗛�掑叆鐨勬潯鐮佸幓鎺夊墠涓変綅鍚庤浆鍖栨垚鏁村舰
+                                    int ID;
+                                    if (int.TryParse(sBarCode.Remove(0, 3), out ID))
+                                    {
+                                        if (dal.GetInfoByID(ID))
+                                        {
+                                            oBar.HBarType = "閮ㄩ棬鏉$爜";
+                                            oBar.HDeptID = dal.omodel.HItemID;
+                                            oBar.HDeptNumber = dal.omodel.HNumber;
+                                            oBar.HDeptName = dal.omodel.HName;
+                                            return oBar;
+                                        }
+                                        else
+                                        {
+                                            sErrMsg = "鏃犳晥閮ㄩ棬鏉$爜锛�";
+                                            return null;
+                                        }
+                                    }
+                                    else
+                                    {
+                                        sErrMsg = "閿欒鐨勯儴闂ㄦ潯鐮侊紒";
+                                        return null;
+                                    }
+                                }
+                                else
+                                {
+                                    sErrMsg = "鏃犳晥鍩虹璧勬枡鏉$爜锛�";
+                                    return null;
+                                }
+                            }
+                            //婧愬崟鏉$爜
+                            else if (sBarBillType == "婧愬崟鏉$爜")
+                            {
+                                if (sBarBillName == "鍏ュ簱鐢宠鍗�")
+                                {
+                                    oBar = get_SourceBarCode_OtherIn(HBillID, HBillNo, HBillType, sBarCode, "1241", HMaker, HOWNERID, ref sErrMsg);
+                                    if (oBar == null)
+                                    {
+                                        return null;
+                                    }
+                                    return oBar;
+                                }
+                                else
+                                {
+                                    sErrMsg = "婧愬崟绫诲瀷鍚嶇О璁剧疆涓嶆纭紒";
+                                    return null;
+                                }
+                            }
+                            else
+                            {
+                                sErrMsg = "鏃犳晥鏉$爜绫诲瀷锛�";
+                                return null;
+                            }
+                        }
+                    }
                 }
                 //鐢熶骇鍏ュ簱  澶氭簮鍗曟ā寮�
                 else if (HBillType == "1202" && oSystemParameter.omodel.Kf_ProductInBill_MulSourceBill == "Y")
@@ -34758,7 +37198,63 @@
 
         #endregion
 
-        
+
+
+
+        #region 鍏朵粬鍏ュ簱    鎵弿婧愬崟鏉$爜
+
+        [WebMethod]
+        public Model.ClsKf_ICStockBill_WMS get_SourceBarCode_OtherIn(Int64 HInterID, string HBillNo, string HBillType, string HSourceBillNo, string HSourceBillType, string HMaker, Int64 HOWNERID, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
+            Int64 sMulSourceFlag = 0;   //澶氭簮鍗曟爣蹇楋紙0涓洪潪澶氭簮鍗曟ā寮忥紝1涓哄婧愬崟妯″紡锛�
+
+            //鑾峰彇绯荤粺鍙傛暟
+            Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+            if (oSystemParameter.ShowBill(ref sErrMsg) == false)
+            {
+                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛涙壂鎻忔簮鍗曟椂鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                return null;
+            }
+
+            if (oSystemParameter.omodel.Kf_OtherInBill_MulSourceBill.ToUpper() == "Y") //绯荤粺鍙傛暟  鍏朵粬鍏ュ簱鍗�-澶氭簮鍗曟ā寮�
+            {
+                sMulSourceFlag = 1;
+            }
+
+            //灏嗘簮鍗曚俊鎭瓨鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
+            DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddSourceBarCode_OtherIn " + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HSourceBillNo + "','" + HSourceBillType + "'," + sMulSourceFlag.ToString() + ",'" + HMaker + "'," + HOWNERID.ToString(), "h_p_WMS_AddSourceBarCode_OtherIn");
+            if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
+            {
+                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛涘皢婧愬崟淇℃伅瀛樺叆鏉$爜鍑哄叆搴撲复鏃惰〃澶辫触锛�";
+                return null;
+            }
+            else
+            {
+                if (DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0][0]) == 0)
+                {
+                    oBar.HMulSourceFlag = sMulSourceFlag;
+                    oBar.HSourceBillType = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillType"]);
+                    oBar.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillNo"]);
+                    oBar.HSupID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSupID"]);
+                    oBar.HSupName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSupName"]);
+                    oBar.HDeptID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HDeptID"]);
+                    oBar.HDeptName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HDeptName"]);
+                    oBar.HWhID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HWhID"]);
+                    oBar.HWhName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HWhName"]);
+                    oBar.HSPFlag = DBUtility.ClsPub.isBool(ds1.Tables[0].Rows[0]["HSPFlag"]);
+                    return oBar;
+                }
+                else
+                {
+                    sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛�" + DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]);
+                    return null;
+                }
+            }
+        }
+
+        #endregion
 
         #region 鐢熶骇棰嗘枡    鎵弿婧愬崟鏉$爜
 
@@ -34796,7 +37292,7 @@
                     //鍏堣繘鍏堝嚭鎺у埗
                     if (oSystemParameter.omodel.Kf_MateOutBill_FIFOCtl == "Y")  //绯荤粺鍙傛暟  鐢熶骇棰嗘枡鍗�-鍏堣繘鍏堝嚭鎺у埗
                     {
-                        DataSet FIFO = oCn.RunProcReturn("exec h_p_WMS_AddSourceFIFO_MateOut " + HInterID.ToString() + ",'" + HBillType + "','" + HSourceBillNo + "','" + HSourceBillType + "'," + HFIFOWhID.ToString(), "h_p_WMS_AddSourceFIFO_MateOut");
+                        DataSet FIFO = oCn.RunProcReturn("exec h_p_WMS_AddSourceFIFO_MateOut " + HInterID.ToString() + ",'" + HBillType + "','" + HSourceBillNo + "','" + HSourceBillType + "'," + HPTQty.ToString() + "," + HFIFOWhID.ToString(), "h_p_WMS_AddSourceFIFO_MateOut");
                         if (FIFO == null || FIFO.Tables[0].Rows.Count == 0)
                         {
                             sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛涘瓨鍏ュ厛杩涘厛鍑轰复鏃惰〃澶辫触锛�";
@@ -34811,11 +37307,119 @@
                             }
                         }
                     }
+                    //鍏堣繘鍏堝嚭涓嬫灦娓呭崟
+                    else if (oSystemParameter.omodel.Kf_MateOutBill_FIFOList == "Y")  //绯荤粺鍙傛暟  鐢熶骇棰嗘枡鍗�-鍏堣繘鍏堝嚭涓嬫灦娓呭崟
+                    {
+                        DataSet FIFOList = oCn.RunProcReturn("exec h_p_WMS_AddSourceFIFOList_MateOut " + HInterID.ToString() + ",'" + HBillType + "','" + HSourceBillNo + "','" + HSourceBillType + "'," + HPTQty.ToString() + "," + HFIFOWhID.ToString(), "h_p_WMS_AddSourceFIFOList_MateOut");
+                        if (FIFOList == null || FIFOList.Tables[0].Rows.Count == 0)
+                        {
+                            sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛涘瓨鍏ュ厛杩涘厛鍑轰笅鏋舵竻鍗曞け璐ワ紒";
+                            return null;
+                        }
+                        else
+                        {
+                            if (DBUtility.ClsPub.isLong(FIFOList.Tables[0].Rows[0][0]) == 1)
+                            {
+                                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛�" + DBUtility.ClsPub.isStrNull(FIFOList.Tables[0].Rows[0]["HRemark"]);
+                                return null;
+                            }
+                        }
+                    }
                     oBar.HMulSourceFlag = sMulSourceFlag;
                     oBar.HSourceBillType = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillType"]);
                     oBar.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillNo"]);
                     oBar.HDeptID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HDeptID"]);
                     oBar.HDeptName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HDeptName"]);
+                    return oBar;
+                }
+                else
+                {
+                    sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛�" + DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]);
+                    return null;
+                }
+            }
+        }
+
+        #endregion
+
+        #region 閿�鍞嚭搴�    鎵弿婧愬崟鏉$爜
+
+        [WebMethod]
+        public Model.ClsKf_ICStockBill_WMS get_SourceBarCode_SellOut(Int64 HInterID, string HBillNo, string HBillType, string HSourceBillNo, string HSourceBillType, string HMaker, Int64 HFIFOWhID, Int64 HOWNERID, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
+            Int64 sMulSourceFlag = 0;   //澶氭簮鍗曟爣蹇楋紙0涓洪潪澶氭簮鍗曟ā寮忥紝1涓哄婧愬崟妯″紡锛�
+
+            //鑾峰彇绯荤粺鍙傛暟
+            Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+            if (oSystemParameter.ShowBill(ref sErrMsg) == false)
+            {
+                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛涙壂鎻忔簮鍗曟椂鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                return null;
+            }
+
+            if (oSystemParameter.omodel.Kf_SellOutBill_MulSourceBill.ToUpper() == "Y") //绯荤粺鍙傛暟  閿�鍞嚭搴撳崟-澶氭簮鍗曟ā寮�
+            {
+                sMulSourceFlag = 1;
+            }
+
+            //灏嗘簮鍗曚俊鎭瓨鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
+            DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddSourceBarCode_SellOut " + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HSourceBillNo + "','" + HSourceBillType + "'," + sMulSourceFlag.ToString() + ",'" + HMaker + "'," + HFIFOWhID.ToString() + "," + HOWNERID.ToString(), "h_p_WMS_AddSourceBarCode_SellOut");
+            if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
+            {
+                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛涘皢婧愬崟淇℃伅瀛樺叆鏉$爜鍑哄叆搴撲复鏃惰〃澶辫触锛�";
+                return null;
+            }
+            else
+            {
+                if (DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0][0]) == 0)
+                {
+                    //鍏堣繘鍏堝嚭鎺у埗
+                    if (oSystemParameter.omodel.Kf_SellOutBill_FIFOCtl == "Y")  //绯荤粺鍙傛暟  閿�鍞嚭搴撳崟-鍏堣繘鍏堝嚭鎺у埗
+                    {
+                        DataSet FIFO = oCn.RunProcReturn("exec h_p_WMS_AddSourceFIFO_SellOut " + HInterID.ToString() + ",'" + HBillType + "','" + HSourceBillNo + "','" + HSourceBillType + "'," + HFIFOWhID.ToString(), "h_p_WMS_AddSourceFIFO_SellOut");
+                        if (FIFO == null || FIFO.Tables[0].Rows.Count == 0)
+                        {
+                            sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛涘瓨鍏ュ厛杩涘厛鍑轰复鏃惰〃澶辫触锛�";
+                            return null;
+                        }
+                        else
+                        {
+                            if (DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0][0]) == 1)
+                            {
+                                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛�" + DBUtility.ClsPub.isStrNull(FIFO.Tables[0].Rows[0]["HRemark"]);
+                                return null;
+                            }
+                        }
+                    }
+                    //鍏堣繘鍏堝嚭涓嬫灦娓呭崟
+                    else if (oSystemParameter.omodel.Kf_SellOutBill_FIFOList == "Y")  //绯荤粺鍙傛暟  閿�鍞嚭搴撳崟-鍏堣繘鍏堝嚭涓嬫灦娓呭崟
+                    {
+                        DataSet FIFOList = oCn.RunProcReturn("exec h_p_WMS_AddSourceFIFOList_SellOut " + HInterID.ToString() + ",'" + HBillType + "','" + HSourceBillNo + "','" + HSourceBillType + "'," + HFIFOWhID.ToString(), "h_p_WMS_AddSourceFIFOList_SellOut");
+                        if (FIFOList == null || FIFOList.Tables[0].Rows.Count == 0)
+                        {
+                            sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛涘瓨鍏ュ厛杩涘厛鍑轰笅鏋舵竻鍗曞け璐ワ紒";
+                            return null;
+                        }
+                        else
+                        {
+                            if (DBUtility.ClsPub.isLong(FIFOList.Tables[0].Rows[0][0]) == 1)
+                            {
+                                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛�" + DBUtility.ClsPub.isStrNull(FIFOList.Tables[0].Rows[0]["HRemark"]);
+                                return null;
+                            }
+                        }
+                    }
+                    oBar.HBarType = "婧愬崟鏉$爜";
+                    oBar.HMulSourceFlag = sMulSourceFlag;
+                    oBar.HSourceBillType = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillType"]);
+                    oBar.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillNo"]);
+                    oBar.HSupID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSupID"]);
+                    oBar.HSupName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSupName"]);
+                    oBar.HDeptID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HDeptID"]);
+                    oBar.HDeptName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HDeptName"]);
+                    oBar.HCustom = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HCustom"]);
                     return oBar;
                 }
                 else
@@ -34898,369 +37502,1996 @@
 
         #endregion
 
+        #region 鐩存帴璋冩嫧    鎵弿婧愬崟鏉$爜
+
+        [WebMethod]
+        public Model.ClsKf_ICStockBill_WMS get_SourceBarCode_MoveStock(Int64 HInterID, string HBillNo, string HBillType, string HSourceBillNo, string HSourceBillType, string HMaker, Int64 HFIFOWhID, Int64 HOWNERID, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
+            Int64 sMulSourceFlag = 0;   //澶氭簮鍗曟爣蹇楋紙0涓洪潪澶氭簮鍗曟ā寮忥紝1涓哄婧愬崟妯″紡锛�
+
+            //鑾峰彇绯荤粺鍙傛暟
+            Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+            if (oSystemParameter.ShowBill(ref sErrMsg) == false)
+            {
+                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛涙壂鎻忔簮鍗曟椂鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                return null;
+            }
+
+            if (oSystemParameter.omodel.Kf_MoveStockBill_MulSourceBill.ToUpper() == "Y") //绯荤粺鍙傛暟  鐩存帴璋冩嫧鍗�-澶氭簮鍗曟ā寮�
+            {
+                sMulSourceFlag = 1;
+            }
+
+            //灏嗘簮鍗曚俊鎭瓨鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
+            DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddSourceBarCode_MoveStock " + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HSourceBillNo + "','" + HSourceBillType + "'," + sMulSourceFlag.ToString() + ",'" + HMaker + "'," + HFIFOWhID.ToString() + "," + HOWNERID.ToString(), "h_p_WMS_AddSourceBarCode_MoveStock");
+            if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
+            {
+                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛涘皢婧愬崟淇℃伅瀛樺叆鏉$爜鍑哄叆搴撲复鏃惰〃澶辫触锛�";
+                return null;
+            }
+            else
+            {
+                if (DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0][0]) == 0)
+                {
+                    //鍏堣繘鍏堝嚭鎺у埗
+                    if (oSystemParameter.omodel.Kf_MoveStockBill_FIFOCtl == "Y")  //绯荤粺鍙傛暟  鐩存帴璋冩嫧鍗�-鍏堣繘鍏堝嚭鎺у埗
+                    {
+                        DataSet FIFO = oCn.RunProcReturn("exec h_p_WMS_AddSourceFIFO_MoveStock " + HInterID.ToString() + ",'" + HBillType + "','" + HSourceBillNo + "','" + HSourceBillType + "'," + HFIFOWhID.ToString(), "h_p_WMS_AddSourceFIFO_MoveStock");
+                        if (FIFO == null || FIFO.Tables[0].Rows.Count == 0)
+                        {
+                            sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛涘瓨鍏ュ厛杩涘厛鍑轰复鏃惰〃澶辫触锛�";
+                            return null;
+                        }
+                        else
+                        {
+                            if (DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0][0]) == 1)
+                            {
+                                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛�" + DBUtility.ClsPub.isStrNull(FIFO.Tables[0].Rows[0]["HRemark"]);
+                                return null;
+                            }
+                        }
+                    }
+                    //鍏堣繘鍏堝嚭涓嬫灦娓呭崟
+                    else if (oSystemParameter.omodel.Kf_MoveStockBill_FIFOList == "Y")  //绯荤粺鍙傛暟  鐩存帴璋冩嫧鍗�-鍏堣繘鍏堝嚭涓嬫灦娓呭崟
+                    {
+                        DataSet FIFOList = oCn.RunProcReturn("exec h_p_WMS_AddSourceFIFOList_MoveStock " + HInterID.ToString() + ",'" + HBillType + "','" + HSourceBillNo + "','" + HSourceBillType + "'," + HFIFOWhID.ToString(), "h_p_WMS_AddSourceFIFOList_MoveStock");
+                        if (FIFOList == null || FIFOList.Tables[0].Rows.Count == 0)
+                        {
+                            sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛涘瓨鍏ュ厛杩涘厛鍑轰笅鏋舵竻鍗曞け璐ワ紒";
+                            return null;
+                        }
+                        else
+                        {
+                            if (DBUtility.ClsPub.isLong(FIFOList.Tables[0].Rows[0][0]) == 1)
+                            {
+                                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛�" + DBUtility.ClsPub.isStrNull(FIFOList.Tables[0].Rows[0]["HRemark"]);
+                                return null;
+                            }
+                        }
+                    }
+                    oBar.HBarType = "婧愬崟鏉$爜";
+                    oBar.HMulSourceFlag = sMulSourceFlag;
+                    oBar.HSourceBillType = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillType"]);
+                    oBar.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillNo"]);
+                    oBar.HSupID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSupID"]);
+                    oBar.HSupName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSupName"]);
+                    oBar.HDeptID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HDeptID"]);
+                    oBar.HDeptName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HDeptName"]);
+                    oBar.HStockOutOrgID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HStockOutOrgID"]);
+                    oBar.HStockOutOrgName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HStockOutOrgName"]);
+                    oBar.HStockInOrgID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HStockInOrgID"]);
+                    oBar.HStockInOrgName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HStockInOrgName"]);
+                    oBar.HStockStyle = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HStockStyle"]);
+                    oBar.HWhID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HWhID"]);
+                    oBar.HWhName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HWhName"]);
+                    oBar.HSPFlag = DBUtility.ClsPub.isBool(ds1.Tables[0].Rows[0]["HSPFlag"]);
+                    oBar.HSCWhID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSCWhID"]);
+                    oBar.HSCWhName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSCWhName"]);
+                    oBar.HSCSPFlag = DBUtility.ClsPub.isBool(ds1.Tables[0].Rows[0]["HSCSPFlag"]);
+                    return oBar;
+                }
+                else
+                {
+                    sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛�" + DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]);
+                    return null;
+                }
+            }
+        }
+
+        #endregion
+
 
 
         #endregion
 
 
-        //        #region 鎵弿鐗╂枡鏉$爜璋冪敤鏂规硶
+        #region 鐗╂枡鏉$爜璋冪敤鏂规硶
 
-        //        #region 鎵弿鐗╂枡鏉$爜
+        #region 涓�閿壂鐮�
 
-        //        [WebMethod]
-        //        public Model.ClsKf_ICStockBill_WMS get_MaterBarCode_New(string HBarCode, Int64 HInterID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Int64 HSCWhID, Int64 HSCSPID, Double HQty, bool HRedBlueFlag, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HStockOrgID, Int64 HStockOutOrgID, string HExpressNumber, ref string sHSourceBillNo, ref string sHSourceBillType, ref long sHSupID, ref string sHSupName, ref long sHDeptID, ref string sHDeptName, ref string sErrMsg)
-        //        {
-        //            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
-        //            Model.ClsKf_ICStockBill_WMS model = new Model.ClsKf_ICStockBill_WMS();
-        //            //鑾峰彇绯荤粺鍙傛暟
-        //            Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
-        //            if (oSystemParameter.ShowBill(ref sErrMsg) == false)
-        //            {
-        //                sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
-        //                return null;
-        //            }
-        //            //鍒ゆ柇鏉$爜鏄惁涓虹┖
-        //            if (HBarCode.Trim() == "")
-        //            {
-        //                sErrMsg = "鏉$爜涓嶈兘涓虹┖锛岃閲嶆柊鎵弿鐗╂枡鏉$爜锛�";
-        //                return null;
-        //            }
-        //            //鍒ゆ柇鏉$爜鏄惁鍚壒娈婄鍙� # 锛屽鏋滃惈鏈夊垯鎷嗗垎锛屾埅鍙� # 鍓嶅瓧绗︿覆
-        //            string[] NewBarCode;
-        //            if (HBarCode.CompareTo("#") > 0)
-        //            {
-        //                NewBarCode = HBarCode.Split(Convert.ToChar("#"));
-        //                HBarCode = NewBarCode[0];
-        //            }
-        //            //鑾峰彇鏉$爜妗f淇℃伅
-        //            Model.ClsGy_BarCodeBill_WMS_Model_View oBar = new Model.ClsGy_BarCodeBill_WMS_Model_View();
-        //            DataSet ds1 = oCn.RunProcReturn("Select * from h_v_Gy_BarCodeBill_New Where HBarCode='" + HBarCode + "'", "h_v_Gy_BarCodeBill_New");
-        //            if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
-        //            {
-        //                sErrMsg = "鎵�鎵弿鐗╂枡鏉$爜锛�" + HBarCode + " 鏃犳晥锛屼笉瀛樺湪鏉$爜妗f涓紒";
-        //                return null;
-        //            }
-        //            else
-        //            {
-        //                oBar.HItemID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HItemID"]);
-        //                oBar.HBarCode = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HBarCode"]);
-        //                oBar.HBarCodeType = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HBarCodeType"]);
-        //                oBar.HStopflag = DBUtility.ClsPub.isBool(ds1.Tables[0].Rows[0]["HStopflag"]);
-        //                oBar.HRemark = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]);
-        //                oBar.HMaterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HMaterID"]);
-        //                oBar.HUnitID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HUnitID"]);
-        //                oBar.HAuxPropID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HAuxPropID"]);
-        //                oBar.HBatchNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HBatchNo"]);
-        //                oBar.HQty = DBUtility.ClsPub.isDoule(ds1.Tables[0].Rows[0]["HQty"]);
-        //                oBar.HSourceInterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSourceInterID"]);
-        //                oBar.HSourceEntryID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSourceEntryID"]);
-        //                oBar.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillNo"]);
-        //                oBar.HSourceBillType = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillType"]);
-        //                oBar.HMTONo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HMTONo"]);
-        //                oBar.HSTOCKORGID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSTOCKORGID"]);
-        //                oBar.HOWNERID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HOWNERID"]);
-        //            }
-        //            //鍒ゆ柇鏉$爜鏄惁鍙敤
-        //            if (oBar.HStopflag)
-        //            {
-        //                sErrMsg = "鎵�鎵弿鐗╂枡鏉$爜锛�" + HBarCode + " 宸蹭綔搴燂紝涓嶅厑璁歌繘琛屾壂鐮佹搷浣滐紒";
-        //                return null;
-        //            }
-        //            //鍏ュ簱銆佹眹鎶ユā鍧楋紝鏈夋簮鍗曟潯鐮� 涓� 鏉$爜绫诲瀷涓哄敮涓�鏉$爜锛屾壂鎻忕墿鏂欐潯鐮佹椂鑷姩甯﹀嚭婧愬崟淇℃伅
-        //            //閲囪喘鍏ュ簱锛�1201锛夈�佷骇鍝佸叆搴擄紙1202锛夈�佸澶栧叆搴擄紙1210锛夈�佺敓浜ф眹鎶ワ紙3711锛�
-        //            if (oBar.HBarCodeType == "鍞竴鏉$爜" && oBar.HSourceBillNo == "" && HSourceBillType != "-1"
-        //                && (HBillType == "1201" || HBillType == "1202" || HBillType == "1210" || HBillType == "3711"))
-        //            {
-        //                Int64 HAccessFlag = 1;   //鏄惁鐗╂枡鏉$爜甯﹀嚭婧愬崟淇℃伅鏍囧織锛�0涓虹洿鎺ユ壂婧愬崟鏉$爜锛�1涓虹墿鏂欐潯鐮佸甫鍑烘簮鍗曚俊鎭級
-        //                model = getSourceBill_New(HInterID, HBillNo, HBillType, oBar.HSourceBillNo, oBar.HSourceBillType, HRedBlueFlag, HMaker, 0, 0, 0, HStockOrgID, HAccessFlag, SourceFlag, oSystemParameter.omodel, ref sErrMsg);
-        //                if (model == null)
-        //                {
-        //                    sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛涙壂鎻忔簮鍗曞け璐ワ紒" + sErrMsg;
-        //                    return null;
-        //                }
-        //                else
-        //                {
-        //                    HSourceBillType = model.HSourceBillType;
-        //                    SourceFlag = true;
-        //                    return model;
-        //                }
-        //            }
+        //涓�閿壂鐮佹ā寮忥紝鏍规嵁鏉$爜鍓嶇紑璧� 涓嶅悓鏂规硶锛堜粨搴撱�佷粨浣嶃�侀儴闂級锛堟簮鍗曘�佺墿鏂欐潯鐮侊級
+        [WebMethod]
+        public Model.ClsKf_ICStockBill_WMS get_CheckTypeByBarCode_New(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool HRedBlueFlag, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HOWNERID, string HExpressNumber, string HScanStyle, ref string sErrMsg)
+        {
+            try
+            {
+                SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
+                DAL.ClsKF_PonderationBillMain_Temp_Ctl tem = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
+                Model.ClsKF_PonderationBillMain_Temp model = new Model.ClsKF_PonderationBillMain_Temp();
+                string sHSourceBillType = "";
+                string sHSourceBillNo = "";
+                Int64 sHSupID = 0;
+                string sHSupName = "";
+                Int64 sHDeptID = 0;
+                string sHDeptName = "";
+                string sHBarType = "";
+                sBarCode = sBarCode.Trim();
+                string sBarCodePrefix = sBarCode.Substring(0, Math.Min(3, sBarCode.Length));//鎴彇鏉$爜鍓嶄笁浣嶅瓧绗︿覆
 
-        //            //1銆侀娆℃壂鐮侀槻涓插崟鍒ゆ柇锛� 2銆佹簮鍗曠被鍨嬫槸鍚﹀湪婧愬崟鍒楄〃閲屽垽鏂紱3銆佸敮涓�鏉$爜鏄惁瀛樺湪鐩稿悓鏉$爜鍒ゆ柇锛� 4銆佹湁婧愬崟锛岀墿鏂欐槸鍚﹀湪婧愬崟涓垽鏂�
-        //            DataSet ds2 = oCn.RunProcReturn("exec h_p_WMS_GetSourceInterID_AddBarCode " + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HBarCode + "','" + HSourceBillType + "'," + DBUtility.ClsPub.BoolToString(SourceFlag) + ",'" + oSystemParameter.omodel.WMS_BarCodeMustSameSourceBill + "'," + HStockOrgID.ToString(), "h_p_WMS_GetSourceInterID_AddBarCode");
-        //            if (ds2 == null || ds2.Tables[0].Rows.Count == 0)
-        //            {
-        //                sErrMsg = "鎵弿鐗╂枡鏉$爜锛屽垽鏂潯鐮佹槸鍚﹀湪婧愬崟涓椂鍙戠敓閿欒锛�";
-        //                return null;
-        //            }
-        //            else
-        //            {
-        //                if (DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0][0]) == 1)
-        //                {
-        //                    sErrMsg = DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HRemark"]);
-        //                    return null;
-        //                }
-        //                else
-        //                {
-        //                    oBar.HSourceInterID = DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0]["HSourceInterID"]);
-        //                    oBar.HSourceEntryID = DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0]["HSourceEntryID"]);
-        //                    oBar.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HSourceBillNo"]);
-        //                    oBar.HSourceBillType = DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HSourceBillType"]);
-        //                    oBar.HMaterID = DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0]["HMaterID"]);
-        //                    oBar.HinitQty = DBUtility.ClsPub.isDoule(ds2.Tables[0].Rows[0]["HQtyMust"]);    //鍓╀綑鏈壂鐮佹暟閲忥紙搴旀敹鏁伴噺-鎵爜鎬绘暟閲� 鎴�0锛夛紝闈炲敮涓�鏉$爜鐢ㄥ埌
-        //                }
-        //            }
+                //鑾峰彇绯荤粺鍙傛暟
+                Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+                if (oSystemParameter.ShowBill(ref sErrMsg) == false)
+                {
+                    sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                    return null;
+                }
+                //閿�鍞嚭搴撱�侀攢鍞��搴撴ā鍧楁壂鐮佹祦绋�   椋為緳涓撶敤
+                if ((HBillType == "1205" || HBillType == "1247") && oSystemParameter.omodel.WMS_CampanyName == "椋為緳") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                {
+                    //灏嗙墿鏂欐潯鐮佷俊鎭啓鍏ュ嚭鍏ュ簱鏉$爜涓存椂琛�
+                    if (set_SavePonderationBillMain_Temp_FeiLong(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sHBarType, ref sErrMsg))
+                    {
+                        oBar.HBarType = sHBarType;
+                        oBar.HSourceBillType = sHSourceBillType;
+                        oBar.HSourceBillNo = sHSourceBillNo;
+                        oBar.HSupID = sHSupID;
+                        oBar.HSupName = sHSupName;
+                        oBar.HDeptID = sHDeptID;
+                        oBar.HDeptName = sHDeptName;
+                    }
+                    else
+                    {
+                        sErrMsg = "锛�" + sErrMsg;
+                        return null;
+                    }
+                    return oBar;
+                }
+                //鍏朵粬鍏ュ簱  妫シ涓撶敤
+                else if ((HBillType == "1203" || HBillType == "1206") && oSystemParameter.omodel.WMS_CampanyName == "妫シ") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                {
+                    //鏍规嵁鍗曚釜鏉$爜鑾峰彇瀵瑰簲鏁存墭鏉$爜淇℃伅鍐欏叆鏉$爜鍑哄叆搴撲复鏃惰〃
+                    string sBarCode_New;
+                    DataSet dsTBarCode = oCn.RunProcReturn("exec h_p_WMS_BeforeCheckToBarCode_ScanStyle '" + sBarCode + "'," + HBillID.ToString() + ",'" + HBillType + "','鏁存墭鎵爜'", "h_p_WMS_BeforeCheckToBarCode_ScanStyle");
+                    if (dsTBarCode == null || dsTBarCode.Tables[0].Rows.Count == 0)
+                    {
+                        sErrMsg = "鑾峰彇鏁存墭鏉$爜淇℃伅鍙戠敓閿欒锛�";
+                        return null;
+                    }
+                    else
+                    {
+                        if (DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[0][0]) == 1)
+                        {
+                            sErrMsg = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[0]["HRemark"]);
+                            return null;
+                        }
+                        else if (DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[0][0]) == 2)
+                        {
+                            sErrMsg = "姝ゆā鍧椾笉鍏佽鍙嶅悜鎷嗙爜锛�";
+                            return null;
+                        }
+                        else
+                        {
+                            if (HBillType == "1203")
+                            {
+                                HSourceBillNo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[0]["HSourceBillNo"]);
+                                HSourceBillType = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[0]["HSourceBillType"]);
+                                //oBar = get_SourceBarCode_OtherIn(HBillID, HBillNo, HBillType, HSourceBillNo, HSourceBillType, HMaker, HOWNERID, ref sErrMsg);
+                                //if (oBar == null)
+                                //{
+                                //    return null;
+                                //}
+                                //SourceFlag = true;
 
-        //            //鑾峰彇銆佸垽鏂粨搴撱�佷粨浣�
-        //            DataSet ds3 = oCn.RunProcReturn("exec h_p_WMS_GetWHIDandSPID_AddBarCode " + HInterID.ToString() + ",'" + HBillType + "'," + HWhID + "," + HSPID + "," + HSCWhID + "," + HSCSPID + "," + oBar.HSourceInterID + "," + oBar.HSourceEntryID + "," + oBar.HMaterID + "," + HStockOrgID + "," + HStockOutOrgID + ",'" + oBar.HBarCodeType + "','" + oSystemParameter.omodel.WMS_WMSStockCtl + "'", "h_p_WMS_GetWHIDandSPID_AddBarCode");
-        //            if (ds3 == null || ds3.Tables[0].Rows.Count == 0)
-        //            {
-        //                sErrMsg = "鎵弿鐗╂枡鏉$爜锛屽垽鏂粨搴撱�佷粨浣嶅�兼椂鍙戠敓閿欒锛�";
-        //                return null;
-        //            }
-        //            else
-        //            {
-        //                if (DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0][0]) == 1)
-        //                {
-        //                    sErrMsg = DBUtility.ClsPub.isStrNull(ds3.Tables[0].Rows[0]["HRemark"]);
-        //                    return null;
-        //                }
-        //                else
-        //                {
-        //                    model.HWhID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HWHID"]);
-        //                    model.HSPID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HSPID"]);
-        //                    model.HSCWhID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HSCWHID"]);
-        //                    model.HSCSPID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HSCSPID"]);
-        //                }
-        //            }
+                                Int64 sMulSourceFlag = 0;   //澶氭簮鍗曟爣蹇楋紙0涓洪潪澶氭簮鍗曟ā寮忥紝1涓哄婧愬崟妯″紡锛�
+                                if (oSystemParameter.omodel.Kf_OtherInBill_MulSourceBill.ToUpper() == "Y") //绯荤粺鍙傛暟  鍏朵粬鍏ュ簱鍗�-澶氭簮鍗曟ā寮�
+                                {
+                                    sMulSourceFlag = 1;
+                                }
 
-        //            //鍒濇鑾峰彇鏉$爜鏁伴噺
-        //            if (oBar.HBarCodeType == "鍞竴鏉$爜")
-        //            {
-        //                if (HQty > 0 && oBar.HQty > HQty)   //0<鐣岄潰閫掑叆鏁伴噺<鏉$爜妗f鏁伴噺锛屽彇閫掑叆鏁伴噺
-        //                {
-        //                    oBar.HQty = HQty;
-        //                }
-        //            }
-        //            else
-        //            {
-        //                if (HQty > 0)               //鐣岄潰閫掑叆鏁伴噺>0锛屽彇閫掑叆鏁伴噺
-        //                {
-        //                    oBar.HQty = HQty;
-        //                }
-        //                else if (oBar.HinitQty > 0) //鐣岄潰閫掑叆鏁伴噺<0锛屾簮鍗曞墿浣欐湭鎵爜鏁伴噺>0锛屽彇婧愬崟鍓╀綑鏈壂鐮佹暟閲�
-        //                {
-        //                    oBar.HQty = oBar.HinitQty;
-        //                }
-        //            }
+                                //灏嗘簮鍗曚俊鎭瓨鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
+                                DataSet dsyd = oCn.RunProcReturn("exec h_p_WMS_AddSourceBarCode_OtherIn " + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HSourceBillNo + "','" + HSourceBillType + "'," + sMulSourceFlag.ToString() + ",'" + HMaker + "'," + HOWNERID.ToString(), "h_p_WMS_AddSourceBarCode_OtherIn");
+                                if (dsyd == null || dsyd.Tables[0].Rows.Count == 0)
+                                {
+                                    sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涘皢鏉$爜瀵瑰簲婧愬崟淇℃伅瀛樺叆鏉$爜鍑哄叆搴撲复鏃惰〃澶辫触锛�";
+                                    return null;
+                                }
+                                else
+                                {
+                                    if (DBUtility.ClsPub.isLong(dsyd.Tables[0].Rows[0][0]) == 0)
+                                    {
+                                        SourceFlag = true;
+                                    }
+                                    else
+                                    {
+                                        sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛�" + DBUtility.ClsPub.isStrNull(dsyd.Tables[0].Rows[0]["HRemark"]);
+                                        return null;
+                                    }
+                                }
+                            }
 
-        //            //鐢熶骇棰嗘枡锛�1204锛夈�侀攢鍞嚭搴擄紙1205锛夈�佸叾浠栧嚭搴撹摑瀛楋紙1206锛夈�佸澶栧嚭搴擄紙1211锛�
-        //            //澶栬喘閫�鏂欙紙1239锛夈�佷骇鍝侀��搴擄紙1245锛夈�佸叾浠栧叆搴撶孩瀛楋紙1248锛夈�佸澶栭��搴擄紙1246锛�
-        //            //鐢熶骇琛ユ枡锛�1254锛�
-        //            if (HBillType == "1204" || HBillType == "1205" || HBillType == "1206" || HBillType == "1211"
-        //                || HBillType == "1239" || HBillType == "1245" || HBillType == "1248" || HBillType == "1246"
-        //                || HBillType == "1254")
-        //            {
-        //                if (oSystemParameter.omodel.WMS_ERPStockCtl == "Y")
-        //                {
+                            for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++)
+                            {
+                                sBarCode_New = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCode"]);
+                                if (set_SavePonderationBillMain_Temp_BarCode(sBarCode_New, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg))
+                                {
+                                    oBar.HSourceBillType = sHSourceBillType;
+                                    oBar.HSourceBillNo = sHSourceBillNo;
+                                    oBar.HSupID = sHSupID;
+                                    oBar.HSupName = sHSupName;
+                                    oBar.HDeptID = sHDeptID;
+                                    oBar.HDeptName = sHDeptName;
+                                }
+                                else
+                                {
+                                    sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忓け璐ワ紒" + sBarCode_New + sErrMsg;
+                                    return null;
+                                }
+                            }
+                        }
+                        return oBar;
+                    }
+                }
+                //閿�鍞嚭搴�  妫シ涓撶敤
+                else if (HBillType == "1205" && oSystemParameter.omodel.WMS_CampanyName == "妫シ") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                {
+                    //鍒ゆ柇鏄惁鍚敤涓�閿壂鐮佹ā寮忥紝Y涓哄惎鐢紝鏈惎鐢ㄦ椂鍙壂鎻忕墿鏂欐潯鐮�
+                    if (oSystemParameter.omodel.WMS_OneKeyMode.ToUpper() == "N")
+                    {
+                        //鏍规嵁鍗曚釜鏉$爜鑾峰彇瀵瑰簲鏁存墭鏉$爜淇℃伅鍐欏叆鏉$爜鍑哄叆搴撲复鏃惰〃
+                        string sBarCode_New;
+                        DataSet dsTBarCode = oCn.RunProcReturn("exec h_p_WMS_BeforeCheckToBarCode_ScanStyle '" + sBarCode + "'," + HBillID.ToString() + ",'" + HBillType + "','" + HScanStyle + "'", "h_p_WMS_BeforeCheckToBarCode_ScanStyle");
+                        if (dsTBarCode == null || dsTBarCode.Tables[0].Rows.Count == 0)
+                        {
+                            sErrMsg = "鑾峰彇鏁存墭鏉$爜淇℃伅鍙戠敓閿欒锛�";
+                            return null;
+                        }
+                        else
+                        {
+                            if (DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[0][0]) == 1)
+                            {
+                                sErrMsg = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[0]["HRemark"]);
+                                return null;
+                            }
+                            else if (DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[0][0]) == 2)
+                            {
+                                oCn.RunProc("Delete from KF_PonderationBillMain_Temp where HInterID=" + HBillID.ToString() + " and HBillType='" + HBillType + "' and HBarCode='" + sBarCode + "'", ref DBUtility.ClsPub.sExeReturnInfo);
+                                return oBar;
+                            }
+                            else
+                            {
+                                for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++)
+                                {
+                                    sBarCode_New = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCode"]);
+                                    if (set_SavePonderationBillMain_Temp_BarCode(sBarCode_New, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg))
+                                    {
+                                        oBar.HSourceBillType = sHSourceBillType;
+                                        oBar.HSourceBillNo = sHSourceBillNo;
+                                        oBar.HSupID = sHSupID;
+                                        oBar.HSupName = sHSupName;
+                                        oBar.HDeptID = sHDeptID;
+                                        oBar.HDeptName = sHDeptName;
+                                        SourceFlag = true;
+                                    }
+                                    else
+                                    {
+                                        sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忓け璐ワ紒" + sBarCode_New + sErrMsg;
+                                        return null;
+                                    }
+                                }
+                            }
+                            return oBar;
+                        }
+                    }
+                    //涓�閿壂鐮佹ā寮忥紝鏍规嵁鏉$爜鍓嶇紑璧� 涓嶅悓鏂规硶锛堜粨搴撱�佷粨浣嶃�侀儴闂級锛堟簮鍗曘�佺墿鏂欐潯鐮侊級
+                    else
+                    {
+                        DataSet Dss;
+                        //鏍规嵁閫掑叆鐨勬潯鐮佸墠涓変綅锛屽垽鏂潯鐮佺被鍨嬶紙浠撳簱銆佷粨浣嶃�侀儴闂ㄣ�佹簮鍗曘�佺墿鏂欐潯鐮侊級
+                        Dss = oCn.RunProcReturn(" select HSourceName,BarCodeType from Xt_BarCodeType where HSourceNumber= '" + sBarCodePrefix + "'", "Xt_BarCodeType");
 
-        //                }
+                        //鏃犺繑鍥炴暟鎹垯涓虹墿鏂欐潯鐮�
+                        if (Dss == null || Dss.Tables[0].Rows.Count == 0)
+                        {
+                            //鏍规嵁鍗曚釜鏉$爜鑾峰彇瀵瑰簲鏁存墭鏉$爜淇℃伅鍐欏叆鏉$爜鍑哄叆搴撲复鏃惰〃
+                            string sBarCode_New;
+                            DataSet dsTBarCode = oCn.RunProcReturn("exec h_p_WMS_BeforeCheckToBarCode_ScanStyle '" + sBarCode + "'," + HBillID.ToString() + ",'" + HBillType + "','" + HScanStyle + "'", "h_p_WMS_BeforeCheckToBarCode_ScanStyle");
+                            if (dsTBarCode == null || dsTBarCode.Tables[0].Rows.Count == 0)
+                            {
+                                sErrMsg = "鑾峰彇鏁存墭鏉$爜淇℃伅鍙戠敓閿欒锛�";
+                                return null;
+                            }
+                            else
+                            {
+                                if (DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[0][0]) == 1)
+                                {
+                                    sErrMsg = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[0]["HRemark"]);
+                                    return null;
+                                }
+                                else if (DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[0][0]) == 2)
+                                {
+                                    oCn.RunProc("Delete from KF_PonderationBillMain_Temp where HInterID=" + HBillID.ToString() + " and HBillType='" + HBillType + "' and HBarCode='" + sBarCode + "'", ref DBUtility.ClsPub.sExeReturnInfo);
+                                    return oBar;
+                                }
+                                else
+                                {
+                                    for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++)
+                                    {
+                                        sBarCode_New = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCode"]);
+                                        if (set_SavePonderationBillMain_Temp_BarCode(sBarCode_New, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg))
+                                        {
+                                            oBar.HSourceBillType = sHSourceBillType;
+                                            oBar.HSourceBillNo = sHSourceBillNo;
+                                            oBar.HSupID = sHSupID;
+                                            oBar.HSupName = sHSupName;
+                                            oBar.HDeptID = sHDeptID;
+                                            oBar.HDeptName = sHDeptName;
+                                            SourceFlag = true;
+                                        }
+                                        else
+                                        {
+                                            sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忓け璐ワ紒" + sBarCode_New + sErrMsg;
+                                            return null;
+                                        }
+                                    }
+                                }
+                                return oBar;
+                            }
+                        }
+                        else
+                        {
+                            string sBarBillName = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["HSourceName"]);
+                            string sBarBillType = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["BarCodeType"]);
+
+                            //鍒ゆ柇鏉$爜绫诲瀷涓� 鍩虹璧勬枡鏉$爜 鎴� 婧愬崟鏉$爜
+                            if (sBarBillType == "鍩虹璧勬枡鏉$爜")
+                            {
+                                //浠撳簱鏉$爜
+                                if (sBarBillName == "浠撳簱")
+                                {
+                                    DAL.ClsIF_Warehouse_View dal = new DAL.ClsIF_Warehouse_View();
+                                    //灏嗛�掑叆鐨勬潯鐮佸幓鎺夊墠涓変綅鍚庤浆鍖栨垚鏁村舰,TryParse涓嶈兘杞崲鎴愭暣鏁版椂杩斿洖false锛屽苟杩斿洖ID=0
+                                    int ID;
+                                    if (int.TryParse(sBarCode.Remove(0, 3), out ID))
+                                    {
+                                        if (dal.GetInfoByID(ID, HOWNERID))
+                                        {
+                                            oBar.HBarType = "浠撳簱鏉$爜";
+                                            oBar.HWhID = dal.omodel.HItemID;
+                                            oBar.HWhNumber = dal.omodel.HNumber;
+                                            oBar.HWhName = dal.omodel.HName;
+                                            oBar.HSPFlag = dal.omodel.HIsStockMgr;
+                                            return oBar;
+                                        }
+                                        else
+                                        {
+                                            sErrMsg = "鏃犳晥浠撳簱鏉$爜锛�";
+                                            return null;
+                                        }
+                                    }
+                                    else
+                                    {
+                                        sErrMsg = "閿欒鐨勪粨搴撴潯鐮侊紒";
+                                        return null;
+                                    }
+                                }
+                                //浠撲綅鏉$爜
+                                else if (sBarBillName == "浠撲綅")
+                                {
+                                    DAL.ClsIF_StockPlace_View dal = new DAL.ClsIF_StockPlace_View();
+                                    //灏嗛�掑叆鐨勬潯鐮佸幓鎺夊墠涓変綅鍚庤浆鍖栨垚鏁村舰
+                                    int sHSPID;
+                                    int sHWHID;
+                                    string[] sArray = sBarCode.Remove(0, 3).Split(';');
+                                    if (int.TryParse(sArray[1], out sHSPID) && int.TryParse(sArray[0], out sHWHID))
+                                    {
+                                        if (dal.GetInfoByID(sHSPID, sHWHID, HOWNERID))
+                                        {
+                                            oBar.HBarType = "浠撲綅鏉$爜";
+                                            oBar.HSPID = dal.omodel.HItemID;
+                                            oBar.HSPNumber = dal.omodel.HNumber;
+                                            oBar.HSPName = dal.omodel.HName;
+                                            oBar.HWhID = dal.omodel.HWHID;
+                                            oBar.HWhNumber = dal.omodel.HWhNumber;
+                                            oBar.HWhName = dal.omodel.HWhName;
+                                            return oBar;
+                                        }
+                                        else
+                                        {
+                                            sErrMsg = "鏃犳晥浠撲綅鏉$爜锛�";
+                                            return null;
+                                        }
+                                    }
+                                    else
+                                    {
+                                        sErrMsg = "閿欒鐨勪粨浣嶆潯鐮侊紒";
+                                        return null;
+                                    }
+                                }
+                                //閮ㄩ棬鏉$爜
+                                else if (sBarBillName == "閮ㄩ棬")
+                                {
+                                    DAL.ClsIF_Department_View dal = new DAL.ClsIF_Department_View();
+                                    //灏嗛�掑叆鐨勬潯鐮佸幓鎺夊墠涓変綅鍚庤浆鍖栨垚鏁村舰
+                                    int ID;
+                                    if (int.TryParse(sBarCode.Remove(0, 3), out ID))
+                                    {
+                                        if (dal.GetInfoByID(ID))
+                                        {
+                                            oBar.HBarType = "閮ㄩ棬鏉$爜";
+                                            oBar.HDeptID = dal.omodel.HItemID;
+                                            oBar.HDeptNumber = dal.omodel.HNumber;
+                                            oBar.HDeptName = dal.omodel.HName;
+                                            return oBar;
+                                        }
+                                        else
+                                        {
+                                            sErrMsg = "鏃犳晥閮ㄩ棬鏉$爜锛�";
+                                            return null;
+                                        }
+                                    }
+                                    else
+                                    {
+                                        sErrMsg = "閿欒鐨勯儴闂ㄦ潯鐮侊紒";
+                                        return null;
+                                    }
+                                }
+                                else
+                                {
+                                    sErrMsg = "鏃犳晥鍩虹璧勬枡鏉$爜锛�";
+                                    return null;
+                                }
+                            }
+                            //婧愬崟鏉$爜
+                            else if (sBarBillType == "婧愬崟鏉$爜")
+                            {
+                                if (sBarBillName == "鍙戣揣閫氱煡鍗�")
+                                {
+                                    oBar = get_SourceBarCode_SellOut(HBillID, HBillNo, HBillType, sBarCode, "1402", HMaker, 0, HOWNERID, ref sErrMsg);
+                                    if (oBar == null)
+                                    {
+                                        return null;
+                                    }
+                                    return oBar;
+                                }
+                                else
+                                {
+                                    sErrMsg = "婧愬崟绫诲瀷鍚嶇О璁剧疆涓嶆纭紒";
+                                    return null;
+                                }
+                            }
+                            else
+                            {
+                                sErrMsg = "鏃犳晥鏉$爜绫诲瀷锛�";
+                                return null;
+                            }
+                        }
+                    }
+                }
+                //鐢熶骇鍏ュ簱  澶氭簮鍗曟ā寮�
+                else if (HBillType == "1202" && oSystemParameter.omodel.Kf_ProductInBill_MulSourceBill == "Y")
+                {
+                    oBar = get_CheckTypeByBarCode_MulSourceBill(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, oSystemParameter.omodel, ref sErrMsg);
+                    if (oBar == null)
+                    {
+                        return null;
+                    }
+                    else
+                    {
+                        return oBar;
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鏄惁鍚敤涓�閿壂鐮佹ā寮忥紝Y涓哄惎鐢紝鏈惎鐢ㄦ椂鍙壂鎻忕墿鏂欐潯鐮�
+                    if (oSystemParameter.omodel.WMS_OneKeyMode.ToUpper() == "N")
+                    {
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍗氭棩绉戞妧" || oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏅鸿" || oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏂帿灏�" || oSystemParameter.omodel.WMS_CampanyName == "濂ラ偊") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View();
+                            if (dal.GetInfoByNumber_View(sBarCode))
+                            {
+                                //濡傛灉鏄墭鐩樻潯鐮佸垎瑙e苟妯℃嫙鎵爜
+                                if (dal.omodel_View.HBarCodeType == "鎵樼洏鏉$爜")
+                                {
+                                    //鍒嗚В鎵樻潯鐮佸緱鍒版槑缁嗘潯鐮佷俊鎭啓鍏ュ嚭鍏ュ簱鏉$爜涓存椂琛�
+                                    DataSet dsTBarCode;
+                                    string sBarCode_MX;
+                                    dsTBarCode = oCn.RunProcReturn("select HBarCode HBarCodeMX from Sc_PackUnionBillSub_Sum " +
+                                    " Where HBarCode_Pack = '" + sBarCode + "'", "Sc_PackUnionBillSub_Sum");
+                                    if (dsTBarCode == null || dsTBarCode.Tables[0].Rows.Count == 0)
+                                    {
+                                        sErrMsg = "娌℃湁鎵惧埌鎵樼洏鏉$爜瀵瑰簲瀛愭潯鐮佽褰曪紒";
+                                        return null;
+                                    }
+                                    else
+                                    {
+                                        for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++)
+                                        {
+                                            sBarCode_MX = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCodeMX"]);
+                                            if (set_SavePonderationBillMain_Temp_BarCode(sBarCode_MX, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg))
+                                            {
+                                                oBar.HSourceBillType = sHSourceBillType;
+                                                oBar.HSourceBillNo = sHSourceBillNo;
+                                                oBar.HSupID = sHSupID;
+                                                oBar.HSupName = sHSupName;
+                                                oBar.HDeptID = sHDeptID;
+                                                oBar.HDeptName = sHDeptName;
+                                                SourceFlag = true;
+                                            }
+                                            else
+                                            {
+                                                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忓け璐ワ紒" + sBarCode_MX + sErrMsg;
+                                                //sErrMsg = "鎵弿澶辫触锛�" + sErrMsg;
+                                                return null;
+                                            }
+                                        }
+                                        return oBar;
+                                    }
+                                }
+                                else
+                                {
+                                    //灏嗙墿鏂欐潯鐮佷俊鎭啓鍏ュ嚭鍏ュ簱鏉$爜涓存椂琛�
+                                    if (set_SavePonderationBillMain_Temp_BarCode(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg))
+                                    {
+                                        oBar.HSourceBillType = sHSourceBillType;
+                                        oBar.HSourceBillNo = sHSourceBillNo;
+                                        oBar.HSupID = sHSupID;
+                                        oBar.HSupName = sHSupName;
+                                        oBar.HDeptID = sHDeptID;
+                                        oBar.HDeptName = sHDeptName;
+                                    }
+                                    else
+                                    {
+                                        sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忓け璐ワ紒" + sErrMsg;
+                                        return null;
+                                    }
+                                    return oBar;
+                                }
+                            }
+                            else
+                            {
+                                sErrMsg = "娌℃湁鎵惧埌璇ユ潯鐮侊紒";
+                                return null;
+                            }
+                        }
+                        else
+                        {
+                            if (sBarCodePrefix == "PAK")
+                            {
+                                //灏嗘ā娌诲叿淇℃伅鍐欏叆妯℃不鍏峰嚭鍏ュ簱涓存椂琛�
+                                DataSet Mould = oCn.RunProcReturn("exec h_p_WMS_AddMouldBarCode '" + sBarCode + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID.ToString() + "," + HSPID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HRedBlueFlag + "','" + HMaker + "'," + HOWNERID.ToString(), "h_p_WMS_AddMouldBarCode");
+                                if (Mould == null || Mould.Tables[0].Rows.Count == 0)
+                                {
+                                    sErrMsg = "灏嗘ā娌诲叿淇℃伅鍐欏叆妯℃不鍏峰嚭鍏ュ簱涓存椂琛ㄥけ璐ワ紒";
+                                    return null;
+                                }
+                                else
+                                {
+                                    if (DBUtility.ClsPub.isLong(Mould.Tables[0].Rows[0][0]) == 0)
+                                    {
+                                        oBar.HBarType = "妯℃不鍏锋潯鐮�";
+                                        return oBar;
+                                    }
+                                    else
+                                    {
+                                        sErrMsg = DBUtility.ClsPub.isStrNull(Mould.Tables[0].Rows[0]["HRemark"]);
+                                        return null;
+                                    }
+                                }
+                            }
+                            else
+                            {
+                                //灏嗙墿鏂欐潯鐮佷俊鎭啓鍏ュ嚭鍏ュ簱鏉$爜涓存椂琛�
+                                if (set_SavePonderationBillMain_Temp_BarCode(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg))
+                                {
+                                    oBar.HSourceBillType = sHSourceBillType;
+                                    oBar.HSourceBillNo = sHSourceBillNo;
+                                    oBar.HSupID = sHSupID;
+                                    oBar.HSupName = sHSupName;
+                                    oBar.HDeptID = sHDeptID;
+                                    oBar.HDeptName = sHDeptName;
+                                }
+                                else
+                                {
+                                    sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忓け璐ワ紒" + sErrMsg;
+                                    return null;
+                                }
+                                return oBar;
+                            }
+                        }
+                    }
+                    //涓�閿壂鐮佹ā寮忥紝鏍规嵁鏉$爜鍓嶇紑璧� 涓嶅悓鏂规硶锛堜粨搴撱�佷粨浣嶃�侀儴闂級锛堟簮鍗曘�佺墿鏂欐潯鐮侊級
+                    else
+                    {
+                        string sRedBlue = "钃濆瓧";
+                        if (HRedBlueFlag)
+                        {
+                            sRedBlue = "绾㈠瓧";
+                        }
+                        else
+                        {
+                            sRedBlue = "钃濆瓧";
+                        }
+                        DataSet Dss;
+                        //鏍规嵁閫掑叆鐨勬潯鐮佸墠涓変綅锛屽垽鏂潯鐮佺被鍨嬶紙浠撳簱銆佷粨浣嶃�侀儴闂ㄣ�佹簮鍗曘�佺墿鏂欐潯鐮侊級
+                        Dss = oCn.RunProcReturn(" select HSourceName,BarCodeType from Xt_BarCodeType where HSourceNumber= '" + sBarCodePrefix + "'", "Xt_BarCodeType");
+
+                        //鏃犺繑鍥炴暟鎹垯涓虹墿鏂欐潯鐮�
+                        if (Dss == null || Dss.Tables[0].Rows.Count == 0)
+                        {
+                            if (oSystemParameter.omodel.WMS_CampanyName == "鍗氭棩绉戞妧" || oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏅鸿" || oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏂帿灏�" || oSystemParameter.omodel.WMS_CampanyName == "濂ラ偊") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                            {
+                                DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View();
+                                if (dal.GetInfoByNumber_View(sBarCode))
+                                {
+                                    //濡傛灉鏄墭鐩樻潯鐮佸垎瑙e苟妯℃嫙鎵爜
+                                    if (dal.omodel_View.HBarCodeType == "鎵樼洏鏉$爜")
+                                    {
+                                        //鍒嗚В鎵樻潯鐮佸緱鍒版槑缁嗘潯鐮佷俊鎭啓鍏ュ嚭鍏ュ簱鏉$爜涓存椂琛�
+                                        DataSet dsTBarCode;
+                                        string sBarCode_MX;
+                                        dsTBarCode = oCn.RunProcReturn("select HBarCode HBarCodeMX from Sc_PackUnionBillSub_Sum " +
+                                        " Where HBarCode_Pack = '" + sBarCode + "'", "Sc_PackUnionBillSub_Sum");
+                                        if (dsTBarCode == null || dsTBarCode.Tables[0].Rows.Count == 0)
+                                        {
+                                            sErrMsg = "娌℃湁鎵惧埌鎵樼洏鏉$爜瀵瑰簲瀛愭潯鐮佽褰曪紒";
+                                            return null;
+                                        }
+                                        else
+                                        {
+                                            for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++)
+                                            {
+                                                sBarCode_MX = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCodeMX"]);
+                                                if (set_SavePonderationBillMain_Temp_BarCode(sBarCode_MX, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg))
+                                                {
+                                                    oBar.HSourceBillType = sHSourceBillType;
+                                                    oBar.HSourceBillNo = sHSourceBillNo;
+                                                    oBar.HSupID = sHSupID;
+                                                    oBar.HSupName = sHSupName;
+                                                    oBar.HDeptID = sHDeptID;
+                                                    oBar.HDeptName = sHDeptName;
+                                                    SourceFlag = true;
+                                                }
+                                                else
+                                                {
+                                                    sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忓け璐ワ紒" + sBarCode_MX + sErrMsg;
+                                                    //sErrMsg = "鎵弿澶辫触锛�" + sErrMsg;
+                                                    return null;
+                                                }
+                                            }
+                                            return oBar;
+                                        }
+                                    }
+                                    else
+                                    {
+                                        //灏嗙墿鏂欐潯鐮佷俊鎭啓鍏ュ嚭鍏ュ簱鏉$爜涓存椂琛�
+                                        if (set_SavePonderationBillMain_Temp_BarCode(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg))
+                                        {
+                                            oBar.HSourceBillType = sHSourceBillType;
+                                            oBar.HSourceBillNo = sHSourceBillNo;
+                                            oBar.HSupID = sHSupID;
+                                            oBar.HSupName = sHSupName;
+                                            oBar.HDeptID = sHDeptID;
+                                            oBar.HDeptName = sHDeptName;
+                                        }
+                                        else
+                                        {
+                                            sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忓け璐ワ紒" + sErrMsg;
+                                            return null;
+                                        }
+                                        return oBar;
+                                    }
+                                }
+                                else
+                                {
+                                    sErrMsg = "娌℃湁鎵惧埌璇ユ潯鐮侊紒";
+                                    return null;
+                                }
+                            }
+                            else
+                            {
+                                if (sBarCodePrefix == "PAK")
+                                {
+                                    //灏嗘ā娌诲叿淇℃伅鍐欏叆妯℃不鍏峰嚭鍏ュ簱涓存椂琛�
+                                    DataSet Mould = oCn.RunProcReturn("exec h_p_WMS_AddMouldBarCode '" + sBarCode + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID.ToString() + "," + HSPID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HRedBlueFlag + "','" + HMaker + "'," + HOWNERID.ToString(), "h_p_WMS_AddMouldBarCode");
+                                    if (Mould == null || Mould.Tables[0].Rows.Count == 0)
+                                    {
+                                        sErrMsg = "灏嗘ā娌诲叿淇℃伅鍐欏叆妯℃不鍏峰嚭鍏ュ簱涓存椂琛ㄥけ璐ワ紒";
+                                        return null;
+                                    }
+                                    else
+                                    {
+                                        if (DBUtility.ClsPub.isLong(Mould.Tables[0].Rows[0][0]) == 0)
+                                        {
+                                            oBar.HBarType = "妯℃不鍏锋潯鐮�";
+                                            return oBar;
+                                        }
+                                        else
+                                        {
+                                            sErrMsg = DBUtility.ClsPub.isStrNull(Mould.Tables[0].Rows[0]["HRemark"]);
+                                            return null;
+                                        }
+                                    }
+                                }
+                                else
+                                {
+                                    //灏嗙墿鏂欐潯鐮佷俊鎭啓鍏ュ嚭鍏ュ簱鏉$爜涓存椂琛�
+                                    if (set_SavePonderationBillMain_Temp_BarCode(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg))
+                                    {
+                                        oBar.HSourceBillType = sHSourceBillType;
+                                        oBar.HSourceBillNo = sHSourceBillNo;
+                                        oBar.HSupID = sHSupID;
+                                        oBar.HSupName = sHSupName;
+                                        oBar.HDeptID = sHDeptID;
+                                        oBar.HDeptName = sHDeptName;
+                                    }
+                                    else
+                                    {
+                                        sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忓け璐ワ紒" + sErrMsg;
+                                        return null;
+                                    }
+                                    return oBar;
+                                }
+                            }
+                        }
+                        else
+                        {
+                            string sBarBillName = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["HSourceName"]);
+                            string sBarBillType = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["BarCodeType"]);
+
+                            //鍒ゆ柇鏉$爜绫诲瀷涓� 鍩虹璧勬枡鏉$爜 鎴� 婧愬崟鏉$爜
+                            if (sBarBillType == "鍩虹璧勬枡鏉$爜")
+                            {
+                                //浠撳簱鏉$爜
+                                if (sBarBillName == "浠撳簱")
+                                {
+                                    DAL.ClsIF_Warehouse_View dal = new DAL.ClsIF_Warehouse_View();
+                                    //灏嗛�掑叆鐨勬潯鐮佸幓鎺夊墠涓変綅鍚庤浆鍖栨垚鏁村舰,TryParse涓嶈兘杞崲鎴愭暣鏁版椂杩斿洖false锛屽苟杩斿洖ID=0
+                                    int ID;
+                                    if (int.TryParse(sBarCode.Remove(0, 3), out ID))
+                                    {
+                                        if (dal.GetInfoByID(ID, HOWNERID))
+                                        {
+                                            oBar.HBarType = "浠撳簱鏉$爜";
+                                            oBar.HWhID = dal.omodel.HItemID;
+                                            oBar.HWhNumber = dal.omodel.HNumber;
+                                            oBar.HWhName = dal.omodel.HName;
+                                            oBar.HSPFlag = dal.omodel.HIsStockMgr;
+                                            return oBar;
+                                        }
+                                        else
+                                        {
+                                            sErrMsg = "鏃犳晥浠撳簱鏉$爜锛�";
+                                            return null;
+                                        }
+                                    }
+                                    else
+                                    {
+                                        sErrMsg = "閿欒鐨勪粨搴撴潯鐮侊紒";
+                                        return null;
+                                    }
+                                }
+                                //浠撲綅鏉$爜
+                                else if (sBarBillName == "浠撲綅")
+                                {
+                                    DAL.ClsIF_StockPlace_View dal = new DAL.ClsIF_StockPlace_View();
+                                    //灏嗛�掑叆鐨勬潯鐮佸幓鎺夊墠涓変綅鍚庤浆鍖栨垚鏁村舰
+                                    int sHSPID;
+                                    int sHWHID;
+                                    string[] sArray = sBarCode.Remove(0, 3).Split(';');
+                                    if (int.TryParse(sArray[1], out sHSPID) && int.TryParse(sArray[0], out sHWHID))
+                                    {
+                                        if (dal.GetInfoByID(sHSPID, sHWHID, HOWNERID))
+                                        {
+                                            oBar.HBarType = "浠撲綅鏉$爜";
+                                            oBar.HSPID = dal.omodel.HItemID;
+                                            oBar.HSPNumber = dal.omodel.HNumber;
+                                            oBar.HSPName = dal.omodel.HName;
+                                            oBar.HWhID = dal.omodel.HWHID;
+                                            oBar.HWhNumber = dal.omodel.HWhNumber;
+                                            oBar.HWhName = dal.omodel.HWhName;
+                                            return oBar;
+                                        }
+                                        else
+                                        {
+                                            sErrMsg = "鏃犳晥浠撲綅鏉$爜锛�";
+                                            return null;
+                                        }
+                                    }
+                                    else
+                                    {
+                                        sErrMsg = "閿欒鐨勪粨浣嶆潯鐮侊紒";
+                                        return null;
+                                    }
+                                }
+                                //閮ㄩ棬鏉$爜
+                                else if (sBarBillName == "閮ㄩ棬")
+                                {
+                                    DAL.ClsIF_Department_View dal = new DAL.ClsIF_Department_View();
+                                    //灏嗛�掑叆鐨勬潯鐮佸幓鎺夊墠涓変綅鍚庤浆鍖栨垚鏁村舰
+                                    int ID;
+                                    if (int.TryParse(sBarCode.Remove(0, 3), out ID))
+                                    {
+                                        if (dal.GetInfoByID(ID))
+                                        {
+                                            oBar.HBarType = "閮ㄩ棬鏉$爜";
+                                            oBar.HDeptID = dal.omodel.HItemID;
+                                            oBar.HDeptNumber = dal.omodel.HNumber;
+                                            oBar.HDeptName = dal.omodel.HName;
+                                            return oBar;
+                                        }
+                                        else
+                                        {
+                                            sErrMsg = "鏃犳晥閮ㄩ棬鏉$爜锛�";
+                                            return null;
+                                        }
+                                    }
+                                    else
+                                    {
+                                        sErrMsg = "閿欒鐨勯儴闂ㄦ潯鐮侊紒";
+                                        return null;
+                                    }
+                                }
+                                else
+                                {
+                                    sErrMsg = "鏃犳晥鍩虹璧勬枡鏉$爜锛�";
+                                    return null;
+                                }
+                            }
+                            //婧愬崟鏉$爜
+                            else if (sBarBillType == "婧愬崟鏉$爜")
+                            {
+                                //褰撹鍗曟嵁绫诲瀷鐨勭郴缁熷弬鏁帮細澶氭簮鍗曟ā寮�   鏃讹紝涓嶅厑璁告壂鎻忓師鍗�
+
+
+                                //=======================
+                                DataSet Ds = oCn.RunProcReturn(" select HSourceName from Xt_BarCodeType where HSourceNumber= '" + sBarCodePrefix + "' and HBillType= '" + HBillType + "'", "Xt_BarCodeType");
+
+                                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                                {
+                                    sErrMsg = "鎵�鎵簮鍗曟潯鐮佷笉灞炰簬姝ゆā鍧楁簮鍗曡寖鍥达紒";
+                                    return null;
+                                }
+                                else
+                                {
+                                    sBarBillName = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSourceName"]);
+                                    //鎵弿婧愬崟鏉$爜鏃跺垽鏂槸鍚﹀凡缁忔壂鎻忚繃婧愬崟淇℃伅
+                                    if (SourceFlag)
+                                    {
+                                        sErrMsg = "鏄庣粏淇℃伅鍒楄〃宸叉湁鎵爜璁板綍锛屼笉鍏佽澶氭鎵弿婧愬崟鏉$爜锛�";
+                                        return null;
+                                    }
+                                    else
+                                    {
+                                        //浜у搧鍏ュ簱鍗� 婧愬崟锛氱敓浜т换鍔″崟
+                                        if (sBarBillName == "鐢熶骇浠诲姟鍗�" && HBillType == "1202")
+                                        {
+                                            DAL.Cls_S_IF_ICMOBill_Lite dal = new DAL.Cls_S_IF_ICMOBill_Lite();
+                                            DataSet DS;
+                                            //鏍规嵁鍗曟嵁鍙疯幏鍙栬繃婊ゆ潯浠�
+                                            string sWhere = " Where 鍗曟嵁鍙� like '" + sBarCode + "'";
+                                            DS = dal.DisSourceBillList(sWhere);
+                                            if (DS == null || DS.Tables[0].Rows.Count <= 0)
+                                            {
+                                                sErrMsg = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+                                                return null;
+                                            }
+                                            oBar.HBarType = "婧愬崟鏉$爜";
+                                            oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
+                                            oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
+                                            oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
+                                            oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
+                                            oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
+                                            oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
+                                        }
+                                        //浜у搧鍏ュ簱鍗� 婧愬崟锛氱敓浜ф眹鎶ュ崟
+                                        else if (sBarBillName == "鐢熶骇姹囨姤鍗�" && HBillType == "1202")
+                                        {
+                                            DAL.Cls_S_IF_ICMOReportBill_Lite dal = new DAL.Cls_S_IF_ICMOReportBill_Lite();
+                                            DataSet DS;
+                                            //鏍规嵁鍗曟嵁鍙疯幏鍙栬繃婊ゆ潯浠�
+                                            string sWhere = " Where 鍗曟嵁鍙� like '" + sBarCode + "'";
+                                            DS = dal.DisSourceBillList(sWhere);
+                                            if (DS == null || DS.Tables[0].Rows.Count <= 0)
+                                            {
+                                                sErrMsg = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+                                                return null;
+                                            }
+                                            oBar.HBarType = "婧愬崟鏉$爜";
+                                            oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
+                                            oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
+                                            oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
+                                            oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
+                                            oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
+                                            oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
+                                        }
+                                        //澶栬喘鍏ュ簱鍗� 婧愬崟锛氶噰璐鍗�
+                                        else if (sBarBillName == "閲囪喘璁㈠崟" && HBillType == "1201")
+                                        {
+                                            DAL.Cls_S_IF_POOrderBill_Lite dal = new DAL.Cls_S_IF_POOrderBill_Lite();
+                                            DataSet DS;
+                                            //鏍规嵁鍗曟嵁鍙疯幏鍙栬繃婊ゆ潯浠�
+                                            string sWhere = " Where 鍗曟嵁鍙� like '" + sBarCode + "'";
+                                            DS = dal.DisSourceBillList(sWhere);
+                                            if (DS == null || DS.Tables[0].Rows.Count <= 0)
+                                            {
+                                                sErrMsg = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+                                                return null;
+                                            }
+                                            oBar.HBarType = "婧愬崟鏉$爜";
+                                            oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
+                                            oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
+                                            oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
+                                            oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
+                                            oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
+                                            oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
+                                        }
+                                        //澶栬喘鍏ュ簱鍗� 婧愬崟锛氭敹鏂欓�氱煡鍗�
+                                        else if (sBarBillName == "鏀舵枡閫氱煡鍗�" && HBillType == "1201")
+                                        {
+                                            DAL.Cls_S_IF_POInStockBill_Lite dal = new DAL.Cls_S_IF_POInStockBill_Lite();
+                                            DataSet DS;
+                                            //鏍规嵁鍗曟嵁鍙疯幏鍙栬繃婊ゆ潯浠�
+                                            string sWhere = " Where 鍗曟嵁鍙� like '" + sBarCode + "' and isnull(HBillSubType,0)=12510 ";
+                                            DS = dal.DisSourceBillList(sWhere);
+                                            if (DS == null || DS.Tables[0].Rows.Count <= 0)
+                                            {
+                                                sErrMsg = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+                                                return null;
+                                            }
+                                            oBar.HBarType = "婧愬崟鏉$爜";
+                                            oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
+                                            oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
+                                            oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
+                                            oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
+                                            oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
+                                            oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
+                                        }
+                                        //濮斿鍏ュ簱鍗� 婧愬崟锛氬澶栬鍗�
+                                        else if (sBarBillName == "濮斿璁㈠崟" && HBillType == "1210")
+                                        {
+                                            DAL.Cls_S_IF_WWOrderBill_Lite dal = new DAL.Cls_S_IF_WWOrderBill_Lite();
+                                            DataSet DS;
+                                            //鏍规嵁鍗曟嵁鍙疯幏鍙栬繃婊ゆ潯浠�
+                                            string sWhere = " Where 鍗曟嵁鍙� like '" + sBarCode + "'";
+                                            DS = dal.DisSourceBillList(sWhere);
+                                            if (DS == null || DS.Tables[0].Rows.Count <= 0)
+                                            {
+                                                sErrMsg = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+                                                return null;
+                                            }
+                                            oBar.HBarType = "婧愬崟鏉$爜";
+                                            oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
+                                            oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
+                                            oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
+                                            oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
+                                            oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
+                                            oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
+                                        }
+                                        //濮斿鍏ュ簱鍗� 婧愬崟锛氭敹鏂欓�氱煡鍗�-濮斿
+                                        else if (sBarBillName == "鏀舵枡閫氱煡鍗�-濮斿" && HBillType == "1210")
+                                        {
+                                            DAL.Cls_S_IF_POStockInBill_Lite dal = new DAL.Cls_S_IF_POStockInBill_Lite();
+                                            DataSet DS;
+                                            //鏍规嵁鍗曟嵁鍙疯幏鍙栬繃婊ゆ潯浠�
+                                            string sWhere = " Where 鍗曟嵁鍙� like '" + sBarCode + "' and isnull(HBillSubType,0)=12511 ";
+                                            DS = dal.DisSourceBillList(sWhere);
+                                            if (DS == null || DS.Tables[0].Rows.Count <= 0)
+                                            {
+                                                sErrMsg = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+                                                return null;
+                                            }
+                                            oBar.HBarType = "婧愬崟鏉$爜";
+                                            oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
+                                            oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
+                                            oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
+                                            oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
+                                            oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
+                                            oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
+                                        }
+                                        //棰嗘枡鍑哄簱 婧愬崟锛氱敓浜т换鍔″崟-鎶曟枡
+                                        else if (sBarBillName == "鐢熶骇浠诲姟鍗�-鎶曟枡" && HBillType == "1204")
+                                        {
+                                            DAL.Cls_S_IF_PPBomBillList_Lite dal = new DAL.Cls_S_IF_PPBomBillList_Lite();
+                                            DataSet DS;
+                                            //鏍规嵁鍗曟嵁鍙疯幏鍙栬繃婊ゆ潯浠�
+                                            string sWhere = " Where 鍗曟嵁鍙� like '" + sBarCode + "'";
+                                            DS = dal.DisSourceBillList(sWhere);
+                                            if (DS == null || DS.Tables[0].Rows.Count <= 0)
+                                            {
+                                                sErrMsg = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+                                                return null;
+                                            }
+                                            oBar.HBarType = "婧愬崟鏉$爜";
+                                            oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
+                                            oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
+                                            oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
+                                            oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
+                                            oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
+                                            oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
+                                        }
+                                        //閿�鍞嚭搴� 婧愬崟锛氶攢鍞鍗�
+                                        else if (sBarBillName == "閿�鍞鍗�" && HBillType == "1205")
+                                        {
+                                            DAL.Cls_S_IF_SEOrderBill_Lite dal = new DAL.Cls_S_IF_SEOrderBill_Lite();
+                                            DataSet DS;
+                                            //鏍规嵁鍗曟嵁鍙疯幏鍙栬繃婊ゆ潯浠�
+                                            string sWhere = " Where 鍗曟嵁鍙� like '" + sBarCode + "'";
+                                            DS = dal.DisSourceBillList(sWhere);
+                                            if (DS == null || DS.Tables[0].Rows.Count <= 0)
+                                            {
+                                                sErrMsg = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+                                                return null;
+                                            }
+                                            oBar.HBarType = "婧愬崟鏉$爜";
+                                            oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
+                                            oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
+                                            oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
+                                            oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
+                                            oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
+                                            oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
+                                            oBar.HCustom = Convert.ToString(DS.Tables[0].Rows[0]["HCustom"]);
+                                        }
+                                        //閿�鍞嚭搴� 婧愬崟锛氬彂璐ч�氱煡鍗�
+                                        else if (sBarBillName == "鍙戣揣閫氱煡鍗�" && HBillType == "1205")
+                                        {
+                                            DAL.Cls_S_IF_SeOutStockBill_Lite dal = new DAL.Cls_S_IF_SeOutStockBill_Lite();
+                                            DataSet DS;
+                                            //鏍规嵁鍗曟嵁鍙疯幏鍙栬繃婊ゆ潯浠�
+                                            string sWhere = " Where 鍗曟嵁鍙� like '" + sBarCode + "'";
+                                            DS = dal.DisSourceBillList(sWhere);
+                                            if (DS == null || DS.Tables[0].Rows.Count <= 0)
+                                            {
+                                                sErrMsg = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+                                                return null;
+                                            }
+                                            oBar.HBarType = "婧愬崟鏉$爜";
+                                            oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
+                                            oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
+                                            oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
+                                            oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
+                                            oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
+                                            oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
+                                            oBar.HCustom = Convert.ToString(DS.Tables[0].Rows[0]["HCustom"]);
+                                        }
+                                        //濮斿鍑哄簱鍗� 婧愬崟锛氬澶栬鍗�-鎶曟枡
+                                        else if (sBarBillName == "濮斿璁㈠崟-鎶曟枡" && HBillType == "1211")
+                                        {
+                                            DAL.Cls_S_IF_WWPPBomBill_Lite dal = new DAL.Cls_S_IF_WWPPBomBill_Lite();
+                                            DataSet DS;
+                                            //鏍规嵁鍗曟嵁鍙疯幏鍙栬繃婊ゆ潯浠�
+                                            string sWhere = " Where 鍗曟嵁鍙� like '" + sBarCode + "'";
+                                            DS = dal.DisSourceBillList(sWhere);
+                                            if (DS == null || DS.Tables[0].Rows.Count <= 0)
+                                            {
+                                                sErrMsg = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+                                                return null;
+                                            }
+                                            oBar.HBarType = "婧愬崟鏉$爜";
+                                            oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
+                                            oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
+                                            oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
+                                            oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
+                                            oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
+                                            oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
+                                        }
+                                        else
+                                        {
+                                            sErrMsg = "婧愬崟绫诲瀷鍚嶇О璁剧疆涓嶆纭紒";
+                                            return null;
+                                        }
+                                        // 灏嗘簮鍗曚俊鎭啓鍏� 涓存椂缂撳瓨琛�
+                                        if (tem.AddNew_Source(HBillID, HBillNo, HBillType, oBar.HSourceBillNo, oBar.HSourceBillType, sRedBlue, ref sErrMsg))
+                                        {
+                                            return oBar;
+                                        }
+                                        else
+                                        {
+                                            sErrMsg = "淇濆瓨婧愬崟淇℃伅澶辫触锛�" + sErrMsg;
+                                            return null;
+                                        }
+                                    }
+                                }
+                            }
+                            else
+                            {
+                                sErrMsg = "鏃犳晥鏉$爜绫诲瀷锛�";
+                                return null;
+                            }
+                        }
+                    }
+                }
+            }
+            catch (Exception e)
+            {
+                sErrMsg = e.Message + ";" + e.StackTrace;
+                return null;
+            }
+
+        }
+
+        #endregion
+
+
+        #region 鎵弿鐗╂枡鏉$爜      璋冩嫧
+
+        [WebMethod]
+        public Model.ClsKf_ICStockBill_WMS get_BarCode_MoveStock(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Int64 HSCWHID, Int64 HSCSPID, Double HQty, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HStockInOrgID, Int64 HStockOutOrgID, string HScanStyle, ref string sErrMsg)
+        {
+            try
+            {
+                //鑾峰彇绯荤粺鍙傛暟
+                Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+                if (oSystemParameter.ShowBill(ref sErrMsg) == false)
+                {
+                    sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                    return null;
+                }
+
+                sBarCode = sBarCode.Trim();
+                if (sBarCode == "")
+                {
+                    sErrMsg = "鏉$爜涓嶈兘涓虹┖锛岃鎵弿鏉$爜锛�";
+                    return null;
+                }
+                else
+                {
+                    //鍒ゆ柇鏉$爜鏄惁鍚壒娈婄鍙� # 锛屽鏋滃惈鏈夊垯 鎷嗗垎
+                    string[] NewBarCode;
+                    if (sBarCode.Contains("#"))
+                    {
+                        NewBarCode = sBarCode.Split(Convert.ToChar("#"));
+                        sBarCode = NewBarCode[0];
+                        HQty = DBUtility.ClsPub.isDoule(NewBarCode[1]);
+                    }
+                }
+
+                SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
+                DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View();
+                string sBarCodePrefix = sBarCode.Substring(0, Math.Min(3, sBarCode.Length));//鎴彇鏉$爜鍓嶄笁浣嶅瓧绗︿覆
+
+                if (sBarCodePrefix == "PAK")
+                {
+                    bool HRedBlueFlag = false;
+                    //灏嗘ā娌诲叿淇℃伅鍐欏叆妯℃不鍏峰嚭鍏ュ簱涓存椂琛�
+                    DataSet Mould = oCn.RunProcReturn("exec h_p_WMS_AddMouldBarCode_New '" + sBarCode + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID.ToString() + "," + HSPID.ToString() + "," + HSCWHID.ToString() + "," + HSCSPID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HRedBlueFlag + "','" + HMaker + "'," + HStockOutOrgID.ToString(), "h_p_WMS_AddMouldBarCode_New");
+                    if (Mould == null || Mould.Tables[0].Rows.Count == 0)
+                    {
+                        sErrMsg = "灏嗘ā娌诲叿淇℃伅鍐欏叆妯℃不鍏峰嚭鍏ュ簱涓存椂琛ㄥけ璐ワ紒";
+                        return null;
+                    }
+                    else
+                    {
+                        if (DBUtility.ClsPub.isLong(Mould.Tables[0].Rows[0][0]) == 0)
+                        {
+                            oBar.HBarType = "妯℃不鍏锋潯鐮�";
+                            return oBar;
+                        }
+                        else
+                        {
+                            sErrMsg = DBUtility.ClsPub.isStrNull(Mould.Tables[0].Rows[0]["HRemark"]);
+                            return null;
+                        }
+                    }
+                }
+                else
+                {
+                    if (dal.GetInfoByBarCode_View(sBarCode))
+                    {
+                        if (dal.omodel_View.HStopflag)
+                        {
+                            sErrMsg = "鏉$爜宸茶绂佺敤锛屼笉鍏佽鎵弿锛�";
+                            return null;
+                        }
+                        else
+                        {
+                            //妫シ涓撶敤
+                            if (oSystemParameter.omodel.WMS_CampanyName == "妫シ") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                            {
+                                DataSet dsTBarCode = oCn.RunProcReturn("exec h_p_WMS_BeforeCheckToBarCode_ScanStyle '" + sBarCode + "'," + HBillID.ToString() + ",'" + HBillType + "','鏁存墭鎵爜'", "h_p_WMS_BeforeCheckToBarCode_ScanStyle");
+                                if (dsTBarCode == null || dsTBarCode.Tables[0].Rows.Count == 0)
+                                {
+                                    sErrMsg = "鑾峰彇鏁存墭鏉$爜淇℃伅鍙戠敓閿欒锛�";
+                                    return null;
+                                }
+                                if (DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[0][0]) == 1)
+                                {
+                                    sErrMsg = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[0]["HRemark"]);
+                                    return null;
+                                }
+                                else if (DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[0][0]) == 2)
+                                {
+                                    sErrMsg = "姝ゆā鍧椾笉鍏佽鍙嶅悜鎷嗙爜锛�";
+                                    return null;
+                                }
+                                else
+                                {
+                                    for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++)
+                                    {
+                                        dal.omodel_View.HBarCode = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCode"]);
+                                        dal.omodel_View.HBarCodeType = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCodeType"]);
+                                        dal.omodel_View.HMaterID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HMaterID"]);
+                                        dal.omodel_View.HAuxPropID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HAuxPropID"]);
+                                        dal.omodel_View.HBatchNo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBatchNo"]);
+                                        dal.omodel_View.HQty = DBUtility.ClsPub.isDoule(dsTBarCode.Tables[0].Rows[i]["HQty"]);
+                                        dal.omodel_View.HMTONo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HMTONo"]);
+                                        //鏃犳簮鍗曠姸鎬侊紝璁剧疆婧愬崟绫诲瀷涓�-1
+                                        if (SourceFlag == false)
+                                        {
+                                            HSourceBillType = "-1";
+                                        }
+                                        if (i!=0)
+                                        {
+                                            SourceFlag = true;
+                                        }
+
+                                        //灏嗙墿鏂欐潯鐮佷俊鎭啓鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
+                                        if (!set_SavePonderationBillMain_Temp_BarCode_MoveStock(dal.omodel_View, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HSCWHID, HSCSPID, HQty, SourceFlag, HSourceBillType, HStockInOrgID, HStockOutOrgID, oSystemParameter.omodel, ref sErrMsg))
+                                        {
+                                            sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忕墿鏂欐潯鐮佸け璐ワ紒" + sErrMsg;
+                                            return null;
+                                        }
+                                    }
+                                    return oBar;
+                                }
+                            }
+                            else
+                            {
+                                //鍒ゆ柇鏉$爜绫诲瀷鏄惁涓烘墭鐩樻潯鐮侊紝濡傛灉鏄墭鐩樻潯鐮佸垯鍒嗚В骞舵ā鎷熸壂鐮�
+                                if (dal.omodel_View.HBarCodeType == "鎵樼洏鏉$爜")
+                                {
+                                    //鍒嗚В鎵樼洏鏉$爜寰楀埌鏄庣粏鏉$爜淇℃伅鍐欏叆鏉$爜鍑哄叆搴撲复鏃惰〃
+                                    DataSet dsTBarCode = oCn.RunProcReturn("exec h_p_WMS_BeforeCheckToTPBarCode '" + sBarCode + "'", "h_p_WMS_BeforeCheckToTPBarCode");
+                                    if (dsTBarCode == null || dsTBarCode.Tables[0].Rows.Count == 0)
+                                    {
+                                        sErrMsg = "鍒嗚В鎵樼洏鏉$爜鍙戠敓閿欒锛�";
+                                        return null;
+                                    }
+                                    else
+                                    {
+                                        if (DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[0][0]) == 1)
+                                        {
+                                            sErrMsg = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[0]["HRemark"]);
+                                            return null;
+                                        }
+                                        else
+                                        {
+                                            for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++)
+                                            {
+                                                dal.omodel_View.HBarCode = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCode"]);
+                                                dal.omodel_View.HBarCodeType = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCodeType"]);
+                                                dal.omodel_View.HMaterID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HMaterID"]);
+                                                dal.omodel_View.HAuxPropID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HAuxPropID"]);
+                                                dal.omodel_View.HBatchNo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBatchNo"]);
+                                                dal.omodel_View.HQty = DBUtility.ClsPub.isDoule(dsTBarCode.Tables[0].Rows[i]["HQty"]);
+                                                dal.omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HSourceInterID"]);
+                                                dal.omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HSourceEntryID"]);
+                                                dal.omodel_View.HSourceBillNo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HSourceBillNo"]);
+                                                dal.omodel_View.HMTONo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HMTONo"]);
+                                                //鏃犳簮鍗曠姸鎬侊紝璁剧疆婧愬崟绫诲瀷涓�-1
+                                                if (SourceFlag == false)
+                                                {
+                                                    HSourceBillType = "-1";
+                                                }
+                                                if (i != 0)
+                                                {
+                                                    SourceFlag = true;
+                                                }
+
+                                                //灏嗙墿鏂欐潯鐮佷俊鎭啓鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
+                                                if (!set_SavePonderationBillMain_Temp_BarCode_MoveStock(dal.omodel_View, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HSCWHID, HSCSPID, HQty, SourceFlag, HSourceBillType, HStockInOrgID, HStockOutOrgID, oSystemParameter.omodel, ref sErrMsg))
+                                                {
+                                                    sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忕墿鏂欐潯鐮佸け璐ワ紒" + sErrMsg;
+                                                    return null;
+                                                }
+                                            }
+                                        }
+                                        return oBar;
+                                    }
+                                }
+                                else
+                                //鏉$爜绫诲瀷涓嶄负鎵樼洏鏉$爜
+                                {
+                                    //灏嗙墿鏂欐潯鐮佷俊鎭啓鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
+                                    if (!set_SavePonderationBillMain_Temp_BarCode_MoveStock(dal.omodel_View, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HSCWHID, HSCSPID, HQty, SourceFlag, HSourceBillType, HStockInOrgID, HStockOutOrgID, oSystemParameter.omodel, ref sErrMsg))
+                                    {
+                                        sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忕墿鏂欐潯鐮佸け璐ワ紒" + sErrMsg;
+                                        return null;
+                                    }
+                                    return oBar;
+                                }
+                            }
+                        }
+                    }
+                    else
+                    {
+                        sErrMsg = "鏉$爜妗f涓笉瀛樺湪璇ユ潯鐮侊紝璇风‘璁ゆ潯鐮佹槸鍚︽纭垨鏄惁宸茶鍒犻櫎锛�";
+                        return null;
+                    }
+                }
+            }
+            catch (Exception e)
+            {
+                sErrMsg = e.Message + ";" + e.StackTrace;
+                return null;
+            }
+        }
+
+        //鎵弿鐗╂枡鏉$爜  瀛樺叆鏉$爜鍑哄叆搴撲复鏃惰〃      璋冩嫧
+        [WebMethod]
+        public bool set_SavePonderationBillMain_Temp_BarCode_MoveStock(Model.ClsGy_BarCodeBill_WMS_Model_View omodel_View, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Int64 HSCWHID, Int64 HSCSPID, Double HQty, bool SourceFlag, string HSourceBillType, Int64 HStockInOrgID, Int64 HStockOutOrgID, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            DAL.ClsKF_PonderationBillMain_Temp_Ctl tem = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
+            Model.ClsKF_PonderationBillMain_Temp oMain = new Model.ClsKF_PonderationBillMain_Temp();
+
+            //鍒ゆ柇璋冨叆浠撳簱銆佷粨浣嶆槸鍚︽湁鏁�
+            if (HWhID == 0)
+            {
+                sErrMsg = "璋冨叆浠撳簱娌℃湁閫夋嫨锛�";
+                return false;
+            }
+            else
+            {
+                //鏍规嵁浠撳簱ID锛屽垽鏂槸鍚﹀惎鐢ㄤ粨浣�
+                DataSet dsWh = oCn.RunProcReturn(" select HSPFlag from Gy_Warehouse with(nolock) where HItemID= " + HWhID.ToString() + " and HUSEORGID= " + HStockInOrgID.ToString(), "Gy_Warehouse");
+                if (dsWh == null || dsWh.Tables[0].Rows.Count == 0)
+                {
+                    sErrMsg = "鎵�閫夎皟鍏ヤ粨搴撲笉灞炰簬璇ヨ皟鍏ョ粍缁囷紒";
+                    return false;
+                }
+                else if (HSPID == 0 && DBUtility.ClsPub.isBool(dsWh.Tables[0].Rows[0]["HSPFlag"]) == true)
+                {
+                    sErrMsg = "璋冨叆浠撲綅娌℃湁閫夋嫨锛�";
+                    return false;
+                }
+            }
+            //鏃犳簮鍗曠姸鎬侊紝璁剧疆婧愬崟绫诲瀷涓�-1
+            if (SourceFlag == false)
+            {
+                HSourceBillType = "-1";
+            }
+
+            //1銆侀娆℃壂鐮侀槻涓插崟鍒ゆ柇锛� 2銆佹簮鍗曠被鍨嬫槸鍚﹀湪婧愬崟鍒楄〃閲屽垽鏂紱3銆佸敮涓�鏉$爜鏄惁瀛樺湪鐩稿悓鏉$爜鍒ゆ柇锛� 4銆佹湁婧愬崟锛岀墿鏂欐槸鍚﹀湪婧愬崟涓垽鏂�
+            DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_MoveStock '" + omodel_View.HBarCode + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HSourceBillType + "'," + DBUtility.ClsPub.BoolToString(SourceFlag), "h_p_WMS_AddBarCode_MoveStock");
+            if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
+            {
+                sErrMsg = "鍒ゆ柇鎵�鎵潯鐮佹槸鍚﹀湪鍗曟嵁涓彂鐢熼敊璇紒";
+                return false;
+            }
+            else
+            {
+                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"]);     //婧愬崟鍙壂鏁伴噺
+                }
+                else
+                {
+                    sErrMsg = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]);
+                    return false;
+                }
+            }
+
+            double sRelQty = 0;
+            //鑾峰彇鎵爜鏁伴噺
+            if (omodel_View.HBarCodeType == "鍞竴鏉$爜")
+            {
+                if (HQty > 0 && omodel_View.HQty > HQty)
+                {
+                    sRelQty = HQty;
+                }
+                else
+                {
+                    sRelQty = omodel_View.HQty;
+                }
+
+                //鐩存帴璋冩嫧 鏈夋簮鍗曟壂鐮侊紝鏍规嵁绯荤粺鍙傛暟锛氱洿鎺ヨ皟鎷�-搴旀敹鏁伴噺 鎺у埗鎵爜鏁伴噺鑳藉惁鍙秴鍗曟嵁鏁伴噺锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+                if (HBillType == "1207" && omodel_View.HSourceInterID != 0
+                    && (oSystemParameterMain.Kf_MoveStockBill_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_MoveStockBill_MustQtyCtl == "瀹屽叏绛変簬搴旀敹"))
+                {
+                    if (omodel_View.HSourceQty == 0)
+                    {
+                        sErrMsg = "鎵�鎵墿鏂欏湪鍗曟嵁涓墿浣欏彲鎵暟閲忎负0锛屼笉鍏佽鎵爜锛�";
+                        return false;
+                    }
+                    else if (sRelQty > omodel_View.HSourceQty)
+                    {
+                        sErrMsg = "鎵�鎵弿鏉$爜鏁伴噺涓� " + sRelQty.ToString() + " 澶т簬瀵瑰簲婧愬崟鍓╀綑鍙壂鎻忔暟閲�" + omodel_View.HSourceQty.ToString() + "锛屼笉鍏佽鎵爜锛�";
+                        return false;
+                    }
+                }
+            }
+            else
+            //鎵规鏉$爜銆佸搧绉嶆潯鐮�
+            {
+                if (HQty > 0)
+                {
+                    sRelQty = HQty;
+                }
+                else if (omodel_View.HSourceQty > 0)
+                {
+                    sRelQty = omodel_View.HSourceQty;
+                }
+                else
+                {
+                    sRelQty = omodel_View.HQty;
+                }
+
+                //鐩存帴璋冩嫧 鏈夋簮鍗曟壂鐮侊紝鏍规嵁绯荤粺鍙傛暟锛氱洿鎺ヨ皟鎷ㄦ牎楠�-搴旀敹鏁伴噺 鎺у埗鎵爜鏁伴噺鑳藉惁鍙秴鍗曟嵁鏁伴噺锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+                if (HBillType == "1207" && omodel_View.HSourceInterID != 0
+                    && (oSystemParameterMain.Kf_MoveStockBill_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_MoveStockBill_MustQtyCtl == "瀹屽叏绛変簬搴旀敹"))
+                {
+                    if (omodel_View.HSourceQty == 0)
+                    {
+                        sErrMsg = "鎵�鎵墿鏂欏湪鍗曟嵁涓墿浣欏彲鎵暟閲忎负0锛屼笉鍏佽鎵爜锛�";
+                        return false;
+                    }
+                    else if (sRelQty > omodel_View.HSourceQty)
+                    {
+                        sErrMsg = "鎵�鎵弿鏉$爜鏁伴噺涓� " + sRelQty.ToString() + " 澶т簬瀵瑰簲婧愬崟鍓╀綑鍙壂鎻忔暟閲�" + omodel_View.HSourceQty.ToString() + "锛屼笉鍏佽鎵爜锛�";
+                        return false;
+                    }
+                }
+            }
+
+            double sWMSQty = 0;     //鏉$爜搴撳瓨鏁伴噺
+            double sERPQty = 0;     //ERP搴撳瓨鏁伴噺
+            if (omodel_View.HBarCodeType == "鍞竴鏉$爜")
+            {
+                //鍒ゆ柇鏉$爜搴撳瓨    搴撳瓨鎺у埗-WMS璐熷簱瀛樻帶鍒�
+                if (oSystemParameterMain.WMS_WMSStockCtl == "Y")
+                {
+                    //鍒ゆ柇ERP搴撳瓨   杩斿洖ERP搴撳瓨鏁伴噺
+                    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;
+                    }
+                    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)
+                        {
+                            sRelQty = sWMSQty;
+                        }
+                    }
+                }
+            }
+
+            //鍒ゆ柇璋冨嚭浠撳簱銆佷粨浣嶆槸鍚︽湁鏁�
+            if (HSCWHID == 0)
+            {
+                sErrMsg = "璋冨嚭浠撳簱娌℃湁閫夋嫨锛�";
+                return false;
+            }
+            else
+            {
+                //鏍规嵁浠撳簱ID锛屽垽鏂槸鍚﹀惎鐢ㄤ粨浣�
+                DataSet dsSCWH = oCn.RunProcReturn(" select HSPFlag from Gy_Warehouse with(nolock) where HItemID= " + HSCWHID.ToString() + " and HUSEORGID= " + HStockOutOrgID.ToString(), "Gy_Warehouse");
+                if (dsSCWH == null || dsSCWH.Tables[0].Rows.Count == 0)
+                {
+                    sErrMsg = "鎵�閫夎皟鍑轰粨搴撲笉灞炰簬璇ヨ皟鍑虹粍缁囷紒";
+                    return false;
+                }
+                else if (HSCSPID == 0 && DBUtility.ClsPub.isBool(dsSCWH.Tables[0].Rows[0]["HSPFlag"]) == true)
+                {
+                    sErrMsg = "璋冨嚭浠撲綅娌℃湁閫夋嫨锛�";
+                    return false;
+                }
+            }
+
+            //鍒ゆ柇ERP搴撳瓨   搴撳瓨鎺у埗-ERP璐熷簱瀛樻帶鍒�
+            if (oSystemParameterMain.WMS_ERPStockCtl == "Y")
+            {
+                //鍒ゆ柇ERP搴撳瓨   杩斿洖ERP搴撳瓨鏁伴噺
+                DataSet DsERP = oCn.RunProcReturn("exec h_p_IF_CheckQtyByERPICInventory " + HBillID.ToString() + ",'" + HBillType + "','" + omodel_View.HBarCode + "'," + HSCWHID.ToString() + "," + HSCSPID.ToString() + "," + omodel_View.HMaterID.ToString() + "," + omodel_View.HAuxPropID.ToString() + ",'" + omodel_View.HBatchNo + "'," + sRelQty.ToString() + "," + HStockOutOrgID.ToString(), "h_p_IF_CheckQtyByERPICInventory");
+                if (DsERP == null || DsERP.Tables[0].Rows.Count == 0)
+                {
+                    sErrMsg = "鍒ゆ柇ERP搴撳瓨锛屽彂鐢熼敊璇紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(DsERP.Tables[0].Rows[0][0]) == 0)
+                    {
+                        sERPQty = DBUtility.ClsPub.isDoule(DsERP.Tables[0].Rows[0]["HQty"]);
+                        sRelQty = sERPQty;
+                    }
+                    else
+                    {
+                        sErrMsg = DBUtility.ClsPub.isStrNull(DsERP.Tables[0].Rows[0]["HRemark"]);
+                        return false;
+                    }
+                }
+            }
+
+            if (sRelQty == 0)
+            {
+                sErrMsg = "鎵�鎵弿鏉$爜鏃犳潯鐮佸簱瀛樻垨瀵瑰簲鐗╂枡鏃燛RP搴撳瓨锛�";
+                return false;
+            }
+
+            if(HWhID ==HSCWHID && HSPID == HSCSPID)
+            {
+                sErrMsg = "璋冨叆浠撳簱銆佷粨浣嶄笉鑳戒笌璋冨嚭浠撳簱銆佷粨浣嶇浉鍚岋紒";
+                return false;
+            }
+
+            string sBillTypeOneScan = "";   //鏄惁鍚敤涓�娆℃壂鐮佹帶鍒讹紙'Y'涓哄惎鐢級
+            if (HBillType == "1207" && oSystemParameterMain.Kf_MoveStockBill_BillTypeOneScan == "Y")
+            {
+                //鐩存帴璋冩嫧鍗�
+                sBillTypeOneScan = "Y";
+            }
+            if (sBillTypeOneScan == "Y")
+            {
+                //涓�娆℃壂鐮佹帶鍒讹紝鍚屼竴鏉$爜銆佸悓涓�鍗曟嵁绫诲瀷锛屽湪WMS琛ㄥ拰TEMP琛ㄩ噷锛屽彧鍏佽杩涜涓�娆℃壂鐮�
+                DataSet ds = oCn.RunProcReturn("exec h_p_WMS_CheckBarCodeOneScan " + HBillID.ToString() + ",'" + omodel_View.HBarCode + "','" + HBillType + "'," + HWhID.ToString() + "," + HSPID.ToString() + "," + HSCWHID.ToString() + "," + HSCSPID.ToString() + ",'" + HMaker + "'", "h_p_WMS_CheckBarCodeOneScan");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 1)
+                    {
+                        sErrMsg = "瀵逛笉璧凤紝鎮ㄦ壂鎻忕殑鏉″舰鐮佸凡琚壂鎻忚繃锛屼笉绗﹀悎涓�娆℃壂鐮佺郴缁熷弬鏁扮殑瑕佹眰锛�";
+                        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 = HSourceBillType;
+            oMain.HRedBlueFlag = false;
+            oMain.HPieceQty = 1;
+            oMain.HSTOCKORGID = HStockOutOrgID;
+            oMain.HOWNERID = HStockInOrgID;
+
+            //鍏堣繘鍏堝嚭鎺у埗
+            if ((HBillType == "1207" && oSystemParameterMain.Kf_MoveStockBill_FIFOCtl == "Y")      //绯荤粺鍙傛暟  鐩存帴璋冩嫧鍗�-鍏堣繘鍏堝嚭鎺у埗
+                )
+            {
+                DataSet FIFO = oCn.RunProcReturn("exec h_p_Kf_ICInventory_FIFO_Tmp_BarCode " + HBillID.ToString() + ",'" + HBillType + "','" + oMain.HBatchNo + "','" + oMain.HBarCode + "'," + oMain.HQty.ToString(), "h_p_Kf_ICInventory_FIFO_Tmp_BarCode");
+                if (FIFO == null || FIFO.Tables[0].Rows.Count == 0)
+                {
+                    sErrMsg = "璇锋牴鎹厛杩涘厛鍑烘竻鍗曟壂鐮侊紒";
+                    return false;
+                }
+                else
+                {
+                    oMain.HWhID = DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0]["HWHID"]);
+                    oMain.HStockPlaceID = DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0]["HSPID"]);
+                    oMain.HQty = DBUtility.ClsPub.isDoule(FIFO.Tables[0].Rows[0]["HQty"]);
+                    oMain.HQtyMust = DBUtility.ClsPub.isDoule(FIFO.Tables[0].Rows[0]["HSumQtyMust"]);
+                    oMain.HSourceInterID = DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0]["HSourceInterID"]);
+                    oMain.HSourceEntryID = DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0]["HSourceEntryID"]);
+                    oMain.HSourceBillNo = DBUtility.ClsPub.isStrNull(FIFO.Tables[0].Rows[0]["HSourceBillNo"]);
+                    oMain.HSourceBillType = DBUtility.ClsPub.isStrNull(FIFO.Tables[0].Rows[0]["HSourceBillType"]);
+                }
+            }
+
+            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.HOWNERID.ToString() + "," + oMain.HSTOCKORGID.ToString() + ",'','',0" +
+                ",0,0,'" + oMain.HCusBarCode + "',0)");
+            return true;
+        }
+
+        #endregion
+
+
+
+        #endregion
+
+
+            //        #region 鎵弿鐗╂枡鏉$爜璋冪敤鏂规硶
+
+            //        #region 鎵弿鐗╂枡鏉$爜
+
+            //        [WebMethod]
+            //        public Model.ClsKf_ICStockBill_WMS get_MaterBarCode_New(string HBarCode, Int64 HInterID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Int64 HSCWhID, Int64 HSCSPID, Double HQty, bool HRedBlueFlag, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HStockOrgID, Int64 HStockOutOrgID, string HExpressNumber, ref string sHSourceBillNo, ref string sHSourceBillType, ref long sHSupID, ref string sHSupName, ref long sHDeptID, ref string sHDeptName, ref string sErrMsg)
+            //        {
+            //            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            //            Model.ClsKf_ICStockBill_WMS model = new Model.ClsKf_ICStockBill_WMS();
+            //            //鑾峰彇绯荤粺鍙傛暟
+            //            Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+            //            if (oSystemParameter.ShowBill(ref sErrMsg) == false)
+            //            {
+            //                sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+            //                return null;
+            //            }
+            //            //鍒ゆ柇鏉$爜鏄惁涓虹┖
+            //            if (HBarCode.Trim() == "")
+            //            {
+            //                sErrMsg = "鏉$爜涓嶈兘涓虹┖锛岃閲嶆柊鎵弿鐗╂枡鏉$爜锛�";
+            //                return null;
+            //            }
+            //            //鍒ゆ柇鏉$爜鏄惁鍚壒娈婄鍙� # 锛屽鏋滃惈鏈夊垯鎷嗗垎锛屾埅鍙� # 鍓嶅瓧绗︿覆
+            //            string[] NewBarCode;
+            //            if (HBarCode.CompareTo("#") > 0)
+            //            {
+            //                NewBarCode = HBarCode.Split(Convert.ToChar("#"));
+            //                HBarCode = NewBarCode[0];
+            //            }
+            //            //鑾峰彇鏉$爜妗f淇℃伅
+            //            Model.ClsGy_BarCodeBill_WMS_Model_View oBar = new Model.ClsGy_BarCodeBill_WMS_Model_View();
+            //            DataSet ds1 = oCn.RunProcReturn("Select * from h_v_Gy_BarCodeBill_New Where HBarCode='" + HBarCode + "'", "h_v_Gy_BarCodeBill_New");
+            //            if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
+            //            {
+            //                sErrMsg = "鎵�鎵弿鐗╂枡鏉$爜锛�" + HBarCode + " 鏃犳晥锛屼笉瀛樺湪鏉$爜妗f涓紒";
+            //                return null;
+            //            }
+            //            else
+            //            {
+            //                oBar.HItemID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HItemID"]);
+            //                oBar.HBarCode = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HBarCode"]);
+            //                oBar.HBarCodeType = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HBarCodeType"]);
+            //                oBar.HStopflag = DBUtility.ClsPub.isBool(ds1.Tables[0].Rows[0]["HStopflag"]);
+            //                oBar.HRemark = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]);
+            //                oBar.HMaterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HMaterID"]);
+            //                oBar.HUnitID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HUnitID"]);
+            //                oBar.HAuxPropID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HAuxPropID"]);
+            //                oBar.HBatchNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HBatchNo"]);
+            //                oBar.HQty = DBUtility.ClsPub.isDoule(ds1.Tables[0].Rows[0]["HQty"]);
+            //                oBar.HSourceInterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSourceInterID"]);
+            //                oBar.HSourceEntryID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSourceEntryID"]);
+            //                oBar.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillNo"]);
+            //                oBar.HSourceBillType = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillType"]);
+            //                oBar.HMTONo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HMTONo"]);
+            //                oBar.HSTOCKORGID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSTOCKORGID"]);
+            //                oBar.HOWNERID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HOWNERID"]);
+            //            }
+            //            //鍒ゆ柇鏉$爜鏄惁鍙敤
+            //            if (oBar.HStopflag)
+            //            {
+            //                sErrMsg = "鎵�鎵弿鐗╂枡鏉$爜锛�" + HBarCode + " 宸蹭綔搴燂紝涓嶅厑璁歌繘琛屾壂鐮佹搷浣滐紒";
+            //                return null;
+            //            }
+            //            //鍏ュ簱銆佹眹鎶ユā鍧楋紝鏈夋簮鍗曟潯鐮� 涓� 鏉$爜绫诲瀷涓哄敮涓�鏉$爜锛屾壂鎻忕墿鏂欐潯鐮佹椂鑷姩甯﹀嚭婧愬崟淇℃伅
+            //            //閲囪喘鍏ュ簱锛�1201锛夈�佷骇鍝佸叆搴擄紙1202锛夈�佸澶栧叆搴擄紙1210锛夈�佺敓浜ф眹鎶ワ紙3711锛�
+            //            if (oBar.HBarCodeType == "鍞竴鏉$爜" && oBar.HSourceBillNo == "" && HSourceBillType != "-1"
+            //                && (HBillType == "1201" || HBillType == "1202" || HBillType == "1210" || HBillType == "3711"))
+            //            {
+            //                Int64 HAccessFlag = 1;   //鏄惁鐗╂枡鏉$爜甯﹀嚭婧愬崟淇℃伅鏍囧織锛�0涓虹洿鎺ユ壂婧愬崟鏉$爜锛�1涓虹墿鏂欐潯鐮佸甫鍑烘簮鍗曚俊鎭級
+            //                model = getSourceBill_New(HInterID, HBillNo, HBillType, oBar.HSourceBillNo, oBar.HSourceBillType, HRedBlueFlag, HMaker, 0, 0, 0, HStockOrgID, HAccessFlag, SourceFlag, oSystemParameter.omodel, ref sErrMsg);
+            //                if (model == null)
+            //                {
+            //                    sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛涙壂鎻忔簮鍗曞け璐ワ紒" + sErrMsg;
+            //                    return null;
+            //                }
+            //                else
+            //                {
+            //                    HSourceBillType = model.HSourceBillType;
+            //                    SourceFlag = true;
+            //                    return model;
+            //                }
+            //            }
+
+            //            //1銆侀娆℃壂鐮侀槻涓插崟鍒ゆ柇锛� 2銆佹簮鍗曠被鍨嬫槸鍚﹀湪婧愬崟鍒楄〃閲屽垽鏂紱3銆佸敮涓�鏉$爜鏄惁瀛樺湪鐩稿悓鏉$爜鍒ゆ柇锛� 4銆佹湁婧愬崟锛岀墿鏂欐槸鍚﹀湪婧愬崟涓垽鏂�
+            //            DataSet ds2 = oCn.RunProcReturn("exec h_p_WMS_GetSourceInterID_AddBarCode " + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HBarCode + "','" + HSourceBillType + "'," + DBUtility.ClsPub.BoolToString(SourceFlag) + ",'" + oSystemParameter.omodel.WMS_BarCodeMustSameSourceBill + "'," + HStockOrgID.ToString(), "h_p_WMS_GetSourceInterID_AddBarCode");
+            //            if (ds2 == null || ds2.Tables[0].Rows.Count == 0)
+            //            {
+            //                sErrMsg = "鎵弿鐗╂枡鏉$爜锛屽垽鏂潯鐮佹槸鍚﹀湪婧愬崟涓椂鍙戠敓閿欒锛�";
+            //                return null;
+            //            }
+            //            else
+            //            {
+            //                if (DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0][0]) == 1)
+            //                {
+            //                    sErrMsg = DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HRemark"]);
+            //                    return null;
+            //                }
+            //                else
+            //                {
+            //                    oBar.HSourceInterID = DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0]["HSourceInterID"]);
+            //                    oBar.HSourceEntryID = DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0]["HSourceEntryID"]);
+            //                    oBar.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HSourceBillNo"]);
+            //                    oBar.HSourceBillType = DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HSourceBillType"]);
+            //                    oBar.HMaterID = DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0]["HMaterID"]);
+            //                    oBar.HinitQty = DBUtility.ClsPub.isDoule(ds2.Tables[0].Rows[0]["HQtyMust"]);    //鍓╀綑鏈壂鐮佹暟閲忥紙搴旀敹鏁伴噺-鎵爜鎬绘暟閲� 鎴�0锛夛紝闈炲敮涓�鏉$爜鐢ㄥ埌
+            //                }
+            //            }
+
+            //            //鑾峰彇銆佸垽鏂粨搴撱�佷粨浣�
+            //            DataSet ds3 = oCn.RunProcReturn("exec h_p_WMS_GetWHIDandSPID_AddBarCode " + HInterID.ToString() + ",'" + HBillType + "'," + HWhID + "," + HSPID + "," + HSCWhID + "," + HSCSPID + "," + oBar.HSourceInterID + "," + oBar.HSourceEntryID + "," + oBar.HMaterID + "," + HStockOrgID + "," + HStockOutOrgID + ",'" + oBar.HBarCodeType + "','" + oSystemParameter.omodel.WMS_WMSStockCtl + "'", "h_p_WMS_GetWHIDandSPID_AddBarCode");
+            //            if (ds3 == null || ds3.Tables[0].Rows.Count == 0)
+            //            {
+            //                sErrMsg = "鎵弿鐗╂枡鏉$爜锛屽垽鏂粨搴撱�佷粨浣嶅�兼椂鍙戠敓閿欒锛�";
+            //                return null;
+            //            }
+            //            else
+            //            {
+            //                if (DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0][0]) == 1)
+            //                {
+            //                    sErrMsg = DBUtility.ClsPub.isStrNull(ds3.Tables[0].Rows[0]["HRemark"]);
+            //                    return null;
+            //                }
+            //                else
+            //                {
+            //                    model.HWhID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HWHID"]);
+            //                    model.HSPID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HSPID"]);
+            //                    model.HSCWhID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HSCWHID"]);
+            //                    model.HSCSPID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HSCSPID"]);
+            //                }
+            //            }
+
+            //            //鍒濇鑾峰彇鏉$爜鏁伴噺
+            //            if (oBar.HBarCodeType == "鍞竴鏉$爜")
+            //            {
+            //                if (HQty > 0 && oBar.HQty > HQty)   //0<鐣岄潰閫掑叆鏁伴噺<鏉$爜妗f鏁伴噺锛屽彇閫掑叆鏁伴噺
+            //                {
+            //                    oBar.HQty = HQty;
+            //                }
+            //            }
+            //            else
+            //            {
+            //                if (HQty > 0)               //鐣岄潰閫掑叆鏁伴噺>0锛屽彇閫掑叆鏁伴噺
+            //                {
+            //                    oBar.HQty = HQty;
+            //                }
+            //                else if (oBar.HinitQty > 0) //鐣岄潰閫掑叆鏁伴噺<0锛屾簮鍗曞墿浣欐湭鎵爜鏁伴噺>0锛屽彇婧愬崟鍓╀綑鏈壂鐮佹暟閲�
+            //                {
+            //                    oBar.HQty = oBar.HinitQty;
+            //                }
+            //            }
+
+            //            //鐢熶骇棰嗘枡锛�1204锛夈�侀攢鍞嚭搴擄紙1205锛夈�佸叾浠栧嚭搴撹摑瀛楋紙1206锛夈�佸澶栧嚭搴擄紙1211锛�
+            //            //澶栬喘閫�鏂欙紙1239锛夈�佷骇鍝侀��搴擄紙1245锛夈�佸叾浠栧叆搴撶孩瀛楋紙1248锛夈�佸澶栭��搴擄紙1246锛�
+            //            //鐢熶骇琛ユ枡锛�1254锛�
+            //            if (HBillType == "1204" || HBillType == "1205" || HBillType == "1206" || HBillType == "1211"
+            //                || HBillType == "1239" || HBillType == "1245" || HBillType == "1248" || HBillType == "1246"
+            //                || HBillType == "1254")
+            //            {
+            //                if (oSystemParameter.omodel.WMS_ERPStockCtl == "Y")
+            //                {
+
+            //                }
 
 
 
 
 
 
-        //                //闈炲敮涓�鏉$爜鎵弿鏃跺垽鏂粨搴撲粨浣嶆槸鍚﹀凡閫夋嫨
-        //                if (dal.omodel_View.HBarCodeType != "鍞竴鏉$爜")
-        //                {
-        //                    if (oSystemParameter.omodel.WMS_ERPStockCtl == "N")
-        //                    {
+            //                //闈炲敮涓�鏉$爜鎵弿鏃跺垽鏂粨搴撲粨浣嶆槸鍚﹀凡閫夋嫨
+            //                if (dal.omodel_View.HBarCodeType != "鍞竴鏉$爜")
+            //                {
+            //                    if (oSystemParameter.omodel.WMS_ERPStockCtl == "N")
+            //                    {
 
-        //                    }
-        //                    else
-        //                    {
-        //                        //鍒ゆ柇ERP搴撳瓨   杩斿洖ERP搴撳瓨鏁伴噺
-        //                        DataSet ds6 = oCn.RunProcReturn("exec h_p_IF_CheckQtyByERPICInventory " + HBillID.ToString() + ",'" + HBillType + "','" + sBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString() + "," + dal.omodel_View.HMaterID.ToString() + "," + dal.omodel_View.HAuxPropID.ToString() + ",'" + dal.omodel_View.HBatchNo + "'," + sRelQty.ToString() + "," + HOWNERID.ToString(), "h_p_IF_CheckQtyByERPICInventory");
-        //                        if (ds6 == null || ds6.Tables[0].Rows.Count == 0)
-        //                        {
-        //                            sErrMsg = "鍒ゆ柇ERP搴撳瓨锛屾湭鐭ラ敊璇紒";
-        //                            return false;
-        //                        }
-        //                        else
-        //                        {
-        //                            if (DBUtility.ClsPub.isLong(ds6.Tables[0].Rows[0][0]) == 0)
-        //                            {
-        //                                dal.omodel_View.HMaterID = DBUtility.ClsPub.isLong(ds6.Tables[0].Rows[0]["HMaterID"]);
-        //                                HQty = DBUtility.ClsPub.isDoule(ds6.Tables[0].Rows[0]["HQty"]);
-        //                            }
-        //                            else
-        //                            {
-        //                                sErrMsg = DBUtility.ClsPub.isStrNull(ds6.Tables[0].Rows[0]["HRemark"]);
-        //                                return false;
-        //                            }
-        //                        }
-        //                    }
-        //                }
-        //                else
-        //                {
-        //                    //鍒ゆ柇鏉$爜搴撳瓨   杩斿洖搴撳瓨鏁伴噺 浠撳簱 浠撲綅
-        //                    DAL.ClsKF_PonderationBillMain_Temp_View Tempdal = new DAL.ClsKF_PonderationBillMain_Temp_View();
-        //                    if (Tempdal.CheckQtyByBarCode(HBillID, HBillType, sBarCode, ref HWhID, ref HSPID, sRelQty, ref sRelQty))
-        //                    {
+            //                    }
+            //                    else
+            //                    {
+            //                        //鍒ゆ柇ERP搴撳瓨   杩斿洖ERP搴撳瓨鏁伴噺
+            //                        DataSet ds6 = oCn.RunProcReturn("exec h_p_IF_CheckQtyByERPICInventory " + HBillID.ToString() + ",'" + HBillType + "','" + sBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString() + "," + dal.omodel_View.HMaterID.ToString() + "," + dal.omodel_View.HAuxPropID.ToString() + ",'" + dal.omodel_View.HBatchNo + "'," + sRelQty.ToString() + "," + HOWNERID.ToString(), "h_p_IF_CheckQtyByERPICInventory");
+            //                        if (ds6 == null || ds6.Tables[0].Rows.Count == 0)
+            //                        {
+            //                            sErrMsg = "鍒ゆ柇ERP搴撳瓨锛屾湭鐭ラ敊璇紒";
+            //                            return false;
+            //                        }
+            //                        else
+            //                        {
+            //                            if (DBUtility.ClsPub.isLong(ds6.Tables[0].Rows[0][0]) == 0)
+            //                            {
+            //                                dal.omodel_View.HMaterID = DBUtility.ClsPub.isLong(ds6.Tables[0].Rows[0]["HMaterID"]);
+            //                                HQty = DBUtility.ClsPub.isDoule(ds6.Tables[0].Rows[0]["HQty"]);
+            //                            }
+            //                            else
+            //                            {
+            //                                sErrMsg = DBUtility.ClsPub.isStrNull(ds6.Tables[0].Rows[0]["HRemark"]);
+            //                                return false;
+            //                            }
+            //                        }
+            //                    }
+            //                }
+            //                else
+            //                {
+            //                    //鍒ゆ柇鏉$爜搴撳瓨   杩斿洖搴撳瓨鏁伴噺 浠撳簱 浠撲綅
+            //                    DAL.ClsKF_PonderationBillMain_Temp_View Tempdal = new DAL.ClsKF_PonderationBillMain_Temp_View();
+            //                    if (Tempdal.CheckQtyByBarCode(HBillID, HBillType, sBarCode, ref HWhID, ref HSPID, sRelQty, ref sRelQty))
+            //                    {
 
-        //                    }
-        //                    else
-        //                    {
-        //                        if (sRelQty == 0)
-        //                        {
-        //                            sErrMsg = "鏃犲簱瀛橈紒";
-        //                            return false;
-        //                        }
-        //                        else
-        //                        {
-        //                            sErrMsg = "搴撳瓨涓嶈冻锛屽凡鑾峰彇瀹為檯搴撳瓨鏁伴噺锛�";
-        //                        }
-        //                    }
-        //                }
-        //            }
-        //            //閲囪喘鍏ュ簱锛�1201锛夈�佷骇鍝佸叆搴擄紙1202锛夈�佸叾浠栧叆搴撹摑瀛楋紙1203锛夈�佸澶栧叆搴擄紙1210锛�
-        //            //鐢熶骇閫�鏂欙紙1244锛夈�侀攢鍞��搴擄紙1247锛夈�佸叾浠栧嚭搴撶孩瀛楋紙1249锛夈�佸澶栭��鏂欙紙1238锛�
-        //            else
-        //            {
-        //                //鍒ゆ柇骞惰幏鍙� 浠撳簱 浠撲綅淇℃伅
-        //                DataSet ds4 = oCn.RunProcReturn("exec h_p_WMS_GetBillWHID " + HBillID.ToString() + ",'" + HBillType + "','" + sBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString(), "h_p_WMS_GetBillWHID");
-        //                if (ds4 == null || ds4.Tables[0].Rows.Count == 0)
-        //                {
-        //                    sErrMsg = "鍒ゆ柇骞惰幏鍙栦粨搴撲粨浣嶄俊鎭紝鏈煡閿欒锛�";
-        //                    return false;
-        //                }
-        //                else
-        //                {
-        //                    if (DBUtility.ClsPub.isLong(ds4.Tables[0].Rows[0][0]) == 0)
-        //                    {
-        //                        HWhID = DBUtility.ClsPub.isLong(ds4.Tables[0].Rows[0]["HWHID"]);
-        //                        HSPID = DBUtility.ClsPub.isLong(ds4.Tables[0].Rows[0]["HSPID"]);
-        //                    }
-        //                    else
-        //                    {
-        //                        sErrMsg = DBUtility.ClsPub.isStrNull(ds4.Tables[0].Rows[0]["HRemark"]);
-        //                        return false;
-        //                    }
-        //                }
-        //                //鍒ゆ柇鏉$爜鎵弿鏁伴噺   杩斿洖鍓╀綑鏈壂鎻忔暟閲�
-        //                if (tem.IsBarCode_New(sBarCode, HBillType, HRedBlueFlag, ref sRelQty, ref sErrMsg))
-        //                {
+            //                    }
+            //                    else
+            //                    {
+            //                        if (sRelQty == 0)
+            //                        {
+            //                            sErrMsg = "鏃犲簱瀛橈紒";
+            //                            return false;
+            //                        }
+            //                        else
+            //                        {
+            //                            sErrMsg = "搴撳瓨涓嶈冻锛屽凡鑾峰彇瀹為檯搴撳瓨鏁伴噺锛�";
+            //                        }
+            //                    }
+            //                }
+            //            }
+            //            //閲囪喘鍏ュ簱锛�1201锛夈�佷骇鍝佸叆搴擄紙1202锛夈�佸叾浠栧叆搴撹摑瀛楋紙1203锛夈�佸澶栧叆搴擄紙1210锛�
+            //            //鐢熶骇閫�鏂欙紙1244锛夈�侀攢鍞��搴擄紙1247锛夈�佸叾浠栧嚭搴撶孩瀛楋紙1249锛夈�佸澶栭��鏂欙紙1238锛�
+            //            else
+            //            {
+            //                //鍒ゆ柇骞惰幏鍙� 浠撳簱 浠撲綅淇℃伅
+            //                DataSet ds4 = oCn.RunProcReturn("exec h_p_WMS_GetBillWHID " + HBillID.ToString() + ",'" + HBillType + "','" + sBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString(), "h_p_WMS_GetBillWHID");
+            //                if (ds4 == null || ds4.Tables[0].Rows.Count == 0)
+            //                {
+            //                    sErrMsg = "鍒ゆ柇骞惰幏鍙栦粨搴撲粨浣嶄俊鎭紝鏈煡閿欒锛�";
+            //                    return false;
+            //                }
+            //                else
+            //                {
+            //                    if (DBUtility.ClsPub.isLong(ds4.Tables[0].Rows[0][0]) == 0)
+            //                    {
+            //                        HWhID = DBUtility.ClsPub.isLong(ds4.Tables[0].Rows[0]["HWHID"]);
+            //                        HSPID = DBUtility.ClsPub.isLong(ds4.Tables[0].Rows[0]["HSPID"]);
+            //                    }
+            //                    else
+            //                    {
+            //                        sErrMsg = DBUtility.ClsPub.isStrNull(ds4.Tables[0].Rows[0]["HRemark"]);
+            //                        return false;
+            //                    }
+            //                }
+            //                //鍒ゆ柇鏉$爜鎵弿鏁伴噺   杩斿洖鍓╀綑鏈壂鎻忔暟閲�
+            //                if (tem.IsBarCode_New(sBarCode, HBillType, HRedBlueFlag, ref sRelQty, ref sErrMsg))
+            //                {
 
-        //                }
-        //                else
-        //                {
-        //                    sErrMsg = sErrMsg;
-        //                    return false;
-        //                }
-        //            }
-        //        }
+            //                }
+            //                else
+            //                {
+            //                    sErrMsg = sErrMsg;
+            //                    return false;
+            //                }
+            //            }
+            //        }
 
-        //            if (HExpressNumber == "宸ュ簭姹囨姤杞Щ鍗�")
-        //            {
-        //                model.HSubBillType = "1270";
-        //                HExpressNumber = "";
-        //            }
-        //    model.HInterID = HBillID;
-        //            model.HBillNo = HBillNo;
-        //            model.HBillType = HBillType;
-        //            model.HMaker = HMaker;
-        //            //
-        //            model.HMaterID = dal.omodel_View.HMaterID;
-        //            model.HAuxPropID = dal.omodel_View.HAuxPropID;
-        //            model.HErpClsID = dal.omodel_View.HErpClsID;
-        //            model.HQty = sRelQty;
-        //            model.HQtyMust = dal.omodel_View.HinitQty;
-        //            model.HBarCode = dal.omodel_View.HBarCode;
-        //            model.HBatchNo = dal.omodel_View.HBatchNo;
-        //            model.HMTONo = dal.omodel_View.HMTONo;
+            //            if (HExpressNumber == "宸ュ簭姹囨姤杞Щ鍗�")
+            //            {
+            //                model.HSubBillType = "1270";
+            //                HExpressNumber = "";
+            //            }
+            //    model.HInterID = HBillID;
+            //            model.HBillNo = HBillNo;
+            //            model.HBillType = HBillType;
+            //            model.HMaker = HMaker;
+            //            //
+            //            model.HMaterID = dal.omodel_View.HMaterID;
+            //            model.HAuxPropID = dal.omodel_View.HAuxPropID;
+            //            model.HErpClsID = dal.omodel_View.HErpClsID;
+            //            model.HQty = sRelQty;
+            //            model.HQtyMust = dal.omodel_View.HinitQty;
+            //            model.HBarCode = dal.omodel_View.HBarCode;
+            //            model.HBatchNo = dal.omodel_View.HBatchNo;
+            //            model.HMTONo = dal.omodel_View.HMTONo;
 
-        //            model.HWhID = HWhID;
-        //            model.HStockPlaceID = HSPID;
-        //            model.HSourceInterID = dal.omodel_View.HSourceInterID;
-        //            model.HSourceEntryID = dal.omodel_View.HSourceEntryID;
-        //            model.HSourceBillNo = dal.omodel_View.HSourceBillNo;
-        //            model.HSourceBillType = HSourceBillType;
-        //            model.HRedBlueFlag = HRedBlueFlag;
-        //            model.HPieceQty = 1;
-        //            model.HSTOCKORGID = HOWNERID;
-        //            model.HOWNERID = HOWNERID;
-        //            model.HCusBarCode = HExpressNumber;
+            //            model.HWhID = HWhID;
+            //            model.HStockPlaceID = HSPID;
+            //            model.HSourceInterID = dal.omodel_View.HSourceInterID;
+            //            model.HSourceEntryID = dal.omodel_View.HSourceEntryID;
+            //            model.HSourceBillNo = dal.omodel_View.HSourceBillNo;
+            //            model.HSourceBillType = HSourceBillType;
+            //            model.HRedBlueFlag = HRedBlueFlag;
+            //            model.HPieceQty = 1;
+            //            model.HSTOCKORGID = HOWNERID;
+            //            model.HOWNERID = HOWNERID;
+            //            model.HCusBarCode = HExpressNumber;
 
-        //            ////鑾峰彇绯荤粺鍙傛暟
-        //            //Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
-        //            //if (oSystemParameter.ShowBill(ref sErrMsg) == false)
-        //            //{
-        //            //    sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
-        //            //    return false;
-        //            //}
-        //            //鐢熶骇棰嗘枡鍗�-鍏堣繘鍏堝嚭鎺у埗
-        //            if (HBillType == "1204" && oSystemParameter.omodel.Kf_MateOutBill_FIFOCtl == "Y") //绯荤粺鍙傛暟  鐢熶骇棰嗘枡鍗�-鍏堣繘鍏堝嚭鎺у埗
-        //            {
-        //                DataSet FIFO = oCn.RunProcReturn("exec h_p_Kf_ICInventory_FIFO_Tmp_BarCode " + HBillID.ToString() + ",'" + HBillType + "','" + model.HBatchNo + "','" + model.HBarCode + "'," + model.HQty.ToString(), "h_p_Kf_ICInventory_FIFO_Tmp_BarCode");
-        //                if (FIFO == null || FIFO.Tables[0].Rows.Count == 0)
-        //                {
-        //                    sErrMsg = "璇锋牴鎹厛杩涘厛鍑烘竻鍗曟壂鐮侊紒";
-        //                    return false;
-        //                }
-        //                else
-        //{
-        //    model.HWhID = DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0]["HWHID"]);
-        //    model.HStockPlaceID = DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0]["HSPID"]);
-        //    model.HQty = DBUtility.ClsPub.isDoule(FIFO.Tables[0].Rows[0]["HQty"]);
-        //    model.HQtyMust = DBUtility.ClsPub.isDoule(FIFO.Tables[0].Rows[0]["HSumQtyMust"]);
-        //    model.HSourceInterID = DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0]["HSourceInterID"]);
-        //    model.HSourceEntryID = DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0]["HSourceEntryID"]);
-        //    model.HSourceBillNo = DBUtility.ClsPub.isStrNull(FIFO.Tables[0].Rows[0]["HSourceBillNo"]);
-        //    model.HSourceBillType = DBUtility.ClsPub.isStrNull(FIFO.Tables[0].Rows[0]["HSourceBillType"]);
-        //}
-        //            }
+            //            ////鑾峰彇绯荤粺鍙傛暟
+            //            //Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+            //            //if (oSystemParameter.ShowBill(ref sErrMsg) == false)
+            //            //{
+            //            //    sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+            //            //    return false;
+            //            //}
+            //            //鐢熶骇棰嗘枡鍗�-鍏堣繘鍏堝嚭鎺у埗
+            //            if (HBillType == "1204" && oSystemParameter.omodel.Kf_MateOutBill_FIFOCtl == "Y") //绯荤粺鍙傛暟  鐢熶骇棰嗘枡鍗�-鍏堣繘鍏堝嚭鎺у埗
+            //            {
+            //                DataSet FIFO = oCn.RunProcReturn("exec h_p_Kf_ICInventory_FIFO_Tmp_BarCode " + HBillID.ToString() + ",'" + HBillType + "','" + model.HBatchNo + "','" + model.HBarCode + "'," + model.HQty.ToString(), "h_p_Kf_ICInventory_FIFO_Tmp_BarCode");
+            //                if (FIFO == null || FIFO.Tables[0].Rows.Count == 0)
+            //                {
+            //                    sErrMsg = "璇锋牴鎹厛杩涘厛鍑烘竻鍗曟壂鐮侊紒";
+            //                    return false;
+            //                }
+            //                else
+            //{
+            //    model.HWhID = DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0]["HWHID"]);
+            //    model.HStockPlaceID = DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0]["HSPID"]);
+            //    model.HQty = DBUtility.ClsPub.isDoule(FIFO.Tables[0].Rows[0]["HQty"]);
+            //    model.HQtyMust = DBUtility.ClsPub.isDoule(FIFO.Tables[0].Rows[0]["HSumQtyMust"]);
+            //    model.HSourceInterID = DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0]["HSourceInterID"]);
+            //    model.HSourceEntryID = DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0]["HSourceEntryID"]);
+            //    model.HSourceBillNo = DBUtility.ClsPub.isStrNull(FIFO.Tables[0].Rows[0]["HSourceBillNo"]);
+            //    model.HSourceBillType = DBUtility.ClsPub.isStrNull(FIFO.Tables[0].Rows[0]["HSourceBillType"]);
+            //}
+            //            }
 
-        //            //鐗╂枡鏉$爜鍐欏叆涓存椂琛ㄦ椂锛屽垽鏂粨搴撲粨浣嶆槸鍚︽纭�
-        //            DataSet ds5 = oCn.RunProcReturn("exec h_p_WMS_CheckWHandSP " + model.HWhID.ToString() + "," + model.HStockPlaceID.ToString(), "h_p_WMS_CheckWHandSP");
-        //if (ds5 == null || ds5.Tables[0].Rows.Count == 0)
-        //{
-        //    sErrMsg = "鎵弿鐗╂枡鏉$爜瀛樺叆涓存椂琛ㄦ椂鍒ゆ柇浠撳簱浠撲綅鏄惁姝g‘,鏈煡閿欒锛�";
-        //    return false;
-        //}
-        //else
-        //{
-        //    if (DBUtility.ClsPub.isLong(ds5.Tables[0].Rows[0][0]) == 1)
-        //    {
-        //        sErrMsg = DBUtility.ClsPub.isStrNull(ds5.Tables[0].Rows[0]["HRemark"]);
-        //        return false;
-        //    }
-        //}
+            //            //鐗╂枡鏉$爜鍐欏叆涓存椂琛ㄦ椂锛屽垽鏂粨搴撲粨浣嶆槸鍚︽纭�
+            //            DataSet ds5 = oCn.RunProcReturn("exec h_p_WMS_CheckWHandSP " + model.HWhID.ToString() + "," + model.HStockPlaceID.ToString(), "h_p_WMS_CheckWHandSP");
+            //if (ds5 == null || ds5.Tables[0].Rows.Count == 0)
+            //{
+            //    sErrMsg = "鎵弿鐗╂枡鏉$爜瀛樺叆涓存椂琛ㄦ椂鍒ゆ柇浠撳簱浠撲綅鏄惁姝g‘,鏈煡閿欒锛�";
+            //    return false;
+            //}
+            //else
+            //{
+            //    if (DBUtility.ClsPub.isLong(ds5.Tables[0].Rows[0][0]) == 1)
+            //    {
+            //        sErrMsg = DBUtility.ClsPub.isStrNull(ds5.Tables[0].Rows[0]["HRemark"]);
+            //        return false;
+            //    }
+            //}
 
-        ////灏嗙墿鏂欐潯鐮佷俊鎭啓鍏ュ嚭鍏ュ簱鏉$爜涓存椂琛�
-        //if (set_SavePonderationBillMain_Temp_Select_Qty(model, HQty, ref sErrMsg))
-        //{
+            ////灏嗙墿鏂欐潯鐮佷俊鎭啓鍏ュ嚭鍏ュ簱鏉$爜涓存椂琛�
+            //if (set_SavePonderationBillMain_Temp_Select_Qty(model, HQty, ref sErrMsg))
+            //{
 
-        //}
-        //else
-        //{
-        //    sErrMsg = "鎵弿澶辫触锛�" + sErrMsg;
-        //    return false;
-        //}
-        //return true;
-        //        }
+            //}
+            //else
+            //{
+            //    sErrMsg = "鎵弿澶辫触锛�" + sErrMsg;
+            //    return false;
+            //}
+            //return true;
+            //        }
 
-        //        #endregion
+            //        #endregion
 
 
-        //        #endregion
+            //        #endregion
 
 
         #region 妯″叿鏉$爜澶勭悊鏂规硶
 
         #region 鎵弿妯″叿婧愬崟鏉$爜
 
-        [WebMethod]
+            [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)
         {
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
@@ -35514,7 +39745,7 @@
             //鍒ゆ柇鏄惁鍚敤鍏堣繘鍏堝嚭绠$悊(Y,N)锛屾槸鍚﹀惎鐢ㄦ壂鐮佺畝鏄撴ā寮忥紝鍙樉绀哄凡鎵爜婧愬崟璁板綍(Y,N)
             if (HBillType == "1204")   //鐢熶骇棰嗘枡鍗�
             {
-                if (oSystemParameter.omodel.Kf_MateOutBill_FIFOCtl == "Y")   //鐢熶骇棰嗘枡鍗�-鍏堣繘鍏堝嚭鎺у埗
+                if (oSystemParameter.omodel.Kf_MateOutBill_FIFOCtl == "Y" || oSystemParameter.omodel.Kf_MateOutBill_FIFOList == "Y")   //鐢熶骇棰嗘枡鍗�-鍏堣繘鍏堝嚭鎺у埗
                 {
                     sFIFOCtl = "Y";
                 }
@@ -35523,11 +39754,15 @@
                     sSimpleMode = "Y";
                 }
             }
-            if (HBillType == "1205" && oSystemParameter.omodel.Kf_SellOutBill_FIFOCtl == "Y")   //閿�鍞嚭搴撳崟-鍏堣繘鍏堝嚭鎺у埗
+            else if (HBillType == "1205" && (oSystemParameter.omodel.Kf_SellOutBill_FIFOCtl == "Y" || oSystemParameter.omodel.Kf_SellOutBill_FIFOList == "Y"))   //閿�鍞嚭搴撳崟-鍏堣繘鍏堝嚭鎺у埗
             {
                 sFIFOCtl = "Y";
             }
-            if (HBillType == "1211" && oSystemParameter.omodel.Kf_EntrustOutBill_FIFOCtl == "Y")   //濮斿鍑哄簱鍗�-鍏堣繘鍏堝嚭鎺у埗
+            else if (HBillType == "1211" && oSystemParameter.omodel.Kf_EntrustOutBill_FIFOCtl == "Y")   //濮斿鍑哄簱鍗�-鍏堣繘鍏堝嚭鎺у埗
+            {
+                sFIFOCtl = "Y";
+            }
+            else if (HBillType == "1207" && (oSystemParameter.omodel.Kf_MoveStockBill_FIFOCtl == "Y" || oSystemParameter.omodel.Kf_MoveStockBill_FIFOList == "Y"))   //鐩存帴璋冩嫧鍗�-鍏堣繘鍏堝嚭鎺у埗
             {
                 sFIFOCtl = "Y";
             }
@@ -35772,6 +40007,7 @@
             if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
             {
                 oBar.HSPFlag = true;
+                oBar.HSCSPFlag = true;
                 return oBar;
             }
             else
@@ -35783,7 +40019,53 @@
                 oBar.HSPFlag = DBUtility.ClsPub.isBool(ds1.Tables[0].Rows[0]["HSPFlag"]);
                 oBar.HSPID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSPID"]);
                 oBar.HSPName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSPName"]);
+                oBar.HSCWhID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSCWHID"]);
+                oBar.HSCWhName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSCWHName"]);
+                oBar.HSCSPFlag = DBUtility.ClsPub.isBool(ds1.Tables[0].Rows[0]["HSCSPFlag"]);
+                oBar.HSCSPID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSCSPID"]);
+                oBar.HSCSPName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSCSPName"]);
+                oBar.HStockInOrgID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HStockInOrgID"]);
+                oBar.HStockInOrgName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HStockInOrgName"]);
+                oBar.HStockOutOrgID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HStockOutOrgID"]);
+                oBar.HStockOutOrgName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HStockOutOrgName"]);
                 return oBar;
+            }
+        }
+
+        #endregion
+
+        #region 鎵弿鍗曟嵁鏉$爜      *鏍¢獙妯″紡
+
+        [WebMethod]
+        public Model.ClsKf_ICStockBill_WMS get_BillBarCode_BillCheck(string HBillNo, string HBillType, string HMaker, Int64 HOWNERID, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
+            //灏嗗崟鎹俊鎭瓨鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
+            DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddBillBarCode_BillCheck '" + HBillNo + "','" + HBillType + "','" + HMaker + "'," + HOWNERID.ToString(), "h_p_WMS_AddBillBarCode_BillCheck");
+            if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
+            {
+                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛涘皢鍗曟嵁淇℃伅瀛樺叆鏉$爜鍑哄叆搴撲复鏃惰〃澶辫触锛�";
+                return null;
+            }
+            else
+            {
+                if (DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0][0]) == 0)
+                {
+                    oBar.HInterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HInterID"]);
+                    oBar.HBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HBillNo"]);
+                    oBar.HWhID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HWhID"]);
+                    oBar.HWhName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HWhName"]);
+                    oBar.HSPFlag = DBUtility.ClsPub.isBool(ds1.Tables[0].Rows[0]["HSPFlag"]);
+                    oBar.HSPID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSPID"]);
+                    oBar.HSPName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSPName"]);
+                    return oBar;
+                }
+                else
+                {
+                    sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛�" + DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]);
+                    return null;
+                }
             }
         }
 
@@ -35863,31 +40145,190 @@
 
         #endregion
 
-        #region 鎵弿鐗╂枡鏉$爜    *鏍¢獙妯″紡
+        #region 鎵弿鍗曟嵁鏉$爜      鐩存帴璋冩嫧    *鏍¢獙妯″紡
+
+        [WebMethod]
+        public Model.ClsKf_ICStockBill_WMS get_BillBarCode_MoveStockCheck(string HBillNo, string HBillType, string HMaker, Int64 HOWNERID, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
+            //灏嗗崟鎹俊鎭瓨鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
+            DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddBillBarCode_MoveStockCheck '" + HBillNo + "','" + HBillType + "','" + HMaker + "'," + HOWNERID.ToString(), "h_p_WMS_AddBillBarCode_MoveStockCheck");
+            if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
+            {
+                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛涘皢鍗曟嵁淇℃伅瀛樺叆鏉$爜鍑哄叆搴撲复鏃惰〃澶辫触锛�";
+                return null;
+            }
+            else
+            {
+                if (DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0][0]) == 0)
+                {
+                    oBar.HInterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HInterID"]);
+                    oBar.HBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HBillNo"]);
+                    oBar.HWhID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HWhID"]);
+                    oBar.HWhName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HWhName"]);
+                    oBar.HSPFlag = DBUtility.ClsPub.isBool(ds1.Tables[0].Rows[0]["HSPFlag"]);
+                    oBar.HSPID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSPID"]);
+                    oBar.HSPName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSPName"]);
+                    oBar.HSCWhID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSCWhID"]);
+                    oBar.HSCWhName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSCWhName"]);
+                    oBar.HSCSPFlag = DBUtility.ClsPub.isBool(ds1.Tables[0].Rows[0]["HSCSPFlag"]);
+                    oBar.HSCSPID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSCSPID"]);
+                    oBar.HSCSPName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSCSPName"]);
+                    oBar.HStockInOrgID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HStockInOrgID"]);
+                    oBar.HStockInOrgName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HStockInOrgName"]);
+                    oBar.HStockOutOrgID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HStockOutOrgID"]);
+                    oBar.HStockOutOrgName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HStockOutOrgName"]);
+                    return oBar;
+                }
+                else
+                {
+                    sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛�" + DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]);
+                    return null;
+                }
+            }
+        }
+
+        #endregion
+
+        #region 鎵弿鐗╂枡鏉$爜      鐩存帴璋冩嫧    *鏍¢獙妯″紡
+
+        [WebMethod]
+        public Model.ClsKf_ICStockBill_WMS get_BarCode_MoveStockBillCheck(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Int64 HSCWHID, Int64 HSCSPID, Double HQty, Int64 HOWNERID, ref string sErrMsg)
+        {
+            try
+            {
+                //鑾峰彇绯荤粺鍙傛暟
+                Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+                if (oSystemParameter.ShowBill(ref sErrMsg) == false)
+                {
+                    sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                    return null;
+                }
+
+                if (sBarCode.Trim() == "")
+                {
+                    sErrMsg = "鏉$爜涓嶈兘涓虹┖锛岃鎵弿鏉$爜锛�";
+                    return null;
+                }
+                else
+                {
+                    //鍒ゆ柇鏉$爜鏄惁鍚壒娈婄鍙� # 锛屽鏋滃惈鏈夊垯 鎷嗗垎
+                    string[] NewBarCode;
+                    if (sBarCode.Contains("#"))
+                    {
+                        NewBarCode = sBarCode.Split(Convert.ToChar("#"));
+                        sBarCode = NewBarCode[0];
+                        HQty = DBUtility.ClsPub.isDoule(NewBarCode[1]);
+                    }
+                }
+
+                SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
+                DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View();
+                if (dal.GetInfoByBarCode_View(sBarCode))
+                {
+                    if (dal.omodel_View.HStopflag)
+                    {
+                        sErrMsg = "鏉$爜宸茶绂佺敤锛屼笉鍏佽鎵弿锛�";
+                        return null;
+                    }
+                    else
+                    {
+                        //鍒ゆ柇鏉$爜绫诲瀷鏄惁涓烘墭鐩樻潯鐮侊紝濡傛灉鏄墭鐩樻潯鐮佸垯鍒嗚В骞舵ā鎷熸壂鐮�
+                        if (dal.omodel_View.HBarCodeType == "鎵樼洏鏉$爜")
+                        {
+                            //鍒嗚В鎵樼洏鏉$爜寰楀埌鏄庣粏鏉$爜淇℃伅鍐欏叆鏉$爜鍑哄叆搴撲复鏃惰〃
+                            DataSet dsTBarCode = oCn.RunProcReturn("exec h_p_WMS_BeforeCheckToTPBarCode '" + sBarCode + "'", "h_p_WMS_BeforeCheckToTPBarCode");
+                            if (dsTBarCode == null || dsTBarCode.Tables[0].Rows.Count == 0)
+                            {
+                                sErrMsg = "鍒嗚В鎵樼洏鏉$爜鍙戠敓閿欒锛�";
+                                return null;
+                            }
+                            else
+                            {
+                                if (DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[0][0]) == 1)
+                                {
+                                    sErrMsg = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[0]["HRemark"]);
+                                    return null;
+                                }
+                                else
+                                {
+                                    for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++)
+                                    {
+                                        dal.omodel_View.HBarCode = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCode"]);
+                                        dal.omodel_View.HBarCodeType = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCodeType"]);
+                                        dal.omodel_View.HMaterID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HMaterID"]);
+                                        dal.omodel_View.HAuxPropID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HAuxPropID"]);
+                                        dal.omodel_View.HBatchNo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBatchNo"]);
+                                        dal.omodel_View.HQty = DBUtility.ClsPub.isDoule(dsTBarCode.Tables[0].Rows[i]["HQty"]);
+                                        dal.omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HSourceInterID"]);
+                                        dal.omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HSourceEntryID"]);
+                                        dal.omodel_View.HSourceBillNo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HSourceBillNo"]);
+                                        dal.omodel_View.HMTONo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HMTONo"]);
+
+                                        //灏嗙墿鏂欐潯鐮佷俊鎭啓鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
+                                        if (!set_SavePonderationBillMain_Temp_BarCode_MoveStockBillCheck(dal.omodel_View, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HSCWHID, HSCSPID, HQty, HOWNERID, oSystemParameter.omodel, ref sErrMsg))
+                                        {
+                                            sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忕墿鏂欐潯鐮佸け璐ワ紒" + sErrMsg;
+                                            return null;
+                                        }
+                                    }
+                                }
+                                return oBar;
+                            }
+                        }
+                        else
+                        //鏉$爜绫诲瀷涓嶄负鎵樼洏鏉$爜
+                        {
+                            //灏嗙墿鏂欐潯鐮佷俊鎭啓鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
+                            if (!set_SavePonderationBillMain_Temp_BarCode_MoveStockBillCheck(dal.omodel_View, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HSCWHID, HSCSPID, HQty, HOWNERID, oSystemParameter.omodel, ref sErrMsg))
+                            {
+                                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忕墿鏂欐潯鐮佸け璐ワ紒" + sErrMsg;
+                                return null;
+                            }
+                            return oBar;
+                        }
+                    }
+                }
+                else
+                {
+                    sErrMsg = "鏉$爜妗f涓笉瀛樺湪璇ユ潯鐮侊紝璇风‘璁ゆ潯鐮佹槸鍚︽纭垨鏄惁宸茶鍒犻櫎锛�";
+                    return null;
+                }
+            }
+            catch (Exception e)
+            {
+                sErrMsg = e.Message + ";" + e.StackTrace;
+                return null;
+            }
+        }
 
         //鎵弿鐗╂枡鏉$爜  瀛樺叆鏉$爜鍑哄叆搴撲复鏃惰〃
         [WebMethod]
-        public bool set_SavePonderationBillMain_Temp_BarCode_BillCheck(Model.ClsGy_BarCodeBill_WMS_Model_View omodel_View, string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, Int64 HOWNERID, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        public bool set_SavePonderationBillMain_Temp_BarCode_MoveStockBillCheck(Model.ClsGy_BarCodeBill_WMS_Model_View omodel_View, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Int64 HSCWHID, Int64 HSCSPID, Double HQty, Int64 HOWNERID, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
             DAL.ClsKF_PonderationBillMain_Temp_Ctl tem = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
             Model.ClsKF_PonderationBillMain_Temp oMain = new Model.ClsKF_PonderationBillMain_Temp();
 
             double sRelQty = 0;
-            string sBillTypeOneScan = "";   //鏄惁鍚敤涓�娆℃壂鐮佹帶鍒讹紙'Y'涓哄惎鐢級
-            if (HBillType == "1206" && oSystemParameterMain.Kf_OtherOutBill_BillTypeOneScan == "Y")
+            string sWHSPCtl = "Y";   //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+            if (HBillType == "1207" && oSystemParameterMain.Kf_MoveStockBillCheck_WHSPCtl == "N")
             {
-                //鍏朵粬鍑哄簱鍗�
-                sBillTypeOneScan = "Y";
-            }
-            else if (HBillType == "1204" && oSystemParameterMain.Kf_MateOutBill_BillTypeOneScan == "Y")
-            {
-                //棰嗘枡鍑哄簱鍗�
-                sBillTypeOneScan = "Y";
+                //鐩存帴璋冩嫧鍗�
+                sWHSPCtl = "N";
             }
 
-            //鍒ゆ柇鏄惁瀛樺湪鐩稿悓鏉$爜锛屽垽鏂槸鍚﹀惎鐢ㄤ竴娆℃壂鐮佹帶鍒讹紝鍒ゆ柇鎵�鎵潯鐮佹槸鍚﹀湪鍗曟嵁涓�
-            DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_BillCheck '" + sBarCode + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID + "," + HSPID + ",'" + sBillTypeOneScan + "'", "h_p_WMS_AddBarCode_BillCheck");
+            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 = "鍒ゆ柇鎵�鎵潯鐮佹槸鍚﹀湪鍗曟嵁涓彂鐢熼敊璇紒";
@@ -35898,10 +40339,291 @@
                 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
+                {
+                    sErrMsg = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]);
+                    return false;
+                }
+            }
+
+            //鑾峰彇鎵爜鏁伴噺
+            if (omodel_View.HBarCodeType == "鍞竴鏉$爜")
+            {
+                if (HQty > 0 && omodel_View.HQty > HQty)
+                {
+                    sRelQty = HQty;
+                }
+                else
+                {
+                    sRelQty = omodel_View.HQty;
+                }
+
+                //鐩存帴璋冩嫧鏍¢獙锛屾牴鎹郴缁熷弬鏁帮細鐩存帴璋冩嫧鏍¢獙-搴旀敹鏁伴噺 鎺у埗鎵爜鏁伴噺鑳藉惁鍙秴鍗曟嵁鏁伴噺锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+                if (HBillType == "1207" && (oSystemParameterMain.Kf_MoveStockBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_MoveStockBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹"))
+                {
+                    if (omodel_View.HSourceQty == 0)
+                    {
+                        sErrMsg = "鎵�鎵墿鏂欏湪鍗曟嵁涓墿浣欏彲鎵暟閲忎负0锛屼笉鍏佽鎵爜锛�";
+                        return false;
+                    }
+                    else if (sRelQty > omodel_View.HSourceQty)
+                    {
+                        sErrMsg = "鎵�鎵弿鏉$爜鏁伴噺涓� " + sRelQty.ToString() + " 澶т簬瀵瑰簲婧愬崟鍓╀綑鍙壂鎻忔暟閲�" + omodel_View.HSourceQty.ToString() + "锛屼笉鍏佽鎵爜锛�";
+                        return false;
+                    }
+                }
+            }
+            else
+            //鎵规鏉$爜銆佸搧绉嶆潯鐮�
+            {
+                if (HQty > 0)
+                {
+                    sRelQty = HQty;
+                }
+                else if (omodel_View.HSourceQty > 0)
+                {
+                    sRelQty = omodel_View.HSourceQty;
+                }
+                else
+                {
+                    sRelQty = omodel_View.HQty;
+                }
+
+                //鐩存帴璋冩嫧鏍¢獙锛屾牴鎹郴缁熷弬鏁帮細鐩存帴璋冩嫧鏍¢獙-搴旀敹鏁伴噺 鎺у埗鎵爜鏁伴噺鑳藉惁鍙秴鍗曟嵁鏁伴噺锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+                if (HBillType == "1207" && (oSystemParameterMain.Kf_MoveStockBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_MoveStockBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹"))
+                {
+                    if (omodel_View.HSourceQty == 0)
+                    {
+                        sErrMsg = "鎵�鎵墿鏂欏湪鍗曟嵁涓墿浣欏彲鎵暟閲忎负0锛屼笉鍏佽鎵爜锛�";
+                        return false;
+                    }
+                    else if (sRelQty > omodel_View.HSourceQty)
+                    {
+                        sErrMsg = "鎵�鎵弿鏉$爜鏁伴噺涓� " + sRelQty.ToString() + " 澶т簬瀵瑰簲婧愬崟鍓╀綑鍙壂鎻忔暟閲�" + omodel_View.HSourceQty.ToString() + "锛屼笉鍏佽鎵爜锛�";
+                        return false;
+                    }
+                }
+            }
+
+            //鍒ゆ柇鏉$爜搴撳瓨銆丒RP搴撳瓨
+            double sWMSQty = 0;     //鏉$爜搴撳瓨鏁伴噺
+            double sERPQty = 0;     //ERP搴撳瓨鏁伴噺
+
+            //搴撳瓨鎺у埗-WMS璐熷簱瀛樻帶鍒�
+            if (omodel_View.HBarCodeType == "鍞竴鏉$爜" && oSystemParameterMain.WMS_WMSStockCtl == "Y")
+            {
+                //鍒ゆ柇ERP搴撳瓨   杩斿洖ERP搴撳瓨鏁伴噺
+                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)
+                {
+                    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)
+                    {
+                        sRelQty = sWMSQty;
+                    }
+                }
+            }
+
+            //鍒ゆ柇ERP搴撳瓨   杩斿洖ERP搴撳瓨鏁伴噺
+            DataSet DsERP = oCn.RunProcReturn("exec h_p_IF_CheckQtyByERPICInventory " + HBillID.ToString() + ",'" + HBillType + "','" + omodel_View.HBarCode + "'," + HSCWHID.ToString() + "," + HSCSPID.ToString() + "," + omodel_View.HMaterID.ToString() + "," + omodel_View.HAuxPropID.ToString() + ",'" + omodel_View.HBatchNo + "'," + sRelQty.ToString() + "," + HOWNERID.ToString(), "h_p_IF_CheckQtyByERPICInventory");
+            if (DsERP == null || DsERP.Tables[0].Rows.Count == 0)
+            {
+                sErrMsg = "鍒ゆ柇ERP搴撳瓨锛屽彂鐢熼敊璇紒";
+                return false;
+            }
+            else
+            {
+                if (DBUtility.ClsPub.isLong(DsERP.Tables[0].Rows[0][0]) == 0)
+                {
+                    sERPQty = DBUtility.ClsPub.isDoule(DsERP.Tables[0].Rows[0]["HQty"]);
+                    sRelQty = sERPQty;
+                }
+                else
+                {
+                    sErrMsg = DBUtility.ClsPub.isStrNull(DsERP.Tables[0].Rows[0]["HRemark"]);
+                    return false;
+                }
+            }
+
+            if (sRelQty == 0)
+            {
+                sErrMsg = "鎵�鎵弿鏉$爜鏃犳潯鐮佸簱瀛樻垨瀵瑰簲鐗╂枡鏃燛RP搴撳瓨锛�";
+                return false;
+            }
+
+            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;
+                    }
+                }
+            }
+
+            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;
+        }
+
+        #endregion
+
+        #region 鎵弿鐗╂枡鏉$爜    *鏍¢獙妯″紡
+
+        //鎵弿鐗╂枡鏉$爜  瀛樺叆鏉$爜鍑哄叆搴撲复鏃惰〃
+        [WebMethod]
+        public bool set_SavePonderationBillMain_Temp_BarCode_BillCheck(Model.ClsGy_BarCodeBill_WMS_Model_View omodel_View, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, Int64 HOWNERID, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            DAL.ClsKF_PonderationBillMain_Temp_Ctl tem = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
+            Model.ClsKF_PonderationBillMain_Temp oMain = new Model.ClsKF_PonderationBillMain_Temp();
+
+            double sRelQty = 0;
+            string sWHSPCtl = "Y";   //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+            if (HBillType == "1203")
+            {
+                //鍏朵粬鍏ュ簱鍗�
+                sWHSPCtl = "Y";
+            }
+            else if (HBillType == "1204" && oSystemParameterMain.Kf_MateOutBillCheck_WHSPCtl == "N")
+            {
+                //棰嗘枡鍑哄簱鍗�
+                sWHSPCtl = "N";
+            }
+            else if (HBillType == "1206")
+            {
+                //鍏朵粬鍑哄簱鍗�
+                sWHSPCtl = "Y";
+            }
+
+            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 = "鍒ゆ柇鎵�鎵潯鐮佹槸鍚﹀湪鍗曟嵁涓彂鐢熼敊璇紒";
+                return false;
+            }
+            else
+            {
+                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.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
                 {
@@ -35936,8 +40658,22 @@
                     sRelQty = omodel_View.HQty;
                 }
 
+                //鍏朵粬鍏ュ簱鏍¢獙锛屾牴鎹郴缁熷弬鏁帮細鍏朵粬鍏ュ簱鏍¢獙-搴旀敹鏁伴噺 鎺у埗鎵爜鏁伴噺鑳藉惁鍙秴鍗曟嵁鏁伴噺锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+                if (HBillType == "1203" && (oSystemParameterMain.Kf_OtherInBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_OtherInBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹"))
+                {
+                    if (omodel_View.HSourceQty == 0)
+                    {
+                        sErrMsg = "鎵�鎵墿鏂欏湪鍗曟嵁涓墿浣欏彲鎵暟閲忎负0锛屼笉鍏佽鎵爜锛�";
+                        return false;
+                    }
+                    else if (sRelQty > omodel_View.HSourceQty)
+                    {
+                        sErrMsg = "鎵�鎵弿鏉$爜鏁伴噺涓� " + sRelQty.ToString() + " 澶т簬瀵瑰簲婧愬崟鍓╀綑鍙壂鎻忔暟閲�" + omodel_View.HSourceQty.ToString() + "锛屼笉鍏佽鎵爜锛�";
+                        return false;
+                    }
+                }
                 //棰嗘枡鍑哄簱鏍¢獙锛屾牴鎹郴缁熷弬鏁帮細棰嗘枡鍑哄簱鏍¢獙-搴旀敹鏁伴噺 鎺у埗鎵爜鏁伴噺鑳藉惁鍙秴鍗曟嵁鏁伴噺锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
-                if (HBillType == "1204" && (oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹"))
+                else if (HBillType == "1204" && (oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹"))
                 {
                     if (omodel_View.HSourceQty == 0)
                     {
@@ -35981,8 +40717,22 @@
                     sRelQty = omodel_View.HQty;
                 }
 
+                //鍏朵粬鍏ュ簱鏍¢獙锛屾牴鎹郴缁熷弬鏁帮細鍏朵粬鍏ュ簱鏍¢獙-搴旀敹鏁伴噺 鎺у埗鎵爜鏁伴噺鑳藉惁鍙秴鍗曟嵁鏁伴噺锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+                if (HBillType == "1203" && (oSystemParameterMain.Kf_OtherInBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_OtherInBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹"))
+                {
+                    if (omodel_View.HSourceQty == 0)
+                    {
+                        sErrMsg = "鎵�鎵墿鏂欏湪鍗曟嵁涓墿浣欏彲鎵暟閲忎负0锛屼笉鍏佽鎵爜锛�";
+                        return false;
+                    }
+                    else if (sRelQty > omodel_View.HSourceQty)
+                    {
+                        sErrMsg = "鎵�鎵弿鏉$爜鏁伴噺涓� " + sRelQty.ToString() + " 澶т簬瀵瑰簲婧愬崟鍓╀綑鍙壂鎻忔暟閲�" + omodel_View.HSourceQty.ToString() + "锛屼笉鍏佽鎵爜锛�";
+                        return false;
+                    }
+                }
                 //棰嗘枡鍑哄簱鏍¢獙锛屾牴鎹郴缁熷弬鏁帮細棰嗘枡鍑哄簱鏍¢獙-搴旀敹鏁伴噺 鎺у埗鎵爜鏁伴噺鑳藉惁鍙秴鍗曟嵁鏁伴噺锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
-                if (HBillType == "1204" && (oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹"))
+                else if (HBillType == "1204" && (oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹"))
                 {
                     if (omodel_View.HSourceQty == 0)
                     {
@@ -36022,17 +40772,18 @@
                 || HBillType == "1254")
             {
                 //搴撳瓨鎺у埗-WMS璐熷簱瀛樻帶鍒�
-                if (oSystemParameterMain.WMS_WMSStockCtl == "Y")
+                if (omodel_View.HBarCodeType == "鍞竴鏉$爜" && oSystemParameterMain.WMS_WMSStockCtl == "Y")
                 {
                     //鍒ゆ柇ERP搴撳瓨   杩斿洖ERP搴撳瓨鏁伴噺
-                    DataSet DsWMS = oCn.RunProcReturn("exec h_p_KF_ICInventory_WMS_GetWHAndSP " + HBillID.ToString() + ",'" + HBillType + "','" + sBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString(), "h_p_KF_ICInventory_WMS_GetWHAndSP");
+                    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)
@@ -36043,7 +40794,7 @@
                 }
 
                 //鍒ゆ柇ERP搴撳瓨   杩斿洖ERP搴撳瓨鏁伴噺
-                DataSet DsERP = oCn.RunProcReturn("exec h_p_IF_CheckQtyByERPICInventory " + HBillID.ToString() + ",'" + HBillType + "','" + sBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString() + "," + omodel_View.HMaterID.ToString() + "," + omodel_View.HAuxPropID.ToString() + ",'" + omodel_View.HBatchNo + "'," + sRelQty.ToString() + "," + HOWNERID.ToString(), "h_p_IF_CheckQtyByERPICInventory");
+                DataSet DsERP = oCn.RunProcReturn("exec h_p_IF_CheckQtyByERPICInventory " + HBillID.ToString() + ",'" + HBillType + "','" + omodel_View.HBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString() + "," + omodel_View.HMaterID.ToString() + "," + omodel_View.HAuxPropID.ToString() + ",'" + omodel_View.HBatchNo + "'," + sRelQty.ToString() + "," + HOWNERID.ToString(), "h_p_IF_CheckQtyByERPICInventory");
                 if (DsERP == null || DsERP.Tables[0].Rows.Count == 0)
                 {
                     sErrMsg = "鍒ゆ柇ERP搴撳瓨锛屽彂鐢熼敊璇紒";
@@ -36075,50 +40826,107 @@
             else
             {
                 //鍒ゆ柇鏉$爜鎵弿鏁伴噺   杩斿洖鍓╀綑鏈壂鎻忔暟閲�
-                if (!tem.IsBarCode_New(sBarCode, HBillType, false, ref sRelQty, ref sErrMsg))
+                if (!tem.IsBarCode_New(omodel_View.HBarCode, HBillType, false, ref sRelQty, ref sErrMsg))
                 {
                     sErrMsg = sErrMsg;
                     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.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;
         }
 
@@ -36149,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]);
                     }
                 }
 
@@ -36177,26 +40986,40 @@
                             if (dal.omodel_View.HBarCodeType == "鎵樼洏鏉$爜")
                             {
                                 //鍒嗚В鎵樼洏鏉$爜寰楀埌鏄庣粏鏉$爜淇℃伅鍐欏叆鏉$爜鍑哄叆搴撲复鏃惰〃
-                                DataSet dsTBarCode;
-                                string sBarCode_MX;
-                                dsTBarCode = oCn.RunProcReturn("select HBarCode HBarCodeMX from Sc_PackUnionBillSub_Sum " +
-                                " Where HBarCode_Pack = '" + sBarCode + "'", "Sc_PackUnionBillSub_Sum");
+                                DataSet dsTBarCode = oCn.RunProcReturn("exec h_p_WMS_BeforeCheckToTPBarCode '" + sBarCode + "'", "h_p_WMS_BeforeCheckToTPBarCode");
                                 if (dsTBarCode == null || dsTBarCode.Tables[0].Rows.Count == 0)
                                 {
-                                    sErrMsg = "娌℃湁鎵惧埌鎵樼洏鏉$爜瀵瑰簲瀛愭潯鐮佽褰曪紒";
+                                    sErrMsg = "鍒嗚В鎵樼洏鏉$爜鍙戠敓閿欒锛�";
                                     return null;
                                 }
                                 else
                                 {
-                                    for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++)
+                                    if (DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[0][0]) == 1)
                                     {
-                                        sBarCode_MX = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCodeMX"]);
-
-                                        //灏嗙墿鏂欐潯鐮佷俊鎭啓鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
-                                        if (!set_SavePonderationBillMain_Temp_BarCode_BillCheck(dal.omodel_View, sBarCode_MX, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HOWNERID, oSystemParameter.omodel, ref sErrMsg))
+                                        sErrMsg = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[0]["HRemark"]);
+                                        return null;
+                                    }
+                                    else
+                                    {
+                                        for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++)
                                         {
-                                            sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忕墿鏂欐潯鐮佸け璐ワ紒" + sErrMsg;
-                                            return null;
+                                            dal.omodel_View.HBarCode = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCode"]);
+                                            dal.omodel_View.HBarCodeType = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCodeType"]);
+                                            dal.omodel_View.HMaterID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HMaterID"]);
+                                            dal.omodel_View.HAuxPropID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HAuxPropID"]);
+                                            dal.omodel_View.HBatchNo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBatchNo"]);
+                                            dal.omodel_View.HQty = DBUtility.ClsPub.isDoule(dsTBarCode.Tables[0].Rows[i]["HQty"]);
+                                            dal.omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HSourceInterID"]);
+                                            dal.omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HSourceEntryID"]);
+                                            dal.omodel_View.HSourceBillNo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HSourceBillNo"]);
+                                            dal.omodel_View.HMTONo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HMTONo"]);
+
+                                            //灏嗙墿鏂欐潯鐮佷俊鎭啓鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
+                                            if (!set_SavePonderationBillMain_Temp_BarCode_BillCheck(dal.omodel_View, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HOWNERID, oSystemParameter.omodel, ref sErrMsg))
+                                            {
+                                                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忕墿鏂欐潯鐮佸け璐ワ紒" + sErrMsg;
+                                                return null;
+                                            }
                                         }
                                     }
                                     return oBar;
@@ -36206,7 +41029,7 @@
                             //鏉$爜绫诲瀷涓嶄负鎵樼洏鏉$爜
                             {
                                 //灏嗙墿鏂欐潯鐮佷俊鎭啓鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
-                                if (!set_SavePonderationBillMain_Temp_BarCode_BillCheck(dal.omodel_View, sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HOWNERID, oSystemParameter.omodel, ref sErrMsg))
+                                if (!set_SavePonderationBillMain_Temp_BarCode_BillCheck(dal.omodel_View, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HOWNERID, oSystemParameter.omodel, ref sErrMsg))
                                 {
                                     sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忕墿鏂欐潯鐮佸け璐ワ紒" + sErrMsg;
                                     return null;
@@ -36246,26 +41069,40 @@
                                 if (dal.omodel_View.HBarCodeType == "鎵樼洏鏉$爜")
                                 {
                                     //鍒嗚В鎵樼洏鏉$爜寰楀埌鏄庣粏鏉$爜淇℃伅鍐欏叆鏉$爜鍑哄叆搴撲复鏃惰〃
-                                    DataSet dsTBarCode;
-                                    string sBarCode_MX;
-                                    dsTBarCode = oCn.RunProcReturn("select HBarCode HBarCodeMX from Sc_PackUnionBillSub_Sum " +
-                                    " Where HBarCode_Pack = '" + sBarCode + "'", "Sc_PackUnionBillSub_Sum");
+                                    DataSet dsTBarCode = oCn.RunProcReturn("exec h_p_WMS_BeforeCheckToTPBarCode '" + sBarCode + "'", "h_p_WMS_BeforeCheckToTPBarCode");
                                     if (dsTBarCode == null || dsTBarCode.Tables[0].Rows.Count == 0)
                                     {
-                                        sErrMsg = "娌℃湁鎵惧埌鎵樼洏鏉$爜瀵瑰簲瀛愭潯鐮佽褰曪紒";
+                                        sErrMsg = "鍒嗚В鎵樼洏鏉$爜鍙戠敓閿欒锛�";
                                         return null;
                                     }
                                     else
                                     {
-                                        for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++)
+                                        if (DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[0][0]) == 1)
                                         {
-                                            sBarCode_MX = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCodeMX"]);
-
-                                            //灏嗙墿鏂欐潯鐮佷俊鎭啓鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
-                                            if (!set_SavePonderationBillMain_Temp_BarCode_BillCheck(dal.omodel_View, sBarCode_MX, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HOWNERID, oSystemParameter.omodel, ref sErrMsg))
+                                            sErrMsg = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[0]["HRemark"]);
+                                            return null;
+                                        }
+                                        else
+                                        {
+                                            for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++)
                                             {
-                                                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忕墿鏂欐潯鐮佸け璐ワ紒" + sErrMsg;
-                                                return null;
+                                                dal.omodel_View.HBarCode = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCode"]);
+                                                dal.omodel_View.HBarCodeType = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCodeType"]);
+                                                dal.omodel_View.HMaterID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HMaterID"]);
+                                                dal.omodel_View.HAuxPropID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HAuxPropID"]);
+                                                dal.omodel_View.HBatchNo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBatchNo"]);
+                                                dal.omodel_View.HQty = DBUtility.ClsPub.isDoule(dsTBarCode.Tables[0].Rows[i]["HQty"]);
+                                                dal.omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HSourceInterID"]);
+                                                dal.omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HSourceEntryID"]);
+                                                dal.omodel_View.HSourceBillNo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HSourceBillNo"]);
+                                                dal.omodel_View.HMTONo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HMTONo"]);
+
+                                                //灏嗙墿鏂欐潯鐮佷俊鎭啓鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
+                                                if (!set_SavePonderationBillMain_Temp_BarCode_BillCheck(dal.omodel_View, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HOWNERID, oSystemParameter.omodel, ref sErrMsg))
+                                                {
+                                                    sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忕墿鏂欐潯鐮佸け璐ワ紒" + sErrMsg;
+                                                    return null;
+                                                }
                                             }
                                         }
                                         return oBar;
@@ -36275,7 +41112,7 @@
                                 //鏉$爜绫诲瀷涓嶄负鎵樼洏鏉$爜
                                 {
                                     //灏嗙墿鏂欐潯鐮佷俊鎭啓鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
-                                    if (!set_SavePonderationBillMain_Temp_BarCode_BillCheck(dal.omodel_View, sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HOWNERID, oSystemParameter.omodel, ref sErrMsg))
+                                    if (!set_SavePonderationBillMain_Temp_BarCode_BillCheck(dal.omodel_View, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HOWNERID, oSystemParameter.omodel, ref sErrMsg))
                                     {
                                         sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忕墿鏂欐潯鐮佸け璐ワ紒" + sErrMsg;
                                         return null;
@@ -36370,51 +41207,16 @@
                         //鍗曟嵁鏉$爜
                         else if (sBarBillType == "婧愬崟鏉$爜")
                         {
-                            DataSet Ds = oCn.RunProcReturn(" select HSourceName from Xt_BarCodeType where HSourceNumber= '" + sBarCodePrefix + "' and HBillType= '" + HBillType + "'", "Xt_BarCodeType");
-
-                            if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                            oBar = get_BillBarCode_BillCheck(HBillNo, HBillType, HMaker, HOWNERID, ref sErrMsg);
+                            if (oBar == null)
                             {
-                                sErrMsg = "鎵�鎵崟鎹潯鐮佷笉灞炰簬褰撳墠妯″潡锛�";
+                                sErrMsg = "鍚敤涓�閿壂鐮佹ā寮忥紝" + sErrMsg;
                                 return null;
                             }
                             else
                             {
-                                sBarBillName = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSourceName"]);
-                                //鍏朵粬鍑哄簱鍗� 婧愬崟锛氬叾浠栧嚭搴撳崟
-                                if (sBarBillName == "鍏朵粬鍑哄簱鍗�" && HBillType == "1206")
-                                {
-                                    oBar = get_BillBarCode_OtherOutCheck(HBillNo, HBillType, HMaker, HOWNERID, ref sErrMsg);
-                                    if (oBar == null)
-                                    {
-                                        sErrMsg = "鍚敤涓�閿壂鐮佹ā寮忥紝" + sErrMsg;
-                                        return null;
-                                    }
-                                    else
-                                    {
-                                        oBar.HBarType = "鍗曟嵁鏉$爜";
-                                        return oBar;
-                                    }
-                                }
-                                //棰嗘枡鍑哄簱鍗� 婧愬崟锛氶鏂欏嚭搴撳崟
-                                else if (sBarBillName == "棰嗘枡鍑哄簱鍗�" && HBillType == "1204")
-                                {
-                                    oBar = get_BillBarCode_MateOutCheck(HBillNo, HBillType, HMaker, HOWNERID, ref sErrMsg);
-                                    if (oBar == null)
-                                    {
-                                        sErrMsg = "鍚敤涓�閿壂鐮佹ā寮忥紝" + sErrMsg;
-                                        return null;
-                                    }
-                                    else
-                                    {
-                                        oBar.HBarType = "鍗曟嵁鏉$爜";
-                                        return oBar;
-                                    }
-                                }
-                                else
-                                {
-                                    sErrMsg = "鍚敤涓�閿壂鐮佹ā寮忥紝鎵�鎵潯鐮佸墠缂�涓嶅睘浜庡綋鍓嶆ā鍧楀崟鎹彿鍓嶇紑锛�";
-                                    return null;
-                                }
+                                oBar.HBarType = "鍗曟嵁鏉$爜";
+                                return oBar;
                             }
                         }
                         else
@@ -36448,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;
+                }
             }
         }
 
@@ -36911,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