From 8404623780c7d5a99663305d56856f8c7aaf8cd2 Mon Sep 17 00:00:00 2001 From: wyw <571921741@qq.com> Date: Fri, 6 Sep 2024 14:54:53 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=20=20=E5=AE=89=E5=85=A8?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=E6=AC=A1=E6=95=B0=E7=BB=9F=E8=AE=A1=20?= =?UTF-8?q?=E6=9C=88=E5=BA=A6=E9=9A=90=E6=82=A3=E6=95=B4=E6=94=B9=E6=83=85?= =?UTF-8?q?=E5=86=B5=201=E3=80=81=E5=8E=BB=E9=99=A4=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E5=8D=95=E5=85=83=202=E3=80=81=E6=98=BE=E7=A4=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=20=E4=BF=AE=E6=94=B9=E4=B8=BA=20=E9=83=A8=E9=97=A8+?= =?UTF-8?q?=E7=8F=AD=E7=BB=84=20=E4=B9=8B=E5=89=8D=E5=8F=AA=E6=9C=89?= =?UTF-8?q?=E9=83=A8=E9=97=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/BI/BIHomeService.cs | 45 +++++--- APT.MS.Domain/IServices/BI/IBIHomeService.cs | 3 +- .../Api/BIController/BIHomeController.cs | 105 +++++++++--------- 3 files changed, 87 insertions(+), 66 deletions(-) diff --git a/APT.BaseData.Services/Services/BI/BIHomeService.cs b/APT.BaseData.Services/Services/BI/BIHomeService.cs index 883746a..5499c43 100644 --- a/APT.BaseData.Services/Services/BI/BIHomeService.cs +++ b/APT.BaseData.Services/Services/BI/BIHomeService.cs @@ -9,6 +9,7 @@ using APT.BaseData.Domain.Entities.FM; using APT.MS.Domain.Entities.BS; using System.Linq.Expressions; using System.Linq; +using APT.BaseData.Domain.Enums; namespace APT.BaseData.Services.Services.BI { @@ -71,17 +72,19 @@ namespace APT.BaseData.Services.Services.BI /// 查询部门 /// 提前月份 /// - public IEnumerable GetHomeCorrect(Guid? OrgID, List listDep, int? MonthBefo = 5) + public IEnumerable GetHomeCorrect(Guid? OrgID, List listDep, int? MonthBefo = 5, FMDepartmentType? DEPARTMENT_TYPE = null) { - if (listDep == null || listDep.Count < 1) - { - return new List(); - } + //if (listDep == null || listDep.Count < 1) + //{ + // return new List(); + //} DateTime dtMin = DateTime.Now.AddMonths(-1 * MonthBefo.Value); - - List listDepID = listDep.Select(e => e.ID).ToList(); - + List listDepID = null; + if (listDep != null && listDep.Count > 0) + { + listDepID = listDep.Select(e => e.ID).ToList(); + } Expression> expression = e => e.TYPE == BSCaculateType.RiskCorrect; if (dtMin.Year == DateTime.Now.Year) { @@ -91,11 +94,17 @@ namespace APT.BaseData.Services.Services.BI { 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]); - + if (DEPARTMENT_TYPE.HasValue) + { + expression = expression.And(e => e.DEPARTMENT_TYPE == DEPARTMENT_TYPE); + } + if (listDepID != null) + { + 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.Order = DbOrder.ASC; @@ -109,9 +118,15 @@ namespace APT.BaseData.Services.Services.BI foreach (var item in listReason) { item.SOURCENAME = ((BSCorrectType)item.SOURCEVAL).GetDescription(); - item.DEPARTMENTNAME = listDep.First(e => e.ID == item.DEPARTMENT_ID).NAME; + if (listDep != null && listDep.Count > 0) + { + item.DEPARTMENTNAME = listDep.First(e => e.ID == item.DEPARTMENT_ID).NAME; + } + else + { + item.DEPARTMENTNAME = "公司级"; + } } - return listReason; } diff --git a/APT.MS.Domain/IServices/BI/IBIHomeService.cs b/APT.MS.Domain/IServices/BI/IBIHomeService.cs index 9a481c4..fb6707b 100644 --- a/APT.MS.Domain/IServices/BI/IBIHomeService.cs +++ b/APT.MS.Domain/IServices/BI/IBIHomeService.cs @@ -1,4 +1,5 @@ using APT.BaseData.Domain.Entities.FM; +using APT.BaseData.Domain.Enums; using APT.MS.Domain.Entities.BI; using System; using System.Collections.Generic; @@ -22,7 +23,7 @@ namespace APT.BaseData.Domain.IServices.BI /// 查询部门 /// 提前月份 /// - IEnumerable GetHomeCorrect(Guid? OrgID, List listDep, int? MonthBefo = 5); + IEnumerable GetHomeCorrect(Guid? OrgID, List listDep, int? MonthBefo = 5, FMDepartmentType? DEPARTMENT_TYPE = null); /// 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 8a8526f..8abc55b 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIHomeController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIHomeController.cs @@ -8,6 +8,7 @@ using System.Linq; using APT.Utility; using APT.MS.Domain.Entities.BI; using APT.BaseData.Domain.IServices.BI; +using APT.BaseData.Domain.Enums; namespace APT.SC.WebApi.Controllers.Api.BI { @@ -642,7 +643,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI #region //月度 隐患整改情况 - List listCorrectT = BIHomeService.GetHomeCorrect(filter.OrgId, listDep).ToList(); + List listCorrectT = BIHomeService.GetHomeCorrect(filter.OrgId, null, 5, FMDepartmentType.公司).ToList();//listDep string Val = string.Empty;// 0 ,1,2,3 //string NameMonth = dtNow.AddMonths(-5).Month.ToString() + "月," + dtNow.AddMonths(-4).Month.ToString() + "月," + dtNow.AddMonths(-3).Month.ToString() + "月," + dtNow.AddMonths(-2).Month.ToString() + "月," + dtNow.AddMonths(-1).Month.ToString() + "月," + dtNow.Month.ToString() + "月"; string NameMonth = dtNow.AddMonths(-5).ToString("yyyy-MM") + "," + dtNow.AddMonths(-4).ToString("yyyy-MM") + "," + dtNow.AddMonths(-3).ToString("yyyy-MM") + "," + dtNow.AddMonths(-2).ToString("yyyy-MM") + "," + dtNow.AddMonths(-1).ToString("yyyy-MM") + "," + dtNow.ToString("yyyy-MM"); @@ -894,18 +895,21 @@ namespace APT.SC.WebApi.Controllers.Api.BI //filterD.SelectField = new List { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID" }; //var listDep1MineType = GetEntities(t => t.MineType.HasValue && t.MineType == MineType && t.DEPARTMENT_TYPE == 0, filterD, null);//部门就可以了 因为都相向 统计了 - if (listDep != null && listDep.Any()) - { + + var listDep1MineTypeBMBZ = GetEntities(t => t.DEPARTMENT_TYPE == 0|| t.DEPARTMENT_TYPE == 2, null, null); //FMDepartmentType 部门=0, 车间=1, 班组=2, 公司=3 + + if (listDep1MineTypeBMBZ != null && listDep1MineTypeBMBZ.Any()) + { List ListSafeCheckYearMonth = new List(); int befoMonth = 12; - List ListSafeCheckYearMonthT = BIHomeService.GetHomeCheckCountMonth(filter.OrgId, listDep.ToList(), befoMonth).ToList(); + List ListSafeCheckYearMonthT = BIHomeService.GetHomeCheckCountMonth(filter.OrgId, listDep1MineTypeBMBZ.ToList(), befoMonth).ToList(); var listCheckTypeIDT = ListSafeCheckYearMonthT.Select(e => e.SOURCEID).Distinct().ToList(); //var enums = GetEntity(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum"); //if (enums != null) //{ //var listTypeMine = GetEntities(e => e.MINETYPE_ENUMS_ID == enums.ID, null, null); - var listTypeMine = GetEntities(e => 1 == 1, null, null); + var listTypeMine = GetEntities(null, null, null); if (listTypeMine != null && listTypeMine.Any()) { var listMineCheckTypeID = listTypeMine.Where(e => e.CHECK_TYPE_ID.HasValue).Select(e => e.CHECK_TYPE_ID.Value); @@ -1013,17 +1017,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(filter.OrgId); filterD.SelectField = new List { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID" }; - var listDep1MineType = GetEntities(t => t.MineType.HasValue && t.MineType == MineType && (t.DEPARTMENT_TYPE == 1 || t.DEPARTMENT_TYPE == 2), filterD, null); + var listDep1MineType = GetEntities(t => t.MineType.HasValue && (t.DEPARTMENT_TYPE == 1 || t.DEPARTMENT_TYPE == 2), filterD, null);//&& t.MineType == MineType //FMDepartmentType 部门=0, 车间=1, 班组=2, 公司=3 if (listDep1MineType == null || !listDep1MineType.Any()) { @@ -1044,22 +1048,22 @@ namespace APT.SC.WebApi.Controllers.Api.BI if (listDepCJ == null || listDepCJ.Count < 1 || listDepBZ == null || listDepBZ.Count < 1) { //深度查找 部门 MineType 只能存一个值 - enums = GetEntity(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum"); - if (enums == null) - { - throw new Exception("获取生产类型失败"); - } + //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()) + //var listDepID = GetEntities(e => e.ENUMS_ID == enums.ID, null, null).Select(e => e.DEPARTMENT_ID); + //if (listDepID != null && listDepID.Any()) + //{ + listDep1MineType = GetEntities(t => (t.DEPARTMENT_TYPE == 1 || t.DEPARTMENT_TYPE == 2), filterD, null);// listDepID.Contains(t.ID) && + if (listDep1MineType != null && listDep1MineType.Any()) { - listDep1MineType = GetEntities(t => listDepID.Contains(t.ID) && (t.DEPARTMENT_TYPE == 1 || t.DEPARTMENT_TYPE == 2), filterD, null); - if (listDep1MineType != null && listDep1MineType.Any()) - { - listDepCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 1).ToList(); - listDepBZ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 2).ToList(); - } + listDepCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 1).ToList(); + listDepBZ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 2).ToList(); } + //} } if (listDepCJ == null || listDepCJ.Count < 1 || listDepBZ == null || listDepBZ.Count < 1) @@ -1072,26 +1076,27 @@ 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) - { - 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--; - } - } - } - } + + //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 => listCheckTypeIDT.Contains(e.ID), null, null).OrderBy(e => e.PARENT_ID).ThenBy(e => e.NUM).ToList(); @@ -1254,11 +1259,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(filter.OrgId); filterD.SelectField = new List { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID" }; @@ -1266,7 +1271,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI ///部门 //var listDep1MineTypeSum = GetEntities(t => t.MineType.HasValue && t.MineType == MineType && t.DEPARTMENT_TYPE == 0, filterD, null); ///车间 班组 - var listDep1MineType = GetEntities(t => t.MineType.HasValue && t.MineType == MineType && (t.DEPARTMENT_TYPE == 1 || t.DEPARTMENT_TYPE == 2 || t.DEPARTMENT_TYPE == 0), filterD, null); + var listDep1MineType = GetEntities(t => t.DEPARTMENT_TYPE == 1 || t.DEPARTMENT_TYPE == 2 || t.DEPARTMENT_TYPE == 0, filterD, null);//t.MineType.HasValue && (&& t.MineType == MineType) //FMDepartmentType 部门=0, 车间=1, 班组=2, 公司=3 if (listDep1MineType == null || !listDep1MineType.Any())