using Dlhis.Basic.BusinessShift.Services; using Dlhis.Basic.Places.Request; using Dlhis.Basic.Places.Response; using Dlhis.Basic.Places.Services; using Kurisu.AspNetCore.DataAccess.Dto; using Kurisu.AspNetCore.DataAccess.SqlSugar.Aop; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace Dlhis.Basic.Places.Controllers; /// /// 营业点 /// [Authorize] [Route("api/[controller]")] [ApiController] public class BusinessPlacesController : ControllerBase { private readonly IBusinessPlaceService _businessPlaceService; private readonly IBusinessPlaceShiftService _businessPlaceShiftService; public BusinessPlacesController(IBusinessPlaceService businessPlaceService, IBusinessPlaceShiftService businessPlaceShiftService) { _businessPlaceService = businessPlaceService; _businessPlaceShiftService = businessPlaceShiftService; } /// /// 营业点分页 /// /// /// [HttpGet("page")] public async Task> GetPageAsync([FromQuery] BusinessPlacePageRequest request) { return await _businessPlaceService.GetPageAsync(request); } /// /// 获取启用的营业点 /// /// [HttpGet("list")] public async Task> GetOpenedListAsync(Guid? placeCode) { return await _businessPlaceService.GetOpenedListAsync(placeCode); } /// /// 获取启用的营业点(所有基地) /// /// [HttpGet("list-all")] [IgnoreTenant] public async Task> GetAllList(string tenant) { return await _businessPlaceService.GetOpenedListAsync(null, tenant); } /// /// 营业点保存 /// /// /// [Authorize(Roles = "admin,tenant-admin")] [HttpPost("save")] public async Task SaveAsync(BusinessPlaceSaveRequest request) { await _businessPlaceService.SaveAsync(request); } /// /// 营业点保存餐次 /// /// /// [HttpPost("shift/save")] public async Task SaveShiftAsync(BusinessPlaceSaveShiftRequest request) { await _businessPlaceService.SaveShiftAsync(request); } /// /// 根据手工号获取餐别 /// /// /// [HttpPost("shifts")] [IgnoreTenant] public async Task GetShiftsByPlaceCustomCodeHttpPostAsync(BusinessPlaceGetShiftsRequest request) { return await _businessPlaceShiftService.GetShiftsByPlaceCustomCodeAsync(request.CustomCode); } /// /// 根据手工号获取餐别 /// /// /// [HttpGet("shifts")] [IgnoreTenant] public async Task GetShiftsByPlaceCustomCodeHttpGetAsync([FromQuery] BusinessPlaceGetShiftsRequest request) { return await _businessPlaceShiftService.GetShiftsByPlaceCustomCodeAsync(request.CustomCode); } /// /// 根据营业点获取下面的设备 /// /// /// [HttpGet("device/assignments")] public async Task> GetAssignments(Guid code) { return await _businessPlaceShiftService.GetAssignmentsAsync(code); } /// /// 营业点增加配置设备 /// /// /// [HttpPost("device/assign")] [Transactional] [CrossTenant] public async Task Assign(DispositionDeviceRequest request) { await _businessPlaceShiftService.AssignAsync(request); } }