diff --git a/Src/Dlhis.Basic/Device/Response/DevicePageResponse.cs b/Src/Dlhis.Basic/Device/Response/DevicePageResponse.cs
index 497d66f8..1ed12ab1 100644
--- a/Src/Dlhis.Basic/Device/Response/DevicePageResponse.cs
+++ b/Src/Dlhis.Basic/Device/Response/DevicePageResponse.cs
@@ -115,16 +115,6 @@ public class DevicePageResponse
}
}
- ///
- /// 消费总额
- ///
- public decimal Amount { get; set; }
-
- ///
- /// 消费人次
- ///
- public int UserCount { get; set; }
-
///
/// 营业点code
///
diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DeviceService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DeviceService.cs
index 567b0d76..b8c4cbdc 100644
--- a/Src/Dlhis.Basic/Device/Services/Implements/DeviceService.cs
+++ b/Src/Dlhis.Basic/Device/Services/Implements/DeviceService.cs
@@ -54,30 +54,6 @@ public class DeviceService : IDeviceService
}, true)
.ToPageListAsync(request);
- var deviceUniqueNos = page.Data.Select(x => x.UniqueNo).ToList();
-
- var balanceInfos = await _dbContext.Queryable().Where(x => x.Type == BalanceRecordTypeEnumType.Out)
- .Where(x=>x.Status == BalanceRecordStatusEnumType.Valid)
- .Where(x => deviceUniqueNos.Contains(x.DeviceUniqueNo))
- .Select(x => new
- {
- x.DeviceUniqueNo,
- Amount = SqlFunc.AggregateSum(x.Amount),
- UserCount = SqlFunc.AggregateDistinctCount(x.UserCode)
- })
- .GroupBy(x => x.DeviceUniqueNo)
- .ToListAsync();
-
- page.Data.ForEach(device =>
- {
- var info = balanceInfos.FirstOrDefault(x => x.DeviceUniqueNo == device.UniqueNo);
- if (info != null)
- {
- device.Amount = info.Amount;
- device.UserCount = info.UserCount;
- }
- });
-
return page;
}
@@ -180,7 +156,7 @@ public class DeviceService : IDeviceService
private async Task GenerateUploadRecordLogForBeginTimeAsync(DeviceEntity entity)
{
- if (entity.Type == DeviceTypeEnumType.Door || entity.Type == DeviceTypeEnumType.Attendance)
+ if (entity.Type is DeviceTypeEnumType.Door or DeviceTypeEnumType.Attendance)
{
var exists = await _dbContext.Queryable()
.Where(x => x.DeviceUniqueNo == entity.UniqueNo)
@@ -244,10 +220,6 @@ public class DeviceService : IDeviceService
{
throw new UserFriendlyException("连接信息参数格式不正确");
}
- catch (Exception)
- {
- throw;
- }
}
diff --git a/Src/Dlhis.Basic/Organization/Controllers/GainfoCardsController.cs b/Src/Dlhis.Basic/Organization/Controllers/GainfoCardsController.cs
index 3e04aa6d..55e21c4d 100644
--- a/Src/Dlhis.Basic/Organization/Controllers/GainfoCardsController.cs
+++ b/Src/Dlhis.Basic/Organization/Controllers/GainfoCardsController.cs
@@ -29,7 +29,7 @@ public class GainfoCardsController : ControllerBase
///
[HttpPost("change")]
[Transactional]
- public async Task ChangeCardAsync(ChangeCardRequest request)
+ public async Task ChangeCardAsync(GainfoChangeCardRequest request)
{
await _gainfoCardService.ChangeCardAsync(request);
}
diff --git a/Src/Dlhis.Basic/Organization/Request/ChangeCardRequest.cs b/Src/Dlhis.Basic/Organization/Request/ChangeCardRequest.cs
deleted file mode 100644
index d470812f..00000000
--- a/Src/Dlhis.Basic/Organization/Request/ChangeCardRequest.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using System.ComponentModel.DataAnnotations;
-
-namespace Dlhis.Basic.Organization.Request;
-
-public class ChangeCardRequest
-{
- [Required]
- public string UserNo { get; set; }
-
- [Required]
- public string CardNo { get; set; }
-
- [Required]
- public string Reason { get; set; }
-
- public string Remark { get; set; }
-}
diff --git a/Src/Dlhis.Basic/Organization/Request/GainfoChangeCardRequest.cs b/Src/Dlhis.Basic/Organization/Request/GainfoChangeCardRequest.cs
new file mode 100644
index 00000000..f8951ca0
--- /dev/null
+++ b/Src/Dlhis.Basic/Organization/Request/GainfoChangeCardRequest.cs
@@ -0,0 +1,29 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace Dlhis.Basic.Organization.Request;
+
+public class GainfoChangeCardRequest
+{
+ ///
+ /// 档案号
+ ///
+ [Required(ErrorMessage = "档案号不能为空")]
+ public string UserNo { get; set; }
+
+ ///
+ /// 卡号
+ ///
+ [Required(ErrorMessage = "卡号不能为空")]
+ public string CardNo { get; set; }
+
+ ///
+ /// 事由
+ ///
+ [Required(ErrorMessage = "事由不能为空")]
+ public string Reason { get; set; }
+
+ ///
+ /// 备注
+ ///
+ public string Remark { get; set; }
+}
\ No newline at end of file
diff --git a/Src/Dlhis.Basic/Organization/Services/IGainfoCardService.cs b/Src/Dlhis.Basic/Organization/Services/IGainfoCardService.cs
index 8bbce4c7..fff343ca 100644
--- a/Src/Dlhis.Basic/Organization/Services/IGainfoCardService.cs
+++ b/Src/Dlhis.Basic/Organization/Services/IGainfoCardService.cs
@@ -5,7 +5,17 @@ namespace Dlhis.Basic.Organization.Services;
public interface IGainfoCardService
{
- Task ChangeCardAsync(ChangeCardRequest request);
+ ///
+ /// 换卡
+ ///
+ ///
+ ///
+ Task ChangeCardAsync(GainfoChangeCardRequest request);
+ ///
+ /// 获取换卡记录
+ ///
+ ///
+ ///
Task> GetChangeRecordsAsync(string userNo);
-}
+}
\ No newline at end of file
diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoCardService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoCardService.cs
index 8a826f5c..4524a1ae 100644
--- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoCardService.cs
+++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoCardService.cs
@@ -3,6 +3,7 @@ using Dlhis.Basic.Organization.Response;
using Dlhis.Entity.Basic.Entity;
using Kurisu.AspNetCore.DataAccess.SqlSugar.Services;
using Kurisu.AspNetCore.Utils.Extensions;
+using Mapster;
namespace Dlhis.Basic.Organization.Services.Implements;
@@ -17,7 +18,7 @@ public class GainfoCardService : IGainfoCardService
_gainfoStore = gainfoStore;
}
- public async Task ChangeCardAsync(ChangeCardRequest request)
+ public async Task ChangeCardAsync(GainfoChangeCardRequest request)
{
var gainfo = await _gainfoStore.Queryable().Where(x => x.No == request.UserNo).FirstAsync();
gainfo.ThrowIfNull("档案不存在");
@@ -25,30 +26,24 @@ public class GainfoCardService : IGainfoCardService
gainfo.CardNo = request.CardNo;
await _gainfoStore.UpdateAsync(gainfo);
- await _dbContext.InsertAsync(new GainfoCardRecordEntity
- {
- UserNo = request.UserNo,
- CardNo = request.CardNo,
- Reason = request.Reason,
- Remark = request.Remark,
- });
+ await _dbContext.InsertAsync(request.Adapt());
}
public async Task> GetChangeRecordsAsync(string userNo)
{
return await _dbContext.Queryable()
- .LeftJoin((x, ga) => x.UserNo == ga.No)
- .Where(x => x.UserNo == userNo)
- .Select((x, ga) => new ChangeCardResponse
- {
- UserNo = x.UserNo,
- UserCode = ga.Code,
- UserName = ga.Name,
- CardNo = x.CardNo,
- Reason = x.Reason,
- Remark = x.Remark,
- CreateTime = x.CreateTime,
- })
- .ToListAsync();
+ .LeftJoin((x, ga) => x.UserNo == ga.No)
+ .Where(x => x.UserNo == userNo)
+ .Select((x, ga) => new ChangeCardResponse
+ {
+ UserNo = x.UserNo,
+ UserCode = ga.Code,
+ UserName = ga.Name,
+ CardNo = x.CardNo,
+ Reason = x.Reason,
+ Remark = x.Remark,
+ CreateTime = x.CreateTime
+ })
+ .ToListAsync();
}
-}
+}
\ No newline at end of file
diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs
index 37724450..52ec42c9 100644
--- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs
+++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs
@@ -4,8 +4,6 @@ using Dlhis.Basic.Organization.Request;
using Dlhis.Basic.Organization.Response;
using Dlhis.Basic.Places.Response;
using Dlhis.Entity.Basic.Entity;
-using Dlhis.Entity.Canteen.Entities;
-using Dlhis.Entity.Canteen.Enums;
using Dlhis.Entity.Device.Entities;
using Dlhis.Entity.Device.Enums;
using Dlhis.Entity.Sys.Enums;
@@ -13,7 +11,6 @@ using Kurisu.AspNetCore.DataAccess.Dto;
using Kurisu.AspNetCore.DataAccess.SqlSugar.Extensions;
using Kurisu.AspNetCore.DataAccess.SqlSugar.Services;
using Kurisu.AspNetCore.Utils.Extensions;
-using SqlSugar;
namespace Dlhis.Basic.Organization.Services.Implements;
@@ -80,19 +77,15 @@ public class GainfoPermissionService : IGainfoPermissionService
var groups = RecursionGetNext(currentGroup, deviceGroups).ToList();
- //用户所有deviceCode权限
- var deviceCodes = await _devicePermissionService.GetAssignDeviceCodesAsync(userNo);
-
- var lst = new List();
- foreach (var groupcode in groups)
+ return groups.Select(groupCode =>
{
- var nos = await _dbContext.Queryable()
+ var nos = _dbContext.Queryable()
.LeftJoin((x, d) => x.DeviceCode == d.Code)
- .Where(x => groupcode == x.GroupCode)
+ .Where(x => groupCode == x.GroupCode)
.Select((x, d) => d.UniqueNo)
- .ToListAsync();
+ .ToList();
- var page = await _dbContext.Queryable()
+ var page = _dbContext.Queryable()
.LeftJoin((d, dt) => d.TemplateCode == dt.Code)
.LeftJoin((d, dt, dr) => d.UniqueNo == dr.DeviceUniqueNo)
.LeftJoin((d, dt, dr, bp) => dr.BusinessPlaceCode == bp.Code)
@@ -114,39 +107,14 @@ public class GainfoPermissionService : IGainfoPermissionService
ConnectionInfo = d.ConnectionInfo,
Enable = d.Enable,
})
- .ToListAsync();
- var deviceUniqueNos = page.Select(x => x.UniqueNo).ToList();
+ .ToList();
- var balanceInfos = await _dbContext.Queryable().Where(x => x.Type == BalanceRecordTypeEnumType.Out)
- .Where(x => deviceUniqueNos.Contains(x.DeviceUniqueNo))
- .Select(x => new
- {
- x.DeviceUniqueNo,
- Amount = SqlFunc.AggregateSum(x.Amount),
- UserCount = SqlFunc.AggregateDistinctCount(x.UserCode)
- })
- .GroupBy(x => x.DeviceUniqueNo)
- .ToListAsync();
-
- page.ForEach(device =>
+ return new GetDevicesUnderGroupByUserNoResponse
{
- var info = balanceInfos.FirstOrDefault(x => x.DeviceUniqueNo == device.UniqueNo);
- if (info != null)
- {
- device.Amount = info.Amount;
- device.UserCount = info.UserCount;
- }
- });
-
- var res = new GetDevicesUnderGroupByUserNoResponse
- {
- GroupCode = groupcode,
+ GroupCode = groupCode,
Devices = page
};
- lst.Add(res);
- }
-
- return lst;
+ }).ToList();
}
public async Task> GetAssignDeviceCodesAsync(DeviceAssRequest request)
@@ -170,29 +138,6 @@ public class GainfoPermissionService : IGainfoPermissionService
}, true)
.ToPageListAsync(request);
- var deviceUniqueNos = page.Data.Select(x => x.UniqueNo).ToList();
-
- var balanceInfos = await _dbContext.Queryable().Where(x => x.Type == BalanceRecordTypeEnumType.Out)
- .Where(x => deviceUniqueNos.Contains(x.DeviceUniqueNo))
- .Select(x => new
- {
- x.DeviceUniqueNo,
- Amount = SqlFunc.AggregateSum(x.Amount),
- UserCount = SqlFunc.AggregateDistinctCount(x.UserCode)
- })
- .GroupBy(x => x.DeviceUniqueNo)
- .ToListAsync();
-
- page.Data.ForEach(device =>
- {
- var info = balanceInfos.FirstOrDefault(x => x.DeviceUniqueNo == device.UniqueNo);
- if (info != null)
- {
- device.Amount = info.Amount;
- device.UserCount = info.UserCount;
- }
- });
-
return page;
}
diff --git a/Src/Dlhis.Sys/Identity/Services/Implements/RoleService.cs b/Src/Dlhis.Sys/Identity/Services/Implements/RoleService.cs
index c4af0913..a0cf79e9 100644
--- a/Src/Dlhis.Sys/Identity/Services/Implements/RoleService.cs
+++ b/Src/Dlhis.Sys/Identity/Services/Implements/RoleService.cs
@@ -88,7 +88,7 @@ public class RoleService : IRoleService
if (request.RoleId.HasValue)
{
var existsRole = await _dbContext.Queryable().Where(x => x.Id == request.RoleId).AnyAsync();
- existsUser.ThrowIfFalse("分配的角色不存在");
+ existsRole.ThrowIfFalse("分配的角色不存在");
if (userRole == null)
{