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;
                }
            }
    
        }
  • 相关阅读:
    Scrapy+Scrapy-redis+Scrapyd+Gerapy 分布式爬虫框架整合
    centos7 安装软件指南
    Kafka--消费者
    Kafka--生产者
    Kafka--初识Kafka
    Kafka--Kafka简述
    NetWork--记一次Http和TLS抓包
    JVM--a == (a = b)基于栈的解释器执行过程
    Java容器--Queue
    Idea--使用Idea调试设置
  • 原文地址:https://www.cnblogs.com/zzq-include/p/12640951.html
Copyright © 2011-2022 走看看