From ec4d5f11af4f4d9e1049204f6d944e357ecba4ce Mon Sep 17 00:00:00 2001 From: wxz Date: Thu, 18 Jun 2020 15:30:05 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=E6=8C=89=E5=AD=A3=E5=BA=A6?= =?UTF-8?q?=E7=BB=B4=E5=BA=A6=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/utils/DateUtils.java | 94 ++++++++++---- .../com/epmet/controller/DimController.java | 15 ++- .../com/epmet/dao/stats/DimAgencyDao.java | 2 + .../com/epmet/dao/stats/DimCustomerDao.java | 2 + .../com/epmet/dao/stats/DimDepartmentDao.java | 2 +- .../service/stats/DimQuarterService.java | 2 + .../stats/impl/DimAgencyServiceImpl.java | 3 +- .../stats/impl/DimCustomerServiceImpl.java | 2 +- .../stats/impl/DimDateServiceImpl.java | 3 +- .../stats/impl/DimDepartmentServiceImpl.java | 3 +- .../stats/impl/DimMonthServiceImpl.java | 3 +- .../stats/impl/DimQuarterServiceImpl.java | 115 +++++++++++++++++- .../resources/mapper/stats/DimAgencyDao.xml | 6 + .../resources/mapper/stats/DimCustomerDao.xml | 4 + .../mapper/stats/DimDepartmentDao.xml | 8 +- 15 files changed, 228 insertions(+), 36 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java index 2887ed1adf..d23d021799 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java @@ -1,8 +1,8 @@ /** * Copyright (c) 2018 人人开源 All rights reserved. - * + *

* https://www.renren.io - * + *

* 版权所有,侵权必究! */ @@ -16,8 +16,7 @@ import org.joda.time.format.DateTimeFormatter; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; +import java.util.*; /** * 日期处理工具类 @@ -27,12 +26,18 @@ import java.util.Date; */ public class DateUtils { - /** 时间格式(yyyy-MM-dd) */ - public final static String DATE_PATTERN = "yyyy-MM-dd"; - /** 时间格式(yyyy-MM-dd HH:mm:ss) */ - public final static String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; + /** 季度月份列表 */ + public static final List Q1Months = Arrays.asList(1, 2, 3); + public static final List Q2Months = Arrays.asList(4, 5, 6); + public static final List Q3Months = Arrays.asList(7, 8, 9); + public static final List Q4Months = Arrays.asList(10, 11, 12); + + /** 时间格式(yyyy-MM-dd) */ + public final static String DATE_PATTERN = "yyyy-MM-dd"; + /** 时间格式(yyyy-MM-dd HH:mm:ss) */ + public final static String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; /** 时间格式(yyyyMMddHHmmss) */ - public final static String DATE_TIME_NO_SPLIT = "yyyyMMddHHmmss"; + public final static String DATE_TIME_NO_SPLIT = "yyyyMMddHHmmss"; /** 时间格式(yyyy-MM-dd HH:mm) */ public final static String DATE_TIME_PATTERN_END_WITH_MINUTE = "yyyy-MM-dd HH:mm"; @@ -48,9 +53,9 @@ public class DateUtils { /** * 日期格式化 日期格式为:yyyy-MM-dd * @param date 日期 - * @return 返回yyyy-MM-dd格式日期 + * @return 返回yyyy-MM-dd格式日期 */ - public static String format(Date date) { + public static String format(Date date) { return format(date, DATE_PATTERN); } @@ -58,10 +63,10 @@ public class DateUtils { * 日期格式化 日期格式为:yyyy-MM-dd * @param date 日期 * @param pattern 格式,如:DateUtils.DATE_TIME_PATTERN - * @return 返回yyyy-MM-dd格式日期 + * @return 返回yyyy-MM-dd格式日期 */ public static String format(Date date, String pattern) { - if(date != null){ + if (date != null) { SimpleDateFormat df = new SimpleDateFormat(pattern); return df.format(date); } @@ -72,7 +77,7 @@ public class DateUtils { * 日期解析 * @param date 日期 * @param pattern 格式,如:DateUtils.DATE_TIME_PATTERN - * @return 返回Date + * @return 返回Date */ public static Date parse(String date, String pattern) { try { @@ -89,7 +94,7 @@ public class DateUtils { * @param pattern 日期的格式,如:DateUtils.DATE_TIME_PATTERN */ public static Date stringToDate(String strDate, String pattern) { - if (StringUtils.isBlank(strDate)){ + if (StringUtils.isBlank(strDate)) { return null; } @@ -100,7 +105,7 @@ public class DateUtils { /** * 根据周数,获取开始日期、结束日期 * @param week 周期 0本周,-1上周,-2上上周,1下周,2下下周 - * @return 返回date[0]开始日期、date[1]结束日期 + * @return 返回date[0]开始日期、date[1]结束日期 */ public static Date[] getWeekStartAndEnd(int week) { DateTime dateTime = new DateTime(); @@ -205,8 +210,8 @@ public class DateUtils { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); - String[] chineseWeekDayName = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" }; - String[] englishWeekDayName = { "Sunday", "Monday","Tuesday","Wednesday","Thursday","Friday","Saturday" }; + String[] chineseWeekDayName = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}; + String[] englishWeekDayName = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; String weekDayName; switch (type) { @@ -265,22 +270,65 @@ public class DateUtils { public static int getQuarterIndex(Date date) { LocalDate localDate = new LocalDate(date); int monthOfYear = localDate.getMonthOfYear(); - if (monthOfYear == 1 || monthOfYear == 2 || monthOfYear == 3) { + if (Q1Months.contains(monthOfYear)) { return 1; } - if (monthOfYear == 4 || monthOfYear == 5 || monthOfYear == 6) { + if (Q2Months.contains(monthOfYear)) { return 2; } - if (monthOfYear == 7 || monthOfYear == 8 || monthOfYear == 9) { + if (Q3Months.contains(monthOfYear)) { return 3; } return 4; } + /** + * 根据季度查询季度的月份列表 + * @param quarterIndex + * @return + */ + public static List getMonthsByQuarterIndex(Integer quarterIndex) { + switch (quarterIndex) { + case 1: + return Q1Months; + case 2: + return Q2Months; + case 3: + return Q3Months; + default: + return Q4Months; + } + } + + /** + * 获取季度的开始date + * @param year + * @param quarterIndex + * @return + */ + public static Date getQuarterStartDate(String year, Integer quarterIndex) { + List months = getMonthsByQuarterIndex(quarterIndex); + String yyyyMM = year.concat(String.format("%02d", months.get(0))); + return DateUtils.parse(yyyyMM, DateUtils.DATE_PATTERN_YYYYMM); + } + + /** + * 获取季度的结束date + * @param year + * @param quarterIndex + * @return + */ + public static Date getQuarterEndDate(String year, Integer quarterIndex) { + List months = getMonthsByQuarterIndex(quarterIndex); + String yyyyMM = year.concat(String.format("%02d", months.get(2))); + Date nextMonth = DateUtils.addDateMonths(DateUtils.parse(yyyyMM, DateUtils.DATE_PATTERN_YYYYMM), 1); + // 用下一个季度开头-1天就是上一个月季度最后一天 + return DateUtils.addDateDays(nextMonth, -1); + } + public static void main(String[] args) { //int weekOfYear = getWeekOfYear(new Date()); - - int quarterIndex = DateUtils.getQuarterIndex(DateUtils.parse("20201001", DateUtils.DATE_PATTERN_YYYYMMDD)); + String format = String.format("%02d", 9); System.out.println(666); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DimController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DimController.java index c393a74bb3..6a071a0413 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DimController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DimController.java @@ -4,7 +4,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.service.StatsDimService; import com.epmet.service.stats.DimDateService; import com.epmet.service.stats.DimMonthService; -import oracle.jdbc.proxy.annotation.Post; +import com.epmet.service.stats.DimQuarterService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -20,6 +20,9 @@ public class DimController { @Autowired private DimMonthService dimMonthService; + @Autowired + private DimQuarterService quarterService; + @Autowired private StatsDimService statsDimService; @@ -83,4 +86,14 @@ public class DimController { return new Result(); } + /** + * 季度维度 + * @return + */ + @PostMapping("/quarter/init") + public Result initQuarterDim() { + quarterService.initQuarterDim(); + return new Result(); + } + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/DimAgencyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/DimAgencyDao.java index 9ead9c7114..79df18f39c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/DimAgencyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/DimAgencyDao.java @@ -34,6 +34,8 @@ import java.util.List; @Mapper public interface DimAgencyDao extends BaseDao { + int insertOne(DimAgencyEntity entity); + /** * @param dto * @return diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/DimCustomerDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/DimCustomerDao.java index f8b317848c..b20779cd4c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/DimCustomerDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/DimCustomerDao.java @@ -43,4 +43,6 @@ public interface DimCustomerDao extends BaseDao { * email:liujianjun@git.elinkit.com.cn */ List selectCustomerIdPage(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize); + + void insertOne(DimCustomerEntity dim); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/DimDepartmentDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/DimDepartmentDao.java index ff03d03a6c..42ec2905b8 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/DimDepartmentDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/DimDepartmentDao.java @@ -29,5 +29,5 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface DimDepartmentDao extends BaseDao { - + int insertOne(DimDepartmentEntity dim); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimQuarterService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimQuarterService.java index c81738c80f..5e6fb31998 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimQuarterService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimQuarterService.java @@ -92,4 +92,6 @@ public interface DimQuarterService extends BaseService { * @date 2020-06-16 */ void delete(String[] ids); + + void initQuarterDim(); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimAgencyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimAgencyServiceImpl.java index 208a785cca..45d4f8337f 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimAgencyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimAgencyServiceImpl.java @@ -128,7 +128,8 @@ public class DimAgencyServiceImpl extends BaseServiceImpl implements DimQuarterService { + private Logger logger = LoggerFactory.getLogger(getClass()); + + @Autowired + private LastExecRecordService lastExecRecordService; + + @Autowired + private DimQuarterDao dimQuarterDao; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -97,4 +110,100 @@ public class DimQuarterServiceImpl extends BaseServiceImpl + + INSERT INTO dim_agency(id, agency_name, customer_id, pid, pids, all_parent_name, level, del_flag, revision, created_by, + created_time, updated_by, updated_time) + VALUE (#{id}, #{agencyName}, #{customerId}, #{pid}, #{pids}, #{allParentName}, #{level}, #{delFlag}, #{revision}, #{createdBy}, #{createdTime}, #{updatedBy}, #{updatedTime}) + + diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/DimDepartmentDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/DimDepartmentDao.xml index b644d7c1a1..c1c6c56899 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/DimDepartmentDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/DimDepartmentDao.xml @@ -3,7 +3,9 @@ - - - + + INSERT INTO dim_department(id, department_name, agency_id, customer_id, del_flag, revision, created_by, created_time, + updated_by, updated_time) + VALUE (#{id}, #{departmentName}, #{agencyId}, #{customerId}, #{delFlag}, #{revision}, #{createdBy}, #{createdTime}, #{updatedBy}, #{updatedTime}) + \ No newline at end of file