fix 补充注释,接口兼容设备

This commit is contained in:
2024-01-03 17:34:19 +08:00
parent ebffe59360
commit bcec08d10a
13 changed files with 88 additions and 35 deletions

View File

@@ -69,7 +69,7 @@ public class BusinessPlacesController : ControllerBase
/// <param name="placeCustomCode"></param>
/// <returns></returns>
[HttpGet("shifts")]
public async Task<List<BusinessPlaceShiftResponse>> GetShiftsByPlaceCustomCodeAsync(string placeCustomCode)
public async Task<BusinessPlaceWithShiftResponse> GetShiftsByPlaceCustomCodeAsync(string placeCustomCode)
{
return await _businessPlaceShiftService.GetShiftsByPlaceCustomCodeAsync(placeCustomCode);
}

View File

@@ -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<BusinessPlaceShiftResponse> Shifts { get; set; }
}

View File

@@ -14,6 +14,11 @@ public class BusinessPlaceShiftResponse
/// </summary>
public string BusinessPlaceCustomCode { get; set; }
/// <summary>
/// 营业点
/// </summary>
public string BusinessPlace { get; set; }
/// <summary>
/// 代号
/// </summary>

View File

@@ -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<List<BusinessPlaceShiftResponse>> GetShiftsByPlaceCustomCodeAsync(string placeCustomCode);
Task<BusinessPlaceWithShiftResponse> GetShiftsByPlaceCustomCodeAsync(string placeCustomCode);
}

View File

@@ -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<List<BusinessPlaceShiftResponse>> GetShiftsByPlaceCustomCodeAsync(string placeCustomCode)
public async Task<BusinessPlaceWithShiftResponse> GetShiftsByPlaceCustomCodeAsync(string placeCustomCode)
{
return await _dbContext.Queryable<CanteenBusinessShiftEntity>()
.LeftJoin<CanteenBusinessPlaceEntity>((shift, place) => shift.BusinessPlaceCode == place.Code)
.Where((shift, place) => place.CustomCode == placeCustomCode)
.OrderBy((shift, place) => shift.Start)
.Select((shift, place) => new BusinessPlaceShiftResponse
var place = await _dbContext.Queryable<CanteenBusinessPlaceEntity>().Where(x => x.CustomCode == placeCustomCode).FirstAsync();
if (place == null)
{
return new BusinessPlaceWithShiftResponse()
{
Shifts = new List<BusinessPlaceShiftResponse>()
};
}
var shifts = await _dbContext.Queryable<CanteenBusinessShiftEntity>().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
})
.ToListAsync();
.ToList()
};
}
//*********************************************** help methods ***************************************************//

View File

@@ -9,4 +9,9 @@ public class DeviceResigterRequest
/// </summary>
[Required(ErrorMessage = "设备唯一编码不能为空")]
public string UniqueNo { get; set; }
/// <summary>
/// 营业点手工号; 可为空,后续在后台中设置
/// </summary>
public string BusinessCustomCode { get; set; }
}

View File

@@ -2,4 +2,7 @@
public class DeviceNotSetBusinessPlaceResponse
{
public Guid Code { get; set; }
public string UniqueNo { get; set; }
}

View File

@@ -24,12 +24,17 @@ public class DeviceConnectService : IDeviceConnectService
var device = await GetEnableDeviceAsync(request.UniqueNo);
var registry = await _dbContext.Queryable<DeviceRegistryEntity>().Where(x => x.DeviceUniqueNo == request.UniqueNo).FirstAsync();
var businessPlace = await _dbContext.Queryable<CanteenBusinessPlaceEntity>().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<List<DeviceNotSetBusinessPlaceResponse>> GetNotSetBusinessPlaceDevicesAsync()
{
var devices = await _dbContext.Queryable<DeviceEntity>().ToListAsync();
var devices = await _dbContext.Queryable<DeviceEntity>().Where(x => x.Enable).ToListAsync();
devices = devices.Where(x => x.Funcs.Any(item => item == DeviceFuncEnumType.Meal)).ToList();
return devices.Adapt<List<DeviceNotSetBusinessPlaceResponse>>();

View File

@@ -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;
/// <summary>
/// 部门
/// sap部门
/// </summary>
[Authorize]
[ApiDefinition("SAP", Description = "晶科sap组织架构信息")]
[Route("api/[controller]")]
[ApiController]
public class DepartmentsController : ControllerBase

View File

@@ -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;
/// <summary>
/// 档案表
/// sap档案表
/// </summary>
[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<Pagination<GainfoPageResponse>> GetPageAsync([FromQuery] GainfoPageRequest request)
{
//var enums = await _enumSettingApi.GetEnums();
return await _gainfoService.GetPageAsync(request);
}

View File

@@ -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;
/// <summary>
/// 人事范围
/// sap人事范围 tenant
/// </summary>
[Authorize]
[ApiDefinition("SAP", Description = "晶科sap组织架构信息")]
[Route("api/[controller]")]
[ApiController]
public class WerksController : ControllerBase
@@ -18,6 +22,10 @@ public class WerksController : ControllerBase
_werkService = werkService;
}
/// <summary>
/// 获取人事范围列表
/// </summary>
/// <returns></returns>
[HttpGet("list")]
public async Task<List<WerkResponse>> GetListAsync()
{

View File

@@ -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
/// <summary>
/// 下级部门
/// </summary>
public List<DepartmentTreeResponse> Next { get; set; }
public List<DepartmentTreeResponse> Next { get; set; } = new List<DepartmentTreeResponse>();
}

View File

@@ -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<ISqlSugarClient>();
//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<ISqlSugarClient>();
var tables = App.ActiveTyps.Where(x => x.IsDefined(typeof(SugarTable), false)).ToArray();
db.DbMaintenance.CreateDatabase();
db.CodeFirst.InitTables(tables);
#endif
}
}