using Microsoft.AspNetCore.Mvc; using DOAN.Model.BZFM.Dto; using DOAN.Model.BZFM; using DOAN.Service.MES.order.IService; using DOAN.Admin.WebApi.Filters; using DOAN.Model.MES.order.Dto; using DOAN.Model.MES.order; using DOAN.Model.System.Dto; using DOAN.Model; using DOAN.Model.System; using MiniExcelLibs; //创建时间:2025-02-17 namespace DOAN.Admin.WebApi.Controllers { /// /// 采购订单 /// [Verify] [Route("mes/orderManagement/OrderPurchase")] public class OrderPurchaseController : BaseController { /// /// 采购订单接口 /// private readonly IOrderPurchaseService _OrderPurchaseService; public OrderPurchaseController(IOrderPurchaseService OrderPurchaseService) { _OrderPurchaseService = OrderPurchaseService; } /// /// 查询采购订单列表 /// /// /// [HttpGet("list")] [ActionPermissionFilter(Permission = "orderpurchase:list")] public IActionResult QueryOrderPurchase([FromQuery] OrderPurchaseQueryDto parm) { var response = _OrderPurchaseService.GetList(parm); return SUCCESS(response); } /// /// 查询采购订单详情 /// /// /// [HttpGet("{Id}")] [ActionPermissionFilter(Permission = "orderpurchase:query")] public IActionResult GetOrderPurchase(string Id) { var response = _OrderPurchaseService.GetInfo(Id); var info = response.Adapt(); return SUCCESS(info); } /// /// 添加采购订单 /// /// [HttpPost] [ActionPermissionFilter(Permission = "orderpurchase:add")] [Log(Title = "采购订单", BusinessType = BusinessType.INSERT)] public IActionResult AddOrderPurchase([FromBody] OrderPurchaseDto parm) { var modal = parm.Adapt().ToCreate(HttpContext); var response = _OrderPurchaseService.AddOrderPurchase(modal); return SUCCESS(response); } /// /// 更新采购订单 /// /// [HttpPut] [ActionPermissionFilter(Permission = "orderpurchase:edit")] [Log(Title = "采购订单", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateOrderPurchase([FromBody] OrderPurchaseDto parm) { var modal = parm.Adapt().ToUpdate(HttpContext); var response = _OrderPurchaseService.UpdateOrderPurchase(modal); return ToResponse(response); } /// /// 删除采购订单 /// /// [HttpPost("delete/{ids}")] [ActionPermissionFilter(Permission = "orderpurchase:delete")] [Log(Title = "采购订单", BusinessType = BusinessType.DELETE)] public IActionResult DeleteOrderPurchase([FromRoute]string ids) { var idArr = Tools.SplitAndConvert(ids); return ToResponse(_OrderPurchaseService.Delete(idArr)); } //TODO 下载模版 /// /// 导入模板下载 /// /// [HttpGet("importTemplate")] [Log(Title = "订单模板", BusinessType = BusinessType.EXPORT, IsSaveRequestData = true, IsSaveResponseData = false)] [AllowAnonymous] public IActionResult ImportTemplateExcel() { (string, string) result = DownloadImportTemplate("order"); return ExportExcel(result.Item2, result.Item1); } /// /// 采购导入 /// /// 使用IFromFile必须使用name属性否则获取不到文件 /// [HttpPost("importData")] [Log(Title = "采购导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false, IsSaveResponseData = true)] [ActionPermissionFilter(Permission = "system:user:import")] public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile) { if (formFile == null) { return SUCCESS(null); } int response = _OrderPurchaseService.ImportData(formFile, HttpContext.GetName()); return SUCCESS(response); } /// /// 采购订单excel导出 /// /// /// [HttpGet("export")] [Log(Title = "用户导出", BusinessType = BusinessType.EXPORT)] [ActionPermissionFilter(Permission = "system:user:export")] public IActionResult UserExport([FromQuery] OrderPurchaseQueryDto order) { var list = _OrderPurchaseService.SelectOrderList(order); var result = ExportExcelMini(list, "order", "采购订单列表"); return ExportExcel(result.Item2, result.Item1); } } }