/// <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;
            }));
        }
Exemple #2
0
        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();
                });
            }
        }
Exemple #4
0
 public ResultMessage <long> BuildReport([FromBody] BuildReportRequestDto request)
 {
     return(_assembler.BuildReport(request));
 }