diff --git a/Src/Dlhis.Basic/WorkGrids/Controllers/WorkGridsController.cs b/Src/Dlhis.Basic/WorkGrids/Controllers/WorkGridsController.cs index 74efbb48..fc9d7bcf 100644 --- a/Src/Dlhis.Basic/WorkGrids/Controllers/WorkGridsController.cs +++ b/Src/Dlhis.Basic/WorkGrids/Controllers/WorkGridsController.cs @@ -51,15 +51,9 @@ public class WorkGridsController : ControllerBase /// [HttpPost("save")] [Transactional] - public async Task SaveWorkGridsAsync(List requests) + public async Task SaveWorkGridsAsync(List requests) { - var msg = await _workGridService.SaveAsync(requests); - return new DefaultApiResult - { - Msg = msg, - Data = null, - Code = ApiStateCode.Success - }; + await _workGridService.SaveAsync(requests); } /// @@ -122,15 +116,9 @@ public class WorkGridsController : ControllerBase /// /// [HttpPost("user/assign")] - public async Task AssignUsersToWorkGridAsync(WorkGridUserAssignRequest request) + public async Task AssignUsersToWorkGridAsync(WorkGridUserAssignRequest request) { - var msg = await _workGridService.AssignAsync(request); - return new DefaultApiResult - { - Msg = msg, - Data = null, - Code = ApiStateCode.Success - }; + await _workGridService.AssignAsync(request); } /// @@ -153,7 +141,7 @@ public class WorkGridsController : ControllerBase [Transactional] public async Task SaveScheduleAsync(WorkGridScheduleSaveRequest request) { - await _workGridScheduleService.SaveAsync(request); + await _workGridScheduleService.SaveAsync(request); } /// diff --git a/Src/Dlhis.Basic/WorkGrids/Request/WorkGridSaveRequest.cs b/Src/Dlhis.Basic/WorkGrids/Request/WorkGridSaveRequest.cs index b0437053..d1c7c1d6 100644 --- a/Src/Dlhis.Basic/WorkGrids/Request/WorkGridSaveRequest.cs +++ b/Src/Dlhis.Basic/WorkGrids/Request/WorkGridSaveRequest.cs @@ -19,11 +19,17 @@ public class WorkGridSaveRequest /// 备注 /// public string Remark { get; set; } - - + /// - /// 最大用户数 + /// 排班用户数提醒 /// - [Range(1, int.MaxValue, ErrorMessage = "请设置最大用户数")] - public int MaxUserCount { get; set; } + [Range(1, int.MaxValue, ErrorMessage = "请设置排班用户数提醒")] + public int MaxUserTipCount { get; set; } + + + /// + /// 连续排班数提醒 + /// + [Range(1, int.MaxValue, ErrorMessage = "请设置连续排班数提醒")] + public int MaxConsecutiveTipCount { get; set; } } \ No newline at end of file diff --git a/Src/Dlhis.Basic/WorkGrids/Response/WorkGridPageResponse.cs b/Src/Dlhis.Basic/WorkGrids/Response/WorkGridPageResponse.cs index 864277f9..501e0edd 100644 --- a/Src/Dlhis.Basic/WorkGrids/Response/WorkGridPageResponse.cs +++ b/Src/Dlhis.Basic/WorkGrids/Response/WorkGridPageResponse.cs @@ -37,5 +37,7 @@ public class WorkGridPageResponse /// /// 最大用户数设置 /// - public int MaxUserCount { get; set; } + public int MaxUserTipCount { get; set; } + + public int MaxConsecutiveTipCount { get; set; } } \ No newline at end of file diff --git a/Src/Dlhis.Basic/WorkGrids/Response/WorkGridUserPageResponse.cs b/Src/Dlhis.Basic/WorkGrids/Response/WorkGridUserPageResponse.cs index 62e73a27..d83371b4 100644 --- a/Src/Dlhis.Basic/WorkGrids/Response/WorkGridUserPageResponse.cs +++ b/Src/Dlhis.Basic/WorkGrids/Response/WorkGridUserPageResponse.cs @@ -23,11 +23,16 @@ public class WorkGridUserPageResponse /// 员工数 /// public int UserCount { get; set; } - + /// /// 最大用户数设置 /// - public int MaxUserCount { get; set; } + public int MaxUserTipCount { get; set; } + + /// + /// 请设置连续排班数提醒 + /// + public int MaxConsecutiveTipCount { get; set; } /// /// 员工明细 diff --git a/Src/Dlhis.Basic/WorkGrids/Services/IWorkGridService.cs b/Src/Dlhis.Basic/WorkGrids/Services/IWorkGridService.cs index 9fdd8d35..eb1f2517 100644 --- a/Src/Dlhis.Basic/WorkGrids/Services/IWorkGridService.cs +++ b/Src/Dlhis.Basic/WorkGrids/Services/IWorkGridService.cs @@ -21,7 +21,7 @@ public interface IWorkGridService : IScopeDependency /// /// /// - Task SaveAsync(List requests); + Task SaveAsync(List requests); /// /// /网格分页 @@ -48,7 +48,7 @@ public interface IWorkGridService : IScopeDependency /// /// /// - Task AssignAsync(WorkGridUserAssignRequest request); + Task AssignAsync(WorkGridUserAssignRequest request); /// /// 移除人员 diff --git a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs index aeaa8560..673b4176 100644 --- a/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs +++ b/Src/Dlhis.Basic/WorkGrids/Services/Implements/WorkGridService.cs @@ -74,11 +74,10 @@ public class WorkGridService : IWorkGridService } /// - public async Task SaveAsync(List requests) + public async Task SaveAsync(List requests) { var insertGrids = new List(); var updateGrids = new List(); - var tips = new List(); var leaderUserCodes = requests.Select(x => x.LeaderUserCode).Distinct().ToList(); var existsUserCodes = await _dbContext.Queryable().Where(x => leaderUserCodes.Contains(x.Code)).Select(x => x.Code).ToListAsync(); @@ -107,23 +106,14 @@ public class WorkGridService : IWorkGridService entity.LeaderUserCode = request.LeaderUserCode; await _dbContext.InsertAsync(entity); - insertGrids.Add($"{entity.Name}({entity.LeaderUserCode}),最大用户数:{entity.MaxUserCount}"); + insertGrids.Add($"{entity.Name}({entity.LeaderUserCode}),最大用户数:{entity.MaxUserTipCount}"); } else { var entity = await _dbContext.Queryable().Where(x => x.Id == request.Id).SingleAsync(); entity.ThrowIfNull("网格不存在"); - updateGrids.Add($"{entity.Name}->{request.Name},{entity.MaxUserCount}->{request.MaxUserCount}"); - if (request.MaxUserCount < entity.MaxUserCount) - { - var userCount = await _dbContext.Queryable().Where(x => x.WorkGridCode == entity.Code).CountAsync(); - if (userCount > request.MaxUserCount) - { - tips.Add($"{request.Name}人员{userCount}超出最大人数设置{request.MaxUserCount}"); - } - } - + updateGrids.Add($"{entity.Name}->{request.Name},排版用户数{entity.MaxUserTipCount}->{request.MaxUserTipCount},连续排班天数:{entity.MaxConsecutiveTipCount}->{request.MaxConsecutiveTipCount}"); request.Adapt(entity); await _dbContext.UpdateAsync(entity); @@ -132,9 +122,6 @@ public class WorkGridService : IWorkGridService await _operateLog.LogAsync(OperateLogType.WorkGrid, "创建网格:" + insertGrids.Join("\r\n")); await _operateLog.LogAsync(OperateLogType.WorkGrid, "修改网格:" + updateGrids.Join("\r\n")); - - - return tips.Any() ? tips.Join("\r\n") : null; } /// @@ -158,7 +145,8 @@ public class WorkGridService : IWorkGridService LeaderUserCode = x.LeaderUserCode, UserName = ga.Name, Remark = x.Remark, - MaxUserCount = x.MaxUserCount, + MaxUserTipCount = x.MaxUserTipCount, + MaxConsecutiveTipCount = x.MaxConsecutiveTipCount, UserCount = SqlFunc.Subqueryable().Where(p => p.WorkGridCode == x.Code && p.IsDeleted == false).Count() }) .ToPageListAsync(request); @@ -197,7 +185,8 @@ public class WorkGridService : IWorkGridService Code = x.Code, Name = x.Name, Remark = x.Remark, - MaxUserCount = x.MaxUserCount + MaxUserTipCount = x.MaxUserTipCount, + MaxConsecutiveTipCount = x.MaxConsecutiveTipCount }) .SingleAsync(); @@ -230,7 +219,7 @@ public class WorkGridService : IWorkGridService } /// - public async Task AssignAsync(WorkGridUserAssignRequest request) + public async Task AssignAsync(WorkGridUserAssignRequest request) { var currentFactory = _currentUser.GetStringTenantId(); var role = _currentUser.GetRole(); @@ -264,12 +253,7 @@ public class WorkGridService : IWorkGridService }).ToList(); await _dbContext.InsertAsync(dataToInserts); - var userCount = await _dbContext.Queryable().Where(x => x.WorkGridCode == myWorkGrid.Code).CountAsync(); await _operateLog.LogAsync(OperateLogType.WorkGrid, $"分配人员到网格({myWorkGrid.Name}),人员:{dataToInserts.Select(x => x.UserCode).Join(",")}"); - - return userCount > myWorkGrid.MaxUserCount - ? $"{myWorkGrid.Name}人员{userCount}超出最大人数设置{myWorkGrid.MaxUserCount}" - : null; } /// diff --git a/Src/Dlhis.Basic/appsettings.Development.json b/Src/Dlhis.Basic/appsettings.Development.json index d99df425..0364272d 100644 --- a/Src/Dlhis.Basic/appsettings.Development.json +++ b/Src/Dlhis.Basic/appsettings.Development.json @@ -23,7 +23,7 @@ "Timeout": 30, "SlowSqlTime": 1, "EnableSqlLog": true, - "Generate": false + "Generate": true }, "SwaggerOptions": { "Enable": true, diff --git a/Src/Dlhis.Basic/appsettings.json b/Src/Dlhis.Basic/appsettings.json index 867208fa..c3a6b57f 100644 --- a/Src/Dlhis.Basic/appsettings.json +++ b/Src/Dlhis.Basic/appsettings.json @@ -44,7 +44,7 @@ } }, "RedisOptions": { - "ConnectionString": "192.168.199.30:30115,defaultDatabase=1,password=dlhis123" + "ConnectionString": "192.168.199.124:6379,defaultDatabase=1,password=dlhis123" }, "IdentityServerOptions": { "Authority": "http://identity.oauth.svc.cluster.local", diff --git a/Src/Dlhis.Entity/Basic/Entity/WorkGridEntity.cs b/Src/Dlhis.Entity/Basic/Entity/WorkGridEntity.cs index 82dadd9c..9ca91351 100644 --- a/Src/Dlhis.Entity/Basic/Entity/WorkGridEntity.cs +++ b/Src/Dlhis.Entity/Basic/Entity/WorkGridEntity.cs @@ -36,12 +36,18 @@ public class WorkGridEntity : SugarBaseEntity, ISoftDeleted /// [SugarColumn(IsNullable = true, ColumnDescription = "备注")] public string Remark { get; set; } - + /// - /// 最大用户数 + /// 最大排班用户数提醒 /// - [SugarColumn(IsNullable = false, ColumnDescription = "最大用户数")] - public int MaxUserCount { get; set; } + [SugarColumn(IsNullable = false, ColumnDescription = "最大排班用户数提醒")] + public int MaxUserTipCount { get; set; } + + /// + /// 最大排班连续天数提醒 + /// + [SugarColumn(IsNullable = false, ColumnDescription = "最大排班连续天数提醒")] + public int MaxConsecutiveTipCount { get; set; } public bool IsDeleted { get; set; } } \ No newline at end of file