From e9269528ae01bc4572b68148b9c801b51f23b669 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周四, 04 9月 2025 10:41:45 +0800 Subject: [PATCH] 查询优化 --- wcs/yunneiWCS/yunneiWCS/wcf/yunneiWcf.cs | 275 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 272 insertions(+), 3 deletions(-) diff --git a/wcs/yunneiWCS/yunneiWCS/wcf/yunneiWcf.cs b/wcs/yunneiWCS/yunneiWCS/wcf/yunneiWcf.cs index 214b050..cb25b19 100644 --- a/wcs/yunneiWCS/yunneiWCS/wcf/yunneiWcf.cs +++ b/wcs/yunneiWCS/yunneiWCS/wcf/yunneiWcf.cs @@ -903,6 +903,235 @@ return msg; } + /// <summary>鏌ユ壘鍑哄叆搴撹褰曠粰MES [EditBy shaocx,2025-09-01] + /// + /// </summary> + /// <param name="page">鍒嗛〉</param> + /// <returns></returns> + public resMsg<Wms_outInStockRecord_V2_Mes> findOutInStockRecord_V2_Mes(paging page, Wms_outInStockRecord_V2_Mes value) + { + resMsg<Wms_outInStockRecord_V2_Mes> msg = new resMsg<Wms_outInStockRecord_V2_Mes>(); + msg.status = 400; + try + { + using (dbmodel mod = new dbmodel()) + { + string sql = "SELECT * FROM [LA20025].[dbo].[Wms_outInStockRecord_V2_Mes] "; + sql = sql + " WHERE 1=1 "; + if (!string.IsNullOrEmpty(value.sourcePlace))//璧风偣 + { + sql = sql + " and sourcePlace='" + value.sourcePlace + "' "; + } + if (!string.IsNullOrEmpty(value.toPlace))//鐩爣鐐� + { + sql = sql + " and toPlace='" + value.toPlace + "' "; + } + if (!string.IsNullOrEmpty(value.containerCode))//鎵樼洏鍙� + { + sql = sql + " and containerCode like'%" + value.containerCode + "%' "; + } + if (!string.IsNullOrEmpty(value.materialCode))//鐗╂枡缂栧彿 + { + sql = sql + " and materialCode like '%" + value.materialCode + "%'"; + } + if (!string.IsNullOrEmpty(value.materialName))//鐗╂枡鍚嶇О + { + sql = sql + " and materialName like '%" + value.materialName + "%' "; + } + if (!string.IsNullOrEmpty(value.version))//鏈哄瀷 + { + sql = sql + " and version like '%" + value.version + "%' "; + } + if (!string.IsNullOrEmpty(value.supplier))//渚涘簲鍟� + { + sql = sql + " and supplier like '%" + value.supplier + "%'"; + } + if (value.isSendToMes != null) + { + sql = sql + " and isSendToMes = '" + value.isSendToMes + "' "; + } + //if (value.positionType == (byte)positionType.浣欐枡鍥炲簱)//鏄惁鏌ヨ浣欐枡 + //{ + // sql = sql + " and positionType =" + value.positionType; + //} + if (page.startDateTime != DateTime.Parse("1900-01-01 0:00:00") && page.startDateTime != DateTime.Parse("0001-01-01 0:00:00"))//璧峰鏃堕棿 + { + sql = sql + " and CreateTime >'" + page.startDateTime + "'"; + } + if (page.endDateTime != DateTime.Parse("1900-01-01 0:00:00") && page.endDateTime != DateTime.Parse("0001-01-01 0:00:00"))//鎴鏃堕棿 + { + sql = sql + " and CreateTime <'" + page.endDateTime + "'"; + } + + sql = sql + " order by CreateTime desc"; + List<Wms_outInStockRecord_V2_Mes> dataList = mod.Database.SqlQuery<Wms_outInStockRecord_V2_Mes>(sql).ToList(); + + if (dataList.Count > 0) + { + //msg.quantity = (int)dataList.Sum(x => x.quantity); + msg.totalNum = dataList.Count; + msg.dateAll = dataList; + //鍒嗛〉璁$畻 + List<Wms_outInStockRecord_V2_Mes> fenyeRerult = new List<Wms_outInStockRecord_V2_Mes>(); + msg.status = 200; + + //鍋囧姣忛〉鏁伴噺 澶т簬鐩樼偣鏁版嵁 + if (page.pagesize > dataList.Count) + { + msg.date = dataList; + msg.total = 1; + } + else + { + #region 鍒嗛〉璁$畻 + int a = page.pagesize; + int b = page.pagenum; + int c = (int)Math.Ceiling((double)dataList.Count / a); + msg.total = c; + int d = dataList.Count % a; + int e = 0; + int f = a * (b - 1); + if (d != 0 && b == c) + { + e = d + f; + } + else + { + e = a + f; + } + for (int i = f; i < e; i++) + { + fenyeRerult.Add(dataList[i]); + } + + msg.date = fenyeRerult; + #endregion + } + + } + else + { + msg.status = 200; + msg.msg = "鏌ユ壘鏁版嵁涓�0,璇锋洿鎹㈡煡璇㈡潯浠�"; + } + + } + } + catch (Exception ex) + { + msg.msg = "鏌ヨ澶辫触"; + WZ.Useful.Commons.LogTextHelper.WriteLine("IyunneiWcf", "findOutInStockRecord_V2_Mes", ex.ToString()); + } + + return msg; + } + + /// <summary>鏌ユ壘鍑哄叆搴撹褰曟槑缁嗙粰MES [EditBy shaocx,2025-09-01] + /// + /// </summary> + /// <param name="page">鍒嗛〉</param> + /// <returns></returns> + public resMsg<Wms_outInStockRecord_Details_V2_Mes> findOutInStockRecord_Details_V2_Mes_Page(paging page, Wms_outInStockRecord_Details_V2_Mes value) + { + resMsg<Wms_outInStockRecord_Details_V2_Mes> msg = new resMsg<Wms_outInStockRecord_Details_V2_Mes>(); + msg.status = 400; + try + { + using (dbmodel mod = new dbmodel()) + { + string sql = "SELECT * FROM [LA20025].[dbo].[Wms_outInStockRecord_Details_V2_Mes] "; + sql = sql + " WHERE 1=1 "; + + if (!string.IsNullOrEmpty(value.containerCode))//鎵樼洏鍙� + { + sql = sql + " and containerCode like '%" + value.containerCode + "%'"; + } + if (!string.IsNullOrEmpty(value.productCode))//鐗╂枡缂栧彿 + { + sql = sql + " and productCode like '%" + value.productCode + "%'"; + } + if (!string.IsNullOrEmpty(value.productName))//鐗╂枡鍚嶇О + { + sql = sql + " and productName like '%" + value.productName + "%' "; + } + if (!string.IsNullOrEmpty(value.serialNumber))//娴佹按鍙� + { + sql = sql + " and serialNumber like '%" + value.serialNumber + "%' "; + } + + if (page.startDateTime != DateTime.Parse("1900-01-01 0:00:00") && page.startDateTime != DateTime.Parse("0001-01-01 0:00:00"))//璧峰鏃堕棿 + { + sql = sql + " and CreateTime >'" + page.startDateTime + "'"; + } + if (page.endDateTime != DateTime.Parse("1900-01-01 0:00:00") && page.endDateTime != DateTime.Parse("0001-01-01 0:00:00"))//鎴鏃堕棿 + { + sql = sql + " and CreateTime <'" + page.endDateTime + "'"; + } + + sql = sql + " order by CreateTime desc"; + List<Wms_outInStockRecord_Details_V2_Mes> dataList = mod.Database.SqlQuery<Wms_outInStockRecord_Details_V2_Mes>(sql).ToList(); + + if (dataList.Count > 0) + { + //msg.quantity = (int)dataList.Sum(x => x.quantity); + msg.totalNum = dataList.Count; + msg.dateAll = dataList; + //鍒嗛〉璁$畻 + List<Wms_outInStockRecord_Details_V2_Mes> fenyeRerult = new List<Wms_outInStockRecord_Details_V2_Mes>(); + msg.status = 200; + + //鍋囧姣忛〉鏁伴噺 澶т簬鐩樼偣鏁版嵁 + if (page.pagesize > dataList.Count) + { + msg.date = dataList; + msg.total = 1; + } + else + { + #region 鍒嗛〉璁$畻 + int a = page.pagesize; + int b = page.pagenum; + int c = (int)Math.Ceiling((double)dataList.Count / a); + msg.total = c; + int d = dataList.Count % a; + int e = 0; + int f = a * (b - 1); + if (d != 0 && b == c) + { + e = d + f; + } + else + { + e = a + f; + } + for (int i = f; i < e; i++) + { + fenyeRerult.Add(dataList[i]); + } + + msg.date = fenyeRerult; + #endregion + } + + } + else + { + msg.status = 200; + msg.msg = "鏌ユ壘鏁版嵁涓�0,璇锋洿鎹㈡煡璇㈡潯浠�"; + } + + } + } + catch (Exception ex) + { + msg.msg = "鏌ヨ澶辫触"; + WZ.Useful.Commons.LogTextHelper.WriteLine("IyunneiWcf", "Wms_outInStockRecord_Details_V2_Mes", ex.ToString()); + } + + return msg; + } + + /// <summary>鏌ユ壘鍏ュ簱鍗曟祦姘村彿 /// /// </summary> @@ -934,6 +1163,41 @@ { res.msg = "鏌ヤ笉鍏ュ簱鍗�"; } + } + } + catch (Exception) + { + res.msg = "鏌ヨ寮傚父"; + } + return res; + } + + + /// <summary>鏌ユ壘鍑哄叆搴撹褰曟帹琛宮es璇︽儏 + /// + /// </summary> + /// <param name="inStockCode"></param> + /// <returns></returns> + public resMsg<Wms_outInStockRecord_Details_V2_Mes> findOutInStockRecord_Details_V2_Mes(long mainId) + { + resMsg<Wms_outInStockRecord_Details_V2_Mes> res = new resMsg<Wms_outInStockRecord_Details_V2_Mes>(); + res.status = 400; + try + { + using (dbmodel mod = new dbmodel()) + { + + List<Wms_outInStockRecord_Details_V2_Mes> instockList = mod.Wms_outInStockRecord_Details_V2_Mes.Where(x => x.mainId == mainId).ToList(); + if (instockList.Count > 0) + { + res.status = 200; + res.date = instockList; + } + else + { + res.msg = "鏌ヤ笉鍒版槑缁�"; + } + } } catch (Exception) @@ -2015,12 +2279,13 @@ mod.productStockList.Add(newList); } - + List<productStockList> record_delteList = new List<productStockList>(); var realDeleteList = all_serialNumberList.Where(x => !now_serialNumberList.Contains(x)).ToList(); foreach (var item in deleteList) { if (realDeleteList.Contains(item.serialNumber)) { + record_delteList.Add(item); //璁板綍鏃ュ織 [EditBy shaocx,2022-03-16] StockClearLog _StockClearLog = new StockClearLog() { @@ -2042,7 +2307,7 @@ mod.StockClearLog.Add(_StockClearLog); } } - + var preLog = "鏅�氬垹闄�"; if (taskId > 0) {//璇存槑鏄� 鍑哄簱鍒嗘嫞 銆怑ditby shaocx,2022-03-02銆� var task = mod.task.Where(x => x.taskId == taskId).FirstOrDefault(); @@ -2057,7 +2322,11 @@ return msg; } task.taskStatus = (int)taskStatus.鍒嗘嫞瀹屾垚; + preLog = "浜哄伐鍒嗘嫞"; } + + OutInStockRecord_V2_MesHandler.AddRecordForPersonDelete(mod, OutInFlag.鍑哄簱, "浜哄伐鍒犻櫎搴撳瓨:" + preLog, + record_delteList, modfiyStock, (currentStock != null ? currentStock.positionName : ""));//鍫嗗灈鏈轰换鍔″畬鎴愬悗鐨勫嚭搴� int res = mod.SaveChanges(); if (res > 0) @@ -2828,7 +3097,7 @@ { using (dbmodel mod = new dbmodel()) { - var b_result = MyExtend.deleteProduct(true, user, mod, positionName, null, ref res); + var b_result = MyExtend.deleteProduct(true, user, mod, positionName, null, ref res, "浜哄伐鐩存帴鍒犻櫎搴撳瓨"); if (b_result == false) { return FunctionReturnEntity<bool>.Fail("鍒犻櫎澶辫触:" + res); -- Gitblit v1.9.3