From ce7b3298b4d586206996c0bc7ef9b71ab9790dc1 Mon Sep 17 00:00:00 2001 From: lg <999544862qq.com> Date: 星期四, 15 八月 2024 16:51:34 +0800 Subject: [PATCH] 增加了? --- MES.Service/service/Warehouse/MesInvItemMovesManager.cs | 94 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 93 insertions(+), 1 deletions(-) diff --git a/MES.Service/service/Warehouse/MesInvItemMovesManager.cs b/MES.Service/service/Warehouse/MesInvItemMovesManager.cs index a529385..912ebd5 100644 --- a/MES.Service/service/Warehouse/MesInvItemMovesManager.cs +++ b/MES.Service/service/Warehouse/MesInvItemMovesManager.cs @@ -12,6 +12,40 @@ //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 MesInvItemMovesManager.cs + public int ScanInBarcode(WarehouseQuery query) + { + if (string.IsNullOrEmpty(query.sectionCode)) + { + throw new Exception("璇锋壂搴撲綅鏉$爜锛�"); + } + + int pBillTypeId = 300; + int pTransctionNo = 301; + + var depotQuery = Db.Queryable<MesDepotSections, MesDepots>((a, b) => new JoinQueryInfos( + JoinType.Inner, a.Zuid.ToString() == b.Zuid)) + .Where((a, b) => a.DepotSectionCode == query.sectionCode) + .Select((a, b) => new { b.DepotCode }) + .First(); + + if (depotQuery == null) + { + throw new Exception($"002[搴撲綅缂栫爜 {query.sectionCode} 涓嶅瓨鍦紝璇风‘璁わ紒"); + } + + var cDepotCode = depotQuery.DepotCode; + + // 鏌ヨ璋冩嫈鍏ュ簱淇℃伅 + var itemMoveQuery = Db.Queryable<MesInvItemMoves, MesInvItemMovesCDetails>((a, b) => new JoinQueryInfos( + JoinType.Inner, a.Id == b.ItemMoveId)) + .Where((a, b) => b.ItemBarcode == query.barcode && a.BillTypeId == pBillTypeId && a.TransactionNo == pTransctionNo && + a.Status == 1 && SqlFunc.IsNull(b.MoveOk, 0) != 1) + .Select((a, b) => new { a.Id, a.BillNo, a.InvDepotsCode }) + .First(); + + return 0; + } + public List<MesInvItemMoves> GetBillNo(WarehouseQuery query) { query.Factory = "1000"; @@ -26,6 +60,64 @@ .OrderBy(it => it.Id, OrderByType.Desc).ToList(); } + public List<MesInvItemMoves> GetPage(WarehouseQuery query) + { + return Db.Queryable<MesInvItemMoves>() + .WhereIF(!string.IsNullOrEmpty(query.billNo), + s => s.BillNo == query.billNo) + .OrderByDescending(s => s.Id) + .ToPageList(query.PageIndex, query.Limit); + } + + public MovesDto GetItems(WarehouseQuery query) + { + MovesDto dto = new MovesDto(); + + dto.BarcodeList = GetItemMovesCDetails(query); + dto.OutItems = GetItemOutItems(query); + + return dto; + } + + private List<MesInvItemOutItems> GetItemOutItems(WarehouseQuery query) + { + var sql = string.Format( + "SELECT C.ITEM_NO, C.QUANTITY, C.REMARK, C.REMARK, S.ITEM_NAME, S.ITEM_MODEL, U.FNAME ITEM_UNIT, D.QUANTITY_OK, NVL(ST.QUANTITY, 0) WLKC FROM MES_INV_ITEM_OUT_ITEMS C JOIN MES_ITEMS S ON C.ITEM_ID = S.ID LEFT JOIN MES_UNIT U ON U.ID = S.ITEM_UNIT LEFT JOIN MES_DEPOTS P ON P.DEPOT_CODE = C.DEPOT_CODE LEFT JOIN MES_DEPOT_SECTIONS E ON E.DEPOT_SECTION_CODE = C.DEPOT_SECTION_CODE LEFT JOIN (SELECT ITEM_MOVE_ID, ITEM_NO, SUM(QUANTITY) QUANTITY_OK FROM MES_INV_ITEM_MOVES_C_DETAILS GROUP BY ITEM_MOVE_ID, ITEM_NO) D ON D.ITEM_MOVE_ID = C.ITEM_OUT_ID AND D.ITEM_NO = C.ITEM_NO LEFT JOIN MES_INV_ITEM_MOVES A ON A.ID = C.ITEM_OUT_ID left join (SELECT ITEM_ID, SUM(QUANTITY) QUANTITY, DEPOTS_CODE FROM MES_INV_ITEM_STOCKS GROUP BY ITEM_ID, DEPOTS_CODE) ST ON C.ITEM_ID = ST.ITEM_ID AND ST.DEPOTS_CODE = A.FROM_DEPOTS_CODE where C.ITEM_OUT_ID = {0}", + query.id); + + return Db.Ado.SqlQuery<MesInvItemOutItems>(sql); + } + + private List<MesInvItemMovesCDetails> GetItemMovesCDetails( + WarehouseQuery query) + { + return Db.Queryable<MesInvItemMovesCDetails, MesItems, MesSupplier>( + (b, c, f) => new JoinQueryInfos( + JoinType.Left, + b.ItemNo == c.ItemNo && b.Company == c.Company && + b.Factory == c.Factory, + JoinType.Left, b.SuppNo == f.SuppNo + )) + .Where((b, c, f) => b.ItemMoveId == query.id) + .Select((b, c, f) => new MesInvItemMovesCDetails + { + FromDepotSectionsCode = b.FromDepotSectionsCode, + BoardStyle = b.BoardStyle, + FromDepotsCode = b.FromDepotsCode, + InvDepotSectionsCode = b.InvDepotSectionsCode, + InvDepotsCode = b.InvDepotsCode, + Quantity = b.Quantity, + LotNo = b.LotNo, + ItemNo = b.ItemNo, + ItemBarcode = b.ItemBarcode, + ItemName = c.ItemName, + ItemModel = c.ItemModel, + ItemUnit = c.ItemUnit, + SuppName = f.SuppName, + MoveOk = + SqlFunc.IsNull(b.MoveOk, 0) // 浣跨敤 SqlFunc.IsNull 瀹炵幇 NVL 鐨勬晥鏋� + }).ToList(); + } public OutItemDto ScanMoveBarcode(WarehouseQuery query) { @@ -214,7 +306,7 @@ } //scan_out_show_DB - public List<InventoryItem> ScanOutShowDb(WarehouseQuery query) + private List<InventoryItem> ScanOutShowDb(WarehouseQuery query) { var BillTypeId = 300; var TransctionNo = 301; -- Gitblit v1.9.3