diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactAgencyUserHouseDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactAgencyUserHouseDailyDao.java index 068843b062..3bbdef4df6 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactAgencyUserHouseDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactAgencyUserHouseDailyDao.java @@ -20,7 +20,7 @@ public interface FactAgencyUserHouseDailyDao extends BaseDao listPage(Map params); - FactUserHouseResultDTO getTotal(Map params); + List getTotal(Map params); void deleteByDateId(FactUserHouseFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactGridUserHouseDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactGridUserHouseDailyDao.java index 72d9c58c23..515333fc6f 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactGridUserHouseDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactGridUserHouseDailyDao.java @@ -20,7 +20,7 @@ public interface FactGridUserHouseDailyDao extends BaseDao listPage(Map params); - FactUserHouseResultDTO getTotal(Map params); + List getTotal(Map params); List statAgency(FactUserHouseFormDTO formDTO); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactAgencyUserHouseDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactAgencyUserHouseDailyServiceImpl.java index f2511e6e3d..2f9a3bd605 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactAgencyUserHouseDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactAgencyUserHouseDailyServiceImpl.java @@ -3,12 +3,12 @@ package com.epmet.service.stats.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.dao.stats.FactAgencyUserHouseDailyDao; -import com.epmet.dto.ChangeDeathDTO; import com.epmet.dto.stats.FactAgencyUserHouseDailyDTO; import com.epmet.dto.stats.form.FactUserHouseFormDTO; import com.epmet.dto.stats.result.FactUserHouseResultDTO; @@ -46,7 +46,22 @@ public class FactAgencyUserHouseDailyServiceImpl extends BaseServiceImpl params) { params.put("customerId", loginUserUtil.getLoginUserCustomerId()); - return baseDao.getTotal(params); + List list = baseDao.getTotal(params); + + if (list.size() == NumConstant.ZERO) { + return null; + } else if (list.size() == NumConstant.ONE) { + return list.get(0); + } else { + FactUserHouseResultDTO first = list.get(0); + FactUserHouseResultDTO last = list.get(list.size() - 1); + FactUserHouseResultDTO dto = last; + dto.setHouseIncr(last.getHouseIncr() - first.getHouseIncr()); + dto.setHouseModify(last.getHouseModify() - first.getHouseModify()); + dto.setUserIncr(last.getUserIncr() - first.getUserIncr()); + dto.setUserModify(last.getUserModify() - first.getUserModify()); + return dto; + } } @Override @@ -56,8 +71,8 @@ public class FactAgencyUserHouseDailyServiceImpl extends BaseServiceImpl getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); @@ -93,7 +108,7 @@ public class FactAgencyUserHouseDailyServiceImpl extends BaseServiceImpl params) { params.put("customerId", loginUserUtil.getLoginUserCustomerId()); - return baseDao.getTotal(params); + List list = baseDao.getTotal(params); + + if (list.size() == NumConstant.ZERO) { + return null; + } else if (list.size() == NumConstant.ONE) { + return list.get(0); + } else { + FactUserHouseResultDTO first = list.get(0); + FactUserHouseResultDTO last = list.get(list.size() - 1); + FactUserHouseResultDTO dto = last; + dto.setHouseIncr(last.getHouseIncr() - first.getHouseIncr()); + dto.setHouseModify(last.getHouseModify() - first.getHouseModify()); + dto.setUserIncr(last.getUserIncr() - first.getUserIncr()); + dto.setUserModify(last.getUserModify() - first.getUserModify()); + return dto; + } } @Override @@ -55,10 +71,10 @@ public class FactGridUserHouseDailyServiceImpl extends BaseServiceImpl getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); - String dateId = (String)params.get("dateId"); - String customerId = (String)params.get("customerId"); + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); + String dateId = (String) params.get("dateId"); + String customerId = (String) params.get("customerId"); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); @@ -96,12 +112,12 @@ public class FactGridUserHouseDailyServiceImpl extends BaseServiceImpl statAgency(FactUserHouseFormDTO formDTO){ + public List statAgency(FactUserHouseFormDTO formDTO) { return baseDao.statAgency(formDTO); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactUserHouseServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactUserHouseServiceImpl.java index c4bf83da0d..dfe659b250 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactUserHouseServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactUserHouseServiceImpl.java @@ -73,50 +73,20 @@ public class FactUserHouseServiceImpl implements FactUserHouseService { FactUserHouseResultDTO dto = null; if (params.containsKey("startTime") && params.containsKey("endTime")) { if (StringUtils.isNotBlank(params.get("startTime").toString()) && StringUtils.isNotBlank(params.get("endTime").toString())) { - if (params.containsKey("level")) { - if (OrgLevelEnum.GRID.getCode().equals(params.get("level").toString())) { - params.put("dateId", params.get("startTime").toString().replaceAll("-", "")); - FactUserHouseResultDTO dtoStart = factGridUserHouseDailyService.getTotal(params); - params.put("dateId", params.get("endTime").toString().replaceAll("-", "")); - FactUserHouseResultDTO dtoEnd = factGridUserHouseDailyService.getTotal(params); - dto = dtoEnd; - dto.setHouseIncr(dtoEnd.getHouseIncr() - dtoStart.getHouseIncr()); - dto.setHouseModify(dtoEnd.getHouseModify() - dtoStart.getHouseModify()); - dto.setUserIncr(dtoEnd.getUserIncr() - dtoStart.getUserIncr()); - dto.setUserModify(dtoEnd.getUserModify() - dtoStart.getUserModify()); - } else { - params.put("dateId", params.get("startTime").toString().replaceAll("-", "")); - FactUserHouseResultDTO dtoStart = factAgencyUserHouseDailyService.getTotal(params); - params.put("dateId", params.get("endTime").toString().replaceAll("-", "")); - FactUserHouseResultDTO dtoEnd = factAgencyUserHouseDailyService.getTotal(params); - dto = dtoEnd; - dto.setHouseIncr(dtoEnd.getHouseIncr() - dtoStart.getHouseIncr()); - dto.setHouseModify(dtoEnd.getHouseModify() - dtoStart.getHouseModify()); - dto.setUserIncr(dtoEnd.getUserIncr() - dtoStart.getUserIncr()); - dto.setUserModify(dtoEnd.getUserModify() - dtoStart.getUserModify()); - } - } + params.put("dateId", StringUtils.EMPTY); } else { params.put("dateId", DateUtils.getBeforeNDay(NumConstant.ONE)); - if (params.containsKey("level")) { - if (OrgLevelEnum.GRID.getCode().equals(params.get("level").toString())) { - dto = factGridUserHouseDailyService.getTotal(params); - } else { - dto = factAgencyUserHouseDailyService.getTotal(params); - } - } } } else { params.put("dateId", DateUtils.getBeforeNDay(NumConstant.ONE)); - if (params.containsKey("level")) { - if (OrgLevelEnum.GRID.getCode().equals(params.get("level").toString())) { - dto = factGridUserHouseDailyService.getTotal(params); - } else { - dto = factAgencyUserHouseDailyService.getTotal(params); - } + } + if (params.containsKey("level")) { + if (OrgLevelEnum.GRID.getCode().equals(params.get("level").toString())) { + dto = factGridUserHouseDailyService.getTotal(params); + } else { + dto = factAgencyUserHouseDailyService.getTotal(params); } } - return dto; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactAgencyUserHouseDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactAgencyUserHouseDailyDao.xml index 50ca4b5ddf..9752b42407 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactAgencyUserHouseDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactAgencyUserHouseDailyDao.xml @@ -114,6 +114,16 @@ AND a.DATE_ID = #{dateId} + + AND DATE_FORMAT( a.DATE_ID, '%Y-%m-%d' ) >= DATE_FORMAT( #{startTime}, '%Y-%m-%d' ) + + + AND DATE_FORMAT( a.DATE_ID, '%Y-%m-%d' ) <= DATE_FORMAT( #{endTime}, '%Y-%m-%d' ) + + GROUP BY + a.DATE_ID + ORDER BY + a.DATE_ID ASC diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactGridUserHouseDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactGridUserHouseDailyDao.xml index 57d72c45ac..b46b9467eb 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactGridUserHouseDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactGridUserHouseDailyDao.xml @@ -104,6 +104,16 @@ AND d.DATE_ID = #{dateId} + + AND DATE_FORMAT( d.DATE_ID, '%Y-%m-%d' ) >= DATE_FORMAT( #{startTime}, '%Y-%m-%d' ) + + + AND DATE_FORMAT( d.DATE_ID, '%Y-%m-%d' ) <= DATE_FORMAT( #{endTime}, '%Y-%m-%d' ) + + GROUP BY + d.DATE_ID + ORDER BY + d.DATE_ID ASC