zoukankan      html  css  js  c++  java
  • 虽然垃圾,以后用得到在翻一翻,优化下

     private void processGetPreviousPeriodFunc(Map<String, String> expressionInfo, List<Condition> conditionList) {
            String expressionFunc = expressionInfo.get(this.expression);
            if (expressionFunc != null && expressionFunc.contains("getPreviousPeriod")) {
                String regex = "(getPreviousPeriod\()([\,\+\-\*\/\(\)_A-Za-z0-9\u4e00-\u9fa5\.]+)(,)([0-9]+)";
                Pattern pattern = Pattern.compile(regex);
                Matcher matcher = pattern.matcher(expressionFunc);//getPreviousPeriod(sum(Fields.prime_cost_07),1)
                for (; matcher.find(); ) {
                    String expression = matcher.group(2);
                    String tbAndHbNum = matcher.group(4);//分组字段,1代表同比,2代表环比
                    for (int i = 0; i < conditionList.size(); i++) {
                        Condition condition = conditionList.get(i);
                        if (condition.getDataType().contains("date")) {
                            if (condition.getValues() != null && condition.getValues().size() == 1) {
                                String currDate = condition.getValues().get(0);
                                if ("1".equals(tbAndHbNum)) {//同比
                                    currDate = DateUtil.yearAddNum(currDate, -1);
                                } else if ("2".equals(tbAndHbNum)) {//环比
                                    currDate = DateUtil.monthAddNum(currDate, -1);
                                }
                                condition.getValues().set(0, currDate);
                                condition.setValue(currDate);
                            }
                        }
                    }
    
                    expressionInfo.put(this.expression, expression);
                    return;
                }
            }
    
        }
  • 相关阅读:
    Retrofit的使用
    解决Android Studio在Ubuntu上出现“sdk/platform-tools/adb: error=2, No such file or directory”的方法
    safair浏览器页面局部滑动问题
    App网络测试
    App测试理论简介
    JS -- 流程控制语句
    JS -- DOM(文档对象模型)
    JS -- 操作符和数组
    JS -- 基础语法1
    JS -- JavaScript简介
  • 原文地址:https://www.cnblogs.com/zzq-include/p/12640951.html
Copyright © 2011-2022 走看看