#region << 版 本 注 释 >> /*-------------------------------------------------------------------- * 版权所有 (c) 2026 WenJY 保留所有权利。 * CLR版本:4.0.30319.42000 * 机器名称:Mr.Wen's MacBook Pro * 命名空间:Sln.Wcs.Repository.service.Impl * 唯一标识:7EB24A6D-0E1A-4C41-83E5-991FBACB2424 * * 创建者:WenJY * 电子邮箱: * 创建时间:2026-05-07 10:08:30 * 版本:V1.0.0 * 描述: * *-------------------------------------------------------------------- * 修改人: * 时间: * 修改说明: * * 版本:V1.0.0 *--------------------------------------------------------------------*/ #endregion << 版 本 注 释 >> using System.Linq.Expressions; using Sln.Wcs.Model.Domain; using Sln.Wcs.Repository.service.@base; namespace Sln.Wcs.Repository.service.Impl; public class LiveTaskQueueServiceImpl: BaseServiceImpl, ILiveTaskQueueService { private ILiveTaskDetailService liveTaskDetailService; public LiveTaskQueueServiceImpl(Repository rep, ILiveTaskDetailService liveTaskDetailService) : base(rep) { this.liveTaskDetailService = liveTaskDetailService; } public bool InsertTaskQueue(LiveTaskQueue taskQueue) { bool res = false; try { _rep.AsTenant().BeginTran(); res = _rep.Insert(taskQueue); res = liveTaskDetailService.Insert(taskQueue.taskDetails); _rep.AsTenant().CommitTran(); } catch (Exception e) { _rep.AsTenant().RollbackTran(); throw new InvalidOperationException($"保存任务队列异常:{e.Message}"); } return res; } public List getLiveTaskQueues(Expression> exp = null) { try { var res = _rep.Context.Queryable() .Includes(x => x.taskDetails) // 先加载所有 .Where(exp) .ToList() .Select(task => new LiveTaskQueue { objId = task.objId, taskCode = task.taskCode, materialCode = task.materialCode, palletBarcode = task.palletBarcode, materialBarcode = task.materialBarcode, materialCount = task.materialCount, taskType = task.taskType, taskCategory = task.taskCategory, startPoint = task.startPoint, endPoint = task.endPoint, pathCode = task.pathCode, taskSteps = task.taskSteps, isFlag = task.isFlag, remark = task.remark, taskDetails = task.taskDetails.AsQueryable() //.Where(detailWhere) // 应用子表查询条件 .Where(p => p.isFlag == 1) .ToList() }).ToList(); return res; } catch (Exception ex) { throw new InvalidOperationException($"通过导航查询方式获取任务信息及下属参数执行异常:{ex.Message}"); } } }