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;
                }
            }
    
        }
  • 相关阅读:
    java基础英语---第二天
    树莓派的版本
    Linux系统下安装.deb文件
    在Raspberry上安装ROS
    树莓派文件权限的转换
    树莓派中Linux的相关命令
    raspberry连接ssh和vnc
    链表的建立及释放
    一些小细节问题
    关于构建二维动态内存(堆)及释放
  • 原文地址:https://www.cnblogs.com/zzq-include/p/12640951.html
Copyright © 2011-2022 走看看