140 lines
5.3 KiB
C#
Raw Normal View History

2025-11-12 17:32:28 +08:00
using Microsoft.AspNetCore.Mvc;
2025-11-18 11:39:58 +08:00
using RIZO.Model.Mes.Dto.WorkOrderInfo;
using RIZO.Model.Mes.WorkOrderInfo;
using RIZO.Service.Mes.IMesService.WorkOrderInfo;
2025-11-25 09:32:28 +08:00
using RIZO.Service.Mes.WorkOrderInfo;
2025-11-12 17:32:28 +08:00
//创建时间2025-11-12
2025-11-18 11:39:58 +08:00
namespace RIZO.Admin.WebApi.Controllers.Mes.WorkOrderInfo
2025-11-12 17:32:28 +08:00
{
/// <summary>
/// 工单从表(存储工单所需物料明细及物料流转状态)
/// </summary>
[Route("mes/WorkOrderItem")]
2025-11-13 09:28:34 +08:00
[AllowAnonymous]
2025-11-12 17:32:28 +08:00
public class WorkOrderItemController : BaseController
{
/// <summary>
/// 工单从表(存储工单所需物料明细及物料流转状态)接口
/// </summary>
private readonly IWorkOrderItemService _WorkOrderItemService;
public WorkOrderItemController(IWorkOrderItemService WorkOrderItemService)
{
_WorkOrderItemService = WorkOrderItemService;
}
/// <summary>
/// 查询工单从表(存储工单所需物料明细及物料流转状态)列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpGet("list")]
[ActionPermissionFilter(Permission = "workorderitem:list")]
public IActionResult QueryWorkOrderItem([FromQuery] WorkOrderItemQueryDto parm)
{
var response = _WorkOrderItemService.GetList(parm);
return SUCCESS(response);
}
/// <summary>
/// 查询工单从表(存储工单所需物料明细及物料流转状态)详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
[HttpGet("{Id}")]
[ActionPermissionFilter(Permission = "workorderitem:query")]
public IActionResult GetWorkOrderItem(long Id)
{
var response = _WorkOrderItemService.GetInfo(Id);
var info = response.Adapt<WorkOrderItemDto>();
return SUCCESS(info);
}
/// <summary>
/// 添加工单从表(存储工单所需物料明细及物料流转状态)
/// </summary>
/// <returns></returns>
[HttpPost]
[ActionPermissionFilter(Permission = "workorderitem:add")]
[Log(Title = "工单从表(存储工单所需物料明细及物料流转状态)", BusinessType = BusinessType.INSERT)]
public IActionResult AddWorkOrderItem([FromBody] WorkOrderItemDto parm)
{
var modal = parm.Adapt<WorkOrderItem>().ToCreate(HttpContext);
var response = _WorkOrderItemService.AddWorkOrderItem(modal);
return SUCCESS(response);
}
/// <summary>
/// 更新工单从表(存储工单所需物料明细及物料流转状态)
/// </summary>
/// <returns></returns>
[HttpPut]
[ActionPermissionFilter(Permission = "workorderitem:edit")]
[Log(Title = "工单从表(存储工单所需物料明细及物料流转状态)", BusinessType = BusinessType.UPDATE)]
public IActionResult UpdateWorkOrderItem([FromBody] WorkOrderItemDto parm)
{
var modal = parm.Adapt<WorkOrderItem>().ToUpdate(HttpContext);
var response = _WorkOrderItemService.UpdateWorkOrderItem(modal);
return ToResponse(response);
}
/// <summary>
/// 删除工单从表(存储工单所需物料明细及物料流转状态)
/// </summary>
/// <returns></returns>
[HttpPost("delete/{ids}")]
[ActionPermissionFilter(Permission = "workorderitem:delete")]
[Log(Title = "工单从表(存储工单所需物料明细及物料流转状态)", BusinessType = BusinessType.DELETE)]
public IActionResult DeleteWorkOrderItem([FromRoute]string ids)
{
var idArr = Tools.SplitAndConvert<long>(ids);
return ToResponse(_WorkOrderItemService.Delete(idArr));
}
2025-11-18 19:17:51 +08:00
/// <summary>
/// 导出工单明细
/// </summary>
/// <returns></returns>
[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
);
}
2025-11-25 09:32:28 +08:00
/// <summary>
/// 扫零件筐码新增工单从表
/// </summary>
/// <returns></returns>
[HttpPost("createWorkOrderItemBySacnCode")]
[Log(Title = "扫码新增工单主表", BusinessType = BusinessType.INSERT)]
2025-11-26 14:21:26 +08:00
public ApiResult CreateWorkOrderItemBySacnCode(string json)
2025-11-25 09:32:28 +08:00
{
2025-11-26 14:11:28 +08:00
var response = _WorkOrderItemService.CreateWorkOrderItemBySacnCode(json);
2025-11-26 14:21:26 +08:00
return response;
2025-11-25 09:32:28 +08:00
}
2025-11-12 17:32:28 +08:00
}
}