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 8a4e4833f3..6efd8bf7da 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 @@ -1,9 +1,12 @@ package com.epmet.controller; +import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.AgencySubTreeDto; import com.epmet.service.StatsDimService; import com.epmet.service.stats.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -16,6 +19,8 @@ import java.util.List; @RequestMapping("dim") public class DimController { + Logger logger = LoggerFactory.getLogger(getClass()); + @Autowired private DimDateService dimDateService; @@ -37,8 +42,82 @@ public class DimController { @Autowired private DimAgencyService dimAgencyService; + /** + * 初始化所有维度 + * + * @return + */ + @PostMapping("/all/init") + public Result initAll() { + try { + dimDateService.initDimDate(); + logger.info("初始化按日维度成功"); + } catch (Exception e) { + String errorStackTrace = ExceptionUtils.getErrorStackTrace(e); + logger.error(String.format("初始化按日维度失败:%s", errorStackTrace)); + } + try { + statsDimService.initGridDim(); + logger.info("初始化网格维度成功"); + } catch (Exception e) { + String errorStackTrace = ExceptionUtils.getErrorStackTrace(e); + logger.error(String.format("初始化网格维度失败:%s", errorStackTrace)); + } + try { + statsDimService.initAgencyDim(); + logger.info("初始化机关维度成功"); + } catch (Exception e) { + String errorStackTrace = ExceptionUtils.getErrorStackTrace(e); + logger.error(String.format("初始化机关维度失败:%s", errorStackTrace)); + } + try { + statsDimService.initCustomerDim(); + logger.info("初始化客户维度成功"); + } catch (Exception e) { + String errorStackTrace = ExceptionUtils.getErrorStackTrace(e); + logger.error(String.format("初始化客户维度失败:%s", errorStackTrace)); + } + try { + statsDimService.initDepartmentDim(); + logger.info("初始化部门维度成功"); + } catch (Exception e) { + String errorStackTrace = ExceptionUtils.getErrorStackTrace(e); + logger.error(String.format("初始化部门维度失败:%s", errorStackTrace)); + } + try { + dimMonthService.initMonthDim(); + logger.info("初始化按月维度成功"); + } catch (Exception e) { + String errorStackTrace = ExceptionUtils.getErrorStackTrace(e); + logger.error(String.format("初始化按月维度失败:%s", errorStackTrace)); + } + try { + quarterService.initQuarterDim(); + logger.info("初始化季度维度成功"); + } catch (Exception e) { + String errorStackTrace = ExceptionUtils.getErrorStackTrace(e); + logger.error(String.format("初始化季度维度失败:%s", errorStackTrace)); + } + try { + dimYearService.initYearDim(); + logger.info("初始化年度维度成功"); + } catch (Exception e) { + String errorStackTrace = ExceptionUtils.getErrorStackTrace(e); + logger.error(String.format("初始化年度维度失败:%s", errorStackTrace)); + } + try { + dimWeekService.initWeekDim(); + logger.info("初始化按周维度成功"); + } catch (Exception e) { + String errorStackTrace = ExceptionUtils.getErrorStackTrace(e); + logger.error(String.format("初始化按周维度失败:%s", errorStackTrace)); + } + return new Result(); + } + /** * 初始化按日维度 + * * @return */ @PostMapping("/date/init") @@ -49,6 +128,7 @@ public class DimController { /** * 初始化网格维度 + * * @return */ @PostMapping("/grid/init") @@ -59,6 +139,7 @@ public class DimController { /** * 初始化机关单位维度 + * * @return */ @PostMapping("/agency/init") @@ -69,6 +150,7 @@ public class DimController { /** * 客户维度 + * * @return */ @PostMapping("/customer/init") @@ -79,6 +161,7 @@ public class DimController { /** * 部门维度 + * * @return */ @PostMapping("/department/init") @@ -89,6 +172,7 @@ public class DimController { /** * 月维度 + * * @return */ @PostMapping("/month/init") @@ -99,6 +183,7 @@ public class DimController { /** * 季度维度 + * * @return */ @PostMapping("/quarter/init") @@ -109,6 +194,7 @@ public class DimController { /** * 年度维度 + * * @return */ @PostMapping("/year/init") @@ -119,6 +205,7 @@ public class DimController { /** * 按周维度 + * * @return */ @PostMapping("/week/init") @@ -128,26 +215,26 @@ public class DimController { } /** - * @Description 所有机构 * @param * @return + * @Description 所有机构 * @author wangc * @date 2020.06.18 10:34 - **/ + **/ @GetMapping("allagency") - public List allAgency(){ + public List allAgency() { return dimAgencyService.getAllAgency(); } /** - * @Description 顶级机构 * @param * @return + * @Description 顶级机构 * @author wangc * @date 2020.06.18 10:34 - **/ + **/ @GetMapping("topagency") - public List topAgency(){ + public List topAgency() { return dimAgencyService.getTopAgency(); } } 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 493fade14e..958df384be 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 @@ -25,6 +25,7 @@ import com.epmet.entity.stats.DimAgencyEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.Date; import java.util.List; /** @@ -79,4 +80,5 @@ public interface DimAgencyDao extends BaseDao { * @return */ List getAgencyListByCustomerId(@Param("customerId") String customerId); + } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/LastExecRecordDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/LastExecRecordDao.java index b90c6c6856..b6adba1ec7 100755 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/LastExecRecordDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/LastExecRecordDao.java @@ -22,6 +22,8 @@ import com.epmet.entity.stats.LastExecRecordEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.Date; + /** * 最后一次执行记录表 * @@ -32,4 +34,12 @@ import org.apache.ibatis.annotations.Param; public interface LastExecRecordDao extends BaseDao { LastExecRecordEntity getLastExecRecord(@Param("statsSubject") String statsSubject); + + /** + * 更新统计主体的执行时间 + * @param date + * @param subject + * @return + */ + int updateExecTimeBySubject(@Param("date") Date date, @Param("subject") String subject); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsDimServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsDimServiceImpl.java index c435ec4720..ff97cf767b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsDimServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsDimServiceImpl.java @@ -55,11 +55,6 @@ public class StatsDimServiceImpl implements StatsDimService { @Override public void initGridDim() { - LastExecRecordEntity lastExecRecord = lastExecRecordService.getLastExecRecord(StatsSubject.DIM_GRID); - if (lastExecRecord == null) { - lastExecRecord = lastExecRecordService.createLastExecRecord(StatsSubject.DIM_GRID); - } - DimGridEntity lastCreatedGridDim = dimGridService.getLastCreatedGridDim(); List grids; if (lastCreatedGridDim == null) { @@ -68,17 +63,15 @@ public class StatsDimServiceImpl implements StatsDimService { } else { // 非首次初始化 // 结束时间边界与开始时间边界,包含开始时间不包含结束时间。结束时间可以为空,则查询从开始时间往后的所有新创建网格 - //Date endTimeBorder = DateUtils.parse(DateUtils.format(new Date(), DateUtils.DATE_PATTERN_YYYYMMDD), DateUtils.DATE_PATTERN_YYYYMMDD); Date startTimeBorder = DateUtils.parse(DateUtils.format(lastCreatedGridDim.getCreatedTime(), DateUtils.DATE_PATTERN_YYYYMMDD), DateUtils.DATE_PATTERN_YYYYMMDD); + Date endTimeBorder = DateUtils.parse(DateUtils.format(new Date(), DateUtils.DATE_PATTERN_YYYYMMDD), DateUtils.DATE_PATTERN_YYYYMMDD); - grids = customerGridService.listGridsByCreateTime(startTimeBorder, null); + grids = customerGridService.listGridsByCreateTime(startTimeBorder, endTimeBorder); } List gridDims = convertCustomerGrid2GridDim(grids); if (!CollectionUtils.isEmpty(gridDims)) { - dimGridService.addGridDims(gridDims); - lastExecRecord.setExecTime(new Date()); - lastExecRecordService.updateById(lastExecRecord); + dimGridService.initGridDims(gridDims); } } @@ -119,11 +112,7 @@ public class StatsDimServiceImpl implements StatsDimService { List agencies = customerAgencyService.listAgenciesByCreateTime(statsStartTime, statsEndTime); if (!CollectionUtils.isEmpty(agencies)) { - dimAgencyService.addAgencyDims(agencies); - lastExecRecord.setExecTime(new Date()); - - // 记录最后一次统计时间 - lastExecRecordService.updateById(lastExecRecord); + dimAgencyService.initAgencyDims(agencies); } } @@ -145,12 +134,7 @@ public class StatsDimServiceImpl implements StatsDimService { List customers = customerService.listValidCustomersByCreateTime(statsStartTime, statsEndTime); if (!CollectionUtils.isEmpty(customers)) { - dimCustomerService.addCustomerDims(customers); - - lastExecRecord.setExecTime(new Date()); - - // 记录最后一次统计时间 - lastExecRecordService.updateById(lastExecRecord); + dimCustomerService.initCustomerDims(customers); } } @@ -169,7 +153,7 @@ public class StatsDimServiceImpl implements StatsDimService { List departments = departmentService.listDepartmentsByCreatedTime(statsStartTime, statsEndTime); if (!CollectionUtils.isEmpty(departments)) { - dimDepartmentService.addDepartmentDims(departments); + dimDepartmentService.initDepartmentDims(departments); lastExecRecord.setExecTime(new Date()); // 记录最后一次统计时间 lastExecRecordService.updateById(lastExecRecord); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimAgencyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimAgencyService.java index 8de5b0045f..17b8076777 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimAgencyService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimAgencyService.java @@ -24,6 +24,7 @@ import com.epmet.dto.stats.DimAgencyDTO; import com.epmet.entity.org.CustomerAgencyEntity; import com.epmet.entity.stats.DimAgencyEntity; +import java.util.Date; import java.util.List; import java.util.Map; @@ -103,7 +104,11 @@ public interface DimAgencyService extends BaseService { **/ List getDimAgencyList(DimAgencyDTO dto); - void addAgencyDims(List agencies); + /** + * 初始化机关维度 + * @param agencies + */ + void initAgencyDims(List agencies); /** * @Description 查询所有机关以及它下级机关的信息 @@ -132,4 +137,5 @@ public interface DimAgencyService extends BaseService { * @author: jianjun liu */ List getAgencyListByCustomerId(String customerId); + } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimCustomerService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimCustomerService.java index 85e7c06202..a2d7aadaf5 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimCustomerService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimCustomerService.java @@ -111,5 +111,5 @@ public interface DimCustomerService extends BaseService { * 添加客户维度 * @param customers */ - void addCustomerDims(List customers); + void initCustomerDims(List customers); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimDepartmentService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimDepartmentService.java index 8ae4e1e1bd..7bf0b63b7c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimDepartmentService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimDepartmentService.java @@ -94,7 +94,7 @@ public interface DimDepartmentService extends BaseService { */ void delete(String[] ids); - void addDepartmentDims(List departments); + void initDepartmentDims(List departments); /** * desc: 根据客户Id获取 部门数据 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimGridService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimGridService.java index c6105c9570..c31774399f 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimGridService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/DimGridService.java @@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.stats.DimGridDTO; import com.epmet.entity.stats.DimGridEntity; +import com.epmet.entity.stats.LastExecRecordEntity; import java.util.List; import java.util.Map; @@ -95,7 +96,11 @@ public interface DimGridService extends BaseService { DimGridEntity getLastCreatedGridDim(); - void addGridDims(List gridDims); + /** + * 初始化网格维度 + * @param gridDims + */ + void initGridDims(List gridDims); /** * desc: 根据客户Id获取 该客户下所有的网格数据 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 26a692d594..af550d986c 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 @@ -26,7 +26,9 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.constant.RobotConstant; +import com.epmet.constant.StatsSubject; import com.epmet.dao.stats.DimAgencyDao; +import com.epmet.dao.stats.LastExecRecordDao; import com.epmet.dto.AgencySubTreeDto; import com.epmet.dto.stats.DimAgencyDTO; import com.epmet.entity.org.CustomerAgencyEntity; @@ -52,6 +54,9 @@ import java.util.stream.Collectors; @Service public class DimAgencyServiceImpl extends BaseServiceImpl implements DimAgencyService { + @Autowired + private LastExecRecordDao lastExecRecordDao; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -115,10 +120,9 @@ public class DimAgencyServiceImpl extends BaseServiceImpl agencies) { - Date now = new Date(); + public void initAgencyDims(List agencies) { for (CustomerAgencyEntity agency : agencies) { DimAgencyEntity dimAgencyEntity = new DimAgencyEntity(); dimAgencyEntity.setAgencyName(agency.getOrganizationName()); @@ -132,6 +136,8 @@ public class DimAgencyServiceImpl extends BaseServiceImpl implements DimCustomerService { + @Autowired + private LastExecRecordDao lastExecRecordDao; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -114,7 +120,7 @@ public class DimCustomerServiceImpl extends BaseServiceImpl customers) { + public void initCustomerDims(List customers) { for (CustomerEntity customer : customers) { DimCustomerEntity dim = new DimCustomerEntity(); dim.setCustomerName(customer.getCustomerName()); @@ -123,5 +129,6 @@ public class DimCustomerServiceImpl extends BaseServiceImpl implements DimDepartmentService { + @Autowired + private LastExecRecordDao lastExecRecordDao; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -103,8 +109,7 @@ public class DimDepartmentServiceImpl extends BaseServiceImpl departments) { - Date now = new Date(); + public void initDepartmentDims(List departments) { for (CustomerDepartmentEntity department : departments) { DimDepartmentEntity dim = new DimDepartmentEntity(); dim.setAgencyId(department.getAgencyId()); @@ -115,9 +120,10 @@ public class DimDepartmentServiceImpl extends BaseServiceImpl getDepartmentListByCustomerId(String customerId) { if (StringUtils.isBlank(customerId)){ log.warn("getDepartmentListByCustomerId param is blank "); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimGridServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimGridServiceImpl.java index e84059cc38..1caeb9d473 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimGridServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimGridServiceImpl.java @@ -25,15 +25,21 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.constant.StatsSubject; import com.epmet.dao.stats.DimGridDao; +import com.epmet.dao.stats.LastExecRecordDao; import com.epmet.dto.stats.DimGridDTO; import com.epmet.entity.stats.DimGridEntity; +import com.epmet.entity.stats.LastExecRecordEntity; import com.epmet.service.stats.DimGridService; +import com.epmet.service.stats.LastExecRecordService; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; +import java.util.Date; import java.util.List; import java.util.Map; @@ -46,6 +52,9 @@ import java.util.Map; @Service public class DimGridServiceImpl extends BaseServiceImpl implements DimGridService { + @Autowired + private LastExecRecordDao lastExecRecordDao; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -103,15 +112,21 @@ public class DimGridServiceImpl extends BaseServiceImpl gridDims) { + public void initGridDims(List gridDims) { for (DimGridEntity gridDim : gridDims) { baseDao.insert(gridDim); } + + lastExecRecordDao.updateExecTimeBySubject(new Date(), StatsSubject.DIM_GRID); } - @Override + @Override public List getGridListByCustomerId(String customerId) { if (StringUtils.isBlank(customerId)){ throw new RenException(EpmetErrorCode.INTERNAL_VALIDATE_ERROR.getCode(),EpmetErrorCode.INTERNAL_VALIDATE_ERROR.getMsg()); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/DimAgencyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/DimAgencyDao.xml index ad8ed78057..4c9d2a1dbb 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/DimAgencyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/DimAgencyDao.xml @@ -9,7 +9,6 @@ VALUE (#{id}, #{agencyName}, #{customerId}, #{pid}, #{pids}, #{allParentName}, #{level}, #{delFlag}, #{revision}, #{createdBy}, #{createdTime}, #{updatedBy}, #{updatedTime}) - + + + UPDATE last_exec_record SET EXEC_TIME = #{date} WHERE SUBJECT = #{subject} + \ No newline at end of file