From a5eed05199fd84eb15c3b882ce4a0d820729daf7 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, 27 Jul 2026 12:11:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Api/BIController/BIHomeController.cs | 9 +- .../BIStatiscialAnalysisController.cs | 171 +++++++++++------- 2 files changed, 110 insertions(+), 70 deletions(-) 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 ee8c83d..87fe789 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIHomeController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIHomeController.cs @@ -1519,7 +1519,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 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").OrderBy(t => t.PRODUCTION_UNIT_ID).ToList(); @@ -2349,8 +2349,9 @@ namespace APT.SC.WebApi.Controllers.Api.BI newFilter.IgnoreDataRule = true; 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 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.APPLY_DEPARTMENT_ID.HasValue && e.CREATE_TIME.HasValue && e.CREATE_TIME >= startTime && e.Nav_CheckType != null && !e.Nav_CheckType.NAME.Contains("岗位排查"), newFilter); var currentTime = Convert.ToDateTime(startTime.Year + "-" + startTime.Month + "-01 00:00:00"); List ListSafeCheckYearMonth = new List(); //int befoMonth = 11;//计算 12 个月 就是提前 11个月 @@ -2427,7 +2428,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI { monthEnd = dtNow; } - var listPerChearch = checkNotices.Where(t => t.CREATE_TIME >= monthStart && t.CREATE_TIME <= monthEnd); + var listPerChearch = checkRecords.Where(t => t.CREATE_TIME >= monthStart && t.CREATE_TIME <= monthEnd); HomeSafeCheckCountMonth modelper = new HomeSafeCheckCountMonth(); modelper.Total = listPerChearch.Count(); modelper.listSOURCENAME = listCheckTypeNAME; 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 ef81e14..6626364 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs @@ -8983,25 +8983,32 @@ namespace APT.SC.WebApi.Controllers.Api.BIController #endregion [HttpPost, Route("GetTotalCount")] - public JsonActionResult GetTotalCount([FromBody] KeywordPageFilter pageFilter) + public JsonActionResult GetTotalCount([FromBody] KeywordFilter filter) { return SafeExecute(() => { - var newFilter = new KeywordFilter(); - newFilter.OrgId = pageFilter.OrgId; - newFilter.IgnoreDataRule = true; + filter.IgnoreDataRule = true; + var startTime = DateTime.Now; var endTime = DateTime.Now; + if (!string.IsNullOrEmpty(filter.Parameter2)) + { + startTime = Convert.ToDateTime(filter.Parameter2); + } + if (!string.IsNullOrEmpty(filter.Parameter3)) + { + endTime = Convert.ToDateTime(filter.Parameter3); + } //首页待办增加数量统计字段 dynamic ret = new System.Dynamic.ExpandoObject(); - var ordinaryCount = GetCount(s => !s.IS_DELETED, newFilter); - var crucialCount = GetCount(s => !s.IS_DELETED, newFilter); - var activityCount = GetCount(s => !s.IS_DELETED, newFilter); - var postCount = GetCount(s => !s.IS_DELETED, newFilter); - var postChangeCount = GetCount(s => !s.IS_DELETED, newFilter); - var taskCount = GetCount(s => !s.IS_DELETED, newFilter); - var shiftMeetingCount = GetCount(s => !s.IS_DELETED, newFilter); - var shiftMeetingFinishCount = GetCount(s => !s.IS_DELETED && s.PRE_MEETING_STATUS == FOPreMeetingStatusEnum.归档, newFilter); - var postChangeFinishCount = GetCount(s => !s.IS_DELETED && s.SHIFT_STATUS == (int)FOChangeShiftStatusEnum.归档, newFilter); - var postFinishCount = GetCount(s => !s.IS_DELETED && s.SHIFT_STATUS == (int)FOShiftStatusEnum.归档, newFilter); + var ordinaryCount = GetCount(s => !s.IS_DELETED && s.CREATE_TIME>= startTime && s.CREATE_TIME<= endTime, filter); + var crucialCount = GetCount(s => !s.IS_DELETED && s.CREATE_TIME >= startTime && s.CREATE_TIME <= endTime, filter); + var activityCount = GetCount(s => !s.IS_DELETED && s.CREATE_TIME >= startTime && s.CREATE_TIME <= endTime, filter); + var postCount = GetCount(s => !s.IS_DELETED && s.CREATE_TIME >= startTime && s.CREATE_TIME <= endTime, filter); + var postChangeCount = GetCount(s => !s.IS_DELETED && s.CREATE_TIME >= startTime && s.CREATE_TIME <= endTime, filter); + var taskCount = GetCount(s => !s.IS_DELETED && s.CREATE_TIME >= startTime && s.CREATE_TIME <= endTime, filter); + var shiftMeetingCount = GetCount(s => !s.IS_DELETED && s.CREATE_TIME >= startTime && s.CREATE_TIME <= endTime, filter); + var shiftMeetingFinishCount = GetCount(s => !s.IS_DELETED && s.CREATE_TIME >= startTime && s.CREATE_TIME <= endTime && s.PRE_MEETING_STATUS == FOPreMeetingStatusEnum.归档, filter); + var postChangeFinishCount = GetCount(s => !s.IS_DELETED && s.CREATE_TIME >= startTime && s.CREATE_TIME <= endTime && s.SHIFT_STATUS == (int)FOChangeShiftStatusEnum.归档, filter); + var postFinishCount = GetCount(s => !s.IS_DELETED && s.CREATE_TIME >= startTime && s.CREATE_TIME <= endTime && s.SHIFT_STATUS == (int)FOShiftStatusEnum.归档, filter); ret.ordinaryCount = ordinaryCount; ret.crucialCount = crucialCount; ret.activityCount = activityCount; @@ -9090,8 +9097,17 @@ namespace APT.SC.WebApi.Controllers.Api.BIController return SafeExecute>(() => { List completionSorts = new List(); - filter.IgnoreDataRule = true; - var completions = GetEntities(t => !t.IS_DELETED, filter); + filter.IgnoreDataRule = true; + var startTime = DateTime.Now; var endTime = DateTime.Now; + if (!string.IsNullOrEmpty(filter.Parameter2)) + { + startTime = Convert.ToDateTime(filter.Parameter2); + } + if (!string.IsNullOrEmpty(filter.Parameter3)) + { + endTime = Convert.ToDateTime(filter.Parameter3); + } + var completions = GetEntities(t => !t.IS_DELETED && t.CREATE_TIME >= startTime && t.CREATE_TIME <= endTime, filter); var countTj = completions.Where(t => t.AUDIT_LEVEL == (int)HMOperationTaskAuditEnum.特级审批).Count(); T_FM_RISK_LEVEL_PROPORTION levelTj = new T_FM_RISK_LEVEL_PROPORTION(); levelTj.RISK_LEVEL = "特级审批"; @@ -10062,13 +10078,13 @@ namespace APT.SC.WebApi.Controllers.Api.BIController 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(); + var preShiftMeetingTemp = GetEntities(i => i.CREATE_TIME >= startTime && i.CREATE_TIME<= endTime && 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(); + var teamActivityTemp = GetEntities(i => i.CREATE_TIME >= startTime && i.CREATE_TIME <= endTime && 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")); @@ -12683,41 +12699,45 @@ namespace APT.SC.WebApi.Controllers.Api.BIController foreach (var item in teamIds) { var first = departments.FirstOrDefault(t => t.ID == item); - var biSafeFinish = new T_BI_SAFETASK_FINISH(); - biSafeFinish.ORG_ID = filter.OrgId.Value; - biSafeFinish.TEAM_ID = item; - biSafeFinish.TEAM_NAME = first?.NAME; - var parentInfo = departments.FirstOrDefault(t => t.ID == first?.PARENT_ID); - if (parentInfo != null) + if (first != null) { - if (parentInfo.DEPARTMENT_TYPE == 15) + var biSafeFinish = new T_BI_SAFETASK_FINISH(); + biSafeFinish.ORG_ID = filter.OrgId.Value; + biSafeFinish.TEAM_ID = item; + biSafeFinish.TEAM_NAME = first?.NAME; + var parentInfo = departments.FirstOrDefault(t => t.ID == first?.PARENT_ID); + if (parentInfo != null) { - var parentUp = departments.FirstOrDefault(t => t.ID == parentInfo.PARENT_ID); - if (parentUp != null) + if (parentInfo.DEPARTMENT_TYPE == 15) { - //biSafeFinish.shopId = parentUp.ID; - biSafeFinish.DEPARTMENT_NAME = parentUp.NAME; + var parentUp = departments.FirstOrDefault(t => t.ID == parentInfo.PARENT_ID); + if (parentUp != null) + { + //biSafeFinish.shopId = parentUp.ID; + biSafeFinish.DEPARTMENT_NAME = parentUp.NAME; + } + } + else + { + //biSafeFinish.shopId = parentInfo.ID; + biSafeFinish.DEPARTMENT_NAME = parentInfo.NAME; } } - else - { - //biSafeFinish.shopId = parentInfo.ID; - biSafeFinish.DEPARTMENT_NAME = parentInfo.NAME; - } + biSafeFinish.FO01_TOTAL = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "班前会议"); + biSafeFinish.FO01_FINISH = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "班前会议" && t.FORM_STATUS == "归档" && t.OVERTIME != FOISOVERTIME.超时); + biSafeFinish.FO01_UNFINISH = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "班前会议" && t.FORM_STATUS != "归档"); + biSafeFinish.FO01_OVERTIME = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "班前会议" && t.FORM_STATUS == "归档" && t.OVERTIME == FOISOVERTIME.超时); + biSafeFinish.FO02_TOTAL = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "岗位当班记录"); + biSafeFinish.FO02_FINISH = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "岗位当班记录" && t.FORM_STATUS == "归档" && t.OVERTIME != FOISOVERTIME.超时); + biSafeFinish.FO02_UNFINISH = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "岗位当班记录" && t.FORM_STATUS != "归档"); + biSafeFinish.FO02_OVERTIME = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "岗位当班记录" && t.FORM_STATUS == "归档" && t.OVERTIME == FOISOVERTIME.超时); + biSafeFinish.FO03_TOTAL = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "岗位交接班"); + biSafeFinish.FO03_FINISH = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "岗位交接班" && t.FORM_STATUS == "归档" && t.OVERTIME != FOISOVERTIME.超时); + biSafeFinish.FO03_UNFINISH = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "岗位交接班" && t.FORM_STATUS != "归档"); + biSafeFinish.FO03_OVERTIME = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "岗位交接班" && t.FORM_STATUS == "归档" && t.OVERTIME == FOISOVERTIME.超时); + completions.Add(biSafeFinish); } - biSafeFinish.FO01_TOTAL = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME=="班前会议"); - biSafeFinish.FO01_FINISH = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "班前会议" && t.FORM_STATUS == "归档" && t.OVERTIME != FOISOVERTIME.超时); - biSafeFinish.FO01_UNFINISH = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "班前会议" && t.FORM_STATUS != "归档"); - biSafeFinish.FO01_OVERTIME = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "班前会议" && t.FORM_STATUS == "归档" && t.OVERTIME == FOISOVERTIME.超时); - biSafeFinish.FO02_TOTAL = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "岗位当班记录"); - biSafeFinish.FO02_FINISH = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "岗位当班记录" && t.FORM_STATUS == "归档" && t.OVERTIME != FOISOVERTIME.超时); - biSafeFinish.FO02_UNFINISH = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "岗位当班记录" && t.FORM_STATUS != "归档"); - biSafeFinish.FO02_OVERTIME = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "岗位当班记录" && t.FORM_STATUS == "归档" && t.OVERTIME == FOISOVERTIME.超时); - biSafeFinish.FO03_TOTAL = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "岗位交接班"); - biSafeFinish.FO03_FINISH = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "岗位交接班" && t.FORM_STATUS == "归档" && t.OVERTIME != FOISOVERTIME.超时); - biSafeFinish.FO03_UNFINISH = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "岗位交接班" && t.FORM_STATUS != "归档"); - biSafeFinish.FO03_OVERTIME = allInfos.Count(t => t.TEAM_ID == item && t.FORM_NAME == "岗位交接班" && t.FORM_STATUS == "归档" && t.OVERTIME == FOISOVERTIME.超时); - completions.Add(biSafeFinish); + } } completions = completions.OrderBy(t => t.DEPARTMENT_NAME).ThenBy(m => m.TEAM_NAME).ToList(); @@ -12744,9 +12764,13 @@ namespace APT.SC.WebApi.Controllers.Api.BIController var changeShiftTemp = GetEntities(i => i.CREATE_TIME >= startTime && i.CREATE_TIME <= endTime && 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(); - + var sourceIds = preShiftMeetingTemp.Select(t => t.ID).ToList(); + var curIds = currentShiftTemp.Select(t => t.ID).ToList(); + sourceIds.AddRange(curIds); + var changeIds = changeShiftTemp.Select(t => t.ID).ToList(); + sourceIds.AddRange(changeIds); baseFilter.SelectField = new string[] { "SOURCE_DATA_ID" }; - var allnoticeTask = GetEntities(t => t.NOTICE_STATUS == 2 && t.CREATE_TIME >= startTime && t.CREATE_TIME <= endTime, baseFilter); + var allnoticeTask = GetEntities(t => t.NOTICE_STATUS == 2 && t.CREATE_TIME >= startTime && t.SOURCE_DATA_ID !=null&& sourceIds.Contains((Guid)t.SOURCE_DATA_ID), baseFilter); foreach (var item in preShiftMeetingTemp) { if (item.TEAM_ID == null) @@ -12756,10 +12780,17 @@ namespace APT.SC.WebApi.Controllers.Api.BIController else { var deparId = teams.FirstOrDefault(t => t.ID == item.TEAM_ID)?.DEPARTMENT_ID; - item.TEAM_ID = deparId; + if (deparId == null) + { + item.TEAM_ID = item.Nav_User?.DEPARTMENT_ID; + } + else + { + item.TEAM_ID = deparId; + } } - var isOver = allnoticeTask.Where(t => t.SOURCE_DATA_ID == item.ID); - if (isOver.Any()) + var isOver = allnoticeTask.FirstOrDefault(t => t.SOURCE_DATA_ID == item.ID); + if (isOver!=null) { item.OVERTIME = FOISOVERTIME.超时; } @@ -12774,11 +12805,6 @@ namespace APT.SC.WebApi.Controllers.Api.BIController biSafeFinish.OVERTIME = item.OVERTIME; biSafeFinish.FORM_STATUS = item.PRE_MEETING_STATUS.GetDescription(); completions.Add(biSafeFinish); - //biSafeFinish.TEAM_CHARGE_USER = team.Nav_ChargePerson.NAME; - //biSafeFinish.FO01_TOTAL = fo01a.Count(); - //biSafeFinish.FO01_FINISH = fo01a.Count(t => t.PRE_MEETING_STATUS == FOPreMeetingStatusEnum.归档 && t.OVERTIME != FOISOVERTIME.超时); - //biSafeFinish.FO01_UNFINISH = fo01a.Count(t => t.PRE_MEETING_STATUS < FOPreMeetingStatusEnum.归档); - //biSafeFinish.FO01_OVERTIME = fo01a.Count(t => t.OVERTIME == FOISOVERTIME.超时); } foreach (var item in currentShiftTemp) { @@ -12789,10 +12815,18 @@ namespace APT.SC.WebApi.Controllers.Api.BIController else { var deparId = teams.FirstOrDefault(t => t.ID == item.CLASS_TEAM_ID)?.DEPARTMENT_ID; - item.CLASS_TEAM_ID = deparId; + if (deparId == null) + { + item.CLASS_TEAM_ID = item.Nav_Editor?.DEPARTMENT_ID; + } + else + { + item.CLASS_TEAM_ID = deparId; + } + } - var isOver = allnoticeTask.Where(t => t.SOURCE_DATA_ID == item.ID); - if (isOver.Any()) + var isOver = allnoticeTask.FirstOrDefault(t => t.SOURCE_DATA_ID == item.ID); + if (isOver!=null) { item.OVERTIME = FOISOVERTIME.超时; } @@ -12817,10 +12851,17 @@ namespace APT.SC.WebApi.Controllers.Api.BIController else { var deparId = teams.FirstOrDefault(t => t.ID == item.TEAM_ID)?.DEPARTMENT_ID; - item.TEAM_ID = deparId; + if (deparId == null) + { + item.TEAM_ID = item.Nav_Editor?.DEPARTMENT_ID; + } + else + { + item.TEAM_ID = deparId; + } } - var isOver = allnoticeTask.Where(t => t.SOURCE_DATA_ID == item.ID); - if (isOver.Any()) + var isOver = allnoticeTask.FirstOrDefault(t => t.SOURCE_DATA_ID == item.ID); + if (isOver!=null) { item.OVERTIME = FOISOVERTIME.超时; } @@ -12828,7 +12869,6 @@ namespace APT.SC.WebApi.Controllers.Api.BIController { item.OVERTIME = FOISOVERTIME.未超时; } - var biSafeFinish = new T_BI_SAFETASK_FINISH(); biSafeFinish.ORG_ID = orgId; biSafeFinish.TEAM_ID = (Guid)item.TEAM_ID; @@ -12836,8 +12876,7 @@ namespace APT.SC.WebApi.Controllers.Api.BIController biSafeFinish.OVERTIME = item.OVERTIME; biSafeFinish.FORM_STATUS = Enum.GetName(typeof(FOChangeShiftStatusEnum), item.SHIFT_STATUS); completions.Add(biSafeFinish); - } - + } return completions; } public class JobInfo