xieb
2023-07-07 454f607f2efd7904b5a997e0bffbbfa0733530c5
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/feign/RulesClient.java
@@ -5,6 +5,7 @@
import cn.gistack.sm.resDataCheck.service.IQualityManageService;
import cn.gistack.sm.resDataCheck.service.IRulesConditionService;
import cn.gistack.sm.resDataCheck.service.IRulesService;
import cn.gistack.system.feign.IDictBizClient;
import com.alibaba.fastjson.JSON;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -36,8 +37,11 @@
   private IQualityManageService qualityManageService;
   private IDictBizClient dictBizClient;
   /**
    * 指标匹配空值
    *
    * @param key condition
    * @return
    */
@@ -56,6 +60,7 @@
   /**
    * 指标对指标匹配
    *
    * @param key condition
    * @param target 指标
    * @param val 值
@@ -106,6 +111,7 @@
   /**
    * 指标对值匹配
    *
    * @param key condition
    * @param val 值
    * @return
@@ -204,6 +210,10 @@
      return retStr;
   }
   private String getDictValue(String key) {
      return dictBizClient.getValue("CON_BASIC", key).getData();
   }
   @Override
   public R createDataRules(Long id) {
      log.info("规则匹配中......");
@@ -218,6 +228,7 @@
      // 开始拼接条件 where
      String sqlStr = "";
      String relation = "";
      String varStr = "";
      for (RulesCondition rc : rcList) {
         // 指标1
@@ -240,10 +251,26 @@
            sqlStr += getConditionSqlStrByVal(rc.getCondition(),rc.getValue());
         }
         // 获取对应规则的值  concat('水库名称:',a."name",'\n','水库注册码:',a."interior_ad_guid")
         if (varStr.indexOf(getPropSqlStr(rc.getBasic())) < 0) {
            if (StringUtil.isBlank(varStr)) {
               varStr =  "'" + getDictValue(rc.getBasic()) + ": " + "'" + "," + getPropSqlStr(rc.getBasic());
            } else {
               varStr += "," + "'\n'" + ",'" + getDictValue(rc.getBasic()) + ": " + "'" + "," + getPropSqlStr(rc.getBasic());
      }
         }
         if (rc.getProp().equals("TARGET")) {
            varStr += "," + "'\n'" + ",'" + getDictValue(rc.getTarget()) + ": " + "'" + "," + getPropSqlStr(rc.getTarget());
         }
      }
      varStr = "concat(" + varStr +") AS val";
      if (StringUtil.isNotBlank(rules.getIsGate())) {
         sqlStr += "a.\"is_gate\" = " + rules.getIsGate();
         sqlStr += " and a.\"is_gate\" = " + rules.getIsGate();
      }
      // 拼接条件有问题,不操作
@@ -252,8 +279,9 @@
         return R.fail(-1,sqlStr + "\\n 查询条件错误,请检查规则设置");
      }
      Integer ret = 0;
      try {
         qualityManageService.addQualityManage(id,sqlStr);
         ret = qualityManageService.addQualityManage(id, varStr, sqlStr);
      } catch (Exception e) {
         e.printStackTrace();
         log.info("查询条件错误,请检查规则设置......:",sqlStr);
@@ -262,6 +290,6 @@
      }
      // 执行sql
      return R.success("");
      return R.data(ret);
   }
}