新用户注册 添加 部门 岗位 线下考试bug处理 下级培训组织 加载默认值
This commit is contained in:
parent
5b9bc66c20
commit
b8f08121b8
136509
APT.Data.Migrations/Migrations/20251201125645_wyw2025120101.Designer.cs
generated
Normal file
136509
APT.Data.Migrations/Migrations/20251201125645_wyw2025120101.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -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");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -72211,6 +72211,8 @@ namespace APT.Data.Migrations.Migrations
|
||||
|
||||
b.HasIndex("EDU_CARD_ID");
|
||||
|
||||
b.HasIndex("NEXT_DEPARTMENT_ID");
|
||||
|
||||
b.HasIndex("ORG_ID");
|
||||
|
||||
b.HasIndex("USER_DEPARTMENT_ID");
|
||||
@ -123399,6 +123401,11 @@ namespace APT.Data.Migrations.Migrations
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.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")
|
||||
.WithMany()
|
||||
.HasForeignKey("ORG_ID")
|
||||
@ -123422,6 +123429,8 @@ namespace APT.Data.Migrations.Migrations
|
||||
|
||||
b.Navigation("Nav_Department");
|
||||
|
||||
b.Navigation("Nav_DepartmentNext");
|
||||
|
||||
b.Navigation("Nav_NewUser");
|
||||
|
||||
b.Navigation("Nav_Org");
|
||||
|
||||
@ -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.Ignore(t => t.PUBLISH);
|
||||
builder.Ignore(t => t.IS_OVERTIME);
|
||||
builder.HasOne(t => t.Nav_DepartmentNext).WithMany().HasForeignKey(t => t.NEXT_DEPARTMENT_ID).OnDelete(DeleteBehavior.Restrict);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
@ -124,6 +124,13 @@ namespace APT.MS.Domain.Entities.SE
|
||||
/// </summary>
|
||||
[Description("下个部门ID")]
|
||||
[FormFieldEdit]
|
||||
[DataFieldForeignKey("Nav_DepartmentNext")]
|
||||
public Guid? NEXT_DEPARTMENT_ID { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 下个部门
|
||||
/// </summary>
|
||||
[Description("下个部门")]
|
||||
public T_FM_DEPARTMENT Nav_DepartmentNext { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@ -39,15 +39,18 @@ namespace APT.PP.WebApi.Controllers.Api.PP
|
||||
{
|
||||
IFMNotificationTaskService NotificationTaskService { get; set; }
|
||||
IFMDepartmentService DepartmentService { get; set; }
|
||||
IFMUserService UserService { get; set; }
|
||||
|
||||
string[] allDeps = { "矿山部", "选矿部", "安全环保管理部", "安全环保科", "选矿一部", "选矿二部", "机电部", "安全环保部", "生产管理部", "安环部", "安全管理部" };
|
||||
string[] safeDeps = { "安全环保管理部", "安全环保科", "安全环保部", "安环部" };
|
||||
string[] workDeps = { "矿山部", "选矿部", "选矿一部", "选矿二部", "机电部", "生产管理部", "安环部" };
|
||||
|
||||
|
||||
public SEController(IFMNotificationTaskService notificationTaskService, IFMDepartmentService departmentService)
|
||||
public SEController(IFMNotificationTaskService notificationTaskService, IFMDepartmentService departmentService, IFMUserService userService)
|
||||
{
|
||||
NotificationTaskService = notificationTaskService;
|
||||
DepartmentService = departmentService;
|
||||
UserService = userService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -219,7 +222,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP
|
||||
}
|
||||
|
||||
//金源培训 9 ~ 15 可以触发一次
|
||||
if (currTime.Hour == 8 || currTime.Hour == 9)
|
||||
if (currTime.Hour == 8)
|
||||
{
|
||||
var orgId = filter.GetOrgId();
|
||||
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>();
|
||||
|
||||
var newUsersId = newUsers.Select(t => t.USER_ID);
|
||||
var newAllUsers = GetEntities<T_FM_USER>(t => newUsersId.Contains(t.ID), new BaseFilter(orgId));
|
||||
var sendUser = GetEntity<T_FM_USER>(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == "安环部安全员" && t.IS_DELETED == false && t.ENABLE_STATUS == 0);
|
||||
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 = UserService.GetSafeApproveUser(orgId);
|
||||
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.ID = Guid.NewGuid();
|
||||
@ -253,6 +257,9 @@ namespace APT.PP.WebApi.Controllers.Api.PP
|
||||
{
|
||||
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)
|
||||
{
|
||||
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.ORG_ID = eduCard.ORG_ID;
|
||||
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);
|
||||
}
|
||||
|
||||
foreach (var item in newUsers)
|
||||
{
|
||||
item.IS_SEND = 1;
|
||||
@ -1403,70 +1464,92 @@ namespace APT.PP.WebApi.Controllers.Api.PP
|
||||
{
|
||||
return true;
|
||||
}
|
||||
T_FM_USER user = null;
|
||||
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);
|
||||
}
|
||||
T_FM_USER user = UserService.GetSafeApproveUser(yearPlan.ORG_ID.Value);//默认安环专员
|
||||
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);
|
||||
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("未找到安环部负责人角色!");
|
||||
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);
|
||||
});
|
||||
|
||||
//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;
|
||||
}
|
||||
|
||||
|
||||
@ -151,6 +151,13 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
DataReturn.code = 500;
|
||||
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"];
|
||||
Guid orgId = model.ORG_ID;
|
||||
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.TEL = model.Phone;
|
||||
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();
|
||||
newUser.ID = Guid.NewGuid();
|
||||
newUser.CODE = model.Phone;
|
||||
@ -179,6 +192,10 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
newUser.PERSON_ID = newPerson.ID;
|
||||
newUser.PASSWORD = "E10ADC3949BA59ABBE56E057F20F883E";
|
||||
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();
|
||||
newTemp.ID = Guid.NewGuid();
|
||||
newTemp.USER_ID = newUser.ID;
|
||||
@ -323,6 +340,8 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
public DateTime InTime { get; set; }
|
||||
public int WORKINGYEAR { 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)
|
||||
|
||||
@ -74,60 +74,86 @@ namespace APT.SC.WebApi.Controllers.Api.SE
|
||||
{
|
||||
listUserCheck = GetEntities<T_FM_USER>(e => listCode.Contains(e.CODE), null, null);
|
||||
}
|
||||
|
||||
#region NEXT_DEPARTMENT_ID 系统按规律给下级组织 自己可修改下级组织
|
||||
|
||||
int index = 0;
|
||||
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)//登录者的层级 小于 新用户的层级
|
||||
index++;
|
||||
if (!item.NEXT_DEPARTMENT_ID.HasValue)
|
||||
{
|
||||
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)
|
||||
{
|
||||
throw new Exception("请填写行:" + (index + 1) + "的岗位!");
|
||||
throw new Exception("请填写行:" + index + "的岗位!");
|
||||
}
|
||||
}
|
||||
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;
|
||||
}
|
||||
item.Nav_DepartmentNext = null;
|
||||
}
|
||||
|
||||
//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 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.否)
|
||||
@ -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);
|
||||
|
||||
|
||||
#region wyw 如果没有继续触发下一级 直接触发 安全生产责任制签订 OG001_SHOWPRINT 如果找不到对应的责任制 就给对应组织安全员(或班长) 触发今日提醒
|
||||
|
||||
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);
|
||||
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)
|
||||
{
|
||||
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_DEPARTMENT_ID = user.USER_DEPARTMENT_ID;
|
||||
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);
|
||||
}
|
||||
var endTime = DateTime.Now.AddDays(10);
|
||||
@ -769,6 +846,48 @@ namespace APT.SC.WebApi.Controllers.Api.SE
|
||||
// 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)
|
||||
//{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user