using APT.BaseData.Domain.Entities.FM;
using APT.Infrastructure.Core;
using Microsoft.AspNetCore.Mvc;
using APT.Infrastructure.Api;
using System.Collections.Generic;
using System.Linq.Expressions;
using System;
using System.Linq;
using APT.BaseData.Domain.ApiModel;
using Ubiety.Dns.Core;
using System.Security.AccessControl;
using APT.MS.Domain.Entities.FO;
using APT.BaseData.Domain.Entities;
using APT.MS.Domain.Enums;
using APT.MS.Domain.Entities.BI;
using static APT.MS.Domain.Enums.BI.BIEnums;
using APT.Utility;
namespace APT.SC.WebApi.Controllers.Api.BI
{
///
/// 年度监测汇总
///
[Route("api/BI/BISafe")]
public class BISafeController : AuthorizeApiController
{
//IBIBSSafeCheckService BIBSSafeCheckService { get; set; }
//public BISafeController(IBIBSSafeCheckService bIBSSafeCheckService)
//{
// BIBSSafeCheckService = bIBSSafeCheckService;
//}
///
/// 显示
///
///
///
[HttpPost, Route("GetShow")]
public JsonActionResult GetShow([FromBody] KeywordFilter filter)
{
return SafeExecute(() =>
{
BISafe result = new BISafe();
string Parameter1 = string.Empty;
string Parameter2 = string.Empty;
if (filter.FilterGroup.Rules.Count == 2)
{
foreach (var item in filter.FilterGroup.Rules)
{
if (item.Field == "Parameter1")
{
Parameter1 = item.Value.ToString();
}
else if (item.Field == "Parameter2")
{
if (item.Value == null)
{
throw new Exception("参数2为空!");
}
else
{
Parameter2 = item.Value.ToString();
}
}
}
}
if (!string.IsNullOrEmpty(Parameter1) || !string.IsNullOrEmpty(Parameter2))
{
string Code = "BI002_BSSAFECHECK"; //编码
FilterTimeType? timeType = null;
BSMineTypeEditEnum? mineType = null;
try
{
timeType = (FilterTimeType)(int.Parse(Parameter1));
}
catch { }
try
{
mineType = (BSMineTypeEditEnum)(int.Parse(Parameter2));
}
catch { }
if (timeType != null && mineType != null)
{
var listSafeCheck = GetEntities(e => e.ORG_ID == filter.OrgId.Value && e.TimeType == timeType.Value && e.MineType == mineType.Value, null).OrderBy(e => e.TEAMNAME).ToList();
var listCheckType = GetEntities(e => e.ORG_ID == filter.OrgId.Value && e.TimeType == timeType.Value && e.MineType == mineType.Value, null).OrderBy(e => e.name).ToList();
var summary = GetEntity(e => e.ORG_ID == filter.OrgId.Value && e.TimeType == timeType.Value && e.MineType == mineType.Value && e.CODE == Code);
result.listSafeCheck = listSafeCheck;
result.listCheckType = listCheckType;
result.summary = summary;
}
}
return result;
});
}
}
public class BISafe
{
public List listSafeCheck { get; set; }
public List listCheckType { get; set; }
public T_BI_SUMMARY summary { get; set; }
}
}