Browse Source

基础框架发布: 8.2.45

1) 修复模型验证模块中的 bug

前端核心框架发布: 8.2.140
main
wangshaoping 4 weeks ago
parent
commit
c666f29b09
  1. 0
      .zed/settings.json
  2. 0
      app.platformnull/platform/schema/liquibase.xml
  3. 2
      build.gradle
  4. 2
      gradle.properties
  5. BIN
      gradle/wrapper/gradle-wrapper.jar
  6. 2
      gradle/wrapper/gradle-wrapper.properties
  7. 9
      gradlew
  8. 4
      gradlew.bat
  9. 427
      io.sc.engine.mv.frontend/src/i18n/messages_tw_CN.json
  10. 454
      io.sc.engine.mv.frontend/src/i18n/messages_zh_CN.json
  11. 14
      io.sc.engine.mv.frontend/src/views/config/model.vue
  12. 6
      io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgScaleServiceImpl.java
  13. 7
      io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScCapExecutor.java
  14. 2
      io.sc.engine.rule.frontend/src/views/resources/Resources.vue
  15. 2
      io.sc.platform.core.frontend/.npmrc
  16. 9
      io.sc.platform.core.frontend/.vscode/extensions.json
  17. 22
      io.sc.platform.developer.doc/asciidoc/9999-appendix/java/java.adoc
  18. 5
      io.sc.platform.help/build.gradle
  19. 68
      io.sc.platform.help/src/main/java/io/sc/platform/help/plugins/PluginManager.java
  20. 12
      io.sc.platform.help/src/main/java/io/sc/platform/help/plugins/PluginSpiServiceImpl.java
  21. 33
      io.sc.platform.help/src/main/java/io/sc/platform/help/plugins/item/Help.java
  22. 3
      io.sc.platform.springcloud.openfeign/src/main/java/io/sc/platform/springcloud/openfeign/example/Sample.java
  23. 29
      io.sc.platform.util/src/main/java/io/sc/platform/util/ManifestUtil.java
  24. 5
      io.sc.platform.util/src/main/java/io/sc/platform/util/MapUtil.java
  25. 1
      settings.gradle

0
.zed/settings.json

0
app.platformnull/platform/schema/liquibase.xml

2
build.gradle

@ -920,6 +920,8 @@ idea {
task clean { task clean {
doFirst{ doFirst{
delete 'out' delete 'out'
delete 'bin'
delete '.settings'
} }
} }

2
gradle.properties

@ -6,7 +6,7 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
org.gradle.configureondemand=true org.gradle.configureondemand=true
systemProp.org.gradle.internal.publish.checksums.insecure=true systemProp.org.gradle.internal.publish.checksums.insecure=true
org.gradle.parallel=true org.gradle.parallel=true
org.gradle.workers.max=1 org.gradle.workers.max=2
########################################################### ###########################################################
# Maven private repository configuration # Maven private repository configuration

BIN
gradle/wrapper/gradle-wrapper.jar

Binary file not shown.

2
gradle/wrapper/gradle-wrapper.properties

@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=http\://nexus.sc.io\:8000/repository/maven-releases/gradle/gradle/8.10.1/gradle-8.10.1-bin.zip distributionUrl=http\://nexus.sc.io\:8000/repository/maven-releases/gradle/gradle/8.14.3/gradle-8.14.3-bin.zip
networkTimeout=10000 networkTimeout=10000
validateDistributionUrl=true validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME

9
gradlew

@ -86,8 +86,7 @@ done
# shellcheck disable=SC2034 # shellcheck disable=SC2034
APP_BASE_NAME=${0##*/} APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value. # Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum MAX_FD=maximum
@ -115,7 +114,7 @@ case "$( uname )" in #(
NONSTOP* ) nonstop=true ;; NONSTOP* ) nonstop=true ;;
esac esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar CLASSPATH="\\\"\\\""
# Determine the Java command to use to start the JVM. # Determine the Java command to use to start the JVM.
@ -206,7 +205,7 @@ fi
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command: # Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, # * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped. # and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be # * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line. # treated as '${Hostname}' itself on the command line.
@ -214,7 +213,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
set -- \ set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \ "-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \ -classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
"$@" "$@"
# Stop when "xargs" is not available. # Stop when "xargs" is not available.

4
gradlew.bat

@ -70,11 +70,11 @@ goto fail
:execute :execute
@rem Setup the command line @rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar set CLASSPATH=
@rem Execute Gradle @rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
:end :end
@rem End local scope for the variables with windows NT shell @rem End local scope for the variables with windows NT shell

427
io.sc.engine.mv.frontend/src/i18n/messages_tw_CN.json

