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/cds")] [Authorize] public class CdsController : ControllerBase { private readonly ICdsService _svc; public CdsController(ICdsService 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) => Ok(ApiResult>.Ok(await _svc.GetPagedAsync(pageIndex, pageSize, date, deptId))); /// 称重弹窗数据(车台明细;首次称重按车台范围初始化) [HttpGet("{lsjlId}")] public async Task GetEdit(long lsjlId) { try { return Ok(ApiResult.Ok(await _svc.GetEditAsync(lsjlId))); } catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult.Fail(ex.Message, ex.Code)); } } /// 保存秤大丝(车台明细先删后建 + 汇总指标) [HttpPost("save")] public async Task Save([FromBody] CdsSaveDto dto) { try { await _svc.SaveAsync(dto); return Ok(ApiResult.Ok(null, "保存成功")); } catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult.Fail(ex.Message, ex.Code)); } } /// 清除称重数据(汇总 + 车台明细) [HttpDelete("{lsjlId}")] public async Task Delete(long lsjlId) { try { await _svc.DeleteAsync(lsjlId); return Ok(ApiResult.Ok(null, "删除成功")); } catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult.Fail(ex.Message, ex.Code)); } } }