| 
					
				 | 
			
			
				@ -1,7 +1,15 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.quota.etl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.joda.time.DateTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.text.SimpleDateFormat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.time.LocalDate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.time.ZoneId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.time.format.DateTimeFormatter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.time.temporal.TemporalAccessor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.time.temporal.TemporalField; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.time.temporal.WeekFields; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Created by chenweida on 2017/6/1. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -50,9 +58,9 @@ public class Contant { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static final String area_team = "9";//行政区划  团队 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static class quota{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static final String dataLeval_all="1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static final String dataLeval_oneDay="2"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static class quota { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static final String dataLeval_all = "1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static final String dataLeval_oneDay = "2"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -88,6 +96,10 @@ public class Contant { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static void main(String[] args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        System.out.println(main_dimension_timeLevel.getStartTime("1")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 主维度 时间维度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -96,52 +108,129 @@ public class Contant { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static final String month = "2"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static final String week = "3"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static final String day = "4"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 从维度常量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static class slave_dimension { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static final String sex = "1";//性别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static final String age = "2";//年龄段 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static String getStartTime(String key) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            LocalDate today = LocalDate.now(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            switch (key) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                case year: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //去年度第一天 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    return simpleDateFormat.format(getCurrYearFirst(-1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                case month: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //上个月第一天 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    return getYesterMonthDay(simpleDateFormat, -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                case week: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //上周周第一天 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    return getStartDayOfWeek(simpleDateFormat, -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                case day: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //昨天 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    return getYesterday(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return getYesterday(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * 获取这个月第一天 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * @param today 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        private static String getCurrentMonthDay(LocalDate today) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            LocalDate firstday = LocalDate.of(today.getYear(), today.getMonth(), 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return firstday.format(DateTimeFormatter.ISO_DATE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static class slave_dimension_key { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static final String one = "one"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static final String two = "two"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * 获取上个月第一天 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        private static String getYesterMonthDay(SimpleDateFormat simpleDateFormat, Integer n) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Calendar calendar = Calendar.getInstance(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            int month = calendar.get(Calendar.MONTH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            calendar.set(Calendar.MONTH, month + n); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Date strDateTo = calendar.getTime(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return simpleDateFormat.format(strDateTo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * 获取本周第一天 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * @param simpleDateFormat 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * @param n                为推迟的周数,1本周,-1向前推迟一周,2下周,依次类推 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        private static String getStartDayOfWeek(SimpleDateFormat simpleDateFormat, Integer n) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Calendar cal = Calendar.getInstance(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            cal.add(Calendar.DATE, n * 7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            cal.set(Calendar.HOUR_OF_DAY, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            cal.set(Calendar.MINUTE, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            cal.set(Calendar.SECOND, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Date date = cal.getTime(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return simpleDateFormat.format(date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * 获取去年的第一天 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        private static Date getCurrYearFirst(Integer n) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Calendar currCal = Calendar.getInstance(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            int currentYear = currCal.get(Calendar.YEAR) + n; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return getYearFirst(currentYear); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * 获取某年第一天日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * @param year 年份 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * @return Date 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        private static Date getYearFirst(int year) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Calendar calendar = Calendar.getInstance(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            calendar.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            calendar.set(Calendar.YEAR, year); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Date currYearFirst = calendar.getTime(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return currYearFirst; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * 获取昨天 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        private static String getYesterday() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return new org.joda.time.LocalDate(new DateTime().minusDays(1)).toString("yyyy-MM-dd"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static class save_status { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static final String success = "1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static final String fail = "0"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 数据过滤用到的参量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static class role { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static final String not_null = "1";//非空 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static class save { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static final String es = "1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static final String mysql = "2"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static class convert { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static String level_age_1 = "1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static String level_age_2 = "2"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static String level_age_3 = "3"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static String level_age_4 = "4"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static String level_age_5 = "5"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static String level_age_6 = "6"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static String level_age_1_name = "0~6"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static String level_age_2_name = "7~18"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static String level_age_3_name = "19~30"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static String level_age_4_name = "31~50"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static String level_age_5_name = "51~65"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static String level_age_6_name = ">65"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static class quartz_cron { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //每年 1月1号 0点 0点0秒触发 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static final String everyYearFirstDay = "0 0 0 1 1 ? *"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //每个月1号 0点 0点0秒触发 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static final String everyMonthFirstDay = "0 0 0 1 * ?"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //每周一 0点 0点0秒触发 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static final String everyWeekFirstDay = "0 0 0 ? * MON"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //每天0点0分 0秒触发 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        public static final String everyDay = "0 0 0 * * ?"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |