using APT.BaseData.Domain.Entities; using APT.BaseData.Domain.Entities.FM; using APT.BaseData.Domain.Enums; using APT.BaseData.Domain.Enums.PF; using APT.BaseData.Domain.IServices; using APT.BaseData.Domain.IServices.FM; using APT.Infrastructure.Core; using APT.MS.Domain.Entities.TL; using APT.MS.Domain.Enums; using APT.Utility; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Linq; namespace APT.SC.WebApi.Controllers.Api.SC { [Route("api/TL/TLWatchSum")] public class TLWatchSumController : AuthorizeApiController { //IFMFlowPermitService MFlowPermitService { get; set; } //IFMNotificationTaskService NotificationTaskService { get; set; } //public TLWatchSumController(IFMFlowPermitService mFlowPermitService, IFMNotificationTaskService notificationTaskService) //{ // MFlowPermitService = mFlowPermitService; // NotificationTaskService = notificationTaskService; //} /// /// 获得单条实体数据 /// /// 过滤实体 /// [HttpPost, Route("GetALL")] public JsonActionResult GetALL([FromBody] KeywordFilter filter) { return SafeExecute(() => { var result = GetEntity(null, filter, null); var listDayly = GetEntities(e => !e.IS_DELETED && e.DATE.HasValue && e.DATE.Value.Date == result.DATE, null, "Nav_Item").OrderBy(e => e.DATE).ThenBy(e => e.DAYLY_ID).ThenBy(e => e.Nav_Item.ROW_NO); var listMove = GetEntities(e => !e.IS_DELETED && e.DATE.HasValue && e.DATE.Value.Date == result.DATE, null, "Nav_WatchMovePoint", "Nav_ListUser.Nav_User").OrderBy(e => e.DATE).OrderBy(e => e.MOVE_ID); var listLine = GetEntities(e => !e.IS_DELETED && e.DATE.HasValue && e.DATE.Value.Date == result.DATE, null, "Nav_WatchLinePoint", "Nav_ListUser.Nav_User", "Nav_Files.Nav_ImgFile").OrderBy(e => e.DATE).OrderBy(e => e.LINE_ID); var listPercent = GetEntities(e => !e.IS_DELETED && e.DATE.HasValue && e.DATE.Value.Date == result.DATE, null, "Nav_ListUser.Nav_User").OrderBy(e => e.DATE).OrderBy(e => e.PERCENT_ID); List listUserID = new List(); List listUserIDMovd = null; List listUserIDLine = null; List listUserIDDayly = null; List listUserIDPercent = null; if (listPercent != null && listPercent.Any()) { listUserIDPercent = new List(); foreach (var item in listPercent) { listUserIDPercent.AddRange(item.Nav_ListUser.Select(e => e.USER_ID)); item.Nav_ListUser = item.Nav_ListUser.OrderBy(e => e.MODIFY_TIME).ToList(); } listUserID.AddRange(listUserIDPercent); result.Nav_ListDetailPercent = listPercent.ToList(); } if (listMove != null && listMove.Any()) { listUserIDMovd = new List(); foreach (var item in listMove) { listUserIDMovd.AddRange(item.Nav_ListUser.Select(e => e.USER_ID)); item.Nav_ListUser = item.Nav_ListUser.OrderBy(e => e.MODIFY_TIME).ToList(); } listUserID.AddRange(listUserIDMovd); result.Nav_ListDetailMovd = listMove.ToList(); } if (listLine != null && listLine.Any()) { listUserIDLine = new List(); foreach (var item in listLine) { item.Nav_ListUser = item.Nav_ListUser.OrderBy(e => e.MODIFY_TIME).ToList(); listUserIDLine.AddRange(item.Nav_ListUser.Select(e => e.USER_ID)); } listUserID.AddRange(listUserIDLine); result.Nav_ListDetailLine = listLine.ToList(); } if (listDayly != null && listDayly.Any()) { var dayLyID = listDayly.Select(e => e.DAYLY_ID); listUserIDDayly = GetEntities(e => e.IS_DELETED && dayLyID.Contains(e.DAYLY_ID), null, null).Select(e => e.USER_ID).ToList(); //foreach (var item in listDayly) //{ // listUserIDDayly.AddRange(item.Nav_ListUser.Select(e => e.USER_ID)); // item.Nav_ListUser = item.Nav_ListUser.OrderBy(e => e.MODIFY_TIME).ToList(); //} listUserID.AddRange(listUserIDDayly); result.Nav_ListDetailDayly = listDayly.ToList(); } #region 签名 listUserID = listUserID.Distinct().ToList(); var listUserSign = GetEntities(e => listUserID.Contains(e.ID), null, null); var listUserSignFile = GetEntities(e => listUserID.Contains(e.USER_ID), null, "Nav_ImgFile"); if (listUserIDMovd != null) { result.Nav_ListSignMovd = listUserSign.Where(e => listUserIDMovd.Contains(e.ID)).ToList(); foreach (var item in result.Nav_ListSignMovd) { item.Nav_UserSignFiles = listUserSignFile.Where(e => e.USER_ID == item.ID).ToList(); } } if (listUserIDLine != null) { result.Nav_ListSignLine = listUserSign.Where(e => listUserIDLine.Contains(e.ID)).ToList(); foreach (var item in result.Nav_ListSignLine) { item.Nav_UserSignFiles = listUserSignFile.Where(e => e.USER_ID == item.ID).ToList(); } } if (listUserIDDayly != null) { result.Nav_ListSignDayly = listUserSign.Where(e => listUserIDDayly.Contains(e.ID)).ToList(); foreach (var item in result.Nav_ListSignDayly) { item.Nav_UserSignFiles = listUserSignFile.Where(e => e.USER_ID == item.ID).ToList(); } } if (listUserIDPercent != null) { result.Nav_ListSignPercent = listUserSign.Where(e => listUserIDPercent.Contains(e.ID)).ToList(); foreach (var item in result.Nav_ListSignPercent) { item.Nav_UserSignFiles = listUserSignFile.Where(e => e.USER_ID == item.ID).ToList(); } } #endregion return result; }); } } }