-
@@ -117,12 +185,12 @@
import { ref, nextTick, computed } from 'vue';
import { useI18n } from 'vue-i18n';
import * as echarts from 'echarts';
-import { axios, Environment } from 'platform-core';
+import { axios, Environment, Tools, Formater } from 'platform-core';
import CurveDataDialog from './CurveDataDialog.vue';
const { t } = useI18n();
-const referenceValues = {
+const scReferenceValues = {
auc: [
{ label: '[0.00 - 0.65)', from: 0, to: 0.65 },
{ label: '[0.65 - 0.75)', from: 0.65, to: 0.75 },
@@ -148,70 +216,100 @@ const referenceValues = {
{ label: '[0.75 - 1.00)', from: 0.75, to: 1 },
],
};
-const referenceLevels = computed(() => {
+const scReferenceLevels = computed(() => {
return [
- t('io.sc.platform.core.enums.GoodLevel.POOR'),
- t('io.sc.platform.core.enums.GoodLevel.MEDIUM'),
- t('io.sc.platform.core.enums.GoodLevel.GOOD'),
- t('io.sc.platform.core.enums.GoodLevel.VERY_GOOD'),
- t('io.sc.platform.core.enums.GoodLevel.EXCELLENT'),
- t('io.sc.platform.core.enums.GoodLevel.PERFECT'),
+ t('io.sc.engine.mv.enums.GoodLevel.POOR'),
+ t('io.sc.engine.mv.enums.GoodLevel.MEDIUM'),
+ t('io.sc.engine.mv.enums.GoodLevel.GOOD'),
+ t('io.sc.engine.mv.enums.GoodLevel.VERY_GOOD'),
+ t('io.sc.engine.mv.enums.GoodLevel.EXCELLENT'),
+ t('io.sc.engine.mv.enums.GoodLevel.PERFECT'),
];
});
+const stReferenceValues = {
+ psi: [
+ { label: '[0.00 - 0.25)', from: -999, to: 0.25 },
+ { label: '[0.25 - 1.00)', from: 0.25, to: 999 },
+ ],
+};
+
+const stReferenceLevels = computed(() => {
+ return [t('io.sc.engine.mv.enums.Stability.yes'), t('io.sc.engine.mv.enums.Stability.no')];
+});
+
const dialogRef = ref();
const detailRef = ref();
const selectedTabRef = ref('discrimination');
const curveDataDialogRef = ref();
+const chiSquareValueRef = ref(0);
let rocEchart;
let capEchart;
let ksEchart;
let psiEchart;
+
const open = (detail: any) => {
detailRef.value = detail;
dialogRef.value.show();
+ selectedTabRef.value = 'discrimination';
tabChanged();
};
const tabChanged = () => {
nextTick(() => {
if ('discrimination' === selectedTabRef.value) {
+ // roc
if (!rocEchart) {
- rocEchart = echarts.init(document.getElementById('rocEchart'));
+ rocEchart = echarts.init(document.getElementById('rocEchart'), null, { width: 400, height: 300 });
+ } else {
+ rocEchart.dispose();
+ rocEchart = echarts.init(document.getElementById('rocEchart'), null, { width: 400, height: 300 });
}
axios
- .get(Environment.apiContextPath('/api/mv/sc/cap/option?modelId=' + detailRef.value.modelId + '&validateDate=' + detailRef.value.validateDate))
+ .get(Environment.apiContextPath('/api/mv/viewer/roc/option?modelId=' + detailRef.value.modelId + '&validateDate=' + detailRef.value.validateDate))
.then((response) => {
rocEchart?.setOption(response.data);
rocEchart?.resize();
});
+ // cap
if (!capEchart) {
- capEchart = echarts.init(document.getElementById('capEchart'));
+ capEchart = echarts.init(document.getElementById('capEchart'), null, { width: 400, height: 300 });
+ } else {
+ capEchart.dispose();
+ capEchart = echarts.init(document.getElementById('capEchart'), null, { width: 400, height: 300 });
}
axios
- .get(Environment.apiContextPath('/api/mv/sc/cap/option?modelId=' + detailRef.value.modelId + '&validateDate=' + detailRef.value.validateDate))
+ .get(Environment.apiContextPath('/api/mv/viewer/cap/option?modelId=' + detailRef.value.modelId + '&validateDate=' + detailRef.value.validateDate))
.then((response) => {
capEchart?.setOption(response.data);
capEchart?.resize();
});
+ // ks
if (!ksEchart) {
- ksEchart = echarts.init(document.getElementById('ksEchart'));
+ ksEchart = echarts.init(document.getElementById('ksEchart'), null, { width: 400, height: 300 });
+ } else {
+ ksEchart.dispose();
+ ksEchart = echarts.init(document.getElementById('ksEchart'), null, { width: 400, height: 300 });
}
axios
- .get(Environment.apiContextPath('/api/mv/sc/ks/option?modelId=' + detailRef.value.modelId + '&validateDate=' + detailRef.value.validateDate))
+ .get(Environment.apiContextPath('/api/mv/viewer/ks/option?modelId=' + detailRef.value.modelId + '&validateDate=' + detailRef.value.validateDate))
.then((response) => {
ksEchart?.setOption(response.data);
ksEchart?.resize();
});
} else if ('stability' === selectedTabRef.value) {
+ // psi
if (!psiEchart) {
- psiEchart = echarts.init(document.getElementById('psiEchart'));
+ psiEchart = echarts.init(document.getElementById('psiEchart'), null, { width: 400, height: 300 });
+ } else {
+ psiEchart.dispose();
+ psiEchart = echarts.init(document.getElementById('psiEchart'), null, { width: 400, height: 300 });
}
axios
- .get(Environment.apiContextPath('/api/mv/st/psi/option?modelId=' + detailRef.value.modelId + '&validateDate=' + detailRef.value.validateDate))
+ .get(Environment.apiContextPath('/api/mv/viewer/psi/option?modelId=' + detailRef.value.modelId + '&validateDate=' + detailRef.value.validateDate))
.then((response) => {
psiEchart?.setOption(response.data);
psiEchart?.resize();
@@ -244,6 +342,23 @@ const showData = (type: string) => {
curveDataDialogRef.value.open(type, detailRef.value);
};
+const passOrNotFormater = (value) => {
+ if (Tools.isUndefinedOrNull(value)) {
+ return '';
+ }
+ if (value === 1) {
+ return {
+ componentType: 'QIcon',
+ attrs: { name: 'bi-check-circle', size: '20px', color: 'green' },
+ };
+ } else {
+ return {
+ componentType: 'QIcon',
+ attrs: { name: 'bi-x-circle', size: '20px', color: 'red' },
+ };
+ }
+};
+
defineExpose({
open,
close,
diff --git a/io.sc.engine.mv.frontend/src/views/sample/Sample.vue b/io.sc.engine.mv.frontend/src/views/sample/Sample.vue
index 7d71d742..152f6b2d 100644
--- a/io.sc.engine.mv.frontend/src/views/sample/Sample.vue
+++ b/io.sc.engine.mv.frontend/src/views/sample/Sample.vue
@@ -1,67 +1,55 @@
-
-
-
+
+
-
-
-
diff --git a/io.sc.engine.mv.sample/src/main/java/io/sc/engine/mv/sample/controller/SampleWebController.java b/io.sc.engine.mv.sample/src/main/java/io/sc/engine/mv/sample/controller/SampleWebController.java
index d90c4979..5fb51118 100644
--- a/io.sc.engine.mv.sample/src/main/java/io/sc/engine/mv/sample/controller/SampleWebController.java
+++ b/io.sc.engine.mv.sample/src/main/java/io/sc/engine/mv/sample/controller/SampleWebController.java
@@ -4,6 +4,8 @@ import io.sc.engine.mv.sample.service.CardGongXinImporterService;
import io.sc.engine.mv.sample.service.CardJingyingImporterService;
import io.sc.engine.mv.sample.service.DaiKuanImporterService;
import io.sc.engine.mv.sample.service.TestCaseImporterService;
+import io.sc.engine.mv.viewer.service.DefaultRecordService;
+import io.sc.engine.mv.viewer.service.ScoreRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -13,20 +15,27 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/api/mv/sample")
public class SampleWebController {
@Autowired private TestCaseImporterService testCaseImporterService;
-
@Autowired private CardGongXinImporterService cardGongXinImporterService;
@Autowired private CardJingyingImporterService cardJingyingImporterService;
@Autowired private DaiKuanImporterService daiKuanImporterService;
+ @Autowired private ScoreRecordService scoreRecordService;
+ @Autowired private DefaultRecordService defaultRecordService;
@PostMapping("testCase")
public void importTestCase() throws Exception {
testCaseImporterService.load();
}
- @PostMapping("sample")
- public void importSample() throws Exception{
+ @PostMapping("importExampleSample")
+ public void importExampleSample() throws Exception{
cardGongXinImporterService.load();
cardJingyingImporterService.load();
daiKuanImporterService.load();
}
+
+ @PostMapping("removeAllSample")
+ public void removeAllSample() throws Exception{
+ scoreRecordService.removeAll();
+ defaultRecordService.removeAll();
+ }
}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgBinomialWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgBinomialWebController.java
new file mode 100644
index 00000000..dafff4ca
--- /dev/null
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgBinomialWebController.java
@@ -0,0 +1,27 @@
+package io.sc.engine.mv.configure.controller;
+
+import io.sc.engine.mv.configure.jpa.entity.CfgBinomial;
+import io.sc.engine.mv.configure.jpa.repository.CfgBinomialRepository;
+import io.sc.engine.mv.configure.service.CfgBinomialService;
+import io.sc.engine.mv.configure.vo.CfgBinomialVo;
+import io.sc.platform.mvc.controller.support.RestCrudController;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 二项检验标准正态分布显著水平下的Z值常量配置控制器
+ * @author wangshaoping
+ *
+ */
+@RestController
+@RequestMapping("/api/mv/configure/binomial")
+public class CfgBinomialWebController extends RestCrudController {
+
+ @GetMapping("significanceLevels")
+ public List significanceLevels(){
+ return service.getRepository().findDistinctSignificanceLevel();
+ }
+}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgChiSquareWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgChiSquareWebController.java
new file mode 100644
index 00000000..ad11bd5a
--- /dev/null
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgChiSquareWebController.java
@@ -0,0 +1,26 @@
+package io.sc.engine.mv.configure.controller;
+
+import io.sc.engine.mv.configure.jpa.entity.CfgChiSquare;
+import io.sc.engine.mv.configure.jpa.repository.CfgChiSquareRepository;
+import io.sc.engine.mv.configure.service.CfgChiSquareService;
+import io.sc.engine.mv.configure.vo.CfgChiSquareVo;
+import io.sc.platform.mvc.controller.support.RestCrudController;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 卡方分布临界值常量配置信息控制器
+ * @author wangshaoping
+ *
+ */
+@RestController
+@RequestMapping("/api/mv/configure/chiSquare")
+public class CfgChiSquareWebController extends RestCrudController {
+ @GetMapping("significanceLevels")
+ public List significanceLevels(){
+ return service.getRepository().findDistinctSignificanceLevel();
+ }
+}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgCustomerDistributionWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgCustomerDistributionWebController.java
similarity index 57%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgCustomerDistributionWebController.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgCustomerDistributionWebController.java
index 81575aa4..4b898540 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgCustomerDistributionWebController.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgCustomerDistributionWebController.java
@@ -1,9 +1,9 @@
-package io.sc.engine.mv.controller.configuration;
+package io.sc.engine.mv.configure.controller;
-import io.sc.engine.mv.jpa.entity.CfgCustomerDistribution;
-import io.sc.engine.mv.jpa.repository.CfgCustomerDistributionRepository;
-import io.sc.engine.mv.service.configuration.CfgCustomerDistributionService;
-import io.sc.engine.mv.vo.CfgCustomerDistributionVo;
+import io.sc.engine.mv.configure.jpa.entity.CfgCustomerDistribution;
+import io.sc.engine.mv.configure.jpa.repository.CfgCustomerDistributionRepository;
+import io.sc.engine.mv.configure.service.CfgCustomerDistributionService;
+import io.sc.engine.mv.configure.vo.CfgCustomerDistributionVo;
import io.sc.platform.mvc.controller.support.RestCrudController;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RestController;
*
*/
@RestController
-@RequestMapping("/api/mv/config/distribution")
+@RequestMapping("/api/mv/configure/distribution")
public class CfgCustomerDistributionWebController extends RestCrudController {
}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgCutOffPointWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgCutOffPointWebController.java
similarity index 56%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgCutOffPointWebController.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgCutOffPointWebController.java
index b84485c5..0ba99a35 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgCutOffPointWebController.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgCutOffPointWebController.java
@@ -1,9 +1,9 @@
-package io.sc.engine.mv.controller.configuration;
+package io.sc.engine.mv.configure.controller;
-import io.sc.engine.mv.jpa.entity.CfgCutOffPoint;
-import io.sc.engine.mv.jpa.repository.CfgCutOffPointRepository;
-import io.sc.engine.mv.service.configuration.CfgCutOffPointService;
-import io.sc.engine.mv.vo.CfgCutOffPointVo;
+import io.sc.engine.mv.configure.jpa.entity.CfgCutOffPoint;
+import io.sc.engine.mv.configure.jpa.repository.CfgCutOffPointRepository;
+import io.sc.engine.mv.configure.service.CfgCutOffPointService;
+import io.sc.engine.mv.configure.vo.CfgCutOffPointVo;
import io.sc.platform.mvc.controller.support.RestCrudController;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RestController;
*
*/
@RestController
-@RequestMapping("/api/mv/config/cutOffPoint")
+@RequestMapping("/api/mv/configure/cutOffPoint")
public class CfgCutOffPointWebController extends RestCrudController {
}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgDataExtractorWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgDataExtractorWebController.java
new file mode 100644
index 00000000..df1c78ea
--- /dev/null
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgDataExtractorWebController.java
@@ -0,0 +1,32 @@
+package io.sc.engine.mv.configure.controller;
+
+import io.sc.engine.mv.configure.jpa.entity.CfgDataExtractor;
+import io.sc.engine.mv.configure.jpa.repository.CfgDataExtractorRepository;
+import io.sc.engine.mv.configure.service.CfgDataExtractorService;
+import io.sc.engine.mv.configure.vo.CfgDataExtractorVo;
+import io.sc.platform.mvc.controller.support.RestCrudController;
+import io.sc.platform.system.ds.jpa.repository.DsRepository;
+import oracle.jdbc.proxy.annotation.Post;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 数据抽取器接口配置控制器
+ * @author wangshaoping
+ *
+ */
+@RestController
+@RequestMapping("/api/mv/configure/dataExtractor")
+public class CfgDataExtractorWebController extends RestCrudController {
+ @Autowired private DsRepository dsRepository;
+
+ @PostMapping("test")
+ public void test(@RequestBody CfgDataExtractor object) throws Exception{
+ service.test(object);
+ }
+
+ @PostMapping("generateSample")
+ public void generateSample() throws Exception{
+ service.generateSample();
+ }
+}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgExecutorWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgExecutorWebController.java
similarity index 62%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgExecutorWebController.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgExecutorWebController.java
index eb861c96..8b23d30b 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgExecutorWebController.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgExecutorWebController.java
@@ -1,24 +1,16 @@
-package io.sc.engine.mv.controller.configuration;
+package io.sc.engine.mv.configure.controller;
-import io.sc.engine.mv.Executor;
-import io.sc.engine.mv.ExecutorManager;
-import io.sc.engine.mv.executor.support.ExecutorWrapper;
-import io.sc.platform.mvc.controller.support.RestCrudController;
+import io.sc.engine.mv.validator.executor.Executor;
+import io.sc.engine.mv.validator.executor.ExecutorManager;
import io.sc.platform.orm.service.support.QueryParameter;
import io.sc.platform.orm.service.support.QueryResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
-import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
import java.util.List;
-import java.util.Locale;
/**
* 模型验证执行器
@@ -26,7 +18,7 @@ import java.util.Locale;
*
*/
@RestController
-@RequestMapping("/api/mv/config/executor")
+@RequestMapping("/api/mv/configure/executor")
public class CfgExecutorWebController {
@Autowired private ExecutorManager executorManager;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgModelWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgModelWebController.java
similarity index 74%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgModelWebController.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgModelWebController.java
index 15275599..5bab5fb0 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgModelWebController.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgModelWebController.java
@@ -1,9 +1,9 @@
-package io.sc.engine.mv.controller.configuration;
+package io.sc.engine.mv.configure.controller;
-import io.sc.engine.mv.jpa.entity.CfgModel;
-import io.sc.engine.mv.jpa.repository.CfgModelRepository;
-import io.sc.engine.mv.service.configuration.CfgModelService;
-import io.sc.engine.mv.vo.CfgModelVo;
+import io.sc.engine.mv.configure.jpa.entity.CfgModel;
+import io.sc.engine.mv.configure.jpa.repository.CfgModelRepository;
+import io.sc.engine.mv.configure.service.CfgModelService;
+import io.sc.engine.mv.configure.vo.CfgModelVo;
import io.sc.platform.mvc.controller.support.RestCrudController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.RestController;
*
*/
@RestController
-@RequestMapping("/api/mv/config/model")
+@RequestMapping("/api/mv/configure/model")
public class CfgModelWebController extends RestCrudController {
@Autowired private CfgModelService service;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgScaleWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgScaleWebController.java
similarity index 69%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgScaleWebController.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgScaleWebController.java
index 4149f4d9..80fe2c5f 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgScaleWebController.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgScaleWebController.java
@@ -1,32 +1,26 @@
-package io.sc.engine.mv.controller.configuration;
+package io.sc.engine.mv.configure.controller;
import java.util.ArrayList;
import java.util.List;
-import io.sc.engine.mv.jpa.entity.CfgScale;
-import io.sc.engine.mv.jpa.repository.CfgScaleRepository;
-import io.sc.engine.mv.service.configuration.CfgScaleService;
-import io.sc.engine.mv.vo.CfgScaleVo;
+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.engine.mv.configure.vo.CfgScaleVo;
import io.sc.platform.mvc.controller.support.RestCrudController;
-import io.sc.platform.orm.service.support.QueryParameter;
-import org.springframework.data.domain.Page;
-import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
/**
* 标尺配置控制器
* @author wangshaoping
*
*/
@RestController
-@RequestMapping("/api/mv/config/scale")
+@RequestMapping("/api/mv/configure/scale")
public class CfgScaleWebController extends RestCrudController {
@RequestMapping(value="getScaleLevelByModel/{modelId}")
@ResponseBody
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgThresholdWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgThresholdWebController.java
similarity index 55%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgThresholdWebController.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgThresholdWebController.java
index 24f8ac2d..1cc79efa 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgThresholdWebController.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/controller/CfgThresholdWebController.java
@@ -1,9 +1,9 @@
-package io.sc.engine.mv.controller.configuration;
+package io.sc.engine.mv.configure.controller;
-import io.sc.engine.mv.jpa.entity.CfgThreshold;
-import io.sc.engine.mv.jpa.repository.CfgThresholdRepository;
-import io.sc.engine.mv.service.configuration.CfgThresholdService;
-import io.sc.engine.mv.vo.CfgThresholdVo;
+import io.sc.engine.mv.configure.jpa.entity.CfgThreshold;
+import io.sc.engine.mv.configure.jpa.repository.CfgThresholdRepository;
+import io.sc.engine.mv.configure.service.CfgThresholdService;
+import io.sc.engine.mv.configure.vo.CfgThresholdVo;
import io.sc.platform.mvc.controller.support.RestCrudController;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RestController;
*
*/
@RestController
-@RequestMapping("/api/mv/config/threshold")
+@RequestMapping("/api/mv/configure/threshold")
public class CfgThresholdWebController extends RestCrudController {
}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgBinomial.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgBinomial.java
similarity index 96%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgBinomial.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgBinomial.java
index 79737c2a..7f1d461c 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgBinomial.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgBinomial.java
@@ -1,6 +1,6 @@
-package io.sc.engine.mv.jpa.entity;
+package io.sc.engine.mv.configure.jpa.entity;
-import io.sc.engine.mv.vo.CfgBinomialVo;
+import io.sc.engine.mv.configure.vo.CfgBinomialVo;
import io.sc.platform.orm.entity.AuditorEntity;
import org.hibernate.annotations.GenericGenerator;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgChiSquare.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgChiSquare.java
similarity index 98%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgChiSquare.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgChiSquare.java
index 0d019dff..4c59be8e 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgChiSquare.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgChiSquare.java
@@ -1,6 +1,6 @@
-package io.sc.engine.mv.jpa.entity;
+package io.sc.engine.mv.configure.jpa.entity;
-import io.sc.engine.mv.vo.CfgChiSquareVo;
+import io.sc.engine.mv.configure.vo.CfgChiSquareVo;
import io.sc.platform.orm.entity.AuditorEntity;
import org.hibernate.annotations.GenericGenerator;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgCustomerDistribution.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgCustomerDistribution.java
similarity index 95%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgCustomerDistribution.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgCustomerDistribution.java
index ccbeee6d..d53b56bf 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgCustomerDistribution.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgCustomerDistribution.java
@@ -1,6 +1,4 @@
-package io.sc.engine.mv.jpa.entity;
-
-import java.io.Serializable;
+package io.sc.engine.mv.configure.jpa.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
@@ -9,7 +7,7 @@ import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.Size;
-import io.sc.engine.mv.vo.CfgCustomerDistributionVo;
+import io.sc.engine.mv.configure.vo.CfgCustomerDistributionVo;
import io.sc.platform.orm.entity.AuditorEntity;
import org.hibernate.annotations.GenericGenerator;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgCutOffPoint.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgCutOffPoint.java
similarity index 97%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgCutOffPoint.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgCutOffPoint.java
index 059c834d..890825c5 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgCutOffPoint.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgCutOffPoint.java
@@ -1,6 +1,5 @@
-package io.sc.engine.mv.jpa.entity;
+package io.sc.engine.mv.configure.jpa.entity;
-import java.io.Serializable;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.List;
@@ -14,7 +13,7 @@ import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.Size;
-import io.sc.engine.mv.vo.CfgCutOffPointVo;
+import io.sc.engine.mv.configure.vo.CfgCutOffPointVo;
import io.sc.platform.orm.entity.AuditorEntity;
import org.hibernate.annotations.GenericGenerator;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgDataExtractor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgDataExtractor.java
similarity index 96%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgDataExtractor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgDataExtractor.java
index df46a711..82218e6a 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgDataExtractor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgDataExtractor.java
@@ -1,10 +1,8 @@
-package io.sc.engine.mv.jpa.entity;
-
-import java.io.Serializable;
+package io.sc.engine.mv.configure.jpa.entity;
import javax.persistence.*;
-import io.sc.engine.mv.vo.CfgDataExtractorVo;
+import io.sc.engine.mv.configure.vo.CfgDataExtractorVo;
import io.sc.platform.orm.converter.NumericBooleanConverter;
import io.sc.platform.orm.entity.AuditorEntity;
import org.hibernate.annotations.GenericGenerator;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgModel.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgModel.java
similarity index 93%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgModel.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgModel.java
index d8a5d0bb..ec181568 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgModel.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgModel.java
@@ -1,7 +1,7 @@
-package io.sc.engine.mv.jpa.entity;
+package io.sc.engine.mv.configure.jpa.entity;
-import io.sc.engine.mv.ModelType;
-import io.sc.engine.mv.vo.CfgModelVo;
+import io.sc.engine.mv.enums.ModelType;
+import io.sc.engine.mv.configure.vo.CfgModelVo;
import io.sc.platform.orm.entity.AuditorEntity;
import org.hibernate.annotations.GenericGenerator;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgScale.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgScale.java
similarity index 95%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgScale.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgScale.java
index 7c6e5766..eaa0359d 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgScale.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgScale.java
@@ -1,6 +1,6 @@
-package io.sc.engine.mv.jpa.entity;
+package io.sc.engine.mv.configure.jpa.entity;
-import io.sc.engine.mv.vo.CfgScaleVo;
+import io.sc.engine.mv.configure.vo.CfgScaleVo;
import io.sc.platform.orm.entity.AuditorEntity;
import org.hibernate.annotations.GenericGenerator;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgThreshold.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgThreshold.java
similarity index 97%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgThreshold.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgThreshold.java
index e1cfa680..acaf72be 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/entity/CfgThreshold.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/entity/CfgThreshold.java
@@ -1,6 +1,6 @@
-package io.sc.engine.mv.jpa.entity;
+package io.sc.engine.mv.configure.jpa.entity;
-import io.sc.engine.mv.vo.CfgThresholdVo;
+import io.sc.engine.mv.configure.vo.CfgThresholdVo;
import io.sc.platform.orm.entity.AuditorEntity;
import org.hibernate.annotations.GenericGenerator;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgBinomialRepository.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgBinomialRepository.java
similarity index 80%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgBinomialRepository.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgBinomialRepository.java
index 40d42e85..7762a93f 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgBinomialRepository.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgBinomialRepository.java
@@ -1,8 +1,8 @@
-package io.sc.engine.mv.jpa.repository;
+package io.sc.engine.mv.configure.jpa.repository;
import java.util.List;
-import io.sc.engine.mv.jpa.entity.CfgBinomial;
+import io.sc.engine.mv.configure.jpa.entity.CfgBinomial;
import io.sc.platform.orm.repository.DaoRepository;
import org.springframework.data.jpa.repository.Query;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgChiSquareRepository.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgChiSquareRepository.java
similarity index 81%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgChiSquareRepository.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgChiSquareRepository.java
index e9e3f271..b6ddbfa7 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgChiSquareRepository.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgChiSquareRepository.java
@@ -1,6 +1,6 @@
-package io.sc.engine.mv.jpa.repository;
+package io.sc.engine.mv.configure.jpa.repository;
-import io.sc.engine.mv.jpa.entity.CfgChiSquare;
+import io.sc.engine.mv.configure.jpa.entity.CfgChiSquare;
import io.sc.platform.orm.repository.DaoRepository;
import org.springframework.data.jpa.repository.Query;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgCustomerDistributionRepository.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgCustomerDistributionRepository.java
similarity index 58%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgCustomerDistributionRepository.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgCustomerDistributionRepository.java
index 7c855904..6f072b59 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgCustomerDistributionRepository.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgCustomerDistributionRepository.java
@@ -1,7 +1,7 @@
-package io.sc.engine.mv.jpa.repository;
+package io.sc.engine.mv.configure.jpa.repository;
-import io.sc.engine.mv.jpa.entity.CfgCustomerDistribution;
+import io.sc.engine.mv.configure.jpa.entity.CfgCustomerDistribution;
import io.sc.platform.orm.repository.DaoRepository;
public interface CfgCustomerDistributionRepository extends DaoRepository {
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgCutOffPointRepository.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgCutOffPointRepository.java
similarity index 64%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgCutOffPointRepository.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgCutOffPointRepository.java
index 29fd04e0..8246905a 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgCutOffPointRepository.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgCutOffPointRepository.java
@@ -1,7 +1,7 @@
-package io.sc.engine.mv.jpa.repository;
+package io.sc.engine.mv.configure.jpa.repository;
-import io.sc.engine.mv.jpa.entity.CfgCutOffPoint;
+import io.sc.engine.mv.configure.jpa.entity.CfgCutOffPoint;
import io.sc.platform.orm.repository.DaoRepository;
public interface CfgCutOffPointRepository extends DaoRepository {
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgDataExtractorRepository.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgDataExtractorRepository.java
similarity index 84%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgDataExtractorRepository.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgDataExtractorRepository.java
index 23a14ab2..922dbb17 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgDataExtractorRepository.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgDataExtractorRepository.java
@@ -1,6 +1,6 @@
-package io.sc.engine.mv.jpa.repository;
+package io.sc.engine.mv.configure.jpa.repository;
-import io.sc.engine.mv.jpa.entity.CfgDataExtractor;
+import io.sc.engine.mv.configure.jpa.entity.CfgDataExtractor;
import io.sc.platform.orm.repository.DaoRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgModelRepository.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgModelRepository.java
similarity index 71%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgModelRepository.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgModelRepository.java
index e13e7eab..f5ccf53c 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgModelRepository.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgModelRepository.java
@@ -1,6 +1,6 @@
-package io.sc.engine.mv.jpa.repository;
+package io.sc.engine.mv.configure.jpa.repository;
-import io.sc.engine.mv.jpa.entity.CfgModel;
+import io.sc.engine.mv.configure.jpa.entity.CfgModel;
import io.sc.platform.orm.repository.DaoRepository;
import java.util.List;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgScaleRepository.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgScaleRepository.java
similarity index 80%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgScaleRepository.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgScaleRepository.java
index ab709327..a11126b0 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgScaleRepository.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgScaleRepository.java
@@ -1,8 +1,8 @@
-package io.sc.engine.mv.jpa.repository;
+package io.sc.engine.mv.configure.jpa.repository;
import java.util.List;
-import io.sc.engine.mv.jpa.entity.CfgScale;
+import io.sc.engine.mv.configure.jpa.entity.CfgScale;
import io.sc.platform.orm.repository.DaoRepository;
import org.springframework.data.jpa.repository.Query;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgThresholdRepository.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgThresholdRepository.java
similarity index 72%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgThresholdRepository.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgThresholdRepository.java
index 90cf4e16..ffc8f4d1 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CfgThresholdRepository.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/jpa/repository/CfgThresholdRepository.java
@@ -1,6 +1,6 @@
-package io.sc.engine.mv.jpa.repository;
+package io.sc.engine.mv.configure.jpa.repository;
-import io.sc.engine.mv.jpa.entity.CfgThreshold;
+import io.sc.engine.mv.configure.jpa.entity.CfgThreshold;
import io.sc.platform.orm.repository.DaoRepository;
import java.util.List;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgBinomialService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgBinomialService.java
new file mode 100644
index 00000000..a0b66001
--- /dev/null
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgBinomialService.java
@@ -0,0 +1,9 @@
+package io.sc.engine.mv.configure.service;
+
+import io.sc.engine.mv.configure.jpa.entity.CfgBinomial;
+import io.sc.engine.mv.configure.jpa.repository.CfgBinomialRepository;
+import io.sc.platform.orm.service.DaoService;
+
+public interface CfgBinomialService extends DaoService {
+
+}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgChiSquareService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgChiSquareService.java
new file mode 100644
index 00000000..5faf6262
--- /dev/null
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgChiSquareService.java
@@ -0,0 +1,10 @@
+package io.sc.engine.mv.configure.service;
+
+
+import io.sc.engine.mv.configure.jpa.entity.CfgChiSquare;
+import io.sc.engine.mv.configure.jpa.repository.CfgChiSquareRepository;
+import io.sc.platform.orm.service.DaoService;
+
+public interface CfgChiSquareService extends DaoService {
+
+}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgCustomerDistributionService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgCustomerDistributionService.java
new file mode 100644
index 00000000..b3b93974
--- /dev/null
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgCustomerDistributionService.java
@@ -0,0 +1,10 @@
+package io.sc.engine.mv.configure.service;
+
+
+import io.sc.engine.mv.configure.jpa.entity.CfgCustomerDistribution;
+import io.sc.engine.mv.configure.jpa.repository.CfgCustomerDistributionRepository;
+import io.sc.platform.orm.service.DaoService;
+
+public interface CfgCustomerDistributionService extends DaoService {
+
+}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgCutOffPointService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgCutOffPointService.java
new file mode 100644
index 00000000..716763b4
--- /dev/null
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgCutOffPointService.java
@@ -0,0 +1,12 @@
+package io.sc.engine.mv.configure.service;
+
+
+import io.sc.engine.mv.configure.jpa.entity.CfgCutOffPoint;
+import io.sc.engine.mv.configure.jpa.repository.CfgCutOffPointRepository;
+import io.sc.platform.orm.service.DaoService;
+
+public interface CfgCutOffPointService extends DaoService {
+
+}
+
+
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgDataExtractorService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgDataExtractorService.java
similarity index 61%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgDataExtractorService.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgDataExtractorService.java
index 45e5f503..0dc9e39b 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgDataExtractorService.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgDataExtractorService.java
@@ -1,8 +1,8 @@
-package io.sc.engine.mv.service.configuration;
+package io.sc.engine.mv.configure.service;
-import io.sc.engine.mv.jpa.entity.CfgDataExtractor;
-import io.sc.engine.mv.jpa.repository.CfgDataExtractorRepository;
+import io.sc.engine.mv.configure.jpa.entity.CfgDataExtractor;
+import io.sc.engine.mv.configure.jpa.repository.CfgDataExtractorRepository;
import io.sc.platform.orm.service.DaoService;
public interface CfgDataExtractorService extends DaoService {
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgModelService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgModelService.java
similarity index 59%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgModelService.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgModelService.java
index febdb403..d41b7c52 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgModelService.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgModelService.java
@@ -1,11 +1,9 @@
-package io.sc.engine.mv.service.configuration;
+package io.sc.engine.mv.configure.service;
-import io.sc.engine.mv.jpa.entity.CfgModel;
-import io.sc.engine.mv.jpa.repository.CfgModelRepository;
+import io.sc.engine.mv.configure.jpa.entity.CfgModel;
+import io.sc.engine.mv.configure.jpa.repository.CfgModelRepository;
import io.sc.platform.orm.service.DaoService;
-import java.util.List;
-
public interface CfgModelService extends DaoService {
/**
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgScaleService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgScaleService.java
new file mode 100644
index 00000000..0e81e262
--- /dev/null
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgScaleService.java
@@ -0,0 +1,10 @@
+package io.sc.engine.mv.configure.service;
+
+
+import io.sc.engine.mv.configure.jpa.entity.CfgScale;
+import io.sc.engine.mv.configure.jpa.repository.CfgScaleRepository;
+import io.sc.platform.orm.service.DaoService;
+
+public interface CfgScaleService extends DaoService {
+
+}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgThresholdService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgThresholdService.java
new file mode 100644
index 00000000..192faa5d
--- /dev/null
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/CfgThresholdService.java
@@ -0,0 +1,10 @@
+package io.sc.engine.mv.configure.service;
+
+
+import io.sc.engine.mv.configure.jpa.entity.CfgThreshold;
+import io.sc.engine.mv.configure.jpa.repository.CfgThresholdRepository;
+import io.sc.platform.orm.service.DaoService;
+
+public interface CfgThresholdService extends DaoService {
+
+}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgBinomialServiceImpl.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgBinomialServiceImpl.java
similarity index 70%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgBinomialServiceImpl.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgBinomialServiceImpl.java
index 136c1f67..6f1e63b3 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgBinomialServiceImpl.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgBinomialServiceImpl.java
@@ -1,10 +1,10 @@
-package io.sc.engine.mv.service.configuration.impl;
+package io.sc.engine.mv.configure.service.impl;
import java.util.List;
-import io.sc.engine.mv.jpa.entity.CfgBinomial;
-import io.sc.engine.mv.jpa.repository.CfgBinomialRepository;
-import io.sc.engine.mv.service.configuration.CfgBinomialService;
+import io.sc.engine.mv.configure.jpa.entity.CfgBinomial;
+import io.sc.engine.mv.configure.jpa.repository.CfgBinomialRepository;
+import io.sc.engine.mv.configure.service.CfgBinomialService;
import io.sc.platform.orm.service.impl.DaoServiceImpl;
import org.springframework.stereotype.Service;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgChiSquareServiceImpl.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgChiSquareServiceImpl.java
similarity index 75%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgChiSquareServiceImpl.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgChiSquareServiceImpl.java
index 7eed57c8..62e3fad9 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgChiSquareServiceImpl.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgChiSquareServiceImpl.java
@@ -1,10 +1,10 @@
-package io.sc.engine.mv.service.configuration.impl;
+package io.sc.engine.mv.configure.service.impl;
import java.util.List;
-import io.sc.engine.mv.jpa.entity.CfgChiSquare;
-import io.sc.engine.mv.jpa.repository.CfgChiSquareRepository;
-import io.sc.engine.mv.service.configuration.CfgChiSquareService;
+import io.sc.engine.mv.configure.jpa.entity.CfgChiSquare;
+import io.sc.engine.mv.configure.jpa.repository.CfgChiSquareRepository;
+import io.sc.engine.mv.configure.service.CfgChiSquareService;
import io.sc.platform.orm.service.impl.DaoServiceImpl;
import org.springframework.stereotype.Service;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgCustomerDistributionServiceImpl.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgCustomerDistributionServiceImpl.java
similarity index 67%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgCustomerDistributionServiceImpl.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgCustomerDistributionServiceImpl.java
index 159ae743..95646aed 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgCustomerDistributionServiceImpl.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgCustomerDistributionServiceImpl.java
@@ -1,8 +1,8 @@
-package io.sc.engine.mv.service.configuration.impl;
+package io.sc.engine.mv.configure.service.impl;
-import io.sc.engine.mv.jpa.entity.CfgCustomerDistribution;
-import io.sc.engine.mv.jpa.repository.CfgCustomerDistributionRepository;
-import io.sc.engine.mv.service.configuration.CfgCustomerDistributionService;
+import io.sc.engine.mv.configure.jpa.entity.CfgCustomerDistribution;
+import io.sc.engine.mv.configure.jpa.repository.CfgCustomerDistributionRepository;
+import io.sc.engine.mv.configure.service.CfgCustomerDistributionService;
import io.sc.platform.orm.service.impl.DaoServiceImpl;
import org.springframework.stereotype.Service;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgCutOffPointServiceImpl.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgCutOffPointServiceImpl.java
similarity index 73%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgCutOffPointServiceImpl.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgCutOffPointServiceImpl.java
index f3c13ecb..c4c2ad9c 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgCutOffPointServiceImpl.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgCutOffPointServiceImpl.java
@@ -1,10 +1,10 @@
-package io.sc.engine.mv.service.configuration.impl;
+package io.sc.engine.mv.configure.service.impl;
import java.util.List;
-import io.sc.engine.mv.jpa.entity.CfgCutOffPoint;
-import io.sc.engine.mv.jpa.repository.CfgCutOffPointRepository;
-import io.sc.engine.mv.service.configuration.CfgCutOffPointService;
+import io.sc.engine.mv.configure.jpa.entity.CfgCutOffPoint;
+import io.sc.engine.mv.configure.jpa.repository.CfgCutOffPointRepository;
+import io.sc.engine.mv.configure.service.CfgCutOffPointService;
import io.sc.platform.orm.service.impl.DaoServiceImpl;
import org.springframework.stereotype.Service;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgDataExtractorServiceImpl.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgDataExtractorServiceImpl.java
similarity index 86%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgDataExtractorServiceImpl.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgDataExtractorServiceImpl.java
index d2b285a6..5e78474b 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgDataExtractorServiceImpl.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgDataExtractorServiceImpl.java
@@ -1,17 +1,14 @@
-package io.sc.engine.mv.service.configuration.impl;
+package io.sc.engine.mv.configure.service.impl;
-import io.sc.engine.mv.DataExtractorManager;
-import io.sc.engine.mv.jpa.entity.CfgDataExtractor;
-import io.sc.engine.mv.jpa.repository.CfgDataExtractorRepository;
-import io.sc.engine.mv.service.configuration.CfgDataExtractorService;
-import io.sc.platform.core.Environment;
+import io.sc.engine.mv.validator.extractor.DataExtractorManager;
+import io.sc.engine.mv.configure.jpa.entity.CfgDataExtractor;
+import io.sc.engine.mv.configure.jpa.repository.CfgDataExtractorRepository;
+import io.sc.engine.mv.configure.service.CfgDataExtractorService;
import io.sc.platform.core.support.ProgressInfo;
import io.sc.platform.core.util.FileUtil;
import io.sc.platform.orm.api.exception.UpdateNullNewObjectException;
import io.sc.platform.orm.service.impl.DaoServiceImpl;
-import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgModelServiceImpl.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgModelServiceImpl.java
similarity index 85%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgModelServiceImpl.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgModelServiceImpl.java
index e546b4d7..4aea96b9 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgModelServiceImpl.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgModelServiceImpl.java
@@ -1,9 +1,9 @@
-package io.sc.engine.mv.service.configuration.impl;
+package io.sc.engine.mv.configure.service.impl;
-import io.sc.engine.mv.ModelType;
-import io.sc.engine.mv.jpa.entity.CfgModel;
-import io.sc.engine.mv.jpa.repository.CfgModelRepository;
-import io.sc.engine.mv.service.configuration.CfgModelService;
+import io.sc.engine.mv.enums.ModelType;
+import io.sc.engine.mv.configure.jpa.entity.CfgModel;
+import io.sc.engine.mv.configure.jpa.repository.CfgModelRepository;
+import io.sc.engine.mv.configure.service.CfgModelService;
import io.sc.platform.orm.service.impl.DaoServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgScaleServiceImpl.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgScaleServiceImpl.java
similarity index 67%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgScaleServiceImpl.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgScaleServiceImpl.java
index b1a18576..3ba60d0e 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgScaleServiceImpl.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgScaleServiceImpl.java
@@ -1,8 +1,8 @@
-package io.sc.engine.mv.service.configuration.impl;
+package io.sc.engine.mv.configure.service.impl;
-import io.sc.engine.mv.jpa.entity.CfgScale;
-import io.sc.engine.mv.jpa.repository.CfgScaleRepository;
-import io.sc.engine.mv.service.configuration.CfgScaleService;
+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 org.springframework.stereotype.Service;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgThresholdServiceImpl.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgThresholdServiceImpl.java
similarity index 74%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgThresholdServiceImpl.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgThresholdServiceImpl.java
index 2b4da573..b07a99a2 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/impl/CfgThresholdServiceImpl.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/service/impl/CfgThresholdServiceImpl.java
@@ -1,8 +1,8 @@
-package io.sc.engine.mv.service.configuration.impl;
+package io.sc.engine.mv.configure.service.impl;
-import io.sc.engine.mv.jpa.entity.CfgThreshold;
-import io.sc.engine.mv.jpa.repository.CfgThresholdRepository;
-import io.sc.engine.mv.service.configuration.CfgThresholdService;
+import io.sc.engine.mv.configure.jpa.entity.CfgThreshold;
+import io.sc.engine.mv.configure.jpa.repository.CfgThresholdRepository;
+import io.sc.engine.mv.configure.service.CfgThresholdService;
import io.sc.platform.orm.service.impl.DaoServiceImpl;
import org.springframework.stereotype.Service;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgBinomialVo.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgBinomialVo.java
similarity index 96%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgBinomialVo.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgBinomialVo.java
index 792ea865..2da65648 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgBinomialVo.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgBinomialVo.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv.vo;
+package io.sc.engine.mv.configure.vo;
import io.sc.platform.orm.api.vo.AuditorVo;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgChiSquareVo.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgChiSquareVo.java
similarity index 95%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgChiSquareVo.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgChiSquareVo.java
index f0272740..d88ee1bc 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgChiSquareVo.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgChiSquareVo.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv.vo;
+package io.sc.engine.mv.configure.vo;
import io.sc.platform.orm.api.vo.AuditorVo;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgCustomerDistributionVo.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgCustomerDistributionVo.java
similarity index 96%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgCustomerDistributionVo.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgCustomerDistributionVo.java
index 2b3c6276..0d31a0c6 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgCustomerDistributionVo.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgCustomerDistributionVo.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv.vo;
+package io.sc.engine.mv.configure.vo;
import io.sc.platform.orm.api.vo.AuditorVo;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgCutOffPointVo.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgCutOffPointVo.java
similarity index 97%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgCutOffPointVo.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgCutOffPointVo.java
index 00f94c7c..d9796a6f 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgCutOffPointVo.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgCutOffPointVo.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv.vo;
+package io.sc.engine.mv.configure.vo;
import io.sc.platform.orm.api.vo.AuditorVo;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgDataExtractorVo.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgDataExtractorVo.java
similarity index 97%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgDataExtractorVo.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgDataExtractorVo.java
index 5e36dc31..b29338a5 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgDataExtractorVo.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgDataExtractorVo.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv.vo;
+package io.sc.engine.mv.configure.vo;
import io.sc.platform.orm.api.vo.AuditorVo;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgModelVo.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgModelVo.java
similarity index 90%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgModelVo.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgModelVo.java
index 58ca082a..2043e69d 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgModelVo.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgModelVo.java
@@ -1,6 +1,6 @@
-package io.sc.engine.mv.vo;
+package io.sc.engine.mv.configure.vo;
-import io.sc.engine.mv.ModelType;
+import io.sc.engine.mv.enums.ModelType;
import io.sc.platform.orm.api.vo.AuditorVo;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgScaleVo.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgScaleVo.java
similarity index 96%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgScaleVo.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgScaleVo.java
index bb3d5470..31b2ea94 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgScaleVo.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgScaleVo.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv.vo;
+package io.sc.engine.mv.configure.vo;
import io.sc.platform.orm.api.vo.AuditorVo;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgThresholdVo.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgThresholdVo.java
similarity index 97%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgThresholdVo.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgThresholdVo.java
index 279fabad..99a1a47e 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/vo/CfgThresholdVo.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/configure/vo/CfgThresholdVo.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv.vo;
+package io.sc.engine.mv.configure.vo;
import io.sc.platform.orm.api.vo.AuditorVo;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/ShowSampleWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/ShowSampleWebController.java
deleted file mode 100644
index ed30f212..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/ShowSampleWebController.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package io.sc.engine.mv.controller;
-
-import io.sc.engine.mv.jpa.entity.GeneralSampleHistory;
-import io.sc.engine.mv.jpa.entity.id.GeneralSampleHistoryId;
-import io.sc.engine.mv.jpa.repository.GeneralSampleHistoryRepository;
-import io.sc.engine.mv.service.result.GeneralSampleHistoryService;
-import io.sc.engine.mv.vo.GeneralSampleHistoryVo;
-import io.sc.platform.mvc.controller.support.RestCrudController;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-/**
- * 查询模型验证样本数据控制器
- * @author wangshaoping
- *
- */
-@Controller
-@RequestMapping("/api/mv/sample")
-public class ShowSampleWebController extends RestCrudController {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/coe/BinomialWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/coe/BinomialWebController.java
deleted file mode 100644
index e7a73492..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/coe/BinomialWebController.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package io.sc.engine.mv.controller.coe;
-
-import io.sc.engine.mv.jpa.entity.CoeBinomialHistory;
-import io.sc.engine.mv.jpa.repository.CoeBinomialHistoryRepository;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Example;
-import org.springframework.data.domain.ExampleMatcher;
-import org.springframework.data.domain.ExampleMatcher.StringMatcher;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-@RestController
-@RequestMapping("/api/mv/coe/binomial")
-public class BinomialWebController {
- @Autowired private CoeBinomialHistoryRepository coeBinomialHistoryRepository;
-
- @GetMapping(value="")
- public List iscFetch(CoeBinomialHistory history){
- return fetch(history);
- }
-
- private List fetch(CoeBinomialHistory history){
- ExampleMatcher matcher = ExampleMatcher.matching()
- .withIgnoreNullValues()
- .withIgnoreCase()
- .withStringMatcher(StringMatcher.CONTAINING);
- Example example = Example.of(history, matcher);
- List result =coeBinomialHistoryRepository.findAll(example);
- return result;
- }
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/coe/ChiSquareWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/coe/ChiSquareWebController.java
deleted file mode 100644
index 58a71217..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/coe/ChiSquareWebController.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package io.sc.engine.mv.controller.coe;
-
-import io.sc.engine.mv.jpa.entity.CoeChiSquareHistory;
-import io.sc.engine.mv.jpa.repository.CoeChiSquareHistoryRepository;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Example;
-import org.springframework.data.domain.ExampleMatcher;
-import org.springframework.data.domain.ExampleMatcher.StringMatcher;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-@RestController
-@RequestMapping("/api/mv/coe/chiSquare")
-public class ChiSquareWebController {
- @Autowired private CoeChiSquareHistoryRepository coeChiSquareHistoryRepository;
-
- @GetMapping("")
- public List iscFetch(CoeChiSquareHistory psiHistory){
- return fetch(psiHistory);
- }
-
- private List fetch(CoeChiSquareHistory history){
- ExampleMatcher matcher = ExampleMatcher.matching()
- .withIgnoreNullValues()
- .withIgnoreCase()
- .withStringMatcher(StringMatcher.CONTAINING);
- Example example = Example.of(history, matcher);
- List result =coeChiSquareHistoryRepository.findAll(example);
- return result;
- }
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgBinomialWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgBinomialWebController.java
deleted file mode 100644
index ebc747f7..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgBinomialWebController.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package io.sc.engine.mv.controller.configuration;
-
-import io.sc.engine.mv.jpa.entity.CfgBinomial;
-import io.sc.engine.mv.jpa.repository.CfgBinomialRepository;
-import io.sc.engine.mv.service.configuration.CfgBinomialService;
-import io.sc.engine.mv.vo.CfgBinomialVo;
-import io.sc.platform.mvc.controller.support.RestCrudController;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 二项检验标准正态分布显著水平下的Z值常量配置控制器
- * @author wangshaoping
- *
- */
-@RestController
-@RequestMapping("/api/mv/config/binomial")
-public class CfgBinomialWebController extends RestCrudController {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgChiSquareWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgChiSquareWebController.java
deleted file mode 100644
index b81ea5f0..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/CfgChiSquareWebController.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package io.sc.engine.mv.controller.configuration;
-
-import io.sc.engine.mv.jpa.entity.CfgChiSquare;
-import io.sc.engine.mv.jpa.repository.CfgChiSquareRepository;
-import io.sc.engine.mv.service.configuration.CfgChiSquareService;
-import io.sc.engine.mv.vo.CfgChiSquareVo;
-import io.sc.platform.mvc.controller.support.RestCrudController;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 卡方分布临界值常量配置信息控制器
- * @author wangshaoping
- *
- */
-@RestController
-@RequestMapping("/api/mv/config/chiSquare")
-public class CfgChiSquareWebController extends RestCrudController {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/DataExtractorWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/DataExtractorWebController.java
deleted file mode 100644
index 54b34c48..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/configuration/DataExtractorWebController.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package io.sc.engine.mv.controller.configuration;
-
-import io.sc.engine.mv.jpa.entity.CfgDataExtractor;
-import io.sc.engine.mv.jpa.repository.CfgDataExtractorRepository;
-import io.sc.engine.mv.service.configuration.CfgDataExtractorService;
-import io.sc.engine.mv.vo.CfgDataExtractorVo;
-import io.sc.platform.mvc.controller.support.RestCrudController;
-import io.sc.platform.system.ds.jpa.repository.DsRepository;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.ModelAndView;
-
-/**
- * 数据抽取器接口配置控制器
- * @author wangshaoping
- *
- */
-@RestController
-@RequestMapping("/api/mv/config/dataExtractor")
-public class DataExtractorWebController extends RestCrudController {
- @Autowired private DsRepository dsRepository;
-
- @RequestMapping(value="test",method=RequestMethod.POST)
- @ResponseBody
- public void test(@RequestBody CfgDataExtractor object) throws Exception{
- service.test(object);
- }
-
- @RequestMapping(value="generateSample",method=RequestMethod.POST)
- @ResponseBody
- public void generateSample() throws Exception{
- service.generateSample();
- }
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/echart/Tooltip.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/echart/Tooltip.java
deleted file mode 100644
index b6f1818f..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/echart/Tooltip.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package io.sc.engine.mv.echart;
-
-public class Tooltip {
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/CoeResult.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/enums/CoeResult.java
similarity index 83%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/CoeResult.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/enums/CoeResult.java
index 0f7523a7..27dbf5ce 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/CoeResult.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/enums/CoeResult.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv;
+package io.sc.engine.mv.enums;
/**
* 估值准确性检验结果枚举值
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/DataExtractorType.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/enums/DataExtractorType.java
similarity index 84%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/DataExtractorType.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/enums/DataExtractorType.java
index 0163ac3f..47bc18b5 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/DataExtractorType.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/enums/DataExtractorType.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv;
+package io.sc.engine.mv.enums;
public enum DataExtractorType {
SQL, //SQL 语句
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/ExecuteMode.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/enums/ExecuteMode.java
similarity index 82%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/ExecuteMode.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/enums/ExecuteMode.java
index c70d4a81..a7c6c5e8 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/ExecuteMode.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/enums/ExecuteMode.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv;
+package io.sc.engine.mv.enums;
/**
* 模型验证执行模式
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/ModelType.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/enums/ModelType.java
similarity index 85%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/ModelType.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/enums/ModelType.java
index 6bdadc7b..70d85eba 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/ModelType.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/enums/ModelType.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv;
+package io.sc.engine.mv.enums;
/**
* 模型创建类型
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/ScaleType.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/enums/ScaleType.java
similarity index 89%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/ScaleType.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/enums/ScaleType.java
index 41555aec..6dbd25db 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/ScaleType.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/enums/ScaleType.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv;
+package io.sc.engine.mv.enums;
/**
* 标尺枚举值
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/exception/CutOffPointNotFoundException.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/exception/CutOffPointNotFoundException.java
new file mode 100644
index 00000000..bb2e2fcf
--- /dev/null
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/exception/CutOffPointNotFoundException.java
@@ -0,0 +1,4 @@
+package io.sc.engine.mv.exception;
+
+public class CutOffPointNotFoundException extends RuntimeException {
+}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/exception/ExecutorNotRunningException.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/exception/ExecutorNotRunningException.java
new file mode 100644
index 00000000..1c784df0
--- /dev/null
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/exception/ExecutorNotRunningException.java
@@ -0,0 +1,4 @@
+package io.sc.engine.mv.exception;
+
+public class ExecutorNotRunningException extends RuntimeException{
+}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/exception/ExecutorRunningException.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/exception/ExecutorRunningException.java
new file mode 100644
index 00000000..02322441
--- /dev/null
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/exception/ExecutorRunningException.java
@@ -0,0 +1,4 @@
+package io.sc.engine.mv.exception;
+
+public class ExecutorRunningException extends RuntimeException{
+}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/initializer/ConfigurationInitializer.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/initializer/ConfigurationInitializer.java
index 84bd125d..5dd36b84 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/initializer/ConfigurationInitializer.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/initializer/ConfigurationInitializer.java
@@ -1,6 +1,6 @@
package io.sc.engine.mv.initializer;
-import io.sc.engine.mv.service.configuration.*;
+import io.sc.engine.mv.configure.service.*;
import io.sc.platform.core.initializer.ApplicationInitializer;
import io.sc.platform.core.initializer.ApplicationInitializerExecuteException;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CoeBinomialHistoryRepository.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CoeBinomialHistoryRepository.java
deleted file mode 100644
index 45e07ac7..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CoeBinomialHistoryRepository.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package io.sc.engine.mv.jpa.repository;
-
-
-import io.sc.engine.mv.jpa.entity.CoeBinomialHistory;
-import io.sc.engine.mv.jpa.entity.id.CoeBinomialHistoryId;
-import io.sc.platform.orm.repository.DaoRepository;
-
-public interface CoeBinomialHistoryRepository extends DaoRepository {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CoeChiSquareHistoryRepository.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CoeChiSquareHistoryRepository.java
deleted file mode 100644
index 0c20d49b..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/CoeChiSquareHistoryRepository.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package io.sc.engine.mv.jpa.repository;
-
-
-import io.sc.engine.mv.jpa.entity.CoeChiSquareHistory;
-import io.sc.engine.mv.jpa.entity.id.CoeChiSquareHistoryId;
-import io.sc.platform.orm.repository.DaoRepository;
-
-public interface CoeChiSquareHistoryRepository extends DaoRepository {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/DefaultRecordRepository.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/DefaultRecordRepository.java
deleted file mode 100644
index fe42eb4c..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/DefaultRecordRepository.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package io.sc.engine.mv.jpa.repository;
-
-import io.sc.engine.mv.jpa.entity.DefaultRecord;
-import io.sc.engine.mv.jpa.entity.ScoreRecord;
-import io.sc.engine.mv.jpa.entity.id.DefaultRecordId;
-import io.sc.engine.mv.jpa.entity.id.ScoreRecordId;
-import io.sc.platform.orm.repository.DaoRepository;
-
-public interface DefaultRecordRepository extends DaoRepository {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/ScoreRecordRepository.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/ScoreRecordRepository.java
deleted file mode 100644
index b6db0abe..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/jpa/repository/ScoreRecordRepository.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package io.sc.engine.mv.jpa.repository;
-
-import io.sc.engine.mv.jpa.entity.ScoreRecord;
-import io.sc.engine.mv.jpa.entity.id.ScoreRecordId;
-import io.sc.platform.orm.repository.DaoRepository;
-
-public interface ScoreRecordRepository extends DaoRepository {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgBinomialService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgBinomialService.java
deleted file mode 100644
index cdff8948..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgBinomialService.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package io.sc.engine.mv.service.configuration;
-
-import io.sc.engine.mv.jpa.entity.CfgBinomial;
-import io.sc.engine.mv.jpa.repository.CfgBinomialRepository;
-import io.sc.platform.orm.service.DaoService;
-
-public interface CfgBinomialService extends DaoService {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgChiSquareService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgChiSquareService.java
deleted file mode 100644
index 455184b3..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgChiSquareService.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package io.sc.engine.mv.service.configuration;
-
-
-import io.sc.engine.mv.jpa.entity.CfgChiSquare;
-import io.sc.engine.mv.jpa.repository.CfgChiSquareRepository;
-import io.sc.platform.orm.service.DaoService;
-
-public interface CfgChiSquareService extends DaoService {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgCustomerDistributionService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgCustomerDistributionService.java
deleted file mode 100644
index b0d8d459..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgCustomerDistributionService.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package io.sc.engine.mv.service.configuration;
-
-
-import io.sc.engine.mv.jpa.entity.CfgCustomerDistribution;
-import io.sc.engine.mv.jpa.repository.CfgCustomerDistributionRepository;
-import io.sc.platform.orm.service.DaoService;
-
-public interface CfgCustomerDistributionService extends DaoService {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgCutOffPointService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgCutOffPointService.java
deleted file mode 100644
index 1dd29938..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgCutOffPointService.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package io.sc.engine.mv.service.configuration;
-
-
-import io.sc.engine.mv.jpa.entity.CfgCutOffPoint;
-import io.sc.engine.mv.jpa.repository.CfgCutOffPointRepository;
-import io.sc.platform.orm.service.DaoService;
-
-public interface CfgCutOffPointService extends DaoService {
-
-}
-
-
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgScaleService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgScaleService.java
deleted file mode 100644
index 4b3bd1c8..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgScaleService.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package io.sc.engine.mv.service.configuration;
-
-
-import io.sc.engine.mv.jpa.entity.CfgScale;
-import io.sc.engine.mv.jpa.repository.CfgScaleRepository;
-import io.sc.platform.orm.service.DaoService;
-
-public interface CfgScaleService extends DaoService {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgThresholdService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgThresholdService.java
deleted file mode 100644
index 81cb9e26..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/configuration/CfgThresholdService.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package io.sc.engine.mv.service.configuration;
-
-
-import io.sc.engine.mv.jpa.entity.CfgThreshold;
-import io.sc.engine.mv.jpa.repository.CfgThresholdRepository;
-import io.sc.platform.orm.service.DaoService;
-
-public interface CfgThresholdService extends DaoService {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/result/GeneralResultHistoryService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/result/GeneralResultHistoryService.java
deleted file mode 100644
index 25d79e6c..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/result/GeneralResultHistoryService.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package io.sc.engine.mv.service.result;
-
-
-import io.sc.engine.mv.jpa.entity.GeneralResultHistory;
-import io.sc.engine.mv.jpa.entity.id.GeneralResultHistoryId;
-import io.sc.engine.mv.jpa.repository.GeneralResultHistoryRepository;
-import io.sc.platform.orm.service.DaoService;
-
-public interface GeneralResultHistoryService extends DaoService {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/result/GeneralSampleHistoryService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/result/GeneralSampleHistoryService.java
deleted file mode 100644
index 96efad83..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/result/GeneralSampleHistoryService.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package io.sc.engine.mv.service.result;
-
-
-import io.sc.engine.mv.jpa.entity.GeneralSampleHistory;
-import io.sc.engine.mv.jpa.entity.id.GeneralSampleHistoryId;
-import io.sc.engine.mv.jpa.repository.GeneralSampleHistoryRepository;
-import io.sc.platform.orm.service.DaoService;
-
-public interface GeneralSampleHistoryService extends DaoService {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/result/impl/GeneralSampleHistoryServiceImpl.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/result/impl/GeneralSampleHistoryServiceImpl.java
deleted file mode 100644
index a1b34a0c..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/result/impl/GeneralSampleHistoryServiceImpl.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package io.sc.engine.mv.service.result.impl;
-
-import io.sc.engine.mv.jpa.entity.GeneralSampleHistory;
-import io.sc.engine.mv.jpa.entity.id.GeneralSampleHistoryId;
-import io.sc.engine.mv.jpa.repository.GeneralSampleHistoryRepository;
-import io.sc.engine.mv.service.result.GeneralSampleHistoryService;
-import io.sc.platform.orm.service.impl.DaoServiceImpl;
-import org.springframework.stereotype.Service;
-
-@Service
-public class GeneralSampleHistoryServiceImpl extends DaoServiceImpl implements GeneralSampleHistoryService {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sample/DefaultRecordService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sample/DefaultRecordService.java
deleted file mode 100644
index 672cd0f9..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sample/DefaultRecordService.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package io.sc.engine.mv.service.sample;
-
-import io.sc.engine.mv.jpa.entity.DefaultRecord;
-import io.sc.engine.mv.jpa.entity.id.DefaultRecordId;
-import io.sc.engine.mv.jpa.repository.DefaultRecordRepository;
-import io.sc.platform.orm.service.DaoService;
-
-public interface DefaultRecordService extends DaoService {
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sample/ScoreRecordService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sample/ScoreRecordService.java
deleted file mode 100644
index 5e632af1..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sample/ScoreRecordService.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package io.sc.engine.mv.service.sample;
-
-import io.sc.engine.mv.jpa.entity.ScoreRecord;
-import io.sc.engine.mv.jpa.entity.id.ScoreRecordId;
-import io.sc.engine.mv.jpa.repository.ScoreRecordRepository;
-import io.sc.platform.orm.service.DaoService;
-
-public interface ScoreRecordService extends DaoService {
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sample/impl/DefaultRecordServiceImpl.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sample/impl/DefaultRecordServiceImpl.java
deleted file mode 100644
index 2dc2650b..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sample/impl/DefaultRecordServiceImpl.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package io.sc.engine.mv.service.sample.impl;
-
-import io.sc.engine.mv.jpa.entity.DefaultRecord;
-import io.sc.engine.mv.jpa.entity.id.DefaultRecordId;
-import io.sc.engine.mv.jpa.repository.DefaultRecordRepository;
-import io.sc.engine.mv.service.sample.DefaultRecordService;
-import io.sc.platform.orm.service.impl.DaoServiceImpl;
-import org.springframework.stereotype.Service;
-
-@Service
-public class DefaultRecordServiceImpl extends DaoServiceImpl implements DefaultRecordService {
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sample/impl/ScoreRecordServiceImpl.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sample/impl/ScoreRecordServiceImpl.java
deleted file mode 100644
index 11cb08d6..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sample/impl/ScoreRecordServiceImpl.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package io.sc.engine.mv.service.sample.impl;
-
-import io.sc.engine.mv.jpa.entity.ScoreRecord;
-import io.sc.engine.mv.jpa.entity.id.ScoreRecordId;
-import io.sc.engine.mv.jpa.repository.ScoreRecordRepository;
-import io.sc.engine.mv.service.sample.ScoreRecordService;
-import io.sc.platform.orm.service.impl.DaoServiceImpl;
-import org.springframework.stereotype.Service;
-
-@Service
-public class ScoreRecordServiceImpl extends DaoServiceImpl implements ScoreRecordService {
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sc/ScCapHistoryService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sc/ScCapHistoryService.java
deleted file mode 100644
index f53a636d..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sc/ScCapHistoryService.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package io.sc.engine.mv.service.sc;
-
-
-import io.sc.engine.mv.jpa.entity.ScCapHistory;
-import io.sc.engine.mv.jpa.entity.id.ScCapHistoryId;
-import io.sc.engine.mv.jpa.repository.ScCapHistoryRepository;
-import io.sc.platform.orm.service.DaoService;
-
-public interface ScCapHistoryService extends DaoService {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sc/ScKsHistoryService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sc/ScKsHistoryService.java
deleted file mode 100644
index 5bce0ab6..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sc/ScKsHistoryService.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package io.sc.engine.mv.service.sc;
-
-
-import io.sc.engine.mv.jpa.entity.ScKsHistory;
-import io.sc.engine.mv.jpa.entity.id.ScKsHistoryId;
-import io.sc.engine.mv.jpa.repository.ScKsHistoryRepository;
-import io.sc.platform.orm.service.DaoService;
-
-public interface ScKsHistoryService extends DaoService {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sc/ScRocHistoryService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sc/ScRocHistoryService.java
deleted file mode 100644
index 7397b59b..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sc/ScRocHistoryService.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package io.sc.engine.mv.service.sc;
-
-
-import io.sc.engine.mv.jpa.entity.ScRocHistory;
-import io.sc.engine.mv.jpa.entity.id.ScRocHistoryId;
-import io.sc.engine.mv.jpa.repository.ScRocHistoryRepository;
-import io.sc.platform.orm.service.DaoService;
-
-public interface ScRocHistoryService extends DaoService {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sc/impl/ScCapHistoryServiceImpl.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sc/impl/ScCapHistoryServiceImpl.java
deleted file mode 100644
index 40d30b46..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sc/impl/ScCapHistoryServiceImpl.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package io.sc.engine.mv.service.sc.impl;
-
-import io.sc.engine.mv.jpa.entity.ScCapHistory;
-import io.sc.engine.mv.jpa.entity.id.ScCapHistoryId;
-import io.sc.engine.mv.jpa.repository.ScCapHistoryRepository;
-import io.sc.engine.mv.service.sc.ScCapHistoryService;
-import io.sc.platform.orm.service.impl.DaoServiceImpl;
-import org.springframework.stereotype.Service;
-
-@Service
-public class ScCapHistoryServiceImpl extends DaoServiceImpl implements ScCapHistoryService {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sc/impl/ScKsHistoryServiceImpl.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sc/impl/ScKsHistoryServiceImpl.java
deleted file mode 100644
index b98754bb..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sc/impl/ScKsHistoryServiceImpl.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package io.sc.engine.mv.service.sc.impl;
-
-import io.sc.engine.mv.jpa.entity.ScKsHistory;
-import io.sc.engine.mv.jpa.entity.id.ScKsHistoryId;
-import io.sc.engine.mv.jpa.repository.ScKsHistoryRepository;
-import io.sc.engine.mv.service.sc.ScKsHistoryService;
-import io.sc.platform.orm.service.impl.DaoServiceImpl;
-import org.springframework.stereotype.Service;
-
-@Service
-public class ScKsHistoryServiceImpl extends DaoServiceImpl implements ScKsHistoryService {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sc/impl/ScRocHistoryServiceImpl.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sc/impl/ScRocHistoryServiceImpl.java
deleted file mode 100644
index 94be52ac..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/sc/impl/ScRocHistoryServiceImpl.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package io.sc.engine.mv.service.sc.impl;
-
-import io.sc.engine.mv.jpa.entity.ScRocHistory;
-import io.sc.engine.mv.jpa.entity.id.ScRocHistoryId;
-import io.sc.engine.mv.jpa.repository.ScRocHistoryRepository;
-import io.sc.engine.mv.service.sc.ScRocHistoryService;
-import io.sc.platform.orm.service.impl.DaoServiceImpl;
-import org.springframework.stereotype.Service;
-
-@Service
-public class ScRocHistoryServiceImpl extends DaoServiceImpl implements ScRocHistoryService {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/st/StPsiHistoryService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/st/StPsiHistoryService.java
deleted file mode 100644
index a2db664c..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/st/StPsiHistoryService.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package io.sc.engine.mv.service.st;
-
-
-import io.sc.engine.mv.jpa.entity.StPsiHistory;
-import io.sc.engine.mv.jpa.entity.id.StPsiHistoryId;
-import io.sc.engine.mv.jpa.repository.StPsiHistoryRepository;
-import io.sc.platform.orm.service.DaoService;
-
-public interface StPsiHistoryService extends DaoService {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/st/StSvdService.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/st/StSvdService.java
deleted file mode 100644
index 4b970702..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/st/StSvdService.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package io.sc.engine.mv.service.st;
-
-public interface StSvdService {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/st/impl/StPsiHistoryServiceImpl.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/st/impl/StPsiHistoryServiceImpl.java
deleted file mode 100644
index 8c8634b1..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/st/impl/StPsiHistoryServiceImpl.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package io.sc.engine.mv.service.st.impl;
-
-import io.sc.engine.mv.jpa.entity.StPsiHistory;
-import io.sc.engine.mv.jpa.entity.id.StPsiHistoryId;
-import io.sc.engine.mv.jpa.repository.StPsiHistoryRepository;
-import io.sc.engine.mv.service.st.StPsiHistoryService;
-import io.sc.platform.orm.service.impl.DaoServiceImpl;
-import org.springframework.stereotype.Service;
-
-@Service
-public class StPsiHistoryServiceImpl extends DaoServiceImpl implements StPsiHistoryService {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/st/impl/StSvdServiceImpl.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/st/impl/StSvdServiceImpl.java
deleted file mode 100644
index 98a1fd2d..00000000
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/service/st/impl/StSvdServiceImpl.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package io.sc.engine.mv.service.st.impl;
-
-
-import io.sc.engine.mv.service.st.StSvdService;
-
-public class StSvdServiceImpl implements StSvdService {
-
-}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/ProgressTracker.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/ProgressTracker.java
similarity index 79%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/ProgressTracker.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/ProgressTracker.java
index 61fc8d72..25239889 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/ProgressTracker.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/ProgressTracker.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv;
+package io.sc.engine.mv.validator;
/**
* 执行进度跟踪器
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/RuntimeContext.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/RuntimeContext.java
similarity index 97%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/RuntimeContext.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/RuntimeContext.java
index 41bcfa42..8cedb555 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/RuntimeContext.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/RuntimeContext.java
@@ -1,5 +1,6 @@
-package io.sc.engine.mv;
+package io.sc.engine.mv.validator;
+import io.sc.engine.mv.enums.ExecuteMode;
import io.sc.platform.core.support.KeyValue;
import io.sc.platform.core.util.DateUtil;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/Validator.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/Validator.java
similarity index 92%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/Validator.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/Validator.java
index 7df2434a..69f34258 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/Validator.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/Validator.java
@@ -1,8 +1,10 @@
-package io.sc.engine.mv;
+package io.sc.engine.mv.validator;
import java.util.Date;
import java.util.Locale;
+import io.sc.engine.mv.validator.executor.ExecutorManager;
+import io.sc.engine.mv.validator.extractor.DataExtractorManager;
import io.sc.platform.core.support.ProgressInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -12,7 +14,7 @@ import org.springframework.stereotype.Component;
* @author wangshaoping
*
*/
-@Component("mvValidator")
+@Component
public class Validator {
//数据抽取器接口管理器
@Autowired private DataExtractorManager dataExtractorManager;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/ExecuteValidatorWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/controller/ExecuteValidatorWebController.java
similarity index 69%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/ExecuteValidatorWebController.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/controller/ExecuteValidatorWebController.java
index 6350a40b..a16e881e 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/ExecuteValidatorWebController.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/controller/ExecuteValidatorWebController.java
@@ -1,56 +1,42 @@
-package io.sc.engine.mv.controller;
+package io.sc.engine.mv.validator.controller;
import java.util.Date;
import java.util.Locale;
-import io.sc.engine.mv.RuntimeContext;
-import io.sc.engine.mv.Validator;
+import io.sc.engine.mv.exception.ExecutorNotRunningException;
+import io.sc.engine.mv.exception.ExecutorRunningException;
+import io.sc.engine.mv.validator.RuntimeContext;
+import io.sc.engine.mv.validator.Validator;
import io.sc.platform.core.support.ProgressInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.*;
/**
* 模型验证执行控制器
* @author wangshaoping
*
*/
-@Controller
+@RestController
@RequestMapping("/api/mv")
public class ExecuteValidatorWebController {
@Autowired private Validator validator;
@Autowired private MessageSource messageSource;
private ValidateThread thread =null;
- /**
- * 菜单贡献项(手工执行模型验证)
- * @return 视图名称
- * @throws Exception 违例
- */
- @RequestMapping("execute.html")
- public String execute() throws Exception{
- return "org/wsp/model/validator/view/execute.html";
- }
-
/**
* 执行模型验证
* @param runtimeContext 模型验证执行上下文对象
* @param locale 区域
* @throws Exception 违例
*/
- @RequestMapping(value="execute",method=RequestMethod.POST)
- @ResponseBody
+ @PostMapping("execute")
public void execute(@RequestBody RuntimeContext runtimeContext, Locale locale) throws Exception{
//检查有当前用户启动的执行线程是否正在运行
if(thread!=null && thread.isAlive()){
- String message =messageSource.getMessage("org.wsp.model.validator.i18n.execute.exception.running", null, locale);
- throw new Exception(message);
+ throw new ExecutorRunningException();
}
//启动新线程
runtimeContext.setValidateDate(new Date());
@@ -58,14 +44,18 @@ public class ExecuteValidatorWebController {
thread.start();
}
+ @GetMapping("isExistsRunningExecutor")
+ public boolean isExistsRunningExecutor(){
+ return thread!=null && thread.isAlive();
+ }
+
/**
* 查询模型验证执行进度
* @param locale 区域
* @return 模型验证执行进度
* @throws Exception 违例
*/
- @RequestMapping(value="traceExecuteProgress")
- @ResponseBody
+ @GetMapping("traceExecuteProgress")
public ProgressInfo traceExecuteProgress(Locale locale) throws Exception{
if(thread!=null){
if(thread.getException()!=null){
@@ -73,8 +63,7 @@ public class ExecuteValidatorWebController {
}
return thread.getProgressInfo();
}else{
- String message =messageSource.getMessage("org.wsp.model.validator.i18n.execute.exception.notExsists", null, locale);
- throw new Exception(message);
+ throw new ExecutorNotRunningException();
}
}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/AbstractExecutor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/AbstractExecutor.java
similarity index 90%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/AbstractExecutor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/AbstractExecutor.java
index fe24b369..2176e768 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/AbstractExecutor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/AbstractExecutor.java
@@ -1,7 +1,5 @@
-package io.sc.engine.mv.executor;
+package io.sc.engine.mv.validator.executor;
-import io.sc.engine.mv.Executor;
-import io.sc.engine.mv.ExecutorManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/Executor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/Executor.java
similarity index 83%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/Executor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/Executor.java
index 0589c6cb..5748380e 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/Executor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/Executor.java
@@ -1,7 +1,7 @@
-package io.sc.engine.mv;
-
-import java.util.Locale;
+package io.sc.engine.mv.validator.executor;
+import io.sc.engine.mv.validator.ProgressTracker;
+import io.sc.engine.mv.validator.RuntimeContext;
import io.sc.platform.core.support.ProgressInfo;
import org.springframework.core.Ordered;
@@ -10,7 +10,7 @@ import org.springframework.core.Ordered;
* @author wangshaoping
*
*/
-public interface Executor extends Ordered,ProgressTracker{
+public interface Executor extends Ordered, ProgressTracker {
/**
* 获取执行器类名称
* @return 执行器类名称
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/ExecutorManager.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/ExecutorManager.java
similarity index 77%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/ExecutorManager.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/ExecutorManager.java
index 8d356eb5..fbb2195c 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/ExecutorManager.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/ExecutorManager.java
@@ -1,11 +1,14 @@
-package io.sc.engine.mv;
+package io.sc.engine.mv.validator.executor;
+import io.sc.engine.mv.exception.CutOffPointNotFoundException;
+import io.sc.engine.mv.validator.RuntimeContext;
import io.sc.platform.core.support.OrderedItemRegister;
import io.sc.platform.core.support.ProgressInfo;
import io.sc.platform.jdbc.util.SqlUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.MessageSource;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
@@ -17,10 +20,11 @@ import java.util.Locale;
* @author wangshaoping
*
*/
-@Component("mvExecutorManager")
+@Component
public class ExecutorManager extends OrderedItemRegister {
private static final Logger log =LoggerFactory.getLogger(ExecutorManager.class);
@Autowired protected JdbcTemplate jdbcTemplate;
+ @Autowired private MessageSource messageSource;
public int getTotalWeight(){
int totalExecuteTimeWeight =0;
@@ -36,17 +40,19 @@ public class ExecutorManager extends OrderedItemRegister {
}
public void execute(RuntimeContext runtimeContext, ProgressInfo progressInfo, Locale locale){
+ String runningMessage =messageSource.getMessage("running",null,locale);
+ String completeMessage =messageSource.getMessage("complete",null,locale);
checkConfiguration(runtimeContext);
List executors =this.getItems();
if(executors!=null && executors.size()>0){
for(Executor executor : executors){
if(executor.isEnable()){
- String name =executor.getNameI18nKey();
- String message ="开始执行模型验证[" + name + "]...";
+ String name =messageSource.getMessage(executor.getNameI18nKey(),null,locale);
+ String message =runningMessage + " [" + name + "]";
log.info(message);
progressInfo.setMessageKey(message);
executor.execute(runtimeContext,progressInfo);
- message ="结束执行模型验证[" + name + "]";
+ message =completeMessage + " [" + name + "]";
log.info(message);
progressInfo.setMessageKey(message);
progressInfo.addWeight(executor.getExecuteTimeWeight());
@@ -73,7 +79,7 @@ public class ExecutorManager extends OrderedItemRegister {
if(count>0){
return true;
}else{
- throw new RuntimeException("未找到截断点配置信息,请通过“系统管理”菜单的“系统参数配置”菜单中的“模型验证参数配置”的“截断点配置”功能进行配置后,再重试.");
+ throw new CutOffPointNotFoundException();
}
}
}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/CoeBinomialExecutor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/CoeBinomialExecutor.java
similarity index 95%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/CoeBinomialExecutor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/CoeBinomialExecutor.java
index 74ccdb6a..5eb5889a 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/CoeBinomialExecutor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/CoeBinomialExecutor.java
@@ -1,13 +1,14 @@
-package io.sc.engine.mv.executor;
+package io.sc.engine.mv.validator.executor.impl;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
-import io.sc.engine.mv.CoeResult;
-import io.sc.engine.mv.RuntimeContext;
-import io.sc.engine.mv.jpa.entity.CfgBinomial;
-import io.sc.engine.mv.jpa.repository.CfgBinomialRepository;
+import io.sc.engine.mv.enums.CoeResult;
+import io.sc.engine.mv.validator.RuntimeContext;
+import io.sc.engine.mv.configure.jpa.entity.CfgBinomial;
+import io.sc.engine.mv.configure.jpa.repository.CfgBinomialRepository;
+import io.sc.engine.mv.validator.executor.AbstractExecutor;
import io.sc.platform.core.support.ProgressInfo;
import io.sc.platform.core.util.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
@@ -18,7 +19,7 @@ import org.springframework.jdbc.core.RowCallbackHandler;
import org.springframework.stereotype.Component;
@Component
-public class CoeBinomialExecutor extends AbstractExecutor{
+public class CoeBinomialExecutor extends AbstractExecutor {
private static final int ORDER =3000;
@Autowired private CfgBinomialRepository cfgBinomialRepository;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/CoeChiSquareExecutor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/CoeChiSquareExecutor.java
similarity index 94%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/CoeChiSquareExecutor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/CoeChiSquareExecutor.java
index ffa5e584..2ad10dae 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/CoeChiSquareExecutor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/CoeChiSquareExecutor.java
@@ -1,12 +1,13 @@
-package io.sc.engine.mv.executor;
-
-import io.sc.engine.mv.CoeResult;
-import io.sc.engine.mv.RuntimeContext;
-import io.sc.engine.mv.executor.support.ExecutorUtil;
-import io.sc.engine.mv.jpa.entity.CfgChiSquare;
-import io.sc.engine.mv.jpa.entity.CfgScale;
-import io.sc.engine.mv.jpa.repository.CfgChiSquareRepository;
-import io.sc.engine.mv.jpa.repository.CfgScaleRepository;
+package io.sc.engine.mv.validator.executor.impl;
+
+import io.sc.engine.mv.enums.CoeResult;
+import io.sc.engine.mv.validator.RuntimeContext;
+import io.sc.engine.mv.validator.executor.AbstractExecutor;
+import io.sc.engine.mv.validator.executor.support.ExecutorUtil;
+import io.sc.engine.mv.configure.jpa.entity.CfgChiSquare;
+import io.sc.engine.mv.configure.jpa.entity.CfgScale;
+import io.sc.engine.mv.configure.jpa.repository.CfgChiSquareRepository;
+import io.sc.engine.mv.configure.jpa.repository.CfgScaleRepository;
import io.sc.platform.core.support.ProgressInfo;
import io.sc.platform.core.util.DateUtil;
import io.sc.platform.jdbc.util.SqlBatcher;
@@ -25,7 +26,7 @@ import java.util.List;
import java.util.Map;
@Component
-public class CoeChiSquareExecutor extends AbstractExecutor{
+public class CoeChiSquareExecutor extends AbstractExecutor {
private static final int ORDER =2000;
@Autowired private CfgScaleRepository scaleRepository;
@Autowired private CfgChiSquareRepository chiSquareRepository;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/DatabaseInitExecutor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/DatabaseInitExecutor.java
similarity index 87%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/DatabaseInitExecutor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/DatabaseInitExecutor.java
index 19dd052d..cf0817ea 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/DatabaseInitExecutor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/DatabaseInitExecutor.java
@@ -1,10 +1,11 @@
-package io.sc.engine.mv.executor;
+package io.sc.engine.mv.validator.executor.impl;
import java.sql.SQLException;
import javax.sql.DataSource;
-import io.sc.engine.mv.RuntimeContext;
+import io.sc.engine.mv.validator.RuntimeContext;
+import io.sc.engine.mv.validator.executor.AbstractExecutor;
import io.sc.platform.core.support.ProgressInfo;
import io.sc.platform.jdbc.DatabaseType;
import org.springframework.jdbc.datasource.DataSourceUtils;
@@ -18,7 +19,7 @@ import org.springframework.util.StringUtils;
*
*/
@Component
-public class DatabaseInitExecutor extends AbstractExecutor{
+public class DatabaseInitExecutor extends AbstractExecutor {
private static final int ORDER =-1000;
@Override
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ResultExecutor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ResultExecutor.java
similarity index 97%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ResultExecutor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ResultExecutor.java
index e901d779..24164cf3 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ResultExecutor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ResultExecutor.java
@@ -1,6 +1,7 @@
-package io.sc.engine.mv.executor;
+package io.sc.engine.mv.validator.executor.impl;
-import io.sc.engine.mv.RuntimeContext;
+import io.sc.engine.mv.validator.RuntimeContext;
+import io.sc.engine.mv.validator.executor.AbstractExecutor;
import io.sc.platform.core.support.KeyValue;
import io.sc.platform.core.support.ProgressInfo;
import io.sc.platform.core.util.DateUtil;
@@ -17,7 +18,7 @@ import java.util.List;
*
*/
@Component
-public class ResultExecutor extends AbstractExecutor{
+public class ResultExecutor extends AbstractExecutor {
private static final int ORDER =10000;
@Override
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ResultInitExecutor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ResultInitExecutor.java
similarity index 81%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ResultInitExecutor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ResultInitExecutor.java
index 700c8075..9b405f94 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ResultInitExecutor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ResultInitExecutor.java
@@ -1,6 +1,7 @@
-package io.sc.engine.mv.executor;
+package io.sc.engine.mv.validator.executor.impl;
-import io.sc.engine.mv.RuntimeContext;
+import io.sc.engine.mv.validator.RuntimeContext;
+import io.sc.engine.mv.validator.executor.AbstractExecutor;
import io.sc.platform.core.support.ProgressInfo;
import org.springframework.stereotype.Component;
@@ -10,7 +11,7 @@ import org.springframework.stereotype.Component;
*
*/
@Component
-public class ResultInitExecutor extends AbstractExecutor{
+public class ResultInitExecutor extends AbstractExecutor {
private static final int ORDER =100;
@Override
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/SampleCountExecutor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/SampleCountExecutor.java
similarity index 93%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/SampleCountExecutor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/SampleCountExecutor.java
index 9575e050..a4dc2bb7 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/SampleCountExecutor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/SampleCountExecutor.java
@@ -1,9 +1,10 @@
-package io.sc.engine.mv.executor;
+package io.sc.engine.mv.validator.executor.impl;
import java.sql.ResultSet;
import java.sql.SQLException;
-import io.sc.engine.mv.RuntimeContext;
+import io.sc.engine.mv.validator.RuntimeContext;
+import io.sc.engine.mv.validator.executor.AbstractExecutor;
import io.sc.platform.core.support.ProgressInfo;
import org.springframework.jdbc.core.RowCallbackHandler;
import org.springframework.stereotype.Component;
@@ -14,7 +15,7 @@ import org.springframework.stereotype.Component;
*
*/
@Component
-public class SampleCountExecutor extends AbstractExecutor{
+public class SampleCountExecutor extends AbstractExecutor {
private static final int ORDER =150;
@Override
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/SampleExecutor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/SampleExecutor.java
similarity index 98%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/SampleExecutor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/SampleExecutor.java
index 9518feb3..ef2fe698 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/SampleExecutor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/SampleExecutor.java
@@ -1,11 +1,12 @@
-package io.sc.engine.mv.executor;
+package io.sc.engine.mv.validator.executor.impl;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
-import io.sc.engine.mv.RuntimeContext;
+import io.sc.engine.mv.validator.RuntimeContext;
+import io.sc.engine.mv.validator.executor.AbstractExecutor;
import io.sc.platform.core.support.ProgressInfo;
import io.sc.platform.core.util.DateUtil;
import io.sc.platform.jdbc.sql.dialect.DateTimePart;
@@ -22,7 +23,7 @@ import org.springframework.stereotype.Component;
*
*/
@Component
-public class SampleExecutor extends AbstractExecutor{
+public class SampleExecutor extends AbstractExecutor {
private static final int ORDER =0;
@Autowired private Dialect dialect;
@@ -517,6 +518,6 @@ public class SampleExecutor extends AbstractExecutor{
private void info(ProgressInfo progressInfo,String msg){
log.info(msg);
- progressInfo.setMessageKey(msg);
+ //progressInfo.setMessageKey(msg);
}
}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScCapExecutor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScCapExecutor.java
similarity index 96%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScCapExecutor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScCapExecutor.java
index e97c2082..e0f9e22b 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScCapExecutor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScCapExecutor.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv.executor;
+package io.sc.engine.mv.validator.executor.impl;
import java.math.BigDecimal;
import java.sql.PreparedStatement;
@@ -6,11 +6,12 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Map;
-import io.sc.engine.mv.RuntimeContext;
-import io.sc.engine.mv.executor.support.CutOffPointFinder;
-import io.sc.engine.mv.executor.support.ExecutorUtil;
-import io.sc.engine.mv.executor.support.ScVariable;
-import io.sc.engine.mv.jpa.entity.CfgCutOffPoint;
+import io.sc.engine.mv.validator.RuntimeContext;
+import io.sc.engine.mv.validator.executor.AbstractExecutor;
+import io.sc.engine.mv.validator.executor.support.CutOffPointFinder;
+import io.sc.engine.mv.validator.executor.support.ExecutorUtil;
+import io.sc.engine.mv.validator.executor.support.ScVariable;
+import io.sc.engine.mv.configure.jpa.entity.CfgCutOffPoint;
import io.sc.platform.core.support.NumberIterator;
import io.sc.platform.core.support.ProgressInfo;
import io.sc.platform.core.util.DateUtil;
@@ -28,7 +29,7 @@ import org.springframework.stereotype.Component;
*
*/
@Component
-public class ScCapExecutor extends AbstractExecutor{
+public class ScCapExecutor extends AbstractExecutor {
protected static final int ORDER =300;
@Autowired protected CutOffPointFinder cutOffPointFinder;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScCapQualitativeExecutor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScCapQualitativeExecutor.java
similarity index 81%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScCapQualitativeExecutor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScCapQualitativeExecutor.java
index 5da34898..498638b5 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScCapQualitativeExecutor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScCapQualitativeExecutor.java
@@ -1,7 +1,7 @@
-package io.sc.engine.mv.executor;
+package io.sc.engine.mv.validator.executor.impl;
-import io.sc.engine.mv.executor.support.ScVariable;
-import io.sc.engine.mv.jpa.entity.CfgCutOffPoint;
+import io.sc.engine.mv.validator.executor.support.ScVariable;
+import io.sc.engine.mv.configure.jpa.entity.CfgCutOffPoint;
import org.springframework.stereotype.Component;
/**
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScCapQuantitativeExecutor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScCapQuantitativeExecutor.java
similarity index 81%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScCapQuantitativeExecutor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScCapQuantitativeExecutor.java
index c317bb41..4bfe32bb 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScCapQuantitativeExecutor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScCapQuantitativeExecutor.java
@@ -1,7 +1,7 @@
-package io.sc.engine.mv.executor;
+package io.sc.engine.mv.validator.executor.impl;
-import io.sc.engine.mv.executor.support.ScVariable;
-import io.sc.engine.mv.jpa.entity.CfgCutOffPoint;
+import io.sc.engine.mv.validator.executor.support.ScVariable;
+import io.sc.engine.mv.configure.jpa.entity.CfgCutOffPoint;
import org.springframework.stereotype.Component;
/**
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScKsExecutor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScKsExecutor.java
similarity index 96%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScKsExecutor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScKsExecutor.java
index ec5e1bfa..06335d57 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScKsExecutor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScKsExecutor.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv.executor;
+package io.sc.engine.mv.validator.executor.impl;
import java.math.BigDecimal;
import java.sql.PreparedStatement;
@@ -6,11 +6,12 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Map;
-import io.sc.engine.mv.RuntimeContext;
-import io.sc.engine.mv.executor.support.CutOffPointFinder;
-import io.sc.engine.mv.executor.support.ExecutorUtil;
-import io.sc.engine.mv.executor.support.ScVariable;
-import io.sc.engine.mv.jpa.entity.CfgCutOffPoint;
+import io.sc.engine.mv.validator.RuntimeContext;
+import io.sc.engine.mv.validator.executor.AbstractExecutor;
+import io.sc.engine.mv.validator.executor.support.CutOffPointFinder;
+import io.sc.engine.mv.validator.executor.support.ExecutorUtil;
+import io.sc.engine.mv.validator.executor.support.ScVariable;
+import io.sc.engine.mv.configure.jpa.entity.CfgCutOffPoint;
import io.sc.platform.core.support.NumberIterator;
import io.sc.platform.core.support.ProgressInfo;
import io.sc.platform.core.util.DateUtil;
@@ -26,7 +27,7 @@ import org.springframework.stereotype.Component;
*
*/
@Component
-public class ScKsExecutor extends AbstractExecutor{
+public class ScKsExecutor extends AbstractExecutor {
protected static final int ORDER =400;
@Autowired protected CutOffPointFinder cutOffPointFinder;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScKsQualitativeExecutor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScKsQualitativeExecutor.java
similarity index 80%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScKsQualitativeExecutor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScKsQualitativeExecutor.java
index f25e4a8c..53ca47f9 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScKsQualitativeExecutor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScKsQualitativeExecutor.java
@@ -1,7 +1,7 @@
-package io.sc.engine.mv.executor;
+package io.sc.engine.mv.validator.executor.impl;
-import io.sc.engine.mv.executor.support.ScVariable;
-import io.sc.engine.mv.jpa.entity.CfgCutOffPoint;
+import io.sc.engine.mv.validator.executor.support.ScVariable;
+import io.sc.engine.mv.configure.jpa.entity.CfgCutOffPoint;
import org.springframework.stereotype.Component;
/**
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScKsQuantitativeExecutor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScKsQuantitativeExecutor.java
similarity index 81%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScKsQuantitativeExecutor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScKsQuantitativeExecutor.java
index 258fc8e2..9c00838b 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScKsQuantitativeExecutor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScKsQuantitativeExecutor.java
@@ -1,7 +1,7 @@
-package io.sc.engine.mv.executor;
+package io.sc.engine.mv.validator.executor.impl;
-import io.sc.engine.mv.executor.support.ScVariable;
-import io.sc.engine.mv.jpa.entity.CfgCutOffPoint;
+import io.sc.engine.mv.validator.executor.support.ScVariable;
+import io.sc.engine.mv.configure.jpa.entity.CfgCutOffPoint;
import org.springframework.stereotype.Component;
/**
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScRocExecutor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScRocExecutor.java
similarity index 96%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScRocExecutor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScRocExecutor.java
index 9c147f3a..14e625e2 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScRocExecutor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScRocExecutor.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv.executor;
+package io.sc.engine.mv.validator.executor.impl;
import java.math.BigDecimal;
import java.sql.PreparedStatement;
@@ -6,11 +6,12 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Map;
-import io.sc.engine.mv.RuntimeContext;
-import io.sc.engine.mv.executor.support.CutOffPointFinder;
-import io.sc.engine.mv.executor.support.ExecutorUtil;
-import io.sc.engine.mv.executor.support.ScVariable;
-import io.sc.engine.mv.jpa.entity.CfgCutOffPoint;
+import io.sc.engine.mv.validator.RuntimeContext;
+import io.sc.engine.mv.validator.executor.AbstractExecutor;
+import io.sc.engine.mv.validator.executor.support.CutOffPointFinder;
+import io.sc.engine.mv.validator.executor.support.ExecutorUtil;
+import io.sc.engine.mv.validator.executor.support.ScVariable;
+import io.sc.engine.mv.configure.jpa.entity.CfgCutOffPoint;
import io.sc.platform.core.support.NumberIterator;
import io.sc.platform.core.support.ProgressInfo;
import io.sc.platform.core.util.DateUtil;
@@ -28,7 +29,7 @@ import org.springframework.stereotype.Component;
*
*/
@Component
-public class ScRocExecutor extends AbstractExecutor{
+public class ScRocExecutor extends AbstractExecutor {
protected static final int ORDER =200;
@Autowired protected CutOffPointFinder cutOffPointFinder;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScRocQualitativeExecutor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScRocQualitativeExecutor.java
similarity index 84%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScRocQualitativeExecutor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScRocQualitativeExecutor.java
index 6ba9878a..be7c1ff4 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScRocQualitativeExecutor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScRocQualitativeExecutor.java
@@ -1,7 +1,7 @@
-package io.sc.engine.mv.executor;
+package io.sc.engine.mv.validator.executor.impl;
-import io.sc.engine.mv.executor.support.ScVariable;
-import io.sc.engine.mv.jpa.entity.CfgCutOffPoint;
+import io.sc.engine.mv.validator.executor.support.ScVariable;
+import io.sc.engine.mv.configure.jpa.entity.CfgCutOffPoint;
import org.springframework.stereotype.Component;
/**
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScRocQuantitativeExecutor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScRocQuantitativeExecutor.java
similarity index 96%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScRocQuantitativeExecutor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScRocQuantitativeExecutor.java
index 081c1502..cb1d82ca 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/ScRocQuantitativeExecutor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/ScRocQuantitativeExecutor.java
@@ -1,9 +1,9 @@
-package io.sc.engine.mv.executor;
+package io.sc.engine.mv.validator.executor.impl;
import java.math.BigDecimal;
-import io.sc.engine.mv.executor.support.ScVariable;
-import io.sc.engine.mv.jpa.entity.CfgCutOffPoint;
+import io.sc.engine.mv.validator.executor.support.ScVariable;
+import io.sc.engine.mv.configure.jpa.entity.CfgCutOffPoint;
import org.springframework.stereotype.Component;
/**
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/StPsiExecutor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/StPsiExecutor.java
similarity index 98%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/StPsiExecutor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/StPsiExecutor.java
index dd8c26b3..e82e8520 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/StPsiExecutor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/impl/StPsiExecutor.java
@@ -1,10 +1,11 @@
-package io.sc.engine.mv.executor;
+package io.sc.engine.mv.validator.executor.impl;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
-import io.sc.engine.mv.RuntimeContext;
+import io.sc.engine.mv.validator.RuntimeContext;
+import io.sc.engine.mv.validator.executor.AbstractExecutor;
import io.sc.platform.core.support.ProgressInfo;
import io.sc.platform.core.util.DateUtil;
import org.springframework.dao.DataAccessException;
@@ -19,7 +20,7 @@ import org.springframework.stereotype.Component;
*
*/
@Component
-public class StPsiExecutor extends AbstractExecutor{
+public class StPsiExecutor extends AbstractExecutor {
protected static final int ORDER =1000;
@Override
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/support/CutOffPointFinder.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/support/CutOffPointFinder.java
similarity index 84%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/support/CutOffPointFinder.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/support/CutOffPointFinder.java
index 31990400..1e236a92 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/support/CutOffPointFinder.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/support/CutOffPointFinder.java
@@ -1,9 +1,9 @@
-package io.sc.engine.mv.executor.support;
+package io.sc.engine.mv.validator.executor.support;
import java.math.BigDecimal;
-import io.sc.engine.mv.jpa.entity.CfgCutOffPoint;
-import io.sc.engine.mv.jpa.repository.CfgCutOffPointRepository;
+import io.sc.engine.mv.configure.jpa.entity.CfgCutOffPoint;
+import io.sc.engine.mv.configure.jpa.repository.CfgCutOffPointRepository;
import io.sc.platform.core.support.NumberIterator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/support/ExecutorUtil.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/support/ExecutorUtil.java
similarity index 94%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/support/ExecutorUtil.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/support/ExecutorUtil.java
index c1006cf2..abf4de31 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/support/ExecutorUtil.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/support/ExecutorUtil.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv.executor.support;
+package io.sc.engine.mv.validator.executor.support;
import java.sql.ResultSet;
import java.sql.SQLException;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/support/ExecutorWrapper.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/support/ExecutorWrapper.java
similarity index 94%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/support/ExecutorWrapper.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/support/ExecutorWrapper.java
index 167981df..d8123f9b 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/support/ExecutorWrapper.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/support/ExecutorWrapper.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv.executor.support;
+package io.sc.engine.mv.validator.executor.support;
public class ExecutorWrapper {
private String clazz;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/support/ScVariable.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/support/ScVariable.java
similarity index 96%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/support/ScVariable.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/support/ScVariable.java
index dd4a1c2d..19b509e0 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/executor/support/ScVariable.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/executor/support/ScVariable.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv.executor.support;
+package io.sc.engine.mv.validator.executor.support;
/**
* 模型区分能力验证运行时变量类
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/DataExtractor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/extractor/DataExtractor.java
similarity index 53%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/DataExtractor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/extractor/DataExtractor.java
index 383394da..d7749648 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/DataExtractor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/extractor/DataExtractor.java
@@ -1,11 +1,14 @@
-package io.sc.engine.mv;
+package io.sc.engine.mv.validator.extractor;
+
+import io.sc.engine.mv.validator.ProgressTracker;
+import io.sc.engine.mv.validator.RuntimeContext;
/**
* 模型验证源数据抽取器
* @author wangshaoping
*
*/
-public interface DataExtractor extends ProgressTracker{
+public interface DataExtractor extends ProgressTracker {
/**
* 抽取源数据
* @param runtimeContext 模型验证执行上下文对象
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/DataExtractorManager.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/extractor/DataExtractorManager.java
similarity index 94%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/DataExtractorManager.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/extractor/DataExtractorManager.java
index 1a88b615..fe814305 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/DataExtractorManager.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/extractor/DataExtractorManager.java
@@ -1,7 +1,8 @@
-package io.sc.engine.mv;
+package io.sc.engine.mv.validator.extractor;
-import io.sc.engine.mv.jpa.entity.CfgDataExtractor;
-import io.sc.engine.mv.jpa.repository.CfgDataExtractorRepository;
+import io.sc.engine.mv.validator.RuntimeContext;
+import io.sc.engine.mv.configure.jpa.entity.CfgDataExtractor;
+import io.sc.engine.mv.configure.jpa.repository.CfgDataExtractorRepository;
import io.sc.platform.core.support.ProgressInfo;
import io.sc.platform.groovy.GroovyScriptExecutor;
import io.sc.platform.jdbc.service.DatasourceService;
@@ -21,7 +22,7 @@ import java.util.Map;
* @author wangshaoping
*
*/
-@Component("mvDataExtractorManager")
+@Component
public class DataExtractorManager {
private static final Logger log =LoggerFactory.getLogger(DataExtractorManager.class);
@Autowired private CfgDataExtractorRepository repository;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/extractor/DefaultRecordDataExtractor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/extractor/impl/DefaultRecordDataExtractor.java
similarity index 79%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/extractor/DefaultRecordDataExtractor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/extractor/impl/DefaultRecordDataExtractor.java
index 36fd5e7e..d5c3be9a 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/extractor/DefaultRecordDataExtractor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/extractor/impl/DefaultRecordDataExtractor.java
@@ -1,7 +1,7 @@
-package io.sc.engine.mv.extractor;
+package io.sc.engine.mv.validator.extractor.impl;
-import io.sc.engine.mv.DataExtractor;
-import io.sc.engine.mv.RuntimeContext;
+import io.sc.engine.mv.validator.RuntimeContext;
+import io.sc.engine.mv.validator.extractor.DataExtractor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/extractor/ScoreRecordDataExtractor.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/extractor/impl/ScoreRecordDataExtractor.java
similarity index 79%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/extractor/ScoreRecordDataExtractor.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/extractor/impl/ScoreRecordDataExtractor.java
index a149ce40..c71a5263 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/extractor/ScoreRecordDataExtractor.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/validator/extractor/impl/ScoreRecordDataExtractor.java
@@ -1,7 +1,7 @@
-package io.sc.engine.mv.extractor;
+package io.sc.engine.mv.validator.extractor.impl;
-import io.sc.engine.mv.DataExtractor;
-import io.sc.engine.mv.RuntimeContext;
+import io.sc.engine.mv.validator.RuntimeContext;
+import io.sc.engine.mv.validator.extractor.DataExtractor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/CoeBinomialHistoryWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/CoeBinomialHistoryWebController.java
new file mode 100644
index 00000000..d8fbdaeb
--- /dev/null
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/CoeBinomialHistoryWebController.java
@@ -0,0 +1,46 @@
+package io.sc.engine.mv.viewer.controller;
+
+import io.sc.engine.mv.viewer.jpa.entity.CoeBinomialHistory;
+import io.sc.engine.mv.viewer.jpa.entity.ScRocHistory;
+import io.sc.engine.mv.viewer.jpa.entity.id.CoeBinomialHistoryId;
+import io.sc.engine.mv.viewer.jpa.repository.CoeBinomialHistoryRepository;
+import io.sc.engine.mv.viewer.service.CoeBinomialHistoryService;
+import io.sc.engine.mv.viewer.vo.CoeBinomialHistoryVo;
+import io.sc.platform.mvc.controller.support.RestCrudController;
+import io.sc.platform.orm.service.support.CriteriaBuilder;
+import io.sc.platform.orm.service.support.QueryParameter;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@RestController
+@RequestMapping("/api/mv/viewer/binomial")
+public class CoeBinomialHistoryWebController extends RestCrudController {
+ @Autowired private CoeBinomialHistoryRepository coeBinomialHistoryRepository;
+
+ @GetMapping("data")
+ public Page data(HttpServletRequest request,
+ HttpServletResponse response,
+ @RequestParam("modelId") String modelId,
+ @RequestParam("validateDate") String validateDate,
+ QueryParameter queryParameter
+ ) throws Exception {
+ if(!queryParameter.existsCriteria()){
+ CriteriaBuilder cb =new CriteriaBuilder();
+ queryParameter.addCriteria(cb.and(
+ cb.equals("modelId",modelId),
+ cb.equals("validateDate",validateDate)
+ ));
+ }
+ if(!queryParameter.existsSortBy()){
+ queryParameter.addSortBy("level");
+ }
+ return super.query(request,response,queryParameter);
+ }
+}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/CoeChiSquareHistoryWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/CoeChiSquareHistoryWebController.java
new file mode 100644
index 00000000..1902d2a9
--- /dev/null
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/CoeChiSquareHistoryWebController.java
@@ -0,0 +1,46 @@
+package io.sc.engine.mv.viewer.controller;
+
+import io.sc.engine.mv.viewer.jpa.entity.CoeChiSquareHistory;
+import io.sc.engine.mv.viewer.jpa.entity.ScRocHistory;
+import io.sc.engine.mv.viewer.jpa.entity.id.CoeChiSquareHistoryId;
+import io.sc.engine.mv.viewer.jpa.repository.CoeChiSquareHistoryRepository;
+import io.sc.engine.mv.viewer.service.CoeChiSquareHistoryService;
+import io.sc.engine.mv.viewer.vo.CoeChiSquareHistoryVo;
+import io.sc.platform.mvc.controller.support.RestCrudController;
+import io.sc.platform.orm.service.support.CriteriaBuilder;
+import io.sc.platform.orm.service.support.QueryParameter;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@RestController
+@RequestMapping("/api/mv/viewer/chiSquare")
+public class CoeChiSquareHistoryWebController extends RestCrudController {
+ @Autowired private CoeChiSquareHistoryRepository coeChiSquareHistoryRepository;
+
+ @GetMapping("data")
+ public Page data(HttpServletRequest request,
+ HttpServletResponse response,
+ @RequestParam("modelId") String modelId,
+ @RequestParam("validateDate") String validateDate,
+ QueryParameter queryParameter
+ ) throws Exception {
+ if(!queryParameter.existsCriteria()){
+ CriteriaBuilder cb =new CriteriaBuilder();
+ queryParameter.addCriteria(cb.and(
+ cb.equals("modelId",modelId),
+ cb.equals("validateDate",validateDate)
+ ));
+ }
+ if(!queryParameter.existsSortBy()){
+ queryParameter.addSortBy("level");
+ }
+ return super.query(request,response,queryParameter);
+ }
+}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/sample/DefaultRecordWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/DefaultRecordWebController.java
similarity index 52%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/sample/DefaultRecordWebController.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/DefaultRecordWebController.java
index e30bef5c..2d7eb926 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/sample/DefaultRecordWebController.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/DefaultRecordWebController.java
@@ -1,10 +1,10 @@
-package io.sc.engine.mv.controller.sample;
+package io.sc.engine.mv.viewer.controller;
-import io.sc.engine.mv.jpa.entity.DefaultRecord;
-import io.sc.engine.mv.jpa.entity.id.DefaultRecordId;
-import io.sc.engine.mv.jpa.repository.DefaultRecordRepository;
-import io.sc.engine.mv.service.sample.DefaultRecordService;
-import io.sc.engine.mv.vo.DefaultRecordVo;
+import io.sc.engine.mv.viewer.jpa.entity.DefaultRecord;
+import io.sc.engine.mv.viewer.jpa.entity.id.DefaultRecordId;
+import io.sc.engine.mv.viewer.jpa.repository.DefaultRecordRepository;
+import io.sc.engine.mv.viewer.service.DefaultRecordService;
+import io.sc.engine.mv.viewer.vo.DefaultRecordVo;
import io.sc.platform.mvc.controller.support.RestCrudController;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RestController;
*
*/
@RestController
-@RequestMapping("/api/mv/sample/defaultRecord")
+@RequestMapping("/api/mv/viewer/defaultRecord")
public class DefaultRecordWebController extends RestCrudController {
}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/ShowResultWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/GeneralResultHistoryWebController.java
similarity index 64%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/ShowResultWebController.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/GeneralResultHistoryWebController.java
index f872c7ed..cc3d58fb 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/ShowResultWebController.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/GeneralResultHistoryWebController.java
@@ -1,20 +1,17 @@
-package io.sc.engine.mv.controller;
+package io.sc.engine.mv.viewer.controller;
-import io.sc.engine.mv.jpa.entity.GeneralResultHistory;
-import io.sc.engine.mv.jpa.entity.id.GeneralResultHistoryId;
-import io.sc.engine.mv.jpa.repository.GeneralResultHistoryRepository;
-import io.sc.engine.mv.jpa.repository.RuntimeParameterRepository;
-import io.sc.engine.mv.service.result.GeneralResultHistoryService;
-import io.sc.engine.mv.vo.GeneralResultHistoryVo;
-import io.sc.platform.core.util.CollectionUtil;
+import io.sc.engine.mv.viewer.jpa.entity.GeneralResultHistory;
+import io.sc.engine.mv.viewer.jpa.entity.id.GeneralResultHistoryId;
+import io.sc.engine.mv.viewer.jpa.repository.GeneralResultHistoryRepository;
+import io.sc.engine.mv.viewer.jpa.repository.RuntimeParameterRepository;
+import io.sc.engine.mv.viewer.service.GeneralResultHistoryService;
+import io.sc.engine.mv.viewer.vo.GeneralResultHistoryVo;
import io.sc.platform.mvc.controller.support.RestCrudController;
import io.sc.platform.orm.service.support.QueryParameter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
-import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -26,8 +23,8 @@ import java.util.List;
*
*/
@RestController
-@RequestMapping("/api/mv/result")
-public class ShowResultWebController extends RestCrudController {
+@RequestMapping("/api/mv/viewer/result")
+public class GeneralResultHistoryWebController extends RestCrudController {
@Autowired private GeneralResultHistoryRepository generalResultHistoryRepository;
@Autowired private RuntimeParameterRepository runtimeParameterRepository;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/GeneralSampleHistoryWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/GeneralSampleHistoryWebController.java
new file mode 100644
index 00000000..e1b3bf7d
--- /dev/null
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/GeneralSampleHistoryWebController.java
@@ -0,0 +1,47 @@
+package io.sc.engine.mv.viewer.controller;
+
+import io.sc.engine.mv.viewer.jpa.entity.GeneralSampleHistory;
+import io.sc.engine.mv.viewer.jpa.entity.ScRocHistory;
+import io.sc.engine.mv.viewer.jpa.entity.id.GeneralSampleHistoryId;
+import io.sc.engine.mv.viewer.jpa.repository.GeneralSampleHistoryRepository;
+import io.sc.engine.mv.viewer.service.GeneralSampleHistoryService;
+import io.sc.engine.mv.viewer.vo.GeneralSampleHistoryVo;
+import io.sc.engine.mv.viewer.vo.ScCapHistoryVo;
+import io.sc.platform.mvc.controller.support.RestCrudController;
+import io.sc.platform.orm.service.support.CriteriaBuilder;
+import io.sc.platform.orm.service.support.QueryParameter;
+import org.springframework.data.domain.Page;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * 查询模型验证样本数据控制器
+ * @author wangshaoping
+ *
+ */
+@RestController
+@RequestMapping("/api/mv/viewer/sample")
+public class GeneralSampleHistoryWebController extends RestCrudController {
+ @GetMapping("data")
+ public Page data(HttpServletRequest request,
+ HttpServletResponse response,
+ @RequestParam("modelId") String modelId,
+ @RequestParam("validateDate") String validateDate,
+ QueryParameter queryParameter
+ ) throws Exception {
+ if(!queryParameter.existsCriteria()){
+ CriteriaBuilder cb =new CriteriaBuilder();
+ queryParameter.addCriteria(cb.and(
+ cb.equals("modelId",modelId),
+ cb.equals("validateDate",validateDate)
+ ));
+ }
+ return super.query(request,response,queryParameter);
+ }
+}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/sc/CapWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScCapHistoryWebController.java
similarity index 66%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/sc/CapWebController.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScCapHistoryWebController.java
index f6c677d4..26ea2384 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/sc/CapWebController.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScCapHistoryWebController.java
@@ -1,24 +1,29 @@
-package io.sc.engine.mv.controller.sc;
+package io.sc.engine.mv.viewer.controller;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
+import java.util.ArrayList;
import java.util.Locale;
-import io.sc.engine.mv.echart.Option;
-import io.sc.engine.mv.echart.Series;
-import io.sc.engine.mv.jpa.entity.ScCapHistory;
-import io.sc.engine.mv.jpa.entity.id.ScCapHistoryId;
-import io.sc.engine.mv.jpa.repository.GeneralResultHistoryRepository;
-import io.sc.engine.mv.jpa.repository.ScCapHistoryRepository;
-import io.sc.engine.mv.sc.echarts.Coordinates;
-import io.sc.engine.mv.service.sc.ScCapHistoryService;
-import io.sc.engine.mv.vo.ScCapHistoryVo;
+import io.sc.engine.mv.viewer.echart.model.Option;
+import io.sc.engine.mv.viewer.echart.model.Series;
+import io.sc.engine.mv.viewer.jpa.entity.ScCapHistory;
+import io.sc.engine.mv.viewer.jpa.entity.ScRocHistory;
+import io.sc.engine.mv.viewer.jpa.entity.id.ScCapHistoryId;
+import io.sc.engine.mv.viewer.jpa.repository.GeneralResultHistoryRepository;
+import io.sc.engine.mv.viewer.jpa.repository.ScCapHistoryRepository;
+import io.sc.engine.mv.viewer.echart.Coordinates;
+import io.sc.engine.mv.viewer.service.ScCapHistoryService;
+import io.sc.engine.mv.viewer.vo.ScCapHistoryVo;
import io.sc.platform.mvc.controller.support.RestCrudController;
+import io.sc.platform.orm.service.support.CriteriaBuilder;
+import io.sc.platform.orm.service.support.QueryParameter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.dao.DataAccessException;
+import org.springframework.data.domain.Page;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.PreparedStatementCreator;
import org.springframework.jdbc.core.ResultSetExtractor;
@@ -27,9 +32,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
@RestController
-@RequestMapping("/api/mv/sc/cap")
-public class CapWebController extends RestCrudController {
+@RequestMapping("/api/mv/viewer/cap")
+public class ScCapHistoryWebController extends RestCrudController {
//模型验证结果DAO
@Autowired private GeneralResultHistoryRepository generalResultHistoryRepository;
//CAP 曲线指标DAO
@@ -38,8 +46,28 @@ public class CapWebController extends RestCrudController data(HttpServletRequest request,
+ HttpServletResponse response,
+ @RequestParam("modelId") String modelId,
+ @RequestParam("validateDate") String validateDate,
+ QueryParameter queryParameter
+ ) throws Exception {
+ if(!queryParameter.existsCriteria()){
+ CriteriaBuilder cb =new CriteriaBuilder();
+ queryParameter.addCriteria(cb.and(
+ cb.equals("modelId",modelId),
+ cb.equals("validateDate",validateDate)
+ ));
+ }
+ if(!queryParameter.existsSortBy()){
+ queryParameter.addSortBy("scoreCutOffPoint");
+ }
+ return super.query(request,response,queryParameter);
+ }
+
@GetMapping("option")
- public Option cap(@RequestParam("modelId") String modelId,
+ public Option option(@RequestParam("modelId") String modelId,
@RequestParam("validateDate") String validateDate,
Locale locale
){
@@ -60,10 +88,11 @@ public class CapWebController extends RestCrudController());
option.getxAxis().getData().addAll(coordinates.getXs());
option.getyAxis().setName(messageSource.getMessage("io.sc.engine.mv.curve.cap.yAxis.title",null,locale));
option.getyAxis().setNameLocation("middle");
- option.getyAxis().setNameGap(10);
+ option.getyAxis().setNameGap(30);
option.getyAxis().setBoundaryGap(false);
Series series =new Series();
series.setName(messageSource.getMessage("io.sc.engine.mv.performance",null,locale));
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/sc/KsWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScKsHistoryWebController.java
similarity index 67%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/sc/KsWebController.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScKsHistoryWebController.java
index de30d68a..c3e5d6af 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/sc/KsWebController.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScKsHistoryWebController.java
@@ -1,24 +1,29 @@
-package io.sc.engine.mv.controller.sc;
+package io.sc.engine.mv.viewer.controller;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
+import java.util.ArrayList;
import java.util.Locale;
-import io.sc.engine.mv.echart.Option;
-import io.sc.engine.mv.echart.Series;
-import io.sc.engine.mv.jpa.entity.ScKsHistory;
-import io.sc.engine.mv.jpa.entity.id.ScKsHistoryId;
-import io.sc.engine.mv.jpa.repository.GeneralResultHistoryRepository;
-import io.sc.engine.mv.jpa.repository.ScKsHistoryRepository;
-import io.sc.engine.mv.sc.echarts.Coordinates;
-import io.sc.engine.mv.service.sc.ScKsHistoryService;
-import io.sc.engine.mv.vo.ScKsHistoryVo;
+import io.sc.engine.mv.viewer.echart.model.Option;
+import io.sc.engine.mv.viewer.echart.model.Series;
+import io.sc.engine.mv.viewer.jpa.entity.ScKsHistory;
+import io.sc.engine.mv.viewer.jpa.entity.ScRocHistory;
+import io.sc.engine.mv.viewer.jpa.entity.id.ScKsHistoryId;
+import io.sc.engine.mv.viewer.jpa.repository.GeneralResultHistoryRepository;
+import io.sc.engine.mv.viewer.jpa.repository.ScKsHistoryRepository;
+import io.sc.engine.mv.viewer.echart.Coordinates;
+import io.sc.engine.mv.viewer.service.ScKsHistoryService;
+import io.sc.engine.mv.viewer.vo.ScKsHistoryVo;
import io.sc.platform.mvc.controller.support.RestCrudController;
+import io.sc.platform.orm.service.support.CriteriaBuilder;
+import io.sc.platform.orm.service.support.QueryParameter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.dao.DataAccessException;
+import org.springframework.data.domain.Page;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.PreparedStatementCreator;
import org.springframework.jdbc.core.ResultSetExtractor;
@@ -27,17 +32,40 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
@RestController
-@RequestMapping("/api/mv/sc/ks")
-public class KsWebController extends RestCrudController {
+@RequestMapping("/api/mv/viewer/ks")
+public class ScKsHistoryWebController extends RestCrudController {
//模型验证结果DAO
@Autowired private GeneralResultHistoryRepository generalResultHistoryRepository;
//jdbc 模板
@Autowired private JdbcTemplate jdbcTemplate;
@Autowired private MessageSource messageSource;
+ @GetMapping("data")
+ public Page data(HttpServletRequest request,
+ HttpServletResponse response,
+ @RequestParam("modelId") String modelId,
+ @RequestParam("validateDate") String validateDate,
+ QueryParameter queryParameter
+ ) throws Exception {
+ if(!queryParameter.existsCriteria()){
+ CriteriaBuilder cb =new CriteriaBuilder();
+ queryParameter.addCriteria(cb.and(
+ cb.equals("modelId",modelId),
+ cb.equals("validateDate",validateDate)
+ ));
+ }
+ if(!queryParameter.existsSortBy()){
+ queryParameter.addSortBy("scoreCutOffPoint");
+ }
+ return super.query(request,response,queryParameter);
+ }
+
@GetMapping("option")
- public Option ks(@RequestParam("modelId") String modelId,
+ public Option option(@RequestParam("modelId") String modelId,
@RequestParam("validateDate") String validateDate,
Locale locale
){
@@ -57,10 +85,11 @@ public class KsWebController extends RestCrudController());
option.getxAxis().getData().addAll(coordinates.getXs());
option.getyAxis().setName(messageSource.getMessage("io.sc.engine.mv.curve.ks.yAxis.title",null,locale));
option.getyAxis().setNameLocation("middle");
- option.getyAxis().setNameGap(10);
+ option.getyAxis().setNameGap(30);
option.getyAxis().setBoundaryGap(false);
Series series1 =new Series();
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/sc/RocWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScRocHistoryWebController.java
similarity index 64%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/sc/RocWebController.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScRocHistoryWebController.java
index c637472e..0c78c73e 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/sc/RocWebController.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScRocHistoryWebController.java
@@ -1,18 +1,21 @@
-package io.sc.engine.mv.controller.sc;
+package io.sc.engine.mv.viewer.controller;
-import io.sc.engine.mv.echart.Option;
-import io.sc.engine.mv.echart.Series;
-import io.sc.engine.mv.jpa.entity.ScRocHistory;
-import io.sc.engine.mv.jpa.entity.id.ScRocHistoryId;
-import io.sc.engine.mv.jpa.repository.GeneralResultHistoryRepository;
-import io.sc.engine.mv.jpa.repository.ScRocHistoryRepository;
-import io.sc.engine.mv.sc.echarts.Coordinates;
-import io.sc.engine.mv.service.sc.ScRocHistoryService;
-import io.sc.engine.mv.vo.ScRocHistoryVo;
+import io.sc.engine.mv.viewer.echart.model.Option;
+import io.sc.engine.mv.viewer.echart.model.Series;
+import io.sc.engine.mv.viewer.jpa.entity.ScRocHistory;
+import io.sc.engine.mv.viewer.jpa.entity.id.ScRocHistoryId;
+import io.sc.engine.mv.viewer.jpa.repository.GeneralResultHistoryRepository;
+import io.sc.engine.mv.viewer.jpa.repository.ScRocHistoryRepository;
+import io.sc.engine.mv.viewer.echart.Coordinates;
+import io.sc.engine.mv.viewer.service.ScRocHistoryService;
+import io.sc.engine.mv.viewer.vo.ScRocHistoryVo;
import io.sc.platform.mvc.controller.support.RestCrudController;
+import io.sc.platform.orm.service.support.CriteriaBuilder;
+import io.sc.platform.orm.service.support.QueryParameter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.dao.DataAccessException;
+import org.springframework.data.domain.Page;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.PreparedStatementCreator;
import org.springframework.jdbc.core.ResultSetExtractor;
@@ -21,23 +24,47 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
+import java.util.ArrayList;
import java.util.Locale;
@RestController
-@RequestMapping("/api/mv/sc/roc")
-public class RocWebController extends RestCrudController {
+@RequestMapping("/api/mv/viewer/roc")
+public class ScRocHistoryWebController extends RestCrudController {
//模型验证结果DAO
@Autowired private GeneralResultHistoryRepository generalResultHistoryRepository;
//jdbc 模板
@Autowired private JdbcTemplate jdbcTemplate;
@Autowired private MessageSource messageSource;
+
+ @GetMapping("data")
+ public Page data(HttpServletRequest request,
+ HttpServletResponse response,
+ @RequestParam("modelId") String modelId,
+ @RequestParam("validateDate") String validateDate,
+ QueryParameter queryParameter
+ ) throws Exception {
+ if(!queryParameter.existsCriteria()){
+ CriteriaBuilder cb =new CriteriaBuilder();
+ queryParameter.addCriteria(cb.and(
+ cb.equals("modelId",modelId),
+ cb.equals("validateDate",validateDate)
+ ));
+ }
+ if(!queryParameter.existsSortBy()){
+ queryParameter.addSortBy("scoreCutOffPoint");
+ }
+ return super.query(request,response,queryParameter);
+ }
+
@GetMapping("option")
- public Option roc(@RequestParam("modelId") String modelId,
+ public Option option(@RequestParam("modelId") String modelId,
@RequestParam("validateDate") String validateDate,
Locale locale
){
@@ -48,19 +75,19 @@ public class RocWebController extends RestCrudController());
option.getxAxis().getData().addAll(coordinates.getXs());
option.getyAxis().setName(messageSource.getMessage("io.sc.engine.mv.curve.roc.yAxis.title",null,locale));
option.getyAxis().setNameLocation("middle");
- option.getyAxis().setNameGap(10);
+ option.getyAxis().setNameGap(30);
option.getyAxis().setBoundaryGap(false);
+ option.getyAxis().setSmooth(true);
Series series =new Series();
series.setName(messageSource.getMessage("io.sc.engine.mv.performance",null,locale));
series.setType("line");
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/sample/ScoreRecordWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScoreRecordWebController.java
similarity index 53%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/sample/ScoreRecordWebController.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScoreRecordWebController.java
index 5635c3d5..0c1ba5bb 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/sample/ScoreRecordWebController.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/ScoreRecordWebController.java
@@ -1,10 +1,10 @@
-package io.sc.engine.mv.controller.sample;
+package io.sc.engine.mv.viewer.controller;
-import io.sc.engine.mv.jpa.entity.ScoreRecord;
-import io.sc.engine.mv.jpa.entity.id.ScoreRecordId;
-import io.sc.engine.mv.jpa.repository.ScoreRecordRepository;
-import io.sc.engine.mv.service.sample.ScoreRecordService;
-import io.sc.engine.mv.vo.ScoreRecordVo;
+import io.sc.engine.mv.viewer.jpa.entity.ScoreRecord;
+import io.sc.engine.mv.viewer.jpa.entity.id.ScoreRecordId;
+import io.sc.engine.mv.viewer.jpa.repository.ScoreRecordRepository;
+import io.sc.engine.mv.viewer.service.ScoreRecordService;
+import io.sc.engine.mv.viewer.vo.ScoreRecordVo;
import io.sc.platform.mvc.controller.support.RestCrudController;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RestController;
*
*/
@RestController
-@RequestMapping("/api/mv/sample/scoreRecord")
+@RequestMapping("/api/mv/viewer/scoreRecord")
public class ScoreRecordWebController extends RestCrudController {
}
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/st/PsiWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/StPsiHistoryWebController.java
similarity index 68%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/st/PsiWebController.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/StPsiHistoryWebController.java
index 75a5e424..6ebf650f 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/st/PsiWebController.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/StPsiHistoryWebController.java
@@ -1,18 +1,22 @@
-package io.sc.engine.mv.controller.st;
+package io.sc.engine.mv.viewer.controller;
-import io.sc.engine.mv.echart.Option;
-import io.sc.engine.mv.echart.Series;
-import io.sc.engine.mv.jpa.entity.StPsiHistory;
-import io.sc.engine.mv.jpa.entity.id.StPsiHistoryId;
-import io.sc.engine.mv.jpa.repository.GeneralResultHistoryRepository;
-import io.sc.engine.mv.jpa.repository.StPsiHistoryRepository;
-import io.sc.engine.mv.sc.echarts.XyCoordinates;
-import io.sc.engine.mv.service.st.StPsiHistoryService;
-import io.sc.engine.mv.vo.StPsiHistoryVo;
+import io.sc.engine.mv.viewer.echart.model.Option;
+import io.sc.engine.mv.viewer.echart.model.Series;
+import io.sc.engine.mv.viewer.jpa.entity.ScRocHistory;
+import io.sc.engine.mv.viewer.jpa.entity.StPsiHistory;
+import io.sc.engine.mv.viewer.jpa.entity.id.StPsiHistoryId;
+import io.sc.engine.mv.viewer.jpa.repository.GeneralResultHistoryRepository;
+import io.sc.engine.mv.viewer.jpa.repository.StPsiHistoryRepository;
+import io.sc.engine.mv.viewer.echart.XyCoordinates;
+import io.sc.engine.mv.viewer.service.StPsiHistoryService;
+import io.sc.engine.mv.viewer.vo.StPsiHistoryVo;
import io.sc.platform.mvc.controller.support.RestCrudController;
+import io.sc.platform.orm.service.support.CriteriaBuilder;
+import io.sc.platform.orm.service.support.QueryParameter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.dao.DataAccessException;
+import org.springframework.data.domain.Page;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.PreparedStatementCreator;
import org.springframework.jdbc.core.ResultSetExtractor;
@@ -21,22 +25,45 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DecimalFormat;
+import java.util.ArrayList;
import java.util.Locale;
@RestController
-@RequestMapping("/api/mv/st/psi")
-public class PsiWebController extends RestCrudController {
+@RequestMapping("/api/mv/viewer/psi")
+public class StPsiHistoryWebController extends RestCrudController {
@Autowired private GeneralResultHistoryRepository generalResultHistoryRepository;
@Autowired private JdbcTemplate jdbcTemplate;
@Autowired private MessageSource messageSource;
+ @GetMapping("data")
+ public Page data(HttpServletRequest request,
+ HttpServletResponse response,
+ @RequestParam("modelId") String modelId,
+ @RequestParam("validateDate") String validateDate,
+ QueryParameter queryParameter
+ ) throws Exception {
+ if(!queryParameter.existsCriteria()){
+ CriteriaBuilder cb =new CriteriaBuilder();
+ queryParameter.addCriteria(cb.and(
+ cb.equals("modelId",modelId),
+ cb.equals("validateDate",validateDate)
+ ));
+ }
+ if(!queryParameter.existsSortBy()){
+ queryParameter.addSortBy("scoreSegStart");
+ }
+ return super.query(request,response,queryParameter);
+ }
+
@GetMapping("option")
- public Option cap(@RequestParam("modelId") String modelId,
+ public Option option(@RequestParam("modelId") String modelId,
@RequestParam("validateDate") String validateDate,
Locale locale
){
@@ -57,6 +84,7 @@ public class PsiWebController extends RestCrudController());
option.getxAxis().getData().addAll(coordinates.getXs());
option.getyAxis().setName(messageSource.getMessage("io.sc.engine.mv.curve.psi.yAxis.title",null,locale));
option.getyAxis().setNameLocation("middle");
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/st/SvdWebController.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/StSvdWebController.java
similarity index 74%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/st/SvdWebController.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/StSvdWebController.java
index bc337ae7..2f0cde86 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/st/SvdWebController.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/StSvdWebController.java
@@ -1,11 +1,11 @@
-package io.sc.engine.mv.controller.st;
+package io.sc.engine.mv.viewer.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
-@RequestMapping("/mv/st")
-public class SvdWebController {
+@RequestMapping("/api/mv/viewer/svd")
+public class StSvdWebController {
/*
@Autowired private GeneralResultHistoryRepository generalResultHistoryRepository;
@Autowired private StPsiHistoryRepository stPsiHistoryRepository;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/st/support/Threshold2SmartClientJavascript.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/support/Threshold2SmartClientJavascript.java
similarity index 95%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/st/support/Threshold2SmartClientJavascript.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/support/Threshold2SmartClientJavascript.java
index 6ed75eae..cb1cb613 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/controller/st/support/Threshold2SmartClientJavascript.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/controller/support/Threshold2SmartClientJavascript.java
@@ -1,6 +1,6 @@
-package io.sc.engine.mv.controller.st.support;
+package io.sc.engine.mv.viewer.controller.support;
-import io.sc.engine.mv.jpa.entity.CfgThreshold;
+import io.sc.engine.mv.configure.jpa.entity.CfgThreshold;
import java.util.List;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/sc/echarts/Coordinates.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/echart/Coordinates.java
similarity index 98%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/sc/echarts/Coordinates.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/echart/Coordinates.java
index 9df59e60..84887334 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/sc/echarts/Coordinates.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/echart/Coordinates.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv.sc.echarts;
+package io.sc.engine.mv.viewer.echart;
import java.math.BigDecimal;
import java.math.RoundingMode;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/sc/echarts/ScValidateResult4Echarts.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/echart/ScValidateResult4Echarts.java
similarity index 94%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/sc/echarts/ScValidateResult4Echarts.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/echart/ScValidateResult4Echarts.java
index 46669f73..1de3e967 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/sc/echarts/ScValidateResult4Echarts.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/echart/ScValidateResult4Echarts.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv.sc.echarts;
+package io.sc.engine.mv.viewer.echart;
public class ScValidateResult4Echarts {
private double auc;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/sc/echarts/XyCoordinates.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/echart/XyCoordinates.java
similarity index 95%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/sc/echarts/XyCoordinates.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/echart/XyCoordinates.java
index c53a12b3..42422408 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/sc/echarts/XyCoordinates.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/echart/XyCoordinates.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv.sc.echarts;
+package io.sc.engine.mv.viewer.echart;
import java.util.ArrayList;
import java.util.List;
diff --git a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/echart/Axis.java b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/echart/model/Axis.java
similarity index 94%
rename from io.sc.engine.mv/src/main/java/io/sc/engine/mv/echart/Axis.java
rename to io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/echart/model/Axis.java
index 40ab76fd..9d37b6ac 100644
--- a/io.sc.engine.mv/src/main/java/io/sc/engine/mv/echart/Axis.java
+++ b/io.sc.engine.mv/src/main/java/io/sc/engine/mv/viewer/echart/model/Axis.java
@@ -1,4 +1,4 @@
-package io.sc.engine.mv.echart;
+package io.sc.engine.mv.viewer.echart.model;
import java.util.ArrayList;
import java.util.List;
@@ -11,7 +11,7 @@ public class Axis {
private boolean smooth;
private boolean boundaryGap;
private AxisTick axisTick =new AxisTick();
- private List
-
-
-
-
-
-
-
+ { name: 'modelId', label: $t('io.sc.engine.mv.result.grid.entity.modelId') },
+ { name: 'modelName', label: $t('io.sc.engine.mv.result.grid.entity.modelName') },
+ { name: 'executeMode', label: $t('io.sc.engine.mv.result.grid.entity.executeMode') },
+ { name: 'totalSampleCount', label: $t('io.sc.engine.mv.result.grid.entity.totalSampleCount') },
+ { name: 'defaultSampleCount', label: $t('io.sc.engine.mv.result.grid.entity.defaultSampleCount') },
+ { name: 'auc', label: $t('io.sc.engine.mv.result.grid.entity.total.auc') },
+ { name: 'ar', label: $t('io.sc.engine.mv.result.grid.entity.total.ar') },
+ { name: 'ks', label: $t('io.sc.engine.mv.result.grid.entity.total.ks') },
+ { name: 'aucQuantitative', label: $t('io.sc.engine.mv.result.grid.entity.quantitative.auc') },
+ { name: 'arQuantitative', label: $t('io.sc.engine.mv.result.grid.entity.quantitative.ar') },
+ { name: 'ksQuantitative', label: $t('io.sc.engine.mv.result.grid.entity.quantitative.ks') },
+ { name: 'aucQualitative', label: $t('io.sc.engine.mv.result.grid.entity.qualitative.auc') },
+ { name: 'arQualitative', label: $t('io.sc.engine.mv.result.grid.entity.qualitative.ar') },
+ { name: 'ksQualitative', label: $t('io.sc.engine.mv.result.grid.entity.qualitative.ks') },
+ { name: 'svd', label: $t('io.sc.engine.mv.result.grid.entity.svd') },
+ { name: 'psi', label: $t('io.sc.engine.mv.result.grid.entity.psi') },
+ { name: 'chiSquare', label: $t('io.sc.engine.mv.result.grid.entity.chiSquare'), format: Formater.none() },
+ { name: 'binomial', label: $t('io.sc.engine.mv.result.grid.entity.binomial'), format: Formater.none() },
+ ],
+ },
+ }"
+ >
diff --git a/io.sc.platform.core.frontend/template-project/package.json b/io.sc.platform.core.frontend/template-project/package.json
index 8cff933a..8dd58e44 100644
--- a/io.sc.platform.core.frontend/template-project/package.json
+++ b/io.sc.platform.core.frontend/template-project/package.json
@@ -1,6 +1,6 @@
{
"name": "platform-core",
- "version": "8.1.111",
+ "version": "8.1.113",
"description": "前端核心包,用于快速构建前端的脚手架",
"private": false,
"keywords": [],
@@ -92,7 +92,7 @@
"luckyexcel": "1.0.1",
"mockjs": "1.1.0",
"pinia": "2.1.7",
- "platform-core": "8.1.111",
+ "platform-core": "8.1.113",
"quasar": "2.14.2",
"tailwindcss": "3.4.0",
"vue": "3.4.3",
diff --git a/io.sc.platform.core.frontend/template-project/src/views/TreeGrid.vue b/io.sc.platform.core.frontend/template-project/src/views/TreeGrid.vue
index a8313c2a..55ef6444 100644
--- a/io.sc.platform.core.frontend/template-project/src/views/TreeGrid.vue
+++ b/io.sc.platform.core.frontend/template-project/src/views/TreeGrid.vue
@@ -1,120 +1,236 @@
-
-
-
-
-
-
-
-
+ {{ $t('io.sc.engine.mv.result.task.progress') }}
+
+
+
+ {{ executeProgress.message }}
+
+
+
-
-
-
-
-
-
-
-
+ { name: 'modelId', label: $t('io.sc.engine.mv.result.grid.entity.modelId') },
+ { name: 'modelName', label: $t('io.sc.engine.mv.result.grid.entity.modelName') },
+ { name: 'executeMode', label: $t('io.sc.engine.mv.result.grid.entity.executeMode') },
+ { name: 'totalSampleCount', label: $t('io.sc.engine.mv.result.grid.entity.totalSampleCount') },
+ { name: 'defaultSampleCount', label: $t('io.sc.engine.mv.result.grid.entity.defaultSampleCount') },
+ { name: 'auc', label: $t('io.sc.engine.mv.result.grid.entity.total.auc') },
+ { name: 'ar', label: $t('io.sc.engine.mv.result.grid.entity.total.ar') },
+ { name: 'ks', label: $t('io.sc.engine.mv.result.grid.entity.total.ks') },
+ { name: 'aucQuantitative', label: $t('io.sc.engine.mv.result.grid.entity.quantitative.auc') },
+ { name: 'arQuantitative', label: $t('io.sc.engine.mv.result.grid.entity.quantitative.ar') },
+ { name: 'ksQuantitative', label: $t('io.sc.engine.mv.result.grid.entity.quantitative.ks') },
+ { name: 'aucQualitative', label: $t('io.sc.engine.mv.result.grid.entity.qualitative.auc') },
+ { name: 'arQualitative', label: $t('io.sc.engine.mv.result.grid.entity.qualitative.ar') },
+ { name: 'ksQualitative', label: $t('io.sc.engine.mv.result.grid.entity.qualitative.ks') },
+ { name: 'svd', label: $t('io.sc.engine.mv.result.grid.entity.svd') },
+ { name: 'psi', label: $t('io.sc.engine.mv.result.grid.entity.psi') },
+ { name: 'chiSquare', label: $t('io.sc.engine.mv.result.grid.entity.chiSquare'), format: Formater.none() },
+ { name: 'binomial', label: $t('io.sc.engine.mv.result.grid.entity.binomial'), format: Formater.none() },
+ ],
+ },
+ }"
+ >
diff --git a/io.sc.platform.core/src/main/java/io/sc/platform/core/enums/AuditLogAction.java b/io.sc.platform.core/src/main/java/io/sc/platform/core/enums/AuditLogAction.java
index aa62fc19..9a3ea7f5 100644
--- a/io.sc.platform.core/src/main/java/io/sc/platform/core/enums/AuditLogAction.java
+++ b/io.sc.platform.core/src/main/java/io/sc/platform/core/enums/AuditLogAction.java
@@ -7,6 +7,7 @@ public enum AuditLogAction {
UPDATE("UPDATE"),
QUERY("QUERY"),
FIND_ONE("FIND_ONE"),
+ RESET_DEFAULT_VALUES("RESET_DEFAULT_VALUES"),
EXPORT("EXPORT"),
LOGIN("LOGIN"),
LOGOUT("LOGOUT");
diff --git a/io.sc.platform.core/src/main/java/io/sc/platform/core/enums/GoodLevel.java b/io.sc.platform.core/src/main/java/io/sc/platform/core/enums/GoodLevel.java
deleted file mode 100644
index be9c617b..00000000
--- a/io.sc.platform.core/src/main/java/io/sc/platform/core/enums/GoodLevel.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package io.sc.platform.core.enums;
-
-public enum GoodLevel {
- POOR,
- MEDIUM,
- GOOD,
- VERY_GOOD,
- EXCELLENT,
- PERFECT;
-}
diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums.properties
index 0442ea41..aa1c388b 100644
--- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums.properties
+++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums.properties
@@ -13,6 +13,7 @@ io.sc.platform.core.enums.AuditLogAction.REMOVE=Remove
io.sc.platform.core.enums.AuditLogAction.UPDATE=Update
io.sc.platform.core.enums.AuditLogAction.QUERY=Query
io.sc.platform.core.enums.AuditLogAction.FIND_ONE=Find One
+io.sc.platform.core.enums.AuditLogAction.RESET_DEFAULT_VALUES=Reset Default Values
io.sc.platform.core.enums.AuditLogAction.EXPORT=Export
io.sc.platform.core.enums.AuditLogAction.LOGIN=Login
io.sc.platform.core.enums.AuditLogAction.LOGOUT=Logout
@@ -28,10 +29,3 @@ io.sc.platform.core.enums.RoundingMode.FLOOR=floor
io.sc.platform.core.enums.RoundingMode.HALF_UP=Half Up
io.sc.platform.core.enums.RoundingMode.HALF_DOWN=Half Down
io.sc.platform.core.enums.RoundingMode.HALF_EVEN=Half Even
-
-io.sc.platform.core.enums.GoodLevel.POOR=Poor
-io.sc.platform.core.enums.GoodLevel.MEDIUM=Medium
-io.sc.platform.core.enums.GoodLevel.GOOD=Good
-io.sc.platform.core.enums.GoodLevel.VERY_GOOD=Very Good
-io.sc.platform.core.enums.GoodLevel.EXCELLENT=Excellent
-io.sc.platform.core.enums.GoodLevel.PERFECT=Perfect
diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums_tw_CN.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums_tw_CN.properties
index 4533c1c8..1a057b64 100644
--- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums_tw_CN.properties
+++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums_tw_CN.properties
@@ -13,6 +13,7 @@ io.sc.platform.core.enums.AuditLogAction.REMOVE=\u522A\u9664
io.sc.platform.core.enums.AuditLogAction.UPDATE=\u66F4\u65B0
io.sc.platform.core.enums.AuditLogAction.QUERY=\u67E5\u8A62
io.sc.platform.core.enums.AuditLogAction.FIND_ONE=\u67E5\u627E\u55AE\u500B
+io.sc.platform.core.enums.AuditLogAction.RESET_DEFAULT_VALUES=\u6062\u5FA9\u9ED8\u8A8D\u503C
io.sc.platform.core.enums.AuditLogAction.EXPORT=\u5C0E\u51FA
io.sc.platform.core.enums.AuditLogAction.LOGIN=\u767B\u9304
io.sc.platform.core.enums.AuditLogAction.LOGOUT=\u9000\u51FA
@@ -27,11 +28,4 @@ io.sc.platform.core.enums.RoundingMode.CEILING=\u5411\u6B63\u7121\u7AAE\u65B9\u5
io.sc.platform.core.enums.RoundingMode.FLOOR=\u5411\u8CA0\u7121\u7AAE\u65B9\u5411\u820D\u5165
io.sc.platform.core.enums.RoundingMode.HALF_UP=\u7D93\u5178\u7684\u56DB\u820D\u4E94\u5165
io.sc.platform.core.enums.RoundingMode.HALF_DOWN=\u6700\u8FD1\u6578\u5B57\u820D\u5165(5\u820D)
-io.sc.platform.core.enums.RoundingMode.HALF_EVEN=\u9280\u884C\u5BB6\u820D\u5165\u6CD5
-
-io.sc.platform.core.enums.GoodLevel.POOR=\u5DEE
-io.sc.platform.core.enums.GoodLevel.MEDIUM=\u4E2D\u7B49
-io.sc.platform.core.enums.GoodLevel.GOOD=\u597D
-io.sc.platform.core.enums.GoodLevel.VERY_GOOD=\u5F88\u597D
-io.sc.platform.core.enums.GoodLevel.EXCELLENT=\u975E\u5E38\u597D
-io.sc.platform.core.enums.GoodLevel.PERFECT=\u5B8C\u7F8E
\ No newline at end of file
+io.sc.platform.core.enums.RoundingMode.HALF_EVEN=\u9280\u884C\u5BB6\u820D\u5165\u6CD5
\ No newline at end of file
diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums_zh_CN.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums_zh_CN.properties
index 54a72c1c..f315457e 100644
--- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums_zh_CN.properties
+++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/enums_zh_CN.properties
@@ -13,6 +13,7 @@ io.sc.platform.core.enums.AuditLogAction.REMOVE=\u522A\u9664
io.sc.platform.core.enums.AuditLogAction.UPDATE=\u66F4\u65B0
io.sc.platform.core.enums.AuditLogAction.QUERY=\u67E5\u8BE2
io.sc.platform.core.enums.AuditLogAction.FIND_ONE=\u67E5\u627E\u5355\u4E2A
+io.sc.platform.core.enums.AuditLogAction.RESET_DEFAULT_VALUES=\u6062\u590D\u9ED8\u8BA4\u503C
io.sc.platform.core.enums.AuditLogAction.EXPORT=\u5BFC\u51FA
io.sc.platform.core.enums.AuditLogAction.LOGIN=\u767B\u5F55
io.sc.platform.core.enums.AuditLogAction.LOGOUT=\u9000\u51FA
@@ -27,11 +28,4 @@ io.sc.platform.core.enums.RoundingMode.CEILING=\u5411\u6B63\u65E0\u7A77\u65B9\u5
io.sc.platform.core.enums.RoundingMode.FLOOR=\u5411\u8D1F\u65E0\u7A77\u65B9\u5411\u820D\u5165
io.sc.platform.core.enums.RoundingMode.HALF_UP=\u7ECF\u5178\u7684\u56DB\u820D\u4E94\u5165
io.sc.platform.core.enums.RoundingMode.HALF_DOWN=\u6700\u8FD1\u6570\u5B57\u820D\u5165(5\u820D)
-io.sc.platform.core.enums.RoundingMode.HALF_EVEN=\u94F6\u884C\u5BB6\u820D\u5165\u6CD5
-
-io.sc.platform.core.enums.GoodLevel.POOR=\u5DEE
-io.sc.platform.core.enums.GoodLevel.MEDIUM=\u4E2D\u7B49
-io.sc.platform.core.enums.GoodLevel.GOOD=\u597D
-io.sc.platform.core.enums.GoodLevel.VERY_GOOD=\u5F88\u597D
-io.sc.platform.core.enums.GoodLevel.EXCELLENT=\u975E\u5E38\u597D
-io.sc.platform.core.enums.GoodLevel.PERFECT=\u5B8C\u7F8E
\ No newline at end of file
+io.sc.platform.core.enums.RoundingMode.HALF_EVEN=\u94F6\u884C\u5BB6\u820D\u5165\u6CD5
\ No newline at end of file
diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties
index 0a76ebfe..df257caa 100644
--- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties
+++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties
@@ -17,6 +17,7 @@ className=Class
clone=Clone
close=Close
code=Code
+complete=Complete
component=Component
confirm=Confirm
confirmPassword=Confirm Password
@@ -127,6 +128,7 @@ select=Select
selectAll=Select All
serializer=Serializer
size=Size
+start=Start
startDate=Start Date
status=Status
submit=Submit
@@ -174,4 +176,5 @@ quantitative=Quantitative
qualitative=Qualitative
range=Range
color=Color
-resetDefaultValues=Reset Default
\ No newline at end of file
+resetDefaultValues=Reset Default
+running=Running
\ No newline at end of file
diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties
index ccbf93e3..05538dc4 100644
--- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties
+++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties
@@ -17,6 +17,7 @@ className=\u985E\u540D
clone=\u8907\u88FD
close=\u95DC\u9589
code=\u4EE3\u78BC
+complete=\u5B8C\u6210
component=\u7D44\u4EF6
confirm=\u78BA\u5B9A
confirmPassword=\u78BA\u8A8D\u5BC6\u78BC
@@ -127,6 +128,7 @@ select=\u9078\u64C7
selectAll=\u5168\u90E8\u9078\u64C7
serializer=\u5E8F\u5217\u5316\u5668
size=\u5C3A\u5BF8
+start=\u958B\u59CB
startDate=\u958B\u59CB\u65E5\u671F
status=\u72C0\u614B
submit=\u63D0\u4EA4
@@ -174,4 +176,5 @@ quantitative=\u5B9A\u91CF
qualitative=\u5B9A\u6027
range=\u7BC4\u570D
color=\u984F\u8272
-resetDefaultValues=\u6062\u5FA9\u9ED8\u8A8D\u503C
\ No newline at end of file
+resetDefaultValues=\u6062\u5FA9\u9ED8\u8A8D\u503C
+running=\u6B63\u5728\u904B\u884C
\ No newline at end of file
diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties
index ded8d47f..e35ee769 100644
--- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties
+++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties
@@ -17,6 +17,7 @@ className=\u7C7B\u540D
clone=\u590D\u5236
close=\u5173\u95ED
code=\u4EE3\u7801
+complete=\u5B8C\u6210
component=\u7EC4\u4EF6
confirm=\u786E\u5B9A
confirmPassword=\u786E\u8BA4\u5BC6\u7801
@@ -127,6 +128,7 @@ select=\u9009\u62E9
selectAll=\u5168\u90E8\u9009\u62E9
serializer=\u5E8F\u5217\u5316\u5668
size=\u5C3A\u5BF8
+start=\u5F00\u59CB
startDate=\u5F00\u59CB\u65E5\u671F
status=\u72B6\u6001
submit=\u63D0\u4EA4
@@ -174,4 +176,5 @@ quantitative=\u5B9A\u91CF
qualitative=\u5B9A\u6027
range=\u8303\u56F4
color=\u989C\u8272
-resetDefaultValues=\u6062\u590D\u9ED8\u8BA4\u503C
\ No newline at end of file
+resetDefaultValues=\u6062\u590D\u9ED8\u8BA4\u503C
+running=\u6B63\u5728\u8FD0\u884C
\ No newline at end of file
diff --git a/io.sc.platform.developer.frontend/package.json b/io.sc.platform.developer.frontend/package.json
index 8855f75a..57740395 100644
--- a/io.sc.platform.developer.frontend/package.json
+++ b/io.sc.platform.developer.frontend/package.json
@@ -78,7 +78,7 @@
"luckyexcel": "1.0.1",
"mockjs": "1.1.0",
"pinia": "2.1.7",
- "platform-core": "8.1.111",
+ "platform-core": "8.1.113",
"quasar": "2.14.2",
"tailwindcss": "3.4.0",
"vue": "3.4.3",
diff --git a/io.sc.platform.lcdp.frontend/package.json b/io.sc.platform.lcdp.frontend/package.json
index 0970d2f9..a65351e8 100644
--- a/io.sc.platform.lcdp.frontend/package.json
+++ b/io.sc.platform.lcdp.frontend/package.json
@@ -91,7 +91,7 @@
"luckyexcel": "1.0.1",
"mockjs": "1.1.0",
"pinia": "2.1.7",
- "platform-core": "8.1.111",
+ "platform-core": "8.1.113",
"quasar": "2.14.2",
"tailwindcss": "3.4.0",
"vue": "3.4.3",
diff --git a/io.sc.platform.mvc.frontend/package.json b/io.sc.platform.mvc.frontend/package.json
index a33c37e4..c7b1155a 100644
--- a/io.sc.platform.mvc.frontend/package.json
+++ b/io.sc.platform.mvc.frontend/package.json
@@ -78,7 +78,7 @@
"luckyexcel": "1.0.1",
"mockjs": "1.1.0",
"pinia": "2.1.7",
- "platform-core": "8.1.111",
+ "platform-core": "8.1.113",
"quasar": "2.14.2",
"tailwindcss": "3.4.0",
"vue": "3.4.3",
diff --git a/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/controller/support/RestCrudController.java b/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/controller/support/RestCrudController.java
index b5a20c05..aef886e8 100644
--- a/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/controller/support/RestCrudController.java
+++ b/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/controller/support/RestCrudController.java
@@ -122,4 +122,10 @@ public abstract class RestCrudController