/// <summary> /// 生成报表 /// </summary> /// <param name="request"></param> /// <returns></returns> public ResultMessage <long> BuildReport(BuildReportRequestDto request) { var response = new ResultMessage <long>() { err_code = 400, err_msg = "错误", }; return(Logger("生成报表接口", () => { var eventNo = GenerateEventNo(); response.body = eventNo; var log = new log_report_build() { is_finish = 0, report_build_date = DateTime.Now, report_event_no = eventNo, }; _log_report_buildRep.Add(log); //加入队列 BackgroundJob.Enqueue <ReportService>(r => r.Async_BuildReport(request, eventNo)); response.err_code = 200; response.err_msg = "成功"; return response; }, ErrorHandles.Continue, LogModes.Error, ex => { return response; })); }
public ResultMessage <long> BuildReport(BuildReportRequestDto request) { var response = new ResultMessage <long>(); var result = _service.BuildReport(request); response.body = result.body; response.err_code = result.err_code; response.err_msg = result.err_msg; return(response); }
public void Async_BuildReport(BuildReportRequestDto request, long eventNo) { { Logger("生成报表接口 自动后台", () => { //取数 var objInventory = _inventoryRep.Find(r => r.SapId == request.sap_id).ToList(); #region 生成Excel到本地 var excel = new ExcelHelper(); //excel2003 var excel_name = string.Empty; var file_name = string.Empty; //excel_name=eventNo + ".xls"; //file_name = Path.Combine("c://excel//", excel_name); //excel.ExportOneSheepExcel2003(objInventory,file_name); //excel2007 excel_name = eventNo + ".xlsx"; file_name = Path.Combine("c://excel//", excel_name); excel.ExportOneSheepExcel2007(objInventory, file_name); #endregion #region 到云的存储桶 //todo #endregion #region 更新报表记录 var obj = _log_report_buildRep.Find(r => r.report_event_no == eventNo).FirstOrDefault(); obj.is_finish = 1; obj.report_build_finish_date = DateTime.Now; _log_report_buildRep.Update(obj); #endregion }, ErrorHandles.Continue, LogModes.Error, ex => { // db.Rollback(); }); } }
public ResultMessage <long> BuildReport([FromBody] BuildReportRequestDto request) { return(_assembler.BuildReport(request)); }