From a29c10576530d471f4657ca36404ccf8431f0064 Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期二, 06 六月 2023 11:21:39 +0800
Subject: [PATCH] 安瑞盘点单

---
 CLOUDWEB/WebService1.asmx.cs | 1235 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 1,235 insertions(+), 0 deletions(-)

diff --git a/CLOUDWEB/WebService1.asmx.cs b/CLOUDWEB/WebService1.asmx.cs
index a4a6855..9575554 100644
--- a/CLOUDWEB/WebService1.asmx.cs
+++ b/CLOUDWEB/WebService1.asmx.cs
@@ -7042,6 +7042,1241 @@
             return false;
         }
 
+        //鐢熸垚璋冩嫧鍗�
+        [WebMethod]
+        public bool set_SaveMoveStockBill_PD(Model.ClsKf_MoveStockBillMain oMain, string sHSourceType, ref string sErrMsg)
+        {
+            DAL.ClsKf_MoveStockBill dal = new DAL.ClsKf_MoveStockBill();
+            DAL.ClsKF_PonderationBillMain_Temp_View tmp = new DAL.ClsKF_PonderationBillMain_Temp_View();
+            dal.omodel = oMain;
+
+
+            //鑾峰彇绯荤粺鍙傛暟
+            Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+            if (oSystemParameter.ShowBillByOrgID(oMain.HSTOCKORGID, ref sErrMsg) == false)
+            {
+                sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                return false;
+            }
+
+            //
+            if (set_SaveMoveStockBill_CLD_New_PD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
+            {
+                //"淇濆瓨鎴愬姛锛�";
+                return true;
+            }
+            else
+            {
+                //"淇濆瓨澶辫触锛�";
+                return false;
+            }
+            sErrMsg = "淇濆瓨璋冩嫧鍗曞け璐ワ紒" + sErrMsg;
+            return false;
+        }
+
+        #region 瀹夌憺鐩樼偣鍗�
+        [WebMethod]
+        public bool set_SaveMoveStockBill_CLD_New_PD(Model.ClsKf_MoveStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+
+            if (sHSourceType == "-1")//鏃犳簮鍗�
+            {
+                if (SaveMoveOut_CLD_PD(oMain, oSystemParameterMain, ref sErrMsg))
+                {
+                    //"淇濆瓨鎴愬姛锛�";
+                    return true;
+                }
+                else
+                {
+                    //"淇濆瓨澶辫触锛�";
+                    sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛�" + sErrMsg;
+                    return false;
+                }
+            }
+            else
+            {
+                sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涢敊璇殑婧愬崟绫诲瀷";
+                return false;
+            }
+        }
+        #endregion
+
+        /// <summary>
+        /// 瀹夌憺鐩樼偣鍗�
+        /// </summary>
+        /// <param name="oMain"></param>
+        /// <param name="sErrMsg"></param>
+        /// <returns></returns>
+        private bool SaveMoveOut_CLD_PD(Model.ClsKf_MoveStockBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+            string sRemark = "";
+            //浠庨厤缃枃浠惰幏鍙� CLOUD缃戝潃銆佽处濂椾俊鎭�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮�
+            if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
+            {
+                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();
+
+            sRemark = sRemark + " 锛涜幏鍙栭獙璇丆LOUD璐﹀彿瀵嗙爜" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+            try
+            {
+                //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    sErrMsg = s;
+                    return false;
+                }
+                oMain.HYear = sYear;
+                oMain.HPeriod = sPeriod;
+
+                oCn.BeginTran();
+                //鍐欏叆WMS璋冩嫧鍗�
+                //鎻掑叆瀛愯〃
+                oCn.RunProc("EXEC h_p_Kf_MoveStockBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','-1'");
+                //鎻掑叆涓昏〃
+                oCn.RunProc("Insert Into Kf_ICStockBillMain   " +
+                "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
+                ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
+                ",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
+                ",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
+                ",HStockStyle,HTransferDirect,HShipType" +
+                ",HSTOCKORGID,HOWNERID" +
+                ") " +
+                " values('1207','1207'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
+                ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
+                ", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
+                ", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
+                ",'" + oMain.HStockStyle + "','" + oMain.HTransferDirect + "','" + oMain.HShipType + "'" +
+                ", " + oMain.HSTOCKORGID.ToString() + "," + oMain.HOWNERID.ToString() +
+                ") ");
+
+                sRemark = sRemark + " 锛涚敓鎴愬嚭鍏ュ簱鍗曟嵁" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+                //鍒ゆ柇鏄惁鍚敤鍣ㄥ叿绠$悊锛岀郴缁熷弬鏁�  鍚敤鍣ㄥ叿绠$悊
+                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");
+                }
+
+                sRemark = sRemark + " 锛涘垽鏂槸鍚﹀惎鐢ㄥ櫒鍏风鐞�" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+                //鏍规嵁TMP琛� 杩斿洖 淇℃伅
+                DataSet Ds;
+                if (oSystemParameterMain.WMS_CloudMode == "N") //绯荤粺鍙傛暟  鏄惁涓虹鏈変簯妯″紡(N涓哄叕鏈変簯妯″紡锛孻涓虹鏈変簯妯″紡)
+                {
+                    Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveOutBill_PUBCLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveOutBill_PUBCLD");
+                    sRemark = sRemark + " 锛涘叕鏈変簯妯″紡";
+                }
+                else
+                {
+                    Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveOutBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveOutBill_CLD");
+                    sRemark = sRemark + " 锛涚鏈変簯妯″紡";
+                }
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
+                {
+                    sErrMsg = "鑾峰彇瀛愯〃淇℃伅澶辫触锛�";
+                    oCn.RollBack();
+                    return false;
+                }
+                else
+                {
+                    string sJson_StockStyle = "";
+                    string sJson_MainCustom = "";    //涓昏〃鑷畾涔夊瓧娈�
+                    string sJson_BillTypeID = "";    //鍗曟嵁绫诲瀷
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
+                    if (oMain.HBillSubType == "" || oMain.HBillSubType == null)
+                    {
+                        sJson_BillTypeID = "\"FBillTypeID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\" },";
+                    }
+                    else
+                    {
+                        sJson_BillTypeID = "\"FBillTypeID\":{ \"FNumber\":\"" + oMain.HBillSubType + "\" },";
+                    }
+
+                    if (oSystemParameterMain.WMS_CampanyName == "闊╃數") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                    {
+                        sJson_StockStyle = "\"F_CHLX\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_CHLX"]) + "\",";    //鍑鸿揣绫诲瀷
+                    }
+                    else
+                    {
+                        sJson_StockStyle = "";
+                    }
+
+                    string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[]," +
+                        "\"Model\":{ " +
+                        "\"FBillNo\":\"" + oMain.HBillNo + "\"," +
+                        sJson_BillTypeID +
+                        "\"FBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBizType"]) + "\"," +
+                        "\"FTransferDirect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferDirect"]) + "\"," +
+                        "\"FTransferBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferBizType"]) + "\"," +
+                        "\"FSettleOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleOrgId"]) + "\" }," +
+                        "\"FSaleOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleOrgId"]) + "\" }," +
+                        "\"FStockOutOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOutOrgId"]) + "\" }," +
+                        "\"FOwnerTypeOutIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeOutIdHead"]) + "\"," +
+                        "\"FOwnerOutIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerOutIdHead"]) + "\" }," +
+                        "\"FStockOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\" }," +
+                        "\"FIsIncludedTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsIncludedTax"]) + "," +
+                        "\"FIsPriceExcludeTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsPriceExcludeTax"]) + "," +
+                        "\"FOwnerTypeIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\"," +
+                        "\"FSETTLECURRID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLECURRID"]) + "\" }," +
+                        "\"FOwnerIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\" }," +
+                        "\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
+                        "\"FBaseCurrId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseCurrId"]) + "\" }," +
+                        sJson_StockStyle +
+                        sJson_MainCustom +
+                        "\"FBillEntry\": [  ";
+                    string sJson_Entry = "";
+                    for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
+                    {
+                        if (sJson_Entry != "")
+                        {
+                            sJson_Entry = sJson_Entry + " , ";
+                        }
+                        string sJson_BatchNo = "";
+                        string sJson_SrcStockPlace = "";
+                        string sJson_DestStockPlace = "";
+                        string sJson_FProduceDate = "";     //鐢熶骇鏃ユ湡
+                        string sJson_FExpiryDate = "";      //鏈夋晥鏈熻嚦
+                        string sJson_FAUXPROPID = "";
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
+
+                        //鏄惁鍚敤鎵规绠$悊
+                        if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1")
+                        {
+                            sJson_BatchNo = "  \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"},    \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"  , ";
+                        }
+                        else
+                        {
+                            sJson_BatchNo = "";
+                        }
+
+                        //鏄惁鍚敤淇濊川鏈熸帶鍒�
+                        if (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 (oSystemParameterMain.WMS_CampanyName == "鍗撳姏") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            sJson_SrcStockPlace = "\"FSrcStockLocId\":{\"FSRCSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
+                            sJson_DestStockPlace = "\"FDestStockLocId\":{\"FDESTSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
+                        }
+                        else
+                        {
+                            //璋冨叆浠撲綅
+                            if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) == "")
+                            {
+                                sJson_SrcStockPlace = "";
+                            }
+                            else
+                            {
+                                sJson_SrcStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
+                            }
+                            //璋冨嚭浠撲綅
+                            if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) == "")
+                            {
+                                sJson_DestStockPlace = "";
+                            }
+                            else
+                            {
+                                sJson_DestStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
+                            }
+                        }
+
+                        //杈呭姪灞炴��
+                        if (oSystemParameterMain.WMS_CampanyName == "鍗撳姏" || oSystemParameterMain.WMS_CampanyName == "闊╃數") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            sJson_FAUXPROPID = "";
+                        }
+                        else if (oSystemParameterMain.WMS_CampanyName == "鍑礉濂堢壒") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100001\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
+                        }
+                        else if (oSystemParameterMain.WMS_CampanyName == "妫シ") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100003\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
+                        }
+                        else
+                        {
+                            sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
+                        }
+
+                        sJson_Entry = sJson_Entry + " {\"FSEQ\":\"" + Convert.ToString(i + 1) + "\"," +
+                        "\"FMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\" }," +
+                        sJson_FAUXPROPID +
+                        "\"FUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\" }," +
+                        "\"FQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQty"]) + "\"," +
+                        sJson_BatchNo +
+                         "\"FSrcStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockId"]) + "\" }," +
+                        sJson_SrcStockPlace +
+                        //"\"FSrcStockLocId\":{\"FSRCSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}}," +
+                        "\"FDestStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockId"]) + "\" }," +
+                        sJson_DestStockPlace +
+                        //"\"FDestStockLocId\":{\"FDESTSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}}," +
+                        "\"FSrcStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockStatusId"]) + "\" }," +
+                        "\"FDestStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockStatusId"]) + "\" }," +
+                        // "\"FBusinessDate\":\"" + oMain.HDate.ToShortDateString() + "\"," +
+                        sJson_FProduceDate +
+                        sJson_FExpiryDate +
+                        "\"FOwnerTypeOutId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeOutId"]) + "\"," +
+                        "\"FOwnerOutId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerOutId"]) + "\" }," +
+                        "\"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeId"]) + "\"," +
+                        "\"FOwnerId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerId"]) + "\" }," +
+                        "\"FBaseUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\" }," +
+                        "\"FBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseQty"]) + "\"," +
+                        "\"FISFREE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISFREE"]) + "," +
+                        "\"FKeeperTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeId"]) + "\"," +
+                        "\"FKeeperId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperId"]) + "\" }," +
+                        "\"FKeeperTypeOutId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeOutId"]) + "\"," +
+                        "\"FKeeperOutId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperOutId"]) + "\" }," +
+                        "\"FDestMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestMaterialId"]) + "\" }," +
+                        "\"FPriceUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceUnitId"]) + "\" }," +
+                        "\"FPriceQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceQty"]) + "\"," +
+                        "\"FPriceBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceQty"]) + "\"," +
+                        "\"FTransReserveLink\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTransReserveLink"]) + "," +
+                        sJson_SubCustom +
+                        "\"FCheckDelivery\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCheckDelivery"]) + "} ";
+                        //"\"FSRCBILLTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\"," +
+                        //"\"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
+                        //"\"FORDERTYPE\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERTYPE"]) + "\" }," +
+                        //"\"FORDERNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERNO"]) + "\"," +
+                        //"\"FBillEntry_Link\": [ {  " +
+                        //"\"FBillEntry_Link_FFLOWID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FFLOWID"]) + "\"," +
+                        //"\"FBillEntry_Link_FFLOWLINEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FFLOWLINEID"]) + "\"," +
+                        //"\"FBillEntry_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FRuleId"]) + "\"," +
+                        //"\"FBillEntry_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FSTableName"]) + "\"," +
+                        //"\"FBillEntry_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FSBillId"]) + "\"," +
+                        //"\"FBillEntry_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FSId"]) + "\"," +
+                        //" } ]   
+                        //" }  ";
+                    }
+                    string sJson_End = "  ]  }}";
+                    string sJson = sJson_Main + sJson_Entry + sJson_End;
+
+                    sRemark = sRemark + " 锛涜幏鍙朇LOUD鍗曟嵁API閫掑叆鍊�" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+                    //鐢熸垚閲戣澏浜戝崟鎹�
+                    if (bLogin)
+                    {
+                        var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Draft",
+                        new object[] { "STK_TransferDirect", sJson });
+
+                        sRemark = sRemark + " 锛涚敓鎴怌LOUD鍗曟嵁" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+                        //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁
+                        //oCn.RunProc("exec h_p_Sc_UpDateSelfFildMove '" + oMain.HBillNo + "','-1'");
+
+                        sRemark = sRemark + " 锛涚敓鎴愬崟鎹悗鍥炲~瀛楁淇℃伅" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+                        HReturn = result.ToString();
+
+                        if (HReturn.Contains("\"IsSuccess\":false") == true)
+                        {
+                            sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒" + HReturn + sJson;
+                            LogService.Write("鐢熸垚鐩存帴璋冩嫧鍗曪紙婧愬崟锛氭棤婧愬崟锛夊け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
+                            oCn.RollBack();
+                            return false;
+                        }
+                        else
+                        {
+                            sRemark = sRemark + sJson;
+                            oCn.Commit();
+                            return true;
+                        }
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
+                        oCn.RollBack();
+                        return false;
+                    }
+                }
+            }
+            catch (Exception e)
+            {
+                LogService.Write("鐢熸垚鍥炴粴" + sRemark);
+                sErrMsg = "鐢熸垚鐩存帴璋冩嫧鍗曞け璐ワ紒" + e.Message;
+                oCn.RollBack();
+                return false;
+            }
+        }
+
+        [WebMethod]
+        public Model.ClsKf_ICStockBill_WMS get_BarCode_MoveStock_PD(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.ShowBillByOrgID(HStockOutOrgID, 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];
+                        if (HQty == 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 == "妫シ") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                            {
+                                if (!set_SavePonderationBillMain_Temp_BarCode_MoveStock_SenKai(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 == "鎵樼洏鏉$爜" && oSystemParameter.omodel.WMS_CampanyName == "鍗撳姏")
+                                {
+                                    //灏嗙墿鏂欐潯鐮佷俊鎭啓鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
+                                    if (!set_SavePonderationBillMain_Temp_BarCode_Pack_MoveStock_ZhuoLi(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HSCWHID, HSCSPID, 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_PD(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_PD(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();
+
+            string HMaterNumber;            //鐗╂枡浠g爜
+            string sSourceBillCtl = "N";    //鏄惁杩涜婧愬崟淇℃伅鏍稿锛�'Y'涓烘牳瀵规簮鍗曚俊鎭級
+            string sBatchNoCtl = "N";       //鏄惁杩涜鎵瑰彿鏍稿锛�'Y'涓烘牳瀵规壒鍙凤級
+            string sMultilineCtl = "N";     //鏄惁瀛樺湪澶氳鐩稿悓鐗╂枡鏃惰嚜鍔ㄦ媶鍒嗘崲琛岋紙'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
+            string sMustQtyCtl = "涓嶆帶鍒�";  //鎵爜鏁伴噺鑳藉惁鍙秴鍗曟嵁鏁伴噺鎺у埗锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+            string sMaterWHSPCtl = "N";     //鏄惁鍙栫墿鏂欓粯璁や粨搴撲粨浣嶏紙'Y'涓烘槸锛�
+            string sSourceWHSPCtl = "N";    //鏄惁鍙栨簮鍗曚腑浠撳簱浠撲綅锛�'Y'涓烘槸锛�
+            string sOneScanCtl = "N";       //涓�娆℃壂鐮佹帶鍒讹紙'Y'涓烘帶鍒讹級
+            string sFIFOCtl = "N";          //鍏堣繘鍏堝嚭鎺у埗锛�'Y'涓烘帶鍒讹級
+            string sMulSourceCtl = "N";     //鏄惁鍚敤澶氭簮鍗曟壂鐮佹ā寮忥紙'Y'涓哄惎鐢級
+
+            //鏍规嵁鍗曟嵁绫诲瀷锛岃幏鍙栧搴斿崟鎹郴缁熷弬鏁板��
+            if (get_SystemParameter_BarCode(HBillType, oSystemParameterMain, ref sSourceBillCtl, ref sBatchNoCtl, ref sMultilineCtl, ref sMustQtyCtl, ref sMaterWHSPCtl, ref sSourceWHSPCtl, ref sOneScanCtl, ref sFIFOCtl, ref sMulSourceCtl, ref sErrMsg))
+            {
+
+            }
+
+            //鍒ゆ柇璋冨叆浠撳簱銆佷粨浣嶆槸鍚︽湁鏁�
+            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"]);     //婧愬崟鍙壂鏁伴噺
+                    HMaterNumber = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HMaterNumber"]);
+                }
+                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 (omodel_View.HSourceInterID != 0 && (sMustQtyCtl == "灏忎簬绛変簬搴旀敹" || sMustQtyCtl == "瀹屽叏绛変簬搴旀敹"))
+                {
+                    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 (omodel_View.HSourceInterID != 0 && (sMustQtyCtl == "灏忎簬绛変簬搴旀敹" || sMustQtyCtl == "瀹屽叏绛変簬搴旀敹"))
+                {
+                    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搴撳瓨鏁伴噺
+            string sWhName = "";    //浠撳簱鍚嶇О
+            string sSPName = "";    //浠撲綅鍚嶇О
+            //if (omodel_View.HBarCodeType == "鍞竴鏉$爜")
+            //{
+            //    //鍒ゆ柇鏉$爜搴撳瓨    搴撳瓨鎺у埗-WMS璐熷簱瀛樻帶鍒�
+            //    if (oSystemParameterMain.WMS_WMSStockCtl == "Y" && HBillType != "1251")
+            //    {
+            //        //鍒ゆ柇鏉$爜搴撳瓨   杩斿洖鏉$爜搴撳瓨鏁伴噺
+            //        DataSet DsWMS = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_GetWMSICInventory " + HBillID.ToString() + ",'" + HBillType + "','" + omodel_View.HBarCode + "'," + HSCWHID.ToString() + "," + HSCSPID.ToString() + "," + HStockOutOrgID.ToString(), "h_p_WMS_AddBarCode_GetWMSICInventory");
+            //        if (DsWMS == null || DsWMS.Tables[0].Rows.Count == 0)
+            //        {
+            //            sErrMsg = "鎵�鎵弿鐗╂枡鏉$爜锛� " + omodel_View.HBarCode + " 锛屾棤鏉$爜搴撳瓨锛�";
+            //            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]["HQty"]);
+            //            sWhName = DBUtility.ClsPub.isStrNull(DsWMS.Tables[0].Rows[0]["HWhName"]);
+            //            sSPName = DBUtility.ClsPub.isStrNull(DsWMS.Tables[0].Rows[0]["HSPName"]);
+
+            //            if (sWMSQty <= 0)
+            //            {
+            //                sErrMsg = "鎵�鎵弿鐗╂枡鏉$爜锛�" + omodel_View.HBarCode + " 锛屽湪浠撳簱[ " + sWhName + " ]銆佷粨浣峓 " + sSPName + " ]涓紝鏃犳潯鐮佸簱瀛橈紒";
+            //                return false;
+            //            }
+            //            //鍒ゆ柇鎵弿鏁伴噺涓庢潯鐮佸簱瀛樻暟閲�
+            //            else 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" && oSystemParameterMain.WMS_CloudMode == "Y" && HBillType != "1251")
+            //{
+            //    //鍒ゆ柇ERP搴撳瓨   杩斿洖ERP搴撳瓨鏁伴噺
+            //    DataSet DsERP = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_GetERPICInventory " + HBillID.ToString() + ",'" + HBillType + "','" + HMaterNumber + "'," + omodel_View.HAuxPropID.ToString() + ",'" + omodel_View.HBatchNo + "'," + HSCWHID.ToString() + "," + HSCSPID.ToString() + "," + HStockOutOrgID.ToString(), "h_p_WMS_AddBarCode_GetERPICInventory");
+            //    if (DsERP == null || DsERP.Tables[0].Rows.Count == 0)
+            //    {
+            //        sErrMsg = "鎵�鎵弿鏉$爜瀵瑰簲鐗╂枡浠g爜锛� " + HMaterNumber + " 锛屾棤閲戣澏搴撳瓨锛�";
+            //        return false;
+            //    }
+            //    else
+            //    {
+            //        sERPQty = DBUtility.ClsPub.isDoule(DsERP.Tables[0].Rows[0]["HQty"]);
+            //        sWhName = DBUtility.ClsPub.isStrNull(DsERP.Tables[0].Rows[0]["HWhName"]);
+            //        sSPName = DBUtility.ClsPub.isStrNull(DsERP.Tables[0].Rows[0]["HSPName"]);
+
+            //        if (sERPQty <= 0)
+            //        {
+            //            sErrMsg = "鎵�鎵弿鏉$爜瀵瑰簲鐗╂枡浠g爜锛�" + HMaterNumber + " 锛屽湪浠撳簱[ " + sWhName + " ]銆佷粨浣峓 " + sSPName + " ]涓紝鏃犻噾铦跺簱瀛橈紒";
+            //            return false;
+            //        }
+            //        //鍒ゆ柇鎵弿鏁伴噺涓庨噾铦跺簱瀛樻暟閲�
+            //        else if (sRelQty > sERPQty)
+            //        {
+            //            sRelQty = sERPQty;
+            //        }
+            //    }
+            //}
+
+            if (HWhID == HSCWHID && HSPID == HSCSPID)
+            {
+                sErrMsg = "璋冨叆浠撳簱銆佷粨浣嶄笉鑳戒笌璋冨嚭浠撳簱銆佷粨浣嶇浉鍚岋紒";
+                return false;
+            }
+
+            //鍞竴鏉$爜锛屾槸鍚﹀惎鐢ㄤ竴娆℃壂鐮佹帶鍒讹紙'Y'涓哄惎鐢級
+            if (omodel_View.HBarCodeType == "鍞竴鏉$爜" && sOneScanCtl == "Y")
+            {
+                //涓�娆℃壂鐮佹帶鍒讹紝鍚屼竴鏉$爜銆佸悓涓�鍗曟嵁绫诲瀷锛屽湪WMS琛ㄥ拰TEMP琛ㄩ噷锛屽彧鍏佽杩涜涓�娆℃壂鐮�
+                DataSet dsOneScan = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_OneScan '" + omodel_View.HBarCode + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID.ToString() + "," + HSPID.ToString() + "," + HSCWHID.ToString() + "," + HSCSPID.ToString() + ",'" + HMaker + "'", "h_p_WMS_AddBarCode_OneScan");
+                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;
+                    }
+                }
+            }
+
+            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;
+            if (omodel_View.HProduceDate < Convert.ToDateTime("1950-01-01"))
+            {
+                oMain.HBeginDate = "";
+            }
+            else
+            {
+                oMain.HBeginDate = omodel_View.HProduceDate.ToShortDateString();
+            }
+            if (omodel_View.HExpiryDate < Convert.ToDateTime("1950-01-01"))
+            {
+                oMain.HEndDate = "";
+            }
+            else
+            {
+                oMain.HEndDate = omodel_View.HExpiryDate.ToShortDateString();
+            }
+            oMain.HRedBlueFlag = false;
+            oMain.HPieceQty = 1;
+            oMain.HSTOCKORGID = HStockOutOrgID;
+            oMain.HOWNERID = HStockInOrgID;
+
+            //鍏堣繘鍏堝嚭鎺у埗
+            //if (HSourceBillType != "-1" && HBillType != "1251" && sFIFOCtl == "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
+            //    {
+            //        if (DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0][0]) == 0)
+            //        {
+            //            sRelQty = DBUtility.ClsPub.isDoule(FIFO.Tables[0].Rows[0]["HQty"]);
+            //        }
+            //        else
+            //        {
+            //            sErrMsg = DBUtility.ClsPub.isStrNull(FIFO.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,HBeginDate,HEndDate) " +
+                " 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," + (oMain.HBeginDate == "" ? "NULL" : "'" + oMain.HBeginDate + "'") +
+                "," + (oMain.HEndDate == "" ? "NULL" : "'" + oMain.HEndDate + "'") + ")");
+            return true;
+        }
+
+        //鎵弿鐗╂枡鏉$爜  瀛樺叆鏉$爜鍑哄叆搴撲复鏃惰〃      璋冩嫧
+        [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();
+
+            string HMaterNumber;            //鐗╂枡浠g爜
+            string sSourceBillCtl = "N";    //鏄惁杩涜婧愬崟淇℃伅鏍稿锛�'Y'涓烘牳瀵规簮鍗曚俊鎭級
+            string sBatchNoCtl = "N";       //鏄惁杩涜鎵瑰彿鏍稿锛�'Y'涓烘牳瀵规壒鍙凤級
+            string sMultilineCtl = "N";     //鏄惁瀛樺湪澶氳鐩稿悓鐗╂枡鏃惰嚜鍔ㄦ媶鍒嗘崲琛岋紙'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
+            string sMustQtyCtl = "涓嶆帶鍒�";  //鎵爜鏁伴噺鑳藉惁鍙秴鍗曟嵁鏁伴噺鎺у埗锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+            string sMaterWHSPCtl = "N";     //鏄惁鍙栫墿鏂欓粯璁や粨搴撲粨浣嶏紙'Y'涓烘槸锛�
+            string sSourceWHSPCtl = "N";    //鏄惁鍙栨簮鍗曚腑浠撳簱浠撲綅锛�'Y'涓烘槸锛�
+            string sOneScanCtl = "N";       //涓�娆℃壂鐮佹帶鍒讹紙'Y'涓烘帶鍒讹級
+            string sFIFOCtl = "N";          //鍏堣繘鍏堝嚭鎺у埗锛�'Y'涓烘帶鍒讹級
+            string sMulSourceCtl = "N";     //鏄惁鍚敤澶氭簮鍗曟壂鐮佹ā寮忥紙'Y'涓哄惎鐢級
+
+            //鏍规嵁鍗曟嵁绫诲瀷锛岃幏鍙栧搴斿崟鎹郴缁熷弬鏁板��
+            if (get_SystemParameter_BarCode(HBillType, oSystemParameterMain, ref sSourceBillCtl, ref sBatchNoCtl, ref sMultilineCtl, ref sMustQtyCtl, ref sMaterWHSPCtl, ref sSourceWHSPCtl, ref sOneScanCtl, ref sFIFOCtl, ref sMulSourceCtl, ref sErrMsg))
+            {
+
+            }
+
+            //鍒ゆ柇璋冨叆浠撳簱銆佷粨浣嶆槸鍚︽湁鏁�
+            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"]);     //婧愬崟鍙壂鏁伴噺
+                    HMaterNumber = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HMaterNumber"]);
+                }
+                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 (omodel_View.HSourceInterID != 0 && (sMustQtyCtl == "灏忎簬绛変簬搴旀敹" || sMustQtyCtl == "瀹屽叏绛変簬搴旀敹"))
+                {
+                    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 (omodel_View.HSourceInterID != 0 && (sMustQtyCtl == "灏忎簬绛変簬搴旀敹" || sMustQtyCtl == "瀹屽叏绛変簬搴旀敹"))
+                {
+                    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搴撳瓨鏁伴噺
+            string sWhName = "";    //浠撳簱鍚嶇О
+            string sSPName = "";    //浠撲綅鍚嶇О
+            if (omodel_View.HBarCodeType == "鍞竴鏉$爜")
+            {
+                //鍒ゆ柇鏉$爜搴撳瓨    搴撳瓨鎺у埗-WMS璐熷簱瀛樻帶鍒�
+                if (oSystemParameterMain.WMS_WMSStockCtl == "Y" && HBillType != "1251")
+                {
+                    //鍒ゆ柇鏉$爜搴撳瓨   杩斿洖鏉$爜搴撳瓨鏁伴噺
+                    DataSet DsWMS = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_GetWMSICInventory " + HBillID.ToString() + ",'" + HBillType + "','" + omodel_View.HBarCode + "'," + HSCWHID.ToString() + "," + HSCSPID.ToString() + "," + HStockOutOrgID.ToString(), "h_p_WMS_AddBarCode_GetWMSICInventory");
+                    if (DsWMS == null || DsWMS.Tables[0].Rows.Count == 0)
+                    {
+                        sErrMsg = "鎵�鎵弿鐗╂枡鏉$爜锛� " + omodel_View.HBarCode + " 锛屾棤鏉$爜搴撳瓨锛�";
+                        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]["HQty"]);
+                        sWhName = DBUtility.ClsPub.isStrNull(DsWMS.Tables[0].Rows[0]["HWhName"]);
+                        sSPName = DBUtility.ClsPub.isStrNull(DsWMS.Tables[0].Rows[0]["HSPName"]);
+
+                        if (sWMSQty <= 0)
+                        {
+                            sErrMsg = "鎵�鎵弿鐗╂枡鏉$爜锛�" + omodel_View.HBarCode + " 锛屽湪浠撳簱[ " + sWhName + " ]銆佷粨浣峓 " + sSPName + " ]涓紝鏃犳潯鐮佸簱瀛橈紒";
+                            return false;
+                        }
+                        //鍒ゆ柇鎵弿鏁伴噺涓庢潯鐮佸簱瀛樻暟閲�
+                        else 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" && oSystemParameterMain.WMS_CloudMode == "Y" && HBillType != "1251")
+            {
+                //鍒ゆ柇ERP搴撳瓨   杩斿洖ERP搴撳瓨鏁伴噺
+                DataSet DsERP = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_GetERPICInventory " + HBillID.ToString() + ",'" + HBillType + "','" + HMaterNumber + "'," + omodel_View.HAuxPropID.ToString() + ",'" + omodel_View.HBatchNo + "'," + HSCWHID.ToString() + "," + HSCSPID.ToString() + "," + HStockOutOrgID.ToString(), "h_p_WMS_AddBarCode_GetERPICInventory");
+                if (DsERP == null || DsERP.Tables[0].Rows.Count == 0)
+                {
+                    sErrMsg = "鎵�鎵弿鏉$爜瀵瑰簲鐗╂枡浠g爜锛� " + HMaterNumber + " 锛屾棤閲戣澏搴撳瓨锛�";
+                    return false;
+                }
+                else
+                {
+                    sERPQty = DBUtility.ClsPub.isDoule(DsERP.Tables[0].Rows[0]["HQty"]);
+                    sWhName = DBUtility.ClsPub.isStrNull(DsERP.Tables[0].Rows[0]["HWhName"]);
+                    sSPName = DBUtility.ClsPub.isStrNull(DsERP.Tables[0].Rows[0]["HSPName"]);
+
+                    if (sERPQty <= 0)
+                    {
+                        sErrMsg = "鎵�鎵弿鏉$爜瀵瑰簲鐗╂枡浠g爜锛�" + HMaterNumber + " 锛屽湪浠撳簱[ " + sWhName + " ]銆佷粨浣峓 " + sSPName + " ]涓紝鏃犻噾铦跺簱瀛橈紒";
+                        return false;
+                    }
+                    //鍒ゆ柇鎵弿鏁伴噺涓庨噾铦跺簱瀛樻暟閲�
+                    else if (sRelQty > sERPQty)
+                    {
+                        sRelQty = sERPQty;
+                    }
+                }
+            }
+
+            if (HWhID == HSCWHID && HSPID == HSCSPID)
+            {
+                sErrMsg = "璋冨叆浠撳簱銆佷粨浣嶄笉鑳戒笌璋冨嚭浠撳簱銆佷粨浣嶇浉鍚岋紒";
+                return false;
+            }
+
+            //鍞竴鏉$爜锛屾槸鍚﹀惎鐢ㄤ竴娆℃壂鐮佹帶鍒讹紙'Y'涓哄惎鐢級
+            if (omodel_View.HBarCodeType == "鍞竴鏉$爜" && sOneScanCtl == "Y")
+            {
+                //涓�娆℃壂鐮佹帶鍒讹紝鍚屼竴鏉$爜銆佸悓涓�鍗曟嵁绫诲瀷锛屽湪WMS琛ㄥ拰TEMP琛ㄩ噷锛屽彧鍏佽杩涜涓�娆℃壂鐮�
+                DataSet dsOneScan = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_OneScan '" + omodel_View.HBarCode + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID.ToString() + "," + HSPID.ToString() + "," + HSCWHID.ToString() + "," + HSCSPID.ToString() + ",'" + HMaker + "'", "h_p_WMS_AddBarCode_OneScan");
+                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;
+                    }
+                }
+            }
+
+            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;
+            if (omodel_View.HProduceDate < Convert.ToDateTime("1950-01-01"))
+            {
+                oMain.HBeginDate = "";
+            }
+            else
+            {
+                oMain.HBeginDate = omodel_View.HProduceDate.ToShortDateString();
+            }
+            if (omodel_View.HExpiryDate < Convert.ToDateTime("1950-01-01"))
+            {
+                oMain.HEndDate = "";
+            }
+            else
+            {
+                oMain.HEndDate = omodel_View.HExpiryDate.ToShortDateString();
+            }
+            oMain.HRedBlueFlag = false;
+            oMain.HPieceQty = 1;
+            oMain.HSTOCKORGID = HStockOutOrgID;
+            oMain.HOWNERID = HStockInOrgID;
+
+            //鍏堣繘鍏堝嚭鎺у埗
+            if (HSourceBillType != "-1" && HBillType != "1251" && sFIFOCtl == "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
+                {
+                    if (DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0][0]) == 0)
+                    {
+                        sRelQty = DBUtility.ClsPub.isDoule(FIFO.Tables[0].Rows[0]["HQty"]);
+                    }
+                    else
+                    {
+                        sErrMsg = DBUtility.ClsPub.isStrNull(FIFO.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,HBeginDate,HEndDate) " +
+                " 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," + (oMain.HBeginDate == "" ? "NULL" : "'" + oMain.HBeginDate + "'") +
+                "," + (oMain.HEndDate == "" ? "NULL" : "'" + oMain.HEndDate + "'") + ")");
+            return true;
+        }
+
         //鏍稿铏氫粨璋冩嫧K3
         [WebMethod]
         public bool set_CheckXCMoveStockBill(Model.ClsKf_XCMoveStockBillMain_K3 oMain, ref string sErrMsg)

--
Gitblit v1.9.1