From 98d5d489723282ecf83b9d59c6432afbadbebdf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Tue, 16 Jun 2026 16:47:15 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E6=8A=A5=E8=A1=A8=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/BI/BIHomeService.cs | 87 +---- .../Controllers/Api/FMController.cs | 103 +++--- .../Api/BIController/BIHomeController.cs | 298 +++++++----------- .../BIStatiscialAnalysisController.cs | 24 +- 4 files changed, 191 insertions(+), 321 deletions(-) diff --git a/APT.BaseData.Services/Services/BI/BIHomeService.cs b/APT.BaseData.Services/Services/BI/BIHomeService.cs index 4279c35..533258f 100644 --- a/APT.BaseData.Services/Services/BI/BIHomeService.cs +++ b/APT.BaseData.Services/Services/BI/BIHomeService.cs @@ -73,7 +73,7 @@ namespace APT.BaseData.Services.Services.BI /// 查询部门 /// 提前月份 /// - public IEnumerable GetHomeCorrectOld(Guid? OrgID, List listDep, int? MonthBefo = 5) + public IEnumerable GetHomeCorrect(Guid? OrgID, List listDep, int? MonthBefo = 5) { if (listDep == null || listDep.Count < 1) { @@ -119,92 +119,7 @@ namespace APT.BaseData.Services.Services.BI return listReason; } - - /// - /// 查询首页的隐患整改情况 月度 - /// - /// - /// 查询部门 - /// 提前月份 - /// - public IEnumerable GetHomeCorrect(Guid? OrgID, List listDep, int? MonthBefo = 5) - { - if (listDep == null || listDep.Count < 1) - { - return new List(); - } - var temps= new List(); - var fiter = new BaseFilter(); - fiter.OrgId = OrgID; - fiter.IgnoreDataRule = true; - var hiddens = this.GetEntities(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 listDepID = listDep.Select(e => e.ID).ToList(); - - //Expression> 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 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; - } /// /// 查询首页的隐患整改情况 年度 方法使用前提 先执行一下12个月的 整改情况 /// diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs index 472e3d6..c8cacaa 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs @@ -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(e => e.DEPARTMENT_ID.HasValue && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value >= dtMin, null, null); + var dtSubmitContent = GetEntities(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> 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> 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 { "ID", "DEPARTMENTID", "CREATE_TIME", "ENABLE_STATUS", "STATUSPLAN", "CHECK_TYPE_ID" }; + BaseFilter filterC = new BaseFilter(filter.OrgId); + filterC.SelectField = new List { "ID", "APPLY_DEPARTMENT_ID", "CREATE_TIME", "STATUS", "CHECK_TYPE_ID" }; filterC.IgnoreDataRule = true; //隐患已上报 统计 有没有处理 处理的及时性 - IEnumerable dtSafeCheck = null; + IEnumerable dtSafeCheck = null; try { - dtSafeCheck = GetEntities(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(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 { "ID", "NAME", "IS_DELETED", "ENABLE_STATUS" }; - IEnumerable listCheckTypeAll = null; + filterCT.SelectField = new List { "ID", "NAME", "IS_DELETED", "PRODUCTION_UNIT_ID" }; + IEnumerable listCheckTypeAll = null; try { - listCheckTypeAll = GetEntities(null, filterCT, null);// + listCheckTypeAll = GetEntities(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; diff --git a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIHomeController.cs b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIHomeController.cs index 91a92b1..4d70130 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIHomeController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIHomeController.cs @@ -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 { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID", "MineType" }; //var listDep1MineType = GetEntities(t => t.MineType.HasValue && t.MineType == MineType && t.DEPARTMENT_TYPE == 10, filterD, null);//部门就可以了 因为都相向 统计了 - var listDep1MineType = GetEntities(t => t.MineType.HasValue && t.MineType == MineType && t.DEPARTMENT_TYPE == 10, null, null);//部门就可以了 因为都相向 统计了 + var listDep1MineType = GetEntities(t => t.DEPARTMENT_TYPE == 10, null, null);//部门就可以了 因为都相向 统计了 #endregion @@ -623,72 +625,6 @@ namespace APT.SC.WebApi.Controllers.Api.BI listDep = listDep1MineType.ToList(); - #region //////隐患原因( 不需要了 ) - - //List listReasonT = BIHomeService.GetHomeReasons(filter.OrgId, listDep).ToList(); - //List listReason = new List(); - //int reasonMax = listReasonT.Max(e => e.NUMS); - - ////List listEnumVal = new List { 5, 10, 15, 20 }; - //List LISTNAME = new List();// { "按时整改隐患", "超期整改隐患", "未整改隐患", "隐患整改率" }; - - //HomeRISKREASON model = null; - //List 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(); - // } - - // 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 ListSafeCheckYearMonth = new List(); int befoMonth = 12; List 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(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum"); - if (enums != null) + //var enums = GetEntity(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum"); + //if (enums != null) + //{ + // var listTypeMine = GetEntities(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 => t.ID == APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID); + var listCheckType = GetEntities(e => true, null, null).ToList(); + if (loginDepart != null) { - var listTypeMine = GetEntities(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(e => listCheckTypeIDT.Contains(e.ID), null, null).OrderBy(e => e.PARENT_ID).ThenBy(e => e.NUM).ToList(); - List listCheckTypeID = new List(); List listCheckTypeNAME = new List(); - Guid IDZH = Guid.Empty;//综合检查(只有一个) - List listGUID = new List();//综合检查子集 + //Guid IDZH = Guid.Empty;//综合检查(只有一个) + //List listGUID = new List();//综合检查子集 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(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(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; }); } - + /// /// 首页 安全检查次数统计明细(BI054HomeDetail) /// @@ -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 { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID" }; - var listDep1MineType = GetEntities(t => t.MineType.HasValue && t.MineType == MineType && (t.DEPARTMENT_TYPE == 15 || t.DEPARTMENT_TYPE == 20), filterD, null); + var listDep1MineType = GetEntities(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 => t.ID == APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID); #region 月度 12 个月 安全检查、检查类型 数量 if (listDepCJ == null || listDepCJ.Count < 1 || listDepBZ == null || listDepBZ.Count < 1) { - //深度查找 部门 MineType 只能存一个值 - enums = GetEntity(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum"); - if (enums == null) + ////深度查找 部门 MineType 只能存一个值 + //enums = GetEntity(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum"); + //if (enums == null) + //{ + // throw new Exception("获取生产类型失败"); + //} + //var listDepID = GetEntities(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(e => e.ENUMS_ID == enums.ID, null, null).Select(e => e.DEPARTMENT_ID); - if (listDepID != null && listDepID.Any()) - { - listDep1MineType = GetEntities(t => listDepID.Contains(t.ID) && (t.DEPARTMENT_TYPE == 15 || t.DEPARTMENT_TYPE == 20), filterD, null); + listDep1MineType = GetEntities(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 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(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum"); + //} + //if (enums != null) + //{ + // var listTypeMine = GetEntities(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(e => true, null, null).ToList(); + if (loginDepart != null) { - enums = GetEntity(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(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(e => listCheckTypeIDT.Contains(e.ID), null, null).OrderBy(e => e.PARENT_ID).ThenBy(e => e.NUM).ToList(); + //var listCheckType = GetEntities(e => listCheckTypeIDT.Contains(e.ID), null, null).OrderBy(e => e.PARENT_ID).ThenBy(e => e.NUM).ToList(); List listCheckTypeID = new List(); List listCheckTypeNAME = new List(); - Guid IDZH = Guid.Empty;//综合检查(只有一个) - List listGUID = new List();//综合检查子集 + //Guid IDZH = Guid.Empty;//综合检查(只有一个) + //List listGUID = new List();//综合检查子集 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(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(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 { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID" }; @@ -1557,7 +1501,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI ///部门 //var listDep1MineTypeSum = GetEntities(t => t.MineType.HasValue && t.MineType == MineType && t.DEPARTMENT_TYPE == 10, filterD, null); ///车间 班组 - var listDep1MineType = GetEntities(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 => (t.DEPARTMENT_TYPE == 15 || t.DEPARTMENT_TYPE == 20 || t.DEPARTMENT_TYPE == 10), filterD, null); //FMDepartmentType 部门=0, 车间=1, 班组=2, 公司=3 if (listDep1MineType == null || !listDep1MineType.Any()) diff --git a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs index 62e2428..f717067 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs @@ -10021,8 +10021,13 @@ namespace APT.SC.WebApi.Controllers.Api.BIController #region 获取数据 var departmentIds = new List(); - List completionLists = new List(); - var departmentInfo = this.GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(orgId)); + List completionLists = new List(); + var loginDepart = this.GetEntity(t => t.ID == APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID); + var departmentInfo = this.GetEntities(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(); List completionLists = new List(); - List completionSorts = new List(); - if (string.IsNullOrEmpty(filter.Keyword)) - return ret; - var departmentInfo = this.GetEntities(t => t.MineType == int.Parse(filter.Keyword.ToString()), new BaseFilter(orgId)); + List completionSorts = new List(); + //if (string.IsNullOrEmpty(filter.Keyword)) + // return ret; + var loginDepart = this.GetEntity(t => t.ID == APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID); + var departmentInfo = this.GetEntities(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