首页图表

This commit is contained in:
何美荣 2026-07-10 17:20:13 +08:00
parent 60164d82f9
commit 7fb92e2c7e
3 changed files with 541 additions and 431 deletions

View File

@ -260,22 +260,34 @@ namespace APT.PP.WebApi.Controllers.Api.PP
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" }; //指定字段,包括导航属性
var preShiftMeetingTemp = GetEntities<T_FO_PRE_SHIFT_MEETING_RECORD>(i => i.CREATE_TIME >= startTime && i.TEAM_ID != null && i.Nav_Team.IS_DELETED == false && i.IS_DELETED == false && i.DEPARTMENT_ID != null, baseFilter).ToList();
var preShiftMeetingTemp = GetEntities<T_FO_PRE_SHIFT_MEETING_RECORD>(i => i.CREATE_TIME >= startTime && i.IS_DELETED == false, baseFilter).ToList();
baseFilter.SelectField = new string[] { "CLASS_TEAM_ID", "Nav_Team.NAME", "SHIFT_STATUS", "DEPARTMENT_ID", "OVERTIME", "CREATE_TIME" }; //指定字段,包括导航属性
var currentShiftTemp = GetEntities<T_FO_CURRENT_CLASS_RECORD>(i => i.CREATE_TIME >= startTime && i.Nav_Team.IS_DELETED == false && i.CLASS_TEAM_ID != null && i.IS_DELETED == false && i.DEPARTMENT_ID != null, baseFilter).ToList();
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.TEAM_ID != null && i.Nav_Team.IS_DELETED == false && i.IS_DELETED == false && i.DEPARTMENT_ID != null, baseFilter).ToList();
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" }; //指定字段,包括导航属性
var teamActivityTemp = GetEntities<T_FO_TEAM_ACTIVITY>(i => i.CREATE_TIME >= startTime && i.TEAM_ID != null && i.Nav_Taem.IS_DELETED == false && i.IS_DELETED == false && i.Nav_Taem.DEPARTMENT_ID != null, baseFilter).ToList();
var teamActivityTemp = GetEntities<T_FO_TEAM_ACTIVITY>(i => i.CREATE_TIME >= startTime && i.IS_DELETED == false, baseFilter).ToList();
for (DateTime i = startTime; i <= endTime; i = i.AddMonths(i.Month - i.Month + 1).AddDays(1 - i.Day))
{
var monthEnd = Convert.ToDateTime(i.AddMonths(i.Month - i.Month + 1).AddDays(1 - i.Day - 1).ToString().Replace("0:00:00", "23:59:59"));
var preTemp = preShiftMeetingTemp.Where(t => t.CREATE_TIME >= i && t.CREATE_TIME <= monthEnd).ToList();
foreach (var item in preTemp)
{
if (item.TEAM_ID == null)
{
item.TEAM_ID = item.DEPARTMENT_ID;
}
else
{
var deparId = teams.FirstOrDefault(t => t.ID == item.TEAM_ID)?.DEPARTMENT_ID;
item.TEAM_ID = deparId;
}
}
var preShiftMeeting = preTemp.
GroupBy(m => new { m.TEAM_ID, TeamName = m.Nav_Team.NAME }).
GroupBy(m => new { m.TEAM_ID }).
Select(group => new
{
group.Key,
group.Key.TEAM_ID,
totalCount = group.Count(),
finishCount = group.Where(i => i.PRE_MEETING_STATUS == FOPreMeetingStatusEnum.).Count(),
waitingCount = group.Where(i => i.PRE_MEETING_STATUS != FOPreMeetingStatusEnum.).Count(),
@ -286,8 +298,8 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{
foreach (var item in preShiftMeeting)
{
var deparId = teams.FirstOrDefault(t => t.ID == item.Key.TEAM_ID)?.DEPARTMENT_ID;
var departInfo = departments.FirstOrDefault(t => t.ID == deparId); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID);
//var deparId = teams.FirstOrDefault(t => t.ID == item.Key.TEAM_ID)?.DEPARTMENT_ID;
var departInfo = departments.FirstOrDefault(t => t.ID == item.TEAM_ID); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID);
T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION();
completion.MONTH = i;
completion.MONTHStr = i.Year + "年" + i.Month + "月";
@ -302,33 +314,37 @@ namespace APT.PP.WebApi.Controllers.Api.PP
completion.END_TIME = monthEnd;
if (departInfo != null)
{
if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5)
{
completion.DEPARTMENT_ID = item.Key.TEAM_ID;
completion.DEPARTMENT_NAME = item.Key.TeamName;
completion.SHOP_DEPARTMENT_ID = null;
completion.SHOP_DEPARTMENT_NAME = null;
completion.TEAM_ID = null;
completion.TEAM_NAME = null;
}
if (departInfo.DEPARTMENT_TYPE == 15)
{
//if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5)
//{
// completion.DEPARTMENT_ID = item.Key.TEAM_ID;
// completion.DEPARTMENT_NAME = item.Key.TeamName;
// completion.SHOP_DEPARTMENT_ID = null;
// completion.SHOP_DEPARTMENT_NAME = null;
// completion.TEAM_ID = null;
// completion.TEAM_NAME = null;
//}
//if (departInfo.DEPARTMENT_TYPE == 15)
//{
// completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
// completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
// completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID;
// completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName;
// completion.TEAM_ID = null;
// completion.TEAM_NAME = null;
//}
//if (departInfo.DEPARTMENT_TYPE == 20)
//{
// completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
// completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
// completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
// completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
// completion.TEAM_ID = departInfo.ID;
// completion.TEAM_NAME = departInfo.NAME;
//}
completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID;
completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName;
completion.TEAM_ID = null;
completion.TEAM_NAME = null;
}
if (departInfo.DEPARTMENT_TYPE == 20)
{
completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.TEAM_ID = departInfo.ID;
completion.TEAM_NAME = departInfo.NAME;
}
completion.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == completion.DEPARTMENT_ID)?.NAME;
completion.TEAM_ID = departInfo?.ID;
completion.TEAM_NAME = departInfo?.NAME;
}
completions.Add(completion);
}
@ -351,11 +367,23 @@ namespace APT.PP.WebApi.Controllers.Api.PP
completions.Add(completion);
}
var currentTemp = currentShiftTemp.Where(t => t.CREATE_TIME >= i && t.CREATE_TIME <= monthEnd).ToList();
foreach (var item in currentTemp)
{
if (item.CLASS_TEAM_ID == null)
{
item.CLASS_TEAM_ID = item.DEPARTMENT_ID;
}
else
{
var deparId = teams.FirstOrDefault(t => t.ID == item.CLASS_TEAM_ID)?.DEPARTMENT_ID;
item.CLASS_TEAM_ID = deparId;
}
}
var currentShift = currentTemp.
GroupBy(m => new { m.CLASS_TEAM_ID, TeamName = m.Nav_Team.NAME }).
GroupBy(m => new { TEAM_ID = m.CLASS_TEAM_ID }).
Select(group => new
{
group.Key,
group.Key.TEAM_ID,
totalCount = group.Count(),
finishCount = group.Where(i => i.SHIFT_STATUS == (int)FOShiftStatusEnum. || i.SHIFT_STATUS == (int)FOShiftStatusEnum.).Count(),
waitingCount = group.Where(i => i.SHIFT_STATUS != (int)FOShiftStatusEnum. && i.SHIFT_STATUS == (int)FOShiftStatusEnum.).Count(),
@ -366,8 +394,8 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{
foreach (var item in currentShift)
{
var deparId = teams.FirstOrDefault(t => t.ID == item.Key.CLASS_TEAM_ID)?.DEPARTMENT_ID;
var departInfo = departments.FirstOrDefault(t => t.ID == deparId); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID);
//var deparId = teams.FirstOrDefault(t => t.ID == item.Key.CLASS_TEAM_ID)?.DEPARTMENT_ID;
var departInfo = departments.FirstOrDefault(t => t.ID == item.TEAM_ID); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID);
T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION();
//completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
//completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
@ -388,33 +416,37 @@ namespace APT.PP.WebApi.Controllers.Api.PP
completion.END_TIME = monthEnd;
if (departInfo != null)
{
if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5)
{
completion.DEPARTMENT_ID = item.Key.CLASS_TEAM_ID;
completion.DEPARTMENT_NAME = item.Key.TeamName;
completion.SHOP_DEPARTMENT_ID = null;
completion.SHOP_DEPARTMENT_NAME = null;
completion.TEAM_ID = null;
completion.TEAM_NAME = null;
}
if (departInfo.DEPARTMENT_TYPE == 15)
{
//if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5)
//{
// completion.DEPARTMENT_ID = item.Key.CLASS_TEAM_ID;
// completion.DEPARTMENT_NAME = item.Key.TeamName;
// completion.SHOP_DEPARTMENT_ID = null;
// completion.SHOP_DEPARTMENT_NAME = null;
// completion.TEAM_ID = null;
// completion.TEAM_NAME = null;
//}
//if (departInfo.DEPARTMENT_TYPE == 15)
//{
// completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
// completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
// completion.SHOP_DEPARTMENT_ID = item.Key.CLASS_TEAM_ID;
// completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName;
// completion.TEAM_ID = null;
// completion.TEAM_NAME = null;
//}
//if (departInfo.DEPARTMENT_TYPE == 20)
//{
// completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
// completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
// completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
// completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
// completion.TEAM_ID = departInfo.ID;
// completion.TEAM_NAME = departInfo.NAME;
//}
completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.SHOP_DEPARTMENT_ID = item.Key.CLASS_TEAM_ID;
completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName;
completion.TEAM_ID = null;
completion.TEAM_NAME = null;
}
if (departInfo.DEPARTMENT_TYPE == 20)
{
completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.TEAM_ID = departInfo.ID;
completion.TEAM_NAME = departInfo.NAME;
}
completion.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == completion.DEPARTMENT_ID)?.NAME;
completion.TEAM_ID = departInfo?.ID;
completion.TEAM_NAME = departInfo?.NAME;
}
completions.Add(completion);
}
@ -437,11 +469,23 @@ namespace APT.PP.WebApi.Controllers.Api.PP
completions.Add(completion);
}
var changeTemp = changeShiftTemp.Where(t => t.CREATE_TIME >= i && t.CREATE_TIME <= monthEnd).ToList();
foreach (var item in changeTemp)
{
if (item.TEAM_ID == null)
{
item.TEAM_ID = item.DEPARTMENT_ID;
}
else
{
var deparId = teams.FirstOrDefault(t => t.ID == item.TEAM_ID)?.DEPARTMENT_ID;
item.TEAM_ID = deparId;
}
}
var changeShift = changeTemp.
GroupBy(m => new { m.TEAM_ID, TeamName = m.Nav_Team.NAME }).
GroupBy(m => new { m.TEAM_ID }).
Select(group => new
{
group.Key,
group.Key.TEAM_ID,
totalCount = group.Count(),
finishCount = group.Where(i => i.SHIFT_STATUS == (int)FOChangeShiftStatusEnum.).Count(),
waitingCount = group.Where(i => i.SHIFT_STATUS != (int)FOChangeShiftStatusEnum.).Count(),
@ -452,8 +496,8 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{
foreach (var item in changeShift)
{
var deparId = teams.FirstOrDefault(t => t.ID == item.Key.TEAM_ID)?.DEPARTMENT_ID;
var departInfo = departments.FirstOrDefault(t => t.ID == deparId); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID);
var departInfo = departments.FirstOrDefault(t => t.ID == item.TEAM_ID);
//var departInfo = departments.FirstOrDefault(t => t.ID == deparId); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID);
T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION();
//completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
//completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
@ -474,33 +518,37 @@ namespace APT.PP.WebApi.Controllers.Api.PP
completion.END_TIME = monthEnd;
if (departInfo != null)
{
if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5)
{
completion.DEPARTMENT_ID = item.Key.TEAM_ID;
completion.DEPARTMENT_NAME = item.Key.TeamName;
completion.SHOP_DEPARTMENT_ID = null;
completion.SHOP_DEPARTMENT_NAME = null;
completion.TEAM_ID = null;
completion.TEAM_NAME = null;
}
if (departInfo.DEPARTMENT_TYPE == 15)
{
//if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5)
//{
// completion.DEPARTMENT_ID = item.Key.TEAM_ID;
// completion.DEPARTMENT_NAME = item.Key.TeamName;
// completion.SHOP_DEPARTMENT_ID = null;
// completion.SHOP_DEPARTMENT_NAME = null;
// completion.TEAM_ID = null;
// completion.TEAM_NAME = null;
//}
//if (departInfo.DEPARTMENT_TYPE == 15)
//{
// completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
// completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
// completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID;
// completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName;
// completion.TEAM_ID = null;
// completion.TEAM_NAME = null;
//}
//if (departInfo.DEPARTMENT_TYPE == 20)
//{
// completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
// completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
// completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
// completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
// completion.TEAM_ID = departInfo.ID;
// completion.TEAM_NAME = departInfo.NAME;
//}
completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID;
completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName;
completion.TEAM_ID = null;
completion.TEAM_NAME = null;
}
if (departInfo.DEPARTMENT_TYPE == 20)
{
completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.TEAM_ID = departInfo.ID;
completion.TEAM_NAME = departInfo.NAME;
}
completion.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == completion.DEPARTMENT_ID)?.NAME;
completion.TEAM_ID = departInfo?.ID;
completion.TEAM_NAME = departInfo?.NAME;
}
completions.Add(completion);
}
@ -524,11 +572,23 @@ namespace APT.PP.WebApi.Controllers.Api.PP
}
var teamTemp = teamActivityTemp.Where(t => t.CREATE_TIME >= i && t.CREATE_TIME <= monthEnd).ToList();
foreach (var item in teamTemp)
{
if (item.TEAM_ID == null)
{
item.TEAM_ID = item.DEPARTMENT_ID;
}
else
{
var deparId = teams.FirstOrDefault(t => t.ID == item.TEAM_ID)?.DEPARTMENT_ID;
item.TEAM_ID = deparId;
}
}
var teamActivity = teamTemp.
GroupBy(m => new { m.TEAM_ID, TeamName = m.Nav_Taem.NAME }).
GroupBy(m => new { m.TEAM_ID }).
Select(group => new
{
group.Key,
group.Key.TEAM_ID,
totalCount = group.Count(),
finishCount = group.Where(i => i.TA_STATUS == (int)FOTeamActivityState.).Count(),
waitingCount = group.Where(i => i.TA_STATUS != (int)FOTeamActivityState.).Count(),
@ -539,8 +599,8 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{
foreach (var item in teamActivity)
{
var deparId = teams.FirstOrDefault(t => t.ID == item.Key.TEAM_ID)?.DEPARTMENT_ID;
var departInfo = departments.FirstOrDefault(t => t.ID == deparId); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID);
//var deparId = teams.FirstOrDefault(t => t.ID == item.Key.TEAM_ID)?.DEPARTMENT_ID;
var departInfo = departments.FirstOrDefault(t => t.ID == item.TEAM_ID); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID);
T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION();
//completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
//completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
@ -561,33 +621,37 @@ namespace APT.PP.WebApi.Controllers.Api.PP
completion.END_TIME = monthEnd;
if (departInfo != null)
{
if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5)
{
completion.DEPARTMENT_ID = item.Key.TEAM_ID;
completion.DEPARTMENT_NAME = item.Key.TeamName;
completion.SHOP_DEPARTMENT_ID = null;
completion.SHOP_DEPARTMENT_NAME = null;
completion.TEAM_ID = null;
completion.TEAM_NAME = null;
}
if (departInfo.DEPARTMENT_TYPE == 15)
{
//if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5)
//{
// completion.DEPARTMENT_ID = item.Key.TEAM_ID;
// completion.DEPARTMENT_NAME = item.Key.TeamName;
// completion.SHOP_DEPARTMENT_ID = null;
// completion.SHOP_DEPARTMENT_NAME = null;
// completion.TEAM_ID = null;
// completion.TEAM_NAME = null;
//}
//if (departInfo.DEPARTMENT_TYPE == 15)
//{
// completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
// completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
// completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID;
// completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName;
// completion.TEAM_ID = null;
// completion.TEAM_NAME = null;
//}
//if (departInfo.DEPARTMENT_TYPE == 20)
//{
// completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
// completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
// completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
// completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
// completion.TEAM_ID = departInfo.ID;
// completion.TEAM_NAME = departInfo.NAME;
//}
completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID;
completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName;
completion.TEAM_ID = null;
completion.TEAM_NAME = null;
}
if (departInfo.DEPARTMENT_TYPE == 20)
{
completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.TEAM_ID = departInfo.ID;
completion.TEAM_NAME = departInfo.NAME;
}
completion.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == completion.DEPARTMENT_ID)?.NAME;
completion.TEAM_ID = departInfo?.ID;
completion.TEAM_NAME = departInfo?.NAME;
}
completions.Add(completion);
}
@ -1095,28 +1159,32 @@ namespace APT.PP.WebApi.Controllers.Api.PP
var departInfo = departments.FirstOrDefault(t => t.ID == item.departmetId);
if (departInfo != null)
{
if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5)
{
completion.DEPARTMENT_ID = item.departmetId;
completion.DEPARTMENT_NAME = departInfo?.NAME;
}
if (departInfo.DEPARTMENT_TYPE == 15)
{
//if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5)
//{
// completion.DEPARTMENT_ID = item.departmetId;
// completion.DEPARTMENT_NAME = departInfo?.NAME;
//}
//if (departInfo.DEPARTMENT_TYPE == 15)
//{
// completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
// completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
// completion.SHOP_DEPARTMENT_ID = item.departmetId;
// completion.SHOP_DEPARTMENT_NAME = departInfo?.NAME;
//}
//if (departInfo.DEPARTMENT_TYPE == 20)
//{
// completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
// completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
// completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
// completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
// completion.TEAM_ID = item.departmetId;
// completion.TEAM_NAME = departInfo?.NAME;
//}
completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.SHOP_DEPARTMENT_ID = item.departmetId;
completion.SHOP_DEPARTMENT_NAME = departInfo?.NAME;
}
if (departInfo.DEPARTMENT_TYPE == 20)
{
completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.TEAM_ID = item.departmetId;
completion.TEAM_NAME = departInfo?.NAME;
}
}
completions.Add(completion);
}
}

