using Microsoft.AspNetCore.Mvc; using RIZO.Model.Mes.Dto.WorkOrderInfo; using RIZO.Model.Mes.WorkOrderInfo; using RIZO.Service.Mes.IMesService.WorkOrderInfo; using RIZO.Service.Mes.WorkOrderInfo; //创建时间:2025-11-12 namespace RIZO.Admin.WebApi.Controllers.Mes.WorkOrderInfo { /// /// 工单从表(存储工单所需物料明细及物料流转状态) /// [Route("mes/WorkOrderItem")] [AllowAnonymous] public class WorkOrderItemController : BaseController { /// /// 工单从表(存储工单所需物料明细及物料流转状态)接口 /// private readonly IWorkOrderItemService _WorkOrderItemService; public WorkOrderItemController(IWorkOrderItemService WorkOrderItemService) { _WorkOrderItemService = WorkOrderItemService; } /// /// 查询工单从表(存储工单所需物料明细及物料流转状态)列表 /// /// /// [HttpGet("list")] [ActionPermissionFilter(Permission = "workorderitem:list")] public IActionResult QueryWorkOrderItem([FromQuery] WorkOrderItemQueryDto parm) { var response = _WorkOrderItemService.GetList(parm); return SUCCESS(response); } /// /// 查询工单从表(存储工单所需物料明细及物料流转状态)详情 /// /// /// [HttpGet("{Id}")] [ActionPermissionFilter(Permission = "workorderitem:query")] public IActionResult GetWorkOrderItem(long Id) { var response = _WorkOrderItemService.GetInfo(Id); var info = response.Adapt(); return SUCCESS(info); } /// /// 添加工单从表(存储工单所需物料明细及物料流转状态) /// /// [HttpPost] [ActionPermissionFilter(Permission = "workorderitem:add")] [Log(Title = "工单从表(存储工单所需物料明细及物料流转状态)", BusinessType = BusinessType.INSERT)] public IActionResult AddWorkOrderItem([FromBody] WorkOrderItemDto parm) { var modal = parm.Adapt().ToCreate(HttpContext); var response = _WorkOrderItemService.AddWorkOrderItem(modal); return SUCCESS(response); } /// /// 更新工单从表(存储工单所需物料明细及物料流转状态) /// /// [HttpPut] [ActionPermissionFilter(Permission = "workorderitem:edit")] [Log(Title = "工单从表(存储工单所需物料明细及物料流转状态)", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateWorkOrderItem([FromBody] WorkOrderItemDto parm) { var modal = parm.Adapt().ToUpdate(HttpContext); var response = _WorkOrderItemService.UpdateWorkOrderItem(modal); return ToResponse(response); } /// /// 删除工单从表(存储工单所需物料明细及物料流转状态) /// /// [HttpPost("delete/{ids}")] [ActionPermissionFilter(Permission = "workorderitem:delete")] [Log(Title = "工单从表(存储工单所需物料明细及物料流转状态)", BusinessType = BusinessType.DELETE)] public IActionResult DeleteWorkOrderItem([FromRoute]string ids) { var idArr = Tools.SplitAndConvert(ids); return ToResponse(_WorkOrderItemService.Delete(idArr)); } /// /// 导出工单明细 /// /// [HttpGet("export")] [Log(Title = "工单明细", BusinessType = BusinessType.EXPORT)] public IActionResult Export([FromQuery] WorkOrderItemQueryDto parm) { var list = _WorkOrderItemService.GetListExport(parm).Result; if (list == null || list.Count <= 0) { return ToResponse(ResultCode.FAIL, "没有要导出的数据"); } var (sFileName, sFilePath) = ExportExcelMini(list, "工单明细", "工单明细"); if (string.IsNullOrWhiteSpace(sFilePath)) { return ToResponse(ResultCode.FAIL, "Excel生成失败"); } return PhysicalFile( sFilePath, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", sFileName, true ); } /// /// 扫零件筐码新增工单从表 /// /// [HttpPost("createWorkOrderItemBySacnCode")] [Log(Title = "扫码新增工单主表", BusinessType = BusinessType.INSERT)] public ApiResult CreateWorkOrderItemBySacnCode(string json) { var response = _WorkOrderItemService.CreateWorkOrderItemBySacnCode(json); return response; } } }