From 66f17dec063bd193df590f8cddbedb959999771c Mon Sep 17 00:00:00 2001
From: yxj <yxj@hz-kingdee.com>
Date: 星期二, 26 十一月 2024 13:43:04 +0800
Subject: [PATCH] 校验扫码模块相关调用方法新增、修改;其他入库校验上传方法新增

---
 CLOUDWEB/WebService1.asmx.cs |  967 +++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 664 insertions(+), 303 deletions(-)

diff --git a/CLOUDWEB/WebService1.asmx.cs b/CLOUDWEB/WebService1.asmx.cs
index eca6e24..a046cb6 100644
--- a/CLOUDWEB/WebService1.asmx.cs
+++ b/CLOUDWEB/WebService1.asmx.cs
@@ -37343,6 +37343,8 @@
             }
         }
 
+        //鍘熷崟鎹潪鎵爜鐢熸垚
+        [WebMethod]
         public bool set_SaveOtherInBill_CLD_BillCheck(Model.ClsKf_OtherInBillMain oMain, ref string sErrMsg)
         {
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
@@ -37422,6 +37424,7 @@
                         }
                         else
                         {
+                            sErrMsg = "瀹℃牳鍏朵粬鍏ュ簱鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
                             oCn.Commit();
                             return true;
                         }
@@ -37510,6 +37513,7 @@
                                 {
                                     //閲嶆柊鍚屾鍏朵粬鍏ュ簱鍗�
                                     oCn.RunProc("exec h_p_IFCLD_ERPSourceBillToLocal_OtherIn '" + oMain.HBillNo + "'");
+                                    sErrMsg = "淇敼骞跺鏍稿叾浠栧叆搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
                                     oCn.Commit();
                                     return true;
                                 }
@@ -37522,6 +37526,99 @@
                             return false;
                         }
                     }
+                }
+            }
+            catch (Exception e)
+            {
+                sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + e.Message;
+                oCn.RollBack();
+                return false;
+            }
+        }
+
+        //鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
+        [WebMethod]
+        public bool set_SaveOtherInBill_CLD_BillCheck_Verify(Model.ClsKf_OtherInBillMain oMain, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            //涓婁紶鍓嶅垽鏂�
+            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_OtherInBillCheck_Verify " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "'", "h_p_WMS_BeforeUpload_OtherInBillCheck_Verify");
+            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_Verify_Insert " + 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"]);
+                }
+
+                //閲戣澏浜戝鏍稿崟鎹�
+                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_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;
+                        oCn.RollBack();
+                        return false;
+                    }
+                    else
+                    {
+                        sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                else
+                {
+                    sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
+                    oCn.RollBack();
+                    return false;
                 }
             }
             catch (Exception e)
@@ -54460,13 +54557,151 @@
                 sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
                 return null;
             }
+            string sSourceBarCodeCtl = "N";     //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+            string sWHSPCtl = "Y";              //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
 