@ -1,215 +1,216 @@
{ {
"menu.engine.mv" : "模型驗證工具", "menu.engine.mv": "模型驗證工具",
"menu.engine.mv.config" : "配置", "menu.engine.mv.config": "配置",
"menu.engine.mv.config.cutOffPoint" : "評分截斷點", "menu.engine.mv.config.cutOffPoint": "評分截斷點",
"menu.engine.mv.config.threshold" : "預警閾值", "menu.engine.mv.config.threshold": "預警閾值",
"menu.engine.mv.config.binomial" : "二項檢驗Z值常量", "menu.engine.mv.config.binomial": "二項檢驗Z值常量",
"menu.engine.mv.config.chiSquare" : "卡方檢驗臨界值常量", "menu.engine.mv.config.chiSquare": "卡方檢驗臨界值常量",
"menu.engine.mv.config.model" : "模型", "menu.engine.mv.config.model": "模型",
"menu.engine.mv.config.distribution" : "建模時客戶評分分佈", "menu.engine.mv.config.distribution": "建模時客戶評分分佈",
"menu.engine.mv.config.scale" : "標尺", "menu.engine.mv.config.scale": "標尺",
"menu.engine.mv.config.dataExtractor" : "數據抽取接口", "menu.engine.mv.config.dataExtractor": "數據抽取接口",
"menu.engine.mv.config.executor" : "執行器", "menu.engine.mv.config.executor": "執行器",
"menu.engine.mv.sample" : "樣本管理", "menu.engine.mv.sample": "樣本管理",
"menu.engine.mv.result" : "驗證結果查看", "menu.engine.mv.result": "驗證結果查看",
"io.sc.engine.mv.enums.GoodLevel.POOR" : "差", "io.sc.engine.mv.enums.GoodLevel.POOR": "差",
"io.sc.engine.mv.enums.GoodLevel.MEDIUM" : "中等", "io.sc.engine.mv.enums.GoodLevel.MEDIUM": "中等",
"io.sc.engine.mv.enums.GoodLevel.GOOD" : "好", "io.sc.engine.mv.enums.GoodLevel.GOOD": "好",
"io.sc.engine.mv.enums.GoodLevel.VERY_GOOD" : "很好", "io.sc.engine.mv.enums.GoodLevel.VERY_GOOD": "很好",
"io.sc.engine.mv.enums.GoodLevel.EXCELLENT" : "非常好", "io.sc.engine.mv.enums.GoodLevel.EXCELLENT": "非常好",
"io.sc.engine.mv.enums.GoodLevel.PERFECT" : "完美", "io.sc.engine.mv.enums.GoodLevel.PERFECT": "完美",
"io.sc.engine.mv.enums.Stability.yes" : "模型比较稳定", "io.sc.engine.mv.enums.Stability.yes": "模型比较稳定",
"io.sc.engine.mv.enums.Stability.no" : "模型发生了偏移", "io.sc.engine.mv.enums.Stability.no": "模型发生了偏移",
"io.sc.engine.mv.config.cutOffPoint.grid.title" : "評分截斷點配置列表", "io.sc.engine.mv.config.cutOffPoint.grid.title": "評分截斷點配置列表",
"io.sc.engine.mv.config.cutOffPoint.grid.entity.name" : "名称", "io.sc.engine.mv.config.cutOffPoint.grid.entity.name": "名称",
"io.sc.engine.mv.config.cutOffPoint.grid.entity.from" : "起始值(含)", "io.sc.engine.mv.config.cutOffPoint.grid.entity.from": "起始值(含)",
"io.sc.engine.mv.config.cutOffPoint.grid.entity.to" : "结束值(含)", "io.sc.engine.mv.config.cutOffPoint.grid.entity.to": "结束值(含)",
"io.sc.engine.mv.config.cutOffPoint.grid.entity.step" : "增量值", "io.sc.engine.mv.config.cutOffPoint.grid.entity.step": "增量值",
"io.sc.engine.mv.config.cutOffPoint.grid.entity.scale" : "精度", "io.sc.engine.mv.config.cutOffPoint.grid.entity.scale": "精度",
"io.sc.engine.mv.config.threshold.grid.title" : "預警閾值配置列表", "io.sc.engine.mv.config.threshold.grid.title": "預警閾值配置列表",
"io.sc.engine.mv.config.threshold.grid.entity.name" : "名稱", "io.sc.engine.mv.config.threshold.grid.entity.name": "名稱",
"io.sc.engine.mv.config.threshold.grid.entity.level" : "等級(越大越好)", "io.sc.engine.mv.config.threshold.grid.entity.level": "等級(越大越好)",
"io.sc.engine.mv.config.threshold.grid.entity.color" : "顏色", "io.sc.engine.mv.config.threshold.grid.entity.color": "顏色",
"io.sc.engine.mv.config.threshold.grid.entity.range" : "預警閾值范围", "io.sc.engine.mv.config.threshold.grid.entity.range": "預警閾值范围",
"io.sc.engine.mv.config.threshold.grid.entity.quantitativeRange" : "預警閾值范围(定量)", "io.sc.engine.mv.config.threshold.grid.entity.quantitativeRange": "預警閾值范围(定量)",
"io.sc.engine.mv.config.threshold.grid.entity.qualitativeRange" : "預警閾值范围(定性)", "io.sc.engine.mv.config.threshold.grid.entity.qualitativeRange": "預警閾值范围(定性)",
"io.sc.engine.mv.config.binomial.grid.title" : "二項檢驗標準正態分佈顯著水平下的Z值常量列表", "io.sc.engine.mv.config.binomial.grid.title": "二項檢驗標準正態分佈顯著水平下的Z值常量列表",
"io.sc.engine.mv.config.binomial.grid.entity.significanceLevel" : "顯著水平", "io.sc.engine.mv.config.binomial.grid.entity.significanceLevel": "顯著水平",
"io.sc.engine.mv.config.binomial.grid.entity.confidenceLevel" : "置信水平", "io.sc.engine.mv.config.binomial.grid.entity.confidenceLevel": "置信水平",
"io.sc.engine.mv.config.binomial.grid.entity.zUpper" : "Z值上界", "io.sc.engine.mv.config.binomial.grid.entity.zUpper": "Z值上界",
"io.sc.engine.mv.config.binomial.grid.entity.zLower" : "Z值下界", "io.sc.engine.mv.config.binomial.grid.entity.zLower": "Z值下界",
"io.sc.engine.mv.config.chiSquare.grid.title" : "卡方檢驗臨界值常量列表", "io.sc.engine.mv.config.chiSquare.grid.title": "卡方檢驗臨界值常量列表",
"io.sc.engine.mv.config.chiSquare.grid.entity.dof" : "自由度", "io.sc.engine.mv.config.chiSquare.grid.entity.dof": "自由度",
"io.sc.engine.mv.config.chiSquare.grid.entity.significanceLevel" : "顯著水平", "io.sc.engine.mv.config.chiSquare.grid.entity.significanceLevel": "顯著水平",
"io.sc.engine.mv.config.chiSquare.grid.entity.criticalValue" : "臨界值", "io.sc.engine.mv.config.chiSquare.grid.entity.criticalValue": "臨界值",
"io.sc.engine.mv.config.model.grid.title" : "模型列表", "io.sc.engine.mv.config.model.grid.title": "模型列表",
"io.sc.engine.mv.config.model.grid.toolbar.importFromScoreRecordTable" : "從評分記錄表中導入", "io.sc.engine.mv.config.model.grid.toolbar.importFromScoreRecordTable": "從評分記錄表中導入",
"io.sc.engine.mv.config.model.grid.entity.type" : "模型創建類型", "io.sc.engine.mv.config.model.grid.entity.type": "模型創建類型",
"io.sc.engine.mv.config.model.grid.entity.modelId" : "模型標識", "io.sc.engine.mv.config.model.grid.entity.modelId": "模型標識",
"io.sc.engine.mv.config.model.grid.entity.modelName" : "模型名稱", "io.sc.engine.mv.config.model.grid.entity.modelName": "模型名稱",
"io.sc.engine.mv.config.model.grid.action.importFromScoreRecord": "您確定要從評分記錄表中導入模型?",
"io.sc.engine.mv.config.distribution.grid.title" : "咨詢建模時樣本分佈情況配置列表",
"io.sc.engine.mv.config.distribution.grid.entity.modelId" : "模型標示", "io.sc.engine.mv.config.distribution.grid.title": "咨詢建模時樣本分佈情況配置列表",
"io.sc.engine.mv.config.distribution.grid.entity.modelName" : "模型名稱", "io.sc.engine.mv.config.distribution.grid.entity.modelId": "模型標示",
"io.sc.engine.mv.config.distribution.grid.entity.scoreSegStart" : "分數段開始值(含該值)", "io.sc.engine.mv.config.distribution.grid.entity.modelName": "模型名稱",
"io.sc.engine.mv.config.distribution.grid.entity.scoreSegEnd" : "分數段結束值(含該值)", "io.sc.engine.mv.config.distribution.grid.entity.scoreSegStart": "分數段開始值(含該值)",
"io.sc.engine.mv.config.distribution.grid.entity.count" : "評分段內樣本個數", "io.sc.engine.mv.config.distribution.grid.entity.scoreSegEnd": "分數段結束值(含該值)",
"io.sc.engine.mv.config.distribution.grid.entity.count": "評分段內樣本個數",
"io.sc.engine.mv.config.scale.grid.title" : "標尺列表",
"io.sc.engine.mv.config.scale.grid.entity.modelId" : "模型標識", "io.sc.engine.mv.config.scale.grid.title": "標尺列表",
"io.sc.engine.mv.config.scale.grid.entity.modelName" : "模型名稱", "io.sc.engine.mv.config.scale.grid.entity.modelId": "模型標識",
"io.sc.engine.mv.config.scale.grid.entity.level" : "等級", "io.sc.engine.mv.config.scale.grid.entity.modelName": "模型名稱",
"io.sc.engine.mv.config.scale.grid.entity.pd" : "違約概率", "io.sc.engine.mv.config.scale.grid.entity.level": "等級",
"io.sc.engine.mv.config.scale.grid.entity.order" : "排序", "io.sc.engine.mv.config.scale.grid.entity.pd": "違約概率",
"io.sc.engine.mv.config.scale.grid.entity.order": "排序",
"io.sc.engine.mv.config.dataExtractor.grid.title" : "數據抽取器列表",
"io.sc.engine.mv.config.dataExtractor.grid.toolbar.example" : "導入示例", "io.sc.engine.mv.config.dataExtractor.grid.title": "數據抽取器列表",
"io.sc.engine.mv.config.dataExtractor.grid.toolbar.example.tip" : "您確定要導入示例數據抽取器嗎?", "io.sc.engine.mv.config.dataExtractor.grid.toolbar.example": "導入示例",
"io.sc.engine.mv.config.dataExtractor.grid.entity.datasourceName" : "數據源名稱", "io.sc.engine.mv.config.dataExtractor.grid.toolbar.example.tip": "您確定要導入示例數據抽取器嗎?",
"io.sc.engine.mv.config.dataExtractor.grid.entity.executeTimeWeight" : "預計執行時間權重", "io.sc.engine.mv.config.dataExtractor.grid.entity.datasourceName": "數據源名稱",
"io.sc.engine.mv.config.dataExtractor.grid.entity.groovyScript" : "Groovy 腳本", "io.sc.engine.mv.config.dataExtractor.grid.entity.executeTimeWeight": "預計執行時間權重",
"io.sc.engine.mv.config.dataExtractor.grid.entity.groovyScript": "Groovy 腳本",
"io.sc.engine.mv.config.executor.grid.title" : "執行器列表",
"io.sc.engine.mv.config.executor.grid.title": "執行器列表",
"io.sc.engine.mv.sample.action.importExampleSample" : "導入示例樣本",
"io.sc.engine.mv.sample.action.importExampleSample.tip" : "您確定要導入示例樣本嗎?", "io.sc.engine.mv.sample.action.importExampleSample": "導入示例樣本",
"io.sc.engine.mv.sample.action.removeAllSample" : "刪除所有樣本", "io.sc.engine.mv.sample.action.importExampleSample.tip": "您確定要導入示例樣本嗎?",
"io.sc.engine.mv.sample.action.removeAllSample.tip" : "您確定要刪除所有樣本嗎?", "io.sc.engine.mv.sample.action.removeAllSample": "刪除所有樣本",
"io.sc.engine.mv.sample.tabs.sample" : "合格樣本", "io.sc.engine.mv.sample.action.removeAllSample.tip": "您確定要刪除所有樣本嗎?",
"io.sc.engine.mv.sample.tabs.scoreRecord" : "評分記錄", "io.sc.engine.mv.sample.tabs.sample": "合格樣本",
"io.sc.engine.mv.sample.tabs.defaultRecord" : "違約記錄", "io.sc.engine.mv.sample.tabs.scoreRecord": "評分記錄",
"io.sc.engine.mv.sample.tabs.defaultRecord": "違約記錄",
"io.sc.engine.mv.sample.sample.grid.title" : "合格樣本列表",
"io.sc.engine.mv.sample.sample.grid.entity.validateDate" : "驗證日期", "io.sc.engine.mv.sample.sample.grid.title": "合格樣本列表",
"io.sc.engine.mv.sample.sample.grid.entity.customId" : "客戶標識", "io.sc.engine.mv.sample.sample.grid.entity.validateDate": "驗證日期",
"io.sc.engine.mv.sample.sample.grid.entity.customName" : "客戶名稱", "io.sc.engine.mv.sample.sample.grid.entity.customId": "客戶標識",
"io.sc.engine.mv.sample.sample.grid.entity.modelId" : "模型標識", "io.sc.engine.mv.sample.sample.grid.entity.customName": "客戶名稱",
"io.sc.engine.mv.sample.sample.grid.entity.modelName" : "模型名稱", "io.sc.engine.mv.sample.sample.grid.entity.modelId": "模型標識",
"io.sc.engine.mv.sample.sample.grid.entity.pd" : "違約概率", "io.sc.engine.mv.sample.sample.grid.entity.modelName": "模型名稱",
"io.sc.engine.mv.sample.sample.grid.entity.score" : "評分", "io.sc.engine.mv.sample.sample.grid.entity.pd": "違約概率",
"io.sc.engine.mv.sample.sample.grid.entity.scoreQuantitative" : "定量評分", "io.sc.engine.mv.sample.sample.grid.entity.score": "評分",
"io.sc.engine.mv.sample.sample.grid.entity.scoreQualitative" : "定性評分", "io.sc.engine.mv.sample.sample.grid.entity.scoreQuantitative": "定量評分",
"io.sc.engine.mv.sample.sample.grid.entity.level" : "等級", "io.sc.engine.mv.sample.sample.grid.entity.scoreQualitative": "定性評分",
"io.sc.engine.mv.sample.sample.grid.entity.beginDate" : "評分開始日期", "io.sc.engine.mv.sample.sample.grid.entity.level": "等級",
"io.sc.engine.mv.sample.sample.grid.entity.endDate" : "評分結束日期", "io.sc.engine.mv.sample.sample.grid.entity.beginDate": "評分開始日期",
"io.sc.engine.mv.sample.sample.grid.entity.defaultConfirmDate" : "評分結束日期", "io.sc.engine.mv.sample.sample.grid.entity.endDate": "評分結束日期",
"io.sc.engine.mv.sample.sample.grid.entity.defaultConfirmDate": "評分結束日期",
"io.sc.engine.mv.sample.scoreRecord.grid.title" : "評分記錄列表",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.customId" : "客戶標識", "io.sc.engine.mv.sample.scoreRecord.grid.title": "評分記錄列表",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.customName" : "客戶名稱", "io.sc.engine.mv.sample.scoreRecord.grid.entity.customId": "客戶標識",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.modelId" : "模型標識", "io.sc.engine.mv.sample.scoreRecord.grid.entity.customName": "客戶名稱",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.modelName" : "模型名稱", "io.sc.engine.mv.sample.scoreRecord.grid.entity.modelId": "模型標識",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.pd" : "違約概率", "io.sc.engine.mv.sample.scoreRecord.grid.entity.modelName": "模型名稱",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.score" : "評分", "io.sc.engine.mv.sample.scoreRecord.grid.entity.pd": "違約概率",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.scoreQuantitative" : "定量評分", "io.sc.engine.mv.sample.scoreRecord.grid.entity.score": "評分",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.scoreQualitative" : "定性評分", "io.sc.engine.mv.sample.scoreRecord.grid.entity.scoreQuantitative": "定量評分",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.level" : "等級", "io.sc.engine.mv.sample.scoreRecord.grid.entity.scoreQualitative": "定性評分",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.scoreBeginDate" : "評分開始日期", "io.sc.engine.mv.sample.scoreRecord.grid.entity.level": "等級",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.scoreEndDate" : "評分結束日期", "io.sc.engine.mv.sample.scoreRecord.grid.entity.scoreBeginDate": "評分開始日期",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.scoreEndDate": "評分結束日期",
"io.sc.engine.mv.sample.defaultRecord.grid.title" : "違約記錄列表",
"io.sc.engine.mv.sample.defaultRecord.grid.entity.customId" : "客戶標識", "io.sc.engine.mv.sample.defaultRecord.grid.title": "違約記錄列表",
"io.sc.engine.mv.sample.defaultRecord.grid.entity.defaultConfirmDate" : "違約確定日期", "io.sc.engine.mv.sample.defaultRecord.grid.entity.customId": "客戶標識",
"io.sc.engine.mv.sample.defaultRecord.grid.entity.defaultConfirmDate": "違約確定日期",
"io.sc.engine.mv.result.task.progress" : "當前正在執行的任務進度:",
"io.sc.engine.mv.result.task.progress": "當前正在執行的任務進度:",
"io.sc.engine.mv.result.grid.title" : "驗證結果列表验证结果列表",
"io.sc.engine.mv.result.grid.toolbar.execute" : "執行驗證", "io.sc.engine.mv.result.grid.title": "驗證結果列表验证结果列表",
"io.sc.engine.mv.result.grid.entity.validateDate" : "驗證日期", "io.sc.engine.mv.result.grid.toolbar.execute": "執行驗證",
"io.sc.engine.mv.result.grid.entity.runtimeParameters" : "運行時參數", "io.sc.engine.mv.result.grid.entity.validateDate": "驗證日期",
"io.sc.engine.mv.result.grid.entity.runtimeParameters.rateStartDateFrom" : "評級開始日期從", "io.sc.engine.mv.result.grid.entity.runtimeParameters": "運行時參數",
"io.sc.engine.mv.result.grid.entity.runtimeParameters.rateStartDateTo" : "評級開始日期到", "io.sc.engine.mv.result.grid.entity.runtimeParameters.rateStartDateFrom": "評級開始日期從",
"io.sc.engine.mv.result.grid.entity.runtimeParameters.performPeriod" : "表現期", "io.sc.engine.mv.result.grid.entity.runtimeParameters.rateStartDateTo": "評級開始日期到",
"io.sc.engine.mv.result.grid.entity.runtimeParameters.binomialSignificanceLevel" : "二項檢驗顯著水平", "io.sc.engine.mv.result.grid.entity.runtimeParameters.performPeriod": "表現期",
"io.sc.engine.mv.result.grid.entity.runtimeParameters.chiSquareSignificanceLevel" : "卡方檢驗顯著水平", "io.sc.engine.mv.result.grid.entity.runtimeParameters.binomialSignificanceLevel": "二項檢驗顯著水平",
"io.sc.engine.mv.result.grid.entity.modelId" : "模型標識", "io.sc.engine.mv.result.grid.entity.runtimeParameters.chiSquareSignificanceLevel": "卡方檢驗顯著水平",
"io.sc.engine.mv.result.grid.entity.modelName" : "模型名稱", "io.sc.engine.mv.result.grid.entity.modelId": "模型標識",
"io.sc.engine.mv.result.grid.entity.executeMode" : "執行模式", "io.sc.engine.mv.result.grid.entity.modelName": "模型名稱",
"io.sc.engine.mv.result.grid.entity.totalSampleCount" : "總樣本數", "io.sc.engine.mv.result.grid.entity.executeMode": "執行模式",
"io.sc.engine.mv.result.grid.entity.defaultSampleCount" : "違約樣本數", "io.sc.engine.mv.result.grid.entity.totalSampleCount": "總樣本數",
"io.sc.engine.mv.result.grid.entity.discrimination" : "區分能力", "io.sc.engine.mv.result.grid.entity.defaultSampleCount": "違約樣本數",
"io.sc.engine.mv.result.grid.entity.total" : "總體", "io.sc.engine.mv.result.grid.entity.discrimination": "區分能力",
"io.sc.engine.mv.result.grid.entity.total.auc" : "AUC(總體)", "io.sc.engine.mv.result.grid.entity.total": "總體",
"io.sc.engine.mv.result.grid.entity.total.ar" : "AR(總體)", "io.sc.engine.mv.result.grid.entity.total.auc": "AUC(總體)",
"io.sc.engine.mv.result.grid.entity.total.ks" : "KS(總體)", "io.sc.engine.mv.result.grid.entity.total.ar": "AR(總體)",
"io.sc.engine.mv.result.grid.entity.quantitative.auc" : "AUC(定量)", "io.sc.engine.mv.result.grid.entity.total.ks": "KS(總體)",
"io.sc.engine.mv.result.grid.entity.quantitative.ar" : "AR(定量)", "io.sc.engine.mv.result.grid.entity.quantitative.auc": "AUC(定量)",
"io.sc.engine.mv.result.grid.entity.quantitative.ks" : "KS(定量)", "io.sc.engine.mv.result.grid.entity.quantitative.ar": "AR(定量)",
"io.sc.engine.mv.result.grid.entity.qualitative.auc" : "AUC(定性)", "io.sc.engine.mv.result.grid.entity.quantitative.ks": "KS(定量)",
"io.sc.engine.mv.result.grid.entity.qualitative.ar" : "AR(定性)", "io.sc.engine.mv.result.grid.entity.qualitative.auc": "AUC(定性)",
"io.sc.engine.mv.result.grid.entity.qualitative.ks" : "KS(定性)", "io.sc.engine.mv.result.grid.entity.qualitative.ar": "AR(定性)",
"io.sc.engine.mv.result.grid.entity.auc" : "AUC", "io.sc.engine.mv.result.grid.entity.qualitative.ks": "KS(定性)",
"io.sc.engine.mv.result.grid.entity.ar" : "AR", "io.sc.engine.mv.result.grid.entity.auc": "AUC",
"io.sc.engine.mv.result.grid.entity.ks" : "KS", "io.sc.engine.mv.result.grid.entity.ar": "AR",
"io.sc.engine.mv.result.grid.entity.stability" : "穩定性", "io.sc.engine.mv.result.grid.entity.ks": "KS",
"io.sc.engine.mv.result.grid.entity.svd" : "SVD", "io.sc.engine.mv.result.grid.entity.stability": "穩定性",
"io.sc.engine.mv.result.grid.entity.psi" : "PSI", "io.sc.engine.mv.result.grid.entity.svd": "SVD",
"io.sc.engine.mv.result.grid.entity.scaleValidate" : "標尺檢驗", "io.sc.engine.mv.result.grid.entity.psi": "PSI",
"io.sc.engine.mv.result.grid.entity.chiSquare" : "卡方檢驗", "io.sc.engine.mv.result.grid.entity.scaleValidate": "標尺檢驗",
"io.sc.engine.mv.result.grid.entity.binomial" : "二項檢驗", "io.sc.engine.mv.result.grid.entity.chiSquare": "卡方檢驗",
"io.sc.engine.mv.result.grid.entity.binomial": "二項檢驗",
"io.sc.engine.mv.result.curve.references" : "參考標準",
"io.sc.engine.mv.result.curve.viewData" : "查看 {type} 數據", "io.sc.engine.mv.result.curve.references": "參考標準",
"io.sc.engine.mv.result.curve.scoreCutOffPoint" : "評分截斷點", "io.sc.engine.mv.result.curve.viewData": "查看 {type} 數據",
"io.sc.engine.mv.result.curve.scoreCutOffPoint": "評分截斷點",
"io.sc.engine.mv.result.curve.roc.dd" : "(DD)實際違約且預測違約樣本總數",
"io.sc.engine.mv.result.curve.roc.dn" : "(DN)實際違約且預測正常樣本總數", "io.sc.engine.mv.result.curve.roc.dd": "(DD)實際違約且預測違約樣本總數",
"io.sc.engine.mv.result.curve.roc.nd" : "(ND)實際正常且預測違約樣本總數", "io.sc.engine.mv.result.curve.roc.dn": "(DN)實際違約且預測正常樣本總數",
"io.sc.engine.mv.result.curve.roc.nn" : "(NN)實際正常且預測正常樣本總數", "io.sc.engine.mv.result.curve.roc.nd": "(ND)實際正常且預測違約樣本總數",
"io.sc.engine.mv.result.curve.roc.td" : "(TD)實際違約樣本總數", "io.sc.engine.mv.result.curve.roc.nn": "(NN)實際正常且預測正常樣本總數",
"io.sc.engine.mv.result.curve.roc.tn" : "(TN)實際正常樣本總數", "io.sc.engine.mv.result.curve.roc.td": "(TD)實際違約樣本總數",
"io.sc.engine.mv.result.curve.roc.x" : "(X=ND/TN)違約預測誤警率", "io.sc.engine.mv.result.curve.roc.tn": "(TN)實際正常樣本總數",
"io.sc.engine.mv.result.curve.roc.y" : "(Y=DD/TD)違約預測命中率", "io.sc.engine.mv.result.curve.roc.x": "(X=ND/TN)違約預測誤警率",
"io.sc.engine.mv.result.curve.roc.y": "(Y=DD/TD)違約預測命中率",
"io.sc.engine.mv.result.curve.cap.ts" : "(TS)評分小於等於截斷點的樣本個數",
"io.sc.engine.mv.result.curve.cap.tt" : "(TT)樣本总数", "io.sc.engine.mv.result.curve.cap.ts": "(TS)評分小於等於截斷點的樣本個數",
"io.sc.engine.mv.result.curve.cap.tds" : "(TDS)評分小於等於截斷點的事實違約樣本個數", "io.sc.engine.mv.result.curve.cap.tt": "(TT)樣本总数",
"io.sc.engine.mv.result.curve.cap.tdt" : "(TDT)事實違約樣本總數", "io.sc.engine.mv.result.curve.cap.tds": "(TDS)評分小於等於截斷點的事實違約樣本個數",
"io.sc.engine.mv.result.curve.cap.x" : "(X)違約樣本百分比", "io.sc.engine.mv.result.curve.cap.tdt": "(TDT)事實違約樣本總數",
"io.sc.engine.mv.result.curve.cap.y" : "(Y)樣本百分比", "io.sc.engine.mv.result.curve.cap.x": "(X)違約樣本百分比",
"io.sc.engine.mv.result.curve.cap.y": "(Y)樣本百分比",
"io.sc.engine.mv.result.curve.ks.n" : "(N)評分小於等於截斷點事實正常的樣本個數",
"io.sc.engine.mv.result.curve.ks.tn" : "(TN)事實正常樣本總數", "io.sc.engine.mv.result.curve.ks.n": "(N)評分小於等於截斷點事實正常的樣本個數",
"io.sc.engine.mv.result.curve.ks.d" : "(D)評分小於等於截斷點事實違約樣本個數", "io.sc.engine.mv.result.curve.ks.tn": "(TN)事實正常樣本總數",
"io.sc.engine.mv.result.curve.ks.td" : "(TD)事實违约樣本總數", "io.sc.engine.mv.result.curve.ks.d": "(D)評分小於等於截斷點事實違約樣本個數",
"io.sc.engine.mv.result.curve.ks.y1" : "(Y1)正常樣本占比", "io.sc.engine.mv.result.curve.ks.td": "(TD)事實违约樣本總數",
"io.sc.engine.mv.result.curve.ks.y2" : "(Y2)違約樣本占比", "io.sc.engine.mv.result.curve.ks.y1": "(Y1)正常樣本占比",
"io.sc.engine.mv.result.curve.ks.y2": "(Y2)違約樣本占比",
"io.sc.engine.mv.result.chiSquare.grid.title" : "卡方检验結果",
"io.sc.engine.mv.result.chiSquare.level" : "評分等級", "io.sc.engine.mv.result.chiSquare.grid.title": "卡方检验結果",
"io.sc.engine.mv.result.chiSquare.pd" : "違約概率", "io.sc.engine.mv.result.chiSquare.level": "評分等級",
"io.sc.engine.mv.result.chiSquare.count" : "樣本總數", "io.sc.engine.mv.result.chiSquare.pd": "違約概率",
"io.sc.engine.mv.result.chiSquare.defaultCount" : "事實違約樣本個數", "io.sc.engine.mv.result.chiSquare.count": "樣本總數",
"io.sc.engine.mv.result.chiSquare.chiSquare" : "卡方检验值", "io.sc.engine.mv.result.chiSquare.defaultCount": "事實違約樣本個數",
"io.sc.engine.mv.result.chiSquare.chiSquare": "卡方检验值",
"io.sc.engine.mv.result.binomial.grid.title" : "二項檢驗結果",
"io.sc.engine.mv.result.binomial.level" : "評分等級", "io.sc.engine.mv.result.binomial.grid.title": "二項檢驗結果",
"io.sc.engine.mv.result.binomial.pd" : "違約概率", "io.sc.engine.mv.result.binomial.level": "評分等級",
"io.sc.engine.mv.result.binomial.count" : "樣本總數", "io.sc.engine.mv.result.binomial.pd": "違約概率",
"io.sc.engine.mv.result.binomial.defaultCount" : "事實違約樣本個數", "io.sc.engine.mv.result.binomial.count": "樣本總數",
"io.sc.engine.mv.result.binomial.ndAvg" : "正態分佈平均數", "io.sc.engine.mv.result.binomial.defaultCount": "事實違約樣本個數",
"io.sc.engine.mv.result.binomial.ndSd" : "正態分佈標準差", "io.sc.engine.mv.result.binomial.ndAvg": "正態分佈平均數",
"io.sc.engine.mv.result.binomial.sl" : "顯著水平", "io.sc.engine.mv.result.binomial.ndSd": "正態分佈標準差",
"io.sc.engine.mv.result.binomial.cl" : "置信水平", "io.sc.engine.mv.result.binomial.sl": "顯著水平",
"io.sc.engine.mv.result.binomial.zUpper" : "正態分佈Z值上界", "io.sc.engine.mv.result.binomial.cl": "置信水平",
"io.sc.engine.mv.result.binomial.zLower" : "正態分佈Z值下界", "io.sc.engine.mv.result.binomial.zUpper": "正態分佈Z值上界",
"io.sc.engine.mv.result.binomial.dUpper" : "臨界值上界", "io.sc.engine.mv.result.binomial.zLower": "正態分佈Z值下界",
"io.sc.engine.mv.result.binomial.dLower" : "臨界值下界", "io.sc.engine.mv.result.binomial.dUpper": "臨界值上界",
"io.sc.engine.mv.result.binomial.leUpper" : "事實違約個數是否小於等於上界", "io.sc.engine.mv.result.binomial.dLower": "臨界值下界",
"io.sc.engine.mv.result.binomial.geLower" : "事實違約個數是否大於等於下界", "io.sc.engine.mv.result.binomial.leUpper": "事實違約個數是否小於等於上界",
"io.sc.engine.mv.result.binomial.geLower": "事實違約個數是否大於等於下界",
"io.sc.engine.mv.executorDialog.title" : "执行",
"io.sc.engine.mv.executorDialog.form.entity.rateStartDateFrom" : "評級有效期開始日期範圍(起始日期)", "io.sc.engine.mv.executorDialog.title": "执行",
"io.sc.engine.mv.executorDialog.form.entity.rateStartDateTo" : "評級有效期開始日期範圍(結束日期)", "io.sc.engine.mv.executorDialog.form.entity.rateStartDateFrom": "評級有效期開始日期範圍(起始日期)",
"io.sc.engine.mv.executorDialog.form.entity.performPeriod" : "評級表現期(月)", "io.sc.engine.mv.executorDialog.form.entity.rateStartDateTo": "評級有效期開始日期範圍(結束日期)",
"io.sc.engine.mv.executorDialog.form.entity.binomialSignificanceLevel" : "二項檢驗採用的顯著水平", "io.sc.engine.mv.executorDialog.form.entity.performPeriod": "評級表現期(月)",
"io.sc.engine.mv.executorDialog.form.entity.chiSquareSignificanceLevel" : "卡方檢驗採用的顯著水平", "io.sc.engine.mv.executorDialog.form.entity.binomialSignificanceLevel": "二項檢驗採用的顯著水平",
"io.sc.engine.mv.executorDialog.form.action.execute" : "立即執行" "io.sc.engine.mv.executorDialog.form.entity.chiSquareSignificanceLevel": "卡方檢驗採用的顯著水平",
"io.sc.engine.mv.executorDialog.form.action.execute": "立即執行"
} }

454
io.sc.engine.mv.frontend/src/i18n/messages_zh_CN.json

@ -1,229 +1,229 @@
{ {
"menu.engine.mv" : "模型验证工具", "menu.engine.mv": "模型验证工具",
"menu.engine.mv.config" : "配置", "menu.engine.mv.config": "配置",
"menu.engine.mv.config.cutOffPoint" : "评分截断点", "menu.engine.mv.config.cutOffPoint": "评分截断点",
"menu.engine.mv.config.threshold" : "预警阈值", "menu.engine.mv.config.threshold": "预警阈值",
"menu.engine.mv.config.binomial" : "二项检验Z值常量", "menu.engine.mv.config.binomial": "二项检验Z值常量",
"menu.engine.mv.config.chiSquare" : "卡方检验临界值常量", "menu.engine.mv.config.chiSquare": "卡方检验临界值常量",
"menu.engine.mv.config.model" : "模型", "menu.engine.mv.config.model": "模型",
"menu.engine.mv.config.distribution" : "建模时评分分布", "menu.engine.mv.config.distribution": "建模时评分分布",
"menu.engine.mv.config.scale" : "标尺", "menu.engine.mv.config.scale": "标尺",
"menu.engine.mv.config.dataExtractor" : "数据抽取器接口", "menu.engine.mv.config.dataExtractor": "数据抽取器接口",
"menu.engine.mv.config.executor" : "执行器", "menu.engine.mv.config.executor": "执行器",
"menu.engine.mv.sample" : "样本管理", "menu.engine.mv.sample": "样本管理",
"menu.engine.mv.result" : "验证结果查看", "menu.engine.mv.result": "验证结果查看",
"io.sc.engine.mv.enums.GoodLevel.POOR" : "差", "io.sc.engine.mv.enums.GoodLevel.POOR": "差",
"io.sc.engine.mv.enums.GoodLevel.MEDIUM" : "中等", "io.sc.engine.mv.enums.GoodLevel.MEDIUM": "中等",
"io.sc.engine.mv.enums.GoodLevel.GOOD" : "好", "io.sc.engine.mv.enums.GoodLevel.GOOD": "好",
"io.sc.engine.mv.enums.GoodLevel.VERY_GOOD" : "很好", "io.sc.engine.mv.enums.GoodLevel.VERY_GOOD": "很好",
"io.sc.engine.mv.enums.GoodLevel.EXCELLENT" : "非常好", "io.sc.engine.mv.enums.GoodLevel.EXCELLENT": "非常好",
"io.sc.engine.mv.enums.GoodLevel.PERFECT" : "完美", "io.sc.engine.mv.enums.GoodLevel.PERFECT": "完美",
"io.sc.engine.mv.enums.Stability.yes" : "模型比较稳定", "io.sc.engine.mv.enums.Stability.yes": "模型比较稳定",
"io.sc.engine.mv.enums.Stability.no" : "模型发生了偏移", "io.sc.engine.mv.enums.Stability.no": "模型发生了偏移",
"io.sc.engine.mv.config.cutOffPoint.grid.title" : "评分截断点配置列表", "io.sc.engine.mv.config.cutOffPoint.grid.title": "评分截断点配置列表",
"io.sc.engine.mv.config.cutOffPoint.grid.entity.name" : "名称", "io.sc.engine.mv.config.cutOffPoint.grid.entity.name": "名称",
"io.sc.engine.mv.config.cutOffPoint.grid.entity.from" : "起始值(含)", "io.sc.engine.mv.config.cutOffPoint.grid.entity.from": "起始值(含)",
"io.sc.engine.mv.config.cutOffPoint.grid.entity.to" : "结束值(含)", "io.sc.engine.mv.config.cutOffPoint.grid.entity.to": "结束值(含)",
"io.sc.engine.mv.config.cutOffPoint.grid.entity.step" : "增量值", "io.sc.engine.mv.config.cutOffPoint.grid.entity.step": "增量值",
"io.sc.engine.mv.config.cutOffPoint.grid.entity.scale" : "精度", "io.sc.engine.mv.config.cutOffPoint.grid.entity.scale": "精度",
"io.sc.engine.mv.config.threshold.grid.title" : "预警阈值配置列表", "io.sc.engine.mv.config.threshold.grid.title": "预警阈值配置列表",
"io.sc.engine.mv.config.threshold.grid.entity.name" : "名称", "io.sc.engine.mv.config.threshold.grid.entity.name": "名称",
"io.sc.engine.mv.config.threshold.grid.entity.level" : "等级(越大越好)", "io.sc.engine.mv.config.threshold.grid.entity.level": "等级(越大越好)",
"io.sc.engine.mv.config.threshold.grid.entity.color" : "颜色", "io.sc.engine.mv.config.threshold.grid.entity.color": "颜色",
"io.sc.engine.mv.config.threshold.grid.entity.range" : "预警阈值范围", "io.sc.engine.mv.config.threshold.grid.entity.range": "预警阈值范围",
"io.sc.engine.mv.config.threshold.grid.entity.quantitativeRange" : "预警阈值范围(定量)", "io.sc.engine.mv.config.threshold.grid.entity.quantitativeRange": "预警阈值范围(定量)",
"io.sc.engine.mv.config.threshold.grid.entity.qualitativeRange" : "预警阈值范围(定性)", "io.sc.engine.mv.config.threshold.grid.entity.qualitativeRange": "预警阈值范围(定性)",
"io.sc.engine.mv.config.binomial.grid.title" : "二项检验标准正态分布显著水平下的Z值常量列表", "io.sc.engine.mv.config.binomial.grid.title": "二项检验标准正态分布显著水平下的Z值常量列表",
"io.sc.engine.mv.config.binomial.grid.entity.significanceLevel" : "显著水平", "io.sc.engine.mv.config.binomial.grid.entity.significanceLevel": "显著水平",
"io.sc.engine.mv.config.binomial.grid.entity.confidenceLevel" : "置信水平", "io.sc.engine.mv.config.binomial.grid.entity.confidenceLevel": "置信水平",
"io.sc.engine.mv.config.binomial.grid.entity.zUpper" : "Z值上界", "io.sc.engine.mv.config.binomial.grid.entity.zUpper": "Z值上界",
"io.sc.engine.mv.config.binomial.grid.entity.zLower" : "Z值下界", "io.sc.engine.mv.config.binomial.grid.entity.zLower": "Z值下界",
"io.sc.engine.mv.config.chiSquare.grid.title" : "卡方分布临界值常量", "io.sc.engine.mv.config.chiSquare.grid.title": "卡方分布临界值常量",
"io.sc.engine.mv.config.chiSquare.grid.entity.dof" : "自由度", "io.sc.engine.mv.config.chiSquare.grid.entity.dof": "自由度",
"io.sc.engine.mv.config.chiSquare.grid.entity.significanceLevel" : "显著水平", "io.sc.engine.mv.config.chiSquare.grid.entity.significanceLevel": "显著水平",
"io.sc.engine.mv.config.chiSquare.grid.entity.criticalValue" : "临界值", "io.sc.engine.mv.config.chiSquare.grid.entity.criticalValue": "临界值",
"io.sc.engine.mv.config.model.grid.title" : "模型列表", "io.sc.engine.mv.config.model.grid.title": "模型列表",
"io.sc.engine.mv.config.model.grid.toolbar.importFromScoreRecordTable" : "从评分记录表中导入", "io.sc.engine.mv.config.model.grid.toolbar.importFromScoreRecordTable": "从评分记录表中导入",
"io.sc.engine.mv.config.model.grid.entity.type" : "模型创建类型", "io.sc.engine.mv.config.model.grid.entity.type": "模型创建类型",
"io.sc.engine.mv.config.model.grid.entity.modelId" : "模型标识", "io.sc.engine.mv.config.model.grid.entity.modelId": "模型标识",
"io.sc.engine.mv.config.model.grid.entity.modelName" : "模型名称", "io.sc.engine.mv.config.model.grid.entity.modelName": "模型名称",
"io.sc.engine.mv.config.model.grid.action.importFromScoreRecord": "您确定要从评级记录表中导入模型?",
"io.sc.engine.mv.config.distribution.grid.title" : "咨询建模时样本分布情况配置列表",
"io.sc.engine.mv.config.distribution.grid.entity.modelId" : "模型标识", "io.sc.engine.mv.config.distribution.grid.title": "咨询建模时样本分布情况配置列表",
"io.sc.engine.mv.config.distribution.grid.entity.modelName" : "模型名称", "io.sc.engine.mv.config.distribution.grid.entity.modelId": "模型标识",
"io.sc.engine.mv.config.distribution.grid.entity.scoreSegStart" : "分数段开始值(含该值)", "io.sc.engine.mv.config.distribution.grid.entity.modelName": "模型名称",
"io.sc.engine.mv.config.distribution.grid.entity.scoreSegEnd" : "分数段结束值(含该值)", "io.sc.engine.mv.config.distribution.grid.entity.scoreSegStart": "分数段开始值(含该值)",
"io.sc.engine.mv.config.distribution.grid.entity.count" : "评分段内样本个数", "io.sc.engine.mv.config.distribution.grid.entity.scoreSegEnd": "分数段结束值(含该值)",
"io.sc.engine.mv.config.distribution.grid.entity.count": "评分段内样本个数",
"io.sc.engine.mv.config.scale.grid.title" : "标尺列表",
"io.sc.engine.mv.config.scale.grid.entity.modelId" : "模型标识", "io.sc.engine.mv.config.scale.grid.title": "标尺列表",
"io.sc.engine.mv.config.scale.grid.entity.modelName" : "模型名称", "io.sc.engine.mv.config.scale.grid.entity.modelId": "模型标识",
"io.sc.engine.mv.config.scale.grid.entity.level" : "等级", "io.sc.engine.mv.config.scale.grid.entity.modelName": "模型名称",
"io.sc.engine.mv.config.scale.grid.entity.pd" : "违约概率", "io.sc.engine.mv.config.scale.grid.entity.level": "等级",
"io.sc.engine.mv.config.scale.grid.entity.order" : "排序", "io.sc.engine.mv.config.scale.grid.entity.pd": "违约概率",
"io.sc.engine.mv.config.scale.grid.entity.order": "排序",
"io.sc.engine.mv.config.dataExtractor.grid.title" : "数据抽取器列表",
"io.sc.engine.mv.config.dataExtractor.grid.toolbar.example" : "导入示例", "io.sc.engine.mv.config.dataExtractor.grid.title": "数据抽取器列表",
"io.sc.engine.mv.config.dataExtractor.grid.toolbar.example.tip" : "您确定要导入示例数据抽取器吗?", "io.sc.engine.mv.config.dataExtractor.grid.toolbar.example": "导入示例",
"io.sc.engine.mv.config.dataExtractor.grid.entity.datasourceName" : "外部数据源名称", "io.sc.engine.mv.config.dataExtractor.grid.toolbar.example.tip": "您确定要导入示例数据抽取器吗?",
"io.sc.engine.mv.config.dataExtractor.grid.entity.executeTimeWeight" : "预计执行时间权重", "io.sc.engine.mv.config.dataExtractor.grid.entity.datasourceName": "外部数据源名称",
"io.sc.engine.mv.config.dataExtractor.grid.entity.groovyScript" : "Groovy 脚本", "io.sc.engine.mv.config.dataExtractor.grid.entity.executeTimeWeight": "预计执行时间权重",
"io.sc.engine.mv.config.dataExtractor.grid.entity.groovyScript": "Groovy 脚本",
"io.sc.engine.mv.config.executor.grid.title" : "执行器列表",
"io.sc.engine.mv.config.executor.grid.title": "执行器列表",
"io.sc.engine.mv.sample.action.importExampleSample" : "导入示例样本",
"io.sc.engine.mv.sample.action.importExampleSample.tip" : "您确定要导入示例样本吗?", "io.sc.engine.mv.sample.action.importExampleSample": "导入示例样本",
"io.sc.engine.mv.sample.action.removeAllSample" : "删除所有样本", "io.sc.engine.mv.sample.action.importExampleSample.tip": "您确定要导入示例样本吗?",
"io.sc.engine.mv.sample.action.removeAllSample.tip" : "您确定要删除所有样本吗?", "io.sc.engine.mv.sample.action.removeAllSample": "删除所有样本",
"io.sc.engine.mv.sample.tabs.sample" : "合格样本", "io.sc.engine.mv.sample.action.removeAllSample.tip": "您确定要删除所有样本吗?",
"io.sc.engine.mv.sample.tabs.scoreRecord" : "评分记录", "io.sc.engine.mv.sample.tabs.sample": "合格样本",
"io.sc.engine.mv.sample.tabs.defaultRecord" : "违约记录", "io.sc.engine.mv.sample.tabs.scoreRecord": "评分记录",
"io.sc.engine.mv.sample.tabs.defaultRecord": "违约记录",
"io.sc.engine.mv.sample.sample.grid.title" : "合格样本列表",
"io.sc.engine.mv.sample.sample.grid.entity.validateDate" : "验证日期", "io.sc.engine.mv.sample.sample.grid.title": "合格样本列表",
"io.sc.engine.mv.sample.sample.grid.entity.customId" : "客户标识", "io.sc.engine.mv.sample.sample.grid.entity.validateDate": "验证日期",
"io.sc.engine.mv.sample.sample.grid.entity.customName" : "客户名称", "io.sc.engine.mv.sample.sample.grid.entity.customId": "客户标识",
"io.sc.engine.mv.sample.sample.grid.entity.modelId" : "模型标识", "io.sc.engine.mv.sample.sample.grid.entity.customName": "客户名称",
"io.sc.engine.mv.sample.sample.grid.entity.modelName" : "模型名称", "io.sc.engine.mv.sample.sample.grid.entity.modelId": "模型标识",
"io.sc.engine.mv.sample.sample.grid.entity.pd" : "违约概率", "io.sc.engine.mv.sample.sample.grid.entity.modelName": "模型名称",
"io.sc.engine.mv.sample.sample.grid.entity.score" : "评分", "io.sc.engine.mv.sample.sample.grid.entity.pd": "违约概率",
"io.sc.engine.mv.sample.sample.grid.entity.scoreQuantitative" : "定量评分", "io.sc.engine.mv.sample.sample.grid.entity.score": "评分",
"io.sc.engine.mv.sample.sample.grid.entity.scoreQualitative" : "定性评分", "io.sc.engine.mv.sample.sample.grid.entity.scoreQuantitative": "定量评分",
"io.sc.engine.mv.sample.sample.grid.entity.level" : "等级", "io.sc.engine.mv.sample.sample.grid.entity.scoreQualitative": "定性评分",
"io.sc.engine.mv.sample.sample.grid.entity.beginDate" : "评分开始日期", "io.sc.engine.mv.sample.sample.grid.entity.level": "等级",
"io.sc.engine.mv.sample.sample.grid.entity.endDate" : "评分结束日期", "io.sc.engine.mv.sample.sample.grid.entity.beginDate": "评分开始日期",
"io.sc.engine.mv.sample.sample.grid.entity.defaultConfirmDate" : "违约确定日期", "io.sc.engine.mv.sample.sample.grid.entity.endDate": "评分结束日期",
"io.sc.engine.mv.sample.sample.grid.entity.defaultConfirmDate": "违约确定日期",
"io.sc.engine.mv.sample.scoreRecord.grid.title" : "评分记录列表", "io.sc.engine.mv.sample.scoreRecord.grid.title": "评分记录列表",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.customId" : "客户标识", "io.sc.engine.mv.sample.scoreRecord.grid.entity.customId": "客户标识",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.customName" : "客户名称", "io.sc.engine.mv.sample.scoreRecord.grid.entity.customName": "客户名称",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.modelId" : "模型标识", "io.sc.engine.mv.sample.scoreRecord.grid.entity.modelId": "模型标识",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.modelName" : "模型名称", "io.sc.engine.mv.sample.scoreRecord.grid.entity.modelName": "模型名称",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.pd" : "违约概率", "io.sc.engine.mv.sample.scoreRecord.grid.entity.pd": "违约概率",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.score" : "评分", "io.sc.engine.mv.sample.scoreRecord.grid.entity.score": "评分",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.scoreQuantitative" : "定量评分", "io.sc.engine.mv.sample.scoreRecord.grid.entity.scoreQuantitative": "定量评分",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.scoreQualitative" : "定性评分", "io.sc.engine.mv.sample.scoreRecord.grid.entity.scoreQualitative": "定性评分",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.level" : "等级", "io.sc.engine.mv.sample.scoreRecord.grid.entity.level": "等级",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.scoreBeginDate" : "评分开始日期", "io.sc.engine.mv.sample.scoreRecord.grid.entity.scoreBeginDate": "评分开始日期",
"io.sc.engine.mv.sample.scoreRecord.grid.entity.scoreEndDate" : "评分结束日期", "io.sc.engine.mv.sample.scoreRecord.grid.entity.scoreEndDate": "评分结束日期",
"io.sc.engine.mv.sample.defaultRecord.grid.title" : "违约记录列表", "io.sc.engine.mv.sample.defaultRecord.grid.title": "违约记录列表",
"io.sc.engine.mv.sample.defaultRecord.grid.entity.customId" : "客户标识", "io.sc.engine.mv.sample.defaultRecord.grid.entity.customId": "客户标识",
"io.sc.engine.mv.sample.defaultRecord.grid.entity.defaultConfirmDate" : "违约确定日期", "io.sc.engine.mv.sample.defaultRecord.grid.entity.defaultConfirmDate": "违约确定日期",
"io.sc.engine.mv.result.task.progress" : "当前正在执行的任务进度:", "io.sc.engine.mv.result.task.progress": "当前正在执行的任务进度:",
"io.sc.engine.mv.result.grid.title" : "验证结果列表", "io.sc.engine.mv.result.grid.title": "验证结果列表",
"io.sc.engine.mv.result.grid.toolbar.execute" : "执行验证", "io.sc.engine.mv.result.grid.toolbar.execute": "执行验证",
"io.sc.engine.mv.result.grid.entity.validateDate" : "验证日期", "io.sc.engine.mv.result.grid.entity.validateDate": "验证日期",
"io.sc.engine.mv.result.grid.entity.runtimeParameters" : "运行时参数", "io.sc.engine.mv.result.grid.entity.runtimeParameters": "运行时参数",
"io.sc.engine.mv.result.grid.entity.runtimeParameters.rateStartDateFrom" : "评级开始日期从", "io.sc.engine.mv.result.grid.entity.runtimeParameters.rateStartDateFrom": "评级开始日期从",
"io.sc.engine.mv.result.grid.entity.runtimeParameters.rateStartDateTo" : "评级开始日期到", "io.sc.engine.mv.result.grid.entity.runtimeParameters.rateStartDateTo": "评级开始日期到",
"io.sc.engine.mv.result.grid.entity.runtimeParameters.performPeriod" : "表现期", "io.sc.engine.mv.result.grid.entity.runtimeParameters.performPeriod": "表现期",
"io.sc.engine.mv.result.grid.entity.runtimeParameters.binomialSignificanceLevel" : "二项检验显著水平", "io.sc.engine.mv.result.grid.entity.runtimeParameters.binomialSignificanceLevel": "二项检验显著水平",
"io.sc.engine.mv.result.grid.entity.runtimeParameters.chiSquareSignificanceLevel" : "卡方检验显著水平", "io.sc.engine.mv.result.grid.entity.runtimeParameters.chiSquareSignificanceLevel": "卡方检验显著水平",
"io.sc.engine.mv.result.grid.entity.modelId" : "模型标识", "io.sc.engine.mv.result.grid.entity.modelId": "模型标识",
"io.sc.engine.mv.result.grid.entity.modelName" : "模型名称", "io.sc.engine.mv.result.grid.entity.modelName": "模型名称",
"io.sc.engine.mv.result.grid.entity.executeMode" : "执行模式", "io.sc.engine.mv.result.grid.entity.executeMode": "执行模式",
"io.sc.engine.mv.result.grid.entity.totalSampleCount" : "总样本数", "io.sc.engine.mv.result.grid.entity.totalSampleCount": "总样本数",
"io.sc.engine.mv.result.grid.entity.defaultSampleCount" : "违约样本数", "io.sc.engine.mv.result.grid.entity.defaultSampleCount": "违约样本数",
"io.sc.engine.mv.result.grid.entity.discrimination" : "区分能力", "io.sc.engine.mv.result.grid.entity.discrimination": "区分能力",
"io.sc.engine.mv.result.grid.entity.total" : "总体", "io.sc.engine.mv.result.grid.entity.total": "总体",
"io.sc.engine.mv.result.grid.entity.total.auc" : "AUC(总体)", "io.sc.engine.mv.result.grid.entity.total.auc": "AUC(总体)",
"io.sc.engine.mv.result.grid.entity.total.ar" : "AR(总体)", "io.sc.engine.mv.result.grid.entity.total.ar": "AR(总体)",
"io.sc.engine.mv.result.grid.entity.total.ks" : "KS(总体)", "io.sc.engine.mv.result.grid.entity.total.ks": "KS(总体)",
"io.sc.engine.mv.result.grid.entity.quantitative.auc" : "AUC(定量)", "io.sc.engine.mv.result.grid.entity.quantitative.auc": "AUC(定量)",
"io.sc.engine.mv.result.grid.entity.quantitative.ar" : "AR(定量)", "io.sc.engine.mv.result.grid.entity.quantitative.ar": "AR(定量)",
"io.sc.engine.mv.result.grid.entity.quantitative.ks" : "KS(定量)", "io.sc.engine.mv.result.grid.entity.quantitative.ks": "KS(定量)",
"io.sc.engine.mv.result.grid.entity.qualitative.auc" : "AUC(定性)", "io.sc.engine.mv.result.grid.entity.qualitative.auc": "AUC(定性)",
"io.sc.engine.mv.result.grid.entity.qualitative.ar" : "AR(定性)", "io.sc.engine.mv.result.grid.entity.qualitative.ar": "AR(定性)",
"io.sc.engine.mv.result.grid.entity.qualitative.ks" : "KS(定性)", "io.sc.engine.mv.result.grid.entity.qualitative.ks": "KS(定性)",
"io.sc.engine.mv.result.grid.entity.auc" : "AUC", "io.sc.engine.mv.result.grid.entity.auc": "AUC",
"io.sc.engine.mv.result.grid.entity.ar" : "AR", "io.sc.engine.mv.result.grid.entity.ar": "AR",
"io.sc.engine.mv.result.grid.entity.ks" : "KS", "io.sc.engine.mv.result.grid.entity.ks": "KS",
"io.sc.engine.mv.result.grid.entity.stability" : "稳定性", "io.sc.engine.mv.result.grid.entity.stability": "稳定性",
"io.sc.engine.mv.result.grid.entity.svd" : "SVD", "io.sc.engine.mv.result.grid.entity.svd": "SVD",
"io.sc.engine.mv.result.grid.entity.psi" : "PSI", "io.sc.engine.mv.result.grid.entity.psi": "PSI",
"io.sc.engine.mv.result.grid.entity.scaleValidate" : "标尺检验", "io.sc.engine.mv.result.grid.entity.scaleValidate": "标尺检验",
"io.sc.engine.mv.result.grid.entity.chiSquare" : "卡方检验", "io.sc.engine.mv.result.grid.entity.chiSquare": "卡方检验",
"io.sc.engine.mv.result.grid.entity.binomial" : "二项检验", "io.sc.engine.mv.result.grid.entity.binomial": "二项检验",
"io.sc.engine.mv.result.curve.references" : "参考标准", "io.sc.engine.mv.result.curve.references": "参考标准",
"io.sc.engine.mv.result.curve.viewData" : "查看 {type} 数据", "io.sc.engine.mv.result.curve.viewData": "查看 {type} 数据",
"io.sc.engine.mv.result.curve.scoreCutOffPoint" : "评分截断点", "io.sc.engine.mv.result.curve.scoreCutOffPoint": "评分截断点",
"io.sc.engine.mv.result.curve.roc.dd" : "(DD)实际违约且预测违约样本总数", "io.sc.engine.mv.result.curve.roc.dd": "(DD)实际违约且预测违约样本总数",
"io.sc.engine.mv.result.curve.roc.dn" : "(DN)实际违约且预测正常样本总数", "io.sc.engine.mv.result.curve.roc.dn": "(DN)实际违约且预测正常样本总数",
"io.sc.engine.mv.result.curve.roc.nd" : "(ND)实际正常且预测违约样本总数", "io.sc.engine.mv.result.curve.roc.nd": "(ND)实际正常且预测违约样本总数",
"io.sc.engine.mv.result.curve.roc.nn" : "(NN)实际正常且预测正常样本总数", "io.sc.engine.mv.result.curve.roc.nn": "(NN)实际正常且预测正常样本总数",
"io.sc.engine.mv.result.curve.roc.td" : "(TD)实际违约样本总数", "io.sc.engine.mv.result.curve.roc.td": "(TD)实际违约样本总数",
"io.sc.engine.mv.result.curve.roc.tn" : "(TN)实际正常样本总数", "io.sc.engine.mv.result.curve.roc.tn": "(TN)实际正常样本总数",
"io.sc.engine.mv.result.curve.roc.x" : "(X=ND/TN)违约预测误警率", "io.sc.engine.mv.result.curve.roc.x": "(X=ND/TN)违约预测误警率",
"io.sc.engine.mv.result.curve.roc.y" : "(Y=DD/TD)违约预测命中率", "io.sc.engine.mv.result.curve.roc.y": "(Y=DD/TD)违约预测命中率",
"io.sc.engine.mv.result.curve.cap.ts" : "(TS)评分小于等于截断点的样本个数", "io.sc.engine.mv.result.curve.cap.ts": "(TS)评分小于等于截断点的样本个数",
"io.sc.engine.mv.result.curve.cap.tt" : "(TT)样本总数", "io.sc.engine.mv.result.curve.cap.tt": "(TT)样本总数",
"io.sc.engine.mv.result.curve.cap.tds" : "(TDS)评分小于等于截断点的事实违约样本个数", "io.sc.engine.mv.result.curve.cap.tds": "(TDS)评分小于等于截断点的事实违约样本个数",
"io.sc.engine.mv.result.curve.cap.tdt" : "(TDT)事实违约样本总数", "io.sc.engine.mv.result.curve.cap.tdt": "(TDT)事实违约样本总数",
"io.sc.engine.mv.result.curve.cap.x" : "(X)违约样本百分比", "io.sc.engine.mv.result.curve.cap.x": "(X)违约样本百分比",
"io.sc.engine.mv.result.curve.cap.y" : "(Y)样本百分比", "io.sc.engine.mv.result.curve.cap.y": "(Y)样本百分比",
"io.sc.engine.mv.result.curve.ks.n" : "(N)评分小于等于截断点事实正常的样本个数", "io.sc.engine.mv.result.curve.ks.n": "(N)评分小于等于截断点事实正常的样本个数",
"io.sc.engine.mv.result.curve.ks.tn" : "(TN)事实正常样本总数", "io.sc.engine.mv.result.curve.ks.tn": "(TN)事实正常样本总数",
"io.sc.engine.mv.result.curve.ks.d" : "(D)评分小于等于截断点事实违约样本个数", "io.sc.engine.mv.result.curve.ks.d": "(D)评分小于等于截断点事实违约样本个数",
"io.sc.engine.mv.result.curve.ks.td" : "(TD)事实违约样本总数", "io.sc.engine.mv.result.curve.ks.td": "(TD)事实违约样本总数",
"io.sc.engine.mv.result.curve.ks.y1" : "(Y1)正常样本占比", "io.sc.engine.mv.result.curve.ks.y1": "(Y1)正常样本占比",
"io.sc.engine.mv.result.curve.ks.y2" : "(Y2)违约样本占比", "io.sc.engine.mv.result.curve.ks.y2": "(Y2)违约样本占比",
"io.sc.engine.mv.result.curve.psi.scoreSegStart" : "分数段开始值(含)", "io.sc.engine.mv.result.curve.psi.scoreSegStart": "分数段开始值(含)",
"io.sc.engine.mv.result.curve.psi.scoreSegEnd" : "分数段结束值(含)", "io.sc.engine.mv.result.curve.psi.scoreSegEnd": "分数段结束值(含)",
"io.sc.engine.mv.result.curve.psi.countDev" : "段内个数", "io.sc.engine.mv.result.curve.psi.countDev": "段内个数",
"io.sc.engine.mv.result.curve.psi.totalCountDev" : "总数", "io.sc.engine.mv.result.curve.psi.totalCountDev": "总数",
"io.sc.engine.mv.result.curve.psi.percentDev" : "百分比", "io.sc.engine.mv.result.curve.psi.percentDev": "百分比",
"io.sc.engine.mv.result.curve.psi.countApp" : "段内个数", "io.sc.engine.mv.result.curve.psi.countApp": "段内个数",
"io.sc.engine.mv.result.curve.psi.totalCountApp" : "总数", "io.sc.engine.mv.result.curve.psi.totalCountApp": "总数",
"io.sc.engine.mv.result.curve.psi.percentApp" : "百分比", "io.sc.engine.mv.result.curve.psi.percentApp": "百分比",
"io.sc.engine.mv.result.curve.psi.percentDiff" : "百分比变化", "io.sc.engine.mv.result.curve.psi.percentDiff": "百分比变化",
"io.sc.engine.mv.result.curve.psi.percentRate" : "百分比相对比例", "io.sc.engine.mv.result.curve.psi.percentRate": "百分比相对比例",
"io.sc.engine.mv.result.curve.psi.weight" : "加权系数", "io.sc.engine.mv.result.curve.psi.weight": "加权系数",
"io.sc.engine.mv.result.curve.psi.stWeight" : "稳定性加权", "io.sc.engine.mv.result.curve.psi.stWeight": "稳定性加权",
"io.sc.engine.mv.result.chiSquare.grid.title" : "卡方检验结果", "io.sc.engine.mv.result.chiSquare.grid.title": "卡方检验结果",
"io.sc.engine.mv.result.chiSquare.level" : "评分等级", "io.sc.engine.mv.result.chiSquare.level": "评分等级",
"io.sc.engine.mv.result.chiSquare.pd" : "违约概率", "io.sc.engine.mv.result.chiSquare.pd": "违约概率",
"io.sc.engine.mv.result.chiSquare.count" : "样本总数", "io.sc.engine.mv.result.chiSquare.count": "样本总数",
"io.sc.engine.mv.result.chiSquare.defaultCount" : "事实违约样本个数", "io.sc.engine.mv.result.chiSquare.defaultCount": "事实违约样本个数",
"io.sc.engine.mv.result.chiSquare.chiSquare" : "卡方检验值", "io.sc.engine.mv.result.chiSquare.chiSquare": "卡方检验值",
"io.sc.engine.mv.result.binomial.grid.title" : "二项检验结果", "io.sc.engine.mv.result.binomial.grid.title": "二项检验结果",
"io.sc.engine.mv.result.binomial.level" : "评分等级", "io.sc.engine.mv.result.binomial.level": "评分等级",
"io.sc.engine.mv.result.binomial.pd" : "违约概率", "io.sc.engine.mv.result.binomial.pd": "违约概率",
"io.sc.engine.mv.result.binomial.count" : "样本总数", "io.sc.engine.mv.result.binomial.count": "样本总数",
"io.sc.engine.mv.result.binomial.defaultCount" : "事实违约样本个数", "io.sc.engine.mv.result.binomial.defaultCount": "事实违约样本个数",
"io.sc.engine.mv.result.binomial.ndAvg" : "正态分布平均数", "io.sc.engine.mv.result.binomial.ndAvg": "正态分布平均数",
"io.sc.engine.mv.result.binomial.ndSd" : "正态分布标准差", "io.sc.engine.mv.result.binomial.ndSd": "正态分布标准差",
"io.sc.engine.mv.result.binomial.sl" : "显著水平", "io.sc.engine.mv.result.binomial.sl": "显著水平",
"io.sc.engine.mv.result.binomial.cl" : "置信水平", "io.sc.engine.mv.result.binomial.cl": "置信水平",
"io.sc.engine.mv.result.binomial.zUpper" : "正态分布Z值上界", "io.sc.engine.mv.result.binomial.zUpper": "正态分布Z值上界",
"io.sc.engine.mv.result.binomial.zLower" : "正态分布Z值下界", "io.sc.engine.mv.result.binomial.zLower": "正态分布Z值下界",
"io.sc.engine.mv.result.binomial.dUpper" : "临界值上界", "io.sc.engine.mv.result.binomial.dUpper": "临界值上界",
"io.sc.engine.mv.result.binomial.dLower" : "临界值下界", "io.sc.engine.mv.result.binomial.dLower": "临界值下界",
"io.sc.engine.mv.result.binomial.leUpper" : "事实违约个数是否小于等于上界", "io.sc.engine.mv.result.binomial.leUpper": "事实违约个数是否小于等于上界",
"io.sc.engine.mv.result.binomial.geLower" : "事实违约个数是否大于等于下界", "io.sc.engine.mv.result.binomial.geLower": "事实违约个数是否大于等于下界",
"io.sc.engine.mv.executorDialog.title" : "执行", "io.sc.engine.mv.executorDialog.title": "执行",
"io.sc.engine.mv.executorDialog.form.entity.rateStartDateFrom" : "评级有效期开始日期范围(起始日期)", "io.sc.engine.mv.executorDialog.form.entity.rateStartDateFrom": "评级有效期开始日期范围(起始日期)",
"io.sc.engine.mv.executorDialog.form.entity.rateStartDateTo" : "评级有效期开始日期范围(结束日期)", "io.sc.engine.mv.executorDialog.form.entity.rateStartDateTo": "评级有效期开始日期范围(结束日期)",
"io.sc.engine.mv.executorDialog.form.entity.performPeriod" : "评级表现期(月)", "io.sc.engine.mv.executorDialog.form.entity.performPeriod": "评级表现期(月)",
"io.sc.engine.mv.executorDialog.form.entity.binomialSignificanceLevel" : "二项检验采用的显著水平", "io.sc.engine.mv.executorDialog.form.entity.binomialSignificanceLevel": "二项检验采用的显著水平",
"io.sc.engine.mv.executorDialog.form.entity.chiSquareSignificanceLevel" : "卡方检验采用的显著水平", "io.sc.engine.mv.executorDialog.form.entity.chiSquareSignificanceLevel": "卡方检验采用的显著水平",
"io.sc.engine.mv.executorDialog.form.action.execute" : "立即执行" "io.sc.engine.mv.executorDialog.form.action.execute": "立即执行"
} }

