using Infrastructure; using Infrastructure.Attribute; using Infrastructure.Enums; using Infrastructure.Model; using Mapster; using Microsoft.AspNetCore.Mvc; using ZR.Admin.WebApi.Extensions; using ZR.Admin.WebApi.Filters; using ZR.Common; using ZR.Service.System; using ZR.Service.Business; using ZR.Service.System.IService; using ZR.Service.Business.IBusinessService.BaseSet; using ZR.Model.Dto.BaseSet; using ZR.Model.Models.BaseSet; namespace ZR.Admin.WebApi.Controllers.BaseSet { /// /// 基础资料/库区信息表Controller /// /// @tableName bas_region /// @author admin /// @date 2023-04-11 /// [Verify] [Route("business/BasRegion")] public class BasRegionController : BaseController { /// /// 基础资料/库区信息表接口 /// private readonly IBasRegionService _BasRegionService; public BasRegionController(IBasRegionService BasRegionService) { _BasRegionService = BasRegionService; } /// /// 查询基础资料/库区信息表列表 /// /// /// [HttpGet("list")] [ActionPermissionFilter(Permission = "business:basregion:list")] public IActionResult QueryBasRegion([FromQuery] BasRegionQueryDto parm) { var response = _BasRegionService.GetList(parm); return SUCCESS(response); } /// /// 查询基础资料/库区信息表详情 /// /// /// [HttpGet("{RegionId}")] [ActionPermissionFilter(Permission = "business:basregion:query")] public IActionResult GetBasRegion(long RegionId) { var response = _BasRegionService.GetFirst(x => x.RegionId == RegionId); return SUCCESS(response); } /// /// 添加基础资料/库区信息表 /// /// [HttpPost] [ActionPermissionFilter(Permission = "business:basregion:add")] [Log(Title = "基础资料/库区信息表", BusinessType = BusinessType.INSERT)] public IActionResult AddBasRegion([FromBody] BasRegionDto parm) { if (parm == null) { throw new CustomException("请求参数错误"); } var modal = parm.Adapt().ToCreate(HttpContext); var response = _BasRegionService.AddBasRegion(modal); return ToResponse(response); } /// /// 更新基础资料/库区信息表 /// /// [HttpPut] [ActionPermissionFilter(Permission = "business:basregion:edit")] [Log(Title = "基础资料/库区信息表", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateBasRegion([FromBody] BasRegionDto parm) { if (parm == null) { throw new CustomException("请求实体不能为空"); } var modal = parm.Adapt().ToUpdate(HttpContext); var response = _BasRegionService.UpdateBasRegion(modal); return ToResponse(response); } /// /// 删除基础资料/库区信息表 /// /// [HttpDelete("{ids}")] [ActionPermissionFilter(Permission = "business:basregion:delete")] [Log(Title = "基础资料/库区信息表", BusinessType = BusinessType.DELETE)] public IActionResult DeleteBasRegion(string ids) { int[] idsArr = Tools.SpitIntArrary(ids); if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } var response = _BasRegionService.Delete(idsArr); return ToResponse(response); } /// /// 库区导出 /// /// [HttpGet("export")] [ActionPermissionFilter(Permission = "business:basregion:export")] [Log(Title = "库区导出", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] public IActionResult Export() { var list = _BasRegionService.GetAll(); string sFileName = ExportExcel(list, "Basregion", "库区"); return SUCCESS(new { path = "/export/" + sFileName, fileName = sFileName }); //var result = ExportExcelMini(list, "post", "库区列表"); //return ExportExcel(result.Item2, result.Item1); } } }