-            string sSourceBarCodeCtl = "N";   //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
-            if (HBillType == "1205" && oSystemParameter.omodel.Kf_SellOutBillCheck_SourceBarCodeCtl == "Y")
+            #region 绯荤粺鍙傛暟鑾峰彇
+            //閲囪喘鍏ュ簱鍗�
+            if (HBillType == "1201")
             {
-                //閿�鍞嚭搴撳崟
-                sSourceBarCodeCtl = "Y";
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameter.omodel.Kf_POStockInBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                if (oSystemParameter.omodel.Kf_POStockInBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                {
+                    sSourceBarCodeCtl = "Y";
+                }
             }
+            //鐢熶骇鍏ュ簱鍗�
+            else if (HBillType == "1202")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameter.omodel.Kf_ProductInBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                if (oSystemParameter.omodel.Kf_ProductInBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                {
+                    sSourceBarCodeCtl = "Y";
+                }
+            }
+            //鍏朵粬鍏ュ簱鍗�
+            else if (HBillType == "1203")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameter.omodel.Kf_OtherInBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                if (oSystemParameter.omodel.Kf_OtherInBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                {
+                    sSourceBarCodeCtl = "Y";
+                }
+            }
+            //棰嗘枡鍑哄簱鍗�
+            else if (HBillType == "1204")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameter.omodel.Kf_MateOutBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                if (oSystemParameter.omodel.Kf_MateOutBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                {
+                    sSourceBarCodeCtl = "Y";
+                }
+            }
+            //閿�鍞嚭搴撳崟
+            else if (HBillType == "1205")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameter.omodel.Kf_SellOutBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                if (oSystemParameter.omodel.Kf_SellOutBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                {
+                    sSourceBarCodeCtl = "Y";
+                }
+            }
+            //鍏朵粬鍑哄簱鍗�
+            else if (HBillType == "1206")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameter.omodel.Kf_OtherOutBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                if (oSystemParameter.omodel.Kf_OtherOutBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                {
+                    sSourceBarCodeCtl = "Y";
+                }
+            }
+            //濮斿棰嗘枡鍗�
+            else if (HBillType == "1211")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameter.omodel.Kf_EntrustOutBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                if (oSystemParameter.omodel.Kf_EntrustOutBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                {
+                    sSourceBarCodeCtl = "Y";
+                }
+            }
+            //鐢熶骇琛ユ枡鍗�
+            else if (HBillType == "1254")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameter.omodel.Kf_MateReplenishOutBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                if (oSystemParameter.omodel.Kf_MateReplenishOutBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                {
+                    sSourceBarCodeCtl = "Y";
+                }
+            }
+            //濮斿琛ユ枡鍗�
+            else if (HBillType == "1255")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameter.omodel.Kf_EntrustReplenishOutBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                if (oSystemParameter.omodel.Kf_EntrustReplenishOutBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                {
+                    sSourceBarCodeCtl = "Y";
+                }
+            }
+            //鐩存帴璋冩嫧鍗�
+            else if (HBillType == "1207")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameter.omodel.Kf_MoveStockBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                if (oSystemParameter.omodel.Kf_MoveStockBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                {
+                    sSourceBarCodeCtl = "Y";
+                }
+            }
+            #endregion
 
             //鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
             if (sSourceBarCodeCtl == "Y")
@@ -54489,6 +54724,9 @@
                         oBar.HSPFlag = DBUtility.ClsPub.isBool(dsVerify.Tables[0].Rows[0]["HSPFlag"]);
                         oBar.HSPID = DBUtility.ClsPub.isLong(dsVerify.Tables[0].Rows[0]["HSPID"]);
                         oBar.HSPName = DBUtility.ClsPub.isStrNull(dsVerify.Tables[0].Rows[0]["HSPName"]);
+                        oBar.HRemark = DBUtility.ClsPub.isStrNull(dsVerify.Tables[0].Rows[0]["HRemark"]);
+                        oBar.HBack = DBUtility.ClsPub.isStrNull(dsVerify.Tables[0].Rows[0]["HBack"]);
+                        oBar.HSourceBarCodeFlag = true;
                         return oBar;
                     }
                     else
@@ -54502,7 +54740,7 @@
             else
             {
                 //灏嗗崟鎹俊鎭啓鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛↘F_PonderationBillMain_Temp
-                DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddBillBarCode_BillCheck '" + HBillNo + "','" + HBillType + "','" + HMaker + "'," + HOWNERID.ToString(), "h_p_WMS_AddBillBarCode_BillCheck");
+                DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddBillBarCode_BillCheck_New '" + HBillNo + "','" + HBillType + "','" + HMaker + "'," + HOWNERID.ToString() + ",'" + sWHSPCtl + "'", "h_p_WMS_AddBillBarCode_BillCheck_New");
                 if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
                 {
                     sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛涘皢鍗曟嵁淇℃伅鍐欏叆鏉$爜鍑哄叆搴撲复鏃惰〃澶辫触锛�";
@@ -54510,21 +54748,23 @@
                 }
                 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
+                    if (DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0][0]) == 1)
                     {
                         sErrMsg = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]);
                         return null;
+                    }
+                    else
+                    {
+                        oBar.HInterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HInterID"]);
+                        oBar.HBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HBillNo"]);
+                        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"]);
+                        oBar.HRemark = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]);
+                        oBar.HBack = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HBack"]);
+                        oBar.HSourceBarCodeFlag = DBUtility.ClsPub.isBool(ds1.Tables[0].Rows[0]["HSourceBarCodeFlag"]);
+                        return oBar;
                     }
                 }
             }
@@ -55039,79 +55279,333 @@
             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 == "1205" && oSystemParameterMain.Kf_SellOutBillCheck_WHSPCtl == "N")
-            {
-                //閿�鍞嚭搴撳崟
-                sWHSPCtl = "N";
-            }
-            else if (HBillType == "1211" && oSystemParameterMain.Kf_EntrustOutBillCheck_WHSPCtl == "N")
-            {
-                //濮斿棰嗘枡鍗�
-                sWHSPCtl = "N";
-            }
-            else if (HBillType == "1254" && oSystemParameterMain.Kf_MateReplenishOutBillCheck_WHSPCtl == "N")
-            {
-                //鐢熶骇琛ユ枡鍗�
-                sWHSPCtl = "N";
-            }
-            else if (HBillType == "1255" && oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_WHSPCtl == "N")
-            {
-                //濮斿琛ユ枡鍗�
-                sWHSPCtl = "N";
-            }
-            else if (HBillType == "1206")
-            {
-                //鍏朵粬鍑哄簱鍗�
-                sWHSPCtl = "Y";
-            }
+            string sWHSPCtl = "Y";                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+            string sMultilineCtl = "N";           //鏍¢獙-澶氳鐩稿悓鐗╂枡鑷姩鎷嗗垎鎹㈣鍖归厤锛�'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
+            string sMustQtyCtl = "瀹屽叏绛変簬搴旀敹";  //鏍¢獙鏁伴噺鎺у埗锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+            string sOneScanCtl = "N";             //涓�娆℃壂鐮佹帶鍒讹紙'Y'涓烘帶鍒讹級
 
