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-19
namespace RIZO.Admin.WebApi.Controllers.Mes.WorkOrderInfo
{
///
/// 产品检验记录表
///
[Route("mes/ProductInspection")]
public class ProductInspectionController : BaseController
{
///
/// 产品检验记录表接口
///
private readonly IProductInspectionService _ProductInspectionService;
public ProductInspectionController(IProductInspectionService ProductInspectionService)
{
_ProductInspectionService = ProductInspectionService;
}
///
/// 查询产品检验记录表列表
///
///
///
[HttpGet("list")]
[ActionPermissionFilter(Permission = "productinspection:list")]
public IActionResult QueryProductInspection([FromQuery] ProductInspectionQueryDto parm)
{
var response = _ProductInspectionService.GetList(parm);
return SUCCESS(response);
}
///
/// 查询产品检验记录表详情
///
///
///
[HttpGet("{Id}")]
[ActionPermissionFilter(Permission = "productinspection:query")]
public IActionResult GetProductInspection(long Id)
{
var response = _ProductInspectionService.GetInfo(Id);
var info = response.Adapt();
return SUCCESS(info);
}
///
/// 添加产品检验记录表
///
///
[HttpPost]
[ActionPermissionFilter(Permission = "productinspection:add")]
[Log(Title = "产品检验记录表", BusinessType = BusinessType.INSERT)]
public IActionResult AddProductInspection([FromBody] ProductInspectionDto parm)
{
var modal = parm.Adapt().ToCreate(HttpContext);
var response = _ProductInspectionService.AddProductInspection(modal);
return SUCCESS(response);
}
///
/// 更新产品检验记录表
///
///
[HttpPut]
[ActionPermissionFilter(Permission = "productinspection:edit")]
[Log(Title = "产品检验记录表", BusinessType = BusinessType.UPDATE)]
public IActionResult UpdateProductInspection([FromBody] ProductInspectionDto parm)
{
var modal = parm.Adapt().ToUpdate(HttpContext);
var response = _ProductInspectionService.UpdateProductInspection(modal);
return ToResponse(response);
}
///
/// 删除产品检验记录表
///
///
[HttpPost("delete/{ids}")]
[ActionPermissionFilter(Permission = "productinspection:delete")]
[Log(Title = "产品检验记录表", BusinessType = BusinessType.DELETE)]
public IActionResult DeleteProductInspection([FromRoute]string ids)
{
var idArr = Tools.SplitAndConvert(ids);
return ToResponse(_ProductInspectionService.Delete(idArr));
}
///
/// 导出产品检验数据
///
///
[HttpGet("export")]
[Log(Title = "产品检验数据", BusinessType = BusinessType.EXPORT)]
public IActionResult Export([FromQuery] ProductInspectionQueryDto parm)
{
var list = _ProductInspectionService.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("Import")]
//[ActionPermissionFilter(Permission = "materialinfo:import")]
[Log(Title = "导入保存产品检验数据", BusinessType = BusinessType.IMPORT)]
public IActionResult ImportMaterialInfo([FromQuery] string userId, [FromQuery] string userName, [FromForm] IFormFile file)
{
var stream = file.OpenReadStream();
var fileName = file.FileName;
var response = _ProductInspectionService.Import(stream, userId, userName);
return ToResponse(response);
}
}
}