diff --git a/backend/F9WebAiTest.Api/Controllers/Prod/ChejianBanciController.cs b/backend/F9WebAiTest.Api/Controllers/Prod/ChejianBanciController.cs
new file mode 100644
index 0000000..99eaf9f
--- /dev/null
+++ b/backend/F9WebAiTest.Api/Controllers/Prod/ChejianBanciController.cs
@@ -0,0 +1,75 @@
+using F9WebAiTest.Application.Common;
+using F9WebAiTest.Application.Dtos.Prod;
+using F9WebAiTest.Application.Services.Prod;
+using F9WebAiTest.Domain.Common;
+using F9WebAiTest.Domain.Entities;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
+
+namespace F9WebAiTest.Api.Controllers.Prod;
+
+/// 车间班次(前缫车间排班配置)
+[ApiController]
+[Route("api/prod/chejianbanci")]
+[Authorize]
+public class ChejianBanciController : ControllerBase
+{
+ private readonly IChejianBanciService _svc;
+ public ChejianBanciController(IChejianBanciService svc) => _svc = svc;
+
+ // 分页列表
+ [HttpGet]
+ public async Task GetPaged([FromQuery] string like = "", [FromQuery] int pageIndex = 1,
+ [FromQuery] int pageSize = 20)
+ => Ok(ApiResult>.Ok(
+ await _svc.GetPagedAsync(pageIndex, pageSize, like ?? string.Empty)));
+
+ // 车间下拉(前缫车间)
+ [HttpGet("qianxian-deps")]
+ public async Task GetQianxianDeps()
+ => Ok(ApiResult>.Ok(await _svc.GetQianxianDepsAsync()));
+
+ // 编辑回显
+ [HttpGet("{id}")]
+ public async Task GetByIdForEdit(long id)
+ {
+ try { return Ok(ApiResult.Ok(await _svc.GetByIdForEditAsync(id))); }
+ catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult