diff --git a/.zed/settings.json b/.zed/settings.json
deleted file mode 100644
index e69de29b..00000000
diff --git a/app.platformnull/platform/schema/liquibase.xml b/app.platformnull/platform/schema/liquibase.xml
deleted file mode 100644
index e69de29b..00000000
diff --git a/build.gradle b/build.gradle
index 3dd82c39..8cb44a05 100644
--- a/build.gradle
+++ b/build.gradle
@@ -920,6 +920,8 @@ idea {
task clean {
doFirst{
delete 'out'
+ delete 'bin'
+ delete '.settings'
}
}
diff --git a/gradle.properties b/gradle.properties
index 593dc12f..22b03a6a 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -6,7 +6,7 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
org.gradle.configureondemand=true
systemProp.org.gradle.internal.publish.checksums.insecure=true
org.gradle.parallel=true
-org.gradle.workers.max=1
+org.gradle.workers.max=2
###########################################################
# Maven private repository configuration
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index a4b76b95..1b33c55b 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 5893e933..213c2f8d 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
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
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/gradlew b/gradlew
index f5feea6d..23d15a93 100755
--- a/gradlew
+++ b/gradlew
@@ -86,8 +86,7 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# 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
-' "$PWD" ) || exit
+APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
@@ -115,7 +114,7 @@ case "$( uname )" in #(
NONSTOP* ) nonstop=true ;;
esac
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+CLASSPATH="\\\"\\\""
# Determine the Java command to use to start the JVM.
@@ -206,7 +205,7 @@ fi
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# 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.
# * 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.
@@ -214,7 +213,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
- org.gradle.wrapper.GradleWrapperMain \
+ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
"$@"
# Stop when "xargs" is not available.
diff --git a/gradlew.bat b/gradlew.bat
index 9b42019c..5eed7ee8 100644
--- a/gradlew.bat
+++ b/gradlew.bat
@@ -70,11 +70,11 @@ goto fail
:execute
@rem Setup the command line
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+set CLASSPATH=
@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
@rem End local scope for the variables with windows NT shell
diff --git a/io.sc.engine.mv.frontend/src/i18n/messages_tw_CN.json b/io.sc.engine.mv.frontend/src/i18n/messages_tw_CN.json
index cc386113..939f86f1 100644
--- a/io.sc.engine.mv.frontend/src/i18n/messages_tw_CN.json
+++ b/io.sc.engine.mv.frontend/src/i18n/messages_tw_CN.json
@@ -1,215 +1,216 @@
{
- "menu.engine.mv" : "模型驗證工具",
- "menu.engine.mv.config" : "配置",
- "menu.engine.mv.config.cutOffPoint" : "評分截斷點",
- "menu.engine.mv.config.threshold" : "預警閾值",
- "menu.engine.mv.config.binomial" : "二項檢驗Z值常量",
- "menu.engine.mv.config.chiSquare" : "卡方檢驗臨界值常量",
- "menu.engine.mv.config.model" : "模型",
- "menu.engine.mv.config.distribution" : "建模時客戶評分分佈",
- "menu.engine.mv.config.scale" : "標尺",
- "menu.engine.mv.config.dataExtractor" : "數據抽取接口",
- "menu.engine.mv.config.executor" : "執行器",
- "menu.engine.mv.sample" : "樣本管理",
- "menu.engine.mv.result" : "驗證結果查看",
-
- "io.sc.engine.mv.enums.GoodLevel.POOR" : "差",
- "io.sc.engine.mv.enums.GoodLevel.MEDIUM" : "中等",
- "io.sc.engine.mv.enums.GoodLevel.GOOD" : "好",
- "io.sc.engine.mv.enums.GoodLevel.VERY_GOOD" : "很好",
- "io.sc.engine.mv.enums.GoodLevel.EXCELLENT" : "非常好",
- "io.sc.engine.mv.enums.GoodLevel.PERFECT" : "完美",
-
- "io.sc.engine.mv.enums.Stability.yes" : "模型比较稳定",
- "io.sc.engine.mv.enums.Stability.no" : "模型发生了偏移",
-
- "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.from" : "起始值(含)",
- "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.scale" : "精度",
-
- "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.level" : "等級(越大越好)",
- "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.quantitativeRange" : "預警閾值范围(定量)",
- "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.entity.significanceLevel" : "顯著水平",
- "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.zLower" : "Z值下界",
-
- "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.significanceLevel" : "顯著水平",
- "io.sc.engine.mv.config.chiSquare.grid.entity.criticalValue" : "臨界值",
-
- "io.sc.engine.mv.config.model.grid.title" : "模型列表",
- "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.modelId" : "模型標識",
- "io.sc.engine.mv.config.model.grid.entity.modelName" : "模型名稱",
-
- "io.sc.engine.mv.config.distribution.grid.title" : "咨詢建模時樣本分佈情況配置列表",
- "io.sc.engine.mv.config.distribution.grid.entity.modelId" : "模型標示",
- "io.sc.engine.mv.config.distribution.grid.entity.modelName" : "模型名稱",
- "io.sc.engine.mv.config.distribution.grid.entity.scoreSegStart" : "分數段開始值(含該值)",
- "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.entity.modelName" : "模型名稱",
- "io.sc.engine.mv.config.scale.grid.entity.level" : "等級",
- "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.toolbar.example.tip" : "您確定要導入示例數據抽取器嗎?",
- "io.sc.engine.mv.config.dataExtractor.grid.entity.datasourceName" : "數據源名稱",
- "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.sample.action.importExampleSample" : "導入示例樣本",
- "io.sc.engine.mv.sample.action.importExampleSample.tip" : "您確定要導入示例樣本嗎?",
- "io.sc.engine.mv.sample.action.removeAllSample" : "刪除所有樣本",
- "io.sc.engine.mv.sample.action.removeAllSample.tip" : "您確定要刪除所有樣本嗎?",
- "io.sc.engine.mv.sample.tabs.sample" : "合格樣本",
- "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.entity.customId" : "客戶標識",
- "io.sc.engine.mv.sample.sample.grid.entity.customName" : "客戶名稱",
- "io.sc.engine.mv.sample.sample.grid.entity.modelId" : "模型標識",
- "io.sc.engine.mv.sample.sample.grid.entity.modelName" : "模型名稱",
- "io.sc.engine.mv.sample.sample.grid.entity.pd" : "違約概率",
- "io.sc.engine.mv.sample.sample.grid.entity.score" : "評分",
- "io.sc.engine.mv.sample.sample.grid.entity.scoreQuantitative" : "定量評分",
- "io.sc.engine.mv.sample.sample.grid.entity.scoreQualitative" : "定性評分",
- "io.sc.engine.mv.sample.sample.grid.entity.level" : "等級",
- "io.sc.engine.mv.sample.sample.grid.entity.beginDate" : "評分開始日期",
- "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.entity.customName" : "客戶名稱",
- "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.pd" : "違約概率",
- "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.scoreQualitative" : "定性評分",
- "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.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.entity.defaultConfirmDate" : "違約確定日期",
-
- "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.entity.validateDate" : "驗證日期",
- "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.rateStartDateTo" : "評級開始日期到",
- "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.chiSquareSignificanceLevel" : "卡方檢驗顯著水平",
- "io.sc.engine.mv.result.grid.entity.modelId" : "模型標識",
- "io.sc.engine.mv.result.grid.entity.modelName" : "模型名稱",
- "io.sc.engine.mv.result.grid.entity.executeMode" : "執行模式",
- "io.sc.engine.mv.result.grid.entity.totalSampleCount" : "總樣本數",
- "io.sc.engine.mv.result.grid.entity.defaultSampleCount" : "違約樣本數",
- "io.sc.engine.mv.result.grid.entity.discrimination" : "區分能力",
- "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.ar" : "AR(總體)",
- "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.ar" : "AR(定量)",
- "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.ar" : "AR(定性)",
- "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.ar" : "AR",
- "io.sc.engine.mv.result.grid.entity.ks" : "KS",
- "io.sc.engine.mv.result.grid.entity.stability" : "穩定性",
- "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.scaleValidate" : "標尺檢驗",
- "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.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.nd" : "(ND)實際正常且預測違約樣本總數",
- "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.tn" : "(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.cap.ts" : "(TS)評分小於等於截斷點的樣本個數",
- "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.tdt" : "(TDT)事實違約樣本總數",
- "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.d" : "(D)評分小於等於截斷點事實違約樣本個數",
- "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.y2" : "(Y2)違約樣本占比",
-
- "io.sc.engine.mv.result.chiSquare.grid.title" : "卡方检验結果",
- "io.sc.engine.mv.result.chiSquare.level" : "評分等級",
- "io.sc.engine.mv.result.chiSquare.pd" : "違約概率",
- "io.sc.engine.mv.result.chiSquare.count" : "樣本總數",
- "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.pd" : "違約概率",
- "io.sc.engine.mv.result.binomial.count" : "樣本總數",
- "io.sc.engine.mv.result.binomial.defaultCount" : "事實違約樣本個數",
- "io.sc.engine.mv.result.binomial.ndAvg" : "正態分佈平均數",
- "io.sc.engine.mv.result.binomial.ndSd" : "正態分佈標準差",
- "io.sc.engine.mv.result.binomial.sl" : "顯著水平",
- "io.sc.engine.mv.result.binomial.cl" : "置信水平",
- "io.sc.engine.mv.result.binomial.zUpper" : "正態分佈Z值上界",
- "io.sc.engine.mv.result.binomial.zLower" : "正態分佈Z值下界",
- "io.sc.engine.mv.result.binomial.dUpper" : "臨界值上界",
- "io.sc.engine.mv.result.binomial.dLower" : "臨界值下界",
- "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.form.entity.rateStartDateTo" : "評級有效期開始日期範圍(結束日期)",
- "io.sc.engine.mv.executorDialog.form.entity.performPeriod" : "評級表現期(月)",
- "io.sc.engine.mv.executorDialog.form.entity.binomialSignificanceLevel" : "二項檢驗採用的顯著水平",
- "io.sc.engine.mv.executorDialog.form.entity.chiSquareSignificanceLevel" : "卡方檢驗採用的顯著水平",
- "io.sc.engine.mv.executorDialog.form.action.execute" : "立即執行"
+ "menu.engine.mv": "模型驗證工具",
+ "menu.engine.mv.config": "配置",
+ "menu.engine.mv.config.cutOffPoint": "評分截斷點",
+ "menu.engine.mv.config.threshold": "預警閾值",
+ "menu.engine.mv.config.binomial": "二項檢驗Z值常量",
+ "menu.engine.mv.config.chiSquare": "卡方檢驗臨界值常量",
+ "menu.engine.mv.config.model": "模型",
+ "menu.engine.mv.config.distribution": "建模時客戶評分分佈",
+ "menu.engine.mv.config.scale": "標尺",
+ "menu.engine.mv.config.dataExtractor": "數據抽取接口",
+ "menu.engine.mv.config.executor": "執行器",
+ "menu.engine.mv.sample": "樣本管理",
+ "menu.engine.mv.result": "驗證結果查看",
+
+ "io.sc.engine.mv.enums.GoodLevel.POOR": "差",
+ "io.sc.engine.mv.enums.GoodLevel.MEDIUM": "中等",
+ "io.sc.engine.mv.enums.GoodLevel.GOOD": "好",
+ "io.sc.engine.mv.enums.GoodLevel.VERY_GOOD": "很好",
+ "io.sc.engine.mv.enums.GoodLevel.EXCELLENT": "非常好",
+ "io.sc.engine.mv.enums.GoodLevel.PERFECT": "完美",
+
+ "io.sc.engine.mv.enums.Stability.yes": "模型比较稳定",
+ "io.sc.engine.mv.enums.Stability.no": "模型发生了偏移",
+
+ "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.from": "起始值(含)",
+ "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.scale": "精度",
+
+ "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.level": "等級(越大越好)",
+ "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.quantitativeRange": "預警閾值范围(定量)",
+ "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.entity.significanceLevel": "顯著水平",
+ "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.zLower": "Z值下界",
+
+ "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.significanceLevel": "顯著水平",
+ "io.sc.engine.mv.config.chiSquare.grid.entity.criticalValue": "臨界值",
+
+ "io.sc.engine.mv.config.model.grid.title": "模型列表",
+ "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.modelId": "模型標識",
+ "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.entity.modelName": "模型名稱",
+ "io.sc.engine.mv.config.distribution.grid.entity.scoreSegStart": "分數段開始值(含該值)",
+ "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.entity.modelName": "模型名稱",
+ "io.sc.engine.mv.config.scale.grid.entity.level": "等級",
+ "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.toolbar.example.tip": "您確定要導入示例數據抽取器嗎?",
+ "io.sc.engine.mv.config.dataExtractor.grid.entity.datasourceName": "數據源名稱",
+ "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.sample.action.importExampleSample": "導入示例樣本",
+ "io.sc.engine.mv.sample.action.importExampleSample.tip": "您確定要導入示例樣本嗎?",
+ "io.sc.engine.mv.sample.action.removeAllSample": "刪除所有樣本",
+ "io.sc.engine.mv.sample.action.removeAllSample.tip": "您確定要刪除所有樣本嗎?",
+ "io.sc.engine.mv.sample.tabs.sample": "合格樣本",
+ "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.entity.customId": "客戶標識",
+ "io.sc.engine.mv.sample.sample.grid.entity.customName": "客戶名稱",
+ "io.sc.engine.mv.sample.sample.grid.entity.modelId": "模型標識",
+ "io.sc.engine.mv.sample.sample.grid.entity.modelName": "模型名稱",
+ "io.sc.engine.mv.sample.sample.grid.entity.pd": "違約概率",
+ "io.sc.engine.mv.sample.sample.grid.entity.score": "評分",
+ "io.sc.engine.mv.sample.sample.grid.entity.scoreQuantitative": "定量評分",
+ "io.sc.engine.mv.sample.sample.grid.entity.scoreQualitative": "定性評分",
+ "io.sc.engine.mv.sample.sample.grid.entity.level": "等級",
+ "io.sc.engine.mv.sample.sample.grid.entity.beginDate": "評分開始日期",
+ "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.entity.customName": "客戶名稱",
+ "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.pd": "違約概率",
+ "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.scoreQualitative": "定性評分",
+ "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.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.entity.defaultConfirmDate": "違約確定日期",
+
+ "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.entity.validateDate": "驗證日期",
+ "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.rateStartDateTo": "評級開始日期到",
+ "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.chiSquareSignificanceLevel": "卡方檢驗顯著水平",
+ "io.sc.engine.mv.result.grid.entity.modelId": "模型標識",
+ "io.sc.engine.mv.result.grid.entity.modelName": "模型名稱",
+ "io.sc.engine.mv.result.grid.entity.executeMode": "執行模式",
+ "io.sc.engine.mv.result.grid.entity.totalSampleCount": "總樣本數",
+ "io.sc.engine.mv.result.grid.entity.defaultSampleCount": "違約樣本數",
+ "io.sc.engine.mv.result.grid.entity.discrimination": "區分能力",
+ "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.ar": "AR(總體)",
+ "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.ar": "AR(定量)",
+ "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.ar": "AR(定性)",
+ "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.ar": "AR",
+ "io.sc.engine.mv.result.grid.entity.ks": "KS",
+ "io.sc.engine.mv.result.grid.entity.stability": "穩定性",
+ "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.scaleValidate": "標尺檢驗",
+ "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.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.nd": "(ND)實際正常且預測違約樣本總數",
+ "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.tn": "(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.cap.ts": "(TS)評分小於等於截斷點的樣本個數",
+ "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.tdt": "(TDT)事實違約樣本總數",
+ "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.d": "(D)評分小於等於截斷點事實違約樣本個數",
+ "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.y2": "(Y2)違約樣本占比",
+
+ "io.sc.engine.mv.result.chiSquare.grid.title": "卡方检验結果",
+ "io.sc.engine.mv.result.chiSquare.level": "評分等級",
+ "io.sc.engine.mv.result.chiSquare.pd": "違約概率",
+ "io.sc.engine.mv.result.chiSquare.count": "樣本總數",
+ "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.pd": "違約概率",
+ "io.sc.engine.mv.result.binomial.count": "樣本總數",
+ "io.sc.engine.mv.result.binomial.defaultCount": "事實違約樣本個數",
+ "io.sc.engine.mv.result.binomial.ndAvg": "正態分佈平均數",
+ "io.sc.engine.mv.result.binomial.ndSd": "正態分佈標準差",
+ "io.sc.engine.mv.result.binomial.sl": "顯著水平",
+ "io.sc.engine.mv.result.binomial.cl": "置信水平",
+ "io.sc.engine.mv.result.binomial.zUpper": "正態分佈Z值上界",
+ "io.sc.engine.mv.result.binomial.zLower": "正態分佈Z值下界",
+ "io.sc.engine.mv.result.binomial.dUpper": "臨界值上界",
+ "io.sc.engine.mv.result.binomial.dLower": "臨界值下界",
+ "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.form.entity.rateStartDateTo": "評級有效期開始日期範圍(結束日期)",
+ "io.sc.engine.mv.executorDialog.form.entity.performPeriod": "評級表現期(月)",
+ "io.sc.engine.mv.executorDialog.form.entity.binomialSignificanceLevel": "二項檢驗採用的顯著水平",
+ "io.sc.engine.mv.executorDialog.form.entity.chiSquareSignificanceLevel": "卡方檢驗採用的顯著水平",
+ "io.sc.engine.mv.executorDialog.form.action.execute": "立即執行"
}
diff --git a/io.sc.engine.mv.frontend/src/i18n/messages_zh_CN.json b/io.sc.engine.mv.frontend/src/i18n/messages_zh_CN.json
index cf007a86..9106f3ee 100644
--- a/io.sc.engine.mv.frontend/src/i18n/messages_zh_CN.json
+++ b/io.sc.engine.mv.frontend/src/i18n/messages_zh_CN.json
@@ -1,229 +1,229 @@
{
- "menu.engine.mv" : "模型验证工具",
- "menu.engine.mv.config" : "配置",
- "menu.engine.mv.config.cutOffPoint" : "评分截断点",
- "menu.engine.mv.config.threshold" : "预警阈值",
- "menu.engine.mv.config.binomial" : "二项检验Z值常量",
- "menu.engine.mv.config.chiSquare" : "卡方检验临界值常量",
- "menu.engine.mv.config.model" : "模型",
- "menu.engine.mv.config.distribution" : "建模时评分分布",
- "menu.engine.mv.config.scale" : "标尺",
- "menu.engine.mv.config.dataExtractor" : "数据抽取器接口",
- "menu.engine.mv.config.executor" : "执行器",
- "menu.engine.mv.sample" : "样本管理",
- "menu.engine.mv.result" : "验证结果查看",
-
- "io.sc.engine.mv.enums.GoodLevel.POOR" : "差",
- "io.sc.engine.mv.enums.GoodLevel.MEDIUM" : "中等",
- "io.sc.engine.mv.enums.GoodLevel.GOOD" : "好",
- "io.sc.engine.mv.enums.GoodLevel.VERY_GOOD" : "很好",
- "io.sc.engine.mv.enums.GoodLevel.EXCELLENT" : "非常好",
- "io.sc.engine.mv.enums.GoodLevel.PERFECT" : "完美",
-
- "io.sc.engine.mv.enums.Stability.yes" : "模型比较稳定",
- "io.sc.engine.mv.enums.Stability.no" : "模型发生了偏移",
-
- "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.from" : "起始值(含)",
- "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.scale" : "精度",
-
- "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.level" : "等级(越大越好)",
- "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.quantitativeRange" : "预警阈值范围(定量)",
- "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.entity.significanceLevel" : "显著水平",
- "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.zLower" : "Z值下界",
-
- "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.significanceLevel" : "显著水平",
- "io.sc.engine.mv.config.chiSquare.grid.entity.criticalValue" : "临界值",
-
- "io.sc.engine.mv.config.model.grid.title" : "模型列表",
- "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.modelId" : "模型标识",
- "io.sc.engine.mv.config.model.grid.entity.modelName" : "模型名称",
-
- "io.sc.engine.mv.config.distribution.grid.title" : "咨询建模时样本分布情况配置列表",
- "io.sc.engine.mv.config.distribution.grid.entity.modelId" : "模型标识",
- "io.sc.engine.mv.config.distribution.grid.entity.modelName" : "模型名称",
- "io.sc.engine.mv.config.distribution.grid.entity.scoreSegStart" : "分数段开始值(含该值)",
- "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.entity.modelName" : "模型名称",
- "io.sc.engine.mv.config.scale.grid.entity.level" : "等级",
- "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.toolbar.example.tip" : "您确定要导入示例数据抽取器吗?",
- "io.sc.engine.mv.config.dataExtractor.grid.entity.datasourceName" : "外部数据源名称",
- "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.sample.action.importExampleSample" : "导入示例样本",
- "io.sc.engine.mv.sample.action.importExampleSample.tip" : "您确定要导入示例样本吗?",
- "io.sc.engine.mv.sample.action.removeAllSample" : "删除所有样本",
- "io.sc.engine.mv.sample.action.removeAllSample.tip" : "您确定要删除所有样本吗?",
- "io.sc.engine.mv.sample.tabs.sample" : "合格样本",
- "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.entity.customId" : "客户标识",
- "io.sc.engine.mv.sample.sample.grid.entity.customName" : "客户名称",
- "io.sc.engine.mv.sample.sample.grid.entity.modelId" : "模型标识",
- "io.sc.engine.mv.sample.sample.grid.entity.modelName" : "模型名称",
- "io.sc.engine.mv.sample.sample.grid.entity.pd" : "违约概率",
- "io.sc.engine.mv.sample.sample.grid.entity.score" : "评分",
- "io.sc.engine.mv.sample.sample.grid.entity.scoreQuantitative" : "定量评分",
- "io.sc.engine.mv.sample.sample.grid.entity.scoreQualitative" : "定性评分",
- "io.sc.engine.mv.sample.sample.grid.entity.level" : "等级",
- "io.sc.engine.mv.sample.sample.grid.entity.beginDate" : "评分开始日期",
- "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.entity.customName" : "客户名称",
- "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.pd" : "违约概率",
- "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.scoreQualitative" : "定性评分",
- "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.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.entity.defaultConfirmDate" : "违约确定日期",
-
- "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.entity.validateDate" : "验证日期",
- "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.rateStartDateTo" : "评级开始日期到",
- "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.chiSquareSignificanceLevel" : "卡方检验显著水平",
- "io.sc.engine.mv.result.grid.entity.modelId" : "模型标识",
- "io.sc.engine.mv.result.grid.entity.modelName" : "模型名称",
- "io.sc.engine.mv.result.grid.entity.executeMode" : "执行模式",
- "io.sc.engine.mv.result.grid.entity.totalSampleCount" : "总样本数",
- "io.sc.engine.mv.result.grid.entity.defaultSampleCount" : "违约样本数",
- "io.sc.engine.mv.result.grid.entity.discrimination" : "区分能力",
- "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.ar" : "AR(总体)",
- "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.ar" : "AR(定量)",
- "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.ar" : "AR(定性)",
- "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.ar" : "AR",
- "io.sc.engine.mv.result.grid.entity.ks" : "KS",
- "io.sc.engine.mv.result.grid.entity.stability" : "稳定性",
- "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.scaleValidate" : "标尺检验",
- "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.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.nd" : "(ND)实际正常且预测违约样本总数",
- "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.tn" : "(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.cap.ts" : "(TS)评分小于等于截断点的样本个数",
- "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.tdt" : "(TDT)事实违约样本总数",
- "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.d" : "(D)评分小于等于截断点事实违约样本个数",
- "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.y2" : "(Y2)违约样本占比",
-
- "io.sc.engine.mv.result.curve.psi.scoreSegStart" : "分数段开始值(含)",
- "io.sc.engine.mv.result.curve.psi.scoreSegEnd" : "分数段结束值(含)",
- "io.sc.engine.mv.result.curve.psi.countDev" : "段内个数",
- "io.sc.engine.mv.result.curve.psi.totalCountDev" : "总数",
- "io.sc.engine.mv.result.curve.psi.percentDev" : "百分比",
- "io.sc.engine.mv.result.curve.psi.countApp" : "段内个数",
- "io.sc.engine.mv.result.curve.psi.totalCountApp" : "总数",
- "io.sc.engine.mv.result.curve.psi.percentApp" : "百分比",
- "io.sc.engine.mv.result.curve.psi.percentDiff" : "百分比变化",
- "io.sc.engine.mv.result.curve.psi.percentRate" : "百分比相对比例",
- "io.sc.engine.mv.result.curve.psi.weight" : "加权系数",
- "io.sc.engine.mv.result.curve.psi.stWeight" : "稳定性加权",
-
- "io.sc.engine.mv.result.chiSquare.grid.title" : "卡方检验结果",
- "io.sc.engine.mv.result.chiSquare.level" : "评分等级",
- "io.sc.engine.mv.result.chiSquare.pd" : "违约概率",
- "io.sc.engine.mv.result.chiSquare.count" : "样本总数",
- "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.pd" : "违约概率",
- "io.sc.engine.mv.result.binomial.count" : "样本总数",
- "io.sc.engine.mv.result.binomial.defaultCount" : "事实违约样本个数",
- "io.sc.engine.mv.result.binomial.ndAvg" : "正态分布平均数",
- "io.sc.engine.mv.result.binomial.ndSd" : "正态分布标准差",
- "io.sc.engine.mv.result.binomial.sl" : "显著水平",
- "io.sc.engine.mv.result.binomial.cl" : "置信水平",
- "io.sc.engine.mv.result.binomial.zUpper" : "正态分布Z值上界",
- "io.sc.engine.mv.result.binomial.zLower" : "正态分布Z值下界",
- "io.sc.engine.mv.result.binomial.dUpper" : "临界值上界",
- "io.sc.engine.mv.result.binomial.dLower" : "临界值下界",
- "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.form.entity.rateStartDateTo" : "评级有效期开始日期范围(结束日期)",
- "io.sc.engine.mv.executorDialog.form.entity.performPeriod" : "评级表现期(月)",
- "io.sc.engine.mv.executorDialog.form.entity.binomialSignificanceLevel" : "二项检验采用的显著水平",
- "io.sc.engine.mv.executorDialog.form.entity.chiSquareSignificanceLevel" : "卡方检验采用的显著水平",
- "io.sc.engine.mv.executorDialog.form.action.execute" : "立即执行"
+ "menu.engine.mv": "模型验证工具",
+ "menu.engine.mv.config": "配置",
+ "menu.engine.mv.config.cutOffPoint": "评分截断点",
+ "menu.engine.mv.config.threshold": "预警阈值",
+ "menu.engine.mv.config.binomial": "二项检验Z值常量",
+ "menu.engine.mv.config.chiSquare": "卡方检验临界值常量",
+ "menu.engine.mv.config.model": "模型",
+ "menu.engine.mv.config.distribution": "建模时评分分布",
+ "menu.engine.mv.config.scale": "标尺",
+ "menu.engine.mv.config.dataExtractor": "数据抽取器接口",
+ "menu.engine.mv.config.executor": "执行器",
+ "menu.engine.mv.sample": "样本管理",
+ "menu.engine.mv.result": "验证结果查看",
+
+ "io.sc.engine.mv.enums.GoodLevel.POOR": "差",
+ "io.sc.engine.mv.enums.GoodLevel.MEDIUM": "中等",
+ "io.sc.engine.mv.enums.GoodLevel.GOOD": "好",
+ "io.sc.engine.mv.enums.GoodLevel.VERY_GOOD": "很好",
+ "io.sc.engine.mv.enums.GoodLevel.EXCELLENT": "非常好",
+ "io.sc.engine.mv.enums.GoodLevel.PERFECT": "完美",
+
+ "io.sc.engine.mv.enums.Stability.yes": "模型比较稳定",
+ "io.sc.engine.mv.enums.Stability.no": "模型发生了偏移",
+
+ "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.from": "起始值(含)",
+ "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.scale": "精度",
+
+ "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.level": "等级(越大越好)",
+ "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.quantitativeRange": "预警阈值范围(定量)",
+ "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.entity.significanceLevel": "显著水平",
+ "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.zLower": "Z值下界",
+
+ "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.significanceLevel": "显著水平",
+ "io.sc.engine.mv.config.chiSquare.grid.entity.criticalValue": "临界值",
+
+ "io.sc.engine.mv.config.model.grid.title": "模型列表",
+ "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.modelId": "模型标识",
+ "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.entity.modelName": "模型名称",
+ "io.sc.engine.mv.config.distribution.grid.entity.scoreSegStart": "分数段开始值(含该值)",
+ "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.entity.modelName": "模型名称",
+ "io.sc.engine.mv.config.scale.grid.entity.level": "等级",
+ "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.toolbar.example.tip": "您确定要导入示例数据抽取器吗?",
+ "io.sc.engine.mv.config.dataExtractor.grid.entity.datasourceName": "外部数据源名称",
+ "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.sample.action.importExampleSample": "导入示例样本",
+ "io.sc.engine.mv.sample.action.importExampleSample.tip": "您确定要导入示例样本吗?",
+ "io.sc.engine.mv.sample.action.removeAllSample": "删除所有样本",
+ "io.sc.engine.mv.sample.action.removeAllSample.tip": "您确定要删除所有样本吗?",
+ "io.sc.engine.mv.sample.tabs.sample": "合格样本",
+ "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.entity.customId": "客户标识",
+ "io.sc.engine.mv.sample.sample.grid.entity.customName": "客户名称",
+ "io.sc.engine.mv.sample.sample.grid.entity.modelId": "模型标识",
+ "io.sc.engine.mv.sample.sample.grid.entity.modelName": "模型名称",
+ "io.sc.engine.mv.sample.sample.grid.entity.pd": "违约概率",
+ "io.sc.engine.mv.sample.sample.grid.entity.score": "评分",
+ "io.sc.engine.mv.sample.sample.grid.entity.scoreQuantitative": "定量评分",
+ "io.sc.engine.mv.sample.sample.grid.entity.scoreQualitative": "定性评分",
+ "io.sc.engine.mv.sample.sample.grid.entity.level": "等级",
+ "io.sc.engine.mv.sample.sample.grid.entity.beginDate": "评分开始日期",
+ "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.entity.customName": "客户名称",
+ "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.pd": "违约概率",
+ "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.scoreQualitative": "定性评分",
+ "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.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.entity.defaultConfirmDate": "违约确定日期",
+
+ "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.entity.validateDate": "验证日期",
+ "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.rateStartDateTo": "评级开始日期到",
+ "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.chiSquareSignificanceLevel": "卡方检验显著水平",
+ "io.sc.engine.mv.result.grid.entity.modelId": "模型标识",
+ "io.sc.engine.mv.result.grid.entity.modelName": "模型名称",
+ "io.sc.engine.mv.result.grid.entity.executeMode": "执行模式",
+ "io.sc.engine.mv.result.grid.entity.totalSampleCount": "总样本数",
+ "io.sc.engine.mv.result.grid.entity.defaultSampleCount": "违约样本数",
+ "io.sc.engine.mv.result.grid.entity.discrimination": "区分能力",
+ "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.ar": "AR(总体)",
+ "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.ar": "AR(定量)",
+ "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.ar": "AR(定性)",
+ "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.ar": "AR",
+ "io.sc.engine.mv.result.grid.entity.ks": "KS",
+ "io.sc.engine.mv.result.grid.entity.stability": "稳定性",
+ "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.scaleValidate": "标尺检验",
+ "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.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.nd": "(ND)实际正常且预测违约样本总数",
+ "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.tn": "(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.cap.ts": "(TS)评分小于等于截断点的样本个数",
+ "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.tdt": "(TDT)事实违约样本总数",
+ "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.d": "(D)评分小于等于截断点事实违约样本个数",
+ "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.y2": "(Y2)违约样本占比",
+
+ "io.sc.engine.mv.result.curve.psi.scoreSegStart": "分数段开始值(含)",
+ "io.sc.engine.mv.result.curve.psi.scoreSegEnd": "分数段结束值(含)",
+ "io.sc.engine.mv.result.curve.psi.countDev": "段内个数",
+ "io.sc.engine.mv.result.curve.psi.totalCountDev": "总数",
+ "io.sc.engine.mv.result.curve.psi.percentDev": "百分比",
+ "io.sc.engine.mv.result.curve.psi.countApp": "段内个数",
+ "io.sc.engine.mv.result.curve.psi.totalCountApp": "总数",
+ "io.sc.engine.mv.result.curve.psi.percentApp": "百分比",
+ "io.sc.engine.mv.result.curve.psi.percentDiff": "百分比变化",
+ "io.sc.engine.mv.result.curve.psi.percentRate": "百分比相对比例",
+ "io.sc.engine.mv.result.curve.psi.weight": "加权系数",
+ "io.sc.engine.mv.result.curve.psi.stWeight": "稳定性加权",
+
+ "io.sc.engine.mv.result.chiSquare.grid.title": "卡方检验结果",
+ "io.sc.engine.mv.result.chiSquare.level": "评分等级",
+ "io.sc.engine.mv.result.chiSquare.pd": "违约概率",
+ "io.sc.engine.mv.result.chiSquare.count": "样本总数",
+ "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.pd": "违约概率",
+ "io.sc.engine.mv.result.binomial.count": "样本总数",
+ "io.sc.engine.mv.result.binomial.defaultCount": "事实违约样本个数",
+ "io.sc.engine.mv.result.binomial.ndAvg": "正态分布平均数",
+ "io.sc.engine.mv.result.binomial.ndSd": "正态分布标准差",
+ "io.sc.engine.mv.result.binomial.sl": "显著水平",
+ "io.sc.engine.mv.result.binomial.cl": "置信水平",
+ "io.sc.engine.mv.result.binomial.zUpper": "正态分布Z值上界",
+ "io.sc.engine.mv.result.binomial.zLower": "正态分布Z值下界",
+ "io.sc.engine.mv.result.binomial.dUpper": "临界值上界",
+ "io.sc.engine.mv.result.binomial.dLower": "临界值下界",
+ "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.form.entity.rateStartDateTo": "评级有效期开始日期范围(结束日期)",
+ "io.sc.engine.mv.executorDialog.form.entity.performPeriod": "评级表现期(月)",
+ "io.sc.engine.mv.executorDialog.form.entity.binomialSignificanceLevel": "二项检验采用的显著水平",
+ "io.sc.engine.mv.executorDialog.form.entity.chiSquareSignificanceLevel": "卡方检验采用的显著水平",
+ "io.sc.engine.mv.executorDialog.form.action.execute": "立即执行"
}
diff --git a/io.sc.engine.mv.frontend/src/views/config/model.vue b/io.sc.engine.mv.frontend/src/views/config/model.vue
index 4193a916..0bf38d7f 100644
--- a/io.sc.engine.mv.frontend/src/views/config/model.vue
+++ b/io.sc.engine.mv.frontend/src/views/config/model.vue
@@ -1,5 +1,6 @@
{},
+ 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',
'view',
@@ -63,7 +70,10 @@
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgScaleServiceImpl.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgScaleServiceImpl.java
index 89d8aea1..f50ab56d 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgScaleServiceImpl.java
+++ b/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.service.CfgScaleService;
import io.sc.platform.orm.service.impl.DaoServiceImpl;
+import io.sc.platform.util.StringUtil;
import org.springframework.stereotype.Service;
@Service("io.sc.engine.mv.configure.service.impl.CfgScaleServiceImpl")
@@ -15,6 +16,9 @@ public class CfgScaleServiceImpl extends DaoServiceImpl {
- console.log('>>>>>>1', args.grid.getEditorForm());
args.grid.getEditorForm().setFieldValue('type', 'FOLDER');
- console.log('>>>>>>2');
},
},
{
diff --git a/io.sc.platform.core.frontend/.npmrc b/io.sc.platform.core.frontend/.npmrc
index 905ceea3..98b46133 100644
--- a/io.sc.platform.core.frontend/.npmrc
+++ b/io.sc.platform.core.frontend/.npmrc
@@ -12,4 +12,4 @@ git-checks=false
# _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
# 上海农商银行内网令牌: 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
diff --git a/io.sc.platform.core.frontend/.vscode/extensions.json b/io.sc.platform.core.frontend/.vscode/extensions.json
deleted file mode 100644
index 5f9db22b..00000000
--- a/io.sc.platform.core.frontend/.vscode/extensions.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "recommendations": [
- "Vue.volar",
- "Vue.vscode-typescript-vue-plugin",
- "bradlc.vscode-tailwindcss",
- "christian-kohler.path-intellisense",
- // "esbenp.prettier-vscode"
- ]
-}
diff --git a/io.sc.platform.developer.doc/asciidoc/9999-appendix/java/java.adoc b/io.sc.platform.developer.doc/asciidoc/9999-appendix/java/java.adoc
index c0028f4a..4b7a03f2 100644
--- a/io.sc.platform.developer.doc/asciidoc/9999-appendix/java/java.adoc
+++ b/io.sc.platform.developer.doc/asciidoc/9999-appendix/java/java.adoc
@@ -1,6 +1,28 @@
[appendix]
= 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]
diff --git a/io.sc.platform.help/build.gradle b/io.sc.platform.help/build.gradle
new file mode 100644
index 00000000..107043c5
--- /dev/null
+++ b/io.sc.platform.help/build.gradle
@@ -0,0 +1,5 @@
+dependencies {
+ api(
+ project(":io.sc.platform.mvc"),
+ )
+}
diff --git a/io.sc.platform.help/src/main/java/io/sc/platform/help/plugins/PluginManager.java b/io.sc.platform.help/src/main/java/io/sc/platform/help/plugins/PluginManager.java
new file mode 100644
index 00000000..e801897e
--- /dev/null
+++ b/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>> helpPlugins;
+ private List 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>> getHelpPlugins() {
+ return helpPlugins;
+ }
+ public void setHelpPlugins(List>> helpPlugins) {
+ this.helpPlugins = helpPlugins;
+ }
+ public List getHelps() {
+ return helps;
+ }
+ public void setHelps(List helps) {
+ this.helps = helps;
+ }
+
+ private void loadHelpPlugins(PluginParser parser) {
+ helpPlugins =parser.parse(HELP_LOCATION,new TypeReference>(){});
+ //处理未按优先级合并的贡献项列表
+ if(helpPlugins!=null && !helpPlugins.isEmpty()){
+ List items =new ArrayList<>();
+ for(Plugin> plugin : helpPlugins){
+ List innerHelps =plugin.getValue();
+ if(innerHelps!=null && !innerHelps.isEmpty()){
+ for(Help entity : innerHelps){
+ entity.setConfigurationFileUrl(plugin.getFileUrl());
+ }
+ items.addAll(innerHelps);
+ }
+ }
+ this.helps =items;
+ }
+ }
+}
\ No newline at end of file
diff --git a/io.sc.platform.help/src/main/java/io/sc/platform/help/plugins/PluginSpiServiceImpl.java b/io.sc.platform.help/src/main/java/io/sc/platform/help/plugins/PluginSpiServiceImpl.java
new file mode 100644
index 00000000..e2ae274f
--- /dev/null
+++ b/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();
+ }
+}
diff --git a/io.sc.platform.help/src/main/java/io/sc/platform/help/plugins/item/Help.java b/io.sc.platform.help/src/main/java/io/sc/platform/help/plugins/item/Help.java
new file mode 100644
index 00000000..7f32635c
--- /dev/null
+++ b/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;
+ }
+}
diff --git a/io.sc.platform.springcloud.openfeign/src/main/java/io/sc/platform/springcloud/openfeign/example/Sample.java b/io.sc.platform.springcloud.openfeign/src/main/java/io/sc/platform/springcloud/openfeign/example/Sample.java
index 35d198de..db178eba 100644
--- a/io.sc.platform.springcloud.openfeign/src/main/java/io/sc/platform/springcloud/openfeign/example/Sample.java
+++ b/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;
-import org.bouncycastle.util.Store;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@@ -10,5 +9,5 @@ import java.util.List;
@FeignClient("openfeignSample")
public interface Sample {
@RequestMapping(name = "user", value = "/api/system/user", method = RequestMethod.GET)
- public List getUsers();
+ public List getUsers();
}
diff --git a/io.sc.platform.util/src/main/java/io/sc/platform/util/ManifestUtil.java b/io.sc.platform.util/src/main/java/io/sc/platform/util/ManifestUtil.java
index 0f845855..f333b060 100644
--- a/io.sc.platform.util/src/main/java/io/sc/platform/util/ManifestUtil.java
+++ b/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 {
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(){
return getMainAttributes(null);
}
+
+ /**
+ * 获取 MANIFEST.MF 文件中所有属性
+ * @param classLoader 类加载器
+ * @return 所有属性
+ */
public static Attributes getMainAttributes(ClassLoader classLoader){
Resource rs = new DefaultResourceLoader(classLoader).getResource("classpath:/META-INF/MANIFEST.MF");
if(rs.exists()){
diff --git a/io.sc.platform.util/src/main/java/io/sc/platform/util/MapUtil.java b/io.sc.platform.util/src/main/java/io/sc/platform/util/MapUtil.java
index 60945b6e..8e8e5a3f 100644
--- a/io.sc.platform.util/src/main/java/io/sc/platform/util/MapUtil.java
+++ b/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;
public class MapUtil {
+ /**
+ * 创建一个不可变的 Map,包含指定的键值对
+ * @param kvs 键值对数组
+ * @return 不可变的 Map
+ */
public static Map of(KV... kvs){
if(kvs==null || kvs.length==0){
return Collections.emptyMap();
diff --git a/settings.gradle b/settings.gradle
index 91516937..68f8d791 100755
--- a/settings.gradle
+++ b/settings.gradle
@@ -39,6 +39,7 @@ include ':io.sc.platform.developer.doc'
include ':io.sc.platform.developer.frontend'
include ':io.sc.platform.flowable'
include ':io.sc.platform.groovy'
+include ':io.sc.platform.help'
include ':io.sc.platform.installer'
include ':io.sc.platform.jdbc'
include ':io.sc.platform.jdbc.driver'