From c7373e0d5b87b96dc203b2cf90d8527a8fa5eb7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B2=E6=A0=91=E9=80=9A?= <1976590620@qq.com> Date: Fri, 20 Dec 2019 14:32:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=85=83=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=B9=8B=E5=89=8D=E5=85=88=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mapper/item/ItemDao.xml | 4 +- .../elink/esua/epdc/dao/KpiMetaDataDao.java | 11 +++- .../esua/epdc/service/KpiMetaDataService.java | 1 + .../service/impl/KpiMetaDataServiceImpl.java | 56 +++++++++++++++---- .../main/resources/mapper/KpiMetaDataDao.xml | 15 ++++- 5 files changed, 72 insertions(+), 15 deletions(-) diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml index 119cb2303..e4040da9b 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml @@ -808,7 +808,7 @@ SELECT COUNT(ei.ISSUE_ID) AS dataValue, dept.deptId as deptId, - DATE_SUB(#{startTime}as startDate, + #{startTime}as startDate, DATE(DATE_SUB(#{endTime}, INTERVAL 1 DAY)) as endDate, #{type} as kpiCycle FROM @@ -832,7 +832,7 @@ dept.deptId AS deptId, '网格呼叫总数' as data_name, 'grid_call_superior_resp_amount' as data_code, - DATE_SUB(#{startTime} as startDate, + #{startTime} as startDate, DATE(DATE_SUB(#{endTime}, INTERVAL 1 DAY)) as endDate, #{timeType} as kpiCycle FROM diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiMetaDataDao.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiMetaDataDao.java index 25d0f6958..06979bb85 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiMetaDataDao.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiMetaDataDao.java @@ -21,8 +21,10 @@ import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.dto.KpiMetaDataDTO; import com.elink.esua.epdc.entity.KpiMetaDataEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.math.BigDecimal; +import java.util.List; import java.util.Map; /** @@ -34,5 +36,12 @@ import java.util.Map; @Mapper public interface KpiMetaDataDao extends BaseDao { - + /*** + * 插入之前删除数据 防止插入部分出异常 + * @param metaList + * @return void + * @author qushutong + * @date 2019/12/20 13:32 + */ + void deleteListRepetitionMeta(@Param("metaList") List metaList); } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiMetaDataService.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiMetaDataService.java index 2c82ca054..abab59445 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiMetaDataService.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiMetaDataService.java @@ -120,4 +120,5 @@ public interface KpiMetaDataService extends BaseService { * @date 2019/12/18 18:21 */ void createItemMataData(); + } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiMetaDataServiceImpl.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiMetaDataServiceImpl.java index 2388741f6..61bfda7d2 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiMetaDataServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiMetaDataServiceImpl.java @@ -155,8 +155,12 @@ public class KpiMetaDataServiceImpl extends BaseServiceImpl reportAmountList = this.getMetaDateFromEventsModule(eventReportAmountFormDto); - // 组装元数据对象并插入数据库 - this.insertBatch(this.packageMetaDataList(reportAmountList, eventReportAmountFormDto, kpiCycle)); + // 组装元数据对象 + List kpiMetaDataEntities = this.packageMetaDataList(reportAmountList, eventReportAmountFormDto, kpiCycle); + // 插入之前删除已存在 + this.deleteRepetitionMetaList(kpiMetaDataEntities); + // 插入数据库 + this.insertBatch(kpiMetaDataEntities); pageIndex++; gridList = deptUtils.getDeptIdList(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY, pageSize, pageIndex); } while (CollUtil.isNotEmpty(gridList)); @@ -306,24 +310,34 @@ public class KpiMetaDataServiceImpl extends BaseServiceImpl kpiMetaDataDTOList; + List kpiMetaDataEntitiesList; List gridList = deptUtils.getDeptIdList(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY, pageSize, pageIndex); do { monthFromDto.setGridIdList(gridList); monthFromDto.setType(KpiCycleEnum.KPI_CYCLE_MONTH.getValue()); kpiMetaDataDTOList = eventFeignClient.queryEvaluationData(monthFromDto).getData(); - insertBatch(ConvertUtils.sourceToTarget(kpiMetaDataDTOList, KpiMetaDataEntity.class)); + kpiMetaDataEntitiesList = ConvertUtils.sourceToTarget(kpiMetaDataDTOList, KpiMetaDataEntity.class); + // 插入之前删除已存在 + this.deleteRepetitionMetaList(kpiMetaDataEntitiesList); + insertBatch(kpiMetaDataEntitiesList); // 1,4,7,10 月份的时候统计 季度 季度第一天统计上一季度 if (nowMonth == NumConstant.ONE || nowMonth == NumConstant.FOUR || nowMonth == NumConstant.SEVEN || nowMonth == NumConstant.TEN) { monthFromDto.setType(KpiCycleEnum.KPI_CYCLE_QUARTER.getValue()); kpiMetaDataDTOList = eventFeignClient.queryEvaluationData(quarterFromDto).getData(); - insertBatch(ConvertUtils.sourceToTarget(kpiMetaDataDTOList, KpiMetaDataEntity.class)); + kpiMetaDataEntitiesList = ConvertUtils.sourceToTarget(kpiMetaDataDTOList, KpiMetaDataEntity.class); + // 插入之前删除已存在 + this.deleteRepetitionMetaList(kpiMetaDataEntitiesList); + insertBatch(kpiMetaDataEntitiesList); } // 一月份统计去年的 if (nowMonth == NumConstant.ONE) { monthFromDto.setType(KpiCycleEnum.KPI_CYCLE_YEAR.getValue()); kpiMetaDataDTOList = eventFeignClient.queryEvaluationData(yearFromDto).getData(); - insertBatch(ConvertUtils.sourceToTarget(kpiMetaDataDTOList, KpiMetaDataEntity.class)); + kpiMetaDataEntitiesList = ConvertUtils.sourceToTarget(kpiMetaDataDTOList, KpiMetaDataEntity.class); + // 插入之前删除已存在 + this.deleteRepetitionMetaList(kpiMetaDataEntitiesList); + insertBatch(kpiMetaDataEntitiesList); } pageIndex++; gridList = deptUtils.getDeptIdList(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY, pageSize, pageIndex); @@ -374,12 +388,14 @@ public class KpiMetaDataServiceImpl extends BaseServiceImpl kpiMetaDataDTOList; + List kpiMetaDataEntitiesList; //容量 - int pageSize = 10; + int pageSize = NumConstant.TEN; //页码 - int pageIndex = 1; + int pageIndex = NumConstant.ONE; List deptIdList; do { // 分页获取所有网格 @@ -388,23 +404,43 @@ public class KpiMetaDataServiceImpl extends BaseServiceImpl metaList) { + baseDao.deleteListRepetitionMeta(metaList); + } } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiMetaDataDao.xml b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiMetaDataDao.xml index 4f190d55e..f8b93b696 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiMetaDataDao.xml +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiMetaDataDao.xml @@ -3,6 +3,17 @@ - - + + DELETE + FROM + epdc_kpi_meta_data + WHERE + + (#{metaListItem.deptId}=epdc_kpi_meta_data.dept_id + AND #{metaListItem.startDate}=epdc_kpi_meta_data.start_date + AND #{metaListItem.endDate}=epdc_kpi_meta_data.end_date + AND #{metaListItem.dataCode}=epdc_kpi_meta_data.data_code + ) + + \ No newline at end of file