14
io.sc.engine.mv.frontend/src/views/config/model.vue

@ -1,5 +1,6 @@
<template> <template>
<w-grid <w-grid
ref="gridRef"
:title="$t('io.sc.engine.mv.config.model.grid.title')" :title="$t('io.sc.engine.mv.config.model.grid.title')"
hide-bottom hide-bottom
:config-button="true" :config-button="true"
@ -20,7 +21,13 @@
name: 'importFromScoreRecordTable', name: 'importFromScoreRecordTable',
label: $t('io.sc.engine.mv.config.model.grid.toolbar.importFromScoreRecordTable'), label: $t('io.sc.engine.mv.config.model.grid.toolbar.importFromScoreRecordTable'),
icon: 'bi-arrow-right-circle', icon: 'bi-arrow-right-circle',
click: () => {}, click: () => {
DialogManager.confirm($t('io.sc.engine.mv.config.model.grid.action.importFromScoreRecord'), () => {
axios.post(Environment.apiContextPath('/api/mv/configure/model/importFromScoreRecord')).then((response) => {
gridRef.refresh();
});
});
},
}, },
'separator', 'separator',
'view', 'view',
@ -63,7 +70,10 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import 'tailwindcss/utilities.css'; import 'tailwindcss/utilities.css';
import { Environment, EnumTools, Formater } from 'platform-core'; import { ref } from 'vue';
import { axios, Environment, EnumTools, Formater, DialogManager } from 'platform-core';
const gridRef = ref();
const ModelTypeEnum = await EnumTools.fetch('io.sc.engine.mv.enums.ModelType'); const ModelTypeEnum = await EnumTools.fetch('io.sc.engine.mv.enums.ModelType');
</script> </script>

