班前会问题修复
This commit is contained in:
parent
04eced5f1a
commit
ce01fbac53
@ -1,24 +1,25 @@
|
||||
using APT.BaseData.Domain.Entities.FM;
|
||||
using APT.BaseData.Domain.Entities;
|
||||
using APT.BaseData.Domain.Entities;
|
||||
using APT.BaseData.Domain.Entities.FM;
|
||||
using APT.BaseData.Domain.Enums;
|
||||
using APT.BaseData.Domain.IServices;
|
||||
using APT.BaseData.Domain.IServices.FM;
|
||||
using APT.BaseData.Services.Services.FM;
|
||||
using APT.Infrastructure.Core;
|
||||
using APT.MS.Domain.Entities.FO;
|
||||
using APT.MS.Domain.Entities.HM;
|
||||
using APT.MS.Domain.Entities.SK;
|
||||
using APT.MS.Domain.Enums;
|
||||
using APT.Utility;
|
||||
using Microsoft.AspNetCore.JsonPatch.Operations;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using APT.BaseData.Domain.Enums;
|
||||
using APT.MS.Domain.Entities.HM;
|
||||
using Microsoft.AspNetCore.JsonPatch.Operations;
|
||||
using System.Threading.Tasks;
|
||||
using System.Diagnostics.Eventing.Reader;
|
||||
using APT.BaseData.Services.Services.FM;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using APT.MS.Domain.Entities.SK;
|
||||
using System.Threading.Tasks;
|
||||
using static log4net.Appender.RollingFileAppender;
|
||||
|
||||
namespace APT.FO.WebApi.Controllers.Api.FO
|
||||
{
|
||||
@ -211,17 +212,33 @@ namespace APT.FO.WebApi.Controllers.Api.FO
|
||||
var detailIds = GetEntities<T_FO_PRE_SHIFT_MEETING_RECORD_DETAIL>(t => t.PRE_SHIFT_MEETING_RECORD_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
|
||||
var postIds = GetEntities<T_FO_PRE_SHIFT_MEETING_RECORD_DETAIL_POST>(t => detailIds.Contains(t.PRE_SHIFT_MEETING_RECORD_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList(); ;
|
||||
//20230913新增同步人员排班
|
||||
T_FM_DEPARTMENT_SCHEDULING addSchedule = null;
|
||||
List<T_FM_DEPARTMENT_SCHEDULING_DETAIL> addSchedulings = new List<T_FM_DEPARTMENT_SCHEDULING_DETAIL>();
|
||||
List<Guid> delSchedulings = new List<Guid>();
|
||||
|
||||
if (entity.DEPARTMENT_SCHEDULING_ID != null)
|
||||
{
|
||||
var shiftClass = GetEntities<T_FM_DEPARTMENT_SCHEDULING_DETAIL>(t => t.DEPARTMENT_SCHEDULING_ID == entity.DEPARTMENT_SCHEDULING_ID, new BaseFilter(entity.ORG_ID), new string[] { "Nav_Person.Nav_User" });
|
||||
var shiftClass = GetEntity<T_FM_DEPARTMENT_SCHEDULING_DETAIL>(t => t.DEPARTMENT_SCHEDULING_ID == entity.DEPARTMENT_SCHEDULING_ID);
|
||||
if (shiftClass == null)
|
||||
{
|
||||
addSchedule = new T_FM_DEPARTMENT_SCHEDULING();
|
||||
addSchedule.ID = (Guid)entity.DEPARTMENT_SCHEDULING_ID;
|
||||
addSchedule.ORG_ID = entity.ORG_ID;
|
||||
addSchedule.TEAM_ID = entity.TEAM_ID;
|
||||
addSchedule.DEPARTMENT_ID = (Guid)entity.DEPARTMENT_ID;
|
||||
addSchedule.DATE_TIME = DateTime.Now.Date;
|
||||
addSchedule.CLASS_ID = (Guid)entity.CLASS_ID;
|
||||
addSchedule.RUN_STATUS = true;
|
||||
addSchedule.START_TIME = entity.START_TIME;
|
||||
addSchedule.END_TIME = entity.END_TIME;
|
||||
}
|
||||
var shiftClassDetails = GetEntities<T_FM_DEPARTMENT_SCHEDULING_DETAIL>(t => t.DEPARTMENT_SCHEDULING_ID == entity.DEPARTMENT_SCHEDULING_ID, new BaseFilter(entity.ORG_ID), new string[] { "Nav_Person.Nav_User" });
|
||||
var haveUserIds = shiftClassDetails.Select(t => t.Nav_Person?.Nav_User?.ID).ToList();
|
||||
var delUsers = users.Where(t => t.IS_DELETED == true).Select(t => t.USER_ID);
|
||||
var addUsers = users.Where(t => t.CREATE_TIME > entity.CREATE_TIME).Select(t => t.USER_ID);
|
||||
var addUsers = users.Where(t => !haveUserIds.Contains(t.USER_ID)).Select(t => t.USER_ID);
|
||||
foreach (var user in addUsers)
|
||||
{
|
||||
var addDetails = shiftClass.FirstOrDefault(t => t.Nav_Person.Nav_User.ID == user);
|
||||
var addDetails = shiftClassDetails.FirstOrDefault(t => t.Nav_Person.Nav_User.ID == user);
|
||||
if (addDetails == null)
|
||||
{
|
||||
T_FM_DEPARTMENT_SCHEDULING_DETAIL addScheduling = new T_FM_DEPARTMENT_SCHEDULING_DETAIL();
|
||||
@ -231,7 +248,7 @@ namespace APT.FO.WebApi.Controllers.Api.FO
|
||||
addSchedulings.Add(addScheduling);
|
||||
}
|
||||
}
|
||||
delSchedulings = shiftClass.Where(t => delUsers.Contains(t.Nav_Person.Nav_User.ID)).Select(t => t.ID).ToList();
|
||||
delSchedulings = shiftClassDetails.Where(t => delUsers.Contains(t.Nav_Person.Nav_User.ID)).Select(t => t.ID).ToList();
|
||||
}
|
||||
//附件保存
|
||||
if (files != null && files.Any())
|
||||
@ -417,6 +434,8 @@ namespace APT.FO.WebApi.Controllers.Api.FO
|
||||
BantchAddEntityNoCommit(sendNotices);
|
||||
if (delSchedulings.Any())
|
||||
BantchDeleteEntityNoCommit<T_FM_DEPARTMENT_SCHEDULING_DETAIL>(delSchedulings);
|
||||
if (addSchedule != null)
|
||||
UpdateEntityNoCommit(addSchedule);
|
||||
if (addSchedulings.Any())
|
||||
BantchAddEntityNoCommit(addSchedulings);
|
||||
if (modelLast != null && modelLast.OVERTIME != FOISOVERTIME.未统计)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user