Merge branch 'main' of http://47.122.43.22:3000/wjn/mh_sms
This commit is contained in:
commit
b4d7f1a8bd
@ -4156,7 +4156,8 @@ namespace APT.BaseData.Services.DomainServices
|
||||
Guid sendUserId = Guid.Empty;
|
||||
string sendName = "";
|
||||
var sendUser = new T_FM_USER();
|
||||
|
||||
var userDepartmentId = GetEntity<T_FM_USER>(t => t.ID == entity.NOTE_TAKER_ID && t.ENABLE_STATUS == 0).DEPARTMENT_ID;
|
||||
var department = GetEntity<T_FM_DEPARTMENT>(userDepartmentId.ToString());
|
||||
if (entity.LEVEL == FMDepartmentType.公司)
|
||||
{
|
||||
var approveRole = GetEntity<T_PF_APPROVAL_ROLE>(t => t.NAME == "安环部安全员").ID;
|
||||
@ -4170,8 +4171,6 @@ namespace APT.BaseData.Services.DomainServices
|
||||
}
|
||||
else
|
||||
{
|
||||
var userDepartmentId = GetEntity<T_FM_USER>(t => t.ID == entity.NOTE_TAKER_ID && t.ENABLE_STATUS == 0).DEPARTMENT_ID;
|
||||
var department = GetEntity<T_FM_DEPARTMENT>(userDepartmentId.ToString());
|
||||
Guid departmentId = Guid.Empty;
|
||||
if (department.DEPARTMENT_TYPE == (int)FMDepartmentType.班组)
|
||||
{
|
||||
@ -4342,7 +4341,7 @@ namespace APT.BaseData.Services.DomainServices
|
||||
}
|
||||
|
||||
entity.STATUS = FOPreMeetingStatusEnum.归档;
|
||||
NotificationTaskService.SendNotificationTask("危险源与风险辨识评价结果", result.ID, orgId, sendUserId, sendName,
|
||||
NotificationTaskService.SendNotificationTask("《"+department.NAME+"》危险源与风险辨识评价结果", result.ID, orgId, sendUserId, sendName,
|
||||
DateTime.Now, DateTime.Parse(DateTime.Now.AddDays(5).ToShortDateString() + " 23:59:59"), (int)FMNoticeTypeEnum.消息, "HM122", () =>
|
||||
{
|
||||
if (entity != null)
|
||||
@ -4475,7 +4474,8 @@ namespace APT.BaseData.Services.DomainServices
|
||||
Guid sendUserId = Guid.Empty;
|
||||
string sendName = "";
|
||||
var sendUser = new T_FM_USER();
|
||||
|
||||
var userDepartmentId = GetEntity<T_FM_USER>(t => t.ID == entity.NOTE_TAKER_ID && t.ENABLE_STATUS == 0).DEPARTMENT_ID;
|
||||
var department = GetEntity<T_FM_DEPARTMENT>(userDepartmentId.ToString());
|
||||
if (entity.LEVEL == FMDepartmentType.公司)
|
||||
{
|
||||
var approveRole = GetEntity<T_PF_APPROVAL_ROLE>(t => t.NAME == "安环部安全员").ID;
|
||||
@ -4489,8 +4489,6 @@ namespace APT.BaseData.Services.DomainServices
|
||||
}
|
||||
else
|
||||
{
|
||||
var userDepartmentId = GetEntity<T_FM_USER>(t => t.ID == entity.NOTE_TAKER_ID && t.ENABLE_STATUS == 0).DEPARTMENT_ID;
|
||||
var department = GetEntity<T_FM_DEPARTMENT>(userDepartmentId.ToString());
|
||||
Guid departmentId = Guid.Empty;
|
||||
if (department.DEPARTMENT_TYPE == (int)FMDepartmentType.班组)
|
||||
{
|
||||
@ -4613,7 +4611,7 @@ namespace APT.BaseData.Services.DomainServices
|
||||
}
|
||||
}
|
||||
entity.STATUS = FOPreMeetingStatusEnum.归档;
|
||||
NotificationTaskService.SendNotificationTask("职业危害辨识评价结果", result.ID, orgId, sendUserId, sendName,
|
||||
NotificationTaskService.SendNotificationTask("《"+department.NAME+">职业危害辨识评价结果", result.ID, orgId, sendUserId, sendName,
|
||||
DateTime.Now, DateTime.Parse(DateTime.Now.AddDays(5).ToShortDateString() + " 23:59:59"), (int)FMNoticeTypeEnum.消息, "HM122", () =>
|
||||
{
|
||||
if (entity != null)
|
||||
|
||||
@ -92,6 +92,9 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
|
||||
|
||||
public string DEPARTMENT_NAME { get; set; }
|
||||
public DateTime? CREATE_TIME { get; set; }
|
||||
public DateTime? TASK_STARTDT { get; set; }
|
||||
public DateTime? TASK_ENDDT { get; set; }
|
||||
public DateTime? TASK_DT { get; set; }
|
||||
public string STATUS_NAME { get; set; }
|
||||
}
|
||||
public class GroupbyDepartmentCompletion
|
||||
@ -330,6 +333,138 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
|
||||
GetDepartmentIds(orgId, listDepIDInt, ref departmentIdPs);
|
||||
}
|
||||
}
|
||||
[HttpPost, Route("GetFormRunDay")]
|
||||
public JsonActionResult<List<T_BI_FORM_RUN_ANALYSIS>> GetFormRunDay([FromBody] KeywordFilter filter)
|
||||
{
|
||||
return SafeExecute<List<T_BI_FORM_RUN_ANALYSIS>>(() =>
|
||||
{
|
||||
//首页待办增加数量统计字段
|
||||
if (string.IsNullOrEmpty(filter.Parameter1))
|
||||
{
|
||||
throw new Exception("请先选择开始时间");
|
||||
}
|
||||
if (string.IsNullOrEmpty(filter.Parameter2))
|
||||
{
|
||||
throw new Exception("请先选择结束时间");
|
||||
}
|
||||
DateTime startTime = Convert.ToDateTime(filter.Parameter1);
|
||||
DateTime endTime = Convert.ToDateTime(filter.Parameter2);
|
||||
var diffTime = startTime.AddDays(32).Date;
|
||||
if (diffTime < endTime.Date)
|
||||
{
|
||||
throw new Exception("查询时间不能超过32天!");
|
||||
}
|
||||
List<T_BI_FORM_RUN_ANALYSIS> formAnalysis = new List<T_BI_FORM_RUN_ANALYSIS>();
|
||||
var newFilter = new BaseFilter(filter.OrgId);
|
||||
newFilter.IgnoreDataRule = true;
|
||||
newFilter.SelectField = new List<string> { "USER_ID", "NOTICE_STATUS" };
|
||||
var tasks = this.GetEntities<T_FM_NOTIFICATION_TASK>(t => !t.IS_DELETED && t.CREATE_TIME >= startTime && t.CREATE_TIME <= endTime && (t.NOTICE_STATUS == 0 || t.NOTICE_STATUS == 1 || t.NOTICE_STATUS == 2), newFilter).ToList();
|
||||
var userIds = tasks.Select(t => t.USER_ID).Distinct().ToList();
|
||||
var users = this.GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId), "Nav_Department");
|
||||
var departments = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId), "Nav_Parent");
|
||||
if (tasks.Any())
|
||||
{
|
||||
var company = departments.FirstOrDefault(t => t.DEPARTMENT_TYPE == 3);
|
||||
foreach (var item in tasks)
|
||||
{
|
||||
var user = users.FirstOrDefault(t => t.ID == item.USER_ID);
|
||||
if (user != null)
|
||||
{
|
||||
if (company != null)
|
||||
item.DEPARTMENT_ID = company.ID;
|
||||
var department = departments.FirstOrDefault(t => t.ID == user.Nav_Department?.PARENT_ID);
|
||||
var type = user.Nav_Department?.DEPARTMENT_TYPE;
|
||||
switch (type)
|
||||
{
|
||||
case 0:
|
||||
item.DEPT_DEPARTMENT_ID = user.DEPARTMENT_ID;
|
||||
item.SHOP_DEPARTMENT_ID = null;
|
||||
item.CLASS_DEPARTMENT_ID = null;
|
||||
break;
|
||||
case 1:
|
||||
item.DEPT_DEPARTMENT_ID = department.ID;
|
||||
item.SHOP_DEPARTMENT_ID = user.DEPARTMENT_ID;
|
||||
item.CLASS_DEPARTMENT_ID = null;
|
||||
break;
|
||||
case 2:
|
||||
item.DEPT_DEPARTMENT_ID = department.PARENT_ID;
|
||||
item.SHOP_DEPARTMENT_ID = department.ID;
|
||||
item.CLASS_DEPARTMENT_ID = user.DEPARTMENT_ID;
|
||||
break;
|
||||
case 3:
|
||||
item.DEPT_DEPARTMENT_ID = null;
|
||||
item.SHOP_DEPARTMENT_ID = null;
|
||||
item.CLASS_DEPARTMENT_ID = null;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
tasks = tasks.Where(t => t.DEPARTMENT_ID != null).ToList();
|
||||
tasks.ForEach(m => { m.DEPARTMENT_NAME = company?.NAME; });
|
||||
var departs = departments.Where(t => t.DEPARTMENT_TYPE == 2).OrderBy(m => m.PARENT_ID).ThenBy(k => k.NUM).ToList();
|
||||
if (!string.IsNullOrEmpty(filter.Keyword))
|
||||
{
|
||||
var type = filter.Keyword.ToString();
|
||||
switch (type)
|
||||
{
|
||||
case "0":
|
||||
tasks = tasks.Where(t => t.DEPT_DEPARTMENT_ID != null).ToList();
|
||||
tasks.ForEach(m => { m.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == m.DEPT_DEPARTMENT_ID)?.NAME; });
|
||||
departs = departments.Where(t => t.DEPARTMENT_TYPE == 0).OrderBy(m => m.PARENT_ID).ThenBy(k => k.NUM).ToList();
|
||||
break;
|
||||
case "1":
|
||||
tasks = tasks.Where(t => t.SHOP_DEPARTMENT_ID != null).ToList();
|
||||
tasks.ForEach(m => { m.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == m.SHOP_DEPARTMENT_ID)?.NAME; });
|
||||
departs = departments.Where(t => t.DEPARTMENT_TYPE == 1).OrderBy(m => m.PARENT_ID).ThenBy(k => k.NUM).ToList();
|
||||
break;
|
||||
case "2":
|
||||
tasks = tasks.Where(t => t.CLASS_DEPARTMENT_ID != null).ToList();
|
||||
tasks.ForEach(m => { m.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == m.CLASS_DEPARTMENT_ID)?.NAME; });
|
||||
departs = departments.Where(t => t.DEPARTMENT_TYPE == 2).OrderBy(m => m.PARENT_ID).ThenBy(k => k.NUM).ToList();
|
||||
break;
|
||||
case "3":
|
||||
departs = departments.Where(t => t.DEPARTMENT_TYPE == 3).OrderBy(m => m.PARENT_ID).ThenBy(k => k.NUM).ToList();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
tasks = tasks.Where(t => t.CLASS_DEPARTMENT_ID != null).ToList();
|
||||
tasks.ForEach(m => { m.DEPARTMENT_NAME = departments.FirstOrDefault(t => t.ID == m.CLASS_DEPARTMENT_ID)?.NAME; });
|
||||
}
|
||||
if (tasks.Any() && departs.Any())
|
||||
{
|
||||
//var temp = tasks.GroupBy(t => t.DEPARTMENT_NAME).ToList();
|
||||
foreach (var item in departs)
|
||||
{
|
||||
var count = tasks.Where(t => t.DEPARTMENT_NAME == item.NAME).Count();
|
||||
var finish = tasks.Count(t => t.NOTICE_STATUS == 1 && t.DEPARTMENT_NAME == item.NAME);
|
||||
var overfinish = tasks.Count(t => t.NOTICE_STATUS == 2 && t.DEPARTMENT_NAME == item.NAME);
|
||||
var unfinish = count - finish - overfinish;
|
||||
var temp1 = count == 0 ? 100 : (double)(finish + overfinish) / count * 100;
|
||||
var finishRate = temp1.ToString("0") + "%";
|
||||
var temp2 = count == 0 ? 100 : (double)finish / count * 100;
|
||||
var normalFinishRate = temp2.ToString("0") + "%";
|
||||
T_BI_FORM_RUN_ANALYSIS analysis = new T_BI_FORM_RUN_ANALYSIS();
|
||||
analysis.MOUDLE_NAME = item.NAME;
|
||||
analysis.ORG_ID = filter.OrgId;
|
||||
analysis.TOTAL_QTY = count;
|
||||
analysis.FINISH_QTY = finish;
|
||||
analysis.OVER_FINISH_QTY = overfinish;
|
||||
analysis.UNFINISH_QTY = unfinish;
|
||||
analysis.FINISH_RATE = finishRate;
|
||||
analysis.NORMAL_FINISH_RATE = normalFinishRate;
|
||||
formAnalysis.Add(analysis);
|
||||
}
|
||||
}
|
||||
}
|
||||
return formAnalysis;
|
||||
});
|
||||
}
|
||||
[HttpPost, Route("GetFormRun")]
|
||||
public JsonActionResult<List<T_BI_FORM_RUN_ANALYSIS>> GetFormRun([FromBody] KeywordFilter filter)
|
||||
{
|
||||
@ -4295,6 +4430,64 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
|
||||
});
|
||||
}
|
||||
|
||||
[HttpPost, Route("GetFormRunAnalyzeDay")]
|
||||
public JsonActionResult<List<UnFinishInfo>> GetFormRunAnalyzeDay([FromBody] KeywordFilter filter)
|
||||
{
|
||||
return SafeExecute<List<UnFinishInfo>>(() =>
|
||||
{
|
||||
//首页待办增加数量统计字段
|
||||
List<UnFinishInfo> formAnalysis = new List<UnFinishInfo>();
|
||||
if (string.IsNullOrEmpty(filter.Parameter1))
|
||||
{
|
||||
throw new Exception("请先选择开始时间");
|
||||
}
|
||||
if (string.IsNullOrEmpty(filter.Parameter2))
|
||||
{
|
||||
throw new Exception("请先选择结束时间");
|
||||
}
|
||||
if (string.IsNullOrEmpty(filter.Keyword))
|
||||
{
|
||||
throw new Exception("未传入组织");
|
||||
}
|
||||
var depart = this.GetEntity<T_FM_DEPARTMENT>(t => t.NAME == filter.Keyword && t.ENABLE_STATUS == 0);
|
||||
if (depart == null)
|
||||
throw new Exception("组织" + filter.Keyword + "不存在,请确认!");
|
||||
DateTime startTime = Convert.ToDateTime(filter.Parameter1);
|
||||
DateTime endTime = Convert.ToDateTime(filter.Parameter2);
|
||||
var diffTime = startTime.AddDays(32).Date;
|
||||
if (diffTime < endTime.Date)
|
||||
{
|
||||
throw new Exception("查询时间不能超过32天!");
|
||||
}
|
||||
List<Guid> outPartmentIds = new List<Guid>();
|
||||
List<Guid> inputIds = new List<Guid>() { depart.ID };
|
||||
GetDepartmentIds(APT.Infrastructure.Api.AppContext.CurrentSession.OrgId.Value, inputIds, ref outPartmentIds);
|
||||
outPartmentIds.Add(depart.ID);
|
||||
var userInfos = this.GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0 && outPartmentIds.Contains((Guid)t.DEPARTMENT_ID), new BaseFilter(filter.OrgId), "Nav_Department");
|
||||
var userIds = userInfos.Select(m => m.ID).ToList();
|
||||
var tasks = this.GetEntities<T_FM_NOTIFICATION_TASK>(t => !t.IS_DELETED && t.CREATE_TIME >= startTime && t.CREATE_TIME <= endTime && userIds.Contains(t.USER_ID) && (t.NOTICE_STATUS == 0 || t.NOTICE_STATUS == 1 || t.NOTICE_STATUS == 2), new BaseFilter(filter.OrgId)).ToList();
|
||||
if (!string.IsNullOrEmpty(filter.Parameter3))
|
||||
{
|
||||
tasks = tasks.Where(t => t.NOTICE_STATUS == int.Parse(filter.Parameter3)).ToList();
|
||||
}
|
||||
if (tasks.Any())
|
||||
{
|
||||
tasks.ForEach(t =>
|
||||
{
|
||||
UnFinishInfo analysis = new UnFinishInfo();
|
||||
analysis.NAME = t.NOTICE_TITLE;
|
||||
analysis.CREATE_NAME = userInfos.FirstOrDefault(m => m.ID == t.USER_ID)?.NAME;
|
||||
analysis.DEPARTMENT_NAME = userInfos.FirstOrDefault(m => m.ID == t.USER_ID)?.Nav_Department?.NAME;
|
||||
analysis.TASK_STARTDT = t.TASK_STARTDT;
|
||||
analysis.TASK_ENDDT = t.TASK_ENDDT;
|
||||
analysis.TASK_DT = t.TASK_DT;
|
||||
analysis.STATUS_NAME = Enum.GetName(typeof(FMNoticeStatusEnum), t.NOTICE_STATUS);
|
||||
formAnalysis.Add(analysis);
|
||||
});
|
||||
}
|
||||
return formAnalysis;
|
||||
});
|
||||
}
|
||||
[HttpPost, Route("GetFormRunAnalyze")]
|
||||
public JsonActionResult<List<UnFinishInfo>> GetFormRunAnalyze([FromBody] KeywordFilter filter)
|
||||
{
|
||||
@ -6143,10 +6336,10 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
|
||||
{
|
||||
throw new Exception("请先选择时间开始时间和结束时间");
|
||||
}
|
||||
if (string.IsNullOrEmpty(pageFilter.Keyword))
|
||||
{
|
||||
throw new Exception("部门未传入,请联系管理员");
|
||||
}
|
||||
//if (string.IsNullOrEmpty(pageFilter.Keyword))
|
||||
//{
|
||||
// throw new Exception("部门未传入,请联系管理员");
|
||||
//}
|
||||
var newFilter = new BaseFilter(pageFilter.OrgId);
|
||||
DateTime year = DateTime.Parse(pageFilter.Parameter1);
|
||||
DateTime yearEnd = DateTime.Parse(pageFilter.Parameter2);
|
||||
@ -6156,7 +6349,7 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
|
||||
int dayDidd = span.Days + 1;
|
||||
if (dayDidd >= 180)
|
||||
throw new Exception("查询时间不能超过6个月!");
|
||||
var departmentId = Guid.Parse(pageFilter.Keyword);
|
||||
//var departmentId = Guid.Parse(pageFilter.Keyword);
|
||||
List<T_BI_SYSTEM_RUN_SUMMARY> departSummary = new List<T_BI_SYSTEM_RUN_SUMMARY>();
|
||||
var taskYear = this.GetEntities<T_BI_NOTIFICATION_TASK_NEW>(t =>!t.IS_DELETED && t.CREATE_DATE >= year && t.CREATE_DATE <= yearEnd, new BaseFilter(pageFilter.OrgId)).ToList();
|
||||
newFilter.SelectField = new List<string> { "ID", "PARENT_ID", "NAME", "Nav_Parent", "DEPARTMENT_TYPE" };
|
||||
@ -6164,11 +6357,11 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
|
||||
//newFilter.SelectField = new List<string> { "ID", "DEPARTMENT_ID", "NAME" };
|
||||
//var userInfos = this.GetEntities<T_FM_USER>(t => !t.IS_DELETED, newFilter).ToList();
|
||||
//部门级
|
||||
var departGroupYear = taskYear.Where(t => t.DEPT_DEPARTMENT_ID != null && t.DEPT_DEPARTMENT_ID == departmentId).ToList();
|
||||
var departGroupYear = taskYear.Where(t => t.DEPT_DEPARTMENT_ID != null).ToList();
|
||||
//车间级
|
||||
var shopGroupYear = taskYear.Where(t => t.SHOP_DEPARTMENT_ID != null && t.DEPT_DEPARTMENT_ID == departmentId).ToList();
|
||||
var shopGroupYear = taskYear.Where(t => t.SHOP_DEPARTMENT_ID != null).ToList();
|
||||
//班组级
|
||||
var classGroupYear = taskYear.Where(t => t.CLASS_DEPARTMENT_ID != null && t.DEPT_DEPARTMENT_ID == departmentId).ToList();
|
||||
var classGroupYear = taskYear.Where(t => t.CLASS_DEPARTMENT_ID != null).ToList();
|
||||
//分组
|
||||
if (departGroupYear.Any())
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user