using Dapper; using FastReport; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Management; using System.Net; using System.Net.Http; using System.Threading.Tasks; using System.Web; using System.Web.Http; using VueWebApi.DLL.BLL; using VueWebApi.Tools; namespace VueWebApi.Controllers { [RoutePrefix(prefix: "api/GridReport")] [ControllerGroup("单据打印", "在线接口")] public class GridReportController : ApiController { //定义全局信息返回变量 ToMessage mes = new ToMessage(); RedisHelper redis = new RedisHelper(); #region[MES工单打印] /// /// MES工单打印 /// /// 登录用户 /// 工单编号 [Route(template: "MesOrderPrintSearch")] [HttpPost] public HttpResponseMessage MesOrderPrintSearch(string username,string mesordercode) { mes = GridReportBLL.MesOrderPrintSearch(username,mesordercode); return TJson.toJson(mes); } #endregion #region[MES工单打印1] /// /// MES工单打印1 /// /// 提交数据 /// [Route(template: "MesOrderPrintSearch1")] [HttpPost] public HttpResponseMessage MesOrderPrintSearch1([FromBody] JObject obj) { string username = obj["username"].ToString(); //登录用户 string mesordercode = obj["mesordercode"].ToString(); //工单状态码 mes = GridReportBLL.MesOrderPrintSearch(username, mesordercode); return TJson.toJson(mes); } #endregion #region[FastReport打印] [Route(template: "PrintOrder")] [HttpPost] [HiddenApi] public void PrintOrder([FromBody] JObject obj) { try { string username = obj["username"].ToString(); //登录用户 string mesordercode = obj["mesordercode"].ToString(); //工单状态码 PrintMessage dt = GridReportBLL.MesOrderFastReportPrintSearch(username, mesordercode); if (dt.data == null) { throw new Exception(dt.Message); } Report report = new Report(); //report.PrintSettings.Printer = ((String)report.GetColumnValue("Microsoft XPS Document Writer")); //默认不显示打印机选择页面 //string filename = this.Server.MapPath("~/bin/YLDH.frx");//调用报表 //report.PrintSettings.Printer = ((String)report.GetColumnValue("Microsoft XPS Document Writer")); //report.PrintSettings.Printer = ((String)report.GetColumnValue("192.168.1.109/Canon G2010 series")); report.PrintSettings.Printer = ((String)report.GetColumnValue("")); //获取本地默认打印机 string reportLabel = System.Web.HttpContext.Current.Server.MapPath("/grf/Rework.frx"); LogHelper.WriteLogData("文件地址:"+ reportLabel); //FastReport.EnvironmentSettings eSet = new EnvironmentSettings(); //eSet.ReportSettings.ShowProgress = false; report.Load(reportLabel); report.PrintSettings.ShowDialog = true; //report.Load(filename); dt.data.TableName = "Table1"; // 一定要设置表名称 DataSet ds = new DataSet(); ds.Tables.Add(dt.data); report.RegisterData(ds); report.Print(); report.Dispose(); LogHelper.WriteLogData("序列化通过5"); } catch (Exception e) { throw; } } #endregion } }