Browse Source

导入元数据之前先删除

feature/dangjian
曲树通 6 years ago
parent
commit
c7373e0d5b
  1. 4
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml
  2. 11
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiMetaDataDao.java
  3. 1
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiMetaDataService.java
  4. 56
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiMetaDataServiceImpl.java
  5. 15
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiMetaDataDao.xml

4
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml

@ -808,7 +808,7 @@
SELECT SELECT
COUNT(ei.ISSUE_ID) AS dataValue, COUNT(ei.ISSUE_ID) AS dataValue,
dept.deptId as deptId, dept.deptId as deptId,
DATE_SUB(#{startTime}as startDate, #{startTime}as startDate,
DATE(DATE_SUB(#{endTime}, INTERVAL 1 DAY)) as endDate, DATE(DATE_SUB(#{endTime}, INTERVAL 1 DAY)) as endDate,
#{type} as kpiCycle #{type} as kpiCycle
FROM FROM
@ -832,7 +832,7 @@
dept.deptId AS deptId, dept.deptId AS deptId,
'网格呼叫总数' as data_name, '网格呼叫总数' as data_name,
'grid_call_superior_resp_amount' as data_code, '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, DATE(DATE_SUB(#{endTime}, INTERVAL 1 DAY)) as endDate,
#{timeType} as kpiCycle #{timeType} as kpiCycle
FROM FROM

11
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.dto.KpiMetaDataDTO;
import com.elink.esua.epdc.entity.KpiMetaDataEntity; import com.elink.esua.epdc.entity.KpiMetaDataEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -34,5 +36,12 @@ import java.util.Map;
@Mapper @Mapper
public interface KpiMetaDataDao extends BaseDao<KpiMetaDataEntity> { public interface KpiMetaDataDao extends BaseDao<KpiMetaDataEntity> {
/***
* 插入之前删除数据 防止插入部分出异常
* @param metaList
* @return void
* @author qushutong
* @date 2019/12/20 13:32
*/
void deleteListRepetitionMeta(@Param("metaList") List<KpiMetaDataEntity> metaList);
} }

1
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<KpiMetaDataEntity> {
* @date 2019/12/18 18:21 * @date 2019/12/18 18:21
*/ */
void createItemMataData(); void createItemMataData();
} }

56
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<KpiMetaDataDao, KpiM
eventReportAmountFormDto.setGridIdList(gridList); eventReportAmountFormDto.setGridIdList(gridList);
// 从events模块获取统计数据 // 从events模块获取统计数据
List<KpiEventReportAmountResultDTO> reportAmountList = this.getMetaDateFromEventsModule(eventReportAmountFormDto); List<KpiEventReportAmountResultDTO> reportAmountList = this.getMetaDateFromEventsModule(eventReportAmountFormDto);
// 组装元数据对象并插入数据库 // 组装元数据对象
this.insertBatch(this.packageMetaDataList(reportAmountList, eventReportAmountFormDto, kpiCycle)); List<KpiMetaDataEntity> kpiMetaDataEntities = this.packageMetaDataList(reportAmountList, eventReportAmountFormDto, kpiCycle);
// 插入之前删除已存在
this.deleteRepetitionMetaList(kpiMetaDataEntities);
// 插入数据库
this.insertBatch(kpiMetaDataEntities);
pageIndex++; pageIndex++;
gridList = deptUtils.getDeptIdList(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY, pageSize, pageIndex); gridList = deptUtils.getDeptIdList(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY, pageSize, pageIndex);
} while (CollUtil.isNotEmpty(gridList)); } while (CollUtil.isNotEmpty(gridList));
@ -306,24 +310,34 @@ public class KpiMetaDataServiceImpl extends BaseServiceImpl<KpiMetaDataDao, KpiM
// 页码 // 页码
int pageIndex = NumConstant.ONE; int pageIndex = NumConstant.ONE;
List<KpiMetaDataDTO> kpiMetaDataDTOList; List<KpiMetaDataDTO> kpiMetaDataDTOList;
List<KpiMetaDataEntity> kpiMetaDataEntitiesList;
List<Long> gridList = deptUtils.getDeptIdList(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY, pageSize, pageIndex); List<Long> gridList = deptUtils.getDeptIdList(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY, pageSize, pageIndex);
do { do {
monthFromDto.setGridIdList(gridList); monthFromDto.setGridIdList(gridList);
monthFromDto.setType(KpiCycleEnum.KPI_CYCLE_MONTH.getValue()); monthFromDto.setType(KpiCycleEnum.KPI_CYCLE_MONTH.getValue());
kpiMetaDataDTOList = eventFeignClient.queryEvaluationData(monthFromDto).getData(); 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 月份的时候统计 季度 季度第一天统计上一季度 // 1,4,7,10 月份的时候统计 季度 季度第一天统计上一季度
if (nowMonth == NumConstant.ONE || nowMonth == NumConstant.FOUR || nowMonth == NumConstant.SEVEN || nowMonth == NumConstant.TEN) { if (nowMonth == NumConstant.ONE || nowMonth == NumConstant.FOUR || nowMonth == NumConstant.SEVEN || nowMonth == NumConstant.TEN) {
monthFromDto.setType(KpiCycleEnum.KPI_CYCLE_QUARTER.getValue()); monthFromDto.setType(KpiCycleEnum.KPI_CYCLE_QUARTER.getValue());
kpiMetaDataDTOList = eventFeignClient.queryEvaluationData(quarterFromDto).getData(); 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) { if (nowMonth == NumConstant.ONE) {
monthFromDto.setType(KpiCycleEnum.KPI_CYCLE_YEAR.getValue()); monthFromDto.setType(KpiCycleEnum.KPI_CYCLE_YEAR.getValue());
kpiMetaDataDTOList = eventFeignClient.queryEvaluationData(yearFromDto).getData(); kpiMetaDataDTOList = eventFeignClient.queryEvaluationData(yearFromDto).getData();
insertBatch(ConvertUtils.sourceToTarget(kpiMetaDataDTOList, KpiMetaDataEntity.class)); kpiMetaDataEntitiesList = ConvertUtils.sourceToTarget(kpiMetaDataDTOList, KpiMetaDataEntity.class);
// 插入之前删除已存在
this.deleteRepetitionMetaList(kpiMetaDataEntitiesList);
insertBatch(kpiMetaDataEntitiesList);
} }
pageIndex++; pageIndex++;
gridList = deptUtils.getDeptIdList(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY, pageSize, pageIndex); gridList = deptUtils.getDeptIdList(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY, pageSize, pageIndex);
@ -374,12 +388,14 @@ public class KpiMetaDataServiceImpl extends BaseServiceImpl<KpiMetaDataDao, KpiM
getCountItem(monthFromDto, quarterFromDto, yearFromDto, nowMonth, OrganizationTypeConstant.ORG_TYPE_STREET_DEPT); getCountItem(monthFromDto, quarterFromDto, yearFromDto, nowMonth, OrganizationTypeConstant.ORG_TYPE_STREET_DEPT);
} }
private void getCountItem(EpdcEventsItemMataFromDTO monthFromDto, EpdcEventsItemMataFromDTO quarterFromDto, EpdcEventsItemMataFromDTO yearFromDto, int nowMonth, String dept) { private void getCountItem(EpdcEventsItemMataFromDTO monthFromDto, EpdcEventsItemMataFromDTO quarterFromDto, EpdcEventsItemMataFromDTO yearFromDto, int nowMonth, String dept) {
List<KpiMetaDataDTO> kpiMetaDataDTOList; List<KpiMetaDataDTO> kpiMetaDataDTOList;
List<KpiMetaDataEntity> kpiMetaDataEntitiesList;
//容量 //容量
int pageSize = 10; int pageSize = NumConstant.TEN;
//页码 //页码
int pageIndex = 1; int pageIndex = NumConstant.ONE;
List<Long> deptIdList; List<Long> deptIdList;
do { do {
// 分页获取所有网格 // 分页获取所有网格
@ -388,23 +404,43 @@ public class KpiMetaDataServiceImpl extends BaseServiceImpl<KpiMetaDataDao, KpiM
monthFromDto.setDeptIdList(deptIdList); monthFromDto.setDeptIdList(deptIdList);
monthFromDto.setTimeType(KpiCycleEnum.KPI_CYCLE_MONTH.getValue()); monthFromDto.setTimeType(KpiCycleEnum.KPI_CYCLE_MONTH.getValue());
kpiMetaDataDTOList = eventFeignClient.queryItemCountData(monthFromDto).getData(); kpiMetaDataDTOList = eventFeignClient.queryItemCountData(monthFromDto).getData();
insertBatch(ConvertUtils.sourceToTarget(kpiMetaDataDTOList, KpiMetaDataEntity.class)); // 插入之前删除已存在
kpiMetaDataEntitiesList = ConvertUtils.sourceToTarget(kpiMetaDataDTOList, KpiMetaDataEntity.class);
this.deleteRepetitionMetaList(kpiMetaDataEntitiesList);
insertBatch(kpiMetaDataEntitiesList);
// 1,4,7,10 月份的时候统计 季度 季度第一天统计上一季度 // 1,4,7,10 月份的时候统计 季度 季度第一天统计上一季度
if (nowMonth == NumConstant.ONE || nowMonth == NumConstant.FOUR || nowMonth == NumConstant.SEVEN || nowMonth == NumConstant.TEN) { if (nowMonth == NumConstant.ONE || nowMonth == NumConstant.FOUR || nowMonth == NumConstant.SEVEN || nowMonth == NumConstant.TEN) {
monthFromDto.setTimeType(KpiCycleEnum.KPI_CYCLE_QUARTER.getValue()); monthFromDto.setTimeType(KpiCycleEnum.KPI_CYCLE_QUARTER.getValue());
kpiMetaDataDTOList = eventFeignClient.queryItemCountData(quarterFromDto).getData(); kpiMetaDataDTOList = eventFeignClient.queryItemCountData(quarterFromDto).getData();
insertBatch(ConvertUtils.sourceToTarget(kpiMetaDataDTOList, KpiMetaDataEntity.class)); kpiMetaDataEntitiesList = ConvertUtils.sourceToTarget(kpiMetaDataDTOList, KpiMetaDataEntity.class);
// 插入之前删除已存在
this.deleteRepetitionMetaList(kpiMetaDataEntitiesList);
insertBatch(kpiMetaDataEntitiesList);
} }
// 一月份统计去年的 // 一月份统计去年的
if (nowMonth == NumConstant.ONE) { if (nowMonth == NumConstant.ONE) {
monthFromDto.setTimeType(KpiCycleEnum.KPI_CYCLE_YEAR.getValue()); monthFromDto.setTimeType(KpiCycleEnum.KPI_CYCLE_YEAR.getValue());
kpiMetaDataDTOList = eventFeignClient.queryItemCountData(yearFromDto).getData(); kpiMetaDataDTOList = eventFeignClient.queryItemCountData(yearFromDto).getData();
insertBatch(ConvertUtils.sourceToTarget(kpiMetaDataDTOList, KpiMetaDataEntity.class)); kpiMetaDataEntitiesList = ConvertUtils.sourceToTarget(kpiMetaDataDTOList, KpiMetaDataEntity.class);
// 插入之前删除已存在
this.deleteRepetitionMetaList(kpiMetaDataEntitiesList);
insertBatch(kpiMetaDataEntitiesList);
} }
//页码 //页码
pageIndex++; pageIndex++;
deptIdList = deptUtils.getDeptIdList(dept, pageSize, pageIndex); deptIdList = deptUtils.getDeptIdList(dept, pageSize, pageIndex);
} while (CollUtil.isNotEmpty(deptIdList)); } while (CollUtil.isNotEmpty(deptIdList));
} }
/***
* 插入之前删除数据 防止插入部分出异常
* @param
* @return void
* @author qushutong
* @date 2019/12/20 13:24
*/
public void deleteRepetitionMetaList(List<KpiMetaDataEntity> metaList) {
baseDao.deleteListRepetitionMeta(metaList);
}
} }

15
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiMetaDataDao.xml

@ -3,6 +3,17 @@
<mapper namespace="com.elink.esua.epdc.dao.KpiMetaDataDao"> <mapper namespace="com.elink.esua.epdc.dao.KpiMetaDataDao">
<delete id="deleteListRepetitionMeta">
DELETE
FROM
epdc_kpi_meta_data
WHERE
<foreach item="metaListItem" collection="metaList" open="" separator=" OR " close="">
(#{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
)
</foreach>
</delete>
</mapper> </mapper>
Loading…
Cancel
Save