From 4a1196a50552222826ca8bea3c7b336cfdcf294c 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: Mon, 20 Jul 2026 14:31:01 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E7=8F=AD=E7=BB=84?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs | 2 +- .../Controllers/Api/BIController/BIHomeController.cs | 5 +++-- .../Api/BIController/BIStatiscialAnalysisController.cs | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs index 42c0260..763fda6 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs @@ -255,7 +255,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP BaseFilter baseFilter = new BaseFilter(filter.GetOrgId()); var startTime = Convert.ToDateTime(DateTime.Now.AddMonths(-11).Year + "-" + DateTime.Now.AddMonths(-11).Month + "-01 00:00:00"); var endTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + " 23:59:59"); - baseFilter.SelectField = new string[] { "ID", "NAME", "DEPARTMENT_TYPE", "Nav_Parent.NAME", "Nav_Parent.Nav_Parent", "PARENT_ID" }; + baseFilter.SelectField = new string[] { "ID", "NAME", "DEPARTMENT_TYPE", "Nav_Parent.NAME", "PARENT_ID" }; var departments = GetEntities(t => !t.IS_DELETED && t.ENABLE_STATUS == 0, baseFilter); baseFilter.SelectField = new string[] { "ID", "DEPARTMENT_ID" }; var teams = GetEntities(t => !t.IS_DELETED && t.ENABLE_STATUS == 0, baseFilter); 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 cc334a6..ee8c83d 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIHomeController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIHomeController.cs @@ -21,6 +21,7 @@ using NPOI.SS.Formula.Functions; using Org.BouncyCastle.Utilities; using System; using System.Collections.Generic; +using System.Diagnostics.Contracts; using System.Linq; namespace APT.SC.WebApi.Controllers.Api.BI @@ -2349,7 +2350,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI var startTime = dtNow.AddMonths(-11); var checkNotices = GetEntities(e => e.APPLY_DEPARTMENT_ID.HasValue && e.CREATE_TIME.HasValue && e.CREATE_TIME >= startTime && e.Nav_CheckType!=null && !e.Nav_CheckType.NAME.Contains("岗位排查"), newFilter); var noticeIds = checkNotices.Select(t => t.ID).ToList(); - var checkRecords = GetEntities(e => e.SECURITY_INSPECTION_NOTICE_ID.HasValue && noticeIds.Contains((Guid)e.SECURITY_INSPECTION_NOTICE_ID), newFilter); + var checkRecords = GetEntities(e => e.SECURITY_INSPECTION_NOTICE_ID.HasValue && noticeIds.Contains((Guid)e.SECURITY_INSPECTION_NOTICE_ID), newFilter); var currentTime = Convert.ToDateTime(startTime.Year + "-" + startTime.Month + "-01 00:00:00"); List ListSafeCheckYearMonth = new List(); //int befoMonth = 11;//计算 12 个月 就是提前 11个月 @@ -2564,7 +2565,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI var parentIds = listDepBZ.Where(e => e.PARENT_ID == item.Department_ID).Select(t => t.ID); var classIds = listDepBZ.Where(e => e.PARENT_ID!=null &&parentIds.Contains((Guid)e.PARENT_ID)).Select(t => t.ID); item.listChild = listCheckDepCountBZ.Where(e => e.Department_ID!=null && (classIds.Contains((Guid)e.Department_ID) || parentIds.Contains(e.Department_ID))).OrderBy(e => e.DepartmentType).ThenBy(t=>t.NUM).ToList(); - item.RowCount = item.listChild.Count() == 0?1: item.listChild.Count(); + item.RowCount = item.listChild.Count(); } 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 43377f2..18615ad 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs @@ -9911,7 +9911,7 @@ namespace APT.SC.WebApi.Controllers.Api.BIController // } // else { - var coms = completions.Where(i => i.DEPARTMENT_ID == item.shopId); + var coms = completions.Where(i => i.TEAM_ID == item.shopId); item.shopDoneCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamDoneCount)+ coms.Sum(m => m.FINISH_COUNT); item.shopOntimeCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamOntimeCount) + coms.Sum(m => m.ONTIME_COUNT); item.shopTotalCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamTotalCount) + coms.Sum(m => m.TOTAL_COUNT); From 2f5dc3bed283df67efd8f2bc87caeef4f3d8b407 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: Mon, 20 Jul 2026 15:18:38 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Api/BIController/BIStatiscialAnalysisController.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 18615ad..e0d57c3 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs @@ -9888,6 +9888,8 @@ namespace APT.SC.WebApi.Controllers.Api.BIController completionSort.shopName = parentInfo.NAME; } } + completionSort.deptType = item.DEPARTMENT_TYPE; + completionSort.num = item.NUM; completionSort.teamDoneCount = coms.Sum(m => m.FINISH_COUNT); completionSort.teamOntimeCount = coms.Sum(m => m.ONTIME_COUNT); completionSort.teamTotalCount = coms.Sum(m => m.TOTAL_COUNT); @@ -9937,7 +9939,7 @@ namespace APT.SC.WebApi.Controllers.Api.BIController } } } - ret.retData = completionLists.OrderBy(t => t.shopName).ThenByDescending(m => m.teamOverDoneRate).ToList(); + ret.retData = completionLists.OrderBy(t => t.shopName).ThenBy(m => m.deptType).ThenBy(n=>n.num).ToList(); } return ret; }); From 66d27d77e139e5a38d75fd30579029a5770df5d1 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, 21 Jul 2026 14:53:43 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E7=8F=AD=E7=BB=84?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E8=AE=B0=E5=BD=95=E8=B7=91=E6=89=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../APT.PP.WebApi/Controllers/Api/FMController.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs index 763fda6..6d3b8c8 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs @@ -250,9 +250,10 @@ namespace APT.PP.WebApi.Controllers.Api.PP return SafeExecute(() => { try - { + { + var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId; List completions = new List(); - BaseFilter baseFilter = new BaseFilter(filter.GetOrgId()); + BaseFilter baseFilter = new BaseFilter(orgId); var startTime = Convert.ToDateTime(DateTime.Now.AddMonths(-11).Year + "-" + DateTime.Now.AddMonths(-11).Month + "-01 00:00:00"); var endTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + " 23:59:59"); baseFilter.SelectField = new string[] { "ID", "NAME", "DEPARTMENT_TYPE", "Nav_Parent.NAME", "PARENT_ID" }; @@ -1076,10 +1077,10 @@ namespace APT.PP.WebApi.Controllers.Api.PP return SafeExecute(() => { try - { - + { + var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId; List completions = new List(); - BaseFilter baseFilter = new BaseFilter(filter.GetOrgId()); + BaseFilter baseFilter = new BaseFilter(orgId); baseFilter.IgnoreDataRule = true; var startTime = Convert.ToDateTime(DateTime.Now.AddMonths(-11).Year + "-" + DateTime.Now.AddMonths(-11).Month + "-01 00:00:00"); var endTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + " 23:59:59"); From 1dc559a1b75a0999aac3c6e3478817a1d83c460f 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, 21 Jul 2026 15:07:38 +0800 Subject: [PATCH 04/10] =?UTF-8?q?=E6=94=B9=E4=B8=BA=E8=BF=91=E5=8D=8A?= =?UTF-8?q?=E5=B9=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs index 6d3b8c8..b97eee3 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs @@ -254,7 +254,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId; List completions = new List(); BaseFilter baseFilter = new BaseFilter(orgId); - var startTime = Convert.ToDateTime(DateTime.Now.AddMonths(-11).Year + "-" + DateTime.Now.AddMonths(-11).Month + "-01 00:00:00"); + var startTime = Convert.ToDateTime(DateTime.Now.AddMonths(-5).Year + "-" + DateTime.Now.AddMonths(-5).Month + "-01 00:00:00"); var endTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + " 23:59:59"); baseFilter.SelectField = new string[] { "ID", "NAME", "DEPARTMENT_TYPE", "Nav_Parent.NAME", "PARENT_ID" }; var departments = GetEntities(t => !t.IS_DELETED && t.ENABLE_STATUS == 0, baseFilter); From 031ac2726637355f282c7aa23deade0477b6e8fe 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, 21 Jul 2026 16:04:00 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E5=AD=98=E5=85=A5redis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BIStatiscialAnalysisController.cs | 71 +++++++++++++++++-- 1 file changed, 67 insertions(+), 4 deletions(-) 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 e0d57c3..d885048 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs @@ -9677,12 +9677,52 @@ namespace APT.SC.WebApi.Controllers.Api.BIController public JsonActionResult> GetDepartmentCompletionSort([FromBody] KeywordFilter filter) { return SafeExecute>(() => - { + { + List completionSorts = new List(); + #region 判断 从Redis中获取数据 有就直接返回到前端 没有就按原来的进行搜索 最后再判断存入Redis中 + + var redisCode = string.Format(RedisCacheKey.HomeJobCompletion, APT.Infrastructure.Api.AppContext.CurrentSession.OrgId); + DateTime dtNow = DateTime.Now; + bool isRedisConfig = true; + var redisConfig = APT.Infrastructure.Api.ConfigurationManager.AppSettings["RedisFormConfig"]; + List listHomeRedis = null; + if (!string.IsNullOrEmpty(redisConfig)) + isRedisConfig = bool.Parse(redisConfig); + + if (isRedisConfig && CsRedisManager.KeyExists(redisCode)) + listHomeRedis = CsRedisManager.StringGet>(redisCode); + + if (listHomeRedis != null && listHomeRedis.Count() > 0) + { + foreach (var item in listHomeRedis) + { + //if (item.MineType == MineType) + { + if (dtNow.ToString("yyyyMMddHH") == item.yyyyMMddHH) + { + completionSorts = item.deptResult; + } + else + { + listHomeRedis.Remove(item);//Key不匹配 过期数据删除 + } + break; + } + } + } + + //redis获取到了数据 + if (completionSorts != null && completionSorts.Count() > 0) + { + return completionSorts; + } + + #endregion var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId.Value; //var mineType = 30; var departmentIds = new List(); List completionLists = new List(); - List completionSorts = new List(); + //if (string.IsNullOrEmpty(filter.Keyword)) // return completionSorts; //var departmentInfo = this.GetEntities(t => t.MineType == int.Parse(filter.Keyword.ToString()), new BaseFilter(orgId)); @@ -9766,7 +9806,29 @@ namespace APT.SC.WebApi.Controllers.Api.BIController { item.NUM = i; i++; + } + #region 搜索结果 判断存入Redis中 + + if (isRedisConfig) + { + try + { + if (listHomeRedis == null) + listHomeRedis = new List(); + + listHomeRedis.Add(new HomeResultMineType() + { + //MineType = MineType, + yyyyMMddHH = dtNow.ToString("yyyyMMddHH"), + deptResult = completionSorts1 + }); + + CsRedisManager.StringSet>(redisCode, listHomeRedis); + } + catch { } } + + #endregion return completionSorts1; }); } @@ -10308,7 +10370,7 @@ namespace APT.SC.WebApi.Controllers.Api.BIController List completions = new List(); - BaseFilter baseFilter = new BaseFilter(filter.GetOrgId()); + BaseFilter baseFilter = new BaseFilter(orgId); baseFilter.IgnoreDataRule = true; var startTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-01 00:00:00"); var endTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + " 23:59:59"); @@ -11860,7 +11922,8 @@ namespace APT.SC.WebApi.Controllers.Api.BIController /// /// 存储信息 /// - public List result { get; set; } + public List result { get; set; } + public List deptResult { get; set; } } /// /// 系统运行情况报表 From 3480fe9c111358fce4038b17cf07a53ba983289c 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: Wed, 22 Jul 2026 10:03:38 +0800 Subject: [PATCH 06/10] orgid --- APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs index b97eee3..2d18458 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs @@ -251,9 +251,9 @@ namespace APT.PP.WebApi.Controllers.Api.PP { try { - var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId; + //var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId; List completions = new List(); - BaseFilter baseFilter = new BaseFilter(orgId); + BaseFilter baseFilter = new BaseFilter(filter.OrgId); var startTime = Convert.ToDateTime(DateTime.Now.AddMonths(-5).Year + "-" + DateTime.Now.AddMonths(-5).Month + "-01 00:00:00"); var endTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + " 23:59:59"); baseFilter.SelectField = new string[] { "ID", "NAME", "DEPARTMENT_TYPE", "Nav_Parent.NAME", "PARENT_ID" }; From 4bd5d05c4d10a34f682957661fff2243ec634ef0 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: Wed, 22 Jul 2026 15:35:54 +0800 Subject: [PATCH 07/10] orgid --- APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs index 2d18458..61f81b2 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs @@ -253,7 +253,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP { //var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId; List completions = new List(); - BaseFilter baseFilter = new BaseFilter(filter.OrgId); + BaseFilter baseFilter = new BaseFilter(filter.GetOrgId()); var startTime = Convert.ToDateTime(DateTime.Now.AddMonths(-5).Year + "-" + DateTime.Now.AddMonths(-5).Month + "-01 00:00:00"); var endTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + " 23:59:59"); baseFilter.SelectField = new string[] { "ID", "NAME", "DEPARTMENT_TYPE", "Nav_Parent.NAME", "PARENT_ID" }; From b4180c52c33692287a8f4cd6a6d8203e06dfa889 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: Wed, 22 Jul 2026 17:24:32 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=E5=85=B3=E8=81=94=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../APT.FO.WebApi/Controllers/TechDisclosureFromController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/APT.MicroApi/APT.FO.WebApi/Controllers/TechDisclosureFromController.cs b/APT.MicroApi/APT.FO.WebApi/Controllers/TechDisclosureFromController.cs index afa1bf4..3fa2d9b 100644 --- a/APT.MicroApi/APT.FO.WebApi/Controllers/TechDisclosureFromController.cs +++ b/APT.MicroApi/APT.FO.WebApi/Controllers/TechDisclosureFromController.cs @@ -68,7 +68,7 @@ namespace APT.FO.WebApi.Controllers var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString(); if (string.IsNullOrEmpty(id)) this.ThrowError("060010"); - var entity = this.GetEntity(id, "Nav_OperationStep", "Nav_JobName", "Nav_JobNameOut", "Nav_DisclosurePerson", "Nav_Files.Nav_ImgFile"); + var entity = this.GetEntity(id, "Nav_OperationStep", "Nav_JobName", "Nav_JobNameOut", "Nav_DisclosurePerson", "Nav_Files.Nav_ImgFile", "Nav_FireJob"); if (entity != null) { var newFilter = new BaseFilter(filter.OrgId); From b99368bab63155fd16dc2d4a3c5f295ea2d84660 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: Wed, 22 Jul 2026 17:59:15 +0800 Subject: [PATCH 09/10] =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BIStatiscialAnalysisController.cs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) 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 d885048..a69b039 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs @@ -10363,13 +10363,16 @@ namespace APT.SC.WebApi.Controllers.Api.BIController { return completionSorts; } - + else + { + completionSorts = new List(); + } #endregion - - #region 获取数据 - - - List completions = new List(); + + #region 获取数据 + + + List completions = new List(); BaseFilter baseFilter = new BaseFilter(orgId); baseFilter.IgnoreDataRule = true; var startTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-01 00:00:00"); From 41589508f78ac9688bc5dfd8a72b7cf6157efe10 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: Wed, 22 Jul 2026 18:06:10 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BIStatiscialAnalysisController.cs | 439 +++++++++++++++++- 1 file changed, 436 insertions(+), 3 deletions(-) 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 a69b039..a3f3a06 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs @@ -9735,7 +9735,7 @@ namespace APT.SC.WebApi.Controllers.Api.BIController baseFilter.SelectField = new string[] { "ID", "DEPARTMENT_ID" }; //var teams = GetEntities(t => !t.IS_DELETED && departmentIds.Contains(t.DEPARTMENT_ID.Value), baseFilter); //var teamIds = teams.Select(t => t.ID); - var completions = GetEntities(t => !t.IS_DELETED, new BaseFilter(orgId)).ToList(); + var completions = GetClassCompletion(orgId);// GetEntities(t => !t.IS_DELETED, new BaseFilter(orgId)).ToList(); //var teamIds = completions.Select(t => t.TEAM_ID); if (!string.IsNullOrEmpty(filter.Parameter2)) { @@ -9850,7 +9850,7 @@ namespace APT.SC.WebApi.Controllers.Api.BIController //if (string.IsNullOrEmpty(filter.Keyword)) // return ret; //var departmentInfo = this.GetEntities(t => t.PRODUCTION_UNIT_ID == Guid.Parse(filter.Keyword.ToString()), new BaseFilter(orgId)); - var completions = GetEntities(t => !t.IS_DELETED, new BaseFilter(orgId)).ToList(); + var completions = GetClassCompletion(orgId);//GetEntities(t => !t.IS_DELETED, new BaseFilter(orgId)).ToList(); var departmentInfos = this.GetEntities(t => t.ENABLE_STATUS == 0 && t.CATEGORY == FMCATEGORY.ACTURE, new BaseFilter(orgId), "Nav_Parent"); //List listDepBM = new List(); @@ -10005,8 +10005,441 @@ namespace APT.SC.WebApi.Controllers.Api.BIController } return ret; }); + } + + /// + /// 返回所有下级部门节点 + /// + /// + /// + /// + public List GetClassCompletion(Guid orgId) + { + List completions = new List(); + BaseFilter baseFilter = new BaseFilter(orgId); + var startTime = Convert.ToDateTime(DateTime.Now.AddMonths(-5).Year + "-" + DateTime.Now.AddMonths(-5).Month + "-01 00:00:00"); + var endTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + " 23:59:59"); + baseFilter.SelectField = new string[] { "ID", "NAME", "DEPARTMENT_TYPE", "Nav_Parent.NAME", "PARENT_ID" }; + var departments = GetEntities(t => !t.IS_DELETED && t.ENABLE_STATUS == 0, baseFilter); + baseFilter.SelectField = new string[] { "ID", "DEPARTMENT_ID" }; + var teams = GetEntities(t => !t.IS_DELETED && t.ENABLE_STATUS == 0, baseFilter); + baseFilter.SelectField = new string[] { "TEAM_ID", "Nav_Team.NAME", "PRE_MEETING_STATUS", "DEPARTMENT_ID", "OVERTIME", "CREATE_TIME", "Nav_User.DEPARTMENT_ID" }; //指定字段,包括导航属性 + var preShiftMeetingTemp = GetEntities(i => i.CREATE_TIME >= startTime && i.IS_DELETED == false, baseFilter).ToList(); + //baseFilter.SelectField = new string[] { "CLASS_TEAM_ID", "Nav_Team.NAME", "SHIFT_STATUS", "DEPARTMENT_ID", "OVERTIME", "CREATE_TIME", "Nav_Editor.DEPARTMENT_ID" }; //指定字段,包括导航属性 + //var currentShiftTemp = GetEntities(i => i.CREATE_TIME >= startTime && i.IS_DELETED == false, baseFilter).ToList(); + //baseFilter.SelectField = new string[] { "TEAM_ID", "Nav_Team.NAME", "SHIFT_STATUS", "DEPARTMENT_ID", "OVERTIME", "CREATE_TIME" }; //指定字段,包括导航属性 + //var changeShiftTemp = GetEntities(i => i.CREATE_TIME >= startTime && i.IS_DELETED == false, baseFilter).ToList(); + baseFilter.SelectField = new string[] { "TEAM_ID", "Nav_Taem.NAME", "TA_STATUS", "Nav_Taem.DEPARTMENT_ID", "OVERTIME", "CREATE_TIME", "Nav_MainUser.DEPARTMENT_ID" }; //指定字段,包括导航属性 + var teamActivityTemp = GetEntities(i => i.CREATE_TIME >= startTime && i.IS_DELETED == false, baseFilter).ToList(); + for (DateTime i = startTime; i <= endTime; i = i.AddMonths(i.Month - i.Month + 1).AddDays(1 - i.Day)) + { + var monthEnd = Convert.ToDateTime(i.AddMonths(i.Month - i.Month + 1).AddDays(1 - i.Day - 1).ToString().Replace("0:00:00", "23:59:59")); + var preTemp = preShiftMeetingTemp.Where(t => t.CREATE_TIME >= i && t.CREATE_TIME <= monthEnd).ToList(); + foreach (var item in preTemp) + { + if (item.TEAM_ID == null) + { + item.TEAM_ID = item.Nav_User?.DEPARTMENT_ID; + } + else + { + var deparId = teams.FirstOrDefault(t => t.ID == item.TEAM_ID)?.DEPARTMENT_ID; + item.TEAM_ID = deparId; + } + } + var preShiftMeeting = preTemp. + GroupBy(m => new { m.TEAM_ID }). + Select(group => new + { + group.Key.TEAM_ID, + totalCount = group.Count(), + finishCount = group.Where(i => i.PRE_MEETING_STATUS == FOPreMeetingStatusEnum.归档).Count(), + waitingCount = group.Where(i => i.PRE_MEETING_STATUS != FOPreMeetingStatusEnum.归档).Count(), + onTimeCount = group.Where(i => i.PRE_MEETING_STATUS == FOPreMeetingStatusEnum.归档 && i.OVERTIME == FOISOVERTIME.超时).Count(), + overTimeCount = group.Where(i => i.PRE_MEETING_STATUS == FOPreMeetingStatusEnum.归档 && i.OVERTIME == FOISOVERTIME.超时).Count() + }).ToList(); + if (preShiftMeeting.Any()) + { + foreach (var item in preShiftMeeting) + { + //var deparId = teams.FirstOrDefault(t => t.ID == item.Key.TEAM_ID)?.DEPARTMENT_ID; + var departInfo = departments.FirstOrDefault(t => t.ID == item.TEAM_ID); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID); + T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION(); + completion.MONTH = i; + completion.MONTHStr = i.Year + "年" + i.Month + "月"; + completion.TOTAL_COUNT = item.totalCount; + completion.WAITTING_COUNT = item.waitingCount; + completion.FINISH_COUNT = item.finishCount; + completion.ONTIME_COUNT = item.onTimeCount; + completion.OVERTIME_COUNT = item.overTimeCount; + completion.FORM_NAME = "班前会议"; + completion.ORG_ID = orgId; + completion.START_TIME = i; + completion.END_TIME = monthEnd; + if (departInfo != null) + { + //if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5) + //{ + // completion.DEPARTMENT_ID = item.Key.TEAM_ID; + // completion.DEPARTMENT_NAME = item.Key.TeamName; + // completion.SHOP_DEPARTMENT_ID = null; + // completion.SHOP_DEPARTMENT_NAME = null; + // completion.TEAM_ID = null; + // completion.TEAM_NAME = null; + //} + //if (departInfo.DEPARTMENT_TYPE == 15) + //{ + // completion.DEPARTMENT_ID = departInfo?.PARENT_ID; + // completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; + // completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID; + // completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName; + // completion.TEAM_ID = null; + // completion.TEAM_NAME = null; + //} + //if (departInfo.DEPARTMENT_TYPE == 20) + //{ + // completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID; + // completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME; + // completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID; + // completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; + // completion.TEAM_ID = departInfo.ID; + // completion.TEAM_NAME = departInfo.NAME; + //} + completion.DEPARTMENT_ID = departInfo?.PARENT_ID; + completion.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == completion.DEPARTMENT_ID)?.NAME; + completion.TEAM_ID = departInfo?.ID; + completion.TEAM_NAME = departInfo?.NAME; + } + completions.Add(completion); + } + } + else + { + + T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION(); + completion.MONTH = i; + completion.MONTHStr = i.Year + "年" + i.Month + "月"; + completion.TOTAL_COUNT = 0; + completion.WAITTING_COUNT = 0; + completion.FINISH_COUNT = 0; + completion.ONTIME_COUNT = 0; + completion.OVERTIME_COUNT = 0; + completion.FORM_NAME = "班前会议"; + completion.ORG_ID = orgId; + completion.START_TIME = i; + completion.END_TIME = monthEnd; + completions.Add(completion); + } + // var currentTemp = currentShiftTemp.Where(t => t.CREATE_TIME >= i && t.CREATE_TIME <= monthEnd).ToList(); + // foreach (var item in currentTemp) + // { + // if (item.CLASS_TEAM_ID == null) + // { + // item.CLASS_TEAM_ID = item.Nav_Editor?.DEPARTMENT_ID; + // } + // else + // { + // var deparId = teams.FirstOrDefault(t => t.ID == item.CLASS_TEAM_ID)?.DEPARTMENT_ID; + // item.CLASS_TEAM_ID = deparId; + // } + // } + // var currentShift = currentTemp. + // GroupBy(m => new { TEAM_ID = m.CLASS_TEAM_ID }). + //Select(group => new + //{ + // group.Key.TEAM_ID, + // totalCount = group.Count(), + // finishCount = group.Where(i => i.SHIFT_STATUS == (int)FOShiftStatusEnum.归档 || i.SHIFT_STATUS == (int)FOShiftStatusEnum.审批归档).Count(), + // waitingCount = group.Where(i => i.SHIFT_STATUS != (int)FOShiftStatusEnum.归档 && i.SHIFT_STATUS == (int)FOShiftStatusEnum.归档).Count(), + // onTimeCount = group.Where(i => (i.SHIFT_STATUS == (int)FOShiftStatusEnum.归档 || i.SHIFT_STATUS == (int)FOShiftStatusEnum.审批归档) && i.OVERTIME == FOISOVERTIME.未超时).Count(), + // overTimeCount = group.Where(i => (i.SHIFT_STATUS == (int)FOShiftStatusEnum.归档 || i.SHIFT_STATUS == (int)FOShiftStatusEnum.审批归档) && i.OVERTIME == FOISOVERTIME.超时).Count() + //}).ToList(); + // if (currentShift.Any()) + // { + // foreach (var item in currentShift) + // { + // //var deparId = teams.FirstOrDefault(t => t.ID == item.Key.CLASS_TEAM_ID)?.DEPARTMENT_ID; + // var departInfo = departments.FirstOrDefault(t => t.ID == item.TEAM_ID); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID); + // T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION(); + // //completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID; + // //completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME; + // //completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID; + // //completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; + // completion.MONTH = i; + // completion.MONTHStr = i.Year + "年" + i.Month + "月"; + // //completion.TEAM_ID = item.Key.CLASS_TEAM_ID; + // //completion.TEAM_NAME = item.Key.TeamName; + // completion.TOTAL_COUNT = item.totalCount; + // completion.WAITTING_COUNT = item.waitingCount; + // completion.FINISH_COUNT = item.finishCount; + // completion.ONTIME_COUNT = item.onTimeCount; + // completion.OVERTIME_COUNT = item.overTimeCount; + // completion.FORM_NAME = "岗位当班"; + // completion.ORG_ID = filter.GetOrgId(); + // completion.START_TIME = i; + // completion.END_TIME = monthEnd; + // if (departInfo != null) + // { + // //if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5) + // //{ + // // completion.DEPARTMENT_ID = item.Key.CLASS_TEAM_ID; + // // completion.DEPARTMENT_NAME = item.Key.TeamName; + // // completion.SHOP_DEPARTMENT_ID = null; + // // completion.SHOP_DEPARTMENT_NAME = null; + // // completion.TEAM_ID = null; + // // completion.TEAM_NAME = null; + // //} + // //if (departInfo.DEPARTMENT_TYPE == 15) + // //{ + // // completion.DEPARTMENT_ID = departInfo?.PARENT_ID; + // // completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; + // // completion.SHOP_DEPARTMENT_ID = item.Key.CLASS_TEAM_ID; + // // completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName; + // // completion.TEAM_ID = null; + // // completion.TEAM_NAME = null; + // //} + // //if (departInfo.DEPARTMENT_TYPE == 20) + // //{ + // // completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID; + // // completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME; + // // completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID; + // // completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; + // // completion.TEAM_ID = departInfo.ID; + // // completion.TEAM_NAME = departInfo.NAME; + // //} + // completion.DEPARTMENT_ID = departInfo?.PARENT_ID; + // completion.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == completion.DEPARTMENT_ID)?.NAME; + // completion.TEAM_ID = departInfo?.ID; + // completion.TEAM_NAME = departInfo?.NAME; + // } + // completions.Add(completion); + // } + // } + // else + // { + + // T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION(); + // completion.MONTH = i; + // completion.MONTHStr = i.Year + "年" + i.Month + "月"; + // completion.TOTAL_COUNT = 0; + // completion.WAITTING_COUNT = 0; + // completion.FINISH_COUNT = 0; + // completion.ONTIME_COUNT = 0; + // completion.OVERTIME_COUNT = 0; + // completion.FORM_NAME = "岗位当班"; + // completion.ORG_ID = filter.GetOrgId(); + // completion.START_TIME = i; + // completion.END_TIME = monthEnd; + // completions.Add(completion); + // } + // var changeTemp = changeShiftTemp.Where(t => t.CREATE_TIME >= i && t.CREATE_TIME <= monthEnd).ToList(); + // foreach (var item in changeTemp) + // { + // if (item.TEAM_ID == null) + // { + // item.TEAM_ID = item.DEPARTMENT_ID; + // } + // else + // { + // var deparId = teams.FirstOrDefault(t => t.ID == item.TEAM_ID)?.DEPARTMENT_ID; + // item.TEAM_ID = deparId; + // } + // } + // var changeShift = changeTemp. + // GroupBy(m => new { m.TEAM_ID }). + // Select(group => new + // { + // group.Key.TEAM_ID, + // totalCount = group.Count(), + // finishCount = group.Where(i => i.SHIFT_STATUS == (int)FOChangeShiftStatusEnum.归档).Count(), + // waitingCount = group.Where(i => i.SHIFT_STATUS != (int)FOChangeShiftStatusEnum.归档).Count(), + // onTimeCount = group.Where(i => i.SHIFT_STATUS == (int)FOChangeShiftStatusEnum.归档 && i.OVERTIME == FOISOVERTIME.未超时).Count(), + // overTimeCount = group.Where(i => i.SHIFT_STATUS == (int)FOChangeShiftStatusEnum.归档 && i.OVERTIME == FOISOVERTIME.超时).Count() + // }).ToList(); + // if (changeShift.Any()) + // { + // foreach (var item in changeShift) + // { + // var departInfo = departments.FirstOrDefault(t => t.ID == item.TEAM_ID); + // //var departInfo = departments.FirstOrDefault(t => t.ID == deparId); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID); + // T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION(); + // //completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID; + // //completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME; + // //completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID; + // //completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; + // completion.MONTH = i; + // completion.MONTHStr = i.Year + "年" + i.Month + "月"; + // //completion.TEAM_ID = item.Key.TEAM_ID; + // //completion.TEAM_NAME = item.Key.TeamName; + // completion.TOTAL_COUNT = item.totalCount; + // completion.WAITTING_COUNT = item.waitingCount; + // completion.FINISH_COUNT = item.finishCount; + // completion.ONTIME_COUNT = item.onTimeCount; + // completion.OVERTIME_COUNT = item.overTimeCount; + // completion.FORM_NAME = "岗位交接班"; + // completion.ORG_ID = filter.GetOrgId(); + // completion.START_TIME = i; + // completion.END_TIME = monthEnd; + // if (departInfo != null) + // { + // //if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5) + // //{ + // // completion.DEPARTMENT_ID = item.Key.TEAM_ID; + // // completion.DEPARTMENT_NAME = item.Key.TeamName; + // // completion.SHOP_DEPARTMENT_ID = null; + // // completion.SHOP_DEPARTMENT_NAME = null; + // // completion.TEAM_ID = null; + // // completion.TEAM_NAME = null; + // //} + // //if (departInfo.DEPARTMENT_TYPE == 15) + // //{ + // // completion.DEPARTMENT_ID = departInfo?.PARENT_ID; + // // completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; + // // completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID; + // // completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName; + // // completion.TEAM_ID = null; + // // completion.TEAM_NAME = null; + // //} + // //if (departInfo.DEPARTMENT_TYPE == 20) + // //{ + // // completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID; + // // completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME; + // // completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID; + // // completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; + // // completion.TEAM_ID = departInfo.ID; + // // completion.TEAM_NAME = departInfo.NAME; + // //} + // completion.DEPARTMENT_ID = departInfo?.PARENT_ID; + // completion.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == completion.DEPARTMENT_ID)?.NAME; + // completion.TEAM_ID = departInfo?.ID; + // completion.TEAM_NAME = departInfo?.NAME; + // } + // completions.Add(completion); + // } + // } + // else + // { + + // T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION(); + // completion.MONTH = i; + // completion.MONTHStr = i.Year + "年" + i.Month + "月"; + // completion.TOTAL_COUNT = 0; + // completion.WAITTING_COUNT = 0; + // completion.FINISH_COUNT = 0; + // completion.ONTIME_COUNT = 0; + // completion.OVERTIME_COUNT = 0; + // completion.FORM_NAME = "岗位交接班"; + // completion.ORG_ID = filter.GetOrgId(); + // completion.START_TIME = i; + // completion.END_TIME = monthEnd; + // completions.Add(completion); + // } + + var teamTemp = teamActivityTemp.Where(t => t.CREATE_TIME >= i && t.CREATE_TIME <= monthEnd).ToList(); + foreach (var item in teamTemp) + { + if (item.TEAM_ID == null) + { + item.TEAM_ID = item.Nav_MainUser?.DEPARTMENT_ID; + } + else + { + var deparId = teams.FirstOrDefault(t => t.ID == item.TEAM_ID)?.DEPARTMENT_ID; + item.TEAM_ID = deparId; + } + } + var teamActivity = teamTemp. + GroupBy(m => new { m.TEAM_ID }). + Select(group => new + { + group.Key.TEAM_ID, + totalCount = group.Count(), + finishCount = group.Where(i => i.TA_STATUS == (int)FOTeamActivityState.已归档).Count(), + waitingCount = group.Where(i => i.TA_STATUS != (int)FOTeamActivityState.已归档).Count(), + onTimeCount = group.Where(i => i.TA_STATUS == (int)FOTeamActivityState.已归档 && i.OVERTIME == FOISOVERTIME.未超时).Count(), + overTimeCount = group.Where(i => i.TA_STATUS == (int)FOTeamActivityState.已归档 && i.OVERTIME == FOISOVERTIME.超时).Count() + }).ToList(); + if (teamActivity.Any()) + { + foreach (var item in teamActivity) + { + //var deparId = teams.FirstOrDefault(t => t.ID == item.Key.TEAM_ID)?.DEPARTMENT_ID; + var departInfo = departments.FirstOrDefault(t => t.ID == item.TEAM_ID); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID); + T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION(); + //completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID; + //completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME; + //completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID; + //completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; + completion.MONTH = i; + completion.MONTHStr = i.Year + "年" + i.Month + "月"; + //completion.TEAM_ID = item.Key.TEAM_ID; + //completion.TEAM_NAME = item.Key.TeamName; + completion.TOTAL_COUNT = item.totalCount; + completion.WAITTING_COUNT = item.waitingCount; + completion.FINISH_COUNT = item.finishCount; + completion.ONTIME_COUNT = item.onTimeCount; + completion.OVERTIME_COUNT = item.overTimeCount; + completion.FORM_NAME = "班组安全活动记录"; + completion.ORG_ID = orgId; + completion.START_TIME = i; + completion.END_TIME = monthEnd; + if (departInfo != null) + { + //if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5) + //{ + // completion.DEPARTMENT_ID = item.Key.TEAM_ID; + // completion.DEPARTMENT_NAME = item.Key.TeamName; + // completion.SHOP_DEPARTMENT_ID = null; + // completion.SHOP_DEPARTMENT_NAME = null; + // completion.TEAM_ID = null; + // completion.TEAM_NAME = null; + //} + //if (departInfo.DEPARTMENT_TYPE == 15) + //{ + // completion.DEPARTMENT_ID = departInfo?.PARENT_ID; + // completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; + // completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID; + // completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName; + // completion.TEAM_ID = null; + // completion.TEAM_NAME = null; + //} + //if (departInfo.DEPARTMENT_TYPE == 20) + //{ + // completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID; + // completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME; + // completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID; + // completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; + // completion.TEAM_ID = departInfo.ID; + // completion.TEAM_NAME = departInfo.NAME; + //} + completion.DEPARTMENT_ID = departInfo?.PARENT_ID; + completion.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == completion.DEPARTMENT_ID)?.NAME; + completion.TEAM_ID = departInfo?.ID; + completion.TEAM_NAME = departInfo?.NAME; + } + completions.Add(completion); + } + } + else + { + + T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION(); + completion.MONTH = i; + completion.MONTHStr = i.Year + "年" + i.Month + "月"; + completion.TOTAL_COUNT = 0; + completion.WAITTING_COUNT = 0; + completion.FINISH_COUNT = 0; + completion.ONTIME_COUNT = 0; + completion.OVERTIME_COUNT = 0; + completion.FORM_NAME = "班组安全活动记录"; + completion.ORG_ID = orgId; + completion.START_TIME = i; + completion.END_TIME = monthEnd; + completions.Add(completion); + } + } + return completions; } - /// /// 首页工作票完成数前八 ///