首页图表

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,352 +260,416 @@ 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(),
onTimeCount = group.Where(i => i.PRE_MEETING_STATUS == FOPreMeetingStatusEnum. && i.OVERTIME == FOISOVERTIME.).Count(), onTimeCount = group.Where(i => i.PRE_MEETING_STATUS == FOPreMeetingStatusEnum. && i.OVERTIME == FOISOVERTIME.).Count(),
overTimeCount = group.Where(i => i.PRE_MEETING_STATUS == FOPreMeetingStatusEnum. && i.OVERTIME == FOISOVERTIME.).Count() overTimeCount = group.Where(i => i.PRE_MEETING_STATUS == FOPreMeetingStatusEnum. && i.OVERTIME == FOISOVERTIME.).Count()
}).ToList(); }).ToList();
if (preShiftMeeting.Any()) if (preShiftMeeting.Any())
{ {
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 + "月";
completion.TOTAL_COUNT = item.totalCount; completion.TOTAL_COUNT = item.totalCount;
completion.WAITTING_COUNT = item.waitingCount; completion.WAITTING_COUNT = item.waitingCount;
completion.FINISH_COUNT = item.finishCount; completion.FINISH_COUNT = item.finishCount;
completion.ONTIME_COUNT = item.onTimeCount; completion.ONTIME_COUNT = item.onTimeCount;
completion.OVERTIME_COUNT = item.overTimeCount; completion.OVERTIME_COUNT = item.overTimeCount;
completion.FORM_NAME = "班前会议"; completion.FORM_NAME = "班前会议";
completion.ORG_ID = filter.GetOrgId(); completion.ORG_ID = filter.GetOrgId();
completion.START_TIME = i; completion.START_TIME = i;
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_ID = departInfo?.PARENT_ID;
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; // completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID; // completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID;
completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName; // completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName;
completion.TEAM_ID = null; // completion.TEAM_ID = null;
completion.TEAM_NAME = null; // completion.TEAM_NAME = null;
} //}
if (departInfo.DEPARTMENT_TYPE == 20) //if (departInfo.DEPARTMENT_TYPE == 20)
{ //{
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;
completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID; // completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; // completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.TEAM_ID = departInfo.ID; // completion.TEAM_ID = departInfo.ID;
completion.TEAM_NAME = departInfo.NAME; // completion.TEAM_NAME = departInfo.NAME;
} //}
} completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
completions.Add(completion); 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);
} }
} }
else else
{ {
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 + "月";
completion.TOTAL_COUNT = 0; completion.TOTAL_COUNT = 0;
completion.WAITTING_COUNT = 0; completion.WAITTING_COUNT = 0;
completion.FINISH_COUNT = 0; completion.FINISH_COUNT = 0;
completion.ONTIME_COUNT = 0; completion.ONTIME_COUNT = 0;
completion.OVERTIME_COUNT = 0; completion.OVERTIME_COUNT = 0;
completion.FORM_NAME = "班前会议"; completion.FORM_NAME = "班前会议";
completion.ORG_ID = filter.GetOrgId(); completion.ORG_ID = filter.GetOrgId();
completion.START_TIME = i; completion.START_TIME = i;
completion.END_TIME = monthEnd; completion.END_TIME = monthEnd;
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(),
onTimeCount = group.Where(i => (i.SHIFT_STATUS == (int)FOShiftStatusEnum. || i.SHIFT_STATUS == (int)FOShiftStatusEnum.) && i.OVERTIME == FOISOVERTIME.).Count(), onTimeCount = group.Where(i => (i.SHIFT_STATUS == (int)FOShiftStatusEnum. || i.SHIFT_STATUS == (int)FOShiftStatusEnum.) && i.OVERTIME == FOISOVERTIME.).Count(),
overTimeCount = group.Where(i => (i.SHIFT_STATUS == (int)FOShiftStatusEnum. || i.SHIFT_STATUS == (int)FOShiftStatusEnum.) && i.OVERTIME == FOISOVERTIME.).Count() overTimeCount = group.Where(i => (i.SHIFT_STATUS == (int)FOShiftStatusEnum. || i.SHIFT_STATUS == (int)FOShiftStatusEnum.) && i.OVERTIME == FOISOVERTIME.).Count()
}).ToList(); }).ToList();
if (currentShift.Any()) if (currentShift.Any())
{ {
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;
//completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID; //completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
//completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; //completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.MONTH = i; completion.MONTH = i;
completion.MONTHStr = i.Year + "年" + i.Month + "月"; completion.MONTHStr = i.Year + "年" + i.Month + "月";
//completion.TEAM_ID = item.Key.CLASS_TEAM_ID; //completion.TEAM_ID = item.Key.CLASS_TEAM_ID;
//completion.TEAM_NAME = item.Key.TeamName; //completion.TEAM_NAME = item.Key.TeamName;
completion.TOTAL_COUNT = item.totalCount; completion.TOTAL_COUNT = item.totalCount;
completion.WAITTING_COUNT = item.waitingCount; completion.WAITTING_COUNT = item.waitingCount;
completion.FINISH_COUNT = item.finishCount; completion.FINISH_COUNT = item.finishCount;
completion.ONTIME_COUNT = item.onTimeCount; completion.ONTIME_COUNT = item.onTimeCount;
completion.OVERTIME_COUNT = item.overTimeCount; completion.OVERTIME_COUNT = item.overTimeCount;
completion.FORM_NAME = "岗位当班"; completion.FORM_NAME = "岗位当班";
completion.ORG_ID = filter.GetOrgId(); completion.ORG_ID = filter.GetOrgId();
completion.START_TIME = i; completion.START_TIME = i;
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_ID = departInfo?.PARENT_ID;
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; // completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.SHOP_DEPARTMENT_ID = item.Key.CLASS_TEAM_ID; // completion.SHOP_DEPARTMENT_ID = item.Key.CLASS_TEAM_ID;
completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName; // completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName;
completion.TEAM_ID = null; // completion.TEAM_ID = null;
completion.TEAM_NAME = null; // completion.TEAM_NAME = null;
} //}
if (departInfo.DEPARTMENT_TYPE == 20) //if (departInfo.DEPARTMENT_TYPE == 20)
{ //{
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;
completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID; // completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; // completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.TEAM_ID = departInfo.ID; // completion.TEAM_ID = departInfo.ID;
completion.TEAM_NAME = departInfo.NAME; // completion.TEAM_NAME = departInfo.NAME;
} //}
} completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
completions.Add(completion); 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);
} }
} }
else else
{ {
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 + "月";
completion.TOTAL_COUNT = 0; completion.TOTAL_COUNT = 0;
completion.WAITTING_COUNT = 0; completion.WAITTING_COUNT = 0;
completion.FINISH_COUNT = 0; completion.FINISH_COUNT = 0;
completion.ONTIME_COUNT = 0; completion.ONTIME_COUNT = 0;
completion.OVERTIME_COUNT = 0; completion.OVERTIME_COUNT = 0;
completion.FORM_NAME = "岗位当班"; completion.FORM_NAME = "岗位当班";
completion.ORG_ID = filter.GetOrgId(); completion.ORG_ID = filter.GetOrgId();
completion.START_TIME = i; completion.START_TIME = i;
completion.END_TIME = monthEnd; completion.END_TIME = monthEnd;
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(),
onTimeCount = group.Where(i => i.SHIFT_STATUS == (int)FOChangeShiftStatusEnum. && i.OVERTIME == FOISOVERTIME.).Count(), onTimeCount = group.Where(i => i.SHIFT_STATUS == (int)FOChangeShiftStatusEnum. && i.OVERTIME == FOISOVERTIME.).Count(),
overTimeCount = group.Where(i => i.SHIFT_STATUS == (int)FOChangeShiftStatusEnum. && i.OVERTIME == FOISOVERTIME.).Count() overTimeCount = group.Where(i => i.SHIFT_STATUS == (int)FOChangeShiftStatusEnum. && i.OVERTIME == FOISOVERTIME.).Count()
}).ToList(); }).ToList();
if (changeShift.Any()) if (changeShift.Any())
{ {
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;
//completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID; //completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
//completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; //completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.MONTH = i; completion.MONTH = i;
completion.MONTHStr = i.Year + "年" + i.Month + "月"; completion.MONTHStr = i.Year + "年" + i.Month + "月";
//completion.TEAM_ID = item.Key.TEAM_ID; //completion.TEAM_ID = item.Key.TEAM_ID;
//completion.TEAM_NAME = item.Key.TeamName; //completion.TEAM_NAME = item.Key.TeamName;
completion.TOTAL_COUNT = item.totalCount; completion.TOTAL_COUNT = item.totalCount;
completion.WAITTING_COUNT = item.waitingCount; completion.WAITTING_COUNT = item.waitingCount;
completion.FINISH_COUNT = item.finishCount; completion.FINISH_COUNT = item.finishCount;
completion.ONTIME_COUNT = item.onTimeCount; completion.ONTIME_COUNT = item.onTimeCount;
completion.OVERTIME_COUNT = item.overTimeCount; completion.OVERTIME_COUNT = item.overTimeCount;
completion.FORM_NAME = "岗位交接班"; completion.FORM_NAME = "岗位交接班";
completion.ORG_ID = filter.GetOrgId(); completion.ORG_ID = filter.GetOrgId();
completion.START_TIME = i; completion.START_TIME = i;
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_ID = departInfo?.PARENT_ID;
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; // completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID; // completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID;
completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName; // completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName;
completion.TEAM_ID = null; // completion.TEAM_ID = null;
completion.TEAM_NAME = null; // completion.TEAM_NAME = null;
} //}
if (departInfo.DEPARTMENT_TYPE == 20) //if (departInfo.DEPARTMENT_TYPE == 20)
{ //{
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;
completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID; // completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; // completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.TEAM_ID = departInfo.ID; // completion.TEAM_ID = departInfo.ID;
completion.TEAM_NAME = departInfo.NAME; // completion.TEAM_NAME = departInfo.NAME;
} //}
} completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
completions.Add(completion); completion.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == completion.DEPARTMENT_ID)?.NAME;
} completion.TEAM_ID = departInfo?.ID;
} completion.TEAM_NAME = departInfo?.NAME;
else }
{ completions.Add(completion);
}
T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION(); }
completion.MONTH = i; else
completion.MONTHStr = i.Year + "年" + i.Month + "月"; {
completion.TOTAL_COUNT = 0;
completion.WAITTING_COUNT = 0; T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION();
completion.FINISH_COUNT = 0; completion.MONTH = i;
completion.ONTIME_COUNT = 0; completion.MONTHStr = i.Year + "年" + i.Month + "月";
completion.OVERTIME_COUNT = 0; completion.TOTAL_COUNT = 0;
completion.FORM_NAME = "岗位交接班"; completion.WAITTING_COUNT = 0;
completion.ORG_ID = filter.GetOrgId(); completion.FINISH_COUNT = 0;
completion.START_TIME = i; completion.ONTIME_COUNT = 0;
completion.END_TIME = monthEnd; completion.OVERTIME_COUNT = 0;
completion.FORM_NAME = "岗位交接班";
completion.ORG_ID = filter.GetOrgId();
completion.START_TIME = i;
completion.END_TIME = monthEnd;
completions.Add(completion); completions.Add(completion);
} }
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(),
onTimeCount = group.Where(i => i.TA_STATUS == (int)FOTeamActivityState. && i.OVERTIME == FOISOVERTIME.).Count(), onTimeCount = group.Where(i => i.TA_STATUS == (int)FOTeamActivityState. && i.OVERTIME == FOISOVERTIME.).Count(),
overTimeCount = group.Where(i => i.TA_STATUS == (int)FOTeamActivityState. && i.OVERTIME == FOISOVERTIME.).Count() overTimeCount = group.Where(i => i.TA_STATUS == (int)FOTeamActivityState. && i.OVERTIME == FOISOVERTIME.).Count()
}).ToList(); }).ToList();
if (teamActivity.Any()) if (teamActivity.Any())
{ {
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;
//completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID; //completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
//completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; //completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.MONTH = i; completion.MONTH = i;
completion.MONTHStr = i.Year + "年" + i.Month + "月"; completion.MONTHStr = i.Year + "年" + i.Month + "月";
//completion.TEAM_ID = item.Key.TEAM_ID; //completion.TEAM_ID = item.Key.TEAM_ID;
//completion.TEAM_NAME = item.Key.TeamName; //completion.TEAM_NAME = item.Key.TeamName;
completion.TOTAL_COUNT = item.totalCount; completion.TOTAL_COUNT = item.totalCount;
completion.WAITTING_COUNT = item.waitingCount; completion.WAITTING_COUNT = item.waitingCount;
completion.FINISH_COUNT = item.finishCount; completion.FINISH_COUNT = item.finishCount;
completion.ONTIME_COUNT = item.onTimeCount; completion.ONTIME_COUNT = item.onTimeCount;
completion.OVERTIME_COUNT = item.overTimeCount; completion.OVERTIME_COUNT = item.overTimeCount;
completion.FORM_NAME = "班组安全活动记录"; completion.FORM_NAME = "班组安全活动记录";
completion.ORG_ID = filter.GetOrgId(); completion.ORG_ID = filter.GetOrgId();
completion.START_TIME = i; completion.START_TIME = i;
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_ID = departInfo?.PARENT_ID;
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; // completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID; // completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID;
completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName; // completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName;
completion.TEAM_ID = null; // completion.TEAM_ID = null;
completion.TEAM_NAME = null; // completion.TEAM_NAME = null;
} //}
if (departInfo.DEPARTMENT_TYPE == 20) //if (departInfo.DEPARTMENT_TYPE == 20)
{ //{
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;
completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID; // completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; // completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.TEAM_ID = departInfo.ID; // completion.TEAM_ID = departInfo.ID;
completion.TEAM_NAME = departInfo.NAME; // completion.TEAM_NAME = departInfo.NAME;
} //}
} completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
completions.Add(completion); 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);
} }
} }
else { else {
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 + "月";
completion.TOTAL_COUNT = 0; completion.TOTAL_COUNT = 0;
completion.WAITTING_COUNT = 0; completion.WAITTING_COUNT = 0;
completion.FINISH_COUNT = 0; completion.FINISH_COUNT = 0;
completion.ONTIME_COUNT = 0; completion.ONTIME_COUNT = 0;
completion.OVERTIME_COUNT = 0; completion.OVERTIME_COUNT = 0;
completion.FORM_NAME = "班组安全活动记录"; completion.FORM_NAME = "班组安全活动记录";
completion.ORG_ID = filter.GetOrgId(); completion.ORG_ID = filter.GetOrgId();
completion.START_TIME = i; completion.START_TIME = i;
completion.END_TIME = monthEnd; completion.END_TIME = monthEnd;
completions.Add(completion); completions.Add(completion);
} }
} }
@ -938,7 +1002,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
try try
{ {
List<T_FM_WORK_TICKET_COMPLETION> completions = new List<T_FM_WORK_TICKET_COMPLETION>(); List<T_FM_WORK_TICKET_COMPLETION> completions = new List<T_FM_WORK_TICKET_COMPLETION>();
var jobIds = GetEntities<T_FO_CRUCIAL_LICENSE_JOB>(i => true, new BaseFilter(filter.GetOrgId())).Select(t => t.ID).ToList(); var jobIds = GetEntities<T_FO_CRUCIAL_LICENSE_JOB>(i => true, new BaseFilter(filter.GetOrgId())).Select(t => t.ID).ToList();
var fireJobIds = GetEntities<T_FO_FIRE_JOB>(i => true, new BaseFilter(filter.GetOrgId())).Select(t => t.ID).ToList(); var fireJobIds = GetEntities<T_FO_FIRE_JOB>(i => true, new BaseFilter(filter.GetOrgId())).Select(t => t.ID).ToList();
var tasks = this.GetEntities<T_FM_NOTIFICATION_TASK>(t => fireJobIds.Contains((Guid)t.SOURCE_DATA_ID) || jobIds.Contains((Guid)t.SOURCE_DATA_ID), new BaseFilter(filter.GetOrgId())) var tasks = this.GetEntities<T_FM_NOTIFICATION_TASK>(t => fireJobIds.Contains((Guid)t.SOURCE_DATA_ID) || jobIds.Contains((Guid)t.SOURCE_DATA_ID), new BaseFilter(filter.GetOrgId()))
.Select(m => new { m.NOTICE_STATUS, m.USER_ID }).ToList(); .Select(m => new { m.NOTICE_STATUS, m.USER_ID }).ToList();
@ -1023,13 +1087,13 @@ namespace APT.PP.WebApi.Controllers.Api.PP
var departments = GetEntities<T_FM_DEPARTMENT>(t => !t.IS_DELETED, baseFilter); var departments = GetEntities<T_FM_DEPARTMENT>(t => !t.IS_DELETED, baseFilter);
baseFilter.SelectField = new string[] { "ID", "IS_PUBLISH", "DEPARTMENT_ID", "CREATE_TIME", "IS_OVERTIME", "APPLY_USER_ID" }; //指定字段,包括导航属性 baseFilter.SelectField = new string[] { "ID", "IS_PUBLISH", "DEPARTMENT_ID", "CREATE_TIME", "IS_OVERTIME", "APPLY_USER_ID" }; //指定字段,包括导航属性
var jobInfos = GetEntities<T_FO_CRUCIAL_LICENSE_JOB>(i => i.CREATE_TIME >= startTime && i.IS_DELETED == false && i.APPLY_USER_ID != null, baseFilter).ToList(); var jobInfos = GetEntities<T_FO_CRUCIAL_LICENSE_JOB>(i => i.CREATE_TIME >= startTime && i.IS_DELETED == false && i.APPLY_USER_ID != null, baseFilter).ToList();
var jobIds = jobInfos.Select(t => t.ID).ToList(); var jobIds = jobInfos.Select(t => t.ID).ToList();
baseFilter.SelectField = new string[] { "ID", "STATUS", "APPLY_DEPARTMENT_ID", "CREATE_TIME", "IS_OVERTIME" }; baseFilter.SelectField = new string[] { "ID", "STATUS", "APPLY_DEPARTMENT_ID", "CREATE_TIME", "IS_OVERTIME" };
var fireJobInfos = GetEntities<T_FO_FIRE_JOB>(i => i.CREATE_TIME >= startTime && i.IS_DELETED == false && i.APPLY_DEPARTMENT_ID != null, baseFilter).ToList(); var fireJobInfos = GetEntities<T_FO_FIRE_JOB>(i => i.CREATE_TIME >= startTime && i.IS_DELETED == false && i.APPLY_DEPARTMENT_ID != null, baseFilter).ToList();
var fireJobIds = fireJobInfos.Select(t => t.ID).ToList(); var fireJobIds = fireJobInfos.Select(t => t.ID).ToList();
jobIds.AddRange(fireJobIds); jobIds.AddRange(fireJobIds);
baseFilter.SelectField = new string[] { "ID", "NOTICE_STATUS", "CREATE_TIME", "SOURCE_DATA_ID" }; //指定字段,包括导航属性 baseFilter.SelectField = new string[] { "ID", "NOTICE_STATUS", "CREATE_TIME", "SOURCE_DATA_ID" }; //指定字段,包括导航属性
var tasks = this.GetEntities<T_FM_NOTIFICATION_TASK>(t => t.IS_DELETED == false && t.CREATE_TIME >= startTime && t.NOTICE_STATUS == 2 && jobIds.Contains((Guid)t.SOURCE_DATA_ID), baseFilter).ToList(); var tasks = this.GetEntities<T_FM_NOTIFICATION_TASK>(t => t.IS_DELETED == false && t.CREATE_TIME >= startTime && t.NOTICE_STATUS == 2 && jobIds.Contains((Guid)t.SOURCE_DATA_ID), baseFilter).ToList();
var userIds = jobInfos.Select(t => t.APPLY_USER_ID).Distinct().ToList(); var userIds = jobInfos.Select(t => t.APPLY_USER_ID).Distinct().ToList();
baseFilter.SelectField = new string[] { "ID", "DEPARTMENT_ID"}; //指定字段,包括导航属性 baseFilter.SelectField = new string[] { "ID", "DEPARTMENT_ID"}; //指定字段,包括导航属性
var userInfos = GetEntities<T_FM_USER>(i => userIds.Contains(i.ID), baseFilter).ToList(); var userInfos = GetEntities<T_FM_USER>(i => userIds.Contains(i.ID), baseFilter).ToList();
@ -1048,14 +1112,14 @@ namespace APT.PP.WebApi.Controllers.Api.PP
job.DEPARTMENT_ID = user?.DEPARTMENT_ID; job.DEPARTMENT_ID = user?.DEPARTMENT_ID;
job.IS_PUBLISH = item.IS_PUBLISH; job.IS_PUBLISH = item.IS_PUBLISH;
jobs.Add(job); jobs.Add(job);
} }
foreach (var item in fireJobInfos) foreach (var item in fireJobInfos)
{ {
var task = tasks.FirstOrDefault(t => t.SOURCE_DATA_ID == item.ID); var task = tasks.FirstOrDefault(t => t.SOURCE_DATA_ID == item.ID);
if (task == null) if (task == null)
item.IS_OVERTIME = 0; item.IS_OVERTIME = 0;
else else
item.IS_OVERTIME = 1; item.IS_OVERTIME = 1;
JobInfo job = new JobInfo(); JobInfo job = new JobInfo();
job.CREATE_TIME = item.CREATE_TIME; job.CREATE_TIME = item.CREATE_TIME;
job.IS_OVERTIME = item.IS_OVERTIME; job.IS_OVERTIME = item.IS_OVERTIME;
@ -1077,62 +1141,66 @@ namespace APT.PP.WebApi.Controllers.Api.PP
onTimeCount = group.Where(i => i.IS_OVERTIME == 0 && i.IS_PUBLISH == 5).Count(), onTimeCount = group.Where(i => i.IS_OVERTIME == 0 && i.IS_PUBLISH == 5).Count(),
overFinishCount = group.Where(i => i.IS_OVERTIME == 1 && i.IS_PUBLISH == 5).Count() overFinishCount = group.Where(i => i.IS_OVERTIME == 1 && i.IS_PUBLISH == 5).Count()
}).ToList(); }).ToList();
if (results.Any()) if (results.Any())
{ {
foreach (var item in results) foreach (var item in results)
{ {
T_FM_WORK_TICKET_COMPLETION completion = new T_FM_WORK_TICKET_COMPLETION(); T_FM_WORK_TICKET_COMPLETION completion = new T_FM_WORK_TICKET_COMPLETION();
completion.MONTH = i; completion.MONTH = i;
completion.MONTHStr = i.Year + "年" + i.Month + "月"; completion.MONTHStr = i.Year + "年" + i.Month + "月";
completion.TOTAL_COUNT = item.totalCount; completion.TOTAL_COUNT = item.totalCount;
completion.FINISH_COUNT = item.finishCount; completion.FINISH_COUNT = item.finishCount;
completion.OVER_FINISH_COUNT = item.overFinishCount; completion.OVER_FINISH_COUNT = item.overFinishCount;
completion.WAITTING_COUNT = item.waitingCount; completion.WAITTING_COUNT = item.waitingCount;
completion.ONTIME_COUNT = item.onTimeCount; completion.ONTIME_COUNT = item.onTimeCount;
completion.ORG_ID = filter.GetOrgId(); completion.ORG_ID = filter.GetOrgId();
completion.START_TIME = i; completion.START_TIME = i;
completion.END_TIME = monthEnd; completion.END_TIME = monthEnd;
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_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_ID = item.departmetId;
completion.SHOP_DEPARTMENT_NAME = departInfo?.NAME; // completion.SHOP_DEPARTMENT_NAME = departInfo?.NAME;
} //}
if (departInfo.DEPARTMENT_TYPE == 20) //if (departInfo.DEPARTMENT_TYPE == 20)
{ //{
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;
completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID; // completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME; // 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;
} //}
} completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
completions.Add(completion); completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
completion.TEAM_ID = item.departmetId;
completion.TEAM_NAME = departInfo?.NAME;
}
completions.Add(completion);
} }
} }
else else
{ {
T_FM_WORK_TICKET_COMPLETION completion = new T_FM_WORK_TICKET_COMPLETION(); T_FM_WORK_TICKET_COMPLETION completion = new T_FM_WORK_TICKET_COMPLETION();
completion.MONTH = i; completion.MONTH = i;
completion.MONTHStr = i.Year + "年" + i.Month + "月"; completion.MONTHStr = i.Year + "年" + i.Month + "月";
completion.TOTAL_COUNT = 0; completion.TOTAL_COUNT = 0;
completion.FINISH_COUNT = 0; completion.FINISH_COUNT = 0;
completion.OVER_FINISH_COUNT = 0; completion.OVER_FINISH_COUNT = 0;
completion.WAITTING_COUNT =0; completion.WAITTING_COUNT =0;
completion.ONTIME_COUNT = 0; completion.ONTIME_COUNT = 0;
completion.ORG_ID = filter.GetOrgId(); completion.ORG_ID = filter.GetOrgId();
completion.START_TIME = i; completion.START_TIME = i;
completion.END_TIME = monthEnd; completion.END_TIME = monthEnd;
completions.Add(completion); completions.Add(completion);
} }
} }
@ -1624,7 +1692,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
} }
return true; return true;
}); });
} }
[HttpPost, Route("UserPersonSync")] [HttpPost, Route("UserPersonSync")]
public JsonActionResult<bool> UserPersonSync([FromBody] KeywordPageFilter pageFilter) public JsonActionResult<bool> UserPersonSync([FromBody] KeywordPageFilter pageFilter)
{ {
@ -1635,37 +1703,37 @@ namespace APT.PP.WebApi.Controllers.Api.PP
var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId.Value; var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId.Value;
BaseFilter baseFilter = new BaseFilter(orgId); BaseFilter baseFilter = new BaseFilter(orgId);
baseFilter.SelectField = new string[] { "ID","NAME", "USER_ID" }; baseFilter.SelectField = new string[] { "ID","NAME", "USER_ID" };
var depats = this.GetEntities<T_FM_DEPARTMENT>(t => !t.IS_DELETED && t.ENABLE_STATUS == 0 && t.DEPARTMENT_TYPE == (int)FMDepartmentType.Class, baseFilter).ToList(); var depats = this.GetEntities<T_FM_DEPARTMENT>(t => !t.IS_DELETED && t.ENABLE_STATUS == 0 && t.DEPARTMENT_TYPE == (int)FMDepartmentType.Class, baseFilter).ToList();
var depatIds = depats.Select(t => t.ID).ToList(); var depatIds = depats.Select(t => t.ID).ToList();
baseFilter.SelectField = new string[] { "ID", "DEPARTMENT_ID", "PERSON_ID" }; baseFilter.SelectField = new string[] { "ID", "DEPARTMENT_ID", "PERSON_ID" };
var users = this.GetEntities<T_FM_USER>(t => !t.IS_DELETED && t.ENABLE_STATUS == 0 && !t.CODE.Contains("admin") && t.DEPARTMENT_ID != null && depatIds.Contains((Guid)t.DEPARTMENT_ID), baseFilter).ToList(); var users = this.GetEntities<T_FM_USER>(t => !t.IS_DELETED && t.ENABLE_STATUS == 0 && !t.CODE.Contains("admin") && t.DEPARTMENT_ID != null && depatIds.Contains((Guid)t.DEPARTMENT_ID), baseFilter).ToList();
List<T_FM_TEAM> teamInfos = new List<T_FM_TEAM>(); List<T_FM_TEAM> teamInfos = new List<T_FM_TEAM>();
List<T_FM_TEAM_PERSON> teamPersons = new List<T_FM_TEAM_PERSON>(); List<T_FM_TEAM_PERSON> teamPersons = new List<T_FM_TEAM_PERSON>();
if (depats != null && depats.Any()) if (depats != null && depats.Any())
{ {
foreach (var item in depats) foreach (var item in depats)
{ {
T_FM_TEAM team = new T_FM_TEAM(); T_FM_TEAM team = new T_FM_TEAM();
team.NAME = item.NAME; team.NAME = item.NAME;
team.CHARGE_PERSON_ID = users.FirstOrDefault(t=>t.ID == item.USER_ID)?.PERSON_ID; team.CHARGE_PERSON_ID = users.FirstOrDefault(t=>t.ID == item.USER_ID)?.PERSON_ID;
team.DEPARTMENT_ID = item.ID; team.DEPARTMENT_ID = item.ID;
team.ORG_ID = orgId; team.ORG_ID = orgId;
teamInfos.Add(team); teamInfos.Add(team);
var teamPersonTemps = users.Where(t => t.DEPARTMENT_ID == item.ID && t.PERSON_ID!=null).Select(m=>m.PERSON_ID).ToList(); var teamPersonTemps = users.Where(t => t.DEPARTMENT_ID == item.ID && t.PERSON_ID!=null).Select(m=>m.PERSON_ID).ToList();
if (teamPersonTemps != null && teamPersonTemps.Any()) if (teamPersonTemps != null && teamPersonTemps.Any())
{ {
foreach (var person in teamPersonTemps) foreach (var person in teamPersonTemps)
{ {
T_FM_TEAM_PERSON teamPerson = new T_FM_TEAM_PERSON(); T_FM_TEAM_PERSON teamPerson = new T_FM_TEAM_PERSON();
teamPerson.PERSON_ID = (Guid)person; teamPerson.PERSON_ID = (Guid)person;
teamPerson.TEAM_ID = team.ID; teamPerson.TEAM_ID = team.ID;
teamPerson.ORG_ID = orgId; teamPerson.ORG_ID = orgId;
teamPersons.Add(teamPerson); teamPersons.Add(teamPerson);
} }
} }
} }
} }
this.UnifiedCommit(() => this.UnifiedCommit(() =>
{ {
if (teamInfos!=null && teamInfos.Any()) if (teamInfos!=null && teamInfos.Any())
@ -2067,7 +2135,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{ {
perME = GetRiskReason(2, listYear[j], itemD.ID, Guid.Empty, 2, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象 perME = GetRiskReason(2, listYear[j], itemD.ID, Guid.Empty, 2, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象
listResult.Add(perME);//地址引用 应该是支持 listResult.Add(perME);//地址引用 应该是支持
} }
perCount = dtSubmitContent.Where(e => e.STATUS == PFStandardStatus.Archived && e.COMPLETE_DATE <= e.RECITIFY_TIME && e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患 perCount = dtSubmitContent.Where(e => e.STATUS == PFStandardStatus.Archived && e.COMPLETE_DATE <= e.RECITIFY_TIME && e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患
perME.DEPARTMENT_TYPE = FMDepartmentType.Class; perME.DEPARTMENT_TYPE = FMDepartmentType.Class;
perME.NUMD = depNum; perME.NUMD = depNum;
@ -2083,7 +2151,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{ {
perME = GetRiskReason(2, listYear[j], itemD.ID, Guid.Empty, 3, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象 perME = GetRiskReason(2, listYear[j], itemD.ID, Guid.Empty, 3, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象
listResult.Add(perME);//地址引用 应该是支持 listResult.Add(perME);//地址引用 应该是支持
} }
perCount = dtSubmitContent.Where(e => e.STATUS == PFStandardStatus.Archived && e.COMPLETE_DATE <= e.RECITIFY_TIME && e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患 perCount = dtSubmitContent.Where(e => e.STATUS == PFStandardStatus.Archived && e.COMPLETE_DATE <= e.RECITIFY_TIME && e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患
perCountNot = 0; perCountNot = 0;
if (listCheck != null && listCheck.Any()) if (listCheck != null && listCheck.Any())
@ -2125,7 +2193,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{ {
perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 1, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象 perME = GetRiskReason(itemD.DEPARTMENT_TYPE, listYear[j], itemD.ID, Guid.Empty, 1, filter.OrgId, perVal, listMonth[j], CaculateType);//如果没有 就新建对象
listResult.Add(perME);//地址引用 应该是支持 listResult.Add(perME);//地址引用 应该是支持
} }
perCount = dtSubmitContent.Where(e => e.STATUS == PFStandardStatus.Archived && e.COMPLETE_DATE <= e.RECITIFY_TIME && e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患 perCount = dtSubmitContent.Where(e => e.STATUS == PFStandardStatus.Archived && e.COMPLETE_DATE <= e.RECITIFY_TIME && e.APPLY_DEPARTMENT_ID.Value == itemD.ID && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == listYear[j] && e.CREATE_TIME.Value.Month == listMonth[j]).Count();//某组织 年 月 按时整改隐患
perSubCount = 0;//每次清零 后相加 perSubCount = 0;//每次清零 后相加

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();
@ -2521,8 +2548,20 @@ namespace APT.SC.WebApi.Controllers.Api.BI
//result.ListSafeCheckCountDepartmentBZ = listCheckDepCountBZ; //result.ListSafeCheckCountDepartmentBZ = listCheckDepCountBZ;
foreach (var item in listCheckDepCountCJ) foreach (var item in listCheckDepCountCJ)
{ {
item.listChild = listCheckDepCountBZ.Where(e => e.PARENT_ID == item.Department_ID).OrderBy(e => e.NUM).ToList(); //if (item.DepartmentType == 10)
item.RowCount = item.listChild.Count(); //{
// 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 #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
@ -10384,36 +10384,39 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
shopId = group.FirstOrDefault(i => i.TEAM_ID == group.Key.TEAM_ID)?.DEPARTMENT_ID, 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, 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).Sum(m => m.FINISH_COUNT), //shopDoneCount = group.Where(i => i.DEPARTMENT_ID == group.Key.DEPARTMENT_ID).Sum(m => m.FINISH_COUNT),
teamOntimeCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_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),
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), 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)
//{ //{