首页报表调整

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="MonthBefo">提前月份</param>
/// <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)
{
@ -119,92 +119,7 @@ namespace APT.BaseData.Services.Services.BI
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>
/// 查询首页的隐患整改情况 年度 方法使用前提 先执行一下12个月的 整改情况
/// </summary>

View File

@ -14,6 +14,7 @@ using APT.MS.Domain.Entities.FO;
using APT.MS.Domain.Entities.HM;
using APT.MS.Domain.Entities.SC.PT;
using APT.MS.Domain.Entities.SE;
using APT.MS.Domain.Entities.SK;
using APT.MS.Domain.Enums;
using APT.Utility;
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);
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())
{
expression = expression.And(e => !listDetailID.Contains(e.ID));
}
var listCheck = GetEntities(expression, null, null);//隐患未上报 也就是 未整改的
//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;
//if (listDetailID != null && listDetailID.Any())
//{
// expression = expression.And(e => !listDetailID.Contains(e.ID));
//}
var listCheck = dtSubmitContent.Where(t=>t.STATUS != PFStandardStatus.Archived);//GetEntities(expression, null, null);//隐患未上报 也就是 未整改的
//string strCorrectType = DataHelper.EnumToString("BSCorrectType");
//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);//如果没有 就新建对象
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.NUMD = depNum;
perME.COUNT = perCount;
@ -1915,8 +1916,8 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{
perME = GetRiskReason(2, listYear[j], itemD.ID, Guid.Empty, 2, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象
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.NUMD = depNum;
perME.COUNT = perCount;
@ -1931,12 +1932,12 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{
perME = GetRiskReason(2, listYear[j], itemD.ID, Guid.Empty, 3, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象
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;
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;
@ -1973,8 +1974,8 @@ 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);//如果没有 就新建对象
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;//每次清零 后相加
if (listSubDepID != null && listSubDepID.Any())
@ -2001,8 +2002,8 @@ 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);//如果没有 就新建对象
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;//每次清零 后相加
if (listSubDepID != null && listSubDepID.Any())
@ -2029,12 +2030,12 @@ 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);//如果没有 就新建对象
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;
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;//每次清零 后相加
@ -2082,8 +2083,8 @@ 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);//如果没有 就新建对象
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;//每次清零 后相加
if (listSubDepID != null && listSubDepID.Any())
@ -2110,8 +2111,8 @@ 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);//如果没有 就新建对象
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;//每次清零 后相加
if (listSubDepID != null && listSubDepID.Any())
@ -2138,12 +2139,12 @@ 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);//如果没有 就新建对象
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;
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;//每次清零 后相加
@ -2189,8 +2190,8 @@ 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);//如果没有 就新建对象
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.NUMD = depNum;
perME.COUNT = perCount;
@ -2205,8 +2206,8 @@ 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);//如果没有 就新建对象
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.NUMD = depNum;
perME.COUNT = perCount;
@ -2221,8 +2222,8 @@ 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);//如果没有 就新建对象
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;
if (listCheck != null && listCheck.Any())
{
@ -2396,14 +2397,14 @@ namespace APT.PP.WebApi.Controllers.Api.PP
return true; //如果 没有部门 或者 为设置隐患原因 一般不会这样
}
BaseFilter filterC = new BaseFilter(filter.OrgId);
filterC.SelectField = new List<string> { "ID", "DEPARTMENTID", "CREATE_TIME", "ENABLE_STATUS", "STATUSPLAN", "CHECK_TYPE_ID" };
BaseFilter filterC = new BaseFilter(filter.OrgId);
filterC.SelectField = new List<string> { "ID", "APPLY_DEPARTMENT_ID", "CREATE_TIME", "STATUS", "CHECK_TYPE_ID" };
filterC.IgnoreDataRule = true;
//隐患已上报 统计 有没有处理 处理的及时性
IEnumerable<T_BS_SAFE_CHECK> dtSafeCheck = null;
IEnumerable<T_SK_HIDDEN_DANGER_RECTIFY_RECORD> dtSafeCheck = null;
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 { }
if ((dtSafeCheck == null || !dtSafeCheck.Any()))
@ -2412,11 +2413,11 @@ namespace APT.PP.WebApi.Controllers.Api.PP
}
BaseFilter filterCT = new BaseFilter(filter.OrgId);
filterCT.SelectField = new List<string> { "ID", "NAME", "IS_DELETED", "ENABLE_STATUS" };
IEnumerable<T_BS_CHECK_TYPE> listCheckTypeAll = null;
filterCT.SelectField = new List<string> { "ID", "NAME", "IS_DELETED", "PRODUCTION_UNIT_ID" };
IEnumerable<T_SK_CHECK_TYPE> listCheckTypeAll = null;
try
{
listCheckTypeAll = GetEntities<T_BS_CHECK_TYPE>(null, filterCT, null);//
listCheckTypeAll = GetEntities<T_SK_CHECK_TYPE>(null, filterCT, null);//
}
catch { }
if ((listCheckTypeAll == null || !listCheckTypeAll.Any()))
@ -2470,7 +2471,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
DateTime dtPerMin = DateTime.Now;
DateTime dtPerMax = DateTime.Now;
T_BS_SAFE_CHECK check = null;
T_SK_HIDDEN_DANGER_RECTIFY_RECORD check = null;
//班组
depNum = 0;
NUMS = 0;
@ -2483,7 +2484,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{
NUMS++;
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)
{
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.NUMD = depNum;
perME.COUNT = perCount;
@ -2522,12 +2523,12 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{
NUMS++;
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 (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)
{
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);//如果没有 就新建对象
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;//每次清零 后相加
if (listSubDepID != null && listSubDepID.Any())
@ -2580,12 +2581,12 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{
NUMS++;
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 (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)
{
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);//如果没有 就新建对象
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;//每次清零 后相加
if (listSubDepID != null && listSubDepID.Any())
@ -2643,7 +2644,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{
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)
{
continue;

View File

@ -1,5 +1,6 @@
using APT.BaseData.Domain.ApiModel.Platform;
using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.Enums;
using APT.BaseData.Domain.IServices.BI;
using APT.Infrastructure.Api;
using APT.Infrastructure.Api.Redis;
@ -7,6 +8,7 @@ using APT.Infrastructure.Core;
using APT.MS.Domain.Entities.BI;
using APT.MS.Domain.Entities.HM;
using APT.MS.Domain.Entities.SK;
using APT.MS.Domain.Enums.SK;
using APT.Utility;
using log4net.Core;
using Microsoft.AspNetCore.Mvc;
@ -551,11 +553,11 @@ namespace APT.SC.WebApi.Controllers.Api.BI
{
//按生产单元 获取数据
HomeResult result = new HomeResult();
if (string.IsNullOrEmpty(filter.Keyword))
{
return result;
}
int MineType = int.Parse(filter.Keyword);
//if (string.IsNullOrEmpty(filter.Keyword))
//{
// return result;
//}
//int MineType = int.Parse(filter.Keyword);
//根据 日期 yyyyMMddHH MineType 获取信息 Redis信息
@ -580,7 +582,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
{
foreach (var item in listHomeRedis)
{
if (item.MineType == MineType)
//if (item.MineType == MineType)
{
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" };
//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
@ -623,72 +625,6 @@ namespace APT.SC.WebApi.Controllers.Api.BI
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 //月度 隐患整改情况
@ -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());
//BaseFilter filterD = new BaseFilter();
@ -1167,47 +1103,50 @@ namespace APT.SC.WebApi.Controllers.Api.BI
List<HomeSafeCheckCountMonth> ListSafeCheckYearMonth = new List<HomeSafeCheckCountMonth>();
int befoMonth = 12;
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");
if (enums != null)
//var enums = GetEntity<T_FM_ENUMS>(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum");
//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);
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--;
}
}
}
listCheckType = listCheckType.Where(t => t.PRODUCTION_UNIT_ID == loginDepart.PRODUCTION_UNIT_ID).ToList();
}
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<string> listCheckTypeNAME = new List<string>();
Guid IDZH = Guid.Empty;//综合检查(只有一个)
List<Guid> listGUID = new List<Guid>();//综合检查子集
//Guid IDZH = Guid.Empty;//综合检查(只有一个)
//List<Guid> listGUID = new List<Guid>();//综合检查子集
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 (IDZH == Guid.Empty)
{
IDZH = listCheckType[i].PARENT_ID.HasValue ? listCheckType[i].PARENT_ID.Value : listCheckType[i].ID;
listCheckTypeID.Add(IDZH);
var checkTypeP = GetEntity<MS.Domain.Entities.BS.T_BS_CHECK_TYPE>(IDZH);
listCheckTypeNAME.Add(checkTypeP.NAME);
}
listGUID.Add(listCheckType[i].ID);
}
else
//if (listCheckType[i].PARENT_ID.HasValue || ((IDZH != Guid.Empty && IDZH == listCheckType[i].ID) || listCheckType[i].NAME == "综合检查"))
//{
// if (IDZH == Guid.Empty)
// {
// IDZH = listCheckType[i].PARENT_ID.HasValue ? listCheckType[i].PARENT_ID.Value : listCheckType[i].ID;
// listCheckTypeID.Add(IDZH);
// var checkTypeP = GetEntity<MS.Domain.Entities.BS.T_BS_CHECK_TYPE>(IDZH);
// listCheckTypeNAME.Add(checkTypeP.NAME);
// }
// listGUID.Add(listCheckType[i].ID);
//}
//else
{
listCheckTypeID.Add(listCheckType[i].ID);
listCheckTypeNAME.Add(listCheckType[i].NAME);
@ -1236,14 +1175,14 @@ namespace APT.SC.WebApi.Controllers.Api.BI
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]);//各个检查
}
else
{
listPerChearchPer = listPerChearch.Where(e => e.YEAR == year && e.MONTH == Month && listGUID.Contains(e.SOURCEID));//综合检查
}
//else
//{
// listPerChearchPer = listPerChearch.Where(e => e.YEAR == year && e.MONTH == Month && listGUID.Contains(e.SOURCEID));//综合检查
//}
if (listPerChearchPer == null || !listPerChearchPer.Any())
{
@ -1276,7 +1215,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
listHomeRedis.Add(new HomeResultMineType()
{
MineType = MineType,
//MineType = MineType,
yyyyMMddHH = dtNow.ToString("yyyyMMddHH"),
result = result
});
@ -1291,7 +1230,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
return result;
});
}
/// <summary>
/// 首页 安全检查次数统计明细(BI054HomeDetail)
/// </summary>
@ -1304,17 +1243,17 @@ namespace APT.SC.WebApi.Controllers.Api.BI
{
//按生产单元 获取数据
HomeDetailSafeCheckCountMonth result = new HomeDetailSafeCheckCountMonth();
if (string.IsNullOrEmpty(filter.Keyword))
{
return result;
}
int MineType = int.Parse(filter.Keyword);
//if (string.IsNullOrEmpty(filter.Keyword))
//{
// return result;
//}
//int MineType = int.Parse(filter.Keyword);
BaseFilter filterD = new BaseFilter();
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
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();
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
if (listDepCJ == null || listDepCJ.Count < 1 || listDepBZ == null || listDepBZ.Count < 1)
{
//深度查找 部门 MineType 只能存一个值
enums = GetEntity<T_FM_ENUMS>(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum");
if (enums == null)
////深度查找 部门 MineType 只能存一个值
//enums = GetEntity<T_FM_ENUMS>(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum");
//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("获取生产类型失败");
}
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);
listDep1MineType = GetEntities<T_FM_DEPARTMENT>(t => t.PRODUCTION_UNIT_ID == loginDepart.PRODUCTION_UNIT_ID && (t.DEPARTMENT_TYPE == 15 || t.DEPARTMENT_TYPE == 20), filterD, null);
if (listDep1MineType != null && listDep1MineType.Any())
{
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();
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");
//}
//if (enums != 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())
// {
// 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.SK.T_SK_CHECK_TYPE>(e => true, null, null).ToList();
if (loginDepart != null)
{
enums = GetEntity<T_FM_ENUMS>(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum");
listCheckType = listCheckType.Where(t => t.PRODUCTION_UNIT_ID == loginDepart.PRODUCTION_UNIT_ID).ToList();
}
if (enums != 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())
{
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();
//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<string> listCheckTypeNAME = new List<string>();
Guid IDZH = Guid.Empty;//综合检查(只有一个)
List<Guid> listGUID = new List<Guid>();//综合检查子集
//Guid IDZH = Guid.Empty;//综合检查(只有一个)
//List<Guid> listGUID = new List<Guid>();//综合检查子集
for (int i = 0; i < listCheckType.Count; i++)
{
if (listCheckType[i].PARENT_ID.HasValue)
{
if (IDZH == Guid.Empty)
{
IDZH = listCheckType[i].PARENT_ID.Value;
listCheckTypeID.Add(IDZH);
var checkTypeP = GetEntity<MS.Domain.Entities.BS.T_BS_CHECK_TYPE>(IDZH);
listCheckTypeNAME.Add(checkTypeP.NAME);
}
listGUID.Add(listCheckType[i].ID);
}
else
//if (listCheckType[i].PARENT_ID.HasValue)
//{
// if (IDZH == Guid.Empty)
// {
// IDZH = listCheckType[i].PARENT_ID.Value;
// listCheckTypeID.Add(IDZH);
// var checkTypeP = GetEntity<MS.Domain.Entities.BS.T_BS_CHECK_TYPE>(IDZH);
// listCheckTypeNAME.Add(checkTypeP.NAME);
// }
// listGUID.Add(listCheckType[i].ID);
//}
//else
{
listCheckTypeID.Add(listCheckType[i].ID);
listCheckTypeNAME.Add(listCheckType[i].NAME);
@ -1432,14 +1376,14 @@ namespace APT.SC.WebApi.Controllers.Api.BI
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]);//各个检查
}
else
{
listPerChearchPer = listPerChearch.Where(e => e.YEAR == year && e.MONTH == Month && listGUID.Contains(e.SOURCEID));//综合检查
}
//else
//{
// listPerChearchPer = listPerChearch.Where(e => e.YEAR == year && e.MONTH == Month && listGUID.Contains(e.SOURCEID));//综合检查
//}
if (listPerChearchPer == null || !listPerChearchPer.Any())
{
@ -1545,11 +1489,11 @@ namespace APT.SC.WebApi.Controllers.Api.BI
{
//按生产单元 获取数据
HomeDetailRiskCountMonth result = new HomeDetailRiskCountMonth();
if (string.IsNullOrEmpty(filter.Keyword))
{
return result;
}
int MineType = int.Parse(filter.Keyword);
//if (string.IsNullOrEmpty(filter.Keyword))
//{
// return result;
//}
//int MineType = int.Parse(filter.Keyword);
BaseFilter filterD = new BaseFilter();
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 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
if (listDep1MineType == null || !listDep1MineType.Any())

View File

@ -10021,8 +10021,13 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
#region
var departmentIds = new List<Guid>();
List<GroupbyDepartmentId> completionLists = new List<GroupbyDepartmentId>();
var departmentInfo = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, new BaseFilter(orgId));
List<GroupbyDepartmentId> completionLists = new List<GroupbyDepartmentId>();
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())
return completionSorts;
else
@ -10208,13 +10213,18 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
{
dynamic ret = new System.Dynamic.ExpandoObject();
var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId.Value;
var mineType = 30;
//var mineType = 30;
var departmentIds = new List<Guid>();
List<GroupbyDepartmentCompletion> completionLists = new List<GroupbyDepartmentCompletion>();
List<T_FM_WORK_TICKET_COMPLETION> completionSorts = new List<T_FM_WORK_TICKET_COMPLETION>();
if (string.IsNullOrEmpty(filter.Keyword))
return ret;
var departmentInfo = this.GetEntities<T_FM_DEPARTMENT>(t => t.MineType == int.Parse(filter.Keyword.ToString()), new BaseFilter(orgId));
List<T_FM_WORK_TICKET_COMPLETION> completionSorts = new List<T_FM_WORK_TICKET_COMPLETION>();
//if (string.IsNullOrEmpty(filter.Keyword))
// return ret;
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())
return ret;
else