using F9WebAiTest.Application.Common; using F9WebAiTest.Application.Dtos.QC; using F9WebAiTest.Application.Services.QC; using F9WebAiTest.Domain.Entities.QC.Yjss; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace F9WebAiTest.Api.Controllers.QC; /// /// 质量模块 —— 样茧试缫(对应 F9 生产\质量\样茧试缫)。 /// type: 1=原料小样 2=综合样。 /// [ApiController] [Route("api/qc/yjss")] [Authorize] public class YjssController : ControllerBase { private readonly IYjssService _svc; public YjssController(IYjssService svc) => _svc = svc; // ---------- 主列表 / 主表 ---------- [HttpGet] public async Task GetPaged([FromQuery] int pageIndex = 1, [FromQuery] int pageSize = 20, [FromQuery] int type = 1, [FromQuery] int year = 0, [FromQuery] string keyword = "") => Ok(ApiResult>.Ok(await _svc.GetPagedAsync(pageIndex, pageSize, type, year, keyword))); [HttpPost("ylxy")] public async Task SaveYlxy([FromBody] YjssMainYlxy dto) { try { return Ok(ApiResult.Ok(await _svc.SaveYlxyAsync(dto), "保存成功")); } catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult.Fail(ex.Message, ex.Code)); } } [HttpPost("zhy")] public async Task SaveZhy([FromBody] YjssMainZhy dto) { try { return Ok(ApiResult.Ok(await _svc.SaveZhyAsync(dto), "保存成功")); } catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult.Fail(ex.Message, ex.Code)); } } [HttpDelete("{type}/{id}")] public async Task Delete(int type, long id) { try { await _svc.DeleteAsync(type, id); return Ok(ApiResult.Ok(null, "删除成功")); } catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult.Fail(ex.Message, ex.Code)); } } // ---------- 选茧调查 ---------- [HttpGet("xjdc/{yjssId}")] public async Task GetXjdc(long yjssId, [FromQuery] int type = 1) => Ok(ApiResult.Ok(await _svc.GetXjdcAsync(type, yjssId))); [HttpPost("xjdc")] public async Task SaveXjdc([FromQuery] int type, [FromBody] YjssDcXjdc dto) { try { return Ok(ApiResult.Ok(await _svc.SaveXjdcAsync(type, dto), "保存成功")); } catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult.Fail(ex.Message, ex.Code)); } } // ---------- 解舒调查 ---------- [HttpGet("jsdc/{yjssId}")] public async Task GetJsdc(long yjssId, [FromQuery] int type = 1) => Ok(ApiResult>.Ok(await _svc.GetJsdcAsync(type, yjssId))); [HttpPost("jsdc")] public async Task SaveJsdc([FromQuery] int type, [FromBody] YjssDcJsdc dto) { try { return Ok(ApiResult.Ok(await _svc.SaveJsdcAsync(type, dto), "保存成功")); } catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult.Fail(ex.Message, ex.Code)); } } [HttpDelete("jsdc/{type}/{id}")] public async Task DeleteJsdc(int type, long id) { try { await _svc.DeleteJsdcAsync(type, id); return Ok(ApiResult.Ok(null, "删除成功")); } catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult.Fail(ex.Message, ex.Code)); } } // ---------- 茧幅调查 ---------- [HttpGet("jfdc/{yjssId}")] public async Task GetJfdc(long yjssId, [FromQuery] int type = 1) => Ok(ApiResult.Ok(await _svc.GetJfdcAsync(type, yjssId))); [HttpPost("jfdc")] public async Task SaveJfdc([FromQuery] int type, [FromBody] YjssJfdcDto dto) { try { return Ok(ApiResult.Ok(await _svc.SaveJfdcAsync(type, dto), "保存成功")); } catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult.Fail(ex.Message, ex.Code)); } } // ---------- 切剖调查 ---------- [HttpGet("qpdc/{yjssId}")] public async Task GetQpdc(long yjssId, [FromQuery] int type = 1) => Ok(ApiResult.Ok(await _svc.GetQpdcAsync(type, yjssId))); [HttpPost("qpdc")] public async Task SaveQpdc([FromQuery] int type, [FromBody] YjssDcQpdc dto) { try { return Ok(ApiResult.Ok(await _svc.SaveQpdcAsync(type, dto), "保存成功")); } catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult.Fail(ex.Message, ex.Code)); } } // ---------- 清洁洁净 ---------- [HttpGet("qjjj/{yjssId}")] public async Task GetQjjj(long yjssId, [FromQuery] int type = 1) => Ok(ApiResult.Ok(await _svc.GetQjjjAsync(type, yjssId))); [HttpPost("qjjj")] public async Task SaveQjjj([FromQuery] int type, [FromBody] YjssDcQjjj dto) { try { return Ok(ApiResult.Ok(await _svc.SaveQjjjAsync(type, dto), "保存成功")); } catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult.Fail(ex.Message, ex.Code)); } } // ---------- 茧丝百回纤度 ---------- [HttpGet("jsbhxd/{yjssId}")] public async Task GetJsbhxd(long yjssId, [FromQuery] int type = 1) => Ok(ApiResult.Ok(await _svc.GetJsbhxdAsync(type, yjssId))); [HttpPost("jsbhxd")] public async Task SaveJsbhxd([FromQuery] int type, [FromBody] YjssJsbhxdDto dto) { try { return Ok(ApiResult.Ok(await _svc.SaveJsbhxdAsync(type, dto), "保存成功")); } catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult.Fail(ex.Message, ex.Code)); } } // ---------- 整页 / 报表 ---------- [HttpGet("full/{type}/{id}")] public async Task GetFull(int type, long id) { try { return Ok(ApiResult.Ok(await _svc.GetFullAsync(type, id))); } catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult.Fail(ex.Message, ex.Code)); } } [HttpGet("jsdc-summary/{yjssId}")] public async Task GetJsdcSummary(long yjssId, [FromQuery] int type = 1) => Ok(ApiResult>.Ok(await _svc.GetJsdcSummaryAsync(type, yjssId))); }