This commit is contained in:
wyw 2026-05-09 16:08:12 +08:00
commit 370976960b
11 changed files with 266 additions and 200 deletions

View File

@ -13412,6 +13412,7 @@ namespace APT.BaseData.Services.DomainServices
}
}
var requre = this.GetEntity<T_SK_REQUEST>(t => !t.IS_DELETED);
var plan = this.GetEntity<T_SK_IDENTIFY_EVALUATION_PLAN>(t => t.ID == entity.IDENTIFY_EVALUATION_PLAN_ID);
var filter = new BaseFilter(entity.ORG_ID);
filter.IgnoreDataRule = true;
Expression<Func<T_SK_RISK_IDENTIFY, bool>> expression = i => i.IS_DELETED == false && i.IDENTIFY_EVALUATION_PLAN_ID == entity.IDENTIFY_EVALUATION_PLAN_ID && departIds.Contains((Guid)i.APPLY_DEPARTMENT_ID);
@ -13429,8 +13430,8 @@ namespace APT.BaseData.Services.DomainServices
result.YEAR = entity.YEAR;
result.ISAUTO = true;
result.CONTENTS = entity.CONTENTS;
result.START_DATE = entity.START_DATE;
result.END_DATE = entity.END_DATE;
result.START_DATE = plan?.START_DATE;
result.END_DATE = plan?.END_DATE;
result.REQUIRE_ID = entity.REQUIRE_ID != null ? entity.REQUIRE_ID : requre?.ID;
result.ISCOMPANY = currentDepart.DEPARTMENT_TYPE == 5 ? SKIsStoreEnum.Yes : SKIsStoreEnum.No;
var planTemp = this.GetEntity<T_SK_IDENTIFY_EVALUATION_PLAN>(t => t.ID == entity.IDENTIFY_EVALUATION_PLAN_ID, "Nav_Requires");

View File

