首页图表

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" }; baseFilter.SelectField = new string[] { "ID", "DEPARTMENT_ID" };
var teams = GetEntities<T_FM_TEAM>(t => !t.IS_DELETED && t.ENABLE_STATUS == 0, baseFilter); 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" }; //指定字段,包括导航属性 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" }; //指定字段,包括导航属性 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" }; //指定字段,包括导航属性 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" }; //指定字段,包括导航属性 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)) 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 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(); 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. var preShiftMeeting = preTemp.
GroupBy(m => new { m.TEAM_ID, TeamName = m.Nav_Team.NAME }). GroupBy(m => new { m.TEAM_ID }).
Select(group => new Select(group => new
{ {
group.Key, group.Key.TEAM_ID,
totalCount = group.Count(), totalCount = group.Count(),
finishCount = group.Where(i => i.PRE_MEETING_STATUS == FOPreMeetingStatusEnum.).Count(), finishCount = group.Where(i => i.PRE_MEETING_STATUS == FOPreMeetingStatusEnum.).Count(),
waitingCount = 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) foreach (var item in preShiftMeeting)
{ {
var deparId = teams.FirstOrDefault(t => t.ID == item.Key.TEAM_ID)?.DEPARTMENT_ID; //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); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID);
T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION(); T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION();
completion.MONTH = i; completion.MONTH = i;
completion.MONTHStr = i.Year + "年" + i.Month + "月"; completion.MONTHStr = i.Year + "年" + i.Month + "月";
@ -302,33 +314,37 @@ namespace APT.PP.WebApi.Controllers.Api.PP
completion.END_TIME = monthEnd; completion.END_TIME = monthEnd;
if (departInfo != null) if (departInfo != null)
{ {
if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5) //if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5)
{ //{
completion.DEPARTMENT_ID = item.Key.TEAM_ID; // completion.DEPARTMENT_ID = item.Key.TEAM_ID;
completion.DEPARTMENT_NAME = item.Key.TeamName; // completion.DEPARTMENT_NAME = item.Key.TeamName;
completion.SHOP_DEPARTMENT_ID = null; // completion.SHOP_DEPARTMENT_ID = null;
completion.SHOP_DEPARTMENT_NAME = null; // completion.SHOP_DEPARTMENT_NAME = null;
completion.TEAM_ID = null; // completion.TEAM_ID = null;
completion.TEAM_NAME = null; // completion.TEAM_NAME = null;
} //}
if (departInfo.DEPARTMENT_TYPE == 15) //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_ID = departInfo?.PARENT_ID;
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; completion.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == completion.DEPARTMENT_ID)?.NAME;
completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID; completion.TEAM_ID = departInfo?.ID;
completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName; completion.TEAM_NAME = departInfo?.NAME;
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;
}
} }
completions.Add(completion); completions.Add(completion);
} }
@ -351,11 +367,23 @@ namespace APT.PP.WebApi.Controllers.Api.PP
completions.Add(completion); completions.Add(completion);
} }
var currentTemp = currentShiftTemp.Where(t => t.CREATE_TIME >= i && t.CREATE_TIME <= monthEnd).ToList(); 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. 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 Select(group => new
{ {
group.Key, group.Key.TEAM_ID,
totalCount = group.Count(), totalCount = group.Count(),
finishCount = group.Where(i => i.SHIFT_STATUS == (int)FOShiftStatusEnum. || i.SHIFT_STATUS == (int)FOShiftStatusEnum.).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(), 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) foreach (var item in currentShift)
{ {
var deparId = teams.FirstOrDefault(t => t.ID == item.Key.CLASS_TEAM_ID)?.DEPARTMENT_ID; //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 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(); T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION();
//completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID; //completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
//completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME; //completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
@ -388,33 +416,37 @@ namespace APT.PP.WebApi.Controllers.Api.PP
completion.END_TIME = monthEnd; completion.END_TIME = monthEnd;
if (departInfo != null) if (departInfo != null)
{ {
if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5) //if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5)
{ //{
completion.DEPARTMENT_ID = item.Key.CLASS_TEAM_ID; // completion.DEPARTMENT_ID = item.Key.CLASS_TEAM_ID;
completion.DEPARTMENT_NAME = item.Key.TeamName; // completion.DEPARTMENT_NAME = item.Key.TeamName;
completion.SHOP_DEPARTMENT_ID = null; // completion.SHOP_DEPARTMENT_ID = null;
completion.SHOP_DEPARTMENT_NAME = null; // completion.SHOP_DEPARTMENT_NAME = null;
completion.TEAM_ID = null; // completion.TEAM_ID = null;
completion.TEAM_NAME = null; // completion.TEAM_NAME = null;
} //}
if (departInfo.DEPARTMENT_TYPE == 15) //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_ID = departInfo?.PARENT_ID;
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; completion.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == completion.DEPARTMENT_ID)?.NAME;
completion.SHOP_DEPARTMENT_ID = item.Key.CLASS_TEAM_ID; completion.TEAM_ID = departInfo?.ID;
completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName; completion.TEAM_NAME = departInfo?.NAME;
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;
}
} }
completions.Add(completion); completions.Add(completion);
} }
@ -437,11 +469,23 @@ namespace APT.PP.WebApi.Controllers.Api.PP
completions.Add(completion); completions.Add(completion);
} }
var changeTemp = changeShiftTemp.Where(t => t.CREATE_TIME >= i && t.CREATE_TIME <= monthEnd).ToList(); 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. var changeShift = changeTemp.
GroupBy(m => new { m.TEAM_ID, TeamName = m.Nav_Team.NAME }). GroupBy(m => new { m.TEAM_ID }).
Select(group => new Select(group => new
{ {
group.Key, group.Key.TEAM_ID,
totalCount = group.Count(), totalCount = group.Count(),
finishCount = group.Where(i => i.SHIFT_STATUS == (int)FOChangeShiftStatusEnum.).Count(), finishCount = group.Where(i => i.SHIFT_STATUS == (int)FOChangeShiftStatusEnum.).Count(),
waitingCount = 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) 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 == item.TEAM_ID);
var departInfo = departments.FirstOrDefault(t => t.ID == deparId); //GetDepartmentId((Guid)item.Key.DEPARTMENT_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(); T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION();
//completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID; //completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
//completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME; //completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
@ -474,33 +518,37 @@ namespace APT.PP.WebApi.Controllers.Api.PP
completion.END_TIME = monthEnd; completion.END_TIME = monthEnd;
if (departInfo != null) if (departInfo != null)
{ {
if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5) //if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5)
{ //{
completion.DEPARTMENT_ID = item.Key.TEAM_ID; // completion.DEPARTMENT_ID = item.Key.TEAM_ID;
completion.DEPARTMENT_NAME = item.Key.TeamName; // completion.DEPARTMENT_NAME = item.Key.TeamName;
completion.SHOP_DEPARTMENT_ID = null; // completion.SHOP_DEPARTMENT_ID = null;
completion.SHOP_DEPARTMENT_NAME = null; // completion.SHOP_DEPARTMENT_NAME = null;
completion.TEAM_ID = null; // completion.TEAM_ID = null;
completion.TEAM_NAME = null; // completion.TEAM_NAME = null;
} //}
if (departInfo.DEPARTMENT_TYPE == 15) //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_ID = departInfo?.PARENT_ID;
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; completion.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == completion.DEPARTMENT_ID)?.NAME;
completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID; completion.TEAM_ID = departInfo?.ID;
completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName; completion.TEAM_NAME = departInfo?.NAME;
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;
}
} }
completions.Add(completion); 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(); 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. var teamActivity = teamTemp.
GroupBy(m => new { m.TEAM_ID, TeamName = m.Nav_Taem.NAME }). GroupBy(m => new { m.TEAM_ID }).
Select(group => new Select(group => new
{ {
group.Key, group.Key.TEAM_ID,
totalCount = group.Count(), totalCount = group.Count(),
finishCount = group.Where(i => i.TA_STATUS == (int)FOTeamActivityState.).Count(), finishCount = group.Where(i => i.TA_STATUS == (int)FOTeamActivityState.).Count(),
waitingCount = 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) foreach (var item in teamActivity)
{ {
var deparId = teams.FirstOrDefault(t => t.ID == item.Key.TEAM_ID)?.DEPARTMENT_ID; //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); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID);
T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION(); T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION();
//completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID; //completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
//completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME; //completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
@ -561,33 +621,37 @@ namespace APT.PP.WebApi.Controllers.Api.PP
completion.END_TIME = monthEnd; completion.END_TIME = monthEnd;
if (departInfo != null) if (departInfo != null)
{ {
if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5) //if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5)
{ //{
completion.DEPARTMENT_ID = item.Key.TEAM_ID; // completion.DEPARTMENT_ID = item.Key.TEAM_ID;
completion.DEPARTMENT_NAME = item.Key.TeamName; // completion.DEPARTMENT_NAME = item.Key.TeamName;
completion.SHOP_DEPARTMENT_ID = null; // completion.SHOP_DEPARTMENT_ID = null;
completion.SHOP_DEPARTMENT_NAME = null; // completion.SHOP_DEPARTMENT_NAME = null;
completion.TEAM_ID = null; // completion.TEAM_ID = null;
completion.TEAM_NAME = null; // completion.TEAM_NAME = null;
} //}
if (departInfo.DEPARTMENT_TYPE == 15) //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_ID = departInfo?.PARENT_ID;
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; completion.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == completion.DEPARTMENT_ID)?.NAME;
completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID; completion.TEAM_ID = departInfo?.ID;
completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName; completion.TEAM_NAME = departInfo?.NAME;
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;
}
} }
completions.Add(completion); completions.Add(completion);
} }
@ -1095,28 +1159,32 @@ namespace APT.PP.WebApi.Controllers.Api.PP
var departInfo = departments.FirstOrDefault(t => t.ID == item.departmetId); var departInfo = departments.FirstOrDefault(t => t.ID == item.departmetId);
if (departInfo != null) if (departInfo != null)
{ {
if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5) //if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5)
{ //{
completion.DEPARTMENT_ID = item.departmetId; // completion.DEPARTMENT_ID = item.departmetId;
completion.DEPARTMENT_NAME = departInfo?.NAME; // completion.DEPARTMENT_NAME = departInfo?.NAME;
} //}
if (departInfo.DEPARTMENT_TYPE == 15) //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_ID = departInfo?.PARENT_ID;
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; 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_ID = item.departmetId;
completion.TEAM_NAME = departInfo?.NAME; completion.TEAM_NAME = departInfo?.NAME;
} }
}
completions.Add(completion); completions.Add(completion);
} }
} }

View File

@ -2310,7 +2310,8 @@ namespace APT.SC.WebApi.Controllers.Api.BI
DateTime dtNow = DateTime.Now; DateTime dtNow = DateTime.Now;
List<T_FM_DEPARTMENT> listDepCJ = 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>(); 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(); 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(); listDepBZ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 20).OrderBy(e => e.NUM).ToList();
//T_FM_ENUMS enums = null; //T_FM_ENUMS enums = null;
@ -2468,6 +2469,32 @@ namespace APT.SC.WebApi.Controllers.Api.BI
List<int> listCheckTypeCount = null; List<int> listCheckTypeCount = null;
DetailSafeCheckCountDepartment modelCountDep = null; DetailSafeCheckCountDepartment modelCountDep = null;
int checkTypeCount = listCheckTypeID.Count; 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) 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(); 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; //result.ListSafeCheckCountDepartmentBZ = listCheckDepCountBZ;
foreach (var item in listCheckDepCountCJ) 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.listChild = listCheckDepCountBZ.Where(e => e.PARENT_ID == item.Department_ID).OrderBy(e => e.NUM).ToList();
item.RowCount = item.listChild.Count(); item.RowCount = item.listChild.Count();
} }
}
#endregion #endregion

View File

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