新增「车间班次」功能(前缫车间排班配置)
后端 - 新增实体 ChejianBanci(表 ChejianBancis:车间 / 班次 / 日工作小时数) - 新增 ChejianBanciService 与 ChejianBanciController(api/prod/chejianbanci) 分页列表、编辑回显、新增、修改、删除、前缫车间下拉;含必填校验与同车间同班次重复校验 - 菜单种子:基础数据 → 车间班次(Timer 图标,权限 base:chejianbanci:list) - 修正历史数据:名称以「前缫」开头的部门职责类型改为「前缫」(25)。 迁移时 duty_type 被统一写成「其他」,导致按职责类型筛选车间取不到数据 前端 - 新增 web/src/views/base/chejianbanci/index.vue(列表 / 搜索 / 分页 / 新增 / 编辑 / 删除) - 注册组件映射 base/chejianbanci/index
This commit is contained in:
@@ -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;
|
||||
|
||||
/// <summary>车间班次(前缫车间排班配置)</summary>
|
||||
[ApiController]
|
||||
[Route("api/prod/chejianbanci")]
|
||||
[Authorize]
|
||||
public class ChejianBanciController : ControllerBase
|
||||
{
|
||||
private readonly IChejianBanciService _svc;
|
||||
public ChejianBanciController(IChejianBanciService svc) => _svc = svc;
|
||||
|
||||
// 分页列表
|
||||
[HttpGet]
|
||||
public async Task<IActionResult> GetPaged([FromQuery] string like = "", [FromQuery] int pageIndex = 1,
|
||||
[FromQuery] int pageSize = 20)
|
||||
=> Ok(ApiResult<PageResult<ChejianbanciReadDto_View>>.Ok(
|
||||
await _svc.GetPagedAsync(pageIndex, pageSize, like ?? string.Empty)));
|
||||
|
||||
// 车间下拉(前缫车间)
|
||||
[HttpGet("qianxian-deps")]
|
||||
public async Task<IActionResult> GetQianxianDeps()
|
||||
=> Ok(ApiResult<List<ChejianbanciDepOptionDto>>.Ok(await _svc.GetQianxianDepsAsync()));
|
||||
|
||||
// 编辑回显
|
||||
[HttpGet("{id}")]
|
||||
public async Task<IActionResult> GetByIdForEdit(long id)
|
||||
{
|
||||
try { return Ok(ApiResult<ChejianbanciReadDto_Edit>.Ok(await _svc.GetByIdForEditAsync(id))); }
|
||||
catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult<object>.Fail(ex.Message, ex.Code)); }
|
||||
}
|
||||
|
||||
// 新增
|
||||
[HttpPost]
|
||||
public async Task<IActionResult> Create([FromBody] ChejianbanciReadDto_Edit dto)
|
||||
{
|
||||
try
|
||||
{
|
||||
await _svc.CreateAsync(dto);
|
||||
return Ok(ApiResult<object>.Ok(null, "新增成功"));
|
||||
}
|
||||
catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult<object>.Fail(ex.Message, ex.Code)); }
|
||||
}
|
||||
|
||||
// 修改
|
||||
[HttpPut("{id}")]
|
||||
public async Task<IActionResult> Update(long id, [FromBody] ChejianbanciReadDto_Edit dto)
|
||||
{
|
||||
try
|
||||
{
|
||||
await _svc.UpdateAsync(id, dto);
|
||||
return Ok(ApiResult<object>.Ok(null, "修改成功"));
|
||||
}
|
||||
catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult<object>.Fail(ex.Message, ex.Code)); }
|
||||
}
|
||||
|
||||
// 删除
|
||||
[HttpDelete("{id}")]
|
||||
public async Task<IActionResult> Delete(long id)
|
||||
{
|
||||
try
|
||||
{
|
||||
await _svc.DeleteAsync(id);
|
||||
return Ok(ApiResult<object>.Ok(null, "删除成功"));
|
||||
}
|
||||
catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult<object>.Fail(ex.Message, ex.Code)); }
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Reference in New Issue
Block a user