diff --git a/cips.frontend/package.json b/cips.frontend/package.json index 974cc74e..0a57ff42 100644 --- a/cips.frontend/package.json +++ b/cips.frontend/package.json @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.108", + "platform-core": "8.2.110", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/erm.frontend/package.json b/erm.frontend/package.json index 9c6a1904..5a54be43 100644 --- a/erm.frontend/package.json +++ b/erm.frontend/package.json @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.108", + "platform-core": "8.2.110", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/gradle.properties b/gradle.properties index 8288dff3..aacdc76d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -39,7 +39,7 @@ application_version=1.0.0 platform_group=io.sc platform_version=8.2.28 platform_plugin_version=8.2.10 -platform_core_frontend_version=8.2.108 +platform_core_frontend_version=8.2.110 ########################################################### # dependencies version diff --git a/io.sc.engine.mv.frontend/package.json b/io.sc.engine.mv.frontend/package.json index 50ae6f65..59da6296 100644 --- a/io.sc.engine.mv.frontend/package.json +++ b/io.sc.engine.mv.frontend/package.json @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.108", + "platform-core": "8.2.110", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.engine.rule.frontend/package.json b/io.sc.engine.rule.frontend/package.json index 74d49453..b4b0ab71 100644 --- a/io.sc.engine.rule.frontend/package.json +++ b/io.sc.engine.rule.frontend/package.json @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.108", + "platform-core": "8.2.110", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.engine.st.frontend/package.json b/io.sc.engine.st.frontend/package.json index 4a694a75..8ce2bdee 100644 --- a/io.sc.engine.st.frontend/package.json +++ b/io.sc.engine.st.frontend/package.json @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.108", + "platform-core": "8.2.110", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.ai.frontend/package.json b/io.sc.platform.ai.frontend/package.json index d15ac829..0572fb3f 100644 --- a/io.sc.platform.ai.frontend/package.json +++ b/io.sc.platform.ai.frontend/package.json @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.108", + "platform-core": "8.2.110", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.core.frontend/package.json b/io.sc.platform.core.frontend/package.json index 290f3625..9c9d1f90 100644 --- a/io.sc.platform.core.frontend/package.json +++ b/io.sc.platform.core.frontend/package.json @@ -1,6 +1,6 @@ { "name": "platform-core", - "version": "8.2.108", + "version": "8.2.110", "description": "前端核心包,用于快速构建前端的脚手架", "//main": "库的主文件", "main": "dist/platform-core.js", diff --git a/io.sc.platform.core.frontend/src/platform/layout/sub-layout/Topper.vue b/io.sc.platform.core.frontend/src/platform/layout/sub-layout/Topper.vue index 673a6063..b9e5b36b 100644 --- a/io.sc.platform.core.frontend/src/platform/layout/sub-layout/Topper.vue +++ b/io.sc.platform.core.frontend/src/platform/layout/sub-layout/Topper.vue @@ -144,7 +144,7 @@
{{ SessionManager.getSession().user.userName }}
-
{{ SessionManager.getSession().user.defaultRoleName }}
+
{{ SessionManager.getSession().user.defaultRoleName }}
@@ -375,8 +375,8 @@ const doLogout = () => { AuthenticationManager.removeLocalAccessToken(); window.location.href = Environment.getWebContextPath(); } else { - axios.post(Environment.apiContextPath(Environment.getConfigure().setting.logoutUrl)).then(() => { - window.location.href = Tools.concatUrl(Environment.getWebContextPath(), Environment.getConfigure().setting.logoutSuccessUrl); + axios.post(Environment.apiContextPath(Environment.getConfigure().setting.logoutUrl)).then((response) => { + window.location.href = response.data; }); } }; diff --git a/io.sc.platform.core.frontend/src/platform/plugin/axios.ts b/io.sc.platform.core.frontend/src/platform/plugin/axios.ts index 27bc5f0e..6cd1b4a9 100644 --- a/io.sc.platform.core.frontend/src/platform/plugin/axios.ts +++ b/io.sc.platform.core.frontend/src/platform/plugin/axios.ts @@ -5,7 +5,6 @@ import { i18n } from './i18n'; import { Environment } from '@/platform/plugin/environment'; import { AuthenticationManager, SessionManager, ServerExceptionHandler } from './manager'; import { QuasarTools, Tools } from '@/platform/utils'; -import { getHashes } from 'node:crypto'; const ignoredUrls: string[] = [PConst.API_I18N_MESSAGES_URL, PConst.API_APP_CONFIGURE_URL]; const gc = Environment.getConfigure(); @@ -95,7 +94,7 @@ axios.interceptors.response.use(responseInterceptor, getResponseErrorInterceptor // 无默认服务器端错误处理的 axios const noErrorAxios = Axios.create({ baseURL: gc.axios?.baseURL || '', - timeout: gc.axios?.timeout || 1000 * 60, + timeout: gc.axios?.timeout || 1000 * 60 * 5, }); noErrorAxios.interceptors.request.use(requestInterceptor, requestErrorInterceptor); noErrorAxios.interceptors.response.use(responseInterceptor, getResponseErrorInterceptor(false)); @@ -103,7 +102,7 @@ noErrorAxios.interceptors.response.use(responseInterceptor, getResponseErrorInte // 下载二进制 axios const blobAxios = Axios.create({ baseURL: gc.axios?.baseURL || '', - timeout: gc.axios?.timeout || 1000 * 60, + timeout: gc.axios?.timeout || 1000 * 60 * 5, }); blobAxios.interceptors.request.use(requestInterceptor, requestErrorInterceptor); blobAxios.interceptors.response.use((response: any) => { diff --git a/io.sc.platform.core.frontend/src/platform/types/ConfigureType.ts b/io.sc.platform.core.frontend/src/platform/types/ConfigureType.ts index 31f363b4..6a642b90 100644 --- a/io.sc.platform.core.frontend/src/platform/types/ConfigureType.ts +++ b/io.sc.platform.core.frontend/src/platform/types/ConfigureType.ts @@ -119,6 +119,7 @@ export type ConfigureType = { titleColor: string; // 标题颜色 actions: Map; // 动作按钮 Map(key:动作名称,value:按钮配置) notifierInterval: number; // 通知器轮询时间间隔(单位:秒) + showDefaultRole: boolean; //是否显示用户默认角色 }; // --------------------------------------------- diff --git a/io.sc.platform.core.frontend/src/platform/views/home/MyTask.vue b/io.sc.platform.core.frontend/src/platform/views/home/MyTask.vue index cc4da9f5..3c8668f2 100644 --- a/io.sc.platform.core.frontend/src/platform/views/home/MyTask.vue +++ b/io.sc.platform.core.frontend/src/platform/views/home/MyTask.vue @@ -15,6 +15,37 @@ + diff --git a/io.sc.platform.core.frontend/src/views/testcase/excel/Excel3.vue b/io.sc.platform.core.frontend/src/views/testcase/excel/Excel3.vue new file mode 100644 index 00000000..718c6f04 --- /dev/null +++ b/io.sc.platform.core.frontend/src/views/testcase/excel/Excel3.vue @@ -0,0 +1,53 @@ + + diff --git a/io.sc.platform.core.frontend/template-project/package.json b/io.sc.platform.core.frontend/template-project/package.json index 4d26787e..bf56be80 100644 --- a/io.sc.platform.core.frontend/template-project/package.json +++ b/io.sc.platform.core.frontend/template-project/package.json @@ -1,6 +1,6 @@ { "name": "platform-core", - "version": "8.2.108", + "version": "8.2.110", "description": "前端核心包,用于快速构建前端的脚手架", "private": false, "keywords": [], @@ -111,7 +111,7 @@ "mockjs": "1.1.0", "node-sql-parser": "5.3.6", "pinia": "2.3.0", - "platform-core": "8.2.108", + "platform-core": "8.2.110", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.core.frontend/template-project/src/views/testcase/excel/Excel3.vue b/io.sc.platform.core.frontend/template-project/src/views/testcase/excel/Excel3.vue new file mode 100644 index 00000000..718c6f04 --- /dev/null +++ b/io.sc.platform.core.frontend/template-project/src/views/testcase/excel/Excel3.vue @@ -0,0 +1,53 @@ + + diff --git a/io.sc.platform.csv/build.gradle b/io.sc.platform.csv/build.gradle index be2b9978..24bcc8c0 100644 --- a/io.sc.platform.csv/build.gradle +++ b/io.sc.platform.csv/build.gradle @@ -1,6 +1,7 @@ dependencies { api( project(":io.sc.platform.jdbc"), + "com.opencsv:opencsv:${opencsv_version}", ) } \ No newline at end of file diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/AbsoluteRefType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/AbsoluteRefType.java new file mode 100644 index 00000000..e025aacc --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/AbsoluteRefType.java @@ -0,0 +1,14 @@ +package io.sc.platform.excel.univer.model; + +public enum AbsoluteRefType { + NONE(0), + ROW(1), + COLUMN(2), + ALL(3); + + private int value; + + AbsoluteRefType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/AlignTypeH.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/AlignTypeH.java new file mode 100644 index 00000000..2c74b5a9 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/AlignTypeH.java @@ -0,0 +1,17 @@ +package io.sc.platform.excel.univer.model; + +public enum AlignTypeH { + CENTER(0), + INSIDE(1), + LEFT(2), + OUTSIDE(3), + RIGHT(4), + BOTH(5), + DISTRIBUTE(6); + + private int value; + + AlignTypeH(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/AlignTypeV.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/AlignTypeV.java new file mode 100644 index 00000000..05937212 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/AlignTypeV.java @@ -0,0 +1,15 @@ +package io.sc.platform.excel.univer.model; + +public enum AlignTypeV { + BOTTOM(0), + CENTER(1), + INSIDE(2), + OUTSIDE(3), + TOP(4); + + private int value; + + AlignTypeV(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BaselineOffset.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BaselineOffset.java new file mode 100644 index 00000000..0bebd77d --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BaselineOffset.java @@ -0,0 +1,14 @@ +package io.sc.platform.excel.univer.model; + +public enum BaselineOffset { + NORMAL(1), + SUBSCRIPT(2), + SUPERSCRIPT(3); + + private int value; + + BaselineOffset(int value){ + this.value =value; + } +} + diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BlockType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BlockType.java new file mode 100644 index 00000000..f101b5c8 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BlockType.java @@ -0,0 +1,12 @@ +package io.sc.platform.excel.univer.model; + +public enum BlockType { + DRAWING(0), + CUSTOM(1); + + private int value; + + BlockType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BorderStyleTypes.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BorderStyleTypes.java new file mode 100644 index 00000000..b129ceb0 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BorderStyleTypes.java @@ -0,0 +1,24 @@ +package io.sc.platform.excel.univer.model; + +public enum BorderStyleTypes { + NONE(0), + THIN(1), + HAIR(2), + DOTTED(3), + DASHED(4), + DASH_DOT(5), + DASH_DOT_DOT(6), + DOUBLE(7), + MEDIUM(8), + MEDIUM_DASHED(9), + MEDIUM_DASH_DOT(10), + MEDIUM_DASH_DOT_DOT(11), + SLANT_DASH_DOT(12), + THICK(13); + + private int value; + + BorderStyleTypes(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BulletAlignment.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BulletAlignment.java new file mode 100644 index 00000000..5c8ed8e2 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/BulletAlignment.java @@ -0,0 +1,15 @@ +package io.sc.platform.excel.univer.model; + +public enum BulletAlignment { + BULLET_ALIGNMENT_UNSPECIFIED(0),// The bullet alignment is unspecified. + START(1),// The bullet is aligned to the start of the space allotted for rendering the bullet. Left-aligned for LTR text), right-aligned otherwise. + CENTER(2),// The bullet is aligned to the center of the space allotted for rendering the bullet. + END(3),// The bullet is aligned to the end of the space allotted for rendering the bullet. Right-aligned for LTR text), left-aligned otherwise. + BOTH(4); + + private int value; + + BulletAlignment(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CellValueType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CellValueType.java new file mode 100644 index 00000000..d6d1783c --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CellValueType.java @@ -0,0 +1,14 @@ +package io.sc.platform.excel.univer.model; + +public enum CellValueType { + STRING(1), + NUMBER(2), + BOOLEAN(3), + FORCE_STRING(4); + + private int value; + + CellValueType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CharacterSpacingControlType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CharacterSpacingControlType.java new file mode 100644 index 00000000..56f338e2 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CharacterSpacingControlType.java @@ -0,0 +1,13 @@ +package io.sc.platform.excel.univer.model; + +public enum CharacterSpacingControlType { + compressPunctuation(0), + compressPunctuationAndJapaneseKana(1), + doNotCompress(2); + + private int value; + + CharacterSpacingControlType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ColumnSeparatorType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ColumnSeparatorType.java new file mode 100644 index 00000000..70e7bf95 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ColumnSeparatorType.java @@ -0,0 +1,13 @@ +package io.sc.platform.excel.univer.model; + +public enum ColumnSeparatorType { + COLUMN_SEPARATOR_STYLE_UNSPECIFIED(0),// An unspecified column separator style. + NONE(1),// No column separator lines between columns. + BETWEEN_EACH_COLUMN(2); + + private int value; + + ColumnSeparatorType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CustomDecorationType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CustomDecorationType.java new file mode 100644 index 00000000..99e50670 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CustomDecorationType.java @@ -0,0 +1,12 @@ +package io.sc.platform.excel.univer.model; + +public enum CustomDecorationType { + COMMENT(0), + DELETED(9999); + + private int value; + + CustomDecorationType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CustomRangeType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CustomRangeType.java new file mode 100644 index 00000000..8c04d248 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/CustomRangeType.java @@ -0,0 +1,19 @@ +package io.sc.platform.excel.univer.model; + +public enum CustomRangeType { + HYPERLINK(0), + FIELD(1),// 17.16 Fields and Hyperlinks + SDT(2),// 17.5.2 Structured Document Tags + BOOKMARK(3), + COMMENT(4), + CUSTOM(5), + MENTION(6), + UNI_FORMULA(7), + DELTED(9999); + + private int value; + + CustomRangeType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/DashStyleType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/DashStyleType.java new file mode 100644 index 00000000..d38e9162 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/DashStyleType.java @@ -0,0 +1,14 @@ +package io.sc.platform.excel.univer.model; + +public enum DashStyleType { + DASH_STYLE_UNSPECIFIED(0),// Unspecified dash style. + SOLID(1),// Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'solid'. This is the default dash style. + DOT(2),// Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value 'dot'. + DASH(3); + + private int value; + + DashStyleType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/DocumentFlavor.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/DocumentFlavor.java new file mode 100644 index 00000000..e4f4739e --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/DocumentFlavor.java @@ -0,0 +1,13 @@ +package io.sc.platform.excel.univer.model; + +public enum DocumentFlavor { + UNSPECIFIED(0), + TRADITIONAL(1), + MODERN(2); + + private int value; + + DocumentFlavor(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/DrawingType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/DrawingType.java new file mode 100644 index 00000000..0e20044c --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/DrawingType.java @@ -0,0 +1,50 @@ +package io.sc.platform.excel.univer.model; + +public enum DrawingType { + /** + * Unrecognized drawing type), requires user to determine + */ + UNRECOGNIZED(-1), + /** + * Image + */ + DRAWING_IMAGE(0), + /** + * Shape), similar to shapes in Office), including circles), rectangles), lines), etc. + */ + DRAWING_SHAPE(1), + /** + * Chart + */ + DRAWING_CHART(2), + /** + * Table + */ + DRAWING_TABLE(3), + /** + * SmartArt), similar to SmartArt in Office + */ + DRAWING_SMART_ART(4), + /** + * Video + */ + DRAWING_VIDEO(5), + /** + * Drawing group + */ + DRAWING_GROUP(6), + /** + * Univer object), allows inserting images), tables), documents), slides as floating objects into the document + */ + DRAWING_UNIT(7), + /** + * Dom element), allows inserting HTML elements as floating objects into the document + */ + DRAWING_DOM(8); + + private int value; + + DrawingType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/GridType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/GridType.java new file mode 100644 index 00000000..82a9eeb0 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/GridType.java @@ -0,0 +1,14 @@ +package io.sc.platform.excel.univer.model; + +public enum GridType { + DEFAULT(0), + LINES(1), + LINES_AND_CHARS(2), + SNAP_TO_CHARS(3); + + private int value; + + GridType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/HorizontalAlign.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/HorizontalAlign.java new file mode 100644 index 00000000..661284f5 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/HorizontalAlign.java @@ -0,0 +1,17 @@ +package io.sc.platform.excel.univer.model; + +public enum HorizontalAlign { + UNSPECIFIED(0), // The horizontal alignment is not specified. Do not use this. + LEFT(1), // The text is explicitly aligned to the left of the cell. + CENTER(2), // The text is explicitly aligned to the center of the cell. + RIGHT(3), // The text is explicitly aligned to the right of the cell. + JUSTIFIED(4), // The paragraph is justified. + BOTH(5), // The paragraph is justified. + DISTRIBUTED(6); + + private int value; + + HorizontalAlign(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IBorderData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IBorderData.java new file mode 100644 index 00000000..b6d51c11 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IBorderData.java @@ -0,0 +1,94 @@ +package io.sc.platform.excel.univer.model; + +public class IBorderData { + private IBorderStyleData t; + private IBorderStyleData r; + private IBorderStyleData b; + private IBorderStyleData l; + private IBorderStyleData tl_br; + private IBorderStyleData tl_bc; + private IBorderStyleData tl_mr; + private IBorderStyleData bl_tr; + private IBorderStyleData ml_tr; + private IBorderStyleData bc_tr; + + public IBorderStyleData getT() { + return t; + } + + public void setT(IBorderStyleData t) { + this.t = t; + } + + public IBorderStyleData getR() { + return r; + } + + public void setR(IBorderStyleData r) { + this.r = r; + } + + public IBorderStyleData getB() { + return b; + } + + public void setB(IBorderStyleData b) { + this.b = b; + } + + public IBorderStyleData getL() { + return l; + } + + public void setL(IBorderStyleData l) { + this.l = l; + } + + public IBorderStyleData getTl_br() { + return tl_br; + } + + public void setTl_br(IBorderStyleData tl_br) { + this.tl_br = tl_br; + } + + public IBorderStyleData getTl_bc() { + return tl_bc; + } + + public void setTl_bc(IBorderStyleData tl_bc) { + this.tl_bc = tl_bc; + } + + public IBorderStyleData getTl_mr() { + return tl_mr; + } + + public void setTl_mr(IBorderStyleData tl_mr) { + this.tl_mr = tl_mr; + } + + public IBorderStyleData getBl_tr() { + return bl_tr; + } + + public void setBl_tr(IBorderStyleData bl_tr) { + this.bl_tr = bl_tr; + } + + public IBorderStyleData getMl_tr() { + return ml_tr; + } + + public void setMl_tr(IBorderStyleData ml_tr) { + this.ml_tr = ml_tr; + } + + public IBorderStyleData getBc_tr() { + return bc_tr; + } + + public void setBc_tr(IBorderStyleData bc_tr) { + this.bc_tr = bc_tr; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IBorderStyleData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IBorderStyleData.java new file mode 100644 index 00000000..e38c27d7 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IBorderStyleData.java @@ -0,0 +1,22 @@ +package io.sc.platform.excel.univer.model; + +public class IBorderStyleData { + private BorderStyleTypes s; + private IColorStyle cl; + + public BorderStyleTypes getS() { + return s; + } + + public void setS(BorderStyleTypes s) { + this.s = s; + } + + public IColorStyle getCl() { + return cl; + } + + public void setCl(IColorStyle cl) { + this.cl = cl; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IBullet.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IBullet.java new file mode 100644 index 00000000..0ea049fd --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IBullet.java @@ -0,0 +1,40 @@ +package io.sc.platform.excel.univer.model; + +public class IBullet { + private String listType; + private String listId; + private Integer nestingLevel; + private ITextStyle textStyle; + + public String getListType() { + return listType; + } + + public void setListType(String listType) { + this.listType = listType; + } + + public String getListId() { + return listId; + } + + public void setListId(String listId) { + this.listId = listId; + } + + public Integer getNestingLevel() { + return nestingLevel; + } + + public void setNestingLevel(Integer nestingLevel) { + this.nestingLevel = nestingLevel; + } + + public ITextStyle getTextStyle() { + return textStyle; + } + + public void setTextStyle(ITextStyle textStyle) { + this.textStyle = textStyle; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICellData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICellData.java new file mode 100644 index 00000000..5856258e --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICellData.java @@ -0,0 +1,88 @@ +package io.sc.platform.excel.univer.model; + +import java.util.Map; + +public class ICellData { + /** + * The unique key, a random string, is used for the plug-in to associate the cell. When the cell information changes, + * the plug-in does not need to change the data, reducing the pressure on the back-end interface id?: string. + */ + private IDocumentData p; + /** + * style id, IStyleData | String + */ + private Object s; + /** + * Origin value, string | number | boolean + */ + private Object v; + private CellValueType t; + /** + * Raw formula string. For example `=SUM(A1:B4)`. + */ + private String f; + /** + * Id of the formula. + */ + private String si; + /** + * User stored custom fields + */ + private Map custom; + + public IDocumentData getP() { + return p; + } + + public void setP(IDocumentData p) { + this.p = p; + } + + public Object getS() { + return s; + } + + public void setS(Object s) { + this.s = s; + } + + public Object getV() { + return v; + } + + public void setV(Object v) { + this.v = v; + } + + public CellValueType getT() { + return t; + } + + public void setT(CellValueType t) { + this.t = t; + } + + public String getF() { + return f; + } + + public void setF(String f) { + this.f = f; + } + + public String getSi() { + return si; + } + + public void setSi(String si) { + this.si = si; + } + + public Map getCustom() { + return custom; + } + + public void setCustom(Map custom) { + this.custom = custom; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IColorStyle.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IColorStyle.java new file mode 100644 index 00000000..ff7c0116 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IColorStyle.java @@ -0,0 +1,22 @@ +package io.sc.platform.excel.univer.model; + +public class IColorStyle { + private String rgb; + private ThemeColorType th; + + public String getRgb() { + return rgb; + } + + public void setRgb(String rgb) { + this.rgb = rgb; + } + + public ThemeColorType getTh() { + return th; + } + + public void setTh(ThemeColorType th) { + this.th = th; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IColumnData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IColumnData.java new file mode 100644 index 00000000..0ee09195 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IColumnData.java @@ -0,0 +1,57 @@ +package io.sc.platform.excel.univer.model; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.util.Map; + +public class IColumnData { + /** + * width + */ + private Integer w; + /** + * hidden + */ + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean hd; + /** + * style id + */ + private Object s; + /** + * User stored custom fields + */ + private Map custom; + + public Integer getW() { + return w; + } + + public void setW(Integer w) { + this.w = w; + } + + public boolean isHd() { + return hd; + } + + public void setHd(boolean hd) { + this.hd = hd; + } + + public Object getS() { + return s; + } + + public void setS(Object s) { + this.s = s; + } + + public Map getCustom() { + return custom; + } + + public void setCustom(Map custom) { + this.custom = custom; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IColumnHeader.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IColumnHeader.java new file mode 100644 index 00000000..1f8b1857 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IColumnHeader.java @@ -0,0 +1,26 @@ +package io.sc.platform.excel.univer.model; + +import com.fasterxml.jackson.annotation.JsonFormat; + +public class IColumnHeader { + private Integer height; + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean hidden; + + public Integer getHeight() { + return height; + } + + public void setHeight(Integer height) { + this.height = height; + } + + public boolean isHidden() { + return hidden; + } + + public void setHidden(boolean hidden) { + this.hidden = hidden; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomBlock.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomBlock.java new file mode 100644 index 00000000..f097b023 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomBlock.java @@ -0,0 +1,31 @@ +package io.sc.platform.excel.univer.model; + +public class ICustomBlock { + private Integer startIndex; + private BlockType blockType; + private String blockId; + + public Integer getStartIndex() { + return startIndex; + } + + public void setStartIndex(Integer startIndex) { + this.startIndex = startIndex; + } + + public BlockType getBlockType() { + return blockType; + } + + public void setBlockType(BlockType blockType) { + this.blockType = blockType; + } + + public String getBlockId() { + return blockId; + } + + public void setBlockId(String blockId) { + this.blockId = blockId; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomDecoration.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomDecoration.java new file mode 100644 index 00000000..54a02ddc --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomDecoration.java @@ -0,0 +1,40 @@ +package io.sc.platform.excel.univer.model; + +public class ICustomDecoration { + private Integer startIndex; + private Integer endIndex; + private String id; + private CustomDecorationType type; + + public Integer getStartIndex() { + return startIndex; + } + + public void setStartIndex(Integer startIndex) { + this.startIndex = startIndex; + } + + public Integer getEndIndex() { + return endIndex; + } + + public void setEndIndex(Integer endIndex) { + this.endIndex = endIndex; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public CustomDecorationType getType() { + return type; + } + + public void setType(CustomDecorationType type) { + this.type = type; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomRange.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomRange.java new file mode 100644 index 00000000..53e65f07 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomRange.java @@ -0,0 +1,67 @@ +package io.sc.platform.excel.univer.model; + +import java.util.Map; + +public class ICustomRange { + private Integer startIndex; + private Integer endIndex; + private String rangeId; + private CustomRangeType rangeType; + /** + * display as a whole-entity + */ + private boolean wholeEntity; + /** + * properties of custom range, + * for example, hyperlink: `{ url: string }` + */ + private Map properties; + + public Integer getStartIndex() { + return startIndex; + } + + public void setStartIndex(Integer startIndex) { + this.startIndex = startIndex; + } + + public Integer getEndIndex() { + return endIndex; + } + + public void setEndIndex(Integer endIndex) { + this.endIndex = endIndex; + } + + public String getRangeId() { + return rangeId; + } + + public void setRangeId(String rangeId) { + this.rangeId = rangeId; + } + + public CustomRangeType getRangeType() { + return rangeType; + } + + public void setRangeType(CustomRangeType rangeType) { + this.rangeType = rangeType; + } + + public boolean isWholeEntity() { + return wholeEntity; + } + + public void setWholeEntity(boolean wholeEntity) { + this.wholeEntity = wholeEntity; + } + + public Map getProperties() { + return properties; + } + + public void setProperties(Map properties) { + this.properties = properties; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomTable.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomTable.java new file mode 100644 index 00000000..c8a46a11 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ICustomTable.java @@ -0,0 +1,31 @@ +package io.sc.platform.excel.univer.model; + +public class ICustomTable { + private Integer startIndex; + private Integer endIndex; + private String tableId; + + public Integer getStartIndex() { + return startIndex; + } + + public void setStartIndex(Integer startIndex) { + this.startIndex = startIndex; + } + + public Integer getEndIndex() { + return endIndex; + } + + public void setEndIndex(Integer endIndex) { + this.endIndex = endIndex; + } + + public String getTableId() { + return tableId; + } + + public void setTableId(String tableId) { + this.tableId = tableId; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDistFromText.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDistFromText.java new file mode 100644 index 00000000..b0526e08 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDistFromText.java @@ -0,0 +1,40 @@ +package io.sc.platform.excel.univer.model; + +public class IDistFromText { + private Integer distT; + private Integer distB; + private Integer distL; + private Integer distR; + + public Integer getDistT() { + return distT; + } + + public void setDistT(Integer distT) { + this.distT = distT; + } + + public Integer getDistB() { + return distB; + } + + public void setDistB(Integer distB) { + this.distB = distB; + } + + public Integer getDistL() { + return distL; + } + + public void setDistL(Integer distL) { + this.distL = distL; + } + + public Integer getDistR() { + return distR; + } + + public void setDistR(Integer distR) { + this.distR = distR; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocDrawingBase.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocDrawingBase.java new file mode 100644 index 00000000..506d3931 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocDrawingBase.java @@ -0,0 +1,127 @@ +package io.sc.platform.excel.univer.model; + +import com.fasterxml.jackson.annotation.JsonFormat; + +public class IDocDrawingBase extends IDrawingParam { + private String drawingId; + private String title; + private String description; + private IDocDrawingPosition docTransform; + private PositionedObjectLayoutType layoutType; + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean behindDoc; + private int[] start; + private int[][] lineTo; + private WrapTextType wrapText; + private int distL; + private int distR; + private int distT; + private int distB; + + @Override + public String getDrawingId() { + return drawingId; + } + + @Override + public void setDrawingId(String drawingId) { + this.drawingId = drawingId; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public IDocDrawingPosition getDocTransform() { + return docTransform; + } + + public void setDocTransform(IDocDrawingPosition docTransform) { + this.docTransform = docTransform; + } + + public PositionedObjectLayoutType getLayoutType() { + return layoutType; + } + + public void setLayoutType(PositionedObjectLayoutType layoutType) { + this.layoutType = layoutType; + } + + public boolean isBehindDoc() { + return behindDoc; + } + + public void setBehindDoc(boolean behindDoc) { + this.behindDoc = behindDoc; + } + + public int[] getStart() { + return start; + } + + public void setStart(int[] start) { + this.start = start; + } + + public int[][] getLineTo() { + return lineTo; + } + + public void setLineTo(int[][] lineTo) { + this.lineTo = lineTo; + } + + public WrapTextType getWrapText() { + return wrapText; + } + + public void setWrapText(WrapTextType wrapText) { + this.wrapText = wrapText; + } + + public int getDistL() { + return distL; + } + + public void setDistL(int distL) { + this.distL = distL; + } + + public int getDistR() { + return distR; + } + + public void setDistR(int distR) { + this.distR = distR; + } + + public int getDistT() { + return distT; + } + + public void setDistT(int distT) { + this.distT = distT; + } + + public int getDistB() { + return distB; + } + + public void setDistB(int distB) { + this.distB = distB; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocDrawingPosition.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocDrawingPosition.java new file mode 100644 index 00000000..88d84351 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocDrawingPosition.java @@ -0,0 +1,40 @@ +package io.sc.platform.excel.univer.model; + +public class IDocDrawingPosition { + private ISize size; + private IObjectPositionH positionH; + private IObjectPositionV positionV; + private Integer angle; + + public ISize getSize() { + return size; + } + + public void setSize(ISize size) { + this.size = size; + } + + public IObjectPositionH getPositionH() { + return positionH; + } + + public void setPositionH(IObjectPositionH positionH) { + this.positionH = positionH; + } + + public IObjectPositionV getPositionV() { + return positionV; + } + + public void setPositionV(IObjectPositionV positionV) { + this.positionV = positionV; + } + + public Integer getAngle() { + return angle; + } + + public void setAngle(Integer angle) { + this.angle = angle; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocsBorder.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocsBorder.java new file mode 100644 index 00000000..9e3fa17e --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocsBorder.java @@ -0,0 +1,31 @@ +package io.sc.platform.excel.univer.model; + +public class IDocsBorder { + private IColorStyle color; + private Integer width; + private DashStyleType dashStyle; + + public IColorStyle getColor() { + return color; + } + + public void setColor(IColorStyle color) { + this.color = color; + } + + public Integer getWidth() { + return width; + } + + public void setWidth(Integer width) { + this.width = width; + } + + public DashStyleType getDashStyle() { + return dashStyle; + } + + public void setDashStyle(DashStyleType dashStyle) { + this.dashStyle = dashStyle; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentBody.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentBody.java new file mode 100644 index 00000000..98ae35f8 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentBody.java @@ -0,0 +1,91 @@ +package io.sc.platform.excel.univer.model; + +import java.util.Map; + +public class IDocumentBody { + private String dataStream; + private ITextRun[] textRuns; + private IParagraph[] paragraphs; + private ISectionBreak[] sectionBreaks; + private ICustomBlock[] customBlocks; + private ICustomTable[] tables; + private ICustomRange[] customRanges; + private ICustomDecoration[] customDecorations; + /** + * for copy/paste, data of custom-range and other module + * it won't save to disk + */ + private Map payloads; + + public String getDataStream() { + return dataStream; + } + + public void setDataStream(String dataStream) { + this.dataStream = dataStream; + } + + public ITextRun[] getTextRuns() { + return textRuns; + } + + public void setTextRuns(ITextRun[] textRuns) { + this.textRuns = textRuns; + } + + public IParagraph[] getParagraphs() { + return paragraphs; + } + + public void setParagraphs(IParagraph[] paragraphs) { + this.paragraphs = paragraphs; + } + + public ISectionBreak[] getSectionBreaks() { + return sectionBreaks; + } + + public void setSectionBreaks(ISectionBreak[] sectionBreaks) { + this.sectionBreaks = sectionBreaks; + } + + public ICustomBlock[] getCustomBlocks() { + return customBlocks; + } + + public void setCustomBlocks(ICustomBlock[] customBlocks) { + this.customBlocks = customBlocks; + } + + public ICustomTable[] getTables() { + return tables; + } + + public void setTables(ICustomTable[] tables) { + this.tables = tables; + } + + public ICustomRange[] getCustomRanges() { + return customRanges; + } + + public void setCustomRanges(ICustomRange[] customRanges) { + this.customRanges = customRanges; + } + + public ICustomDecoration[] getCustomDecorations() { + return customDecorations; + } + + public void setCustomDecorations(ICustomDecoration[] customDecorations) { + this.customDecorations = customDecorations; + } + + public Map getPayloads() { + return payloads; + } + + public void setPayloads(Map payloads) { + this.payloads = payloads; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentData.java new file mode 100644 index 00000000..a8dda637 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentData.java @@ -0,0 +1,87 @@ +package io.sc.platform.excel.univer.model; + +public class IDocumentData extends IReferenceSource { + /** unit ID */ + private String id; + /** Revision of this document. Would be used in collaborated editing. Starts with zero. */ + private Integer rev; + private LocaleType locale; + private String title; + private IDocumentBody body; + private IDocumentStyle documentStyle; + private IDocumentSettings settings; + private IResource[] resources; + private boolean disabled; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Integer getRev() { + return rev; + } + + public void setRev(Integer rev) { + this.rev = rev; + } + + public LocaleType getLocale() { + return locale; + } + + public void setLocale(LocaleType locale) { + this.locale = locale; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public IDocumentBody getBody() { + return body; + } + + public void setBody(IDocumentBody body) { + this.body = body; + } + + public IDocumentStyle getDocumentStyle() { + return documentStyle; + } + + public void setDocumentStyle(IDocumentStyle documentStyle) { + this.documentStyle = documentStyle; + } + + public IDocumentSettings getSettings() { + return settings; + } + + public void setSettings(IDocumentSettings settings) { + this.settings = settings; + } + + public IResource[] getResources() { + return resources; + } + + public void setResources(IResource[] resources) { + this.resources = resources; + } + + public boolean isDisabled() { + return disabled; + } + + public void setDisabled(boolean disabled) { + this.disabled = disabled; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentRenderConfig.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentRenderConfig.java new file mode 100644 index 00000000..86164949 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentRenderConfig.java @@ -0,0 +1,102 @@ +package io.sc.platform.excel.univer.model; + +import com.fasterxml.jackson.annotation.JsonFormat; + +public class IDocumentRenderConfig { + private VerticalAlign verticalAlign; + private Integer centerAngle; + private Integer vertexAngle; + private HorizontalAlign horizontalAlign; + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean isRotateNonEastAsian; + private IColorStyle background; + private WrapStrategy wrapStrategy; + private CellValueType cellValueType; + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean isRenderStyle; + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean zeroWidthParagraphBreak; + + public VerticalAlign getVerticalAlign() { + return verticalAlign; + } + + public void setVerticalAlign(VerticalAlign verticalAlign) { + this.verticalAlign = verticalAlign; + } + + public Integer getCenterAngle() { + return centerAngle; + } + + public void setCenterAngle(Integer centerAngle) { + this.centerAngle = centerAngle; + } + + public Integer getVertexAngle() { + return vertexAngle; + } + + public void setVertexAngle(Integer vertexAngle) { + this.vertexAngle = vertexAngle; + } + + public HorizontalAlign getHorizontalAlign() { + return horizontalAlign; + } + + public void setHorizontalAlign(HorizontalAlign horizontalAlign) { + this.horizontalAlign = horizontalAlign; + } + + public boolean isRotateNonEastAsian() { + return isRotateNonEastAsian; + } + + public void setRotateNonEastAsian(boolean rotateNonEastAsian) { + isRotateNonEastAsian = rotateNonEastAsian; + } + + public IColorStyle getBackground() { + return background; + } + + public void setBackground(IColorStyle background) { + this.background = background; + } + + public WrapStrategy getWrapStrategy() { + return wrapStrategy; + } + + public void setWrapStrategy(WrapStrategy wrapStrategy) { + this.wrapStrategy = wrapStrategy; + } + + public CellValueType getCellValueType() { + return cellValueType; + } + + public void setCellValueType(CellValueType cellValueType) { + this.cellValueType = cellValueType; + } + + public boolean isRenderStyle() { + return isRenderStyle; + } + + public void setRenderStyle(boolean renderStyle) { + isRenderStyle = renderStyle; + } + + public boolean isZeroWidthParagraphBreak() { + return zeroWidthParagraphBreak; + } + + public void setZeroWidthParagraphBreak(boolean zeroWidthParagraphBreak) { + this.zeroWidthParagraphBreak = zeroWidthParagraphBreak; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentSettings.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentSettings.java new file mode 100644 index 00000000..568cfa50 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentSettings.java @@ -0,0 +1,13 @@ +package io.sc.platform.excel.univer.model; + +public class IDocumentSettings { + private Integer zoomRatio; + + public Integer getZoomRatio() { + return zoomRatio; + } + + public void setZoomRatio(Integer zoomRatio) { + this.zoomRatio = zoomRatio; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentStyle.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentStyle.java new file mode 100644 index 00000000..ab5e61c8 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDocumentStyle.java @@ -0,0 +1,272 @@ +package io.sc.platform.excel.univer.model; + +import com.fasterxml.jackson.annotation.JsonFormat; + +public class IDocumentStyle { + private ITextStyle textStyle; + + private Integer pageNumberStart; + private ISize pageSize; + private PageOrientType pageOrient; + private DocumentFlavor documentFlavor; + private Integer marginHeader; + private Integer marginFooter; + private IDocumentRenderConfig renderConfig; + + private Integer margIntegerop; + private Integer marginBottom; + private Integer marginRight; + private Integer marginLeft; + + private Integer defaultTabStop; + private CharacterSpacingControlType characterSpacingControl; + private Integer paragraphLineGapDefault; + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean spaceWidthEastAsian; + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean autoHyphenation; + private Integer consecutiveHyphenLimit; + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean doNotHyphenateCaps; + private Integer hyphenationZone; + + private String defaultHeaderId; + private String defaultFooterId; + private String evenPageHeaderId; + private String evenPageFooterId; + private String firstPageHeaderId; + private String firstPageFooterId; + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean useFirstPageHeaderFooter; + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean evenAndOddHeaders; + + public ITextStyle getTextStyle() { + return textStyle; + } + + public void setTextStyle(ITextStyle textStyle) { + this.textStyle = textStyle; + } + + public Integer getPageNumberStart() { + return pageNumberStart; + } + + public void setPageNumberStart(Integer pageNumberStart) { + this.pageNumberStart = pageNumberStart; + } + + public ISize getPageSize() { + return pageSize; + } + + public void setPageSize(ISize pageSize) { + this.pageSize = pageSize; + } + + public PageOrientType getPageOrient() { + return pageOrient; + } + + public void setPageOrient(PageOrientType pageOrient) { + this.pageOrient = pageOrient; + } + + public DocumentFlavor getDocumentFlavor() { + return documentFlavor; + } + + public void setDocumentFlavor(DocumentFlavor documentFlavor) { + this.documentFlavor = documentFlavor; + } + + public Integer getMarginHeader() { + return marginHeader; + } + + public void setMarginHeader(Integer marginHeader) { + this.marginHeader = marginHeader; + } + + public Integer getMarginFooter() { + return marginFooter; + } + + public void setMarginFooter(Integer marginFooter) { + this.marginFooter = marginFooter; + } + + public IDocumentRenderConfig getRenderConfig() { + return renderConfig; + } + + public void setRenderConfig(IDocumentRenderConfig renderConfig) { + this.renderConfig = renderConfig; + } + + public Integer getMargIntegerop() { + return margIntegerop; + } + + public void setMargIntegerop(Integer margIntegerop) { + this.margIntegerop = margIntegerop; + } + + public Integer getMarginBottom() { + return marginBottom; + } + + public void setMarginBottom(Integer marginBottom) { + this.marginBottom = marginBottom; + } + + public Integer getMarginRight() { + return marginRight; + } + + public void setMarginRight(Integer marginRight) { + this.marginRight = marginRight; + } + + public Integer getMarginLeft() { + return marginLeft; + } + + public void setMarginLeft(Integer marginLeft) { + this.marginLeft = marginLeft; + } + + public Integer getDefaultTabStop() { + return defaultTabStop; + } + + public void setDefaultTabStop(Integer defaultTabStop) { + this.defaultTabStop = defaultTabStop; + } + + public CharacterSpacingControlType getCharacterSpacingControl() { + return characterSpacingControl; + } + + public void setCharacterSpacingControl(CharacterSpacingControlType characterSpacingControl) { + this.characterSpacingControl = characterSpacingControl; + } + + public Integer getParagraphLineGapDefault() { + return paragraphLineGapDefault; + } + + public void setParagraphLineGapDefault(Integer paragraphLineGapDefault) { + this.paragraphLineGapDefault = paragraphLineGapDefault; + } + + public boolean isSpaceWidthEastAsian() { + return spaceWidthEastAsian; + } + + public void setSpaceWidthEastAsian(boolean spaceWidthEastAsian) { + this.spaceWidthEastAsian = spaceWidthEastAsian; + } + + public boolean isAutoHyphenation() { + return autoHyphenation; + } + + public void setAutoHyphenation(boolean autoHyphenation) { + this.autoHyphenation = autoHyphenation; + } + + public Integer getConsecutiveHyphenLimit() { + return consecutiveHyphenLimit; + } + + public void setConsecutiveHyphenLimit(Integer consecutiveHyphenLimit) { + this.consecutiveHyphenLimit = consecutiveHyphenLimit; + } + + public boolean isDoNotHyphenateCaps() { + return doNotHyphenateCaps; + } + + public void setDoNotHyphenateCaps(boolean doNotHyphenateCaps) { + this.doNotHyphenateCaps = doNotHyphenateCaps; + } + + public Integer getHyphenationZone() { + return hyphenationZone; + } + + public void setHyphenationZone(Integer hyphenationZone) { + this.hyphenationZone = hyphenationZone; + } + + public String getDefaultHeaderId() { + return defaultHeaderId; + } + + public void setDefaultHeaderId(String defaultHeaderId) { + this.defaultHeaderId = defaultHeaderId; + } + + public String getDefaultFooterId() { + return defaultFooterId; + } + + public void setDefaultFooterId(String defaultFooterId) { + this.defaultFooterId = defaultFooterId; + } + + public String getEvenPageHeaderId() { + return evenPageHeaderId; + } + + public void setEvenPageHeaderId(String evenPageHeaderId) { + this.evenPageHeaderId = evenPageHeaderId; + } + + public String getEvenPageFooterId() { + return evenPageFooterId; + } + + public void setEvenPageFooterId(String evenPageFooterId) { + this.evenPageFooterId = evenPageFooterId; + } + + public String getFirstPageHeaderId() { + return firstPageHeaderId; + } + + public void setFirstPageHeaderId(String firstPageHeaderId) { + this.firstPageHeaderId = firstPageHeaderId; + } + + public String getFirstPageFooterId() { + return firstPageFooterId; + } + + public void setFirstPageFooterId(String firstPageFooterId) { + this.firstPageFooterId = firstPageFooterId; + } + + public boolean isUseFirstPageHeaderFooter() { + return useFirstPageHeaderFooter; + } + + public void setUseFirstPageHeaderFooter(boolean useFirstPageHeaderFooter) { + this.useFirstPageHeaderFooter = useFirstPageHeaderFooter; + } + + public boolean isEvenAndOddHeaders() { + return evenAndOddHeaders; + } + + public void setEvenAndOddHeaders(boolean evenAndOddHeaders) { + this.evenAndOddHeaders = evenAndOddHeaders; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDrawingParam.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDrawingParam.java new file mode 100644 index 00000000..e1015741 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDrawingParam.java @@ -0,0 +1,53 @@ +package io.sc.platform.excel.univer.model; + +import com.fasterxml.jackson.annotation.JsonFormat; + +public class IDrawingParam extends IDrawingSearch { + private DrawingType drawingType; + private ITransformState transform; + private ITransformState[] transforms; + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean isMultiTransform; + private String groupId; + + public DrawingType getDrawingType() { + return drawingType; + } + + public void setDrawingType(DrawingType drawingType) { + this.drawingType = drawingType; + } + + public ITransformState getTransform() { + return transform; + } + + public void setTransform(ITransformState transform) { + this.transform = transform; + } + + public ITransformState[] getTransforms() { + return transforms; + } + + public void setTransforms(ITransformState[] transforms) { + this.transforms = transforms; + } + + public boolean isMultiTransform() { + return isMultiTransform; + } + + public void setMultiTransform(boolean multiTransform) { + isMultiTransform = multiTransform; + } + + public String getGroupId() { + return groupId; + } + + public void setGroupId(String groupId) { + this.groupId = groupId; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDrawingSearch.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDrawingSearch.java new file mode 100644 index 00000000..e4466ba6 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDrawingSearch.java @@ -0,0 +1,13 @@ +package io.sc.platform.excel.univer.model; + +public class IDrawingSearch extends IDrawingSpace { + private String drawingId; + + public String getDrawingId() { + return drawingId; + } + + public void setDrawingId(String drawingId) { + this.drawingId = drawingId; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDrawingSpace.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDrawingSpace.java new file mode 100644 index 00000000..760f2c7b --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IDrawingSpace.java @@ -0,0 +1,22 @@ +package io.sc.platform.excel.univer.model; + +public class IDrawingSpace { + private String unitId; + private String subUnitId; + + public String getUnitId() { + return unitId; + } + + public void setUnitId(String unitId) { + this.unitId = unitId; + } + + public String getSubUnitId() { + return subUnitId; + } + + public void setSubUnitId(String subUnitId) { + this.subUnitId = subUnitId; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IFooterData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IFooterData.java new file mode 100644 index 00000000..c57e4c13 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IFooterData.java @@ -0,0 +1,22 @@ +package io.sc.platform.excel.univer.model; + +public class IFooterData { + private String footerId; + private IDocumentBody body; + + public String getFooterId() { + return footerId; + } + + public void setFooterId(String footerId) { + this.footerId = footerId; + } + + public IDocumentBody getBody() { + return body; + } + + public void setBody(IDocumentBody body) { + this.body = body; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IFreeze.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IFreeze.java new file mode 100644 index 00000000..41e3ec26 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IFreeze.java @@ -0,0 +1,40 @@ +package io.sc.platform.excel.univer.model; + +public class IFreeze { + private Integer xSplit; // count of fixed cols + private Integer ySplit; // count of fixed rows + private Integer startRow; // scrollable start row + private Integer startColumn; // scrollable start column + + public Integer getxSplit() { + return xSplit; + } + + public void setxSplit(Integer xSplit) { + this.xSplit = xSplit; + } + + public Integer getySplit() { + return ySplit; + } + + public void setySplit(Integer ySplit) { + this.ySplit = ySplit; + } + + public Integer getStartRow() { + return startRow; + } + + public void setStartRow(Integer startRow) { + this.startRow = startRow; + } + + public Integer getStartColumn() { + return startColumn; + } + + public void setStartColumn(Integer startColumn) { + this.startColumn = startColumn; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IHeaderData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IHeaderData.java new file mode 100644 index 00000000..7c04bcc4 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IHeaderData.java @@ -0,0 +1,22 @@ +package io.sc.platform.excel.univer.model; + +public class IHeaderData { + private String headerId; + private IDocumentBody body; + + public String getHeaderId() { + return headerId; + } + + public void setHeaderId(String headerId) { + this.headerId = headerId; + } + + public IDocumentBody getBody() { + return body; + } + + public void setBody(IDocumentBody body) { + this.body = body; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IIndentStart.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IIndentStart.java new file mode 100644 index 00000000..4029a3d1 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IIndentStart.java @@ -0,0 +1,49 @@ +package io.sc.platform.excel.univer.model; + +public class IIndentStart { + private INumberUnit indentFirstLine; + private INumberUnit hanging; + private INumberUnit indentStart; + private ITabStop[] tabStops; + private INumberUnit indentEnd; + + public INumberUnit getIndentFirstLine() { + return indentFirstLine; + } + + public void setIndentFirstLine(INumberUnit indentFirstLine) { + this.indentFirstLine = indentFirstLine; + } + + public INumberUnit getHanging() { + return hanging; + } + + public void setHanging(INumberUnit hanging) { + this.hanging = hanging; + } + + public INumberUnit getIndentStart() { + return indentStart; + } + + public void setIndentStart(INumberUnit indentStart) { + this.indentStart = indentStart; + } + + public ITabStop[] getTabStops() { + return tabStops; + } + + public void setTabStops(ITabStop[] tabStops) { + this.tabStops = tabStops; + } + + public INumberUnit getIndentEnd() { + return indentEnd; + } + + public void setIndentEnd(INumberUnit indentEnd) { + this.indentEnd = indentEnd; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IListData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IListData.java new file mode 100644 index 00000000..54dcc4d0 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IListData.java @@ -0,0 +1,22 @@ +package io.sc.platform.excel.univer.model; + +public class IListData { + private String listType; + private INestingLevel[] nestingLevel; + + public String getListType() { + return listType; + } + + public void setListType(String listType) { + this.listType = listType; + } + + public INestingLevel[] getNestingLevel() { + return nestingLevel; + } + + public void setNestingLevel(INestingLevel[] nestingLevel) { + this.nestingLevel = nestingLevel; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/INestingLevel.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/INestingLevel.java new file mode 100644 index 00000000..b20890b2 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/INestingLevel.java @@ -0,0 +1,67 @@ +package io.sc.platform.excel.univer.model; + +public class INestingLevel { + private IParagraphStyle paragraphProperties; + private BulletAlignment bulletAlignment; + private String glyphFormat; + private ITextStyle textStyle; + private Integer startNumber; + private ListGlyphType glyphType; + private String glyphSymbol; + + public IParagraphStyle getParagraphProperties() { + return paragraphProperties; + } + + public void setParagraphProperties(IParagraphStyle paragraphProperties) { + this.paragraphProperties = paragraphProperties; + } + + public BulletAlignment getBulletAlignment() { + return bulletAlignment; + } + + public void setBulletAlignment(BulletAlignment bulletAlignment) { + this.bulletAlignment = bulletAlignment; + } + + public String getGlyphFormat() { + return glyphFormat; + } + + public void setGlyphFormat(String glyphFormat) { + this.glyphFormat = glyphFormat; + } + + public ITextStyle getTextStyle() { + return textStyle; + } + + public void setTextStyle(ITextStyle textStyle) { + this.textStyle = textStyle; + } + + public Integer getStartNumber() { + return startNumber; + } + + public void setStartNumber(Integer startNumber) { + this.startNumber = startNumber; + } + + public ListGlyphType getGlyphType() { + return glyphType; + } + + public void setGlyphType(ListGlyphType glyphType) { + this.glyphType = glyphType; + } + + public String getGlyphSymbol() { + return glyphSymbol; + } + + public void setGlyphSymbol(String glyphSymbol) { + this.glyphSymbol = glyphSymbol; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/INumberUnit.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/INumberUnit.java new file mode 100644 index 00000000..d77d572b --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/INumberUnit.java @@ -0,0 +1,22 @@ +package io.sc.platform.excel.univer.model; + +public class INumberUnit { + private Integer v; + private NumberUnitType u; + + public Integer getV() { + return v; + } + + public void setV(Integer v) { + this.v = v; + } + + public NumberUnitType getU() { + return u; + } + + public void setU(NumberUnitType u) { + this.u = u; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IObjectPositionH.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IObjectPositionH.java new file mode 100644 index 00000000..dd0f58da --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IObjectPositionH.java @@ -0,0 +1,40 @@ +package io.sc.platform.excel.univer.model; + +public class IObjectPositionH { + private ObjectRelativeFromH relativeFrom; + private AlignTypeH align; + private Integer posOffset; + private Integer percent; + + public ObjectRelativeFromH getRelativeFrom() { + return relativeFrom; + } + + public void setRelativeFrom(ObjectRelativeFromH relativeFrom) { + this.relativeFrom = relativeFrom; + } + + public AlignTypeH getAlign() { + return align; + } + + public void setAlign(AlignTypeH align) { + this.align = align; + } + + public Integer getPosOffset() { + return posOffset; + } + + public void setPosOffset(Integer posOffset) { + this.posOffset = posOffset; + } + + public Integer getPercent() { + return percent; + } + + public void setPercent(Integer percent) { + this.percent = percent; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IObjectPositionV.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IObjectPositionV.java new file mode 100644 index 00000000..69dbf149 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IObjectPositionV.java @@ -0,0 +1,40 @@ +package io.sc.platform.excel.univer.model; + +public class IObjectPositionV { + private ObjectRelativeFromV relativeFrom; + private AlignTypeV align; + private Integer posOffset; + private Integer percent; + + public ObjectRelativeFromV getRelativeFrom() { + return relativeFrom; + } + + public void setRelativeFrom(ObjectRelativeFromV relativeFrom) { + this.relativeFrom = relativeFrom; + } + + public AlignTypeV getAlign() { + return align; + } + + public void setAlign(AlignTypeV align) { + this.align = align; + } + + public Integer getPosOffset() { + return posOffset; + } + + public void setPosOffset(Integer posOffset) { + this.posOffset = posOffset; + } + + public Integer getPercent() { + return percent; + } + + public void setPercent(Integer percent) { + this.percent = percent; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IPaddingData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IPaddingData.java new file mode 100644 index 00000000..4288c8f5 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IPaddingData.java @@ -0,0 +1,40 @@ +package io.sc.platform.excel.univer.model; + +public class IPaddingData { + private Integer t; + private Integer r; + private Integer b; + private Integer l; + + public Integer getT() { + return t; + } + + public void setT(Integer t) { + this.t = t; + } + + public Integer getR() { + return r; + } + + public void setR(Integer r) { + this.r = r; + } + + public Integer getB() { + return b; + } + + public void setB(Integer b) { + this.b = b; + } + + public Integer getL() { + return l; + } + + public void setL(Integer l) { + this.l = l; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraph.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraph.java new file mode 100644 index 00000000..d4c3d429 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraph.java @@ -0,0 +1,31 @@ +package io.sc.platform.excel.univer.model; + +public class IParagraph { + private Integer startIndex; + private IParagraphStyle paragraphStyle; + private IBullet bullet; + + public Integer getStartIndex() { + return startIndex; + } + + public void setStartIndex(Integer startIndex) { + this.startIndex = startIndex; + } + + public IParagraphStyle getParagraphStyle() { + return paragraphStyle; + } + + public void setParagraphStyle(IParagraphStyle paragraphStyle) { + this.paragraphStyle = paragraphStyle; + } + + public IBullet getBullet() { + return bullet; + } + + public void setBullet(IBullet bullet) { + this.bullet = bullet; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraphBorder.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraphBorder.java new file mode 100644 index 00000000..c1f164cf --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraphBorder.java @@ -0,0 +1,13 @@ +package io.sc.platform.excel.univer.model; + +public class IParagraphBorder extends IDocsBorder { + private Integer padding; + + public Integer getPadding() { + return padding; + } + + public void setPadding(Integer padding) { + this.padding = padding; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraphProperties.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraphProperties.java new file mode 100644 index 00000000..62cb7def --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraphProperties.java @@ -0,0 +1,199 @@ +package io.sc.platform.excel.univer.model; + +import com.fasterxml.jackson.annotation.JsonFormat; + +public class IParagraphProperties extends IIndentStart { + private String headingId; + private NamedStyleType namedStyleType; + private HorizontalAlign horizontalAlign; + private Integer lineSpacing; + private TextDirection direction; + private SpacingRule spacingRule; + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean snapToGrid; + private INumberUnit spaceAbove; + private INumberUnit spaceBelow; + private IParagraphBorder borderBetween; + private IParagraphBorder borderTop; + private IParagraphBorder borderBottom; + private IParagraphBorder borderLeft; + private IParagraphBorder borderRight; + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean keepLines; + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean keepNext; + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean wordWrap; + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean widowControl; + + private IShading shading; + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean suppressHyphenation; + + public String getHeadingId() { + return headingId; + } + + public void setHeadingId(String headingId) { + this.headingId = headingId; + } + + public NamedStyleType getNamedStyleType() { + return namedStyleType; + } + + public void setNamedStyleType(NamedStyleType namedStyleType) { + this.namedStyleType = namedStyleType; + } + + public HorizontalAlign getHorizontalAlign() { + return horizontalAlign; + } + + public void setHorizontalAlign(HorizontalAlign horizontalAlign) { + this.horizontalAlign = horizontalAlign; + } + + public Integer getLineSpacing() { + return lineSpacing; + } + + public void setLineSpacing(Integer lineSpacing) { + this.lineSpacing = lineSpacing; + } + + public TextDirection getDirection() { + return direction; + } + + public void setDirection(TextDirection direction) { + this.direction = direction; + } + + public SpacingRule getSpacingRule() { + return spacingRule; + } + + public void setSpacingRule(SpacingRule spacingRule) { + this.spacingRule = spacingRule; + } + + public boolean isSnapToGrid() { + return snapToGrid; + } + + public void setSnapToGrid(boolean snapToGrid) { + this.snapToGrid = snapToGrid; + } + + public INumberUnit getSpaceAbove() { + return spaceAbove; + } + + public void setSpaceAbove(INumberUnit spaceAbove) { + this.spaceAbove = spaceAbove; + } + + public INumberUnit getSpaceBelow() { + return spaceBelow; + } + + public void setSpaceBelow(INumberUnit spaceBelow) { + this.spaceBelow = spaceBelow; + } + + public IParagraphBorder getBorderBetween() { + return borderBetween; + } + + public void setBorderBetween(IParagraphBorder borderBetween) { + this.borderBetween = borderBetween; + } + + public IParagraphBorder getBorderTop() { + return borderTop; + } + + public void setBorderTop(IParagraphBorder borderTop) { + this.borderTop = borderTop; + } + + public IParagraphBorder getBorderBottom() { + return borderBottom; + } + + public void setBorderBottom(IParagraphBorder borderBottom) { + this.borderBottom = borderBottom; + } + + public IParagraphBorder getBorderLeft() { + return borderLeft; + } + + public void setBorderLeft(IParagraphBorder borderLeft) { + this.borderLeft = borderLeft; + } + + public IParagraphBorder getBorderRight() { + return borderRight; + } + + public void setBorderRight(IParagraphBorder borderRight) { + this.borderRight = borderRight; + } + + public boolean isKeepLines() { + return keepLines; + } + + public void setKeepLines(boolean keepLines) { + this.keepLines = keepLines; + } + + public boolean isKeepNext() { + return keepNext; + } + + public void setKeepNext(boolean keepNext) { + this.keepNext = keepNext; + } + + public boolean isWordWrap() { + return wordWrap; + } + + public void setWordWrap(boolean wordWrap) { + this.wordWrap = wordWrap; + } + + public boolean isWidowControl() { + return widowControl; + } + + public void setWidowControl(boolean widowControl) { + this.widowControl = widowControl; + } + + public IShading getShading() { + return shading; + } + + public void setShading(IShading shading) { + this.shading = shading; + } + + public boolean isSuppressHyphenation() { + return suppressHyphenation; + } + + public void setSuppressHyphenation(boolean suppressHyphenation) { + this.suppressHyphenation = suppressHyphenation; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraphStyle.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraphStyle.java new file mode 100644 index 00000000..23a82eae --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IParagraphStyle.java @@ -0,0 +1,13 @@ +package io.sc.platform.excel.univer.model; + +public class IParagraphStyle extends IParagraphProperties { + private ITextStyle textStyle; + + public ITextStyle getTextStyle() { + return textStyle; + } + + public void setTextStyle(ITextStyle textStyle) { + this.textStyle = textStyle; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRange.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRange.java new file mode 100644 index 00000000..b7e9d477 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRange.java @@ -0,0 +1,112 @@ +package io.sc.platform.excel.univer.model; + +public class IRange { + private RangeType rangeType; + private AbsoluteRefType startAbsoluteRefType; + private AbsoluteRefType endAbsoluteRefType; + + /** + * Id of the Workbook the range belongs to. + * When this field is not defined, it should be considered as the range in the currently activated worksheet. + */ + private String unitId; + /** + * Id of the Worksheet the range belongs to. + * When this field is not defined, it should be considered as the range in the currently activated worksheet. + */ + private String sheetId; + + /** + * The start row (inclusive) of the range + * startRow + */ + private int startRow; + /** + * The end row (exclusive) of the range + * endRow + */ + private int endRow; + + /** + * The start column (inclusive) of the range + * startColumn + */ + private int startColumn; + /** + * The end column (exclusive) of the range + * endColumn + */ + private int endColumn; + + public RangeType getRangeType() { + return rangeType; + } + + public void setRangeType(RangeType rangeType) { + this.rangeType = rangeType; + } + + public AbsoluteRefType getStartAbsoluteRefType() { + return startAbsoluteRefType; + } + + public void setStartAbsoluteRefType(AbsoluteRefType startAbsoluteRefType) { + this.startAbsoluteRefType = startAbsoluteRefType; + } + + public AbsoluteRefType getEndAbsoluteRefType() { + return endAbsoluteRefType; + } + + public void setEndAbsoluteRefType(AbsoluteRefType endAbsoluteRefType) { + this.endAbsoluteRefType = endAbsoluteRefType; + } + + public String getUnitId() { + return unitId; + } + + public void setUnitId(String unitId) { + this.unitId = unitId; + } + + public String getSheetId() { + return sheetId; + } + + public void setSheetId(String sheetId) { + this.sheetId = sheetId; + } + + public int getStartRow() { + return startRow; + } + + public void setStartRow(int startRow) { + this.startRow = startRow; + } + + public int getEndRow() { + return endRow; + } + + public void setEndRow(int endRow) { + this.endRow = endRow; + } + + public int getStartColumn() { + return startColumn; + } + + public void setStartColumn(int startColumn) { + this.startColumn = startColumn; + } + + public int getEndColumn() { + return endColumn; + } + + public void setEndColumn(int endColumn) { + this.endColumn = endColumn; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRangeLocation.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRangeLocation.java new file mode 100644 index 00000000..74303b13 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRangeLocation.java @@ -0,0 +1,30 @@ +package io.sc.platform.excel.univer.model; + +public class IRangeLocation { + /** + * Id of the Workbook the range belongs to. + * When this field is not defined, it should be considered as the range in the currently activated worksheet. + */ + private String unitId; + /** + * Id of the Worksheet the range belongs to. + * When this field is not defined, it should be considered as the range in the currently activated worksheet. + */ + private String sheetId; + + public String getUnitId() { + return unitId; + } + + public void setUnitId(String unitId) { + this.unitId = unitId; + } + + public String getSheetId() { + return sheetId; + } + + public void setSheetId(String sheetId) { + this.sheetId = sheetId; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IReferenceSource.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IReferenceSource.java new file mode 100644 index 00000000..64afed61 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IReferenceSource.java @@ -0,0 +1,69 @@ +package io.sc.platform.excel.univer.model; + +import java.util.Map; + +public class IReferenceSource { + private Map tableSource; + private Map footers; + private Map headers; + private Map lists; + private Map drawings; + private String[] drawingsOrder; + private String[] headerFooterDrawingsOrder; + + public Map getTableSource() { + return tableSource; + } + + public void setTableSource(Map tableSource) { + this.tableSource = tableSource; + } + + public Map getFooters() { + return footers; + } + + public void setFooters(Map footers) { + this.footers = footers; + } + + public Map getHeaders() { + return headers; + } + + public void setHeaders(Map headers) { + this.headers = headers; + } + + public Map getLists() { + return lists; + } + + public void setLists(Map lists) { + this.lists = lists; + } + + public Map getDrawings() { + return drawings; + } + + public void setDrawings(Map drawings) { + this.drawings = drawings; + } + + public String[] getDrawingsOrder() { + return drawingsOrder; + } + + public void setDrawingsOrder(String[] drawingsOrder) { + this.drawingsOrder = drawingsOrder; + } + + public String[] getHeaderFooterDrawingsOrder() { + return headerFooterDrawingsOrder; + } + + public void setHeaderFooterDrawingsOrder(String[] headerFooterDrawingsOrder) { + this.headerFooterDrawingsOrder = headerFooterDrawingsOrder; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IResource.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IResource.java new file mode 100644 index 00000000..0b703fa9 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IResource.java @@ -0,0 +1,31 @@ +package io.sc.platform.excel.univer.model; + +public class IResource { + private String id; + private String name; + private String data; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getData() { + return data; + } + + public void setData(String data) { + this.data = data; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRowData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRowData.java new file mode 100644 index 00000000..8979d819 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRowData.java @@ -0,0 +1,82 @@ +package io.sc.platform.excel.univer.model; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.util.Map; + +public class IRowData { + /** + * height in pixel + */ + private Integer h; + /** + * is current row self-adaptive to its content, use `ah` to set row height when true, else use `h`. + */ + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean ia; + /** + * auto height + */ + private Integer ah; + /** + * hidden + */ + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean hd; + /** + * style id + */ + private Object s; + /** + * User stored custom fields + */ + private Map custom; + + public Integer getH() { + return h; + } + + public void setH(Integer h) { + this.h = h; + } + + public boolean isIa() { + return ia; + } + + public void setIa(boolean ia) { + this.ia = ia; + } + + public Integer getAh() { + return ah; + } + + public void setAh(Integer ah) { + this.ah = ah; + } + + public boolean isHd() { + return hd; + } + + public void setHd(boolean hd) { + this.hd = hd; + } + + public Object getS() { + return s; + } + + public void setS(Object s) { + this.s = s; + } + + public Map getCustom() { + return custom; + } + + public void setCustom(Map custom) { + this.custom = custom; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRowHeader.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRowHeader.java new file mode 100644 index 00000000..c51f997e --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IRowHeader.java @@ -0,0 +1,26 @@ +package io.sc.platform.excel.univer.model; + +import com.fasterxml.jackson.annotation.JsonFormat; + +public class IRowHeader { + private Integer width; + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean hidden; + + public Integer getWidth() { + return width; + } + + public void setWidth(Integer width) { + this.width = width; + } + + public boolean isHidden() { + return hidden; + } + + public void setHidden(boolean hidden) { + this.hidden = hidden; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ISectionBreak.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ISectionBreak.java new file mode 100644 index 00000000..fc6e6a06 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ISectionBreak.java @@ -0,0 +1,275 @@ +package io.sc.platform.excel.univer.model; + +import com.fasterxml.jackson.annotation.JsonFormat; + +public class ISectionBreak { + private Integer startIndex; + + private Integer marginTop; + private Integer marginBottom; + private Integer marginRight; + private Integer marginLeft; + + private Integer pageNumberStart; + private ISize pageSize; + private PageOrientType pageOrient; + private DocumentFlavor documentFlavor; + private Integer marginHeader; + private Integer marginFooter; + private IDocumentRenderConfig renderConfig; + + private Integer charSpace; + private Integer linePitch; + private GridType gridType; + private ISectionColumnProperties[] columnProperties; + private ColumnSeparatorType columnSeparatorType; + private TextDirection contentDirection; + private SectionType sectionType; + private SectionType sectionTypeNext; + private TextDirectionType textDirection; + + private String defaultHeaderId; + private String defaultFooterId; + private String evenPageHeaderId; + private String evenPageFooterId; + private String firstPageHeaderId; + private String firstPageFooterId; + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean useFirstPageHeaderFooter; + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean evenAndOddHeaders; + + public Integer getStartIndex() { + return startIndex; + } + + public void setStartIndex(Integer startIndex) { + this.startIndex = startIndex; + } + + public Integer getMarginTop() { + return marginTop; + } + + public void setMarginTop(Integer marginTop) { + this.marginTop = marginTop; + } + + public Integer getMarginBottom() { + return marginBottom; + } + + public void setMarginBottom(Integer marginBottom) { + this.marginBottom = marginBottom; + } + + public Integer getMarginRight() { + return marginRight; + } + + public void setMarginRight(Integer marginRight) { + this.marginRight = marginRight; + } + + public Integer getMarginLeft() { + return marginLeft; + } + + public void setMarginLeft(Integer marginLeft) { + this.marginLeft = marginLeft; + } + + public Integer getPageNumberStart() { + return pageNumberStart; + } + + public void setPageNumberStart(Integer pageNumberStart) { + this.pageNumberStart = pageNumberStart; + } + + public ISize getPageSize() { + return pageSize; + } + + public void setPageSize(ISize pageSize) { + this.pageSize = pageSize; + } + + public PageOrientType getPageOrient() { + return pageOrient; + } + + public void setPageOrient(PageOrientType pageOrient) { + this.pageOrient = pageOrient; + } + + public DocumentFlavor getDocumentFlavor() { + return documentFlavor; + } + + public void setDocumentFlavor(DocumentFlavor documentFlavor) { + this.documentFlavor = documentFlavor; + } + + public Integer getMarginHeader() { + return marginHeader; + } + + public void setMarginHeader(Integer marginHeader) { + this.marginHeader = marginHeader; + } + + public Integer getMarginFooter() { + return marginFooter; + } + + public void setMarginFooter(Integer marginFooter) { + this.marginFooter = marginFooter; + } + + public IDocumentRenderConfig getRenderConfig() { + return renderConfig; + } + + public void setRenderConfig(IDocumentRenderConfig renderConfig) { + this.renderConfig = renderConfig; + } + + public Integer getCharSpace() { + return charSpace; + } + + public void setCharSpace(Integer charSpace) { + this.charSpace = charSpace; + } + + public Integer getLinePitch() { + return linePitch; + } + + public void setLinePitch(Integer linePitch) { + this.linePitch = linePitch; + } + + public GridType getGridType() { + return gridType; + } + + public void setGridType(GridType gridType) { + this.gridType = gridType; + } + + public ISectionColumnProperties[] getColumnProperties() { + return columnProperties; + } + + public void setColumnProperties(ISectionColumnProperties[] columnProperties) { + this.columnProperties = columnProperties; + } + + public ColumnSeparatorType getColumnSeparatorType() { + return columnSeparatorType; + } + + public void setColumnSeparatorType(ColumnSeparatorType columnSeparatorType) { + this.columnSeparatorType = columnSeparatorType; + } + + public TextDirection getContentDirection() { + return contentDirection; + } + + public void setContentDirection(TextDirection contentDirection) { + this.contentDirection = contentDirection; + } + + public SectionType getSectionType() { + return sectionType; + } + + public void setSectionType(SectionType sectionType) { + this.sectionType = sectionType; + } + + public SectionType getSectionTypeNext() { + return sectionTypeNext; + } + + public void setSectionTypeNext(SectionType sectionTypeNext) { + this.sectionTypeNext = sectionTypeNext; + } + + public TextDirectionType getTextDirection() { + return textDirection; + } + + public void setTextDirection(TextDirectionType textDirection) { + this.textDirection = textDirection; + } + + public String getDefaultHeaderId() { + return defaultHeaderId; + } + + public void setDefaultHeaderId(String defaultHeaderId) { + this.defaultHeaderId = defaultHeaderId; + } + + public String getDefaultFooterId() { + return defaultFooterId; + } + + public void setDefaultFooterId(String defaultFooterId) { + this.defaultFooterId = defaultFooterId; + } + + public String getEvenPageHeaderId() { + return evenPageHeaderId; + } + + public void setEvenPageHeaderId(String evenPageHeaderId) { + this.evenPageHeaderId = evenPageHeaderId; + } + + public String getEvenPageFooterId() { + return evenPageFooterId; + } + + public void setEvenPageFooterId(String evenPageFooterId) { + this.evenPageFooterId = evenPageFooterId; + } + + public String getFirstPageHeaderId() { + return firstPageHeaderId; + } + + public void setFirstPageHeaderId(String firstPageHeaderId) { + this.firstPageHeaderId = firstPageHeaderId; + } + + public String getFirstPageFooterId() { + return firstPageFooterId; + } + + public void setFirstPageFooterId(String firstPageFooterId) { + this.firstPageFooterId = firstPageFooterId; + } + + public boolean isUseFirstPageHeaderFooter() { + return useFirstPageHeaderFooter; + } + + public void setUseFirstPageHeaderFooter(boolean useFirstPageHeaderFooter) { + this.useFirstPageHeaderFooter = useFirstPageHeaderFooter; + } + + public boolean isEvenAndOddHeaders() { + return evenAndOddHeaders; + } + + public void setEvenAndOddHeaders(boolean evenAndOddHeaders) { + this.evenAndOddHeaders = evenAndOddHeaders; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ISectionColumnProperties.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ISectionColumnProperties.java new file mode 100644 index 00000000..4a911bbb --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ISectionColumnProperties.java @@ -0,0 +1,22 @@ +package io.sc.platform.excel.univer.model; + +public class ISectionColumnProperties { + private Integer width; + private Integer paddingEnd; + + public Integer getWidth() { + return width; + } + + public void setWidth(Integer width) { + this.width = width; + } + + public Integer getPaddingEnd() { + return paddingEnd; + } + + public void setPaddingEnd(Integer paddingEnd) { + this.paddingEnd = paddingEnd; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IShading.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IShading.java new file mode 100644 index 00000000..636b12a3 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IShading.java @@ -0,0 +1,13 @@ +package io.sc.platform.excel.univer.model; + +public class IShading { + private IColorStyle backgroundColor; + + public IColorStyle getBackgroundColor() { + return backgroundColor; + } + + public void setBackgroundColor(IColorStyle backgroundColor) { + this.backgroundColor = backgroundColor; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ISize.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ISize.java new file mode 100644 index 00000000..c3a3145f --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ISize.java @@ -0,0 +1,22 @@ +package io.sc.platform.excel.univer.model; + +public class ISize { + private Integer width; + private Integer height; + + public Integer getWidth() { + return width; + } + + public void setWidth(Integer width) { + this.width = width; + } + + public Integer getHeight() { + return height; + } + + public void setHeight(Integer height) { + this.height = height; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IStyleBase.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IStyleBase.java new file mode 100644 index 00000000..72cd878b --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IStyleBase.java @@ -0,0 +1,127 @@ +package io.sc.platform.excel.univer.model; + +import com.fasterxml.jackson.annotation.JsonFormat; + +public class IStyleBase { + private String ff; // fontFamily + private Integer fs; //fontSize pt + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean it; // italic + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean bl; //bold + private ITextDecoration ul; //underline + private ITextDecoration bbl;//bottomBorerLine + private ITextDecoration st; //strikethrough + private ITextDecoration ol; //overline + private IColorStyle bg; //background + private IBorderData bd; //border + private IColorStyle cl; //foreground + private BaselineOffset va; //Subscript 下标 /Superscript上标 Text + private String n; //Numfmt pattern + + public String getFf() { + return ff; + } + + public void setFf(String ff) { + this.ff = ff; + } + + public Integer getFs() { + return fs; + } + + public void setFs(Integer fs) { + this.fs = fs; + } + + public boolean isIt() { + return it; + } + + public void setIt(boolean it) { + this.it = it; + } + + public boolean isBl() { + return bl; + } + + public void setBl(boolean bl) { + this.bl = bl; + } + + public ITextDecoration getUl() { + return ul; + } + + public void setUl(ITextDecoration ul) { + this.ul = ul; + } + + public ITextDecoration getBbl() { + return bbl; + } + + public void setBbl(ITextDecoration bbl) { + this.bbl = bbl; + } + + public ITextDecoration getSt() { + return st; + } + + public void setSt(ITextDecoration st) { + this.st = st; + } + + public ITextDecoration getOl() { + return ol; + } + + public void setOl(ITextDecoration ol) { + this.ol = ol; + } + + public IColorStyle getBg() { + return bg; + } + + public void setBg(IColorStyle bg) { + this.bg = bg; + } + + public IBorderData getBd() { + return bd; + } + + public void setBd(IBorderData bd) { + this.bd = bd; + } + + public IColorStyle getCl() { + return cl; + } + + public void setCl(IColorStyle cl) { + this.cl = cl; + } + + public BaselineOffset getVa() { + return va; + } + + public void setVa(BaselineOffset va) { + this.va = va; + } + + public String getN() { + return n; + } + + public void setN(String n) { + this.n = n; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IStyleData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IStyleData.java new file mode 100644 index 00000000..0db7cbe4 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IStyleData.java @@ -0,0 +1,58 @@ +package io.sc.platform.excel.univer.model; + +public class IStyleData { + private ITextRotation tr; //textRotation + private TextDirection td; //textDirection + private HorizontalAlign ht; //horizontalAlignment + private VerticalAlign vt; //verticalAlignment + private WrapStrategy tb; //wrapStrategy + private IPaddingData pd; //padding + + public ITextRotation getTr() { + return tr; + } + + public void setTr(ITextRotation tr) { + this.tr = tr; + } + + public TextDirection getTd() { + return td; + } + + public void setTd(TextDirection td) { + this.td = td; + } + + public HorizontalAlign getHt() { + return ht; + } + + public void setHt(HorizontalAlign ht) { + this.ht = ht; + } + + public VerticalAlign getVt() { + return vt; + } + + public void setVt(VerticalAlign vt) { + this.vt = vt; + } + + public WrapStrategy getTb() { + return tb; + } + + public void setTb(WrapStrategy tb) { + this.tb = tb; + } + + public IPaddingData getPd() { + return pd; + } + + public void setPd(IPaddingData pd) { + this.pd = pd; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITabStop.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITabStop.java new file mode 100644 index 00000000..515a42e8 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITabStop.java @@ -0,0 +1,22 @@ +package io.sc.platform.excel.univer.model; + +public class ITabStop { + private Integer offset; + private TabStopAlignment alignment; + + public Integer getOffset() { + return offset; + } + + public void setOffset(Integer offset) { + this.offset = offset; + } + + public TabStopAlignment getAlignment() { + return alignment; + } + + public void setAlignment(TabStopAlignment alignment) { + this.alignment = alignment; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITable.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITable.java new file mode 100644 index 00000000..76a42cae --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITable.java @@ -0,0 +1,124 @@ +package io.sc.platform.excel.univer.model; + +import com.fasterxml.jackson.annotation.JsonFormat; + +public class ITable { + private ITableRow[] tableRows; + private ITableColumn[] tableColumns; + private TableAlignmentType align; + private INumberUnit indent; + private TableTextWrapType textWrap; + private ITableAnchor position; + private IDistFromText dist; + private IWidthInTableSize size; + private String tableId; + private ITableCellMargin cellMargin; + private TableLayoutType layout; + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean overlap; + private String description; + + public ITableRow[] getTableRows() { + return tableRows; + } + + public void setTableRows(ITableRow[] tableRows) { + this.tableRows = tableRows; + } + + public ITableColumn[] getTableColumns() { + return tableColumns; + } + + public void setTableColumns(ITableColumn[] tableColumns) { + this.tableColumns = tableColumns; + } + + public TableAlignmentType getAlign() { + return align; + } + + public void setAlign(TableAlignmentType align) { + this.align = align; + } + + public INumberUnit getIndent() { + return indent; + } + + public void setIndent(INumberUnit indent) { + this.indent = indent; + } + + public TableTextWrapType getTextWrap() { + return textWrap; + } + + public void setTextWrap(TableTextWrapType textWrap) { + this.textWrap = textWrap; + } + + public ITableAnchor getPosition() { + return position; + } + + public void setPosition(ITableAnchor position) { + this.position = position; + } + + public IDistFromText getDist() { + return dist; + } + + public void setDist(IDistFromText dist) { + this.dist = dist; + } + + public IWidthInTableSize getSize() { + return size; + } + + public void setSize(IWidthInTableSize size) { + this.size = size; + } + + public String getTableId() { + return tableId; + } + + public void setTableId(String tableId) { + this.tableId = tableId; + } + + public ITableCellMargin getCellMargin() { + return cellMargin; + } + + public void setCellMargin(ITableCellMargin cellMargin) { + this.cellMargin = cellMargin; + } + + public TableLayoutType getLayout() { + return layout; + } + + public void setLayout(TableLayoutType layout) { + this.layout = layout; + } + + public boolean isOverlap() { + return overlap; + } + + public void setOverlap(boolean overlap) { + this.overlap = overlap; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableAnchor.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableAnchor.java new file mode 100644 index 00000000..4df43922 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableAnchor.java @@ -0,0 +1,22 @@ +package io.sc.platform.excel.univer.model; + +public class ITableAnchor { + private IObjectPositionH positionH; + private IObjectPositionV positionV; + + public IObjectPositionH getPositionH() { + return positionH; + } + + public void setPositionH(IObjectPositionH positionH) { + this.positionH = positionH; + } + + public IObjectPositionV getPositionV() { + return positionV; + } + + public void setPositionV(IObjectPositionV positionV) { + this.positionV = positionV; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableCell.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableCell.java new file mode 100644 index 00000000..47ab5a1e --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableCell.java @@ -0,0 +1,107 @@ +package io.sc.platform.excel.univer.model; + +import com.fasterxml.jackson.annotation.JsonFormat; + +public class ITableCell { + private ITableCellMargin margin; + private Integer rowSpan; + private Integer columnSpan; + private IColorStyle backgroundColor; + private ITableCellBorder borderLeft; + private ITableCellBorder borderRight; + private ITableCellBorder borderTop; + private ITableCellBorder borderBottom; + private IWidthInTableSize size; + + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean tcFitText; + private VerticalAlignmentType vAlign; + + public ITableCellMargin getMargin() { + return margin; + } + + public void setMargin(ITableCellMargin margin) { + this.margin = margin; + } + + public Integer getRowSpan() { + return rowSpan; + } + + public void setRowSpan(Integer rowSpan) { + this.rowSpan = rowSpan; + } + + public Integer getColumnSpan() { + return columnSpan; + } + + public void setColumnSpan(Integer columnSpan) { + this.columnSpan = columnSpan; + } + + public IColorStyle getBackgroundColor() { + return backgroundColor; + } + + public void setBackgroundColor(IColorStyle backgroundColor) { + this.backgroundColor = backgroundColor; + } + + public ITableCellBorder getBorderLeft() { + return borderLeft; + } + + public void setBorderLeft(ITableCellBorder borderLeft) { + this.borderLeft = borderLeft; + } + + public ITableCellBorder getBorderRight() { + return borderRight; + } + + public void setBorderRight(ITableCellBorder borderRight) { + this.borderRight = borderRight; + } + + public ITableCellBorder getBorderTop() { + return borderTop; + } + + public void setBorderTop(ITableCellBorder borderTop) { + this.borderTop = borderTop; + } + + public ITableCellBorder getBorderBottom() { + return borderBottom; + } + + public void setBorderBottom(ITableCellBorder borderBottom) { + this.borderBottom = borderBottom; + } + + public IWidthInTableSize getSize() { + return size; + } + + public void setSize(IWidthInTableSize size) { + this.size = size; + } + + public boolean isTcFitText() { + return tcFitText; + } + + public void setTcFitText(boolean tcFitText) { + this.tcFitText = tcFitText; + } + + public VerticalAlignmentType getvAlign() { + return vAlign; + } + + public void setvAlign(VerticalAlignmentType vAlign) { + this.vAlign = vAlign; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableCellBorder.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableCellBorder.java new file mode 100644 index 00000000..0511fd87 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableCellBorder.java @@ -0,0 +1,31 @@ +package io.sc.platform.excel.univer.model; + +public class ITableCellBorder { + private IColorStyle color; + private INumberUnit width; + private DashStyleType dashStyle; + + public IColorStyle getColor() { + return color; + } + + public void setColor(IColorStyle color) { + this.color = color; + } + + public INumberUnit getWidth() { + return width; + } + + public void setWidth(INumberUnit width) { + this.width = width; + } + + public DashStyleType getDashStyle() { + return dashStyle; + } + + public void setDashStyle(DashStyleType dashStyle) { + this.dashStyle = dashStyle; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableCellMargin.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableCellMargin.java new file mode 100644 index 00000000..7fb07116 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableCellMargin.java @@ -0,0 +1,40 @@ +package io.sc.platform.excel.univer.model; + +public class ITableCellMargin { + private INumberUnit start; + private INumberUnit end; + private INumberUnit top; + private INumberUnit bottom; + + public INumberUnit getStart() { + return start; + } + + public void setStart(INumberUnit start) { + this.start = start; + } + + public INumberUnit getEnd() { + return end; + } + + public void setEnd(INumberUnit end) { + this.end = end; + } + + public INumberUnit getTop() { + return top; + } + + public void setTop(INumberUnit top) { + this.top = top; + } + + public INumberUnit getBottom() { + return bottom; + } + + public void setBottom(INumberUnit bottom) { + this.bottom = bottom; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableColumn.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableColumn.java new file mode 100644 index 00000000..28ebac0a --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableColumn.java @@ -0,0 +1,13 @@ +package io.sc.platform.excel.univer.model; + +public class ITableColumn { + private IWidthInTableSize size; + + public IWidthInTableSize getSize() { + return size; + } + + public void setSize(IWidthInTableSize size) { + this.size = size; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableRow.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableRow.java new file mode 100644 index 00000000..fedf3e52 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableRow.java @@ -0,0 +1,54 @@ +package io.sc.platform.excel.univer.model; + +import com.fasterxml.jackson.annotation.JsonFormat; + +public class ITableRow { + private ITableCell[] tableCells; + private ITableRowSize trHeight; + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean cantSplit; + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean isFirstRow; + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean repeatHeaderRow; + + public ITableCell[] getTableCells() { + return tableCells; + } + + public void setTableCells(ITableCell[] tableCells) { + this.tableCells = tableCells; + } + + public ITableRowSize getTrHeight() { + return trHeight; + } + + public void setTrHeight(ITableRowSize trHeight) { + this.trHeight = trHeight; + } + + public boolean isCantSplit() { + return cantSplit; + } + + public void setCantSplit(boolean cantSplit) { + this.cantSplit = cantSplit; + } + + public boolean isFirstRow() { + return isFirstRow; + } + + public void setFirstRow(boolean firstRow) { + isFirstRow = firstRow; + } + + public boolean isRepeatHeaderRow() { + return repeatHeaderRow; + } + + public void setRepeatHeaderRow(boolean repeatHeaderRow) { + this.repeatHeaderRow = repeatHeaderRow; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableRowSize.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableRowSize.java new file mode 100644 index 00000000..203f511f --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITableRowSize.java @@ -0,0 +1,22 @@ +package io.sc.platform.excel.univer.model; + +public class ITableRowSize { + private INumberUnit val; + private TableRowHeightRule hRule; + + public INumberUnit getVal() { + return val; + } + + public void setVal(INumberUnit val) { + this.val = val; + } + + public TableRowHeightRule gethRule() { + return hRule; + } + + public void sethRule(TableRowHeightRule hRule) { + this.hRule = hRule; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextDecoration.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextDecoration.java new file mode 100644 index 00000000..2e7f81b5 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextDecoration.java @@ -0,0 +1,44 @@ +package io.sc.platform.excel.univer.model; + +import com.fasterxml.jackson.annotation.JsonFormat; + +public class ITextDecoration { + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean s; // show + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean c; // color is follow the font color. the default value is TRUE, it's also TRUE if it is undefined. the cl has no effect when `c` is TRUE. + private IColorStyle cl; // color + private TextDecoration t; // lineType + + public boolean isS() { + return s; + } + + public void setS(boolean s) { + this.s = s; + } + + public boolean isC() { + return c; + } + + public void setC(boolean c) { + this.c = c; + } + + public IColorStyle getCl() { + return cl; + } + + public void setCl(IColorStyle cl) { + this.cl = cl; + } + + public TextDecoration getT() { + return t; + } + + public void setT(TextDecoration t) { + this.t = t; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextRotation.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextRotation.java new file mode 100644 index 00000000..899d2561 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextRotation.java @@ -0,0 +1,25 @@ +package io.sc.platform.excel.univer.model; + +import com.fasterxml.jackson.annotation.JsonFormat; + +public class ITextRotation { + private Integer a; //angle + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean v; //vertical + + public Integer getA() { + return a; + } + + public void setA(Integer a) { + this.a = a; + } + + public boolean isV() { + return v; + } + + public void setV(boolean v) { + this.v = v; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextRun.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextRun.java new file mode 100644 index 00000000..9e0ba045 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextRun.java @@ -0,0 +1,40 @@ +package io.sc.platform.excel.univer.model; + +public class ITextRun { + private Integer st; + private Integer ed; + private String sId; + private ITextStyle ts; + + public Integer getSt() { + return st; + } + + public void setSt(Integer st) { + this.st = st; + } + + public Integer getEd() { + return ed; + } + + public void setEd(Integer ed) { + this.ed = ed; + } + + public String getsId() { + return sId; + } + + public void setsId(String sId) { + this.sId = sId; + } + + public ITextStyle getTs() { + return ts; + } + + public void setTs(ITextStyle ts) { + this.ts = ts; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextStyle.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextStyle.java new file mode 100644 index 00000000..90a11cb5 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITextStyle.java @@ -0,0 +1,31 @@ +package io.sc.platform.excel.univer.model; + +public class ITextStyle { + private Integer sc; + private Integer pos; + private Integer sa; + + public Integer getSc() { + return sc; + } + + public void setSc(Integer sc) { + this.sc = sc; + } + + public Integer getPos() { + return pos; + } + + public void setPos(Integer pos) { + this.pos = pos; + } + + public Integer getSa() { + return sa; + } + + public void setSa(Integer sa) { + this.sa = sa; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITransformState.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITransformState.java new file mode 100644 index 00000000..30172751 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ITransformState.java @@ -0,0 +1,103 @@ +package io.sc.platform.excel.univer.model; + +public class ITransformState { + private Integer width; + private Integer height; + private Integer left; + private Integer top; + private Integer scaleX; + private Integer scaleY; + private Integer angle; + private Integer skewX; + private Integer skewY; + private boolean flipX; + private boolean flipY; + + public Integer getWidth() { + return width; + } + + public void setWidth(Integer width) { + this.width = width; + } + + public Integer getHeight() { + return height; + } + + public void setHeight(Integer height) { + this.height = height; + } + + public Integer getLeft() { + return left; + } + + public void setLeft(Integer left) { + this.left = left; + } + + public Integer getTop() { + return top; + } + + public void setTop(Integer top) { + this.top = top; + } + + public Integer getScaleX() { + return scaleX; + } + + public void setScaleX(Integer scaleX) { + this.scaleX = scaleX; + } + + public Integer getScaleY() { + return scaleY; + } + + public void setScaleY(Integer scaleY) { + this.scaleY = scaleY; + } + + public Integer getAngle() { + return angle; + } + + public void setAngle(Integer angle) { + this.angle = angle; + } + + public Integer getSkewX() { + return skewX; + } + + public void setSkewX(Integer skewX) { + this.skewX = skewX; + } + + public Integer getSkewY() { + return skewY; + } + + public void setSkewY(Integer skewY) { + this.skewY = skewY; + } + + public boolean isFlipX() { + return flipX; + } + + public void setFlipX(boolean flipX) { + this.flipX = flipX; + } + + public boolean isFlipY() { + return flipY; + } + + public void setFlipY(boolean flipY) { + this.flipY = flipY; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IWidthInTableSize.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IWidthInTableSize.java new file mode 100644 index 00000000..6d01f982 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IWidthInTableSize.java @@ -0,0 +1,22 @@ +package io.sc.platform.excel.univer.model; + +public class IWidthInTableSize { + private TableSizeType type; + private INumberUnit width; + + public TableSizeType getType() { + return type; + } + + public void setType(TableSizeType type) { + this.type = type; + } + + public INumberUnit getWidth() { + return width; + } + + public void setWidth(INumberUnit width) { + this.width = width; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IWorkbookData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IWorkbookData.java new file mode 100644 index 00000000..2d17f9ca --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IWorkbookData.java @@ -0,0 +1,78 @@ +package io.sc.platform.excel.univer.model; + +import java.util.Map; + +public class IWorkbookData { + private String id; //Unique identifier of the Univer Sheets. + private String name; //Name of the Univer Sheets. + private String appVersion; //Version of the Univer model definition. + private LocaleType locale; //Locale of the document. + private Map styles; //Style references for the workbook. + private String[] sheetOrder; //Array of sheet IDs representing the order of worksheets. + private Map sheets; //Record containing data for each worksheet. + private IResource[] resources; //Store the data of plugins + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getAppVersion() { + return appVersion; + } + + public void setAppVersion(String appVersion) { + this.appVersion = appVersion; + } + + public LocaleType getLocale() { + return locale; + } + + public void setLocale(LocaleType locale) { + this.locale = locale; + } + + public Map getStyles() { + return styles; + } + + public void setStyles(Map styles) { + this.styles = styles; + } + + public String[] getSheetOrder() { + return sheetOrder; + } + + public void setSheetOrder(String[] sheetOrder) { + this.sheetOrder = sheetOrder; + } + + public Map getSheets() { + return sheets; + } + + public void setSheets(Map sheets) { + this.sheets = sheets; + } + + public IResource[] getResources() { + return resources; + } + + public void setResources(IResource[] resources) { + this.resources = resources; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IWorksheetData.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IWorksheetData.java new file mode 100644 index 00000000..dfd79d24 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/IWorksheetData.java @@ -0,0 +1,164 @@ +package io.sc.platform.excel.univer.model; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.util.Map; + +public class IWorksheetData { + private String id; // Unique identifier for the worksheet. + private String name; // Name of the worksheet. + private String tabColor; // Color of the worksheet tab. + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean hidden; // Whether the sheet is hidden. Default: false. + private IFreeze freeze; // Freeze pane settings. + private Integer rowCount; // Total number of rows. + private Integer columnCount; // Total number of columns. + private Integer defaultColumnWidth; // Default width for columns, unit px. + private Integer defaultRowHeight; // Default height for rows, unit px. + private IRange[] mergeData; // Array of merged cell ranges. + private Map> cellData; // Matrix of cell contents. More details. + private Map rowData; // Array of row data objects. + private Map columnData; // Array of column data objects. + private IRowHeader rowHeader; // Row header configuration. + private IColumnHeader columnHeader; // Column header configuration. + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean showGridlines; // Whether gridlines are visible. + @JsonFormat(shape = JsonFormat.Shape.NUMBER) + private boolean rightToLeft; // Whether the worksheet is in right-to-left mode. + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getTabColor() { + return tabColor; + } + + public void setTabColor(String tabColor) { + this.tabColor = tabColor; + } + + public boolean isHidden() { + return hidden; + } + + public void setHidden(boolean hidden) { + this.hidden = hidden; + } + + public IFreeze getFreeze() { + return freeze; + } + + public void setFreeze(IFreeze freeze) { + this.freeze = freeze; + } + + public Integer getRowCount() { + return rowCount; + } + + public void setRowCount(Integer rowCount) { + this.rowCount = rowCount; + } + + public Integer getColumnCount() { + return columnCount; + } + + public void setColumnCount(Integer columnCount) { + this.columnCount = columnCount; + } + + public Integer getDefaultColumnWidth() { + return defaultColumnWidth; + } + + public void setDefaultColumnWidth(Integer defaultColumnWidth) { + this.defaultColumnWidth = defaultColumnWidth; + } + + public Integer getDefaultRowHeight() { + return defaultRowHeight; + } + + public void setDefaultRowHeight(Integer defaultRowHeight) { + this.defaultRowHeight = defaultRowHeight; + } + + public IRange[] getMergeData() { + return mergeData; + } + + public void setMergeData(IRange[] mergeData) { + this.mergeData = mergeData; + } + + public Map> getCellData() { + return cellData; + } + + public void setCellData(Map> cellData) { + this.cellData = cellData; + } + + public Map getRowData() { + return rowData; + } + + public void setRowData(Map rowData) { + this.rowData = rowData; + } + + public Map getColumnData() { + return columnData; + } + + public void setColumnData(Map columnData) { + this.columnData = columnData; + } + + public IRowHeader getRowHeader() { + return rowHeader; + } + + public void setRowHeader(IRowHeader rowHeader) { + this.rowHeader = rowHeader; + } + + public IColumnHeader getColumnHeader() { + return columnHeader; + } + + public void setColumnHeader(IColumnHeader columnHeader) { + this.columnHeader = columnHeader; + } + + public boolean isShowGridlines() { + return showGridlines; + } + + public void setShowGridlines(boolean showGridlines) { + this.showGridlines = showGridlines; + } + + public boolean isRightToLeft() { + return rightToLeft; + } + + public void setRightToLeft(boolean rightToLeft) { + this.rightToLeft = rightToLeft; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ListGlyphType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ListGlyphType.java new file mode 100644 index 00000000..4496c283 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ListGlyphType.java @@ -0,0 +1,75 @@ +package io.sc.platform.excel.univer.model; + +public enum ListGlyphType { + BULLET(0),// The glyph type is unspecified or unsupported. + NONE(1),// An empty string. + DECIMAL(2),// A number), like 1), 2), or 3. + DECIMAL_ZERO(3),// A number where single digit numbers are prefixed with a zero), like 01), 02), or 03. Numbers with more than one digit are not prefixed with a zero. + UPPER_LETTER(4),// An uppercase letter), like A), B), or C. + LOWER_LETTER(5),// A lowercase letter), like a), b), or c. + UPPER_ROMAN(6),// An uppercase Roman numeral), like I), II), or III. + LOWER_ROMAN(7),// A lowercase Roman numeral), like i), ii), or iii. + /** + * Not yet achieved), aligned with Excel's standards. + * 17.18.59 ST_NumberFormat (Numbering Format) + */ + ORDINAL(8), + CARDINAL_TEXT(9), + ORDINAL_TEXT(10), + HEX(11), + CHICAGO(12), + IDEOGRAPH_DIGITAL(13), + JAPANESE_COUNTING(14), + AIUEO(15), + IROHA(16), + DECIMAL_FULL_WIDTH(17), + DECIMAL_HALF_WIDTH(18), + JAPANESE_LEGAL(19), + JAPANESE_DIGITAL_TEN_THOUSAND(20), + DECIMAL_ENCLOSED_CIRCLE(21), + DECIMAL_FULL_WIDTH2(22), + AIUEO_FULL_WIDTH(23), + IROHA_FULL_WIDTH(24), + GANADA(25), + CHOSUNG(26), + DECIMAL_ENCLOSED_FULLSTOP(27), + DECIMAL_ENCLOSED_PAREN(28), + DECIMAL_ENCLOSED_CIRCLE_CHINESE(29), + IDEOGRAPH_ENCLOSED_CIRCLE(30), + IDEOGRAPH_TRADITIONAL(31), + IDEOGRAPH_ZODIAC(32), + IDEOGRAPH_ZODIAC_TRADITIONAL(33), + TAIWANESE_COUNTING(34), + IDEOGRAPH_LEGAL_TRADITIONAL(35), + TAIWANESE_COUNTING_THOUSAND(36), + TAIWANESE_DIGITAL(37), + CHINESE_COUNTING(38), + CHINESE_LEGAL_SIMPLIFIED(39), + CHINESE_COUNTING_THOUSAND(40), + KOREAN_DIGITAL(41), + KOREAN_COUNTING(42), + KOREAN_LEGAL(43), + KOREAN_DIGITAL2(44), + VIETNAMESE_COUNTING(45), + RUSSIAN_LOWER(46), + RUSSIAN_UPPER(47), + NUMBER_IN_DASH(48), + HEBREW1(49), + HEBREW2(50), + ARABIC_ALPHA(51), + ARABIC_ABJAD(52), + HINDI_VOWELS(53), + HINDI_CONSONANTS(54), + HINDI_NUMBERS(55), + HINDI_COUNTING(56), + THAI_LETTERS(57), + THAI_NUMBERS(58), + THAI_COUNTING(59), + CUSTOM(60); + + private int value; + + ListGlyphType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/LocaleType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/LocaleType.java new file mode 100644 index 00000000..97e7f27e --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/LocaleType.java @@ -0,0 +1,17 @@ +package io.sc.platform.excel.univer.model; + +public enum LocaleType { + EN_US("enUS"), + FR_FR("frFR"), + ZH_CN("zhCN"), + RU_RU("ruRU"), + ZH_TW("zhTW"), + VI_VN("viVN"), + FA_IR("faIR"); + + private String value; + + LocaleType(String value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/NamedStyleType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/NamedStyleType.java new file mode 100644 index 00000000..c6a10511 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/NamedStyleType.java @@ -0,0 +1,20 @@ +package io.sc.platform.excel.univer.model; + +public enum NamedStyleType { + NAMED_STYLE_TYPE_UNSPECIFIED(0),// The type of named style is unspecified. + NORMAL_TEXT(1),// Normal text. + TITLE(2),// Title. + SUBTITLE(3),// Subtitle. + HEADING_1(4),// Heading 1. + HEADING_2(5),// Heading 2. + HEADING_3(6),// Heading 3. + HEADING_4(7),// Heading 4. + HEADING_5(8),// Heading 5. + HEADING_6(9); + + private int value; + + NamedStyleType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/NumberUnitType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/NumberUnitType.java new file mode 100644 index 00000000..71dbed36 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/NumberUnitType.java @@ -0,0 +1,15 @@ +package io.sc.platform.excel.univer.model; + +public enum NumberUnitType { + POINT(0), + LINE(1), + CHARACTER(2), + PIXEL(3), + PERCENT(4); + + private int value; + + NumberUnitType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ObjectRelativeFromH.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ObjectRelativeFromH.java new file mode 100644 index 00000000..488aa57b --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ObjectRelativeFromH.java @@ -0,0 +1,18 @@ +package io.sc.platform.excel.univer.model; + +public enum ObjectRelativeFromH { + PAGE(0), + COLUMN(1), + CHARACTER(2), + MARGIN(3), + INSIDE_MARGIN(4), + OUTSIDE_MARGIN(5), + LEFT_MARGIN(6), + RIGHT_MARGIN(7); + + private int value; + + ObjectRelativeFromH(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ObjectRelativeFromV.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ObjectRelativeFromV.java new file mode 100644 index 00000000..db8c65ae --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ObjectRelativeFromV.java @@ -0,0 +1,18 @@ +package io.sc.platform.excel.univer.model; + +public enum ObjectRelativeFromV { + PAGE(0), + PARAGRAPH(1), + LINE(2), + MARGIN(3), + TOP_MARGIN(4), + BOTTOM_MARGIN(5), + INSIDE_MARGIN(6), + OUTSIDE_MARGIN(7); + + private int value; + + ObjectRelativeFromV(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/PageOrientType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/PageOrientType.java new file mode 100644 index 00000000..a3b6dad3 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/PageOrientType.java @@ -0,0 +1,12 @@ +package io.sc.platform.excel.univer.model; + +public enum PageOrientType { + PORTRAIT(0), + LANDSCAPE(1); + + private int value; + + PageOrientType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/PositionedObjectLayoutType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/PositionedObjectLayoutType.java new file mode 100644 index 00000000..7a023eb6 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/PositionedObjectLayoutType.java @@ -0,0 +1,17 @@ +package io.sc.platform.excel.univer.model; + +public enum PositionedObjectLayoutType {INLINE(0), + WRAP_NONE(1), + WRAP_POLYGON(2), + WRAP_SQUARE(3), + WRAP_THROUGH(4), + WRAP_TIGHT(5), + WRAP_TOP_AND_BOTTOM(6); + + private int value; + + PositionedObjectLayoutType(int value){ + this.value =value; + } + +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/RangeType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/RangeType.java new file mode 100644 index 00000000..86ed995b --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/RangeType.java @@ -0,0 +1,14 @@ +package io.sc.platform.excel.univer.model; + +public enum RangeType { + NORMAL(0), + ROW(1), + COLUMN(2), + ALL(3); + + private int value; + + RangeType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/SectionType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/SectionType.java new file mode 100644 index 00000000..da968f18 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/SectionType.java @@ -0,0 +1,15 @@ +package io.sc.platform.excel.univer.model; + +public enum SectionType { + SECTION_TYPE_UNSPECIFIED(0),// The section type is unspecified. + CONTINUOUS(1),// The section starts immediately after the last paragraph of the previous section. + NEXT_PAGE(2),// The section starts on the next page. + EVEN_PAGE(3),// The section starts on the next page. + ODD_PAGE(4); + + private int value; + + SectionType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/SpacingRule.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/SpacingRule.java new file mode 100644 index 00000000..097c2d09 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/SpacingRule.java @@ -0,0 +1,22 @@ +package io.sc.platform.excel.univer.model; + +public enum SpacingRule { + /** + * Specifies that the line spacing of the parent object shall be automatically determined by the size of its contents), with no predetermined minimum or maximum size. + */ + AUTO(0), + /** + * Specifies that the height of the line shall be at least the value specified), but might be expanded to fit its content as needed. + */ + AT_LEAST(1), + /** + * Specifies that the height of the line shall be exactly the value specified), regardless of the size of the contents of the contents. + */ + EXACT(2); + + private int value; + + SpacingRule(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TabStopAlignment.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TabStopAlignment.java new file mode 100644 index 00000000..09cf4d21 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TabStopAlignment.java @@ -0,0 +1,14 @@ +package io.sc.platform.excel.univer.model; + +public enum TabStopAlignment { + TAB_STOP_ALIGNMENT_UNSPECIFIED(0),// The tab stop alignment is unspecified. + START(1),// The tab stop is aligned to the start of the line. This is the default. + CENTER(2),// The tab stop is aligned to the center of the line. + END(3); + + private int value; + + TabStopAlignment(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableAlignmentType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableAlignmentType.java new file mode 100644 index 00000000..85928c69 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableAlignmentType.java @@ -0,0 +1,13 @@ +package io.sc.platform.excel.univer.model; + +public enum TableAlignmentType { + START(0), + CENTER(1), + END(2); + + private int value; + + TableAlignmentType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableLayoutType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableLayoutType.java new file mode 100644 index 00000000..de350dde --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableLayoutType.java @@ -0,0 +1,12 @@ +package io.sc.platform.excel.univer.model; + +public enum TableLayoutType { + AUTO_FIT(0), + FIXED(1); + + private int value; + + TableLayoutType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableRowHeightRule.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableRowHeightRule.java new file mode 100644 index 00000000..dbf3f687 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableRowHeightRule.java @@ -0,0 +1,13 @@ +package io.sc.platform.excel.univer.model; + +public enum TableRowHeightRule { + AUTO(0), + AT_LEAST(1), + EXACT(2); + + private int value; + + TableRowHeightRule(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableSizeType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableSizeType.java new file mode 100644 index 00000000..b419738d --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableSizeType.java @@ -0,0 +1,12 @@ +package io.sc.platform.excel.univer.model; + +public enum TableSizeType { + UNSPECIFIED(0), + SPECIFIED(1); + + private int value; + + TableSizeType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableTextWrapType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableTextWrapType.java new file mode 100644 index 00000000..a2609972 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TableTextWrapType.java @@ -0,0 +1,12 @@ +package io.sc.platform.excel.univer.model; + +public enum TableTextWrapType { + NONE(0), + WRAP(1); + + private int value; + + TableTextWrapType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TextDecoration.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TextDecoration.java new file mode 100644 index 00000000..3b94c913 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TextDecoration.java @@ -0,0 +1,28 @@ +package io.sc.platform.excel.univer.model; + +public enum TextDecoration { + DASH(0), + DASH_DOT_DOT_HEAVY(1), + DASH_DOT_HEAVY(2), + DASHED_HEAVY(3), + DASH_LONG(4), + DASH_LONG_HEAVY(5), + DOT_DASH(6), + DOT_DOT_DASH(7), + DOTTED(8), + DOTTED_HEAVY(9), + DOUBLE(10), + NONE(11), + SINGLE(12), + THICK(13), + WAVE(14), + WAVY_DOUBLE(15), + WAVY_HEAVY(16), + WORDS(17); + + private int value; + + TextDecoration(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TextDirection.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TextDirection.java new file mode 100644 index 00000000..3dc80831 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TextDirection.java @@ -0,0 +1,13 @@ +package io.sc.platform.excel.univer.model; + +public enum TextDirection { + UNSPECIFIED(0), + LEFT_TO_RIGHT(1), + RIGHT_TO_LEFT(2); + + private int value; + + TextDirection(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TextDirectionType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TextDirectionType.java new file mode 100644 index 00000000..bbfaf930 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/TextDirectionType.java @@ -0,0 +1,14 @@ +package io.sc.platform.excel.univer.model; + +public enum TextDirectionType { + NORMAL(0),// Horizontal + TBRL(1),// Vertical + LRTBV(2); + + private int value; + + TextDirectionType(int value){ + this.value =value; + } + +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ThemeColorType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ThemeColorType.java new file mode 100644 index 00000000..a644584d --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/ThemeColorType.java @@ -0,0 +1,31 @@ +package io.sc.platform.excel.univer.model; + +public enum ThemeColorType { + /** + * TEXT + */ + DARK1(0), + /** + * BACKGROUND + */ + LIGHT1(1), + DARK2(2), + LIGHT2(3), + ACCENT1(4), + ACCENT2(5), + ACCENT3(6), + ACCENT4(7), + ACCENT5(8), + ACCENT6(9), + /** + * LINK + */ + HYPERLINK(10), + FOLLOWED_HYPERLINK(11); + + private int value; + + ThemeColorType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/VerticalAlign.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/VerticalAlign.java new file mode 100644 index 00000000..205cd68a --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/VerticalAlign.java @@ -0,0 +1,14 @@ +package io.sc.platform.excel.univer.model; + +public enum VerticalAlign { + UNSPECIFIED(0), + TOP(1), // The text is explicitly aligned to the top of the cell. + MIDDLE(2), // The text is explicitly aligned to the middle of the cell. + BOTTOM(3); + + private int value; + + VerticalAlign(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/VerticalAlignmentType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/VerticalAlignmentType.java new file mode 100644 index 00000000..1ddc5171 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/VerticalAlignmentType.java @@ -0,0 +1,15 @@ +package io.sc.platform.excel.univer.model; + +public enum VerticalAlignmentType { + CONTENT_ALIGNMENT_UNSPECIFIED(0),// An unspecified content alignment. The content alignment is inherited from the parent if one exists. + BOTH(1), + TOP(2),// An alignment that aligns the content to the top of the content holder. Corresponds to ECMA-376 ST_TextAnchoringType 't'. + CENTER(3),// An alignment that aligns the content to the middle of the content holder. Corresponds to ECMA-376 ST_TextAnchoringType 'ctr'. + BOTTOM(4); + + private int value; + + VerticalAlignmentType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/WrapStrategy.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/WrapStrategy.java new file mode 100644 index 00000000..b24140a2 --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/WrapStrategy.java @@ -0,0 +1,32 @@ +package io.sc.platform.excel.univer.model; + +public enum WrapStrategy { + UNSPECIFIED(0), + /** + * Lines that are longer than the cell width will be written in the next cell over, so long as that cell is empty. If the next cell over is non-empty, this behaves the same as CLIP . The text will never wrap to the next line unless the user manually inserts a new line. Example: + * | First sentence. | + * | Manual newline that is very long. <- Text continues into next cell + * | Next newline. | + */ + OVERFLOW(1), + /** + * Lines that are longer than the cell width will be clipped. The text will never wrap to the next line unless the user manually inserts a new line. Example: + * | First sentence. | + * | Manual newline t| <- Text is clipped + * | Next newline. | + */ + CLIP(2), + /** + * Words that are longer than a line are wrapped at the character level rather than clipped. Example: + * | Cell has a | + * | loooooooooo| <- Word is broken. + * | ong word. | + */ + WRAP(3); + + private int value; + + WrapStrategy(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/WrapTextType.java b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/WrapTextType.java new file mode 100644 index 00000000..6978f3ec --- /dev/null +++ b/io.sc.platform.csv/src/main/java/io/sc/platform/excel/univer/model/WrapTextType.java @@ -0,0 +1,14 @@ +package io.sc.platform.excel.univer.model; + +public enum WrapTextType { + BOTH_SIDES(0), + LEFT(1), + RIGHT(2), + LARGEST(3); + + private int value; + + WrapTextType(int value){ + this.value =value; + } +} diff --git a/io.sc.platform.developer.doc/package.json b/io.sc.platform.developer.doc/package.json index e922a70c..1757da7e 100644 --- a/io.sc.platform.developer.doc/package.json +++ b/io.sc.platform.developer.doc/package.json @@ -28,7 +28,7 @@ "vuepress": "2.0.0-rc.15" }, "dependencies": { - "platform-core": "8.2.108", + "platform-core": "8.2.110", "quasar": "2.17.6", "vue": "3.5.13", "vue-i18n": "11.0.1" diff --git a/io.sc.platform.developer.frontend/package.json b/io.sc.platform.developer.frontend/package.json index fea02aba..7f31772b 100644 --- a/io.sc.platform.developer.frontend/package.json +++ b/io.sc.platform.developer.frontend/package.json @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.108", + "platform-core": "8.2.110", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.lcdp.frontend/package.json b/io.sc.platform.lcdp.frontend/package.json index 4469cf3e..3a677c62 100644 --- a/io.sc.platform.lcdp.frontend/package.json +++ b/io.sc.platform.lcdp.frontend/package.json @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.108", + "platform-core": "8.2.110", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.lcdp.frontend/src/components/index.ts b/io.sc.platform.lcdp.frontend/src/components/index.ts index 091a749d..2bf781c7 100644 --- a/io.sc.platform.lcdp.frontend/src/components/index.ts +++ b/io.sc.platform.lcdp.frontend/src/components/index.ts @@ -9,6 +9,7 @@ import component_lcdp_form_page from '@/views/form/Page.vue'; import component_lcdp_excel_report from '@/views/excelTemplate/ExcelReport.vue'; import component_lcdp_formConfig from '@/views/form/FormConfig.vue'; import component_lcdp_excel_template from '@/views/excelTemplate/TemplateGrid.vue'; +import component_lcdp_export_excel_template from '@/views/export/ExportTemplate.vue'; const localComponents = { 'component.lcdp.Frontend': component_lcdp_Frontend, @@ -18,6 +19,7 @@ const localComponents = { 'component.lcdp.excel.report': component_lcdp_excel_report, 'component.lcdp.formConfig': component_lcdp_formConfig, 'component.lcdp.excel.template': component_lcdp_excel_template, + 'component.lcdp.export.excel.template': component_lcdp_export_excel_template, }; export default localComponents; diff --git a/io.sc.platform.lcdp.frontend/src/i18n/messages.json b/io.sc.platform.lcdp.frontend/src/i18n/messages.json index 7e834f18..dff9320d 100644 --- a/io.sc.platform.lcdp.frontend/src/i18n/messages.json +++ b/io.sc.platform.lcdp.frontend/src/i18n/messages.json @@ -5,6 +5,7 @@ "menu.lcdp.bpm": "Bussiness Process Manager", "menu.lcdp.form": "Form", "menu.lcdp.excel.template": "Excel Template", + "menu.lcdp.export.excel.template": "Data Export Template(Excel)", "theme.action.setDefaultTheme": "Set As Default", "theme.action.setDefaultTheme.confirm": "Would you like to set \"{themeName}\" as default theme?", @@ -67,6 +68,8 @@ "theme.topper.actions.notifier.yes": "Notifier(enabled)", "theme.topper.actions.notifier.no": "Notifier(disabled)", "theme.topper.notifierInterval": "Notifier Interval", + "theme.topper.showDefaultRole.yes": "Show default role", + "theme.topper.showDefaultRole.no": "Not show default role", "theme.sider": "Sider", "theme.sider.position": "Position", diff --git a/io.sc.platform.lcdp.frontend/src/i18n/messages_tw_CN.json b/io.sc.platform.lcdp.frontend/src/i18n/messages_tw_CN.json index 625af512..7c33c833 100644 --- a/io.sc.platform.lcdp.frontend/src/i18n/messages_tw_CN.json +++ b/io.sc.platform.lcdp.frontend/src/i18n/messages_tw_CN.json @@ -5,6 +5,7 @@ "menu.lcdp.bpm": "流程管理", "menu.lcdp.form": "表单管理", "menu.lcdp.excel.template": "报表模板管理(Excel)", + "menu.lcdp.export.excel.template": "數據導出模版管理(Excel)", "theme.action.setDefaultTheme": "設置為默認主題", "theme.action.setDefaultTheme.confirm": "您確定要將 \"{themeName}\" 設置為默認主題嗎?", diff --git a/io.sc.platform.lcdp.frontend/src/i18n/messages_zh_CN.json b/io.sc.platform.lcdp.frontend/src/i18n/messages_zh_CN.json index 1e58d1ec..6e6a8362 100644 --- a/io.sc.platform.lcdp.frontend/src/i18n/messages_zh_CN.json +++ b/io.sc.platform.lcdp.frontend/src/i18n/messages_zh_CN.json @@ -5,6 +5,7 @@ "menu.lcdp.bpm": "流程管理", "menu.lcdp.form": "表单管理", "menu.lcdp.excel.template": "报表模板管理(Excel)", + "menu.lcdp.export.excel.template": "数据导出模版管理(Excel)", "theme.action.setDefaultTheme": "设置为默认主题", "theme.action.setDefaultTheme.confirm": "您确定要将 \"{themeName}\" 设置为默认主题吗?", diff --git a/io.sc.platform.lcdp.frontend/src/menus/menus.json b/io.sc.platform.lcdp.frontend/src/menus/menus.json index 206182bf..70a2a305 100644 --- a/io.sc.platform.lcdp.frontend/src/menus/menus.json +++ b/io.sc.platform.lcdp.frontend/src/menus/menus.json @@ -52,5 +52,7 @@ /* 低代码管理/表单管理*/ {"type":"ROUTE", "order":600, "parentId":"menu.lcdp", "id":"menu.lcdp.form", "titleI18nKey":"menu.lcdp.form", "icon":"widgets", "routeName":"route.lcdp.form"}, /* 低代码管理/报表模板管理(Excel)*/ - {"type":"ROUTE", "order":700, "parentId":"menu.lcdp", "id":"menu.lcdp.excel.template", "titleI18nKey":"menu.lcdp.excel.template", "icon":"view_list", "routeName":"route.lcdp.excel.template"} + {"type":"ROUTE", "order":700, "parentId":"menu.lcdp", "id":"menu.lcdp.excel.template", "titleI18nKey":"menu.lcdp.excel.template", "icon":"view_list", "routeName":"route.lcdp.excel.template"}, + /* 低代码管理/数据导出模板管理(Excel)*/ + {"type":"ROUTE", "order":800, "parentId":"menu.lcdp", "id":"menu.lcdp.export.excel.template", "titleI18nKey":"menu.lcdp.export.excel.template", "icon":"view_list", "routeName":"route.lcdp.export.excel.template"} ] diff --git a/io.sc.platform.lcdp.frontend/src/routes/routes.json b/io.sc.platform.lcdp.frontend/src/routes/routes.json index e89542c2..121cd632 100644 --- a/io.sc.platform.lcdp.frontend/src/routes/routes.json +++ b/io.sc.platform.lcdp.frontend/src/routes/routes.json @@ -82,5 +82,16 @@ "permissions": ["/example/**/*"] }, "children": [] + }, + { + "parent": "/", + "name": "route.lcdp.export.excel.template", + "path": "lcdp/export/excel/template", + "component": "component.lcdp.export.excel.template", + "componentPath": "@/views/export/ExportTemplate.vue", + "meta": { + "permissions": ["/example/**/*"] + }, + "children": [] } ] diff --git a/io.sc.platform.lcdp.frontend/src/views/export/ExportTemplate.vue b/io.sc.platform.lcdp.frontend/src/views/export/ExportTemplate.vue new file mode 100644 index 00000000..f34d0b74 --- /dev/null +++ b/io.sc.platform.lcdp.frontend/src/views/export/ExportTemplate.vue @@ -0,0 +1,58 @@ + + diff --git a/io.sc.platform.lcdp.frontend/src/views/export/UniverTemplate.vue b/io.sc.platform.lcdp.frontend/src/views/export/UniverTemplate.vue new file mode 100644 index 00000000..63e2ed2f --- /dev/null +++ b/io.sc.platform.lcdp.frontend/src/views/export/UniverTemplate.vue @@ -0,0 +1,154 @@ + + diff --git a/io.sc.platform.lcdp.frontend/src/views/theme/Topper.vue b/io.sc.platform.lcdp.frontend/src/views/theme/Topper.vue index 167a8198..1f7951ac 100644 --- a/io.sc.platform.lcdp.frontend/src/views/theme/Topper.vue +++ b/io.sc.platform.lcdp.frontend/src/views/theme/Topper.vue @@ -93,6 +93,16 @@ /> +
+
+ +
+
diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/api/Topper.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/api/Topper.java index 315b3698..7b8e8319 100644 --- a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/api/Topper.java +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/api/Topper.java @@ -14,6 +14,7 @@ public class Topper { private String titleColor ="white"; // 标题颜色 private Map actions =new HashMap<>(); // 顶部动作按钮 private long notifierInterval=5*60; // 顶部通知器轮询间隔(单位:秒) + private boolean showDefaultRole =true; // 是否显示用户默认角色 public Topper(){ this.actions.put("ai-chat",new TopperAction()); @@ -100,4 +101,12 @@ public class Topper { public void setNotifierInterval(long notifierInterval) { this.notifierInterval = notifierInterval; } + + public boolean isShowDefaultRole() { + return showDefaultRole; + } + + public void setShowDefaultRole(boolean showDefaultRole) { + this.showDefaultRole = showDefaultRole; + } } diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/controller/ExportExcelTemplateColumnController.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/controller/ExportExcelTemplateColumnController.java new file mode 100644 index 00000000..8b80dc47 --- /dev/null +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/controller/ExportExcelTemplateColumnController.java @@ -0,0 +1,15 @@ +package io.sc.platform.lcdp.excel.template.controller; + +import io.sc.platform.lcdp.excel.template.entity.ExportExcelTemplateColumnEntity; +import io.sc.platform.lcdp.excel.template.repository.ExportExcelTemplateColumnRepository; +import io.sc.platform.lcdp.excel.template.service.ExportExcelTemplateColumnService; +import io.sc.platform.lcdp.excel.template.vo.ExportExcelTemplateColumnVo; +import io.sc.platform.mvc.controller.support.RestCrudController; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api/exportexcel/column") +public class ExportExcelTemplateColumnController extends RestCrudController { + +} diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/controller/ExportExcelTemplateController.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/controller/ExportExcelTemplateController.java new file mode 100644 index 00000000..a76a7e14 --- /dev/null +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/controller/ExportExcelTemplateController.java @@ -0,0 +1,22 @@ +package io.sc.platform.lcdp.excel.template.controller; + +import io.sc.platform.core.response.ResponseWrapper; +import io.sc.platform.core.response.SuccessResponseWrapper; +import io.sc.platform.lcdp.excel.template.entity.ExcelTemplate; +import io.sc.platform.lcdp.excel.template.entity.ExportExcelTemplateEntity; +import io.sc.platform.lcdp.excel.template.repository.ExcelTemplateRepository; +import io.sc.platform.lcdp.excel.template.repository.ExportExcelTemplateRepository; +import io.sc.platform.lcdp.excel.template.service.ExcelTemplateService; +import io.sc.platform.lcdp.excel.template.service.ExportExcelTemplateService; +import io.sc.platform.lcdp.excel.template.vo.ExcelTemplateVo; +import io.sc.platform.lcdp.excel.template.vo.ExportExcelTemplateVo; +import io.sc.platform.mvc.controller.support.RestCrudController; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +@RestController +@RequestMapping("/api/exportexcel/template") +public class ExportExcelTemplateController extends RestCrudController { + +} diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/entity/ExportExcelTemplateColumnEntity.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/entity/ExportExcelTemplateColumnEntity.java new file mode 100644 index 00000000..d43dc502 --- /dev/null +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/entity/ExportExcelTemplateColumnEntity.java @@ -0,0 +1,136 @@ +package io.sc.platform.lcdp.excel.template.entity; + +import io.sc.platform.lcdp.excel.template.enums.DataType; +import io.sc.platform.lcdp.excel.template.vo.ExportExcelTemplateColumnVo; +import io.sc.platform.lcdp.excel.template.vo.ExportExcelTemplateVo; +import io.sc.platform.orm.entity.CorporationAuditorEntity; +import org.hibernate.annotations.GenericGenerator; + +import javax.persistence.*; +import javax.validation.constraints.Size; + +/** + * 导出 Excel 模版实体 + */ +@Entity +@Table(name="LCDP_EXPORT_TEMPLATE_COLUMN") +public class ExportExcelTemplateColumnEntity extends CorporationAuditorEntity { + @Id + @GeneratedValue(generator = "system-uuid") + @GenericGenerator(name = "system-uuid", strategy = "uuid2") + @Column(name="ID_", length=36) + @Size(max=36) + private String id; + + //字段代码 + @Column(name="CODE_",nullable=false,length=255) + @Size(min=1,max=255) + private String code; + + //字段名称 + @Column(name="NAME_", length=255) + @Size(min=1,max=255) + private String name; + + //字段描述 + @Column(name="DESCRIPTION_", length=255) + @Size(min=1,max=255) + private String description; + + //排序 + @Column(name="ORDER_") + private Integer order; + + //字段值类型 + @Column(name="VALUE_TYPE_", length=255) + private String valueType; + + //字段值公式 + @Column(name="VALUE_FORMULA") + private String valueFormula; + + //所属模版 + @ManyToOne(fetch=FetchType.LAZY) + @JoinColumn(name="TEMPLATE_ID_") + protected ExportExcelTemplateEntity template; + + @Override + public ExportExcelTemplateColumnVo toVo() { + ExportExcelTemplateColumnVo vo = new ExportExcelTemplateColumnVo(); + super.toVo(vo); + + vo.setId(this.getId()); + vo.setCode(this.getCode()); + vo.setName(this.getName()); + vo.setDescription(this.getDescription()); + vo.setOrder(this.getOrder()); + vo.setValueType(this.getValueType()); + vo.setValueFormula(this.getValueFormula()); + vo.setTemplate(this.getTemplate().getId()); + return vo; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Integer getOrder() { + return order; + } + + public void setOrder(Integer order) { + this.order = order; + } + + public String getValueType() { + return valueType; + } + + public void setValueType(String valueType) { + this.valueType = valueType; + } + + public String getValueFormula() { + return valueFormula; + } + + public void setValueFormula(String valueFormula) { + this.valueFormula = valueFormula; + } + + public ExportExcelTemplateEntity getTemplate() { + return template; + } + + public void setTemplate(ExportExcelTemplateEntity template) { + this.template = template; + } +} diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/entity/ExportExcelTemplateEntity.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/entity/ExportExcelTemplateEntity.java new file mode 100644 index 00000000..d8c4acc1 --- /dev/null +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/entity/ExportExcelTemplateEntity.java @@ -0,0 +1,129 @@ +package io.sc.platform.lcdp.excel.template.entity; + +import io.sc.platform.lcdp.excel.template.enums.DataType; +import io.sc.platform.lcdp.excel.template.vo.ExportExcelTemplateVo; +import io.sc.platform.orm.entity.CorporationAuditorEntity; +import org.hibernate.annotations.GenericGenerator; + +import javax.persistence.*; +import javax.validation.constraints.Size; +import java.util.ArrayList; +import java.util.List; + +/** + * 导出 Excel 模版实体 + */ +@Entity +@Table(name="LCDP_EXPORT_TEMPLATE") +public class ExportExcelTemplateEntity extends CorporationAuditorEntity { + @Id + @GeneratedValue(generator = "system-uuid") + @GenericGenerator(name = "system-uuid", strategy = "uuid2") + @Column(name="ID_", length=36) + @Size(max=36) + private String id; + + //模版代码 + @Column(name="CODE_",nullable=false,length=255) + @Size(min=1,max=255) + private String code; + + //模版名称 + @Column(name="NAME_", length=255) + @Size(min=1,max=255) + private String name; + + //模版描述 + @Column(name="DESCRIPTION_", length=255) + @Size(min=1,max=255) + private String description; + + //数据类型 + @Column(name="DATA_TYPE_",insertable=false,updatable=false) + @Enumerated(EnumType.STRING) + private DataType dataType; + + //JPA 实体类名 + @Column(name="DATA_JPA_ENTITY_CLASS_") + private String jpaEntityClass; + + //模版配置(univer) + @Column(name="UNIVER_CONFIG_") + private String univerConfig; + + //包含的字段 + @OneToMany(mappedBy="template",cascade= {CascadeType.PERSIST}) + @OrderBy("order") + protected List columns =new ArrayList(); + + @Override + public ExportExcelTemplateVo toVo() { + ExportExcelTemplateVo vo = new ExportExcelTemplateVo(); + super.toVo(vo); + + vo.setId(this.getId()); + vo.setCode(this.getCode()); + vo.setName(this.getName()); + vo.setDescription(this.getDescription()); + vo.setDataType(this.getDataType()); + vo.setJpaEntityClass(this.getJpaEntityClass()); + vo.setUniverConfig(this.getUniverConfig()); + return vo; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public DataType getDataType() { + return dataType; + } + + public void setDataType(DataType dataType) { + this.dataType = dataType; + } + + public String getJpaEntityClass() { + return jpaEntityClass; + } + + public void setJpaEntityClass(String jpaEntityClass) { + this.jpaEntityClass = jpaEntityClass; + } + + public String getUniverConfig() { + return univerConfig; + } + + public void setUniverConfig(String univerConfig) { + this.univerConfig = univerConfig; + } +} diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/enums/DataType.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/enums/DataType.java new file mode 100644 index 00000000..6fbad3eb --- /dev/null +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/enums/DataType.java @@ -0,0 +1,9 @@ +package io.sc.platform.lcdp.excel.template.enums; + +/** + * 导出数据类型 + */ +public enum DataType { + JPA_ENTITY, // JPA 实体 + SQL_RESULT_SET; // SQL 记录集 +} diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/repository/ExportExcelTemplateColumnRepository.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/repository/ExportExcelTemplateColumnRepository.java new file mode 100644 index 00000000..75f6d134 --- /dev/null +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/repository/ExportExcelTemplateColumnRepository.java @@ -0,0 +1,7 @@ +package io.sc.platform.lcdp.excel.template.repository; + +import io.sc.platform.lcdp.excel.template.entity.ExportExcelTemplateColumnEntity; +import io.sc.platform.orm.repository.DaoRepository; + +public interface ExportExcelTemplateColumnRepository extends DaoRepository { +} diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/repository/ExportExcelTemplateRepository.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/repository/ExportExcelTemplateRepository.java new file mode 100644 index 00000000..7e754552 --- /dev/null +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/repository/ExportExcelTemplateRepository.java @@ -0,0 +1,8 @@ +package io.sc.platform.lcdp.excel.template.repository; + +import io.sc.platform.lcdp.excel.template.entity.ExcelTemplate; +import io.sc.platform.lcdp.excel.template.entity.ExportExcelTemplateEntity; +import io.sc.platform.orm.repository.DaoRepository; + +public interface ExportExcelTemplateRepository extends DaoRepository { +} diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/ExportExcelTemplateColumnService.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/ExportExcelTemplateColumnService.java new file mode 100644 index 00000000..1eb0f94a --- /dev/null +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/ExportExcelTemplateColumnService.java @@ -0,0 +1,9 @@ +package io.sc.platform.lcdp.excel.template.service; + +import io.sc.platform.lcdp.excel.template.entity.ExportExcelTemplateColumnEntity; +import io.sc.platform.lcdp.excel.template.repository.ExportExcelTemplateColumnRepository; +import io.sc.platform.orm.service.DaoService; + +public interface ExportExcelTemplateColumnService extends DaoService { + +} diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/ExportExcelTemplateService.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/ExportExcelTemplateService.java new file mode 100644 index 00000000..b763d5c8 --- /dev/null +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/ExportExcelTemplateService.java @@ -0,0 +1,13 @@ +package io.sc.platform.lcdp.excel.template.service; + +import io.sc.platform.lcdp.excel.template.entity.ExcelTemplate; +import io.sc.platform.lcdp.excel.template.entity.ExportExcelTemplateEntity; +import io.sc.platform.lcdp.excel.template.repository.ExcelTemplateRepository; +import io.sc.platform.lcdp.excel.template.repository.ExportExcelTemplateRepository; +import io.sc.platform.orm.service.DaoService; + +import java.util.Map; + +public interface ExportExcelTemplateService extends DaoService { + +} diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/impl/ExportExcelTemplateColumnServiceImpl.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/impl/ExportExcelTemplateColumnServiceImpl.java new file mode 100644 index 00000000..3be005f3 --- /dev/null +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/impl/ExportExcelTemplateColumnServiceImpl.java @@ -0,0 +1,12 @@ +package io.sc.platform.lcdp.excel.template.service.impl; + +import io.sc.platform.lcdp.excel.template.entity.ExportExcelTemplateColumnEntity; +import io.sc.platform.lcdp.excel.template.repository.ExportExcelTemplateColumnRepository; +import io.sc.platform.lcdp.excel.template.service.ExportExcelTemplateColumnService; +import io.sc.platform.orm.service.impl.DaoServiceImpl; +import org.springframework.stereotype.Service; + +@Service("io.sc.platform.lcdp.excel.template.service.impl.ExportExcelTemplateColumnServiceImpl") +public class ExportExcelTemplateColumnServiceImpl extends DaoServiceImpl implements ExportExcelTemplateColumnService { + +} diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/impl/ExportExcelTemplateServiceImpl.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/impl/ExportExcelTemplateServiceImpl.java new file mode 100644 index 00000000..cfa2f0a2 --- /dev/null +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/service/impl/ExportExcelTemplateServiceImpl.java @@ -0,0 +1,24 @@ +package io.sc.platform.lcdp.excel.template.service.impl; + +import com.fasterxml.jackson.databind.ObjectMapper; +import io.sc.platform.lcdp.excel.template.entity.ExcelParams; +import io.sc.platform.lcdp.excel.template.entity.ExcelTemplate; +import io.sc.platform.lcdp.excel.template.entity.ExportExcelTemplateEntity; +import io.sc.platform.lcdp.excel.template.repository.ExcelParamsRepository; +import io.sc.platform.lcdp.excel.template.repository.ExcelTemplateRepository; +import io.sc.platform.lcdp.excel.template.repository.ExportExcelTemplateRepository; +import io.sc.platform.lcdp.excel.template.service.ExcelTemplateService; +import io.sc.platform.lcdp.excel.template.service.ExportExcelTemplateService; +import io.sc.platform.orm.service.impl.DaoServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +@Service("io.sc.platform.lcdp.excel.template.service.impl.ExportExcelTemplateServiceImpl") +public class ExportExcelTemplateServiceImpl extends DaoServiceImpl implements ExportExcelTemplateService { + +} diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/vo/ExportExcelTemplateColumnVo.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/vo/ExportExcelTemplateColumnVo.java new file mode 100644 index 00000000..5ff07a40 --- /dev/null +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/vo/ExportExcelTemplateColumnVo.java @@ -0,0 +1,82 @@ +package io.sc.platform.lcdp.excel.template.vo; + +import io.sc.platform.lcdp.excel.template.enums.DataType; +import io.sc.platform.orm.api.vo.CorporationAuditorVo; + +/** + * 导出 Excel 模版 Vo + */ +public class ExportExcelTemplateColumnVo extends CorporationAuditorVo { + private String id; + private String code;//模版代码 + private String name;//模版名称 + private String description;//模版描述 + private Integer order;//排序 + private String valueType;//值类型 + private String valueFormula;//值公式 + private String template;//模版ID + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Integer getOrder() { + return order; + } + + public void setOrder(Integer order) { + this.order = order; + } + + public String getValueType() { + return valueType; + } + + public void setValueType(String valueType) { + this.valueType = valueType; + } + + public String getValueFormula() { + return valueFormula; + } + + public void setValueFormula(String valueFormula) { + this.valueFormula = valueFormula; + } + + public String getTemplate() { + return template; + } + + public void setTemplate(String template) { + this.template = template; + } +} diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/vo/ExportExcelTemplateVo.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/vo/ExportExcelTemplateVo.java new file mode 100644 index 00000000..2b7d0dc1 --- /dev/null +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/excel/template/vo/ExportExcelTemplateVo.java @@ -0,0 +1,77 @@ +package io.sc.platform.lcdp.excel.template.vo; + +import io.sc.platform.lcdp.excel.template.enums.DataType; +import io.sc.platform.orm.api.vo.CorporationAuditorVo; +import org.hibernate.annotations.GenericGenerator; + +import javax.persistence.*; +import javax.validation.constraints.Size; + +/** + * 导出 Excel 模版 Vo + */ +public class ExportExcelTemplateVo extends CorporationAuditorVo { + private String id; + private String code;//模版代码 + private String name;//模版名称 + private String description;//模版描述 + private DataType dataType;//数据类型 + private String jpaEntityClass;//JPA 实体类名 + private String univerConfig;//模版配置(univer) + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public DataType getDataType() { + return dataType; + } + + public void setDataType(DataType dataType) { + this.dataType = dataType; + } + + public String getJpaEntityClass() { + return jpaEntityClass; + } + + public void setJpaEntityClass(String jpaEntityClass) { + this.jpaEntityClass = jpaEntityClass; + } + + public String getUniverConfig() { + return univerConfig; + } + + public void setUniverConfig(String univerConfig) { + this.univerConfig = univerConfig; + } +} diff --git a/io.sc.platform.lcdp/src/main/resources/META-INF/platform/plugins/liquibase.json b/io.sc.platform.lcdp/src/main/resources/META-INF/platform/plugins/liquibase.json index 7b53399b..cb00253e 100644 --- a/io.sc.platform.lcdp/src/main/resources/META-INF/platform/plugins/liquibase.json +++ b/io.sc.platform.lcdp/src/main/resources/META-INF/platform/plugins/liquibase.json @@ -6,7 +6,8 @@ "locations":[ "classpath:/liquibase/io.sc.platform.lcdp_8.0.0_20220606__LowCode_Developer_Database_Schema_DDL.xml", "classpath:/liquibase/io.sc.platform.lcdp_Form_DDL.xml", - "classpath:/liquibase/io.sc.platform.lcdp_Excel_Template_DDL.xml" + "classpath:/liquibase/io.sc.platform.lcdp_Excel_Template_DDL.xml", + "classpath:/liquibase/io.sc.platform.lcdp_Export_Excel_Template_DDL.xml" ] } ] \ No newline at end of file diff --git a/io.sc.platform.lcdp/src/main/resources/liquibase/io.sc.platform.lcdp_Export_Excel_Template_DDL.xml b/io.sc.platform.lcdp/src/main/resources/liquibase/io.sc.platform.lcdp_Export_Excel_Template_DDL.xml new file mode 100644 index 00000000..96e50f9d --- /dev/null +++ b/io.sc.platform.lcdp/src/main/resources/liquibase/io.sc.platform.lcdp_Export_Excel_Template_DDL.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/io.sc.platform.license.keygen.frontend/package.json b/io.sc.platform.license.keygen.frontend/package.json index c535b2b0..60e56847 100644 --- a/io.sc.platform.license.keygen.frontend/package.json +++ b/io.sc.platform.license.keygen.frontend/package.json @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.108", + "platform-core": "8.2.110", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.mvc.frontend/package.json b/io.sc.platform.mvc.frontend/package.json index 29b973e0..a125773f 100644 --- a/io.sc.platform.mvc.frontend/package.json +++ b/io.sc.platform.mvc.frontend/package.json @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.108", + "platform-core": "8.2.110", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Contains.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Contains.java index e1e22c3c..4d2ffc6e 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Contains.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Contains.java @@ -16,7 +16,7 @@ public class Contains extends Criteria { @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ - throw new IllegalArgumentException("[" + operator + "] need a [value] value"); + return null; } Path path =null; try { @@ -37,7 +37,7 @@ public class Contains extends Criteria { @Override public Condition getCondition(Map> typeMapping) { if(!StringUtils.hasText(value)){ - throw new IllegalArgumentException("[" + operator + "] need a [value] value"); + return new Condition(); } String where =StringUtil.format("${0} like '%${1}%'",fieldName,StringUtil.escapeSqlSpecialChar(value)); Condition condition =new Condition(); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EndWith.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EndWith.java index c19199b3..20ebb456 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EndWith.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EndWith.java @@ -16,7 +16,7 @@ public class EndWith extends Criteria { @Override public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ - throw new IllegalArgumentException("[" + operator + "] need a [value] value"); + return null; } Path path =null; try { @@ -37,7 +37,7 @@ public class EndWith extends Criteria { @Override public Condition getCondition(Map> typeMapping) { if(!StringUtils.hasText(value)){ - throw new IllegalArgumentException("[" + operator + "] need a [value] value"); + return new Condition(); } String where = StringUtil.format("${0} like '%${1}'",fieldName,StringUtil.escapeSqlSpecialChar(value)); Condition condition =new Condition(); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Equals.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Equals.java index 458c16d4..e27b5c75 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Equals.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Equals.java @@ -16,7 +16,7 @@ public class Equals extends Criteria { @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ - throw new IllegalArgumentException("[" + operator + "] need a [value] value"); + return null; } PathInformation pi =getPathInformation(root); if(pi==null) { return null; } @@ -52,7 +52,7 @@ public class Equals extends Criteria { @Override public Condition getCondition(Map> typeMapping) { if(!StringUtils.hasText(value)){ - throw new IllegalArgumentException("[" + operator + "] need a [value] value"); + return new Condition(); } Object pValue =value; Class clazz =typeMapping.get(fieldName); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEquals.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEquals.java index a4619f9d..b156a062 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEquals.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEquals.java @@ -18,7 +18,7 @@ public class GreaterOrEquals extends Criteria { @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ - throw new IllegalArgumentException("[" + operator + "] need a [value] value"); + return null; } Path path =null; try { @@ -39,7 +39,7 @@ public class GreaterOrEquals extends Criteria { @Override public Condition getCondition(Map> typeMapping) { if(!StringUtils.hasText(value)){ - throw new IllegalArgumentException("[" + operator + "] need a [value] value"); + return new Condition(); } Object pValue =value; Class clazz =typeMapping.get(fieldName); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThan.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThan.java index f91920bb..537863cc 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThan.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThan.java @@ -17,7 +17,7 @@ public class GreaterThan extends Criteria { @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ - throw new IllegalArgumentException("[" + operator + "] need a [value] value"); + return null; } Path path =null; try { @@ -38,7 +38,7 @@ public class GreaterThan extends Criteria { @Override public Condition getCondition(Map> typeMapping) { if(!StringUtils.hasText(value)){ - throw new IllegalArgumentException("[" + operator + "] need a [value] value"); + return new Condition(); } Object pValue =value; Class clazz =typeMapping.get(fieldName); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/InSet.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/InSet.java index bea6348a..0bc13cd5 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/InSet.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/InSet.java @@ -4,12 +4,11 @@ import io.sc.platform.jdbc.sql.condition.Condition; import io.sc.platform.orm.service.support.OperatorTypeNotSupportedException; import io.sc.platform.orm.service.support.criteria.Criteria; import io.sc.platform.orm.service.support.criteria.PathInformation; +import io.sc.platform.util.StringUtil; import org.springframework.util.StringUtils; import javax.persistence.criteria.*; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.*; public class InSet extends Criteria { protected String[] value; @@ -18,7 +17,7 @@ public class InSet extends Criteria { @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(value==null || value.length<=0){ - throw new IllegalArgumentException("[" + operator + "] need a [start] or [end] value"); + return null; } PathInformation pi =getPathInformation(root); if(pi==null) { return null; } @@ -53,7 +52,27 @@ public class InSet extends Criteria { @Override public Condition getCondition(Map> typeMapping) { - throw new OperatorTypeNotSupportedException(); + if(value==null || value.length<=0){ + return new Condition(); + } + + List list =new ArrayList<>(); + Class clazz =typeMapping.get(fieldName); + if(clazz!=null) { + for(String v : value){ + list.add(conversionService.convert(v, clazz)); + } + } + if(list.isEmpty()){ + return new Condition(); + } + + String name =":" + fieldName + "InSet"; + String where = StringUtil.format("${0} in (${1})",fieldName,name); + Condition condition =new Condition(); + condition.setWhere(where); + condition.getParameters().put(name.substring(1),list); + return condition; } private Object[] convert(Class clazz){ diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessOrEquals.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessOrEquals.java index b97bfdb4..b4ce3138 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessOrEquals.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessOrEquals.java @@ -18,7 +18,7 @@ public class LessOrEquals extends Criteria { @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ - throw new IllegalArgumentException("[" + operator + "] need a [value] value"); + return null; } Path path =null; try { @@ -39,7 +39,7 @@ public class LessOrEquals extends Criteria { @Override public Condition getCondition(Map> typeMapping) { if(!StringUtils.hasText(value)){ - throw new IllegalArgumentException("[" + operator + "] need a [value] value"); + return new Condition(); } Object pValue =value; Class clazz =typeMapping.get(fieldName); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessThan.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessThan.java index a2ceead8..be4264d8 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessThan.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessThan.java @@ -18,7 +18,7 @@ public class LessThan extends Criteria { @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ - throw new IllegalArgumentException("[" + operator + "] need a [value] value"); + return null; } Path path =null; try { @@ -39,7 +39,7 @@ public class LessThan extends Criteria { @Override public Condition getCondition(Map> typeMapping) { if(!StringUtils.hasText(value)){ - throw new IllegalArgumentException("[" + operator + "] need a [value] value"); + return new Condition(); } Object pValue =value; Class clazz =typeMapping.get(fieldName); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotContains.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotContains.java index 559c6f48..6429406e 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotContains.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotContains.java @@ -3,6 +3,7 @@ package io.sc.platform.orm.service.support.criteria.impl; import io.sc.platform.jdbc.sql.condition.Condition; import io.sc.platform.orm.service.support.OperatorTypeNotSupportedException; import io.sc.platform.orm.service.support.criteria.Criteria; +import io.sc.platform.util.StringUtil; import org.springframework.core.convert.ConversionService; import org.springframework.util.StringUtils; @@ -16,7 +17,7 @@ public class NotContains extends Criteria { @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ - throw new IllegalArgumentException("[" + operator + "] need a [value] value"); + return null; } Path path =null; try { @@ -36,7 +37,13 @@ public class NotContains extends Criteria { @Override public Condition getCondition(Map> typeMapping) { - throw new OperatorTypeNotSupportedException(); + if(!StringUtils.hasText(value)){ + return new Condition(); + } + String where = StringUtil.format("${0} not like '%${1}%'",fieldName,StringUtil.escapeSqlSpecialChar(value)); + Condition condition =new Condition(); + condition.setWhere(where); + return condition; } public String getValue() { diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEndWith.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEndWith.java index 428e7ec1..fc1c6181 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEndWith.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEndWith.java @@ -3,6 +3,7 @@ package io.sc.platform.orm.service.support.criteria.impl; import io.sc.platform.jdbc.sql.condition.Condition; import io.sc.platform.orm.service.support.OperatorTypeNotSupportedException; import io.sc.platform.orm.service.support.criteria.Criteria; +import io.sc.platform.util.StringUtil; import org.springframework.core.convert.ConversionService; import org.springframework.util.StringUtils; @@ -16,7 +17,7 @@ public class NotEndWith extends Criteria { @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ - throw new IllegalArgumentException("[" + operator + "] need a [value] value"); + return null; } Path path =null; try { @@ -36,7 +37,13 @@ public class NotEndWith extends Criteria { @Override public Condition getCondition(Map> typeMapping) { - throw new OperatorTypeNotSupportedException(); + if(!StringUtils.hasText(value)){ + return new Condition(); + } + String where = StringUtil.format("${0} not like '%${1}'",fieldName,StringUtil.escapeSqlSpecialChar(value)); + Condition condition =new Condition(); + condition.setWhere(where); + return condition; } public String getValue() { diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEquals.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEquals.java index 6af82e4f..48246a01 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEquals.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEquals.java @@ -3,6 +3,7 @@ package io.sc.platform.orm.service.support.criteria.impl; import io.sc.platform.jdbc.sql.condition.Condition; import io.sc.platform.orm.service.support.OperatorTypeNotSupportedException; import io.sc.platform.orm.service.support.criteria.Criteria; +import io.sc.platform.util.StringUtil; import org.springframework.core.convert.ConversionService; import org.springframework.util.StringUtils; @@ -16,7 +17,7 @@ public class NotEquals extends Criteria { @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ - throw new IllegalArgumentException("[" + operator + "] need a [value] value"); + return null; } Path path =null; try { @@ -36,7 +37,20 @@ public class NotEquals extends Criteria { @Override public Condition getCondition(Map> typeMapping) { - throw new OperatorTypeNotSupportedException(); + if(!StringUtils.hasText(value)){ + return new Condition(); + } + Object pValue =value; + Class clazz =typeMapping.get(fieldName); + if(clazz!=null) { + pValue = conversionService.convert(value, clazz); + } + String name =":" + fieldName; + String where = StringUtil.format("${0} <> ${1}",fieldName,name); + Condition condition =new Condition(); + condition.setWhere(where); + condition.getParameters().put(name.substring(1),pValue); + return condition; } public String getValue() { diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotInSet.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotInSet.java index 9ad03110..d3d4bdf0 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotInSet.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotInSet.java @@ -3,9 +3,13 @@ package io.sc.platform.orm.service.support.criteria.impl; import io.sc.platform.jdbc.sql.condition.Condition; import io.sc.platform.orm.service.support.OperatorTypeNotSupportedException; import io.sc.platform.orm.service.support.criteria.Criteria; +import io.sc.platform.util.StringUtil; import org.springframework.core.convert.ConversionService; +import org.springframework.util.StringUtils; import javax.persistence.criteria.*; +import java.util.ArrayList; +import java.util.List; import java.util.Map; public class NotInSet extends Criteria { @@ -15,7 +19,7 @@ public class NotInSet extends Criteria { @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(value==null || value.length<=0){ - throw new IllegalArgumentException("[" + operator + "] need a [start] or [end] value"); + return null; } Path path =null; try { @@ -30,7 +34,27 @@ public class NotInSet extends Criteria { @Override public Condition getCondition(Map> typeMapping) { - throw new OperatorTypeNotSupportedException(); + if(value==null || value.length<=0){ + return new Condition(); + } + + List list =new ArrayList<>(); + Class clazz =typeMapping.get(fieldName); + if(clazz!=null) { + for(String v : value){ + list.add(conversionService.convert(v, clazz)); + } + } + if(list.isEmpty()){ + return new Condition(); + } + + String name =":" + fieldName + "InSet"; + String where = StringUtil.format("${0} not in (${1})",fieldName,name); + Condition condition =new Condition(); + condition.setWhere(where); + condition.getParameters().put(name.substring(1),list); + return condition; } public String[] getValue() { diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotStartWith.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotStartWith.java index 38c198d1..df9a9f40 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotStartWith.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotStartWith.java @@ -3,6 +3,7 @@ package io.sc.platform.orm.service.support.criteria.impl; import io.sc.platform.jdbc.sql.condition.Condition; import io.sc.platform.orm.service.support.OperatorTypeNotSupportedException; import io.sc.platform.orm.service.support.criteria.Criteria; +import io.sc.platform.util.StringUtil; import org.springframework.core.convert.ConversionService; import org.springframework.util.StringUtils; @@ -16,7 +17,7 @@ public class NotStartWith extends Criteria { @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ - throw new IllegalArgumentException("[" + operator + "] need a [value] value"); + return null; } Path path =null; try { @@ -36,7 +37,13 @@ public class NotStartWith extends Criteria { @Override public Condition getCondition(Map> typeMapping) { - throw new OperatorTypeNotSupportedException(); + if(!StringUtils.hasText(value)){ + return new Condition(); + } + String where = StringUtil.format("${0} not like '${1}%'",fieldName,StringUtil.escapeSqlSpecialChar(value)); + Condition condition =new Condition(); + condition.setWhere(where); + return condition; } public String getValue() { diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/StartWith.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/StartWith.java index b6133875..1ae57f7b 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/StartWith.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/StartWith.java @@ -17,7 +17,7 @@ public class StartWith extends Criteria { @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { if(!StringUtils.hasText(value)){ - throw new IllegalArgumentException("[" + operator + "] need a [value] value"); + return null; } Path path =null; try { @@ -38,7 +38,7 @@ public class StartWith extends Criteria { @Override public Condition getCondition(Map> typeMapping) { if(!StringUtils.hasText(value)){ - throw new IllegalArgumentException("[" + operator + "] need a [value] value"); + return new Condition(); } String where = StringUtil.format("${0} like '${1}%'",fieldName,StringUtil.escapeSqlSpecialChar(value)); Condition condition =new Condition(); diff --git a/io.sc.platform.poi/src/main/java/io/sc/platform/poi/generator/UniverExcelGenerator.java b/io.sc.platform.poi/src/main/java/io/sc/platform/poi/generator/UniverExcelGenerator.java new file mode 100644 index 00000000..eebe91d4 --- /dev/null +++ b/io.sc.platform.poi/src/main/java/io/sc/platform/poi/generator/UniverExcelGenerator.java @@ -0,0 +1,68 @@ +package io.sc.platform.poi.generator; + +import io.sc.platform.excel.univer.model.*; +import io.sc.platform.util.FileUtil; +import io.sc.platform.util.ObjectMapperUtil; +import io.sc.platform.util.TypeConvertor; +import org.apache.poi.xssf.usermodel.XSSFCell; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; + +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.nio.file.Path; +import java.util.Map; + +public class UniverExcelGenerator { + public void generate(String outputFilePath, IWorkbookData workBookConfig) throws IOException { + if(workBookConfig==null) { + return; + } + try( + FileOutputStream outputStream =new FileOutputStream(outputFilePath); + XSSFWorkbook workbook = new XSSFWorkbook(); + ){ + for(Map.Entry sheetConfigEntry : workBookConfig.getSheets().entrySet()){ + String sheetName =sheetConfigEntry.getKey(); + IWorksheetData sheetConfig =sheetConfigEntry.getValue(); + XSSFSheet sheet = workbook.createSheet(sheetConfig.getName()); + + for(Map.Entry> rowConfigEntry : sheetConfig.getCellData().entrySet()){ + Integer rowNum =rowConfigEntry.getKey(); + XSSFRow row =sheet.createRow(rowNum); + for(Map.Entry cellConfigEntry : rowConfigEntry.getValue().entrySet()){ + Integer colNum =cellConfigEntry.getKey(); + XSSFCell cell =row.createCell(colNum); + ICellData cellConfig =cellConfigEntry.getValue(); + CellValueType cellValueType =cellConfig.getT(); + Object cellValue =cellConfig.getV(); + if(cellValue!=null){ + switch (cellValueType){ + case NUMBER: + cell.setCellValue(TypeConvertor.getValue(cellValue,Double.class)); + break; + default: + cell.setCellValue(cellValue.toString()); + } + } + System.out.println(cellConfig.getF()); + } + } + } + workbook.write(outputStream); + } + } + + public static void main(String[] args) throws Exception { + FileInputStream inputStream =new FileInputStream("/Users/wangshaoping/wspsc/workspace/wangshaoping/v8/platform/io.sc.platform.poi/src/main/resources/a.txt"); + String content = FileUtil.readString(inputStream); + content =content.replace("undefined","null"); + + IWorkbookData workbookConfig = ObjectMapperUtil.json().readValue(content,IWorkbookData.class); + + UniverExcelGenerator generator =new UniverExcelGenerator(); + generator.generate("/Users/wangshaoping/Desktop/test/a.xlsx",workbookConfig); + } +} diff --git a/io.sc.platform.scheduler.manager.frontend/package.json b/io.sc.platform.scheduler.manager.frontend/package.json index 8ccc347e..412520c2 100644 --- a/io.sc.platform.scheduler.manager.frontend/package.json +++ b/io.sc.platform.scheduler.manager.frontend/package.json @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.108", + "platform-core": "8.2.110", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.security.loginform/build.gradle b/io.sc.platform.security.loginform/build.gradle index 07ab6330..6224ebb6 100644 --- a/io.sc.platform.security.loginform/build.gradle +++ b/io.sc.platform.security.loginform/build.gradle @@ -1,5 +1,6 @@ dependencies { api( project(":io.sc.platform.security"), + project(":io.sc.platform.lcdp"), ) } diff --git a/io.sc.platform.security.loginform/src/main/java/io/sc/platform/security/loginform/controller/LoginWebController.java b/io.sc.platform.security.loginform/src/main/java/io/sc/platform/security/loginform/controller/LoginWebController.java index f2b9e298..e02a635b 100644 --- a/io.sc.platform.security.loginform/src/main/java/io/sc/platform/security/loginform/controller/LoginWebController.java +++ b/io.sc.platform.security.loginform/src/main/java/io/sc/platform/security/loginform/controller/LoginWebController.java @@ -1,5 +1,7 @@ package io.sc.platform.security.loginform.controller; +import io.sc.platform.lcdp.configure.api.Configure; +import io.sc.platform.lcdp.configure.service.ConfigureService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.core.io.DefaultResourceLoader; @@ -11,6 +13,8 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import java.security.Principal; +import java.util.HashMap; +import java.util.Map; @Controller("io.sc.platform.security.loginform.controller.LoginWebController") public class LoginWebController { @@ -18,6 +22,7 @@ public class LoginWebController { private static final String DEFAULT_LOGIN_TEMPLATE ="io/sc/platform/security/loginform/view/login.html"; private static final String DEFAULT_LOGIN_ERROR_TEMPLATE ="io/sc/platform/security/loginform/view/login.html"; @Autowired ConfigurableEnvironment env; + @Autowired ConfigureService configureService; @RequestMapping(value="/login",method=RequestMethod.GET) public ModelAndView loginByPage(HttpServletRequest request, Principal principal) throws Exception{ @@ -26,7 +31,7 @@ public class LoginWebController { } String loginPagetemplate =getLoginPageTemplate(); ModelAndView mv =new ModelAndView(loginPagetemplate); - mv.addObject("loginProcessingUrl",env.getProperty("spring.security.formLogin.loginProcessingUrl")); + mv.addAllObjects(getModelData()); return mv; } @@ -37,7 +42,7 @@ public class LoginWebController { } String loginPagetemplate =getLoginPageTemplate(); ModelAndView mv =new ModelAndView(loginPagetemplate); - mv.addObject("loginProcessingUrl",env.getProperty("spring.security.formLogin.loginProcessingUrl")); + mv.addAllObjects(getModelData()); mv.addObject("error",true); return mv; } @@ -61,4 +66,13 @@ public class LoginWebController { } return loginPagetemplate; } + + private Map getModelData() { + Map result =new HashMap<>(); + + Configure configure =configureService.getActiveConfigure(); + result.put("loginProcessingUrl",env.getProperty("spring.security.formLogin.loginProcessingUrl")); + result.put("theme",configure.getTheme()); + return result; + } } diff --git a/io.sc.platform.security.loginform/src/main/resources/templates/io/sc/platform/security/loginform/view/login.html b/io.sc.platform.security.loginform/src/main/resources/templates/io/sc/platform/security/loginform/view/login.html index 6793fd37..a6fc9214 100644 --- a/io.sc.platform.security.loginform/src/main/resources/templates/io/sc/platform/security/loginform/view/login.html +++ b/io.sc.platform.security.loginform/src/main/resources/templates/io/sc/platform/security/loginform/view/login.html @@ -57,11 +57,11 @@ -