2025-11-28 16:05:22 +08:00

165 lines
6.3 KiB
C#
Raw 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 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
{
/// <summary>
/// 工单从表(存储工单所需物料明细及物料流转状态)
/// </summary>
[Route("mes/WorkOrderItem")]
[AllowAnonymous]
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));
}
/// <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
);
}
/// <summary>
/// 扫零件筐码新增工单从表
/// </summary>
/// <returns></returns>
[HttpPost("createWorkOrderItemBySacnCode")]
[Log(Title = "扫码新增工单主表", BusinessType = BusinessType.INSERT)]
public ApiResult CreateWorkOrderItemBySacnCode([FromBody] PartsBasketCard partsBasketCard)
{
var response = _WorkOrderItemService.CreateWorkOrderItemBySacnCode(partsBasketCard);
return response;
}
/// <summary>
/// 通过工单编码查询工单从表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpPost("getWorkOrderItemByCode")]
[ActionPermissionFilter(Permission = "workorderitem:list")]
public IActionResult GetWorkOrderItemByCode([FromBody] WorkOrderItemQueryDto parm)
{
var response = _WorkOrderItemService.GetWorkOrderItemByCode(parm);
return SUCCESS(response);
}
/// <summary>
/// 手动首检校验是否已首检合格
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpPost("getFirstInspectionResult")]
[ActionPermissionFilter(Permission = "workorderitem:list")]
public string GetFirstInspectionResult([FromBody] string strWorkOrderItemCode)
{
var response = _WorkOrderItemService.GetFirstInspectionResult(strWorkOrderItemCode);
return response;
}
}
}