From e5200629c4697952c1f1615f220beab1478a9cd8 Mon Sep 17 00:00:00 2001 From: yxj <1qaz@123> Date: 星期日, 24 四月 2022 11:04:49 +0800 Subject: [PATCH] 新增生产领料校验扫码模块,缓存列表模块调用方法 --- CLOUDWEB/WebService1.asmx.cs | 329 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 316 insertions(+), 13 deletions(-) diff --git a/CLOUDWEB/WebService1.asmx.cs b/CLOUDWEB/WebService1.asmx.cs index c408f3c..b526993 100644 --- a/CLOUDWEB/WebService1.asmx.cs +++ b/CLOUDWEB/WebService1.asmx.cs @@ -15414,6 +15414,216 @@ #endregion + #region 棰嗘枡鍑哄簱 鏍¢獙妯″紡* + + //鏍¢獙棰嗘枡鍑哄簱鍗� + [WebMethod] + public bool set_SaveMateOutBill_BillCheck(Model.ClsKf_MateOutBillMain oMain, ref string sErrMsg) + { + if (set_SaveMateOutBill_CLD_BillCheck(oMain, ref sErrMsg) == true) + { + //涓婁紶鎴愬姛 + return true; + } + else + { + //涓婁紶澶辫触 + sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg; + return false; + } + } + + public bool set_SaveMateOutBill_CLD_BillCheck(Model.ClsKf_MateOutBillMain oMain, ref string sErrMsg) + { + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); + //鑾峰彇绯荤粺鍙傛暟 + Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); + if (oSystemParameter.ShowBill(ref sErrMsg) == false) + { + sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg; + return false; + } + //涓婁紶鍓嶅垽鏂� + DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_MateOutBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameter.omodel.Kf_MateOutBillCheck_MustQtyCtl + "'", "h_p_WMS_BeforeUpload_MateOutBillCheck"); + if (Ds == null || Ds.Tables[0].Rows.Count == 0) + { + sErrMsg = "鏍¢獙涓婁紶鍓嶅垽鏂紝鍙戠敓閿欒锛�"; + return false; + } + else + { + if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1) + { + sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]); + return false; + } + } + + try + { + oCn.BeginTran(); + //鍐欏叆鏉$爜鍑哄叆搴撹〃 + oCn.RunProc("EXEC h_p_Kf_ICStockBillSub_WMS_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillType + "','" + oMain.HBillNo + "'"); + + //浠庨厤缃枃浠惰幏鍙� CLOUD缃戝潃銆佽处濂椾俊鎭�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮� + if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo)) + { + sErrMsg = Pub_Class.ClsPub.sExeReturnInfo; + return false; + } + + //鑾峰彇CLOUD璐﹀彿瀵嗙爜 + string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName; + string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd; + DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID); + if (ds11 == null || ds11.Tables[0].Rows.Count == 0) + { + } + else + { + sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]); + sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]); + } + + if (oSystemParameter.omodel.Kf_MateOutBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹") + { + string HReturn; + ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl); + string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117 + bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052); + if (bLogin) + { + //鎻愪氦鍗曟嵁 + string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}"; + var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit", + new object[] { "PRD_PickMtrl", sJson2 }); + //瀹℃牳鍗曟嵁 + string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}"; + var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit", + new object[] { "PRD_PickMtrl", sJson3 }); + + HReturn = result3.ToString(); + + if (HReturn.Contains("\"IsSuccess\":false") == true) + { + sErrMsg = "瀹℃牳鐢熶骇棰嗘枡鍗曞け璐ワ紒" + HReturn; + oCn.RollBack(); + return false; + } + else + { + oCn.Commit(); + return true; + } + } + else + { + sErrMsg = "鏍¢獙瀹℃牳鐢熶骇棰嗘枡鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒"; + oCn.RollBack(); + return false; + } + } + else + { + //鏍规嵁TMP琛� 杩斿洖 淇敼淇℃伅 + DataSet Ds2; + Ds2 = oCn.RunProcReturn("exec h_p_Kf_GetMateOutBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMateOutBillCheck"); + if (Ds2 == null || Ds2.Tables[0].Rows.Count == 0 || Ds2.Tables[1].Rows.Count == 0) + { + sErrMsg = "鑾峰彇瀛愯〃淇℃伅澶辫触锛�"; + oCn.RollBack(); + return false; + } + else + { + string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[\"FEntity\",\"FActualQty\"]," + + "\"NeedReturnFields\":[],\"IsDeleteEntry\":\"false\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," + + "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," + + "\"Model\": { \"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds2.Tables[0].Rows[0]["FID"]) + "\"," + + "\"FEntity\": [ "; + string sJson_Entry = ""; + for (int i = 0; i < Ds2.Tables[1].Rows.Count; i++) + { + if (sJson_Entry != "") + { + sJson_Entry = sJson_Entry + " , "; + } + + sJson_Entry = sJson_Entry + "{" + + "\"FEntryID\":\"" + Pub_Class.ClsPub.isStrNull(Ds2.Tables[1].Rows[i]["FEntryID"]) + "\"," + + "\"FActualQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds2.Tables[1].Rows[i]["FActualQty"]) + "\"," + + "}"; + } + string sJson_End = " ] }}"; + string sJson = sJson_Main + sJson_Entry + sJson_End; + + //楠岃瘉鐢ㄦ埛淇℃伅 + string HReturn; + ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl); + string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117 + bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052); + if (bLogin) + { + //淇敼鍗曟嵁 + var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save", + new object[] { "PRD_PickMtrl", sJson }); + + HReturn = result.ToString(); + + if (HReturn.Contains("\"IsSuccess\":false") == true) + { + sErrMsg = "淇敼鐢熶骇棰嗘枡鍗曞け璐ワ紒" + HReturn + sJson; + oCn.RollBack(); + return false; + } + else + { + HReturn = ""; + //鎻愪氦鍗曟嵁 + string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}"; + var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit", + new object[] { "PRD_PickMtrl", sJson2 }); + //瀹℃牳鍗曟嵁 + string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}"; + var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit", + new object[] { "PRD_PickMtrl", sJson3 }); + + HReturn =result3.ToString(); + + if (HReturn.Contains("\"IsSuccess\":false") == true) + { + sErrMsg = "鏍¢獙瀹℃牳鐢熶骇棰嗘枡鍗曞け璐ワ紒" + HReturn + sJson; + oCn.RollBack(); + return false; + } + else + { + //閲嶆柊鍚屾鐢熶骇棰嗘枡鍗� + oCn.RunProc("exec h_p_IFCLD_ERPSourceBillToLocal_MateOut '" + oMain.HBillNo + "'"); + oCn.Commit(); + return true; + } + } + } + else + { + sErrMsg = "鏍¢獙瀹℃牳鐢熶骇棰嗘枡鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒"; + oCn.RollBack(); + return false; + } + } + } + } + catch (Exception e) + { + sErrMsg = "鏍¢獙瀹℃牳鐢熶骇棰嗘枡鍗曞け璐ワ紒" + e.Message; + oCn.RollBack(); + return false; + } + } + + #endregion + #region 鐢熶骇琛ユ枡鍗� * //鐢熸垚鐢熶骇琛ユ枡鍗� @@ -35579,6 +35789,43 @@ #endregion + #region 鎵弿鍗曟嵁鏉$爜 棰嗘枡鍑哄簱 *鏍¢獙妯″紡 + + [WebMethod] + public Model.ClsKf_ICStockBill_WMS get_BillBarCode_MateOutCheck(string HBillNo, string HBillType, string HMaker, Int64 HOWNERID, ref string sErrMsg) + { + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); + Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS(); + //灏嗗崟鎹俊鎭瓨鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛� + DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddBillBarCode_MateOutCheck '" + HBillNo + "','" + HBillType + "','" + HMaker + "'," + HOWNERID.ToString(), "h_p_WMS_AddBillBarCode_MateOutCheck"); + if (ds1 == null || ds1.Tables[0].Rows.Count == 0) + { + sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛涘皢鍗曟嵁淇℃伅瀛樺叆鏉$爜鍑哄叆搴撲复鏃惰〃澶辫触锛�"; + return null; + } + else + { + if (DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0][0]) == 0) + { + oBar.HInterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HInterID"]); + oBar.HBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HBillNo"]); + oBar.HWhID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HWhID"]); + oBar.HWhName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HWhName"]); + oBar.HSPFlag = DBUtility.ClsPub.isBool(ds1.Tables[0].Rows[0]["HSPFlag"]); + oBar.HSPID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSPID"]); + oBar.HSPName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSPName"]); + return oBar; + } + else + { + sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛�" + DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]); + return null; + } + } + } + + #endregion + #region 鎵弿鍗曟嵁鏉$爜 鍏朵粬鍑哄簱 *鏍¢獙妯″紡 [WebMethod] @@ -35633,6 +35880,11 @@ //鍏朵粬鍑哄簱鍗� sBillTypeOneScan = "Y"; } + else if (HBillType == "1204" && oSystemParameterMain.Kf_MateOutBill_BillTypeOneScan == "Y") + { + //棰嗘枡鍑哄簱鍗� + sBillTypeOneScan = "Y"; + } //鍒ゆ柇鏄惁瀛樺湪鐩稿悓鏉$爜锛屽垽鏂槸鍚﹀惎鐢ㄤ竴娆℃壂鐮佹帶鍒讹紝鍒ゆ柇鎵�鎵潯鐮佹槸鍚﹀湪鍗曟嵁涓� DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_BillCheck '" + sBarCode + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID + "," + HSPID + ",'" + sBillTypeOneScan + "'", "h_p_WMS_AddBarCode_BillCheck"); @@ -35684,15 +35936,33 @@ sRelQty = omodel_View.HQty; } - if (omodel_View.HSourceQty == 0) + //棰嗘枡鍑哄簱鏍¢獙锛屾牴鎹郴缁熷弬鏁帮細棰嗘枡鍑哄簱鏍¢獙-搴旀敹鏁伴噺 鎺у埗鎵爜鏁伴噺鑳藉惁鍙秴鍗曟嵁鏁伴噺锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛� + if (HBillType == "1204" && (oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹")) { - sErrMsg = "鎵�鎵墿鏂欏湪鍗曟嵁涓墿浣欏彲鎵暟閲忎负0锛屼笉鍏佽鎵爜锛�"; - return false; + 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 (sRelQty > omodel_View.HSourceQty) + //鍏朵粬鍑哄簱鏍¢獙锛屼笉鍙秴鍗曟嵁鏁伴噺 + else if (HBillType == "1206") { - sErrMsg = "鎵�鎵弿鏉$爜鏁伴噺涓� " + sRelQty.ToString() + " 澶т簬瀵瑰簲鍗曟嵁鍓╀綑鍙壂鎻忔暟閲�" + omodel_View.HSourceQty.ToString() + "锛屼笉鍏佽鎵爜锛�"; - return false; + 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 @@ -35711,15 +35981,33 @@ sRelQty = omodel_View.HQty; } - if (omodel_View.HSourceQty == 0) + //棰嗘枡鍑哄簱鏍¢獙锛屾牴鎹郴缁熷弬鏁帮細棰嗘枡鍑哄簱鏍¢獙-搴旀敹鏁伴噺 鎺у埗鎵爜鏁伴噺鑳藉惁鍙秴鍗曟嵁鏁伴噺锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛� + if (HBillType == "1204" && (oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹" || oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹")) { - sErrMsg = "鎵�鎵墿鏂欏湪鍗曟嵁涓墿浣欏彲鎵暟閲忎负0锛屼笉鍏佽鎵爜锛�"; - return false; + 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 (sRelQty > omodel_View.HSourceQty) + //鍏朵粬鍑哄簱鏍¢獙锛屼笉鍙秴鍗曟嵁鏁伴噺 + else if (HBillType == "1206") { - sErrMsg = "鎵�鎵弿鏉$爜鏁伴噺涓� " + sRelQty.ToString() + " 澶т簬瀵瑰簲鍗曟嵁鍓╀綑鍙壂鎻忔暟閲�" + omodel_View.HSourceQty.ToString() + "锛屼笉鍏佽鎵爜锛�"; - return false; + if (omodel_View.HSourceQty == 0) + { + sErrMsg = "鎵�鎵墿鏂欏湪鍗曟嵁涓墿浣欏彲鎵暟閲忎负0锛屼笉鍏佽鎵爜锛�"; + return false; + } + else if (sRelQty > omodel_View.HSourceQty) + { + sErrMsg = "鎵�鎵弿鏉$爜鏁伴噺涓� " + sRelQty.ToString() + " 澶т簬瀵瑰簲鍗曟嵁鍓╀綑鍙壂鎻忔暟閲�" + omodel_View.HSourceQty.ToString() + "锛屼笉鍏佽鎵爜锛�"; + return false; + } } } @@ -35777,7 +36065,7 @@ if (sRelQty == 0) { - sErrMsg = "鎵�鎵弿鏉$爜鏃犳潯鐮佸簱瀛橈紒"; + sErrMsg = "鎵�鎵弿鏉$爜鏃犳潯鐮佸簱瀛樻垨瀵瑰簲鐗╂枡鏃燛RP搴撳瓨锛�"; return false; } } @@ -36107,6 +36395,21 @@ return oBar; } } + //棰嗘枡鍑哄簱鍗� 婧愬崟锛氶鏂欏嚭搴撳崟 + else if (sBarBillName == "棰嗘枡鍑哄簱鍗�" && HBillType == "1204") + { + oBar = get_BillBarCode_MateOutCheck(HBillNo, HBillType, HMaker, HOWNERID, ref sErrMsg); + if (oBar == null) + { + sErrMsg = "鍚敤涓�閿壂鐮佹ā寮忥紝" + sErrMsg; + return null; + } + else + { + oBar.HBarType = "鍗曟嵁鏉$爜"; + return oBar; + } + } else { sErrMsg = "鍚敤涓�閿壂鐮佹ā寮忥紝鎵�鎵潯鐮佸墠缂�涓嶅睘浜庡綋鍓嶆ā鍧楀崟鎹彿鍓嶇紑锛�"; -- Gitblit v1.9.1