-            string sMultilineCtl = "N";   //鏍¢獙-澶氳鐩稿悓鐗╂枡鑷姩鎷嗗垎鎹㈣鍖归厤锛�'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
-            if (HBillType == "1203")
+            #region 绯荤粺鍙傛暟鑾峰彇
+            //閲囪喘鍏ュ簱鍗�
+            if (HBillType == "1201")
             {
-                //鍏朵粬鍏ュ簱鍗�
-                sMultilineCtl = "N";
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameterMain.Kf_POStockInBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-澶氳鐩稿悓鐗╂枡鑷姩鎷嗗垎鎹㈣鍖归厤锛�'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
+                if (oSystemParameterMain.Kf_POStockInBillCheck_MultilineCtl.ToUpper() == "Y")
+                {
+                    sMultilineCtl = "Y";
+                }
+                //鏍¢獙鏁伴噺鎺у埗锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+                if (oSystemParameterMain.Kf_POStockInBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹")
+                {
+                    sMustQtyCtl = "灏忎簬绛変簬搴旀敹";
+                }
+                else if (oSystemParameterMain.Kf_POStockInBillCheck_MustQtyCtl == "涓嶆帶鍒�")
+                {
+                    sMustQtyCtl = "涓嶆帶鍒�";
+                }
+                else
+                {
+                    sMustQtyCtl = "瀹屽叏绛変簬搴旀敹";
+                }
+                //涓�娆℃壂鐮佹帶鍒讹紙'Y'涓烘帶鍒讹級
+                if (oSystemParameterMain.Kf_POStockInBill_BillTypeOneScan.ToUpper() == "Y")
+                {
+                    sOneScanCtl = "Y";
+                }
             }
-            else if (HBillType == "1204" && oSystemParameterMain.Kf_MateOutBillCheck_MultilineCtl == "Y")
+            //鐢熶骇鍏ュ簱鍗�
+            else if (HBillType == "1202")
             {
-                //棰嗘枡鍑哄簱鍗�
-                sMultilineCtl = "Y";
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameterMain.Kf_ProductInBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-澶氳鐩稿悓鐗╂枡鑷姩鎷嗗垎鎹㈣鍖归厤锛�'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
+                if (oSystemParameterMain.Kf_ProductInBillCheck_MultilineCtl.ToUpper() == "Y")
+                {
+                    sMultilineCtl = "Y";
+                }
+                //鏍¢獙鏁伴噺鎺у埗锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+                if (oSystemParameterMain.Kf_ProductInBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹")
+                {
+                    sMustQtyCtl = "灏忎簬绛変簬搴旀敹";
+                }
+                else if (oSystemParameterMain.Kf_ProductInBillCheck_MustQtyCtl == "涓嶆帶鍒�")
+                {
+                    sMustQtyCtl = "涓嶆帶鍒�";
+                }
+                else
+                {
+                    sMustQtyCtl = "瀹屽叏绛変簬搴旀敹";
+                }
+                //涓�娆℃壂鐮佹帶鍒讹紙'Y'涓烘帶鍒讹級
+                if (oSystemParameterMain.Kf_ProductInBill_BillTypeOneScan.ToUpper() == "Y")
+                {
+                    sOneScanCtl = "Y";
+                }
             }
-            else if (HBillType == "1205" && oSystemParameterMain.Kf_SellOutBillCheck_MultilineCtl == "Y")
+            //鍏朵粬鍏ュ簱鍗�
+            else if (HBillType == "1203")
             {
-                //閿�鍞嚭搴撳崟
-                sMultilineCtl = "Y";
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameterMain.Kf_OtherInBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-澶氳鐩稿悓鐗╂枡鑷姩鎷嗗垎鎹㈣鍖归厤锛�'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
+                if (oSystemParameterMain.Kf_OtherInBillCheck_MultilineCtl.ToUpper() == "Y")
+                {
+                    sMultilineCtl = "Y";
+                }
+                //鏍¢獙鏁伴噺鎺у埗锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+                if (oSystemParameterMain.Kf_OtherInBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹")
+                {
+                    sMustQtyCtl = "灏忎簬绛変簬搴旀敹";
+                }
+                else if (oSystemParameterMain.Kf_OtherInBillCheck_MustQtyCtl == "涓嶆帶鍒�")
+                {
+                    sMustQtyCtl = "涓嶆帶鍒�";
+                }
+                else
+                {
+                    sMustQtyCtl = "瀹屽叏绛変簬搴旀敹";
+                }
+                //涓�娆℃壂鐮佹帶鍒讹紙'Y'涓烘帶鍒讹級
+                if (oSystemParameterMain.Kf_OtherInBill_BillTypeOneScan.ToUpper() == "Y")
+                {
+                    sOneScanCtl = "Y";
+                }
             }
