123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268 |
- package com.yihu.quota.etl;
- import org.joda.time.DateTime;
- import org.springframework.util.StringUtils;
- import java.text.SimpleDateFormat;
- import java.time.LocalDate;
- import java.time.format.DateTimeFormatter;
- import java.util.Calendar;
- import java.util.Date;
- /**
- * Created by chenweida on 2017/6/1.
- */
- public class Contant {
- //抽取数据的开始时间
- public static String startTime = "${start_time}";
- //抽取数据的结束时间
- public static String endTime = "${end_time}";
- //数据库类型
- public static class db_type {
- public static String oracle = "oracle";
- public static String mysql = "mysql";
- }
- /**
- * DateModel的map的key常量
- */
- public static class extract {
- public static final String computeKey1 = "oneKey";
- public static final String computeKey2 = "senondKey";
- }
- /**
- * 运算常量
- */
- public static class compute {
- public static final String add = "1"; //累加
- public static final String division = "2"; //相除
- public static final int perCount = 20000;//单位统计量
- }
- /**
- * 主维度常量
- */
- public static class main_dimension {
- public static final String time_day = "1";//时间维度 日
- public static final String time_week = "2";//时间维度 周
- public static final String time_month = "3";//时间维度 月
- public static final String time_year = "4";//时间维度 年
- public static final String area_province = "5";//行政区划 省
- public static final String area_city = "6";//行政区划 市
- public static final String area_town = "7";//行政区划 区县
- public static final String area_org = "8";//行政区划 机构
- public static final String area_dept = "9";//科室
- }
- public static class quota {
- public static final String dataLevel_all = "1"; // 全量
- public static final String dataLevel_increase = "2"; // 增量
- public static final String aggregation_count = "count";
- public static final String aggregation_sum = "sum";
- public static final String aggregation_list = "list";
- public static final String aggregation_distinct = "distinct"; // 去重
- }
- /**
- * areaLevel 具体的值
- */
- public static class main_dimension_areaLevel {
- public static final String area_province = "1";//行政区划 省
- public static final String area_city = "2";//行政区划 市
- public static final String area_town = "3";//行政区划 区县
- public static final String area_org = "4";//行政区划 机构
- public static final String area_dept = "5";//行政区划 科室
- public static String getAreaLevelByMainDimension(String key) {
- switch (key) {
- case main_dimension.area_province: {
- return area_province;
- }
- case main_dimension.area_city: {
- return area_city;
- }
- case main_dimension.area_town: {
- return area_town;
- }
- case main_dimension.area_org: {
- return area_org;
- }
- case main_dimension.area_dept: {
- return area_dept;
- }
- }
- return "";
- }
- }
- /**
- * 主维度 时间维度
- */
- public static class main_dimension_timeLevel {
- public static final String year = "1";
- public static final String month = "2";
- public static final String week = "3";
- public static final String day = "4";
- public static String getStartTime(String key) {
- LocalDate today = LocalDate.now();
- if (StringUtils.isEmpty(key)) {
- key = day;
- }
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'00:00:00'Z'");
- 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);
- }
- /**
- * 获取上个月第一天
- *
- * @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'T'00:00:00'Z'");
- }
- }
- public static class save_status {
- public static final String success = "1";
- public static final String fail = "0";
- public static final String executing = "2";
- }
- 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_1_name="0~6";
- public static String level_age_2_name="7~17";
- public static String level_age_3_name="18~40";
- public static String level_age_4_name="41~65";
- public static String level_age_5_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 * * ?";
- }
- public static class orgHealthTypeCode {
- public static final String hospital = "hospital"; //医院卫生机构
- public static final String basicMedical = "basic_medical"; //基层医疗卫生机构
- public static final String pro_public = "pro_public";//专业公共卫生机构
- public static final String other = "other";//其他医疗卫生机构
- public static final String hospital_Id = "13"; //医院卫生机构
- public static final String basicMedical_Id = "57"; //基层医疗卫生机构
- public static final String pro_public_Id = "94";//专业公共卫生机构
- public static final String other_Id = "134";//其他医疗卫生机构
- }
- }
|