From 09ec3b7eecbe75c3c4ae2e3286264a9367c8dac7 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: Fri, 24 Jul 2026 17:59:44 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E5=90=8E=E5=8F=B0=E7=BB=A9=E6=95=88?=
=?UTF-8?q?=E6=8A=A5=E8=A1=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Entities/SC/BI/11T_BI_SAFETASK_FINISH.cs | 19 +-
.../BIStatiscialAnalysisController.cs | 274 ++++++++++++++++--
2 files changed, 266 insertions(+), 27 deletions(-)
diff --git a/APT.MS.Domain/Entities/SC/BI/11T_BI_SAFETASK_FINISH.cs b/APT.MS.Domain/Entities/SC/BI/11T_BI_SAFETASK_FINISH.cs
index 894e228..edabd47 100644
--- a/APT.MS.Domain/Entities/SC/BI/11T_BI_SAFETASK_FINISH.cs
+++ b/APT.MS.Domain/Entities/SC/BI/11T_BI_SAFETASK_FINISH.cs
@@ -1,6 +1,7 @@
using APT.BaseData.Domain.Entities.FM;
using APT.Infrastructure.Core;
+using APT.MS.Domain.Enums;
using APT.MS.Domain.Enums.BI;
using System;
using System.Collections.Generic;
@@ -141,6 +142,22 @@ namespace APT.MS.Domain.Entities.BI
/// 结束时间
///
[Description("结束时间")]
- public DateTime ENDTIME { get; set; }
+ public DateTime ENDTIME { get; set; }
+
+ ///
+ /// 表单名称
+ ///
+ [Description("表单名称")]
+ public string FORM_NAME { get; set; }
+ ///
+ /// 表单状态
+ ///
+ [Description("表单状态")]
+ public string FORM_STATUS { get; set; }
+ ///
+ /// 是否超时
+ ///
+ [Description("是否超时")]
+ public FOISOVERTIME OVERTIME { get; set; }
}
}
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 ef0d69c..909d770 100644
--- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs
+++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs
@@ -52,6 +52,7 @@ using System.Net.NetworkInformation;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
using static APT.SC.WebApi.Controllers.Api.BI.BIKanBanController;
+using static NPOI.HSSF.Util.HSSFColor;
namespace APT.SC.WebApi.Controllers.Api.BIController
{
@@ -9737,31 +9738,24 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
else
departmentIds = departmentInfo.Select(t => t.ID).ToList();
BaseFilter baseFilter = new BaseFilter(orgId);
- 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 = GetClassCompletion(orgId);// GetEntities(t => !t.IS_DELETED, new BaseFilter(orgId)).ToList();
- //var teamIds = completions.Select(t => t.TEAM_ID);
+ 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 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");
if (!string.IsNullOrEmpty(filter.Parameter2))
{
- DateTime startTime = Convert.ToDateTime(filter.Parameter2);
- completions = completions.Where(t => t.MONTH >= startTime).ToList();
- }
- else
- {
- var startTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.AddMonths(-5).Month + "-01 00:00:00");
- completions = completions.Where(t => t.MONTH >= startTime).ToList();
+ startTime = Convert.ToDateTime(filter.Parameter2);
+ //completions = completions.Where(t => t.MONTH >= startTime).ToList();
}
if (!string.IsNullOrEmpty(filter.Parameter3))
{
- DateTime endTime = Convert.ToDateTime(filter.Parameter3);
- completions = completions.Where(t => t.MONTH <= endTime).ToList();
- }
- else
- {
- var endTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + " 23:59:59");
- completions = completions.Where(t => t.MONTH <= endTime).ToList();
+ endTime = Convert.ToDateTime(filter.Parameter3);
+ //completions = completions.Where(t => t.MONTH <= endTime).ToList();
}
+ var completions = GetClassCompletion(orgId,startTime, endTime);// GetEntities(t => !t.IS_DELETED, new BaseFilter(orgId)).ToList();
+ //var teamIds = completions.Select(t => t.TEAM_ID);
+
//if (teamIds != null && teamIds.Any())
{
completionLists = completions.Where(m => m.TEAM_ID != null).GroupBy(t => new { t.TEAM_ID, t.TEAM_NAME }).Select(group => new GroupbyDepartmentId
@@ -9800,11 +9794,39 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
item.CALC = tempCalc;
}
}
- List completionSorts1 = completionSorts.OrderByDescending(t => t.CALC).Take(8).ToList();
+ if (!string.IsNullOrEmpty(filter.Keyword))
+ {
+ if (filter.Keyword == "10")
+ {
+ var departId = departmentInfo.FirstOrDefault(t => t.NAME == "选矿部")?.ID;
+ if (departId != null)
+ {
+ List parentIds = new List();
+ parentIds.Add((Guid)departId);
+ List allIds = new List();
+ GetDepartmentIds(orgId, parentIds, ref allIds);
+ completionSorts = completionSorts.Where(t => t.TEAM_ID != null && allIds.Contains((Guid)t.TEAM_ID)).ToList();
+ }
+ }
+ if (filter.Keyword == "30")
+ {
+ var departId = departmentInfo.FirstOrDefault(t => t.NAME == "矿山部")?.ID;
+ if (departId != null)
+ {
+ List parentIds = new List();
+ parentIds.Add((Guid)departId);
+ List allIds = new List();
+ GetDepartmentIds(orgId, parentIds, ref allIds);
+ completionSorts = completionSorts.Where(t => t.TEAM_ID != null && allIds.Contains((Guid)t.TEAM_ID)).ToList();
+ }
+ }
+ }
+ //List completionSorts1 = completionSorts.OrderByDescending(t => t.CALC).Take(8).ToList();
+ List completionSorts1 = completionSorts.Where(m=>m.CALC!=0).OrderByDescending(t => t.CALC).ToList();
if (!string.IsNullOrEmpty(filter.Parameter1))
{
var param = int.Parse(filter.Parameter1.ToString());
- completionSorts1 = completionSorts.OrderByDescending(t => t.CALC).Take(param).ToList();
+ completionSorts1 = completionSorts1.OrderByDescending(t => t.CALC).Take(param).ToList();
}
int i = 1;
foreach (var item in completionSorts1)
@@ -9855,7 +9877,19 @@ 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 = GetClassCompletion(orgId);//GetEntities(t => !t.IS_DELETED, new BaseFilter(orgId)).ToList();
+ 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");
+ if (!string.IsNullOrEmpty(filter.Parameter2))
+ {
+ startTime = Convert.ToDateTime(filter.Parameter2);
+ //completions = completions.Where(t => t.MONTH >= startTime).ToList();
+ }
+ if (!string.IsNullOrEmpty(filter.Parameter3))
+ {
+ endTime = Convert.ToDateTime(filter.Parameter3);
+ //completions = completions.Where(t => t.MONTH <= endTime).ToList();
+ }
+ var completions = GetClassCompletion(orgId, startTime, endTime);//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();
@@ -10013,17 +10047,16 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
}
///
- /// 返回所有下级部门节点
+ /// 返回班前会议、班组活动记录
///
///
///
///
- public List GetClassCompletion(Guid orgId)
+ public List GetClassCompletion(Guid orgId,DateTime startTime, DateTime endTime)
{
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" };
@@ -12617,6 +12650,195 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
}
return result;
}
+ ///
+ /// 查询所有数据
+ ///
+ /// 过滤实体
+ ///
+ [HttpPost, Route("GetSafeEntities")]
+ public JsonActionResult> GetSafeEntities([FromBody] KeywordFilter filter)
+ {
+ return SafeExecute>(() =>
+ {
+ List completions = new List();
+ var startTime = Convert.ToDateTime(DateTime.Now.AddMonths(-1).Year + "-" + DateTime.Now.AddMonths(-1).Month + "-01 00:00:00");
+ var endTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + " 23:59:59");
+ if (!string.IsNullOrEmpty(filter.Parameter2))
+ {
+ startTime = Convert.ToDateTime(filter.Parameter2);
+ //completions = completions.Where(t => t.MONTH >= startTime).ToList();
+ }
+ if (!string.IsNullOrEmpty(filter.Parameter3))
+ {
+ endTime = Convert.ToDateTime(filter.Parameter3);
+ //completions = completions.Where(t => t.MONTH <= endTime).ToList();
+ }
+ BaseFilter baseFilter = new BaseFilter(filter.OrgId);
+ 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);
+ var allInfos = GetSafeTaskFinish(filter.OrgId.Value, startTime, endTime);
+ var teamIds = allInfos.Select(t => t.TEAM_ID).Distinct().ToList();
+ if (teamIds != null && teamIds.Any())
+ {
+ 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 (parentInfo.DEPARTMENT_TYPE == 15)
+ {
+ 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;
+ }
+ }
+ 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);
+ }
+ }
+ return completions;
+ });
+ }
+ ///
+ /// 返回班前会议、班组活动记录
+ ///
+ ///
+ ///
+ ///
+ public List GetSafeTaskFinish(Guid orgId,DateTime startTime, DateTime endTime)
+ {
+ List completions = new List();
+ BaseFilter baseFilter = new BaseFilter(orgId);
+ 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.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.CREATE_TIME <= endTime && i.IS_DELETED == false, baseFilter).ToList();
+ baseFilter.SelectField = new string[] { "TEAM_ID", "Nav_Team.NAME", "SHIFT_STATUS", "DEPARTMENT_ID", "OVERTIME", "CREATE_TIME", "Nav_Editor.DEPARTMENT_ID" }; //指定字段,包括导航属性
+ 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();
+
+ baseFilter.SelectField = new string[] { "SOURCE_DATA_ID" };
+ var allnoticeTask = GetEntities(t => t.NOTICE_STATUS == 2 && t.CREATE_TIME >= startTime && t.CREATE_TIME <= endTime, baseFilter);
+ foreach (var item in preShiftMeetingTemp)
+ {
+ 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 isOver = allnoticeTask.Where(t => t.SOURCE_DATA_ID == item.ID);
+ if (isOver.Any())
+ {
+ item.OVERTIME = FOISOVERTIME.超时;
+ }
+ else
+ {
+ item.OVERTIME = FOISOVERTIME.未超时;
+ }
+ var biSafeFinish = new T_BI_SAFETASK_FINISH();
+ biSafeFinish.ORG_ID = orgId;
+ biSafeFinish.TEAM_ID = (Guid)item.TEAM_ID;
+ biSafeFinish.FORM_NAME = "班前会议";
+ 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)
+ {
+ 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 isOver = allnoticeTask.Where(t => t.SOURCE_DATA_ID == item.ID);
+ if (isOver.Any())
+ {
+ item.OVERTIME = FOISOVERTIME.超时;
+ }
+ else
+ {
+ item.OVERTIME = FOISOVERTIME.未超时;
+ }
+ var biSafeFinish = new T_BI_SAFETASK_FINISH();
+ biSafeFinish.ORG_ID = orgId;
+ biSafeFinish.TEAM_ID = (Guid)item.CLASS_TEAM_ID;
+ biSafeFinish.FORM_NAME = "岗位当班记录";
+ biSafeFinish.OVERTIME = item.OVERTIME;
+ biSafeFinish.FORM_STATUS = Enum.GetName(typeof(FOShiftStatusEnum), item.SHIFT_STATUS);
+ completions.Add(biSafeFinish);
+ }
+ foreach (var item in changeShiftTemp)
+ {
+ if (item.TEAM_ID == null)
+ {
+ item.TEAM_ID = item.Nav_Editor?.DEPARTMENT_ID;
+ }
+ else
+ {
+ var deparId = teams.FirstOrDefault(t => t.ID == item.TEAM_ID)?.DEPARTMENT_ID;
+ item.TEAM_ID = deparId;
+ }
+ var isOver = allnoticeTask.Where(t => t.SOURCE_DATA_ID == item.ID);
+ if (isOver.Any())
+ {
+ item.OVERTIME = FOISOVERTIME.超时;
+ }
+ else
+ {
+ item.OVERTIME = FOISOVERTIME.未超时;
+ }
+
+ var biSafeFinish = new T_BI_SAFETASK_FINISH();
+ biSafeFinish.ORG_ID = orgId;
+ biSafeFinish.TEAM_ID = (Guid)item.TEAM_ID;
+ biSafeFinish.FORM_NAME = "岗位交接班";
+ biSafeFinish.OVERTIME = item.OVERTIME;
+ biSafeFinish.FORM_STATUS = Enum.GetName(typeof(FOChangeShiftStatusEnum), item.SHIFT_STATUS);
+ completions.Add(biSafeFinish);
+ }
+
+ return completions;
+ }
public class JobInfo
{
public Guid? DEPARTMENT_ID { get; set; }
From f391404d5a034cd9f62efe5d9de95a35cb70024a 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: Fri, 24 Jul 2026 18:09:08 +0800
Subject: [PATCH 2/4] 1
---
.../Api/BIController/BIStatiscialAnalysisController.cs | 7 ++++---
1 file changed, 4 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 909d770..ef81e14 100644
--- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs
+++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs
@@ -9822,12 +9822,12 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
}
}
//List completionSorts1 = completionSorts.OrderByDescending(t => t.CALC).Take(8).ToList();
- List completionSorts1 = completionSorts.Where(m=>m.CALC!=0).OrderByDescending(t => t.CALC).ToList();
+ List completionSorts1 = completionSorts.Where(m=>m.CALC!=0).OrderByDescending(t => t.CALC).ToList();
if (!string.IsNullOrEmpty(filter.Parameter1))
{
var param = int.Parse(filter.Parameter1.ToString());
completionSorts1 = completionSorts1.OrderByDescending(t => t.CALC).Take(param).ToList();
- }
+ }
int i = 1;
foreach (var item in completionSorts1)
{
@@ -11701,7 +11701,7 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId.Value;
var filter = new BaseFilter(orgId);
filter.SelectField = new List { "ID", "NAME", "DEPARTMENT_TYPE", "Nav_User.NAME", "Nav_ChargeUser.NAME" };
- var departs = this.GetEntities(t => !t.IS_DELETED, filter);
+ var departs = this.GetEntities(t => !t.IS_DELETED && t.ENABLE_STATUS == 0 && t.CATEGORY == FMCATEGORY.ACTURE, filter);
if (departs != null && departs.Any())
{
foreach (var depart in departs)
@@ -12720,6 +12720,7 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
completions.Add(biSafeFinish);
}
}
+ completions = completions.OrderBy(t => t.DEPARTMENT_NAME).ThenBy(m => m.TEAM_NAME).ToList();
return completions;
});
}
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 3/4] =?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
From c8d7d7ceb4813da3a08e6c9801bbf5510ed41ba9 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 14:41:35 +0800
Subject: [PATCH 4/4] =?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/BIStatiscialAnalysisController.cs | 4 ++--
1 file changed, 2 insertions(+), 2 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 6626364..0dc5254 100644
--- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs
+++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs
@@ -12347,7 +12347,7 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
run.FINISH_RATE = temp.ToString("0.0");
var temp2 = total == 0 ? 0 : (double)finish / total * 100;
run.NORMAL_FINISH_RATE = temp2.ToString("0.0");
- run.TOTAL_QTY = total;
+ run.TOTAL_QTY = finish + overFinish;
monthRuns.Add(run);
}
else
@@ -12363,7 +12363,7 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
run.FINISH_RATE = temp.ToString("0");
var temp2 = total == 0 ? 0 : (double)finish / total * 100;
run.NORMAL_FINISH_RATE = temp2.ToString("0");
- run.TOTAL_QTY = total;
+ run.TOTAL_QTY = finish + overFinish;
monthRuns.Add(run);
}
}