140 lines
6.8 KiB
C#
140 lines
6.8 KiB
C#
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<T_TL_WATCH_SUM>
|
|
{
|
|
//IFMFlowPermitService MFlowPermitService { get; set; }
|
|
//IFMNotificationTaskService NotificationTaskService { get; set; }
|
|
//public TLWatchSumController(IFMFlowPermitService mFlowPermitService, IFMNotificationTaskService notificationTaskService)
|
|
//{
|
|
// MFlowPermitService = mFlowPermitService;
|
|
// NotificationTaskService = notificationTaskService;
|
|
//}
|
|
|
|
/// <summary>
|
|
/// 获得单条实体数据
|
|
/// </summary>
|
|
/// <param name="filter">过滤实体</param>
|
|
/// <returns></returns>
|
|
[HttpPost, Route("GetALL")]
|
|
public JsonActionResult<T_TL_WATCH_SUM> GetALL([FromBody] KeywordFilter filter)
|
|
{
|
|
return SafeExecute(() =>
|
|
{
|
|
var result = GetEntity<T_TL_WATCH_SUM>(null, filter, null);
|
|
var listDayly = GetEntities<T_TL_WATCH_DAYLY_DETAIL>(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.DAYLY_ID);
|
|
var listMove = GetEntities<T_TL_WATCH_MOVE_DETAIL>(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<T_TL_WATCH_LINE_DETAIL>(e => !e.IS_DELETED && e.DATE.HasValue && e.DATE.Value.Date == result.DATE, null, "Nav_WatchLinePoint", "Nav_ListUser.Nav_User").OrderBy(e => e.DATE).OrderBy(e => e.LINE_ID);
|
|
var listPercent = GetEntities<T_TL_WATCH_PERCENT_DETAIL>(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<Guid> listUserID = new List<Guid>();
|
|
List<Guid> listUserIDMovd = null;
|
|
List<Guid> listUserIDLine = null;
|
|
List<Guid> listUserIDDayly = null;
|
|
List<Guid> listUserIDPercent = null;
|
|
|
|
if (listPercent != null && listPercent.Any())
|
|
{
|
|
listUserIDPercent = new List<Guid>();
|
|
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<Guid>();
|
|
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<Guid>();
|
|
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())
|
|
{
|
|
listUserIDDayly = new List<Guid>();
|
|
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<T_FM_USER>(e => listUserID.Contains(e.ID), null, null);
|
|
var listUserSignFile = GetEntities<T_FM_USER_SIGN_FILE>(e => listUserID.Contains(e.USER_ID), null, "Nav_ImgFile.Nav_File");
|
|
|
|
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;
|
|
});
|
|
}
|
|
}
|
|
} |