This commit is contained in:
何美荣 2026-07-06 15:19:52 +08:00
parent 2a50c64832
commit 8e477d0695
2 changed files with 861 additions and 307 deletions

View File

@ -2386,6 +2386,97 @@ namespace APT.PP.WebApi.Controllers.Api.PP
throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
}
return true;
});
}
/// <summary>
/// 更新岗位当班,交接班,班组活动记录超时字段
/// </summary>
/// <param name="pageFilter"></param>
/// <returns></returns>
[HttpPost, Route("CurJobSync")]
public JsonActionResult<bool> CurJobSync([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;
});
}