using F9WebAiTest.Application.Common;
using F9WebAiTest.Application.Dtos.Prod;
using F9WebAiTest.Application.Services.Prod;
using F9WebAiTest.Domain.Common;
using F9WebAiTest.Domain.Enums.SYS.Employees;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace F9WebAiTest.Api.Controllers.Prod;
/// 看台记录(生产-前缫):车头工 / 挡车工
[ApiController]
[Route("api/prod/ktjl")]
[Authorize]
public class KtjlController : ControllerBase
{
private readonly IKtjlService _svc;
public KtjlController(IKtjlService svc) => _svc = svc;
// ---------- 查询 ----------
/// 挡车工看台记录(某日某车间某班次)
[HttpGet("dcg")]
public async Task GetDcg([FromQuery] DateTime date, [FromQuery] long depId,
[FromQuery] Prod_Banci_Enum banci = Prod_Banci_Enum.甲, [FromQuery] string like = "")
=> Ok(ApiResult>.Ok(
await _svc.GetDcgAsync(date, depId, banci, like ?? string.Empty)));
/// 车头工看台记录
[HttpGet("ctg")]
public async Task GetCtg([FromQuery] DateTime date, [FromQuery] long depId,
[FromQuery] Prod_Banci_Enum banci = Prod_Banci_Enum.甲, [FromQuery] string like = "")
=> Ok(ApiResult>.Ok(
await _svc.GetCtgAsync(date, depId, banci, like ?? string.Empty)));
// ---------- 录入(新增):按看台排班带出默认记录 ----------
[HttpGet("dcg/defaults")]
public async Task GetDcgDefaults([FromQuery] DateTime date, [FromQuery] long depId,
[FromQuery] Prod_Banci_Enum banci = Prod_Banci_Enum.甲)
{
try { return Ok(ApiResult>.Ok(await _svc.BuildDcgDefaultsAsync(date, depId, banci))); }
catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult