This commit is contained in:
wyw 2026-05-07 17:23:33 +08:00
commit 24a0373ca0
4 changed files with 56 additions and 37 deletions

View File

@ -88,7 +88,7 @@ namespace APT.FM.WebApi.Controllers.Api.FM
var cycle = departmentConfig.FirstOrDefault().CYCLE;
var currTime = departmentConfig.FirstOrDefault().CURR_TIME;
var departIds = departmentConfig.Select(t => t.DEPARTMENT_ID).Distinct().ToList();
deleteShiftDataIds = this.GetEntities<T_FM_DEPARTMENT_SCHEDULING>(s => s.DATE_TIME.Date >= currTime && departIds.Contains(s.DEPARTMENT_ID), new BaseFilter(filter.OrgId)).Select(m => m.ID).ToList();
deleteShiftDataIds = this.GetEntities<T_FM_DEPARTMENT_SCHEDULING>(s => s.DATE_TIME.Date >= currTime.Date && departIds.Contains(s.DEPARTMENT_ID), new BaseFilter(filter.OrgId)).Select(m => m.ID).ToList();
deleteShiftPersonIds = this.GetEntities<T_FM_DEPARTMENT_SCHEDULING_DETAIL>(s => deleteShiftDataIds.Contains(s.DEPARTMENT_SCHEDULING_ID), new BaseFilter(filter.OrgId)).Select(m => m.ID).ToList();
//departmentConfig.ForEach(x => x.CURR_TIME = DateTime.Now.Date.AddDays(1));
//排序排班的最后几条记录
@ -97,7 +97,7 @@ namespace APT.FM.WebApi.Controllers.Api.FM
pageFilter.Order = DbOrder.DESC;
pageFilter.Sort = "DATE_TIME";
var shiftDataTemp = this.GetEntities<T_FM_DEPARTMENT_SCHEDULING>(s => s.DEPARTMENT_CALENDAR_CONFIG_ID == configId
&& s.DATE_TIME < currTime && s.DATE_TIME >= currTime.AddDays(-cycle) && departIds.Contains(s.DEPARTMENT_ID)&& s.IS_DELETED == false, new BaseFilter(filter.OrgId)).ToList();
&& s.DATE_TIME.Date < currTime.Date && s.DATE_TIME.Date >= currTime.AddDays(-cycle).Date && departIds.Contains(s.DEPARTMENT_ID)&& s.IS_DELETED == false, new BaseFilter(filter.OrgId)).ToList();
updateShiftData.AddRange(shiftDataTemp);
updateShiftData.ForEach(x => x.IS_DELETED = true);
//var updateShiftIds = updateShiftData.Select(m => m.ID).ToList();

View File

