Merge branch 'master' of http://121.41.2.71:3000/wyw/mh_jy_safe
This commit is contained in:
commit
17f6ec84c0
@ -11824,8 +11824,8 @@ namespace APT.BaseData.Services.DomainServices
|
||||
noticeDetail.HIDDEN_PLACE = detail.HIDDEN_PLACE;
|
||||
noticeDetail.RECITIFY_TIME = detail.RECITIFY_TIME;
|
||||
noticeDetail.RECITIFY_USER_ID = detail.RECITIFY_USER_ID;
|
||||
noticeDetail.RECTIFICATION_MEASURES = hidDescrip?.DEMAND;
|
||||
noticeDetail.REMARK = detail.REMARK;
|
||||
noticeDetail.RECTIFICATION_MEASURES = detail.REMARK;
|
||||
//noticeDetail.REMARK = detail.REMARK;
|
||||
noticeDetails.Add(noticeDetail);
|
||||
if (detail.Nav_ReportDetailFiles != null && detail.Nav_ReportDetailFiles.Any())
|
||||
{
|
||||
@ -12077,7 +12077,7 @@ namespace APT.BaseData.Services.DomainServices
|
||||
record.HIDDEN_PLACE = entity.HIDDEN_PLACE;
|
||||
record.CHECK_CONTENTS_ID = entity.CHECK_CONTENTS_ID;
|
||||
record.CHECK_QUESTION_ID = entity.CHECK_QUESTION_ID;
|
||||
record.HIDDEN_DESCRIPTION = entity.HIDDEN_DESCRIPTION;
|
||||
record.HIDDEN_DESCRIPTION = entity.HIDDEN_DESCRIPTION_DETAIL;
|
||||
record.HIDDEN_LEVEL = entity.HIDDEN_LEVEL;
|
||||
record.RECITIFY_TIME = entity.RECITIFY_TIME;
|
||||
record.RECITIFY_USER_ID = entity.RECITIFY_USER_ID;
|
||||
@ -12086,7 +12086,7 @@ namespace APT.BaseData.Services.DomainServices
|
||||
record.CHECK_PERSON = user.NAME;
|
||||
record.IMPLEMENT_USER_ID = entity.RECITIFY_USER_ID;
|
||||
record.ACCEPT_USER_ID = acceptUser?.ID;
|
||||
record.RECTIFICATION_MEASURES = entity.REMARK;
|
||||
record.RECTIFICATION_MEASURES = entity.RECTIFICATION_MEASURES;
|
||||
record.NOTICE_CODE = entity.NOTICE_CODE;
|
||||
if (photos != null && photos.Any())
|
||||
{
|
||||
@ -12142,7 +12142,7 @@ namespace APT.BaseData.Services.DomainServices
|
||||
record.HIDDEN_PLACE = entity.HIDDEN_PLACE;
|
||||
record.CHECK_CONTENTS_ID = entity.CHECK_CONTENTS_ID;
|
||||
record.CHECK_QUESTION_ID = entity.CHECK_QUESTION_ID;
|
||||
record.HIDDEN_DESCRIPTION = entity.HIDDEN_DESCRIPTION;
|
||||
record.HIDDEN_DESCRIPTION = entity.HIDDEN_DESCRIPTION_DETAIL;
|
||||
record.HIDDEN_LEVEL = entity.HIDDEN_LEVEL;
|
||||
record.RECITIFY_TIME = entity.RECITIFY_TIME;
|
||||
record.RECITIFY_USER_ID = entity.RECITIFY_USER_ID;
|
||||
@ -12151,7 +12151,7 @@ namespace APT.BaseData.Services.DomainServices
|
||||
record.CHECK_PERSON = user.NAME;
|
||||
record.IMPLEMENT_USER_ID = entity.RECITIFY_USER_ID;
|
||||
record.ACCEPT_USER_ID = acceptUser?.ID;
|
||||
record.RECTIFICATION_MEASURES = entity.REMARK;
|
||||
record.RECTIFICATION_MEASURES = entity.RECTIFICATION_MEASURES;
|
||||
record.NOTICE_CODE = entity.NOTICE_CODE;
|
||||
if (photos != null && photos.Any())
|
||||
{
|
||||
@ -12238,8 +12238,8 @@ namespace APT.BaseData.Services.DomainServices
|
||||
noticeDetail.CHECKCONTENT = entity.CHECKCONTENT;
|
||||
noticeDetail.CHECKPROOF = entity.CHECKPROOF;
|
||||
noticeDetail.CHECKSTANDARD = entity.CHECKSTANDARD;
|
||||
noticeDetail.HIDDEN_DESCRIPTION = entity.HIDDEN_DESCRIPTION;
|
||||
noticeDetail.RECTIFICATION_MEASURES = hidDescrip?.DEMAND;
|
||||
noticeDetail.HIDDEN_DESCRIPTION = entity.HIDDEN_DESCRIPTION_DETAIL;
|
||||
noticeDetail.RECTIFICATION_MEASURES = entity.RECTIFICATION_MEASURES;
|
||||
noticeDetail.HIDDEN_LEVEL = entity.HIDDEN_LEVEL;
|
||||
noticeDetail.HIDDEN_PLACE = entity.HIDDEN_PLACE;
|
||||
noticeDetail.RECITIFY_TIME = entity.RECITIFY_TIME;
|
||||
|
||||
@ -260,32 +260,46 @@ namespace APT.PP.WebApi.Controllers.Api.PP
|
||||
baseFilter.SelectField = new string[] { "ID", "DEPARTMENT_ID" };
|
||||
var teams = GetEntities<T_FM_TEAM>(t => !t.IS_DELETED && t.ENABLE_STATUS == 0, baseFilter);
|
||||
baseFilter.SelectField = new string[] { "TEAM_ID", "Nav_Team.NAME", "PRE_MEETING_STATUS", "DEPARTMENT_ID", "OVERTIME", "CREATE_TIME" }; //指定字段,包括导航属性
|
||||
var preShiftMeetingTemp = GetEntities<T_FO_PRE_SHIFT_MEETING_RECORD>(i => i.CREATE_TIME >= startTime && i.TEAM_ID != null && i.Nav_Team.IS_DELETED == false && i.IS_DELETED == false && i.DEPARTMENT_ID != null, baseFilter).ToList();
|
||||
var preShiftMeetingTemp = GetEntities<T_FO_PRE_SHIFT_MEETING_RECORD>(i => i.CREATE_TIME >= startTime && i.IS_DELETED == false, baseFilter).ToList();
|
||||
baseFilter.SelectField = new string[] { "CLASS_TEAM_ID", "Nav_Team.NAME", "SHIFT_STATUS", "DEPARTMENT_ID", "OVERTIME", "CREATE_TIME" }; //指定字段,包括导航属性
|
||||
var currentShiftTemp = GetEntities<T_FO_CURRENT_CLASS_RECORD>(i => i.CREATE_TIME >= startTime && i.Nav_Team.IS_DELETED == false && i.CLASS_TEAM_ID != null && i.IS_DELETED == false && i.DEPARTMENT_ID != null, baseFilter).ToList();
|
||||
var currentShiftTemp = GetEntities<T_FO_CURRENT_CLASS_RECORD>(i => i.CREATE_TIME >= startTime && i.IS_DELETED == false, baseFilter).ToList();
|
||||
baseFilter.SelectField = new string[] { "TEAM_ID", "Nav_Team.NAME", "SHIFT_STATUS", "DEPARTMENT_ID", "OVERTIME", "CREATE_TIME" }; //指定字段,包括导航属性
|
||||
var changeShiftTemp = GetEntities<T_FO_CHANGE_SHIFT_RECORD>(i => i.CREATE_TIME >= startTime && i.TEAM_ID != null && i.Nav_Team.IS_DELETED == false && i.IS_DELETED == false && i.DEPARTMENT_ID != null, baseFilter).ToList();
|
||||
var changeShiftTemp = GetEntities<T_FO_CHANGE_SHIFT_RECORD>(i => i.CREATE_TIME >= startTime && i.IS_DELETED == false, baseFilter).ToList();
|
||||
baseFilter.SelectField = new string[] { "TEAM_ID", "Nav_Taem.NAME", "TA_STATUS", "Nav_Taem.DEPARTMENT_ID", "OVERTIME", "CREATE_TIME" }; //指定字段,包括导航属性
|
||||
var teamActivityTemp = GetEntities<T_FO_TEAM_ACTIVITY>(i => i.CREATE_TIME >= startTime && i.TEAM_ID != null && i.Nav_Taem.IS_DELETED == false && i.IS_DELETED == false && i.Nav_Taem.DEPARTMENT_ID != null, baseFilter).ToList();
|
||||
var teamActivityTemp = GetEntities<T_FO_TEAM_ACTIVITY>(i => i.CREATE_TIME >= startTime && i.IS_DELETED == false, baseFilter).ToList();
|
||||
for (DateTime i = startTime; i <= endTime; i = i.AddMonths(i.Month - i.Month + 1).AddDays(1 - i.Day))
|
||||
{
|
||||
var monthEnd = Convert.ToDateTime(i.AddMonths(i.Month - i.Month + 1).AddDays(1 - i.Day - 1).ToString().Replace("0:00:00", "23:59:59"));
|
||||
var preTemp = preShiftMeetingTemp.Where(t => t.CREATE_TIME >= i && t.CREATE_TIME <= monthEnd).ToList();
|
||||
foreach (var item in preTemp)
|
||||
{
|
||||
if (item.TEAM_ID == null)
|
||||
{
|
||||
item.TEAM_ID = item.DEPARTMENT_ID;
|
||||
}
|
||||
else
|
||||
{
|
||||
var deparId = teams.FirstOrDefault(t => t.ID == item.TEAM_ID)?.DEPARTMENT_ID;
|
||||
item.TEAM_ID = deparId;
|
||||
}
|
||||
}
|
||||
var preShiftMeeting = preTemp.
|
||||
GroupBy(m => new { m.TEAM_ID, TeamName = m.Nav_Team.NAME, m.DEPARTMENT_ID }).
|
||||
GroupBy(m => new { m.TEAM_ID }).
|
||||
Select(group => new
|
||||
{
|
||||
group.Key,
|
||||
group.Key.TEAM_ID,
|
||||
totalCount = group.Count(),
|
||||
finishCount = group.Where(i => i.PRE_MEETING_STATUS == FOPreMeetingStatusEnum.归档).Count(),
|
||||
waitingCount = group.Where(i => i.PRE_MEETING_STATUS != FOPreMeetingStatusEnum.归档).Count(),
|
||||
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()
|
||||
}).ToList();
|
||||
if (preShiftMeeting.Any())
|
||||
{
|
||||
foreach (var item in preShiftMeeting)
|
||||
{
|
||||
var deparId = teams.FirstOrDefault(t => t.ID == item.Key.TEAM_ID)?.DEPARTMENT_ID;
|
||||
var departInfo = departments.FirstOrDefault(t => t.ID == deparId); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID);
|
||||
//var deparId = teams.FirstOrDefault(t => t.ID == item.Key.TEAM_ID)?.DEPARTMENT_ID;
|
||||
var departInfo = departments.FirstOrDefault(t => t.ID == item.TEAM_ID); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID);
|
||||
T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION();
|
||||
completion.MONTH = i;
|
||||
completion.MONTHStr = i.Year + "年" + i.Month + "月";
|
||||
@ -300,46 +314,88 @@ namespace APT.PP.WebApi.Controllers.Api.PP
|
||||
completion.END_TIME = monthEnd;
|
||||
if (departInfo != null)
|
||||
{
|
||||
if (departInfo.DEPARTMENT_TYPE == 10)
|
||||
{
|
||||
completion.DEPARTMENT_ID = item.Key.TEAM_ID;
|
||||
completion.DEPARTMENT_NAME = item.Key.TeamName;
|
||||
}
|
||||
if (departInfo.DEPARTMENT_TYPE == 15)
|
||||
{
|
||||
//if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5)
|
||||
//{
|
||||
// completion.DEPARTMENT_ID = item.Key.TEAM_ID;
|
||||
// completion.DEPARTMENT_NAME = item.Key.TeamName;
|
||||
// completion.SHOP_DEPARTMENT_ID = null;
|
||||
// completion.SHOP_DEPARTMENT_NAME = null;
|
||||
// completion.TEAM_ID = null;
|
||||
// completion.TEAM_NAME = null;
|
||||
//}
|
||||
//if (departInfo.DEPARTMENT_TYPE == 15)
|
||||
//{
|
||||
// completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
|
||||
// completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
|
||||
// completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID;
|
||||
// completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName;
|
||||
// completion.TEAM_ID = null;
|
||||
// completion.TEAM_NAME = null;
|
||||
//}
|
||||
//if (departInfo.DEPARTMENT_TYPE == 20)
|
||||
//{
|
||||
// completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
|
||||
// completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
|
||||
// completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
|
||||
// completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
|
||||
// completion.TEAM_ID = departInfo.ID;
|
||||
// completion.TEAM_NAME = departInfo.NAME;
|
||||
//}
|
||||
completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
|
||||
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
|
||||
completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID;
|
||||
completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName;
|
||||
}
|
||||
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.Key.TEAM_ID;
|
||||
completion.TEAM_NAME = item.Key.TeamName;
|
||||
}
|
||||
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
|
||||
{
|
||||
|
||||
T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION();
|
||||
completion.MONTH = i;
|
||||
completion.MONTHStr = i.Year + "年" + i.Month + "月";
|
||||
completion.TOTAL_COUNT = 0;
|
||||
completion.WAITTING_COUNT = 0;
|
||||
completion.FINISH_COUNT = 0;
|
||||
completion.ONTIME_COUNT = 0;
|
||||
completion.OVERTIME_COUNT = 0;
|
||||
completion.FORM_NAME = "班前会议";
|
||||
completion.ORG_ID = filter.GetOrgId();
|
||||
completion.START_TIME = i;
|
||||
completion.END_TIME = monthEnd;
|
||||
completions.Add(completion);
|
||||
}
|
||||
var currentTemp = currentShiftTemp.Where(t => t.CREATE_TIME >= i && t.CREATE_TIME <= monthEnd).ToList();
|
||||
foreach (var item in currentTemp)
|
||||
{
|
||||
if (item.CLASS_TEAM_ID == null)
|
||||
{
|
||||
item.CLASS_TEAM_ID = item.DEPARTMENT_ID;
|
||||
}
|
||||
else
|
||||
{
|
||||
var deparId = teams.FirstOrDefault(t => t.ID == item.CLASS_TEAM_ID)?.DEPARTMENT_ID;
|
||||
item.CLASS_TEAM_ID = deparId;
|
||||
}
|
||||
}
|
||||
var currentShift = currentTemp.
|
||||
GroupBy(m => new { m.CLASS_TEAM_ID, TeamName = m.Nav_Team.NAME, m.DEPARTMENT_ID }).
|
||||
GroupBy(m => new { TEAM_ID = m.CLASS_TEAM_ID }).
|
||||
Select(group => new
|
||||
{
|
||||
group.Key,
|
||||
group.Key.TEAM_ID,
|
||||
totalCount = group.Count(),
|
||||
finishCount = group.Where(i => i.SHIFT_STATUS == (int)FOShiftStatusEnum.归档 || i.SHIFT_STATUS == (int)FOShiftStatusEnum.审批归档).Count(),
|
||||
waitingCount = group.Where(i => i.SHIFT_STATUS != (int)FOShiftStatusEnum.归档 && i.SHIFT_STATUS == (int)FOShiftStatusEnum.归档).Count(),
|
||||
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()
|
||||
}).ToList();
|
||||
if (currentShift.Any())
|
||||
{
|
||||
foreach (var item in currentShift)
|
||||
{
|
||||
var deparId = teams.FirstOrDefault(t => t.ID == item.Key.CLASS_TEAM_ID)?.DEPARTMENT_ID;
|
||||
var departInfo = departments.FirstOrDefault(t => t.ID == deparId); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID);
|
||||
//var deparId = teams.FirstOrDefault(t => t.ID == item.Key.CLASS_TEAM_ID)?.DEPARTMENT_ID;
|
||||
var departInfo = departments.FirstOrDefault(t => t.ID == item.TEAM_ID); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID);
|
||||
T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION();
|
||||
//completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
|
||||
//completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
|
||||
@ -360,46 +416,88 @@ namespace APT.PP.WebApi.Controllers.Api.PP
|
||||
completion.END_TIME = monthEnd;
|
||||
if (departInfo != null)
|
||||
{
|
||||
if (departInfo.DEPARTMENT_TYPE == 10)
|
||||
{
|
||||
completion.DEPARTMENT_ID = item.Key.CLASS_TEAM_ID;
|
||||
completion.DEPARTMENT_NAME = item.Key.TeamName;
|
||||
}
|
||||
if (departInfo.DEPARTMENT_TYPE == 15)
|
||||
{
|
||||
//if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5)
|
||||
//{
|
||||
// completion.DEPARTMENT_ID = item.Key.CLASS_TEAM_ID;
|
||||
// completion.DEPARTMENT_NAME = item.Key.TeamName;
|
||||
// completion.SHOP_DEPARTMENT_ID = null;
|
||||
// completion.SHOP_DEPARTMENT_NAME = null;
|
||||
// completion.TEAM_ID = null;
|
||||
// completion.TEAM_NAME = null;
|
||||
//}
|
||||
//if (departInfo.DEPARTMENT_TYPE == 15)
|
||||
//{
|
||||
// completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
|
||||
// completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
|
||||
// completion.SHOP_DEPARTMENT_ID = item.Key.CLASS_TEAM_ID;
|
||||
// completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName;
|
||||
// completion.TEAM_ID = null;
|
||||
// completion.TEAM_NAME = null;
|
||||
//}
|
||||
//if (departInfo.DEPARTMENT_TYPE == 20)
|
||||
//{
|
||||
// completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
|
||||
// completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
|
||||
// completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
|
||||
// completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
|
||||
// completion.TEAM_ID = departInfo.ID;
|
||||
// completion.TEAM_NAME = departInfo.NAME;
|
||||
//}
|
||||
completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
|
||||
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
|
||||
completion.SHOP_DEPARTMENT_ID = item.Key.CLASS_TEAM_ID;
|
||||
completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName;
|
||||
}
|
||||
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.Key.CLASS_TEAM_ID;
|
||||
completion.TEAM_NAME = item.Key.TeamName;
|
||||
}
|
||||
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
|
||||
{
|
||||
|
||||
T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION();
|
||||
completion.MONTH = i;
|
||||
completion.MONTHStr = i.Year + "年" + i.Month + "月";
|
||||
completion.TOTAL_COUNT = 0;
|
||||
completion.WAITTING_COUNT = 0;
|
||||
completion.FINISH_COUNT = 0;
|
||||
completion.ONTIME_COUNT = 0;
|
||||
completion.OVERTIME_COUNT = 0;
|
||||
completion.FORM_NAME = "岗位当班";
|
||||
completion.ORG_ID = filter.GetOrgId();
|
||||
completion.START_TIME = i;
|
||||
completion.END_TIME = monthEnd;
|
||||
completions.Add(completion);
|
||||
}
|
||||
var changeTemp = changeShiftTemp.Where(t => t.CREATE_TIME >= i && t.CREATE_TIME <= monthEnd).ToList();
|
||||
foreach (var item in changeTemp)
|
||||
{
|
||||
if (item.TEAM_ID == null)
|
||||
{
|
||||
item.TEAM_ID = item.DEPARTMENT_ID;
|
||||
}
|
||||
else
|
||||
{
|
||||
var deparId = teams.FirstOrDefault(t => t.ID == item.TEAM_ID)?.DEPARTMENT_ID;
|
||||
item.TEAM_ID = deparId;
|
||||
}
|
||||
}
|
||||
var changeShift = changeTemp.
|
||||
GroupBy(m => new { m.TEAM_ID, TeamName = m.Nav_Team.NAME, m.DEPARTMENT_ID }).
|
||||
GroupBy(m => new { m.TEAM_ID }).
|
||||
Select(group => new
|
||||
{
|
||||
group.Key,
|
||||
group.Key.TEAM_ID,
|
||||
totalCount = group.Count(),
|
||||
finishCount = group.Where(i => i.SHIFT_STATUS == (int)FOChangeShiftStatusEnum.归档).Count(),
|
||||
waitingCount = group.Where(i => i.SHIFT_STATUS != (int)FOChangeShiftStatusEnum.归档).Count(),
|
||||
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()
|
||||
}).ToList();
|
||||
if (changeShift.Any())
|
||||
{
|
||||
foreach (var item in changeShift)
|
||||
{
|
||||
var deparId = teams.FirstOrDefault(t => t.ID == item.Key.TEAM_ID)?.DEPARTMENT_ID;
|
||||
var departInfo = departments.FirstOrDefault(t => t.ID == deparId); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID);
|
||||
var departInfo = departments.FirstOrDefault(t => t.ID == item.TEAM_ID);
|
||||
//var departInfo = departments.FirstOrDefault(t => t.ID == deparId); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID);
|
||||
T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION();
|
||||
//completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
|
||||
//completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
|
||||
@ -420,55 +518,98 @@ namespace APT.PP.WebApi.Controllers.Api.PP
|
||||
completion.END_TIME = monthEnd;
|
||||
if (departInfo != null)
|
||||
{
|
||||
if (departInfo.DEPARTMENT_TYPE == 10)
|
||||
{
|
||||
completion.DEPARTMENT_ID = item.Key.TEAM_ID;
|
||||
completion.DEPARTMENT_NAME = item.Key.TeamName;
|
||||
}
|
||||
if (departInfo.DEPARTMENT_TYPE == 15)
|
||||
{
|
||||
//if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5)
|
||||
//{
|
||||
// completion.DEPARTMENT_ID = item.Key.TEAM_ID;
|
||||
// completion.DEPARTMENT_NAME = item.Key.TeamName;
|
||||
// completion.SHOP_DEPARTMENT_ID = null;
|
||||
// completion.SHOP_DEPARTMENT_NAME = null;
|
||||
// completion.TEAM_ID = null;
|
||||
// completion.TEAM_NAME = null;
|
||||
//}
|
||||
//if (departInfo.DEPARTMENT_TYPE == 15)
|
||||
//{
|
||||
// completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
|
||||
// completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
|
||||
// completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID;
|
||||
// completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName;
|
||||
// completion.TEAM_ID = null;
|
||||
// completion.TEAM_NAME = null;
|
||||
//}
|
||||
//if (departInfo.DEPARTMENT_TYPE == 20)
|
||||
//{
|
||||
// completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
|
||||
// completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
|
||||
// completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
|
||||
// completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
|
||||
// completion.TEAM_ID = departInfo.ID;
|
||||
// completion.TEAM_NAME = departInfo.NAME;
|
||||
//}
|
||||
completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
|
||||
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
|
||||
completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID;
|
||||
completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName;
|
||||
}
|
||||
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.Key.TEAM_ID;
|
||||
completion.TEAM_NAME = item.Key.TeamName;
|
||||
}
|
||||
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
|
||||
{
|
||||
|
||||
T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION();
|
||||
completion.MONTH = i;
|
||||
completion.MONTHStr = i.Year + "年" + i.Month + "月";
|
||||
completion.TOTAL_COUNT = 0;
|
||||
completion.WAITTING_COUNT = 0;
|
||||
completion.FINISH_COUNT = 0;
|
||||
completion.ONTIME_COUNT = 0;
|
||||
completion.OVERTIME_COUNT = 0;
|
||||
completion.FORM_NAME = "岗位交接班";
|
||||
completion.ORG_ID = filter.GetOrgId();
|
||||
completion.START_TIME = i;
|
||||
completion.END_TIME = monthEnd;
|
||||
completions.Add(completion);
|
||||
}
|
||||
|
||||
var teamTemp = teamActivityTemp.Where(t => t.CREATE_TIME >= i && t.CREATE_TIME <= monthEnd).ToList();
|
||||
foreach (var item in teamTemp)
|
||||
{
|
||||
if (item.TEAM_ID == null)
|
||||
{
|
||||
item.TEAM_ID = item.DEPARTMENT_ID;
|
||||
}
|
||||
else
|
||||
{
|
||||
var deparId = teams.FirstOrDefault(t => t.ID == item.TEAM_ID)?.DEPARTMENT_ID;
|
||||
item.TEAM_ID = deparId;
|
||||
}
|
||||
}
|
||||
var teamActivity = teamTemp.
|
||||
GroupBy(m => new { m.TEAM_ID, TeamName = m.Nav_Taem.NAME, m.Nav_Taem.DEPARTMENT_ID }).
|
||||
GroupBy(m => new { m.TEAM_ID }).
|
||||
Select(group => new
|
||||
{
|
||||
group.Key,
|
||||
group.Key.TEAM_ID,
|
||||
totalCount = group.Count(),
|
||||
finishCount = group.Where(i => i.TA_STATUS == (int)FOTeamActivityState.已归档).Count(),
|
||||
waitingCount = group.Where(i => i.TA_STATUS != (int)FOTeamActivityState.已归档).Count(),
|
||||
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()
|
||||
}).ToList();
|
||||
if (teamActivity.Any())
|
||||
{
|
||||
foreach (var item in teamActivity)
|
||||
{
|
||||
var deparId = teams.FirstOrDefault(t => t.ID == item.Key.TEAM_ID)?.DEPARTMENT_ID;
|
||||
var departInfo = departments.FirstOrDefault(t => t.ID == deparId); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID);
|
||||
//var deparId = teams.FirstOrDefault(t => t.ID == item.Key.TEAM_ID)?.DEPARTMENT_ID;
|
||||
var departInfo = departments.FirstOrDefault(t => t.ID == item.TEAM_ID); //GetDepartmentId((Guid)item.Key.DEPARTMENT_ID);
|
||||
T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION();
|
||||
completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
|
||||
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
|
||||
completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
|
||||
completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
|
||||
//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.MONTH = i;
|
||||
completion.MONTHStr = i.Year + "年" + i.Month + "月";
|
||||
completion.TEAM_ID = item.Key.TEAM_ID;
|
||||
completion.TEAM_NAME = item.Key.TeamName;
|
||||
//completion.TEAM_ID = item.Key.TEAM_ID;
|
||||
//completion.TEAM_NAME = item.Key.TeamName;
|
||||
completion.TOTAL_COUNT = item.totalCount;
|
||||
completion.WAITTING_COUNT = item.waitingCount;
|
||||
completion.FINISH_COUNT = item.finishCount;
|
||||
@ -478,6 +619,57 @@ namespace APT.PP.WebApi.Controllers.Api.PP
|
||||
completion.ORG_ID = filter.GetOrgId();
|
||||
completion.START_TIME = i;
|
||||
completion.END_TIME = monthEnd;
|
||||
if (departInfo != null)
|
||||
{
|
||||
//if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5)
|
||||
//{
|
||||
// completion.DEPARTMENT_ID = item.Key.TEAM_ID;
|
||||
// completion.DEPARTMENT_NAME = item.Key.TeamName;
|
||||
// completion.SHOP_DEPARTMENT_ID = null;
|
||||
// completion.SHOP_DEPARTMENT_NAME = null;
|
||||
// completion.TEAM_ID = null;
|
||||
// completion.TEAM_NAME = null;
|
||||
//}
|
||||
//if (departInfo.DEPARTMENT_TYPE == 15)
|
||||
//{
|
||||
// completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
|
||||
// completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
|
||||
// completion.SHOP_DEPARTMENT_ID = item.Key.TEAM_ID;
|
||||
// completion.SHOP_DEPARTMENT_NAME = item.Key.TeamName;
|
||||
// completion.TEAM_ID = null;
|
||||
// completion.TEAM_NAME = null;
|
||||
//}
|
||||
//if (departInfo.DEPARTMENT_TYPE == 20)
|
||||
//{
|
||||
// completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
|
||||
// completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
|
||||
// completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
|
||||
// completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
|
||||
// completion.TEAM_ID = departInfo.ID;
|
||||
// completion.TEAM_NAME = departInfo.NAME;
|
||||
//}
|
||||
completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
|
||||
completion.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == completion.DEPARTMENT_ID)?.NAME;
|
||||
completion.TEAM_ID = departInfo?.ID;
|
||||
completion.TEAM_NAME = departInfo?.NAME;
|
||||
}
|
||||
completions.Add(completion);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
T_FM_DEPARTMENT_COMPLETION completion = new T_FM_DEPARTMENT_COMPLETION();
|
||||
completion.MONTH = i;
|
||||
completion.MONTHStr = i.Year + "年" + i.Month + "月";
|
||||
completion.TOTAL_COUNT = 0;
|
||||
completion.WAITTING_COUNT = 0;
|
||||
completion.FINISH_COUNT = 0;
|
||||
completion.ONTIME_COUNT = 0;
|
||||
completion.OVERTIME_COUNT = 0;
|
||||
completion.FORM_NAME = "班组安全活动记录";
|
||||
completion.ORG_ID = filter.GetOrgId();
|
||||
completion.START_TIME = i;
|
||||
completion.END_TIME = monthEnd;
|
||||
completions.Add(completion);
|
||||
}
|
||||
}
|
||||
@ -888,6 +1080,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
|
||||
|
||||
List<T_FM_WORK_TICKET_COMPLETION> completions = new List<T_FM_WORK_TICKET_COMPLETION>();
|
||||
BaseFilter baseFilter = new BaseFilter(filter.GetOrgId());
|
||||
baseFilter.IgnoreDataRule = true;
|
||||
var startTime = Convert.ToDateTime(DateTime.Now.AddMonths(-11).Year + "-" + DateTime.Now.AddMonths(-11).Month + "-01 00:00:00");
|
||||
var endTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + " 23:59:59");
|
||||
baseFilter.SelectField = new string[] { "ID", "NAME", "DEPARTMENT_TYPE", "Nav_Parent.NAME", "Nav_Parent.Nav_Parent", "PARENT_ID" };
|
||||
@ -948,6 +1141,8 @@ namespace APT.PP.WebApi.Controllers.Api.PP
|
||||
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()
|
||||
}).ToList();
|
||||
if (results.Any())
|
||||
{
|
||||
foreach (var item in results)
|
||||
{
|
||||
T_FM_WORK_TICKET_COMPLETION completion = new T_FM_WORK_TICKET_COMPLETION();
|
||||
@ -964,28 +1159,48 @@ namespace APT.PP.WebApi.Controllers.Api.PP
|
||||
var departInfo = departments.FirstOrDefault(t => t.ID == item.departmetId);
|
||||
if (departInfo != null)
|
||||
{
|
||||
if (departInfo.DEPARTMENT_TYPE == 10|| departInfo.DEPARTMENT_TYPE == 5)
|
||||
{
|
||||
completion.DEPARTMENT_ID = item.departmetId;
|
||||
completion.DEPARTMENT_NAME = departInfo?.NAME;
|
||||
}
|
||||
if (departInfo.DEPARTMENT_TYPE == 15)
|
||||
{
|
||||
//if (departInfo.DEPARTMENT_TYPE == 10 || departInfo.DEPARTMENT_TYPE == 5)
|
||||
//{
|
||||
// completion.DEPARTMENT_ID = item.departmetId;
|
||||
// completion.DEPARTMENT_NAME = departInfo?.NAME;
|
||||
//}
|
||||
//if (departInfo.DEPARTMENT_TYPE == 15)
|
||||
//{
|
||||
// completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
|
||||
// completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
|
||||
// completion.SHOP_DEPARTMENT_ID = item.departmetId;
|
||||
// completion.SHOP_DEPARTMENT_NAME = departInfo?.NAME;
|
||||
//}
|
||||
//if (departInfo.DEPARTMENT_TYPE == 20)
|
||||
//{
|
||||
// completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
|
||||
// completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
|
||||
// completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
|
||||
// completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
|
||||
// completion.TEAM_ID = item.departmetId;
|
||||
// completion.TEAM_NAME = departInfo?.NAME;
|
||||
//}
|
||||
completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
|
||||
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
|
||||
completion.SHOP_DEPARTMENT_ID = item.departmetId;
|
||||
completion.SHOP_DEPARTMENT_NAME = departInfo?.NAME;
|
||||
}
|
||||
if (departInfo.DEPARTMENT_TYPE == 20)
|
||||
{
|
||||
completion.DEPARTMENT_ID = departInfo?.Nav_Parent?.PARENT_ID;
|
||||
completion.DEPARTMENT_NAME = departInfo?.Nav_Parent?.Nav_Parent?.NAME;
|
||||
completion.SHOP_DEPARTMENT_ID = departInfo?.PARENT_ID;
|
||||
completion.SHOP_DEPARTMENT_NAME = departInfo?.Nav_Parent?.NAME;
|
||||
completion.TEAM_ID = item.departmetId;
|
||||
completion.TEAM_NAME = departInfo?.NAME;
|
||||
}
|
||||
completions.Add(completion);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
T_FM_WORK_TICKET_COMPLETION completion = new T_FM_WORK_TICKET_COMPLETION();
|
||||
completion.MONTH = i;
|
||||
completion.MONTHStr = i.Year + "年" + i.Month + "月";
|
||||
completion.TOTAL_COUNT = 0;
|
||||
completion.FINISH_COUNT = 0;
|
||||
completion.OVER_FINISH_COUNT = 0;
|
||||
completion.WAITTING_COUNT =0;
|
||||
completion.ONTIME_COUNT = 0;
|
||||
completion.ORG_ID = filter.GetOrgId();
|
||||
completion.START_TIME = i;
|
||||
completion.END_TIME = monthEnd;
|
||||
completions.Add(completion);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2301,8 +2301,8 @@ namespace APT.PP.WebApi.Controllers.Api.PP
|
||||
/// </summary>
|
||||
/// <param name="pageFilter"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost, Route("PremeetingSync")]
|
||||
public JsonActionResult<bool> PremeetingSync([FromBody] KeywordFilter filter)
|
||||
[HttpPost, Route("PremeetingSyncOld")]
|
||||
public JsonActionResult<bool> PremeetingSyncOld([FromBody] KeywordFilter filter)
|
||||
{
|
||||
return SafeExecute<bool>(() =>
|
||||
{
|
||||
@ -2389,5 +2389,96 @@ namespace APT.PP.WebApi.Controllers.Api.PP
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新岗位当班,交接班,班组活动记录超时字段
|
||||
/// </summary>
|
||||
/// <param name="pageFilter"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost, Route("PremeetingSync")]
|
||||
public JsonActionResult<bool> PremeetingSync([FromBody] KeywordFilter filter)
|
||||
{
|
||||
return SafeExecute<bool>(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
var startTime = DateTime.Now.AddMonths(-3);
|
||||
var taskIds=new List<Guid>();
|
||||
var curClass = this.GetEntities<T_FO_CURRENT_CLASS_RECORD>(t => t.CREATE_TIME >= startTime && t.SHIFT_STATUS == (int)FOShiftStatusEnum.归档 && t.OVERTIME == FOISOVERTIME.未统计, filter);
|
||||
var curClassIds = curClass.Select(t => t.ID).ToList();
|
||||
taskIds.AddRange(curClassIds);
|
||||
var changeClass = this.GetEntities<T_FO_CHANGE_SHIFT_RECORD>(t => t.CREATE_TIME >= startTime && t.SHIFT_STATUS == (int)FOChangeShiftStatusEnum.归档 && t.OVERTIME == FOISOVERTIME.未统计, filter);
|
||||
var changeClassIds = changeClass.Select(t => t.ID).ToList();
|
||||
taskIds.AddRange(changeClassIds);
|
||||
var actClass = this.GetEntities<T_FO_TEAM_ACTIVITY>(t => t.CREATE_TIME >= startTime && t.TA_STATUS == (int)FOTeamActivityState.已归档 && t.OVERTIME == FOISOVERTIME.未统计, filter);
|
||||
var actClassIds = actClass.Select(t => t.ID).ToList();
|
||||
taskIds.AddRange(actClassIds);
|
||||
var tasks = this.GetEntities<T_FM_NOTIFICATION_TASK>(t => t.CREATE_TIME >= startTime && t.SOURCE_DATA_ID != null && taskIds.Contains((Guid)t.SOURCE_DATA_ID), filter);
|
||||
if (curClass != null && curClass.Any())
|
||||
{
|
||||
foreach (var item in curClass)
|
||||
{
|
||||
var taskOver = tasks.FirstOrDefault(t => t.SOURCE_DATA_ID == item.ID && t.NOTICE_STATUS == 2);
|
||||
if (taskOver != null)
|
||||
{
|
||||
item.OVERTIME = FOISOVERTIME.超时;
|
||||
}
|
||||
else
|
||||
{
|
||||
item.OVERTIME = FOISOVERTIME.未超时;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (changeClass != null && changeClass.Any())
|
||||
{
|
||||
foreach (var item in changeClass)
|
||||
{
|
||||
var taskOver = tasks.FirstOrDefault(t => t.SOURCE_DATA_ID == item.ID && t.NOTICE_STATUS == 2);
|
||||
if (taskOver != null)
|
||||
{
|
||||
item.OVERTIME = FOISOVERTIME.超时;
|
||||
}
|
||||
else
|
||||
{
|
||||
item.OVERTIME = FOISOVERTIME.未超时;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (actClass != null && actClass.Any())
|
||||
{
|
||||
foreach (var item in actClass)
|
||||
{
|
||||
var taskOver = tasks.FirstOrDefault(t => t.SOURCE_DATA_ID == item.ID && t.NOTICE_STATUS == 2);
|
||||
if (taskOver != null)
|
||||
{
|
||||
item.OVERTIME = FOISOVERTIME.超时;
|
||||
}
|
||||
else
|
||||
{
|
||||
item.OVERTIME = FOISOVERTIME.未超时;
|
||||
}
|
||||
}
|
||||
}
|
||||
UnifiedCommit(() =>
|
||||
{
|
||||
if (curClass != null && curClass.Any())
|
||||
BantchSaveEntityNoCommit(curClass);
|
||||
if (changeClass != null && changeClass.Any())
|
||||
BantchSaveEntityNoCommit(changeClass);
|
||||
if (actClass != null && actClass.Any())
|
||||
BantchSaveEntityNoCommit(actClass);
|
||||
});
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(ex.StackTrace))
|
||||
throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
|
||||
else
|
||||
throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
|
||||
}
|
||||
|
||||
return true;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -759,13 +759,22 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
riskFilter.SelectField = new string[] { "EVALUATE_LEVEL", "CREATE_TIME", "PRODUCTION_UNIT_ID", "TYPE_ID", "AREA_ID", "ID" };
|
||||
IEnumerable<T_SK_ENTERPRISE_LIBRARY> allrisk = null;
|
||||
allrisk = GetEntities<T_SK_ENTERPRISE_LIBRARY>(t => t.ENABLE_STATUS == 0 && t.PRODUCTION_UNIT_ID != null, riskFilter);
|
||||
var libTempIds = allrisk.Select(t => t.ID);
|
||||
var details = GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL>(t => libTempIds.Contains(t.ENTERPRISE_LIBRARY_ID), new BaseFilter(filter.GetOrgId()));
|
||||
//var departs = GetEntities<T_SK_ENTERPRISE_LIBRARY_DEPART>(t => libIds.Contains(t.ENTERPRISE_LIBRARY_ID), new BaseFilter(filter.GetOrgId()));
|
||||
//var depIds = departs.Select(t=>t.DEPARTMENT_ID).Distinct();
|
||||
var libDetailIds = allrisk.Select(t => t.ID);
|
||||
var detailContents = GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT>(t => libDetailIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_ID), new BaseFilter(filter.GetOrgId()));
|
||||
var libDetailContentIds = detailContents.Select(t => t.ID);
|
||||
var detailContentChecks = GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>(t => libDetailContentIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(filter.GetOrgId()));
|
||||
var checkIds = detailContentChecks.Select(t => t.CHECK_TYPE_ID).Distinct();
|
||||
var hazardFilter = new BaseFilter(filter.GetOrgId());
|
||||
riskPerformanceData riskPerformanceData = new riskPerformanceData();
|
||||
List<dateCountModel> item3s = new List<dateCountModel>();
|
||||
var distinctType = GetEntities<T_SK_RISK_TYPE>(t => t.IS_DELETED == false, new BaseFilter(filter.GetOrgId()));
|
||||
var distinctType = GetEntities<T_SK_RISK_TYPE>(t => checkIds.Contains(t.ID), new BaseFilter(filter.GetOrgId()));
|
||||
var departments = GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.GetOrgId()));
|
||||
var distinctArea = GetEntities<T_SK_RISK_AREA>(t => t.IS_DELETED == false, new BaseFilter(filter.GetOrgId()));
|
||||
var distinctTeamDepartment = GetEntities<T_FM_DEPARTMENT>(t => t.DEPARTMENT_TYPE == 20, new BaseFilter(filter.GetOrgId()));
|
||||
var distinctTeamDepartment = departments.Where(t => t.DEPARTMENT_TYPE == 20);
|
||||
#region 1
|
||||
PerformanceModel CHARTFXDJ1 = new PerformanceModel();
|
||||
CHARTFXDJ1.NAME = new List<string> { "重大风险", "较大风险", "一般风险", "低风险" };
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -27,6 +27,7 @@ using APT.MS.Domain.Entities.SC.SC;
|
||||
using APT.MS.Domain.Entities.SE;
|
||||
using APT.MS.Domain.Enums;
|
||||
using APT.MS.Domain.Enums.SK;
|
||||
using APT.SC.WebApi.Controllers.Api.BI;
|
||||
using APT.Utility;
|
||||
using Castle.Core.Internal;
|
||||
using ICSharpCode.SharpZipLib.Core;
|
||||
@ -123,6 +124,7 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
|
||||
public int shopOntimeCount { get; set; }
|
||||
public double shopDoneRate { get; set; }
|
||||
public double shopOverDoneRate { get; set; }
|
||||
public int shopUndoneCount { get; set; }
|
||||
public Guid? teamId { get; set; }
|
||||
public string teamName { get; set; }
|
||||
public int teamTotalCount { get; set; }
|
||||
@ -9689,9 +9691,10 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
|
||||
departmentIds = departmentInfo.Select(t => t.ID).ToList();
|
||||
BaseFilter baseFilter = new BaseFilter(orgId);
|
||||
baseFilter.SelectField = new string[] { "ID", "DEPARTMENT_ID" };
|
||||
var teams = GetEntities<T_FM_TEAM>(t => !t.IS_DELETED && departmentIds.Contains(t.DEPARTMENT_ID.Value), baseFilter);
|
||||
var teamIds = teams.Select(t => t.ID);
|
||||
//var teams = GetEntities<T_FM_TEAM>(t => !t.IS_DELETED && departmentIds.Contains(t.DEPARTMENT_ID.Value), baseFilter);
|
||||
//var teamIds = teams.Select(t => t.ID);
|
||||
var completions = GetEntities<T_FM_DEPARTMENT_COMPLETION>(t => !t.IS_DELETED, new BaseFilter(orgId)).ToList();
|
||||
//var teamIds = completions.Select(t => t.TEAM_ID);
|
||||
if (!string.IsNullOrEmpty(filter.Parameter2))
|
||||
{
|
||||
DateTime startTime = Convert.ToDateTime(filter.Parameter2);
|
||||
@ -9702,9 +9705,9 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
|
||||
DateTime endTime = Convert.ToDateTime(filter.Parameter3);
|
||||
completions = completions.Where(t => t.MONTH <= endTime).ToList();
|
||||
}
|
||||
if (teamIds != null && teamIds.Any())
|
||||
//if (teamIds != null && teamIds.Any())
|
||||
{
|
||||
completionLists = completions.Where(m => m.TEAM_ID != null && teamIds.Contains(m.TEAM_ID.Value)).GroupBy(t => new { t.TEAM_ID, t.TEAM_NAME }).Select(group => new GroupbyDepartmentId
|
||||
completionLists = completions.Where(m => m.TEAM_ID != null).GroupBy(t => new { t.TEAM_ID, t.TEAM_NAME }).Select(group => new GroupbyDepartmentId
|
||||
{
|
||||
departmentId = group.Key.TEAM_ID,
|
||||
departmentName = group.Key.TEAM_NAME,
|
||||
@ -9774,16 +9777,29 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
|
||||
//if (string.IsNullOrEmpty(filter.Keyword))
|
||||
// return ret;
|
||||
//var departmentInfo = this.GetEntities<T_FM_DEPARTMENT>(t => t.PRODUCTION_UNIT_ID == Guid.Parse(filter.Keyword.ToString()), new BaseFilter(orgId));
|
||||
var departmentInfo = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0 && t.CATEGORY == FMCATEGORY.ACTURE, new BaseFilter(orgId));
|
||||
var completions = GetEntities<T_FM_DEPARTMENT_COMPLETION>(t => !t.IS_DELETED, new BaseFilter(orgId)).ToList();
|
||||
var deptIds = completions.Where(t => t.DEPARTMENT_ID != null).Select(t => (Guid)t.DEPARTMENT_ID).Distinct().ToList();
|
||||
departmentIds.AddRange(deptIds);
|
||||
var shopIds = completions.Where(t => t.SHOP_DEPARTMENT_ID != null).Select(t => (Guid)t.SHOP_DEPARTMENT_ID).Distinct().ToList();
|
||||
departmentIds.AddRange(shopIds);
|
||||
var classIds = completions.Where(t => t.TEAM_ID != null).Select(t => (Guid)t.TEAM_ID).Distinct().ToList();
|
||||
departmentIds.AddRange(classIds);
|
||||
var departmentInfo = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0 && t.CATEGORY == FMCATEGORY.ACTURE, new BaseFilter(orgId), "Nav_Parent");
|
||||
if (departmentIds != null && departmentIds.Any())
|
||||
{
|
||||
departmentInfo = departmentInfo.Where(t => departmentIds.Contains(t.ID)).ToList();
|
||||
}
|
||||
if (departmentInfo == null || !departmentInfo.Any())
|
||||
return ret;
|
||||
else
|
||||
departmentIds = departmentInfo.Select(t => t.ID).ToList();
|
||||
BaseFilter baseFilter = new BaseFilter(orgId);
|
||||
baseFilter.SelectField = new string[] { "ID", "DEPARTMENT_ID" };
|
||||
var teams = GetEntities<T_FM_TEAM>(t => !t.IS_DELETED && departmentIds.Contains(t.DEPARTMENT_ID.Value), baseFilter);
|
||||
var teamIds = teams.Select(t => t.ID);
|
||||
var completions = GetEntities<T_FM_DEPARTMENT_COMPLETION>(t => !t.IS_DELETED && t.TEAM_ID != null && teamIds.Contains(t.TEAM_ID.Value), new BaseFilter(orgId)).ToList();
|
||||
departmentIds = departmentInfo.Select(t => t.ID).Distinct().ToList();
|
||||
//List<T_FM_DEPARTMENT> listDepBM = new List<T_FM_DEPARTMENT>();
|
||||
//List<T_FM_DEPARTMENT> listDepCJ = new List<T_FM_DEPARTMENT>();
|
||||
//List<T_FM_DEPARTMENT> listDepBZ = new List<T_FM_DEPARTMENT>();
|
||||
//listDepBM = departmentInfo.Where(e => e.DEPARTMENT_TYPE == 10).OrderBy(e => e.NUM).ToList();
|
||||
//listDepCJ = departmentInfo.Where(e => e.DEPARTMENT_TYPE == 15).OrderBy(e => e.NUM).ToList();
|
||||
//listDepBZ = departmentInfo.Where(e => e.DEPARTMENT_TYPE == 20).OrderBy(e => e.NUM).ToList();
|
||||
//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())
|
||||
{
|
||||
completionSorts = completions.GroupBy(t => new { t.MONTH, t.MONTHStr }).Select(group => new T_FM_DEPARTMENT_COMPLETION
|
||||
@ -9794,18 +9810,6 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
|
||||
ONTIME_COUNT = group.Where(i => i.MONTH == group.Key.MONTH).Sum(m => m.ONTIME_COUNT),
|
||||
TOTAL_COUNT = group.Where(i => i.MONTH == group.Key.MONTH).Sum(m => m.TOTAL_COUNT),
|
||||
}).ToList();
|
||||
completionLists = completions.GroupBy(t => new { t.TEAM_ID, t.TEAM_NAME, t.SHOP_DEPARTMENT_ID, t.SHOP_DEPARTMENT_NAME }).Select(group => new GroupbyDepartmentCompletion
|
||||
{
|
||||
shopId = group.Key.SHOP_DEPARTMENT_ID,
|
||||
shopName = group.Key.SHOP_DEPARTMENT_NAME,
|
||||
teamId = group.Key.TEAM_ID,
|
||||
teamName = group.Key.TEAM_NAME,
|
||||
teamDoneCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID && i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID).Sum(m => m.FINISH_COUNT),
|
||||
teamOntimeCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID && i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID).Sum(m => m.ONTIME_COUNT),
|
||||
teamUndoneCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID && i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID).Sum(m => m.WAITTING_COUNT),
|
||||
teamTotalCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID && i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID).Sum(m => m.TOTAL_COUNT),
|
||||
}).ToList();
|
||||
}
|
||||
if (completionSorts != null && completionSorts.Any())
|
||||
{
|
||||
foreach (var item in completionSorts)
|
||||
@ -9823,9 +9827,113 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
|
||||
}
|
||||
ret.rateData = completionSorts.OrderBy(t => t.MONTH).ToList();
|
||||
}
|
||||
completionLists = completions.Where(t=>t.TEAM_ID!=null).GroupBy(t => new { t.TEAM_ID, t.TEAM_NAME }).Select(group => new GroupbyDepartmentCompletion
|
||||
{
|
||||
shopId = group.FirstOrDefault(i => i.TEAM_ID == group.Key.TEAM_ID)?.DEPARTMENT_ID,
|
||||
shopName = group.FirstOrDefault(i => i.TEAM_ID == group.Key.TEAM_ID)?.DEPARTMENT_NAME,
|
||||
teamId = group.Key.TEAM_ID,
|
||||
teamName = group.Key.TEAM_NAME,
|
||||
teamDoneCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID).Sum(m => m.FINISH_COUNT),
|
||||
teamOntimeCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID).Sum(m => m.ONTIME_COUNT),
|
||||
teamUndoneCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID).Sum(m => m.WAITTING_COUNT),
|
||||
teamTotalCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID).Sum(m => m.TOTAL_COUNT),
|
||||
}).ToList();
|
||||
|
||||
//completionLists = completions.Where(t => t.TEAM_ID != null).GroupBy(t => new { t.TEAM_ID, t.TEAM_NAME }).Select(group => new GroupbyDepartmentCompletion
|
||||
//{
|
||||
// shopId = group.FirstOrDefault(i => i.TEAM_ID == group.Key.TEAM_ID)?.DEPARTMENT_ID,
|
||||
// shopName = group.FirstOrDefault(i => i.TEAM_ID == group.Key.TEAM_ID)?.DEPARTMENT_NAME,
|
||||
// teamId = group.Key.TEAM_ID,
|
||||
// teamName = group.Key.TEAM_NAME,
|
||||
// teamDoneCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID).Sum(m => m.FINISH_COUNT),
|
||||
// teamOntimeCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID).Sum(m => m.ONTIME_COUNT),
|
||||
// teamUndoneCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID).Sum(m => m.WAITTING_COUNT),
|
||||
// teamTotalCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID).Sum(m => m.TOTAL_COUNT),
|
||||
//}).ToList();
|
||||
//var shopCompletionLists = completions.Where(t => t.SHOP_DEPARTMENT_ID != null).GroupBy(t => new { t.SHOP_DEPARTMENT_ID, t.SHOP_DEPARTMENT_NAME }).Select(group => new GroupbyDepartmentCompletion
|
||||
//{
|
||||
|
||||
// shopId = group.FirstOrDefault(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID)?.DEPARTMENT_ID,
|
||||
// shopName = group.FirstOrDefault(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID)?.DEPARTMENT_NAME,
|
||||
// teamId = group.Key.SHOP_DEPARTMENT_ID,
|
||||
// teamName = group.Key.SHOP_DEPARTMENT_NAME,
|
||||
// teamDoneCount = group.Where(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID && i.TEAM_ID == null).Sum(m => m.FINISH_COUNT),
|
||||
// teamOntimeCount = group.Where(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID && i.TEAM_ID == null).Sum(m => m.ONTIME_COUNT),
|
||||
// teamUndoneCount = group.Where(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID && i.TEAM_ID == null).Sum(m => m.WAITTING_COUNT),
|
||||
// teamTotalCount = group.Where(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID && i.TEAM_ID == null).Sum(m => m.TOTAL_COUNT),
|
||||
//}).ToList();
|
||||
//completionLists.AddRange(shopCompletionLists);
|
||||
//var deptCompletionLists = completions.Where(t => t.DEPARTMENT_ID != null).GroupBy(t => new { t.DEPARTMENT_ID, t.DEPARTMENT_NAME }).Select(group => new GroupbyDepartmentCompletion
|
||||
//{
|
||||
// shopId = group.Key.DEPARTMENT_ID,
|
||||
// shopName = group.Key.DEPARTMENT_NAME,
|
||||
// teamId = group.Key.DEPARTMENT_ID,
|
||||
// teamName = group.Key.DEPARTMENT_NAME,
|
||||
// shopDoneCount = group.Where(i => i.DEPARTMENT_ID == group.Key.DEPARTMENT_ID).Sum(m => m.FINISH_COUNT),
|
||||
// shopOntimeCount = group.Where(i => i.DEPARTMENT_ID == group.Key.DEPARTMENT_ID).Sum(m => m.ONTIME_COUNT),
|
||||
// shopTotalCount = group.Where(i => i.DEPARTMENT_ID == group.Key.DEPARTMENT_ID).Sum(m => m.TOTAL_COUNT),
|
||||
//}).ToList();
|
||||
//completionLists.AddRange(deptCompletionLists);
|
||||
//foreach (var item in listDepBM)
|
||||
//{
|
||||
// var modelCountDep = new GroupbyDepartmentCompletion();
|
||||
// modelCountDep.shopId = item.ID;
|
||||
// modelCountDep.shopName = item.NAME;
|
||||
// modelCountDep.teamId = item.ID;
|
||||
// modelCountDep.teamName = item.NAME;
|
||||
// modelCountDep.shopDoneCount = completions.Where(e => (e.DEPARTMENT_ID.HasValue && e.DEPARTMENT_ID.Value == item.ID) || (e.SHOP_DEPARTMENT_ID.HasValue && e.SHOP_DEPARTMENT_ID == item.ID)).Sum(m=>m.FINISH_COUNT);
|
||||
// modelCountDep.shopOntimeCount = completions.Where(e => (e.DEPARTMENT_ID.HasValue && e.DEPARTMENT_ID.Value == item.ID) ||(e.SHOP_DEPARTMENT_ID.HasValue && e.SHOP_DEPARTMENT_ID == item.ID)).Sum(m => m.FINISH_COUNT);
|
||||
// modelCountDep.shopTotalCount = completions.Where(e => (e.DEPARTMENT_ID.HasValue && e.DEPARTMENT_ID.Value == item.ID) || (e.SHOP_DEPARTMENT_ID.HasValue && e.SHOP_DEPARTMENT_ID == item.ID)).Sum(m => m.TOTAL_COUNT);
|
||||
// if (modelCountDep.shopTotalCount != 0)
|
||||
// {
|
||||
// completionLists.Add(modelCountDep);
|
||||
// }
|
||||
// completionLists.Add(modelCountDep);
|
||||
// var cjIds = departmentInfo.Where(e => e.PARENT_ID.HasValue && e.PARENT_ID.Value == item.ID).Select(t => t.ID).ToList();
|
||||
// var tempbzIds = departmentInfo.Where(e => e.PARENT_ID.HasValue && cjIds.Contains(e.PARENT_ID.Value)).Select(t => t.ID).ToList();
|
||||
// cjIds.AddRange(tempbzIds);
|
||||
// if (cjIds.Distinct().Any())
|
||||
// {
|
||||
// foreach (var item2 in cjIds)
|
||||
// {
|
||||
// var first = departmentInfo.FirstOrDefault(t => t.ID == item2);
|
||||
// var modelCountDepChild = new GroupbyDepartmentCompletion();
|
||||
// modelCountDepChild.shopId = item.ID;
|
||||
// modelCountDepChild.shopName = item.NAME;
|
||||
// modelCountDepChild.teamId = item2;
|
||||
// modelCountDepChild.teamName = first?.NAME;
|
||||
// if (first.DEPARTMENT_TYPE == 15)
|
||||
// {
|
||||
// modelCountDepChild.teamDoneCount = completions.Where(e => e.SHOP_DEPARTMENT_ID.HasValue && e.SHOP_DEPARTMENT_ID.Value == item2).Sum(m => m.FINISH_COUNT);
|
||||
// modelCountDepChild.teamOntimeCount = completions.Where(e => e.SHOP_DEPARTMENT_ID.HasValue && e.SHOP_DEPARTMENT_ID.Value == item2).Sum(m => m.FINISH_COUNT);
|
||||
// modelCountDepChild.teamTotalCount = completions.Where(e => e.SHOP_DEPARTMENT_ID.HasValue && e.SHOP_DEPARTMENT_ID.Value == item2).Sum(m => m.TOTAL_COUNT);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// modelCountDepChild.teamDoneCount = completions.Where(e => e.TEAM_ID.HasValue && e.TEAM_ID.Value == item2).Sum(m => m.FINISH_COUNT);
|
||||
// modelCountDepChild.teamOntimeCount = completions.Where(e => e.TEAM_ID.HasValue && e.TEAM_ID.Value == item2).Sum(m => m.FINISH_COUNT);
|
||||
// modelCountDepChild.teamTotalCount = completions.Where(e => e.TEAM_ID.HasValue && e.TEAM_ID.Value == item2).Sum(m => m.TOTAL_COUNT);
|
||||
|
||||
// }
|
||||
// if (modelCountDepChild.teamTotalCount != 0)
|
||||
// {
|
||||
// completionLists.Add(modelCountDepChild);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
//}
|
||||
|
||||
if (completionLists != null && completionLists.Any())
|
||||
{
|
||||
foreach (var item in completionLists)
|
||||
//{
|
||||
// if (item.shopTotalCount == 0)
|
||||
// {
|
||||
|
||||
|
||||
// }
|
||||
// else
|
||||
{
|
||||
item.shopDoneCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamDoneCount);
|
||||
item.shopOntimeCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamOntimeCount);
|
||||
@ -9851,6 +9959,7 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
|
||||
item.teamOverDoneRate = Math.Round((double)item.teamOntimeCount / (double)item.teamTotalCount * 100, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
ret.retData = completionLists.OrderBy(t => t.shopName).ThenByDescending(m => m.teamOverDoneRate).ToList();
|
||||
}
|
||||
return ret;
|
||||
@ -10033,11 +10142,11 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
|
||||
var completions = GetEntities<T_FM_WORK_TICKET_COMPLETION>(t => !t.IS_DELETED, new BaseFilter(orgId)).ToList();
|
||||
var deptIds = completions.Where(t => t.DEPARTMENT_ID != null).Select(t => (Guid)t.DEPARTMENT_ID).ToList();
|
||||
departmentIds.AddRange(deptIds);
|
||||
var shopIds = completions.Where(t => t.SHOP_DEPARTMENT_ID != null).Select(t => (Guid)t.SHOP_DEPARTMENT_ID).ToList();
|
||||
departmentIds.AddRange(shopIds);
|
||||
var classIds = completions.Where(t => t.TEAM_ID != null).Select(t => (Guid)t.TEAM_ID).ToList();
|
||||
departmentIds.AddRange(classIds);
|
||||
var departmentInfo = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0 && t.CATEGORY == FMCATEGORY.ACTURE, new BaseFilter(orgId));
|
||||
//var shopIds = completions.Where(t => t.SHOP_DEPARTMENT_ID != null).Select(t => (Guid)t.SHOP_DEPARTMENT_ID).ToList();
|
||||
//departmentIds.AddRange(shopIds);
|
||||
//var classIds = completions.Where(t => t.TEAM_ID != null).Select(t => (Guid)t.TEAM_ID).ToList();
|
||||
//departmentIds.AddRange(classIds);
|
||||
var departmentInfo = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0 && ((t.DEPARTMENT_STATUS == 2 && t.DEPARTMENT_TYPE==5)||t.DEPARTMENT_TYPE==10) && t.CATEGORY == FMCATEGORY.ACTURE, new BaseFilter(orgId));
|
||||
if (departmentIds != null && departmentIds.Any())
|
||||
{
|
||||
//departmentInfo = departmentInfo.Where(t => t.PRODUCTION_UNIT_ID == loginDepart.PRODUCTION_UNIT_ID).ToList();
|
||||
@ -10270,19 +10379,44 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
|
||||
ONTIME_COUNT = group.Where(i => i.MONTH == group.Key.MONTH).Sum(m => m.ONTIME_COUNT),
|
||||
TOTAL_COUNT = group.Where(i => i.MONTH == group.Key.MONTH).Sum(m => m.TOTAL_COUNT),
|
||||
}).ToList();
|
||||
completionLists = completions.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
|
||||
{
|
||||
deptId = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID && i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID).FirstOrDefault().DEPARTMENT_ID,
|
||||
deptName = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID && i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID).FirstOrDefault().DEPARTMENT_NAME,
|
||||
shopId = group.Key.SHOP_DEPARTMENT_ID,
|
||||
shopName = group.Key.SHOP_DEPARTMENT_NAME,
|
||||
shopId = group.FirstOrDefault(i => i.TEAM_ID == group.Key.TEAM_ID)?.DEPARTMENT_ID,
|
||||
shopName = group.FirstOrDefault(i => i.TEAM_ID == group.Key.TEAM_ID)?.DEPARTMENT_NAME,
|
||||
teamId = group.Key.TEAM_ID,
|
||||
teamName = group.Key.TEAM_NAME,
|
||||
teamDoneCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID && i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID).Sum(m => m.FINISH_COUNT),
|
||||
teamOntimeCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID && i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID).Sum(m => m.ONTIME_COUNT),
|
||||
teamUndoneCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID && i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID).Sum(m => m.WAITTING_COUNT),
|
||||
teamTotalCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID && i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID).Sum(m => m.TOTAL_COUNT),
|
||||
//shopDoneCount = group.Where(i => i.DEPARTMENT_ID == group.Key.DEPARTMENT_ID).Sum(m => m.FINISH_COUNT),
|
||||
//shopOntimeCount = group.Where(i => i.DEPARTMENT_ID == group.Key.DEPARTMENT_ID).Sum(m => m.ONTIME_COUNT),
|
||||
//shopTotalCount = group.Where(i => i.DEPARTMENT_ID == group.Key.DEPARTMENT_ID).Sum(m => m.TOTAL_COUNT),
|
||||
teamDoneCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID).Sum(m => m.FINISH_COUNT),
|
||||
teamOntimeCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID).Sum(m => m.ONTIME_COUNT),
|
||||
teamUndoneCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID).Sum(m => m.WAITTING_COUNT),
|
||||
teamTotalCount = group.Where(i => i.TEAM_ID == group.Key.TEAM_ID).Sum(m => m.TOTAL_COUNT),
|
||||
}).ToList();
|
||||
//var shopCompletionLists = completions.Where(t => t.SHOP_DEPARTMENT_ID != null).GroupBy(t => new {t.SHOP_DEPARTMENT_ID, t.SHOP_DEPARTMENT_NAME }).Select(group => new GroupbyDepartmentCompletion
|
||||
//{
|
||||
|
||||
// shopId = group.FirstOrDefault(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID)?.DEPARTMENT_ID,
|
||||
// shopName = group.FirstOrDefault(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID)?.DEPARTMENT_NAME,
|
||||
// teamId = group.Key.SHOP_DEPARTMENT_ID,
|
||||
// teamName = group.Key.SHOP_DEPARTMENT_NAME,
|
||||
// teamDoneCount = group.Where(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID && i.TEAM_ID == null).Sum(m => m.FINISH_COUNT),
|
||||
// teamOntimeCount = group.Where(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID && i.TEAM_ID == null).Sum(m => m.ONTIME_COUNT),
|
||||
// teamUndoneCount = group.Where(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID && i.TEAM_ID == null).Sum(m => m.WAITTING_COUNT),
|
||||
// teamTotalCount = group.Where(i => i.SHOP_DEPARTMENT_ID == group.Key.SHOP_DEPARTMENT_ID && i.TEAM_ID == null).Sum(m => m.TOTAL_COUNT),
|
||||
//}).ToList();
|
||||
//completionLists.AddRange(shopCompletionLists);
|
||||
//var deptCompletionLists = completions.Where(t => t.DEPARTMENT_ID != null).GroupBy(t => new { t.DEPARTMENT_ID, t.DEPARTMENT_NAME}).Select(group => new GroupbyDepartmentCompletion
|
||||
//{
|
||||
// shopId = group.Key.DEPARTMENT_ID,
|
||||
// shopName = group.Key.DEPARTMENT_NAME,
|
||||
// teamId = group.Key.DEPARTMENT_ID,
|
||||
// teamName = group.Key.DEPARTMENT_NAME,
|
||||
// shopDoneCount = group.Where(i => i.DEPARTMENT_ID == group.Key.DEPARTMENT_ID).Sum(m => m.FINISH_COUNT),
|
||||
// shopOntimeCount = group.Where(i => i.DEPARTMENT_ID == group.Key.DEPARTMENT_ID).Sum(m => m.ONTIME_COUNT),
|
||||
// shopTotalCount = group.Where(i => i.DEPARTMENT_ID == group.Key.DEPARTMENT_ID).Sum(m => m.TOTAL_COUNT),
|
||||
//}).ToList();
|
||||
//completionLists.AddRange(deptCompletionLists);
|
||||
}
|
||||
if (completionSorts != null && completionSorts.Any())
|
||||
{
|
||||
@ -10301,24 +10435,30 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
|
||||
}
|
||||
ret.rateData = completionSorts.OrderBy(t => t.MONTH).ToList();
|
||||
}
|
||||
List<GroupbyDepartmentCompletion> result = new List<GroupbyDepartmentCompletion>();
|
||||
if (completionLists != null && completionLists.Any())
|
||||
{
|
||||
foreach (var item in completionLists)
|
||||
{
|
||||
if (string.IsNullOrEmpty(item.shopName))
|
||||
//if (string.IsNullOrEmpty(item.teamName) ||(item.teamName == item.shopName && item.teamTotalCount == 0))
|
||||
{
|
||||
item.shopName = item.deptName;
|
||||
|
||||
// item.teamId = item.shopId;
|
||||
// item.teamName = item.shopName;
|
||||
// item.teamDoneCount = completionLists.Where(i => i.shopId == item.shopId && i.teamId == null).Sum(m => m.shopDoneCount);
|
||||
// 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);
|
||||
}
|
||||
if (string.IsNullOrEmpty(item.teamName))
|
||||
//else
|
||||
{
|
||||
item.teamName = item.shopName;
|
||||
}
|
||||
//item.deptDoneCount = completionLists.Where(i => i.deptId == item.deptId).Sum(m => m.teamDoneCount);
|
||||
//item.deptOntimeCount = completionLists.Where(i => i.deptId == item.deptId).Sum(m => m.teamOntimeCount);
|
||||
//item.deptTotalCount = completionLists.Where(i => i.deptId == item.deptId).Sum(m => m.teamTotalCount);
|
||||
//if (string.IsNullOrEmpty(item.teamName))
|
||||
//{
|
||||
// item.teamName = item.shopName;
|
||||
//}
|
||||
item.shopDoneCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamDoneCount);
|
||||
item.shopOntimeCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamOntimeCount);
|
||||
item.shopTotalCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamTotalCount);
|
||||
|
||||
//if (item.deptTotalCount == 0)
|
||||
//{
|
||||
// item.deptDoneRate = 0;
|
||||
@ -10349,8 +10489,11 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
|
||||
item.teamDoneRate = Math.Round((double)item.teamDoneCount / (double)item.teamTotalCount * 100, 2);
|
||||
item.teamOverDoneRate = Math.Round((double)item.teamOntimeCount / (double)item.teamTotalCount * 100, 2);
|
||||
}
|
||||
result.Add(item);
|
||||
}
|
||||
ret.retData = completionLists.OrderBy(t => t.shopName).ThenByDescending(m => m.teamOverDoneRate).ToList();
|
||||
|
||||
}
|
||||
ret.retData = result.OrderBy(t => t.shopName).ThenByDescending(m => m.teamOverDoneRate).ToList();
|
||||
}
|
||||
return ret;
|
||||
});
|
||||
@ -11376,8 +11519,8 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
|
||||
info.DOING = details.Count(t => t.NOTICE_STATUS == "0" && t.TASK_ENDDT >= DateTime.Now);
|
||||
info.UNFINISH = details.Count(t => t.NOTICE_STATUS == "0");
|
||||
info.OVER_UNFINISH = details.Count(t => t.NOTICE_STATUS == "0" && t.TASK_ENDDT < DateTime.Now);
|
||||
info.FINISH_RATE = info.TOTAL_QTY == 0 ? "0" : ((double)(info.NORMAL_FINISH + info.OVER_FINISH) / (info.TOTAL_QTY - info.DOING) * 100).ToString("0.00");
|
||||
info.NORMAL_RATE = info.TOTAL_QTY == 0 ? "0" : ((double)info.NORMAL_FINISH / (info.TOTAL_QTY - info.DOING) * 100).ToString("0.00");
|
||||
info.FINISH_RATE = info.TOTAL_QTY == 0|| (info.TOTAL_QTY - info.DOING) == 0 ? "0" : ((double)(info.NORMAL_FINISH + info.OVER_FINISH) / (info.TOTAL_QTY - info.DOING) * 100).ToString("0.00");
|
||||
info.NORMAL_RATE = info.TOTAL_QTY == 0|| (info.TOTAL_QTY - info.DOING) == 0 ? "0" : ((double)info.NORMAL_FINISH / (info.TOTAL_QTY - info.DOING) * 100).ToString("0.00");
|
||||
info.details = new List<TaskViewInfoDetail>();
|
||||
if (details != null && details.Any())
|
||||
{
|
||||
|
||||
@ -747,12 +747,15 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
if (item2 != null && item2.DEPARTMENT_ID != null)
|
||||
{
|
||||
var first = departs.FirstOrDefault(t => t.ID == item2.DEPARTMENT_ID);
|
||||
var level = Enum.GetName(typeof(FMDepartmentType), first.DEPARTMENT_TYPE);
|
||||
if (first != null)
|
||||
{
|
||||
var level = Enum.GetName(typeof(FMDepartmentType), first?.DEPARTMENT_TYPE);
|
||||
levelStr.Add(level);
|
||||
departIds.Add(first.ID);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (levelStr.Any())
|
||||
{
|
||||
levelStr = levelStr.Distinct().ToList();
|
||||
|
||||
@ -44,7 +44,7 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
entity.ApplyDepartmentName = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == departId).NAME;
|
||||
entity.ApplyPostName = this.GetEntity<T_FM_USER>(t => t.ID == userId, "Nav_Person.Nav_Post")?.Nav_Person?.Nav_Post?.NAME;
|
||||
T_FM_NOTIFICATION_TASK finishNotice = null;
|
||||
if (entity.STATUS != PFStandardStatus.Draft)
|
||||
if (entity.STATUS != PFStandardStatus.Draft && entity.STATUS != PFStandardStatus.Rejected)
|
||||
{
|
||||
var taskId = entity.TaskID;
|
||||
if (taskId == Guid.Empty)
|
||||
@ -87,6 +87,9 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
}
|
||||
}
|
||||
entity.STATUS = PFStandardStatus.Approving;
|
||||
entity.Nav_RectifyRecord = null;
|
||||
entity.Nav_ApplyUser = null;
|
||||
entity.Nav_ApplyDepartment = null;
|
||||
//取审批流水码
|
||||
var sysFilter = new SystemCodeFilter();
|
||||
sysFilter.CodeType = (int)PFCodeRuleType.审批流编码;
|
||||
|
||||
@ -622,7 +622,7 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
record.HIDDEN_PLACE = detail.HIDDEN_PLACE;
|
||||
record.HIDDEN_DESCRIPTION = detail.HIDDEN_DESCRIPTION;
|
||||
record.HIDDEN_LEVEL = detail.HIDDEN_LEVEL;
|
||||
record.RECTIFICATION_MEASURES = detail.REMARK;
|
||||
record.RECTIFICATION_MEASURES = detail.RECTIFICATION_MEASURES;
|
||||
record.RECITIFY_TIME = detail.RECITIFY_TIME;
|
||||
record.RECITIFY_USER_ID = detail.RECITIFY_USER_ID;
|
||||
record.ACCEPT_USER_ID = detail.ACCEPT_USER_ID;
|
||||
|
||||
@ -306,7 +306,7 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
detail.CHECKCONTENT = item.CHECKCONTENT;
|
||||
detail.CHECKPROOF = item.CHECKPROOF;
|
||||
detail.CHECKSTANDARD = item.CHECKSTANDARD;
|
||||
detail.HIDDEN_DESCRIPTION = string.IsNullOrEmpty(item.HIDDEN_DESCRIPTION) ? item.Nav_Question?.DESCREPTION : item.HIDDEN_DESCRIPTION;
|
||||
detail.HIDDEN_DESCRIPTION = item.HIDDEN_DESCRIPTION;
|
||||
detail.HIDDEN_LEVEL = item.HIDDEN_LEVEL;
|
||||
detail.HIDDEN_PLACE = item.HIDDEN_PLACE;
|
||||
detail.MARK = item.MARK;
|
||||
@ -501,7 +501,7 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
detail.CHECKCONTENT = item.CHECKCONTENT;
|
||||
detail.CHECKPROOF = item.CHECKPROOF;
|
||||
detail.CHECKSTANDARD = item.CHECKSTANDARD;
|
||||
detail.HIDDEN_DESCRIPTION = string.IsNullOrEmpty(item.HIDDEN_DESCRIPTION) ? item.Nav_Question?.DESCREPTION : item.HIDDEN_DESCRIPTION;
|
||||
detail.HIDDEN_DESCRIPTION = item.HIDDEN_DESCRIPTION;
|
||||
detail.HIDDEN_LEVEL = item.HIDDEN_LEVEL;
|
||||
detail.HIDDEN_PLACE = item.HIDDEN_PLACE;
|
||||
detail.MARK = item.MARK;
|
||||
@ -652,7 +652,7 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
detail.CHECKCONTENT = item.CHECKCONTENT;
|
||||
detail.CHECKPROOF = item.CHECKPROOF;
|
||||
detail.CHECKSTANDARD = item.CHECKSTANDARD;
|
||||
detail.HIDDEN_DESCRIPTION = string.IsNullOrEmpty(item.HIDDEN_DESCRIPTION) ? item.Nav_Question?.DESCREPTION : item.HIDDEN_DESCRIPTION;
|
||||
detail.HIDDEN_DESCRIPTION = item.HIDDEN_DESCRIPTION;
|
||||
detail.HIDDEN_LEVEL = item.HIDDEN_LEVEL;
|
||||
detail.HIDDEN_PLACE = item.HIDDEN_PLACE;
|
||||
detail.MARK = item.MARK;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user