啊鑫
2024-08-28 481e4bef4be32a5a9754d01faf80bf0bc4e14951
MES.Service/service/Warehouse/MesInvItemOutCDetailsManager.cs
@@ -81,46 +81,36 @@
    public MesInvItemOutCDetails GetOutList(WarehouseQuery query)
    {
        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 mesInvItemOutCDetails = Db.Queryable<MesInvItemOutCDetails>()
            .Where(s => s.ItemBarcode == query.barcode && s.Receive == 0).Count();
            .Where(s => s.ItemBarcode == query.barcode && s.Receive == 0)
            .Count();
        if (mesInvItemOutCDetails <= 0)
        {
            throw new Exception("条码不符合接收条件,请检查!");
        }
        if (mesInvItemOutCDetails <= 0) throw new Exception("条码不符合接收条件,请检查!");
        var entity = Db.Queryable<MesInvItemOutCDetails, MesInvItemOuts, MesItems>((a, b, c) =>
                  new JoinQueryInfos(JoinType.Left, a.ItemOutId == b.Id,
                                    JoinType.Left, a.ItemNo == c.ItemNo))
              .Where((a, b, c) => a.ItemBarcode == query.barcode)
              .Select((a, b, c) => new MesInvItemOutCDetails
              {
                  PbillNo = b.ItemOutNo,
                  WorkNo = a.WorkNo,
                  ItemNo = a.ItemNo,
                  ItemName = c.ItemName,
                  Quantity = a.Quantity
              }).First();
        var entity = Db
            .Queryable<MesInvItemOutCDetails, MesInvItemOuts, MesItems>(
                (a, b, c) =>
                    new JoinQueryInfos(JoinType.Left, a.ItemOutId == b.Id,
                        JoinType.Left, a.ItemNo == c.ItemNo))
            .Where((a, b, c) => a.ItemBarcode == query.barcode)
            .Select((a, b, c) => new MesInvItemOutCDetails
            {
                PbillNo = b.ItemOutNo,
                WorkNo = a.WorkNo,
                ItemNo = a.ItemNo,
                ItemName = c.ItemName,
                Quantity = a.Quantity
            }).First();
        if (entity == null)
        {
            throw new Exception("出库条码" + query.barcode + " 不存在,请确认!");
        }
        return entity;
@@ -132,19 +122,16 @@
        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 mesInvItemOutCDetails = Db.Queryable<MesInvItemOutCDetails>()
            .Where(s => s.ItemBarcode == query.barcode).First();
        MaterialReceipt entity = new MaterialReceipt
        var entity = new MaterialReceipt
        {
            InvItemoutCDetails = GetMesInvItemOutCDetails(mesInvItemOutCDetails.PbillNo),
            InvItemoutCDetails =
                GetMesInvItemOutCDetails(mesInvItemOutCDetails.PbillNo),
            ItemOuts = GetMesInvItemOuts(mesInvItemOutCDetails.PbillNo)
        };
        return entity;
@@ -154,40 +141,30 @@
    public MesInvItemOutCDetails confirmReceipt(WarehouseQuery query)
    {
        if (string.IsNullOrWhiteSpace(query.barcode))
        {
            throw new Exception("请扫出库条码!");
        }
        if (string.IsNullOrWhiteSpace(query.billNo))
        {
            throw new Exception("出库单据不能为空!");
        }
        var barcodeInfo = GetBarcodeInfo(query.barcode);
        if (barcodeInfo.Receive == 1)
        {
            throw new Exception("此条码已经接收,请检查!");
        }
        if (barcodeInfo.Receive == 1) throw new Exception("此条码已经接收,请检查!");
        UseTransaction(db =>
        {
            var count = db.Updateable<MesInvItemOutCDetails>()
             .SetColumns(s => s.Receive == 1)
             .Where(s => s.ItemBarcode == barcodeInfo.ItemBarcode).ExecuteCommand();
                .SetColumns(s => s.Receive == 1)
                .Where(s => s.ItemBarcode == barcodeInfo.ItemBarcode)
                .ExecuteCommand();
            return 1;
        });
        return barcodeInfo;
    }
    public List<MesInvItemOutCDetails> GetMesInvItemOutCDetails(string billno)
@@ -203,12 +180,10 @@
    }
    private MesInvItemOutCDetails GetBarcodeInfo(string itemBarcode)
    {
        // Get barcode information
        return Db.Queryable<MesInvItemOutCDetails>()
            .First(b => b.ItemBarcode == itemBarcode);
    }
}