@ -2783,11 +2783,11 @@ namespace APT.PP.WebApi.Controllers.Api.PP
var teamLists = new List<T_FM_TEAM>();
var teamPersonLists = new List<T_FM_TEAM_PERSON>();
var teamPersonIds = new List<Guid>();
var departs = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0 && t.CATEGORY == FMCATEGORY.ACTURE && t.DEPARTMENT_TYPE == (int)FMDepartmentType.Class,new BaseFilter(filter.OrgId));
var departs = this.GetEntities_noneBase<T_FM_DEPARTMENT>(t => t.DEPARTMENT_TYPE == (int)FMDepartmentType.Class);
var departIds = departs.Select(t => t.ID).ToList();
var teams = this.GetEntities<T_FM_TEAM>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId));
var teams = this.GetEntities_noneBase<T_FM_TEAM>(t => true);
var teamPersons = this.GetEntities< T_FM_TEAM_PERSON> (t =>true, new BaseFilter(filter.OrgId));
var users = this.GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0 && t.DEPARTMENT_ID != null && departIds.Contains((Guid)t.DEPARTMENT_ID),new BaseFilter(filter.OrgId));
var users = this.GetEntities<T_FM_USER>(t => t.DEPARTMENT_ID != null && departIds.Contains((Guid)t.DEPARTMENT_ID),new BaseFilter(filter.OrgId));
if (departIds != null && departIds.Any())
{
foreach (var item in departIds)
@ -2798,55 +2798,74 @@ namespace APT.PP.WebApi.Controllers.Api.PP
var teamInfo = teams.FirstOrDefault(t => t.DEPARTMENT_ID == item);
if (teamInfo == null)
{
T_FM_TEAM team = new T_FM_TEAM();
team.ORG_ID = filter.OrgId;
team.CHARGE_PERSON_ID = userInfo?.PERSON_ID;
team.NAME = departInfo.NAME;
team.ENABLE_STATUS = 0;
team.DEPARTMENT_ID = item;
teamLists.Add(team);
if (persons != null && persons.Any())
if (departInfo.IS_DELETED == false)
{
foreach (var per in persons)
T_FM_TEAM team = new T_FM_TEAM();
team.ORG_ID = filter.OrgId;
team.CHARGE_PERSON_ID = userInfo?.PERSON_ID;
team.NAME = departInfo.NAME;
team.ENABLE_STATUS = 0;
team.DEPARTMENT_ID = item;
team.ENABLE_STATUS = departInfo.ENABLE_STATUS;
team.IS_DELETED = departInfo.IS_DELETED;
teamLists.Add(team);
if (persons != null && persons.Any())
{
T_FM_TEAM_PERSON person = new T_FM_TEAM_PERSON();
person.ORG_ID = filter.OrgId;
person.TEAM_ID = team.ID;
person.PERSON_ID = (Guid)per.PERSON_ID;
teamPersonLists.Add(person);
foreach (var per in persons)
{
T_FM_TEAM_PERSON person = new T_FM_TEAM_PERSON();
person.ORG_ID = filter.OrgId;
person.TEAM_ID = team.ID;
person.PERSON_ID = (Guid)per.PERSON_ID;
person.IS_DELETED = departInfo.IS_DELETED;
teamPersonLists.Add(person);
}
}
}
}
else
{
teamInfo.CHARGE_PERSON_ID = userInfo?.PERSON_ID;
teamInfo.ENABLE_STATUS = departInfo.ENABLE_STATUS;
teamInfo.IS_DELETED = departInfo.IS_DELETED;
teamLists.Add(teamInfo);
var personIds = teamPersons.Where(t => t.TEAM_ID == teamInfo.ID).Select(m=>m.PERSON_ID).ToList();
if (persons != null && persons.Any())
if (teamInfo.IS_DELETED == true)
{
foreach (var per in persons)
foreach (var item1 in teamPersons.Where(t => t.TEAM_ID == teamInfo.ID))
{
if (!personIds.Contains((Guid)per.PERSON_ID))
{
T_FM_TEAM_PERSON person = new T_FM_TEAM_PERSON();
person.ORG_ID = filter.OrgId;
person.TEAM_ID = teamInfo.ID;
person.PERSON_ID = (Guid)per.PERSON_ID;
teamPersonLists.Add(person);
}
item1.IS_DELETED = true;
teamPersonLists.Add(item1);
}
}
var deletePersonIds = users.Where(t => personIds.Contains((Guid)t.PERSON_ID) && t.DEPARTMENT_ID != teamInfo.DEPARTMENT_ID).Select(m=>m.PERSON_ID).ToList();
teamPersonIds = teamPersons.Where(t => deletePersonIds.Contains(t.PERSON_ID)).Select(m => m.ID).ToList();
else
{
var personIds = teamPersons.Where(t => t.TEAM_ID == teamInfo.ID).Select(m => m.PERSON_ID).ToList();
if (persons != null && persons.Any())
{
foreach (var per in persons)
{
if (!personIds.Contains((Guid)per.PERSON_ID))
{
T_FM_TEAM_PERSON person = new T_FM_TEAM_PERSON();
person.ORG_ID = filter.OrgId;
person.TEAM_ID = teamInfo.ID;
person.PERSON_ID = (Guid)per.PERSON_ID;
teamPersonLists.Add(person);
}
}
}
var deletePersonId = teamPersonLists.Select(t => t.PERSON_ID).ToList();
teamPersonIds = teamPersons.Where(t => personIds.Contains(t.PERSON_ID) && t.TEAM_ID != teamInfo.ID).Select(m => m.ID).ToList();
}
}
}
}
UnifiedCommit(() =>
{
if (teamLists != null && teamLists.Any())
BantchSaveEntityNoCommit(teamLists);
if (teamPersonLists != null && teamPersonLists.Any())
BantchSaveEntityNoCommit(teamPersonLists);
BantchUpdateEntity_noneBase(teamPersonLists);
if (teamLists != null && teamLists.Any())
BantchUpdateEntity_noneBase(teamLists);
if (teamPersonIds != null && teamPersonIds.Any())
BantchDeleteEntityNoCommit<T_FM_TEAM_PERSON>(teamPersonIds);
});

