From e453524ea42b61b057df2faabf19828495b37bbb Mon Sep 17 00:00:00 2001 From: yxj <1qaz@123> Date: 星期二, 25 十月 2022 13:32:32 +0800 Subject: [PATCH] 新增扫描托条码调用方法,卓力专用 --- CLOUDWEB/WebService1.asmx.cs | 712 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 707 insertions(+), 5 deletions(-) diff --git a/CLOUDWEB/WebService1.asmx.cs b/CLOUDWEB/WebService1.asmx.cs index 67a6e35..20dcb0e 100644 --- a/CLOUDWEB/WebService1.asmx.cs +++ b/CLOUDWEB/WebService1.asmx.cs @@ -37364,13 +37364,30 @@ //鍒ゆ柇鏄惁鍚敤涓�閿壂鐮佹ā寮忥紝Y涓哄惎鐢紝鏈惎鐢ㄦ椂鍙壂鎻忕墿鏂欐潯鐮� if (oSystemParameter.omodel.WMS_OneKeyMode.ToUpper() == "N") { - if (oSystemParameter.omodel.WMS_CampanyName == "鍗氭棩绉戞妧" || oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏅鸿" || oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏂帿灏�" || oSystemParameter.omodel.WMS_CampanyName == "濂ラ偊") //绯荤粺鍙傛暟 瀹㈡埛瀹氬埗鍖栧悕绉� 绌虹櫧涓洪�氱敤 + if (oSystemParameter.omodel.WMS_CampanyName == "鍗氭棩绉戞妧" || oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏅鸿" + || oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏂帿灏�" || oSystemParameter.omodel.WMS_CampanyName == "濂ラ偊" + || oSystemParameter.omodel.WMS_CampanyName == "鍗撳姏") //绯荤粺鍙傛暟 瀹㈡埛瀹氬埗鍖栧悕绉� 绌虹櫧涓洪�氱敤 { DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View(); if (dal.GetInfoByNumber_View(sBarCode)) { + //鎵樼洏鏉$爜 鍗撳姏 + if (dal.omodel_View.HBarCodeType == "鎵樼洏鏉$爜" && oSystemParameter.omodel.WMS_CampanyName == "鍗撳姏") + { + //灏嗙墿鏂欐潯鐮佷俊鎭啓鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛� + oBar = get_SavePonderationBillMain_Temp_BarCode_Pack_ZhuoLi(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, SourceFlag, HSourceBillType, HOWNERID, HExpressNumber, oSystemParameter.omodel, ref sErrMsg); + if (oBar == null) + { + sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忓け璐ワ紒" + sErrMsg; + return null; + } + else + { + return oBar; + } + } //濡傛灉鏄墭鐩樻潯鐮佸垎瑙e苟妯℃嫙鎵爜 - if (dal.omodel_View.HBarCodeType == "鎵樼洏鏉$爜") + else if (dal.omodel_View.HBarCodeType == "鎵樼洏鏉$爜") { //鍒嗚В鎵樻潯鐮佸緱鍒版槑缁嗘潯鐮佷俊鎭啓鍏ュ嚭鍏ュ簱鏉$爜涓存椂琛� DataSet dsTBarCode; @@ -37498,13 +37515,30 @@ //鏃犺繑鍥炴暟鎹垯涓虹墿鏂欐潯鐮� if (Dss == null || Dss.Tables[0].Rows.Count == 0) { - if (oSystemParameter.omodel.WMS_CampanyName == "鍗氭棩绉戞妧" || oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏅鸿" || oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏂帿灏�" || oSystemParameter.omodel.WMS_CampanyName == "濂ラ偊") //绯荤粺鍙傛暟 瀹㈡埛瀹氬埗鍖栧悕绉� 绌虹櫧涓洪�氱敤 + if (oSystemParameter.omodel.WMS_CampanyName == "鍗氭棩绉戞妧" || oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏅鸿" + || oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏂帿灏�" || oSystemParameter.omodel.WMS_CampanyName == "濂ラ偊" + || oSystemParameter.omodel.WMS_CampanyName == "鍗撳姏") //绯荤粺鍙傛暟 瀹㈡埛瀹氬埗鍖栧悕绉� 绌虹櫧涓洪�氱敤 { DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View(); if (dal.GetInfoByNumber_View(sBarCode)) { + //鎵樼洏鏉$爜 鍗撳姏 + if (dal.omodel_View.HBarCodeType == "鎵樼洏鏉$爜" && oSystemParameter.omodel.WMS_CampanyName == "鍗撳姏") + { + //灏嗙墿鏂欐潯鐮佷俊鎭啓鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛� + oBar = get_SavePonderationBillMain_Temp_BarCode_Pack_ZhuoLi(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, SourceFlag, HSourceBillType, HOWNERID, HExpressNumber, oSystemParameter.omodel, ref sErrMsg); + if (oBar == null) + { + sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HBillID + "锛涙壂鎻忓け璐ワ紒" + sErrMsg; + return null; + } + else + { + return oBar; + } + } //濡傛灉鏄墭鐩樻潯鐮佸垎瑙e苟妯℃嫙鎵爜 - if (dal.omodel_View.HBarCodeType == "鎵樼洏鏉$爜") + else if (dal.omodel_View.HBarCodeType == "鎵樼洏鏉$爜") { //鍒嗚В鎵樻潯鐮佸緱鍒版槑缁嗘潯鐮佷俊鎭啓鍏ュ嚭鍏ュ簱鏉$爜涓存椂琛� DataSet dsTBarCode; @@ -39190,6 +39224,383 @@ { sErrMsg = "鏃犳晥鏉$爜"; return false; + } + } + + #endregion + + #region 鎵弿鐗╂枡鏉$爜锛堟墭鐩樻潯鐮侊級 瀛樺叆鍑哄叆搴撴潯鐮佷复鏃惰〃 鍗撳姏涓撶敤 + + //鎵弿鐗╂枡鏉$爜 瀛樺叆鏉$爜鍑哄叆搴撲复鏃惰〃 + [WebMethod] + public Model.ClsKf_ICStockBill_WMS get_SavePonderationBillMain_Temp_BarCode_Pack_ZhuoLi(string sHBarCode_Pack, Int64 HInterID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, bool SourceFlag, string HSourceBillType, Int64 HStockOrgID, string HCustom1, 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(); + Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS(); + DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View(); + + 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'涓哄惎鐢級 + int sWHSPCtl = 0; //鐣岄潰浠撳簱涓虹┖鏃讹紝鍊煎彉涓�1 + string sBarCode = sHBarCode_Pack.Substring(0, sHBarCode_Pack.Length-2);//鎴帀鏉$爜鍚庝袱浣嶅瓧绗︿覆 + double sRelQty = 0; + + //鏍规嵁鍗曟嵁绫诲瀷锛岃幏鍙栧搴斿崟鎹郴缁熷弬鏁板�� + 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 (dal.GetInfoByBarCode_View(sBarCode)) + { + if (dal.omodel_View.HStopflag) + { + sErrMsg = "鎵樻潯鐮佸搴旀潯鐮侊細 " + sBarCode + " 宸茶绂佺敤锛屼笉鍏佽鎵弿锛�"; + return null; + } + else + { + //钃濆瓧鍏ュ簱銆佹眹鎶ユā鍧楋紝闈炴棤婧愬崟鎵爜銆佹潯鐮佺被鍨嬩负 鍞竴鏉$爜 涓斾负鏈夋簮鍗曠敓鎴愮殑鐗╂枡鏉$爜锛屾壂鎻忔潯鐮佹椂鑷姩甯﹀嚭婧愬崟淇℃伅锛岀涓�娆℃壂鐮佹垨鍚敤澶氭簮鍗曟壂鐮佹ā寮� + //閲囪喘鍏ュ簱锛�1201锛夈�佺敓浜у叆搴擄紙1202锛夈�佸叾浠栧叆搴擄紙1203锛夈�佸澶栧叆搴擄紙1210锛夈�佺敓浜ф眹鎶ワ紙3711锛� + if (HSourceBillType != "-1" && dal.omodel_View.HBarCodeType == "鍞竴鏉$爜" && dal.omodel_View.HSourceBillNo != "" && (SourceFlag == false || sMulSourceCtl == "Y") + && (HBillType == "1201" || HBillType == "1202" || HBillType == "1203" || HBillType == "1210" || HBillType == "3711")) + { + Int64 HAccessFlag = 1; //鏄惁鐗╂枡鏉$爜甯﹀嚭婧愬崟淇℃伅鏍囧織锛�0涓虹洿鎺ユ壂婧愬崟鏉$爜锛�1涓虹墿鏂欐潯鐮佸甫鍑烘簮鍗曚俊鎭級 + oBar = get_SourceBill_MaterBarCode(HInterID, HBillNo, HBillType, dal.omodel_View.HSourceBillNo, dal.omodel_View.HSourceBillType, HMaker, HStockOrgID, HAccessFlag, oSystemParameterMain, ref sErrMsg); + if (oBar == null) + { + return null; + } + else + { + SourceFlag = true; + } + } + else + { + //鏃犳簮鍗曠姸鎬侊紝璁剧疆婧愬崟绫诲瀷涓�-1 + if (SourceFlag == false) + { + //閿�鍞嚭搴撲笉鍏佽鏃犳簮鍗曞嚭搴� + if (HBillType == "1205") + { + sErrMsg = "涓嶅厑璁告棤婧愬崟鍑哄簱锛岃鍏堟壂鎻忔簮鍗曪紒"; + return null; + } + HSourceBillType = "-1"; + } + } + + //1銆侀娆℃壂鐮侀槻涓插崟鍒ゆ柇锛� 2銆佹簮鍗曠被鍨嬫槸鍚﹀湪婧愬崟鍒楄〃閲屽垽鏂紱 3銆佸敮涓�鏉$爜鏄惁瀛樺湪鐩稿悓鏉$爜鍒ゆ柇锛� 4銆佹湁婧愬崟锛岀墿鏂欐槸鍚﹀湪婧愬崟涓垽鏂� + DataSet dsSource = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_SourceInterID_Pack_ZhuoLi " + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + sHBarCode_Pack + "','" + HSourceBillType + "'," + HStockOrgID.ToString() + "," + DBUtility.ClsPub.BoolToString(SourceFlag) + "," + sSourceBillCtl + ",'" + sBatchNoCtl + "','" + sMultilineCtl + "','" + sMaterWHSPCtl + "','" + sSourceWHSPCtl + "'", "h_p_WMS_AddBarCode_SourceInterID_Pack_ZhuoLi"); + if (dsSource == null || dsSource.Tables[0].Rows.Count == 0) + { + sErrMsg = "鍒ゆ柇鎵�鎵潯鐮佹槸鍚﹀湪鍗曟嵁涓彂鐢熼敊璇紒"; + return null; + } + else + { + if (DBUtility.ClsPub.isLong(dsSource.Tables[0].Rows[0][0]) == 0) + { + dal.omodel_View.HMaterID = DBUtility.ClsPub.isLong(dsSource.Tables[0].Rows[0]["HMaterID"]); + dal.omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(dsSource.Tables[0].Rows[0]["HSourceInterID"]); + dal.omodel_View.HSourceQty = DBUtility.ClsPub.isDoule(dsSource.Tables[0].Rows[0]["HSumQtyMust"]); //HSumQtyMust涓烘簮鍗曠浉鍚岀墿鏂欏墿浣欏彲鎵暟閲� + sRelQty = DBUtility.ClsPub.isDoule(dsSource.Tables[0].Rows[0]["HBarCodeQty_Sum"]); //鎵樻潯鐮佹�绘暟閲� + //鑾峰彇浠撳簱浠撲綅淇℃伅 + if (HWhID == 0) + { + HWhID = DBUtility.ClsPub.isLong(dsSource.Tables[0].Rows[0]["HWhID"]); + HSPID = DBUtility.ClsPub.isLong(dsSource.Tables[0].Rows[0]["HSPID"]); + sWHSPCtl = 1; + } + HMaterNumber = DBUtility.ClsPub.isStrNull(dsSource.Tables[0].Rows[0]["HMaterNumber"]); + } + else + { + sErrMsg = DBUtility.ClsPub.isStrNull(dsSource.Tables[0].Rows[0]["HRemark"]); + return null; + } + } + + //鏈夋簮鍗曟壂鐮侊紝鏍规嵁绯荤粺鍙傛暟 鎺у埗鎵爜鏁伴噺鑳藉惁鍙秴鍗曟嵁鏁伴噺锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛� + if (dal.omodel_View.HSourceInterID != 0 && (sMustQtyCtl == "灏忎簬绛変簬搴旀敹" || sMustQtyCtl == "瀹屽叏绛変簬搴旀敹")) + { + if (dal.omodel_View.HSourceQty == 0) + { + sErrMsg = "鍚敤鏉$爜鎵弿鏁伴噺涓嶈兘瓒呮簮鍗曞彲鎵暟閲忥紝鎵�鎵墿鏂欏湪鍒楄〃涓墿浣欏彲鎵暟閲忎负0锛屼笉鍏佽鎵爜锛�"; + return null; + } + else if (sRelQty > dal.omodel_View.HSourceQty) + { + sErrMsg = "鍚敤鏉$爜鎵弿鏁伴噺涓嶈兘瓒呮簮鍗曞彲鎵暟閲忥紝鎵�鎵弿鎵樻潯鐮佹�绘暟閲忎负 " + sRelQty.ToString() + " 澶т簬鍒楄〃涓墿浣欏彲鎵弿鏁伴噺" + dal.omodel_View.HSourceQty.ToString() + "锛屼笉鍏佽鎵爜锛�"; + return null; + } + } + + //鐢熶骇棰嗘枡锛�1204锛夈�侀攢鍞嚭搴擄紙1205锛夈�佸叾浠栧嚭搴撹摑瀛楋紙1206锛夈�佸澶栧嚭搴擄紙1211锛夈�佺敓浜цˉ鏂欙紙1254锛� + //澶栬喘閫�鏂欙紙1239锛夈�佷骇鍝侀��搴擄紙1245锛夈�佸叾浠栧叆搴撶孩瀛楋紙1248锛夈�佸澶栭��搴擄紙1246锛� + //鍑哄簱銆佺孩瀛楀叆搴擄紝鍒ゆ柇鏉$爜搴撳瓨銆丒RP搴撳瓨 + if (HBillType == "1204" || HBillType == "1205" || HBillType == "1206" || HBillType == "1211" || HBillType == "1254" + || HBillType == "1239" || HBillType == "1245" || HBillType == "1248" || HBillType == "1246") + { + double sERPQty = 0; //ERP搴撳瓨鏁伴噺 + string sWhName = ""; //浠撳簱鍚嶇О + string sSPName = ""; //浠撲綅鍚嶇О + //搴撳瓨鎺у埗-WMS璐熷簱瀛樻帶鍒� 鍞竴鏉$爜銆佸惎鐢ㄦ潯鐮佸簱瀛橈紝浠撳簱浠撲綅鑾峰彇椤哄簭锛氱晫闈笂浠撳簱浠撲綅 > 鏉$爜搴撳瓨浠撳簱浠撲綅 + if (dal.omodel_View.HBarCodeType == "鍞竴鏉$爜" && oSystemParameterMain.WMS_WMSStockCtl == "Y") + { + //鍒ゆ柇鏉$爜搴撳瓨 杩斿洖鏉$爜搴撳瓨鏁伴噺 + DataSet DsWMS = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_GetWMSICInventory_Pack_ZhuoLi " + HInterID.ToString() + ",'" + HBillType + "','" + sHBarCode_Pack + "'," + HWhID.ToString() + "," + HSPID.ToString() + "," + HStockOrgID.ToString(), "h_p_WMS_AddBarCode_GetWMSICInventory_Pack_ZhuoLi"); + if (DsWMS == null || DsWMS.Tables[0].Rows.Count == 0) + { + sErrMsg = "鍒ゆ柇鏉$爜搴撳瓨鍙戠敓閿欒锛�"; + return null; + } + else + { + if (DBUtility.ClsPub.isLong(DsWMS.Tables[0].Rows[0][0]) == 1) + { + sErrMsg = DBUtility.ClsPub.isStrNull(DsWMS.Tables[0].Rows[0]["HRemark"]); + return null; + } + } + } + + //鍒ゆ柇浠撳簱銆佷粨浣嶆槸鍚︽湁鏁� + if (HWhID == 0) + { + sErrMsg = "浠撳簱涓嶅厑璁镐负绌猴紝璇峰厛閫夋嫨浠撳簱锛�"; + return null; + } + else + { + //鏍规嵁浠撳簱ID锛屽垽鏂槸鍚﹀惎鐢ㄤ粨浣� + DataSet dsWH = oCn.RunProcReturn(" select HSPFlag from Gy_Warehouse with(nolock) where HItemID= " + HWhID.ToString() + " and HUSEORGID= " + HStockOrgID.ToString(), "Gy_Warehouse"); + if (dsWH == null || dsWH.Tables[0].Rows.Count == 0) + { + sErrMsg = "鎵�閫変粨搴撲笉灞炰簬褰撳墠鐧诲叆缁勭粐锛�"; + return null; + } + else if (HSPID == 0 && DBUtility.ClsPub.isBool(dsWH.Tables[0].Rows[0]["HSPFlag"]) == true) + { + sErrMsg = "鎵�閫変粨搴撳惎鐢ㄤ簡浠撲綅锛屼粨浣嶄笉鍏佽涓虹┖锛岃閫夋嫨瀵瑰簲浠撲綅锛�"; + return null; + } + } + + //搴撳瓨鎺у埗-ERP璐熷簱瀛樻帶鍒� + if (oSystemParameterMain.WMS_ERPStockCtl == "Y") + { + //鍒ゆ柇ERP搴撳瓨 杩斿洖ERP搴撳瓨鏁伴噺 + DataSet DsERP = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_GetERPICInventory " + HInterID.ToString() + ",'" + HBillType + "','" + HMaterNumber + "'," + dal.omodel_View.HAuxPropID.ToString() + ",'" + dal.omodel_View.HBatchNo + "'," + HWhID.ToString() + "," + HSPID.ToString() + "," + HStockOrgID.ToString(), "h_p_WMS_AddBarCode_GetERPICInventory"); + if (DsERP == null || DsERP.Tables[0].Rows.Count == 0) + { + sErrMsg = "鎵�鎵弿鎵樻潯鐮佸搴旂墿鏂欎唬鐮侊細 " + HMaterNumber + " 锛屾棤閲戣澏搴撳瓨锛�"; + return null; + } + 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 = "鎵�鎵弿鎵樻潯鐮佸搴旂墿鏂欎唬鐮侊細" + HMaterNumber + " 锛屽湪浠撳簱[ " + sWhName + " ]銆佷粨浣峓 " + sSPName + " ]涓紝鏃犻噾铦跺簱瀛橈紒"; + return null; + } + //鍒ゆ柇鎵弿鏁伴噺涓庨噾铦跺簱瀛樻暟閲� + else if (sRelQty > sERPQty) + { + sErrMsg = "鎵�鎵弿鎵樻潯鐮佸搴旂墿鏂欎唬鐮侊細" + HMaterNumber + " 锛屽湪浠撳簱[ " + sWhName + " ]銆佷粨浣峓 " + sSPName + " ]涓紝閲戣澏浜戝簱瀛樻暟閲忎负 " + sERPQty.ToString() + " 灏忎簬鎵樻潯鐮佹�绘暟閲�" + sRelQty.ToString() + " 锛�"; + return null; + } + } + } + + //鍏堣繘鍏堝嚭鎺у埗 + if (sFIFOCtl == "Y") + { + DataSet dsFIFO = oCn.RunProcReturn("exec h_p_Kf_ICInventory_FIFO_Tmp_BarCode " + HInterID.ToString() + ",'" + HBillType + "','" + dal.omodel_View.HBatchNo + "','" + dal.omodel_View.HBarCode + "'," + dal.omodel_View.HQty.ToString(), "h_p_Kf_ICInventory_FIFO_Tmp_BarCode"); + if (dsFIFO == null || dsFIFO.Tables[0].Rows.Count == 0) + { + sErrMsg = "鍚敤鍏堣繘鍏堝嚭鎺у埗锛屾墍鎵潯鐮佷笉鍦ㄥ厛杩涘厛鍑哄垪琛ㄦ竻鍗曚腑锛�"; + return null; + } + } + } + //閲囪喘鍏ュ簱锛�1201锛夈�佷骇鍝佸叆搴擄紙1202锛夈�佸叾浠栧叆搴撹摑瀛楋紙1203锛夈�佸澶栧叆搴擄紙1210锛夈�佺敓浜ф眹鎶ワ紙3711锛� + //鐢熶骇閫�鏂欙紙1244锛夈�侀攢鍞��搴擄紙1247锛夈�佸叾浠栧嚭搴撶孩瀛楋紙1249锛夈�佸澶栭��鏂欙紙1238锛� + //鐢熶骇姹囨姤銆佽摑瀛楀叆搴撱�佺孩瀛楀嚭搴擄紝鑾峰彇鍞竴鏉$爜鍓╀綑鍙壂鎻忔暟閲� + else + { + //鍒ゆ柇浠撳簱銆佷粨浣嶆槸鍚︽湁鏁� + if (HWhID == 0) + { + sErrMsg = "浠撳簱涓嶅厑璁镐负绌猴紝璇峰厛閫夋嫨浠撳簱锛�"; + return null; + } + else + { + //鏍规嵁浠撳簱ID锛屽垽鏂槸鍚﹀惎鐢ㄤ粨浣� + DataSet dsInWH = oCn.RunProcReturn(" select HSPFlag from Gy_Warehouse with(nolock) where HItemID= " + HWhID.ToString() + " and HUSEORGID= " + HStockOrgID.ToString(), "Gy_Warehouse"); + + if (sWHSPCtl == 1) + { + if (dsInWH == null || dsInWH.Tables[0].Rows.Count == 0) + { + sErrMsg = "婧愬崟鎴栫墿鏂欓粯璁や粨搴撶淮鎶や俊鎭敊璇紝璇烽噸鏂扮淮鎶ゆ纭粨搴撲俊鎭紒"; + return null; + } + else if (HSPID == 0 && DBUtility.ClsPub.isBool(dsInWH.Tables[0].Rows[0]["HSPFlag"]) == true) + { + sErrMsg = "婧愬崟鎴栫墿鏂欎腑鎵�缁存姢鐨勪粨搴撳惎鐢ㄤ簡浠撲綅锛屼絾娌℃湁缁存姢浠撲綅淇℃伅锛岃鍏堢淮鎶ゅソ浠撲綅淇℃伅锛�"; + return null; + } + } + else + { + if (dsInWH == null || dsInWH.Tables[0].Rows.Count == 0) + { + sErrMsg = "鎵�閫変粨搴撲笉灞炰簬褰撳墠鐧诲叆缁勭粐锛�"; + return null; + } + else if (HSPID == 0 && DBUtility.ClsPub.isBool(dsInWH.Tables[0].Rows[0]["HSPFlag"]) == true) + { + sErrMsg = "鎵�閫変粨搴撳惎鐢ㄤ簡浠撲綅锛屼粨浣嶄笉鍏佽涓虹┖锛岃閫夋嫨瀵瑰簲浠撲綅锛�"; + return null; + } + } + } + + //鑾峰彇鍞竴鏉$爜鍓╀綑鍙壂鎻忔暟閲� + if (dal.omodel_View.HBarCodeType == "鍞竴鏉$爜") + { + DataSet DsInQty = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_GetInBill_Pack_ZhuoLi '" + sHBarCode_Pack + "','" + HBillType + "'", "h_p_WMS_AddBarCode_GetInBill_Pack_ZhuoLi"); + if (DsInQty == null || DsInQty.Tables[0].Rows.Count == 0) + { + sErrMsg = "鍒ゆ柇鏉$爜鍓╀綑鍙壂鎻忔暟閲忓彂鐢熼敊璇紒"; + return null; + } + else + { + if (DBUtility.ClsPub.isLong(DsInQty.Tables[0].Rows[0][0]) == 1) + { + sErrMsg = DBUtility.ClsPub.isStrNull(DsInQty.Tables[0].Rows[0]["HRemark"]); + return null; + } + } + } + } + + //鍞竴鏉$爜锛屾槸鍚﹀惎鐢ㄤ竴娆℃壂鐮佹帶鍒讹紙'Y'涓哄惎鐢級 + if (dal.omodel_View.HBarCodeType == "鍞竴鏉$爜" && sOneScanCtl == "Y") + { + //涓�娆℃壂鐮佹帶鍒讹紝鍚屼竴鏉$爜銆佸悓涓�鍗曟嵁绫诲瀷锛屽湪WMS琛ㄥ拰TEMP琛ㄩ噷锛屽彧鍏佽杩涜涓�娆℃壂鐮� + DataSet dsOneScan = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_OneScan_Pack_ZhuoLi '" + sHBarCode_Pack + "'," + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID + "," + HSPID + ",0,0,'" + HMaker + "'", "h_p_WMS_AddBarCode_OneScan_Pack_ZhuoLi"); + 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 null; + } + } + } + + //璧嬪�硷紝鍐欏叆鍑哄叆搴撲复鏃惰〃 + //绾㈣摑鍗曟爣蹇� + //鐢熶骇閫�鏂欙紙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; + } + + //鏄惁澶氭簮鍗曟爣蹇楋紙0涓洪潪澶氭簮鍗曟ā寮忥紝1涓哄婧愬崟妯″紡锛� + if (sMulSourceCtl == "Y") + { + oMain.HMulSourceBill = 1; + } + else + { + oMain.HMulSourceBill = 0; + } + + if (HCustom1 == "宸ュ簭姹囨姤杞Щ鍗�") + { + oMain.HSubBillType = "1270"; + HCustom1 = ""; + } + //鏉$爜绫诲瀷涓哄敮涓�鏉$爜锛屾壂鐮佸瓨鍏ユ椂 HRelationEntryID=1锛岀敤浜庡垽鏂埛鏂板垪琛ㄦ椂鍖哄垎鏄惁閲嶅鎵叆 + if (dal.omodel_View.HBarCodeType == "鍞竴鏉$爜") + { + oMain.HRelationEntryID = 1; + } + oMain.HInterID = HInterID; + oMain.HBillNo = HBillNo; + oMain.HBillType = HBillType; + oMain.HMaker = HMaker; + oMain.HMaterID = dal.omodel_View.HMaterID; + oMain.HQtyMust = 0; + oMain.HMTONo = dal.omodel_View.HMTONo; + oMain.HWhID = HWhID; + oMain.HStockPlaceID = HSPID; + oMain.HSCWHID = 0; + oMain.HOutStockPlaceID = 0; + oMain.HPieceQty = 1; + oMain.HSourceInterID = DBUtility.ClsPub.isLong(dsSource.Tables[0].Rows[0]["HSourceInterID"]); + oMain.HSourceEntryID = DBUtility.ClsPub.isLong(dsSource.Tables[0].Rows[0]["HSourceEntryID"]); + oMain.HSourceBillNo = DBUtility.ClsPub.isStrNull(dsSource.Tables[0].Rows[0]["HSourceBillNo"]); + oMain.HSourceBillType = DBUtility.ClsPub.isStrNull(dsSource.Tables[0].Rows[0]["HSourceBillType"]); + oMain.HSTOCKORGID = HStockOrgID; + oMain.HOWNERID = HStockOrgID; + oMain.HCusBarCode = HCustom1; + + 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) " + + " select " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "'," + oMain.HMaterID.ToString() + ",HAuxPropID," + oMain.HProcID.ToString() + + "," + oMain.HWhID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HStockPlaceID.ToString() + "," + oMain.HOutStockPlaceID.ToString() + "," + oMain.HGroupID.ToString() + ",'" + oMain.HAddr + "'" + + "," + oMain.HQtyMust.ToString() + ",HQty," + oMain.HPieceQty.ToString() + ",HBatchNo,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() + + "from Gy_BarCodeBill with(nolock) where HBarCode_Pack= '" + sHBarCode_Pack + "' and HBarCodeType='鍞竴鏉$爜' order by HItemID" + ); + + oBar.HBarType = "鐗╂枡鏉$爜"; + return oBar; + } + } + else + { + sErrMsg = "鏉$爜妗f涓笉瀛樺湪璇ユ墭鏉$爜鎵�瀵瑰簲鏉$爜锛� " + sBarCode + " 锛岃纭璇ユ潯鐮佹槸鍚﹀凡琚垹闄わ紒"; + return null; } } @@ -42826,8 +43237,19 @@ } 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; + } //鍒ゆ柇鏉$爜绫诲瀷鏄惁涓烘墭鐩樻潯鐮侊紝濡傛灉鏄墭鐩樻潯鐮佸垯鍒嗚В骞舵ā鎷熸壂鐮� - if (dal.omodel_View.HBarCodeType == "鎵樼洏鏉$爜") + else if (dal.omodel_View.HBarCodeType == "鎵樼洏鏉$爜") { //鍒嗚В鎵樼洏鏉$爜寰楀埌鏄庣粏鏉$爜淇℃伅鍐欏叆鏉$爜鍑哄叆搴撲复鏃惰〃 DataSet dsTBarCode = oCn.RunProcReturn("exec h_p_WMS_BeforeCheckToTPBarCode '" + sBarCode + "'", "h_p_WMS_BeforeCheckToTPBarCode"); @@ -43385,6 +43807,286 @@ return true; } + //鎵弿鐗╂枡鏉$爜锛堟墭鐩樻潯鐮侊級 瀛樺叆鏉$爜鍑哄叆搴撲复鏃惰〃 璋冩嫧 鍗撳姏涓撶敤 + [WebMethod] + public bool set_SavePonderationBillMain_Temp_BarCode_Pack_MoveStock_ZhuoLi(string sHBarCode_Pack, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Int64 HSCWHID, Int64 HSCSPID, 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(); + DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View(); + + 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'涓哄惎鐢級 + string sBarCode = sHBarCode_Pack.Substring(0, sHBarCode_Pack.Length - 2);//鎴帀鏉$爜鍚庝袱浣嶅瓧绗︿覆 + double sRelQty = 0; + + //鏍规嵁鍗曟嵁绫诲瀷锛岃幏鍙栧搴斿崟鎹郴缁熷弬鏁板�� + 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"; + } + + if (dal.GetInfoByBarCode_View(sBarCode)) + { + if (dal.omodel_View.HStopflag) + { + sErrMsg = "鎵樻潯鐮佸搴旀潯鐮侊細 " + sBarCode + " 宸茶绂佺敤锛屼笉鍏佽鎵弿锛�"; + return false; + } + else + { + //1銆侀娆℃壂鐮侀槻涓插崟鍒ゆ柇锛� 2銆佹簮鍗曠被鍨嬫槸鍚﹀湪婧愬崟鍒楄〃閲屽垽鏂紱3銆佸敮涓�鏉$爜鏄惁瀛樺湪鐩稿悓鏉$爜鍒ゆ柇锛� 4銆佹湁婧愬崟锛岀墿鏂欐槸鍚﹀湪婧愬崟涓垽鏂� + DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_MoveStock_Pack_ZhuoLi '" + sHBarCode_Pack + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HSourceBillType + "'," + DBUtility.ClsPub.BoolToString(SourceFlag), "h_p_WMS_AddBarCode_MoveStock_Pack_ZhuoLi"); + if (ds1 == null || ds1.Tables[0].Rows.Count == 0) + { + sErrMsg = "鍒ゆ柇鎵�鎵潯鐮佹槸鍚﹀湪鍗曟嵁涓彂鐢熼敊璇紒"; + return false; + } + else + { + if (DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0][0]) == 0) + { + dal.omodel_View.HMaterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HMaterID"]); + dal.omodel_View.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillNo"]); + dal.omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSourceEntryID"]); + dal.omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSourceInterID"]); + dal.omodel_View.HSourceQty = DBUtility.ClsPub.isDoule(ds1.Tables[0].Rows[0]["HQtyMust"]); //婧愬崟鍙壂鏁伴噺 + sRelQty = DBUtility.ClsPub.isDoule(ds1.Tables[0].Rows[0]["HBarCodeQty_Sum"]); //鎵樻潯鐮佹�绘暟閲� + HMaterNumber = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HMaterNumber"]); + } + else + { + sErrMsg = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]); + return false; + } + } + + //鏈夋簮鍗曟壂鐮侊紝鏍规嵁绯荤粺鍙傛暟 鎺у埗鎵爜鏁伴噺鑳藉惁鍙秴鍗曟嵁鏁伴噺锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛� + if (dal.omodel_View.HSourceInterID != 0 && (sMustQtyCtl == "灏忎簬绛変簬搴旀敹" || sMustQtyCtl == "瀹屽叏绛変簬搴旀敹")) + { + if (dal.omodel_View.HSourceQty == 0) + { + sErrMsg = "鍚敤鏉$爜鎵弿鏁伴噺涓嶈兘瓒呮簮鍗曞彲鎵暟閲忥紝鎵�鎵墿鏂欏湪鍒楄〃涓墿浣欏彲鎵暟閲忎负0锛屼笉鍏佽鎵爜锛�"; + return false; + } + else if (sRelQty > dal.omodel_View.HSourceQty) + { + sErrMsg = "鍚敤鏉$爜鎵弿鏁伴噺涓嶈兘瓒呮簮鍗曞彲鎵暟閲忥紝鎵�鎵弿鏉$爜鏁伴噺涓� " + sRelQty.ToString() + " 澶т簬鍒楄〃涓墿浣欏彲鎵弿鏁伴噺" + dal.omodel_View.HSourceQty.ToString() + "锛屼笉鍏佽鎵爜锛�"; + return false; + } + } + + double sERPQty = 0; //ERP搴撳瓨鏁伴噺 + string sWhName = ""; //浠撳簱鍚嶇О + string sSPName = ""; //浠撲綅鍚嶇О + if (dal.omodel_View.HBarCodeType == "鍞竴鏉$爜") + { + //鍒ゆ柇鏉$爜搴撳瓨 搴撳瓨鎺у埗-WMS璐熷簱瀛樻帶鍒� + if (oSystemParameterMain.WMS_WMSStockCtl == "Y" && HBillType != "1251") + { + //鍒ゆ柇鏉$爜搴撳瓨 杩斿洖鏉$爜搴撳瓨鏁伴噺 + DataSet DsWMS = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_GetWMSICInventory_Pack_ZhuoLi " + HBillID.ToString() + ",'" + HBillType + "','" + sHBarCode_Pack + "'," + HSCWHID.ToString() + "," + HSCSPID.ToString() + "," + HStockOutOrgID.ToString(), "h_p_WMS_AddBarCode_GetWMSICInventory_Pack_ZhuoLi"); + if (DsWMS == null || DsWMS.Tables[0].Rows.Count == 0) + { + sErrMsg = "鍒ゆ柇鏉$爜搴撳瓨鍙戠敓閿欒锛�"; + return false; + } + else + { + if (DBUtility.ClsPub.isLong(DsWMS.Tables[0].Rows[0][0]) == 1) + { + sErrMsg = DBUtility.ClsPub.isStrNull(DsWMS.Tables[0].Rows[0]["HRemark"]); + return false; + } + } + } + } + + //鍒ゆ柇璋冨嚭浠撳簱銆佷粨浣嶆槸鍚︽湁鏁� + 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" && HBillType != "1251") + { + //鍒ゆ柇ERP搴撳瓨 杩斿洖ERP搴撳瓨鏁伴噺 + DataSet DsERP = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_GetERPICInventory " + HBillID.ToString() + ",'" + HBillType + "','" + HMaterNumber + "'," + dal.omodel_View.HAuxPropID.ToString() + ",'" + dal.omodel_View.HBatchNo + "'," + HSCWHID.ToString() + "," + HSCSPID.ToString() + "," + HStockOutOrgID.ToString(), "h_p_WMS_AddBarCode_GetERPICInventory"); + if (DsERP == null || DsERP.Tables[0].Rows.Count == 0) + { + sErrMsg = "鎵�鎵弿鎵樻潯鐮佸搴旂墿鏂欎唬鐮侊細 " + 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 = "鎵�鎵弿鎵樻潯鐮佸搴旂墿鏂欎唬鐮侊細" + HMaterNumber + " 锛屽湪浠撳簱[ " + sWhName + " ]銆佷粨浣峓 " + sSPName + " ]涓紝鏃犻噾铦跺簱瀛橈紒"; + return false; + } + //鍒ゆ柇鎵弿鏁伴噺涓庨噾铦跺簱瀛樻暟閲� + else if (sRelQty > sERPQty) + { + sErrMsg = "鎵�鎵弿鎵樻潯鐮佸搴旂墿鏂欎唬鐮侊細" + HMaterNumber + " 锛屽湪浠撳簱[ " + sWhName + " ]銆佷粨浣峓 " + sSPName + " ]涓紝閲戣澏浜戝簱瀛樻暟閲忎负 " + sERPQty.ToString() + " 灏忎簬鎵樻潯鐮佹�绘暟閲�" + sRelQty.ToString() + " 锛�"; + return false; + } + } + } + + if (HWhID == HSCWHID && HSPID == HSCSPID) + { + sErrMsg = "璋冨叆浠撳簱銆佷粨浣嶄笉鑳戒笌璋冨嚭浠撳簱銆佷粨浣嶇浉鍚岋紒"; + return false; + } + + //鍞竴鏉$爜锛屾槸鍚﹀惎鐢ㄤ竴娆℃壂鐮佹帶鍒讹紙'Y'涓哄惎鐢級 + if (dal.omodel_View.HBarCodeType == "鍞竴鏉$爜" && sOneScanCtl == "Y") + { + //涓�娆℃壂鐮佹帶鍒讹紝鍚屼竴鏉$爜銆佸悓涓�鍗曟嵁绫诲瀷锛屽湪WMS琛ㄥ拰TEMP琛ㄩ噷锛屽彧鍏佽杩涜涓�娆℃壂鐮� + DataSet dsOneScan = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_OneScan_Pack_ZhuoLi '" + sHBarCode_Pack + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID + "," + HSPID + "," + HSCWHID.ToString() + "," + HSCSPID.ToString() + ",'" + HMaker + "'", "h_p_WMS_AddBarCode_OneScan_Pack_ZhuoLi"); + 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; + } + } + } + + //鏄惁澶氭簮鍗曟爣蹇楋紙0涓洪潪澶氭簮鍗曟ā寮忥紝1涓哄婧愬崟妯″紡锛� + if (sMulSourceCtl == "Y") + { + oMain.HMulSourceBill = 1; + } + else + { + oMain.HMulSourceBill = 0; + } + //鏉$爜绫诲瀷涓哄敮涓�鏉$爜锛屾壂鐮佸瓨鍏ユ椂 HRelationEntryID=1锛岀敤浜庡垽鏂埛鏂板垪琛ㄦ椂鍖哄垎鏄惁閲嶅鎵叆 + if (dal.omodel_View.HBarCodeType == "鍞竴鏉$爜") + { + oMain.HRelationEntryID = 1; + } + oMain.HInterID = HBillID; + oMain.HBillNo = HBillNo; + oMain.HBillType = HBillType; + oMain.HMaker = HMaker; + oMain.HMaterID = dal.omodel_View.HMaterID; + oMain.HQtyMust = 0; + oMain.HMTONo = dal.omodel_View.HMTONo; + oMain.HWhID = HWhID; + oMain.HStockPlaceID = HSPID; + oMain.HSCWHID = HSCWHID; + oMain.HOutStockPlaceID = HSCSPID; + oMain.HSourceInterID = dal.omodel_View.HSourceInterID; + oMain.HSourceEntryID = dal.omodel_View.HSourceEntryID; + oMain.HSourceBillNo = dal.omodel_View.HSourceBillNo; + oMain.HSourceBillType = HSourceBillType; + oMain.HRedBlueFlag = false; + oMain.HPieceQty = 1; + oMain.HSTOCKORGID = HStockOutOrgID; + oMain.HOWNERID = HStockInOrgID; + + //鍏堣繘鍏堝嚭鎺у埗 + if ((HBillType == "1207" && oSystemParameterMain.Kf_MoveStockBill_FIFOCtl == "Y") //绯荤粺鍙傛暟 鐩存帴璋冩嫧鍗�-鍏堣繘鍏堝嚭鎺у埗 + ) + { + DataSet FIFO = oCn.RunProcReturn("exec h_p_Kf_ICInventory_FIFO_Tmp_BarCode " + HBillID.ToString() + ",'" + HBillType + "','" + oMain.HBatchNo + "','" + oMain.HBarCode + "'," + oMain.HQty.ToString(), "h_p_Kf_ICInventory_FIFO_Tmp_BarCode"); + if (FIFO == null || FIFO.Tables[0].Rows.Count == 0) + { + sErrMsg = "鍚敤鍏堣繘鍏堝嚭鎺у埗锛屾墍鎵潯鐮佷笉鍦ㄥ厛杩涘厛鍑哄垪琛ㄦ竻鍗曚腑锛�"; + return false; + } + } + + 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) " + + " select " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "'," + oMain.HMaterID.ToString() + ",HAuxPropID," + oMain.HProcID.ToString() + + "," + oMain.HWhID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HStockPlaceID.ToString() + "," + oMain.HOutStockPlaceID.ToString() + "," + oMain.HGroupID.ToString() + ",'" + oMain.HAddr + "'" + + "," + oMain.HQtyMust.ToString() + ",HQty," + oMain.HPieceQty.ToString() + ",HBatchNo,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() + + "from Gy_BarCodeBill with(nolock) where HBarCode_Pack= '" + sHBarCode_Pack + "' and HBarCodeType='鍞竴鏉$爜' order by HItemID" + ); + return true; + } + } + else + { + sErrMsg = "鏉$爜妗f涓笉瀛樺湪璇ユ墭鏉$爜鎵�瀵瑰簲鏉$爜锛� " + sBarCode + " 锛岃纭璇ユ潯鐮佹槸鍚﹀凡琚垹闄わ紒"; + return false; + } + } + #endregion -- Gitblit v1.9.1