From 4f8d1da89bc7cf399e6d90d6230ad6c28114443a Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期一, 23 六月 2025 11:20:13 +0800 Subject: [PATCH] 1.采购入库优化 2.采购退货推荐库位优化 --- service/Warehouse/MesItemQtrkManager.cs | 39 +++++++++++++++++++++++++++++---------- 1 files changed, 29 insertions(+), 10 deletions(-) diff --git a/service/Warehouse/MesItemQtrkManager.cs b/service/Warehouse/MesItemQtrkManager.cs index 81eceda..9eb138c 100644 --- a/service/Warehouse/MesItemQtrkManager.cs +++ b/service/Warehouse/MesItemQtrkManager.cs @@ -12,10 +12,17 @@ { public List<string> GetQtckList() { - return Db.Queryable<MesItemQtrk>() - .Where(x => (x.Qt015 ?? 0) == 1 && (x.Qt014 ?? 0) == 0) - .Select(x => x.Qtck) - .ToList(); + //return Db.Queryable<MesItemQtrk>() + // .Where(x => (x.Qt015 ?? 0) == 1 && (x.Qt014 ?? 0) == 0) + // .Select(x => x.Qtck) + // .ToList(); + + const string sql = @"SELECT qtck + FROM MES_ITEM_QTRK + WHERE QT015 = 1 AND QT028 = 1 AND QT032 = 1 + AND QT014 = 0 "; + + return Db.Ado.SqlQuery<string>(sql); } public ProductionPickDto GetQtckDetailList(WarehouseQuery query) @@ -26,14 +33,21 @@ var mesInvItemOuts = base.GetSingle(it => it.Qtck == query.billNo); if (mesInvItemOuts == null) throw new Exception("鍏朵粬鍏ュ簱鐢宠鍗曚笉瀛樺湪"); - var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.qd007 FQty,A.qd008 SQty,A.qd007 - A.qd008 DSQty -fROM MES_ITEM_QTRR_DETAIL A - LEFT JOIN MES_ITEM_QTRK B ON A.qtrkGuid = B.guid - LEFT JOIN MES_ITEMS C ON A.itemId = C.item_id -WHERE B.qtck = '{0}'", query.billNo); + var sql = @"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel, + ISNULL(A.qd007,0) FQty,ISNULL(A.qd008,0) SQty,ISNULL(A.qd007,0) - ISNULL(A.qd008,0) DSQty + FROM MES_ITEM_QTRR_DETAIL A + LEFT JOIN MES_ITEM_QTRK B ON A.qtrkGuid = B.guid + LEFT JOIN MES_ITEMS C ON A.itemId = C.item_id + WHERE B.qtck = @billNo AND QT015 = 1 AND QT028 = 1 AND QT032 = 1 AND QT014 = 0 "; - var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql); + var sqlParams = new List<SugarParameter> { + new("@billNo", query.billNo) + }; + var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql, sqlParams); + + if (womdabs.Count < 1) + throw new Exception($"璇ュ叾浠栧叆搴撶敵璇峰崟 {query.billNo} 鏈叏閮ㄥ鏍告垨宸插畬缁擄紝璇风‘璁わ紒"); var DS_list = womdabs.Where(s => s.DSQty > 0).ToList(); @@ -453,6 +467,11 @@ .Where(x => x.Qtck == p_bill_no) .ExecuteCommand(); + // 鍒涘缓 鎻掑叆鏃ュ織 + var logService = new LogService(); + var LogMsg = "銆怭DA銆戝叾浠栧叆搴撱�傛潯鐮併��" + query.barcode + "銆戞暟閲忋��" + barcode.Quantity.ToString() + "銆� 鍏ュ簱鍗曞彿銆�" + billNo + "銆�"; + logService.CreateLog(db, query.userName, qtrk.Guid.ToString(), "MES_ITEM_QTRK", LogMsg, qtrk.Qtck); + if (res < 5) throw new Exception("鎻掑叆鎴栨洿鏂板け璐�"); return res; -- Gitblit v1.9.3