View File

@ -222,7 +222,7 @@ namespace APT.PP.WebApi.Controllers
sh.CURR_TIME = curPerEndDay.AddDays(1);
}
var shiftDataTemp = this.GetEntities_noneBase<T_FM_DEPARTMENT_SCHEDULING>(s => s.DEPARTMENT_CALENDAR_CONFIG_ID == sh.ID
&& s.DATE_TIME < oldCurrTime && s.DATE_TIME >= oldCurrTime.AddDays(-sh.CYCLE) && s.DEPARTMENT_ID == sh.DEPARTMENT_ID && s.IS_DELETED == true).ToList();
&& s.DATE_TIME.Date < oldCurrTime.Date && s.DATE_TIME.Date >= oldCurrTime.AddDays(-sh.CYCLE).Date && s.DEPARTMENT_ID == sh.DEPARTMENT_ID && s.IS_DELETED == true).ToList();
updateShiftData.AddRange(shiftDataTemp);
updateShiftData.ForEach(x => x.IS_DELETED = false);

View File

@ -815,7 +815,7 @@ namespace APT.PP.WebApi.Controllers.Api
// "Nav_CheckRecordDetails.Nav_CheckRecordDetailUsers.ISMAINCHECK","Nav_CheckRecordDetails.Nav_CheckRecordDetailUsers.CHECKTIME","Nav_CheckRecordDetails.Nav_CheckRecordDetailUsers.ISCHECK",
// "Nav_CheckRecordDetails.Nav_CheckRecordDetailUsers.SECURITY_INSPECTION_RECORD_DETAIL_ID","Nav_CheckRecordDetails.Nav_CheckRecordDetailBasics.SECURITY_INSPECTION_RECORD_DETAIL_ID",
// "Nav_CheckRecordDetails.Nav_CheckRecordDetailBasics.LAW_ID" }; //指定字段,包括导航属性
var notices = GetEntities<T_SK_SECURITY_INSPECTION_NOTICE>(i => i.CHECK_TIME.Value.AddDays(2).Date == dtNow.Date && i.CHECK_TIME.Value.AddDays(2).Hour == dtNow.Hour && i.Nav_CheckType != null && !i.Nav_CheckType.NAME.Contains("岗位排查") && (i.STATUS == PFStandardStatus.Archived || i.STATUS == PFStandardStatus.Sign), baseFilter);
var notices = GetEntities<T_SK_SECURITY_INSPECTION_NOTICE>(i => i.CHECK_TIME.Value.AddDays(2).Date == dtNow.Date && i.CHECK_TIME.Value.AddDays(2).Hour == dtNow.Hour && i.Nav_CheckType != null && !i.Nav_CheckType.NAME.Contains("岗位排查") && (i.STATUS == PFStandardStatus.Archived || i.STATUS == PFStandardStatus.Sign || i.STATUS == PFStandardStatus.Close), baseFilter);
var noticeIds = notices.Select(t => t.ID).ToList();
var sumNoticeIds = GetEntities<T_SK_SECURITY_INSPECTION_RECORD_SUMMARY>(t => t.SECURITY_INSPECTION_NOTICE_ID != null && noticeIds.Contains((Guid)t.SECURITY_INSPECTION_NOTICE_ID), baseFilter).Select(m => m.SECURITY_INSPECTION_NOTICE_ID).Distinct().ToList();
var needDealIds = noticeIds.Where(t => !sumNoticeIds.Contains(t)).ToList();