快乐的昕的电脑
2025-09-28 d9fa4abeecfc12ce234fe9fed339fc83d2b9caf2
Services/WomdaaManager.cs
@@ -14,10 +14,10 @@
    /// </summary>
    /// <param name="query">包含机器编号的查询条件</param>
    /// <returns>工单列表,按模具ID分组后的第一条记录</returns>
    public List<VOrder> GetWomdaasByEngineeringNo(OrderMachineDto query)
    public List<VOrdreBycl> GetWomdaasByEngineeringNo(OrderMachineDto query)
    {
        var list = VOrders(query);
        var vOrders = list.GroupBy(p => p.moldId)
        var vOrders = list.GroupBy(p => p.cutterId)
            .Select(g => g.First()).ToList();
        return vOrders;
    }
@@ -27,32 +27,30 @@
    /// </summary>
    /// <param name="query">包含机器编号的查询条件</param>
    /// <returns>合并后的工单列表</returns>
    private List<VOrder> VOrders(OrderMachineDto query)
    private List<VOrdreBycl> VOrders(OrderMachineDto query)
    {
        // 查询未完工且实际数量不等于计划数量的工单
        var list = Db.Queryable<VOrder>()
        var list = Db.Queryable<VOrdreBycl>()
            .Where(s => s.Daa018 != "完工" &&
                        s.MachineNo == query.machineNo
                        && s.Daa011 != s.Daa008
            )
            .Select<VOrder>(s => new VOrder
            .Select(s => new VOrdreBycl
            {
                ID = s.ID,
                moldId = s.moldId,
                moldName = s.moldName,
                moldModel = s.moldModel
                cutterId = s.cutterId,
                cutterName = s.cutterName,
                cutterModel = s.cutterModel
            })
            .ToList();
        // 查询指定机器的工单
        var orders = Db.Queryable<VOrderA>()
        var orders = Db.Queryable<VOrderABycl>()
            .Where(s => s.MachineNo == query.machineNo)
            .Select<VOrder>(s => new VOrder
            .Select<VOrdreBycl>(s => new VOrdreBycl
            {
                ID = s.Id,
                moldId = s.moldId,
                moldName = s.moldName,
                moldModel = s.moldModel
                ID = s.ID,
                cutterId = s.cutterId,
                cutterName = s.cutterName,
                cutterModel = s.cutterModel
            })
            .ToList();
@@ -67,19 +65,17 @@
    ///     包含机器编号(machineNo)和工程编号(engineeringNo)的查询条件
    /// </param>
    /// <returns>
    ///     返回符合条件的工单(VOrder)列表
    ///     返回符合条件的工单(VOrdreBycl)列表
    /// </returns>
    public List<VOrder> GetWomdaasByMachine(OrderMachineDto query)
    public List<VOrdreBycl> 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();
        var vOrders = list.Where(s => s.cutterId == query.engineeringNo).ToList();
        // 获取筛选后工单的ID集合
        var ids = vOrders.Select(s => s.ID).ToArray();
@@ -87,9 +83,9 @@
        // 1. 机台编号等于传入的machineNo
        // 2. 编辑日期为今天或为空
        // 3. 工单ID在ids集合中
        return Db.Queryable<VOrder>()
        return Db.Queryable<VOrdreBycl>()
            .Where(s =>
                s.MachineNo == query.machineNo // 设备编号
                s.MachineNo == query.machineNo
                && (s.EditDate == date || s.EditDate == null)
                && ids.Contains(s.ID))
            .ToList();
@@ -100,17 +96,25 @@
    /// </summary>
    /// <param name="query">包含机器编号的查询条件</param>
    /// <returns>需要显示的工单列表</returns>
    public List<VOrder> GetWomdaasByShow(OrderMachineDto query)
    public List<VOrdreBycl> GetWomdaasByShow(OrderMachineDto query)
    {
        // 查询需要显示的工单ID
        var ids = Db.Queryable<MesOrderSelect>()
            .Where(b => b.MachineNo == query.machineNo
                        && b.IsShow == 0).Select(s => s.OrderId)
                        && b.IsShow == 0)
            .Select(s => s.OrderId)
            .ToList();
        // 去重
        var decimals = ids.Distinct().ToList();
        var date = DateTime.Now.ToString("yyyy-MM-dd");
        return Db.Queryable<VOrder>()
        // 如果没有工单ID,直接返回空列表
        if (decimals.Count == 0)
            return new List<VOrdreBycl>();
        // 查询工单视图,筛选出需要显示的工单
        return Db.Queryable<VOrdreBycl>()
            .Where(c =>
                decimals.Contains(c.ID) &&
                (c.EditDate == date || c.EditDate == null))
@@ -166,7 +170,7 @@
        vOrder.wjQty = vOrder.Daa008 - vOrder.Daa011;
        //DevMachine
        var devMachine = Db.Queryable<DevMachine>()
        var devMachine = Db.Queryable<DevMacBycl>()
            .Where(s => s.MachineNo == vOrder.MachineNo)
            .First();