快乐的昕的电脑
2025-09-26 46080f7f025c395680042f33898a36615899fd9d
test_1
已修改2个文件
28 ■■■■ 文件已修改
Services/MesOrderStaManager.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Services/WomdaaManager.cs 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Services/MesOrderStaManager.cs
@@ -43,9 +43,7 @@
    {
        // 查询MesOrderSta表获取工单状态记录
        var mesOrderSta = Db.Queryable<MesOrderSta>()
            // 根据工单ID匹配记录
            .Where(s => s.OrderId == query.OrderId)
            // 获取第一条记录
            .First();
        // 如果未找到记录,返回空对象
@@ -54,8 +52,9 @@
        // 查询Womdaa表获取工单主表信息
        var womdaa = Db.Queryable<Womdaa>()
            .Where(a => a.Id == query.OrderId).First();
        // 设置工单状态
        mesOrderSta.OrderStatus = womdaa.Daa018;
        // 判空处理,避免空引用异常
        mesOrderSta.OrderStatus = womdaa != null ? womdaa.Daa018 : null;
        return mesOrderSta;
    }
Services/WomdaaManager.cs
@@ -63,18 +63,33 @@
    /// <summary>
    ///     根据机器编号和工程编号获取工单列表
    /// </summary>
    /// <param name="query">包含机器编号和工程编号的查询条件</param>
    /// <returns>符合条件的工单列表</returns>
    /// <param name="query">
    ///     包含机器编号(machineNo)和工程编号(engineeringNo)的查询条件
    /// </param>
    /// <returns>
    ///     返回符合条件的工单(VOrder)列表
    /// </returns>
    public List<VOrder> GetWomdaasByMachine(OrderMachineDto query)
    {
        // 获取当前日期字符串,格式为 yyyy-MM-dd
        var date = DateTime.Now.ToString("yyyy-MM-dd");
        // 获取指定机器下未完工且实际数量不等于计划数量的工单(合并VOrder和VOrderA)
        var list = VOrders(query);
        // 根据工程编号(engineeringNo)筛选出对应的工单(moldId == engineeringNo)
        var vOrders = list.Where(s => s.moldId == query.engineeringNo).ToList();
        // 获取筛选后工单的ID集合
        var ids = vOrders.Select(s => s.ID).ToArray();
        // 查询V_ORDER视图,筛选条件:
        // 1. 机台编号等于传入的machineNo
        // 2. 编辑日期为今天或为空
        // 3. 工单ID在ids集合中
        return Db.Queryable<VOrder>()
            .Where(s =>
                s.MachineNo == query.machineNo
                s.MachineNo == query.machineNo // 设备编号
                && (s.EditDate == date || s.EditDate == null)
                && ids.Contains(s.ID))
            .ToList();