|
|
@ -1,5 +1,10 @@ |
|
|
|
package io.sc.engine.rule.server.model.service.impl; |
|
|
|
|
|
|
|
import io.sc.engine.rule.core.enums.ReplaceMode; |
|
|
|
import io.sc.engine.rule.server.common.service.ParameterAndValueTypeService; |
|
|
|
import io.sc.engine.rule.server.common.service.support.ParameterAndValueType; |
|
|
|
import io.sc.engine.rule.server.common.util.VariableCodeAndNameReplacer; |
|
|
|
import io.sc.engine.rule.server.model.entity.ParameterEntity; |
|
|
|
import io.sc.engine.rule.server.model.entity.ParameterInOptionAdditionEntity; |
|
|
|
import io.sc.engine.rule.server.model.entity.ParameterInOptionItemEntity; |
|
|
|
import io.sc.engine.rule.server.model.repository.ParameterInOptionAdditionRepository; |
|
|
@ -12,14 +17,17 @@ import io.sc.platform.orm.service.support.QueryParameter; |
|
|
|
import io.sc.platform.orm.service.support.QueryResult; |
|
|
|
import io.sc.platform.orm.service.support.criteria.impl.Equals; |
|
|
|
import io.sc.platform.orm.util.EntityVoUtil; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.data.domain.Page; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
import java.util.List; |
|
|
|
import java.util.Locale; |
|
|
|
|
|
|
|
@Service("io.sc.engine.rule.server.model.service.impl.ParameterInOptionAdditionServiceImpl") |
|
|
|
public class ParameterInOptionAdditionServiceImpl extends DaoServiceImpl<ParameterInOptionAdditionEntity, String, ParameterInOptionAdditionRepository> implements ParameterInOptionAdditionService { |
|
|
|
@Autowired private ParameterAndValueTypeService parameterAndValueTypeService; |
|
|
|
|
|
|
|
@Override |
|
|
|
public Page<ParameterInOptionAdditionVo> findByParameterId(String parameterId, QueryParameter queryParameter) throws Exception { |
|
|
@ -28,7 +36,14 @@ public class ParameterInOptionAdditionServiceImpl extends DaoServiceImpl<Paramet |
|
|
|
equalsCriteria.setValue(parameterId); |
|
|
|
|
|
|
|
queryParameter.addCriteria(equalsCriteria); |
|
|
|
return EntityVoUtil.toVo(super.query(queryParameter)); |
|
|
|
|
|
|
|
Page<ParameterInOptionAdditionEntity> entities =super.query(queryParameter); |
|
|
|
//获取代码和名称的映射表
|
|
|
|
ParameterAndValueType parameterAndValueType =parameterAndValueTypeService.findByParameterId(parameterId, Locale.getDefault()); |
|
|
|
//将名称替换为代码
|
|
|
|
VariableCodeAndNameReplacer.replace(entities.getContent(), parameterAndValueType, ReplaceMode.CODE_TO_NAME); |
|
|
|
|
|
|
|
return EntityVoUtil.toVo(entities); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@ -41,13 +56,35 @@ public class ParameterInOptionAdditionServiceImpl extends DaoServiceImpl<Paramet |
|
|
|
entity.setOrder(1); |
|
|
|
} |
|
|
|
normalize(entity); |
|
|
|
return super.add(entity); |
|
|
|
//获取代码和名称的映射表
|
|
|
|
ParameterAndValueType parameterAndValueType =parameterAndValueTypeService.findByParameterId(entity.getParameter().getId(), Locale.getDefault()); |
|
|
|
//将名称替换为代码
|
|
|
|
VariableCodeAndNameReplacer.replace(entity, parameterAndValueType, ReplaceMode.NAME_TO_CODE); |
|
|
|
ParameterInOptionAdditionEntity newEntity =super.add(entity); |
|
|
|
//由于数据库中存储的是参数的代码,而界面显示的是参数的名称,为了能上新增的实体能够在界面正确显示名称,需要进行代码到名称的替换
|
|
|
|
if (newEntity != null) { |
|
|
|
ParameterInOptionAdditionEntity clone = (ParameterInOptionAdditionEntity) newEntity.deepClone(); |
|
|
|
VariableCodeAndNameReplacer.replace(clone, parameterAndValueType, ReplaceMode.CODE_TO_NAME); |
|
|
|
return clone; |
|
|
|
} |
|
|
|
return null; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public ParameterInOptionAdditionEntity update(String s, ParameterInOptionAdditionEntity entity) throws Exception { |
|
|
|
normalize(entity); |
|
|
|
return super.update(s, entity); |
|
|
|
//获取代码和名称的映射表
|
|
|
|
ParameterAndValueType parameterAndValueType =parameterAndValueTypeService.findByParameterId(entity.getParameter().getId(), Locale.getDefault()); |
|
|
|
//将名称替换为代码
|
|
|
|
VariableCodeAndNameReplacer.replace(entity, parameterAndValueType, ReplaceMode.NAME_TO_CODE); |
|
|
|
ParameterInOptionAdditionEntity newEntity =super.update(s, entity); |
|
|
|
//由于数据库中存储的是参数的代码,而界面显示的是参数的名称,为了能上新增的实体能够在界面正确显示名称,需要进行代码到名称的替换
|
|
|
|
if (newEntity != null) { |
|
|
|
ParameterInOptionAdditionEntity clone = (ParameterInOptionAdditionEntity) newEntity.deepClone(); |
|
|
|
VariableCodeAndNameReplacer.replace(clone, parameterAndValueType, ReplaceMode.CODE_TO_NAME); |
|
|
|
return clone; |
|
|
|
} |
|
|
|
return null; |
|
|
|
} |
|
|
|
|
|
|
|
private void normalize(ParameterInOptionAdditionEntity entity){ |
|
|
|