diff --git a/Src/Dlhis.Basic/BusinessPlace/Controllers/BusinessPlacesController.cs b/Src/Dlhis.Basic/BusinessPlace/Controllers/BusinessPlacesController.cs index a7ef7272..b0c93d1e 100644 --- a/Src/Dlhis.Basic/BusinessPlace/Controllers/BusinessPlacesController.cs +++ b/Src/Dlhis.Basic/BusinessPlace/Controllers/BusinessPlacesController.cs @@ -69,7 +69,7 @@ public class BusinessPlacesController : ControllerBase /// /// [HttpGet("shifts")] - public async Task> GetShiftsByPlaceCustomCodeAsync(string placeCustomCode) + public async Task GetShiftsByPlaceCustomCodeAsync(string placeCustomCode) { return await _businessPlaceShiftService.GetShiftsByPlaceCustomCodeAsync(placeCustomCode); } diff --git a/Src/Dlhis.Basic/BusinessPlace/Response/BusinessPlaceWithShiftResponse.cs b/Src/Dlhis.Basic/BusinessPlace/Response/BusinessPlaceWithShiftResponse.cs new file mode 100644 index 00000000..69baba51 --- /dev/null +++ b/Src/Dlhis.Basic/BusinessPlace/Response/BusinessPlaceWithShiftResponse.cs @@ -0,0 +1,11 @@ +using Dlhis.Basic.BusinessShift.Response; + +namespace Dlhis.Basic.BusinessPlace.Response; + +public class BusinessPlaceWithShiftResponse +{ + public string CustomCode { get; set; } + public string Name { get; set; } + + public List Shifts { get; set; } +} diff --git a/Src/Dlhis.Basic/BusinessShift/Response/BusinessPlaceShiftResponse.cs b/Src/Dlhis.Basic/BusinessShift/Response/BusinessPlaceShiftResponse.cs index 2edff402..5c6848a6 100644 --- a/Src/Dlhis.Basic/BusinessShift/Response/BusinessPlaceShiftResponse.cs +++ b/Src/Dlhis.Basic/BusinessShift/Response/BusinessPlaceShiftResponse.cs @@ -14,6 +14,11 @@ public class BusinessPlaceShiftResponse /// public string BusinessPlaceCustomCode { get; set; } + /// + /// 营业点 + /// + public string BusinessPlace { get; set; } + /// /// 代号 /// diff --git a/Src/Dlhis.Basic/BusinessShift/Services/IBusinessPlaceShiftService.cs b/Src/Dlhis.Basic/BusinessShift/Services/IBusinessPlaceShiftService.cs index c74cde40..3993951a 100644 --- a/Src/Dlhis.Basic/BusinessShift/Services/IBusinessPlaceShiftService.cs +++ b/Src/Dlhis.Basic/BusinessShift/Services/IBusinessPlaceShiftService.cs @@ -1,4 +1,5 @@ -using Dlhis.Basic.BusinessShift.Request; +using Dlhis.Basic.BusinessPlace.Response; +using Dlhis.Basic.BusinessShift.Request; using Dlhis.Basic.BusinessShift.Response; using Kurisu.Core.DataAccess.Dto; @@ -10,5 +11,5 @@ public interface IBusinessPlaceShiftService : IScopeDependency Task SaveAsync(BusinessPlaceShiftSaveRequest request); - Task> GetShiftsByPlaceCustomCodeAsync(string placeCustomCode); + Task GetShiftsByPlaceCustomCodeAsync(string placeCustomCode); } diff --git a/Src/Dlhis.Basic/BusinessShift/Services/Implements/BusinessPlaceShiftService.cs b/Src/Dlhis.Basic/BusinessShift/Services/Implements/BusinessPlaceShiftService.cs index cb0a8b5e..3f270c33 100644 --- a/Src/Dlhis.Basic/BusinessShift/Services/Implements/BusinessPlaceShiftService.cs +++ b/Src/Dlhis.Basic/BusinessShift/Services/Implements/BusinessPlaceShiftService.cs @@ -1,4 +1,5 @@ -using Dlhis.Basic.BusinessShift.Request; +using Dlhis.Basic.BusinessPlace.Response; +using Dlhis.Basic.BusinessShift.Request; using Dlhis.Basic.BusinessShift.Response; using Dlhis.Entity.Basic.Entity; using Kurisu.AspNetCore.Utils.Extensions; @@ -29,6 +30,7 @@ public class BusinessPlaceShiftService : IBusinessPlaceShiftService Id = shift.Id, BusinessPlaceCode = place.Code, BusinessPlaceCustomCode = place.CustomCode, + BusinessPlace = place.Name, Code = shift.Code, CustomCode = shift.CustomCode, Name = shift.Name, @@ -66,24 +68,36 @@ public class BusinessPlaceShiftService : IBusinessPlaceShiftService } - public async Task> GetShiftsByPlaceCustomCodeAsync(string placeCustomCode) + public async Task GetShiftsByPlaceCustomCodeAsync(string placeCustomCode) { - return await _dbContext.Queryable() - .LeftJoin((shift, place) => shift.BusinessPlaceCode == place.Code) - .Where((shift, place) => place.CustomCode == placeCustomCode) - .OrderBy((shift, place) => shift.Start) - .Select((shift, place) => new BusinessPlaceShiftResponse - { - Id = shift.Id, - BusinessPlaceCode = place.Code, - BusinessPlaceCustomCode = place.CustomCode, - Code = shift.Code, - CustomCode = shift.CustomCode, - Name = shift.Name, - Start = shift.Start, - End = shift.End - }) - .ToListAsync(); + var place = await _dbContext.Queryable().Where(x => x.CustomCode == placeCustomCode).FirstAsync(); + if (place == null) + { + return new BusinessPlaceWithShiftResponse() + { + Shifts = new List() + }; + } + var shifts = await _dbContext.Queryable().Where(x => x.BusinessPlaceCode == place.Code).ToListAsync(); + + return new BusinessPlaceWithShiftResponse + { + CustomCode = placeCustomCode, + Name = place.Name, + Shifts = shifts.Select(shift => new BusinessPlaceShiftResponse + { + Id = shift.Id, + BusinessPlaceCode = place.Code, + BusinessPlaceCustomCode = place.CustomCode, + BusinessPlace = place.Name, + Code = shift.Code, + CustomCode = shift.CustomCode, + Name = shift.Name, + Start = shift.Start, + End = shift.End + }) + .ToList() + }; } //*********************************************** help methods ***************************************************// diff --git a/Src/Dlhis.Basic/Device/Request/DeviceResigterRequest.cs b/Src/Dlhis.Basic/Device/Request/DeviceResigterRequest.cs index 4884920d..f9ed7579 100644 --- a/Src/Dlhis.Basic/Device/Request/DeviceResigterRequest.cs +++ b/Src/Dlhis.Basic/Device/Request/DeviceResigterRequest.cs @@ -9,4 +9,9 @@ public class DeviceResigterRequest /// [Required(ErrorMessage = "设备唯一编码不能为空")] public string UniqueNo { get; set; } + + /// + /// 营业点手工号; 可为空,后续在后台中设置 + /// + public string BusinessCustomCode { get; set; } } diff --git a/Src/Dlhis.Basic/Device/Response/DeviceNotSetBusinessPlaceResponse.cs b/Src/Dlhis.Basic/Device/Response/DeviceNotSetBusinessPlaceResponse.cs index 9ba71dc9..df49bf65 100644 --- a/Src/Dlhis.Basic/Device/Response/DeviceNotSetBusinessPlaceResponse.cs +++ b/Src/Dlhis.Basic/Device/Response/DeviceNotSetBusinessPlaceResponse.cs @@ -2,4 +2,7 @@ public class DeviceNotSetBusinessPlaceResponse { + public Guid Code { get; set; } + + public string UniqueNo { get; set; } } diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DeviceConnectService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DeviceConnectService.cs index d4f1d60f..96ffedbd 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DeviceConnectService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DeviceConnectService.cs @@ -24,12 +24,17 @@ public class DeviceConnectService : IDeviceConnectService var device = await GetEnableDeviceAsync(request.UniqueNo); var registry = await _dbContext.Queryable().Where(x => x.DeviceUniqueNo == request.UniqueNo).FirstAsync(); + var businessPlace = await _dbContext.Queryable().Where(x => x.CustomCode == request.BusinessCustomCode).FirstAsync(); + if (registry == null) { registry = new DeviceRegistryEntity() { DeviceUniqueNo = request.UniqueNo, LastHeartbeatTime = DateTime.Now, + RegisterTime = DateTime.Now, + BusinessPlaceCode = businessPlace?.Code, + BusinessPlaceCustomCode = businessPlace?.CustomCode, }; await _dbContext.InsertAsync(registry); @@ -41,7 +46,7 @@ public class DeviceConnectService : IDeviceConnectService public async Task> GetNotSetBusinessPlaceDevicesAsync() { - var devices = await _dbContext.Queryable().ToListAsync(); + var devices = await _dbContext.Queryable().Where(x => x.Enable).ToListAsync(); devices = devices.Where(x => x.Funcs.Any(item => item == DeviceFuncEnumType.Meal)).ToList(); return devices.Adapt>(); diff --git a/Src/Dlhis.Basic/Organization/Controllers/DepartmentsController.cs b/Src/Dlhis.Basic/Organization/Controllers/DepartmentsController.cs index 627b1592..55fa4c2b 100644 --- a/Src/Dlhis.Basic/Organization/Controllers/DepartmentsController.cs +++ b/Src/Dlhis.Basic/Organization/Controllers/DepartmentsController.cs @@ -1,14 +1,16 @@ using Dlhis.Basic.Organization.Response; using Dlhis.Basic.Organization.Services; +using Kurisu.AspNetCore.MVC; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace Dlhis.Basic.Organization.Controllers; /// -/// 部门 +/// sap部门 /// [Authorize] +[ApiDefinition("SAP", Description = "晶科sap组织架构信息")] [Route("api/[controller]")] [ApiController] public class DepartmentsController : ControllerBase diff --git a/Src/Dlhis.Basic/Organization/Controllers/GainfosController.cs b/Src/Dlhis.Basic/Organization/Controllers/GainfosController.cs index aeaf2a26..11832763 100644 --- a/Src/Dlhis.Basic/Organization/Controllers/GainfosController.cs +++ b/Src/Dlhis.Basic/Organization/Controllers/GainfosController.cs @@ -1,6 +1,7 @@ using Dlhis.Basic.Organization.Request; using Dlhis.Basic.Organization.Response; using Dlhis.Basic.Organization.Services; +using Kurisu.AspNetCore.MVC; using Kurisu.Core.DataAccess.Dto; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; @@ -8,9 +9,10 @@ using Microsoft.AspNetCore.Mvc; namespace Dlhis.Basic.MealUser.Controllers; /// -/// 档案表 +/// sap档案表 /// [Authorize] +[ApiDefinition("SAP", Description = "晶科sap组织架构信息")] [Route("api/[controller]")] [ApiController] public class GainfosController : ControllerBase @@ -41,7 +43,6 @@ public class GainfosController : ControllerBase [HttpGet("page")] public async Task> GetPageAsync([FromQuery] GainfoPageRequest request) { - //var enums = await _enumSettingApi.GetEnums(); return await _gainfoService.GetPageAsync(request); } diff --git a/Src/Dlhis.Basic/Organization/Controllers/WerksController.cs b/Src/Dlhis.Basic/Organization/Controllers/WerksController.cs index 5e10b469..8156ff56 100644 --- a/Src/Dlhis.Basic/Organization/Controllers/WerksController.cs +++ b/Src/Dlhis.Basic/Organization/Controllers/WerksController.cs @@ -1,12 +1,16 @@ using Dlhis.Basic.Organization.Response; using Dlhis.Basic.Organization.Services; +using Kurisu.AspNetCore.MVC; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace Dlhis.Basic.Organization.Controllers; /// -/// 人事范围 +/// sap人事范围 tenant /// +[Authorize] +[ApiDefinition("SAP", Description = "晶科sap组织架构信息")] [Route("api/[controller]")] [ApiController] public class WerksController : ControllerBase @@ -18,6 +22,10 @@ public class WerksController : ControllerBase _werkService = werkService; } + /// + /// 获取人事范围列表 + /// + /// [HttpGet("list")] public async Task> GetListAsync() { diff --git a/Src/Dlhis.Basic/Organization/Response/DepartmentTreeResponse.cs b/Src/Dlhis.Basic/Organization/Response/DepartmentTreeResponse.cs index 17cc0b61..6aafe244 100644 --- a/Src/Dlhis.Basic/Organization/Response/DepartmentTreeResponse.cs +++ b/Src/Dlhis.Basic/Organization/Response/DepartmentTreeResponse.cs @@ -1,6 +1,4 @@ -using SqlSugar; - -namespace Dlhis.Basic.Organization.Response; +namespace Dlhis.Basic.Organization.Response; public class DepartmentTreeResponse { @@ -17,5 +15,5 @@ public class DepartmentTreeResponse /// /// 下级部门 /// - public List Next { get; set; } + public List Next { get; set; } = new List(); } diff --git a/Src/Dlhis.Basic/SqlSugarPack.cs b/Src/Dlhis.Basic/SqlSugarPack.cs index e60a2855..3145a868 100644 --- a/Src/Dlhis.Basic/SqlSugarPack.cs +++ b/Src/Dlhis.Basic/SqlSugarPack.cs @@ -17,11 +17,11 @@ public class SqlSugarPack : BaseAppPack public override void Configure(IApplicationBuilder app, IWebHostEnvironment env) { #if DEBUG - //using var scope = app.ApplicationServices.CreateScope(); - //var db = scope.ServiceProvider.GetService(); - //var tables = App.ActiveTyps.Where(x => x.IsDefined(typeof(SugarTable), false)).ToArray(); - //db.DbMaintenance.CreateDatabase(); - //db.CodeFirst.InitTables(tables); + using var scope = app.ApplicationServices.CreateScope(); + var db = scope.ServiceProvider.GetService(); + var tables = App.ActiveTyps.Where(x => x.IsDefined(typeof(SugarTable), false)).ToArray(); + db.DbMaintenance.CreateDatabase(); + db.CodeFirst.InitTables(tables); #endif } }