6
io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgScaleServiceImpl.java

@ -4,6 +4,7 @@ import io.sc.engine.mv.configure.jpa.entity.CfgScale;
import io.sc.engine.mv.configure.jpa.repository.CfgScaleRepository; import io.sc.engine.mv.configure.jpa.repository.CfgScaleRepository;
import io.sc.engine.mv.configure.service.CfgScaleService; import io.sc.engine.mv.configure.service.CfgScaleService;
import io.sc.platform.orm.service.impl.DaoServiceImpl; import io.sc.platform.orm.service.impl.DaoServiceImpl;
import io.sc.platform.util.StringUtil;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service("io.sc.engine.mv.configure.service.impl.CfgScaleServiceImpl") @Service("io.sc.engine.mv.configure.service.impl.CfgScaleServiceImpl")
@ -15,6 +16,9 @@ public class CfgScaleServiceImpl extends DaoServiceImpl<CfgScale, String, CfgSca
@Override @Override
public CfgScale findByUniqueKey(CfgScale entity) { public CfgScale findByUniqueKey(CfgScale entity) {
return findById(entity.getId()); if(StringUtil.hasText(entity.getId())) {
return findById(entity.getId());
}
return null;
} }
} }

7
io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScCapExecutor.java

@ -253,7 +253,12 @@ public class ScCapExecutor extends AbstractExecutor {
slope =(double)defaultCount/(double)allCount; slope =(double)defaultCount/(double)allCount;
} }
//计算 AR 值 //计算 AR 值
double ar =(area-0.5)/((1-slope+1)/2-0.5); double ar =0;
double numerator =area-0.5; //分子
double denominator =(1 - slope + 1) / 2 - 0.5; //分母
if(numerator!=0 && denominator!=0) {
ar = numerator / denominator;
}
//更新模型验证结果表 //更新模型验证结果表
int updated =jdbcTemplate.update("update MV_GENERAL_RESULT set " + variable.getKpiFieldName() + "=? where FD_MODEL_ID=?", ar,modelId); int updated =jdbcTemplate.update("update MV_GENERAL_RESULT set " + variable.getKpiFieldName() + "=? where FD_MODEL_ID=?", ar,modelId);

