| | |
| | | /// <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(); |