@ -1,24 +1,24 @@
using APT.Infrastructure.Core;
using APT.BaseData.Domain.Entities.FM;
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using APT.BaseData.Domain.IServices.FM;
using APT.Utility;
using APT.BaseData.Domain.ApiModel;
using APT.BaseData.Domain.Entities.BD;
using System.Linq;
using APT.BaseData.Domain.Entities.FM;
using APT.BaseData.Domain.Enums;
using System;
using System.Linq.Expressions;
using APT.BaseData.Services.Services.FM;
using APT.BaseData.Domain.IServices;
using APT.BaseData.Services.DomainServices;
using NPOI.Util;
using Google.Protobuf.WellKnownTypes;
using APT.BaseData.Domain.ApiModel;
using NPOI.SS.Formula.Functions;
using APT.MS.Domain.Entities.PF;
using APT.BaseData.Domain.Enums.PF;
using APT.BaseData.Domain.IServices;
using APT.BaseData.Domain.IServices.FM;
using APT.BaseData.Services.DomainServices;
using APT.BaseData.Services.Services.FM;
using APT.Infrastructure.Core;
using APT.MS.Domain.Entities.PF;
using APT.Utility;
using Google.Protobuf.WellKnownTypes;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using NPOI.SS.Formula.Functions;
using NPOI.Util;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
namespace APT.FM.WebApi.Controllers.Api.FM
{
@ -384,17 +384,19 @@ namespace APT.FM.WebApi.Controllers.Api.FM
{
//var safeUser = entity==null?null:entity.Nav_SafeUser;
//entity.Nav_SafeUser = null;
T_FM_TEAM teamInfo = null;
T_FM_TEAM addTeamInfo = null;
T_FM_TEAM updateTeamInfo = null;
var teamInfos = new List<T_FM_TEAM>();
if (entity.DEPARTMENT_TYPE == (int)FMDepartmentType.Class)
{
teamInfo = this.GetEntity<T_FM_TEAM>(t => t.DEPARTMENT_ID == entity.ID);
var teamInfo = this.GetEntity<T_FM_TEAM>(t => t.DEPARTMENT_ID == entity.ID);
if (teamInfo == null)
{
teamInfo = new T_FM_TEAM()
addTeamInfo = new T_FM_TEAM()
{
NAME = entity.NAME,
DEPARTMENT_ID = entity.ID,
//CHARGE_PERSON_ID = user.PERSON_ID,
//CHARGE_PERSON_ID = entity.USER_ID,
ORG_ID = entity.ORG_ID,
ID = Guid.NewGuid(),
};
@ -404,14 +406,10 @@ namespace APT.FM.WebApi.Controllers.Api.FM
teamInfo.NAME = entity.NAME;
teamInfo.DEPARTMENT_ID = entity.ID;
//teamInfo.CHARGE_PERSON_ID = entity.USER_ID;
updateTeamInfo = teamInfo;
}
}
if (entity.USER_ID != null)
{
var user = this.GetEntity<T_FM_USER>(t => t.ID == entity.USER_ID);
if (teamInfo != null)
teamInfo.CHARGE_PERSON_ID = user.PERSON_ID;
}
//List<T_FM_DEPARTMENT_PRODUCTION_UNIT> productionUnit = null;
entity.Nav_ProdutionUnit = null;
//if (productionUnit != null && productionUnit.Any())
@ -424,8 +422,10 @@ namespace APT.FM.WebApi.Controllers.Api.FM
//}
var unitList = new List<T_FM_DEPARTMENT_PRODUCTION_UNIT>();
var userUnitList = new List<T_FM_USER_PRODUCTION_UNIT>();
var departmentList = new List<T_FM_DEPARTMENT>();
var userList = new List<T_FM_USER>();
var departUpdateList = new List<T_FM_DEPARTMENT>();
var entityUpdateList = new List<T_FM_DEPARTMENT>();
var userUpdateList = new List<T_FM_USER>();
var userList = this.GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0, new BaseFilter(entity.ORG_ID), "Nav_ProdutionUnit").ToList();
var deleteDepartIds = new List<Guid>();
var deleteUserIds = new List<Guid>();
if (entity.PRODUCTION_UNIT_ID != null)
@ -435,14 +435,17 @@ namespace APT.FM.WebApi.Controllers.Api.FM
//查所有下级部门组织
List<Guid> departmentId = new List<Guid>();
departmentId.Add(entity.ID);
List<Guid> departmentIds = new List<Guid>() { entity.ID };
List<Guid> departmentIds = new List<Guid>();
var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId.Value;
DepartmentService.GetDepartmentIds(orgId, departmentId, ref departmentIds);
departmentList = this.GetEntities<T_FM_DEPARTMENT>(t => departmentIds.Contains(t.ID) && t.ENABLE_STATUS == 0, new BaseFilter(orgId), "Nav_ProdutionUnit").ToList();
departmentList.ForEach(t =>
{
var departmentList = this.GetEntities<T_FM_DEPARTMENT>(t => departmentIds.Contains(t.ID) && t.ENABLE_STATUS == 0, new BaseFilter(orgId), "Nav_ProdutionUnit").ToList();
foreach (var t in departmentList)
{
t.ENABLE_STATUS = entity.ENABLE_STATUS;
t.IS_DELETED = entity.IS_DELETED;
t.MineType = entity.MineType;
t.PRODUCTION_UNIT_ID = entity.PRODUCTION_UNIT_ID;
departUpdateList.Add(t);
T_FM_DEPARTMENT_PRODUCTION_UNIT unit = new T_FM_DEPARTMENT_PRODUCTION_UNIT();
unit.ORG_ID = t.ORG_ID; unit.DEPARTMENT_ID = t.ID; //unit.ENUMS_ID = enumList?.ID;
unit.Nav_Enums = null; unit.DEPART_UNIT_ID = entity.PRODUCTION_UNIT_ID;
@ -452,10 +455,10 @@ namespace APT.FM.WebApi.Controllers.Api.FM
var ids = t.Nav_ProdutionUnit.Select(t => t.ID).ToList();
deleteDepartIds.AddRange(ids);
}
});
}
//departmentList.ForEach(t => t.MineType = entity.MineType);
userList = this.GetEntities<T_FM_USER>(t => departmentIds.Contains(t.DEPARTMENT_ID.Value) && t.ENABLE_STATUS == 0, new BaseFilter(orgId), "Nav_ProdutionUnit").ToList();
userList.ForEach(t =>
var userListTemp = userList.Where(t => t.DEPARTMENT_ID!=null && departmentIds.Contains(t.DEPARTMENT_ID.Value)).ToList();
userListTemp.ForEach(t =>
{
//var enumValues = new List<string>();
//productionUnit.ForEach(t1 =>
@ -468,6 +471,7 @@ namespace APT.FM.WebApi.Controllers.Api.FM
// enumValues.Add(value);
//});
//t.MineType = string.Join(",", enumValues);
userUpdateList.Add(t);
T_FM_USER_PRODUCTION_UNIT unit = new T_FM_USER_PRODUCTION_UNIT();
unit.ORG_ID = t.ORG_ID; unit.USER_ID = t.ID; //unit.ENUMS_ID = enumList?.ID;
unit.Nav_Enums = null; unit.PRODUCTION_UNIT_ID = entity.PRODUCTION_UNIT_ID;
@ -479,42 +483,58 @@ namespace APT.FM.WebApi.Controllers.Api.FM
}
});
}
if (entity.USER_ID != null)
{
var user = userList.FirstOrDefault(t => t.ID == entity.USER_ID);
if (addTeamInfo != null)
addTeamInfo.CHARGE_PERSON_ID = user.PERSON_ID;
if (updateTeamInfo != null)
updateTeamInfo.CHARGE_PERSON_ID = user.PERSON_ID;
}
if (entity.ENABLE_STATUS == 1)
{
entity.IS_DELETED = true;
if (teamInfo != null)
if (updateTeamInfo != null)
{
teamInfo.ENABLE_STATUS = 1;
teamInfo.IS_DELETED = true;
}
foreach (var item in unitList.Where(m => m.DEPARTMENT_ID == entity.ID))
{
item.IS_DELETED = true;
updateTeamInfo.ENABLE_STATUS = 1;
updateTeamInfo.IS_DELETED = true;
teamInfos.Add(updateTeamInfo);
}
}
entityUpdateList.Add(entity);
foreach (var item in departUpdateList)
{
item.Nav_User = null; item.Nav_ProdutionUnit = null; item.Nav_Unit = null; item.Nav_Parent = null; item.Nav_DepartmentUser = null;
}
foreach (var item in entityUpdateList)
{
item.Nav_User = null; item.Nav_ProdutionUnit = null; item.Nav_Unit = null; item.Nav_Parent = null;item.Nav_DepartmentUser = null;
}
this.UnifiedCommit(() =>
{
//BantchUpdateEntity_noneBase
//if (safeUser != null && safeUser.Any())
// this.BantchSaveEntityNoCommit(safeUser);
if (teamInfo != null)
this.UpdateEntityNoCommit(teamInfo);
//if (productionUnit != null && productionUnit.Any())
// this.BantchSaveEntityNoCommit(productionUnit);
if (addTeamInfo != null)
this.UpdateEntityNoCommit(addTeamInfo);
if (deleteDepartIds != null && deleteDepartIds.Any())
this.BantchDeleteEntityNoCommit<T_FM_DEPARTMENT_PRODUCTION_UNIT>(deleteDepartIds);
if (deleteUserIds != null && deleteUserIds.Any())
this.BantchDeleteEntityNoCommit<T_FM_USER_PRODUCTION_UNIT>(deleteUserIds);
if (departmentList != null && departmentList.Any())
this.BantchSaveEntityNoCommit(departmentList);
if (userList != null && userList.Any())
this.BantchSaveEntityNoCommit(userList);
if (userUpdateList != null && userUpdateList.Any())
this.BantchSaveEntityNoCommit(userUpdateList);
if (unitList != null && unitList.Any())
this.BantchSaveEntityNoCommit(unitList);
if (userUnitList != null && userUnitList.Any())
this.BantchSaveEntityNoCommit(userUnitList);
if (entity != null)
this.UpdateEntityNoCommit(entity);
if (departUpdateList != null && departUpdateList.Any())
this.BantchUpdateEntity_noneBase(departUpdateList);
if (teamInfos != null && teamInfos.Any())
this.BantchUpdateEntity_noneBase(teamInfos);
if (entityUpdateList != null && entityUpdateList.Any())
this.BantchUpdateEntity_noneBase(entityUpdateList);
//if (entity != null)
// this.UpdateEntityNoCommit(entity);
});
return true;
});

