Browse Source

update

main
wangshaoping 8 months ago
parent
commit
89db259e75
  1. 10
      app.platform/build.gradle
  2. 7
      erm.api/src/main/java/erm/api/enums/EconomicCapitalCalMethod.java
  3. 215
      erm.api/src/main/java/erm/economiccapital/api/ResultRwaVo.java
  4. 61
      erm.api/src/main/java/erm/economiccapital/api/SchemaVo.java
  5. 7
      erm.api/src/main/resources/erm/api/i18n/enums.properties
  6. 7
      erm.api/src/main/resources/erm/api/i18n/enums_tw_CN.properties
  7. 7
      erm.api/src/main/resources/erm/api/i18n/enums_zh_CN.properties
  8. 2
      erm.frontend/.npmrc
  9. 226
      erm.frontend/package.json
  10. 4
      erm.frontend/src/components/index.ts
  11. 3
      erm.frontend/src/i18n/messages.json
  12. 3
      erm.frontend/src/i18n/messages_tw_CN.json
  13. 5
      erm.frontend/src/i18n/messages_zh_CN.json
  14. 7
      erm.frontend/src/menus/menus.json
  15. 31
      erm.frontend/src/routes/routes.json
  16. 4
      erm.frontend/src/views/economicCapital/Result.vue
  17. 75
      erm.frontend/src/views/economicCapital/Schema.vue
  18. 340
      erm/src/main/java/erm/economiccapital/jpa/entity/ResultRwaEntity.java
  19. 112
      erm/src/main/java/erm/economiccapital/jpa/entity/SchemaEntity.java
  20. 4
      erm/src/main/resources/META-INF/platform/plugins/liquibase.json
  21. 85
      erm/src/main/resources/liquibase/economiccapital/erm.capitalpan_1.0.0_20221020__ERM Economic Capital Schema DDL.xml
  22. 4
      gradle.properties
  23. 2
      io.sc.engine.mv.frontend/.npmrc
  24. 2
      io.sc.engine.mv.frontend/package.json
  25. 6
      io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgDataExtractorWebController.java
  26. 2
      io.sc.engine.rule.frontend/.npmrc
  27. 2
      io.sc.engine.rule.frontend/package.json
  28. 2
      io.sc.engine.st.frontend/.npmrc
  29. 2
      io.sc.engine.st.frontend/package.json
  30. 2
      io.sc.platform.core.frontend/.npmrc
  31. 2
      io.sc.platform.core.frontend/package.json
  32. 2
      io.sc.platform.core.frontend/template-project/.npmrc
  33. 4
      io.sc.platform.core.frontend/template-project/package.json
  34. 3
      io.sc.platform.core.frontend/template-project/src/views/testcase/math/MathEditor.vue
  35. 1
      io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties
  36. 1
      io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties
  37. 1
      io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties
  38. 3
      io.sc.platform.developer.doc/asciidoc/9999-appendix/appendix.adoc
  39. 4
      io.sc.platform.developer.doc/asciidoc/9999-appendix/docker-install/docker-install.adoc
  40. 47
      io.sc.platform.developer.doc/asciidoc/9999-appendix/docker-install/ubuntu/ubuntu.adoc
  41. 16
      io.sc.platform.developer.doc/asciidoc/9999-appendix/linux/linux.adoc
  42. 27
      io.sc.platform.developer.doc/asciidoc/9999-appendix/linux/tools/tools.adoc
  43. 21
      io.sc.platform.developer.doc/asciidoc/9999-appendix/linux/ubuntu/ubuntu.adoc
  44. 2
      io.sc.platform.developer.frontend/.npmrc
  45. 2
      io.sc.platform.developer.frontend/package.json
  46. 8
      io.sc.platform.developer.frontend/src/views/backend/ExportLiquibase.vue
  47. 12
      io.sc.platform.gradle/templates/pgp/app/build.gradle
  48. 4
      io.sc.platform.gradle/templates/pgp/setup/gradle.properties
  49. 2
      io.sc.platform.jdbc.driver.oracle/build.gradle
  50. 35
      io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/LiquibaseDataCsvExporter.java
  51. 2
      io.sc.platform.lcdp.frontend/.npmrc
  52. 2
      io.sc.platform.lcdp.frontend/package.json
  53. 12
      io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/service/impl/ConfigureServiceImpl.java
  54. 2
      io.sc.platform.mvc.frontend/.npmrc
  55. 2
      io.sc.platform.mvc.frontend/package.json
  56. 2
      io.sc.platform.poi/build.gradle
  57. 2
      io.sc.platform.security.frontend/package.json
  58. 2
      io.sc.platform.system.frontend/.npmrc
  59. 2
      io.sc.platform.system.frontend/package.json
  60. 2
      io.sc.platform.system.frontend/src/views/menu/Menu.vue
  61. 2
      io.sc.standard.frontend/.npmrc
  62. 2
      io.sc.standard.frontend/package.json

10
app.platform/build.gradle

@ -30,11 +30,11 @@ dependencies {
// project(":io.sc.engine.rule.server"),
// project(":io.sc.engine.rule.sample"),
//
// project(":io.sc.engine.st"),
// project(":io.sc.engine.st.frontend"),
//
// project(":erm"),
// project(":erm.frontend"),
project(":io.sc.engine.st"),
project(":io.sc.engine.st.frontend"),
project(":erm"),
project(":erm.frontend"),
project(":io.sc.standard"),
)

7
erm.api/src/main/java/erm/api/enums/EconomicCapitalCalMethod.java

@ -0,0 +1,7 @@
package erm.api.enums;
public enum EconomicCapitalCalMethod {
WEIGHT_ADJUST, // 系数调整法
IRS, // 内评法
ADVANCED; // 高级法
}

215
erm.api/src/main/java/erm/economiccapital/api/ResultRwaVo.java

@ -0,0 +1,215 @@
package erm.economiccapital.api;
import erm.api.enums.EconomicCapitalCalMethod;
import io.sc.platform.orm.api.vo.BaseVo;
import io.sc.platform.orm.api.vo.CorporationAuditorVo;
public class ResultRwaVo extends BaseVo {
private String id;
private String debtId;
private String custId;
private String custName;
private String orgName;
private String busCategory;
private String prodName;
private String stripline;
private Double assetEquity;
private Double ccf;
private String eadBigType;
private String eadSmallType;
private Double ead;
private Double uncoverageEad;
private Double rwa;
private Double rwaMitigation;
private Double weightIrs;
private Double weightArea;
private Double weightIndustry;
private Double weightProd;
private Double weightTerm;
private Double ecRwa;
private Double ecRwaAdjusted;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getDebtId() {
return debtId;
}
public void setDebtId(String debtId) {
this.debtId = debtId;
}
public String getCustId() {
return custId;
}
public void setCustId(String custId) {
this.custId = custId;
}
public String getCustName() {
return custName;
}
public void setCustName(String custName) {
this.custName = custName;
}
public String getOrgName() {
return orgName;
}
public void setOrgName(String orgName) {
this.orgName = orgName;
}
public String getBusCategory() {
return busCategory;
}
public void setBusCategory(String busCategory) {
this.busCategory = busCategory;
}
public String getProdName() {
return prodName;
}
public void setProdName(String prodName) {
this.prodName = prodName;
}
public String getStripline() {
return stripline;
}
public void setStripline(String stripline) {
this.stripline = stripline;
}
public Double getAssetEquity() {
return assetEquity;
}
public void setAssetEquity(Double assetEquity) {
this.assetEquity = assetEquity;
}
public Double getCcf() {
return ccf;
}
public void setCcf(Double ccf) {
this.ccf = ccf;
}
public String getEadBigType() {
return eadBigType;
}
public void setEadBigType(String eadBigType) {
this.eadBigType = eadBigType;
}
public String getEadSmallType() {
return eadSmallType;
}
public void setEadSmallType(String eadSmallType) {
this.eadSmallType = eadSmallType;
}
public Double getEad() {
return ead;
}
public void setEad(Double ead) {
this.ead = ead;
}
public Double getUncoverageEad() {
return uncoverageEad;
}
public void setUncoverageEad(Double uncoverageEad) {
this.uncoverageEad = uncoverageEad;
}
public Double getRwa() {
return rwa;
}
public void setRwa(Double rwa) {
this.rwa = rwa;
}
public Double getRwaMitigation() {
return rwaMitigation;
}
public void setRwaMitigation(Double rwaMitigation) {
this.rwaMitigation = rwaMitigation;
}
public Double getWeightIrs() {
return weightIrs;
}
public void setWeightIrs(Double weightIrs) {
this.weightIrs = weightIrs;
}
public Double getWeightArea() {
return weightArea;
}
public void setWeightArea(Double weightArea) {
this.weightArea = weightArea;
}
public Double getWeightIndustry() {
return weightIndustry;
}
public void setWeightIndustry(Double weightIndustry) {
this.weightIndustry = weightIndustry;
}
public Double getWeightProd() {
return weightProd;
}
public void setWeightProd(Double weightProd) {
this.weightProd = weightProd;
}
public Double getWeightTerm() {
return weightTerm;
}
public void setWeightTerm(Double weightTerm) {
this.weightTerm = weightTerm;
}
public Double getEcRwa() {
return ecRwa;
}
public void setEcRwa(Double ecRwa) {
this.ecRwa = ecRwa;
}
public Double getEcRwaAdjusted() {
return ecRwaAdjusted;
}
public void setEcRwaAdjusted(Double ecRwaAdjusted) {
this.ecRwaAdjusted = ecRwaAdjusted;
}
}

