This commit is contained in:
wyw 2026-07-17 09:50:38 +08:00
commit 53092e7d7a
3 changed files with 278 additions and 268 deletions

View File

@ -261,10 +261,10 @@ namespace APT.PP.WebApi.Controllers.Api.PP
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", "Nav_User.DEPARTMENT_ID" }; //指定字段,包括导航属性 baseFilter.SelectField = new string[] { "TEAM_ID", "Nav_Team.NAME", "PRE_MEETING_STATUS", "DEPARTMENT_ID", "OVERTIME", "CREATE_TIME", "Nav_User.DEPARTMENT_ID" }; //指定字段,包括导航属性
var preShiftMeetingTemp = GetEntities<T_FO_PRE_SHIFT_MEETING_RECORD>(i => i.CREATE_TIME >= startTime && i.IS_DELETED == false, baseFilter).ToList(); var preShiftMeetingTemp = GetEntities<T_FO_PRE_SHIFT_MEETING_RECORD>(i => i.CREATE_TIME >= startTime && i.IS_DELETED == false, baseFilter).ToList();
baseFilter.SelectField = new string[] { "CLASS_TEAM_ID", "Nav_Team.NAME", "SHIFT_STATUS", "DEPARTMENT_ID", "OVERTIME", "CREATE_TIME", "Nav_Editor.DEPARTMENT_ID" }; //指定字段,包括导航属性 //baseFilter.SelectField = new string[] { "CLASS_TEAM_ID", "Nav_Team.NAME", "SHIFT_STATUS", "DEPARTMENT_ID", "OVERTIME", "CREATE_TIME", "Nav_Editor.DEPARTMENT_ID" }; //指定字段,包括导航属性
var currentShiftTemp = GetEntities<T_FO_CURRENT_CLASS_RECORD>(i => i.CREATE_TIME >= startTime && i.IS_DELETED == false, baseFilter).ToList(); //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.IS_DELETED == false, 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" , "Nav_MainUser.DEPARTMENT_ID" }; //指定字段,包括导航属性 baseFilter.SelectField = new string[] { "TEAM_ID", "Nav_Taem.NAME", "TA_STATUS", "Nav_Taem.DEPARTMENT_ID", "OVERTIME", "CREATE_TIME" , "Nav_MainUser.DEPARTMENT_ID" }; //指定字段,包括导航属性
var teamActivityTemp = GetEntities<T_FO_TEAM_ACTIVITY>(i => i.CREATE_TIME >= startTime && i.IS_DELETED == false, baseFilter).ToList(); var teamActivityTemp = GetEntities<T_FO_TEAM_ACTIVITY>(i => i.CREATE_TIME >= startTime && i.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))
@ -366,210 +366,210 @@ namespace APT.PP.WebApi.Controllers.Api.PP
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) // foreach (var item in currentTemp)
{ // {
if (item.CLASS_TEAM_ID == null) // if (item.CLASS_TEAM_ID == null)
{ // {
item.CLASS_TEAM_ID = item.Nav_Editor?.DEPARTMENT_ID; // item.CLASS_TEAM_ID = item.Nav_Editor?.DEPARTMENT_ID;
} // }
else // else
{ // {
var deparId = teams.FirstOrDefault(t => t.ID == item.CLASS_TEAM_ID)?.DEPARTMENT_ID; // var deparId = teams.FirstOrDefault(t => t.ID == item.CLASS_TEAM_ID)?.DEPARTMENT_ID;
item.CLASS_TEAM_ID = deparId; // item.CLASS_TEAM_ID = deparId;
} // }
} // }
var currentShift = currentTemp. // var currentShift = currentTemp.
GroupBy(m => new { TEAM_ID = m.CLASS_TEAM_ID }). // GroupBy(m => new { TEAM_ID = m.CLASS_TEAM_ID }).
Select(group => new //Select(group => new
{ //{
group.Key.TEAM_ID, // 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 == item.TEAM_ID); //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; // completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
completion.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == completion.DEPARTMENT_ID)?.NAME; // completion.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == completion.DEPARTMENT_ID)?.NAME;
completion.TEAM_ID = departInfo?.ID; // completion.TEAM_ID = departInfo?.ID;
completion.TEAM_NAME = departInfo?.NAME; // completion.TEAM_NAME = departInfo?.NAME;
} // }
completions.Add(completion); // 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) // foreach (var item in changeTemp)
{ // {
if (item.TEAM_ID == null) // if (item.TEAM_ID == null)
{ // {
item.TEAM_ID = item.DEPARTMENT_ID; // item.TEAM_ID = item.DEPARTMENT_ID;
} // }
else // else
{ // {
var deparId = teams.FirstOrDefault(t => t.ID == item.TEAM_ID)?.DEPARTMENT_ID; // var deparId = teams.FirstOrDefault(t => t.ID == item.TEAM_ID)?.DEPARTMENT_ID;
item.TEAM_ID = deparId; // item.TEAM_ID = deparId;
} // }
} // }
var changeShift = changeTemp. // var changeShift = changeTemp.
GroupBy(m => new { m.TEAM_ID }). // GroupBy(m => new { m.TEAM_ID }).
Select(group => new // Select(group => new
{ // {
group.Key.TEAM_ID, // 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 departInfo = departments.FirstOrDefault(t => t.ID == item.TEAM_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; // completion.DEPARTMENT_ID = departInfo?.PARENT_ID;
completion.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == completion.DEPARTMENT_ID)?.NAME; // completion.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == completion.DEPARTMENT_ID)?.NAME;
completion.TEAM_ID = departInfo?.ID; // completion.TEAM_ID = departInfo?.ID;
completion.TEAM_NAME = departInfo?.NAME; // completion.TEAM_NAME = departInfo?.NAME;
} // }
completions.Add(completion); // 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 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) foreach (var item in teamTemp)

