using F9WebAiTest.Application.Common; using F9WebAiTest.Application.Dtos.Prod; using F9WebAiTest.Application.Services.Prod; using F9WebAiTest.Domain.Common; using F9WebAiTest.Domain.Entities; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace F9WebAiTest.Api.Controllers.Prod; /// 车间班次(前缫车间排班配置) [ApiController] [Route("api/prod/chejianbanci")] [Authorize] public class ChejianBanciController : ControllerBase { private readonly IChejianBanciService _svc; public ChejianBanciController(IChejianBanciService svc) => _svc = svc; // 分页列表 [HttpGet] public async Task GetPaged([FromQuery] string like = "", [FromQuery] int pageIndex = 1, [FromQuery] int pageSize = 20) => Ok(ApiResult>.Ok( await _svc.GetPagedAsync(pageIndex, pageSize, like ?? string.Empty))); // 车间下拉(前缫车间) [HttpGet("qianxian-deps")] public async Task GetQianxianDeps() => Ok(ApiResult>.Ok(await _svc.GetQianxianDepsAsync())); // 编辑回显 [HttpGet("{id}")] public async Task GetByIdForEdit(long id) { try { return Ok(ApiResult.Ok(await _svc.GetByIdForEditAsync(id))); } catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult.Fail(ex.Message, ex.Code)); } } // 新增 [HttpPost] public async Task Create([FromBody] ChejianbanciReadDto_Edit dto) { try { await _svc.CreateAsync(dto); return Ok(ApiResult.Ok(null, "新增成功")); } catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult.Fail(ex.Message, ex.Code)); } } // 修改 [HttpPut("{id}")] public async Task Update(long id, [FromBody] ChejianbanciReadDto_Edit dto) { try { await _svc.UpdateAsync(id, dto); return Ok(ApiResult.Ok(null, "修改成功")); } catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult.Fail(ex.Message, ex.Code)); } } // 删除 [HttpDelete("{id}")] public async Task Delete(long id) { try { await _svc.DeleteAsync(id); return Ok(ApiResult.Ok(null, "删除成功")); } catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult.Fail(ex.Message, ex.Code)); } } }