-            else if (HBillType == "1211" && oSystemParameterMain.Kf_EntrustOutBillCheck_MultilineCtl == "Y")
+            //棰嗘枡鍑哄簱鍗�
+            else if (HBillType == "1204")
             {
-                //濮斿棰嗘枡鍗�
-                sMultilineCtl = "Y";
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameterMain.Kf_MateOutBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-澶氳鐩稿悓鐗╂枡鑷姩鎷嗗垎鎹㈣鍖归厤锛�'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
+                if (oSystemParameterMain.Kf_MateOutBillCheck_MultilineCtl.ToUpper() == "Y")
+                {
+                    sMultilineCtl = "Y";
+                }
+                //鏍¢獙鏁伴噺鎺у埗锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+                if (oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹")
+                {
+                    sMustQtyCtl = "灏忎簬绛変簬搴旀敹";
+                }
+                else if (oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "涓嶆帶鍒�")
+                {
+                    sMustQtyCtl = "涓嶆帶鍒�";
+                }
+                else
+                {
+                    sMustQtyCtl = "瀹屽叏绛変簬搴旀敹";
+                }
+                //涓�娆℃壂鐮佹帶鍒讹紙'Y'涓烘帶鍒讹級
+                if (oSystemParameterMain.Kf_MateOutBill_BillTypeOneScan.ToUpper() == "Y")
+                {
+                    sOneScanCtl = "Y";
+                }
             }
-            else if (HBillType == "1254" && oSystemParameterMain.Kf_MateReplenishOutBillCheck_MultilineCtl == "Y")
+            //閿�鍞嚭搴撳崟
+            else if (HBillType == "1205")
             {
-                //鐢熶骇琛ユ枡鍗�
-                sMultilineCtl = "Y";
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameterMain.Kf_SellOutBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-澶氳鐩稿悓鐗╂枡鑷姩鎷嗗垎鎹㈣鍖归厤锛�'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
+                if (oSystemParameterMain.Kf_SellOutBillCheck_MultilineCtl.ToUpper() == "Y")
+                {
+                    sMultilineCtl = "Y";
+                }
+                //鏍¢獙鏁伴噺鎺у埗锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+                if (oSystemParameterMain.Kf_SellOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹")
+                {
+                    sMustQtyCtl = "灏忎簬绛変簬搴旀敹";
+                }
+                else if (oSystemParameterMain.Kf_SellOutBillCheck_MustQtyCtl == "涓嶆帶鍒�")
+                {
+                    sMustQtyCtl = "涓嶆帶鍒�";
+                }
+                else
+                {
+                    sMustQtyCtl = "瀹屽叏绛変簬搴旀敹";
+                }
+                //涓�娆℃壂鐮佹帶鍒讹紙'Y'涓烘帶鍒讹級
+                if (oSystemParameterMain.Kf_SellOutBill_BillTypeOneScan.ToUpper() == "Y")
+                {
+                    sOneScanCtl = "Y";
+                }
             }
-            else if (HBillType == "1255" && oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_MultilineCtl == "Y")
-            {
-                //濮斿琛ユ枡鍗�
-                sMultilineCtl = "Y";
-            }
+            //鍏朵粬鍑哄簱鍗�
             else if (HBillType == "1206")
             {
-                //鍏朵粬鍑哄簱鍗�
-                sMultilineCtl = "N";
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameterMain.Kf_OtherOutBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-澶氳鐩稿悓鐗╂枡鑷姩鎷嗗垎鎹㈣鍖归厤锛�'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
+                if (oSystemParameterMain.Kf_OtherOutBillCheck_MultilineCtl.ToUpper() == "Y")
+                {
+                    sMultilineCtl = "Y";
+                }
+                //鏍¢獙鏁伴噺鎺у埗锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+                if (oSystemParameterMain.Kf_OtherOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹")
+                {
+                    sMustQtyCtl = "灏忎簬绛変簬搴旀敹";
+                }
+                else if (oSystemParameterMain.Kf_OtherOutBillCheck_MustQtyCtl == "涓嶆帶鍒�")
+                {
+                    sMustQtyCtl = "涓嶆帶鍒�";
+                }
+                else
+                {
+                    sMustQtyCtl = "瀹屽叏绛変簬搴旀敹";
+                }
+                //涓�娆℃壂鐮佹帶鍒讹紙'Y'涓烘帶鍒讹級
+                if (oSystemParameterMain.Kf_OtherOutBill_BillTypeOneScan.ToUpper() == "Y")
+                {
+                    sOneScanCtl = "Y";
+                }
             }
