新用户注册 添加 部门 岗位 线下考试bug处理 下级培训组织 加载默认值

This commit is contained in:
wyw 2025-12-01 22:22:28 +08:00
parent 5b9bc66c20
commit b8f08121b8
8 changed files with 136886 additions and 105 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,34 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace APT.Data.Migrations.Migrations
{
public partial class wyw2025120101 : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateIndex(
name: "IX_T_SE_NEW_USER_DETAIL_NEXT_DEPARTMENT_ID",
table: "T_SE_NEW_USER_DETAIL",
column: "NEXT_DEPARTMENT_ID");
migrationBuilder.AddForeignKey(
name: "FK_T_SE_NEW_USER_DETAIL_T_FM_DEPARTMENT_NEXT_DEPARTMENT_ID",
table: "T_SE_NEW_USER_DETAIL",
column: "NEXT_DEPARTMENT_ID",
principalTable: "T_FM_DEPARTMENT",
principalColumn: "ID",
onDelete: ReferentialAction.Restrict);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_T_SE_NEW_USER_DETAIL_T_FM_DEPARTMENT_NEXT_DEPARTMENT_ID",
table: "T_SE_NEW_USER_DETAIL");
migrationBuilder.DropIndex(
name: "IX_T_SE_NEW_USER_DETAIL_NEXT_DEPARTMENT_ID",
table: "T_SE_NEW_USER_DETAIL");
}
}
}

View File

@ -72211,6 +72211,8 @@ namespace APT.Data.Migrations.Migrations
b.HasIndex("EDU_CARD_ID"); b.HasIndex("EDU_CARD_ID");
b.HasIndex("NEXT_DEPARTMENT_ID");
b.HasIndex("ORG_ID"); b.HasIndex("ORG_ID");
b.HasIndex("USER_DEPARTMENT_ID"); b.HasIndex("USER_DEPARTMENT_ID");
@ -123399,6 +123401,11 @@ namespace APT.Data.Migrations.Migrations
.OnDelete(DeleteBehavior.Restrict) .OnDelete(DeleteBehavior.Restrict)
.IsRequired(); .IsRequired();
b.HasOne("APT.BaseData.Domain.Entities.FM.T_FM_DEPARTMENT", "Nav_DepartmentNext")
.WithMany()
.HasForeignKey("NEXT_DEPARTMENT_ID")
.OnDelete(DeleteBehavior.Restrict);
b.HasOne("APT.Infrastructure.Core.T_FM_ORGANIZATION", "Nav_Org") b.HasOne("APT.Infrastructure.Core.T_FM_ORGANIZATION", "Nav_Org")
.WithMany() .WithMany()
.HasForeignKey("ORG_ID") .HasForeignKey("ORG_ID")
@ -123422,6 +123429,8 @@ namespace APT.Data.Migrations.Migrations
b.Navigation("Nav_Department"); b.Navigation("Nav_Department");
b.Navigation("Nav_DepartmentNext");
b.Navigation("Nav_NewUser"); b.Navigation("Nav_NewUser");
b.Navigation("Nav_Org"); b.Navigation("Nav_Org");

View File

@ -10245,6 +10245,7 @@ builder.HasOne(t => t.Nav_Post).WithMany().HasForeignKey(t => t.USER_POST_ID).On
builder.Property(t => t.SCORE).HasMaxLength(10); builder.Property(t => t.SCORE).HasMaxLength(10);
builder.Ignore(t => t.PUBLISH); builder.Ignore(t => t.PUBLISH);
builder.Ignore(t => t.IS_OVERTIME); builder.Ignore(t => t.IS_OVERTIME);
builder.HasOne(t => t.Nav_DepartmentNext).WithMany().HasForeignKey(t => t.NEXT_DEPARTMENT_ID).OnDelete(DeleteBehavior.Restrict);
} }
} }
#endregion #endregion

View File

@ -124,6 +124,13 @@ namespace APT.MS.Domain.Entities.SE
/// </summary> /// </summary>
[Description("下个部门ID")] [Description("下个部门ID")]
[FormFieldEdit] [FormFieldEdit]
[DataFieldForeignKey("Nav_DepartmentNext")]
public Guid? NEXT_DEPARTMENT_ID { get; set; } public Guid? NEXT_DEPARTMENT_ID { get; set; }
/// <summary>
/// 下个部门
/// </summary>
[Description("下个部门")]
public T_FM_DEPARTMENT Nav_DepartmentNext { get; set; }
} }
} }

