using DS.Module.Core; using DS.Module.ExcelModule; using DS.Module.ExcelModule.Model; using DS.Module.PrintModule; using DS.WMS.Core.Code.Interface; using LanguageExt.Common; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; namespace DS.WMS.MainApi.Controllers { /// /// 打印服务 模块 /// public class PrintController : ApiController { private readonly IPrintService _invokeService; /// /// 构造函数 /// /// public PrintController(IPrintService invokeService) { _invokeService = invokeService; } /// /// 获取打印模块列表 /// /// [HttpGet] [Route("GetOpenPrintModuleList")] public DataResult GetOpenPrintModuleList() { return _invokeService.GetOpenPrintModuleList(); } /// /// 获取打印模板列表 /// /// [HttpGet] [Route("GetOpenPrintTemplateList")] public DataResult GetOpenPrintTemplateList([FromQuery] string id) { return _invokeService.GetOpenPrintTemplateList(id); } /// /// 获取打印模板列表-异步 /// /// [HttpGet] [Route("GetOpenPrintTemplateListAsync")] public async Task GetOpenPrintTemplateListAsync([FromQuery] string id) { return await _invokeService.GetOpenPrintTemplateListAsync(id); } /// /// 获取Json打印信息 /// /// /// [HttpPost] [Route("GetOpenJsonPrintInfo")] public DataResult GetOpenJsonPrintInfo([FromBody] OpenJsonPrintReq req) { var res =_invokeService.GetOpenJsonPrintInfo(req); return res; } /// /// 获取Json打印信息-异步 /// /// /// [HttpPost] [Route("GetOpenJsonPrintInfoAsync")] public async Task GetOpenJsonPrintInfoAsync([FromBody] OpenJsonPrintReq req) { var res = await _invokeService.GetOpenJsonPrintInfoAsync(req); return res; } ///// ///// 获取Json打印信息Stream ///// ///// ///// //[HttpPost] //[Obsolete] //[Route("GetOpenJsonPrintStream")] //public IActionResult GetOpenJsonPrintStream([FromBody] OpenJsonPrintReq req) //{ // var res = _invokeService.GetOpenJsonPrintStream(req); // if (res.Succeeded) // { // var printData = res.Data.PrintData; // //HttpContext.Response.Headers.Add("Content-Length", printData.Length.ToString()); // HttpContext.Response.Headers.Add("Content-Type", "charset=UTF-8"); // Byte[] info = Convert.FromBase64String(printData); // if (res.Data.PrintType == "1") // { // return File(info, "application/octet-stream;charset=UTF-8", "test.pdf"); // } // else if (res.Data.PrintType == "2") // { // return File(info, "application/octet-stream;charset=UTF-8", Guid.NewGuid() + ".xlsx"); // } // else // { // return File(info, "application/octet-stream;charset=UTF-8", Guid.NewGuid() + ".doc"); // } // } // else // { // throw new Exception(res.Message); // } //} } }