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