View File

@ -221,8 +221,8 @@ namespace APT.FO.WebApi.Controllers.Api.FO
/// </summary>
/// <param name="pageFilter">分页过滤实体</param>
/// <returns></returns>
[HttpPost, Route("FullOrderPaged")]
public PagedActionResult<T_FO_CHANGE_SHIFT_RECORD> FullOrderPaged([FromBody] KeywordPageFilter pageFilter)
[HttpPost, Route("OrderPaged")]
public PagedActionResult<T_FO_CHANGE_SHIFT_RECORD> OrderPaged([FromBody] KeywordPageFilter pageFilter)
{
var result = new PagedActionResult<T_FO_CHANGE_SHIFT_RECORD>();
var loginDepartmentId = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID;

View File

@ -612,8 +612,8 @@ namespace APT.FO.WebApi.Controllers.Api.FO
/// </summary>
/// <param name="pageFilter">分页过滤实体</param>
/// <returns></returns>
[HttpPost, Route("FullOrderPaged")]
public PagedActionResult<T_FO_CURRENT_CLASS_RECORD> FullOrderPaged([FromBody] KeywordPageFilter pageFilter)
[HttpPost, Route("OrderPaged")]
public PagedActionResult<T_FO_CURRENT_CLASS_RECORD> OrderPaged([FromBody] KeywordPageFilter pageFilter)
{
pageFilter.IgnoreDataRule = true;
pageFilter.Include.Add("Nav_Team");

View File

@ -63,6 +63,7 @@ namespace APT.FO.WebApi.Controllers.Api.FO
List<T_FO_PRE_SHIFT_MEETING_RECORD_DETAIL_POST> postList = new List<T_FO_PRE_SHIFT_MEETING_RECORD_DETAIL_POST>();
var oldUserIds = GetEntities<T_FO_PRE_SHIFT_MEETING_RECORD_USER>(t => t.PRE_SHIFT_MEETING_RECORD_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
var userID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
var departId = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID;
if (entity.TaskID != null && entity.TaskID != Guid.Empty)
{
var currTask = GetEntity<T_FM_NOTIFICATION_TASK>(t => t.ID == entity.TaskID);
@ -141,6 +142,7 @@ namespace APT.FO.WebApi.Controllers.Api.FO
{
throw new Exception("通知人员不能为空");
}
if (entity.DEPARTMENT_ID == null)
{
var user = GetEntity<T_FM_USER>(t => t.ID == userID);
@ -160,7 +162,7 @@ namespace APT.FO.WebApi.Controllers.Api.FO
}
else
{
var currTeam = GetEntity<T_FM_TEAM>(t => t.DEPARTMENT_ID == entity.DEPARTMENT_ID);
var currTeam = GetEntity<T_FM_TEAM>(t => t.DEPARTMENT_ID == departId);
entity.TEAM_ID = currTeam?.ID;
TeamName = currTeam?.NAME;
}
@ -836,8 +838,8 @@ namespace APT.FO.WebApi.Controllers.Api.FO
/// </summary>
/// <param name="pageFilter">分页过滤实体</param>
/// <returns></returns>
[HttpPost, Route("FullOrderPaged")]
public PagedActionResult<T_FO_PRE_SHIFT_MEETING_RECORD> FullOrderPaged([FromBody] KeywordPageFilter pageFilter)
[HttpPost, Route("OrderPaged")]
public PagedActionResult<T_FO_PRE_SHIFT_MEETING_RECORD> OrderPaged([FromBody] KeywordPageFilter pageFilter)
{
pageFilter.IgnoreDataRule = true;
pageFilter.Include.Add("Nav_Team");

View File

@ -252,8 +252,8 @@ namespace APT.FO.WebApi.Controllers.Api.FO
/// </summary>
/// <param name="pageFilter">分页过滤实体</param>
/// <returns></returns>
[HttpPost, Route("FullOrderPaged")]
public PagedActionResult<T_FO_TEAM_ACTIVITY> FullOrderPaged([FromBody] KeywordPageFilter pageFilter)
[HttpPost, Route("OrderPaged")]
public PagedActionResult<T_FO_TEAM_ACTIVITY> OrderPaged([FromBody] KeywordPageFilter pageFilter)
{
pageFilter.IgnoreDataRule = true;
pageFilter.Include.Add("Nav_Taem");

View File

@ -2779,15 +2779,19 @@ namespace APT.PP.WebApi.Controllers.Api.PP
return SafeExecute<bool>(() =>
{
try
{
var teamLists = new List<T_FM_TEAM>();
var teamPersonLists = new List<T_FM_TEAM_PERSON>();
var teamPersonIds = new List<Guid>();
{
var departLists = new List<T_FM_DEPARTMENT>();
var teamAddLists = new List<T_FM_TEAM>();
var teamUpdateLists = new List<T_FM_TEAM>();
var teamPersonAddLists = new List<T_FM_TEAM_PERSON>();
var teamPersonUpdateLists = new List<T_FM_TEAM_PERSON>();
var deleteTeamPersonIds = new List<Guid>();
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_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.DEPARTMENT_ID != null && departIds.Contains((Guid)t.DEPARTMENT_ID),new BaseFilter(filter.OrgId));
var teamPersons = this.GetEntities< T_FM_TEAM_PERSON> (t =>true, new BaseFilter(filter.OrgId));
var userAlls = this.GetEntities<T_FM_USER>(t => true, new BaseFilter(filter.OrgId));
var users = userAlls.Where(t => t.DEPARTMENT_ID != null && departIds.Contains((Guid)t.DEPARTMENT_ID) && t.ENABLE_STATUS == 0);
if (departIds != null && departIds.Any())
{
foreach (var item in departIds)
@ -2795,79 +2799,84 @@ namespace APT.PP.WebApi.Controllers.Api.PP
var departInfo = departs.FirstOrDefault(t => t.ID == item);
var userInfo = users.FirstOrDefault(t => t.ID == departInfo?.USER_ID);
var persons = users.Where(t => t.DEPARTMENT_ID == item && t.PERSON_ID != null).ToList();
var teamInfo = teams.FirstOrDefault(t => t.DEPARTMENT_ID == item);
if (teamInfo == null)
var teamInfo = teams.FirstOrDefault(t => t.DEPARTMENT_ID == item);
if (teamInfo == null)
{
if (departInfo.IS_DELETED == false)
{
if (departInfo.IS_DELETED == false)
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;
teamAddLists.Add(team);
if (persons != null && persons.Any())
{
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);
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;
teamPersonAddLists.Add(person);
}
}
}
}
else
{
teamInfo.CHARGE_PERSON_ID = userInfo?.PERSON_ID;
if (departInfo.IS_DELETED == true || departInfo.ENABLE_STATUS == 1)
{
departInfo.IS_DELETED = true;
departInfo.ENABLE_STATUS = 1;
departLists.Add(departInfo);
teamInfo.ENABLE_STATUS = 1;
teamInfo.IS_DELETED = true;
teamUpdateLists.Add(teamInfo);
foreach (var item1 in teamPersons.Where(t => t.TEAM_ID == teamInfo.ID))
{
item1.IS_DELETED = true;
teamPersonUpdateLists.Add(item1);
}
}
else
{
var teamPersonIds = teamPersons.Where(t => t.TEAM_ID == teamInfo.ID).Select(m => m.ID).ToList();
deleteTeamPersonIds.AddRange(teamPersonIds);
if (persons != null && persons.Any())
{
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.TEAM_ID = teamInfo.ID;
person.PERSON_ID = (Guid)per.PERSON_ID;
person.IS_DELETED = departInfo.IS_DELETED;
teamPersonLists.Add(person);
teamPersonAddLists.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);
if (teamInfo.IS_DELETED == true)
{
foreach (var item1 in teamPersons.Where(t => t.TEAM_ID == teamInfo.ID))
{
item1.IS_DELETED = true;
teamPersonLists.Add(item1);
}
}
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 (teamPersonLists != null && teamPersonLists.Any())
BantchUpdateEntity_noneBase(teamPersonLists);
if (teamLists != null && teamLists.Any())
BantchUpdateEntity_noneBase(teamLists);
if (teamPersonIds != null && teamPersonIds.Any())
BantchDeleteEntityNoCommit<T_FM_TEAM_PERSON>(teamPersonIds);
if (deleteTeamPersonIds != null && deleteTeamPersonIds.Any())
BantchDeleteEntityNoCommit<T_FM_TEAM_PERSON>(deleteTeamPersonIds);
if (teamAddLists != null && teamAddLists.Any())
BantchSaveEntityNoCommit(teamAddLists);
if (teamPersonAddLists != null && teamPersonAddLists.Any())
BantchSaveEntityNoCommit(teamPersonAddLists);
if (teamPersonUpdateLists != null && teamPersonUpdateLists.Any())
BantchUpdateEntity_noneBase(teamPersonUpdateLists);
if (teamUpdateLists != null && teamUpdateLists.Any())
BantchUpdateEntity_noneBase(teamUpdateLists);
if (departLists != null && departLists.Any())
BantchUpdateEntity_noneBase(departLists);
});
}
catch (Exception ex)

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

@ -1644,7 +1644,7 @@ namespace APT.PP.WebApi.Controllers.Api
var userPosts = this.GetEntities<T_FM_USER_POST>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId));
var baseFilter = new BaseFilter(filter.GetOrgId());
baseFilter.IgnoreDataRule = true;
baseFilter.SelectField = new string[] { "ID" }; //指定字段,包括导航属性
baseFilter.SelectField = new string[] { "ID", "START_DATE", "END_DATE" }; //指定字段,包括导航属性
Expression<Func<T_SK_IDENTIFY_EVALUATION_PLAN, bool>> expression = i => i.END_DATE.Value.Date == DateTime.Now.Date && i.STATUS == PFStandardStatus.Archived;
List<T_SK_IDENTIFY_EVALUATION_PLAN> planTemps = this.GetOrderEntities(expression, baseFilter, "Nav_Requires").ToList();
var planIds = planTemps.Select(t => t.ID).ToList();
@ -1670,7 +1670,7 @@ namespace APT.PP.WebApi.Controllers.Api
var libPosts = GetEntities<T_SK_ENTERPRISE_LIBRARY_POST>(i => libIds.Contains(i.ENTERPRISE_LIBRARY_ID), new BaseFilter(filter.OrgId)).ToList();
var libPostIds = libPosts.Select(t => t.ID).ToList();
var libPostDetails = GetEntities<T_SK_ENTERPRISE_LIBRARY_POST_DETAIL>(i => libPostIds.Contains(i.ENTERPRISE_LIBRARY_POST_ID), new BaseFilter(filter.OrgId)).ToList();
if (planIds != null && planIds.Any())//&& dtNow.Hour >= 16 && dtNow.Hour <= 20
if (planIds != null && planIds.Any() )//&& dtNow.Hour >= 16 && dtNow.Hour <= 20
{
//plans.ForEach(t => t.STATUS = PFStandardStatus.Close);
identitys.ForEach(m => { m.STATUS = PFStandardStatus.Close; m.END_DATE = DateTime.Now; });
@ -5566,8 +5566,8 @@ namespace APT.PP.WebApi.Controllers.Api
}
if (item.CheckPost == "班组负责人")
{
//判断排班//取消人员排班判断&& teamDepartIds.Contains(t.DEPARTMENT_ID) && t.PERSON_ID != null && personIds.Contains((Guid)t.PERSON_ID)
userInfo = users.FirstOrDefault(t => t.DEPARTMENT_ID == item.CheckDepartId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.CheckPost);
//判断排班
userInfo = users.FirstOrDefault(t => t.DEPARTMENT_ID == item.CheckDepartId && teamDepartIds.Contains(t.DEPARTMENT_ID) && t.PERSON_ID != null && personIds.Contains((Guid)t.PERSON_ID) && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.CheckPost);
}
if (userInfo == null && item.CheckDepartId != null && item.CheckPost != "班组负责人")
{
@ -6096,7 +6096,7 @@ namespace APT.PP.WebApi.Controllers.Api
{
foreach (var item in contentDeparts)
{
var departUsers = contentDepartUsers.Where(t => t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART_ID == item.ID).Select(m => m.USER_ID).ToList();
var departUsers = contentDepartUsers.Where(t => t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART_ID == item.ID && t.USER_ID!=null).Select(m => m.USER_ID).ToList();
var departUserIds = string.Join(",", departUsers);
var conFirst = contents.FirstOrDefault(t => t.ID == item.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID);
var detailFirst = libraryDetails.FirstOrDefault(t => t.ID == conFirst?.ENTERPRISE_LIBRARY_DETAIL_ID);
@ -6218,7 +6218,7 @@ namespace APT.PP.WebApi.Controllers.Api
}
listNew.details = listDetail.GroupBy(n => new { n.RISK_AREA_ID, n.RISK_NAME, n.CHECK_CONTENTS_ID }).Select(g => g.FirstOrDefault()).OrderBy(t => t.RISK_AREA_NAME).ThenBy(m => m.RISK_NAME).ToList();
}
var depatUserIds = conDepartlist.Where(t => t.DEPARTMENT_ID == item.Key.DEPARTMENT_ID && t.CHECK_TYPE_ID == item.Key.CHECK_TYPE_ID && t.CHECK_TYPE == item.Key.CHECK_TYPE && t.CHECK_CYCLE == item.Key.CHECK_CYCLE && t.PRODUCTION_UNIT_ID == item.Key.PRODUCTION_UNIT_ID && t.POST_NAME == item.Key.POST_NAME && t.POST_ID == item.Key.POST_ID).Select(m => m.USER_ID).ToList();
var depatUserIds = conDepartlist.Where(t => t.DEPARTMENT_ID == item.Key.DEPARTMENT_ID && t.CHECK_TYPE_ID == item.Key.CHECK_TYPE_ID && t.CHECK_TYPE == item.Key.CHECK_TYPE && t.CHECK_CYCLE == item.Key.CHECK_CYCLE && t.PRODUCTION_UNIT_ID == item.Key.PRODUCTION_UNIT_ID && t.POST_NAME == item.Key.POST_NAME && t.POST_ID == item.Key.POST_ID && t.USER_ID != null).Select(m => m.USER_ID).ToList();
var depatUserIdList = new List<string>();
if (depatUserIds != null && depatUserIds.Any())
{
@ -6248,7 +6248,7 @@ namespace APT.PP.WebApi.Controllers.Api
if (!string.IsNullOrEmpty(tem2))
{
CheckListUser user = new CheckListUser();
user.USER_ID = Guid.Parse(tem);
user.USER_ID = Guid.Parse(tem2);
listUser.Add(user);
}
}

View File

@ -949,16 +949,23 @@ namespace APT.SC.WebApi.Controllers.Api.BI
}
//行转列
var groupList = riskTempList
.GroupBy(x => x.companyName)
.Select(g => new RiskList
{
companyName = g.Key,
majorCount = g.First(x => x.riskType == SKEvaluateLevelEnum..GetDescription()).cnt,
largerCount = g.First(x => x.riskType == SKEvaluateLevelEnum..GetDescription()).cnt,
generalCount = g.First(x => x.riskType == SKEvaluateLevelEnum..GetDescription()).cnt,
lowCount = g.First(x => x.riskType == SKEvaluateLevelEnum..GetDescription()).cnt,
totalCount = g.Sum(x => x.cnt)
}).ToList();
.GroupBy(x => x.companyName)
.Select(g =>
{
// 先把当前公司的风险类型和数量转成字典,避免多次遍历分组
var riskDict = g.ToDictionary(x => x.riskType, x => x.cnt);
return new RiskList
{
companyName = g.Key,
majorCount = riskDict.TryGetValue(SKEvaluateLevelEnum..GetDescription(), out var major) ? major : 0,
largerCount = riskDict.TryGetValue(SKEvaluateLevelEnum..GetDescription(), out var larger) ? larger : 0,
generalCount = riskDict.TryGetValue(SKEvaluateLevelEnum..GetDescription(), out var general) ? general : 0,
lowCount = riskDict.TryGetValue(SKEvaluateLevelEnum..GetDescription(), out var low) ? low : 0,
totalCount = riskDict.Sum(x => x.Value)
};
})
.ToList();
if (orgList != null && orgList.Any())
{
foreach (var item in orgList)

View File

@ -175,6 +175,8 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
public DateTime? TASK_DT { get; set; }
public string NOTICE_STATUS { get; set; }
public string USER_NAME { get; set; }
public int? NUM { get; set; }
}
/// <summary>
///
@ -11237,6 +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));
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();
@ -11257,6 +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);
TaskViewInfoDetail dd = new TaskViewInfoDetail();
dd.COMPANY_NAME = de.COMPANY_NAME;
dd.MOULD_NAME = de.MOULD_NAME;
@ -11267,8 +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;
info.details.Add(dd);
}
info.details = info.details.OrderBy(t => t.NUM).ToList();
}
result.Data.Add(info);
}