2
io.sc.engine.rule.frontend/src/views/resources/Resources.vue

@ -37,9 +37,7 @@
extend: 'addTop', extend: 'addTop',
label: $t('re.resources.grid.toolbar.addTop'), label: $t('re.resources.grid.toolbar.addTop'),
afterClick: (args: any) => { afterClick: (args: any) => {
console.log('>>>>>>1', args.grid.getEditorForm());
args.grid.getEditorForm().setFieldValue('type', 'FOLDER'); args.grid.getEditorForm().setFieldValue('type', 'FOLDER');
console.log('>>>>>>2');
}, },
}, },
{ {

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

@ -12,4 +12,4 @@ git-checks=false
# _authToken 可通过以下命令获取 # _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 # 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
# 上海农商银行内网令牌: NpmToken.ed1a68b7-543f-3c15-8451-2edbc0de057f # 上海农商银行内网令牌: NpmToken.ed1a68b7-543f-3c15-8451-2edbc0de057f
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090 //nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.8d45fdad-a169-3f2d-b245-440815bc5e7e

9
io.sc.platform.core.frontend/.vscode/extensions.json

@ -1,9 +0,0 @@
{
"recommendations": [
"Vue.volar",
"Vue.vscode-typescript-vue-plugin",
"bradlc.vscode-tailwindcss",
"christian-kohler.path-intellisense",
// "esbenp.prettier-vscode"
]
}

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

@ -1,6 +1,28 @@
[appendix] [appendix]
= JAVA = JAVA
== 常用技巧 == 常用技巧
=== JDK 版本管理工具 sdkman
SDKMAN!(Software Development Kit Manager)是类
Unix 系统(Linux、macOS、Windows WSL 等)上的开源命令行 SDK 版本管理工具,
原名 GVM(Groovy enVironment Manager),主打 JVM 生态工具管理,
能一键安装、切换、卸载多版本 SDK 并自动配置环境变量,轻量且免费开源。
[source, bash]
----
# 设置环境变量, 避免因为网络原因无法正常安装 sdkman
export SDKMAN_CANDIDATES_REPO="https://mirrors.tuna.tsinghua.edu.cn/Adoptium"
# 开始安装 sdkman
curl -s "https://get.sdkman.io" | bash
# 初始化 sdkman
source "$HOME/.sdkman/bin/sdkman-init.sh"
# 测试 sdkman
sdk version
----
=== 日志输出模式 === 日志输出模式
在日志输出时,在拼接字符串时,请使用字符串模版方式。 在日志输出时,在拼接字符串时,请使用字符串模版方式。
[source,java] [source,java]

5
io.sc.platform.help/build.gradle

@ -0,0 +1,5 @@
dependencies {
api(
project(":io.sc.platform.mvc"),
)
}

68
io.sc.platform.help/src/main/java/io/sc/platform/help/plugins/PluginManager.java

@ -0,0 +1,68 @@
package io.sc.platform.help.plugins;
import com.fasterxml.jackson.core.type.TypeReference;
import io.sc.platform.core.plugins.Plugin;
import io.sc.platform.core.plugins.PluginParser;
import io.sc.platform.help.plugins.item.Help;
import java.util.ArrayList;
import java.util.List;
/**
* 帮助文档处理插件
*/
public class PluginManager {
private static final String HELP_LOCATION ="META-INF/platform/plugins/helps.json";
//系统参数插件
private List<Plugin<List<Help>>> helpPlugins;
private List<Help> helps; //按优先级合并后的列表
/**
* 获取单例模式实例
* @return 实例
*/
public static PluginManager getInstance(){
return PluginManagerHolder.instance;
}
private static class PluginManagerHolder{
private static PluginManager instance =new PluginManager();
}
private PluginManager(){
PluginParser parser =new PluginParser();
loadHelpPlugins(parser);
}
public List<Plugin<List<Help>>> getHelpPlugins() {
return helpPlugins;
}
public void setHelpPlugins(List<Plugin<List<Help>>> helpPlugins) {
this.helpPlugins = helpPlugins;
}
public List<Help> getHelps() {
return helps;
}
public void setHelps(List<Help> helps) {
this.helps = helps;
}
private void loadHelpPlugins(PluginParser parser) {
helpPlugins =parser.parse(HELP_LOCATION,new TypeReference<List<Help>>(){});
//处理未按优先级合并的贡献项列表
if(helpPlugins!=null && !helpPlugins.isEmpty()){
List<Help> items =new ArrayList<>();
for(Plugin<List<Help>> plugin : helpPlugins){
List<Help> innerHelps =plugin.getValue();
if(innerHelps!=null && !innerHelps.isEmpty()){
for(Help entity : innerHelps){
entity.setConfigurationFileUrl(plugin.getFileUrl());
}
items.addAll(innerHelps);
}
}
this.helps =items;
}
}
}

12
io.sc.platform.help/src/main/java/io/sc/platform/help/plugins/PluginSpiServiceImpl.java

@ -0,0 +1,12 @@
package io.sc.platform.help.plugins;
import io.sc.platform.core.spi.PluginSpiService;
/**
* 该类为 java SPI(Service Provider Interface) 模式的实现类, 用于加载插件
*/
public class PluginSpiServiceImpl implements PluginSpiService {
public PluginSpiServiceImpl(){
PluginManager.getInstance();
}
}

33
io.sc.platform.help/src/main/java/io/sc/platform/help/plugins/item/Help.java

@ -0,0 +1,33 @@
package io.sc.platform.help.plugins.item;
public class Help {
protected String id;
protected String url;
//附加属性
private String configurationFileUrl; //帮助贡献项配置文件位置
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getConfigurationFileUrl() {
return configurationFileUrl;
}
public void setConfigurationFileUrl(String configurationFileUrl) {
this.configurationFileUrl = configurationFileUrl;
}
}

3
io.sc.platform.springcloud.openfeign/src/main/java/io/sc/platform/springcloud/openfeign/example/Sample.java

@ -1,6 +1,5 @@
package io.sc.platform.springcloud.openfeign.example; package io.sc.platform.springcloud.openfeign.example;
import org.bouncycastle.util.Store;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
@ -10,5 +9,5 @@ import java.util.List;
@FeignClient("openfeignSample") @FeignClient("openfeignSample")
public interface Sample { public interface Sample {
@RequestMapping(name = "user", value = "/api/system/user", method = RequestMethod.GET) @RequestMapping(name = "user", value = "/api/system/user", method = RequestMethod.GET)
public List<Store> getUsers(); public List<String> getUsers();
} }

29
io.sc.platform.util/src/main/java/io/sc/platform/util/ManifestUtil.java

@ -14,9 +14,38 @@ import java.util.jar.Manifest;
*/ */
public class ManifestUtil { public class ManifestUtil {
private ManifestUtil(){} private ManifestUtil(){}
/**
* 获取 MANIFEST.MF 文件中 Main-Class 属性值
* @return Main-Class 属性值
*/
public static String getMainClass(){
return getMainClass(null);
}
/**
* 获取 MANIFEST.MF 文件中 Main-Class 属性值
* @param classLoader 类加载器
* @return Main-Class 属性值
*/
public static String getMainClass(ClassLoader classLoader){
Attributes attrs = getMainAttributes(classLoader);
return attrs.getValue(Attributes.Name.MAIN_CLASS);
}
/**
* 获取 MANIFEST.MF 文件中所有属性
* @return 所有属性
*/
public static Attributes getMainAttributes(){ public static Attributes getMainAttributes(){
return getMainAttributes(null); return getMainAttributes(null);
} }
/**
* 获取 MANIFEST.MF 文件中所有属性
* @param classLoader 类加载器
* @return 所有属性
*/
public static Attributes getMainAttributes(ClassLoader classLoader){ public static Attributes getMainAttributes(ClassLoader classLoader){
Resource rs = new DefaultResourceLoader(classLoader).getResource("classpath:/META-INF/MANIFEST.MF"); Resource rs = new DefaultResourceLoader(classLoader).getResource("classpath:/META-INF/MANIFEST.MF");
if(rs.exists()){ if(rs.exists()){

5
io.sc.platform.util/src/main/java/io/sc/platform/util/MapUtil.java

@ -7,6 +7,11 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
public class MapUtil { public class MapUtil {
/**
* 创建一个不可变的 Map包含指定的键值对
* @param kvs 键值对数组
* @return 不可变的 Map
*/
public static<K,V> Map<K,V> of(KV<K,V>... kvs){ public static<K,V> Map<K,V> of(KV<K,V>... kvs){
if(kvs==null || kvs.length==0){ if(kvs==null || kvs.length==0){
return Collections.emptyMap(); return Collections.emptyMap();

1
settings.gradle

@ -39,6 +39,7 @@ include ':io.sc.platform.developer.doc'
include ':io.sc.platform.developer.frontend' include ':io.sc.platform.developer.frontend'
include ':io.sc.platform.flowable' include ':io.sc.platform.flowable'
include ':io.sc.platform.groovy' include ':io.sc.platform.groovy'
include ':io.sc.platform.help'
include ':io.sc.platform.installer' include ':io.sc.platform.installer'
include ':io.sc.platform.jdbc' include ':io.sc.platform.jdbc'
include ':io.sc.platform.jdbc.driver' include ':io.sc.platform.jdbc.driver'

Loading…
Cancel
Save