diff --git a/APT.MicroApi/APT.FM.WebApi/Controllers/Api/UserController.cs b/APT.MicroApi/APT.FM.WebApi/Controllers/Api/UserController.cs index 8b6e24f..9560e0e 100644 --- a/APT.MicroApi/APT.FM.WebApi/Controllers/Api/UserController.cs +++ b/APT.MicroApi/APT.FM.WebApi/Controllers/Api/UserController.cs @@ -743,6 +743,9 @@ namespace APT.FM.WebApi.Controllers.Api.FM T_FM_DEPARTMENT departmentInfo = null; List teamPersons = new List(); List teamPersonIds = new List(); + var departScheIds = new List(); + var deleteDepartScheIds = new List(); + List departScheDetails = new List(); if (!string.IsNullOrEmpty(entity.PHONE) && entity.PHONE.Length != 11) { throw new Exception("手机号码应该为11位!"); @@ -752,44 +755,65 @@ namespace APT.FM.WebApi.Controllers.Api.FM departmentInfo = this.GetEntity(t => t.ID == entity.DEPARTMENT_ID && t.ENABLE_STATUS == (int)FMEnableStatusEnum.启用); if (departmentInfo == null) throw new Exception("组织架构已失效,请重新选择!"); - var teamPersonInfo = this.GetEntity(t => t.PERSON_ID == entity.PERSON_ID); - //if (teamPersonInfo != null) - //{ - // teamPersonIds.Add(teamPersonInfo.ID); - //} - //if (departmentInfo != null && departmentInfo.DEPARTMENT_TYPE == (int)FMDepartmentType.班组) - { - teamInfo = this.GetEntity(t => t.DEPARTMENT_ID == entity.DEPARTMENT_ID); - if (teamInfo != null) - { - if (teamPersonInfo == null) - { - T_FM_TEAM_PERSON teamPerson = new T_FM_TEAM_PERSON(); - teamPerson.PERSON_ID = person.ID; - teamPerson.TEAM_ID = teamInfo.ID; - teamPerson.ORG_ID = teamInfo.ORG_ID; - teamPersons.Add(teamPerson); - } - else - { - teamPersonInfo.PERSON_ID = person.ID; - teamPersonInfo.TEAM_ID = teamInfo.ID; - teamPersons.Add(teamPersonInfo); - } - } - else - { - if (teamPersonInfo != null) - teamPersonIds.Add(teamPersonInfo.ID); - } - personTeam = teamPersons; - if (entity.APPROVE_ROLE_ID != null) - { - var isExist = userList.FirstOrDefault(t => t.APPROVE_ROLE_ID == entity.APPROVE_ROLE_ID && t.DEPARTMENT_ID == entity.DEPARTMENT_ID && t.ENABLE_STATUS == 0); - if (isExist != null) - this.ThrowError("070001"); - } - } + var teamPersonInfo = this.GetEntity(t => t.PERSON_ID == entity.PERSON_ID); + //if (teamPersonInfo != null) + //{ + // teamPersonIds.Add(teamPersonInfo.ID); + //} + //if (departmentInfo != null && departmentInfo.DEPARTMENT_TYPE == (int)FMDepartmentType.班组) + //{ + teamInfo = this.GetEntity(t => t.DEPARTMENT_ID == entity.DEPARTMENT_ID); + if (teamInfo != null) + { + departScheIds = this.GetEntities(t => t.TEAM_ID == teamInfo.ID && t.DATE_TIME >= DateTime.Now.Date && t.START_TIME >= DateTime.Now, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList(); + if (teamPersonInfo == null) + { + T_FM_TEAM_PERSON teamPerson = new T_FM_TEAM_PERSON(); + teamPerson.PERSON_ID = person.ID; + teamPerson.TEAM_ID = teamInfo.ID; + teamPerson.ORG_ID = teamInfo.ORG_ID; + teamPersons.Add(teamPerson); + } + else + { + teamPersonInfo.PERSON_ID = person.ID; + teamPersonInfo.TEAM_ID = teamInfo.ID; + teamPersons.Add(teamPersonInfo); + } + } + else + { + if (teamPersonInfo != null) + teamPersonIds.Add(teamPersonInfo.ID); + } + personTeam = teamPersons; + if (entity.APPROVE_ROLE_ID != null) + { + var isExist = userList.FirstOrDefault(t => t.APPROVE_ROLE_ID == entity.APPROVE_ROLE_ID && t.DEPARTMENT_ID == entity.DEPARTMENT_ID && t.ENABLE_STATUS == 0); + if (isExist != null) + this.ThrowError("070001"); + } + //删除旧的排班,在新的排班里面加入 + deleteDepartScheIds = this.GetEntities(t =>t.Nav_DepartmentScheduling!=null && t.Nav_DepartmentScheduling.DATE_TIME >= DateTime.Now.Date && t.Nav_DepartmentScheduling.START_TIME >= DateTime.Now && t.PERSON_ID == entity.PERSON_ID,new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList(); + if (departScheIds != null && departScheIds.Any()) + { + var departScheDetailTemps = this.GetEntities(t => departScheIds.Contains(t.DEPARTMENT_SCHEDULING_ID) && t.PERSON_ID == entity.PERSON_ID, new BaseFilter(entity.ORG_ID)).ToList(); + foreach (var id in departScheIds) + { + var detail = departScheDetailTemps.FirstOrDefault(t => t.DEPARTMENT_SCHEDULING_ID == id); + if (detail == null) + { + T_FM_DEPARTMENT_SCHEDULING_DETAIL de = new T_FM_DEPARTMENT_SCHEDULING_DETAIL(); + de.ORG_ID = entity.ORG_ID; + de.DEPARTMENT_SCHEDULING_ID = id; + de.PERSON_ID = entity.PERSON_ID.Value; + departScheDetails.Add(de); + } + } + } + + //} + if (entity.APPROVE_ROLE_ID != null) { var isExist = userList.FirstOrDefault(t => t.APPROVE_ROLE_ID == entity.APPROVE_ROLE_ID && t.DEPARTMENT_ID == entity.DEPARTMENT_ID && t.ENABLE_STATUS == 0 && t.Nav_Department != null && t.Nav_Department.DEPARTMENT_TYPE != 3); @@ -1089,7 +1113,11 @@ namespace APT.FM.WebApi.Controllers.Api.FM if (teamPersonIds.Any()) this.DeleteEntityNoCommit(t => teamPersonIds.Contains(t.ID)); if (noticeToday != null) - this.UpdateEntityNoCommit(noticeToday); + this.UpdateEntityNoCommit(noticeToday); + if (deleteDepartScheIds!=null && deleteDepartScheIds.Any()) + this.BantchDeleteEntityNoCommit(deleteDepartScheIds); + if (departScheDetails != null && departScheDetails.Any()) + this.BantchSaveEntityNoCommit(departScheDetails); }); diff --git a/APT.MicroApi/APT.FO.WebApi/Controllers/LeaderWellRecordController.cs b/APT.MicroApi/APT.FO.WebApi/Controllers/LeaderWellRecordController.cs index f6b864d..cab0830 100644 --- a/APT.MicroApi/APT.FO.WebApi/Controllers/LeaderWellRecordController.cs +++ b/APT.MicroApi/APT.FO.WebApi/Controllers/LeaderWellRecordController.cs @@ -38,7 +38,7 @@ namespace APT.FO.WebApi.Controllers "Nav_Files.Nav_ImgFile", "Nav_PreUsers.Nav_PreUser.Nav_UserSignFiles.Nav_ImgFile", "Nav_AfterUsers.Nav_AfterUser.Nav_UserSignFiles.Nav_ImgFile"); if (entity != null) { - var details = this.GetEntities(t => t.LEADER_WELL_RECORD_ID == entity.ID, new BaseFilter(entity.ORG_ID), "Nav_DetailFiles.Nav_ImgFile", "Nav_User","Nav_DetailAreas.Nav_Area").ToList(); + var details = this.GetEntities(t => t.LEADER_WELL_RECORD_ID == entity.ID, new BaseFilter(entity.ORG_ID), "Nav_DetailFiles.Nav_ImgFile", "Nav_User.Nav_UserSignFiles.Nav_ImgFile", "Nav_DetailAreas.Nav_Area").ToList(); entity.Nav_Details = details.OrderByDescending(t => t.START_DATE).ToList(); } return entity; diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FOController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FOController.cs index 0118fb8..1123e3e 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FOController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FOController.cs @@ -96,9 +96,9 @@ 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 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(); ; @@ -244,9 +244,9 @@ namespace APT.PP.WebApi.Controllers.Api.PP var depart = departs.FirstOrDefault(t=>t.TEAM_ID == shift.TEAM_ID); //查出当前班组 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 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 isExsist = preShiftMeetings.FirstOrDefault(t=>t.TEAM_ID == shift.TEAM_ID && t.START_TIME.Date == shift.START_TIME.Date); if (isExsist != null) { diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/EnterpriseLibraryController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/EnterpriseLibraryController.cs index 2522d2b..78d215b 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/EnterpriseLibraryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/EnterpriseLibraryController.cs @@ -1803,15 +1803,16 @@ namespace APT.SK.WebApi.Controllers.Api { var loginDepart = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID; var posts = this.GetEntities(t => t.IS_DELETED == false, new BaseFilter(filter.OrgId)); - var departs = this.GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId)); + var departs = this.GetEntities(t => t.ENABLE_STATUS == 0 && t.CATEGORY == FMCATEGORY.ACTURE, new BaseFilter(filter.OrgId)); var users = this.GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId)); var AHDepart = departs.FirstOrDefault(t => t.ID == loginDepart); - if (AHDepart != null && (AHDepart.DEPARTMENT_TYPE == 5 || AHDepart.DEPARTMENT_TYPE == 2)) - { - loginDepart = departs.FirstOrDefault(t => t.PARENT_ID == null).ID; - } - List departmentIds = new List() { loginDepart.Value }; - DepartmentService.GetDepartmentIds(filter.OrgId.Value, new List() { loginDepart.Value }, ref departmentIds); + //if (AHDepart != null && (AHDepart.DEPARTMENT_TYPE == 5 || AHDepart.DEPARTMENT_TYPE == 2)) + //{ + // loginDepart = departs.FirstOrDefault(t => t.PARENT_ID == null).ID; + //} + //List departmentIds = new List() { loginDepart.Value }; + //DepartmentService.GetDepartmentIds(filter.OrgId.Value, new List() { loginDepart.Value }, ref departmentIds); + List departmentIds = departs.Select(t => t.ID).ToList(); var checkList = new JsonActionResult>(); List postLists = new List(); var detailContents = this.GetEntities(t => t.DEPARTMENT_ID != null && departmentIds.Contains((Guid)t.DEPARTMENT_ID), new BaseFilter(filter.OrgId), "Nav_Library.Nav_ProductionUnit", "Nav_PostDetails", "Nav_Department"); @@ -2706,14 +2707,14 @@ namespace APT.SK.WebApi.Controllers.Api } list.Add(listNew); } - if (userInfoTemp != null && userInfoTemp.Nav_Department!=null && (userInfoTemp.NAME.Contains("管理员") || userInfoTemp.Nav_Department.DEPARTMENT_STATUS == 2 || userInfoTemp.Nav_Department.DEPARTMENT_TYPE == 5)) + //if (userInfoTemp != null && userInfoTemp.Nav_Department!=null && (userInfoTemp.NAME.Contains("管理员") || userInfoTemp.Nav_Department.DEPARTMENT_STATUS == 2 || userInfoTemp.Nav_Department.DEPARTMENT_TYPE == 5)) { checkList.Data = list.OrderBy(n => n.PRODUCTION_UNIT_ID).ThenBy(x => x.Num).ThenBy(n => n.CheckDepart).ToList(); } - else - { - checkList.Data = list.Where(t => t.PRODUCTION_UNIT_ID != null && selectMinetype.Contains((Guid)t.PRODUCTION_UNIT_ID)).OrderBy(n => n.PRODUCTION_UNIT_ID).ThenBy(x => x.Num).ThenBy(n => n.CheckDepart).ToList(); - } + //else + //{ + // checkList.Data = list.Where(t => t.PRODUCTION_UNIT_ID != null && selectMinetype.Contains((Guid)t.PRODUCTION_UNIT_ID)).OrderBy(n => n.PRODUCTION_UNIT_ID).ThenBy(x => x.Num).ThenBy(n => n.CheckDepart).ToList(); + //} checkList.TotalCount = checkList.Data.Count; } return checkList; diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyRecordController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyRecordController.cs index 467f949..a01ce4b 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyRecordController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyRecordController.cs @@ -589,7 +589,7 @@ namespace APT.SK.WebApi.Controllers var result = new PagedActionResult(); //var areaList = this.GetEntities(t => t.IS_DELETED == false, new BaseFilter(pageFilter.OrgId)).ToList(); //var contentList = this.GetEntities(t => t.IS_DELETED == false, new BaseFilter(pageFilter.OrgId)).ToList(); - var records = this.GetEntities(t => t.IS_DELETED == false, pageFilter, "Nav_ProductionUnit", "Nav_RiskArea", "Nav_Contents", "Nav_Question", "Nav_CheckType"); + var records = this.GetEntities(t => t.IS_DELETED == false && t.CHECK_CONTENTS_ID !=null && t.CHECK_QUESTION_ID !=null, pageFilter, "Nav_ProductionUnit", "Nav_RiskArea", "Nav_Contents", "Nav_Question", "Nav_CheckType"); var groupRecords = records.GroupBy(m => new { m.PRODUCTION_UNIT_ID,m.RISK_AREA_ID, m.CHECK_CONTENTS_ID, m.CHECK_QUESTION_ID, m.HIDDEN_LEVEL }) .Select(m => m.FirstOrDefault()).ToList(); //.Select(m => new T_SK_HIDDEN_DANGER_RECTIFY_RECORD