61
erm.api/src/main/java/erm/economiccapital/api/SchemaVo.java

@ -0,0 +1,61 @@
package erm.economiccapital.api;
import erm.api.enums.EconomicCapitalCalMethod;
import io.sc.platform.orm.api.vo.CorporationAuditorVo;
public class SchemaVo extends CorporationAuditorVo {
private String id;
private String code;
private String name;
private String description;
private Boolean enable;
private EconomicCapitalCalMethod calMethod;
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 Boolean getEnable() {
return enable;
}
public void setEnable(Boolean enable) {
this.enable = enable;
}
public EconomicCapitalCalMethod getCalMethod() {
return calMethod;
}
public void setCalMethod(EconomicCapitalCalMethod calMethod) {
this.calMethod = calMethod;
}
}

7
erm.api/src/main/resources/erm/api/i18n/enums.properties

@ -7,4 +7,9 @@ erm.api.enums.RiskPolicy.EXPANSION=Expansion
# \u5229\u76CA\u76F8\u5173\u65B9
erm.api.enums.StakeHolder.SHAREHOLDER=Shareholder
erm.api.enums.StakeHolder.SUPERVISION=Supervision
erm.api.enums.StakeHolder.SUPERVISION=Supervision
# \u7ECF\u6D4E\u8D44\u672C\u8BA1\u7B97\u65B9\u6CD5
erm.api.enums.EconomicCapitalCalMethod.WEIGHT_ADJUST=Weight Adjust
erm.api.enums.EconomicCapitalCalMethod.IRS=IRS
erm.api.enums.EconomicCapitalCalMethod.ADVANCED=Advanced

7
erm.api/src/main/resources/erm/api/i18n/enums_tw_CN.properties

@ -7,4 +7,9 @@ erm.api.enums.RiskPolicy.EXPANSION=\u64F4\u5F35
# \u5229\u76CA\u76F8\u5173\u65B9
erm.api.enums.StakeHolder.SHAREHOLDER=\u80A1\u6771
erm.api.enums.StakeHolder.SUPERVISION=\u76E3\u7BA1
erm.api.enums.StakeHolder.SUPERVISION=\u76E3\u7BA1
# \u7ECF\u6D4E\u8D44\u672C\u8BA1\u7B97\u65B9\u6CD5
erm.api.enums.EconomicCapitalCalMethod.WEIGHT_ADJUST=\u4FC2\u6578\u8ABF\u6574\u6CD5
erm.api.enums.EconomicCapitalCalMethod.IRS=\u5167\u8A55\u6CD5
erm.api.enums.EconomicCapitalCalMethod.ADVANCED=\u9AD8\u7D1A\u6CD5

7
erm.api/src/main/resources/erm/api/i18n/enums_zh_CN.properties

@ -7,4 +7,9 @@ erm.api.enums.RiskPolicy.EXPANSION=\u6269\u5F20
# \u5229\u76CA\u76F8\u5173\u65B9
erm.api.enums.StakeHolder.SHAREHOLDER=\u80A1\u4E1C
erm.api.enums.StakeHolder.SUPERVISION=\u76D1\u7BA1
erm.api.enums.StakeHolder.SUPERVISION=\u76D1\u7BA1
# \u7ECF\u6D4E\u8D44\u672C\u8BA1\u7B97\u65B9\u6CD5
erm.api.enums.EconomicCapitalCalMethod.WEIGHT_ADJUST=\u7CFB\u6570\u8C03\u6574\u6CD5
erm.api.enums.EconomicCapitalCalMethod.IRS=\u5185\u8BC4\u6CD5
erm.api.enums.EconomicCapitalCalMethod.ADVANCED=\u9AD8\u7EA7\u6CD5

2
erm.frontend/.npmrc

@ -8,4 +8,4 @@ email=
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.193db44c-7ca5-3cb6-a990-d24b93fb0d10
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

226
erm.frontend/package.json

