├── CHANGELOG.md ├── ISSUE_TEMPLATE.md ├── LICENSE.txt ├── README-zh_CN.md ├── README.md ├── docs ├── EXPRESSION.md ├── REPORT-MODEL.md ├── STORAGE-DATASOURCE.md └── images │ ├── bean-datasource.png │ ├── buildin-dialog.png │ ├── caseexpr.png │ ├── cell-parent.png │ ├── datasource-tools.png │ ├── db-config.png │ ├── designer.png │ ├── ifexpr.png │ ├── method-dialog.png │ ├── qq-qrcode.png │ ├── s1-runtime.png │ ├── s1-runtime1.png │ ├── s1.png │ ├── s2-runtime.png │ ├── s2-runtime1.png │ ├── s2.png │ ├── s3-runtime.png │ ├── s3.png │ ├── s4-runtime.png │ ├── s4.png │ ├── s5-runtime.png │ ├── s5.png │ ├── s6-runtime.png │ ├── s6.png │ ├── s7-expr.png │ ├── s7-runtime.png │ ├── s7.png │ ├── save-dialog.png │ └── ternaryexpr.png ├── ureport2-console ├── .classpath ├── .gitignore ├── .project ├── .settings │ ├── de.loskutov.FileSync.prefs │ ├── org.eclipse.core.resources.prefs │ ├── org.eclipse.jdt.core.prefs │ ├── org.eclipse.m2e.core.prefs │ ├── org.eclipse.wst.common.component │ ├── org.eclipse.wst.common.project.facet.core.xml │ └── org.eclipse.wst.validation.prefs ├── LICENSE-2.0.html ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bstek │ │ └── ureport │ │ └── console │ │ ├── BaseServletAction.java │ │ ├── MobileUtils.java │ │ ├── RenderPageServletAction.java │ │ ├── RequestHolder.java │ │ ├── ServletAction.java │ │ ├── UReportServlet.java │ │ ├── WriteJsonServletAction.java │ │ ├── cache │ │ ├── HttpSessionReportCache.java │ │ ├── ObjectMap.java │ │ └── TempObjectCache.java │ │ ├── chart │ │ └── ChartServletAction.java │ │ ├── designer │ │ ├── DataResult.java │ │ ├── DatasourceServletAction.java │ │ ├── DesignerServletAction.java │ │ ├── ReportDefinitionWrapper.java │ │ ├── ReportUtils.java │ │ └── SearchFormDesignerAction.java │ │ ├── excel │ │ ├── ExportExcel97ServletAction.java │ │ └── ExportExcelServletAction.java │ │ ├── exception │ │ └── ReportDesignException.java │ │ ├── html │ │ ├── HtmlPreviewServletAction.java │ │ └── Tools.java │ │ ├── image │ │ └── ImageServletAction.java │ │ ├── importexcel │ │ ├── ExcelParser.java │ │ ├── HSSFExcelParser.java │ │ ├── ImportExcelServletAction.java │ │ ├── Span.java │ │ └── XSSFExcelParser.java │ │ ├── pdf │ │ └── ExportPdfServletAction.java │ │ ├── res │ │ └── ResourceLoaderServletAction.java │ │ └── word │ │ └── ExportWordServletAction.java │ └── resources │ ├── template │ └── template.ureport.xml │ ├── ureport-asserts │ ├── css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap-theme.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ ├── bootstrap.min.css.map │ │ └── handsontable.min.css │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ ├── icons │ │ ├── barcode.svg │ │ ├── end.svg │ │ ├── excel-paging.svg │ │ ├── excel-with-paging-sheet.svg │ │ ├── excel.svg │ │ ├── expand-down.svg │ │ ├── expand-right.svg │ │ ├── expr-expand-down.svg │ │ ├── expr-expand-right.svg │ │ ├── expression .svg │ │ ├── expression.svg │ │ ├── first.svg │ │ ├── image.svg │ │ ├── loading.gif │ │ ├── loading.svg │ │ ├── next.svg │ │ ├── pdf-direct-print.svg │ │ ├── pdf-print.svg │ │ ├── pdf.svg │ │ ├── prev.svg │ │ ├── print.svg │ │ ├── property.svg │ │ ├── qrcode.svg │ │ └── word.svg │ ├── js │ │ ├── common.bundle.js │ │ ├── designer.bundle.js │ │ ├── preview.bundle.js │ │ └── searchform.bundle.js │ └── venderjs │ │ ├── Chart.bundle.min.js │ │ ├── bootstrap-colorpicker.min.js │ │ ├── bootstrap-datetimepicker.js │ │ ├── bootstrap.min.js │ │ ├── chartjs-plugin-datalabels.min.js │ │ ├── completer.min.js │ │ ├── jquery-ui.min.js │ │ ├── jquery.contextMenu.min.js │ │ └── jquery.min.js │ ├── ureport-console-context.xml │ └── ureport-html │ ├── designer.html │ ├── html-preview.html │ └── searchform.html ├── ureport2-core ├── .classpath ├── .project ├── .settings │ ├── com.github.jknack.antlr4ide.Antlr4.prefs │ ├── org.eclipse.core.resources.prefs │ ├── org.eclipse.jdt.core.prefs │ ├── org.eclipse.m2e.core.prefs │ ├── org.eclipse.wst.common.component │ ├── org.eclipse.wst.common.project.facet.core.xml │ └── org.eclipse.wst.validation.prefs ├── LICENSE-2.0.html ├── dsl │ ├── ReportLexer.g4 │ └── ReportParser.g4 ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── bstek │ │ │ └── ureport │ │ │ ├── CellRenderer.java │ │ │ ├── Range.java │ │ │ ├── UReportPropertyPlaceholderConfigurer.java │ │ │ ├── Utils.java │ │ │ ├── build │ │ │ ├── BindData.java │ │ │ ├── Context.java │ │ │ ├── DataCompute.java │ │ │ ├── Dataset.java │ │ │ ├── DatasetUtils.java │ │ │ ├── HideRowColumnBuilder.java │ │ │ ├── ReportBuilder.java │ │ │ ├── Splash.java │ │ │ ├── aggregate │ │ │ │ ├── Aggregate.java │ │ │ │ ├── AvgAggregate.java │ │ │ │ ├── CountAggregate.java │ │ │ │ ├── CustomGroupAggregate.java │ │ │ │ ├── GroupAggregate.java │ │ │ │ ├── MaxAggregate.java │ │ │ │ ├── MinAggregate.java │ │ │ │ ├── RegroupAggregate.java │ │ │ │ ├── ReselectAggregate.java │ │ │ │ ├── SelectAggregate.java │ │ │ │ └── SumAggregate.java │ │ │ ├── assertor │ │ │ │ ├── AbstractAssertor.java │ │ │ │ ├── Assertor.java │ │ │ │ ├── EqualsAssertor.java │ │ │ │ ├── EqualsGreatThenAssertor.java │ │ │ │ ├── EqualsLessThenAssertor.java │ │ │ │ ├── GreatThenAssertor.java │ │ │ │ ├── InAssertor.java │ │ │ │ ├── LessThenAssertor.java │ │ │ │ ├── LikeAssertor.java │ │ │ │ ├── NotEqualsAssertor.java │ │ │ │ └── NotInAssertor.java │ │ │ ├── cell │ │ │ │ ├── CellBuilder.java │ │ │ │ ├── DuplicateType.java │ │ │ │ ├── ExpandBuilder.java │ │ │ │ ├── NoneExpandBuilder.java │ │ │ │ ├── down │ │ │ │ │ ├── CellDownDuplicateUnit.java │ │ │ │ │ ├── CellDownDuplicator.java │ │ │ │ │ ├── DownBlankCellApply.java │ │ │ │ │ ├── DownDuplicate.java │ │ │ │ │ ├── DownDuplocatorWrapper.java │ │ │ │ │ └── DownExpandBuilder.java │ │ │ │ └── right │ │ │ │ │ ├── CellRightDuplicateUnit.java │ │ │ │ │ ├── CellRightDuplicator.java │ │ │ │ │ ├── RightBlankCellApply.java │ │ │ │ │ ├── RightDuplicate.java │ │ │ │ │ ├── RightDuplocatorWrapper.java │ │ │ │ │ └── RightExpandBuilder.java │ │ │ ├── compute │ │ │ │ ├── ChartValueCompute.java │ │ │ │ ├── DatasetValueCompute.java │ │ │ │ ├── ExpressionValueCompute.java │ │ │ │ ├── ImageValueCompute.java │ │ │ │ ├── SimpleValueCompute.java │ │ │ │ ├── SlashValueCompute.java │ │ │ │ ├── ValueCompute.java │ │ │ │ └── ZxingValueCompute.java │ │ │ └── paging │ │ │ │ ├── BasePagination.java │ │ │ │ ├── FitPagePagination.java │ │ │ │ ├── FixRowsPagination.java │ │ │ │ ├── HeaderFooter.java │ │ │ │ ├── Page.java │ │ │ │ ├── Pagination.java │ │ │ │ ├── PagingBuilder.java │ │ │ │ └── RepeatRows.java │ │ │ ├── cache │ │ │ ├── CacheUtils.java │ │ │ ├── DefaultMemoryReportDefinitionCache.java │ │ │ ├── ReportCache.java │ │ │ ├── ReportDefinitionCache.java │ │ │ └── ResourceCache.java │ │ │ ├── chart │ │ │ ├── Chart.java │ │ │ ├── ChartData.java │ │ │ ├── FontStyle.java │ │ │ ├── axes │ │ │ │ ├── Axes.java │ │ │ │ ├── BaseAxes.java │ │ │ │ ├── ScaleLabel.java │ │ │ │ ├── XPosition.java │ │ │ │ ├── YPosition.java │ │ │ │ └── impl │ │ │ │ │ ├── XAxes.java │ │ │ │ │ └── YAxes.java │ │ │ ├── dataset │ │ │ │ ├── BaseDataset.java │ │ │ │ ├── BubbleData.java │ │ │ │ ├── CollectType.java │ │ │ │ ├── Dataset.java │ │ │ │ ├── PointStyle.java │ │ │ │ ├── ScatterData.java │ │ │ │ └── impl │ │ │ │ │ ├── BubbleDataset.java │ │ │ │ │ ├── MixDataset.java │ │ │ │ │ ├── ScatterDataset.java │ │ │ │ │ └── category │ │ │ │ │ ├── AreaDataset.java │ │ │ │ │ ├── BarDataset.java │ │ │ │ │ ├── CategoryDataset.java │ │ │ │ │ ├── DoughnutDataset.java │ │ │ │ │ ├── HorizontalBarDataset.java │ │ │ │ │ ├── LineDataset.java │ │ │ │ │ ├── PieDataset.java │ │ │ │ │ ├── PolarDataset.java │ │ │ │ │ ├── RadarDataset.java │ │ │ │ │ └── SeriesType.java │ │ │ ├── option │ │ │ │ ├── Easing.java │ │ │ │ ├── Labels.java │ │ │ │ ├── Option.java │ │ │ │ ├── Padding.java │ │ │ │ ├── Position.java │ │ │ │ └── impl │ │ │ │ │ ├── AnimationsOption.java │ │ │ │ │ ├── LayoutOption.java │ │ │ │ │ ├── LegendOption.java │ │ │ │ │ ├── TitleOption.java │ │ │ │ │ └── TooltipOption.java │ │ │ └── plugins │ │ │ │ ├── DataLabelsPlugin.java │ │ │ │ └── Plugin.java │ │ │ ├── definition │ │ │ ├── Alignment.java │ │ │ ├── Band.java │ │ │ ├── BlankCellInfo.java │ │ │ ├── Border.java │ │ │ ├── BorderStyle.java │ │ │ ├── CellDefinition.java │ │ │ ├── CellStyle.java │ │ │ ├── ColumnDefinition.java │ │ │ ├── ConditionCellStyle.java │ │ │ ├── ConditionPaging.java │ │ │ ├── ConditionPropertyItem.java │ │ │ ├── Expand.java │ │ │ ├── HeaderFooterDefinition.java │ │ │ ├── HtmlReportAlign.java │ │ │ ├── LinkParameter.java │ │ │ ├── Order.java │ │ │ ├── Orientation.java │ │ │ ├── PagingMode.java │ │ │ ├── PagingPosition.java │ │ │ ├── Paper.java │ │ │ ├── PaperSize.java │ │ │ ├── PaperType.java │ │ │ ├── ReportDefinition.java │ │ │ ├── RowDefinition.java │ │ │ ├── Scope.java │ │ │ ├── dataset │ │ │ │ ├── BeanDatasetDefinition.java │ │ │ │ ├── DatasetDefinition.java │ │ │ │ ├── Field.java │ │ │ │ ├── Parameter.java │ │ │ │ └── SqlDatasetDefinition.java │ │ │ ├── datasource │ │ │ │ ├── BuildinDatasource.java │ │ │ │ ├── BuildinDatasourceDefinition.java │ │ │ │ ├── DataType.java │ │ │ │ ├── DatasourceDefinition.java │ │ │ │ ├── DatasourceProvider.java │ │ │ │ ├── DatasourceType.java │ │ │ │ ├── JdbcDatasourceDefinition.java │ │ │ │ └── SpringBeanDatasourceDefinition.java │ │ │ ├── mapping │ │ │ │ ├── MappingItem.java │ │ │ │ └── MappingType.java │ │ │ ├── searchform │ │ │ │ ├── Align.java │ │ │ │ ├── ButtonComponent.java │ │ │ │ ├── CheckboxInputComponent.java │ │ │ │ ├── ColComponent.java │ │ │ │ ├── Component.java │ │ │ │ ├── ContainerComponent.java │ │ │ │ ├── DateInputComponent.java │ │ │ │ ├── FormPosition.java │ │ │ │ ├── GridComponent.java │ │ │ │ ├── InputComponent.java │ │ │ │ ├── LabelPosition.java │ │ │ │ ├── Option.java │ │ │ │ ├── RadioInputComponent.java │ │ │ │ ├── RenderContext.java │ │ │ │ ├── ResetButtonComponent.java │ │ │ │ ├── SearchForm.java │ │ │ │ ├── SelectInputComponent.java │ │ │ │ ├── SubmitButtonComponent.java │ │ │ │ └── TextInputComponent.java │ │ │ └── value │ │ │ │ ├── AggregateType.java │ │ │ │ ├── ChartValue.java │ │ │ │ ├── DatasetValue.java │ │ │ │ ├── ExpressionValue.java │ │ │ │ ├── GroupItem.java │ │ │ │ ├── ImageValue.java │ │ │ │ ├── SimpleValue.java │ │ │ │ ├── Slash.java │ │ │ │ ├── SlashValue.java │ │ │ │ ├── Source.java │ │ │ │ ├── Value.java │ │ │ │ ├── ValueType.java │ │ │ │ ├── ZxingCategory.java │ │ │ │ └── ZxingValue.java │ │ │ ├── dsl │ │ │ ├── .gitignore │ │ │ ├── ReportLexer.java │ │ │ ├── ReportLexer.tokens │ │ │ ├── ReportParser.tokens │ │ │ ├── ReportParserBaseVisitor.java │ │ │ ├── ReportParserLexer.java │ │ │ ├── ReportParserLexer.tokens │ │ │ ├── ReportParserParser.java │ │ │ └── ReportParserVisitor.java │ │ │ ├── exception │ │ │ ├── CellComputeException.java │ │ │ ├── CellDependencyException.java │ │ │ ├── CellNotExistException.java │ │ │ ├── ConvertException.java │ │ │ ├── DatasetUndefinitionException.java │ │ │ ├── ExpressionParserException.java │ │ │ ├── IllegalCellExpandException.java │ │ │ ├── IndependenceException.java │ │ │ ├── ReportComputeException.java │ │ │ ├── ReportException.java │ │ │ ├── ReportPagingException.java │ │ │ └── ReportParseException.java │ │ │ ├── export │ │ │ ├── ExportConfigure.java │ │ │ ├── ExportConfigureImpl.java │ │ │ ├── ExportManager.java │ │ │ ├── ExportManagerImpl.java │ │ │ ├── FullPageData.java │ │ │ ├── PageBuilder.java │ │ │ ├── Producer.java │ │ │ ├── ReportRender.java │ │ │ ├── SinglePageData.java │ │ │ ├── builder │ │ │ │ ├── down │ │ │ │ │ ├── DownCellbuilder.java │ │ │ │ │ └── LeftParentCellCreator.java │ │ │ │ └── right │ │ │ │ │ ├── RightCellbuilder.java │ │ │ │ │ └── TopParentCellCreator.java │ │ │ ├── excel │ │ │ │ ├── high │ │ │ │ │ ├── CellStyleContext.java │ │ │ │ │ ├── ExcelProducer.java │ │ │ │ │ └── builder │ │ │ │ │ │ ├── ExcelBuilder.java │ │ │ │ │ │ ├── ExcelBuilderDirect.java │ │ │ │ │ │ └── ExcelBuilderWithPaging.java │ │ │ │ └── low │ │ │ │ │ ├── CellStyleContext.java │ │ │ │ │ └── Excel97Producer.java │ │ │ ├── html │ │ │ │ ├── HtmlProducer.java │ │ │ │ ├── HtmlReport.java │ │ │ │ └── SearchFormData.java │ │ │ ├── pdf │ │ │ │ ├── CellBorderEvent.java │ │ │ │ ├── CellPhrase.java │ │ │ │ ├── PageHeaderFooterEvent.java │ │ │ │ ├── PdfProducer.java │ │ │ │ └── font │ │ │ │ │ ├── FontBuilder.java │ │ │ │ │ └── FontRegister.java │ │ │ └── word │ │ │ │ ├── DxaUtils.java │ │ │ │ ├── high │ │ │ │ ├── HeaderFooterBuilder.java │ │ │ │ ├── HeaderFooterExpressionBuilder.java │ │ │ │ └── WordProducer.java │ │ │ │ └── low │ │ │ │ └── WordProducer.java │ │ │ ├── expression │ │ │ ├── ErrorInfo.java │ │ │ ├── ExpressionUtils.java │ │ │ ├── ScriptErrorListener.java │ │ │ ├── function │ │ │ │ ├── AvgFunction.java │ │ │ │ ├── ColumnFunction.java │ │ │ │ ├── CountFunction.java │ │ │ │ ├── FormatDateFunction.java │ │ │ │ ├── FormatNumberFunction.java │ │ │ │ ├── Function.java │ │ │ │ ├── GetFunction.java │ │ │ │ ├── JsonFunction.java │ │ │ │ ├── ListFunction.java │ │ │ │ ├── MaxFunction.java │ │ │ │ ├── MinFunction.java │ │ │ │ ├── OrderFunction.java │ │ │ │ ├── ParameterFunction.java │ │ │ │ ├── ParameterIsEmptyFunction.java │ │ │ │ ├── RowFunction.java │ │ │ │ ├── SumFunction.java │ │ │ │ ├── date │ │ │ │ │ ├── CalendarFunction.java │ │ │ │ │ ├── DateFunction.java │ │ │ │ │ ├── DayFunction.java │ │ │ │ │ ├── MonthFunction.java │ │ │ │ │ ├── WeekFunction.java │ │ │ │ │ └── YearFunction.java │ │ │ │ ├── math │ │ │ │ │ ├── AbsFunction.java │ │ │ │ │ ├── CeilFunction.java │ │ │ │ │ ├── ChnFunction.java │ │ │ │ │ ├── ChnMoneyFunction.java │ │ │ │ │ ├── CosFunction.java │ │ │ │ │ ├── ExpFunction.java │ │ │ │ │ ├── FloorFunction.java │ │ │ │ │ ├── Log10Function.java │ │ │ │ │ ├── LogFunction.java │ │ │ │ │ ├── MathFunction.java │ │ │ │ │ ├── MedianFunction.java │ │ │ │ │ ├── ModeFunction.java │ │ │ │ │ ├── PowFunction.java │ │ │ │ │ ├── RandomFunction.java │ │ │ │ │ ├── RoundFunction.java │ │ │ │ │ ├── SinFunction.java │ │ │ │ │ ├── SqrtFunction.java │ │ │ │ │ ├── StdevpFunction.java │ │ │ │ │ ├── TanFunction.java │ │ │ │ │ └── VaraFunction.java │ │ │ │ ├── page │ │ │ │ │ ├── PageAvgFunction.java │ │ │ │ │ ├── PageCountFunction.java │ │ │ │ │ ├── PageFunction.java │ │ │ │ │ ├── PageMaxFunction.java │ │ │ │ │ ├── PageMinFunction.java │ │ │ │ │ ├── PageNumberFunction.java │ │ │ │ │ ├── PageRowsFunction.java │ │ │ │ │ ├── PageSumFunction.java │ │ │ │ │ └── PageTotalFunction.java │ │ │ │ └── string │ │ │ │ │ ├── IndexOfFunction.java │ │ │ │ │ ├── LengthFunction.java │ │ │ │ │ ├── LowerFunction.java │ │ │ │ │ ├── ReplaceFunction.java │ │ │ │ │ ├── StringFunction.java │ │ │ │ │ ├── SubstringFunction.java │ │ │ │ │ ├── TrimFunction.java │ │ │ │ │ └── UpperFunction.java │ │ │ ├── model │ │ │ │ ├── Condition.java │ │ │ │ ├── Expression.java │ │ │ │ ├── Op.java │ │ │ │ ├── Operator.java │ │ │ │ ├── UnitType.java │ │ │ │ ├── condition │ │ │ │ │ ├── BaseCondition.java │ │ │ │ │ ├── BothExpressionCondition.java │ │ │ │ │ ├── CellExpressionCondition.java │ │ │ │ │ ├── ConditionType.java │ │ │ │ │ ├── CurrentValueExpressionCondition.java │ │ │ │ │ ├── Join.java │ │ │ │ │ └── PropertyExpressionCondition.java │ │ │ │ ├── data │ │ │ │ │ ├── BindDataListExpressionData.java │ │ │ │ │ ├── ExpressionData.java │ │ │ │ │ ├── NoneExpressionData.java │ │ │ │ │ ├── ObjectExpressionData.java │ │ │ │ │ └── ObjectListExpressionData.java │ │ │ │ └── expr │ │ │ │ │ ├── BaseExpression.java │ │ │ │ │ ├── BooleanExpression.java │ │ │ │ │ ├── CellPositionExpression.java │ │ │ │ │ ├── CurrentCellDataExpression.java │ │ │ │ │ ├── CurrentCellValueExpression.java │ │ │ │ │ ├── ExpressionBlock.java │ │ │ │ │ ├── FunctionExpression.java │ │ │ │ │ ├── IntegerExpression.java │ │ │ │ │ ├── JoinExpression.java │ │ │ │ │ ├── NullExpression.java │ │ │ │ │ ├── NumberExpression.java │ │ │ │ │ ├── ParenExpression.java │ │ │ │ │ ├── RelativeCellExpression.java │ │ │ │ │ ├── StringExpression.java │ │ │ │ │ ├── VariableAssignExpression.java │ │ │ │ │ ├── VariableExpression.java │ │ │ │ │ ├── cell │ │ │ │ │ ├── CellObjectExpression.java │ │ │ │ │ └── CellValueExpression.java │ │ │ │ │ ├── dataset │ │ │ │ │ └── DatasetExpression.java │ │ │ │ │ ├── el │ │ │ │ │ └── ElUnit.java │ │ │ │ │ ├── ifelse │ │ │ │ │ ├── ElseExpression.java │ │ │ │ │ ├── ElseIfExpression.java │ │ │ │ │ ├── ExpressionCondition.java │ │ │ │ │ ├── ExpressionConditionList.java │ │ │ │ │ └── IfExpression.java │ │ │ │ │ └── set │ │ │ │ │ ├── CellConditionExpression.java │ │ │ │ │ ├── CellCoordinate.java │ │ │ │ │ ├── CellCoordinateExpression.java │ │ │ │ │ ├── CellCoordinateSet.java │ │ │ │ │ ├── CellExpression.java │ │ │ │ │ ├── CellPairExpression.java │ │ │ │ │ ├── CoordinateType.java │ │ │ │ │ ├── FromToExpression.java │ │ │ │ │ ├── SimpleValueSetExpression.java │ │ │ │ │ └── WholeCellExpression.java │ │ │ └── parse │ │ │ │ ├── ExpressionErrorListener.java │ │ │ │ ├── ExpressionVisitor.java │ │ │ │ └── builder │ │ │ │ ├── BaseExpressionBuilder.java │ │ │ │ ├── BooleanExpressionBuilder.java │ │ │ │ ├── CellObjectExpressionBuilder.java │ │ │ │ ├── CellPositionExpressionBuilder.java │ │ │ │ ├── CurrentCellDataExpressionBuilder.java │ │ │ │ ├── CurrentCellValueExpressionBuilder.java │ │ │ │ ├── DatasetExpressionBuilder.java │ │ │ │ ├── ExpressionBuilder.java │ │ │ │ ├── FunctionExpressionBuilder.java │ │ │ │ ├── IntegerExpressionBuilder.java │ │ │ │ ├── NullExpressionBuilder.java │ │ │ │ ├── NumberExpressionBuilder.java │ │ │ │ ├── RelativeCellExpressionBuilder.java │ │ │ │ ├── SetExpressionBuilder.java │ │ │ │ ├── StringExpressionBuilder.java │ │ │ │ └── VariableExpressionBuilder.java │ │ │ ├── image │ │ │ ├── ChartImageProcessor.java │ │ │ ├── ImageProcessor.java │ │ │ ├── ImageType.java │ │ │ ├── StaticImageProcessor.java │ │ │ ├── ZxingImageProcessor.java │ │ │ └── image-not-exist.jpg │ │ │ ├── model │ │ │ ├── Cell.java │ │ │ ├── Column.java │ │ │ ├── Image.java │ │ │ ├── Line.java │ │ │ ├── Report.java │ │ │ ├── ReportCell.java │ │ │ ├── Resource.java │ │ │ └── Row.java │ │ │ ├── parser │ │ │ ├── BuildUtils.java │ │ │ ├── Parser.java │ │ │ ├── ReportParser.java │ │ │ ├── SlashBuilder.java │ │ │ └── impl │ │ │ │ ├── CellParser.java │ │ │ │ ├── CellStyleParser.java │ │ │ │ ├── ColumnParser.java │ │ │ │ ├── ConditionPagingParser.java │ │ │ │ ├── ConditionParameterItemParser.java │ │ │ │ ├── DatasourceParser.java │ │ │ │ ├── HeaderFooterParser.java │ │ │ │ ├── LinkParameterParser.java │ │ │ │ ├── PaperParser.java │ │ │ │ ├── RowParser.java │ │ │ │ ├── searchform │ │ │ │ ├── CheckboxParser.java │ │ │ │ ├── DatetimeInputParser.java │ │ │ │ ├── FormParser.java │ │ │ │ ├── FormParserUtils.java │ │ │ │ ├── GridParser.java │ │ │ │ ├── RadioInputParser.java │ │ │ │ ├── ResetButtonParser.java │ │ │ │ ├── SearchFormParser.java │ │ │ │ ├── SelectInputParser.java │ │ │ │ ├── SubmitButtonParser.java │ │ │ │ └── TextInputParser.java │ │ │ │ └── value │ │ │ │ ├── ChartValueParser.java │ │ │ │ ├── DatasetValueParser.java │ │ │ │ ├── ExpressionValueParser.java │ │ │ │ ├── ImageValueParser.java │ │ │ │ ├── SimpleValueParser.java │ │ │ │ ├── SlashValueParser.java │ │ │ │ ├── ValueParser.java │ │ │ │ └── ZxingValueParser.java │ │ │ ├── provider │ │ │ ├── image │ │ │ │ ├── DefaultImageProvider.java │ │ │ │ ├── HttpImageProvider.java │ │ │ │ ├── HttpsImageProvider.java │ │ │ │ └── ImageProvider.java │ │ │ └── report │ │ │ │ ├── ReportFile.java │ │ │ │ ├── ReportProvider.java │ │ │ │ ├── classpath │ │ │ │ └── ClasspathReportProvider.java │ │ │ │ └── file │ │ │ │ └── FileReportProvider.java │ │ │ └── utils │ │ │ ├── ArithUtils.java │ │ │ ├── DataUtils.java │ │ │ ├── ElCompute.java │ │ │ ├── ImageUtils.java │ │ │ ├── ProcedureUtils.java │ │ │ └── UnitUtils.java │ └── resources │ │ ├── ureport-core-context.xml │ │ ├── ureport.properties │ │ └── ureport2.xsd │ └── test │ └── resources │ └── com │ └── bstek │ └── ureport │ └── test │ ├── template.html │ └── test.xml ├── ureport2-font ├── .classpath ├── .project ├── .settings │ ├── org.eclipse.core.resources.prefs │ ├── org.eclipse.jdt.core.prefs │ ├── org.eclipse.m2e.core.prefs │ ├── org.eclipse.wst.common.component │ ├── org.eclipse.wst.common.project.facet.core.xml │ └── org.eclipse.wst.validation.prefs ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bstek │ │ └── ureport │ │ └── font │ │ ├── arial │ │ ├── ARIAL.TTF │ │ └── ArialFontRegister.java │ │ ├── comicsansms │ │ ├── COMIC.TTF │ │ └── ComicSansMSFontRegister.java │ │ ├── couriernew │ │ ├── COUR.TTF │ │ └── CourierNewFontRegister.java │ │ ├── fangsong │ │ ├── FangSongFontRegister.java │ │ └── SIMFANG.TTF │ │ ├── heiti │ │ ├── HeiTiFontRegister.java │ │ └── SIMHEI.TTF │ │ ├── impact │ │ ├── IMPACT.TTF │ │ └── ImpactFontRegister.java │ │ ├── kaiti │ │ ├── KaiTiFontRegister.java │ │ └── SIMKAI.TTF │ │ ├── songti │ │ ├── SIMSUN.TTC │ │ └── SongTiFontRegister.java │ │ ├── timesnewroman │ │ ├── TIMES.TTF │ │ └── TimesNewRomanFontRegister.java │ │ └── yahei │ │ ├── YaheiFontRegister.java │ │ └── msyh.ttc │ └── resources │ └── ureport-font-context.xml ├── ureport2-js ├── css │ ├── designer.css │ ├── iconfont.css │ ├── iconfont.eot │ ├── iconfont.ttf │ └── print.css ├── package.json ├── src │ ├── Context.js │ ├── FileInfo.js │ ├── MsgBox.js │ ├── PrintLine.js │ ├── Test.js │ ├── Utils.js │ ├── designer.js │ ├── dialog │ │ ├── BeanMethodDialog.js │ │ ├── BuildinDatasourceSelectDialog.js │ │ ├── ConditionDialog.js │ │ ├── ConditionParameterCustomBorderDialog.js │ │ ├── CrosstabDialog.js │ │ ├── CustomGroupDialog.js │ │ ├── DatasourceDialog.js │ │ ├── EditPropertyConditionDialog.js │ │ ├── FontSettingDialog.js │ │ ├── GroupItemDialog.js │ │ ├── ImportDialog.js │ │ ├── MappingDialog.js │ │ ├── MethodSelectDialog.js │ │ ├── OpenDialog.js │ │ ├── PDFPrintDialog.js │ │ ├── ParameterDialog.js │ │ ├── ParameterTable.js │ │ ├── PreviewDataDialog.js │ │ ├── PropertyConditionDialog.js │ │ ├── PropertyConditionItemDialog.js │ │ ├── RowColWidthHeightDialog.js │ │ ├── SaveDialog.js │ │ ├── SearchFormDialog.js │ │ ├── SettingsDialog.js │ │ ├── SpringDialog.js │ │ ├── SqlDatasetDialog.js │ │ ├── URLParameterDialog.js │ │ └── URLParameterItemDialog.js │ ├── form │ │ ├── FormBuilder.js │ │ ├── Palette.js │ │ ├── Toolbar.js │ │ ├── Utils.js │ │ ├── component │ │ │ ├── CheckboxComponent.js │ │ │ ├── Component.js │ │ │ ├── DatetimeComponent.js │ │ │ ├── Grid2X2Component.js │ │ │ ├── Grid3x3x3Component.js │ │ │ ├── Grid4x4x4x4Component.js │ │ │ ├── GridComponent.js │ │ │ ├── GridCustomComponent.js │ │ │ ├── GridSingleComponent.js │ │ │ ├── RadioComponent.js │ │ │ ├── ResetButtonComponent.js │ │ │ ├── SelectComponent.js │ │ │ ├── SubmitButtonComponent.js │ │ │ ├── TabControlComponent.js │ │ │ └── TextComponent.js │ │ ├── container │ │ │ ├── CanvasContainer.js │ │ │ ├── ColContainer.js │ │ │ ├── Container.js │ │ │ └── TabContainer.js │ │ ├── css │ │ │ ├── form.css │ │ │ ├── iconfont.css │ │ │ ├── iconfont.eot │ │ │ └── iconfont.ttf │ │ ├── external │ │ │ ├── bootstrap-datetimepicker.css │ │ │ ├── bootstrap-datetimepicker.js │ │ │ ├── images │ │ │ │ ├── ui-icons_444444_256x240.png │ │ │ │ ├── ui-icons_555555_256x240.png │ │ │ │ ├── ui-icons_777620_256x240.png │ │ │ │ ├── ui-icons_777777_256x240.png │ │ │ │ ├── ui-icons_cc0000_256x240.png │ │ │ │ └── ui-icons_ffffff_256x240.png │ │ │ ├── jquery-ui.css │ │ │ └── jquery-ui.js │ │ ├── index.js │ │ ├── instance │ │ │ ├── ButtonInstance.js │ │ │ ├── Checkbox.js │ │ │ ├── CheckboxInstance.js │ │ │ ├── ContainerInstance.js │ │ │ ├── DatetimeInstance.js │ │ │ ├── Grid2X2Instance.js │ │ │ ├── Grid3x3x3Instance.js │ │ │ ├── Grid4x4x4x4Instance.js │ │ │ ├── GridCustomInstance.js │ │ │ ├── GridSingleInstance.js │ │ │ ├── Instance.js │ │ │ ├── Option.js │ │ │ ├── Radio.js │ │ │ ├── RadioInstance.js │ │ │ ├── ResetButtonInstance.js │ │ │ ├── SelectInstance.js │ │ │ ├── SubmitButtonInstance.js │ │ │ ├── Tab.js │ │ │ ├── TabControlInstance.js │ │ │ └── TextInstance.js │ │ ├── output │ │ │ ├── test.bundle.js │ │ │ └── test.bundle.js.map │ │ ├── property │ │ │ ├── ButtonProperty.js │ │ │ ├── CheckboxProperty.js │ │ │ ├── DatetimeProperty.js │ │ │ ├── GridProperty.js │ │ │ ├── PageProperty.js │ │ │ ├── Property.js │ │ │ ├── RadioProperty.js │ │ │ ├── SelectProperty.js │ │ │ ├── TabProperty.js │ │ │ └── TextProperty.js │ │ ├── test.html │ │ ├── test.js │ │ └── webpack.config.js │ ├── i18n │ │ ├── designer.json │ │ ├── designer_en.json │ │ ├── i18n.js │ │ ├── preview.json │ │ └── preview_en.json │ ├── index.js │ ├── jquery.draggable.js │ ├── panel │ │ ├── DatasourcePanel.js │ │ ├── PropertyPanel.js │ │ └── property │ │ │ ├── BaseValueEditor.js │ │ │ ├── DatasetValueEditor.js │ │ │ ├── ExpressionValueEditor.js │ │ │ ├── ImageValueEditor.js │ │ │ ├── SimpleValueEditor.js │ │ │ ├── SlashValueEditor.js │ │ │ ├── ZxingValueEditor.js │ │ │ └── chart │ │ │ ├── AreaChartValueEditor.js │ │ │ ├── BarChartValueEditor.js │ │ │ ├── BubbleChartValueEditor.js │ │ │ ├── CategoryChartValueEditor.js │ │ │ ├── ChartValueEditor.js │ │ │ ├── DoughnutChartValueEditor.js │ │ │ ├── HorizontalBarChartValueEditor.js │ │ │ ├── LineChartValueEditor.js │ │ │ ├── PieChartValueEditor.js │ │ │ ├── PolarChartValueEditor.js │ │ │ ├── RadarChartValueEditor.js │ │ │ └── ScatterChartValueEditor.js │ ├── preview.js │ ├── table │ │ ├── CellRenderer.js │ │ ├── ContextMenu.js │ │ ├── HeaderUtils.js │ │ ├── Hooks.js │ │ ├── ReportTable.js │ │ └── operation │ │ │ ├── DeleteColOperation.js │ │ │ ├── DeleteRowOperation.js │ │ │ ├── InsertColOperation.js │ │ │ └── InsertRowOperation.js │ ├── tools │ │ ├── AlignLeftTool.js │ │ ├── AlignTopTool.js │ │ ├── BgcolorTool.js │ │ ├── BoldTool.js │ │ ├── BorderTool.js │ │ ├── ChartTool.js │ │ ├── CrosstabTool.js │ │ ├── FontFamilyTool.js │ │ ├── FontSizeTool.js │ │ ├── ForecolorTool.js │ │ ├── ImageTool.js │ │ ├── ImportTool.js │ │ ├── ItalicTool.js │ │ ├── MergeTool.js │ │ ├── OpenTool.js │ │ ├── PreviewTool.js │ │ ├── RedoTool.js │ │ ├── SaveTool.js │ │ ├── SearchFormSwitchTool.js │ │ ├── SettingsTool.js │ │ ├── Tool.js │ │ ├── UnderlineTool.js │ │ ├── UndoTool.js │ │ └── ZxingTool.js │ ├── tree │ │ ├── BaseTree.js │ │ ├── BuildinTree.js │ │ ├── DatabaseTree.js │ │ ├── SpringTree.js │ │ └── css │ │ │ └── tree.css │ └── widget │ │ ├── ChartWidget.js │ │ ├── CrossTabWidget.js │ │ ├── MiddleSlash.js │ │ ├── Slash.js │ │ └── TopSlash.js ├── webpack.config.js └── webpack.config.min.js └── ureport2-parent ├── .project ├── .settings ├── org.eclipse.core.resources.prefs └── org.eclipse.m2e.core.prefs └── pom.xml /ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## 为了您的问题能得到及时准确解答,请认真填写下面各个选项,感谢您的配合。 2 | 3 | * #### 当前使用的UReport的具体版本号: 4 | 5 | 6 | 7 | * #### 遇到的问题描述: 8 | 9 | 10 | 11 | * #### 涉及到的异常信息(完整异常信息): 12 | 13 | 14 | * #### 相关截图: 15 | -------------------------------------------------------------------------------- /README-zh_CN.md: -------------------------------------------------------------------------------- 1 | # 简介 2 | 3 | UReport2是一款高性能的架构在Spring之上纯Java报表引擎,通过迭代单元格可以实现任意复杂的中国式报表。 4 | 在UReport2中,提供了全新的基于网页的报表设计器,可以在Chrome、Firefox、Edge等各种主流浏览器运行(IE浏览器除外),打开浏览器即可完成各种复杂报表的设计制作。 5 | 6 | UReport2是第一款基于Apache-2.0协议开源的中式报表引擎。 7 | 8 | ## 文档视频教程地址: 9 | 1. BSDN WIKI: [http://wiki.bsdn.org/display/UR/ureport2+Home](http://wiki.bsdn.org/display/UR/ureport2+Home) 10 | 2. w3cschool: [https://www.w3cschool.cn/ureport](https://www.w3cschool.cn/ureport) 11 | 12 | # QQ群 13 | 14 | 一群:423339793(已满),二群:636590564 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /docs/images/bean-datasource.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/bean-datasource.png -------------------------------------------------------------------------------- /docs/images/buildin-dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/buildin-dialog.png -------------------------------------------------------------------------------- /docs/images/caseexpr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/caseexpr.png -------------------------------------------------------------------------------- /docs/images/cell-parent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/cell-parent.png -------------------------------------------------------------------------------- /docs/images/datasource-tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/datasource-tools.png -------------------------------------------------------------------------------- /docs/images/db-config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/db-config.png -------------------------------------------------------------------------------- /docs/images/designer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/designer.png -------------------------------------------------------------------------------- /docs/images/ifexpr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/ifexpr.png -------------------------------------------------------------------------------- /docs/images/method-dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/method-dialog.png -------------------------------------------------------------------------------- /docs/images/qq-qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/qq-qrcode.png -------------------------------------------------------------------------------- /docs/images/s1-runtime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/s1-runtime.png -------------------------------------------------------------------------------- /docs/images/s1-runtime1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/s1-runtime1.png -------------------------------------------------------------------------------- /docs/images/s1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/s1.png -------------------------------------------------------------------------------- /docs/images/s2-runtime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/s2-runtime.png -------------------------------------------------------------------------------- /docs/images/s2-runtime1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/s2-runtime1.png -------------------------------------------------------------------------------- /docs/images/s2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/s2.png -------------------------------------------------------------------------------- /docs/images/s3-runtime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/s3-runtime.png -------------------------------------------------------------------------------- /docs/images/s3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/s3.png -------------------------------------------------------------------------------- /docs/images/s4-runtime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/s4-runtime.png -------------------------------------------------------------------------------- /docs/images/s4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/s4.png -------------------------------------------------------------------------------- /docs/images/s5-runtime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/s5-runtime.png -------------------------------------------------------------------------------- /docs/images/s5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/s5.png -------------------------------------------------------------------------------- /docs/images/s6-runtime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/s6-runtime.png -------------------------------------------------------------------------------- /docs/images/s6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/s6.png -------------------------------------------------------------------------------- /docs/images/s7-expr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/s7-expr.png -------------------------------------------------------------------------------- /docs/images/s7-runtime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/s7-runtime.png -------------------------------------------------------------------------------- /docs/images/s7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/s7.png -------------------------------------------------------------------------------- /docs/images/save-dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/save-dialog.png -------------------------------------------------------------------------------- /docs/images/ternaryexpr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/docs/images/ternaryexpr.png -------------------------------------------------------------------------------- /ureport2-console/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /ureport2-console/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | ureport2-console 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.wst.common.project.facet.core.builder 10 | 11 | 12 | 13 | 14 | org.eclipse.jdt.core.javabuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.wst.validation.validationbuilder 20 | 21 | 22 | 23 | 24 | de.loskutov.FileSync.FSBuilder 25 | 26 | 27 | 28 | 29 | org.eclipse.m2e.core.maven2Builder 30 | 31 | 32 | 33 | 34 | 35 | org.eclipse.jem.workbench.JavaEMFNature 36 | org.eclipse.wst.common.modulecore.ModuleCoreNature 37 | org.eclipse.jdt.core.javanature 38 | org.eclipse.m2e.core.maven2Nature 39 | org.eclipse.wst.common.project.facet.core.nature 40 | 41 | 42 | -------------------------------------------------------------------------------- /ureport2-console/.settings/de.loskutov.FileSync.prefs: -------------------------------------------------------------------------------- 1 | WARNING=DO NOT MODIFY THIS FILE IF YOU DON'T UNDERSTAND 2 | defaultDestination=@src/main/resources/asserts/js 3 | defaultVariables= 4 | eclipse.preferences.version=1 5 | includeTeamPrivateFiles=false 6 | map|0=src/main/resources/asserts/js|,|,|,|, 7 | useCurrentDateForDestinationFiles=false 8 | -------------------------------------------------------------------------------- /ureport2-console/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding//src/main/java=UTF-8 3 | encoding//src/main/resources=UTF-8 4 | encoding//src/test/java=utf-8 5 | encoding//src/test/resources=UTF-8 6 | encoding/=UTF-8 7 | -------------------------------------------------------------------------------- /ureport2-console/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 4 | org.eclipse.jdt.core.compiler.compliance=1.7 5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 6 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 7 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning 8 | org.eclipse.jdt.core.compiler.source=1.7 9 | -------------------------------------------------------------------------------- /ureport2-console/.settings/org.eclipse.m2e.core.prefs: -------------------------------------------------------------------------------- 1 | activeProfiles= 2 | eclipse.preferences.version=1 3 | resolveWorkspaceProjects=true 4 | version=1 5 | -------------------------------------------------------------------------------- /ureport2-console/.settings/org.eclipse.wst.common.component: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /ureport2-console/.settings/org.eclipse.wst.common.project.facet.core.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /ureport2-console/.settings/org.eclipse.wst.validation.prefs: -------------------------------------------------------------------------------- 1 | disabled=06target 2 | eclipse.preferences.version=1 3 | -------------------------------------------------------------------------------- /ureport2-console/src/main/java/com/bstek/ureport/console/importexcel/ExcelParser.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.console.importexcel; 17 | 18 | import java.io.InputStream; 19 | 20 | import com.bstek.ureport.definition.ReportDefinition; 21 | 22 | /** 23 | * @author Jacky.gao 24 | * @since 2017年5月27日 25 | */ 26 | public abstract class ExcelParser { 27 | public abstract ReportDefinition parse(InputStream inputStream) throws Exception; 28 | public abstract boolean support(String name); 29 | } 30 | -------------------------------------------------------------------------------- /ureport2-console/src/main/java/com/bstek/ureport/console/importexcel/Span.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.console.importexcel; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年5月26日 21 | */ 22 | public class Span { 23 | private int rowSpan; 24 | private int colSpan; 25 | public Span(int rowSpan,int colSpan) { 26 | this.rowSpan=rowSpan; 27 | this.colSpan=colSpan; 28 | } 29 | public int getRowSpan() { 30 | return rowSpan; 31 | } 32 | public int getColSpan() { 33 | return colSpan; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-asserts/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-console/src/main/resources/ureport-asserts/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-asserts/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-console/src/main/resources/ureport-asserts/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-asserts/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-console/src/main/resources/ureport-asserts/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-asserts/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-console/src/main/resources/ureport-asserts/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-asserts/icons/barcode.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-asserts/icons/end.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-asserts/icons/excel-paging.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-asserts/icons/excel-with-paging-sheet.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-asserts/icons/expand-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | ]> 6 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-asserts/icons/expand-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | ]> 6 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-asserts/icons/expr-expand-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | ]> 6 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-asserts/icons/expr-expand-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | ]> 6 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-asserts/icons/expression.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-asserts/icons/first.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-asserts/icons/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-console/src/main/resources/ureport-asserts/icons/loading.gif -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-asserts/icons/loading.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-asserts/icons/next.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-asserts/icons/prev.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-asserts/icons/property.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-asserts/icons/word.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-html/designer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | UReport2 Designer 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /ureport2-console/src/main/resources/ureport-html/searchform.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | UReport2 Designer 7 | 8 | 9 | 10 | 11 | 12 |
13 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /ureport2-core/.settings/com.github.jknack.antlr4ide.Antlr4.prefs: -------------------------------------------------------------------------------- 1 | antlr4.antlrRegisteredTools=4.4@C\:\\Users\\jacky\\AppData\\Local\\Temp\\antlr-4.4-complete.jar\:null@C\:\\antlr4-4.5.3\\antlr-4.5.3-complete.jar 2 | antlr4.antlrToolPath=C\:\\antlr4-4.5.3\\antlr-4.5.3-complete.jar 3 | antlr4.encoding=UTF-8 4 | antlr4.listener=true 5 | antlr4.visitor=true 6 | antlr4.vmArgs= 7 | antlr4ide.is_project_specific=true 8 | autobuilding=false 9 | eclipse.preferences.version=1 10 | is_project_specific=true 11 | outlet.DEFAULT_OUTPUT.cleanupDerived=true 12 | outlet.DEFAULT_OUTPUT.derived=false 13 | outlet.DEFAULT_OUTPUT.directory=./src/main/java 14 | -------------------------------------------------------------------------------- /ureport2-core/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding//src/main/java=UTF-8 3 | encoding//src/main/resources=UTF-8 4 | encoding//src/test/java=utf-8 5 | encoding//src/test/resources=UTF-8 6 | encoding/=UTF-8 7 | -------------------------------------------------------------------------------- /ureport2-core/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate 4 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 5 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 6 | org.eclipse.jdt.core.compiler.compliance=1.7 7 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 8 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 9 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 10 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 11 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 12 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning 13 | org.eclipse.jdt.core.compiler.source=1.7 14 | -------------------------------------------------------------------------------- /ureport2-core/.settings/org.eclipse.m2e.core.prefs: -------------------------------------------------------------------------------- 1 | activeProfiles= 2 | eclipse.preferences.version=1 3 | resolveWorkspaceProjects=true 4 | version=1 5 | -------------------------------------------------------------------------------- /ureport2-core/.settings/org.eclipse.wst.common.component: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /ureport2-core/.settings/org.eclipse.wst.common.project.facet.core.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /ureport2-core/.settings/org.eclipse.wst.validation.prefs: -------------------------------------------------------------------------------- 1 | disabled=06target 2 | eclipse.preferences.version=1 3 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/CellRenderer.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport; 17 | 18 | import java.util.Map; 19 | 20 | import com.bstek.ureport.model.ReportCell; 21 | 22 | /** 23 | * @author Jacky.gao 24 | * @since 2017年1月19日 25 | */ 26 | public interface CellRenderer { 27 | Object doRender(ReportCell cell,Map parameters); 28 | } 29 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/UReportPropertyPlaceholderConfigurer.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport; 17 | 18 | import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; 19 | 20 | /** 21 | * @author Jacky.gao 22 | * @since 2016年5月25日 23 | */ 24 | public class UReportPropertyPlaceholderConfigurer extends PropertySourcesPlaceholderConfigurer { 25 | public UReportPropertyPlaceholderConfigurer() { 26 | setIgnoreUnresolvablePlaceholders(true); 27 | setOrder(100); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/build/Dataset.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.build; 17 | 18 | import java.util.List; 19 | 20 | /** 21 | * @author Jacky.gao 22 | * @since 2016年11月1日 23 | */ 24 | public class Dataset { 25 | private String name; 26 | private List data; 27 | 28 | public Dataset(String name, List data) { 29 | this.name = name; 30 | this.data = data; 31 | } 32 | public String getName() { 33 | return name; 34 | } 35 | public List getData() { 36 | return data; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/build/assertor/AbstractAssertor.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.build.assertor; 17 | 18 | import java.util.List; 19 | 20 | /** 21 | * @author Jacky.gao 22 | * @since 2017年9月15日 23 | */ 24 | public abstract class AbstractAssertor implements Assertor{ 25 | protected Object buildObject(Object obj){ 26 | if(obj==null){ 27 | return obj; 28 | } 29 | if(obj instanceof List){ 30 | List list=(List)obj; 31 | if(list.size()==1){ 32 | return list.get(0); 33 | } 34 | } 35 | return obj; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/build/assertor/Assertor.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.build.assertor; 17 | 18 | 19 | /** 20 | * @author Jacky.gao 21 | * @since 2017年1月12日 22 | */ 23 | public interface Assertor { 24 | boolean eval(Object left,Object right); 25 | } 26 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/build/assertor/LikeAssertor.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.build.assertor; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年1月12日 21 | */ 22 | public class LikeAssertor implements Assertor { 23 | 24 | @Override 25 | public boolean eval(Object left, Object right) { 26 | if(left==null || right== null){ 27 | return false; 28 | } 29 | if(left.equals(right)){ 30 | return true; 31 | } 32 | return left.toString().indexOf(right.toString())>-1; 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/build/assertor/NotEqualsAssertor.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.build.assertor; 17 | 18 | 19 | /** 20 | * @author Jacky.gao 21 | * @since 2017年1月12日 22 | */ 23 | public class NotEqualsAssertor extends AbstractAssertor { 24 | 25 | @Override 26 | public boolean eval(Object left, Object right) { 27 | if(left == null && right==null){ 28 | return false; 29 | } 30 | if(left==null || right==null){ 31 | return true; 32 | } 33 | right=buildObject(right); 34 | return !left.equals(right); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/build/cell/CellBuilder.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.build.cell; 17 | 18 | import java.util.List; 19 | 20 | import com.bstek.ureport.build.BindData; 21 | import com.bstek.ureport.build.Context; 22 | import com.bstek.ureport.model.Cell; 23 | 24 | /** 25 | * @author Jacky.gao 26 | * @since 2016年11月1日 27 | */ 28 | public interface CellBuilder { 29 | Cell buildCell(List dataList, Cell cell, Context context); 30 | } 31 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/build/cell/DuplicateType.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.build.cell; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2016年11月7日 21 | */ 22 | public enum DuplicateType { 23 | Duplicate,IncreseSpan,Blank,Self; 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/build/cell/ExpandBuilder.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.build.cell; 17 | 18 | 19 | /** 20 | * @author Jacky.gao 21 | * @since 2016年11月1日 22 | */ 23 | public abstract class ExpandBuilder implements CellBuilder { 24 | 25 | } 26 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/build/compute/ValueCompute.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.build.compute; 17 | 18 | import java.util.List; 19 | 20 | import com.bstek.ureport.build.BindData; 21 | import com.bstek.ureport.build.Context; 22 | import com.bstek.ureport.definition.value.ValueType; 23 | import com.bstek.ureport.model.Cell; 24 | 25 | /** 26 | * @author Jacky.gao 27 | * @since 2016年12月21日 28 | */ 29 | public interface ValueCompute { 30 | List compute(Cell cell,Context context); 31 | ValueType type(); 32 | } 33 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/build/paging/Pagination.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.build.paging; 17 | 18 | import java.util.List; 19 | 20 | import com.bstek.ureport.model.Report; 21 | 22 | /** 23 | * @author Jacky.gao 24 | * @since 2017年1月17日 25 | */ 26 | public interface Pagination { 27 | List doPaging(Report report); 28 | } 29 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/cache/ReportCache.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.cache; 17 | 18 | 19 | /** 20 | * @author Jacky.gao 21 | * @since 2017年3月8日 22 | */ 23 | public interface ReportCache { 24 | Object getObject(String file); 25 | void storeObject(String file,Object obj); 26 | boolean disabled(); 27 | } 28 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/cache/ReportDefinitionCache.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.cache; 17 | 18 | import com.bstek.ureport.definition.ReportDefinition; 19 | 20 | /** 21 | * @author Jacky.gao 22 | * @since 2016年12月4日 23 | */ 24 | public interface ReportDefinitionCache { 25 | ReportDefinition getReportDefinition(String file); 26 | void cacheReportDefinition(String file,ReportDefinition reportDefinition); 27 | } 28 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/chart/FontStyle.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.chart; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年6月8日 21 | */ 22 | public enum FontStyle { 23 | normal,italic,bold; 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/chart/axes/Axes.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.chart.axes; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年6月14日 21 | */ 22 | public interface Axes { 23 | String toJson(); 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/chart/axes/XPosition.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.chart.axes; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年6月14日 21 | */ 22 | public enum XPosition { 23 | top,bottom; 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/chart/axes/YPosition.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.chart.axes; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年6月14日 21 | */ 22 | public enum YPosition { 23 | left,right; 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/chart/dataset/CollectType.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.chart.dataset; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年6月13日 21 | */ 22 | public enum CollectType { 23 | select,count,sum,avg,max,min; 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/chart/dataset/Dataset.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.chart.dataset; 17 | 18 | import com.bstek.ureport.build.Context; 19 | import com.bstek.ureport.model.Cell; 20 | 21 | /** 22 | * @author Jacky.gao 23 | * @since 2017年6月8日 24 | */ 25 | public interface Dataset { 26 | String buildDataJson(Context context,Cell cell); 27 | String getType(); 28 | } 29 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/chart/dataset/PointStyle.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.chart.dataset; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年6月8日 21 | */ 22 | public enum PointStyle { 23 | circle,cross,crossRot,dash,rect,rectRounded,rectRot,star,triangle 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/chart/dataset/impl/category/DoughnutDataset.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.chart.dataset.impl.category; 17 | 18 | 19 | /** 20 | * @author Jacky.gao 21 | * @since 2017年6月9日 22 | */ 23 | public class DoughnutDataset extends PieDataset { 24 | @Override 25 | public String getType() { 26 | return "doughnut"; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/chart/dataset/impl/category/SeriesType.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.chart.dataset.impl.category; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年6月29日 21 | */ 22 | public enum SeriesType { 23 | property,text; 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/chart/option/Option.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.chart.option; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年6月8日 21 | */ 22 | public interface Option { 23 | String buildOptionJson(); 24 | String getType(); 25 | } 26 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/chart/option/Position.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.chart.option; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年6月8日 21 | */ 22 | public enum Position { 23 | left,right,top,bottom; 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/chart/plugins/Plugin.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.chart.plugins; 17 | /** 18 | * @author Jacky.gao 19 | * @since 2018年7月6日 20 | */ 21 | public interface Plugin { 22 | String toJson(String type); 23 | String getName(); 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/Alignment.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition; 17 | /** 18 | * @author Jacky.gao 19 | * @since 2014年3月31日 20 | */ 21 | public enum Alignment { 22 | left,right,center,top,middle,bottom; 23 | } 24 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/Band.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年1月16日 21 | */ 22 | public enum Band { 23 | headerrepeat,footerrepeat,title,summary 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/Expand.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition; 17 | 18 | import java.io.Serializable; 19 | 20 | /** 21 | * @author Jacky.gao 22 | * @since 2016年11月1日 23 | */ 24 | public enum Expand implements Serializable{ 25 | Right,Down,None; 26 | } 27 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/HtmlReportAlign.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年7月11日 21 | */ 22 | public enum HtmlReportAlign { 23 | left,center,right; 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/Order.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2016年12月21日 21 | */ 22 | public enum Order { 23 | desc,asc,none 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/Orientation.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition; 17 | 18 | import java.io.Serializable; 19 | 20 | /** 21 | * @author Jacky.gao 22 | * @since 2017年1月19日 23 | */ 24 | public enum Orientation implements Serializable{ 25 | portrait,landscape; 26 | } 27 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/PagingMode.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition; 17 | 18 | import java.io.Serializable; 19 | 20 | /** 21 | * @author Jacky.gao 22 | * @since 2017年1月16日 23 | */ 24 | public enum PagingMode implements Serializable{ 25 | fitpage,fixrows 26 | } 27 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/PagingPosition.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年6月19日 21 | */ 22 | public enum PagingPosition { 23 | before,after; 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/Scope.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年4月24日 21 | */ 22 | public enum Scope { 23 | cell,row,column 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/dataset/DatasetDefinition.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition.dataset; 17 | 18 | import java.io.Serializable; 19 | import java.util.List; 20 | 21 | 22 | /** 23 | * @author Jacky.gao 24 | * @since 2016年12月27日 25 | */ 26 | public interface DatasetDefinition extends Serializable{ 27 | String getName(); 28 | List getFields(); 29 | } 30 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/dataset/Field.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition.dataset; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2016年12月30日 21 | */ 22 | public class Field { 23 | private String name; 24 | 25 | public Field(String name) { 26 | this.name=name; 27 | } 28 | 29 | public String getName() { 30 | return name; 31 | } 32 | 33 | public void setName(String name) { 34 | this.name = name; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/datasource/BuildinDatasource.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition.datasource; 17 | 18 | import java.sql.Connection; 19 | 20 | /** 21 | * @author Jacky.gao 22 | * @since 2017年2月9日 23 | */ 24 | public interface BuildinDatasource { 25 | /** 26 | * @return 返回数据源名称 27 | */ 28 | String name(); 29 | /** 30 | * @return 返回当前采用数据源的一个连接 31 | */ 32 | Connection getConnection(); 33 | } 34 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/datasource/DatasourceDefinition.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition.datasource; 17 | 18 | import java.util.List; 19 | 20 | import com.bstek.ureport.definition.dataset.DatasetDefinition; 21 | 22 | /** 23 | * @author Jacky.gao 24 | * @since 2016年12月27日 25 | */ 26 | public interface DatasourceDefinition { 27 | String getName(); 28 | List getDatasets(); 29 | DatasourceType getType(); 30 | } 31 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/datasource/DatasourceProvider.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition.datasource; 17 | 18 | import java.sql.Connection; 19 | 20 | /** 21 | * @author Jacky.gao 22 | * @since 2016年12月27日 23 | */ 24 | public interface DatasourceProvider { 25 | Connection getConnection(); 26 | String getName(); 27 | } 28 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/datasource/DatasourceType.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition.datasource; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年2月8日 21 | */ 22 | public enum DatasourceType { 23 | jdbc,spring,buildin; 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/mapping/MappingType.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition.mapping; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年9月13日 21 | */ 22 | public enum MappingType { 23 | simple,dataset 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/searchform/Align.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition.searchform; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年11月2日 21 | */ 22 | public enum Align { 23 | left,right; 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/searchform/Component.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition.searchform; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年10月23日 21 | */ 22 | public interface Component { 23 | String toHtml(RenderContext context); 24 | String initJs(RenderContext context); 25 | String getType(); 26 | } 27 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/searchform/ContainerComponent.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition.searchform; 17 | 18 | import java.util.List; 19 | 20 | /** 21 | * @author Jacky.gao 22 | * @since 2017年10月23日 23 | */ 24 | public abstract class ContainerComponent implements Component { 25 | protected List children; 26 | public void setChildren(List children) { 27 | this.children = children; 28 | } 29 | public List getChildren() { 30 | return children; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/searchform/FormPosition.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition.searchform; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年10月24日 21 | */ 22 | public enum FormPosition { 23 | up,down; 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/searchform/LabelPosition.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition.searchform; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年10月23日 21 | */ 22 | public enum LabelPosition { 23 | top,left; 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/value/AggregateType.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition.value; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2016年12月21日 21 | */ 22 | public enum AggregateType { 23 | group,customgroup,regroup,select,reselect,sum,avg,max,min,count 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/value/SimpleValue.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition.value; 17 | 18 | /** 19 | * 普通字符串,或者是表达式 20 | * @author Jacky.gao 21 | * @since 2016年11月1日 22 | */ 23 | public class SimpleValue implements Value{ 24 | private String value; 25 | public SimpleValue(String value) { 26 | this.value=value; 27 | } 28 | 29 | @Override 30 | public ValueType getType() { 31 | return ValueType.simple; 32 | } 33 | 34 | @Override 35 | public String getValue() { 36 | return value; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/value/Source.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition.value; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年3月6日 21 | */ 22 | public enum Source { 23 | text,expression; 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/value/Value.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition.value; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2016年11月1日 21 | */ 22 | public interface Value { 23 | String getValue(); 24 | ValueType getType(); 25 | } 26 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/value/ValueType.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition.value; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年2月7日 21 | */ 22 | public enum ValueType { 23 | simple,expression,dataset,image,chart,slash,zxing; 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/definition/value/ZxingCategory.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.definition.value; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年3月26日 21 | */ 22 | public enum ZxingCategory { 23 | barcode,qrcode 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/dsl/.gitignore: -------------------------------------------------------------------------------- 1 | /ReportLexer.java 2 | /ReportLexer.tokens 3 | /ReportParser.tokens 4 | /ReportParserBaseVisitor.java 5 | /ReportParserLexer.java 6 | /ReportParserLexer.tokens 7 | /ReportParserParser.java 8 | /ReportParserVisitor.java 9 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/dsl/ReportLexer.tokens: -------------------------------------------------------------------------------- 1 | Cell=1 2 | Operator=2 3 | OP=3 4 | ORDER=4 5 | BOOLEAN=5 6 | COLON=6 7 | COMMA=7 8 | NULL=8 9 | LeftParen=9 10 | RightParen=10 11 | STRING=11 12 | AND=12 13 | OR=13 14 | INTEGER=14 15 | NUMBER=15 16 | EXCLAMATION=16 17 | EXP=17 18 | Identifier=18 19 | LETTER=19 20 | Char=20 21 | DIGIT=21 22 | WS=22 23 | NL=23 24 | ':'=6 25 | ','=7 26 | 'null'=8 27 | '('=9 28 | ')'=10 29 | '!'=16 30 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/dsl/ReportParser.tokens: -------------------------------------------------------------------------------- 1 | T__0=1 2 | T__1=2 3 | T__2=3 4 | T__3=4 5 | T__4=5 6 | T__5=6 7 | T__6=7 8 | T__7=8 9 | T__8=9 10 | T__9=10 11 | T__10=11 12 | T__11=12 13 | T__12=13 14 | T__13=14 15 | T__14=15 16 | T__15=16 17 | T__16=17 18 | T__17=18 19 | T__18=19 20 | Cell=20 21 | Operator=21 22 | OP=22 23 | ORDER=23 24 | BOOLEAN=24 25 | COLON=25 26 | COMMA=26 27 | NULL=27 28 | LeftParen=28 29 | RightParen=29 30 | STRING=30 31 | AND=31 32 | OR=32 33 | INTEGER=33 34 | NUMBER=34 35 | EXCLAMATION=35 36 | EXP=36 37 | Identifier=37 38 | LETTER=38 39 | Char=39 40 | DIGIT=40 41 | WS=41 42 | NL=42 43 | '?'=1 44 | 'case'=2 45 | '{'=3 46 | '}'=4 47 | 'if'=5 48 | 'else'=6 49 | 'return'=7 50 | ';'=8 51 | 'var'=9 52 | '='=10 53 | '&'=11 54 | '$'=12 55 | '#'=13 56 | '.'=14 57 | 'cell'=15 58 | '['=16 59 | ']'=17 60 | 'to'=18 61 | '@'=19 62 | ':'=25 63 | ','=26 64 | 'null'=27 65 | '('=28 66 | ')'=29 67 | '!'=35 68 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/dsl/ReportParserLexer.tokens: -------------------------------------------------------------------------------- 1 | T__0=1 2 | T__1=2 3 | T__2=3 4 | T__3=4 5 | T__4=5 6 | T__5=6 7 | T__6=7 8 | T__7=8 9 | T__8=9 10 | T__9=10 11 | T__10=11 12 | T__11=12 13 | T__12=13 14 | T__13=14 15 | T__14=15 16 | T__15=16 17 | T__16=17 18 | T__17=18 19 | T__18=19 20 | Cell=20 21 | Operator=21 22 | OP=22 23 | ORDER=23 24 | BOOLEAN=24 25 | COLON=25 26 | COMMA=26 27 | NULL=27 28 | LeftParen=28 29 | RightParen=29 30 | STRING=30 31 | AND=31 32 | OR=32 33 | INTEGER=33 34 | NUMBER=34 35 | EXCLAMATION=35 36 | EXP=36 37 | Identifier=37 38 | LETTER=38 39 | Char=39 40 | DIGIT=40 41 | WS=41 42 | NL=42 43 | '?'=1 44 | 'case'=2 45 | '{'=3 46 | '}'=4 47 | 'if'=5 48 | 'else'=6 49 | 'return'=7 50 | ';'=8 51 | 'var'=9 52 | '='=10 53 | '&'=11 54 | '$'=12 55 | '#'=13 56 | '.'=14 57 | 'cell'=15 58 | '['=16 59 | ']'=17 60 | 'to'=18 61 | '@'=19 62 | ':'=25 63 | ','=26 64 | 'null'=27 65 | '('=28 66 | ')'=29 67 | '!'=35 68 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/exception/CellComputeException.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.exception; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2016年12月5日 21 | */ 22 | public class CellComputeException extends ReportException { 23 | private static final long serialVersionUID = -1363254031247074841L; 24 | public CellComputeException(Exception ex) { 25 | super(ex); 26 | } 27 | public CellComputeException(String msg) { 28 | super(msg); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/exception/CellDependencyException.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.exception; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2016年11月1日 21 | */ 22 | public class CellDependencyException extends ReportException { 23 | 24 | private static final long serialVersionUID = 5765713360910995235L; 25 | 26 | public CellDependencyException() { 27 | super("Report cells has cyclic dependency."); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/exception/CellNotExistException.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.exception; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2016年11月19日 21 | */ 22 | public class CellNotExistException extends ReportException { 23 | private static final long serialVersionUID = -2436297948073253411L; 24 | public CellNotExistException(String cellName) { 25 | super("Cell ["+cellName+"] not exist."); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/exception/ConvertException.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.exception; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2016年12月22日 21 | */ 22 | public class ConvertException extends ReportException { 23 | private static final long serialVersionUID = 8681316352205087220L; 24 | public ConvertException(Exception ex) { 25 | super(ex); 26 | } 27 | public ConvertException(String msg) { 28 | super(msg); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/exception/DatasetUndefinitionException.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.exception; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2016年11月1日 21 | */ 22 | public class DatasetUndefinitionException extends ReportException { 23 | private static final long serialVersionUID = -1897331038232057797L; 24 | 25 | public DatasetUndefinitionException(String datasetName) { 26 | super("Dataset ["+datasetName+"] not definition."); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/exception/ExpressionParserException.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.exception; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2016年12月6日 21 | */ 22 | public class ExpressionParserException extends ReportException { 23 | private static final long serialVersionUID = 5086685918063939805L; 24 | 25 | public ExpressionParserException(String msg) { 26 | super(msg); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/exception/IllegalCellExpandException.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.exception; 17 | 18 | import com.bstek.ureport.model.ReportCell; 19 | 20 | /** 21 | * @author Jacky.gao 22 | * @since 2016年11月1日 23 | */ 24 | public class IllegalCellExpandException extends ReportException{ 25 | private static final long serialVersionUID = -2442986317129037490L; 26 | 27 | public IllegalCellExpandException(ReportCell cell) { 28 | super("Cell expand is "+cell.getExpand()+" is invalid."); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/exception/IndependenceException.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.exception; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2016年12月1日 21 | */ 22 | public class IndependenceException extends ReportException { 23 | private static final long serialVersionUID = -6710518001446502170L; 24 | public IndependenceException(String msg) { 25 | super(msg); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/exception/ReportComputeException.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.exception; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2016年12月26日 21 | */ 22 | public class ReportComputeException extends ReportException { 23 | private static final long serialVersionUID = -5079596691655241415L; 24 | public ReportComputeException(Exception ex) { 25 | super(ex); 26 | } 27 | public ReportComputeException(String msg) { 28 | super(msg); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/exception/ReportException.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.exception; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2016年11月1日 21 | */ 22 | public class ReportException extends RuntimeException{ 23 | private static final long serialVersionUID = 2970559370876740683L; 24 | public ReportException(String msg) { 25 | super(msg); 26 | } 27 | public ReportException(Exception ex) { 28 | super(ex); 29 | ex.printStackTrace(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/exception/ReportPagingException.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.exception; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年1月17日 21 | */ 22 | public class ReportPagingException extends ReportException { 23 | private static final long serialVersionUID = 6387645019045308634L; 24 | 25 | public ReportPagingException(String msg) { 26 | super(msg); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/exception/ReportParseException.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.exception; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2016年12月5日 21 | */ 22 | public class ReportParseException extends ReportException { 23 | private static final long serialVersionUID = -8757106306597844487L; 24 | public ReportParseException(Exception ex) { 25 | super(ex); 26 | } 27 | public ReportParseException(String msg) { 28 | super(msg); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/export/ExportConfigure.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.export; 17 | 18 | import java.io.OutputStream; 19 | import java.util.Map; 20 | 21 | /** 22 | * @author Jacky.gao 23 | * @since 2017年3月20日 24 | */ 25 | public interface ExportConfigure { 26 | OutputStream getOutputStream(); 27 | String getFile(); 28 | Map getParameters(); 29 | } 30 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/export/Producer.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.export; 17 | 18 | import java.io.OutputStream; 19 | 20 | import com.bstek.ureport.model.Report; 21 | 22 | /** 23 | * @author Jacky.gao 24 | * @since 2016年12月30日 25 | */ 26 | public interface Producer { 27 | void produce(Report report,OutputStream outputStream); 28 | } 29 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/export/pdf/font/FontRegister.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.export.pdf.font; 17 | /** 18 | * @author Jacky.gao 19 | * @since 2014年4月22日 20 | */ 21 | public interface FontRegister { 22 | /** 23 | * @return 返回自定义的字体名称 24 | */ 25 | String getFontName(); 26 | /** 27 | * 返回字体所在位置,需要注意的是字体文件需要放置到classpath下,这里返回的值就是该字体文件所在classpath下位置即可 28 | * @return 返回字体所在位置 29 | */ 30 | String getFontPath(); 31 | } 32 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/expression/function/Function.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.expression.function; 17 | 18 | import java.util.List; 19 | 20 | import com.bstek.ureport.build.Context; 21 | import com.bstek.ureport.expression.model.data.ExpressionData; 22 | import com.bstek.ureport.model.Cell; 23 | 24 | /** 25 | * @author Jacky.gao 26 | * @since 2016年12月27日 27 | */ 28 | public interface Function { 29 | Object execute(List> dataList,Context context,Cell currentCell); 30 | String name(); 31 | } 32 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/expression/function/ParameterIsEmptyFunction.java: -------------------------------------------------------------------------------- 1 | package com.bstek.ureport.expression.function; 2 | 3 | import java.util.List; 4 | 5 | import com.bstek.ureport.build.Context; 6 | import com.bstek.ureport.expression.model.data.ExpressionData; 7 | import com.bstek.ureport.model.Cell; 8 | 9 | /** 10 | * @author Jacky.gao 11 | * @since 2017年12月7日 12 | */ 13 | public class ParameterIsEmptyFunction extends ParameterFunction{ 14 | @Override 15 | public Object execute(List> dataList, Context context, 16 | Cell currentCell) { 17 | Object obj = super.execute(dataList, context, currentCell); 18 | if(obj==null || obj.toString().trim().equals("")){ 19 | return true; 20 | } 21 | return false; 22 | } 23 | @Override 24 | public String name() { 25 | return "emptyparam"; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/expression/function/page/PageFunction.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.expression.function.page; 17 | 18 | import com.bstek.ureport.expression.function.Function; 19 | 20 | /** 21 | * @author Jacky.gao 22 | * @since 2017年4月17日 23 | */ 24 | public abstract class PageFunction implements Function{ 25 | 26 | } 27 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/expression/model/Expression.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.expression.model; 17 | 18 | import java.io.Serializable; 19 | 20 | import com.bstek.ureport.build.Context; 21 | import com.bstek.ureport.expression.model.data.ExpressionData; 22 | import com.bstek.ureport.model.Cell; 23 | 24 | /** 25 | * @author Jacky.gao 26 | * @since 2016年11月18日 27 | */ 28 | public interface Expression extends Serializable{ 29 | ExpressionData execute(Cell cell,Cell currentCell,Context context); 30 | } 31 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/expression/model/UnitType.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.expression.model; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2016年11月18日 21 | */ 22 | public enum UnitType { 23 | Single,Location; 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/expression/model/condition/ConditionType.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.expression.model.condition; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年4月24日 21 | */ 22 | public enum ConditionType { 23 | property,expression,cell,current; 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/expression/model/condition/Join.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.expression.model.condition; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2016年12月1日 21 | */ 22 | public enum Join { 23 | and,or; 24 | public static Join parse(String join){ 25 | if(join.equals("and") || join.equals("&&")){ 26 | return and; 27 | } 28 | if(join.equals("or") || join.equals("||")){ 29 | return or; 30 | } 31 | throw new IllegalArgumentException("Unknow join : "+join); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/expression/model/data/ExpressionData.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.expression.model.data; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年1月1日 21 | */ 22 | public interface ExpressionData { 23 | T getData(); 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/expression/model/data/NoneExpressionData.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.expression.model.data; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年5月5日 21 | */ 22 | public class NoneExpressionData implements ExpressionData{ 23 | @Override 24 | public Object getData() { 25 | return null; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/expression/model/data/ObjectExpressionData.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.expression.model.data; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年1月1日 21 | */ 22 | public class ObjectExpressionData implements ExpressionData { 23 | private Object data; 24 | public ObjectExpressionData(Object data) { 25 | this.data=data; 26 | } 27 | @Override 28 | public Object getData() { 29 | return data; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/expression/model/data/ObjectListExpressionData.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.expression.model.data; 17 | 18 | import java.util.List; 19 | 20 | /** 21 | * @author Jacky.gao 22 | * @since 2017年1月3日 23 | */ 24 | public class ObjectListExpressionData implements ExpressionData> { 25 | private List list; 26 | public ObjectListExpressionData(List list) { 27 | this.list=list; 28 | } 29 | @Override 30 | public List getData() { 31 | return list; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/expression/model/expr/set/CoordinateType.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.expression.model.expr.set; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年4月6日 21 | */ 22 | public enum CoordinateType { 23 | relative,absolute; 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/expression/parse/builder/ExpressionBuilder.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.expression.parse.builder; 17 | 18 | import com.bstek.ureport.dsl.ReportParserParser.UnitContext; 19 | import com.bstek.ureport.expression.model.expr.BaseExpression; 20 | 21 | /** 22 | * @author Jacky.gao 23 | * @since 2016年12月23日 24 | */ 25 | public interface ExpressionBuilder { 26 | BaseExpression build(UnitContext unitContext); 27 | boolean support(UnitContext unitContext); 28 | } 29 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/image/ChartImageProcessor.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.image; 17 | 18 | import java.io.InputStream; 19 | 20 | /** 21 | * @author Jacky.gao 22 | * @since 2017年3月20日 23 | */ 24 | public class ChartImageProcessor implements ImageProcessor { 25 | 26 | @Override 27 | public InputStream getImage(Object data) { 28 | return null; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/image/ImageProcessor.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.image; 17 | 18 | import java.io.InputStream; 19 | 20 | /** 21 | * @author Jacky.gao 22 | * @since 2017年3月20日 23 | */ 24 | public interface ImageProcessor { 25 | InputStream getImage(T data); 26 | } 27 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/image/ImageType.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.image; 17 | 18 | /** 19 | * @author Jacky.gao 20 | * @since 2017年3月27日 21 | */ 22 | public enum ImageType { 23 | zxing,image,chart,slash; 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/image/ZxingImageProcessor.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.image; 17 | 18 | import java.io.InputStream; 19 | 20 | import com.bstek.ureport.definition.value.ZxingValue; 21 | 22 | /** 23 | * @author Jacky.gao 24 | * @since 2017年3月27日 25 | */ 26 | public class ZxingImageProcessor implements ImageProcessor { 27 | 28 | @Override 29 | public InputStream getImage(ZxingValue data) { 30 | return null; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/image/image-not-exist.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-core/src/main/java/com/bstek/ureport/image/image-not-exist.jpg -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/parser/Parser.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.parser; 17 | 18 | import org.dom4j.Element; 19 | 20 | /** 21 | * @author Jacky.gao 22 | * @since 2016年12月2日 23 | */ 24 | public interface Parser{ 25 | T parse(Element element); 26 | } 27 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/parser/impl/searchform/FormParser.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.parser.impl.searchform; 17 | 18 | import com.bstek.ureport.parser.Parser; 19 | 20 | /** 21 | * @author Jacky.gao 22 | * @since 2017年10月24日 23 | */ 24 | public interface FormParser extends Parser { 25 | boolean support(String name); 26 | } 27 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/parser/impl/value/ExpressionValueParser.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.parser.impl.value; 17 | 18 | import org.dom4j.Element; 19 | 20 | import com.bstek.ureport.definition.value.ExpressionValue; 21 | 22 | /** 23 | * @author Jacky.gao 24 | * @since 2016年12月30日 25 | */ 26 | public class ExpressionValueParser extends ValueParser{ 27 | @Override 28 | public ExpressionValue parse(Element element) { 29 | ExpressionValue value=new ExpressionValue(element.getText()); 30 | return value; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/parser/impl/value/ValueParser.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.parser.impl.value; 17 | 18 | import com.bstek.ureport.definition.value.Value; 19 | import com.bstek.ureport.parser.Parser; 20 | 21 | /** 22 | * @author Jacky.gao 23 | * @since 2016年12月21日 24 | */ 25 | public abstract class ValueParser implements Parser { 26 | } 27 | -------------------------------------------------------------------------------- /ureport2-core/src/main/java/com/bstek/ureport/provider/image/ImageProvider.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2017 Bstek 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy 6 | * of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | ******************************************************************************/ 16 | package com.bstek.ureport.provider.image; 17 | 18 | import java.io.InputStream; 19 | 20 | /** 21 | * @author Jacky.gao 22 | * @since 2017年3月6日 23 | */ 24 | public interface ImageProvider { 25 | InputStream getImage(String path); 26 | boolean support(String path); 27 | } 28 | -------------------------------------------------------------------------------- /ureport2-core/src/main/resources/ureport.properties: -------------------------------------------------------------------------------- 1 | ureport.disableHttpSessionReportCache=false 2 | ureport.disableFileProvider=false 3 | ureport.fileStoreDir=/WEB-INF/ureportfiles 4 | ureport.debug=true 5 | -------------------------------------------------------------------------------- /ureport2-core/src/test/resources/com/bstek/ureport/test/template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | UReport Test 6 | 7 | 8 | ${table} 9 | 10 | -------------------------------------------------------------------------------- /ureport2-font/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | ureport2-font 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.wst.common.project.facet.core.builder 10 | 11 | 12 | 13 | 14 | org.eclipse.jdt.core.javabuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.wst.validation.validationbuilder 20 | 21 | 22 | 23 | 24 | org.eclipse.m2e.core.maven2Builder 25 | 26 | 27 | 28 | 29 | 30 | org.eclipse.jem.workbench.JavaEMFNature 31 | org.eclipse.wst.common.modulecore.ModuleCoreNature 32 | org.eclipse.m2e.core.maven2Nature 33 | org.eclipse.jdt.core.javanature 34 | org.eclipse.wst.common.project.facet.core.nature 35 | 36 | 37 | -------------------------------------------------------------------------------- /ureport2-font/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding//src/main/java=UTF-8 3 | encoding//src/main/resources=UTF-8 4 | encoding//src/test/java=utf-8 5 | encoding//src/test/resources=UTF-8 6 | encoding/=UTF-8 7 | -------------------------------------------------------------------------------- /ureport2-font/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 4 | org.eclipse.jdt.core.compiler.compliance=1.7 5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 6 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 7 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning 8 | org.eclipse.jdt.core.compiler.source=1.7 9 | -------------------------------------------------------------------------------- /ureport2-font/.settings/org.eclipse.m2e.core.prefs: -------------------------------------------------------------------------------- 1 | activeProfiles= 2 | eclipse.preferences.version=1 3 | resolveWorkspaceProjects=true 4 | version=1 5 | -------------------------------------------------------------------------------- /ureport2-font/.settings/org.eclipse.wst.common.component: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /ureport2-font/.settings/org.eclipse.wst.common.project.facet.core.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /ureport2-font/.settings/org.eclipse.wst.validation.prefs: -------------------------------------------------------------------------------- 1 | disabled=06target 2 | eclipse.preferences.version=1 3 | -------------------------------------------------------------------------------- /ureport2-font/src/main/java/com/bstek/ureport/font/arial/ARIAL.TTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-font/src/main/java/com/bstek/ureport/font/arial/ARIAL.TTF -------------------------------------------------------------------------------- /ureport2-font/src/main/java/com/bstek/ureport/font/arial/ArialFontRegister.java: -------------------------------------------------------------------------------- 1 | package com.bstek.ureport.font.arial; 2 | 3 | import com.bstek.ureport.export.pdf.font.FontRegister; 4 | 5 | 6 | /** 7 | * @author Jacky.gao 8 | * @since 2014年5月7日 9 | */ 10 | public class ArialFontRegister implements FontRegister { 11 | 12 | public String getFontName() { 13 | return "Arial"; 14 | } 15 | 16 | public String getFontPath() { 17 | return "com/bstek/ureport/font/arial/ARIAL.TTF"; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ureport2-font/src/main/java/com/bstek/ureport/font/comicsansms/COMIC.TTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-font/src/main/java/com/bstek/ureport/font/comicsansms/COMIC.TTF -------------------------------------------------------------------------------- /ureport2-font/src/main/java/com/bstek/ureport/font/comicsansms/ComicSansMSFontRegister.java: -------------------------------------------------------------------------------- 1 | package com.bstek.ureport.font.comicsansms; 2 | 3 | import com.bstek.ureport.export.pdf.font.FontRegister; 4 | 5 | /** 6 | * @author Jacky.gao 7 | * @since 2014年5月7日 8 | */ 9 | public class ComicSansMSFontRegister implements FontRegister { 10 | 11 | public String getFontName() { 12 | return "Comic Sans MS"; 13 | } 14 | 15 | public String getFontPath() { 16 | return "com/bstek/ureport/font/comicsansms/COMIC.TTF"; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ureport2-font/src/main/java/com/bstek/ureport/font/couriernew/COUR.TTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-font/src/main/java/com/bstek/ureport/font/couriernew/COUR.TTF -------------------------------------------------------------------------------- /ureport2-font/src/main/java/com/bstek/ureport/font/couriernew/CourierNewFontRegister.java: -------------------------------------------------------------------------------- 1 | package com.bstek.ureport.font.couriernew; 2 | 3 | import com.bstek.ureport.export.pdf.font.FontRegister; 4 | 5 | /** 6 | * @author Jacky.gao 7 | * @since 2014年5月7日 8 | */ 9 | public class CourierNewFontRegister implements FontRegister { 10 | 11 | public String getFontName() { 12 | return "Courier New"; 13 | } 14 | 15 | public String getFontPath() { 16 | return "com/bstek/ureport/font/couriernew/COUR.TTF"; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ureport2-font/src/main/java/com/bstek/ureport/font/fangsong/FangSongFontRegister.java: -------------------------------------------------------------------------------- 1 | package com.bstek.ureport.font.fangsong; 2 | 3 | import com.bstek.ureport.export.pdf.font.FontRegister; 4 | 5 | /** 6 | * @author Jacky.gao 7 | * @since 2014年5月7日 8 | */ 9 | public class FangSongFontRegister implements FontRegister { 10 | 11 | public String getFontName() { 12 | return "仿宋"; 13 | } 14 | 15 | public String getFontPath() { 16 | return "com/bstek/ureport/font/fangsong/SIMFANG.TTF"; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ureport2-font/src/main/java/com/bstek/ureport/font/fangsong/SIMFANG.TTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-font/src/main/java/com/bstek/ureport/font/fangsong/SIMFANG.TTF -------------------------------------------------------------------------------- /ureport2-font/src/main/java/com/bstek/ureport/font/heiti/HeiTiFontRegister.java: -------------------------------------------------------------------------------- 1 | package com.bstek.ureport.font.heiti; 2 | 3 | import com.bstek.ureport.export.pdf.font.FontRegister; 4 | 5 | /** 6 | * @author Jacky.gao 7 | * @since 2014年5月7日 8 | */ 9 | public class HeiTiFontRegister implements FontRegister { 10 | 11 | public String getFontName() { 12 | return "黑体"; 13 | } 14 | 15 | public String getFontPath() { 16 | return "com/bstek/ureport/font/heiti/SIMHEI.TTF"; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ureport2-font/src/main/java/com/bstek/ureport/font/heiti/SIMHEI.TTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-font/src/main/java/com/bstek/ureport/font/heiti/SIMHEI.TTF -------------------------------------------------------------------------------- /ureport2-font/src/main/java/com/bstek/ureport/font/impact/IMPACT.TTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-font/src/main/java/com/bstek/ureport/font/impact/IMPACT.TTF -------------------------------------------------------------------------------- /ureport2-font/src/main/java/com/bstek/ureport/font/impact/ImpactFontRegister.java: -------------------------------------------------------------------------------- 1 | package com.bstek.ureport.font.impact; 2 | 3 | import com.bstek.ureport.export.pdf.font.FontRegister; 4 | 5 | /** 6 | * @author Jacky.gao 7 | * @since 2014年5月7日 8 | */ 9 | public class ImpactFontRegister implements FontRegister { 10 | 11 | public String getFontName() { 12 | return "Impact"; 13 | } 14 | 15 | public String getFontPath() { 16 | return "com/bstek/ureport/font/impact/IMPACT.TTF"; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ureport2-font/src/main/java/com/bstek/ureport/font/kaiti/KaiTiFontRegister.java: -------------------------------------------------------------------------------- 1 | package com.bstek.ureport.font.kaiti; 2 | 3 | import com.bstek.ureport.export.pdf.font.FontRegister; 4 | 5 | /** 6 | * @author Jacky.gao 7 | * @since 2014年5月7日 8 | */ 9 | public class KaiTiFontRegister implements FontRegister { 10 | 11 | public String getFontName() { 12 | return "楷体"; 13 | } 14 | 15 | public String getFontPath() { 16 | return "com/bstek/ureport/font/kaiti/SIMKAI.TTF"; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ureport2-font/src/main/java/com/bstek/ureport/font/kaiti/SIMKAI.TTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-font/src/main/java/com/bstek/ureport/font/kaiti/SIMKAI.TTF -------------------------------------------------------------------------------- /ureport2-font/src/main/java/com/bstek/ureport/font/songti/SIMSUN.TTC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-font/src/main/java/com/bstek/ureport/font/songti/SIMSUN.TTC -------------------------------------------------------------------------------- /ureport2-font/src/main/java/com/bstek/ureport/font/songti/SongTiFontRegister.java: -------------------------------------------------------------------------------- 1 | package com.bstek.ureport.font.songti; 2 | 3 | import com.bstek.ureport.export.pdf.font.FontRegister; 4 | 5 | /** 6 | * @author Jacky.gao 7 | * @since 2014年5月7日 8 | */ 9 | public class SongTiFontRegister implements FontRegister { 10 | 11 | public String getFontName() { 12 | return "宋体"; 13 | } 14 | 15 | public String getFontPath() { 16 | return "com/bstek/ureport/font/songti/SIMSUN.TTC"; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ureport2-font/src/main/java/com/bstek/ureport/font/timesnewroman/TIMES.TTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-font/src/main/java/com/bstek/ureport/font/timesnewroman/TIMES.TTF -------------------------------------------------------------------------------- /ureport2-font/src/main/java/com/bstek/ureport/font/timesnewroman/TimesNewRomanFontRegister.java: -------------------------------------------------------------------------------- 1 | package com.bstek.ureport.font.timesnewroman; 2 | 3 | import com.bstek.ureport.export.pdf.font.FontRegister; 4 | 5 | /** 6 | * @author Jacky.gao 7 | * @since 2014年5月7日 8 | */ 9 | public class TimesNewRomanFontRegister implements FontRegister { 10 | 11 | public String getFontName() { 12 | return "Times New Roman"; 13 | } 14 | 15 | public String getFontPath() { 16 | return "com/bstek/ureport/font/timesnewroman/TIMES.TTF"; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ureport2-font/src/main/java/com/bstek/ureport/font/yahei/YaheiFontRegister.java: -------------------------------------------------------------------------------- 1 | package com.bstek.ureport.font.yahei; 2 | 3 | import com.bstek.ureport.export.pdf.font.FontRegister; 4 | 5 | /** 6 | * @author Jacky.gao 7 | * @since 2014年5月7日 8 | */ 9 | public class YaheiFontRegister implements FontRegister { 10 | 11 | public String getFontName() { 12 | return "微软雅黑"; 13 | } 14 | 15 | public String getFontPath() { 16 | return "com/bstek/ureport/font/yahei/msyh.ttc"; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ureport2-font/src/main/java/com/bstek/ureport/font/yahei/msyh.ttc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-font/src/main/java/com/bstek/ureport/font/yahei/msyh.ttc -------------------------------------------------------------------------------- /ureport2-js/css/designer.css: -------------------------------------------------------------------------------- 1 | .handsontable tr{ 2 | background: transparent; 3 | } 4 | .handsontable td, .handsontable th{ 5 | background: transparent; 6 | } 7 | .handsontable table.htCore{ 8 | border-collapse:collapse 9 | } 10 | .ud-toolbar{ 11 | width: 100%; 12 | background: #f8f8f8; 13 | } 14 | .ud-property-panel{ 15 | width: 400px; 16 | border: solid 1px #999; 17 | border-radius: 5px; 18 | top: 35px; 19 | left: 710px; 20 | z-index: 105; 21 | position: absolute; 22 | background: #ffffff; 23 | box-shadow: 5px 5px 5px #888888; 24 | } 25 | .ud-select-color{ 26 | background: #000000; 27 | width: 14px; 28 | height: 4px; 29 | display: block; 30 | } 31 | .ud-select-bgcolor{ 32 | background: #fff; 33 | width: 14px; 34 | height: 4px; 35 | display: block; 36 | } -------------------------------------------------------------------------------- /ureport2-js/css/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-js/css/iconfont.eot -------------------------------------------------------------------------------- /ureport2-js/css/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-js/css/iconfont.ttf -------------------------------------------------------------------------------- /ureport2-js/css/print.css: -------------------------------------------------------------------------------- 1 | @media print { 2 | .page-break{display: block; page-break-before: always; } 3 | } 4 | @page right { 5 | @bottom-left { 6 | margin: 10pt 0 30pt 0; 7 | border-top: .25pt solid #666; 8 | content: "我的报表"; 9 | font-size: 9pt; 10 | color: #333; 11 | } 12 | @bottom-right { 13 | margin: 10pt 0 30pt 0; 14 | border-top: .25pt solid #666; 15 | content: "我的内容"; 16 | font-size: 9pt; 17 | } 18 | @top-right { 19 | content: "测试报表"; 20 | margin: 30pt 0 10pt 0; 21 | font-size: 9pt; 22 | color: #333; 23 | } 24 | } -------------------------------------------------------------------------------- /ureport2-js/src/FileInfo.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-03-01. 3 | */ 4 | export default class FileInfo{ 5 | setFile(name){ 6 | if(!this.fileInfo){ 7 | this.fileInfo=$(`
`); 8 | $('.ud-toolbar').append(this.fileInfo); 9 | } 10 | let suffix='.ureport.xml'; 11 | let pos=name.indexOf(suffix); 12 | if(pos>-1){ 13 | name=name.substring(0,pos); 14 | } 15 | name=decodeURI(decodeURI(name)); 16 | this.fileInfo.html('报表:'+name); 17 | } 18 | }; -------------------------------------------------------------------------------- /ureport2-js/src/PrintLine.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-02-18. 3 | */ 4 | import {mmToPoint} from './Utils.js'; 5 | 6 | export default class PrintLine{ 7 | constructor(context){ 8 | context.printLine=this; 9 | this.context=context; 10 | const height=$(window).height()-90; 11 | const rightHr=$(`
`); 12 | $(document.body).append(rightHr); 13 | this.refresh(); 14 | } 15 | refresh(){ 16 | const paper=this.context.reportDef.paper; 17 | const orientation=paper.orientation; 18 | let width=paper.width; 19 | if(orientation==='landscape'){ 20 | width=paper.height; 21 | } 22 | width=width-paper.leftMargin-paper.rightMargin+38; 23 | $('.ureport-right-hr-for-print').css('left',width+"pt"); 24 | } 25 | }; -------------------------------------------------------------------------------- /ureport2-js/src/Test.js: -------------------------------------------------------------------------------- 1 | var test = { 2 | "type": "pie", 3 | "data": { 4 | "labels": ["硕士", "大专", "博士", "本科", "高中", "大学", "研究生", "中专", "博士后", "小学"], 5 | "datasets": [{ 6 | "label": "1", 7 | "backgroundColor": ["rgb(255, 99, 132)", "rgb(54, 162, 235)", "rgb(255, 205, 86)", "rgb(75, 192, 192)", "rgb(255, 159, 64)", "rgb(153,102,255)", "rgb(53,202,25)", "rgb(201,203,207)", "rgb(205,92,92)", "rgb(255,127,80)"], 8 | "data": [18455.0, 10966.0, 110687.0, 36694.0, 52771.0, 44232.0, 27544.0, 8150.0, 17595.0, 4408.0] 9 | }, { 10 | "label": "0", 11 | "backgroundColor": ["rgb(54, 162, 235)", "rgb(255, 205, 86)", "rgb(75, 192, 192)", "rgb(255, 159, 64)", "rgb(153,102,255)", "rgb(53,202,25)", "rgb(201,203,207)"], 12 | "data": [14349.0, 27926.0, 15275.0, 7341.0, 564716.0, 5091.0, 6431.0, 42321.0] 13 | }] 14 | }, 15 | "options": { 16 | "title": { 17 | "display": true, 18 | "text": "我的图表", 19 | "position": "top", 20 | "fontSize": 14, 21 | "fontColor": "#666", 22 | "fontStyle": "bold", 23 | "padding": "10" 24 | }, 25 | } 26 | } -------------------------------------------------------------------------------- /ureport2-js/src/form/component/CheckboxComponent.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-16. 3 | */ 4 | import Component from './Component.js'; 5 | import CheckboxInstance from '../instance/CheckboxInstance.js'; 6 | import CheckboxProperty from '../property/CheckboxProperty.js'; 7 | export default class CheckboxComponent extends Component{ 8 | constructor(options){ 9 | super(options); 10 | this.property=new CheckboxProperty(); 11 | } 12 | newInstance(){ 13 | return new CheckboxInstance(); 14 | } 15 | getType(){ 16 | return CheckboxInstance.TYPE; 17 | } 18 | getId(){ 19 | this.id="checkbox_component"; 20 | return this.id; 21 | } 22 | } -------------------------------------------------------------------------------- /ureport2-js/src/form/component/Component.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-12. 3 | */ 4 | 5 | export default class Component{ 6 | constructor(options){ 7 | this.options=options; 8 | this.entityList=[]; 9 | this.tool=$("
"+options.label+"
"); 10 | this.tool.addClass("pb-component"); 11 | this.tool.attr(Component.ID,this.getId()); 12 | this.tool.draggable({ 13 | revert: false, 14 | connectToSortable:".pb-dropable-grid", 15 | helper:"clone" 16 | }); 17 | } 18 | support(type){ 19 | if(type===this.getType()){ 20 | return true; 21 | } 22 | return false; 23 | } 24 | getId(){ 25 | return ''; 26 | } 27 | } 28 | Component.ID="component_id"; 29 | Component.GRID="component_grid"; -------------------------------------------------------------------------------- /ureport2-js/src/form/component/DatetimeComponent.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-23. 3 | */ 4 | import Component from './Component.js'; 5 | import DatetimeProperty from '../property/DatetimeProperty.js'; 6 | import DatetimeInstance from '../instance/DatetimeInstance.js'; 7 | export default class DatetimeComponent extends Component{ 8 | constructor(options){ 9 | super(options); 10 | this.property=new DatetimeProperty(); 11 | } 12 | newInstance(){ 13 | return new DatetimeInstance(); 14 | } 15 | getType(){ 16 | return DatetimeInstance.TYPE; 17 | } 18 | getId(){ 19 | this.id="datetime_component"; 20 | return this.id; 21 | } 22 | } -------------------------------------------------------------------------------- /ureport2-js/src/form/component/Grid2X2Component.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-15. 3 | */ 4 | import GridComponent from './GridComponent.js'; 5 | import Grid2X2Instance from '../instance/Grid2X2Instance.js'; 6 | export default class Grid2X2Component extends GridComponent{ 7 | constructor(options){ 8 | super(options); 9 | } 10 | getId(){ 11 | this.id="component_grid2x2"; 12 | return this.id; 13 | } 14 | newInstance(){ 15 | return new Grid2X2Instance(); 16 | } 17 | getType(){ 18 | return Grid2X2Instance.TYPE; 19 | } 20 | } -------------------------------------------------------------------------------- /ureport2-js/src/form/component/Grid3x3x3Component.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-16. 3 | */ 4 | import GridComponent from './GridComponent.js'; 5 | import Grid3x3x3Instance from '../instance/Grid3x3x3Instance.js'; 6 | export default class Grid3x3x3Component extends GridComponent{ 7 | constructor(options){ 8 | super(options); 9 | } 10 | newInstance(){ 11 | return new Grid3x3x3Instance(); 12 | } 13 | getType(){ 14 | return Grid3x3x3Instance.TYPE; 15 | } 16 | getId(){ 17 | this.id="component_grid3x3x3"; 18 | return this.id; 19 | } 20 | } -------------------------------------------------------------------------------- /ureport2-js/src/form/component/Grid4x4x4x4Component.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-16. 3 | */ 4 | import GridComponent from './GridComponent.js'; 5 | import Grid4x4x4x4Instance from '../instance/Grid4x4x4x4Instance.js'; 6 | export default class Grid4x4x4x4Component extends GridComponent{ 7 | constructor(options){ 8 | super(options); 9 | } 10 | newInstance(){ 11 | return new Grid4x4x4x4Instance(); 12 | } 13 | getType(){ 14 | return Grid4x4x4x4Instance.TYPE; 15 | } 16 | getId(){ 17 | this.id="component_grid4x4x4x4"; 18 | return this.id; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /ureport2-js/src/form/component/GridComponent.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-15. 3 | */ 4 | import GridProperty from '../property/GridProperty.js'; 5 | import Component from './Component.js'; 6 | export default class GridComponent extends Component{ 7 | constructor(options){ 8 | super(options); 9 | this.property=GridComponent.property; 10 | } 11 | } 12 | GridComponent.property=new GridProperty(); -------------------------------------------------------------------------------- /ureport2-js/src/form/component/GridCustomComponent.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-16. 3 | */ 4 | import GridComponent from './GridComponent.js'; 5 | import GridCustomInstance from '../instance/GridCustomInstance.js'; 6 | export default class GridCustomComponent extends GridComponent{ 7 | constructor(options){ 8 | super(options); 9 | } 10 | newInstance(cols){ 11 | return new GridCustomInstance(cols); 12 | } 13 | getType(){ 14 | return GridCustomInstance.TYPE; 15 | } 16 | getId(){ 17 | this.id="component_gridcustom"; 18 | return this.id; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /ureport2-js/src/form/component/GridSingleComponent.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-16. 3 | */ 4 | import GridComponent from './GridComponent.js'; 5 | import GridSingleInstance from '../instance/GridSingleInstance.js'; 6 | export default class GridSingleComponent extends GridComponent{ 7 | constructor(options){ 8 | super(options); 9 | } 10 | newInstance(){ 11 | return new GridSingleInstance(); 12 | } 13 | getType(){ 14 | return GridSingleInstance.TYPE; 15 | } 16 | getId(){ 17 | this.id="component_gridsingle"; 18 | return this.id; 19 | } 20 | } -------------------------------------------------------------------------------- /ureport2-js/src/form/component/RadioComponent.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-16. 3 | */ 4 | import Component from './Component.js'; 5 | import RadioProperty from '../property/RadioProperty.js'; 6 | import RadioInstance from '../instance/RadioInstance.js'; 7 | export default class RadioComponent extends Component{ 8 | constructor(options){ 9 | super(options); 10 | this.property=new RadioProperty(); 11 | } 12 | newInstance(){ 13 | return new RadioInstance(); 14 | } 15 | getType(){ 16 | return RadioInstance.TYPE; 17 | } 18 | getId(){ 19 | this.id="radio_component"; 20 | return this.id; 21 | } 22 | } -------------------------------------------------------------------------------- /ureport2-js/src/form/component/ResetButtonComponent.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-20. 3 | */ 4 | import Component from './Component.js'; 5 | import ResetButtonInstance from '../instance/ResetButtonInstance.js'; 6 | import ButtonProperty from '../property/ButtonProperty.js'; 7 | import Utils from '../Utils.js'; 8 | export default class ResetButtonComponent extends Component{ 9 | constructor(options){ 10 | super(options); 11 | this.property=new ButtonProperty(); 12 | } 13 | newInstance(){ 14 | var seq=Utils.seq(this.id); 15 | return new ResetButtonInstance("重置"+seq); 16 | } 17 | getType(){ 18 | return ResetButtonInstance.TYPE; 19 | } 20 | getId(){ 21 | this.id="reset_button"; 22 | return this.id; 23 | } 24 | } -------------------------------------------------------------------------------- /ureport2-js/src/form/component/SelectComponent.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-20. 3 | */ 4 | import Component from './Component.js'; 5 | import SelectProperty from '../property/SelectProperty.js'; 6 | import Utils from '../Utils.js'; 7 | import SelectInstance from '../instance/SelectInstance.js'; 8 | export default class SelectComponent extends Component{ 9 | constructor(options){ 10 | super(options); 11 | this.property=new SelectProperty(); 12 | } 13 | newInstance(){ 14 | var seq=Utils.seq(this.id); 15 | return new SelectInstance(seq); 16 | } 17 | getType(){ 18 | return SelectInstance.TYPE; 19 | } 20 | getId(){ 21 | this.id= "single_select"; 22 | return this.id; 23 | } 24 | } -------------------------------------------------------------------------------- /ureport2-js/src/form/component/SubmitButtonComponent.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-20. 3 | */ 4 | import Component from './Component.js'; 5 | import SubmitButtonInstance from '../instance/SubmitButtonInstance.js'; 6 | import ButtonProperty from '../property/ButtonProperty.js'; 7 | import Utils from '../Utils.js'; 8 | export default class SubmitButtonComponent extends Component{ 9 | constructor(options){ 10 | super(options); 11 | this.property=new ButtonProperty(); 12 | } 13 | newInstance(){ 14 | var seq=Utils.seq(this.id); 15 | return new SubmitButtonInstance("提交"+seq); 16 | } 17 | getType(){ 18 | return SubmitButtonInstance.TYPE; 19 | } 20 | getId(){ 21 | this.id="submit_button"; 22 | return this.id; 23 | } 24 | } -------------------------------------------------------------------------------- /ureport2-js/src/form/component/TabControlComponent.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-12. 3 | */ 4 | import Component from './Component.js' 5 | import TabProperty from '../property/TabProperty.js'; 6 | import TabControlInstance from '../instance/TabControlInstance.js'; 7 | import Utils from '../Utils.js'; 8 | 9 | export default class TabControlComponent extends Component{ 10 | constructor(options){ 11 | super(options); 12 | this.tool.attr(Component.TAB,"1"); 13 | this.property=new TabProperty(); 14 | } 15 | newInstance(){ 16 | const seq=Utils.seq(this.getId()); 17 | return new TabControlInstance(seq); 18 | } 19 | getType(){ 20 | return TabControlInstance.TYPE; 21 | } 22 | getId(){ 23 | this.id="tab_control_component"; 24 | return this.id; 25 | } 26 | } -------------------------------------------------------------------------------- /ureport2-js/src/form/component/TextComponent.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-16. 3 | */ 4 | import Component from './Component.js'; 5 | import TextInstance from '../instance/TextInstance.js'; 6 | import TextProperty from '../property/TextProperty.js'; 7 | import Utils from '../Utils.js'; 8 | export default class TextComponent extends Component{ 9 | constructor(options){ 10 | super(options); 11 | this.property=new TextProperty(); 12 | } 13 | newInstance(){ 14 | var seq=Utils.seq(this.id); 15 | return new TextInstance("输入框"+seq); 16 | } 17 | getType(){ 18 | return TextInstance.TYPE; 19 | } 20 | getId(){ 21 | this.id="component_texteditor"; 22 | return this.id; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /ureport2-js/src/form/container/CanvasContainer.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-12. 3 | */ 4 | import Container from './Container.js'; 5 | export default class CanvasContainer extends Container{ 6 | constructor(canvas){ 7 | super(); 8 | this.container=canvas; 9 | this.container.uniqueId(); 10 | this.id=this.container.prop("id"); 11 | } 12 | addElement(element){ 13 | this.container.append(element); 14 | } 15 | toJson(){ 16 | var children=[]; 17 | $.each(this.getChildren(),function(index,child){ 18 | children.push(child.toJson()); 19 | }); 20 | return children; 21 | } 22 | toXml(){ 23 | let xml=''; 24 | $.each(this.getChildren(),function(index,child){ 25 | xml+=child.toXml(); 26 | }); 27 | return xml; 28 | } 29 | getType(){ 30 | return "Canvas"; 31 | } 32 | toHtml(){ 33 | var div=$("
"); 34 | var row=$("
"); 35 | var col=$("
"); 36 | row.append(col); 37 | div.append(row); 38 | this.buildChildrenHtml(col); 39 | return div; 40 | } 41 | } -------------------------------------------------------------------------------- /ureport2-js/src/form/container/TabContainer.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-12. 3 | */ 4 | import Container from './Container.js'; 5 | 6 | export default class TabContainer extends Container{ 7 | constructor(id){ 8 | super(); 9 | this.id=id; 10 | this.container=$("
"); 11 | } 12 | addElement(element){ 13 | this.container.append(element); 14 | } 15 | initFromJson(json){ 16 | formBuilder.buildPageElements(json,this); 17 | } 18 | toJSON(){ 19 | var children=[]; 20 | $.each(this.getChildren(),function(index,child){ 21 | children.push(child.toJSON()); 22 | }); 23 | return children; 24 | } 25 | toHtml(){ 26 | var div=$("
"); 27 | div.append(this.buildChildrenHtml(div)); 28 | return div; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ureport2-js/src/form/css/iconfont.css: -------------------------------------------------------------------------------- 1 | 2 | @font-face {font-family: "form"; 3 | src: url('iconfont.eot'); /* IE9*/ 4 | src: url('iconfont.ttf') format('truetype'); 5 | } 6 | 7 | .form { 8 | font-family:"form" !important; 9 | font-size:13px; 10 | font-style:normal; 11 | -webkit-font-smoothing: antialiased; 12 | -moz-osx-font-smoothing: grayscale; 13 | } 14 | 15 | .form-3col:before { content: "\e6e7"; } 16 | 17 | .form-custom-col:before { content: "\e614"; } 18 | 19 | .form-dropdown:before { content: "\e606"; } 20 | 21 | .form-checkbox:before { content: "\e60d"; } 22 | 23 | .form-datetime:before { content: "\e6cc"; } 24 | 25 | .form-radio:before { content: "\e612"; } 26 | 27 | .form-tab:before { content: "\e61f"; } 28 | 29 | .form-danye-:before { content: "\e603"; } 30 | 31 | .form-submit:before { content: "\e670"; } 32 | 33 | .form-textarea:before { content: "\e6ea"; } 34 | 35 | .form-textbox:before { content: "\e6eb"; } 36 | 37 | .form-2col:before { content: "\e64b"; } 38 | 39 | .form-4col:before { content: "\e602"; } 40 | 41 | .form-reset:before { content: "\e6e8"; } 42 | 43 | .form-1col:before { content: "\e649"; } 44 | 45 | -------------------------------------------------------------------------------- /ureport2-js/src/form/css/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-js/src/form/css/iconfont.eot -------------------------------------------------------------------------------- /ureport2-js/src/form/css/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-js/src/form/css/iconfont.ttf -------------------------------------------------------------------------------- /ureport2-js/src/form/external/images/ui-icons_444444_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-js/src/form/external/images/ui-icons_444444_256x240.png -------------------------------------------------------------------------------- /ureport2-js/src/form/external/images/ui-icons_555555_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-js/src/form/external/images/ui-icons_555555_256x240.png -------------------------------------------------------------------------------- /ureport2-js/src/form/external/images/ui-icons_777620_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-js/src/form/external/images/ui-icons_777620_256x240.png -------------------------------------------------------------------------------- /ureport2-js/src/form/external/images/ui-icons_777777_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-js/src/form/external/images/ui-icons_777777_256x240.png -------------------------------------------------------------------------------- /ureport2-js/src/form/external/images/ui-icons_cc0000_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-js/src/form/external/images/ui-icons_cc0000_256x240.png -------------------------------------------------------------------------------- /ureport2-js/src/form/external/images/ui-icons_ffffff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/youseries/ureport/07f9c32593274c1f23e403ffddcb86ffb9964799/ureport2-js/src/form/external/images/ui-icons_ffffff_256x240.png -------------------------------------------------------------------------------- /ureport2-js/src/form/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-24. 3 | */ 4 | import FormBuilder from './FormBuilder.js'; 5 | 6 | $(document).ready(function(){ 7 | (function($){ 8 | $.fn.datetimepicker.dates['zh-CN'] = { 9 | days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], 10 | daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], 11 | daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], 12 | months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 13 | monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 14 | today: "今天", 15 | suffix: [], 16 | meridiem: ["上午", "下午"] 17 | }; 18 | }(jQuery)); 19 | const formBuilder=new FormBuilder($("#container")); 20 | formBuilder.initData(window.parent.__current_report_def); 21 | }); 22 | -------------------------------------------------------------------------------- /ureport2-js/src/form/instance/ButtonInstance.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-20. 3 | */ 4 | import Instance from './Instance.js'; 5 | 6 | export default class ButtonInstance extends Instance{ 7 | constructor(label){ 8 | super(); 9 | this.element=$('
'); 10 | this.label=label; 11 | this.style="btn-default"; 12 | this.button=$(``); 13 | this.element.append(this.button); 14 | this.element.uniqueId(); 15 | this.id=this.element.prop("id"); 16 | this.editorType="button"; 17 | this.align='left'; 18 | } 19 | setStyle(style){ 20 | this.button.removeClass(this.style); 21 | this.button.addClass(style); 22 | this.style=style; 23 | } 24 | setAlign(align){ 25 | this.element.css('text-align',align); 26 | this.align=align; 27 | } 28 | setLabel(label){ 29 | this.label=label; 30 | this.button.html(label); 31 | } 32 | initFromJson(json){ 33 | this.setLabel(json.label); 34 | this.setStyle(json.style); 35 | this.setAlign(json.align); 36 | } 37 | toJSON(){ 38 | 39 | } 40 | } -------------------------------------------------------------------------------- /ureport2-js/src/form/instance/ContainerInstance.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-12. 3 | */ 4 | import Instance from './Instance.js'; 5 | export default class ContainerInstance extends Instance{ 6 | constructor(){ 7 | super(); 8 | this.containers=[]; 9 | this.visible="true"; 10 | } 11 | initFromJson(json){ 12 | var cols=json.cols; 13 | for(var i=0;i"+label+""); 9 | } 10 | initFromJson(json){ 11 | this.setValue(json); 12 | } 13 | toJson(){ 14 | return { 15 | label:this.label, 16 | value:this.value 17 | }; 18 | } 19 | setValue(json){ 20 | this.value=json.value; 21 | this.element.prop("value",json.value); 22 | this.label=json.label; 23 | this.element.text(json.label); 24 | } 25 | remove(){ 26 | this.element.remove(); 27 | } 28 | } -------------------------------------------------------------------------------- /ureport2-js/src/form/instance/Radio.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-16. 3 | */ 4 | import Utils from '../Utils.js'; 5 | import CheckboxInstance from './CheckboxInstance.js'; 6 | export default class Radio{ 7 | constructor(optionsInline){ 8 | var seq=Utils.seq(Radio.ID); 9 | this.label="选项"+seq; 10 | this.value=this.label; 11 | this.radio=$(""); 12 | var inlineClass=CheckboxInstance.LABEL_POSITION[0]; 13 | if(optionsInline){ 14 | inlineClass=CheckboxInstance.LABEL_POSITION[1]; 15 | } 16 | this.element=$(""); 17 | this.element.append(this.radio); 18 | this.labelElement=$(""+this.label+""); 19 | this.element.append(this.labelElement); 20 | } 21 | setValue(json){ 22 | this.label=json.label; 23 | this.value=json.value; 24 | this.radio.prop("value",this.value); 25 | this.labelElement.html(json.label); 26 | } 27 | initFromJson(json){ 28 | this.setValue(json); 29 | } 30 | toJson(){ 31 | return {label:this.label,value:this.value}; 32 | } 33 | } 34 | Radio.ID="Radio"; -------------------------------------------------------------------------------- /ureport2-js/src/form/instance/ResetButtonInstance.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-20. 3 | */ 4 | import ButtonInstance from './ButtonInstance.js'; 5 | 6 | export default class ResetButtonInstance extends ButtonInstance{ 7 | constructor(label){ 8 | super(label); 9 | this.editorType="reset-button"; 10 | } 11 | toJson(){ 12 | return { 13 | label:this.label, 14 | style:this.style, 15 | align:this.align, 16 | type:ResetButtonInstance.TYPE 17 | }; 18 | } 19 | toXml(){ 20 | return ``; 21 | } 22 | } 23 | ResetButtonInstance.TYPE='Reset-button'; -------------------------------------------------------------------------------- /ureport2-js/src/form/instance/SubmitButtonInstance.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-20. 3 | */ 4 | import ButtonInstance from './ButtonInstance.js'; 5 | 6 | export default class SubmitButtonInstance extends ButtonInstance{ 7 | constructor(label){ 8 | super(label); 9 | this.editorType="submit-button"; 10 | } 11 | toJson(){ 12 | return { 13 | label:this.label, 14 | style:this.style, 15 | align:this.align, 16 | type:SubmitButtonInstance.TYPE 17 | }; 18 | } 19 | toXml(){ 20 | return ``; 21 | } 22 | } 23 | SubmitButtonInstance.TYPE="Submit-button"; 24 | -------------------------------------------------------------------------------- /ureport2-js/src/form/property/DatetimeProperty.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-23. 3 | */ 4 | import Property from './Property.js'; 5 | export default class DatetimeProperty extends Property{ 6 | constructor(){ 7 | super(); 8 | this.init(); 9 | } 10 | init(){ 11 | this.positionLabelGroup=this.buildPositionLabelGroup(); 12 | this.col.append(this.positionLabelGroup); 13 | this.col.append(this.buildBindParameter()); 14 | this.col.append(this.buildLabelGroup()); 15 | var formatGroup=$("
"); 16 | this.col.append(formatGroup); 17 | this.formatSelect=$(" 14 | 15 | 16 | `); 17 | positionGroup.append(this.positionSelect); 18 | var self=this; 19 | this.positionSelect.change(function(){ 20 | window.formBuilder.formPosition=$(this).val(); 21 | }); 22 | this.col.append(positionGroup); 23 | } 24 | refreshValue(current){ 25 | this.positionSelect.val(window.formBuilder.formPosition); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ureport2-js/src/form/property/TextProperty.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-16. 3 | */ 4 | import Property from './Property.js'; 5 | export default class TextProperty extends Property{ 6 | constructor(report){ 7 | super(); 8 | this.init(report); 9 | } 10 | init(report){ 11 | this.col.append(this.buildBindParameter()); 12 | this.positionLabelGroup=this.buildPositionLabelGroup(); 13 | this.col.append(this.positionLabelGroup); 14 | this.col.append(this.buildLabelGroup()); 15 | } 16 | refreshValue(current){ 17 | super.refreshValue(current); 18 | if(this.typeSelect){ 19 | this.typeSelect.val(current.editorType); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ureport2-js/src/form/test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Form Test 11 | 12 | 13 |
14 | 15 | -------------------------------------------------------------------------------- /ureport2-js/src/form/test.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-13. 3 | */ 4 | import FormBuilder from './FormBuilder.js'; 5 | 6 | $(document).ready(function(){ 7 | new FormBuilder($("#container")); 8 | }); -------------------------------------------------------------------------------- /ureport2-js/src/form/webpack.config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.gao on 2016/5/17. 3 | */ 4 | var webpack = require('webpack'); 5 | module.exports = { 6 | entry: { 7 | test:'./test.js' 8 | }, 9 | output: { 10 | path: './output', 11 | filename: '[name].bundle.js' 12 | }, 13 | module: { 14 | loaders: [ 15 | { 16 | test: /\.json$/, 17 | loader: 'json' 18 | }, 19 | { 20 | test: /\.(jsx|js)?$/, 21 | exclude: /(node_modules|bower_components)/, 22 | loader: 'babel', 23 | query: { 24 | presets: ['react', 'es2015'], 25 | compact:true 26 | } 27 | }, 28 | { 29 | test: /\.css$/, 30 | loader: "style-loader!css-loader" 31 | }, 32 | { 33 | test: /\.(eot|woff|woff2|ttf|svg|png|jpg)$/, 34 | loader: 'url-loader?limit=1000000&name=[name]-[hash].[ext]' 35 | } 36 | ] 37 | } 38 | }; -------------------------------------------------------------------------------- /ureport2-js/src/i18n/i18n.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-10-01. 3 | */ 4 | import defaultI18nJsonData from './designer.json'; 5 | import en18nJsonData from './designer_en.json'; 6 | export default function buildLocal(){ 7 | let language=window.navigator.language || window.navigator.browserLanguage; 8 | if(!language){ 9 | language='zh-cn'; 10 | } 11 | language=language.toLowerCase(); 12 | window.i18n=defaultI18nJsonData; 13 | if(language!=='zh-cn'){ 14 | window.i18n=en18nJsonData; 15 | } 16 | } -------------------------------------------------------------------------------- /ureport2-js/src/i18n/preview.json: -------------------------------------------------------------------------------- 1 | { 2 | "pdfPrint":{ 3 | "title":"PDF在线打印", 4 | "setup":"打印配置", 5 | "paper":"纸张:", 6 | "custom":"自定义", 7 | "width":"宽(毫米):", 8 | "numberTip":"请输入数字!", 9 | "height":"高(毫米):", 10 | "orientation":"方向:", 11 | "portrait":"纵向", 12 | "landscape":"横向", 13 | "leftMargin":"左边距(毫米):", 14 | "rightMargin":"右边距(毫米):", 15 | "topMargin":"上边距(毫米):", 16 | "bottomMargin":"下边距(毫米):", 17 | "apply":"应用", 18 | "fail":"操作失败!", 19 | "print":"打印" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ureport2-js/src/i18n/preview_en.json: -------------------------------------------------------------------------------- 1 | { 2 | "pdfPrint":{ 3 | "title":"pdf online print", 4 | "setup":"Print Setup", 5 | "paper":"Paper:", 6 | "custom":"Custom", 7 | "width":"Width(mm):", 8 | "numberTip":"Please input a number", 9 | "height":"Height(mm):", 10 | "orientation":"Orientation:", 11 | "portrait":"Portrait", 12 | "landscape":"Landscape", 13 | "leftMargin":"Left Margin(mm):", 14 | "rightMargin":"Right Margin(mm):", 15 | "topMargin":"Top Margin(mm):", 16 | "bottomMargin":"Bottom Margin(mm):", 17 | "apply":"Apply", 18 | "fail":"Apply fail!", 19 | "print":"Print" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ureport2-js/src/panel/property/chart/AreaChartValueEditor.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-06-27. 3 | */ 4 | import BarChartValueEditor from './BarChartValueEditor.js'; 5 | export default class AreaChartValueEditor extends BarChartValueEditor{ 6 | constructor(parentContainer,context){ 7 | super(parentContainer,context,'area'); 8 | } 9 | } -------------------------------------------------------------------------------- /ureport2-js/src/panel/property/chart/DoughnutChartValueEditor.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-06-27. 3 | */ 4 | import BarChartValueEditor from './BarChartValueEditor.js'; 5 | export default class DoughnutChartValueEditor extends BarChartValueEditor{ 6 | constructor(parentContainer,context){ 7 | super(parentContainer,context,'doughnut'); 8 | this.axisLI.hide(); 9 | } 10 | } -------------------------------------------------------------------------------- /ureport2-js/src/panel/property/chart/HorizontalBarChartValueEditor.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-06-27. 3 | */ 4 | import BarChartValueEditor from './BarChartValueEditor.js'; 5 | export default class HorizontalBarChartValueEditor extends BarChartValueEditor{ 6 | constructor(parentContainer,context){ 7 | super(parentContainer,context,'horbar'); 8 | } 9 | } -------------------------------------------------------------------------------- /ureport2-js/src/panel/property/chart/LineChartValueEditor.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-06-27. 3 | */ 4 | import BarChartValueEditor from './BarChartValueEditor.js'; 5 | export default class LineChartValueEditor extends BarChartValueEditor{ 6 | constructor(parentContainer,context){ 7 | super(parentContainer,context,'line'); 8 | } 9 | } -------------------------------------------------------------------------------- /ureport2-js/src/panel/property/chart/PieChartValueEditor.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-06-27. 3 | */ 4 | import BarChartValueEditor from './BarChartValueEditor.js'; 5 | export default class PieChartValueEditor extends BarChartValueEditor{ 6 | constructor(parentContainer,context){ 7 | super(parentContainer,context,'pie'); 8 | this.axisLI.hide(); 9 | } 10 | } -------------------------------------------------------------------------------- /ureport2-js/src/panel/property/chart/PolarChartValueEditor.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-06-27. 3 | */ 4 | import BarChartValueEditor from './BarChartValueEditor.js'; 5 | export default class PolarChartValueEditor extends BarChartValueEditor{ 6 | constructor(parentContainer,context){ 7 | super(parentContainer,context,'polar'); 8 | this.axisLI.hide(); 9 | } 10 | } -------------------------------------------------------------------------------- /ureport2-js/src/panel/property/chart/RadarChartValueEditor.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-06-27. 3 | */ 4 | import BarChartValueEditor from './BarChartValueEditor.js'; 5 | export default class RadarChartValueEditor extends BarChartValueEditor{ 6 | constructor(parentContainer,context){ 7 | super(parentContainer,context,'radar'); 8 | this.axisLI.hide(); 9 | } 10 | } -------------------------------------------------------------------------------- /ureport2-js/src/table/HeaderUtils.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-03-22. 3 | */ 4 | 5 | export function renderRowHeader(hot,context){ 6 | const countRows=hot.countRows(); 7 | const headers=[]; 8 | const rowHeaders=context.rowHeaders; 9 | for(let i=1;i<=countRows;i++){ 10 | let type=''; 11 | for(let header of rowHeaders){ 12 | if(header.rowNumber===(i-1)){ 13 | if(header.band==='headerrepeat'){ 14 | type=`HR`; 15 | }else if(header.band==='footerrepeat'){ 16 | type=`FR`; 17 | }else if(header.band==='title'){ 18 | type=`T`; 19 | }else if(header.band==='summary'){ 20 | type=`S`; 21 | } 22 | break; 23 | } 24 | } 25 | headers.push(i+type); 26 | } 27 | hot.updateSettings({ 28 | rowHeaders:headers 29 | }); 30 | }; 31 | -------------------------------------------------------------------------------- /ureport2-js/src/table/Hooks.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-01-27. 3 | */ 4 | 5 | -------------------------------------------------------------------------------- /ureport2-js/src/tools/ImportTool.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-01-25. 3 | */ 4 | import Tool from './Tool.js'; 5 | import ImportDialog from '../dialog/ImportDialog.js'; 6 | 7 | export default class ImportTool extends Tool{ 8 | constructor(){ 9 | super(); 10 | this.dialog=new ImportDialog(); 11 | } 12 | execute(){ 13 | this.dialog.show(); 14 | } 15 | getTitle(){ 16 | return `${window.i18n.importExcel}`; 17 | } 18 | getIcon(){ 19 | return ``; 20 | } 21 | } -------------------------------------------------------------------------------- /ureport2-js/src/tools/OpenTool.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-01-25. 3 | */ 4 | import Tool from './Tool.js'; 5 | import OpenDialog from '../dialog/OpenDialog.js'; 6 | 7 | export default class OpenTool extends Tool{ 8 | constructor(context){ 9 | super(context); 10 | this.openDialog=new OpenDialog(context); 11 | } 12 | execute(){ 13 | this.openDialog.show() 14 | } 15 | getTitle(){ 16 | return `${window.i18n.openFile}`; 17 | } 18 | getIcon(){ 19 | return ``; 20 | } 21 | } -------------------------------------------------------------------------------- /ureport2-js/src/tools/RedoTool.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-01-25. 3 | */ 4 | import Tool from './Tool.js'; 5 | import {undoManager} from '../Utils.js'; 6 | import {alert} from '../MsgBox.js'; 7 | 8 | export default class RedoTool extends Tool{ 9 | execute(){ 10 | if(undoManager.hasRedo()){ 11 | undoManager.redo(); 12 | }else{ 13 | alert(`${window.i18n.tools.redo.noRedo}`); 14 | } 15 | } 16 | getTitle(){ 17 | return `${window.i18n.tools.redo.redo}`; 18 | } 19 | getIcon(){ 20 | return ``; 21 | } 22 | } -------------------------------------------------------------------------------- /ureport2-js/src/tools/SearchFormSwitchTool.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-01-25. 3 | */ 4 | import Tool from './Tool.js'; 5 | import {setDirty} from '../Utils.js'; 6 | import SearchFormDialog from '../dialog/SearchFormDialog.js'; 7 | 8 | export default class SearchFormSwitchTool extends Tool{ 9 | constructor(context){ 10 | super(context); 11 | this.dialog=new SearchFormDialog(); 12 | } 13 | execute(){ 14 | setDirty(); 15 | this.dialog.show(this.context.reportDef); 16 | } 17 | getTitle(){ 18 | return `${window.i18n.tools.searchFormSwitch}`; 19 | } 20 | getIcon(){ 21 | return ``; 22 | } 23 | } -------------------------------------------------------------------------------- /ureport2-js/src/tools/SettingsTool.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-01-25. 3 | */ 4 | import Tool from './Tool.js'; 5 | import {alert} from '../MsgBox.js'; 6 | import SettingsDialog from '../dialog/SettingsDialog.js'; 7 | 8 | export default class SettingsTool extends Tool{ 9 | constructor(context){ 10 | super(context); 11 | this.settingsDialog=new SettingsDialog(); 12 | } 13 | execute(){ 14 | this.settingsDialog.show(this.context); 15 | } 16 | getTitle(){ 17 | return `${window.i18n.setting}`; 18 | } 19 | getIcon(){ 20 | return ``; 21 | } 22 | } -------------------------------------------------------------------------------- /ureport2-js/src/tools/Tool.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-01-25. 3 | */ 4 | import {alert} from '../MsgBox.js'; 5 | 6 | export default class Tool{ 7 | constructor(context){ 8 | this.context=context; 9 | } 10 | buildButton(){ 11 | const btn=$(``); 14 | const _this=this; 15 | btn.click(function(){ 16 | _this.execute(); 17 | }); 18 | return btn; 19 | } 20 | checkSelection(){ 21 | const selected=this.context.hot.getSelected(); 22 | if(!selected || selected.length===0){ 23 | alert(`${window.i18n.selectTargetCellFirst}`); 24 | return false; 25 | }else{ 26 | return true; 27 | } 28 | } 29 | }; -------------------------------------------------------------------------------- /ureport2-js/src/tools/UndoTool.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-01-25. 3 | */ 4 | import Tool from './Tool.js'; 5 | import {undoManager} from '../Utils.js'; 6 | import {alert} from '../MsgBox.js'; 7 | 8 | export default class UndoTool extends Tool{ 9 | execute(){ 10 | if(undoManager.hasUndo()){ 11 | undoManager.undo(); 12 | }else{ 13 | alert(`${window.i18n.tools.undo.noUndo}`); 14 | } 15 | } 16 | getTitle(){ 17 | return `${window.i18n.tools.undo.undo}`; 18 | } 19 | getIcon(){ 20 | return ``; 21 | } 22 | } -------------------------------------------------------------------------------- /ureport2-js/src/tree/css/tree.css: -------------------------------------------------------------------------------- 1 | .tree { 2 | } 3 | .tree li { 4 | list-style-type:none; 5 | margin:0; 6 | padding:2px 5px 0 0px; 7 | position:relative; 8 | line-height: 1; 9 | } 10 | .tree li::before, .tree li::after { 11 | content:''; 12 | left:-35px; 13 | position:absolute; 14 | right:auto 15 | } 16 | .tree li::before { 17 | border-left:1px solid #999; 18 | bottom:50px; 19 | height:100%; 20 | top:-1px; 21 | width:1px; 22 | } 23 | .tree li div li::before { 24 | border:none; 25 | } 26 | .tree li::after { 27 | border-top:1px solid #999; 28 | height:20px; 29 | top:23px; 30 | width:15px 31 | } 32 | .tree li div li::after { 33 | border:none 34 | } 35 | .tree li { 36 | margin-top:-5px; 37 | } 38 | .tree li span { 39 | border:1px solid transparent; 40 | display:block; 41 | margin:10px 0px 5px -20px; 42 | cursor:pointer; 43 | white-space: nowrap; 44 | } 45 | .tree li.parent_li>span { 46 | } 47 | .tree>ul>li::before, .tree>ul>li::after { 48 | border:0 49 | } 50 | .tree li:last-child::before { 51 | height:30px; 52 | } 53 | .tree-active{ 54 | border:solid 1px #2196F3 !important 55 | } -------------------------------------------------------------------------------- /ureport2-js/src/widget/MiddleSlash.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-03-16. 3 | */ 4 | import Slash from './Slash.js'; 5 | 6 | export default class MiddleSlash extends Slash{ 7 | constructor(width,height,fontSize){ 8 | super(width,height,fontSize); 9 | } 10 | init(){ 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ureport2-js/src/widget/Slash.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-03-16. 3 | */ 4 | export default class Slash{ 5 | constructor(width,height,fontSize){ 6 | this.width=width; 7 | this.height=height; 8 | this.fontSize=fontSize; 9 | this.text='未命名'; 10 | } 11 | _computeDegree(a,b){ 12 | const c=Math.sqrt(a*a+b*b); 13 | const sin=Math.sin(b/c); 14 | const degree=(180/Math.PI)*Math.asin(sin); 15 | return parseInt(degree); 16 | } 17 | _computeAngle(a,b){ 18 | const c=Math.sqrt(a*a+b*b); 19 | const cosB=(a*a+c*c-b*b)/2*a*c; 20 | const angle=Math.acos(cosB)*(180/Math.PI); 21 | return parseInt(angle); 22 | } 23 | } -------------------------------------------------------------------------------- /ureport2-js/src/widget/TopSlash.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by Jacky.Gao on 2017-03-16. 3 | */ 4 | import Slash from './Slash.js'; 5 | 6 | export default class TopSlash extends Slash{ 7 | constructor(width,height,fontSize,lastHeight){ 8 | super(width,height,fontSize); 9 | this.init(lastHeight); 10 | } 11 | init(lastHeight){ 12 | this.degree=this._computeDegree(this.width,this.height+lastHeight/2); 13 | this.angle=this._computeAngle(this.width,this.height+lastHeight); 14 | const angle=this.angle-this.degree; 15 | const sin=Math.sin((angle/180)*Math.PI); 16 | const w=this.fontSize/2; 17 | const length=w/sin; 18 | 19 | const newAngle=90-this.angle; 20 | const cos=Math.cos((newAngle/180)*Math.PI); 21 | this.y=parseInt(length/cos); 22 | 23 | const topAngle=this.angle-angle*2; 24 | const topCos=Math.cos((topAngle/180)*Math.PI); 25 | const x=parseInt(length/topCos); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ureport2-parent/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | ureport2-parent 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.m2e.core.maven2Builder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.m2e.core.maven2Nature 16 | 17 | 18 | -------------------------------------------------------------------------------- /ureport2-parent/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding/=UTF-8 3 | -------------------------------------------------------------------------------- /ureport2-parent/.settings/org.eclipse.m2e.core.prefs: -------------------------------------------------------------------------------- 1 | activeProfiles= 2 | eclipse.preferences.version=1 3 | resolveWorkspaceProjects=true 4 | version=1 5 | --------------------------------------------------------------------------------