展杰
2024-08-17 4430f49d7a5ce2303633cbeac7ec0c9be05572d1
MES.Service/service/Warehouse/OpeningReceiptServer.cs
@@ -18,37 +18,26 @@
    public MesInvItemBarcodes ScanInBarcodeQC(WarehouseQuery query)
    {
        if (string.IsNullOrWhiteSpace(query.sectionCode))
        {
            throw new Exception("请扫库位条码!");
        }
        var depotCode = GetDepotCode(query.sectionCode);
        if (depotCode == null)
        {
            throw new Exception($"002[库位编码 {query.sectionCode} 不存在,请确认!");
        }
        var checkBarcodeAlreadyReceived =
            CheckBarcodeAlreadyReceived(query.barcode);
        if (checkBarcodeAlreadyReceived > 0)
        {
            throw new Exception("条码重复扫描,请核对!");
        }
        if (checkBarcodeAlreadyReceived > 0) throw new Exception("条码重复扫描,请核对!");
        if (CheckBarcodeInStock(query.barcode) > 0)
        {
            throw new Exception("条码已在库存中,请核对!");
        }
        var barcodeInfo = GetBarcodeInfo(query.barcode);
        if (barcodeInfo == null || barcodeInfo.ComeFlg != 0)
        {
            throw new Exception("条码不是期初条码,无法用期初入库!");
        }
        var inventoryItemInId = GetOrCreateInventoryItemInId(barcodeInfo,
            depotCode, query.userName, out string billNo);
            depotCode, query.userName, out var billNo);
        UseTransaction(db =>
        {
@@ -71,15 +60,12 @@
        var mesInvItemBarcodes = Db.Queryable<MesInvItemBarcodes>()
            .Where(s => s.ItemBarcode == query.barcode).Count();
        if (mesInvItemBarcodes <= 0)
        {
            throw new Exception("条码不存在");
        }
        if (mesInvItemBarcodes <= 0) throw new Exception("条码不存在");
        var mesInvItemInCDetails = Db.Queryable<MesInvItemInCDetails>()
            .Where(s => s.ItemBarcode == query.barcode).Single();
        PurchaseInventory entity = new PurchaseInventory
        var entity = new PurchaseInventory
        {
            ItemIns = GetMesInvItemIns(mesInvItemInCDetails.ItemInId),
            InvItemInCDetails =
@@ -150,13 +136,11 @@
            CbillNo = barcodeInfo.BillNo,
            UrgentFlag = barcodeInfo.UrgentFlag,
            BoardStyle = barcodeInfo.BoardStyle,
            TaskNo = barcodeInfo.TaskNo
            TaskNo = barcodeInfo.TaskNo,
            ItemId = barcodeInfo.ItemId,
        }).ExecuteCommand();
        if (executeCommand <= 0)
        {
            throw new Exception("写入失败");
        }
        if (executeCommand <= 0) throw new Exception("写入失败");
    }
    private decimal GetOrCreateInventoryItemInId(MesInvItemBarcodes barcodeInfo,
@@ -261,13 +245,11 @@
            BoardStyle = barcodeInfo.BoardStyle,
            WorkNo = barcodeInfo.WorkNo,
            WorkLine = barcodeInfo.WorkLine,
            SuppNo = barcodeInfo.SuppNo
            SuppNo = barcodeInfo.SuppNo,
            ItemId = barcodeInfo.ItemId,
        }).ExecuteCommand();
        if (executeCommand <= 0)
        {
            throw new Exception("写入失败");
        }
        if (executeCommand <= 0) throw new Exception("写入失败");
    }
    private void InsertBusinessRecord(MesInvItemBarcodes barcodeInfo,
@@ -297,12 +279,10 @@
            BillNo = billNo,
            WorkNo = barcodeInfo.WorkNo,
            WorkLine = barcodeInfo.WorkLine,
            SuppNo = barcodeInfo.SuppNo
            SuppNo = barcodeInfo.SuppNo,
            ItemId = barcodeInfo.ItemId,
        }).ExecuteCommand();
        if (executeCommand <= 0)
        {
            throw new Exception("写入失败");
        }
        if (executeCommand <= 0) throw new Exception("写入失败");
    }
}