From 395108af3d416a92d0f33adfab7bb8a82905419f Mon Sep 17 00:00:00 2001 From: 王 垚 <1402714037@qq.com> Date: 星期二, 26 四月 2022 16:27:34 +0800 Subject: [PATCH] 夏宝 1,生成送货单按钮 保存按钮,验证 金蝶是否存在源单主内码子内码对应的数据;如果不存在就报错 2,生成送货单按钮 保存按钮,判断是否有生成采购订单变更单 如果有且变更单状态不为已审核 限制下推 --- WebAPI/Controllers/POInStockController.cs | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 150 insertions(+), 8 deletions(-) diff --git a/WebAPI/Controllers/POInStockController.cs b/WebAPI/Controllers/POInStockController.cs index d32e929..e11572c 100644 --- a/WebAPI/Controllers/POInStockController.cs +++ b/WebAPI/Controllers/POInStockController.cs @@ -156,8 +156,7 @@ objjson.data = null; return objjson; } - DAL.ClsCg_POInStockBill oClsCg_POInStockBill = new DAL.ClsCg_POInStockBill(); - ds = oClsCg_POInStockBill.ShowNewBillMainTo(DBUtility.ClsPub.isLong(sMsg), DBUtility.ClsPub.isStrNull(sMsg3), ShowItem, ref DBUtility.ClsPub.sExeReturnInfo); + ds = ShowNewBillMainTo(DBUtility.ClsPub.isLong(sMsg), DBUtility.ClsPub.isStrNull(sMsg3), ShowItem, ref DBUtility.ClsPub.sExeReturnInfo); if (ds == null || ds.Tables[0].Rows.Count == 0) { objjson.code = "0"; @@ -215,8 +214,7 @@ objjson.data = null; return objjson; } - DAL.ClsCg_POInStockBill oClsCg_POInStockBill = new DAL.ClsCg_POInStockBill(); - ds = oClsCg_POInStockBill.ShowNewBillSubTo(DBUtility.ClsPub.isLong(sMsg), DBUtility.ClsPub.isStrNull(sMsg2), DBUtility.ClsPub.isStrNull(sMsg3), ShowItem, ref DBUtility.ClsPub.sExeReturnInfo); + ds = ShowNewBillSubTo(DBUtility.ClsPub.isLong(sMsg), DBUtility.ClsPub.isStrNull(sMsg2), DBUtility.ClsPub.isStrNull(sMsg3), ShowItem, ref DBUtility.ClsPub.sExeReturnInfo); if (ds == null || ds.Tables[0].Rows.Count == 0) { objjson.code = "0"; @@ -350,6 +348,10 @@ int i = 0; foreach (Model.ClsCg_POInStockBillSub oItemSub in ls) { + //鍒ゆ柇閲囪喘璁㈠崟鐘舵�� + objJsonResult = TestPOOrder(oItemSub.HPOOrderEntryID.ToString()); + if (objJsonResult.code == "0") + return objJsonResult; //澧炲姞鍒ゆ柇 閫佽揣鏁伴噺瓒呭嚭閲囪喘璁㈠崟鏁伴噺 i++; if (oItemSub.HQty <= 0) @@ -1004,15 +1006,17 @@ [Route("TestSaverPOInStock")] - [HttpPost] + [HttpGet] /// <summary> /// 鐢熸垚閫佽揣鍗曞墠楠岃瘉閲戣澏閲囪喘璁㈠崟鏄惁鍒犻櫎鍜屽叧闂紝鐒跺悗鏇存柊鍏宠仈鏁伴噺 /// </summary> /// <param name="HInterID"></param> /// <returns></returns> - public object TestSaverPOInStock([FromBody] string[] ids) + public object TestSaverPOInStock(string ids, string entryids) { - List<string> mylist = new List<string>(ids.Distinct()); + List<string> mylist = new List<string>(ids.Split(',').Distinct()); + List<string> entryList = new List<string>(entryids.Split(',').Distinct()); + SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); if (mylist.Count > 1) { objJsonResult.code = "0"; @@ -1023,10 +1027,14 @@ } try { + //閲囪喘璁㈠崟涓嬫帹鐢熸垚閫佽揣鍗� 鏃跺�� 鍒ゆ柇鏄惁鏈夌敓鎴愰噰璐鍗曞彉鏇村崟 濡傛灉鏈変笖鍙樻洿鍗曠姸鎬佷笉涓哄凡瀹℃牳 闄愬埗涓嬫帹 + objJsonResult = TestPOOrder(entryids); + if (objJsonResult.code == "0") + return objJsonResult; + string HinterID = ""; for (int i = 0; i < mylist.Count; i++) { - SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); //鏇存柊鍏宠仈鏁伴噺 HinterID = mylist[i].ToString(); oCn.RunProc("exec h_p_SRM_UpDatePPBomRelationQty '" + HinterID + "'"); @@ -1061,5 +1069,139 @@ } } + /// <summary> + /// 楠岃瘉 閲囪喘璁㈠崟 + /// </summary> + /// <param name="entryids">閲囪喘璁㈠崟FENTRYID</param> + /// <returns></returns> + public JsonResult TestPOOrder(string entryids) + { + SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); + try + { + //楠岃瘉閲戣澏閲囪喘璁㈠崟鏄惁瀛樺湪 + string sql = string.Format(@" +select M.HBillNo,B.HMaterID,E.HNumber,E.HName +FROM Cg_POOrderBillSub B +JOIN Cg_POOrderBillMAIN M ON B.HINTERID = M.HINTERID +JOIN Gy_Material E ON B.HMaterID = E.HItemID +LEFT JOIN AIS20211130140219..T_PUR_POORDERENTRY C ON B.HInterID = C.FID AND B.HEntryID = C.FENTRYID +WHERE ISNULL(C.FENTRYID,0) = 0 +AND B.HEntryID in ({0})" +, entryids); + DataSet ds = oCn.RunProcReturn(sql, "temp"); + if (ds.Tables[0].Rows.Count > 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍙凤細" + ds.Tables[0].Rows[0]["HBillNo"].ToString() + ",鐗╂枡缂栫爜锛�" + ds.Tables[0].Rows[0]["HNumber"].ToString() + "锛屽搴旂殑閲戣澏閲囪喘璁㈠崟宸插垹闄わ紝涓嶈兘涓嬫帹閫佽揣鍗曪紒"; + objJsonResult.data = null; + return objJsonResult; + } + + //閲囪喘璁㈠崟涓嬫帹鐢熸垚閫佽揣鍗� 鏃跺�� 鍒ゆ柇鏄惁鏈夌敓鎴愰噰璐鍗曞彉鏇村崟 濡傛灉鏈変笖鍙樻洿鍗曠姸鎬佷笉涓哄凡瀹℃牳 闄愬埗涓嬫帹 + sql = string.Format(@" +select M.HBillNo,B.HMaterID,E.HNumber,E.HName,F.FBILLNO +FROM Cg_POOrderBillSub B +JOIN Cg_POOrderBillMAIN M ON B.HINTERID = M.HINTERID +JOIN Gy_Material E ON B.HMaterID = E.HItemID +JOIN AIS20211130140219..T_PUR_POORDERENTRY C ON B.HInterID = C.FID AND B.HEntryID = C.FENTRYID +LEFT join AIS20211130140219..T_PUR_POCHANGEENTRY D ON C.FENTRYID = D.FOFENTRYID +LEFT join AIS20211130140219..T_PUR_POCHANGE F ON D.FID = F.FID +where b.HEntryID in ({0}) +and F.FDOCUMENTSTATUS <> 'C'" +, entryids); + ds = oCn.RunProcReturn(sql, "temp"); + if (ds.Tables[0].Rows.Count > 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍙凤細" + ds.Tables[0].Rows[0]["HBillNo"].ToString() + ",鐗╂枡缂栫爜锛�" + ds.Tables[0].Rows[0]["HNumber"].ToString() + "锛屾湁瀵瑰簲閲囪喘璁㈠崟鍙樻洿鍗�:" + ds.Tables[0].Rows[0]["FBILLNO"].ToString() + "鏈鏍革紝涓嶈兘涓嬫帹閫佽揣鍗曪紒"; + objJsonResult.data = null; + return objJsonResult; + } + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "鎿嶄綔鎴愬姛!"; + objJsonResult.data = null; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "澶辫触锛�" + e.Message.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + + + /// <summary> + /// 閲囪喘璁㈠崟鐢熸垚閫佽揣鍗曟寜閽� 鏄剧ず鍗曟嵁澶� + /// </summary> + /// <param name="lngBillKey"></param> + /// <param name="HBillType"></param> + /// <param name="sShowItem"></param> + /// <param name="sReturn"></param> + /// <returns></returns> + public DataSet ShowNewBillMainTo(Int64 lngBillKey, string HBillType, string sShowItem, ref string sReturn) + { + try + { + SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); + //鏌ヨ涓昏〃 + DataSet Ds; + Ds = oCn.RunProcReturn(" exec h_p_SRM_POInStockBillMain_ForWeb " + lngBillKey.ToString() + ",'" + HBillType + "'", "h_p_SRM_POInStockBillMain_ForWeb"); + if (Ds == null || Ds.Tables[0].Rows.Count == 0) + { + sReturn = "鍗曟嵁澶存湭鎵惧埌锛�"; + return null; + } + sReturn = "鏄剧ず鍗曟嵁澶存垚鍔燂紒"; + return Ds; + } + catch (Exception e) + { + sReturn = e.Message; + return null; + } + } + + /// <summary> + /// 閲囪喘璁㈠崟鐢熸垚閫佽揣鍗曟寜閽� 鏄剧ず鍗曟嵁浣� + /// </summary> + /// <param name="lngBillKey"></param> + /// <param name="lngBillKey2"></param> + /// <param name="HBillType"></param> + /// <param name="sShowItem"></param> + /// <param name="sReturn"></param> + /// <returns></returns> + public DataSet ShowNewBillSubTo(Int64 lngBillKey, string lngBillKey2, string HBillType, string sShowItem, ref string sReturn) + { + string s = ""; + try + { + SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); + //鏌ヨ涓昏〃 + DataSet Ds; + Ds = oCn.RunProcReturn(" exec h_p_SRM_POInStockBillSub_ForWeb '" + lngBillKey2 + "','" + HBillType + "'", "h_p_SRM_POInStockBillSub_ForWeb"); + if (Ds == null || Ds.Tables[0].Rows.Count == 0) + { + sReturn = "鍗曟嵁浣撴湭鎵惧埌锛�"; + return null; + } + sReturn = "鏄剧ず鍗曟嵁浣撴垚鍔燂紒"; + return Ds; + } + catch (Exception e) + { + sReturn = e.Message; //+ s + return null; + } + } + + } } \ No newline at end of file -- Gitblit v1.9.1