xieb
2023-07-06 02f8745d82ade8b5650aec51556e0c2e72f9b29c
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/feign/RulesClient.java
@@ -5,10 +5,13 @@
import cn.gistack.sm.resDataCheck.service.IQualityManageService;
import cn.gistack.sm.resDataCheck.service.IRulesConditionService;
import cn.gistack.sm.resDataCheck.service.IRulesService;
import com.alibaba.fastjson.JSON;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
@@ -24,6 +27,7 @@
@ApiIgnore
@RestController
@AllArgsConstructor
@Slf4j
public class RulesClient implements IRulesClient {
   private IRulesService rulesService;
@@ -61,40 +65,40 @@
      String retStr = "-1";
      switch (key) {
         case "GREATER": //大于
            retStr = " > " + target;
            retStr = " > " + target;
            break;
         case "GREATER_EQUAL": //大于等于
            retStr = " >= " + target;
            retStr = " >= " + target;
            break;
         case "EQUAL": //等于
            retStr = " = " + target;
            break;
         case "LESS_EQUAL": //小于等于
            retStr = " <= " + target;
            retStr = " <= " + target;
            break;
         case "LESS":  //小于
            retStr = " &lt; " + target;
            retStr = " < " + target;
            break;
         case "UNEQUAL": //不等于
            retStr = " &lt;&gt; " + target;
            retStr = " <> " + target;
            break;
         case "DIFFER_GRATER": //差值大于
            retStr = " - " + target + " &gt; " + val;
            retStr = " - " + target + " > " + val;
            break;
         case "DIFFER_GRATER_EQUAL": //差值大于等于
            retStr = " - " + target + " &gt;= " + val;
            retStr = " - " + target + " >= " + val;
            break;
         case "DIFFER_EQUAL": //差值等于
            retStr = " - " + target + " = " + val;
            break;
         case "DIFFER_LESS_EQUAL": //差值小于等于
            retStr = " - " + target + " &lt; " + val;
            retStr = " - " + target + " < " + val;
            break;
         case "DIFFER_LESS": //差值小于
            retStr = " - " + target + " &lt;= " + val;
            retStr = " - " + target + " <= " + val;
            break;
         case "DIFFER_UNEQUAL": //差值不等于
            retStr = " - " + target + " &lt;&gt; " + val;
            retStr = " - " + target + " <> " + val;
            break;
      }
      return retStr;
@@ -110,22 +114,22 @@
      String retStr = "-1";
      switch (key) {
         case "GREATER": //大于
            retStr = " &gt; " + val;
            retStr = " > " + val;
            break;
         case "GREATER_EQUAL": //大于等于
            retStr = " &gt;= " + val;
            retStr = " >= " + val;
            break;
         case "EQUAL": //等于
            retStr = " = " + val;
            break;
         case "LESS_EQUAL": //小于等于
            retStr = " &lt;= " + val;
            retStr = " <= " + val;
            break;
         case "LESS":  //小于
            retStr = " &lt; " + val;
            retStr = " < " + val;
            break;
         case "UNEQUAL": //不等于
            retStr = " &lt;&gt; " + val;
            retStr = " <> " + val;
            break;
      }
      return retStr;
@@ -202,6 +206,7 @@
   @Override
   public R createDataRules(Long id) {
      log.info("规则匹配中......");
      // 获取规则对象  返回值有关联水库,只匹配关联水库,为空表示匹配所有水库
      Rules rules = rulesService.getById(id);
@@ -221,7 +226,7 @@
         } else if (rc.getRelation().equals("OR")) {
            relation = " OR ";
         } else {
            relation = "";
            relation = " WHERE ";
         }
         sqlStr += relation + getPropSqlStr(rc.getBasic());
@@ -237,11 +242,26 @@
      }
      if (StringUtil.isNotBlank(rules.getIsGate())) {
         sqlStr += "a.\"is_gate\" = " + rules.getIsGate();
      }
      // 拼接条件有问题,不操作
      if (sqlStr.indexOf("-1") > 0) {
         log.info("查询条件错误,请检查规则设置......:",sqlStr);
         return R.fail(-1,sqlStr + "\\n 查询条件错误,请检查规则设置");
      }
      try {
         qualityManageService.addQualityManage(id,sqlStr);
      } catch (Exception e) {
         e.printStackTrace();
         log.info("查询条件错误,请检查规则设置......:",sqlStr);
      } finally {
         log.info("执行完成......:");
      }
      // 执行sql
      return R.data(qualityManageService.addQualityManage(id,sqlStr));
      return R.success("");
   }
}