Commit c9b2aff2 by 钟博

修改个人绩效查询问题

parent 91ced9f1
...@@ -3434,6 +3434,11 @@ ...@@ -3434,6 +3434,11 @@
行政后勤是否显示管理绩效按钮 1 是 2 否 行政后勤是否显示管理绩效按钮 1 是 2 否
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.HospitalResponse.IsOwnerQuery">
<summary>
是否开启个人绩效查询账号创建 1 是 2 否
</summary>
</member>
<member name="P:Performance.DtoModels.IncomeResponse.SheetNameKeyword"> <member name="P:Performance.DtoModels.IncomeResponse.SheetNameKeyword">
<summary> <summary>
关键字匹配 关键字匹配
......
...@@ -37,5 +37,10 @@ public class HospitalResponse ...@@ -37,5 +37,10 @@ public class HospitalResponse
/// 行政后勤是否显示管理绩效按钮 1 是 2 否 /// 行政后勤是否显示管理绩效按钮 1 是 2 否
/// </summary> /// </summary>
public Nullable<int> IsShowManageButton { get; set; } public Nullable<int> IsShowManageButton { get; set; }
/// <summary>
/// 是否开启个人绩效查询账号创建 1 是 2 否
/// </summary>
public Nullable<int> IsOwnerQuery { get; set; }
} }
} }
...@@ -641,12 +641,19 @@ private string[] GetUnitType(int userId) ...@@ -641,12 +641,19 @@ private string[] GetUnitType(int userId)
public HandsonTable GetBatchPersonStructrue(int hospitalId) public HandsonTable GetBatchPersonStructrue(int hospitalId)
{ {
var result = new HandsonTable((int)SheetType.Unidentifiable, PonsePassword.Select(t => t.Item2).ToArray(), PonsePassword.Select(t => new collect_permission var hos = perforHospitalRepository.GetEntity(t => t.ID == hospitalId);
var cols = hos.IsOwnerQuery == 1 ? PersonPassword.Select(t => t.Item2).ToArray() : Person.Select(t => t.Item2).ToArray();
var permissions = hos.IsOwnerQuery == 1 ? PersonPassword.Select(t => new collect_permission
{ {
HeadName = t.Item2, HeadName = t.Item2,
Visible = 1 Visible = 1
}).ToList()); }).ToList() : Person.Select(t => new collect_permission
{
HeadName = t.Item2,
Visible = 1
}).ToList();
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())
...@@ -722,36 +729,53 @@ public HandsonTable GetDepartmentHands(int hospitalId) ...@@ -722,36 +729,53 @@ 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>();
PonsePassword.ForEach(t => dict.Add(t.Item1, t.Item2)); //根据IsOwnerQuery是否等于1来过滤密码列
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);
var hospital = perforHospitalRepository.GetEntity(t => t.ID == HospitalId);
//var newRole = perforRoleRepository.GetEntity(t => t.RoleName == "绩效查询"); //begin 绩效查询角色配置、查询信息
//==绩效查询角色
var usercollor = new UserCollectData var usercollor = new UserCollectData
{ {
HospitalId = HospitalId, HospitalId = HospitalId,
CreateUser = request.CreateUser, CreateUser = request.CreateUser,
ColHeaders = new[] { "姓名", "登录名", "密码", "手机号码", "邮箱", "角色", "分配医院", "核算单元" }, ColHeaders = UserService.Users.Values.ToArray(),
}; };
var role = perforRoleRepository.GetEntity(t => t.RoleName == "绩效查询"); var role = perforRoleRepository.GetEntity(t => t.RoleName == "绩效查询");
var userRole = perforUserroleRepository.GetEntities(t => t.RoleID == role.ID).Select(t=>t.UserID); var userRole = perforUserroleRepository.GetEntities(t => t.RoleID == role.ID).Select(t=>t.UserID);
var users = perforUserRepository.GetEntities(t => userRole.Contains(t.ID)); var users = perforUserRepository.GetEntities(t => userRole.Contains(t.ID));
//==
var newUsers = new List<string[]>(); 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 isNewRole = !string.IsNullOrEmpty(item["PersonnelNumber"]) && !string.IsNullOrEmpty(item["Password"]); var data = JsonHelper.Deserialize<per_employee>(json);
var isRepeat = users.Any(t => t.RealName == item["DoctorName"] && t.Login == item["PersonnelNumber"]);
if (hospital.IsOwnerQuery == 1 && isNewRole && !isRepeat) //begin 绩效查询角色
if (hospital.IsOwnerQuery == 1)
{ {
newUsers.Add(new[] { $"{item["DoctorName"]}", $"{item["PersonnelNumber"]}", $"{item["Password"]}", "", "", "绩效查询", $"{hospital.HosName}", $"{item["AccountingUnit"]}"}); 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"]))
{ {
...@@ -760,8 +784,7 @@ public bool BathSavePerson(int AllotId, int HospitalId, SaveCollectData request) ...@@ -760,8 +784,7 @@ public bool BathSavePerson(int AllotId, int HospitalId, SaveCollectData request)
return false; return false;
} }
var json = JsonHelper.Serialize(item);
var data = JsonHelper.Deserialize<per_employee>(json);
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);
...@@ -948,7 +971,7 @@ private void DeptDicList(int HospitalId, List<per_dept_dic> deptDics, DeptdicHan ...@@ -948,7 +971,7 @@ private void DeptDicList(int HospitalId, List<per_dept_dic> deptDics, DeptdicHan
return result; return result;
} }
public static List<(string, string, Func<PersonePassword, object>)> PonsePassword { get; } = new List<(string, string, Func<PersonePassword, object>)> public static List<(string, string, Func<PersonePassword, object>)> PersonPassword { get; } = new List<(string, string, Func<PersonePassword, object>)>
{ {
(nameof(PersonePassword.AccountingUnit), "核算单元", t => t.AccountingUnit), (nameof(PersonePassword.AccountingUnit), "核算单元", t => t.AccountingUnit),
(nameof(PersonePassword.Department), "科室名称", t => t.Department), (nameof(PersonePassword.Department), "科室名称", t => t.Department),
......
...@@ -747,6 +747,11 @@ public HandsonTable GetUserHandsFlat() ...@@ -747,6 +747,11 @@ public HandsonTable GetUserHandsFlat()
return result; return result;
} }
/// <summary>
/// 批量保存用户
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public string SaveUserHandsFlat(UserCollectData request) public string SaveUserHandsFlat(UserCollectData request)
{ {
try try
......
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