三级安全教育 新增 删除 人员
用户注册添加统一接口
This commit is contained in:
parent
97e840dd17
commit
b9c9827dd9
@ -4,6 +4,8 @@ using APT.BaseData.Domain.Entities.FM;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using APT.Infrastructure.Api;
|
||||
using APT.BaseData.Domain.Entities.OP;
|
||||
|
||||
namespace APT.BaseData.Domain.IServices.FM
|
||||
{
|
||||
/// <summary>
|
||||
@ -111,5 +113,28 @@ namespace APT.BaseData.Domain.IServices.FM
|
||||
/// <param name="ORG_ID">1</param>
|
||||
/// <returns></returns>
|
||||
T_FM_USER GetSafeApproveUser(Guid ORG_ID, int UserType = 1);
|
||||
|
||||
/// <summary>
|
||||
/// 人员注册 方法统一
|
||||
/// 扫码注册提取
|
||||
/// </summary>
|
||||
/// <param name="Name"></param>
|
||||
/// <param name="Phone"></param>
|
||||
/// <param name="Code">如果没有 取 Phone </param>
|
||||
/// <param name="Sex"></param>
|
||||
/// <param name="ID_CARD"></param>
|
||||
/// <param name="InTime"></param>
|
||||
/// <param name="WORKINGYEAR"></param>
|
||||
/// <param name="ORG_ID"></param>
|
||||
/// <param name="DEPARTMENT_ID"></param>
|
||||
/// <param name="POST_ID"></param>
|
||||
/// <param name="TENANT">this.Request.Headers["Tenant"]</param>
|
||||
/// <param name="alluser"></param>
|
||||
/// <param name="newPerson"></param>
|
||||
/// <param name="newUser"></param>
|
||||
/// <param name="listRole">是否默认角色 或者 原有方式</param>
|
||||
/// <param name="Msg"></param>
|
||||
/// <returns>200 正常 500 方法自己做提示</returns>
|
||||
int RegisterUser(string Name, string Phone, string Code, int Sex, string ID_CARD, DateTime InTime, int WORKINGYEAR, Guid ORG_ID, Guid? DEPARTMENT_ID, Guid? POST_ID, string TENANT, ref T_OP_ALLUSER alluser, ref T_FM_PERSON newPerson, ref T_FM_USER newUser, ref List<T_FM_USER_BELONG_ROLE> listRole, ref string Msg);
|
||||
}
|
||||
}
|
||||
|
||||
@ -14,6 +14,7 @@ using APT.Infrastructure.Api;
|
||||
using APT.MS.Domain.Entities.PF;
|
||||
using APT.BaseData.Domain.Dtos;
|
||||
using Castle.Core.Internal;
|
||||
using APT.BaseData.Domain.Entities.OP;
|
||||
|
||||
namespace APT.BaseData.Services.Services.FM
|
||||
{
|
||||
@ -1021,5 +1022,137 @@ namespace APT.BaseData.Services.Services.FM
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 人员注册 方法统一
|
||||
/// 扫码注册提取
|
||||
/// </summary>
|
||||
/// <param name="Name"></param>
|
||||
/// <param name="Phone"></param>
|
||||
/// <param name="Code">如果没有 取 Phone </param>
|
||||
/// <param name="Sex"></param>
|
||||
/// <param name="ID_CARD"></param>
|
||||
/// <param name="InTime"></param>
|
||||
/// <param name="WORKINGYEAR"></param>
|
||||
/// <param name="ORG_ID"></param>
|
||||
/// <param name="DEPARTMENT_ID"></param>
|
||||
/// <param name="POST_ID"></param>
|
||||
/// <param name="TENANT">this.Request.Headers["Tenant"]</param>
|
||||
/// <param name="alluser"></param>
|
||||
/// <param name="newPerson"></param>
|
||||
/// <param name="newUser"></param>
|
||||
/// <param name="listRole">是否默认角色 或者 原有方式</param>
|
||||
/// <param name="Msg"></param>
|
||||
/// <returns>200 正常 500 方法自己做提示</returns>
|
||||
public int RegisterUser(string Name, string Phone, string Code, int Sex, string ID_CARD, DateTime InTime, int WORKINGYEAR, Guid ORG_ID, Guid? DEPARTMENT_ID, Guid? POST_ID, string TENANT, ref T_OP_ALLUSER alluser, ref T_FM_PERSON newPerson, ref T_FM_USER newUser, ref List<T_FM_USER_BELONG_ROLE> listRole, ref string Msg)
|
||||
{
|
||||
if (Name == null || Phone == null)
|
||||
{
|
||||
Msg = "请填写信息!";
|
||||
return 500;
|
||||
}
|
||||
if (ORG_ID == Guid.Empty)
|
||||
{
|
||||
Msg = "获取公司信息失败!";
|
||||
return 500;
|
||||
}
|
||||
if (DEPARTMENT_ID == null || DEPARTMENT_ID.Value == Guid.Empty)
|
||||
{
|
||||
Msg = "请选择入职组织!";
|
||||
return 500;
|
||||
}
|
||||
var isrepeat = GetEntity<T_FM_USER>(t => t.CODE == Phone);
|
||||
if (isrepeat != null)
|
||||
{
|
||||
Msg = "该账户已注册!";
|
||||
return 500;
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(Code))
|
||||
{
|
||||
Code = Phone;
|
||||
}
|
||||
|
||||
newPerson = new T_FM_PERSON();
|
||||
newPerson.ID = Guid.NewGuid();
|
||||
newPerson.CODE = Phone;
|
||||
newPerson.NAME = Name;
|
||||
newPerson.SEX = Sex;
|
||||
newPerson.TEL = Phone;
|
||||
newPerson.ORG_ID = ORG_ID;
|
||||
newPerson.DEPARTMENT_ID = DEPARTMENT_ID;
|
||||
if (POST_ID.HasValue && POST_ID.Value != Guid.Empty)
|
||||
{
|
||||
newPerson.POST_ID = POST_ID;
|
||||
}
|
||||
|
||||
newUser = new T_FM_USER();
|
||||
newUser.ID = Guid.NewGuid();
|
||||
newUser.CODE = Phone;
|
||||
newUser.NAME = Name;
|
||||
newUser.SEX = Sex;
|
||||
newUser.PHONE = Phone;
|
||||
newUser.ID_CARD = ID_CARD;
|
||||
newUser.ENTRYTIME = InTime;
|
||||
newUser.WORKINGYEAR = WORKINGYEAR;
|
||||
newUser.PERSON_ID = newPerson.ID;
|
||||
newUser.PASSWORD = "E10ADC3949BA59ABBE56E057F20F883E";
|
||||
newUser.ORG_ID = ORG_ID;
|
||||
newUser.DEPARTMENT_ID = 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;
|
||||
//newTemp.ORG_ID = ORG_ID;
|
||||
|
||||
var listDefault = GetEntities<T_FM_ROLE>(e => e.ISDEFAULT && !e.IS_DELETED);
|
||||
listRole = new List<T_FM_USER_BELONG_ROLE>();
|
||||
if (listDefault != null && listDefault.Count() > 0)
|
||||
{
|
||||
T_FM_USER_BELONG_ROLE modelRole = null;
|
||||
foreach (var item in listDefault)
|
||||
{
|
||||
modelRole = new T_FM_USER_BELONG_ROLE();
|
||||
modelRole.USER_ID = newUser.ID;
|
||||
modelRole.BELONG_ROLE_ID = item.ID;
|
||||
modelRole.ORG_ID = ORG_ID;
|
||||
listRole.Add(modelRole);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var role1 = this.GetEntity<T_FM_ROLE>(t => t.NAME == "APP用户");
|
||||
var role2 = this.GetEntity<T_FM_ROLE>(t => t.NAME == "作业员");
|
||||
T_FM_USER_BELONG_ROLE belongRole1 = null;
|
||||
T_FM_USER_BELONG_ROLE belongRole2 = null;
|
||||
if (role1 != null)
|
||||
{
|
||||
belongRole1 = new T_FM_USER_BELONG_ROLE();
|
||||
belongRole1.USER_ID = newUser.ID;
|
||||
belongRole1.BELONG_ROLE_ID = role1.ID;
|
||||
belongRole1.ORG_ID = ORG_ID;
|
||||
listRole.Add(belongRole1);
|
||||
}
|
||||
if (role2 != null)
|
||||
{
|
||||
belongRole2 = new T_FM_USER_BELONG_ROLE();
|
||||
belongRole2.USER_ID = newUser.ID;
|
||||
belongRole2.BELONG_ROLE_ID = role2.ID;
|
||||
belongRole2.ORG_ID = ORG_ID;
|
||||
listRole.Add(belongRole2);
|
||||
}
|
||||
}
|
||||
|
||||
alluser = new T_OP_ALLUSER();
|
||||
alluser.CODE = Phone;
|
||||
alluser.TENANT = TENANT;
|
||||
alluser.ORG_ID = ORG_ID;
|
||||
alluser.PHONE = Phone;
|
||||
|
||||
Msg = "";
|
||||
return 200;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -200,24 +200,45 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
newTemp.ID = Guid.NewGuid();
|
||||
newTemp.USER_ID = newUser.ID;
|
||||
newTemp.ORG_ID = orgId;
|
||||
var role1 = this.GetEntity<T_FM_ROLE>(t => t.NAME == "APP用户");
|
||||
var role2 = this.GetEntity<T_FM_ROLE>(t => t.NAME == "作业员");
|
||||
T_FM_USER_BELONG_ROLE belongRole1 = null;
|
||||
T_FM_USER_BELONG_ROLE belongRole2 = null;
|
||||
if (role1 != null)
|
||||
|
||||
var listDefault = GetEntities<T_FM_ROLE>(e => e.ISDEFAULT && !e.IS_DELETED, null, null);
|
||||
List<T_FM_USER_BELONG_ROLE> listRole = new List<T_FM_USER_BELONG_ROLE>();
|
||||
if (listDefault != null && listDefault.Count() > 0)
|
||||
{
|
||||
belongRole1 = new T_FM_USER_BELONG_ROLE();
|
||||
belongRole1.USER_ID = newUser.ID;
|
||||
belongRole1.BELONG_ROLE_ID = role1.ID;
|
||||
belongRole1.ORG_ID = orgId;
|
||||
T_FM_USER_BELONG_ROLE modelRole = null;
|
||||
foreach (var item in listDefault)
|
||||
{
|
||||
modelRole = new T_FM_USER_BELONG_ROLE();
|
||||
modelRole.USER_ID = newUser.ID;
|
||||
modelRole.BELONG_ROLE_ID = item.ID;
|
||||
modelRole.ORG_ID = orgId;
|
||||
listRole.Add(modelRole);
|
||||
}
|
||||
}
|
||||
if (role2 != null)
|
||||
else
|
||||
{
|
||||
belongRole2 = new T_FM_USER_BELONG_ROLE();
|
||||
belongRole2.USER_ID = newUser.ID;
|
||||
belongRole2.BELONG_ROLE_ID = role2.ID;
|
||||
belongRole2.ORG_ID = orgId;
|
||||
var role1 = this.GetEntity<T_FM_ROLE>(t => t.NAME == "APP用户");
|
||||
var role2 = this.GetEntity<T_FM_ROLE>(t => t.NAME == "作业员");
|
||||
T_FM_USER_BELONG_ROLE belongRole1 = null;
|
||||
T_FM_USER_BELONG_ROLE belongRole2 = null;
|
||||
if (role1 != null)
|
||||
{
|
||||
belongRole1 = new T_FM_USER_BELONG_ROLE();
|
||||
belongRole1.USER_ID = newUser.ID;
|
||||
belongRole1.BELONG_ROLE_ID = role1.ID;
|
||||
belongRole1.ORG_ID = orgId;
|
||||
listRole.Add(belongRole1);
|
||||
}
|
||||
if (role2 != null)
|
||||
{
|
||||
belongRole2 = new T_FM_USER_BELONG_ROLE();
|
||||
belongRole2.USER_ID = newUser.ID;
|
||||
belongRole2.BELONG_ROLE_ID = role2.ID;
|
||||
belongRole2.ORG_ID = orgId;
|
||||
listRole.Add(belongRole2);
|
||||
}
|
||||
}
|
||||
|
||||
using (var context = new MigrationContext(ConfigurationManager.ConnectionStrings["default"]))
|
||||
{
|
||||
T_OP_ALLUSER alluser = new T_OP_ALLUSER();
|
||||
@ -234,10 +255,12 @@ namespace APT.SC.WebApi.Controllers.Api.BI
|
||||
AddEntityNoCommit(newUser);
|
||||
if (newPerson != null)
|
||||
AddEntityNoCommit(newPerson);
|
||||
if (belongRole1 != null)
|
||||
AddEntityNoCommit(belongRole1);
|
||||
if (belongRole2 != null)
|
||||
AddEntityNoCommit(belongRole2);
|
||||
//if (belongRole1 != null)
|
||||
// AddEntityNoCommit(belongRole1);
|
||||
//if (belongRole2 != null)
|
||||
// AddEntityNoCommit(belongRole2);
|
||||
if (listRole != null && listRole.Count() > 0)
|
||||
BantchSaveEntityNoCommit(listRole);
|
||||
if (newTemp != null)
|
||||
AddEntityNoCommit(newTemp);
|
||||
});
|
||||
|
||||
@ -41,6 +41,8 @@ namespace APT.SC.WebApi.Controllers.Api.SE
|
||||
{
|
||||
return SafeExecute<bool>(() =>
|
||||
{
|
||||
|
||||
|
||||
List<T_FM_NOTIFICATION_TASK> sendNoticeList = new List<T_FM_NOTIFICATION_TASK>();
|
||||
List<T_SE_NEW_USER_DETAIL_FILE> detailFiles = new List<T_SE_NEW_USER_DETAIL_FILE>();
|
||||
T_FM_NOTIFICATION_TASK finishNotice = null;
|
||||
@ -76,18 +78,22 @@ namespace APT.SC.WebApi.Controllers.Api.SE
|
||||
//var listCode = Nav_NewUserDetail.Where(e => e.CODE.Length > 0).Select(e => e.CODE);
|
||||
//var listUserCheck = GetEntities<T_FM_USER>(e => listCode.Contains(e.CODE), null, null);
|
||||
|
||||
var listCode = Nav_NewUserDetail.Where(e => e.CODE != null).Where(e => e.CODE.Length > 0).Select(e => e.CODE);
|
||||
IEnumerable<T_FM_USER> listUserCheck = null;
|
||||
if (listCode != null && listCode.Count() > 0)
|
||||
{
|
||||
listUserCheck = GetEntities<T_FM_USER>(e => listCode.Contains(e.CODE), null, null);
|
||||
}
|
||||
//var listCode = Nav_NewUserDetail.Where(e => e.CODE != null).Where(e => e.CODE.Length > 0).Select(e => e.CODE);
|
||||
//IEnumerable<T_FM_USER> listUserCheck = null;
|
||||
//if (listCode != null && listCode.Count() > 0)
|
||||
//{
|
||||
// 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)
|
||||
{
|
||||
if (item.IS_DELETED)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
index++;
|
||||
if (!item.NEXT_DEPARTMENT_ID.HasValue || entity.TRAIN_STATUS == SEThreeLevelSafeTrainType.班组级)
|
||||
{
|
||||
@ -108,103 +114,113 @@ namespace APT.SC.WebApi.Controllers.Api.SE
|
||||
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));
|
||||
index = 1;
|
||||
if (entity.IS_CREATETEST == SETrainNeedSuvey.否)
|
||||
if (allDepartment == null || allDepartment.Count() < 1)
|
||||
{
|
||||
//全部都删除了
|
||||
entity.IS_DELETED = true;
|
||||
foreach (var item in Nav_NewUserDetail)
|
||||
{
|
||||
if (string.IsNullOrEmpty(item.SCORE))
|
||||
{
|
||||
throw new Exception("线下考试请填写分数,行【" + index + "】!");
|
||||
}
|
||||
if (!item.EXAMINATION_RESULTS.HasValue)
|
||||
{
|
||||
throw new Exception("线下考试请完善考核结果,行【" + index + "】!");
|
||||
}
|
||||
if (item.Nav_Files == null)
|
||||
{
|
||||
throw new Exception("线下考试请上传附件,行【" + index + "】!");
|
||||
}
|
||||
if (item.Nav_Files != null && item.Nav_Files.Count() > 0)
|
||||
{
|
||||
item.Nav_Files.ForEach(nf =>
|
||||
{
|
||||
nf.USER_DETAIL_ID = item.ID;
|
||||
});
|
||||
detailFiles.AddRange(item.Nav_Files);
|
||||
item.Nav_Files = null;
|
||||
}
|
||||
index++;
|
||||
item.IS_DELETED = true;
|
||||
}
|
||||
foreach (var item in Nav_Teachers)
|
||||
{
|
||||
item.IS_DELETED = true;
|
||||
}
|
||||
foreach (var item in Nav_Files)
|
||||
{
|
||||
item.IS_DELETED = true;
|
||||
}
|
||||
foreach (var item in detailFiles)
|
||||
{
|
||||
item.IS_DELETED = true;
|
||||
}
|
||||
}
|
||||
var listUserID = Nav_NewUserDetail.Where(e => e.USER_ID.HasValue).Select(e => e.USER_ID.Value);
|
||||
var listUser = GetEntities<T_FM_USER>(e => listUserID.Contains(e.ID), null);
|
||||
|
||||
foreach (var item in Nav_NewUserDetail)
|
||||
else
|
||||
{
|
||||
if (!item.USER_ID.HasValue)
|
||||
continue;
|
||||
sendNoticeList.Add(NotificationTaskService.InsertUserNoticeTaskModel("三级安全培训记录-" + entity.TRAIN_STATUS.GetDescription() + "-签到", item.ID, entity.ORG_ID, (Guid)item.USER_ID, listUser.FirstOrDefault(e => e.ID == item.USER_ID.Value)?.NAME, DateTime.Now, DateTime.Now.AddDays(1), 1, "SE062_SHOWPRINT"));
|
||||
var allUser = GetEntities<T_FM_USER>(t => allDepartment.Contains(t.DEPARTMENT_ID) && t.Nav_ApproveRole != null, new BaseFilter(entity.ORG_ID));
|
||||
index = 1;
|
||||
if (entity.IS_CREATETEST == SETrainNeedSuvey.否)
|
||||
{
|
||||
foreach (var item in Nav_NewUserDetail)
|
||||
{
|
||||
if (string.IsNullOrEmpty(item.SCORE))
|
||||
{
|
||||
throw new Exception("线下考试请填写分数,行【" + index + "】!");
|
||||
}
|
||||
if (!item.EXAMINATION_RESULTS.HasValue)
|
||||
{
|
||||
throw new Exception("线下考试请完善考核结果,行【" + index + "】!");
|
||||
}
|
||||
if (item.Nav_Files == null)
|
||||
{
|
||||
throw new Exception("线下考试请上传附件,行【" + index + "】!");
|
||||
}
|
||||
if (item.Nav_Files != null && item.Nav_Files.Count() > 0)
|
||||
{
|
||||
item.Nav_Files.ForEach(nf =>
|
||||
{
|
||||
nf.USER_DETAIL_ID = item.ID;
|
||||
});
|
||||
detailFiles.AddRange(item.Nav_Files);
|
||||
item.Nav_Files = null;
|
||||
}
|
||||
index++;
|
||||
}
|
||||
}
|
||||
var listUserID = Nav_NewUserDetail.Where(e => e.USER_ID.HasValue).Select(e => e.USER_ID.Value);
|
||||
var listUser = GetEntities<T_FM_USER>(e => listUserID.Contains(e.ID), null);
|
||||
|
||||
foreach (var item in Nav_NewUserDetail)
|
||||
{
|
||||
if (!item.USER_ID.HasValue || item.IS_DELETED)
|
||||
continue;
|
||||
sendNoticeList.Add(NotificationTaskService.InsertUserNoticeTaskModel("三级安全培训记录-" + entity.TRAIN_STATUS.GetDescription() + "-签到", item.ID, entity.ORG_ID, (Guid)item.USER_ID, listUser.FirstOrDefault(e => e.ID == item.USER_ID.Value)?.NAME, DateTime.Now, DateTime.Now.AddDays(1), 1, "SE062_SHOWPRINT"));
|
||||
}
|
||||
}
|
||||
finishNotice = NotificationTaskService.GetTaskFinishModel(entity.TaskID, "SE061_SHOWPRINT");
|
||||
}
|
||||
|
||||
var deleteD = Nav_NewUserDetail.Where(e => e.IS_DELETED && e.USER_ID.HasValue);
|
||||
List<T_FM_USER> listUserDel = null;
|
||||
List<T_FM_PERSON> listPersonDel = null;
|
||||
List<T_FM_USER_BELONG_ROLE> listRoleDel = null;
|
||||
IEnumerable<T_SE_USER_TEMP> listUT = null;
|
||||
|
||||
if (deleteD != null && deleteD.Count() > 0)
|
||||
{
|
||||
var listUserIDDel = deleteD.Select(e => e.USER_ID.Value);
|
||||
var listUsers = GetEntities<T_FM_USER>(e => listUserIDDel.Contains(e.ID), null, "Nav_Person", "Nav_BelongRoles");
|
||||
listUT = GetEntities<T_SE_USER_TEMP>(e => e.USER_ID.HasValue && listUserIDDel.Contains(e.USER_ID.Value), null, null);
|
||||
listUserDel = new List<T_FM_USER>();
|
||||
listPersonDel = new List<T_FM_PERSON>();
|
||||
listRoleDel = new List<T_FM_USER_BELONG_ROLE>();
|
||||
|
||||
foreach (var item in listUsers)
|
||||
{
|
||||
item.Nav_Person.IS_DELETED = true;
|
||||
item.Nav_Person.MODIFY_TIME = DateTime.Now;
|
||||
listPersonDel.Add(item.Nav_Person);
|
||||
if (item.Nav_BelongRoles != null && item.Nav_BelongRoles.Any())
|
||||
{
|
||||
foreach (var itemr in item.Nav_BelongRoles)
|
||||
{
|
||||
itemr.IS_DELETED = true;
|
||||
itemr.MODIFY_TIME = DateTime.Now;
|
||||
}
|
||||
listRoleDel.AddRange(item.Nav_BelongRoles);
|
||||
}
|
||||
item.Nav_BelongRoles = null;
|
||||
item.Nav_Person = null;
|
||||
item.IS_DELETED = true;
|
||||
item.MODIFY_TIME = DateTime.Now;
|
||||
listUserDel.Add(item);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
UnifiedCommit(() =>
|
||||
{
|
||||
UpdateEntityNoCommit(entity);
|
||||
@ -213,15 +229,38 @@ namespace APT.SC.WebApi.Controllers.Api.SE
|
||||
if (finishNotice != null)
|
||||
UpdateEntityNoCommit(finishNotice);
|
||||
if (Nav_NewUserDetail != null && Nav_NewUserDetail.Any())
|
||||
BantchSaveEntityNoCommit(Nav_NewUserDetail);
|
||||
BantchUpdateEntity_noneBase(Nav_NewUserDetail);//BantchSaveEntityNoCommit(Nav_NewUserDetail);
|
||||
if (Nav_Files != null && Nav_Files.Any())
|
||||
BantchSaveEntityNoCommit(Nav_Files);
|
||||
BantchUpdateEntity_noneBase(Nav_Files);//BantchSaveEntityNoCommit
|
||||
if (detailFiles.Any())
|
||||
BantchSaveEntityNoCommit(detailFiles);
|
||||
BantchUpdateEntity_noneBase(detailFiles);//BantchSaveEntityNoCommit
|
||||
if (Nav_Teachers.Any())
|
||||
BantchSaveEntityNoCommit(Nav_Teachers);
|
||||
BantchUpdateEntity_noneBase(Nav_Teachers);//BantchSaveEntityNoCommit
|
||||
if (listUserDel != null && listUserDel.Any())
|
||||
BantchUpdateEntity_noneBase(listUserDel);
|
||||
if (listPersonDel != null && listPersonDel.Any())
|
||||
BantchUpdateEntity_noneBase(listPersonDel);
|
||||
if (listRoleDel != null && listRoleDel.Any())
|
||||
BantchUpdateEntity_noneBase(listRoleDel);
|
||||
if (listUT != null && listUT.Any())
|
||||
BantchUpdateEntity_noneBase(listUT);
|
||||
});
|
||||
|
||||
if (listUserDel != null && listUserDel.Count() > 0)
|
||||
{
|
||||
var listCode = listUserDel.Select(e => e.CODE);
|
||||
using (var context = new MigrationContext())
|
||||
{
|
||||
var listDel = context.GetEntities<T_OP_ALLUSER>(e => listCode.Contains(e.CODE) && e.ORG_ID == entity.ORG_ID, null, null);
|
||||
foreach (var item in listDel)
|
||||
{
|
||||
item.IS_DELETED = true;
|
||||
}
|
||||
context.DeleteEntities(listDel);
|
||||
context.SaveChanges();
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
});
|
||||
}
|
||||
@ -1247,5 +1286,139 @@ namespace APT.SC.WebApi.Controllers.Api.SE
|
||||
return GetEntities<T_SE_NEW_USER_DETAIL_PAPER>(null, filter).Select(it => it.Nav_User).Distinct(it => it.ID).ToList();
|
||||
});
|
||||
}
|
||||
|
||||
#region 新增人员
|
||||
|
||||
/// <summary>
|
||||
/// 注册用户
|
||||
/// </summary>
|
||||
/// <param name="model">分页过滤实体</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost, Route("RegisterUser")]
|
||||
public JsonActionResult<T_SE_NEW_USER_DETAIL> RegisterUser([FromBody] RegisterUserModel model)
|
||||
{
|
||||
return SafeExecute(() =>
|
||||
{
|
||||
if (model.EDU_CARD_ID == Guid.Empty)
|
||||
{
|
||||
throw new Exception("传参有误,获取三级安全教育表单ID失败,请刷新后再试!");
|
||||
}
|
||||
T_FM_PERSON newPerson = null;
|
||||
T_FM_USER newUser = null;
|
||||
List<T_FM_USER_BELONG_ROLE> listRole = null;
|
||||
T_OP_ALLUSER alluser = null;
|
||||
string Msg = String.Empty;
|
||||
int code = UserService.RegisterUser(model.Name, model.Phone, model.Code, model.Sex, model.ID_CARD, model.InTime, model.WORKINGYEAR, model.ORG_ID, model.DEPARTMENT_ID, model.POST_ID, this.Request.Headers["Tenant"], ref alluser, ref newPerson, ref newUser, ref listRole, ref Msg);
|
||||
if (code != 200)
|
||||
{
|
||||
throw new Exception(Msg);
|
||||
}
|
||||
|
||||
T_SE_USER_TEMP newTemp = new T_SE_USER_TEMP();
|
||||
newTemp.ID = Guid.NewGuid();
|
||||
newTemp.USER_ID = newUser.ID;
|
||||
newTemp.ORG_ID = model.ORG_ID;
|
||||
|
||||
T_SE_NEW_USER_DETAIL userDetail = new T_SE_NEW_USER_DETAIL();
|
||||
userDetail.ID = Guid.NewGuid();
|
||||
userDetail.EDU_CARD_ID = model.EDU_CARD_ID;
|
||||
userDetail.USER_ID = newUser.ID;
|
||||
userDetail.ID_CARD_NUMBER = newUser.ID_CARD;
|
||||
userDetail.STATUS = 0;
|
||||
userDetail.ORG_ID = newUser.ORG_ID;
|
||||
userDetail.IN_TIME = newUser.ENTRYTIME;
|
||||
userDetail.USER_DEPARTMENT_ID = newUser.DEPARTMENT_ID;
|
||||
userDetail.USER_POST_ID = model.POST_ID;
|
||||
|
||||
#region NEXT_DEPARTMENT_ID //默认到对应部门 给矿山 选矿 否则给 安环
|
||||
|
||||
if (newUser.DEPARTMENT_ID.HasValue)
|
||||
{
|
||||
var listDeps = GetEntities<T_FM_DEPARTMENT>(e => e.ENABLE_STATUS == 0 && !e.IS_DELETED, null);
|
||||
var modelDep = listDeps.FirstOrDefault(e => e.ID == newUser.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
|
||||
|
||||
using (var context = new MigrationContext())
|
||||
{
|
||||
context.AddEntity(alluser);
|
||||
context.SaveChanges();
|
||||
}
|
||||
|
||||
UnifiedCommit(() =>
|
||||
{
|
||||
if (newUser != null)
|
||||
AddEntityNoCommit(newUser);
|
||||
if (newPerson != null)
|
||||
AddEntityNoCommit(newPerson);
|
||||
if (userDetail != null)
|
||||
AddEntityNoCommit(userDetail);
|
||||
if (listRole != null && listRole.Count() > 0)
|
||||
BantchSaveEntityNoCommit(listRole);
|
||||
if (newTemp != null)
|
||||
AddEntityNoCommit(newTemp);
|
||||
});
|
||||
|
||||
return GetEntity<T_SE_NEW_USER_DETAIL>(e => e.ID == userDetail.ID, "Nav_Department", "Nav_Post", "Nav_User", "Nav_DepartmentNext");
|
||||
});
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
public class RegisterUserModel
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public int Sex { get; set; }
|
||||
public string Phone { get; set; }
|
||||
/// <summary>
|
||||
/// 没值取 Phone
|
||||
/// </summary>
|
||||
public string Code { get; set; }
|
||||
public string ID_CARD { get; set; }
|
||||
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; }
|
||||
public Guid EDU_CARD_ID { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user