service/Warehouse/MesItemTblManager.cs
@@ -8,26 +8,27 @@
namespace NewPdaSqlServer.service.Warehouse;
/// <summary>
/// MES物料表管理类
///     MES物料表管理类
/// </summary>
public class MesItemTblManager : Repository<MesItemTbl>
{
    /// <summary>
    /// 获取生产退料单号列表
    ///     获取生产退料单号列表
    /// </summary>
    /// <returns>退料单号列表</returns>
    public List<string> GetSCTLBillNo()
    public List<string> GetSCTLBillNo(WarehouseQuery query)
    {
        var list = Db.Queryable<MesItemTbl>()
            .Where(s => (s.Tbl013 ?? 0) == 1  // 审核通过
                        && (s.Tbl020 ?? 0) == 0)  // 未完成
            .Where(s => (s.Tbl013 ?? 0) == 1 // 审核通过
                        && (s.Tbl020 ?? 0) == 0
                        && s.Tbl008 == query.Type)
            .Select(s => s.BillNo).ToList();
        return list;
    }
    /// <summary>
    /// 根据单号获取MES物料表明细
    ///     根据单号获取MES物料表明细
    /// </summary>
    /// <param name="query">仓库查询参数</param>
    /// <returns>物料明细列表</returns>
@@ -48,12 +49,12 @@
                BillNo = a.BillNo,
                Tlid = b.Tlid,
                Tlmid = b.Tlmid,
                Tld005 = b.Tld005 ?? 0,  // 待退数量
                Tld006 = b.Tld006 ?? 0,  // 已退数量
                Tld005 = b.Tld005 ?? 0, // 待退数量
                Tld006 = b.Tld006 ?? 0, // 已退数量
                Tld009 = b.Tld009,
                ItemNo = c.ItemNo,        // 物料编号
                ItemName = c.ItemName,    // 物料名称
                ItemModel = c.ItemModel   // 物料型号
                ItemNo = c.ItemNo, // 物料编号
                ItemName = c.ItemName, // 物料名称
                ItemModel = c.ItemModel // 物料型号
            }).ToList();
        // 筛选出待退数量大于已退数量的记录
@@ -64,7 +65,7 @@
    }
    /// <summary>
    /// 生产退料扫描库位
    ///     生产退料扫描库位
    /// </summary>
    /// <param name="query">仓库查询参数</param>
    /// <returns>库位信息</returns>
@@ -91,19 +92,19 @@
    }
    /// <summary>
    /// 生产退料扫描条码
    ///     生产退料扫描条码
    /// </summary>
    /// <param name="query">仓库查询参数</param>
    /// <returns>处理结果</returns>
    public WarehouseQuery SctlScanBarcode(WarehouseQuery query)
    {
        var p_item_barcode = query.barcode;      // 物料条码
        var p_bill_no = query.billNo;            // 单据号
        var p_section_code = query.DepotCode;     // 库位编码
        var c_user = query.userName;              // 用户名
        var p_item_barcode = query.barcode; // 物料条码
        var p_bill_no = query.billNo; // 单据号
        var p_section_code = query.DepotCode; // 库位编码
        var c_user = query.userName; // 用户名
        var p_bill_type_id = 100;                // 单据类型ID
        var p_transction_no = 104;               // 交易编号
        var p_bill_type_id = 100; // 单据类型ID
        var p_transction_no = 104; // 交易编号
        // 验证库位条码
        if (p_section_code.IsNullOrEmpty()) throw new Exception("请扫库位条码!");
@@ -442,7 +443,11 @@
                    .Where(it => it.BillNo == p_bill_no)
                    .ExecuteCommand();
            if (totalResult < 3) throw new Exception("插入失败");
            // 检查必要的插入操作是否都成功执行
            var minimumExpectedOperations = 3; // 至少需要执行的插入操作数
            if (totalResult < minimumExpectedOperations)
                throw new Exception(
                    $"关键数据插入失败,预期至少{minimumExpectedOperations}个操作,实际执行{totalResult}个操作");
            return totalResult;
        });