From f165ef7e3b194d59d05e999d4106953aca05f55a Mon Sep 17 00:00:00 2001 From: 王 垚 <1402714037@qq.com> Date: 星期三, 10 八月 2022 20:06:57 +0800 Subject: [PATCH] 优化 送货单批量删除 --- WebAPI/Controllers/POInStockController.cs | 101 ++++++++++++++++++++++++++++++-------------------- 1 files changed, 61 insertions(+), 40 deletions(-) diff --git a/WebAPI/Controllers/POInStockController.cs b/WebAPI/Controllers/POInStockController.cs index bd36aa7..8c06a45 100644 --- a/WebAPI/Controllers/POInStockController.cs +++ b/WebAPI/Controllers/POInStockController.cs @@ -662,6 +662,7 @@ LEFT JOIN {0}..T_BD_CURRENCY EC ON E. FSETTLECURRID =EC.FCURRENCYID WHERE b.hinterid in ({1}) and M.HERPInterID = 0 ", kdTbaleName, HInterID); + LogService.Write(sql); //LEFT JOIN {0}..T_HR_EMPINFO T5 ON D.F_XBKF_BASE1 = T5.FID dt = oCn.RunProcReturn(sql, "sltz").Tables[0]; @@ -1010,7 +1011,7 @@ [Route("DeltetPOInStockBill")] [HttpGet] - public object DeltetPOInStockBill(string HInterID, string HUserName, string HBillNo) + public object DeltetPOInStockBill(string HInterID, string HUserName) { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); try @@ -1022,11 +1023,16 @@ if (objjson.code == "0") return objjson; - WebAPIController.Add_Log("閫佽揣鍗曞垹闄�", HUserName, "閫佽揣鍗曞垹闄わ紝鍗曞彿锛�" + HBillNo); oCN.BeginTran(); - oBill.DeleteRelation(ref DBUtility.ClsPub.sExeReturnInfo, Convert.ToInt32(HInterID)); - oCN.RunProc("Delete From Cg_POInStockBillMain where HInterID = " + HInterID); - oCN.RunProc("Delete From Cg_POInStockBillSub where HInterID = " + HInterID); + string sql = $"select HInterID,HBillNo from Cg_POInStockBillMain where HInterID in ({HInterID})"; + DataTable dt = oCN.RunProcReturn(sql, "deleteTable").Tables[0]; + foreach (DataRow dr in dt.Rows) + { + WebAPIController.Add_Log("閫佽揣鍗曞垹闄�", HUserName, "閫佽揣鍗曞垹闄わ紝鍗曞彿锛�" + dr["HBillNo"]); + oBill.DeleteRelation(ref DBUtility.ClsPub.sExeReturnInfo, Convert.ToInt32(dr["HInterID"])); + oCN.RunProc($"Delete From Cg_POInStockBillMain where HInterID in ({dr["HInterID"]})"); + oCN.RunProc($"Delete From Cg_POInStockBillSub where HInterID in ({dr["HInterID"]})"); + } oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; @@ -1049,54 +1055,69 @@ public json DeleteKingDee(string hinterid) { var kdTbaleName = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "DataBaseName"); - SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); string sql = string.Format("select HinterID,HERPBillNO,HERPInterID from Cg_POInStockBillMain where HERPInterID>0 and hinterid in (" + hinterid + ")"); string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo); if (FCusName == "澶忓疂鐢靛櫒") sql = $"select HinterID,HERPBillNO,HERPInterID from Cg_POInStockBillMain t1 join {kdTbaleName}..T_PUR_RECEIVE t2 on t1.HERPInterID = t2.FID where HERPInterID>0 and hinterid in (" + hinterid + ")"; - else if (FCusName.Contains("鐟炰笌绁�")) + else if (FCusName.Contains("鐟炰笌绁�") || FCusName == "") sql = $"select HinterID,HERPBillNO,HERPInterID from Cg_POInStockBillMain t1 join {kdTbaleName}..T_PUR_RECEIVE t2 on t1.HERPInterID = t2.FID where HERPInterID>0 and hinterid in (" + hinterid + ")"; DataTable dt = oCN.RunProcReturn(sql, "deleteDt").Tables[0]; - if (dt.Rows.Count > 0) + if (dt.Rows.Count == 0) { - foreach (DataRow dr in dt.Rows) - { - var sJson = new - { - Numbers = dr["HERPBillNO"].ToString(), - Ids = "" - }; - var loginRet = InvokeHelper.Login(); - var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>(); - if (isSuccess == 0) - { - objjson.code = "0"; - objjson.count = 0; - objjson.Message = "鎿嶄綔澶辫触,閲戣澏璐﹀彿鐧诲綍寮傚父銆�" + loginRet; - objjson.data = null; - return objjson; - } - //LogService.Write(""); - var result = InvokeHelper.Delete("PUR_ReceiveBill", JsonConvert.SerializeObject(sJson)); - //LogService.Write("api缁撴灉鍒犻櫎锛�" + result); - if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") - { - objjson.code = "0"; - objjson.count = 0; - objjson.Message = "瀵瑰簲閲戣澏鏀舵枡閫氱煡鍗曞垹闄ゅけ璐� 锛�" + result; - objjson.data = null; - return objjson; - } - - } + objjson.code = "1"; + objjson.count = 1; + objjson.Message = "Sucess锛�"; + objjson.data = null; + return objjson; + } + List<string> HERPInterIdList = new List<string>(); + foreach (DataRow dr in dt.Rows) + { + HERPInterIdList.Add(dr["HERPInterID"].ToString()); + } + var sJson = new + { + Ids = string.Join(",", HERPInterIdList) + }; + var loginRet = InvokeHelper.Login(); + var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>(); + if (isSuccess <= 0) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鎿嶄綔澶辫触,閲戣澏璐﹀彿鐧诲綍寮傚父銆�" + loginRet; + objjson.data = null; + return objjson; + } + //LogService.Write(""); + var result = InvokeHelper.Delete("PUR_ReceiveBill", JsonConvert.SerializeObject(sJson)); + //LogService.Write("api缁撴灉鍒犻櫎锛�" + result); + if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") + { + //var errorsList = JObject.Parse(result)["Result"]["ResponseStatus"]["Errors"]; + //List<string> errList = new List<string>(); + //foreach (var item in errorsList) + //{ + // errList.Add(item["Message"].ToString()+ "\r\n"); + //} + //string err = string.Join(",", errList); + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "瀵瑰簲閲戣澏鏀舵枡閫氱煡鍗曞垹闄ゅけ璐� 锛乗r\n" + result; + objjson.data = null; + return objjson; } objjson.code = "1"; objjson.count = 1; objjson.Message = "Sucess锛�"; objjson.data = null; return objjson; + } + + + //[Route("POInStockAccept")] //[HttpGet] @@ -1258,7 +1279,7 @@ LEFT JOIN {1}..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, kdTbaleName); + , entryids, kdTbaleName); DataSet ds = oCn.RunProcReturn(sql, "temp"); if (ds.Tables[0].Rows.Count > 0) { @@ -1280,7 +1301,7 @@ LEFT join {1}..T_PUR_POCHANGE F ON D.FID = F.FID where b.HEntryID in ({0}) and F.FDOCUMENTSTATUS <> 'C'" -, entryids, kdTbaleName); + , entryids, kdTbaleName); ds = oCn.RunProcReturn(sql, "temp"); if (ds.Tables[0].Rows.Count > 0) { -- Gitblit v1.9.1