+            //濮斿棰嗘枡鍗�
+            else if (HBillType == "1211")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameterMain.Kf_EntrustOutBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-澶氳鐩稿悓鐗╂枡鑷姩鎷嗗垎鎹㈣鍖归厤锛�'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
+                if (oSystemParameterMain.Kf_EntrustOutBillCheck_MultilineCtl.ToUpper() == "Y")
+                {
+                    sMultilineCtl = "Y";
+                }
+                //鏍¢獙鏁伴噺鎺у埗锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+                if (oSystemParameterMain.Kf_EntrustOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹")
+                {
+                    sMustQtyCtl = "灏忎簬绛変簬搴旀敹";
+                }
+                else if (oSystemParameterMain.Kf_EntrustOutBillCheck_MustQtyCtl == "涓嶆帶鍒�")
+                {
+                    sMustQtyCtl = "涓嶆帶鍒�";
+                }
+                else
+                {
+                    sMustQtyCtl = "瀹屽叏绛変簬搴旀敹";
+                }
+                //涓�娆℃壂鐮佹帶鍒讹紙'Y'涓烘帶鍒讹級
+                if (oSystemParameterMain.Kf_EntrustOutBill_BillTypeOneScan.ToUpper() == "Y")
+                {
+                    sOneScanCtl = "Y";
+                }
+            }
+            //鐢熶骇琛ユ枡鍗�
+            else if (HBillType == "1254")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameterMain.Kf_MateReplenishOutBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-澶氳鐩稿悓鐗╂枡鑷姩鎷嗗垎鎹㈣鍖归厤锛�'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
+                if (oSystemParameterMain.Kf_MateReplenishOutBillCheck_MultilineCtl.ToUpper() == "Y")
+                {
+                    sMultilineCtl = "Y";
+                }
+                //鏍¢獙鏁伴噺鎺у埗锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+                if (oSystemParameterMain.Kf_MateReplenishOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹")
+                {
+                    sMustQtyCtl = "灏忎簬绛変簬搴旀敹";
+                }
+                else if (oSystemParameterMain.Kf_MateReplenishOutBillCheck_MustQtyCtl == "涓嶆帶鍒�")
+                {
+                    sMustQtyCtl = "涓嶆帶鍒�";
+                }
+                else
+                {
+                    sMustQtyCtl = "瀹屽叏绛変簬搴旀敹";
+                }
+                //涓�娆℃壂鐮佹帶鍒讹紙'Y'涓烘帶鍒讹級
+                if (oSystemParameterMain.Kf_MateReplenishOutBill_BillTypeOneScan.ToUpper() == "Y")
+                {
+                    sOneScanCtl = "Y";
+                }
+            }
+            //濮斿琛ユ枡鍗�
+            else if (HBillType == "1255")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-澶氳鐩稿悓鐗╂枡鑷姩鎷嗗垎鎹㈣鍖归厤锛�'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
+                if (oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_MultilineCtl.ToUpper() == "Y")
+                {
+                    sMultilineCtl = "Y";
+                }
+                //鏍¢獙鏁伴噺鎺у埗锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+                if (oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹")
+                {
+                    sMustQtyCtl = "灏忎簬绛変簬搴旀敹";
+                }
+                else if (oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_MustQtyCtl == "涓嶆帶鍒�")
+                {
+                    sMustQtyCtl = "涓嶆帶鍒�";
+                }
+                else
+                {
+                    sMustQtyCtl = "瀹屽叏绛変簬搴旀敹";
+                }
+                //涓�娆℃壂鐮佹帶鍒讹紙'Y'涓烘帶鍒讹級
+                if (oSystemParameterMain.Kf_EntrustReplenishOutBill_BillTypeOneScan.ToUpper() == "Y")
+                {
+                    sOneScanCtl = "Y";
+                }
+            }
+            //鐩存帴璋冩嫧鍗�
+            else if (HBillType == "1207")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameterMain.Kf_MoveStockBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-澶氳鐩稿悓鐗╂枡鑷姩鎷嗗垎鎹㈣鍖归厤锛�'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
+                if (oSystemParameterMain.Kf_MoveStockBillCheck_MultilineCtl.ToUpper() == "Y")
+                {
+                    sMultilineCtl = "Y";
+                }
+                //鏍¢獙鏁伴噺鎺у埗锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+                if (oSystemParameterMain.Kf_MoveStockBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹")
+                {
+                    sMustQtyCtl = "灏忎簬绛変簬搴旀敹";
+                }
+                else if (oSystemParameterMain.Kf_MoveStockBillCheck_MustQtyCtl == "涓嶆帶鍒�")
+                {
+                    sMustQtyCtl = "涓嶆帶鍒�";
+                }
+                else
+                {
+                    sMustQtyCtl = "瀹屽叏绛変簬搴旀敹";
+                }
+                //涓�娆℃壂鐮佹帶鍒讹紙'Y'涓烘帶鍒讹級
+                if (oSystemParameterMain.Kf_MoveStockBill_BillTypeOneScan.ToUpper() == "Y")
+                {
+                    sOneScanCtl = "Y";
+                }
+            }
+            #endregion
 
             string HMaterNumber;            //鐗╂枡浠g爜
             //鍒ゆ柇鏄惁瀛樺湪鐩稿悓鏉$爜锛屽垽鏂墍鎵潯鐮佹槸鍚﹀湪鍗曟嵁涓�
@@ -55163,105 +55657,6 @@
                 {
                     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;
-                    }
-                }
-                //棰嗘枡鍑哄簱鏍¢獙锛屾牴鎹郴缁熷弬鏁帮細棰嗘枡鍑哄簱鏍¢獙-搴旀敹鏁伴噺 鎺у埗鎵爜鏁伴噺鑳藉惁鍙秴鍗曟嵁鏁伴噺锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
-                else if (HBillType == "1204" && (oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_MateOutBillCheck_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 (HBillType == "1205" && (oSystemParameterMain.Kf_SellOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_SellOutBillCheck_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 (HBillType == "1211" && (oSystemParameterMain.Kf_EntrustOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_EntrustOutBillCheck_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 (HBillType == "1254" && (oSystemParameterMain.Kf_MateReplenishOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_MateReplenishOutBillCheck_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 (HBillType == "1255" && (oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_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 (HBillType == "1206")
-                {
-                    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
             //鎵规鏉$爜銆佸搧绉嶆潯鐮�
@@ -55278,105 +55673,6 @@
                 {
                     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;
-                    }
-                }
-                //棰嗘枡鍑哄簱鏍¢獙锛屾牴鎹郴缁熷弬鏁帮細棰嗘枡鍑哄簱鏍¢獙-搴旀敹鏁伴噺 鎺у埗鎵爜鏁伴噺鑳藉惁鍙秴鍗曟嵁鏁伴噺锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
-                else if (HBillType == "1204" && (oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_MateOutBillCheck_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 (HBillType == "1205" && (oSystemParameterMain.Kf_SellOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_SellOutBillCheck_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 (HBillType == "1211" && (oSystemParameterMain.Kf_EntrustOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_EntrustOutBillCheck_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 (HBillType == "1254" && (oSystemParameterMain.Kf_MateReplenishOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_MateReplenishOutBillCheck_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 (HBillType == "1255" && (oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_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 (HBillType == "1206")
-                {
-                    if (omodel_View.HSourceQty == 0)
-                    {
-                        sErrMsg = "鎵�鎵墿鏂欏湪鍗曟嵁涓墿浣欏彲鎵暟閲忎负0锛屼笉鍏佽鎵爜锛�";
-                        return false;
-                    }
-                    else if (sRelQty > omodel_View.HSourceQty)
-                    {
-                        sErrMsg = "鎵�鎵弿鏉$爜鏁伴噺涓� " + sRelQty.ToString() + " 澶т簬瀵瑰簲鍗曟嵁鍓╀綑鍙壂鎻忔暟閲�" + omodel_View.HSourceQty.ToString() + "锛屼笉鍏佽鎵爜锛�";
-                        return false;
-                    }
-                }
             }
 
             //鐢熶骇棰嗘枡锛�1204锛夈�侀攢鍞嚭搴擄紙1205锛夈�佸叾浠栧嚭搴撹摑瀛楋紙1206锛夈�佸澶栧嚭搴擄紙1211锛�
@@ -55392,7 +55688,7 @@
                 || HBillType == "1254" || HBillType == "1255")
             {
                 //搴撳瓨鎺у埗-WMS璐熷簱瀛樻帶鍒�
-                if (omodel_View.HBarCodeType == "鍞竴鏉$爜" && oSystemParameterMain.WMS_WMSStockCtl == "Y")
+                if (omodel_View.HBarCodeType == "鍞竴鏉$爜" && oSystemParameterMain.WMS_WMSStockCtl.ToUpper() == "Y")
                 {
                     //鍒ゆ柇ERP搴撳瓨   杩斿洖ERP搴撳瓨鏁伴噺
                     DataSet DsWMS = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_GetWMSICInventory " + HBillID.ToString() + ",'" + HBillType + "','" + omodel_View.HBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString() + "," + HOWNERID.ToString(), "h_p_WMS_AddBarCode_GetWMSICInventory");
@@ -55422,8 +55718,8 @@
                     }
                 }
 
-                //搴撳瓨鎺у埗-ERP璐熷簱瀛樻帶鍒�     绉佹湁浜戞ā寮�
-                if (oSystemParameterMain.WMS_CloudMode == "Y")
+                //搴撳瓨鎺у埗-ERP璐熷簱瀛樻帶鍒�     閲戣澏浜戠鏈変簯妯″紡
+                if (oSystemParameterMain.Kf_SellOutBill_ERPMode.ToUpper() == "CLOUD" && oSystemParameterMain.WMS_CloudMode.ToUpper() == "Y")
                 {
                     //鍒ゆ柇ERP搴撳瓨   杩斿洖ERP搴撳瓨鏁伴噺
                     DataSet DsERP = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_GetERPICInventory_New " + HBillID.ToString() + ",'" + HBillType + "','" + omodel_View.HBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString() + "," + HOWNERID.ToString(), "h_p_WMS_AddBarCode_GetERPICInventory_New");
@@ -55456,22 +55752,46 @@
             //鍏ュ簱銆佺孩瀛楀嚭搴擄紝鍒ゆ柇鏉$爜鍙壂鎻忔暟閲�   杩斿洖鍓╀綑鏈壂鎻忔暟閲�
             else
             {
-                //鍒ゆ柇鏉$爜鎵弿鏁伴噺   杩斿洖鍓╀綑鏈壂鎻忔暟閲�
-                if (!tem.IsBarCode_New(omodel_View.HBarCode, HBillType, false, ref sRelQty, ref sErrMsg))
+                //鑾峰彇鍞竴鏉$爜鍓╀綑鍙壂鎻忔暟閲�
+                if (omodel_View.HBarCodeType == "鍞竴鏉$爜")
                 {
-                    sErrMsg = sErrMsg;
+                    DataSet DsInQty = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_GetInBillQty '" + omodel_View.HBarCode + "','" + HBillType + "'," + omodel_View.HQty.ToString(), "h_p_WMS_AddBarCode_GetInBillQty");
+                    if (DsInQty == null || DsInQty.Tables[0].Rows.Count == 0)
+                    {
+                        //姝e父锛屼笉瀛樺湪宸叉壂鐮佷笂浼犺褰�
+                    }
+                    else
+                    {
+                        if (DBUtility.ClsPub.isDoule(DsInQty.Tables[0].Rows[0]["HQty"]) == 0)
+                        {
+                            sErrMsg = "鎵�鎵弿鐗╂枡鏉$爜锛� " + omodel_View.HBarCode + " 锛屽凡琚叾浠栧崟鎹壂鎻忓叆搴擄紝涓嶅厑璁稿啀娆℃壂鐮侊紒";
+                            return false;
+                        }
+                        else if (DBUtility.ClsPub.isDoule(DsInQty.Tables[0].Rows[0]["HQty"]) < sRelQty)
+                        {
+                            sRelQty = DBUtility.ClsPub.isDoule(DsInQty.Tables[0].Rows[0]["HQty"]);
+                        }
+                    }
+                }
+            }
+
+            //鏍规嵁绯荤粺鍙傛暟 鎺у埗鎵爜鏁伴噺鑳藉惁鍙秴鍗曟嵁鏁伴噺锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+            if (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;
                 }
             }
 
-            //涓�娆℃壂鐮佹帶鍒讹紝鍚屼竴鏉$爜銆佸悓涓�鍗曟嵁绫诲瀷锛屽湪WMS琛ㄥ拰TEMP琛ㄩ噷锛屽彧鍏佽杩涜涓�娆℃壂鐮�
-            if ((HBillType == "1203" && oSystemParameterMain.Kf_OtherInBill_BillTypeOneScan == "Y")
-                || (HBillType == "1204" && oSystemParameterMain.Kf_MateOutBill_BillTypeOneScan == "Y")
-                || (HBillType == "1205" && oSystemParameterMain.Kf_SellOutBill_BillTypeOneScan == "Y")
-                || (HBillType == "1211" && oSystemParameterMain.Kf_EntrustOutBill_BillTypeOneScan == "Y")
-                || (HBillType == "1254" && oSystemParameterMain.Kf_MateReplenishOutBill_BillTypeOneScan == "Y")
-                || (HBillType == "1255" && oSystemParameterMain.Kf_EntrustReplenishOutBill_BillTypeOneScan == "Y")
-                || (HBillType == "1206" && oSystemParameterMain.Kf_OtherOutBill_BillTypeOneScan == "Y"))
+            //鍞竴鏉$爜锛屼竴娆℃壂鐮佹帶鍒讹紝鍚屼竴鏉$爜銆佸悓涓�鍗曟嵁绫诲瀷锛屽湪WMS琛ㄥ拰TEMP琛ㄩ噷锛屽彧鍏佽杩涜涓�娆℃壂鐮�
+            if (omodel_View.HBarCodeType == "鍞竴鏉$爜" && sOneScanCtl == "Y")
             {
                 DataSet dsOneScan = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_OneScan '" + omodel_View.HBarCode + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID + "," + HSPID + ",0,0,'" + HMaker + "'", "h_p_WMS_AddBarCode_OneScan");
                 if (dsOneScan == null || dsOneScan.Tables[0].Rows.Count == 0)
@@ -55521,11 +55841,31 @@
                     oMain.HPieceQty = 0;
                 }
 
+                //绾㈣摑鍗曟爣蹇�
+                //鐢熶骇閫�鏂欙紙1244锛夈�侀攢鍞��搴擄紙1247锛夈�佸叾浠栧嚭搴撶孩瀛楋紙1249锛夈�佸澶栭��鏂欙紙1238锛�
+                //澶栬喘閫�鏂欙紙1239锛夈�佷骇鍝侀��搴擄紙1245锛夈�佸叾浠栧叆搴撶孩瀛楋紙1248锛夈�佸澶栭��搴擄紙1246锛�
+                if (HBillType == "1244" || HBillType == "1247" || HBillType == "1249" || HBillType == "1238"
+                    || HBillType == "1239" || HBillType == "1245" || HBillType == "1248" || HBillType == "1246")
+                {
+                    oMain.HRedBlueFlag = true;
+                }
+                else
+                {
+                    oMain.HRedBlueFlag = false;
+                }
+
+                //鏉$爜绫诲瀷涓哄敮涓�鏉$爜锛屾壂鐮佸瓨鍏ユ椂 HRelationEntryID=1锛岀敤浜庡垽鏂埛鏂板垪琛ㄦ椂鍖哄垎鏄惁閲嶅鎵叆
+                if (omodel_View.HBarCodeType == "鍞竴鏉$爜")
+                {
+                    oMain.HRelationEntryID = 1;
+                }
+
                 oMain.HInterID = HBillID;
                 oMain.HBillNo = HBillNo;
                 oMain.HBillType = HBillType;
                 oMain.HMaker = HMaker;
                 oMain.HMaterID = omodel_View.HMaterID;
+                oMain.HUnitID = omodel_View.HUnitID;
                 oMain.HAuxPropID = omodel_View.HAuxPropID;
                 oMain.HQtyMust = 0;
                 oMain.HBarCode = omodel_View.HBarCode;
@@ -55533,29 +55873,48 @@
                 oMain.HMTONo = omodel_View.HMTONo;
                 oMain.HWhID = HWhID;
                 oMain.HStockPlaceID = HSPID;
+                oMain.HSCWHID = 0;
+                oMain.HOutStockPlaceID = 0;
                 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.HMulSourceBill = 0;       //鏄惁澶氭簮鍗曟爣蹇楋紙0涓洪潪澶氭簮鍗曟ā寮忥紝1涓哄婧愬崟妯″紡锛�
+                oMain.HSubBillType = "1";       //鏍¢獙妯″紡锛孒SubBillType=1
+                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.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)");
+                "(HInterID,HBillNo,HBillType,HMaterID,HUnitID,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.HUnitID.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() + ",'','鏍¢獙妯″紡','" + oMain.HSubBillType + "'" +
+                ",0,0,'" + oMain.HCusBarCode + "'," + oMain.HMulSourceBill.ToString() + "," + (oMain.HBeginDate == "" ? "NULL" : "'" + oMain.HBeginDate + "'") + "," + (oMain.HEndDate == "" ? "NULL" : "'" + oMain.HEndDate + "'") + ")");
 
                 if (sRemQty <= 0)
                 {
@@ -55672,6 +56031,7 @@
                                     sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忕墿鏂欐潯鐮佸け璐ワ紒" + sErrMsg;
                                     return null;
                                 }
+                                oBar.HBarType = "鐗╂枡鏉$爜";
                                 return oBar;
                             }
                         }
@@ -55755,6 +56115,7 @@
                                         sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忕墿鏂欐潯鐮佸け璐ワ紒" + sErrMsg;
                                         return null;
                                     }
+                                    oBar.HBarType = "鐗╂枡鏉$爜";
                                     return oBar;
                                 }
                             }

--
Gitblit v1.9.1