| | |
| | | .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 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 (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 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) |
| | | { |
| | |
| | | } |
| | | |
| | | //scan_out_show_DB |
| | | public List<InventoryItem> ScanOutShowDb(WarehouseQuery query) |
| | | private List<InventoryItem> ScanOutShowDb(WarehouseQuery query) |
| | | { |
| | | var BillTypeId = 300; |
| | | var TransctionNo = 301; |