首页报表调整

This commit is contained in:
何美荣 2026-06-16 16:47:15 +08:00
parent 248b950dff
commit 98d5d48972
4 changed files with 191 additions and 321 deletions

View File

@ -73,7 +73,7 @@ namespace APT.BaseData.Services.Services.BI
/// <param name="listDep">查询部门</param> /// <param name="listDep">查询部门</param>
/// <param name="MonthBefo">提前月份</param> /// <param name="MonthBefo">提前月份</param>
/// <returns></returns> /// <returns></returns>
public IEnumerable<T_BI_HOME_BSRISKREASON> GetHomeCorrectOld(Guid? OrgID, List<T_FM_DEPARTMENT> listDep, int? MonthBefo = 5) public IEnumerable<T_BI_HOME_BSRISKREASON> GetHomeCorrect(Guid? OrgID, List<T_FM_DEPARTMENT> listDep, int? MonthBefo = 5)
{ {
if (listDep == null || listDep.Count < 1) if (listDep == null || listDep.Count < 1)
{ {
@ -120,91 +120,6 @@ namespace APT.BaseData.Services.Services.BI
return listReason; return listReason;
} }
/// <summary>
/// 查询首页的隐患整改情况 月度
/// </summary>
/// <param name="OrgID"></param>
/// <param name="listDep">查询部门</param>
/// <param name="MonthBefo">提前月份</param>
/// <returns></returns>
public IEnumerable<T_BI_HOME_BSRISKREASON> GetHomeCorrect(Guid? OrgID, List<T_FM_DEPARTMENT> listDep, int? MonthBefo = 5)
{
if (listDep == null || listDep.Count < 1)
{
return new List<T_BI_HOME_BSRISKREASON>();
}
var temps= new List<T_BI_HOME_BSRISKREASON>();
var fiter = new BaseFilter();
fiter.OrgId = OrgID;
fiter.IgnoreDataRule = true;
var hiddens = this.GetEntities<T_SK_HIDDEN_DANGER_RECTIFY_RECORD>(t => t.APPLY_DEPARTMENT_ID != null && t.CREATE_TIME.Value.Year == DateTime.Now.Year, fiter);
if (hiddens != null && hiddens.Any())
{
var groups = hiddens.GroupBy(t => new { t.APPLY_DEPARTMENT_ID,t.CREATE_TIME.Value.Month }).ToList();
foreach (var group in groups)
{
T_BI_HOME_BSRISKREASON home = new T_BI_HOME_BSRISKREASON();
home.DEPARTMENT_TYPE = (FMDepartmentType)listDep.FirstOrDefault(t=>t.ID == group.Key.APPLY_DEPARTMENT_ID)?.DEPARTMENT_TYPE;
home.TYPE = BSCaculateType.RiskCorrect;
home.YEAR = DateTime.Now.Year;
home.MONTH = group.Key.Month;
home.DEPARTMENT_ID = (Guid)group.Key.APPLY_DEPARTMENT_ID;
home.SOURCEVAL = 20;
var finishQty = hiddens.Count(t => t.APPLY_DEPARTMENT_ID == group.Key.APPLY_DEPARTMENT_ID && t.CREATE_TIME.Value.Month == group.Key.Month && t.STATUS == Domain.Enums.PF.PFStandardStatus.Archived);
var totalQty = hiddens.Count(t => t.APPLY_DEPARTMENT_ID == group.Key.APPLY_DEPARTMENT_ID && t.CREATE_TIME.Value.Month == group.Key.Month);
home.PERCENT = totalQty==0? 0 : (decimal)Math.Round(100.00 * finishQty / totalQty, 2);
temps.Add(home);
}
foreach (var item in hiddens)
{
T_BI_HOME_BSRISKREASON home = new T_BI_HOME_BSRISKREASON();
home.DEPARTMENT_TYPE = (FMDepartmentType)listDep.FirstOrDefault(t => t.ID == item.APPLY_DEPARTMENT_ID)?.DEPARTMENT_TYPE;
home.TYPE = BSCaculateType.RiskCorrect;
home.YEAR = item.CREATE_TIME.Value.Year;
home.MONTH = item.CREATE_TIME.Value.Month;
home.DEPARTMENT_ID = (Guid)item.APPLY_DEPARTMENT_ID;
home.SOURCEVAL = item.STATUS != Domain.Enums.PF.PFStandardStatus.Archived ? 15:item.MODIFY_TIME>item.COMPLETE_DATE?10:5;
temps.Add(home);
}
}
DateTime dtMin = DateTime.Now.AddMonths(-1 * MonthBefo.Value);
List<Guid> listDepID = listDep.Select(e => e.ID).ToList();
//Expression<Func<T_BI_HOME_BSRISKREASON, bool>> expression = e => e.TYPE == BSCaculateType.RiskCorrect;
//if (dtMin.Year == DateTime.Now.Year)
//{
// expression = expression.And(e => e.YEAR == dtMin.Year && e.MONTH >= dtMin.Month);
//}
//else
//{
// expression = expression.And(e => ((e.YEAR == dtMin.Year && e.MONTH >= dtMin.Month) || e.YEAR > dtMin.Year));
//}
//if (listDepID.Count > 1)
// expression = expression.And(e => listDepID.Contains(e.DEPARTMENT_ID));
//else
// expression = expression.And(e => e.DEPARTMENT_ID == listDepID[0]);
//BaseFilter filterR = new BaseFilter();
//filterR.OrgId = OrgID;
//filterR.Orders.Add(new DataOrder() { Field = "DEPARTMENT_ID", Order = DbOrder.ASC });
//filterR.Orders.Add(new DataOrder() { Field = "SOURCEVAL", Order = DbOrder.ASC });// 直接按枚举值 排序 NUMS
//filterR.Orders.Add(new DataOrder() { Field = "YEAR", Order = DbOrder.ASC });// 直接按枚举值 排序 NUMS
//filterR.Orders.Add(new DataOrder() { Field = "MONTH", Order = DbOrder.ASC });// 直接按枚举值 排序 NUMS
//IEnumerable<T_BI_HOME_BSRISKREASON> listReason = GetOrderEntities(expression, filterR);
var listReason = temps.OrderBy(t => t.DEPARTMENT_ID).ThenBy(m => m.SOURCEVAL).ThenBy(n => n.MONTH).ToList();
foreach (var item in listReason)
{
try
{
item.SOURCENAME = ((BSCorrectType)item.SOURCEVAL).GetDescription();//wyw pp item.SOURCEVAL=0
item.DEPARTMENTNAME = listDep.First(e => e.ID == item.DEPARTMENT_ID).NAME;
}
catch { }
}
return listReason;
}
/// <summary> /// <summary>
/// 查询首页的隐患整改情况 年度 方法使用前提 先执行一下12个月的 整改情况 /// 查询首页的隐患整改情况 年度 方法使用前提 先执行一下12个月的 整改情况
/// </summary> /// </summary>

View File

@ -14,6 +14,7 @@ using APT.MS.Domain.Entities.FO;
using APT.MS.Domain.Entities.HM; using APT.MS.Domain.Entities.HM;
using APT.MS.Domain.Entities.SC.PT; using APT.MS.Domain.Entities.SC.PT;
using APT.MS.Domain.Entities.SE; using APT.MS.Domain.Entities.SE;
using APT.MS.Domain.Entities.SK;
using APT.MS.Domain.Enums; using APT.MS.Domain.Enums;
using APT.Utility; using APT.Utility;
using APT.WebApi.Models; using APT.WebApi.Models;
@ -1812,15 +1813,15 @@ namespace APT.PP.WebApi.Controllers.Api.PP
} }
//隐患已上报 统计 有没有处理 处理的及时性 //隐患已上报 统计 有没有处理 处理的及时性
var dtSubmitContent = GetEntities<T_BS_RISK_SUBMIT_CONTENT>(e => e.DEPARTMENT_ID.HasValue && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value >= dtMin, null, null); var dtSubmitContent = GetEntities<T_SK_HIDDEN_DANGER_RECTIFY_RECORD>(e => e.APPLY_DEPARTMENT_ID.HasValue && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value >= dtMin, null, null);
var listDetailID = dtSubmitContent.Where(e => e.SAFE_CHECK_DETAIL_ID.HasValue).Select(e => e.SAFE_CHECK_DETAIL_ID.Value); //var listDetailID = dtSubmitContent.Where(e => e.SAFE_CHECK_DETAIL_ID.HasValue).Select(e => e.SAFE_CHECK_DETAIL_ID.Value);
Expression<Func<T_BS_SAFE_CHECK_DETAIL, bool>> expression = e => !e.IS_DELETED && e.CHECKRESULT.HasValue && e.CHECKRESULT.Value == 20 && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value >= dtMin && e.DEPARTMENT_ID.HasValue; //Expression<Func<T_BS_SAFE_CHECK_DETAIL, bool>> expression = e => !e.IS_DELETED && e.CHECKRESULT.HasValue && e.CHECKRESULT.Value == 20 && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value >= dtMin && e.DEPARTMENT_ID.HasValue;
if (listDetailID != null && listDetailID.Any()) //if (listDetailID != null && listDetailID.Any())
{ //{
expression = expression.And(e => !listDetailID.Contains(e.ID)); // expression = expression.And(e => !listDetailID.Contains(e.ID));
} //}
var listCheck = GetEntities(expression, null, null);//隐患未上报 也就是 未整改的 var listCheck = dtSubmitContent.Where(t=>t.STATUS != PFStandardStatus.Archived);//GetEntities(expression, null, null);//隐患未上报 也就是 未整改的
//string strCorrectType = DataHelper.EnumToString("BSCorrectType"); //string strCorrectType = DataHelper.EnumToString("BSCorrectType");
//var listCorrectType = strCorrectType.Split(','); //var listCorrectType = strCorrectType.Split(',');
@ -1900,7 +1901,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 1, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象 perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 1, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象
listResult.Add(perME);//地址引用 应该是支持 listResult.Add(perME);//地址引用 应该是支持
} }
perCount = dtSubmitContent.Where(e => e.ISFINISHINTTIME.HasValue && e.ISFINISHINTTIME.Value && e.DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患 perCount = dtSubmitContent.Where(e => e.STATUS == PFStandardStatus.Archived && e.COMPLETE_DATE <= e.RECITIFY_TIME && e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患
perME.DEPARTMENT_TYPE = (FMDepartmentType)itemD.DEPARTMENT_TYPE; perME.DEPARTMENT_TYPE = (FMDepartmentType)itemD.DEPARTMENT_TYPE;
perME.NUMD = depNum; perME.NUMD = depNum;
perME.COUNT = perCount; perME.COUNT = perCount;
@ -1916,7 +1917,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
perME = GetRiskReason(2, listYear[j], itemD.ID, Guid.Empty, 2, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象 perME = GetRiskReason(2, listYear[j], itemD.ID, Guid.Empty, 2, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象
listResult.Add(perME);//地址引用 应该是支持 listResult.Add(perME);//地址引用 应该是支持
} }
perCount = dtSubmitContent.Where(e => e.ISFINISHINTTIME.HasValue && !e.ISFINISHINTTIME.Value && e.DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患 perCount = dtSubmitContent.Where(e => e.STATUS == PFStandardStatus.Archived && e.COMPLETE_DATE <= e.RECITIFY_TIME && e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患
perME.DEPARTMENT_TYPE = FMDepartmentType.Class; perME.DEPARTMENT_TYPE = FMDepartmentType.Class;
perME.NUMD = depNum; perME.NUMD = depNum;
perME.COUNT = perCount; perME.COUNT = perCount;
@ -1932,11 +1933,11 @@ namespace APT.PP.WebApi.Controllers.Api.PP
perME = GetRiskReason(2, listYear[j], itemD.ID, Guid.Empty, 3, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象 perME = GetRiskReason(2, listYear[j], itemD.ID, Guid.Empty, 3, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象
listResult.Add(perME);//地址引用 应该是支持 listResult.Add(perME);//地址引用 应该是支持
} }
perCount = dtSubmitContent.Where(e => !e.ISFINISHINTTIME.HasValue && e.DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患 perCount = dtSubmitContent.Where(e => e.STATUS == PFStandardStatus.Archived && e.COMPLETE_DATE <= e.RECITIFY_TIME && e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患
perCountNot = 0; perCountNot = 0;
if (listCheck != null && listCheck.Any()) if (listCheck != null && listCheck.Any())
{ {
perCountNot = listCheck.Where(e => !e.IS_DELETED && e.DEPARTMENT_ID.HasValue && e.DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count(); perCountNot = listCheck.Where(e => !e.IS_DELETED && e.APPLY_DEPARTMENT_ID.HasValue && e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();
} }
perME.DEPARTMENT_TYPE = FMDepartmentType.Class; perME.DEPARTMENT_TYPE = FMDepartmentType.Class;
@ -1974,7 +1975,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 1, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象 perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 1, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象
listResult.Add(perME);//地址引用 应该是支持 listResult.Add(perME);//地址引用 应该是支持
} }
perCount = dtSubmitContent.Where(e => e.ISFINISHINTTIME.HasValue && e.ISFINISHINTTIME.Value && e.DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患 perCount = dtSubmitContent.Where(e => e.STATUS == PFStandardStatus.Archived && e.COMPLETE_DATE <= e.RECITIFY_TIME && e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患
perSubCount = 0;//每次清零 后相加 perSubCount = 0;//每次清零 后相加
if (listSubDepID != null && listSubDepID.Any()) if (listSubDepID != null && listSubDepID.Any())
@ -2002,7 +2003,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 2, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象 perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 2, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象
listResult.Add(perME);//地址引用 应该是支持 listResult.Add(perME);//地址引用 应该是支持
} }
perCount = dtSubmitContent.Where(e => e.ISFINISHINTTIME.HasValue && !e.ISFINISHINTTIME.Value && e.DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患 perCount = dtSubmitContent.Where(e => e.STATUS == PFStandardStatus.Archived && e.COMPLETE_DATE <= e.RECITIFY_TIME && e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患
perSubCount = 0;//每次清零 后相加 perSubCount = 0;//每次清零 后相加
if (listSubDepID != null && listSubDepID.Any()) if (listSubDepID != null && listSubDepID.Any())
@ -2030,11 +2031,11 @@ namespace APT.PP.WebApi.Controllers.Api.PP
perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 3, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象 perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 3, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象
listResult.Add(perME);//地址引用 应该是支持 listResult.Add(perME);//地址引用 应该是支持
} }
perCount = dtSubmitContent.Where(e => !e.ISFINISHINTTIME.HasValue && e.DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患 perCount = dtSubmitContent.Where(e => e.STATUS == PFStandardStatus.Archived && e.COMPLETE_DATE <= e.RECITIFY_TIME && e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患
perCountNot = 0; perCountNot = 0;
if (listCheck != null && listCheck.Any()) if (listCheck != null && listCheck.Any())
{ {
perCountNot = listCheck.Where(e => !e.IS_DELETED && e.DEPARTMENT_ID.HasValue && e.DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count(); perCountNot = listCheck.Where(e => !e.IS_DELETED && e.APPLY_DEPARTMENT_ID.HasValue && e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();
} }
perSubCount = 0;//每次清零 后相加 perSubCount = 0;//每次清零 后相加
@ -2083,7 +2084,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 1, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象 perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 1, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象
listResult.Add(perME);//地址引用 应该是支持 listResult.Add(perME);//地址引用 应该是支持
} }
perCount = dtSubmitContent.Where(e => e.ISFINISHINTTIME.HasValue && e.ISFINISHINTTIME.Value && e.DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患 perCount = dtSubmitContent.Where(e => e.STATUS == PFStandardStatus.Archived && e.COMPLETE_DATE <= e.RECITIFY_TIME && e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患
perSubCount = 0;//每次清零 后相加 perSubCount = 0;//每次清零 后相加
if (listSubDepID != null && listSubDepID.Any()) if (listSubDepID != null && listSubDepID.Any())
@ -2111,7 +2112,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 2, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象 perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 2, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象
listResult.Add(perME);//地址引用 应该是支持 listResult.Add(perME);//地址引用 应该是支持
} }
perCount = dtSubmitContent.Where(e => e.ISFINISHINTTIME.HasValue && !e.ISFINISHINTTIME.Value && e.DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患 perCount = dtSubmitContent.Where(e => e.STATUS == PFStandardStatus.Archived && e.COMPLETE_DATE <= e.RECITIFY_TIME && e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患
perSubCount = 0;//每次清零 后相加 perSubCount = 0;//每次清零 后相加
if (listSubDepID != null && listSubDepID.Any()) if (listSubDepID != null && listSubDepID.Any())
@ -2139,11 +2140,11 @@ namespace APT.PP.WebApi.Controllers.Api.PP
perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 3, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象 perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 3, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象
listResult.Add(perME);//地址引用 应该是支持 listResult.Add(perME);//地址引用 应该是支持
} }
perCount = dtSubmitContent.Where(e => !e.ISFINISHINTTIME.HasValue && e.DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患 perCount = dtSubmitContent.Where(e => e.STATUS == PFStandardStatus.Archived && e.COMPLETE_DATE <= e.RECITIFY_TIME && e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患
perCountNot = 0; perCountNot = 0;
if (listCheck != null && listCheck.Any()) if (listCheck != null && listCheck.Any())
{ {
perCountNot = listCheck.Where(e => !e.IS_DELETED && e.DEPARTMENT_ID.HasValue && e.DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count(); perCountNot = listCheck.Where(e => !e.IS_DELETED && e.APPLY_DEPARTMENT_ID.HasValue && e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();
} }
perSubCount = 0;//每次清零 后相加 perSubCount = 0;//每次清零 后相加
@ -2190,7 +2191,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 1, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象 perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 1, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象
listResult.Add(perME);//地址引用 应该是支持 listResult.Add(perME);//地址引用 应该是支持
} }
perCount = dtSubmitContent.Where(e => e.ISFINISHINTTIME.HasValue && e.ISFINISHINTTIME.Value && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患 perCount = dtSubmitContent.Where(e => e.STATUS == PFStandardStatus.Archived && e.COMPLETE_DATE <= e.RECITIFY_TIME && e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患
perME.DEPARTMENT_TYPE = (FMDepartmentType)itemD.DEPARTMENT_TYPE; perME.DEPARTMENT_TYPE = (FMDepartmentType)itemD.DEPARTMENT_TYPE;
perME.NUMD = depNum; perME.NUMD = depNum;
perME.COUNT = perCount; perME.COUNT = perCount;
@ -2206,7 +2207,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 2, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象 perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 2, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象
listResult.Add(perME);//地址引用 应该是支持 listResult.Add(perME);//地址引用 应该是支持
} }
perCount = dtSubmitContent.Where(e => e.ISFINISHINTTIME.HasValue && !e.ISFINISHINTTIME.Value && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患 perCount = dtSubmitContent.Where(e => e.STATUS == PFStandardStatus.Archived && e.COMPLETE_DATE <= e.RECITIFY_TIME && e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患
perME.DEPARTMENT_TYPE = (FMDepartmentType)itemD.DEPARTMENT_TYPE; perME.DEPARTMENT_TYPE = (FMDepartmentType)itemD.DEPARTMENT_TYPE;
perME.NUMD = depNum; perME.NUMD = depNum;
perME.COUNT = perCount; perME.COUNT = perCount;
@ -2222,7 +2223,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 3, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象 perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 3, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象
listResult.Add(perME);//地址引用 应该是支持 listResult.Add(perME);//地址引用 应该是支持
} }
perCount = dtSubmitContent.Where(e => !e.ISFINISHINTTIME.HasValue && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患 perCount = dtSubmitContent.Where(e => e.STATUS == PFStandardStatus.Archived && e.COMPLETE_DATE <= e.RECITIFY_TIME && e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患
perCountNot = 0; perCountNot = 0;
if (listCheck != null && listCheck.Any()) if (listCheck != null && listCheck.Any())
{ {
@ -2397,13 +2398,13 @@ namespace APT.PP.WebApi.Controllers.Api.PP
} }
BaseFilter filterC = new BaseFilter(filter.OrgId); BaseFilter filterC = new BaseFilter(filter.OrgId);
filterC.SelectField = new List<string> { "ID", "DEPARTMENTID", "CREATE_TIME", "ENABLE_STATUS", "STATUSPLAN", "CHECK_TYPE_ID" }; filterC.SelectField = new List<string> { "ID", "APPLY_DEPARTMENT_ID", "CREATE_TIME", "STATUS", "CHECK_TYPE_ID" };
filterC.IgnoreDataRule = true; filterC.IgnoreDataRule = true;
//隐患已上报 统计 有没有处理 处理的及时性 //隐患已上报 统计 有没有处理 处理的及时性
IEnumerable<T_BS_SAFE_CHECK> dtSafeCheck = null; IEnumerable<T_SK_HIDDEN_DANGER_RECTIFY_RECORD> dtSafeCheck = null;
try try
{ {
dtSafeCheck = GetEntities<T_BS_SAFE_CHECK>(e => e.CHECK_TYPE_ID.HasValue && e.DEPARTMENTID.HasValue && e.CREATE_TIME.HasValue && e.ENABLE_STATUS == 0 && e.CREATE_TIME.Value >= dtMin, filterC, null); //&& e.STATUSPLAN > 0 dtSafeCheck = GetEntities<T_SK_HIDDEN_DANGER_RECTIFY_RECORD>(e => e.CHECK_TYPE_ID.HasValue && e.APPLY_DEPARTMENT_ID.HasValue && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value >= dtMin, filterC, null); //&& e.STATUSPLAN > 0
} }
catch { } catch { }
if ((dtSafeCheck == null || !dtSafeCheck.Any())) if ((dtSafeCheck == null || !dtSafeCheck.Any()))
@ -2412,11 +2413,11 @@ namespace APT.PP.WebApi.Controllers.Api.PP
} }
BaseFilter filterCT = new BaseFilter(filter.OrgId); BaseFilter filterCT = new BaseFilter(filter.OrgId);
filterCT.SelectField = new List<string> { "ID", "NAME", "IS_DELETED", "ENABLE_STATUS" }; filterCT.SelectField = new List<string> { "ID", "NAME", "IS_DELETED", "PRODUCTION_UNIT_ID" };
IEnumerable<T_BS_CHECK_TYPE> listCheckTypeAll = null; IEnumerable<T_SK_CHECK_TYPE> listCheckTypeAll = null;
try try
{ {
listCheckTypeAll = GetEntities<T_BS_CHECK_TYPE>(null, filterCT, null);// listCheckTypeAll = GetEntities<T_SK_CHECK_TYPE>(null, filterCT, null);//
} }
catch { } catch { }
if ((listCheckTypeAll == null || !listCheckTypeAll.Any())) if ((listCheckTypeAll == null || !listCheckTypeAll.Any()))
@ -2470,7 +2471,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
DateTime dtPerMin = DateTime.Now; DateTime dtPerMin = DateTime.Now;
DateTime dtPerMax = DateTime.Now; DateTime dtPerMax = DateTime.Now;
T_BS_SAFE_CHECK check = null; T_SK_HIDDEN_DANGER_RECTIFY_RECORD check = null;
//班组 //班组
depNum = 0; depNum = 0;
NUMS = 0; NUMS = 0;
@ -2483,7 +2484,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{ {
NUMS++; NUMS++;
perSOURCEID = itemCT.ID; perSOURCEID = itemCT.ID;
check = dtSafeCheck.FirstOrDefault(e => e.CHECK_TYPE_ID == perSOURCEID && e.DEPARTMENTID == itemD.ID); check = dtSafeCheck.FirstOrDefault(e => e.CHECK_TYPE_ID == perSOURCEID && e.APPLY_DEPARTMENT_ID == itemD.ID);
if (check == null) if (check == null)
{ {
continue;//如果没数据 就过 continue;//如果没数据 就过
@ -2500,7 +2501,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{ {
} }
perCount = dtSafeCheck.Where(e => e.DEPARTMENTID.Value == itemD.ID && e.CHECK_TYPE_ID.HasValue && e.CHECK_TYPE_ID == perSOURCEID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患 perCount = dtSafeCheck.Where(e => e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CHECK_TYPE_ID.HasValue && e.CHECK_TYPE_ID == perSOURCEID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患
perME.DEPARTMENT_TYPE = (FMDepartmentType)itemD.DEPARTMENT_TYPE; perME.DEPARTMENT_TYPE = (FMDepartmentType)itemD.DEPARTMENT_TYPE;
perME.NUMD = depNum; perME.NUMD = depNum;
perME.COUNT = perCount; perME.COUNT = perCount;
@ -2522,12 +2523,12 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{ {
NUMS++; NUMS++;
perSOURCEID = itemCT.ID; perSOURCEID = itemCT.ID;
check = dtSafeCheck.FirstOrDefault(e => e.CHECK_TYPE_ID == perSOURCEID && e.DEPARTMENTID == itemD.ID); check = dtSafeCheck.FirstOrDefault(e => e.CHECK_TYPE_ID == perSOURCEID && e.APPLY_DEPARTMENT_ID == itemD.ID);
if (check == null) if (check == null)
{ {
if (listSubDepID != null && listSubDepID.Any()) if (listSubDepID != null && listSubDepID.Any())
{ {
check = dtSafeCheck.FirstOrDefault(e => e.CHECK_TYPE_ID == perSOURCEID && listSubDepID.Contains(e.DEPARTMENTID.Value)); check = dtSafeCheck.FirstOrDefault(e => e.CHECK_TYPE_ID == perSOURCEID && listSubDepID.Contains(e.APPLY_DEPARTMENT_ID.Value));
if (check == null) if (check == null)
{ {
continue; continue;
@ -2547,7 +2548,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, perSOURCEID, NUMS, filter.OrgId, 0, listMonth[j], CaculateType);//如果没有 就新建对象 perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, perSOURCEID, NUMS, filter.OrgId, 0, listMonth[j], CaculateType);//如果没有 就新建对象
listResult.Add(perME);//地址引用 应该是支持 listResult.Add(perME);//地址引用 应该是支持
} }
perCount = dtSafeCheck.Where(e => e.DEPARTMENTID.Value == itemD.ID && e.CHECK_TYPE_ID.HasValue && e.CHECK_TYPE_ID == perSOURCEID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患 perCount = dtSafeCheck.Where(e => e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CHECK_TYPE_ID.HasValue && e.CHECK_TYPE_ID == perSOURCEID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患
perSubCount = 0;//每次清零 后相加 perSubCount = 0;//每次清零 后相加
if (listSubDepID != null && listSubDepID.Any()) if (listSubDepID != null && listSubDepID.Any())
@ -2580,12 +2581,12 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{ {
NUMS++; NUMS++;
perSOURCEID = itemCT.ID; perSOURCEID = itemCT.ID;
check = dtSafeCheck.FirstOrDefault(e => e.CHECK_TYPE_ID == perSOURCEID && e.DEPARTMENTID == itemD.ID); check = dtSafeCheck.FirstOrDefault(e => e.CHECK_TYPE_ID == perSOURCEID && e.APPLY_DEPARTMENT_ID == itemD.ID);
if (check == null) if (check == null)
{ {
if (listSubDepID != null && listSubDepID.Any()) if (listSubDepID != null && listSubDepID.Any())
{ {
check = dtSafeCheck.FirstOrDefault(e => e.CHECK_TYPE_ID == perSOURCEID && listSubDepID.Contains(e.DEPARTMENTID.Value)); check = dtSafeCheck.FirstOrDefault(e => e.CHECK_TYPE_ID == perSOURCEID && listSubDepID.Contains(e.APPLY_DEPARTMENT_ID.Value));
if (check == null) if (check == null)
{ {
continue; continue;
@ -2605,7 +2606,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, perSOURCEID, NUMS, filter.OrgId, 0, listMonth[j], CaculateType);//如果没有 就新建对象 perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, perSOURCEID, NUMS, filter.OrgId, 0, listMonth[j], CaculateType);//如果没有 就新建对象
listResult.Add(perME);//地址引用 应该是支持 listResult.Add(perME);//地址引用 应该是支持
} }
perCount = dtSafeCheck.Where(e => e.DEPARTMENTID.Value == itemD.ID && e.CHECK_TYPE_ID.HasValue && e.CHECK_TYPE_ID == perSOURCEID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患 perCount = dtSafeCheck.Where(e => e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CHECK_TYPE_ID.HasValue && e.CHECK_TYPE_ID == perSOURCEID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患
perSubCount = 0;//每次清零 后相加 perSubCount = 0;//每次清零 后相加
if (listSubDepID != null && listSubDepID.Any()) if (listSubDepID != null && listSubDepID.Any())
@ -2643,7 +2644,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{ {
if (listSubDepID != null && listSubDepID.Any()) if (listSubDepID != null && listSubDepID.Any())
{ {
check = dtSafeCheck.FirstOrDefault(e => e.CHECK_TYPE_ID == perSOURCEID && listSubDepID.Contains(e.DEPARTMENTID.Value)); check = dtSafeCheck.FirstOrDefault(e => e.CHECK_TYPE_ID == perSOURCEID && listSubDepID.Contains(e.APPLY_DEPARTMENT_ID.Value));
if (check == null) if (check == null)
{ {
continue; continue;

View File

@ -1,5 +1,6 @@
using APT.BaseData.Domain.ApiModel.Platform; using APT.BaseData.Domain.ApiModel.Platform;
using APT.BaseData.Domain.Entities.FM; using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.Enums;
using APT.BaseData.Domain.IServices.BI; using APT.BaseData.Domain.IServices.BI;
using APT.Infrastructure.Api; using APT.Infrastructure.Api;
using APT.Infrastructure.Api.Redis; using APT.Infrastructure.Api.Redis;
@ -7,6 +8,7 @@ using APT.Infrastructure.Core;
using APT.MS.Domain.Entities.BI; using APT.MS.Domain.Entities.BI;
using APT.MS.Domain.Entities.HM; using APT.MS.Domain.Entities.HM;
using APT.MS.Domain.Entities.SK; using APT.MS.Domain.Entities.SK;
using APT.MS.Domain.Enums.SK;
using APT.Utility; using APT.Utility;
using log4net.Core; using log4net.Core;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
@ -551,11 +553,11 @@ namespace APT.SC.WebApi.Controllers.Api.BI
{ {
//按生产单元 获取数据 //按生产单元 获取数据
HomeResult result = new HomeResult(); HomeResult result = new HomeResult();
if (string.IsNullOrEmpty(filter.Keyword)) //if (string.IsNullOrEmpty(filter.Keyword))
{ //{
return result; // return result;
} //}
int MineType = int.Parse(filter.Keyword); //int MineType = int.Parse(filter.Keyword);
//根据 日期 yyyyMMddHH MineType 获取信息 Redis信息 //根据 日期 yyyyMMddHH MineType 获取信息 Redis信息
@ -580,7 +582,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
{ {
foreach (var item in listHomeRedis) foreach (var item in listHomeRedis)
{ {
if (item.MineType == MineType) //if (item.MineType == MineType)
{ {
if (dtNow.ToString("yyyyMMddHH") == item.yyyyMMddHH) if (dtNow.ToString("yyyyMMddHH") == item.yyyyMMddHH)
{ {
@ -610,7 +612,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
//filterD.SelectField = new List<string> { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID", "MineType" }; //filterD.SelectField = new List<string> { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID", "MineType" };
//var listDep1MineType = GetEntities<T_FM_DEPARTMENT>(t => t.MineType.HasValue && t.MineType == MineType && t.DEPARTMENT_TYPE == 10, filterD, null);//部门就可以了 因为都相向 统计了 //var listDep1MineType = GetEntities<T_FM_DEPARTMENT>(t => t.MineType.HasValue && t.MineType == MineType && t.DEPARTMENT_TYPE == 10, filterD, null);//部门就可以了 因为都相向 统计了
var listDep1MineType = GetEntities<T_FM_DEPARTMENT>(t => t.MineType.HasValue && t.MineType == MineType && t.DEPARTMENT_TYPE == 10, null, null);//部门就可以了 因为都相向 统计了 var listDep1MineType = GetEntities<T_FM_DEPARTMENT>(t => t.DEPARTMENT_TYPE == 10, null, null);//部门就可以了 因为都相向 统计了
#endregion #endregion
@ -623,72 +625,6 @@ namespace APT.SC.WebApi.Controllers.Api.BI
listDep = listDep1MineType.ToList(); listDep = listDep1MineType.ToList();
#region //////隐患原因( 不需要了 )
//List<T_BI_HOME_BSRISKREASON> listReasonT = BIHomeService.GetHomeReasons(filter.OrgId, listDep).ToList();
//List<HomeRISKREASON> listReason = new List<HomeRISKREASON>();
//int reasonMax = listReasonT.Max(e => e.NUMS);
////List<int> listEnumVal = new List<int> { 5, 10, 15, 20 };
//List<string> LISTNAME = new List<string>();// { "按时整改隐患", "超期整改隐患", "未整改隐患", "隐患整改率" };
//HomeRISKREASON model = null;
//List<int> LISVALUE = null;
//for (int i = 0; i < listReasonT.Count; i++)
//{
// if (i == 0 || listReasonT[i].DEPARTMENT_ID != listReasonT[i - 1].DEPARTMENT_ID)
// {
// model = new HomeRISKREASON();
// model.DEPARTMENTNAME = listReasonT[i].DEPARTMENTNAME;
// model.YEAR = listReasonT[i].YEAR;
// model.SOURCENAME = listReasonT[i].SOURCENAME;
// LISVALUE = new List<int>();
// }
// LISVALUE.Add(listReasonT[i].COUNT);
// if (LISTNAME.Count < reasonMax)
// {
// LISTNAME.Add(listReasonT[i].SOURCENAME);
// }
// if (listReasonT[i].NUMS == 1)
// {
// model.NAME1 = listReasonT[i].SOURCENAME;
// model.COUNT1 = listReasonT[i].COUNT;
// }
// if (listReasonT[i].NUMS == 2)
// {
// model.NAME2 = listReasonT[i].SOURCENAME;
// model.COUNT2 = listReasonT[i].COUNT;
// }
// if (listReasonT[i].NUMS == 3)
// {
// model.NAME3 = listReasonT[i].SOURCENAME;
// model.COUNT3 = listReasonT[i].COUNT;
// }
// if (listReasonT[i].NUMS == 4)
// {
// model.NAME4 = listReasonT[i].SOURCENAME;
// model.COUNT4 = listReasonT[i].COUNT;
// }
// if (listReasonT[i].NUMS == 5)
// {
// model.NAME5 = listReasonT[i].SOURCENAME;
// model.COUNT5 = listReasonT[i].COUNT;
// }
// if (reasonMax == listReasonT[i].NUMS)
// {
// model.LISVALUE = LISVALUE;
// model.LISTNAME = LISTNAME;
// listReason.Add(model);
// }
//}
//result.ListR = listReason;
#endregion
#region //月度 隐患整改情况 #region //月度 隐患整改情况
@ -1155,7 +1091,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
//按生产单元 获取 //按生产单元 获取
if (!string.IsNullOrEmpty(filter.Keyword)) //if (!string.IsNullOrEmpty(filter.Keyword))
{ {
//int MineType = int.Parse(filter.Keyword.ToString()); //int MineType = int.Parse(filter.Keyword.ToString());
//BaseFilter filterD = new BaseFilter(); //BaseFilter filterD = new BaseFilter();
@ -1167,47 +1103,50 @@ namespace APT.SC.WebApi.Controllers.Api.BI
List<HomeSafeCheckCountMonth> ListSafeCheckYearMonth = new List<HomeSafeCheckCountMonth>(); List<HomeSafeCheckCountMonth> ListSafeCheckYearMonth = new List<HomeSafeCheckCountMonth>();
int befoMonth = 12; int befoMonth = 12;
List<T_BI_HOME_BSRISKREASON> ListSafeCheckYearMonthT = BIHomeService.GetHomeCheckCountMonth(filter.OrgId, listDep.ToList(), befoMonth).ToList(); List<T_BI_HOME_BSRISKREASON> ListSafeCheckYearMonthT = BIHomeService.GetHomeCheckCountMonth(filter.OrgId, listDep.ToList(), befoMonth).ToList();
var listCheckTypeIDT = ListSafeCheckYearMonthT.Select(e => e.SOURCEID).Distinct().ToList(); //var listCheckTypeIDT = ListSafeCheckYearMonthT.Select(e => e.SOURCEID).Distinct().ToList();
var enums = GetEntity<T_FM_ENUMS>(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum"); //var enums = GetEntity<T_FM_ENUMS>(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum");
if (enums != null) //if (enums != null)
//{
// var listTypeMine = GetEntities<MS.Domain.Entities.SK.T_SK_CHECK_TYPE>(e => e.MineType == (SKProductionUnit)MineType, null, null);
// if (listTypeMine != null && listTypeMine.Any())
// {
// var listMineCheckTypeID = listTypeMine.Select(e => e.ID);
// for (int i = 0; i < listCheckTypeIDT.Count; i++)
// {
// if (!listMineCheckTypeID.Contains(listCheckTypeIDT[i]))
// {
// listCheckTypeIDT.RemoveAt(i);
// i--;
// }
// }
// }
//}
var loginDepart = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID);
var listCheckType = GetEntities<MS.Domain.Entities.SK.T_SK_CHECK_TYPE>(e => true, null, null).ToList();
if (loginDepart != null)
{ {
var listTypeMine = GetEntities<MS.Domain.Entities.BS.T_BS_CHECK_TYPE_MINETYPE>(e => e.MINETYPE_ENUMS_ID == enums.ID, null, null); listCheckType = listCheckType.Where(t => t.PRODUCTION_UNIT_ID == loginDepart.PRODUCTION_UNIT_ID).ToList();
if (listTypeMine != null && listTypeMine.Any())
{
var listMineCheckTypeID = listTypeMine.Where(e => e.CHECK_TYPE_ID.HasValue).Select(e => e.CHECK_TYPE_ID.Value);
for (int i = 0; i < listCheckTypeIDT.Count; i++)
{
if (!listMineCheckTypeID.Contains(listCheckTypeIDT[i]))
{
listCheckTypeIDT.RemoveAt(i);
i--;
} }
}
}
}
var listCheckType = GetEntities<MS.Domain.Entities.BS.T_BS_CHECK_TYPE>(e => listCheckTypeIDT.Contains(e.ID), null, null).OrderBy(e => e.PARENT_ID).ThenBy(e => e.NUM).ToList();
List<Guid> listCheckTypeID = new List<Guid>(); List<Guid> listCheckTypeID = new List<Guid>();
List<string> listCheckTypeNAME = new List<string>(); List<string> listCheckTypeNAME = new List<string>();
Guid IDZH = Guid.Empty;//综合检查(只有一个) //Guid IDZH = Guid.Empty;//综合检查(只有一个)
List<Guid> listGUID = new List<Guid>();//综合检查子集 //List<Guid> listGUID = new List<Guid>();//综合检查子集
for (int i = 0; i < listCheckType.Count; i++) for (int i = 0; i < listCheckType.Count; i++)
{ {
if (listCheckType[i].PARENT_ID.HasValue || ((IDZH != Guid.Empty && IDZH == listCheckType[i].ID) || listCheckType[i].NAME == "综合检查")) //if (listCheckType[i].PARENT_ID.HasValue || ((IDZH != Guid.Empty && IDZH == listCheckType[i].ID) || listCheckType[i].NAME == "综合检查"))
{ //{
if (IDZH == Guid.Empty) // if (IDZH == Guid.Empty)
{ // {
IDZH = listCheckType[i].PARENT_ID.HasValue ? listCheckType[i].PARENT_ID.Value : listCheckType[i].ID; // IDZH = listCheckType[i].PARENT_ID.HasValue ? listCheckType[i].PARENT_ID.Value : listCheckType[i].ID;
listCheckTypeID.Add(IDZH); // listCheckTypeID.Add(IDZH);
var checkTypeP = GetEntity<MS.Domain.Entities.BS.T_BS_CHECK_TYPE>(IDZH); // var checkTypeP = GetEntity<MS.Domain.Entities.BS.T_BS_CHECK_TYPE>(IDZH);
listCheckTypeNAME.Add(checkTypeP.NAME); // listCheckTypeNAME.Add(checkTypeP.NAME);
} // }
listGUID.Add(listCheckType[i].ID); // listGUID.Add(listCheckType[i].ID);
} //}
else //else
{ {
listCheckTypeID.Add(listCheckType[i].ID); listCheckTypeID.Add(listCheckType[i].ID);
listCheckTypeNAME.Add(listCheckType[i].NAME); listCheckTypeNAME.Add(listCheckType[i].NAME);
@ -1236,14 +1175,14 @@ namespace APT.SC.WebApi.Controllers.Api.BI
for (int j = 0; j < listCheckTypeID.Count; j++) for (int j = 0; j < listCheckTypeID.Count; j++)
{ {
if (listCheckTypeID[j] != IDZH) //if (listCheckTypeID[j] != IDZH)
{ {
listPerChearchPer = listPerChearch.Where(e => e.YEAR == year && e.MONTH == Month && e.SOURCEID == listCheckTypeID[j]);//各个检查 listPerChearchPer = listPerChearch.Where(e => e.YEAR == year && e.MONTH == Month && e.SOURCEID == listCheckTypeID[j]);//各个检查
} }
else //else
{ //{
listPerChearchPer = listPerChearch.Where(e => e.YEAR == year && e.MONTH == Month && listGUID.Contains(e.SOURCEID));//综合检查 // listPerChearchPer = listPerChearch.Where(e => e.YEAR == year && e.MONTH == Month && listGUID.Contains(e.SOURCEID));//综合检查
} //}
if (listPerChearchPer == null || !listPerChearchPer.Any()) if (listPerChearchPer == null || !listPerChearchPer.Any())
{ {
@ -1276,7 +1215,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
listHomeRedis.Add(new HomeResultMineType() listHomeRedis.Add(new HomeResultMineType()
{ {
MineType = MineType, //MineType = MineType,
yyyyMMddHH = dtNow.ToString("yyyyMMddHH"), yyyyMMddHH = dtNow.ToString("yyyyMMddHH"),
result = result result = result
}); });
@ -1304,17 +1243,17 @@ namespace APT.SC.WebApi.Controllers.Api.BI
{ {
//按生产单元 获取数据 //按生产单元 获取数据
HomeDetailSafeCheckCountMonth result = new HomeDetailSafeCheckCountMonth(); HomeDetailSafeCheckCountMonth result = new HomeDetailSafeCheckCountMonth();
if (string.IsNullOrEmpty(filter.Keyword)) //if (string.IsNullOrEmpty(filter.Keyword))
{ //{
return result; // return result;
} //}
int MineType = int.Parse(filter.Keyword); //int MineType = int.Parse(filter.Keyword);
BaseFilter filterD = new BaseFilter(); BaseFilter filterD = new BaseFilter();
filterD.SelectField = new List<string> { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID" }; filterD.SelectField = new List<string> { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID" };
var listDep1MineType = GetEntities<T_FM_DEPARTMENT>(t => t.MineType.HasValue && t.MineType == MineType && (t.DEPARTMENT_TYPE == 15 || t.DEPARTMENT_TYPE == 20), filterD, null); var listDep1MineType = GetEntities<T_FM_DEPARTMENT>(t => (t.DEPARTMENT_TYPE == 15 || t.DEPARTMENT_TYPE == 20), filterD, null);
//FMDepartmentType 部门=0, 车间=1, 班组=2, 公司=3 //FMDepartmentType 部门=0, 车间=1, 班组=2, 公司=3
if (listDep1MineType == null || !listDep1MineType.Any()) if (listDep1MineType == null || !listDep1MineType.Any())
{ {
@ -1328,23 +1267,23 @@ namespace APT.SC.WebApi.Controllers.Api.BI
listDepCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 15).OrderBy(e => e.NUM).ToList(); listDepCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 15).OrderBy(e => e.NUM).ToList();
listDepBZ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 20).OrderBy(e => e.NUM).ToList(); listDepBZ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 20).OrderBy(e => e.NUM).ToList();
T_FM_ENUMS enums = null; //T_FM_ENUMS enums = null;
var loginDepart = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID);
#region 12 #region 12
if (listDepCJ == null || listDepCJ.Count < 1 || listDepBZ == null || listDepBZ.Count < 1) if (listDepCJ == null || listDepCJ.Count < 1 || listDepBZ == null || listDepBZ.Count < 1)
{ {
//深度查找 部门 MineType 只能存一个值 ////深度查找 部门 MineType 只能存一个值
enums = GetEntity<T_FM_ENUMS>(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum"); //enums = GetEntity<T_FM_ENUMS>(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum");
if (enums == null) //if (enums == null)
//{
// throw new Exception("获取生产类型失败");
//}
//var listDepID = GetEntities<T_FM_DEPARTMENT_PRODUCTION_UNIT>(e => e.ENUMS_ID == enums.ID, null, null).Select(e => e.DEPARTMENT_ID);
//if (listDepID != null && listDepID.Any())
if (loginDepart != null)
{ {
throw new Exception("获取生产类型失败"); listDep1MineType = GetEntities<T_FM_DEPARTMENT>(t => t.PRODUCTION_UNIT_ID == loginDepart.PRODUCTION_UNIT_ID && (t.DEPARTMENT_TYPE == 15 || t.DEPARTMENT_TYPE == 20), filterD, null);
}
var listDepID = GetEntities<T_FM_DEPARTMENT_PRODUCTION_UNIT>(e => e.ENUMS_ID == enums.ID, null, null).Select(e => e.DEPARTMENT_ID);
if (listDepID != null && listDepID.Any())
{
listDep1MineType = GetEntities<T_FM_DEPARTMENT>(t => listDepID.Contains(t.ID) && (t.DEPARTMENT_TYPE == 15 || t.DEPARTMENT_TYPE == 20), filterD, null);
if (listDep1MineType != null && listDep1MineType.Any()) if (listDep1MineType != null && listDep1MineType.Any())
{ {
listDepCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 15).ToList(); listDepCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 15).ToList();
@ -1363,48 +1302,53 @@ namespace APT.SC.WebApi.Controllers.Api.BI
List<T_BI_HOME_BSRISKREASON> ListSafeCheckYearMonthT = BIHomeService.GetHomeCheckCountMonth(filter.OrgId, listDep1MineType.ToList(), befoMonth).ToList(); List<T_BI_HOME_BSRISKREASON> ListSafeCheckYearMonthT = BIHomeService.GetHomeCheckCountMonth(filter.OrgId, listDep1MineType.ToList(), befoMonth).ToList();
var listCheckTypeIDT = ListSafeCheckYearMonthT.Select(e => e.SOURCEID).Distinct().ToList(); var listCheckTypeIDT = ListSafeCheckYearMonthT.Select(e => e.SOURCEID).Distinct().ToList();
if (enums == null) //if (enums == null)
{ //{
enums = GetEntity<T_FM_ENUMS>(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum"); // enums = GetEntity<T_FM_ENUMS>(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum");
} //}
if (enums != null) //if (enums != null)
{ //{
var listTypeMine = GetEntities<MS.Domain.Entities.BS.T_BS_CHECK_TYPE_MINETYPE>(e => e.MINETYPE_ENUMS_ID == enums.ID, null, null); // var listTypeMine = GetEntities<MS.Domain.Entities.BS.T_BS_CHECK_TYPE_MINETYPE>(e => e.MINETYPE_ENUMS_ID == enums.ID, null, null);
if (listTypeMine != null && listTypeMine.Any()) // if (listTypeMine != null && listTypeMine.Any())
{ // {
var listMineCheckTypeID = listTypeMine.Where(e => e.CHECK_TYPE_ID.HasValue).Select(e => e.CHECK_TYPE_ID.Value); // var listMineCheckTypeID = listTypeMine.Where(e => e.CHECK_TYPE_ID.HasValue).Select(e => e.CHECK_TYPE_ID.Value);
for (int i = 0; i < listCheckTypeIDT.Count; i++) // for (int i = 0; i < listCheckTypeIDT.Count; i++)
{ // {
if (!listMineCheckTypeID.Contains(listCheckTypeIDT[i])) // if (!listMineCheckTypeID.Contains(listCheckTypeIDT[i]))
{ // {
listCheckTypeIDT.RemoveAt(i); // listCheckTypeIDT.RemoveAt(i);
i--; // i--;
} // }
} // }
} // }
} //}
var listCheckType = GetEntities<MS.Domain.Entities.BS.T_BS_CHECK_TYPE>(e => listCheckTypeIDT.Contains(e.ID), null, null).OrderBy(e => e.PARENT_ID).ThenBy(e => e.NUM).ToList(); var listCheckType = GetEntities<MS.Domain.Entities.SK.T_SK_CHECK_TYPE>(e => true, null, null).ToList();
if (loginDepart != null)
{
listCheckType = listCheckType.Where(t => t.PRODUCTION_UNIT_ID == loginDepart.PRODUCTION_UNIT_ID).ToList();
}
//var listCheckType = GetEntities<MS.Domain.Entities.SK.T_SK_CHECK_TYPE>(e => listCheckTypeIDT.Contains(e.ID), null, null).OrderBy(e => e.PARENT_ID).ThenBy(e => e.NUM).ToList();
List<Guid> listCheckTypeID = new List<Guid>(); List<Guid> listCheckTypeID = new List<Guid>();
List<string> listCheckTypeNAME = new List<string>(); List<string> listCheckTypeNAME = new List<string>();
Guid IDZH = Guid.Empty;//综合检查(只有一个) //Guid IDZH = Guid.Empty;//综合检查(只有一个)
List<Guid> listGUID = new List<Guid>();//综合检查子集 //List<Guid> listGUID = new List<Guid>();//综合检查子集
for (int i = 0; i < listCheckType.Count; i++) for (int i = 0; i < listCheckType.Count; i++)
{ {
if (listCheckType[i].PARENT_ID.HasValue) //if (listCheckType[i].PARENT_ID.HasValue)
{ //{
if (IDZH == Guid.Empty) // if (IDZH == Guid.Empty)
{ // {
IDZH = listCheckType[i].PARENT_ID.Value; // IDZH = listCheckType[i].PARENT_ID.Value;
listCheckTypeID.Add(IDZH); // listCheckTypeID.Add(IDZH);
var checkTypeP = GetEntity<MS.Domain.Entities.BS.T_BS_CHECK_TYPE>(IDZH); // var checkTypeP = GetEntity<MS.Domain.Entities.BS.T_BS_CHECK_TYPE>(IDZH);
listCheckTypeNAME.Add(checkTypeP.NAME); // listCheckTypeNAME.Add(checkTypeP.NAME);
} // }
listGUID.Add(listCheckType[i].ID); // listGUID.Add(listCheckType[i].ID);
} //}
else //else
{ {
listCheckTypeID.Add(listCheckType[i].ID); listCheckTypeID.Add(listCheckType[i].ID);
listCheckTypeNAME.Add(listCheckType[i].NAME); listCheckTypeNAME.Add(listCheckType[i].NAME);
@ -1432,14 +1376,14 @@ namespace APT.SC.WebApi.Controllers.Api.BI
for (int j = 0; j < listCheckTypeID.Count; j++) for (int j = 0; j < listCheckTypeID.Count; j++)
{ {
if (listCheckTypeID[j] != IDZH) //if (listCheckTypeID[j] != IDZH)
{ {
listPerChearchPer = listPerChearch.Where(e => e.YEAR == year && e.MONTH == Month && e.SOURCEID == listCheckTypeID[j]);//各个检查 listPerChearchPer = listPerChearch.Where(e => e.YEAR == year && e.MONTH == Month && e.SOURCEID == listCheckTypeID[j]);//各个检查
} }
else //else
{ //{
listPerChearchPer = listPerChearch.Where(e => e.YEAR == year && e.MONTH == Month && listGUID.Contains(e.SOURCEID));//综合检查 // listPerChearchPer = listPerChearch.Where(e => e.YEAR == year && e.MONTH == Month && listGUID.Contains(e.SOURCEID));//综合检查
} //}
if (listPerChearchPer == null || !listPerChearchPer.Any()) if (listPerChearchPer == null || !listPerChearchPer.Any())
{ {
@ -1545,11 +1489,11 @@ namespace APT.SC.WebApi.Controllers.Api.BI
{ {
//按生产单元 获取数据 //按生产单元 获取数据
HomeDetailRiskCountMonth result = new HomeDetailRiskCountMonth(); HomeDetailRiskCountMonth result = new HomeDetailRiskCountMonth();
if (string.IsNullOrEmpty(filter.Keyword)) //if (string.IsNullOrEmpty(filter.Keyword))
{ //{
return result; // return result;
} //}
int MineType = int.Parse(filter.Keyword); //int MineType = int.Parse(filter.Keyword);
BaseFilter filterD = new BaseFilter(); BaseFilter filterD = new BaseFilter();
filterD.SelectField = new List<string> { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID" }; filterD.SelectField = new List<string> { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID" };
@ -1557,7 +1501,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
///部门 ///部门
//var listDep1MineTypeSum = GetEntities<T_FM_DEPARTMENT>(t => t.MineType.HasValue && t.MineType == MineType && t.DEPARTMENT_TYPE == 10, filterD, null); //var listDep1MineTypeSum = GetEntities<T_FM_DEPARTMENT>(t => t.MineType.HasValue && t.MineType == MineType && t.DEPARTMENT_TYPE == 10, filterD, null);
///车间 班组 ///车间 班组
var listDep1MineType = GetEntities<T_FM_DEPARTMENT>(t => t.MineType.HasValue && t.MineType == MineType && (t.DEPARTMENT_TYPE == 15 || t.DEPARTMENT_TYPE == 20 || t.DEPARTMENT_TYPE == 10), filterD, null); var listDep1MineType = GetEntities<T_FM_DEPARTMENT>(t => (t.DEPARTMENT_TYPE == 15 || t.DEPARTMENT_TYPE == 20 || t.DEPARTMENT_TYPE == 10), filterD, null);
//FMDepartmentType 部门=0, 车间=1, 班组=2, 公司=3 //FMDepartmentType 部门=0, 车间=1, 班组=2, 公司=3
if (listDep1MineType == null || !listDep1MineType.Any()) if (listDep1MineType == null || !listDep1MineType.Any())

View File

@ -10022,7 +10022,12 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
var departmentIds = new List<Guid>(); var departmentIds = new List<Guid>();
List<GroupbyDepartmentId> completionLists = new List<GroupbyDepartmentId>(); List<GroupbyDepartmentId> completionLists = new List<GroupbyDepartmentId>();
var departmentInfo = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, new BaseFilter(orgId)); var loginDepart = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID);
var departmentInfo = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0 && t.CATEGORY == FMCATEGORY.ACTURE, new BaseFilter(orgId));
if (loginDepart != null)
{
departmentInfo = departmentInfo.Where(t => t.PRODUCTION_UNIT_ID == loginDepart.PRODUCTION_UNIT_ID).ToList();
}
if (departmentInfo == null || !departmentInfo.Any()) if (departmentInfo == null || !departmentInfo.Any())
return completionSorts; return completionSorts;
else else
@ -10208,13 +10213,18 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
{ {
dynamic ret = new System.Dynamic.ExpandoObject(); dynamic ret = new System.Dynamic.ExpandoObject();
var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId.Value; var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId.Value;
var mineType = 30; //var mineType = 30;
var departmentIds = new List<Guid>(); var departmentIds = new List<Guid>();
List<GroupbyDepartmentCompletion> completionLists = new List<GroupbyDepartmentCompletion>(); List<GroupbyDepartmentCompletion> completionLists = new List<GroupbyDepartmentCompletion>();
List<T_FM_WORK_TICKET_COMPLETION> completionSorts = new List<T_FM_WORK_TICKET_COMPLETION>(); List<T_FM_WORK_TICKET_COMPLETION> completionSorts = new List<T_FM_WORK_TICKET_COMPLETION>();
if (string.IsNullOrEmpty(filter.Keyword)) //if (string.IsNullOrEmpty(filter.Keyword))
return ret; // return ret;
var departmentInfo = this.GetEntities<T_FM_DEPARTMENT>(t => t.MineType == int.Parse(filter.Keyword.ToString()), new BaseFilter(orgId)); var loginDepart = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID);
var departmentInfo = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0 && t.CATEGORY == FMCATEGORY.ACTURE, new BaseFilter(orgId));
if (loginDepart != null)
{
departmentInfo = departmentInfo.Where(t => t.PRODUCTION_UNIT_ID == loginDepart.PRODUCTION_UNIT_ID).ToList();
}
if (departmentInfo == null || !departmentInfo.Any()) if (departmentInfo == null || !departmentInfo.Any())
return ret; return ret;
else else