using Microsoft.AspNetCore.Mvc;
using ZR.Model.Business;
using ZR.Model.Business.Dto;
using ZR.Service.Business.IBusinessService;
//创建时间:2025-09-21
namespace ZR.Admin.WebApi.Controllers.Business
{
///
/// 光缆管理
///
[Route("business/OdfCables")]
public class OdfCablesController : BaseController
{
///
/// 光缆管理接口
///
private readonly IOdfCablesService _OdfCablesService;
public OdfCablesController(IOdfCablesService OdfCablesService)
{
_OdfCablesService = OdfCablesService;
}
///
/// 查询光缆列表
///
///
///
[HttpGet("list")]
[ActionPermissionFilter(Permission = "odfcables:list")]
public IActionResult GetList([FromQuery] OdfCablesQueryDto parm)
{
var response = _OdfCablesService.GetList(parm);
return SUCCESS(response);
}
///
/// 搜索光缆和故障(限定公司范围)
///
///
[HttpGet("search")]
[ActionPermissionFilter(Permission = "odfcables:query")]
public IActionResult Search([FromQuery] long deptId, [FromQuery] string keyword)
{
var response = _OdfCablesService.Search(deptId, keyword);
return SUCCESS(response);
}
///
/// 新增光缆
///
///
[HttpPost]
[ActionPermissionFilter(Permission = "odfcables:add")]
[Log(Title = "光缆管理", BusinessType = BusinessType.INSERT)]
public IActionResult Add([FromBody] OdfCables parm)
{
parm.CreatedAt = DateTime.Now;
parm.UpdatedAt = DateTime.Now;
var response = _OdfCablesService.Add(parm);
return SUCCESS(response);
}
///
/// 修改光缆
///
///
[HttpPut]
[ActionPermissionFilter(Permission = "odfcables:edit")]
[Log(Title = "光缆管理", BusinessType = BusinessType.UPDATE)]
public IActionResult Update([FromBody] OdfCables parm)
{
parm.UpdatedAt = DateTime.Now;
var response = _OdfCablesService.Update(parm);
return ToResponse(response);
}
///
/// 查询光缆详情
///
///
///
[HttpGet("{id}")]
[ActionPermissionFilter(Permission = "odfcables:query")]
public IActionResult GetDetail(int id)
{
var response = _OdfCablesService.GetDetail(id);
return SUCCESS(response);
}
///
/// 删除光缆
///
///
[HttpPost("delete/{id}")]
[ActionPermissionFilter(Permission = "odfcables:delete")]
[Log(Title = "光缆管理", BusinessType = BusinessType.DELETE)]
public IActionResult Delete(int id)
{
var response = _OdfCablesService.Delete(id);
return ToResponse(response);
}
///
/// 导出光缆列表
///
///
[Log(Title = "光缆管理", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)]
[HttpGet("export")]
[ActionPermissionFilter(Permission = "odfcables:export")]
public IActionResult Export([FromQuery] OdfCablesQueryDto parm)
{
var list = _OdfCablesService.ExportList(parm);
if (list == null || list.Result == null || list.Result.Count <= 0)
{
return ToResponse(ResultCode.FAIL, "没有要导出的数据");
}
var result = ExportExcelMini(list.Result, "光缆列表", "光缆列表");
return ExportExcel(result.Item2, result.Item1);
}
}
}