快乐的昕的电脑
2025-09-29 0d16865d2290a7fb1140a42763a43795f509937b
下拉框选择状态
已修改2个文件
31 ■■■■■ 文件已修改
Entites/Dto/OrderMachineDto.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Services/WomdaaManager.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Entites/Dto/OrderMachineDto.cs
@@ -5,6 +5,7 @@
    public string? EditDate { get; set; }
    public decimal? OrderId { get; set; }
    public string? machineNo { get; set; }
    public string MachineNo { get; set; }
    public string? orderNo { get; set; }
    public decimal? Flag { get; set; }
@@ -30,5 +31,5 @@
    /// </summary>
    public string? RequestId { get; set; }
    public string[]? OrderStatus { get; set; } // 新增:工单状态筛选
    public List<string>? OrderStatus { get; set; } // 新增:工单状态筛选
}
Services/WomdaaManager.cs
@@ -10,23 +10,26 @@
public class WomdaaManager : Repository<Womdaa>
{
    /// <summary>
    ///     根据工程编号获取工单列表
    ///     根据工程编号和工单状态获取工单列表
    /// </summary>
    /// <param name="query">包含机器编号的查询条件</param>
    /// <returns>工单列表,按模具ID分组后的第一条记录</returns>
    /// <param name="query">包含机器编号和工单状态的查询条件</param>
    /// <returns>工单列表</returns>
    public List<VOrdreBycl> GetWomdaasByEngineeringNo(OrderMachineDto query)
    {
        var list = VOrders(query);
        // 增加状态筛选
        // 按工单状态筛选
        if (query.OrderStatus != null && query.OrderStatus.Any())
        {
            Console.WriteLine("收到OrderStatus参数: " + string.Join(",", query.OrderStatus ?? Array.Empty<string>()));
            Console.WriteLine("所有工单状态: " + string.Join(",", list.Select(x => x.Daa018 ?? "").Distinct()));
            list = list.Where(p => p.Daa018 != null && query.OrderStatus.Contains(p.Daa018)).ToList();
        }
        // 去掉模具分组,直接返回筛选结果
        //// 分组逻辑(如需分组,按刀具ID分组取第一条)
        //var vOrders = list.GroupBy(p => p.cutterId)
        //    .Select(g => g.First()).ToList();
        //return vOrders;
        // 如需分组可加分组逻辑,否则直接返回
        return list;
    }
@@ -38,17 +41,19 @@
    private List<VOrdreBycl> VOrders(OrderMachineDto query)
    {
        var list = Db.Queryable<VOrdreBycl>()
            .Where(s => s.MachineNo == query.machineNo)
            .Where(s => s.Daa018 != "完工" &&
                        s.MachineNo == query.machineNo
            )
            .Select(s => new VOrdreBycl
            {
                ID = s.ID,
                cutterId = s.cutterId,
                cutterName = s.cutterName,
                cutterModel = s.cutterModel,
                Daa018 = s.Daa018 // 确保状态字段被映射
                cutterModel = s.cutterModel
            })
            .ToList();
        // 查询指定机器的工单
        var orders = Db.Queryable<VOrderABycl>()
            .Where(s => s.MachineNo == query.machineNo)
            .Select<VOrdreBycl>(s => new VOrdreBycl
@@ -56,8 +61,7 @@
                ID = s.ID,
                cutterId = s.cutterId,
                cutterName = s.cutterName,
                cutterModel = s.cutterModel,
                Daa018 = s.Daa018
                cutterModel = s.cutterModel
            })
            .ToList();