班前会触发

This commit is contained in:
何美荣 2026-05-08 18:07:25 +08:00
parent 532b42625f
commit e583d55e02
2 changed files with 81 additions and 61 deletions

View File

@ -95,65 +95,84 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{
shift.RUN_STATUS = true;
//查出当前班组
var currentTeam = shift.Nav_Team;
var userAgent = userVacations.FirstOrDefault(t => t.USER_ID == currentTeam?.Nav_ChargePerson?.Nav_User?.ID);
var userId = userAgent != null && userAgent.AGENT_ID != null ? userAgent.AGENT_ID : currentTeam?.Nav_ChargePerson?.Nav_User?.ID;
var userName = userAgent != null && userAgent.AGENT_ID != null ? userAgent.Nav_Agent?.NAME : currentTeam?.Nav_ChargePerson?.Nav_User?.NAME;
//当前班组的人员
var currentTeamUsers = shift.Nav_DepartmentSchedulingDetail;
T_FO_PRE_SHIFT_MEETING_RECORD record = new T_FO_PRE_SHIFT_MEETING_RECORD(); ;
record.ID = Guid.NewGuid();
record.ORG_ID = filter.GetOrgId();
record.CLASS_ID = shift.CLASS_ID;
record.DEPARTMENT_ID = shift.DEPARTMENT_ID;
record.TEAM_ID = shift.TEAM_ID;
record.USER_ID = userId;
record.MEETING_TIME = DateTime.Now.Date;
record.MONITOR_ID = userId;
record.RECORD_ID = userId;
record.START_TIME = shift.START_TIME;
record.END_TIME = shift.END_TIME;
record.NAME = dt.Date.ToString("yyyyMMdd") + currentTeam.NAME + "-" + "班前会议";
record.DEPARTMENT_SCHEDULING_ID = shift.ID;
if (currentTeam.NAME.Contains("回水泵房"))
{
record.JOB_CONTENT = "6S清扫清洁设备没施巡查点检";
record.PROTECT_MEASURE = "注意人身安全,戴好安全帽,劳动防护用品";
record.OTHER_CONTENT = "确保外排水数据正常。设备运行正常";
}
foreach (var person in currentTeamUsers)
{
if (person.Nav_Person.Nav_User != null && person.Nav_Person.Nav_User.ENABLE_STATUS == 0)
{
T_FO_PRE_SHIFT_MEETING_RECORD_USER rUser = new T_FO_PRE_SHIFT_MEETING_RECORD_USER();
rUser.ORG_ID = filter.OrgId;
rUser.PRE_SHIFT_MEETING_RECORD_ID = record.ID;
rUser.USER_ID = person.Nav_Person.Nav_User.ID;
listUser.Add(rUser);
var currentTeam = shift.Nav_Team;
Guid? userId = null;
var userName = "";
//班长删掉了去查休假表,有代理人发给代理人,没有代理人就不触发
var charge = shift.Nav_DepartmentSchedulingDetail.FirstOrDefault(t => t.PERSON_ID == currentTeam?.CHARGE_PERSON_ID);
if (charge == null)
{
var userAgent = userVacations.FirstOrDefault(t => t.USER_ID == currentTeam?.Nav_ChargePerson?.Nav_User?.ID);
if (userAgent != null && userAgent.AGENT_ID != null)
{
userId = userAgent.AGENT_ID;
userName = userAgent.Nav_Agent?.NAME;
}
}
record.SHOULD_QTY = listUser.Count;
record.ACTUAL_QTY = listUser.Count;
record.LATE_QTY = 0;
record.LEAVE_QTY = 0;
record.GREETING = "班长:大家好!员工:好、很好、非常好!";
listRecord.Add(record);
//noticeTitles.Add(dt.Date.ToString("yyyyMMdd") + currentTeam.NAME + "-" + "班前会议");
//noticeDataIds.Add(record.ID);
//noticeUserIds.Add(currentTeam.Nav_ChargePerson.Nav_User.ID);
//noticeUserNames.Add(currentTeam.Nav_ChargePerson.Nav_User.NAME);
var startTime = shift.START_TIME.AddHours(-1);
var endTime = shift.START_TIME.AddHours(1);
if (filter.OrgId.ToString() == "8b3c41aa-51b1-7ce9-1879-248a038c1b5c" && currentTeam.NAME.Contains("磨浮机修班"))
{
//startTime = shift.START_TIME.AddHours(-4);
endTime = shift.START_TIME.AddHours(2);
else
{
userId = currentTeam?.Nav_ChargePerson?.Nav_User?.ID;
userName = currentTeam?.Nav_ChargePerson?.Nav_User?.NAME;
}
//有排班或者有代理人才触发
if (userId != null)
{
//当前班组的人员
var currentTeamUsers = shift.Nav_DepartmentSchedulingDetail;
T_FO_PRE_SHIFT_MEETING_RECORD record = new T_FO_PRE_SHIFT_MEETING_RECORD(); ;
record.ID = Guid.NewGuid();
record.ORG_ID = filter.GetOrgId();
record.CLASS_ID = shift.CLASS_ID;
record.DEPARTMENT_ID = shift.DEPARTMENT_ID;
record.TEAM_ID = shift.TEAM_ID;
record.USER_ID = userId;
record.MEETING_TIME = DateTime.Now.Date;
record.MONITOR_ID = userId;
record.RECORD_ID = userId;
record.START_TIME = shift.START_TIME;
record.END_TIME = shift.END_TIME;
record.NAME = dt.Date.ToString("yyyyMMdd") + currentTeam.NAME + "-" + "班前会议";
record.DEPARTMENT_SCHEDULING_ID = shift.ID;
if (currentTeam.NAME.Contains("回水泵房"))
{
record.JOB_CONTENT = "6S清扫清洁设备没施巡查点检";
record.PROTECT_MEASURE = "注意人身安全,戴好安全帽,劳动防护用品";
record.OTHER_CONTENT = "确保外排水数据正常。设备运行正常";
}
foreach (var person in currentTeamUsers)
{
if (person.Nav_Person.Nav_User != null && person.Nav_Person.Nav_User.ENABLE_STATUS == 0)
{
T_FO_PRE_SHIFT_MEETING_RECORD_USER rUser = new T_FO_PRE_SHIFT_MEETING_RECORD_USER();
rUser.ORG_ID = filter.OrgId;
rUser.PRE_SHIFT_MEETING_RECORD_ID = record.ID;
rUser.USER_ID = person.Nav_Person.Nav_User.ID;
listUser.Add(rUser);
}
}
record.SHOULD_QTY = listUser.Count;
record.ACTUAL_QTY = listUser.Count;
record.LATE_QTY = 0;
record.LEAVE_QTY = 0;
record.GREETING = "班长:大家好!员工:好、很好、非常好!";
listRecord.Add(record);
//noticeTitles.Add(dt.Date.ToString("yyyyMMdd") + currentTeam.NAME + "-" + "班前会议");
//noticeDataIds.Add(record.ID);
//noticeUserIds.Add(currentTeam.Nav_ChargePerson.Nav_User.ID);
//noticeUserNames.Add(currentTeam.Nav_ChargePerson.Nav_User.NAME);
var startTime = shift.START_TIME.AddHours(-1);
var endTime = shift.START_TIME.AddHours(1);
if (filter.OrgId.ToString() == "8b3c41aa-51b1-7ce9-1879-248a038c1b5c" && currentTeam.NAME.Contains("磨浮机修班"))
{
//startTime = shift.START_TIME.AddHours(-4);
endTime = shift.START_TIME.AddHours(2);
}
var noticeTask = NotificationTaskService.InsertUserNoticeTaskModel(dt.Date.ToString("yyyyMMdd") + currentTeam.NAME + "-" + "班前会议", record.ID, filter.GetOrgId(), (Guid)userId, userName, startTime, endTime, (int)FMNoticeTypeEnum., "FO003");
notices.Add(noticeTask);
}
var noticeTask = NotificationTaskService.InsertUserNoticeTaskModel(dt.Date.ToString("yyyyMMdd") + currentTeam.NAME + "-" + "班前会议", record.ID, filter.GetOrgId(), (Guid)userId, userName, startTime, endTime, (int)FMNoticeTypeEnum., "FO003");
notices.Add(noticeTask);
}
UnifiedCommit(() =>
{

View File

@ -11239,8 +11239,8 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
var taskGroup = listAddNew.GroupBy(t => new { t.COMPANY_NAME, t.MOULD_NAME, t.FORM_NAME }).ToList();
if (taskGroup != null && taskGroup.Any())
{
var forms = this.GetEntities<T_PF_FORM>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId));
var menus = this.GetEntities<T_PF_MENU>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId));
//var forms = this.GetEntities<T_PF_FORM>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId));
//var menus = this.GetEntities<T_PF_MENU>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId));
foreach (var item in taskGroup)
{
var details = listAddNew.Where(t => t.COMPANY_NAME == item.Key.COMPANY_NAME && t.MOULD_NAME == item.Key.MOULD_NAME && t.FORM_NAME == item.Key.FORM_NAME).ToList();
@ -11261,8 +11261,8 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
info.details = new List<TaskViewInfoDetail>();
foreach (var de in details)
{
var formInfo = forms.FirstOrDefault(t=>t.NAME == de.FORM_NAME);
var menuInfo = menus.FirstOrDefault(t => t.FORM_ID == formInfo?.ID);
//var formInfo = forms.FirstOrDefault(t=>t.NAME == de.FORM_NAME);
//var menuInfo = menus.FirstOrDefault(t => t.FORM_ID == formInfo?.ID);
TaskViewInfoDetail dd = new TaskViewInfoDetail();
dd.COMPANY_NAME = de.COMPANY_NAME;
dd.MOULD_NAME = de.MOULD_NAME;
@ -11273,9 +11273,10 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
dd.TASK_STARTDT = de.TASK_STARTDT;
dd.TASK_ENDDT = de.TASK_ENDDT;
dd.USER_NAME = de.USER_NAME;
dd.NUM = menuInfo?.NUM;
//dd.NUM = menuInfo?.NUM;
info.details.Add(dd);
}
info.details = info.details.OrderBy(t => t.NUM).ToList();
}
result.Data.Add(info);
}