View File

@ -39,15 +39,18 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{ {
IFMNotificationTaskService NotificationTaskService { get; set; } IFMNotificationTaskService NotificationTaskService { get; set; }
IFMDepartmentService DepartmentService { get; set; } IFMDepartmentService DepartmentService { get; set; }
IFMUserService UserService { get; set; }
string[] allDeps = { "矿山部", "选矿部", "安全环保管理部", "安全环保科", "选矿一部", "选矿二部", "机电部", "安全环保部", "生产管理部", "安环部", "安全管理部" }; string[] allDeps = { "矿山部", "选矿部", "安全环保管理部", "安全环保科", "选矿一部", "选矿二部", "机电部", "安全环保部", "生产管理部", "安环部", "安全管理部" };
string[] safeDeps = { "安全环保管理部", "安全环保科", "安全环保部", "安环部" }; string[] safeDeps = { "安全环保管理部", "安全环保科", "安全环保部", "安环部" };
string[] workDeps = { "矿山部", "选矿部", "选矿一部", "选矿二部", "机电部", "生产管理部", "安环部" }; string[] workDeps = { "矿山部", "选矿部", "选矿一部", "选矿二部", "机电部", "生产管理部", "安环部" };
public SEController(IFMNotificationTaskService notificationTaskService, IFMDepartmentService departmentService) public SEController(IFMNotificationTaskService notificationTaskService, IFMDepartmentService departmentService, IFMUserService userService)
{ {
NotificationTaskService = notificationTaskService; NotificationTaskService = notificationTaskService;
DepartmentService = departmentService; DepartmentService = departmentService;
UserService = userService;
} }
/// <summary> /// <summary>
@ -219,7 +222,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
} }
//金源培训 9 ~ 15 可以触发一次 //金源培训 9 ~ 15 可以触发一次
if (currTime.Hour == 8 || currTime.Hour == 9) if (currTime.Hour == 8)
{ {
var orgId = filter.GetOrgId(); var orgId = filter.GetOrgId();
var newUsers = GetEntities<T_SE_USER_TEMP>(t => t.IS_SEND == 0, new BaseFilter(orgId)); var newUsers = GetEntities<T_SE_USER_TEMP>(t => t.IS_SEND == 0, new BaseFilter(orgId));
@ -239,8 +242,9 @@ namespace APT.PP.WebApi.Controllers.Api.PP
List<T_SE_NEW_USER_DETAIL> userDetails = new List<T_SE_NEW_USER_DETAIL>(); List<T_SE_NEW_USER_DETAIL> userDetails = new List<T_SE_NEW_USER_DETAIL>();
var newUsersId = newUsers.Select(t => t.USER_ID); var newUsersId = newUsers.Select(t => t.USER_ID);
var newAllUsers = GetEntities<T_FM_USER>(t => newUsersId.Contains(t.ID), new BaseFilter(orgId)); var newAllUsers = GetEntities<T_FM_USER>(t => newUsersId.Contains(t.ID), new BaseFilter(orgId), "Nav_Person");
var sendUser = GetEntity<T_FM_USER>(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == "安环部安全员" && t.IS_DELETED == false && t.ENABLE_STATUS == 0); //var sendUser = GetEntity<T_FM_USER>(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == "安环部安全员" && t.IS_DELETED == false && t.ENABLE_STATUS == 0);
var sendUser = UserService.GetSafeApproveUser(orgId);
var train_contents = GetEntity<T_SE_THREE_LEVEL_SAFE_CONTENT>(t => t.THREE_LEVEL_SAFE_TRAIN_TYPE == SEThreeLevelSafeTrainType.); var train_contents = GetEntity<T_SE_THREE_LEVEL_SAFE_CONTENT>(t => t.THREE_LEVEL_SAFE_TRAIN_TYPE == SEThreeLevelSafeTrainType.);
eduCard = new T_SE_NEW_USERS(); eduCard = new T_SE_NEW_USERS();
eduCard.ID = Guid.NewGuid(); eduCard.ID = Guid.NewGuid();
@ -253,6 +257,9 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{ {
eduCard.CONTENT_ID = train_contents.ID; eduCard.CONTENT_ID = train_contents.ID;
} }
var listDeps = GetEntities<T_FM_DEPARTMENT>(e => e.ENABLE_STATUS == 0 && !e.IS_DELETED, null);
T_FM_DEPARTMENT modelDep = null;
foreach (var user in newAllUsers) foreach (var user in newAllUsers)
{ {
T_SE_NEW_USER_DETAIL userDetail = new T_SE_NEW_USER_DETAIL(); T_SE_NEW_USER_DETAIL userDetail = new T_SE_NEW_USER_DETAIL();
@ -263,8 +270,62 @@ namespace APT.PP.WebApi.Controllers.Api.PP
userDetail.STATUS = 0; userDetail.STATUS = 0;
userDetail.ORG_ID = eduCard.ORG_ID; userDetail.ORG_ID = eduCard.ORG_ID;
userDetail.IN_TIME = user.ENTRYTIME; userDetail.IN_TIME = user.ENTRYTIME;
userDetail.USER_DEPARTMENT_ID = user.DEPARTMENT_ID;
if (user.PERSON_ID.HasValue && user.Nav_Person != null && user.Nav_Person.POST_ID.HasValue)
{
userDetail.USER_POST_ID = user.Nav_Person.POST_ID;
}
//默认到对应部门 给矿山 选矿 否则给 安环
#region NEXT_DEPARTMENT_ID
if (user.DEPARTMENT_ID.HasValue)
{
//userDetail.NEXT_DEPARTMENT_ID=
modelDep = listDeps.FirstOrDefault(e => e.ID == user.DEPARTMENT_ID.Value);
if (modelDep.DEPARTMENT_TYPE == 5)
{
//公司领导
}
else if (modelDep.DEPARTMENT_TYPE == 10)
{
//部门人员
if (modelDep.DEPARTMENT_STATUS == 1)//FMDepartmentStatus 职能部门 = 0, 生产部门 = 1, 安全部门 = 2,
{
userDetail.NEXT_DEPARTMENT_ID = modelDep.ID;
}
else
{
modelDep = listDeps.FirstOrDefault(e => e.DEPARTMENT_STATUS == 2);
if (modelDep != null)
{
userDetail.NEXT_DEPARTMENT_ID = modelDep.ID;
}
}
}
else if (modelDep.DEPARTMENT_TYPE == 15)
{
userDetail.NEXT_DEPARTMENT_ID = modelDep.PARENT_ID;//给组织对应上级组织
}
else if (modelDep.DEPARTMENT_TYPE == 20)
{
//班主 对应组织 的父级的父级
if (modelDep.PARENT_ID.HasValue)
{
modelDep = listDeps.FirstOrDefault(e => e.ID == modelDep.PARENT_ID.Value);
}
if (modelDep != null)
{
userDetail.NEXT_DEPARTMENT_ID = modelDep.PARENT_ID;
}
}
}
#endregion
userDetails.Add(userDetail); userDetails.Add(userDetail);
} }
foreach (var item in newUsers) foreach (var item in newUsers)
{ {
item.IS_SEND = 1; item.IS_SEND = 1;
@ -1403,70 +1464,92 @@ namespace APT.PP.WebApi.Controllers.Api.PP
{ {
return true; return true;
} }
T_FM_USER user = null; T_FM_USER user = UserService.GetSafeApproveUser(yearPlan.ORG_ID.Value);//默认安环专员
var approveRole = this.GetEntity<T_PF_APPROVAL_ROLE>(e => e.NAME.Contains("安环部安全员"));
if (approveRole != null)
{
user = GetEntity<T_FM_USER>(e => e.APPROVE_ROLE_ID.HasValue && e.APPROVE_ROLE_ID.Value == approveRole.ID && e.ENABLE_STATUS == 0);
}
if (user == null) if (user == null)
{ {
approveRole = this.GetEntity<T_PF_APPROVAL_ROLE>(e => e.NAME.Contains("安环部负责人")); throw new Exception("未找到安环部相关审批人员!");
} }
if (approveRole != null)
T_SE_TRAIN_PLAN yearTrainPlan = new T_SE_TRAIN_PLAN
{ {
user = GetEntity<T_FM_USER>(e => e.APPROVE_ROLE_ID.HasValue && e.APPROVE_ROLE_ID.Value == approveRole.ID && e.ENABLE_STATUS == 0); ID = Guid.NewGuid(),
if (user == null) TYPE = PlanType.Company,
{ YEAR = year,
approveRole = this.GetEntity<T_PF_APPROVAL_ROLE>(e => e.NAME.Contains("总监") && e.NAME.Contains("安")); LAUNCH_TIME = dtNow,
if (approveRole != null) DEPARTMENT_ID = user.DEPARTMENT_ID,
{ LAUNCH_USER_ID = user.ID,
user = GetEntity<T_FM_USER>(e => e.APPROVE_ROLE_ID.HasValue && e.APPROVE_ROLE_ID.Value == approveRole.ID && e.ENABLE_STATUS == 0); STATUS = PFStandardStatus.Draft,
} ORG_ID = filter.GetOrgId(),
} PLAN_NAME = "年度安全培训计划"
if (user != null)
{
//T_SE_YEAR_TRAIN_PLAN yearTrainPlan = new T_SE_YEAR_TRAIN_PLAN
//{
// ID = Guid.NewGuid(),
// PLAN_YEAR = year,
// LAUNCH_TIME = dtNow,
// LAUNCH_DEPARTMENT_ID = user.DEPARTMENT_ID,
// LAUNCH_USER_ID = user.ID,
// STATUS = PFStandardStatus.Draft,
// ORG_ID = filter.GetOrgId(),
// PLAN_NAME = "年度安全培训计划"
//};
//NotificationTaskService.SendNotificationTask("年度安全培训计划", yearTrainPlan.ID, filter.GetOrgId(), user.ID, user.NAME, DateTime.Now, DateTime.Now.AddDays(15), 1, "SE012", () =>
//{
// AddEntityNoCommit(yearTrainPlan);
//});
T_SE_TRAIN_PLAN yearTrainPlan = new T_SE_TRAIN_PLAN
{
ID = Guid.NewGuid(),
TYPE = PlanType.Company,
YEAR = year,
LAUNCH_TIME = dtNow,
DEPARTMENT_ID = user.DEPARTMENT_ID,
LAUNCH_USER_ID = user.ID,
STATUS = PFStandardStatus.Draft,
ORG_ID = filter.GetOrgId(),
PLAN_NAME = "年度安全培训计划"
};
NotificationTaskService.SendNotificationTask("年度安全培训计划", yearTrainPlan.ID, filter.GetOrgId(), user.ID, user.NAME, DateTime.Now, DateTime.Now.AddDays(15), 1, "SE071", () =>
{
AddEntityNoCommit(yearTrainPlan);
});
}
else
{
throw new Exception("未找到安环部负责人!");
}
}
else
{
throw new Exception("未找到安环部负责人角色!");
}; };
NotificationTaskService.SendNotificationTask("年度安全培训计划", yearTrainPlan.ID, filter.GetOrgId(), user.ID, user.NAME, DateTime.Now, DateTime.Now.AddDays(15), 1, "SE071", () =>
{
AddEntityNoCommit(yearTrainPlan);
});
//var approveRole = this.GetEntity<T_PF_APPROVAL_ROLE>(e => e.NAME.Contains("安环部安全员"));
//if (approveRole != null)
//{
// user = GetEntity<T_FM_USER>(e => e.APPROVE_ROLE_ID.HasValue && e.APPROVE_ROLE_ID.Value == approveRole.ID && e.ENABLE_STATUS == 0);
//}
//if (user == null)
//{
// approveRole = this.GetEntity<T_PF_APPROVAL_ROLE>(e => e.NAME.Contains("安环部负责人"));
//}
//if (approveRole != null)
//{
// user = GetEntity<T_FM_USER>(e => e.APPROVE_ROLE_ID.HasValue && e.APPROVE_ROLE_ID.Value == approveRole.ID && e.ENABLE_STATUS == 0);
// if (user == null)
// {
// approveRole = this.GetEntity<T_PF_APPROVAL_ROLE>(e => e.NAME.Contains("总监") && e.NAME.Contains("安"));
// if (approveRole != null)
// {
// user = GetEntity<T_FM_USER>(e => e.APPROVE_ROLE_ID.HasValue && e.APPROVE_ROLE_ID.Value == approveRole.ID && e.ENABLE_STATUS == 0);
// }
// }
// if (user != null)
// {
// //T_SE_YEAR_TRAIN_PLAN yearTrainPlan = new T_SE_YEAR_TRAIN_PLAN
// //{
// // ID = Guid.NewGuid(),
// // PLAN_YEAR = year,
// // LAUNCH_TIME = dtNow,
// // LAUNCH_DEPARTMENT_ID = user.DEPARTMENT_ID,
// // LAUNCH_USER_ID = user.ID,
// // STATUS = PFStandardStatus.Draft,
// // ORG_ID = filter.GetOrgId(),
// // PLAN_NAME = "年度安全培训计划"
// //};
// //NotificationTaskService.SendNotificationTask("年度安全培训计划", yearTrainPlan.ID, filter.GetOrgId(), user.ID, user.NAME, DateTime.Now, DateTime.Now.AddDays(15), 1, "SE012", () =>
// //{
// // AddEntityNoCommit(yearTrainPlan);
// //});
// T_SE_TRAIN_PLAN yearTrainPlan = new T_SE_TRAIN_PLAN
// {
// ID = Guid.NewGuid(),
// TYPE = PlanType.Company,
// YEAR = year,
// LAUNCH_TIME = dtNow,
// DEPARTMENT_ID = user.DEPARTMENT_ID,
// LAUNCH_USER_ID = user.ID,
// STATUS = PFStandardStatus.Draft,
// ORG_ID = filter.GetOrgId(),
// PLAN_NAME = "年度安全培训计划"
// };
// NotificationTaskService.SendNotificationTask("年度安全培训计划", yearTrainPlan.ID, filter.GetOrgId(), user.ID, user.NAME, DateTime.Now, DateTime.Now.AddDays(15), 1, "SE071", () =>
// {
// AddEntityNoCommit(yearTrainPlan);
// });
// }
// else
// {
// throw new Exception("未找到安环部负责人!");
// }
//}
//else
//{
// throw new Exception("未找到安环部负责人角色!");
//};
return true; return true;
} }

View File

@ -151,6 +151,13 @@ namespace APT.SC.WebApi.Controllers.Api.BI
DataReturn.code = 500; DataReturn.code = 500;
return DataReturn; return DataReturn;
} }
if (model.DEPARTMENT_ID == null || (model.DEPARTMENT_ID.HasValue && model.DEPARTMENT_ID.Value == Guid.Empty))
{
DataReturn.msg = "请选择入职组织!";
DataReturn.code = 500;
return DataReturn;
}
var Tenant = this.Request.Headers["Tenant"]; var Tenant = this.Request.Headers["Tenant"];
Guid orgId = model.ORG_ID; Guid orgId = model.ORG_ID;
var isrepeat = GetEntity<T_FM_USER>(t => t.CODE == model.Phone); var isrepeat = GetEntity<T_FM_USER>(t => t.CODE == model.Phone);
@ -167,6 +174,12 @@ namespace APT.SC.WebApi.Controllers.Api.BI
newPerson.SEX = model.Sex; newPerson.SEX = model.Sex;
newPerson.TEL = model.Phone; newPerson.TEL = model.Phone;
newPerson.ORG_ID = orgId; newPerson.ORG_ID = orgId;
newPerson.DEPARTMENT_ID = model.DEPARTMENT_ID;
if (model.POST_ID.HasValue && model.POST_ID.Value != Guid.Empty)
{
newPerson.POST_ID = model.POST_ID;
}
T_FM_USER newUser = new T_FM_USER(); T_FM_USER newUser = new T_FM_USER();
newUser.ID = Guid.NewGuid(); newUser.ID = Guid.NewGuid();
newUser.CODE = model.Phone; newUser.CODE = model.Phone;
@ -179,6 +192,10 @@ namespace APT.SC.WebApi.Controllers.Api.BI
newUser.PERSON_ID = newPerson.ID; newUser.PERSON_ID = newPerson.ID;
newUser.PASSWORD = "E10ADC3949BA59ABBE56E057F20F883E"; newUser.PASSWORD = "E10ADC3949BA59ABBE56E057F20F883E";
newUser.ORG_ID = orgId; newUser.ORG_ID = orgId;
newUser.DEPARTMENT_ID = model.DEPARTMENT_ID;
newUser.NUM = 1000;//按 NUM 排序 靠后
newUser.ENABLE_STATUS = 1;//先配置不可用 三级安全教育完成后 再启用
T_SE_USER_TEMP newTemp = new T_SE_USER_TEMP(); T_SE_USER_TEMP newTemp = new T_SE_USER_TEMP();
newTemp.ID = Guid.NewGuid(); newTemp.ID = Guid.NewGuid();
newTemp.USER_ID = newUser.ID; newTemp.USER_ID = newUser.ID;
@ -323,6 +340,8 @@ namespace APT.SC.WebApi.Controllers.Api.BI
public DateTime InTime { get; set; } public DateTime InTime { get; set; }
public int WORKINGYEAR { get; set; } public int WORKINGYEAR { get; set; }
public Guid ORG_ID { get; set; } public Guid ORG_ID { get; set; }
public Guid? DEPARTMENT_ID { get; set; }
public Guid? POST_ID { get; set; }
} }
//private Guid getOrgIdByTenant(string Tenant) //private Guid getOrgIdByTenant(string Tenant)