View File

@ -15,6 +15,7 @@ using APT.SC.WebApi.Controllers.Api.BIController;
using APT.Utility; using APT.Utility;
using log4net.Core; using log4net.Core;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using NPOI.OpenXmlFormats.Shared;
using NPOI.POIFS.Properties; using NPOI.POIFS.Properties;
using NPOI.SS.Formula.Functions; using NPOI.SS.Formula.Functions;
using Org.BouncyCastle.Utilities; using Org.BouncyCastle.Utilities;
@ -1346,7 +1347,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
var monthEnd = Convert.ToDateTime(monthStart.AddMonths(1).AddDays(-1).ToString().Replace("0:00:00", "23:59:59")); var monthEnd = Convert.ToDateTime(monthStart.AddMonths(1).AddDays(-1).ToString().Replace("0:00:00", "23:59:59"));
if (i.Date <= startTime.Date) if (i.Date <= startTime.Date)
{ {
monthStart = startTime; monthStart = currentTime;
} }
if (i.Date >= dtNow.Date) if (i.Date >= dtNow.Date)
{ {
@ -1520,7 +1521,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
var checkNotices = GetEntities<T_SK_SECURITY_INSPECTION_NOTICE>(e => e.APPLY_DEPARTMENT_ID.HasValue && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == dtNow.Year && e.Nav_CheckType!=null && !e.Nav_CheckType.NAME.Contains("岗位排查"), newFilter); var checkNotices = GetEntities<T_SK_SECURITY_INSPECTION_NOTICE>(e => e.APPLY_DEPARTMENT_ID.HasValue && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Year == dtNow.Year && e.Nav_CheckType!=null && !e.Nav_CheckType.NAME.Contains("岗位排查"), newFilter);
var checkIds = checkNotices.Select(t => t.CHECK_TYPE_ID).Distinct().ToList(); var checkIds = checkNotices.Select(t => t.CHECK_TYPE_ID).Distinct().ToList();
//var loginDepart = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID); //var loginDepart = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID);
var listCheckType = GetEntities<MS.Domain.Entities.SK.T_SK_CHECK_TYPE>(e => checkIds.Contains(e.ID), null, "Nav_ProductionUnit").ToList(); var listCheckType = GetEntities<MS.Domain.Entities.SK.T_SK_CHECK_TYPE>(e => checkIds.Contains(e.ID), null, "Nav_ProductionUnit").OrderBy(t => t.PRODUCTION_UNIT_ID).ToList();
//if (loginDepart != null) //if (loginDepart != null)
//{ //{
// listCheckType = listCheckType.Where(t => t.PRODUCTION_UNIT_ID == loginDepart.PRODUCTION_UNIT_ID).ToList(); // listCheckType = listCheckType.Where(t => t.PRODUCTION_UNIT_ID == loginDepart.PRODUCTION_UNIT_ID).ToList();
@ -1560,13 +1561,13 @@ namespace APT.SC.WebApi.Controllers.Api.BI
var monthEnd = Convert.ToDateTime(monthStart.AddMonths(1).AddDays(-1).ToString().Replace("0:00:00", "23:59:59")); var monthEnd = Convert.ToDateTime(monthStart.AddMonths(1).AddDays(-1).ToString().Replace("0:00:00", "23:59:59"));
if (i.Date <= startTime.Date) if (i.Date <= startTime.Date)
{ {
monthStart = startTime; monthStart = currentTime;
} }
if (i.Date >= dtNow.Date) if (i.Date >= dtNow.Date)
{ {
monthEnd = dtNow; monthEnd = dtNow;
} }
var listPerChearch = checkNotices.Where(t => t.CREATE_TIME >= monthStart && t.CREATE_TIME <= monthEnd); var listPerChearch = checkNotices.Where(t => t.CREATE_TIME >= monthStart && t.CREATE_TIME <= monthEnd).ToList();
HomeSafeCheckCountMonth modelper = new HomeSafeCheckCountMonth(); HomeSafeCheckCountMonth modelper = new HomeSafeCheckCountMonth();
modelper.Total = listPerChearch.Count(); modelper.Total = listPerChearch.Count();
modelper.listSOURCENAME = listCheckTypeNAME; modelper.listSOURCENAME = listCheckTypeNAME;
@ -2296,16 +2297,16 @@ namespace APT.SC.WebApi.Controllers.Api.BI
//int MineType = int.Parse(filter.Keyword); //int MineType = int.Parse(filter.Keyword);
var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId; var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId;
BaseFilter filterD = new BaseFilter(orgId); BaseFilter filterD = new BaseFilter(orgId);
filterD.SelectField = new List<string> { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID" }; filterD.SelectField = new List<string> { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID","NUM", "DEPARTMENT_STATUS" };
var listDep1MineType = GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, filterD, null); var listDep1MineType = GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0 && t.CATEGORY == FMCATEGORY.ACTURE, filterD, null);
//FMDepartmentType 部门=0, 车间=1, 班组=2, 公司=3 //FMDepartmentType 部门=0, 车间=1, 班组=2, 公司=3
if (listDep1MineType == null || !listDep1MineType.Any()) if (listDep1MineType == null || !listDep1MineType.Any())
{ {
return result; return result;
} }
List<Guid> listDepIDCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 15).Select(e => e.ID).ToList();//车间ID 用于 统计 每个月各类型的检查数量 //List<Guid> listDepIDCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 15).Select(e => e.ID).ToList();//车间ID 用于 统计 每个月各类型的检查数量
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>();
@ -2313,7 +2314,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
//List<T_FM_DEPARTMENT> listDepBM = new List<T_FM_DEPARTMENT>(); //List<T_FM_DEPARTMENT> listDepBM = new List<T_FM_DEPARTMENT>();
//listDepBM = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 10 || e.DEPARTMENT_STATUS == 2).OrderBy(e => e.NUM).ToList(); //listDepBM = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 10 || e.DEPARTMENT_STATUS == 2).OrderBy(e => e.NUM).ToList();
listDepCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 10 || e.DEPARTMENT_STATUS == 2).OrderBy(e => e.NUM).ToList(); listDepCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 10 || e.DEPARTMENT_STATUS == 2).OrderBy(e => e.NUM).ToList();
listDepBZ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 15 ||e.DEPARTMENT_TYPE == 20).OrderBy(e => e.NUM).ToList(); listDepBZ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 15 ||e.DEPARTMENT_TYPE == 20).OrderBy(t => t.DEPARTMENT_TYPE).ThenBy(e => e.NUM).ToList();
//T_FM_ENUMS enums = null; //T_FM_ENUMS enums = null;
var loginDepart = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID); var loginDepart = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID);
#region 12 #region 12
@ -2376,7 +2377,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
// } // }
//} //}
var listCheckType = GetEntities<MS.Domain.Entities.SK.T_SK_CHECK_TYPE>(e => listCheckTypeIDT.Contains(e.ID), null, "Nav_ProductionUnit").ToList(); var listCheckType = GetEntities<MS.Domain.Entities.SK.T_SK_CHECK_TYPE>(e => listCheckTypeIDT.Contains(e.ID), null, "Nav_ProductionUnit").OrderBy(t=>t.PRODUCTION_UNIT_ID).ToList();
//if (loginDepart != null) //if (loginDepart != null)
//{ //{
// listCheckType = listCheckType.Where(t => t.PRODUCTION_UNIT_ID == loginDepart.PRODUCTION_UNIT_ID).ToList(); // listCheckType = listCheckType.Where(t => t.PRODUCTION_UNIT_ID == loginDepart.PRODUCTION_UNIT_ID).ToList();
@ -2419,7 +2420,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
var monthEnd = Convert.ToDateTime(monthStart.AddMonths(1).AddDays(-1).ToString().Replace("0:00:00", "23:59:59")); var monthEnd = Convert.ToDateTime(monthStart.AddMonths(1).AddDays(-1).ToString().Replace("0:00:00", "23:59:59"));
if (i.Date <= startTime.Date) if (i.Date <= startTime.Date)
{ {
monthStart = startTime; monthStart = currentTime;
} }
if (i.Date >= dtNow.Date) if (i.Date >= dtNow.Date)
{ {
@ -2496,11 +2497,11 @@ namespace APT.SC.WebApi.Controllers.Api.BI
parentIds.Add(item.ID); parentIds.Add(item.ID);
List<Guid> allIds = new List<Guid>(); List<Guid> allIds = new List<Guid>();
GetDepartmentIds(orgId.Value, parentIds, ref allIds); GetDepartmentIds(orgId.Value, parentIds, ref allIds);
var parentIdsx = listDep1MineType.Where(e => allIds.Contains(e.ID) && e.ID != item.ID).Select(t => t.ID).ToList(); //var parentIdsx = listDep1MineType.Where(e => allIds.Contains(e.ID) && e.ID != item.ID).Select(t => t.ID).ToList();
var alls = checkNotices.Where(t => t.APPLY_DEPARTMENT_ID == item.ID || parentIdsx.Contains((Guid)t.APPLY_DEPARTMENT_ID)).ToList(); var alls = checkNotices.Where(t =>t.APPLY_DEPARTMENT_ID == item.ID || allIds.Contains((Guid)t.APPLY_DEPARTMENT_ID)).ToList();
if (alls.Count() > 0) if (alls.Count() > 0)
{ {
var idsx=alls.Where(e => e.APPLY_DEPARTMENT_ID != item.ID).Select(m => m.APPLY_DEPARTMENT_ID).Distinct().ToList(); //var idsx=alls.Where(e => e.APPLY_DEPARTMENT_ID != item.ID).Select(m => m.APPLY_DEPARTMENT_ID).Distinct().ToList();
modelCountDep = new DetailSafeCheckCountDepartment(); modelCountDep = new DetailSafeCheckCountDepartment();
modelCountDep.listName = listName; modelCountDep.listName = listName;
modelCountDep.PARENT_ID = item.PARENT_ID.Value; modelCountDep.PARENT_ID = item.PARENT_ID.Value;
@ -2560,10 +2561,10 @@ namespace APT.SC.WebApi.Controllers.Api.BI
// item.RowCount = item.listChild.Count(); // item.RowCount = item.listChild.Count();
//} //}
//if (item.DepartmentType == 15) //if (item.DepartmentType == 15)
var parentIds = listCheckDepCountBZ.Where(e => e.PARENT_ID == item.Department_ID).Select(t => t.Department_ID); var parentIds = listDepBZ.Where(e => e.PARENT_ID == item.Department_ID).Select(t => t.ID);
var classIds = listDepBZ.Where(e => e.PARENT_ID!=null &&parentIds.Contains((Guid)e.PARENT_ID)).Select(t => t.ID);
item.listChild = listCheckDepCountBZ.Where(e => e.PARENT_ID == item.Department_ID || parentIds.Contains(e.PARENT_ID)).OrderBy(e => e.NUM).ToList(); item.listChild = listCheckDepCountBZ.Where(e => e.Department_ID!=null && (classIds.Contains((Guid)e.Department_ID) || parentIds.Contains(e.Department_ID))).OrderBy(e => e.DepartmentType).ThenBy(t=>t.NUM).ToList();
item.RowCount = item.listChild.Count(); item.RowCount = item.listChild.Count() == 0?1: item.listChild.Count();
} }
@ -2576,13 +2577,24 @@ namespace APT.SC.WebApi.Controllers.Api.BI
int allIndex = 0; int allIndex = 0;
foreach (var item in listCheckDepCountCJ) foreach (var item in listCheckDepCountCJ)
{ {
foreach (var itemC in item.listChild) if (item.listChild.Count() == 0)
{ {
allIndex++; allIndex++;
itemC.NUM = allIndex; item.NUM = allIndex;
itemC.Parent = item; item.Parent = item;
ListSafeCheckYearMonthLast.Add(itemC); ListSafeCheckYearMonthLast.Add(item);
} }
else
{
foreach (var itemC in item.listChild)
{
allIndex++;
itemC.NUM = allIndex;
itemC.Parent = item;
ListSafeCheckYearMonthLast.Add(itemC);
}
}
} }
result.ListSafeCheckCountDepartment = ListSafeCheckYearMonthLast; result.ListSafeCheckCountDepartment = ListSafeCheckYearMonthLast;
@ -2608,7 +2620,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
//int MineType = int.Parse(filter.Keyword); //int MineType = int.Parse(filter.Keyword);
var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId; var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId;
BaseFilter filterD = new BaseFilter(orgId); BaseFilter filterD = new BaseFilter(orgId);
filterD.SelectField = new List<string> { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID" }; filterD.SelectField = new List<string> { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID", "NUM" , "DEPARTMENT_STATUS" };
///部门 ///部门
//var listDep1MineTypeSum = GetEntities<T_FM_DEPARTMENT>(t => t.MineType.HasValue && t.MineType == MineType && t.DEPARTMENT_TYPE == 10, filterD, null); //var listDep1MineTypeSum = GetEntities<T_FM_DEPARTMENT>(t => t.MineType.HasValue && t.MineType == MineType && t.DEPARTMENT_TYPE == 10, filterD, null);
@ -2626,7 +2638,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
List<T_FM_DEPARTMENT> listDepBZ = new List<T_FM_DEPARTMENT>(); List<T_FM_DEPARTMENT> listDepBZ = new List<T_FM_DEPARTMENT>();
listDepCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 10 || e.DEPARTMENT_STATUS==2).OrderBy(e => e.NUM).ToList(); listDepCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 10 || e.DEPARTMENT_STATUS==2).OrderBy(e => e.NUM).ToList();
listDepBZ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 15 || e.DEPARTMENT_TYPE == 20).OrderBy(e => e.NUM).ToList(); listDepBZ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 15 || e.DEPARTMENT_TYPE == 20).OrderBy(t=>t.DEPARTMENT_TYPE).ThenBy(e => e.NUM).ToList();
#region //月度 隐患整改情况 #region //月度 隐患整改情况
@ -2654,7 +2666,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
var monthEnd = Convert.ToDateTime(monthStart.AddMonths(1).AddDays(-1).ToString().Replace("0:00:00", "23:59:59")); var monthEnd = Convert.ToDateTime(monthStart.AddMonths(1).AddDays(-1).ToString().Replace("0:00:00", "23:59:59"));
if (i.Date <= startTime.Date) if (i.Date <= startTime.Date)
{ {
monthStart = startTime; monthStart = currentTime;
} }
if (i.Date >= dtNow.Date) if (i.Date >= dtNow.Date)
{ {
@ -2818,8 +2830,8 @@ namespace APT.SC.WebApi.Controllers.Api.BI
parentIds.Add(item.ID); parentIds.Add(item.ID);
List<Guid> allIds = new List<Guid>(); List<Guid> allIds = new List<Guid>();
GetDepartmentIds(orgId.Value, parentIds, ref allIds); GetDepartmentIds(orgId.Value, parentIds, ref allIds);
var parentIdsx = listDep1MineType.Where(e => allIds.Contains(e.ID) && e.ID != item.ID).Select(t => t.ID).ToList(); //var parentIdsx = listDep1MineType.Where(e => allIds.Contains(e.ID) && e.ID != item.ID).Select(t => t.ID).ToList();
var alls = hiddens.Where(t => t.APPLY_DEPARTMENT_ID == item.ID || parentIdsx.Contains((Guid)t.APPLY_DEPARTMENT_ID)).ToList(); var alls = hiddens.Where(t => t.APPLY_DEPARTMENT_ID == item.ID || allIds.Contains((Guid)t.APPLY_DEPARTMENT_ID)).ToList();
//var classIds = listDepBZ.Where(e => e.PARENT_ID.HasValue && e.PARENT_ID.Value == item.ID).Select(t => t.ID); //var classIds = listDepBZ.Where(e => e.PARENT_ID.HasValue && e.PARENT_ID.Value == item.ID).Select(t => t.ID);
//var alls = hiddens.Where(t => t.APPLY_DEPARTMENT_ID == item.ID || classIds.Contains((Guid)t.APPLY_DEPARTMENT_ID)); //var alls = hiddens.Where(t => t.APPLY_DEPARTMENT_ID == item.ID || classIds.Contains((Guid)t.APPLY_DEPARTMENT_ID));
if (alls.Count() > 0) if (alls.Count() > 0)
@ -2948,21 +2960,13 @@ namespace APT.SC.WebApi.Controllers.Api.BI
//listCheckDepCountBZ = listCheckDepCountBZ.Where(t => t.TotalCount != 0).ToList(); //listCheckDepCountBZ = listCheckDepCountBZ.Where(t => t.TotalCount != 0).ToList();
foreach (var item in listCheckDepCountCJ) foreach (var item in listCheckDepCountCJ)
{ {
var parentIds = listCheckDepCountBZ.Where(e => e.PARENT_ID == item.Department_ID).Select(t => t.Department_ID); var parentIds = listDepBZ.Where(e => e.PARENT_ID == item.Department_ID).Select(t => t.ID);
item.listChild = listCheckDepCountBZ.Where(e => e.PARENT_ID == item.Department_ID || parentIds.Contains(e.PARENT_ID)).OrderBy(e => e.NUM).ToList(); var classIds = listDepBZ.Where(e => e.PARENT_ID != null && parentIds.Contains((Guid)e.PARENT_ID)).Select(t => t.ID);
//item.listChild = listCheckDepCountBZ.Where(e => e.PARENT_ID == item.Department_ID).OrderBy(e => e.NUM).ToList(); item.listChild = listCheckDepCountBZ.Where(e => e.Department_ID != null && (classIds.Contains((Guid)e.Department_ID) || parentIds.Contains(e.Department_ID))).OrderBy(e => e.DepartmentType).ThenBy(t => t.NUM).ToList();
//item.listCount = new List<int>();
//var onTime = item.listChild.Sum(t => t.OnCount) + item.OnCount;
//item.listCount.Add(onTime);
//var overTime = item.listChild.Sum(t => t.OverCount) + item.OverCount;
//item.listCount.Add(overTime);
//var noTime = item.listChild.Sum(t => t.NoCount) + item.NoCount;
//item.listCount.Add(noTime);
//var val = onTime + overTime;
//var count = item.TotalCount;
//var rate = count == 0 ? 0 : (int)(10000.00 * val / count);
//item.listCount.Add(rate);
item.RowCount = item.listChild.Count(); item.RowCount = item.listChild.Count();
//var parentIds = listCheckDepCountBZ.Where(e => e.PARENT_ID == item.Department_ID).Select(t => t.Department_ID);
//item.listChild = listCheckDepCountBZ.Where(e => e.PARENT_ID == item.Department_ID || parentIds.Contains(e.PARENT_ID)).OrderBy(t=>t.DepartmentType).ThenBy(e => e.NUM).ToList();
//item.RowCount = item.listChild.Count();
} }
//result.ListSafeCheckYearMonth = listCheckDepCountCJ; //result.ListSafeCheckYearMonth = listCheckDepCountCJ;

View File

@ -134,7 +134,9 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
public double teamDoneRate { get; set; } public double teamDoneRate { get; set; }
public double teamOverDoneRate { get; set; } public double teamOverDoneRate { get; set; }
public string month { get; set; } public string month { get; set; }
public string name { get; set; } public string name { get; set; }
public int deptType { get; set; }
public int num { get; set; }
} }
public class LoginInfo public class LoginInfo
{ {
@ -9702,7 +9704,7 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
} }
else else
{ {
var startTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-01 00:00:00"); var startTime = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.AddMonths(-5).Month + "-01 00:00:00");
completions = completions.Where(t => t.MONTH >= startTime).ToList(); completions = completions.Where(t => t.MONTH >= startTime).ToList();
} }
if (!string.IsNullOrEmpty(filter.Parameter3)) if (!string.IsNullOrEmpty(filter.Parameter3))
@ -9857,14 +9859,14 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
// completionLists.Add(completionSort); // completionLists.Add(completionSort);
// } // }
//} //}
var classIds = departmentInfos.Where(t => t.DEPARTMENT_TYPE == 15 || t.DEPARTMENT_TYPE == 20).ToList(); var classIds = departmentInfos.Where(t => t.DEPARTMENT_TYPE == 15 || t.DEPARTMENT_TYPE == 20).OrderBy(m=>m.DEPARTMENT_TYPE).ThenBy(n=>n.NUM).ToList();
if (classIds != null && classIds.Any()) if (classIds != null && classIds.Any())
{ {
foreach (var item in classIds) foreach (var item in classIds)
{ {
if (!string.IsNullOrEmpty(item.NAME)) if (!string.IsNullOrEmpty(item.NAME))
{ {
var coms = completions.Where(t => t.DEPARTMENT_ID != null && t.DEPARTMENT_ID == item.ID).ToList(); var coms = completions.Where(t => t.TEAM_ID != null && t.TEAM_ID == item.ID).ToList();
GroupbyDepartmentCompletion completionSort = new GroupbyDepartmentCompletion(); GroupbyDepartmentCompletion completionSort = new GroupbyDepartmentCompletion();
completionSort.teamId = item.ID; completionSort.teamId = item.ID;
completionSort.teamName = item.NAME; completionSort.teamName = item.NAME;
@ -9909,9 +9911,10 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
// } // }
// else // else
{ {
item.shopDoneCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamDoneCount); var coms = completions.Where(i => i.DEPARTMENT_ID == item.shopId);
item.shopOntimeCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamOntimeCount); item.shopDoneCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamDoneCount)+ coms.Sum(m => m.FINISH_COUNT);
item.shopTotalCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamTotalCount); item.shopOntimeCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamOntimeCount) + coms.Sum(m => m.ONTIME_COUNT);
item.shopTotalCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamTotalCount) + coms.Sum(m => m.TOTAL_COUNT);
if (item.shopTotalCount == 0) if (item.shopTotalCount == 0)
{ {
item.shopDoneRate = 0; item.shopDoneRate = 0;
@ -10357,19 +10360,19 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
//departmentIds.AddRange(classIds); //departmentIds.AddRange(classIds);
var departmentInfos = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0 && t.CATEGORY == FMCATEGORY.ACTURE, new BaseFilter(orgId)); var departmentInfos = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0 && t.CATEGORY == FMCATEGORY.ACTURE, new BaseFilter(orgId));
var departmentIds = departmentInfos.Where(t => t.DEPARTMENT_TYPE == 10 || t.DEPARTMENT_STATUS == 2).ToList(); var departmentIds = departmentInfos.Where(t => t.DEPARTMENT_TYPE == 10 || t.DEPARTMENT_STATUS == 2).ToList();
if (departmentIds != null && departmentIds.Any()) if (departmentIds != null && departmentIds.Any())
{ {
foreach (var item in departmentIds) foreach (var item in departmentIds)
{ {
List<Guid> parentIds = new List<Guid>(); List<Guid> parentIds = new List<Guid>();
parentIds.Add(item.ID); parentIds.Add(item.ID);
List<Guid> allIds = new List<Guid>(); List<Guid> allIds = new List<Guid>();
GetDepartmentIds(orgId, parentIds, ref allIds); GetDepartmentIds(orgId, parentIds, ref allIds);
var coms = jobs.Where(t => t.DEPARTMENT_ID != null && allIds.Contains((Guid)t.DEPARTMENT_ID)).ToList(); var coms = jobs.Where(t => t.DEPARTMENT_ID != null && (t.DEPARTMENT_ID == item.ID || allIds.Contains((Guid)t.DEPARTMENT_ID)) ).ToList();
T_FM_WORK_TICKET_COMPLETION completionSort = new T_FM_WORK_TICKET_COMPLETION(); T_FM_WORK_TICKET_COMPLETION completionSort = new T_FM_WORK_TICKET_COMPLETION();
completionSort.TEAM_ID = item.ID; completionSort.TEAM_ID = item.ID;
completionSort.TEAM_NAME = item.NAME; completionSort.TEAM_NAME = item.NAME;
completionSort.FINISH_COUNT = coms.Count(t=>t.IS_PUBLISH == 5); completionSort.FINISH_COUNT = coms.Count(t=>t.IS_PUBLISH == 5 && t.IS_OVERTIME == 0);
completionSort.OVER_FINISH_COUNT = coms.Count(t => t.IS_PUBLISH == 5 && t.IS_OVERTIME == 1); completionSort.OVER_FINISH_COUNT = coms.Count(t => t.IS_PUBLISH == 5 && t.IS_OVERTIME == 1);
completionSort.TOTAL_COUNT = coms.Count(); completionSort.TOTAL_COUNT = coms.Count();
completionSort.WAITTING_COUNT = coms.Count(t => t.IS_PUBLISH != 5); completionSort.WAITTING_COUNT = coms.Count(t => t.IS_PUBLISH != 5);
@ -10834,7 +10837,7 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
// completionLists.Add(completionSort); // completionLists.Add(completionSort);
// } // }
//} //}
var classIds = departmentInfos.Where(t => t.DEPARTMENT_TYPE == 15 || t.DEPARTMENT_TYPE == 20).ToList(); var classIds = departmentInfos.Where(t => t.DEPARTMENT_TYPE == 15 || t.DEPARTMENT_TYPE == 20).OrderBy(m=>m.DEPARTMENT_TYPE).ThenBy(n=>n.NUM).ToList();
if (classIds != null && classIds.Any()) if (classIds != null && classIds.Any())
{ {
foreach (var item in classIds) foreach (var item in classIds)
@ -10863,6 +10866,8 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
completionSort.shopName = parentInfo.NAME; completionSort.shopName = parentInfo.NAME;
} }
} }
completionSort.deptType = item.DEPARTMENT_TYPE;
completionSort.num = item.NUM;
completionSort.teamDoneCount = coms.Count(t => t.IS_PUBLISH == 5); completionSort.teamDoneCount = coms.Count(t => t.IS_PUBLISH == 5);
completionSort.teamOntimeCount = coms.Count(t => t.IS_PUBLISH == 5 && t.IS_OVERTIME == 0); completionSort.teamOntimeCount = coms.Count(t => t.IS_PUBLISH == 5 && t.IS_OVERTIME == 0);
completionSort.teamTotalCount = coms.Count(); completionSort.teamTotalCount = coms.Count();
@ -10911,9 +10916,10 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
//{ //{
// item.teamName = item.shopName; // item.teamName = item.shopName;
//} //}
item.shopDoneCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamDoneCount); var coms = jobs.Where(i => i.DEPARTMENT_ID == item.shopId);
item.shopOntimeCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamOntimeCount); item.shopDoneCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamDoneCount)+ coms.Count(t=>t.IS_PUBLISH==5);
item.shopTotalCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamTotalCount); item.shopOntimeCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamOntimeCount)+coms.Count(t => t.IS_PUBLISH == 5 && t.IS_OVERTIME==0);
item.shopTotalCount = completionLists.Where(i => i.shopId == item.shopId).Sum(m => m.teamTotalCount)+ coms.Count();
//if (item.deptTotalCount == 0) //if (item.deptTotalCount == 0)
//{ //{
@ -10949,7 +10955,7 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
} }
} }
ret.retData = result.OrderBy(t => t.shopName).ThenByDescending(m => m.teamOverDoneRate).ToList(); ret.retData = result.OrderBy(t=>t.shopName).ThenBy(t => t.deptType).ThenBy(m => m.num).ToList();
} }
return ret; return ret;
}); });