@ -1,114 +1,116 @@
{
"name": "erm.frontend",
"version": "8.1.44",
"description": "",
"private": false,
"keywords": [],
"author": "",
"license": "ISC",
"scripts": {
"dev": "nodemon",
"serve": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack serve --config webpack.env.serve.cjs",
"build": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack --config webpack.env.build.cjs",
"prod": "node ./util-components-generator.cjs && cross-env NODE_ENV=production webpack --config webpack.env.prod.cjs",
"sync": "platform sync",
"clean": "rm -rf ./node_modules && rm -rf pnpm-lock.yaml"
},
"engines": {
"node": ">=18",
"pnpm": ">=7"
},
"publishConfig": {
"registry": "http://nexus.sc.io:8000/repository/npm-releases/",
"access": "public"
},
"devDependencies": {
"@babel/core": "7.24.4",
"@babel/preset-env": "7.24.4",
"@babel/preset-typescript": "7.24.1",
"@babel/plugin-transform-class-properties": "7.24.1",
"@babel/plugin-transform-object-rest-spread": "7.24.1",
"@quasar/app-webpack": "3.12.5",
"@quasar/cli": "2.4.0",
"@types/mockjs": "1.0.10",
"@types/node": "20.12.7",
"@typescript-eslint/eslint-plugin": "7.7.1",
"@typescript-eslint/parser": "7.7.1",
"@vue/compiler-sfc": "3.4.24",
"@webpack-cli/serve": "2.0.5",
"autoprefixer": "10.4.19",
"babel-loader": "9.1.3",
"clean-webpack-plugin": "4.0.0",
"copy-webpack-plugin": "12.0.2",
"cross-env": "7.0.3",
"css-loader": "7.1.1",
"eslint": "8.56.0",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.1.3",
"eslint-plugin-vue": "9.25.0",
"eslint-webpack-plugin": "4.1.0",
"html-webpack-plugin": "5.6.0",
"json5": "2.2.3",
"mini-css-extract-plugin": "2.9.0",
"nodemon": "3.1.0",
"postcss": "8.4.38",
"postcss-import": "16.1.0",
"postcss-loader": "8.1.1",
"postcss-preset-env": "9.5.9",
"prettier": "3.2.5",
"sass": "1.75.0",
"sass-loader": "14.2.1",
"typescript": "5.4.5",
"vue-loader": "17.4.2",
"webpack": "5.91.0",
"webpack-bundle-analyzer": "4.10.2",
"webpack-cli": "5.1.4",
"webpack-dev-server": "5.0.4",
"webpack-merge": "5.10.0",
"@vue/babel-plugin-jsx": "1.2.2"
},
"dependencies": {
"@codemirror/autocomplete": "6.16.0",
"@codemirror/commands": "6.5.0",
"@codemirror/lang-html": "6.4.9",
"@codemirror/lang-java": "6.0.1",
"@codemirror/lang-javascript": "6.2.2",
"@codemirror/lang-json": "6.0.1",
"@codemirror/lang-sql": "6.6.3",
"@codemirror/lang-xml": "6.1.0",
"@codemirror/language": "6.10.1",
"@codemirror/search": "6.5.6",
"@codemirror/state": "6.4.1",
"@codemirror/view": "6.26.3",
"@maxgraph/core": "0.10.0",
"@quasar/extras": "1.16.11",
"@vueuse/core": "10.9.0",
"axios": "1.6.8",
"codemirror": "6.0.1",
"dayjs": "1.11.10",
"echarts": "5.5.0",
"exceljs": "4.4.0",
"file-saver": "2.0.5",
"luckyexcel": "1.0.1",
"mockjs": "1.1.0",
"pinia": "2.1.7",
"platform-core": "8.1.229",
"quasar": "2.15.3",
"tailwindcss": "3.4.3",
"vue": "3.4.24",
"vue-dompurify-html": "5.0.1",
"vue-i18n": "9.13.1",
"vue-router": "4.3.2",
"@univerjs/core": "0.1.13",
"@univerjs/design": "0.1.13",
"@univerjs/docs": "0.1.13",
"@univerjs/docs-ui": "0.1.13",
"@univerjs/engine-formula": "0.1.13",
"@univerjs/engine-render": "0.1.13",
"@univerjs/facade": "0.1.13",
"@univerjs/sheets": "0.1.13",
"@univerjs/sheets-formula": "0.1.13",
"@univerjs/sheets-ui": "0.1.13",
"@univerjs/ui": "0.1.13"
}
"name": "erm.frontend",
"version": "8.1.44",
"description": "",
"private": false,
"keywords": [
],
"author": "",
"license": "ISC",
"scripts": {
"dev": "nodemon",
"serve": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack serve --config webpack.env.serve.cjs",
"build": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack --config webpack.env.build.cjs",
"prod": "node ./util-components-generator.cjs && cross-env NODE_ENV=production webpack --config webpack.env.prod.cjs",
"sync": "platform sync",
"clean": "rm -rf ./node_modules && rm -rf pnpm-lock.yaml"
},
"engines": {
"node": ">=18",
"pnpm": ">=7"
},
"publishConfig": {
"registry": "http://nexus.sc.io:8000/repository/npm-releases/",
"access": "public"
},
"devDependencies": {
"@babel/core": "7.24.4",
"@babel/preset-env": "7.24.4",
"@babel/preset-typescript": "7.24.1",
"@babel/plugin-transform-class-properties": "7.24.1",
"@babel/plugin-transform-object-rest-spread": "7.24.1",
"@quasar/app-webpack": "3.12.5",
"@quasar/cli": "2.4.0",
"@types/mockjs": "1.0.10",
"@types/node": "20.12.7",
"@typescript-eslint/eslint-plugin": "7.7.1",
"@typescript-eslint/parser": "7.7.1",
"@vue/compiler-sfc": "3.4.24",
"@webpack-cli/serve": "2.0.5",
"autoprefixer": "10.4.19",
"babel-loader": "9.1.3",
"clean-webpack-plugin": "4.0.0",
"copy-webpack-plugin": "12.0.2",
"cross-env": "7.0.3",
"css-loader": "7.1.1",
"eslint": "8.56.0",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.1.3",
"eslint-plugin-vue": "9.25.0",
"eslint-webpack-plugin": "4.1.0",
"html-webpack-plugin": "5.6.0",
"json5": "2.2.3",
"mini-css-extract-plugin": "2.9.0",
"nodemon": "3.1.0",
"postcss": "8.4.38",
"postcss-import": "16.1.0",
"postcss-loader": "8.1.1",
"postcss-preset-env": "9.5.9",
"prettier": "3.2.5",
"sass": "1.75.0",
"sass-loader": "14.2.1",
"typescript": "5.4.5",
"vue-loader": "17.4.2",
"webpack": "5.91.0",
"webpack-bundle-analyzer": "4.10.2",
"webpack-cli": "5.1.4",
"webpack-dev-server": "5.0.4",
"webpack-merge": "5.10.0",
"@vue/babel-plugin-jsx": "1.2.2"
},
"dependencies": {
"@codemirror/autocomplete": "6.16.0",
"@codemirror/commands": "6.5.0",
"@codemirror/lang-html": "6.4.9",
"@codemirror/lang-java": "6.0.1",
"@codemirror/lang-javascript": "6.2.2",
"@codemirror/lang-json": "6.0.1",
"@codemirror/lang-sql": "6.6.3",
"@codemirror/lang-xml": "6.1.0",
"@codemirror/language": "6.10.1",
"@codemirror/search": "6.5.6",
"@codemirror/state": "6.4.1",
"@codemirror/view": "6.26.3",
"@maxgraph/core": "0.10.0",
"@quasar/extras": "1.16.11",
"@vueuse/core": "10.9.0",
"axios": "1.6.8",
"codemirror": "6.0.1",
"dayjs": "1.11.10",
"echarts": "5.5.0",
"exceljs": "4.4.0",
"file-saver": "2.0.5",
"luckyexcel": "1.0.1",
"mockjs": "1.1.0",
"pinia": "2.1.7",
"platform-core": "8.1.231",
"quasar": "2.15.3",
"tailwindcss": "3.4.3",
"vue": "3.4.24",
"vue-dompurify-html": "5.0.1",
"vue-i18n": "9.13.1",
"vue-router": "4.3.2",
"@univerjs/core": "0.1.13",
"@univerjs/design": "0.1.13",
"@univerjs/docs": "0.1.13",
"@univerjs/docs-ui": "0.1.13",
"@univerjs/engine-formula": "0.1.13",
"@univerjs/engine-render": "0.1.13",
"@univerjs/facade": "0.1.13",
"@univerjs/sheets": "0.1.13",
"@univerjs/sheets-formula": "0.1.13",
"@univerjs/sheets-ui": "0.1.13",
"@univerjs/ui": "0.1.13"
}
}

4
erm.frontend/src/components/index.ts