View File

@ -2310,7 +2310,8 @@ namespace APT.SC.WebApi.Controllers.Api.BI
DateTime dtNow = DateTime.Now;
List<T_FM_DEPARTMENT> listDepCJ = new List<T_FM_DEPARTMENT>();
List<T_FM_DEPARTMENT> listDepBZ = new List<T_FM_DEPARTMENT>();
List<T_FM_DEPARTMENT> listDepBM = new List<T_FM_DEPARTMENT>();
listDepBM = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 10).OrderBy(e => e.NUM).ToList();
listDepCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 15).OrderBy(e => e.NUM).ToList();
listDepBZ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 20).OrderBy(e => e.NUM).ToList();
//T_FM_ENUMS enums = null;
@ -2468,6 +2469,32 @@ namespace APT.SC.WebApi.Controllers.Api.BI
List<int> listCheckTypeCount = null;
DetailSafeCheckCountDepartment modelCountDep = null;
int checkTypeCount = listCheckTypeID.Count;
//foreach (var item in listDepBM)
//{
// var parentIds = listDepCJ.Where(e => e.PARENT_ID.HasValue && e.PARENT_ID.Value == item.ID).Select(t => t.ID).ToList();
// var bzIds = listDepBZ.Where(e => e.PARENT_ID.HasValue && parentIds.Contains(e.PARENT_ID.Value)).Select(t => t.ID).ToList();
// var alls = checkNotices.Where(t => t.APPLY_DEPARTMENT_ID == item.ID || parentIds.Contains((Guid)t.APPLY_DEPARTMENT_ID) || bzIds.Contains((Guid)t.APPLY_DEPARTMENT_ID)).ToList();
// if (alls.Count() > 0)
// {
// modelCountDep = new DetailSafeCheckCountDepartment();
// modelCountDep.listName = listName;
// modelCountDep.PARENT_ID = item.PARENT_ID.Value;
// modelCountDep.Department_ID = item.ID;
// modelCountDep.NUM = item.NUM;
// //modelCountDep.RowCount = listDepBZ.Where(e => e.PARENT_ID.HasValue && e.PARENT_ID.Value == item.ID).Count();
// modelCountDep.DepartmentName = item.NAME;
// modelCountDep.DepartmentType = item.DEPARTMENT_TYPE;
// listCheckTypeCount = new List<int>();
// var count = alls.Count();
// listCheckTypeCount.Add(count);
// var ids = alls.Select(t => t.ID).ToList();
// var countAct = checkRecords.Count(t => ids.Contains((Guid)t.SECURITY_INSPECTION_NOTICE_ID));
// listCheckTypeCount.Add(countAct);
// modelCountDep.listCount = listCheckTypeCount;
// listCheckDepCountCJ.Add(modelCountDep);
// }
//}
foreach (var item in listDepCJ)
{
var parentIds = listDepBZ.Where(e => e.PARENT_ID.HasValue && e.PARENT_ID.Value == item.ID).Select(t => t.ID).ToList();
@ -2520,10 +2547,22 @@ namespace APT.SC.WebApi.Controllers.Api.BI
//result.ListSafeCheckCountDepartmentBZ = listCheckDepCountBZ;
foreach (var item in listCheckDepCountCJ)
{
//if (item.DepartmentType == 10)
//{
// var cjList = listCheckDepCountCJ.Where(e => e.PARENT_ID == item.Department_ID).OrderBy(e => e.NUM).ToList();
// var cjIds = listCheckDepCountCJ.Where(e => e.PARENT_ID == item.Department_ID).Select(e => e.Department_ID).ToList();
// var bzList = listCheckDepCountBZ.Where(e => cjIds.Contains(e.PARENT_ID)).OrderBy(e => e.NUM).ToList();
// cjList.AddRange(bzList);
// item.listChild = cjList.ToList();
// item.RowCount = item.listChild.Count();
//}
//if (item.DepartmentType == 15)
{
item.listChild = listCheckDepCountBZ.Where(e => e.PARENT_ID == item.Department_ID).OrderBy(e => e.NUM).ToList();
item.RowCount = item.listChild.Count();
}
}
#endregion

View File

@ -9793,12 +9793,12 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
return ret;
else
departmentIds = departmentInfo.Select(t => t.ID).Distinct().ToList();
List<T_FM_DEPARTMENT> listDepBM = new List<T_FM_DEPARTMENT>();
List<T_FM_DEPARTMENT> listDepCJ = new List<T_FM_DEPARTMENT>();
List<T_FM_DEPARTMENT> listDepBZ = new List<T_FM_DEPARTMENT>();
listDepBM = departmentInfo.Where(e => e.DEPARTMENT_TYPE == 10).OrderBy(e => e.NUM).ToList();
listDepCJ = departmentInfo.Where(e => e.DEPARTMENT_TYPE == 15).OrderBy(e => e.NUM).ToList();
listDepBZ = departmentInfo.Where(e => e.DEPARTMENT_TYPE == 20).OrderBy(e => e.NUM).ToList();
//List<T_FM_DEPARTMENT> listDepBM = new List<T_FM_DEPARTMENT>();
//List<T_FM_DEPARTMENT> listDepCJ = new List<T_FM_DEPARTMENT>();
//List<T_FM_DEPARTMENT> listDepBZ = new List<T_FM_DEPARTMENT>();
//listDepBM = departmentInfo.Where(e => e.DEPARTMENT_TYPE == 10).OrderBy(e => e.NUM).ToList();
//listDepCJ = departmentInfo.Where(e => e.DEPARTMENT_TYPE == 15).OrderBy(e => e.NUM).ToList();
//listDepBZ = departmentInfo.Where(e => e.DEPARTMENT_TYPE == 20).OrderBy(e => e.NUM).ToList();
//var completions = GetEntities<T_FM_DEPARTMENT_COMPLETION>(t => !t.IS_DELETED && t.TEAM_ID != null && teamIds.Contains(t.TEAM_ID.Value), new BaseFilter(orgId)).ToList();
if (completions != null && completions.Any())
{
@ -9827,16 +9827,16 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
}
ret.rateData = completionSorts.OrderBy(t => t.MONTH).ToList();
}
completionLists = completions.Where(t=>t.TEAM_ID!=null).GroupBy(t => new { t.TEAM_ID, t.TEAM_NAME, t.SHOP_DEPARTMENT_ID, t.SHOP_DEPARTMENT_NAME }).Select(group => new GroupbyDepartmentCompletion
completionLists = completions.Where(t=>t.TEAM_ID!=null).GroupBy(t => new { t.TEAM_ID, t.TEAM_NAME }).Select(group => new GroupbyDepartmentCompletion
{
shopId = group.Key.SHOP_DEPARTMENT_ID,
shopName = group.Key.SHOP_DEPARTMENT_NAME,
shopId = group.FirstOrDefault(i => i.TEAM_ID == group.Key.TEAM_ID)?.DEPARTMENT_ID,
shopName = group.FirstOrDefault(i => i.TEAM_ID == group.Key.TEAM_ID)?.DEPARTMENT_NAME,
teamId = group.Key.TEAM_ID,
teamName = group.Key.TEAM_NAME,
teamDoneCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID && i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID).Sum(m => m.FINISH_COUNT),
teamOntimeCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID && i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID).Sum(m => m.ONTIME_COUNT),
teamUndoneCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID && i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID).Sum(m => m.WAITTING_COUNT),
teamTotalCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID && i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID).Sum(m => m.TOTAL_COUNT),
teamDoneCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID).Sum(m => m.FINISH_COUNT),
teamOntimeCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID).Sum(m => m.ONTIME_COUNT),
teamUndoneCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID).Sum(m => m.WAITTING_COUNT),
teamTotalCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID).Sum(m => m.TOTAL_COUNT),
}).ToList();
//completionLists = completions.Where(t => t.TEAM_ID != null).GroupBy(t => new { t.TEAM_ID, t.TEAM_NAME }).Select(group => new GroupbyDepartmentCompletion
@ -10385,35 +10385,38 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
shopName = group.FirstOrDefault(i => i.TEAM_ID == group.Key.TEAM_ID)?.DEPARTMENT_NAME,
teamId = group.Key.TEAM_ID,
teamName = group.Key.TEAM_NAME,
//shopDoneCount = group.Where(i => i.DEPARTMENT_ID == group.Key.DEPARTMENT_ID).Sum(m => m.FINISH_COUNT),
//shopOntimeCount = group.Where(i => i.DEPARTMENT_ID == group.Key.DEPARTMENT_ID).Sum(m => m.ONTIME_COUNT),
//shopTotalCount = group.Where(i => i.DEPARTMENT_ID == group.Key.DEPARTMENT_ID).Sum(m => m.TOTAL_COUNT),
teamDoneCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID).Sum(m => m.FINISH_COUNT),
teamOntimeCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID).Sum(m => m.ONTIME_COUNT),
teamUndoneCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID).Sum(m => m.WAITTING_COUNT),
teamTotalCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID).Sum(m => m.TOTAL_COUNT),
}).ToList();
var shopCompletionLists = completions.Where(t => t.SHOP_DEPARTMENT_ID != null).GroupBy(t => new {t.SHOP_DEPARTMENT_ID, t.SHOP_DEPARTMENT_NAME }).Select(group => new GroupbyDepartmentCompletion
{
//var shopCompletionLists = completions.Where(t => t.SHOP_DEPARTMENT_ID != null).GroupBy(t => new {t.SHOP_DEPARTMENT_ID, t.SHOP_DEPARTMENT_NAME }).Select(group => new GroupbyDepartmentCompletion
//{
shopId = group.FirstOrDefault(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID)?.DEPARTMENT_ID,
shopName = group.FirstOrDefault(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID)?.DEPARTMENT_NAME,
teamId = group.Key.SHOP_DEPARTMENT_ID,
teamName = group.Key.SHOP_DEPARTMENT_NAME,
teamDoneCount = group.Where(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID && i.TEAM_ID == null).Sum(m => m.FINISH_COUNT),
teamOntimeCount = group.Where(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID && i.TEAM_ID == null).Sum(m => m.ONTIME_COUNT),
teamUndoneCount = group.Where(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID && i.TEAM_ID == null).Sum(m => m.WAITTING_COUNT),
teamTotalCount = group.Where(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID && i.TEAM_ID == null).Sum(m => m.TOTAL_COUNT),
}).ToList();
completionLists.AddRange(shopCompletionLists);
var deptCompletionLists = completions.Where(t => t.DEPARTMENT_ID != null).GroupBy(t => new { t.DEPARTMENT_ID, t.DEPARTMENT_NAME}).Select(group => new GroupbyDepartmentCompletion
{
shopId = group.Key.DEPARTMENT_ID,
shopName = group.Key.DEPARTMENT_NAME,
teamId = group.Key.DEPARTMENT_ID,
teamName = group.Key.DEPARTMENT_NAME,
shopDoneCount = group.Where(i => i.DEPARTMENT_ID == group.Key.DEPARTMENT_ID).Sum(m => m.FINISH_COUNT),
shopOntimeCount = group.Where(i => i.DEPARTMENT_ID == group.Key.DEPARTMENT_ID).Sum(m => m.ONTIME_COUNT),
shopTotalCount = group.Where(i => i.DEPARTMENT_ID == group.Key.DEPARTMENT_ID).Sum(m => m.TOTAL_COUNT),
}).ToList();
completionLists.AddRange(deptCompletionLists);
// shopId = group.FirstOrDefault(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID)?.DEPARTMENT_ID,
// shopName = group.FirstOrDefault(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID)?.DEPARTMENT_NAME,
// teamId = group.Key.SHOP_DEPARTMENT_ID,
// teamName = group.Key.SHOP_DEPARTMENT_NAME,
// teamDoneCount = group.Where(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID && i.TEAM_ID == null).Sum(m => m.FINISH_COUNT),
// teamOntimeCount = group.Where(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID && i.TEAM_ID == null).Sum(m => m.ONTIME_COUNT),
// teamUndoneCount = group.Where(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID && i.TEAM_ID == null).Sum(m => m.WAITTING_COUNT),
// teamTotalCount = group.Where(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID && i.TEAM_ID == null).Sum(m => m.TOTAL_COUNT),
//}).ToList();
//completionLists.AddRange(shopCompletionLists);
//var deptCompletionLists = completions.Where(t => t.DEPARTMENT_ID != null).GroupBy(t => new { t.DEPARTMENT_ID, t.DEPARTMENT_NAME}).Select(group => new GroupbyDepartmentCompletion
//{
// shopId = group.Key.DEPARTMENT_ID,
// shopName = group.Key.DEPARTMENT_NAME,
// teamId = group.Key.DEPARTMENT_ID,
// teamName = group.Key.DEPARTMENT_NAME,
// shopDoneCount = group.Where(i => i.DEPARTMENT_ID == group.Key.DEPARTMENT_ID).Sum(m => m.FINISH_COUNT),
// shopOntimeCount = group.Where(i => i.DEPARTMENT_ID == group.Key.DEPARTMENT_ID).Sum(m => m.ONTIME_COUNT),
// shopTotalCount = group.Where(i => i.DEPARTMENT_ID == group.Key.DEPARTMENT_ID).Sum(m => m.TOTAL_COUNT),
//}).ToList();
//completionLists.AddRange(deptCompletionLists);
}
if (completionSorts != null && completionSorts.Any())
{
@ -10437,7 +10440,7 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
{
foreach (var item in completionLists)
{
if (string.IsNullOrEmpty(item.teamName) ||(item.teamName == item.shopName && item.teamTotalCount == 0))
//if (string.IsNullOrEmpty(item.teamName) ||(item.teamName == item.shopName && item.teamTotalCount == 0))
{
// item.teamId = item.shopId;
@ -10446,15 +10449,15 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
// item.teamOntimeCount = completionLists.Where(i => i.shopId == item.shopId && i.teamId == null).Sum(m => m.shopOntimeCount);
// item.teamTotalCount = completionLists.Where(i => i.shopId == item.shopId && i.teamId == null).Sum(m => m.shopTotalCount);
}
else
//else
{
//if (string.IsNullOrEmpty(item.teamName))
//{
// item.teamName = item.shopName;
//}
item.shopDoneCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.shopDoneCount);
item.shopOntimeCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.shopOntimeCount);
item.shopTotalCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.shopTotalCount);
item.shopDoneCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamDoneCount);
item.shopOntimeCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamOntimeCount);
item.shopTotalCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamTotalCount);
//if (item.deptTotalCount == 0)
//{