Commit 6769256d by 钟博

科室、人员、用户批量添加

parent 11fcfc84
......@@ -315,7 +315,7 @@ public ApiResponse SelfInfos([FromBody] UserRequest request)
if (request.Role <= 0)
user.IsAgainAdmin = user.Role != null ? roleArray.Contains(user.Role.First().Type ?? 0) : false;
else
user.IsAgainAdmin = user.Role != null ? roleArray.Contains(user.Role.First(t=>t.RoleID==request.Role).Type ?? 0) : false;
user.IsAgainAdmin = user.Role != null ? roleArray.Contains(user.Role.First(t => t.RoleID == request.Role).Type ?? 0) : false;
return new ApiResponse(ResponseType.OK, user);
}
......@@ -379,8 +379,8 @@ public ApiResponse DeleteUser([CustomizeValidator(RuleSet = "Delete"), FromBody]
[HttpPost]
public ApiResponse GetBatchUserStructrue()
{
var result=_userService.GetUserHandsFlat();
return new ApiResponse(ResponseType.OK,result);
var result = _userService.GetUserHandsFlat();
return new ApiResponse(ResponseType.OK, result);
}
......@@ -391,10 +391,19 @@ public ApiResponse GetBatchUserStructrue()
/// <returns></returns>
[Route("BatchSaveUser")]
[HttpPost]
public ApiResponse BatchSaveUser([FromBody]UserCollectData data)
public ApiResponse BatchSaveUser([FromBody] UserCollectData data)
{
_userService.SaveUserHandsFlat(data);
var result = _userService.SaveUserHandsFlat(data);
switch (result)
{
case 1:
return new ApiResponse(ResponseType.OK);
case 2:
return new ApiResponse(ResponseType.Error, "登录名重复");
default:
return new ApiResponse(ResponseType.Error, "核算单元填写错误");
}
}
}
}
\ No newline at end of file
......@@ -187,11 +187,11 @@ public ApiResponse DeptIncomeDetail([CustomizeValidator(RuleSet = "Select"), Fro
/// </summary>
/// <returns></returns>
[HttpPost]
[Route("person/GetBatchPersonStructrue")]
[Route("person/GetBatchPersonStructrue/{hospitalId}")]
public ApiResponse GetBatchPersonStructrue(int hospitalId)
{
var result=personService.GetBatchPersonStructrue(hospitalId);
return new ApiResponse(ResponseType.OK,result);
var result = personService.GetBatchPersonStructrue(hospitalId);
return new ApiResponse(ResponseType.OK, result);
}
/// <summary>
......@@ -199,11 +199,14 @@ public ApiResponse GetBatchPersonStructrue(int hospitalId)
/// </summary>
/// <returns></returns>
[HttpPost]
[Route("person/BathSavePerson")]
public ApiResponse BathSavePerson(int allotId,int hospitalId,SaveCollectData request)
[Route("person/{allotId}/BathSavePerson/{hospitalId}")]
public ApiResponse BathSavePerson(int allotId, int hospitalId, SaveCollectData request)
{
personService.BathSavePerson(allotId, hospitalId, request);
var result = personService.BathSavePerson(allotId, hospitalId, request);
if (result)
return new ApiResponse(ResponseType.OK);
else
return new ApiResponse(ResponseType.Error,"出勤天数或预留比例格式错误");
}
/// <summary>
......@@ -211,7 +214,7 @@ public ApiResponse BathSavePerson(int allotId,int hospitalId,SaveCollectData req
/// </summary>
/// <returns></returns>
[HttpPost]
[Route("dept/GetDeptStructrue")]
[Route("dept/GetDeptStructrue/{hospitalId}")]
public ApiResponse GetDeptStructrue(int hospitalId)
{
var result = personService.GetDepartmentHands(hospitalId);
......@@ -223,8 +226,8 @@ public ApiResponse GetDeptStructrue(int hospitalId)
/// </summary>
/// <returns></returns>
[HttpPost]
[Route("dept/SaveDeptHands")]
public ApiResponse SaveDeptHands(int hospitalId,SaveCollectData request)
[Route("dept/SaveDeptHands/{hospitalId}")]
public ApiResponse SaveDeptHands(int hospitalId, SaveCollectData request)
{
personService.SaveDeptDicHands(hospitalId, request);
return new ApiResponse(ResponseType.OK);
......
using System;
using System.Collections.Generic;
using System.Text;
namespace Performance.DtoModels
{
public class PerEmployeeRquest
{
public string AccountingUnit { get; set; }
public string Department { get; set; }
public string DoctorName { get; set; }
public string PersonnelNumber { get; set; }
public string JobCategory { get; set; }
public string Duty { get; set; }
public string JobTitle { get; set; }
public string UnitType { get; set; }
public int? AttendanceDay { get; set; }
public decimal? ReservedRatio { get; set; }
public string Remark { get; set; }
}
}
......@@ -9,6 +9,8 @@ public class UserHandsResponse
public string RealName { get; set; }
public string Login { get; set; }
public string Password { get; set; }
public string Mobile { get; set; }
public string Mail { get; set; }
public string Department { get; set; }
public string RoleName { get; set; }
public string HosName { get; set; }
......
......@@ -14,6 +14,7 @@ public class SaveCollectData
public class UserCollectData
{
public int HospitalId { get; set; }
public int? CreateUser { get; set; }
public string[] ColHeaders { get; set; }
public string[][] Data { get; set; }
......
......@@ -643,9 +643,15 @@ public bool AgainDelete(CofAgainRequest request)
/// <returns></returns>
public List<cof_accounting> GetAccountingList(AccoungingRequest request)
{
var list = request.Type != 2 ? cofaccountingRepository.GetEntities(t => t.AllotId == request.AllotId)
: cofaccountingRepository.GetEntities(t => t.AllotId == request.AllotId && t.UnitType == request.UnitType);
return list;
switch (request.Type)
{
case 1: //返回accounting列表
case 2: //返回核算单元类型
default:
return cofaccountingRepository.GetEntities(t => t.AllotId == request.AllotId);
case 3: //返回核算单元
return cofaccountingRepository.GetEntities(t => t.AllotId == request.AllotId && t.UnitType == request.UnitType);
}
}
/// <summary>
......
......@@ -724,30 +724,41 @@ public HandsonTable GetUserHandsFlat()
return result;
}
public void SaveUserHandsFlat(UserCollectData request)
public int SaveUserHandsFlat(UserCollectData request)
{
try
{
var dicData = CreateDataRow(request, Users);
var getUsers = _userRepository.GetEntities();
var roles = _roleRepository.GetEntities();
var hospitals = _hospitalRepository.GetEntities();
var depts = _perdeptdicRepository.GetEntities(t => t.HospitalId == request.HospitalId).Select(w=>w.Department).Distinct();
List<sys_user> users = new List<sys_user>();
List<sys_user_role> userRoles = new List<sys_user_role>();
List<sys_user_hospital> userHoss = new List<sys_user_hospital>();
var roleArr = new[] { "护士长", "科主任", "特殊科室", "行政科室" };
foreach (var item in dicData)
{
var json = JsonHelper.Serialize(item);
var data = JsonHelper.Deserialize<UserHandsResponse>(json);
if (!string.IsNullOrEmpty(data.Login) && !string.IsNullOrEmpty(data.RealName))
if (users.Any(c => c.Login == data.Login) || getUsers.Any(c => c.Login == data?.Login)) return 2;
if (roleArr.Contains(data.RoleName) && !depts.Any(t => t == data.Department)) return 3;
if (!string.IsNullOrEmpty(data.Login) && !string.IsNullOrEmpty(data.RealName) && !string.IsNullOrEmpty(data.HosName))
{
var user = new sys_user
{
RealName = data.RealName,
CreateDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd hh:mm:dd")),
CreateUser = request.CreateUser,
Department = data.Department,
Department = data?.Department ?? "",
IsDelete = 1,
Login = data.Login,
Password = data.Password,
States = 1
Password = data?.Password ?? "123456",
States = 1,
Mobile = data?.Mobile ?? "",
Mail = data?.Mail ?? ""
};
users.Add(user);
......@@ -769,6 +780,12 @@ public void SaveUserHandsFlat(UserCollectData request)
var hosJoin = userHoss.Join(users, t => new { }, w => new { }, (t, w) => new sys_user_hospital { HospitalID = t.HospitalID, UserID = w.ID });
_userroleRepository.AddRange(roleJoin.ToArray());
_userhospitalRepository.AddRange(hosJoin.ToArray());
return 1;
}
catch (Exception e)
{
throw e;
}
}
public static Dictionary<string, string> Users { get; } = new Dictionary<string, string>
......@@ -776,6 +793,8 @@ public void SaveUserHandsFlat(UserCollectData request)
{nameof(sys_user.RealName), "姓名"},
{nameof(sys_user.Login), "登录名"},
{nameof(sys_user.Password), "密码"},
{nameof(sys_user.Mobile), "手机号码"},
{nameof(sys_user.Mail), "邮箱"},
{nameof(sys_role.RoleName), "角色"},
{nameof(sys_user.Department), "核算单元"},
{nameof(sys_hospital.HosName), "分配医院"},
......
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