@ -29,6 +29,8 @@ import component_erm_assessment_managementResult from '@/views/assessment/Manage
import component_erm_assessment_selfEvaluation from '@/views/assessment/SelfEvaluation.vue';
import component_erm_assessment_reEvaluation from '@/views/assessment/ReEvaluation.vue';
import component_erm_assessment_additional from '@/views/assessment/Additional.vue';
import component_erm_economicCapital_schema from '@/views/economicCapital/Schema.vue';
import component_erm_economicCapital_result from '@/views/economicCapital/Result.vue';
import component_erm_capitalPlan_strategicTarget from '@/views/capitalPlan/StrategicTarget.vue';
import component_erm_capitalPlan_parameter from '@/views/capitalPlan/Parameter.vue';
import component_erm_capitalPlan_result from '@/views/capitalPlan/Result.vue';
@ -68,6 +70,8 @@ const localComponents = {
'component.erm.assessment.selfEvaluation': component_erm_assessment_selfEvaluation,
'component.erm.assessment.reEvaluation': component_erm_assessment_reEvaluation,
'component.erm.assessment.additional': component_erm_assessment_additional,
'component.erm.economicCapital.schema': component_erm_economicCapital_schema,
'component.erm.economicCapital.result': component_erm_economicCapital_result,
'component.erm.capitalPlan.strategicTarget': component_erm_capitalPlan_strategicTarget,
'component.erm.capitalPlan.parameter': component_erm_capitalPlan_parameter,
'component.erm.capitalPlan.result': component_erm_capitalPlan_result,

3
erm.frontend/src/i18n/messages.json

@ -34,6 +34,9 @@
"menu.erm.assessment.selfEvaluation" : "Management Self Evaluation",
"menu.erm.assessment.reEvaluation" : "Management Re Evaluation",
"menu.erm.assessment.additional" : "Capital Additional",
"menu.erm.economicCapital": "Economic Capital",
"menu.erm.economicCapital.schema": "Schema",
"menu.erm.economicCapital.result": "Result",
"menu.erm.capitalPlan" : "Capital Plan",
"menu.erm.capitalPlan.strategicTarget" : "Strategic Objectives",
"menu.erm.capitalPlan.parameter" : "Parameter",

3
erm.frontend/src/i18n/messages_tw_CN.json

@ -34,6 +34,9 @@
"menu.erm.assessment.selfEvaluation" : "管理能力自評估",
"menu.erm.assessment.reEvaluation" : "管理能力復評估",
"menu.erm.assessment.additional" : "資本附加結果",
"menu.erm.economicCapital": "經濟資本",
"menu.erm.economicCapital.schema": "計算方案",
"menu.erm.economicCapital.result": "計算結果",
"menu.erm.capitalPlan" : "資本規劃",
"menu.erm.capitalPlan.strategicTarget" : "戰略目標",
"menu.erm.capitalPlan.parameter" : "參數管理",

5
erm.frontend/src/i18n/messages_zh_CN.json

@ -34,6 +34,9 @@
"menu.erm.assessment.selfEvaluation" : "管理能力自评估",
"menu.erm.assessment.reEvaluation" : "管理能力复评估",
"menu.erm.assessment.additional" : "资本附加结果",
"menu.erm.economicCapital": "经济资本",
"menu.erm.economicCapital.schema": "计算方案",
"menu.erm.economicCapital.result": "计算结果",
"menu.erm.capitalPlan" : "资本规划",
"menu.erm.capitalPlan.strategicTarget": "战略目标",
"menu.erm.capitalPlan.parameter" : "参数管理",
@ -139,6 +142,8 @@
"erm.appetite.spread.coreIndicator.grid.entity.referenceValue": "参考值(定量传导)",
"erm.appetite.spread.coreIndicator.grid.entity.lastYearValue": "上年度指标值",
"erm.capitalPlan.strategicTarget.grid.title": "战略目标",
"erm.capitalPlan.strategicTarget.grid.entity.t": "T 年",
"erm.capitalPlan.strategicTarget.grid.entity.t1": "T+1 年",

7
erm.frontend/src/menus/menus.json

@ -95,6 +95,13 @@
/*//*/
{"type":"ROUTE", "order":300, "parentId":"menu.erm.assessment", "id":"menu.erm.assessment.additional", "titleI18nKey":"menu.erm.assessment.additional", "icon":"bi-briefcase", "routeName":"route.erm.assessment.additional"},
/*/*/
{"type":"GROUP", "order":550, "parentId":"menu.erm", "id":"menu.erm.economicCapital", "titleI18nKey":"menu.erm.economicCapital", "icon":"bi-textarea"},
/*//*/
{"type":"ROUTE", "order":50, "parentId":"menu.erm.economicCapital", "id":"menu.erm.economicCapital.schema", "titleI18nKey":"menu.erm.economicCapital.schema", "icon":"bi-gear", "routeName":"route.erm.economicCapital.schema"},
/*//*/
{"type":"ROUTE", "order":100, "parentId":"menu.erm.economicCapital", "id":"menu.erm.economicCapital.result", "titleI18nKey":"menu.erm.economicCapital.result", "icon":"bi-gear", "routeName":"route.erm.economicCapital.result"},
/*/*/
{"type":"GROUP", "order":600, "parentId":"menu.erm", "id":"menu.erm.capitalPlan", "titleI18nKey":"menu.erm.capitalPlan", "icon":"bi-textarea"},
/*//*/

31
erm.frontend/src/routes/routes.json

@ -404,6 +404,37 @@
]
}
},
{
"name": "route.erm.economicCapital.schema",
"path": "erm/economicCapital/schema",
"parent": "/",
"priority": 0,
"module": "erm.frontend",
"component": "component.erm.economicCapital.schema",
"componentPath": "@/views/economicCapital/Schema.vue",
"redirect": null,
"meta": {
"permissions": [
"/erm/economicCapital/**/*"
]
}
},
{
"name": "route.erm.economicCapital.result",
"path": "erm/economicCapital/result",
"parent": "/",
"priority": 0,
"module": "erm.frontend",
"component": "component.erm.economicCapital.result",
"componentPath": "@/views/economicCapital/Result.vue",
"redirect": null,
"meta": {
"permissions": [
"/erm/economicCapital/**/*"
]
}
},
{
"name": "route.erm.capitalPlan.strategicTarget",
"path": "erm/capitalPlan/strategicTarget",

4
erm.frontend/src/views/economicCapital/Result.vue

@ -0,0 +1,4 @@
<template>
<div></div>
</template>
<script setup lang="ts"></script>

75
erm.frontend/src/views/economicCapital/Schema.vue

@ -0,0 +1,75 @@
<template>
<div style="height: 100%">
<w-grid
ref="gridRef"
:title="$t('erm.capitalPlan.strategicTarget.grid.title')"
:config-button="true"
selection="multiple"
:checkbox-selection="true"
dense-body
:data-url="Environment.apiContextPath('/api/erm/economiccapital/schema')"
:pageable="false"
:sort-by="['order']"
:query-form-cols-num="3"
:query-form-fields="[]"
:toolbar-configure="{ noIcon: false }"
:toolbar-actions="['query', 'refresh', 'separator', 'add', 'clone', 'edit', 'remove', 'separator', 'view', 'separator', 'export']"
:columns="[
{ width: 60, name: 'order', label: $t('order') },
{ width: 100, name: 'category', label: $t('category') },
{ width: 150, name: 'code', label: $t('code') },
{ width: '100%', name: 'name', label: $t('name') },
{ width: 100, name: 'lastModifier', label: $t('lastModifier') },
{ width: 110, name: 'lastModifyDate', label: $t('lastModifyDate'), format: Formater.dateOnly() },
]"
:editor="{
dialog: {
width: '600px',
},
form: {
colsNum: 1,
fields: [
{ name: 'order', label: $t('order'), type: 'number' },
{ name: 'category', label: $t('category'), type: 'text' },
{ name: 'code', label: $t('code'), type: 'text', required: true },
{ name: 'name', label: $t('name'), type: 'text', required: true },
{ name: 't', label: $t('erm.capitalPlan.strategicTarget.grid.entity.t'), type: 'number', precision: 3 },
{ name: 't1', label: $t('erm.capitalPlan.strategicTarget.grid.entity.t1'), type: 'number', precision: 3 },
{ name: 't2', label: $t('erm.capitalPlan.strategicTarget.grid.entity.t2'), type: 'number', precision: 3 },
{ name: 't3', label: $t('erm.capitalPlan.strategicTarget.grid.entity.t3'), type: 'number', precision: 3 },
],
},
}"
:viewer="{
panel: {
columnNum: 1,
fields: [
{ name: 'id', label: $t('id') },
{ name: 'code', label: $t('code') },
{ name: 'name', label: $t('name') },
{ name: 'category', label: $t('category') },
{ name: 't', label: $t('erm.capitalPlan.strategicTarget.grid.entity.t'), format: Formater.thousands() },
{ name: 't1', label: $t('erm.capitalPlan.strategicTarget.grid.entity.t1'), format: Formater.thousands() },
{ name: 't2', label: $t('erm.capitalPlan.strategicTarget.grid.entity.t2'), format: Formater.thousands() },
{ name: 't3', label: $t('erm.capitalPlan.strategicTarget.grid.entity.t3'), format: Formater.thousands() },
{ name: 'dataComeFrom', label: $t('dataComeFrom') },
{ name: 'creator', label: $t('creator') },
{ name: 'createDate', label: $t('createDate') },
{ name: 'lastModifier', label: $t('lastModifier') },
{ name: 'lastModifyDate', label: $t('lastModifyDate'), format: Formater.none() },
{ name: 'corporationCode', label: $t('corporationCode') },
],
},
}"
@row-click="(evt, row, index) => {}"
@before-request-data="() => {}"
>
</w-grid>
</div>
</template>
<script setup lang="ts">
import { ref } from 'vue';
import { Environment, Formater } from 'platform-core';
const gridRef = ref();
</script>

340
erm/src/main/java/erm/economiccapital/jpa/entity/ResultRwaEntity.java

