Files
yanpeng200212 1f1b184411 新增工资/仓储/生产日报等模块,移除旧考勤模块
- 新增 PayRoll(工资)、Wms(仓储)、Prod(车速/缫丝/考勤/丝片检测/丝片台账/纤检日报/质量日报) 模块
- 新增对应 Domain 实体、Application DTO/Service、Api Controller 与前端页面
- 移除旧 Attendance 考勤模块(Controller/Service/Entity/DTO 及 5 个前端页面),由 Prod/Kaoqin 取代
- 调整路由、仪表盘、Lsjl 流丝记录实体与服务
- 更新业务种子数据与 DbSeeder
- 补充工作进度文档 14-27
2026-10-27 09:09:57 +08:00

67 lines
3.0 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using F9WebAiTest.Application.Common;
using F9WebAiTest.Application.Dtos.PayRoll;
using F9WebAiTest.Application.Services.PayRoll;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace F9WebAiTest.Api.Controllers.PayRoll;
/// <summary>薪资计算-挡车/车头产量计算(对应 F9 薪资-挡车车头产量计算 CALCLDCCT)</summary>
[ApiController]
[Route("api/payroll/calcldcct")]
[Authorize]
public class CalcLdcctController : ControllerBase
{
private readonly ICalcLdcctService _svc;
public CalcLdcctController(ICalcLdcctService svc) => _svc = svc;
/// <summary>列表(账期起止 + 部门 + 工种 + 姓名/庄口关键字)</summary>
[HttpGet("list")]
public async Task<IActionResult> GetPaged([FromQuery] DateTime start, [FromQuery] DateTime end,
[FromQuery] long? depId = null, [FromQuery] long? worktypeId = null,
[FromQuery] string like = "", [FromQuery] int pageIndex = 1, [FromQuery] int pageSize = 50)
=> Ok(ApiResult<PageResult<CalcLdcctListItemDto>>.Ok(
await _svc.GetPagedAsync(pageIndex, pageSize, start, end, depId, worktypeId, like ?? string.Empty)));
/// <summary>一键计算(挡车工):整账期 + 部门 + 工种全量覆盖</summary>
[HttpPost("calc-dcg")]
public async Task<IActionResult> CalcDcg([FromBody] CalcLdcctCalcDto dto)
{
try { return Ok(ApiResult<CalcLdcctResultDto>.Ok(await _svc.CalcDcgAsync(dto), "计算完成")); }
catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult<object>.Fail(ex.Message, ex.Code)); }
}
/// <summary>一键计算(车头工):依赖已存的挡车工产量</summary>
[HttpPost("calc-ctg")]
public async Task<IActionResult> CalcCtg([FromBody] CalcLdcctCalcDto dto)
{
try { return Ok(ApiResult<CalcLdcctResultDto>.Ok(await _svc.CalcCtgAsync(dto), "计算完成")); }
catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult<object>.Fail(ex.Message, ex.Code)); }
}
/// <summary>保存人工微调结果(整账期 + 部门 + 工种全量覆盖)</summary>
[HttpPost("save")]
public async Task<IActionResult> Save([FromBody] CalcLdcctSaveDto dto)
{
try
{
var count = await _svc.SaveAsync(dto);
return Ok(ApiResult<object>.Ok(new { count }, "保存成功"));
}
catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult<object>.Fail(ex.Message, ex.Code)); }
}
/// <summary>删除整账期 + 部门 + 工种的计算结果</summary>
[HttpDelete]
public async Task<IActionResult> Delete([FromQuery] DateTime start, [FromQuery] DateTime end,
[FromQuery] long depId, [FromQuery] long worktypeId)
{
try
{
await _svc.DeleteAsync(start, end, depId, worktypeId);
return Ok(ApiResult<object>.Ok(null, "删除成功"));
}
catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult<object>.Fail(ex.Message, ex.Code)); }
}
}