|  |  |  | 
|---|
|  |  |  | 锘縰sing Microsoft.AspNetCore.Authorization; | 
|---|
|  |  |  | 锘縰sing Autofac.Core; | 
|---|
|  |  |  | using Microsoft.AspNetCore.Authorization; | 
|---|
|  |  |  | using Microsoft.AspNetCore.Http; | 
|---|
|  |  |  | using Microsoft.AspNetCore.Mvc; | 
|---|
|  |  |  | using Microsoft.Extensions.Options; | 
|---|
|  |  |  | using SqlSugar; | 
|---|
|  |  |  | using System.Reflection; | 
|---|
|  |  |  | using WIDESEA_Core; | 
|---|
|  |  |  | using WIDESEA_Core.BaseController; | 
|---|
|  |  |  | using WIDESEA_DTO.Stock; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | namespace WIDESEA_WMSServer.Controllers.Stock | 
|---|
|  |  |  | { | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | /// 搴撳瓨瑙嗗浘 | 
|---|
|  |  |  | /// </summary> | 
|---|
|  |  |  | [Route("api/StockView")] | 
|---|
|  |  |  | [Authorize, ApiController] | 
|---|
|  |  |  | public class StockViewController : Controller | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return _stockViewService.GetDetailPage(pageData); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | /// 瀵煎嚭鏁版嵁 | 
|---|
|  |  |  | /// </summary> | 
|---|
|  |  |  | /// <param name="loadData"></param> | 
|---|
|  |  |  | /// <returns></returns> | 
|---|
|  |  |  | [HttpPost, Route("Export")] | 
|---|
|  |  |  | public virtual ActionResult Export([FromBody] PageDataOptions loadData) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | WebResponseContent result = InvokeService("Export", new object[] { loadData }) as WebResponseContent; | 
|---|
|  |  |  | if (result.Status) | 
|---|
|  |  |  | return File( | 
|---|
|  |  |  | System.IO.File.ReadAllBytes(result.Data.ToString()), | 
|---|
|  |  |  | System.Net.Mime.MediaTypeNames.Application.Octet, | 
|---|
|  |  |  | Path.GetFileName(result.Data.ToString()) | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | return Json(result); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | private object InvokeService(string methodName, object[] parameters) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Type t = _stockViewService.GetType(); | 
|---|
|  |  |  | List<Type> types = new List<Type>(); | 
|---|
|  |  |  | foreach (var param in parameters) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | types.Add(param.GetType()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | MethodInfo method = t.GetMethod(methodName, types.ToArray()); | 
|---|
|  |  |  | return method.Invoke(_stockViewService, parameters); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|