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; } } }