@ -0,0 +1,340 @@
package erm.economiccapital.jpa.entity;
import erm.api.enums.EconomicCapitalCalMethod;
import erm.economiccapital.api.ResultRwaVo;
import erm.economiccapital.api.SchemaVo;
import io.sc.platform.orm.converter.NumericBooleanConverter;
import io.sc.platform.orm.entity.BaseEntity;
import io.sc.platform.orm.entity.CorporationAuditorEntity;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import javax.validation.constraints.Size;
@Entity(name="erm.economiccapital.jpa.entity.ResultRwaEntity")
@Table(name="RP_EC_RESULT_RWA")
public class ResultRwaEntity extends BaseEntity<ResultRwaVo> {
//ID,主键
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid2")
@Column(name="ID_", length=36)
@Size(max=36)
private String id;
//债项ID
@Column(name="DEBT_ID_",length=255)
@Size(min=1,max=255)
private String debtId;
//客户ID
@Column(name="CUST_ID_",length=255)
@Size(min=1,max=255)
private String custId;
//客户名称
@Column(name="CUST_NAME_",length=255)
@Size(min=1,max=255)
private String custName;
//机构名称
@Column(name="ORG_NAME_",length=255)
@Size(min=1,max=255)
private String orgName;
//业务品种
@Column(name="BUS_CATEGORY_",length=255)
@Size(min=1,max=255)
private String busCategory;
//产品名称
@Column(name="PROD_NAME_",length=255)
@Size(min=1,max=255)
private String prodName;
//条线
@Column(name="STRIPLINE_",length=255)
@Size(min=1,max=255)
private String stripline;
//资产净额
@Column(name="ASSET_EQUITY_")
private Double assetEquity;
//CCF
@Column(name="CCF_")
private Double ccf;
//风险暴露大类
@Column(name="EAD_BIG_TYPE_",length=255)
@Size(min=1,max=255)
private String eadBigType;
//风险暴露小类
@Column(name="EAD_SMALL_TYPE_",length=255)
@Size(min=1,max=255)
private String eadSmallType;
//EAD
@Column(name="EAD_")
private Double ead;
//权重法未覆盖EAD
@Column(name="UNCOVERAGE_EAD_")
private Double uncoverageEad;
//RWA
@Column(name="RWA_")
private Double rwa;
//经济资本再缓释后RWA
@Column(name="RWA_MITIGATION_")
private Double rwaMitigation;
//评级调整系数
@Column(name="WEIGHT_IRS_")
private Double weightIrs;
//区域调整系数
@Column(name="WEIGHT_AREA_")
private Double weightArea;
//行业调整系数
@Column(name="WEIGHT_INDUSTRY_")
private Double weightIndustry;
//产品调整系数
@Column(name="WEIGHT_PROD_")
private Double weightProd;
//期限调整系数
@Column(name="WEIGHT_TERM_")
private Double weightTerm;
//经济资本RWA
@Column(name="EC_RWA_")
private Double ecRwa;
//调整后经济资本RWA
@Column(name="EC_RWA_ADJUSTED")
private Double ecRwaAdjusted;
@Override
public ResultRwaVo toVo() {
ResultRwaVo vo =new ResultRwaVo();
super.toVo(vo);
vo.setId(this.getId());
vo.setDebtId(this.getDebtId());
vo.setCustId(this.getCustId());
vo.setCustName(this.getCustName());
vo.setOrgName(this.getOrgName());
vo.setBusCategory(this.getBusCategory());
vo.setProdName(this.getProdName());
vo.setStripline(this.getStripline());
vo.setAssetEquity(this.getAssetEquity());
vo.setCcf(this.getCcf());
vo.setEadBigType(this.getEadBigType());
vo.setEadSmallType(this.getEadSmallType());
vo.setEad(this.getEad());
vo.setUncoverageEad(this.getUncoverageEad());
vo.setRwa(this.getRwa());
vo.setRwaMitigation(this.getRwaMitigation());
vo.setWeightIrs(this.getWeightIrs());
vo.setWeightArea(this.getWeightArea());
vo.setWeightIndustry(this.getWeightIndustry());
vo.setWeightProd(this.getWeightProd());
vo.setWeightTerm(this.getWeightTerm());
vo.setEcRwa(this.getEcRwa());
vo.setEcRwaAdjusted(this.getEcRwaAdjusted());
return vo;
}
public ResultRwaEntity(){}
public ResultRwaEntity(String id){
this.id =id;
}
public @Size(max = 36) String getId() {
return id;
}
public void setId(@Size(max = 36) String id) {
this.id = id;
}
public @Size(min = 1, max = 255) String getDebtId() {
return debtId;
}
public void setDebtId(@Size(min = 1, max = 255) String debtId) {
this.debtId = debtId;
}
public @Size(min = 1, max = 255) String getCustId() {
return custId;
}
public void setCustId(@Size(min = 1, max = 255) String custId) {
this.custId = custId;
}
public @Size(min = 1, max = 255) String getCustName() {
return custName;
}
public void setCustName(@Size(min = 1, max = 255) String custName) {
this.custName = custName;
}
public @Size(min = 1, max = 255) String getOrgName() {
return orgName;
}
public void setOrgName(@Size(min = 1, max = 255) String orgName) {
this.orgName = orgName;
}
public @Size(min = 1, max = 255) String getBusCategory() {
return busCategory;
}
public void setBusCategory(@Size(min = 1, max = 255) String busCategory) {
this.busCategory = busCategory;
}
public @Size(min = 1, max = 255) String getProdName() {
return prodName;
}
public void setProdName(@Size(min = 1, max = 255) String prodName) {
this.prodName = prodName;
}
public @Size(min = 1, max = 255) String getStripline() {
return stripline;
}
public void setStripline(@Size(min = 1, max = 255) String stripline) {
this.stripline = stripline;
}
public Double getAssetEquity() {
return assetEquity;
}
public void setAssetEquity(Double assetEquity) {
this.assetEquity = assetEquity;
}
public Double getCcf() {
return ccf;
}
public void setCcf(Double ccf) {
this.ccf = ccf;
}
public Double getEad() {
return ead;
}
public @Size(min = 1, max = 255) String getEadBigType() {
return eadBigType;
}
public void setEadBigType(@Size(min = 1, max = 255) String eadBigType) {
this.eadBigType = eadBigType;
}
public @Size(min = 1, max = 255) String getEadSmallType() {
return eadSmallType;
}
public void setEadSmallType(@Size(min = 1, max = 255) String eadSmallType) {
this.eadSmallType = eadSmallType;
}
public void setEad(Double ead) {
this.ead = ead;
}
public Double getUncoverageEad() {
return uncoverageEad;
}
public void setUncoverageEad(Double uncoverageEad) {
this.uncoverageEad = uncoverageEad;
}
public Double getRwa() {
return rwa;
}
public void setRwa(Double rwa) {
this.rwa = rwa;
}
public Double getRwaMitigation() {
return rwaMitigation;
}
public void setRwaMitigation(Double rwaMitigation) {
this.rwaMitigation = rwaMitigation;
}
public Double getWeightIrs() {
return weightIrs;
}
public void setWeightIrs(Double weightIrs) {
this.weightIrs = weightIrs;
}
public Double getWeightArea() {
return weightArea;
}
public void setWeightArea(Double weightArea) {
this.weightArea = weightArea;
}
public Double getWeightIndustry() {
return weightIndustry;
}
public void setWeightIndustry(Double weightIndustry) {
this.weightIndustry = weightIndustry;
}
public Double getWeightProd() {
return weightProd;
}
public void setWeightProd(Double weightProd) {
this.weightProd = weightProd;
}
public Double getWeightTerm() {
return weightTerm;
}
public void setWeightTerm(Double weightTerm) {
this.weightTerm = weightTerm;
}
public Double getEcRwa() {
return ecRwa;
}
public void setEcRwa(Double ecRwa) {
this.ecRwa = ecRwa;
}
public Double getEcRwaAdjusted() {
return ecRwaAdjusted;
}
public void setEcRwaAdjusted(Double ecRwaAdjusted) {
this.ecRwaAdjusted = ecRwaAdjusted;
}
}

112
erm/src/main/java/erm/economiccapital/jpa/entity/SchemaEntity.java

@ -0,0 +1,112 @@
package erm.economiccapital.jpa.entity;
import erm.api.enums.EconomicCapitalCalMethod;
import erm.economiccapital.api.SchemaVo;
import io.sc.platform.orm.converter.NumericBooleanConverter;
import io.sc.platform.orm.entity.CorporationAuditorEntity;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import javax.validation.constraints.Size;
@Entity(name="erm.economiccapital.jpa.entity.SchemaEntity")
@Table(name="RP_EC_SCHEMA")
public class SchemaEntity extends CorporationAuditorEntity<SchemaVo> {
//ID,主键
@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(max=255)
private String code;
//名称
@Column(name="NAME_",nullable=false, length=255)
@Size(min=1,max=255)
private String name;
//描述
@Column(name="DESCRIPTION_",nullable=false, length=255)
@Size(min=1,max=255)
private String description;
@Column(name="ENABLE_")
@Convert(converter= NumericBooleanConverter.class)
private Boolean enable;
// 计算方法
@Column(name="CAL_METHOD_",length=20)
@Size(max=20)
private EconomicCapitalCalMethod calMethod;
@Override
public SchemaVo toVo() {
SchemaVo vo =new SchemaVo();
super.toVo(vo);
vo.setId(this.getId());
vo.setCode(this.getCode());
vo.setName(this.getName());
vo.setDescription(this.getDescription());
vo.setEnable(this.getEnable());
vo.setCalMethod(this.getCalMethod());
return vo;
}
public SchemaEntity(){}
public SchemaEntity(String id){
this.id =id;
}
public @Size(max = 36) String getId() {
return id;
}
public void setId(@Size(max = 36) String id) {
this.id = id;
}
public @Size(max = 255) String getCode() {
return code;
}
public void setCode(@Size(max = 255) String code) {
this.code = code;
}
public @Size(min = 1, max = 255) String getName() {
return name;
}
public void setName(@Size(min = 1, max = 255) String name) {
this.name = name;
}
public @Size(min = 1, max = 255) String getDescription() {
return description;
}
public void setDescription(@Size(min = 1, max = 255) String description) {
this.description = description;
}
public Boolean getEnable() {
return enable;
}
public void setEnable(Boolean enable) {
this.enable = enable;
}
public @Size(max = 20) EconomicCapitalCalMethod getCalMethod() {
return calMethod;
}
public void setCalMethod(@Size(max = 20) EconomicCapitalCalMethod calMethod) {
this.calMethod = calMethod;
}
}

4
erm/src/main/resources/META-INF/platform/plugins/liquibase.json

@ -23,7 +23,9 @@
"liquibase/appetite/erm.appetite_1.0.0_20221020__ERM Appetite Database Data.xml",
"liquibase/capitalplan/erm.capitalpan_1.0.0_20221020__ERM Capital Plan Schema DDL.xml",
"liquibase/capitalplan/erm.capitalpan_1.0.0_20221020__ERM Capital Plan Database Data.xml"
"liquibase/capitalplan/erm.capitalpan_1.0.0_20221020__ERM Capital Plan Database Data.xml",
"liquibase/economiccapital/erm.capitalpan_1.0.0_20221020__ERM Economic Capital Schema DDL.xml"
]
}
]

