From cd1d81fac1a6b20bd14a21343226e1fcc5f0e2ba Mon Sep 17 00:00:00 2001 From: wangshaoping Date: Wed, 8 May 2024 01:53:53 +0800 Subject: [PATCH] update --- gradle.properties | 1 + io.sc.algorithm.weka/gradle.properties | 0 .../src/main/resources/house.arff | 17 + .../src/views/factor-type/FactorType.vue | 188 ----------- .../controller/FactorTypeWebController.java | 15 - .../st/controller/FactorWebController.java | 15 - .../IndepArithmeticFactorDefineEntity.java | 42 +++ .../sub/IndepDelayFactorDefineEntity.java | 53 +++ .../IndepDifferentialFactorDefineEntity.java | 53 +++ .../jpa/repository/FactorTypeRepository.java | 10 - .../engine/st/service/FactorTypeService.java | 8 - .../service/impl/FactorTypeServiceImpl.java | 12 - .../engine/st/support/FormulaConverter.java | 14 + .../io/sc/engine/st/support/FormulaUtil.java | 32 ++ .../java/io/sc/engine/st/vo/FactorTypeVo.java | 62 ---- .../java/io/sc/engine/st/vo/FactorVo.java | 74 ----- .../vo/sub/IndepArithmeticFactorDefineVo.java | 15 + .../src/views/FormElements.vue | 313 ++++++++++++++---- .../src/views/FormElements.vue | 281 ++++++++++++++-- 19 files changed, 716 insertions(+), 489 deletions(-) create mode 100644 io.sc.algorithm.weka/gradle.properties create mode 100644 io.sc.algorithm.weka/src/main/resources/house.arff delete mode 100644 io.sc.engine.st.frontend/src/views/factor-type/FactorType.vue delete mode 100644 io.sc.engine.st/src/main/java/io/sc/engine/st/controller/FactorTypeWebController.java delete mode 100644 io.sc.engine.st/src/main/java/io/sc/engine/st/controller/FactorWebController.java create mode 100644 io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/entity/sub/IndepArithmeticFactorDefineEntity.java create mode 100644 io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/entity/sub/IndepDelayFactorDefineEntity.java create mode 100644 io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/entity/sub/IndepDifferentialFactorDefineEntity.java delete mode 100644 io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/repository/FactorTypeRepository.java delete mode 100644 io.sc.engine.st/src/main/java/io/sc/engine/st/service/FactorTypeService.java delete mode 100644 io.sc.engine.st/src/main/java/io/sc/engine/st/service/impl/FactorTypeServiceImpl.java create mode 100644 io.sc.engine.st/src/main/java/io/sc/engine/st/support/FormulaConverter.java create mode 100644 io.sc.engine.st/src/main/java/io/sc/engine/st/support/FormulaUtil.java delete mode 100644 io.sc.engine.st/src/main/java/io/sc/engine/st/vo/FactorTypeVo.java delete mode 100644 io.sc.engine.st/src/main/java/io/sc/engine/st/vo/FactorVo.java create mode 100644 io.sc.engine.st/src/main/java/io/sc/engine/st/vo/sub/IndepArithmeticFactorDefineVo.java diff --git a/gradle.properties b/gradle.properties index df302a19..cc9b6eab 100644 --- a/gradle.properties +++ b/gradle.properties @@ -76,6 +76,7 @@ spring_cloud_version=2021.0.8 spring_security_oauth2_authorization_server_version=0.4.5 spring_statemachine_version=3.2.1 webjars_locator_weblogic_version=0.10 +weka_version=3.8.6 zip4j_version=2.11.5 diff --git a/io.sc.algorithm.weka/gradle.properties b/io.sc.algorithm.weka/gradle.properties new file mode 100644 index 00000000..e69de29b diff --git a/io.sc.algorithm.weka/src/main/resources/house.arff b/io.sc.algorithm.weka/src/main/resources/house.arff new file mode 100644 index 00000000..50c52bab --- /dev/null +++ b/io.sc.algorithm.weka/src/main/resources/house.arff @@ -0,0 +1,17 @@ +@RELATION house + +@ATTRIBUTE houseSize NUMERIC +@ATTRIBUTE lotSize NUMERIC +@ATTRIBUTE bedrooms NUMERIC +@ATTRIBUTE granite NUMERIC +@ATTRIBUTE bathroom NUMERIC +@ATTRIBUTE sellingPrice NUMERIC + +@DATA +3529,9191,6,0,0,205000 +3247,10061,5,1,1,224900 +4032,10150,5,0,1,197900 +2397,14156,4,1,0,189900 +2200,9600,4,0,1,195000 +3536,19994,6,1,1,325000 +2983,9365,5,0,1,230000 diff --git a/io.sc.engine.st.frontend/src/views/factor-type/FactorType.vue b/io.sc.engine.st.frontend/src/views/factor-type/FactorType.vue deleted file mode 100644 index 5fad588a..00000000 --- a/io.sc.engine.st.frontend/src/views/factor-type/FactorType.vue +++ /dev/null @@ -1,188 +0,0 @@ - - diff --git a/io.sc.engine.st/src/main/java/io/sc/engine/st/controller/FactorTypeWebController.java b/io.sc.engine.st/src/main/java/io/sc/engine/st/controller/FactorTypeWebController.java deleted file mode 100644 index b46f6041..00000000 --- a/io.sc.engine.st/src/main/java/io/sc/engine/st/controller/FactorTypeWebController.java +++ /dev/null @@ -1,15 +0,0 @@ -package io.sc.engine.st.controller; - -import io.sc.engine.st.jpa.entity.FactorTypeEntity; -import io.sc.engine.st.jpa.repository.FactorTypeRepository; -import io.sc.engine.st.service.FactorTypeService; -import io.sc.engine.st.vo.FactorTypeVo; -import io.sc.platform.mvc.controller.support.RestCrudController; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController("io.sc.engine.st.controller.FactorTypeWebController") -@RequestMapping("/api/st/factorType") -public class FactorTypeWebController extends RestCrudController { - -} diff --git a/io.sc.engine.st/src/main/java/io/sc/engine/st/controller/FactorWebController.java b/io.sc.engine.st/src/main/java/io/sc/engine/st/controller/FactorWebController.java deleted file mode 100644 index f03aa04d..00000000 --- a/io.sc.engine.st/src/main/java/io/sc/engine/st/controller/FactorWebController.java +++ /dev/null @@ -1,15 +0,0 @@ -package io.sc.engine.st.controller; - -import io.sc.engine.st.jpa.entity.FactorEntity; -import io.sc.engine.st.jpa.repository.FactorRepository; -import io.sc.engine.st.service.FactorService; -import io.sc.engine.st.vo.FactorVo; -import io.sc.platform.mvc.controller.support.RestCrudController; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController("io.sc.engine.st.controller.FactorWebController") -@RequestMapping("/api/st/factor") -public class FactorWebController extends RestCrudController { - -} diff --git a/io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/entity/sub/IndepArithmeticFactorDefineEntity.java b/io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/entity/sub/IndepArithmeticFactorDefineEntity.java new file mode 100644 index 00000000..5a18cd94 --- /dev/null +++ b/io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/entity/sub/IndepArithmeticFactorDefineEntity.java @@ -0,0 +1,42 @@ +package io.sc.engine.st.jpa.entity.sub; + +import io.sc.engine.st.jpa.entity.IndepFactorDefineEntity; +import io.sc.engine.st.jpa.entity.IndepFactorEntity; +import io.sc.engine.st.vo.IndepFactorDefineVo; +import io.sc.engine.st.vo.sub.IndepArithmeticFactorDefineVo; + +import javax.persistence.Column; +import javax.persistence.DiscriminatorValue; +import javax.persistence.Entity; + +/** + * 算术运算自变量定义实体类 + */ +@Entity +@DiscriminatorValue("EXTEND_ARITHMETIC") +public class IndepArithmeticFactorDefineEntity extends IndepFactorDefineEntity { + // 算术公式 + @Column(name="ARITHMETIC_FORMULA_", length=1024) + protected String formula; + + @Override + public IndepFactorDefineVo toVo() { + IndepArithmeticFactorDefineVo vo =new IndepArithmeticFactorDefineVo(); + super.toVo(vo); + vo.setFormula(this.getFormula()); + return vo; + } + + public IndepArithmeticFactorDefineEntity(){} + public IndepArithmeticFactorDefineEntity(String id){ + this.id =id; + } + + public String getFormula() { + return formula; + } + + public void setFormula(String formula) { + this.formula = formula; + } +} diff --git a/io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/entity/sub/IndepDelayFactorDefineEntity.java b/io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/entity/sub/IndepDelayFactorDefineEntity.java new file mode 100644 index 00000000..38286600 --- /dev/null +++ b/io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/entity/sub/IndepDelayFactorDefineEntity.java @@ -0,0 +1,53 @@ +package io.sc.engine.st.jpa.entity.sub; + +import io.sc.engine.st.jpa.entity.IndepFactorDefineEntity; +import io.sc.engine.st.vo.IndepFactorDefineVo; +import io.sc.engine.st.vo.sub.IndepDelayFactorDefineVo; + +import javax.persistence.*; + +/** + * 滞后运算自变量定义实体类 + */ +@Entity +@DiscriminatorValue("EXTEND_DELAY") +public class IndepDelayFactorDefineEntity extends IndepFactorDefineEntity { + // 滞后自变量定义 + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "DELAY_FACTOR_DEF_ID_") + protected IndepFactorDefineEntity delayFactorDefine; + + // 滞后期数 + @Column(name="DELAY_ISSUE_") + protected Integer delayIssue; + + @Override + public IndepFactorDefineVo toVo() { + IndepDelayFactorDefineVo vo =new IndepDelayFactorDefineVo(); + super.toVo(vo); + vo.setDelayFactorDefine(this.getDelayFactorDefine()==null?null:this.getDelayFactorDefine().getId()); + vo.setDelayIssue(this.getDelayIssue()); + return vo; + } + + public IndepDelayFactorDefineEntity(){} + public IndepDelayFactorDefineEntity(String id){ + this.id =id; + } + + public IndepFactorDefineEntity getDelayFactorDefine() { + return delayFactorDefine; + } + + public void setDelayFactorDefine(IndepFactorDefineEntity delayFactorDefine) { + this.delayFactorDefine = delayFactorDefine; + } + + public Integer getDelayIssue() { + return delayIssue; + } + + public void setDelayIssue(Integer delayIssue) { + this.delayIssue = delayIssue; + } +} diff --git a/io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/entity/sub/IndepDifferentialFactorDefineEntity.java b/io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/entity/sub/IndepDifferentialFactorDefineEntity.java new file mode 100644 index 00000000..1a290c03 --- /dev/null +++ b/io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/entity/sub/IndepDifferentialFactorDefineEntity.java @@ -0,0 +1,53 @@ +package io.sc.engine.st.jpa.entity.sub; + +import io.sc.engine.st.jpa.entity.IndepFactorDefineEntity; +import io.sc.engine.st.vo.IndepFactorDefineVo; +import io.sc.engine.st.vo.sub.IndepDifferentialFactorDefineVo; + +import javax.persistence.*; + +/** + * 差分运算自变量定义实体类 + */ +@Entity +@DiscriminatorValue("EXTEND_DIFFERENTIAL") +public class IndepDifferentialFactorDefineEntity extends IndepFactorDefineEntity { + // 差分自变量定义 + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "DIFFERENTIAL_FACTOR_DEF_ID_") + protected IndepFactorDefineEntity differentialFactorDefine; + + // 差分阶数 + @Column(name="DIFFERENTIAL_DEGREE_") + protected Integer differentialDegree; + + @Override + public IndepFactorDefineVo toVo() { + IndepDifferentialFactorDefineVo vo =new IndepDifferentialFactorDefineVo(); + super.toVo(vo); + vo.setDifferentialFactorDefine(this.getDifferentialFactorDefine()==null?null:this.getDifferentialFactorDefine().getId()); + vo.setDifferentialDegree(this.getDifferentialDegree()); + return vo; + } + + public IndepDifferentialFactorDefineEntity(){} + public IndepDifferentialFactorDefineEntity(String id){ + this.id =id; + } + + public IndepFactorDefineEntity getDifferentialFactorDefine() { + return differentialFactorDefine; + } + + public void setDifferentialFactorDefine(IndepFactorDefineEntity differentialFactorDefine) { + this.differentialFactorDefine = differentialFactorDefine; + } + + public Integer getDifferentialDegree() { + return differentialDegree; + } + + public void setDifferentialDegree(Integer differentialDegree) { + this.differentialDegree = differentialDegree; + } +} diff --git a/io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/repository/FactorTypeRepository.java b/io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/repository/FactorTypeRepository.java deleted file mode 100644 index f47e5faa..00000000 --- a/io.sc.engine.st/src/main/java/io/sc/engine/st/jpa/repository/FactorTypeRepository.java +++ /dev/null @@ -1,10 +0,0 @@ -package io.sc.engine.st.jpa.repository; - -import io.sc.engine.st.jpa.entity.FactorTypeEntity; -import io.sc.platform.orm.repository.DaoRepository; -import org.springframework.stereotype.Service; - -@Service("io.sc.engine.st.jpa.repository.FactorTypeRepository") -public interface FactorTypeRepository extends DaoRepository{ - -} diff --git a/io.sc.engine.st/src/main/java/io/sc/engine/st/service/FactorTypeService.java b/io.sc.engine.st/src/main/java/io/sc/engine/st/service/FactorTypeService.java deleted file mode 100644 index d8857caf..00000000 --- a/io.sc.engine.st/src/main/java/io/sc/engine/st/service/FactorTypeService.java +++ /dev/null @@ -1,8 +0,0 @@ -package io.sc.engine.st.service; - -import io.sc.engine.st.jpa.entity.FactorTypeEntity; -import io.sc.engine.st.jpa.repository.FactorTypeRepository; -import io.sc.platform.orm.service.DaoService; - -public interface FactorTypeService extends DaoService{ -} diff --git a/io.sc.engine.st/src/main/java/io/sc/engine/st/service/impl/FactorTypeServiceImpl.java b/io.sc.engine.st/src/main/java/io/sc/engine/st/service/impl/FactorTypeServiceImpl.java deleted file mode 100644 index 73dd5ef5..00000000 --- a/io.sc.engine.st/src/main/java/io/sc/engine/st/service/impl/FactorTypeServiceImpl.java +++ /dev/null @@ -1,12 +0,0 @@ -package io.sc.engine.st.service.impl; - -import io.sc.engine.st.jpa.entity.FactorTypeEntity; -import io.sc.engine.st.jpa.repository.FactorTypeRepository; -import io.sc.engine.st.service.FactorTypeService; -import io.sc.platform.orm.service.impl.DaoServiceImpl; -import org.springframework.stereotype.Service; - -@Service("io.sc.engine.st.service.impl.FactorTypeServiceImpl") -public class FactorTypeServiceImpl extends DaoServiceImpl implements FactorTypeService { - -} diff --git a/io.sc.engine.st/src/main/java/io/sc/engine/st/support/FormulaConverter.java b/io.sc.engine.st/src/main/java/io/sc/engine/st/support/FormulaConverter.java new file mode 100644 index 00000000..1ebf8050 --- /dev/null +++ b/io.sc.engine.st/src/main/java/io/sc/engine/st/support/FormulaConverter.java @@ -0,0 +1,14 @@ +package io.sc.engine.st.support; + +import org.springframework.util.StringUtils; + +public class FormulaConverter { + public static String convert(String expression){ + if(!StringUtils.hasText(expression)){ + return null; + } + // Math. -> T(java.lang.Math). + String r =expression.replaceAll("Math\\.","T(java.lang.Math)."); + return r; + } +} diff --git a/io.sc.engine.st/src/main/java/io/sc/engine/st/support/FormulaUtil.java b/io.sc.engine.st/src/main/java/io/sc/engine/st/support/FormulaUtil.java new file mode 100644 index 00000000..4d255ca1 --- /dev/null +++ b/io.sc.engine.st/src/main/java/io/sc/engine/st/support/FormulaUtil.java @@ -0,0 +1,32 @@ +package io.sc.engine.st.support; + + +import org.springframework.util.StringUtils; + +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class FormulaUtil { + private static final String PLACE_HOLDER_REGEX ="(\\$\\{(.+?)\\})"; //${xxxx} + private static final Pattern PLACE_HOLDER_REGEX_PATTERN =Pattern.compile("(\\$\\{(.+?)\\})"); //${xxxx} + + public static List extractVariableNames(String expression){ + if(!StringUtils.hasText(expression)){ + return Collections.emptyList(); + } + Matcher matcher =PLACE_HOLDER_REGEX_PATTERN.matcher(expression); + List names =new ArrayList<>(); + while (matcher.find()) { + names.add(matcher.group(2)); + } + return names; + } + + public static String getGroovyScript(String expression){ + if(!StringUtils.hasText(expression)){ + return null; + } + return expression.replaceAll(PLACE_HOLDER_REGEX,"$2"); + } +} diff --git a/io.sc.engine.st/src/main/java/io/sc/engine/st/vo/FactorTypeVo.java b/io.sc.engine.st/src/main/java/io/sc/engine/st/vo/FactorTypeVo.java deleted file mode 100644 index 72b1c25b..00000000 --- a/io.sc.engine.st/src/main/java/io/sc/engine/st/vo/FactorTypeVo.java +++ /dev/null @@ -1,62 +0,0 @@ -package io.sc.engine.st.vo; - -import io.sc.engine.st.enums.PeriodType; -import io.sc.engine.st.enums.ValueType; -import io.sc.platform.orm.api.vo.CorporationAuditorVo; - -public class FactorTypeVo extends CorporationAuditorVo { - protected String id; - protected String code; - protected String name; - protected String description; - protected PeriodType periodType; - protected ValueType valueType; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getCode() { - return code; - } - - public void setCode(String code) { - this.code = code; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public PeriodType getPeriodType() { - return periodType; - } - - public void setPeriodType(PeriodType periodType) { - this.periodType = periodType; - } - - public ValueType getValueType() { - return valueType; - } - - public void setValueType(ValueType valueType) { - this.valueType = valueType; - } -} diff --git a/io.sc.engine.st/src/main/java/io/sc/engine/st/vo/FactorVo.java b/io.sc.engine.st/src/main/java/io/sc/engine/st/vo/FactorVo.java deleted file mode 100644 index bf4d6d7a..00000000 --- a/io.sc.engine.st/src/main/java/io/sc/engine/st/vo/FactorVo.java +++ /dev/null @@ -1,74 +0,0 @@ -package io.sc.engine.st.vo; - -import io.sc.engine.st.enums.PeriodType; -import io.sc.engine.st.enums.ValueType; -import io.sc.platform.orm.api.vo.CorporationAuditorVo; - -import javax.persistence.Column; -import javax.validation.constraints.Size; - -public class FactorVo extends CorporationAuditorVo { - protected String id; - protected Integer year; - protected Integer quarter; - protected Integer month; - protected Integer day; - protected String value; - protected String factorType; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public Integer getYear() { - return year; - } - - public void setYear(Integer year) { - this.year = year; - } - - public Integer getQuarter() { - return quarter; - } - - public void setQuarter(Integer quarter) { - this.quarter = quarter; - } - - public Integer getMonth() { - return month; - } - - public void setMonth(Integer month) { - this.month = month; - } - - public Integer getDay() { - return day; - } - - public void setDay(Integer day) { - this.day = day; - } - - public String getValue() { - return value; - } - - public void setValue(String value) { - this.value = value; - } - - public String getFactorType() { - return factorType; - } - - public void setFactorType(String factorType) { - this.factorType = factorType; - } -} diff --git a/io.sc.engine.st/src/main/java/io/sc/engine/st/vo/sub/IndepArithmeticFactorDefineVo.java b/io.sc.engine.st/src/main/java/io/sc/engine/st/vo/sub/IndepArithmeticFactorDefineVo.java new file mode 100644 index 00000000..37143bd4 --- /dev/null +++ b/io.sc.engine.st/src/main/java/io/sc/engine/st/vo/sub/IndepArithmeticFactorDefineVo.java @@ -0,0 +1,15 @@ +package io.sc.engine.st.vo.sub; + +import io.sc.engine.st.vo.IndepFactorDefineVo; + +public class IndepArithmeticFactorDefineVo extends IndepFactorDefineVo { + protected String formula; + + public String getFormula() { + return formula; + } + + public void setFormula(String formula) { + this.formula = formula; + } +} diff --git a/io.sc.platform.core.frontend/src/views/FormElements.vue b/io.sc.platform.core.frontend/src/views/FormElements.vue index 4241968b..0acf0967 100644 --- a/io.sc.platform.core.frontend/src/views/FormElements.vue +++ b/io.sc.platform.core.frontend/src/views/FormElements.vue @@ -1,75 +1,250 @@ diff --git a/io.sc.platform.core.frontend/template-project/src/views/FormElements.vue b/io.sc.platform.core.frontend/template-project/src/views/FormElements.vue index 0a3de620..0acf0967 100644 --- a/io.sc.platform.core.frontend/template-project/src/views/FormElements.vue +++ b/io.sc.platform.core.frontend/template-project/src/views/FormElements.vue @@ -1,41 +1,250 @@