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/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 ef0d69c..0dc5254 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
{
@@ -8982,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;
@@ -9089,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 = "特级审批";
@@ -9737,31 +9754,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,12 +9810,40 @@ 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 +9893,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,29 +10063,28 @@ 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" };
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"));
@@ -11668,7 +11717,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)
@@ -12298,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
@@ -12314,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);
}
}
@@ -12617,6 +12666,219 @@ 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);
+ if (first != null)
+ {
+ 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);
+ }
+
+ }
+ }
+ completions = completions.OrderBy(t => t.DEPARTMENT_NAME).ThenBy(m => m.TEAM_NAME).ToList();
+ 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();
+ 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.SOURCE_DATA_ID !=null&& sourceIds.Contains((Guid)t.SOURCE_DATA_ID), 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;
+ if (deparId == null)
+ {
+ item.TEAM_ID = item.Nav_User?.DEPARTMENT_ID;
+ }
+ else
+ {
+ item.TEAM_ID = deparId;
+ }
+ }
+ var isOver = allnoticeTask.FirstOrDefault(t => t.SOURCE_DATA_ID == item.ID);
+ if (isOver!=null)
+ {
+ 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);
+ }
+ 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;
+ if (deparId == null)
+ {
+ item.CLASS_TEAM_ID = item.Nav_Editor?.DEPARTMENT_ID;
+ }
+ else
+ {
+ item.CLASS_TEAM_ID = deparId;
+ }
+
+ }
+ var isOver = allnoticeTask.FirstOrDefault(t => t.SOURCE_DATA_ID == item.ID);
+ if (isOver!=null)
+ {
+ 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;
+ if (deparId == null)
+ {
+ item.TEAM_ID = item.Nav_Editor?.DEPARTMENT_ID;
+ }
+ else
+ {
+ item.TEAM_ID = deparId;
+ }
+ }
+ var isOver = allnoticeTask.FirstOrDefault(t => t.SOURCE_DATA_ID == item.ID);
+ if (isOver!=null)
+ {
+ 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; }