|
|
@@ -2,27 +2,22 @@ package org.jeecg.modules.medical.service.impl;
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
-import org.jeecg.common.constant.CommonConstant;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.jeecg.modules.medical.Constant;
|
|
|
-import org.jeecg.modules.medical.entity.EventAttr;
|
|
|
import org.jeecg.modules.medical.entity.FactorAttrRela;
|
|
|
import org.jeecg.modules.medical.entity.FactorCondRela;
|
|
|
import org.jeecg.modules.medical.entity.FactorEnchance;
|
|
|
-import org.jeecg.modules.medical.entity.RuleFactorRela;
|
|
|
import org.jeecg.modules.medical.mapper.FactorAttrRelaMapper;
|
|
|
import org.jeecg.modules.medical.mapper.FactorCondRelaMapper;
|
|
|
import org.jeecg.modules.medical.mapper.FactorEnchanceMapper;
|
|
|
-import org.jeecg.modules.medical.mapper.RuleFactorRelaMapper;
|
|
|
-import org.jeecg.modules.medical.service.IFactorCondRelaService;
|
|
|
+import org.jeecg.modules.medical.ruleengine.FactorEnchangeFactory;
|
|
|
+import org.jeecg.modules.medical.ruleengine.SPELUtil;
|
|
|
import org.jeecg.modules.medical.service.IFactorEnchanceService;
|
|
|
-import org.jeecg.modules.system.entity.SysAnnouncementSend;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
-
|
|
|
import javax.annotation.Resource;
|
|
|
-import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
|
@@ -31,6 +26,7 @@ import java.util.List;
|
|
|
* @Date: 2023-04-23
|
|
|
* @Version: V1.0
|
|
|
*/
|
|
|
+@Slf4j
|
|
|
@Service
|
|
|
public class FactorEnchanceServiceImpl extends ServiceImpl<FactorEnchanceMapper, FactorEnchance> implements IFactorEnchanceService {
|
|
|
|
|
|
@@ -38,6 +34,8 @@ public class FactorEnchanceServiceImpl extends ServiceImpl<FactorEnchanceMapper,
|
|
|
FactorCondRelaMapper factorCondRelaMapper;
|
|
|
@Resource
|
|
|
FactorAttrRelaMapper factorAttrRelaMapper;
|
|
|
+ @Autowired
|
|
|
+ SPELUtil spelUtil;
|
|
|
|
|
|
@Override
|
|
|
public Integer saveSqlFactorEnchance(FactorEnchance factorEnchance) {
|
|
|
@@ -88,10 +86,23 @@ public class FactorEnchanceServiceImpl extends ServiceImpl<FactorEnchanceMapper,
|
|
|
QueryWrapper<FactorCondRela> queryWrapper = new QueryWrapper<>();
|
|
|
queryWrapper.eq("factor_enhance_id", factorEnchance.getId());
|
|
|
factorCondRelaMapper.delete(queryWrapper);
|
|
|
- for (FactorCondRela factorCondRela : factorEnchance.getFactorCondRelaList()) {
|
|
|
+ StringBuffer spelStringBu = new StringBuffer();
|
|
|
+ List<FactorCondRela> factorCondRelaList = factorEnchance.getFactorCondRelaList();
|
|
|
+ for (int i = 0, factorCondRelaListSize = factorCondRelaList.size(); i < factorCondRelaListSize; i++) {
|
|
|
+ FactorCondRela factorCondRela = factorCondRelaList.get(i);
|
|
|
factorCondRela.setFactorEnhanceId(factorEnchance.getId());
|
|
|
+ String spelStr = spelUtil.getSPELString(factorCondRela, FactorEnchangeFactory.enchanceAttrMap);
|
|
|
+ log.info("factorCondRela:{}", factorCondRela);
|
|
|
+ log.info("spelStr:{}", spelStr);
|
|
|
+
|
|
|
+ spelStringBu.append(spelStr);
|
|
|
+ if (i < (factorCondRelaListSize - 1)) {
|
|
|
+ spelStringBu.append(factorEnchance.getExtAttr1());
|
|
|
+ }
|
|
|
+ factorCondRela.setCondStr(spelStr);
|
|
|
factorCondRelaMapper.insert(factorCondRela);
|
|
|
}
|
|
|
+ this.lambdaUpdate().set(FactorEnchance::getEnhanceValue, spelStringBu.toString()).eq(FactorEnchance::getId, factorEnchance.getId()).update();
|
|
|
return factorEnchance.getFactorCondRelaList().size();
|
|
|
}
|
|
|
return -1;
|