Merge branch 'master' of http://121.41.2.71:3000/wyw/mh_jy_safe
This commit is contained in:
commit
96a452514c
@ -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
|
||||
/// 结束时间
|
||||
/// </summary>
|
||||
[Description("结束时间")]
|
||||
public DateTime ENDTIME { get; set; }
|
||||
public DateTime ENDTIME { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 表单名称
|
||||
/// </summary>
|
||||
[Description("表单名称")]
|
||||
public string FORM_NAME { get; set; }
|
||||
/// <summary>
|
||||
/// 表单状态
|
||||
/// </summary>
|
||||
[Description("表单状态")]
|
||||
public string FORM_STATUS { get; set; }
|
||||
/// <summary>
|
||||
/// 是否超时
|
||||
/// </summary>
|
||||
[Description("是否超时")]
|
||||
public FOISOVERTIME OVERTIME { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@ -1519,7 +1519,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
var checkNotices = GetEntities<T_SK_SECURITY_INSPECTION_NOTICE>(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<T_SK_SECURITY_INSPECTION_RECORD_SUMMARY>(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_FM_DEPARTMENT>(t => t.ID == APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID);
|
||||
var listCheckType = GetEntities<MS.Domain.Entities.SK.T_SK_CHECK_TYPE>(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<T_SK_SECURITY_INSPECTION_NOTICE>(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<T_SK_SECURITY_INSPECTION_RECORD_SUMMARY>(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<T_SK_SECURITY_INSPECTION_RECORD_SUMMARY>(e => e.SECURITY_INSPECTION_NOTICE_ID.HasValue && noticeIds.Contains((Guid)e.SECURITY_INSPECTION_NOTICE_ID), newFilter);
|
||||
var checkRecords = GetEntities<T_SK_SECURITY_INSPECTION_RECORD_SUMMARY>(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<HomeSafeCheckCountMonth> ListSafeCheckYearMonth = new List<HomeSafeCheckCountMonth>();
|
||||
//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;
|
||||
|
||||
@ -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<dynamic> GetTotalCount([FromBody] KeywordPageFilter pageFilter)
|
||||
public JsonActionResult<dynamic> GetTotalCount([FromBody] KeywordFilter filter)
|
||||
{
|
||||
return SafeExecute<dynamic>(() =>
|
||||
{
|
||||
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<T_FO_JOB_EVENT_RECORD>(s => !s.IS_DELETED, newFilter);
|
||||
var crucialCount = GetCount<T_FO_CRUCIAL_LICENSE_JOB>(s => !s.IS_DELETED, newFilter);
|
||||
var activityCount = GetCount<T_FO_TEAM_ACTIVITY>(s => !s.IS_DELETED, newFilter);
|
||||
var postCount = GetCount<T_FO_CURRENT_CLASS_RECORD>(s => !s.IS_DELETED, newFilter);
|
||||
var postChangeCount = GetCount<T_FO_CHANGE_SHIFT_RECORD>(s => !s.IS_DELETED, newFilter);
|
||||
var taskCount = GetCount<T_HM_OPERATION_LINK>(s => !s.IS_DELETED, newFilter);
|
||||
var shiftMeetingCount = GetCount<T_FO_PRE_SHIFT_MEETING_RECORD>(s => !s.IS_DELETED, newFilter);
|
||||
var shiftMeetingFinishCount = GetCount<T_FO_PRE_SHIFT_MEETING_RECORD>(s => !s.IS_DELETED && s.PRE_MEETING_STATUS == FOPreMeetingStatusEnum.归档, newFilter);
|
||||
var postChangeFinishCount = GetCount<T_FO_CHANGE_SHIFT_RECORD>(s => !s.IS_DELETED && s.SHIFT_STATUS == (int)FOChangeShiftStatusEnum.归档, newFilter);
|
||||
var postFinishCount = GetCount<T_FO_CURRENT_CLASS_RECORD>(s => !s.IS_DELETED && s.SHIFT_STATUS == (int)FOShiftStatusEnum.归档, newFilter);
|
||||
var ordinaryCount = GetCount<T_FO_JOB_EVENT_RECORD>(s => !s.IS_DELETED && s.CREATE_TIME>= startTime && s.CREATE_TIME<= endTime, filter);
|
||||
var crucialCount = GetCount<T_FO_JOB_ACTIVITY_RECORD>(s => !s.IS_DELETED && s.CREATE_TIME >= startTime && s.CREATE_TIME <= endTime, filter);
|
||||
var activityCount = GetCount<T_FO_TEAM_ACTIVITY>(s => !s.IS_DELETED && s.CREATE_TIME >= startTime && s.CREATE_TIME <= endTime, filter);
|
||||
var postCount = GetCount<T_FO_CURRENT_CLASS_RECORD>(s => !s.IS_DELETED && s.CREATE_TIME >= startTime && s.CREATE_TIME <= endTime, filter);
|
||||
var postChangeCount = GetCount<T_FO_CHANGE_SHIFT_RECORD>(s => !s.IS_DELETED && s.CREATE_TIME >= startTime && s.CREATE_TIME <= endTime, filter);
|
||||
var taskCount = GetCount<T_HM_OPERATION_LINK>(s => !s.IS_DELETED && s.CREATE_TIME >= startTime && s.CREATE_TIME <= endTime, filter);
|
||||
var shiftMeetingCount = GetCount<T_FO_PRE_SHIFT_MEETING_RECORD>(s => !s.IS_DELETED && s.CREATE_TIME >= startTime && s.CREATE_TIME <= endTime, filter);
|
||||
var shiftMeetingFinishCount = GetCount<T_FO_PRE_SHIFT_MEETING_RECORD>(s => !s.IS_DELETED && s.CREATE_TIME >= startTime && s.CREATE_TIME <= endTime && s.PRE_MEETING_STATUS == FOPreMeetingStatusEnum.归档, filter);
|
||||
var postChangeFinishCount = GetCount<T_FO_CHANGE_SHIFT_RECORD>(s => !s.IS_DELETED && s.CREATE_TIME >= startTime && s.CREATE_TIME <= endTime && s.SHIFT_STATUS == (int)FOChangeShiftStatusEnum.归档, filter);
|
||||
var postFinishCount = GetCount<T_FO_CURRENT_CLASS_RECORD>(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<T_FM_RISK_LEVEL_PROPORTION>>(() =>
|
||||
{
|
||||
List<T_FM_RISK_LEVEL_PROPORTION> completionSorts = new List<T_FM_RISK_LEVEL_PROPORTION>();
|
||||
filter.IgnoreDataRule = true;
|
||||
var completions = GetEntities<T_FO_CRUCIAL_LICENSE_JOB>(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_FO_CRUCIAL_LICENSE_JOB>(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_FM_TEAM>(t => !t.IS_DELETED && departmentIds.Contains(t.DEPARTMENT_ID.Value), baseFilter);
|
||||
//var teamIds = teams.Select(t => t.ID);
|
||||
var completions = GetClassCompletion(orgId);// GetEntities<T_FM_DEPARTMENT_COMPLETION>(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_FM_TEAM>(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_FM_DEPARTMENT_COMPLETION>(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<T_FM_DEPARTMENT_COMPLETION_SORT> 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<Guid> parentIds = new List<Guid>();
|
||||
parentIds.Add((Guid)departId);
|
||||
List<Guid> allIds = new List<Guid>();
|
||||
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<Guid> parentIds = new List<Guid>();
|
||||
parentIds.Add((Guid)departId);
|
||||
List<Guid> allIds = new List<Guid>();
|
||||
GetDepartmentIds(orgId, parentIds, ref allIds);
|
||||
completionSorts = completionSorts.Where(t => t.TEAM_ID != null && allIds.Contains((Guid)t.TEAM_ID)).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
//List<T_FM_DEPARTMENT_COMPLETION_SORT> completionSorts1 = completionSorts.OrderByDescending(t => t.CALC).Take(8).ToList();
|
||||
List<T_FM_DEPARTMENT_COMPLETION_SORT> 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_FM_DEPARTMENT>(t => t.PRODUCTION_UNIT_ID == Guid.Parse(filter.Keyword.ToString()), new BaseFilter(orgId));
|
||||
var completions = GetClassCompletion(orgId);//GetEntities<T_FM_DEPARTMENT_COMPLETION>(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_FM_DEPARTMENT_COMPLETION>(t => !t.IS_DELETED, new BaseFilter(orgId)).ToList();
|
||||
var departmentInfos = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0 && t.CATEGORY == FMCATEGORY.ACTURE, new BaseFilter(orgId), "Nav_Parent");
|
||||
|
||||
//List<T_FM_DEPARTMENT> listDepBM = new List<T_FM_DEPARTMENT>();
|
||||
@ -10013,29 +10063,28 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 返回所有下级部门节点
|
||||
/// 返回班前会议、班组活动记录
|
||||
/// </summary>
|
||||
/// <param name="orgId"></param>
|
||||
/// <param name="listDepIDInt"></param>
|
||||
/// <param name="departmentIdPs"></param>
|
||||
public List<T_FM_DEPARTMENT_COMPLETION> GetClassCompletion(Guid orgId)
|
||||
public List<T_FM_DEPARTMENT_COMPLETION> GetClassCompletion(Guid orgId,DateTime startTime, DateTime endTime)
|
||||
{
|
||||
List<T_FM_DEPARTMENT_COMPLETION> completions = new List<T_FM_DEPARTMENT_COMPLETION>();
|
||||
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_FM_DEPARTMENT>(t => !t.IS_DELETED && t.ENABLE_STATUS == 0, baseFilter);
|
||||
baseFilter.SelectField = new string[] { "ID", "DEPARTMENT_ID" };
|
||||
var teams = GetEntities<T_FM_TEAM>(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<T_FO_PRE_SHIFT_MEETING_RECORD>(i => i.CREATE_TIME >= startTime && i.IS_DELETED == false, baseFilter).ToList();
|
||||
var preShiftMeetingTemp = GetEntities<T_FO_PRE_SHIFT_MEETING_RECORD>(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<T_FO_CURRENT_CLASS_RECORD>(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<T_FO_CHANGE_SHIFT_RECORD>(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<T_FO_TEAM_ACTIVITY>(i => i.CREATE_TIME >= startTime && i.IS_DELETED == false, baseFilter).ToList();
|
||||
var teamActivityTemp = GetEntities<T_FO_TEAM_ACTIVITY>(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<string> { "ID", "NAME", "DEPARTMENT_TYPE", "Nav_User.NAME", "Nav_ChargeUser.NAME" };
|
||||
var departs = this.GetEntities<T_FM_DEPARTMENT>(t => !t.IS_DELETED, filter);
|
||||
var departs = this.GetEntities<T_FM_DEPARTMENT>(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;
|
||||
}
|
||||
/// <summary>
|
||||
/// 查询所有数据
|
||||
/// </summary>
|
||||
/// <param name="filter">过滤实体</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost, Route("GetSafeEntities")]
|
||||
public JsonActionResult<List<T_BI_SAFETASK_FINISH>> GetSafeEntities([FromBody] KeywordFilter filter)
|
||||
{
|
||||
return SafeExecute<List<T_BI_SAFETASK_FINISH>>(() =>
|
||||
{
|
||||
List<T_BI_SAFETASK_FINISH> completions = new List<T_BI_SAFETASK_FINISH>();
|
||||
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_FM_DEPARTMENT>(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;
|
||||
});
|
||||
}
|
||||
/// <summary>
|
||||
/// 返回班前会议、班组活动记录
|
||||
/// </summary>
|
||||
/// <param name="orgId"></param>
|
||||
/// <param name="listDepIDInt"></param>
|
||||
/// <param name="departmentIdPs"></param>
|
||||
public List<T_BI_SAFETASK_FINISH> GetSafeTaskFinish(Guid orgId,DateTime startTime, DateTime endTime)
|
||||
{
|
||||
List<T_BI_SAFETASK_FINISH> completions = new List<T_BI_SAFETASK_FINISH>();
|
||||
BaseFilter baseFilter = new BaseFilter(orgId);
|
||||
baseFilter.SelectField = new string[] { "ID", "DEPARTMENT_ID" };
|
||||
var teams = GetEntities<T_FM_TEAM>(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<T_FO_PRE_SHIFT_MEETING_RECORD>(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<T_FO_CURRENT_CLASS_RECORD>(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<T_FO_CHANGE_SHIFT_RECORD>(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<T_FO_TEAM_ACTIVITY>(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_FM_NOTIFICATION_TASK>(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; }
|
||||
|
||||
Loading…
Reference in New Issue
Block a user