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;
using Infrastructure.Converter;
//创建时间: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;
}
///
/// 查询采购订单列表
///
///
///
[HttpPost("list")]
[ActionPermissionFilter(Permission = "orderpurchase:list")]
public IActionResult QueryOrderPurchase([FromBody] OrderPurchaseQueryDto parm)
{
parm.ImportDate[0]= DOANConvertDate.ConvertLocalDate(parm.ImportDate[0]);
parm.ImportDate[1]= DOANConvertDate.ConvertLocalDate(parm.ImportDate[1]);
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属性否则获取不到文件
/// true-追加导入 false-覆盖导入
///
[HttpPost("importData")]
[Log(Title = "采购导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false, IsSaveResponseData = true)]
[AllowAnonymous]
public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile,bool? uploadType)
{
if (formFile == null)
{
return SUCCESS(null);
}
int response = _OrderPurchaseService.ImportData(formFile, HttpContext.GetName(), uploadType);
return SUCCESS(response);
}
///
/// 采购订单excel导出
///
///
///
[HttpGet("export")]
[Log(Title = "用户导出", BusinessType = BusinessType.EXPORT)]
[AllowAnonymous]
public IActionResult UserExport([FromQuery] OrderPurchaseQueryDto order)
{
var list = _OrderPurchaseService.SelectOrderList(order);
var result = ExportExcelMini(list, "order", "采购订单列表");
return ExportExcel(result.Item2, result.Item1);
}
}
}