| | |
| | | throw new RuntimeException("结果表达式不正确"); |
| | | } |
| | | |
| | | |
| | | String fields = ss[0]; |
| | | String compareStr = resultText.substring(fields.length()); |
| | | fields+=" "; |
| | |
| | | res +=c; |
| | | } |
| | | idx++; |
| | | if(kw!=null && !kw.getKeywordType().equals(KeywordType.FUNCTION) && kw.getCode().equals("count") && !c.equals("(")){ |
| | | res+=c; |
| | | if(kw==null || !kw.getKeywordType().equals(KeywordType.FUNCTION) || kw.getFunctionParameterNullable()==null || !kw.getFunctionParameterNullable()){ |
| | | res +=c; |
| | | } |
| | | |
| | | skw=""; |
| | | }else{ |
| | | skw += c; |
| | |
| | | StringBuilder csb = new StringBuilder(); |
| | | String sql = "\"" +this.sql + "\""; |
| | | csb.append(" def " + funcName + "(){\n"); |
| | | csb.append(" Map<String,Object> pars = new HashMap<>();\n"); |
| | | csb.append(" Map<String,Object> pars = super.getSqlParameters();\n"); |
| | | csb.append(" def sql= " +sql + ";\n"); |
| | | |
| | | this.parameters.forEach((k,v)->{ |
| | |
| | | } |
| | | |
| | | throw new RuntimeException("读取字段名称时发生错误"); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | private MatchResult matchLike(String skw,Keyword lkw,int idx){ |
| | | String sub = blockText.getExpression().substring(idx); |
| | |
| | | |
| | | //有几个问号,就要有几个对应的参数 |
| | | Parameter p1 = new Parameter(); |
| | | p1.setName("beginTime"); |
| | | p1.setName("endTime"); |
| | | p1.setScript("LocalDateTime.now()"); |
| | | p1.setTypeName("LocalDateTime"); |
| | | Parameter p2 = new Parameter(); |
| | | p2.setName("endTime"); |
| | | p2.setName("beginTime"); |
| | | p2.setScript("LocalDateTime.now().minusDays("+day+ ")"); |
| | | p2.setTypeName("LocalDateTime"); |
| | | parameters.put(p1.getName(),p1); |
| | |
| | | |
| | | return rs; |
| | | } |
| | | |
| | | |
| | | |
| | | } |