xiazhengtongxue
15 小时以前 75dcfe564467731b993519eb59ce330703ed1d5b
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService/TaskService.Query.cs
@@ -34,6 +34,21 @@
    }
    /// <summary>
    /// 查询是否有正在执行的去往指定 TargetAddress 的输送线任务
    /// </summary>
    /// <param name="roadway">巷道号</param>
    /// <param name="targetAddress">目标地址</param>
    /// <returns>存在返回 true</returns>
    public bool HasExecutingTaskToTarget(string roadway, string targetAddress)
    {
        return BaseDal.QueryFirst(x =>
            x.Roadway == roadway &&
            x.TargetAddress == targetAddress &&
            x.TaskStatus == (int)TaskOutStatusEnum.Line_OutExecuting,
            TaskOrderBy) != null;
    }
    /// <summary>
    /// 根据任务号、当前地址查询输送线完成的任务
    /// </summary>
    /// <param name="taskNum">任务号</param>
@@ -112,9 +127,12 @@
    /// <param name="deviceNo">设备编号</param>
    /// <param name="currentAddress">当前地址</param>
    /// <returns>返回任务实体对象集合,可能为null</returns>
    public List<Dt_Task> QueryStackerCraneOutTasks(string deviceNo, List<string> outStationCodes)
    public List<Dt_Task> QueryStackerCraneOutTasks(string deviceNo, List<string> outStationCodes, bool isTrue = true)
    {
        return BaseDal.QueryData(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskStatus == (int)TaskOutStatusEnum.OutNew && outStationCodes.Contains(x.CurrentAddress), TaskOrderBy);
        if (isTrue)
            return BaseDal.QueryData(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskStatus == (int)TaskOutStatusEnum.OutNew && outStationCodes.Contains(x.NextAddress), TaskOrderBy);
        else
            return BaseDal.QueryData(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskStatus == (int)TaskOutStatusEnum.OutNew && !outStationCodes.Contains(x.NextAddress), TaskOrderBy);
    }
    /// <summary>
@@ -149,7 +167,7 @@
    public Dt_Task QueryManualInboundTask(string sourceAddress)
    {
        return BaseDal.QueryFirst(x =>
            x.TaskType == (int)TaskInboundTypeEnum.Inbound &&
            (x.TaskType == (int)TaskInboundTypeEnum.Inbound || x.TaskType == (int)TaskInboundTypeEnum.InEmpty) &&
            x.TaskStatus == (int)TaskInStatusEnum.InNew &&
            x.SourceAddress == sourceAddress);
    }