Commit 8d148275 by ruyun.zhang

考勤接口

parent 6cb7601b
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
using System.IO; using System.IO;
using Newtonsoft.Json; using Newtonsoft.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
using Performance.DtoModels.Response;
namespace Performance.Api.Controllers namespace Performance.Api.Controllers
{ {
...@@ -366,47 +367,83 @@ public IActionResult DownloadStatistics(int allotId) ...@@ -366,47 +367,83 @@ public IActionResult DownloadStatistics(int allotId)
#endregion #endregion
#region 最终考勤结果 #region 最终考勤结果
/// <summary>
/// 科室确认列表
/// </summary>
/// <param name="allotId"></param>
/// <returns></returns>
[HttpPost]
[Route("issue/audit/list")]
public ApiResponse<List<AttendanceAuditList>> AuditList(int allotId)
{
return _attendanceService.AuditList(allotId);
}
/// <summary>
/// 科室确认详情
/// </summary>
/// <param name="allotId"></param>
/// <param name="unitType"></param>
/// <param name="accountingUnit"></param>
/// <returns></returns>
[HttpPost]
[Route("issue/audit/detail")]
public ApiResponse<List<per_attendance_issue>> AuditDetail(int allotId, string unitType, string accountingUnit)
{
return _attendanceService.AuditDetail(allotId, unitType, accountingUnit);
}
/// <summary>
/// 已下发结果展示列表
/// </summary>
/// <param name="allotId"></param>
/// <returns></returns>
[HttpGet("issue/result/list")]
public ApiResponse<List<AttendanceStatistics>> IssAttendanceResult(int allotId)
{
throw new NotImplementedException();
}
/// <summary> /// <summary>
/// 最终考勤结果下发(预确认显示) /// 最终考勤结果下发(预确认显示)
/// </summary> /// </summary>
/// <param name="allotId"></param> /// <param name="allotId"></param>
/// <param name="hospitalId"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("issue/statistics/PreConfirmationDisplay")] [Route("issue/check")]
public ApiResponse<List<PerAttendanceIssueDto>> PreConfirmationDisplay(int allotId, int hospitalId) public ApiResponse<List<PerAttendanceIssueDto>> PreConfirmationDisplay(int allotId)
{ {
var userid = claim.GetUserId(); var userid = claim.GetUserId();
return _attendanceService.PreConfirmationDisplay(allotId, userid, hospitalId); return _attendanceService.PreConfirmationDisplay(allotId, userid);
} }
/// <summary> /// <summary>
/// 最终考勤结果下发 /// 最终考勤结果下发
/// </summary> /// </summary>
/// <param name="allotId"></param> /// <param name="allotId"></param>
/// <param name="hospitalId"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("issue/statistics/{allotId}")] [Route("issue/confirm")]
public ApiResponse IssueStatistics(int allotId, int hospitalId) public ApiResponse IssueStatistics(int allotId)
{ {
var userid = claim.GetUserId(); var userid = claim.GetUserId();
return _attendanceService.IssueStatistics(allotId, userid, hospitalId); return _attendanceService.IssueStatistics(allotId, userid);
} }
/// <summary> /// <summary>
/// 最终考勤结果质疑或确认无误((批量操作) /// 最终考勤结果驳回或确认无误((批量操作)
/// </summary> /// </summary>
/// <param name="allotId"></param> /// <param name="allotId"></param>
/// <param name="issueid"></param> /// <param name="issueid"></param>
/// <param name="choose"></param> /// <param name="state">操作类型 确认 = 2,驳回 = 3,</param>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("issue/statistics/choose")] [Route("issue/choose")]
public ApiResponse ChooseStatistics(int allotId, int[] issueid, bool choose) public ApiResponse ChooseStatistics(int allotId, int[] issueid, Attendance.State state)
{ {
var userid = claim.GetUserId(); var userid = claim.GetUserId();
return _attendanceService.ChooseStatistics(allotId, userid, issueid, choose); return _attendanceService.ChooseStatistics(allotId, userid, issueid, state);
} }
......
...@@ -199,7 +199,7 @@ public ApiResponse OtherAutoComplete([FromBody] SecondEmpRequest request) ...@@ -199,7 +199,7 @@ public ApiResponse OtherAutoComplete([FromBody] SecondEmpRequest request)
public ApiResponse<List<SecondTempResponse>> Temp([FromBody] AllotDeptRequest request) public ApiResponse<List<SecondTempResponse>> Temp([FromBody] AllotDeptRequest request)
{ {
var userId = claimService.GetUserId(); var userId = claimService.GetUserId();
var result = secondAllotService.GetTemp(request.HospitalId, request.Department, userId); var result = secondAllotService.GetTemp(request.HospitalId, request.UnitType, request.Department, userId);
return new ApiResponse<List<SecondTempResponse>>(ResponseType.OK, result); return new ApiResponse<List<SecondTempResponse>>(ResponseType.OK, result);
} }
......
...@@ -413,29 +413,41 @@ ...@@ -413,29 +413,41 @@
<param name="allotId"></param> <param name="allotId"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.AttendanceController.PreConfirmationDisplay(System.Int32,System.Int32)"> <member name="M:Performance.Api.Controllers.AttendanceController.AuditList(System.Int32)">
<summary>
科室确认列表
</summary>
<param name="allotId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.AuditDetail(System.Int32,System.String,System.String)">
<summary>
科室确认详情
</summary>
<param name="allotId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.PreConfirmationDisplay(System.Int32)">
<summary> <summary>
最终考勤结果下发(预确认显示) 最终考勤结果下发(预确认显示)
</summary> </summary>
<param name="allotId"></param> <param name="allotId"></param>
<param name="hospitalId"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.AttendanceController.IssueStatistics(System.Int32,System.Int32)"> <member name="M:Performance.Api.Controllers.AttendanceController.IssueStatistics(System.Int32)">
<summary> <summary>
最终考勤结果下发 最终考勤结果下发
</summary> </summary>
<param name="allotId"></param> <param name="allotId"></param>
<param name="hospitalId"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.AttendanceController.ChooseStatistics(System.Int32,System.Int32[],System.Boolean)"> <member name="M:Performance.Api.Controllers.AttendanceController.ChooseStatistics(System.Int32,System.Int32[],Performance.DtoModels.Attendance.State)">
<summary> <summary>
最终考勤结果质疑或确认无误((批量操作) 最终考勤结果驳回或确认无误((批量操作)
</summary> </summary>
<param name="allotId"></param> <param name="allotId"></param>
<param name="issueid"></param> <param name="issueid"></param>
<param name="choose"></param> <param name="state">操作类型 确认 = 2,驳回 = 3,</param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.BudgetController.Query(Performance.DtoModels.Request.BudgetRequest)"> <member name="M:Performance.Api.Controllers.BudgetController.Query(Performance.DtoModels.Request.BudgetRequest)">
......
...@@ -2898,6 +2898,76 @@ ...@@ -2898,6 +2898,76 @@
科室 科室
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.Response.AttendanceAuditList.Code">
<summary>
编码
</summary>
</member>
<member name="P:Performance.DtoModels.Response.AttendanceAuditList.UnitType">
<summary>
核算组别
</summary>
</member>
<member name="P:Performance.DtoModels.Response.AttendanceAuditList.AccountingUnit">
<summary>
核算单元
</summary>
</member>
<member name="P:Performance.DtoModels.Response.AttendanceAuditList.Count">
<summary>
总下发数
</summary>
</member>
<member name="P:Performance.DtoModels.Response.AttendanceAuditList.ConfirmCount">
<summary>
确认数
</summary>
</member>
<member name="P:Performance.DtoModels.Response.AttendanceAuditList.RejectCount">
<summary>
驳回数
</summary>
</member>
<member name="P:Performance.DtoModels.Response.AttendanceAuditList.OperationTime">
<summary>
操作时间
</summary>
</member>
<member name="P:Performance.DtoModels.Response.AttendanceAuditList.OperationUser">
<summary>
操作人
</summary>
</member>
<member name="P:Performance.DtoModels.Response.AttendanceAuditList.StateRemark">
<summary>
状态描述
</summary>
</member>
<member name="P:Performance.DtoModels.Response.CollectPermission.HeadName">
<summary>
列头名称
</summary>
</member>
<member name="P:Performance.DtoModels.Response.CollectPermission.BanChange">
<summary>
禁止修改
</summary>
</member>
<member name="P:Performance.DtoModels.Response.CollectPermission.Readnoly">
<summary>
0 可读可写 1 只读
</summary>
</member>
<member name="P:Performance.DtoModels.Response.CollectPermission.Visible">
<summary>
是否可见 0 不可见 1 可见
</summary>
</member>
<member name="P:Performance.DtoModels.Response.CollectPermission.AttachLast">
<summary>
是否附带上次绩效 0 不附带 1 附带
</summary>
</member>
<member name="P:Performance.DtoModels.AttendanceStatistics.UnitType"> <member name="P:Performance.DtoModels.AttendanceStatistics.UnitType">
<summary> <summary>
核算组别 核算组别
...@@ -3128,31 +3198,6 @@ ...@@ -3128,31 +3198,6 @@
医院总收支结余 医院总收支结余
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.Response.CollectPermission.HeadName">
<summary>
列头名称
</summary>
</member>
<member name="P:Performance.DtoModels.Response.CollectPermission.BanChange">
<summary>
禁止修改
</summary>
</member>
<member name="P:Performance.DtoModels.Response.CollectPermission.Readnoly">
<summary>
0 可读可写 1 只读
</summary>
</member>
<member name="P:Performance.DtoModels.Response.CollectPermission.Visible">
<summary>
是否可见 0 不可见 1 可见
</summary>
</member>
<member name="P:Performance.DtoModels.Response.CollectPermission.AttachLast">
<summary>
是否附带上次绩效 0 不附带 1 附带
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeResponse.Source"> <member name="P:Performance.DtoModels.ComputeResponse.Source">
<summary> <summary>
来源 来源
......
...@@ -121,7 +121,7 @@ public enum State ...@@ -121,7 +121,7 @@ public enum State
{ {
已下发未确认 = 1, 已下发未确认 = 1,
确认 = 2, 确认 = 2,
质疑 = 3, 驳回 = 3,
} }
public enum OperationType public enum OperationType
{ {
......
...@@ -10,6 +10,8 @@ public class AllotDeptRequest ...@@ -10,6 +10,8 @@ public class AllotDeptRequest
public int HospitalId { get; set; } public int HospitalId { get; set; }
public string? UnitType { get; set; }
public string Department { get; set; } public string Department { get; set; }
} }
} }
using System;
namespace Performance.DtoModels.Response
{
public class AttendanceAuditList
{
/// <summary>
/// 编码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 核算组别
/// </summary>
public string UnitType { get; set; }
/// <summary>
/// 核算单元
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
/// 总下发数
/// </summary>
public int Count { get; set; }
/// <summary>
/// 确认数
/// </summary>
public int ConfirmCount { get; set; }
/// <summary>
/// 驳回数
/// </summary>
public int RejectCount { get; set; }
/// <summary>
/// 操作时间
/// </summary>
public DateTime OperationTime { get; set; }
/// <summary>
/// 操作人
/// </summary>
public string OperationUser { get; set; }
/// <summary>
/// 状态描述
/// </summary>
public string StateRemark { get; set; }
}
}
using AutoMapper; using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using AutoMapper;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Newtonsoft.Json; using Newtonsoft.Json;
using OfficeOpenXml; using OfficeOpenXml;
using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
using OfficeOpenXml.Style; using OfficeOpenXml.Style;
using Performance.DtoModels; using Performance.DtoModels;
using Performance.EntityModels; using Performance.DtoModels.Response;
using Performance.EntityModels.Entity; using Performance.EntityModels.Entity;
using Performance.EntityModels.Other; using Performance.EntityModels.Other;
using Performance.Infrastructure; using Performance.Infrastructure;
using Performance.Repository; using Performance.Repository;
using Performance.Repository.Repository; using Performance.Repository.Repository;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Performance.Services namespace Performance.Services
{ {
...@@ -24,6 +21,7 @@ public class AttendanceService : IAutoInjection ...@@ -24,6 +21,7 @@ public class AttendanceService : IAutoInjection
{ {
private readonly IMapper mapper; private readonly IMapper mapper;
private readonly ILogger<AttendanceService> logger; private readonly ILogger<AttendanceService> logger;
private readonly PerforUserRepository _userRepository;
private readonly PerforPerallotRepository perforPerallotRepository; private readonly PerforPerallotRepository perforPerallotRepository;
private readonly PerforPerAttendanceRepository perforPerAttendanceRepository; private readonly PerforPerAttendanceRepository perforPerAttendanceRepository;
private readonly PerforPerAttendanceIssueRepository perforPerAttendanceIssueRepository; private readonly PerforPerAttendanceIssueRepository perforPerAttendanceIssueRepository;
...@@ -38,6 +36,7 @@ public class AttendanceService : IAutoInjection ...@@ -38,6 +36,7 @@ public class AttendanceService : IAutoInjection
public AttendanceService( public AttendanceService(
IMapper mapper, IMapper mapper,
ILogger<AttendanceService> logger, ILogger<AttendanceService> logger,
PerforUserRepository userRepository,
PerforPerallotRepository perforPerallotRepository, PerforPerallotRepository perforPerallotRepository,
PerforPerAttendanceRepository perforPerAttendanceRepository, PerforPerAttendanceRepository perforPerAttendanceRepository,
PerforPerAttendanceIssueRepository perforPerAttendanceIssueRepository, PerforPerAttendanceIssueRepository perforPerAttendanceIssueRepository,
...@@ -53,6 +52,7 @@ PerforPerAttendanceIssueRecordRepository perforPerAttendanceIssueRecordRepositor ...@@ -53,6 +52,7 @@ PerforPerAttendanceIssueRecordRepository perforPerAttendanceIssueRecordRepositor
{ {
this.mapper = mapper; this.mapper = mapper;
this.logger = logger; this.logger = logger;
_userRepository = userRepository;
this.perforPerallotRepository = perforPerallotRepository; this.perforPerallotRepository = perforPerallotRepository;
this.perforPerAttendanceRepository = perforPerAttendanceRepository; this.perforPerAttendanceRepository = perforPerAttendanceRepository;
this.perforPerAttendanceIssueRepository = perforPerAttendanceIssueRepository; this.perforPerAttendanceIssueRepository = perforPerAttendanceIssueRepository;
...@@ -687,11 +687,13 @@ public ApiResponse<List<AttendanceStatistics>> GetAttendanceStatistics(int allot ...@@ -687,11 +687,13 @@ public ApiResponse<List<AttendanceStatistics>> GetAttendanceStatistics(int allot
//查询全部数据 //查询全部数据
var attendanceData = perforPerallotRepository.GetAttendance(allotId); var attendanceData = perforPerallotRepository.GetAttendance(allotId);
//当角色对应时过滤 //当角色对应时过滤
var roleType = new[] { (int)Role.护士长, (int)Role.科主任, (int)Role.特殊科室, (int)Role.行政科室, }; var userInfo = _userRepository.GetUser(userid);
var user = userService.GetUser(userid); if (userInfo?.User == null) throw new NotImplementedException("当前用户不存在");
var role = roleService.GetUserRole(user.UserID); if (userInfo?.URole == null) throw new NotImplementedException("当前用户暂未分配角色");
if (role.Any(t => roleType.Contains(t.Type.Value)))
attendanceData = attendanceData.Where(w => w.AccountingUnit == user.Department && w.UnitType == user.UnitType).ToList(); var unitTypes = UnitTypeUtil.GetMaps(userInfo?.URole.Type ?? 0);
if (unitTypes?.Any() == true)
attendanceData = attendanceData.Where(w => w.AccountingUnit == userInfo.User.Department && UnitTypeUtil.Is(w.UnitType, unitTypes)).ToList();
List<AttendanceStatistics> statistics = new List<AttendanceStatistics>(); List<AttendanceStatistics> statistics = new List<AttendanceStatistics>();
// 交叉补全科室结束时间 // 交叉补全科室结束时间
...@@ -764,10 +766,46 @@ public ApiResponse<List<AttendanceStatistics>> GetAttendanceStatistics(int allot ...@@ -764,10 +766,46 @@ public ApiResponse<List<AttendanceStatistics>> GetAttendanceStatistics(int allot
return new ApiResponse<List<AttendanceStatistics>>(ResponseType.OK, "", statistics); return new ApiResponse<List<AttendanceStatistics>>(ResponseType.OK, "", statistics);
} }
#region 考勤下发 #region 考勤下发
public ApiResponse<List<PerAttendanceIssueDto>> PreConfirmationDisplay(int allotId, int userid, int hospitalId)
public ApiResponse<List<AttendanceAuditList>> AuditList(int allotId)
{
var issues = perforPerAttendanceIssueRepository.GetEntities(w => w.AllotId == allotId);
var items = issues.GroupBy(w => new { w.Code, w.UnitType, w.AccountingUnit })
.Select(w => new AttendanceAuditList
{
Code = w.Key.Code,
UnitType = w.Key.UnitType,
AccountingUnit = w.Key.AccountingUnit,
Count = w.Count(),
ConfirmCount = w.Count(p => p.State == (int)Attendance.State.确认),
RejectCount = w.Count(p => p.State == (int)Attendance.State.驳回),
}).ToList();
foreach (var item in items)
{
item.StateRemark = "未全部确认";
if (item.RejectCount > 0)
item.StateRemark = "驳回";
else if (item.ConfirmCount == item.Count)
item.StateRemark = "已确认";
}
return new ApiResponse<List<AttendanceAuditList>>(ResponseType.OK, items);
}
public ApiResponse<List<per_attendance_issue>> AuditDetail(int allotId, string unitType, string accountingUnit)
{
var issues = perforPerAttendanceIssueRepository.GetEntities(w => w.AllotId == allotId && w.UnitType == unitType);
issues = issues.Where(w => w.AccountingUnit == accountingUnit).ToList();
return new ApiResponse<List<per_attendance_issue>>(ResponseType.OK, issues);
}
public ApiResponse<List<PerAttendanceIssueDto>> PreConfirmationDisplay(int allotId, int userid)
{ {
var statistics = GetAttendanceStatistics(allotId, userid).Data; var statistics = GetAttendanceStatistics(allotId, userid).Data;
var issues = perforPerAttendanceIssueRepository.GetEntities(w => w.AllotId == allotId && w.HospitalId == hospitalId); var issues = perforPerAttendanceIssueRepository.GetEntities(w => w.AllotId == allotId);
var issuePersonnelNumber = issues.Select(s => s.PersonnelNumber); var issuePersonnelNumber = issues.Select(s => s.PersonnelNumber);
var statisticPersonnelNumber = statistics.Select(s => s.PersonnelNumber); var statisticPersonnelNumber = statistics.Select(s => s.PersonnelNumber);
//新增(查询页面有实表没有的数据) //新增(查询页面有实表没有的数据)
...@@ -824,10 +862,14 @@ public ApiResponse<List<PerAttendanceIssueDto>> PreConfirmationDisplay(int allot ...@@ -824,10 +862,14 @@ public ApiResponse<List<PerAttendanceIssueDto>> PreConfirmationDisplay(int allot
//下发 //下发
public ApiResponse IssueStatistics(int allotId, int userid, int hospitalId) public ApiResponse IssueStatistics(int allotId, int userid)
{ {
var preConfirmationDisplay = PreConfirmationDisplay(allotId, userid, hospitalId).Data; var allot = perforPerallotRepository.GetEntity(w => w.ID == allotId);
var issues = perforPerAttendanceIssueRepository.GetEntities(w => w.AllotId == allotId && w.HospitalId == hospitalId); if (allot == null)
throw new PerformanceException("当前绩效记录不存在");
var preConfirmationDisplay = PreConfirmationDisplay(allotId, userid).Data;
var issues = perforPerAttendanceIssueRepository.GetEntities(w => w.AllotId == allotId);
var cofaccounting = cofaccountingRepository.GetEntities(g => g.AllotId == allotId); var cofaccounting = cofaccountingRepository.GetEntities(g => g.AllotId == allotId);
var insertIssues = preConfirmationDisplay.Where(w => w.OperationType == (int)Attendance.OperationType.新增).ToList(); var insertIssues = preConfirmationDisplay.Where(w => w.OperationType == (int)Attendance.OperationType.新增).ToList();
var updateIssues = preConfirmationDisplay.Where(w => w.OperationType == (int)Attendance.OperationType.修改).ToList(); var updateIssues = preConfirmationDisplay.Where(w => w.OperationType == (int)Attendance.OperationType.修改).ToList();
...@@ -840,7 +882,7 @@ public ApiResponse IssueStatistics(int allotId, int userid, int hospitalId) ...@@ -840,7 +882,7 @@ public ApiResponse IssueStatistics(int allotId, int userid, int hospitalId)
return new per_attendance_issue() return new per_attendance_issue()
{ {
AllotId = allotId, AllotId = allotId,
HospitalId = hospitalId, HospitalId = allot.HospitalId,
Code = code == null ? "" : code.Code, Code = code == null ? "" : code.Code,
UnitType = item.UnitType, UnitType = item.UnitType,
AccountingUnit = item.AccountingUnit, AccountingUnit = item.AccountingUnit,
...@@ -924,12 +966,12 @@ public ApiResponse IssueStatistics(int allotId, int userid, int hospitalId) ...@@ -924,12 +966,12 @@ public ApiResponse IssueStatistics(int allotId, int userid, int hospitalId)
} }
public ApiResponse ChooseStatistics(int allotId, int userid, int[] issueid, bool choose) public ApiResponse ChooseStatistics(int allotId, int userid, int[] issueid, Attendance.State state)
{ {
var issuedates = perforPerAttendanceIssueRepository.GetEntities(w => w.AllotId == allotId && issueid.Contains(w.Id)).ToList(); var issuedates = perforPerAttendanceIssueRepository.GetEntities(w => w.AllotId == allotId && issueid.Contains(w.Id)).ToList();
foreach (var item in issuedates) foreach (var item in issuedates)
{ {
item.State = choose ? (int)Attendance.State.确认 : (int)Attendance.State.质疑; item.State = (int)state;
item.UpdateUser = userid; item.UpdateUser = userid;
item.UpdateTime = DateTime.Now; item.UpdateTime = DateTime.Now;
} }
......
...@@ -892,19 +892,28 @@ public bool DelValue(int secondId, List<ag_fixatitem> oldFixatItems, List<ag_fix ...@@ -892,19 +892,28 @@ public bool DelValue(int secondId, List<ag_fixatitem> oldFixatItems, List<ag_fix
/// </summary> /// </summary>
/// <param name="userId"></param> /// <param name="userId"></param>
/// <returns></returns> /// <returns></returns>
public List<SecondTempResponse> GetTemp(int hospitalid, string department, int userId) public List<SecondTempResponse> GetTemp(int hospitalid, string unitType, string department, int userId)
{ {
var temps = agtempRepository.GetEntities(t => t.IsEnable == 1); var temps = agtempRepository.GetEntities(t => t.IsEnable == 1);
if (temps != null && temps.Any()) if (temps != null && temps.Any())
{ {
var userCenter = userRepository.GetUser(userId); ag_usetemp useTemp = null;
var unitType = UnitTypeUtil.GetMaps(userCenter?.URole.Type ?? 0); if (string.IsNullOrEmpty(unitType))
Expression<Func<ag_usetemp, bool>> exp = t => t.HospitalId == hospitalid && t.Department == department; {
var userCenter = userRepository.GetUser(userId);
var unitTypes = UnitTypeUtil.GetMaps(userCenter?.URole.Type ?? 0);
Expression<Func<ag_usetemp, bool>> exp = t => t.HospitalId == hospitalid && t.Department == department;
if (userCenter?.URole != null && userCenter.URole.Type.HasValue)
exp = exp.And(t => unitTypes.Contains(t.UnitType));
if (userCenter?.URole != null && userCenter.URole.Type.HasValue) useTemp = agusetempRepository.GetEntity(exp);
exp = exp.And(t => unitType.Contains(t.UnitType)); }
else
{
useTemp = agusetempRepository.GetEntity(t => t.HospitalId == hospitalid && t.UnitType == unitType && t.Department == department);
}
var useTemp = agusetempRepository.GetEntity(exp);
var secondTemps = _mapper.Map<List<SecondTempResponse>>(temps); var secondTemps = _mapper.Map<List<SecondTempResponse>>(temps);
if (useTemp != null) if (useTemp != null)
secondTemps.ForEach(t => t.IsSelected = t.Id == useTemp.UseTempId); secondTemps.ForEach(t => t.IsSelected = t.Id == useTemp.UseTempId);
......
...@@ -69,7 +69,7 @@ public UserIdentity Login(LoginRequest request) ...@@ -69,7 +69,7 @@ public UserIdentity Login(LoginRequest request)
{ {
var user = _userRepository.GetEntity(t => t.Login == request.Account && t.IsDelete == 1); var user = _userRepository.GetEntity(t => t.Login == request.Account && t.IsDelete == 1);
if (user == null) if (user == null)
throw new PerformanceException($"用户不存在 UserId:{request.Account}"); throw new PerformanceException($"{request.Account}”用户不存在");
//MD5小写加密 //MD5小写加密
request.Password = PwdHelper.MD5AndSalt(request.Password); request.Password = PwdHelper.MD5AndSalt(request.Password);
......
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