using F9WebAiTest.Application.Common;
using F9WebAiTest.Application.Dtos.QC;
using F9WebAiTest.Application.Services.QC;
using F9WebAiTest.Domain.Entities.QC.Gyzxs;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace F9WebAiTest.Api.Controllers.QC;
///
/// 质量模块 —— 工艺执行书(对应 F9 生产\质量\工艺执行书)。
/// 主列表按「庄口 + 年度」展示,每张子单据一个入口;保存子单据会联动主控表。
///
[ApiController]
[Route("api/qc/gyzxs")]
[Authorize]
public class GyzxsController : ControllerBase
{
private readonly IGyzxsService _svc;
public GyzxsController(IGyzxsService svc) => _svc = svc;
// ---------- 主列表 ----------
[HttpGet]
public async Task GetPaged([FromQuery] int pageIndex = 1, [FromQuery] int pageSize = 20,
[FromQuery] int year = 0, [FromQuery] string keyword = "")
=> Ok(ApiResult>.Ok(await _svc.GetDocVersionPagedAsync(pageIndex, pageSize, year, keyword)));
[HttpPost("version")]
public async Task CreateVersion([FromQuery] long gyzkId)
{
try { return Ok(ApiResult.Ok(await _svc.CreateDocVersionAsync(gyzkId), "创建成功")); }
catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult