|
|
|
@ -33,8 +33,8 @@ import com.elink.esua.epdc.dao.KpiMetaDataDao; |
|
|
|
import com.elink.esua.epdc.dto.KpiMetaDataDTO; |
|
|
|
import com.elink.esua.epdc.dto.form.EpdcEventsItemMataFromDTO; |
|
|
|
import com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO; |
|
|
|
import com.elink.esua.epdc.dto.form.KpiEventEvaluationFromDTO; |
|
|
|
import com.elink.esua.epdc.dto.result.KpiEvaluationAmountResultDTO; |
|
|
|
import com.elink.esua.epdc.dto.form.KpiEventJobEvaluationFromDTO; |
|
|
|
import com.elink.esua.epdc.dto.result.KpiEventReportAmountResultDTO; |
|
|
|
import com.elink.esua.epdc.entity.KpiMetaDataEntity; |
|
|
|
import com.elink.esua.epdc.enums.KpiCycleEnum; |
|
|
|
@ -459,4 +459,74 @@ public class KpiMetaDataServiceImpl extends BaseServiceImpl<KpiMetaDataDao, KpiM |
|
|
|
public void deleteRepetitionMetaList(List<KpiMetaDataEntity> metaList) { |
|
|
|
baseDao.deleteListRepetitionMeta(metaList); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
public void createJobEvaluation() { |
|
|
|
setMetaDataOfJobEvaluation(KpiCycleEnum.KPI_CYCLE_MONTH.getValue()); |
|
|
|
setMetaDataOfJobEvaluation(KpiCycleEnum.KPI_CYCLE_QUARTER.getValue()); |
|
|
|
setMetaDataOfJobEvaluation(KpiCycleEnum.KPI_CYCLE_YEAR.getValue()); |
|
|
|
} |
|
|
|
|
|
|
|
private void setMetaDataOfJobEvaluation(String kpiCycle) { |
|
|
|
// 获取考核周期开始日
|
|
|
|
Date startDate = getKpiStartDateByCycle(kpiCycle); |
|
|
|
if (null == startDate) { |
|
|
|
return; |
|
|
|
} |
|
|
|
// 初始化接口入参对象,用于传入events模块
|
|
|
|
KpiEventJobEvaluationFromDTO kpiEventJobEvaluationFromDTO = new KpiEventJobEvaluationFromDTO(); |
|
|
|
kpiEventJobEvaluationFromDTO.setStartDate(startDate); |
|
|
|
kpiEventJobEvaluationFromDTO.setEndDate(LocalDateUtils.localDateToDate(YearMonth.now().minusMonths(NumConstant.ONE).atEndOfMonth())); |
|
|
|
queryJobMetaByOrganizationType(kpiCycle, kpiEventJobEvaluationFromDTO,OrganizationTypeConstant.ORG_TYPE_DISTRICT_DEPT); |
|
|
|
queryJobMetaByOrganizationType(kpiCycle, kpiEventJobEvaluationFromDTO,OrganizationTypeConstant.ORG_TYPE_STREET_DEPT); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
private void queryJobMetaByOrganizationType(String kpiCycle, KpiEventJobEvaluationFromDTO kpiEventJobEvaluationFromDTO,String OrganizationType) { |
|
|
|
// 声明页容量和页码
|
|
|
|
int pageSize = NumConstant.TEN; |
|
|
|
int pageIndex = NumConstant.ONE; |
|
|
|
|
|
|
|
List<Long> gridList = deptUtils.getDeptIdList(OrganizationTypeConstant.ORG_TYPE_STREET_DEPT, pageSize, pageIndex); |
|
|
|
do { |
|
|
|
kpiEventJobEvaluationFromDTO.setDeptIdList(gridList); |
|
|
|
// 从events模块获取统计数据
|
|
|
|
List<KpiMetaDataDTO> jobEvaluationDataList = this.getjobEvaluationDataModule(kpiEventJobEvaluationFromDTO); |
|
|
|
// 组装元数据对象
|
|
|
|
List<KpiMetaDataEntity> kpiMetaDataEntities = this.packageJobMetaDataList(jobEvaluationDataList, kpiCycle,OrganizationType); |
|
|
|
// 插入之前删除已存在
|
|
|
|
this.deleteRepetitionMetaList(kpiMetaDataEntities); |
|
|
|
// 插入数据库
|
|
|
|
this.insertBatch(kpiMetaDataEntities); |
|
|
|
pageIndex++; |
|
|
|
gridList = deptUtils.getDeptIdList(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY, pageSize, pageIndex); |
|
|
|
} while (CollUtil.isNotEmpty(gridList)); |
|
|
|
} |
|
|
|
|
|
|
|
/*** |
|
|
|
* 组装数据 |
|
|
|
* @param KpiMetaDataDTO events模块获取统计数据 |
|
|
|
* @param kpiCycle 月 季 年 |
|
|
|
* @return java.util.List<com.elink.esua.epdc.entity.KpiMetaDataEntity> |
|
|
|
* @author qushutong |
|
|
|
* @date 2019/12/20 15:26 |
|
|
|
*/ |
|
|
|
private List<KpiMetaDataEntity> packageJobMetaDataList(List<KpiMetaDataDTO> KpiMetaDataDTO, String kpiCycle,String OrganizationType) { |
|
|
|
for (KpiMetaDataDTO item : KpiMetaDataDTO) { |
|
|
|
item.setKpiCycle(kpiCycle); |
|
|
|
item.setDeptTypeKey(OrganizationType); |
|
|
|
} |
|
|
|
return ConvertUtils.sourceToTarget(KpiMetaDataDTO,KpiMetaDataEntity.class); |
|
|
|
} |
|
|
|
|
|
|
|
private List<KpiMetaDataDTO> getjobEvaluationDataModule(KpiEventJobEvaluationFromDTO kpiEventJobEvaluationFromDTO) { |
|
|
|
Result<List<KpiMetaDataDTO>> listResult = eventFeignClient.queryListJobEvaluation(kpiEventJobEvaluationFromDTO); |
|
|
|
if (!listResult.success() || null == listResult.getData()) { |
|
|
|
log.error("统计事件上报数异常"); |
|
|
|
throw new RenException("统计事件上报数异常"); |
|
|
|
} |
|
|
|
return listResult.getData(); |
|
|
|
} |
|
|
|
|
|
|
|
} |