85
erm/src/main/resources/liquibase/economiccapital/erm.capitalpan_1.0.0_20221020__ERM Economic Capital Schema DDL.xml

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xsi:schemaLocation="
http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd
"
>
<changeSet id="erm.capitalpan_1.0.0_20221020__ERM Economic Capital Schema DDL" author="platform">
<!-- 经济资本计算方案表 -->
<createTable tableName="RP_EC_SCHEMA" remarks="经济资本计算方案表">
<column name="ID_" type="NVARCHAR(36)" remarks="ID">
<constraints primaryKey="true"/>
</column>
<column name="CODE_" type="NVARCHAR(255)" remarks="代码"/>
<column name="NAME_" type="NVARCHAR(255)" remarks="名称"/>
<column name="DESCRIPTION_" type="NVARCHAR(255)" remarks="描述"></column>
<column name="ENABLE_" type="SMALLINT" remarks="是否可用(0:不可用,1:可用)"></column>
<column name="CAL_METHOD" type="NVARCHAR(20)" remarks="计算方法"></column>
<column name="JPA_VERSION_" type="INTEGER" remarks="JPA乐观锁版本"/>
<column name="DATA_COME_FROM_" type="NVARCHAR(10)" remarks="数据来源(INPUT:手工录入,IMPORT:系统自动导入)"/>
<column name="CREATOR_" type="NVARCHAR(255)" remarks="创建人"/>
<column name="CREATE_DATE_" type="DATETIME" remarks="创建日期"/>
<column name="LAST_MODIFIER_" type="NVARCHAR(255)" remarks="最后修改人"/>
<column name="LAST_MODIFYDATE_" type="DATETIME" remarks="最后修改日期"/>
<column name="CORP_CODE_" type="NVARCHAR(255)" remarks="所属法人代码"/>
</createTable>
<addUniqueConstraint tableName="RP_EC_SCHEMA" columnNames="CODE_,CORP_CODE_"></addUniqueConstraint>
<addNotNullConstraint columnName="CODE_" columnDataType="NVARCHAR(255)" tableName="RP_EC_SCHEMA" constraintName="CONST_RP_EC_SCHEMA_CODE"/>
<addNotNullConstraint columnName="DATA_COME_FROM_" columnDataType="NVARCHAR(10)" tableName="RP_EC_SCHEMA" constraintName="CONST_RP_EC_SCHEMA_DCF"/>
<addNotNullConstraint columnName="CORP_CODE_" columnDataType="NVARCHAR(255)" tableName="RP_EC_SCHEMA" constraintName="CONST_RP_EC_SCHEMA_CORP"/>
<addDefaultValue columnName="DATA_COME_FROM_" columnDataType="NVARCHAR(10)" tableName="RP_EC_SCHEMA" defaultValue="INPUT"/>
<addDefaultValue columnName="CORP_CODE_" columnDataType="NVARCHAR(255)" tableName="RP_EC_SCHEMA" defaultValue="_PRIMARY_"/>
<!-- 经济资本计算结果表(RWA) -->
<createTable tableName="RP_EC_RESULT_RWA" remarks="经济资本计算结果表(RWA)">
<column name="ID_" type="NVARCHAR(36)" remarks="ID">
<constraints primaryKey="true"/>
</column>
<column name="DEBT_ID_" type="NVARCHAR(255)" remarks="债项ID"/>
<column name="CUST_ID_" type="NVARCHAR(255)" remarks="客户ID"/>
<column name="CUST_NAME_" type="NVARCHAR(255)" remarks="客户名称"/>
<column name="ORG_NAME_" type="NVARCHAR(255)" remarks="机构名称"/>
<column name="BUS_CATEGORY_" type="NVARCHAR(255)" remarks="业务品种"/>
<column name="PROD_NAME_" type="NVARCHAR(255)" remarks="产品名称"/>
<column name="ASSET_EQUITY_" type="NUMERIC(22,6)" remarks="资产净额"/>
<column name="CCF_" type="NUMERIC(22,6)" remarks="CCF"/>
<column name="EAD_BIG_TYPE_" type="NVARCHAR(255)" remarks="风险暴露大类"/>
<column name="EAD_SMALL_TYPE_" type="NVARCHAR(255)" remarks="风险暴露小类"/>
<column name="EAD_" type="NUMERIC(22,6)" remarks="EAD"/>
<column name="UNCOVERAGE_EAD_" type="NUMERIC(22,6)" remarks="权重法未覆盖EAD"/>
<column name="RWA" type="NUMERIC(22,6)" remarks="RWA"/>
<column name="RWA_MITIGATION_" type="NUMERIC(22,6)" remarks="经济资本再缓释后RWA"/>
<column name="STRIPLINE_" type="NVARCHAR(255)" remarks="条线"/>
<column name="WEIGHT_IRS_" type="NUMERIC(22,6)" remarks="评级调整系数"/>
<column name="WEIGHT_AREA_" type="NUMERIC(22,6)" remarks="区域调整系数"/>
<column name="WEIGHT_INDUSTRY_" type="NUMERIC(22,6)" remarks="行业调整系数"/>
<column name="WEIGHT_PROD_" type="NUMERIC(22,6)" remarks="产品调整系数"/>
<column name="WEIGHT_TERM_" type="NUMERIC(22,6)" remarks="期限调整系数"/>
<column name="EC_RWA_" type="NUMERIC(22,6)" remarks="经济资本RWA"/>
<column name="EC_RWA_ADJUSTED" type="NUMERIC(22,6)" remarks="调整后经济资本RWA"/>
</createTable>
<!-- 经济资本计算结果表(风险暴露缓释) -->
<createTable tableName="RP_EC_RESULT_MITIGATION" remarks="经济资本计算结果表(风险暴露缓释)">
<column name="ID_" type="NVARCHAR(36)" remarks="ID">
<constraints primaryKey="true"/>
</column>
</createTable>
<!-- 经济资本计算结果表(其他) -->
<createTable tableName="RP_EC_RESULT_OTHER" remarks="经济资本计算结果表(其他)">
<column name="ID_" type="NVARCHAR(36)" remarks="ID">
<constraints primaryKey="true"/>
</column>
</createTable>
</changeSet>
</databaseChangeLog>

4
gradle.properties

@ -37,8 +37,8 @@ application_version=1.0.0
###########################################################
platform_group=io.sc
platform_version=8.1.44
platform_plugin_version=8.1.13
platform_core_frontend_version=8.1.229
platform_plugin_version=8.1.44
platform_core_frontend_version=8.1.231
###########################################################
# dependencies version

2
io.sc.engine.mv.frontend/.npmrc

@ -8,4 +8,4 @@ email=
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.193db44c-7ca5-3cb6-a990-d24b93fb0d10
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

2
io.sc.engine.mv.frontend/package.json

@ -92,7 +92,7 @@
"luckyexcel": "1.0.1",
"mockjs": "1.1.0",
"pinia": "2.1.7",
"platform-core": "8.1.229",
"platform-core": "8.1.231",
"quasar": "2.15.3",
"tailwindcss": "3.4.3",
"vue": "3.4.24",

6
io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgDataExtractorWebController.java

@ -6,9 +6,11 @@ import io.sc.engine.mv.configure.service.CfgDataExtractorService;
import io.sc.engine.mv.configure.vo.CfgDataExtractorVo;
import io.sc.platform.mvc.controller.support.RestCrudController;
import io.sc.platform.system.ds.jpa.repository.DsRepository;
import oracle.jdbc.proxy.annotation.Post;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 数据抽取器接口配置控制器

2
io.sc.engine.rule.frontend/.npmrc

@ -8,4 +8,4 @@ email=
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.193db44c-7ca5-3cb6-a990-d24b93fb0d10
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

2
io.sc.engine.rule.frontend/package.json

@ -92,7 +92,7 @@
"luckyexcel": "1.0.1",
"mockjs": "1.1.0",
"pinia": "2.1.7",
"platform-core": "8.1.229",
"platform-core": "8.1.231",
"quasar": "2.15.3",
"tailwindcss": "3.4.3",
"vue": "3.4.24",

2
io.sc.engine.st.frontend/.npmrc

@ -8,4 +8,4 @@ email=
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.193db44c-7ca5-3cb6-a990-d24b93fb0d10
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

2
io.sc.engine.st.frontend/package.json

@ -92,7 +92,7 @@
"luckyexcel": "1.0.1",
"mockjs": "1.1.0",
"pinia": "2.1.7",
"platform-core": "8.1.229",
"platform-core": "8.1.231",
"quasar": "2.15.3",
"tailwindcss": "3.4.3",
"vue": "3.4.24",

2
io.sc.platform.core.frontend/.npmrc

@ -8,4 +8,4 @@ email=
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.193db44c-7ca5-3cb6-a990-d24b93fb0d10
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

2
io.sc.platform.core.frontend/package.json

