using F9WebAiTest.Application.Common; using F9WebAiTest.Application.Dtos.Prod; using F9WebAiTest.Application.Services.Prod; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace F9WebAiTest.Api.Controllers.Prod; /// 丝片检查(生产-后缫):按「日期 + 车间 + 工艺庄口 + 规格」录入疵点片数 [ApiController] [Route("api/prod/spjc")] [Authorize] public class SpjcController : ControllerBase { private readonly ISpjcService _svc; public SpjcController(ISpjcService svc) => _svc = svc; /// 丝片检查列表(日期 + 车间 + 关键字) [HttpGet("list")] public async Task GetPaged([FromQuery] int pageIndex = 1, [FromQuery] int pageSize = 20, [FromQuery] DateTime? date = null, [FromQuery] long? deptId = null, [FromQuery] string like = "") => Ok(ApiResult>.Ok( await _svc.GetPagedAsync(pageIndex, pageSize, date, deptId, like ?? string.Empty))); /// 修改回填 [HttpGet("{id}")] public async Task GetForEdit(long id) { try { return Ok(ApiResult.Ok(await _svc.GetForEditAsync(id))); } catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult.Fail(ex.Message, ex.Code)); } } [HttpPost("save")] public async Task Save([FromBody] SpjcSaveDto dto) { try { var id = await _svc.SaveAsync(dto); return Ok(ApiResult.Ok(new { id }, "保存成功")); } 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)); } } }