using KGIS.Framework.Common; using KGIS.Framework.Common.Interface; using KGIS.Framework.DBOperator; using KGIS.Framework.Platform; using KGIS.Framework.Utils; using kingo.Plugin.BGResultManager.Interface; using Kingo.Plugin.BGResultManager.Utility; using System; using System.IO; namespace Kingo.Plugin.BGResultManager.Services { /// /// 报表服务 /// public class ReportService : IReportService { /// /// 导出变更统计报表 /// /// /// public void ExportBGReport(EnumReportType pReportType, string pExprotPath) { try { string sTheElementEmptyExcelName = ""; string sFromPath_Temp = ""; BGReportBasicOperate iBGReportBasicOperate1 = new BGReportBasicOperate(); string sShowExcelPath = iBGReportBasicOperate1.GetShowExcelPath(pReportType); if (File.Exists(sShowExcelPath) == false) { //MessageBox.Show("请先生成报表数据"); #region 拷贝空表 sTheElementEmptyExcelName = iBGReportBasicOperate1.GetExcelModelNameByBGReportType(pReportType); sFromPath_Temp = AppDomain.CurrentDomain.BaseDirectory + "TempalateReports\\统一时点更新统计表\\原样表\\" + sTheElementEmptyExcelName; if (File.Exists(sFromPath_Temp) == false) { //MessageHelper.Show(sReportName + "原文件 " + sTheElementEmptyExcelName + " 获取失败,故 报表生成 失败"); //LogAPI.Debug(sTheElementEmptyExcelName + " 原Excel模板 获取失败,故 报表生成 失败"); return; } File.Copy(sFromPath_Temp, pExprotPath + ".xlsx", true);//拷贝空表 #endregion } else { File.Copy(sShowExcelPath, pExprotPath + ".xlsx", true); } return; } catch (Exception ex) { LogAPI.Debug(string.Format("{0}导出时发生异常!异常信息如下:", pReportType.ToString())); LogAPI.Debug(ex); LogAPI.Debug("异常信息结束。"); } } /// /// 导出变更统计报表 /// /// /// public void ExportBGReportNEW(string saveCurrentPath, IRDBHelper dbHelper, string reportType, string ncsjPath) { try { ReportEntityClass reportEntityClass = new ReportEntityClass(); reportEntityClass.ReportType = (ReportTypeEnum)System.Enum.Parse(typeof(ReportTypeEnum), reportType); StatisticalReportClass reportClass = new StatisticalReportClass(); reportClass.NULLExport(saveCurrentPath, dbHelper, reportEntityClass, ncsjPath); return; } catch (Exception ex) { LogAPI.Debug(string.Format("{0}导出时发生异常!异常信息如下:", reportType)); LogAPI.Debug(ex); LogAPI.Debug("异常信息结束。"); } } /// /// 导出整库统计报表 /// /// /// public void ExportZKReport(EnumReportType pReportType, string pExprotPath) { try { string sTheElementEmptyExcelName = ""; string sFromPath_Temp = ""; Utility.ZKReportBasicOperate iZKReportBasicOperate1 = new Utility.ZKReportBasicOperate(); string sShowExcelPath = iZKReportBasicOperate1.GetShowExcelPath(pReportType); if (File.Exists(sShowExcelPath) == false) { //MessageBox.Show("请先生成报表数据"); #region 拷贝空表 sTheElementEmptyExcelName = iZKReportBasicOperate1.GetExcelModelNameByZKReportType(pReportType); sFromPath_Temp = AppDomain.CurrentDomain.BaseDirectory + "TempalateReports\\整库统计表\\原样表\\" + sTheElementEmptyExcelName; if (File.Exists(sFromPath_Temp) == false) { //MessageHelper.Show(sReportName + "原文件 " + sTheElementEmptyExcelName + " 获取失败,故 报表生成 失败"); //LogAPI.Debug(sTheElementEmptyExcelName + " 原Excel模板 获取失败,故 报表生成 失败"); return; } File.Copy(sFromPath_Temp, pExprotPath + ".xlsx", true);//拷贝空表 #endregion } else { File.Copy(sShowExcelPath, pExprotPath + ".xlsx", true); } return; } catch (Exception ex) { LogAPI.Debug(string.Format("{0}导出时发生异常!异常信息如下:", pReportType.ToString())); LogAPI.Debug(ex); LogAPI.Debug("异常信息结束。"); } } /// /// 导出变更年末库 /// /// /// /// public void ExportBGNMKReport(string pReportType, string sNMKMDBPath, string sPath) { IStatisticExport exprotReport = new ExportHelper(); exprotReport.AreaUnit = ReportFileTypeEnum.DBGQ; exprotReport.OutPath = sPath; try { //exprotReport.ExportBGNMKReport((ReportTypeEnum)System.Enum.Parse(typeof(ReportTypeEnum), pReportType), sNMKMDBPath); } catch (Exception ex) { LogAPI.Debug(ex); } } /// /// 导出word /// /// /// public void ExportWordReport(string pReportType, string sPath) { //IStatisticExport exprotReport2 = new ExportHelper(); //exprotReport2.AreaUnit = ReportFileTypeEnum.DBGQ; //exprotReport2.OutPath = sPath; //exprotReport2.ExportWordReport((ReportTypeEnum)System.Enum.Parse(typeof(ReportTypeEnum), pReportType)); } /// /// 初始化基础统计表(面积公顷) /// /// /// public void InitMJHZJCTJBData(string sNMK_MDBPath, string path) { //NMKMJHZJCTJBHelper mjhzjctjbhelper = new NMKMJHZJCTJBHelper(); //mjhzjctjbhelper.NMK_MDBPath = sNMK_MDBPath; //mjhzjctjbhelper.TempMDBPath = path; //if ((MapsManager.Instance.MapService.GetProjectInfo() as ProjectInfo).DCMJHD2>0) //{ // mjhzjctjbhelper.InitMJHZJCTJBData((MapsManager.Instance.MapService.GetProjectInfo() as ProjectInfo).DCMJ2.ToDecimal(), (MapsManager.Instance.MapService.GetProjectInfo() as ProjectInfo).DCMJHD2.ToDecimal()); //} //else //{ // mjhzjctjbhelper.InitMJHZJCTJBData((MapsManager.Instance.MapService.GetProjectInfo() as ProjectInfo).DCMJ2.ToDecimal(), 0); //} } /// /// 获取行政区字典 /// /// /// public BasicDataModel[] GetXZQDic(int pLevel) { try { return StatisticalReportClass.GetXZQDic(pLevel); } catch (Exception ex) { LogAPI.Debug(ex); return null; } } } }