@ -1,6 +1,6 @@
{
"name": "platform-core",
"version": "8.1.229",
"version": "8.1.231",
"description": "前端核心包,用于快速构建前端的脚手架",
"//main": "库的主文件",
"main": "dist/platform-core.js",

2
io.sc.platform.core.frontend/template-project/.npmrc

@ -8,4 +8,4 @@ email=
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.193db44c-7ca5-3cb6-a990-d24b93fb0d10
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

4
io.sc.platform.core.frontend/template-project/package.json

@ -1,6 +1,6 @@
{
"name": "platform-core",
"version": "8.1.229",
"version": "8.1.231",
"description": "前端核心包,用于快速构建前端的脚手架",
"private": false,
"keywords": [],
@ -104,7 +104,7 @@
"luckyexcel": "1.0.1",
"mockjs": "1.1.0",
"pinia": "2.1.7",
"platform-core": "8.1.229",
"platform-core": "8.1.231",
"quasar": "2.15.3",
"tailwindcss": "3.4.3",
"vue": "3.4.24",

3
io.sc.platform.core.frontend/template-project/src/views/testcase/math/MathEditor.vue

@ -6,8 +6,7 @@
<script setup lang="ts">
const formula = '';
const formula2 = 'hello world';
const formula3 = `
<mrow>
const formula3 = `<mrow>
<mi>0.12</mi>
<mo>&#xD7;</mo>
<mrow>

1
io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties

@ -28,6 +28,7 @@ createDate=Create Date
creator=Creator
dataComeFrom=Data Come From
deepClone=Deep Clone
default=Default
defaultValue=Default Value
delete=Delete
deleteAll=Delete All

1
io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties

@ -28,6 +28,7 @@ createDate=\u5275\u5EFA\u65E5\u671F
creator=\u5275\u5EFA\u4EBA
dataComeFrom=\u6578\u64DA\u4F86\u6E90
deepClone=\u6DF1\u5EA6\u8907\u88FD
default=\u9ED8\u8A8D
defaultValue=\u9ED8\u8A8D\u503C
delete=\u522A\u9664
deleteAll=\u522A\u9664\u5168\u90E8

1
io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties

@ -28,6 +28,7 @@ createDate=\u521B\u5EFA\u65E5\u671F
creator=\u521B\u5EFA\u4EBA
dataComeFrom=\u6570\u636E\u6765\u6E90
deepClone=\u6DF1\u5EA6\u590D\u5236
default=\u9ED8\u8BA4
defaultValue=\u9ED8\u8BA4\u503C
delete=\u522A\u9664
deleteAll=\u5220\u9664\u5168\u90E8

3
io.sc.platform.developer.doc/asciidoc/9999-appendix/appendix.adoc

@ -1,6 +1,7 @@
include::software/software.adoc[]
#include::environment/environment.adoc[]
include::platform/platform.adoc[]
include::docker-install/docker-install.adoc[]
include::docker-command/docker-command.adoc[]
include::docker-compose/docker-compose.adoc[]
include::docker/docker.adoc[]
@ -15,5 +16,3 @@ include::java/java.adoc[]
include::rwa/rwa.adoc[]
include::icaap/icaap.adoc[]
include::refrence/refrence.adoc[]

4
io.sc.platform.developer.doc/asciidoc/9999-appendix/docker-install/docker-install.adoc

@ -0,0 +1,4 @@
[appendix]
= Docker 安装
include::ubuntu/ubuntu.adoc[leveloffset]

47
io.sc.platform.developer.doc/asciidoc/9999-appendix/docker-install/ubuntu/ubuntu.adoc

@ -0,0 +1,47 @@
== Ubuntu 24.04 LTS
=== 卸载
[source,bash]
----
sudo apt remove docker docker-engine docker.io containerd runc
----
=== 安装依赖
[source,bash]
----
sudo apt -y install ca-certificates curl gnupg lsb-release
----
=== 添加密钥
[source,bash]
----
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
----
=== 添加 Docker 软件源
[source,bash]
----
sudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
----
=== 安装 docker
[source,bash]
----
sudo apt -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
----
=== 将当前用户添加到 docker 组中
[source,bash]
----
sudo gpasswd -a 当前登录用户名(name) docker
----
=== 启动 docker
----
systemctl start docker
----
=== 查看 docker 状态
----
systemctl status docker
----

16
io.sc.platform.developer.doc/asciidoc/9999-appendix/linux/linux.adoc

@ -1,17 +1,5 @@
[appendix]
= Linux
== 将二进制文件以16进制形式显示
[source,bash]
----
xxd 文件.zip > 文件.hex
----
= Ubuntu
== 文件比较
[source,bash]
----
# 将 文件1 和 文件2 的比较结果输出到控制台中
diff 文件1 文件2
include::ubuntu/ubuntu.adoc[leveloffset]
# 将 文件1 和 文件2 的比较结果输出到 diff.txt 文件中
diff 文件1 文件2 > diff.txt
----

27
io.sc.platform.developer.doc/asciidoc/9999-appendix/linux/tools/tools.adoc

@ -0,0 +1,27 @@
== 将二进制文件以16进制形式显示
[source,bash]
----
xxd 文件.zip > 文件.hex
----
== 文件比较
[source,bash]
----
# 将 文件1 和 文件2 的比较结果输出到控制台中
diff 文件1 文件2
# 将 文件1 和 文件2 的比较结果输出到 diff.txt 文件中
diff 文件1 文件2 > diff.txt
----
== vi 无法正常使用方向键和退回键
[source,bash]
----
vi /etc/vim/vimrc.tiny
# 添加或修改以下内容
set nocompatible # 方向键
set backspace=2 # 退回键
# 保存并退出,重新运行 vi 后就可以正常使用方向键和退回键了
----

21
io.sc.platform.developer.doc/asciidoc/9999-appendix/linux/ubuntu/ubuntu.adoc

@ -0,0 +1,21 @@
== 设置 IP 地址
curl -X POST http://172.16.70.100:8000/service/rest/v1/repositories/maven/proxy -H "Content-Type: application/json" --user "admin:admin" --data @./maven/aliyun-apache-snapshots.json
curl -X POST http://172.16.70.100:8000/service/rest/v1/repositories/maven/proxy -H "Content-Type: application/json" --user "admin:admin" --data @./maven/aliyun-google.json
curl -X POST http://172.16.70.100:8000/service/rest/v1/repositories/maven/proxy -H "Content-Type: application/json" --user "admin:admin" --data @./maven/aliyun-gradle-plugin.json
curl -X POST http://172.16.70.100:8000/service/rest/v1/repositories/maven/proxy -H "Content-Type: application/json" --user "admin:admin" --data @./maven/aliyun-grails-core.json
curl -X POST http://172.16.70.100:8000/service/rest/v1/repositories/maven/proxy -H "Content-Type: application/json" --user "admin:admin" --data @./maven/aliyun-public.json
curl -X POST http://172.16.70.100:8000/service/rest/v1/repositories/maven/proxy -H "Content-Type: application/json" --user "admin:admin" --data @./maven/aliyun-spring.json
curl -X POST http://172.16.70.100:8000/service/rest/v1/repositories/maven/proxy -H "Content-Type: application/json" --user "admin:admin" --data @./maven/aliyun-spring-plugin.json
# 更新 maven-public
curl -X PUT http://172.16.70.100:8000/service/rest/v1/repositories/maven/group/maven-public -H "Content-Type: application/json" --user "admin:admin" --data @./maven/group-public.json
# 构建 npm 仓库
curl -X POST http://172.16.70.100:8000/service/rest/v1/repositories/npm/hosted -H "Content-Type: application/json" --user "admin:admin" --data @./npm/npm-releases.json
curl -X POST http://172.16.70.100:8000/service/rest/v1/repositories/npm/proxy -H "Content-Type: application/json" --user "admin:admin" --data @./npm/npmjs.json
curl -X POST http://172.16.70.100:8000/service/rest/v1/repositories/npm/proxy -H "Content-Type: application/json" --user "admin:admin" --data @./npm/npmmirror.json
curl -X POST http://172.16.70.100:8000/service/rest/v1/repositories/npm/proxy -H "Content-Type: application/json" --user "admin:admin" --data @./npm/taobao.json
curl -X POST http://172.16.70.100:8000/service/rest/v1/repositories/npm/group -H "Content-Type: application/json" --user "admin:admin" --data @./npm/npm-public.json

2
io.sc.platform.developer.frontend/.npmrc

@ -8,4 +8,4 @@ email=
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.193db44c-7ca5-3cb6-a990-d24b93fb0d10
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

2
io.sc.platform.developer.frontend/package.json

@ -92,7 +92,7 @@
"luckyexcel": "1.0.1",
"mockjs": "1.1.0",
"pinia": "2.1.7",
"platform-core": "8.1.229",
"platform-core": "8.1.231",
"quasar": "2.15.3",
"tailwindcss": "3.4.3",
"vue": "3.4.24",

8
io.sc.platform.developer.frontend/src/views/backend/ExportLiquibase.vue

@ -10,6 +10,7 @@
emit-value
map-options
:options="datasourceOptionsRef"
default-value=""
@update:model-value="
(value) => {
datasourceChanged(value);
@ -115,10 +116,9 @@
</template>
<script setup lang="ts">
import { ref, reactive, onMounted, onUpdated } from 'vue';
import { useI18n } from 'vue-i18n';
import { axios, Environment, DialogManager, Downloader } from 'platform-core';
const { t } = useI18n();
import { t, axios, Environment, DialogManager, Downloader } from 'platform-core';
const progressBtnRef = ref();
const datasourceOptionsRef = ref([]);
const schemaOptionsRef = ref([]);
@ -134,7 +134,7 @@ const valueReactive = reactive({
const loadDatasource = () => {
axios.get(Environment.apiContextPath('/api/system/datasource?pageable=false&sortBy=name')).then((response) => {
const data = response?.data.content;
const datasourceOptions = [];
const datasourceOptions = [{ label: t('default'), value: '' }];
if (data && data.length > 0) {
for (let item of data) {
datasourceOptions.push({ label: item.name, value: item.name });

12
io.sc.platform.gradle/templates/pgp/app/build.gradle

@ -17,8 +17,8 @@ dependencies {
// project(":io.sc.platform.security.oauth2.server.resource"),
project(":io.sc.platform.security.loginform"),
// project(":io.sc.platform.scheduler.manager"),
// project(":io.sc.platform.scheduler.executor"),
project(":io.sc.platform.scheduler.manager"),
project(":io.sc.platform.scheduler.executor"),
// project(":io.sc.engine.mv"),
// project(":io.sc.engine.mv.frontend"),
@ -30,13 +30,13 @@ dependencies {
// project(":io.sc.engine.rule.server"),
// project(":io.sc.engine.rule.sample"),
//
// project(":io.sc.engine.st"),
// project(":io.sc.engine.st.frontend"),
//
project(":io.sc.engine.st"),
project(":io.sc.engine.st.frontend"),
project(":erm"),
project(":erm.frontend"),
// project(":io.sc.standard"),
project(":io.sc.standard"),
)
}

4
io.sc.platform.gradle/templates/pgp/setup/gradle.properties

@ -37,8 +37,8 @@ application_version=1.0.0
###########################################################
platform_group=io.sc
platform_version=8.1.44
platform_plugin_version=8.1.13
platform_core_frontend_version=8.1.229
platform_plugin_version=8.1.44
platform_core_frontend_version=8.1.231
###########################################################
# dependencies version

2
io.sc.platform.jdbc.driver.oracle/build.gradle

@ -2,6 +2,6 @@
dependencies {
api(
"oracle:oracle:12.2.0.1",
"com.oracle.database.jdbc:ojdbc8:19.23.0.0",
)
}

35
io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/LiquibaseDataCsvExporter.java

@ -143,15 +143,8 @@ public class LiquibaseDataCsvExporter implements DataExporter {
for(int i=0;i<columns.size();i++){
Column column =columns.get(i);
String value =record.getField(column.getName());
//对内容中包含逗号分隔符进行转移
if(value!=null){
value =value.replace("\\n","\n");
value =value.replace("\\r","\r");
value =value.replace("\\","\\\\");
value =value.replace(",","\\,");
value =value.replace("\n","\\\\n");
value =value.replace("\r","\\\\r");
}
//对内容中包含特殊字符符进行转移
value =transformString(value);
csv[i] =value==null?null:value;
}
writer.writeNext(csv);
@ -205,15 +198,8 @@ public class LiquibaseDataCsvExporter implements DataExporter {
Column column =columns.get(i);
String fieldName =column.getName();
String value = SqlTypeUtil.getString(rs,fieldName,column.getVendorTypeNumber());
//对内容中包含逗号分隔符进行转移
if(value!=null){
value =value.replace("\\n","\n");
value =value.replace("\\r","\r");
value =value.replace("\\","\\\\");
value =value.replace(",","\\,");
value =value.replace("\n","\\\\n");
value =value.replace("\r","\\\\r");
}
//对内容中包含特殊字符符进行转移
value =transformString(value);
csv[i] =value==null?null:value;
}
writer.writeNext(csv);
@ -264,4 +250,17 @@ public class LiquibaseDataCsvExporter implements DataExporter {
return "LIQUIBASE_" + DateUtil.formatDate(new Date(),"yyyy.MM.dd_HH.mm.ss") + "__" + description;
}
private String transformString(String string){
if(string==null){
return null;
}
//string =string.replace("\\n","\n");
//string =string.replace("\\r","\r");
string =string.replace("\\","\\\\");
string =string.replace(",","\\,");
//string =string.replace("\n","\\\\n");
//string =string.replace("\r","\\\\r");
return string;
}
}

2
io.sc.platform.lcdp.frontend/.npmrc

@ -8,4 +8,4 @@ email=
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.193db44c-7ca5-3cb6-a990-d24b93fb0d10
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

2
io.sc.platform.lcdp.frontend/package.json

@ -92,7 +92,7 @@
"luckyexcel": "1.0.1",
"mockjs": "1.1.0",
"pinia": "2.1.7",
"platform-core": "8.1.229",
"platform-core": "8.1.231",
"quasar": "2.15.3",
"tailwindcss": "3.4.3",
"vue": "3.4.24",

12
io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/service/impl/ConfigureServiceImpl.java

@ -23,17 +23,17 @@ public class ConfigureServiceImpl extends DaoServiceImpl<ConfigureEntity, String
@Override
public Configure getActiveConfigure() {
ConfigureEntity entity =repository.findActiveConfigure();
Configure configure = new Configure();
String homePage =systemParameterService.getParameter("parameter.system.homePage");
if(StringUtils.hasText(homePage)) {
configure.getSetting().setHomePage(homePage);
}
ConfigureEntity entity =repository.findActiveConfigure();
if(entity!=null) {
configure.setSetting(entity.getSetting());
configure.setTheme(entity.getTheme());
}
String homePage =systemParameterService.getParameter("parameter.system.homePage");
if(StringUtils.hasText(homePage)) {
configure.getSetting().setHomePage(homePage);
}
configure.getSetting().setIsMultiCorporationMode(Environment.getInstance().isMultiCorportationMode());
return configure;
}

2
io.sc.platform.mvc.frontend/.npmrc

@ -8,4 +8,4 @@ email=
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.193db44c-7ca5-3cb6-a990-d24b93fb0d10
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

2
io.sc.platform.mvc.frontend/package.json

@ -92,7 +92,7 @@
"luckyexcel": "1.0.1",
"mockjs": "1.1.0",
"pinia": "2.1.7",
"platform-core": "8.1.229",
"platform-core": "8.1.231",
"quasar": "2.15.3",
"tailwindcss": "3.4.3",
"vue": "3.4.24",

2
io.sc.platform.poi/build.gradle

@ -1,7 +1,7 @@
dependencies {
api(
project(":io.sc.platform.mvc"),
project(":io.sc.platform.csv"),
project(":io.sc.platform.csv"),
"org.apache.poi:poi:${poi_version}",
"org.apache.poi:poi-ooxml:${poi_version}",

2
io.sc.platform.security.frontend/package.json

@ -93,7 +93,7 @@
"luckyexcel": "1.0.1",
"mockjs": "1.1.0",
"pinia": "2.1.7",
"platform-core": "8.1.229",
"platform-core": "8.1.231",
"quasar": "2.14.5",
"tailwindcss": "3.4.0",
"vue": "3.4.3",

2
io.sc.platform.system.frontend/.npmrc

@ -8,4 +8,4 @@ email=
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.193db44c-7ca5-3cb6-a990-d24b93fb0d10
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

2
io.sc.platform.system.frontend/package.json

@ -92,7 +92,7 @@
"luckyexcel": "1.0.1",
"mockjs": "1.1.0",
"pinia": "2.1.7",
"platform-core": "8.1.229",
"platform-core": "8.1.231",
"quasar": "2.15.3",
"tailwindcss": "3.4.3",
"vue": "3.4.24",

2
io.sc.platform.system.frontend/src/views/menu/Menu.vue

@ -20,7 +20,7 @@
}
}
"
:data-url="Environment.apiContextPath('/api/system/menu?pageable=false')"
:data-url="Environment.apiContextPath('/api/system/menu')"
:pageable="false"
:toolbar-configure="{ noIcon: false }"
:toolbar-actions="[

2
io.sc.standard.frontend/.npmrc

@ -8,4 +8,4 @@ email=
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.193db44c-7ca5-3cb6-a990-d24b93fb0d10
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

2
io.sc.standard.frontend/package.json

@ -92,7 +92,7 @@
"luckyexcel": "1.0.1",
"mockjs": "1.1.0",
"pinia": "2.1.7",
"platform-core": "8.1.229",
"platform-core": "8.1.231",
"quasar": "2.15.3",
"tailwindcss": "3.4.3",
"vue": "3.4.24",

Loading…
Cancel
Save