View File

@ -74,60 +74,86 @@ namespace APT.SC.WebApi.Controllers.Api.SE
{ {
listUserCheck = GetEntities<T_FM_USER>(e => listCode.Contains(e.CODE), null, null); listUserCheck = GetEntities<T_FM_USER>(e => listCode.Contains(e.CODE), null, null);
} }
#region NEXT_DEPARTMENT_ID
int index = 0; int index = 0;
foreach (var item in Nav_NewUserDetail) foreach (var item in Nav_NewUserDetail)
{ {
var dep = alldeps.FirstOrDefault(t => t.ID == item.USER_DEPARTMENT_ID); index++;
//if (dep.DEPARTMENT_TYPE == auditDep.DEPARTMENT_TYPE)//登录者的层级 等于 新用户的层级 if (!item.NEXT_DEPARTMENT_ID.HasValue)
if (dep.DEPARTMENT_TYPE <= auditDep.DEPARTMENT_TYPE)//登录者的层级 小于 新用户的层级
{ {
if (string.IsNullOrEmpty(item.CODE)) if (string.IsNullOrEmpty(item.CODE))
{ {
throw new Exception("请填写行:" + (index + 1) + "的工号!"); throw new Exception("请填写行:" + index + "的工号!");
}
if (!item.USER_DEPARTMENT_ID.HasValue)
{
throw new Exception("请填写行:" + index + "的组织!");
} }
if (item.USER_POST_ID == Guid.Empty || item.USER_POST_ID == null) if (item.USER_POST_ID == Guid.Empty || item.USER_POST_ID == null)
{ {
throw new Exception("请填写行:" + (index + 1) + "的岗位!"); throw new Exception("请填写行:" + index + "的岗位!");
} }
} }
if (listUserCheck != null && listUserCheck.Count() > 0 && !string.IsNullOrEmpty(item.CODE) && item.USER_ID.HasValue) item.Nav_DepartmentNext = null;
{
var CodeCheck = listUserCheck.FirstOrDefault(e => e.CODE == item.CODE && e.ID != item.USER_ID);
if (CodeCheck != null)
{
throw new Exception("工号不能重复【" + item.CODE + "】!");
}
}
index++;
}
if (entity.TRAIN_STATUS == SEThreeLevelSafeTrainType.)
{
foreach (var item in Nav_NewUserDetail)
{
/// 部门层级 FMDepartmentType 公司=5 部门=10, 车间=15, 班组=20,
/// FMDepartmentType 部门=0, 车间=1, 班组=2, 公司=3
var dep = alldeps.FirstOrDefault(t => t.ID == item.USER_DEPARTMENT_ID);
if (dep.DEPARTMENT_TYPE == 10)
{
item.NEXT_DEPARTMENT_ID = dep.ID;
}
if (dep.DEPARTMENT_TYPE == 15)
{
item.NEXT_DEPARTMENT_ID = dep.Nav_Parent.ID;
}
else if (dep.DEPARTMENT_TYPE == 20)
{
item.NEXT_DEPARTMENT_ID = dep.Nav_Parent.Nav_Parent.ID;
}
}
}
if (entity.TRAIN_STATUS == SEThreeLevelSafeTrainType.)
{
foreach (var item in Nav_NewUserDetail)
{
item.NEXT_DEPARTMENT_ID = item.USER_DEPARTMENT_ID;
}
} }
//foreach (var item in Nav_NewUserDetail)
//{
// var dep = alldeps.FirstOrDefault(t => t.ID == item.USER_DEPARTMENT_ID);
// //if (dep.DEPARTMENT_TYPE == auditDep.DEPARTMENT_TYPE)//登录者的层级 等于 新用户的层级
// if (dep.DEPARTMENT_TYPE <= auditDep.DEPARTMENT_TYPE)//登录者的层级 小于 新用户的层级
// {
// if (string.IsNullOrEmpty(item.CODE))
// {
// throw new Exception("请填写行:" + (index + 1) + "的工号!");
// }
// if (item.USER_POST_ID == Guid.Empty || item.USER_POST_ID == null)
// {
// throw new Exception("请填写行:" + (index + 1) + "的岗位!");
// }
// }
// if (listUserCheck != null && listUserCheck.Count() > 0 && !string.IsNullOrEmpty(item.CODE) && item.USER_ID.HasValue)
// {
// var CodeCheck = listUserCheck.FirstOrDefault(e => e.CODE == item.CODE && e.ID != item.USER_ID);
// if (CodeCheck != null)
// {
// throw new Exception("工号不能重复【" + item.CODE + "】!");
// }
// }
// index++;
//}
//if (entity.TRAIN_STATUS == SEThreeLevelSafeTrainType.公司级)
//{
// foreach (var item in Nav_NewUserDetail)
// {
// /// 部门层级 FMDepartmentType 公司=5 部门=10, 车间=15, 班组=20,
// /// FMDepartmentType 部门=0, 车间=1, 班组=2, 公司=3
// var dep = alldeps.FirstOrDefault(t => t.ID == item.USER_DEPARTMENT_ID);
// if (dep.DEPARTMENT_TYPE == 10)
// {
// item.NEXT_DEPARTMENT_ID = dep.ID;
// }
// if (dep.DEPARTMENT_TYPE == 15)
// {
// item.NEXT_DEPARTMENT_ID = dep.Nav_Parent.ID;
// }
// else if (dep.DEPARTMENT_TYPE == 20)
// {
// item.NEXT_DEPARTMENT_ID = dep.Nav_Parent.Nav_Parent.ID;
// }
// }
//}
//if (entity.TRAIN_STATUS == SEThreeLevelSafeTrainType.部门级)
//{
// foreach (var item in Nav_NewUserDetail)
// {
// item.NEXT_DEPARTMENT_ID = item.USER_DEPARTMENT_ID;
// }
//}
#endregion
var allDepartment = Nav_NewUserDetail.Where(t => t.IS_DELETED == false).Select(t => t.USER_DEPARTMENT_ID); var allDepartment = Nav_NewUserDetail.Where(t => t.IS_DELETED == false).Select(t => t.USER_DEPARTMENT_ID);
var allUser = GetEntities<T_FM_USER>(t => allDepartment.Contains(t.DEPARTMENT_ID) && t.Nav_ApproveRole != null, new BaseFilter(entity.ORG_ID)); var allUser = GetEntities<T_FM_USER>(t => allDepartment.Contains(t.DEPARTMENT_ID) && t.Nav_ApproveRole != null, new BaseFilter(entity.ORG_ID));
if (entity.IS_CREATETEST == SETrainNeedSuvey.) if (entity.IS_CREATETEST == SETrainNeedSuvey.)
@ -392,6 +418,7 @@ namespace APT.SC.WebApi.Controllers.Api.SE
{ {
CreateNextLevel(orgId, currID, taskID, eduCardID, null, ref eduCardRef, ref newEduCard, ref userDetailList, ref currDetail, ref sendNoticeRef); CreateNextLevel(orgId, currID, taskID, eduCardID, null, ref eduCardRef, ref newEduCard, ref userDetailList, ref currDetail, ref sendNoticeRef);
#region wyw OG001_SHOWPRINT #region wyw OG001_SHOWPRINT
GetOG001(taskID, currUser, currPerson, departInfo, ref signRecord, ref signPost, ref sendNoticeRef); GetOG001(taskID, currUser, currPerson, departInfo, ref signRecord, ref signPost, ref sendNoticeRef);
@ -720,6 +747,8 @@ namespace APT.SC.WebApi.Controllers.Api.SE
var userFilter = new BaseFilter(orgId); var userFilter = new BaseFilter(orgId);
userFilter.Include = new string[] { "Nav_Person" }; userFilter.Include = new string[] { "Nav_Person" };
var listDeps = GetEntities<T_FM_DEPARTMENT>(e => e.ENABLE_STATUS == 0 && !e.IS_DELETED, null);
T_FM_DEPARTMENT modelDep = null;
foreach (var user in commonDeptartmentUsers) foreach (var user in commonDeptartmentUsers)
{ {
T_SE_NEW_USER_DETAIL userDetail = new T_SE_NEW_USER_DETAIL(); T_SE_NEW_USER_DETAIL userDetail = new T_SE_NEW_USER_DETAIL();
@ -733,6 +762,54 @@ namespace APT.SC.WebApi.Controllers.Api.SE
userDetail.USER_POST_ID = user.USER_POST_ID; userDetail.USER_POST_ID = user.USER_POST_ID;
userDetail.USER_DEPARTMENT_ID = user.USER_DEPARTMENT_ID; userDetail.USER_DEPARTMENT_ID = user.USER_DEPARTMENT_ID;
userDetail.EXAMINATION_RESULTS = SEExaminationResultsEnum.; userDetail.EXAMINATION_RESULTS = SEExaminationResultsEnum.;
#region NEXT_DEPARTMENT_ID
if (user.USER_DEPARTMENT_ID.HasValue)
{
//userDetail.NEXT_DEPARTMENT_ID=
modelDep = listDeps.FirstOrDefault(e => e.ID == user.USER_DEPARTMENT_ID.Value);
if (modelDep.DEPARTMENT_TYPE == 5)
{
//公司领导
}
else if (modelDep.DEPARTMENT_TYPE == 10)
{
//部门人员
if (modelDep.DEPARTMENT_STATUS == 1)//FMDepartmentStatus 职能部门 = 0, 生产部门 = 1, 安全部门 = 2,
{
userDetail.NEXT_DEPARTMENT_ID = modelDep.ID;
}
else
{
modelDep = listDeps.FirstOrDefault(e => e.DEPARTMENT_STATUS == 2);
if (modelDep != null)
{
userDetail.NEXT_DEPARTMENT_ID = modelDep.ID;
}
}
}
else if (modelDep.DEPARTMENT_TYPE == 15)
{
userDetail.NEXT_DEPARTMENT_ID = modelDep.PARENT_ID;//给组织对应上级组织
}
else if (modelDep.DEPARTMENT_TYPE == 20)
{
//班主 对应组织 的父级的父级
if (modelDep.PARENT_ID.HasValue)
{
modelDep = listDeps.FirstOrDefault(e => e.ID == modelDep.PARENT_ID.Value);
}
if (modelDep != null)
{
userDetail.NEXT_DEPARTMENT_ID = modelDep.PARENT_ID;
}
}
}
#endregion
userDetailList.Add(userDetail); userDetailList.Add(userDetail);
} }
var endTime = DateTime.Now.AddDays(10); var endTime = DateTime.Now.AddDays(10);
@ -769,6 +846,48 @@ namespace APT.SC.WebApi.Controllers.Api.SE
// AddEntityNoCommit(sendNotice); // AddEntityNoCommit(sendNotice);
//}); //});
} }
else
{
//不考试 还有人
currDetail = currDetailT;
switch (eduCard.TRAIN_STATUS)
{
case SEThreeLevelSafeTrainType.:
currDetail.STATUS = SEThreeLevelSafeTrainStatus.;
break;
case SEThreeLevelSafeTrainType.:
currDetail.STATUS = SEThreeLevelSafeTrainStatus.;
break;
case SEThreeLevelSafeTrainType.:
currDetail.STATUS = SEThreeLevelSafeTrainStatus.;
break;
case SEThreeLevelSafeTrainType.:
currDetail.STATUS = SEThreeLevelSafeTrainStatus.;
break;
default:
break;
}
//public enum SEThreeLevelSafeTrainStatus
//{
// 草稿 = 0,
// 公司培训 = 1,
// 部门培训 = 2,
// 班组培训 = 3,
// 员工签到 = 4,
// 审阅中 = 5,
// 归档 = 6,
//}
// <summary>培训组织部门类型</summary>
//public enum SEThreeLevelSafeTrainType
//{
// 公司级 = 0,
// 部门级 = 1,
// 车间级 = 2,
// 班组级 = 3,
//}
}
} }
//private void CreateNextLevel(Guid ORG_ID, Guid RECORD_ID, Guid TaskID, Guid EDU_CARD_ID, string score) //private void CreateNextLevel(Guid ORG_ID, Guid RECORD_ID, Guid TaskID, Guid EDU_CARD_ID, string score)
//{ //{