南骏 池
2 天以前 b727409bf046acea9533065da35e8e3872cac783
service/Warehouse/MesItemQtManager.cs
@@ -16,13 +16,14 @@
    /// <returns>退料单号列表</returns>
    public List<string> GetPendingQtList()
    {
        const string sql = @"SELECT qtck
                        FROM MES_ITEM_QT
                        WHERE qt015 = 1
                          AND qt026 = 1
                          AND QT029 = 1
                          AND qt032 = 1
                          AND QT014 = 0  ";
        const string sql = @"SELECT qtck
FROM MES_ITEM_QT
WHERE qt015 = 1
  AND qt026 = 1
  AND QT029 = 1
  AND qt032 = 1
  AND QT014 = 0
ORDER BY qt002";
        return Db.Ado.SqlQuery<string>(sql);
    }
@@ -51,11 +52,12 @@
        //    throw new Exception($"其他出库申请单 {p_bill_no} 未审核,请确认!");
        // 检查退料单的完结状态(Qt014),已完结则抛出异常
        if (mesItemQt.Qt014 == true)
            throw new Exception($"其他出库申请单 {p_bill_no} 已完结,请确认!");
        //if (mesItemQt.Qt014 == true)
        //    throw new Exception($"其他出库申请单 {p_bill_no} 已完结,请确认!");
        var sql = @"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,
                    ISNULL(A.qd007,0)  FQty,ISNULL(A.qd008,0) SQty,ISNULL(A.qd007,0) - ISNULL(A.qd008,0) DSQty
                    ISNULL(A.qd007,0)  FQty,ISNULL(A.qd008,0) SQty,ISNULL(A.qd007,0) - ISNULL(A.qd008,0) DSQty,
                    dbo.F_QX_GETRECODEPOTSE(A.itemId,'','','') as RecoKw
                    FROM MES_ITEM_QT_DATALL A
                    LEFT JOIN MES_ITEM_QT B ON A.qtGuid = B.guid
                    LEFT JOIN MES_ITEMS C ON A.itemId = C.item_id
@@ -115,6 +117,9 @@
        if (barcode == null)
            throw new Exception($"mes中不存在此条码,请核对!{p_item_barcode}");
        // 获取库存信息
        var stock = Db.Queryable<MesInvItemStocks>()
            .Where(it => it.ItemBarcode == p_item_barcode && it.Quantity > 0)
@@ -148,11 +153,6 @@
        if (mesItemQt == null)
            throw new Exception($"其他出库申请单 {p_bill_no} 不存在,请确认!");
        // 检查仓库是否一致
        if (Convert.ToInt32(mesItemQt.Qt008)  != stock.DepotId)
            throw new Exception(
                $"扫码出货仓库id{mesItemQt.Qt008}与其他出库申请仓库{stock.DepotId}不一致,请核对!");
        // 获取出库单明细
        var qtDetail = Db.Queryable<MesItemQtDatall>()
            .Where(it =>
@@ -161,6 +161,19 @@
            .First();
        if (qtDetail == null) throw new Exception("扫码物料非本次出库申请物料,请核对!");
        if (mesItemQt.Qt014 == true)
            throw new Exception($"其他出库申请单 {p_bill_no} 已完结,请确认!");
        // 检查仓库是否一致
        if (qtDetail.DepotId  != stock.DepotId)
            throw new Exception(
                $"扫码出货仓库id{qtDetail.DepotId}与其他出库申请仓库{stock.DepotId}不一致,请核对!");
        // 检查剩余数量
        var remainingQty = (qtDetail.Qd007 ?? 0) - (qtDetail.Qd008 ?? 0);
@@ -190,6 +203,8 @@
            var message =
                $"请确认发料数量!!已带出满足其他出库单的发料数量 {remainingQty} 确认后请点击条码拆分";
            throw new Exception($"条码数量超出发料数量,请拆分后再扫描!");
            query.itemNo = stock.ItemNo;
            query.Num = stock.Quantity;
@@ -242,8 +257,8 @@
                    BillTypeId = p_bill_type_id,
                    TransactionNo = p_transaction_no,
                    DepotCode = stock.DepotsCode,
                    DepotId = stock.DepotsId.HasValue
                        ? (int)stock.DepotsId
                    DepotId = stock.DepotId.HasValue
                        ? (int)stock.DepotId
                        : null,
                    OutPart = mesItemQt.Qt012,
                    FType = 0,
@@ -337,8 +352,8 @@
                LastupdateBy = c_user,
                LastupdateDate = DateTime.Now,
                DepotCode = stock.DepotsCode,
                DepotId = stock.DepotsId.HasValue
                    ? (int)stock.DepotsId
                DepotId = stock.DepotId.HasValue
                    ? (int)stock.DepotId
                    : null,
                // DepotsCode = stock.DepotsCode,
                // DepotSectionsCode = stock.DepotSectionsCode,