From 7e97388e44c4a7f97079604998aed7153ecd84eb 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: Thu, 16 Jul 2026 18:28:33 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Api/FMController.cs | 412 +++++++++--------- .../Api/BIController/BIHomeController.cs | 84 ++-- .../BIStatiscialAnalysisController.cs | 50 ++- 3 files changed, 278 insertions(+), 268 deletions(-) diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs index c1cba44..42c0260 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs @@ -261,10 +261,10 @@ namespace APT.PP.WebApi.Controllers.Api.PP 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[] { "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)) @@ -366,210 +366,210 @@ namespace APT.PP.WebApi.Controllers.Api.PP 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 - { + // 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 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); - } + // 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) 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 22e118f..cc334a6 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIHomeController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIHomeController.cs @@ -15,6 +15,7 @@ using APT.SC.WebApi.Controllers.Api.BIController; using APT.Utility; using log4net.Core; using Microsoft.AspNetCore.Mvc; +using NPOI.OpenXmlFormats.Shared; using NPOI.POIFS.Properties; using NPOI.SS.Formula.Functions; using Org.BouncyCastle.Utilities; @@ -1346,7 +1347,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI var monthEnd = Convert.ToDateTime(monthStart.AddMonths(1).AddDays(-1).ToString().Replace("0:00:00", "23:59:59")); if (i.Date <= startTime.Date) { - monthStart = startTime; + monthStart = currentTime; } if (i.Date >= dtNow.Date) { @@ -1520,7 +1521,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI var checkNotices = GetEntities(e => e.APPLY_DEPARTMENT_ID.HasValue && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == dtNow.Year && e.Nav_CheckType!=null && !e.Nav_CheckType.NAME.Contains("岗位排查"), newFilter); var checkIds = checkNotices.Select(t => t.CHECK_TYPE_ID).Distinct().ToList(); //var loginDepart = this.GetEntity(t => t.ID == APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID); - var listCheckType = GetEntities(e => checkIds.Contains(e.ID), null, "Nav_ProductionUnit").ToList(); + var listCheckType = GetEntities(e => checkIds.Contains(e.ID), null, "Nav_ProductionUnit").OrderBy(t => t.PRODUCTION_UNIT_ID).ToList(); //if (loginDepart != null) //{ // listCheckType = listCheckType.Where(t => t.PRODUCTION_UNIT_ID == loginDepart.PRODUCTION_UNIT_ID).ToList(); @@ -1560,13 +1561,13 @@ namespace APT.SC.WebApi.Controllers.Api.BI var monthEnd = Convert.ToDateTime(monthStart.AddMonths(1).AddDays(-1).ToString().Replace("0:00:00", "23:59:59")); if (i.Date <= startTime.Date) { - monthStart = startTime; + monthStart = currentTime; } if (i.Date >= dtNow.Date) { monthEnd = dtNow; } - var listPerChearch = checkNotices.Where(t => t.CREATE_TIME >= monthStart && t.CREATE_TIME <= monthEnd); + var listPerChearch = checkNotices.Where(t => t.CREATE_TIME >= monthStart && t.CREATE_TIME <= monthEnd).ToList(); HomeSafeCheckCountMonth modelper = new HomeSafeCheckCountMonth(); modelper.Total = listPerChearch.Count(); modelper.listSOURCENAME = listCheckTypeNAME; @@ -2296,16 +2297,16 @@ namespace APT.SC.WebApi.Controllers.Api.BI //int MineType = int.Parse(filter.Keyword); var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId; BaseFilter filterD = new BaseFilter(orgId); - filterD.SelectField = new List { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID" }; + filterD.SelectField = new List { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID","NUM", "DEPARTMENT_STATUS" }; - var listDep1MineType = GetEntities(t => t.ENABLE_STATUS == 0, filterD, null); + var listDep1MineType = GetEntities(t => t.ENABLE_STATUS == 0 && t.CATEGORY == FMCATEGORY.ACTURE, filterD, null); //FMDepartmentType 部门=0, 车间=1, 班组=2, 公司=3 if (listDep1MineType == null || !listDep1MineType.Any()) { return result; } - List listDepIDCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 15).Select(e => e.ID).ToList();//车间ID 用于 统计 每个月各类型的检查数量 + //List listDepIDCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 15).Select(e => e.ID).ToList();//车间ID 用于 统计 每个月各类型的检查数量 DateTime dtNow = DateTime.Now; List listDepCJ = new List(); @@ -2313,7 +2314,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI //List listDepBM = new List(); //listDepBM = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 10 || e.DEPARTMENT_STATUS == 2).OrderBy(e => e.NUM).ToList(); listDepCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 10 || e.DEPARTMENT_STATUS == 2).OrderBy(e => e.NUM).ToList(); - listDepBZ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 15 ||e.DEPARTMENT_TYPE == 20).OrderBy(e => e.NUM).ToList(); + listDepBZ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 15 ||e.DEPARTMENT_TYPE == 20).OrderBy(t => t.DEPARTMENT_TYPE).ThenBy(e => e.NUM).ToList(); //T_FM_ENUMS enums = null; var loginDepart = this.GetEntity(t => t.ID == APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID); #region 月度 12 个月 安全检查、检查类型 数量 @@ -2376,7 +2377,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI // } //} - var listCheckType = GetEntities(e => listCheckTypeIDT.Contains(e.ID), null, "Nav_ProductionUnit").ToList(); + var listCheckType = GetEntities(e => listCheckTypeIDT.Contains(e.ID), null, "Nav_ProductionUnit").OrderBy(t=>t.PRODUCTION_UNIT_ID).ToList(); //if (loginDepart != null) //{ // listCheckType = listCheckType.Where(t => t.PRODUCTION_UNIT_ID == loginDepart.PRODUCTION_UNIT_ID).ToList(); @@ -2419,7 +2420,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI var monthEnd = Convert.ToDateTime(monthStart.AddMonths(1).AddDays(-1).ToString().Replace("0:00:00", "23:59:59")); if (i.Date <= startTime.Date) { - monthStart = startTime; + monthStart = currentTime; } if (i.Date >= dtNow.Date) { @@ -2496,11 +2497,11 @@ namespace APT.SC.WebApi.Controllers.Api.BI parentIds.Add(item.ID); List allIds = new List(); GetDepartmentIds(orgId.Value, parentIds, ref allIds); - var parentIdsx = listDep1MineType.Where(e => allIds.Contains(e.ID) && e.ID != item.ID).Select(t => t.ID).ToList(); - var alls = checkNotices.Where(t => t.APPLY_DEPARTMENT_ID == item.ID || parentIdsx.Contains((Guid)t.APPLY_DEPARTMENT_ID)).ToList(); + //var parentIdsx = listDep1MineType.Where(e => allIds.Contains(e.ID) && e.ID != item.ID).Select(t => t.ID).ToList(); + var alls = checkNotices.Where(t =>t.APPLY_DEPARTMENT_ID == item.ID || allIds.Contains((Guid)t.APPLY_DEPARTMENT_ID)).ToList(); if (alls.Count() > 0) { - var idsx=alls.Where(e => e.APPLY_DEPARTMENT_ID != item.ID).Select(m => m.APPLY_DEPARTMENT_ID).Distinct().ToList(); + //var idsx=alls.Where(e => e.APPLY_DEPARTMENT_ID != item.ID).Select(m => m.APPLY_DEPARTMENT_ID).Distinct().ToList(); modelCountDep = new DetailSafeCheckCountDepartment(); modelCountDep.listName = listName; modelCountDep.PARENT_ID = item.PARENT_ID.Value; @@ -2560,10 +2561,10 @@ namespace APT.SC.WebApi.Controllers.Api.BI // item.RowCount = item.listChild.Count(); //} //if (item.DepartmentType == 15) - var parentIds = listCheckDepCountBZ.Where(e => e.PARENT_ID == item.Department_ID).Select(t => t.Department_ID); - - item.listChild = listCheckDepCountBZ.Where(e => e.PARENT_ID == item.Department_ID || parentIds.Contains(e.PARENT_ID)).OrderBy(e => e.NUM).ToList(); - item.RowCount = item.listChild.Count(); + 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(); } @@ -2576,13 +2577,24 @@ namespace APT.SC.WebApi.Controllers.Api.BI int allIndex = 0; foreach (var item in listCheckDepCountCJ) { - foreach (var itemC in item.listChild) + if (item.listChild.Count() == 0) { allIndex++; - itemC.NUM = allIndex; - itemC.Parent = item; - ListSafeCheckYearMonthLast.Add(itemC); + item.NUM = allIndex; + item.Parent = item; + ListSafeCheckYearMonthLast.Add(item); } + else + { + foreach (var itemC in item.listChild) + { + allIndex++; + itemC.NUM = allIndex; + itemC.Parent = item; + ListSafeCheckYearMonthLast.Add(itemC); + } + } + } result.ListSafeCheckCountDepartment = ListSafeCheckYearMonthLast; @@ -2608,7 +2620,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI //int MineType = int.Parse(filter.Keyword); var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId; BaseFilter filterD = new BaseFilter(orgId); - filterD.SelectField = new List { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID" }; + filterD.SelectField = new List { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID", "NUM" , "DEPARTMENT_STATUS" }; ///部门 //var listDep1MineTypeSum = GetEntities(t => t.MineType.HasValue && t.MineType == MineType && t.DEPARTMENT_TYPE == 10, filterD, null); @@ -2626,7 +2638,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI List listDepBZ = new List(); listDepCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 10 || e.DEPARTMENT_STATUS==2).OrderBy(e => e.NUM).ToList(); - listDepBZ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 15 || e.DEPARTMENT_TYPE == 20).OrderBy(e => e.NUM).ToList(); + listDepBZ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 15 || e.DEPARTMENT_TYPE == 20).OrderBy(t=>t.DEPARTMENT_TYPE).ThenBy(e => e.NUM).ToList(); #region //月度 隐患整改情况 @@ -2654,7 +2666,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI var monthEnd = Convert.ToDateTime(monthStart.AddMonths(1).AddDays(-1).ToString().Replace("0:00:00", "23:59:59")); if (i.Date <= startTime.Date) { - monthStart = startTime; + monthStart = currentTime; } if (i.Date >= dtNow.Date) { @@ -2818,8 +2830,8 @@ namespace APT.SC.WebApi.Controllers.Api.BI parentIds.Add(item.ID); List allIds = new List(); GetDepartmentIds(orgId.Value, parentIds, ref allIds); - var parentIdsx = listDep1MineType.Where(e => allIds.Contains(e.ID) && e.ID != item.ID).Select(t => t.ID).ToList(); - var alls = hiddens.Where(t => t.APPLY_DEPARTMENT_ID == item.ID || parentIdsx.Contains((Guid)t.APPLY_DEPARTMENT_ID)).ToList(); + //var parentIdsx = listDep1MineType.Where(e => allIds.Contains(e.ID) && e.ID != item.ID).Select(t => t.ID).ToList(); + var alls = hiddens.Where(t => t.APPLY_DEPARTMENT_ID == item.ID || allIds.Contains((Guid)t.APPLY_DEPARTMENT_ID)).ToList(); //var classIds = listDepBZ.Where(e => e.PARENT_ID.HasValue && e.PARENT_ID.Value == item.ID).Select(t => t.ID); //var alls = hiddens.Where(t => t.APPLY_DEPARTMENT_ID == item.ID || classIds.Contains((Guid)t.APPLY_DEPARTMENT_ID)); if (alls.Count() > 0) @@ -2948,21 +2960,13 @@ namespace APT.SC.WebApi.Controllers.Api.BI //listCheckDepCountBZ = listCheckDepCountBZ.Where(t => t.TotalCount != 0).ToList(); foreach (var item in listCheckDepCountCJ) { - var parentIds = listCheckDepCountBZ.Where(e => e.PARENT_ID == item.Department_ID).Select(t => t.Department_ID); - item.listChild = listCheckDepCountBZ.Where(e => e.PARENT_ID == item.Department_ID || parentIds.Contains(e.PARENT_ID)).OrderBy(e => e.NUM).ToList(); - //item.listChild = listCheckDepCountBZ.Where(e => e.PARENT_ID == item.Department_ID).OrderBy(e => e.NUM).ToList(); - //item.listCount = new List(); - //var onTime = item.listChild.Sum(t => t.OnCount) + item.OnCount; - //item.listCount.Add(onTime); - //var overTime = item.listChild.Sum(t => t.OverCount) + item.OverCount; - //item.listCount.Add(overTime); - //var noTime = item.listChild.Sum(t => t.NoCount) + item.NoCount; - //item.listCount.Add(noTime); - //var val = onTime + overTime; - //var count = item.TotalCount; - //var rate = count == 0 ? 0 : (int)(10000.00 * val / count); - //item.listCount.Add(rate); + 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(); + //var parentIds = listCheckDepCountBZ.Where(e => e.PARENT_ID == item.Department_ID).Select(t => t.Department_ID); + //item.listChild = listCheckDepCountBZ.Where(e => e.PARENT_ID == item.Department_ID || parentIds.Contains(e.PARENT_ID)).OrderBy(t=>t.DepartmentType).ThenBy(e => e.NUM).ToList(); + //item.RowCount = item.listChild.Count(); } //result.ListSafeCheckYearMonth = listCheckDepCountCJ; 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 ae5646f..43377f2 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs @@ -134,7 +134,9 @@ namespace APT.SC.WebApi.Controllers.Api.BIController public double teamDoneRate { get; set; } public double teamOverDoneRate { get; set; } public string month { get; set; } - public string name { get; set; } + public string name { get; set; } + public int deptType { get; set; } + public int num { get; set; } } public class LoginInfo { @@ -9702,7 +9704,7 @@ namespace APT.SC.WebApi.Controllers.Api.BIController } else { - var startTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-01 00:00:00"); + var startTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.AddMonths(-5).Month + "-01 00:00:00"); completions = completions.Where(t => t.MONTH >= startTime).ToList(); } if (!string.IsNullOrEmpty(filter.Parameter3)) @@ -9857,14 +9859,14 @@ namespace APT.SC.WebApi.Controllers.Api.BIController // completionLists.Add(completionSort); // } //} - var classIds = departmentInfos.Where(t => t.DEPARTMENT_TYPE == 15 || t.DEPARTMENT_TYPE == 20).ToList(); + var classIds = departmentInfos.Where(t => t.DEPARTMENT_TYPE == 15 || t.DEPARTMENT_TYPE == 20).OrderBy(m=>m.DEPARTMENT_TYPE).ThenBy(n=>n.NUM).ToList(); if (classIds != null && classIds.Any()) { foreach (var item in classIds) { if (!string.IsNullOrEmpty(item.NAME)) { - var coms = completions.Where(t => t.DEPARTMENT_ID != null && t.DEPARTMENT_ID == item.ID).ToList(); + var coms = completions.Where(t => t.TEAM_ID != null && t.TEAM_ID == item.ID).ToList(); GroupbyDepartmentCompletion completionSort = new GroupbyDepartmentCompletion(); completionSort.teamId = item.ID; completionSort.teamName = item.NAME; @@ -9909,9 +9911,10 @@ namespace APT.SC.WebApi.Controllers.Api.BIController // } // else { - item.shopDoneCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamDoneCount); - item.shopOntimeCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamOntimeCount); - item.shopTotalCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamTotalCount); + var coms = completions.Where(i => i.DEPARTMENT_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); if (item.shopTotalCount == 0) { item.shopDoneRate = 0; @@ -10357,19 +10360,19 @@ namespace APT.SC.WebApi.Controllers.Api.BIController //departmentIds.AddRange(classIds); var departmentInfos = this.GetEntities(t => t.ENABLE_STATUS == 0 && t.CATEGORY == FMCATEGORY.ACTURE, new BaseFilter(orgId)); var departmentIds = departmentInfos.Where(t => t.DEPARTMENT_TYPE == 10 || t.DEPARTMENT_STATUS == 2).ToList(); - if (departmentIds != null && departmentIds.Any()) - { - foreach (var item in departmentIds) - { - List parentIds = new List(); - parentIds.Add(item.ID); - List allIds = new List(); - GetDepartmentIds(orgId, parentIds, ref allIds); - var coms = jobs.Where(t => t.DEPARTMENT_ID != null && allIds.Contains((Guid)t.DEPARTMENT_ID)).ToList(); + if (departmentIds != null && departmentIds.Any()) + { + foreach (var item in departmentIds) + { + List parentIds = new List(); + parentIds.Add(item.ID); + List allIds = new List(); + GetDepartmentIds(orgId, parentIds, ref allIds); + var coms = jobs.Where(t => t.DEPARTMENT_ID != null && (t.DEPARTMENT_ID == item.ID || allIds.Contains((Guid)t.DEPARTMENT_ID)) ).ToList(); T_FM_WORK_TICKET_COMPLETION completionSort = new T_FM_WORK_TICKET_COMPLETION(); completionSort.TEAM_ID = item.ID; completionSort.TEAM_NAME = item.NAME; - completionSort.FINISH_COUNT = coms.Count(t=>t.IS_PUBLISH == 5); + completionSort.FINISH_COUNT = coms.Count(t=>t.IS_PUBLISH == 5 && t.IS_OVERTIME == 0); completionSort.OVER_FINISH_COUNT = coms.Count(t => t.IS_PUBLISH == 5 && t.IS_OVERTIME == 1); completionSort.TOTAL_COUNT = coms.Count(); completionSort.WAITTING_COUNT = coms.Count(t => t.IS_PUBLISH != 5); @@ -10834,7 +10837,7 @@ namespace APT.SC.WebApi.Controllers.Api.BIController // completionLists.Add(completionSort); // } //} - var classIds = departmentInfos.Where(t => t.DEPARTMENT_TYPE == 15 || t.DEPARTMENT_TYPE == 20).ToList(); + var classIds = departmentInfos.Where(t => t.DEPARTMENT_TYPE == 15 || t.DEPARTMENT_TYPE == 20).OrderBy(m=>m.DEPARTMENT_TYPE).ThenBy(n=>n.NUM).ToList(); if (classIds != null && classIds.Any()) { foreach (var item in classIds) @@ -10863,6 +10866,8 @@ namespace APT.SC.WebApi.Controllers.Api.BIController completionSort.shopName = parentInfo.NAME; } } + completionSort.deptType = item.DEPARTMENT_TYPE; + completionSort.num = item.NUM; completionSort.teamDoneCount = coms.Count(t => t.IS_PUBLISH == 5); completionSort.teamOntimeCount = coms.Count(t => t.IS_PUBLISH == 5 && t.IS_OVERTIME == 0); completionSort.teamTotalCount = coms.Count(); @@ -10911,9 +10916,10 @@ namespace APT.SC.WebApi.Controllers.Api.BIController //{ // item.teamName = item.shopName; //} - item.shopDoneCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamDoneCount); - item.shopOntimeCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamOntimeCount); - item.shopTotalCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamTotalCount); + var coms = jobs.Where(i => i.DEPARTMENT_ID == item.shopId); + item.shopDoneCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamDoneCount)+ coms.Count(t=>t.IS_PUBLISH==5); + item.shopOntimeCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamOntimeCount)+coms.Count(t => t.IS_PUBLISH == 5 && t.IS_OVERTIME==0); + item.shopTotalCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamTotalCount)+ coms.Count(); //if (item.deptTotalCount == 0) //{ @@ -10949,7 +10955,7 @@ namespace APT.SC.WebApi.Controllers.Api.BIController } } - ret.retData = result.OrderBy(t => t.shopName).ThenByDescending(m => m.teamOverDoneRate).ToList(); + ret.retData = result.OrderBy(t=>t.shopName).ThenBy(t => t.deptType).ThenBy(m => m.num).ToList(); } return ret; });