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
}
}
diff --git a/Src/Dlhis.Entity/Device/Entities/DeviceRegistryEntity.cs b/Src/Dlhis.Entity/Device/Entities/DeviceRegistryEntity.cs
index 6b2a21b9..3ba6c6b9 100644
--- a/Src/Dlhis.Entity/Device/Entities/DeviceRegistryEntity.cs
+++ b/Src/Dlhis.Entity/Device/Entities/DeviceRegistryEntity.cs
@@ -30,13 +30,13 @@ public class DeviceRegistryEntity : SugarBaseEntity, ITenantId
///
/// 营业点code(可为空)
///
- [SugarColumn(IsNullable = true, ColumnDescription = "注册时间")]
- public Guid BusinessPlaceCode { get; set; }
+ [SugarColumn(IsNullable = true, ColumnDescription = "营业点code")]
+ public Guid? BusinessPlaceCode { get; set; }
///
/// 营业点手工号(可为空)
///
- [SugarColumn(IsNullable = true, ColumnDescription = "注册时间")]
+ [SugarColumn(IsNullable = true, ColumnDescription = "营业点手工号")]
public string BusinessPlaceCustomCode { get; set; }
public string TenantId { get; set; }
diff --git a/Src/Dlhis.ScheduledTask/Dlhis.ScheduledTask.csproj b/Src/Dlhis.ScheduledTask/Dlhis.ScheduledTask.csproj
index 0e2c2f98..341c1b33 100644
--- a/Src/Dlhis.ScheduledTask/Dlhis.ScheduledTask.csproj
+++ b/Src/Dlhis.ScheduledTask/Dlhis.ScheduledTask.csproj
@@ -17,9 +17,9 @@
-
+
-
+
diff --git a/Src/Dlhis.ScheduledTask/HangfirePack.cs b/Src/Dlhis.ScheduledTask/HangfirePack.cs
index dd6c5bac..4359a5c1 100644
--- a/Src/Dlhis.ScheduledTask/HangfirePack.cs
+++ b/Src/Dlhis.ScheduledTask/HangfirePack.cs
@@ -7,7 +7,7 @@ namespace Dlhis.ScheduledTask
{
public class HangfirePack : BaseAppPack
{
- public override bool IsBeforeUseRouting { get; }
+ public override bool IsBeforeUseRouting => true;
public override void ConfigureServices(IServiceCollection services)
{
@@ -29,26 +29,31 @@ namespace Dlhis.ScheduledTask
public override void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
- //支持可视化界面 ---任何一个用户都能够来访问;所以需要加一道屏障
- app.UseHangfireDashboard("/hangfire", new DashboardOptions()
+ app.UseHangfireDashboard("/hangfire", new DashboardOptions
{
- Authorization = new BasicAuthAuthorizationFilter[] {
- new BasicAuthAuthorizationFilter(new BasicAuthAuthorizationFilterOptions(){
- SslRedirect=false,
- RequireSsl=false,
- Users=new BasicAuthAuthorizationUser[]{
- new BasicAuthAuthorizationUser(){
- Login="admin",
- PasswordClear="admin"
- }
- }
- })
+ AppPath = null,
+ DashboardTitle = "hangfire",
+ Authorization = new[]
+ {
+ new BasicAuthAuthorizationFilter(new BasicAuthAuthorizationFilterOptions
+ {
+ RequireSsl = false,
+ SslRedirect = false,
+ Users = new []
+ {
+ new BasicAuthAuthorizationUser
+ {
+ Login ="admin",
+ PasswordClear = "admin"
+ }
+ }
+ })
}
-
});
- app.UseHangfireDashboard(); //使用hangfire面板
-
+ app.UseHangfireDashboard();
BackgroundJob.Enqueue(() => Console.WriteLine("This is a background job."));
+
+
}
}
}