Commit 8e927fdb by 钟博

个人绩效查询用户创建问题修改,方法拆分

parent 8b9aafc9
...@@ -653,7 +653,7 @@ public HandsonTable GetBatchPersonStructrue(int hospitalId) ...@@ -653,7 +653,7 @@ public HandsonTable GetBatchPersonStructrue(int hospitalId)
Visible = 1 Visible = 1
}).ToList(); }).ToList();
var result = new HandsonTable((int)SheetType.Unidentifiable,cols, permissions); var result = new HandsonTable((int)SheetType.Unidentifiable, cols, permissions);
var deptdics = perdeptdicRepository.GetEntities(t => t.HospitalId == hospitalId); var deptdics = perdeptdicRepository.GetEntities(t => t.HospitalId == hospitalId);
var ss = deptdics?.Where(t => !new string[] { UnitType.专家组.ToString() }.Contains(t.UnitType)); var ss = deptdics?.Where(t => !new string[] { UnitType.专家组.ToString() }.Contains(t.UnitType));
if (result.Columns != null && result.Columns.Any()) if (result.Columns != null && result.Columns.Any())
...@@ -729,54 +729,18 @@ public HandsonTable GetDepartmentHands(int hospitalId) ...@@ -729,54 +729,18 @@ public HandsonTable GetDepartmentHands(int hospitalId)
public bool BathSavePerson(int AllotId, int HospitalId, SaveCollectData request) public bool BathSavePerson(int AllotId, int HospitalId, SaveCollectData request)
{ {
var dict = new Dictionary<string, string>(); var dict = new Dictionary<string, string>();
//根据IsOwnerQuery是否等于1来过滤密码列 Person.ForEach(t => dict.Add(t.Item1, t.Item2));
var hospital = perforHospitalRepository.GetEntity(t => t.ID == HospitalId);
if (hospital.IsOwnerQuery == 1)
{
PersonPassword.ForEach(t => dict.Add(t.Item1, t.Item2));
}
else
{
Person.ForEach(t => dict.Add(t.Item1, t.Item2));
}
var dicData = CreateDataRow(request, dict); var dicData = CreateDataRow(request, dict);
List<per_employee> employees = new List<per_employee>(); List<per_employee> employees = new List<per_employee>();
var persons = peremployeeRepository.GetEntities(t => t.HospitalId == HospitalId && t.AllotId == AllotId); var persons = peremployeeRepository.GetEntities(t => t.HospitalId == HospitalId && t.AllotId == AllotId);
//begin 绩效查询角色配置、查询信息
var usercollor = new UserCollectData
{
HospitalId = HospitalId,
CreateUser = request.CreateUser,
ColHeaders = UserService.Users.Values.ToArray(),
};
var role = perforRoleRepository.GetEntity(t => t.RoleName == "绩效查询");
var userRole = perforUserroleRepository.GetEntities(t => t.RoleID == role.ID).Select(t=>t.UserID);
var users = perforUserRepository.GetEntities(t => userRole.Contains(t.ID));
var newUsers = new List<string[]>();
//end
var delPersonsNum = new List<string>(); var delPersonsNum = new List<string>();
foreach (var item in dicData) foreach (var item in dicData)
{ {
var json = JsonHelper.Serialize(item); var json = JsonHelper.Serialize(item);
var data = JsonHelper.Deserialize<per_employee>(json); var data = JsonHelper.Deserialize<per_employee>(json);
//begin 绩效查询角色
if (hospital.IsOwnerQuery == 1)
{
var isNewRole = !string.IsNullOrEmpty(data.PersonnelNumber?.Trim()) && !string.IsNullOrEmpty(item["Password"]);
var isRepeat = users.Any(t => t.RealName == data.DoctorName?.Trim() && t.Login == data.PersonnelNumber?.Trim());
if ( isNewRole && !isRepeat)
{
newUsers.Add(new[] { $"{data.DoctorName?.Trim()}", $"{data.PersonnelNumber?.Trim()}", $"{item["Password"]}", "", "", "绩效查询", $"{hospital.HosName}", $"{data.AccountingUnit?.Trim()}"});
}
}
//end
if (!string.IsNullOrEmpty(item["AttendanceDay"]) && !string.IsNullOrEmpty(item["ReservedRatio"])) if (!string.IsNullOrEmpty(item["AttendanceDay"]) && !string.IsNullOrEmpty(item["ReservedRatio"]))
{ {
decimal attendanceDay = ConvertHelper.To<decimal>(item["AttendanceDay"]), reservedRatio = ConvertHelper.To<decimal>(item["ReservedRatio"]); decimal attendanceDay = ConvertHelper.To<decimal>(item["AttendanceDay"]), reservedRatio = ConvertHelper.To<decimal>(item["ReservedRatio"]);
...@@ -784,7 +748,6 @@ public bool BathSavePerson(int AllotId, int HospitalId, SaveCollectData request) ...@@ -784,7 +748,6 @@ public bool BathSavePerson(int AllotId, int HospitalId, SaveCollectData request)
return false; return false;
} }
if (persons != null) if (persons != null)
if (persons.Any(t => t.PersonnelNumber?.Trim() == data.PersonnelNumber?.Trim())) delPersonsNum.Add(data.PersonnelNumber); if (persons.Any(t => t.PersonnelNumber?.Trim() == data.PersonnelNumber?.Trim())) delPersonsNum.Add(data.PersonnelNumber);
...@@ -801,18 +764,14 @@ public bool BathSavePerson(int AllotId, int HospitalId, SaveCollectData request) ...@@ -801,18 +764,14 @@ public bool BathSavePerson(int AllotId, int HospitalId, SaveCollectData request)
employees.Add(data); employees.Add(data);
} }
} }
if (newUsers.Count > 0)
{
usercollor.Data = newUsers.ToArray();
userService.SaveUserHandsFlat(usercollor);
}
var delPerson = persons?.Where(t => delPersonsNum.Contains(t.PersonnelNumber)); var delPerson = persons?.Where(t => delPersonsNum.Contains(t.PersonnelNumber));
if (delPerson != null && delPerson.Any()) if (delPerson != null && delPerson.Any())
peremployeeRepository.RemoveRange(delPerson.ToArray()); peremployeeRepository.RemoveRange(delPerson.ToArray());
if (employees != null && employees.Any()) if (employees != null && employees.Any())
peremployeeRepository.AddRange(employees.ToArray()); peremployeeRepository.AddRange(employees.ToArray());
//个人绩效查询用户添加
SaveQueryRole(HospitalId,request);
return true; return true;
} }
...@@ -1147,5 +1106,47 @@ public bool ReloadPersonnel(int hospitalId, int allotId) ...@@ -1147,5 +1106,47 @@ public bool ReloadPersonnel(int hospitalId, int allotId)
return true; return true;
} }
/// <summary>
/// 保存绩效查询角色的用户细信息信息
/// </summary>
public void SaveQueryRole(int hospitalId, SaveCollectData request)
{
var dict = new Dictionary<string, string>();
PersonPassword.ForEach(t => dict.Add(t.Item1, t.Item2));
var hospital = perforHospitalRepository.GetEntity(t => t.ID == hospitalId);
var dicData = CreateDataRow(request, dict);
var usercollor = new UserCollectData
{
HospitalId = hospital.ID,
CreateUser = request.CreateUser,
ColHeaders = UserService.Users.Values.ToArray(),
};
var role = perforRoleRepository.GetEntity(t => t.RoleName == "绩效查询");
var userRole = perforUserroleRepository.GetEntities(t => t.RoleID == role.ID)?.Select(t => t.UserID);
var users = perforUserRepository.GetEntities(t => userRole.Contains(t.ID));
var newUsers = new List<string[]>();
foreach (var item in dicData)
{
var json = JsonHelper.Serialize(item);
var data = JsonHelper.Deserialize<per_employee>(json);
if (hospital.IsOwnerQuery == 1)
{
var isNewRole = !string.IsNullOrEmpty(data.PersonnelNumber?.Trim()) && !string.IsNullOrEmpty(item["Password"]);
var isRepeat = users != null && users.Any(t => t.RealName == data.DoctorName?.Trim() && t.Login == data.PersonnelNumber?.Trim());
if (isNewRole && !isRepeat)
{
newUsers.Add(new[] { $"{data.DoctorName?.Trim()}", $"{data.PersonnelNumber?.Trim()}", $"{item["Password"]}", "", "", "绩效查询", $"{hospital.HosName}", $"{data.AccountingUnit?.Trim()}" });
}
}
}
if (newUsers.Count > 0)
{
usercollor.Data = newUsers.ToArray();
userService.SaveUserHandsFlat(usercollor);
}
}
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment