|
|
@ -34,7 +34,6 @@ import com.elink.esua.epdc.dao.KpiMetaDataDao; |
|
|
|
import com.elink.esua.epdc.dto.KpiMetaDataDTO; |
|
|
|
import com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO; |
|
|
|
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.dto.result.KpiItemHandleAmountResultDTO; |
|
|
|
import com.elink.esua.epdc.entity.KpiMetaDataEntity; |
|
|
@ -460,62 +459,88 @@ public class KpiMetaDataServiceImpl extends BaseServiceImpl<KpiMetaDataDao, KpiM |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
public void createJobEvaluation() { |
|
|
|
setMetaDataOfJobEvaluation(KpiCycleEnum.KPI_CYCLE_MONTH.getValue()); |
|
|
|
setMetaDataOfJobEvaluation(KpiCycleEnum.KPI_CYCLE_QUARTER.getValue()); |
|
|
|
setMetaDataOfJobEvaluation(KpiCycleEnum.KPI_CYCLE_YEAR.getValue()); |
|
|
|
public void statGridEvaluation() { |
|
|
|
statMetaDataOfGridEvaluation(KpiCycleEnum.KPI_CYCLE_MONTH.getValue(), OrganizationTypeConstant.ORG_TYPE_DISTRICT_DEPT); |
|
|
|
statMetaDataOfGridEvaluation(KpiCycleEnum.KPI_CYCLE_MONTH.getValue(), OrganizationTypeConstant.ORG_TYPE_STREET_DEPT); |
|
|
|
|
|
|
|
statMetaDataOfGridEvaluation(KpiCycleEnum.KPI_CYCLE_QUARTER.getValue(), OrganizationTypeConstant.ORG_TYPE_DISTRICT_DEPT); |
|
|
|
statMetaDataOfGridEvaluation(KpiCycleEnum.KPI_CYCLE_QUARTER.getValue(), OrganizationTypeConstant.ORG_TYPE_STREET_DEPT); |
|
|
|
|
|
|
|
statMetaDataOfGridEvaluation(KpiCycleEnum.KPI_CYCLE_YEAR.getValue(), OrganizationTypeConstant.ORG_TYPE_DISTRICT_DEPT); |
|
|
|
statMetaDataOfGridEvaluation(KpiCycleEnum.KPI_CYCLE_YEAR.getValue(), OrganizationTypeConstant.ORG_TYPE_STREET_DEPT); |
|
|
|
} |
|
|
|
|
|
|
|
private void setMetaDataOfJobEvaluation(String kpiCycle) { |
|
|
|
/** |
|
|
|
* 根据考核周期和部门类型 统计 网格对项目处理的满意度情况 |
|
|
|
* |
|
|
|
* @param kpiCycle 考核周期 |
|
|
|
* @param deptTypeKey 部门类型 |
|
|
|
* @return void |
|
|
|
* @author work@yujt.net.cn |
|
|
|
* @date 2019/12/23 17:24 |
|
|
|
*/ |
|
|
|
private void statMetaDataOfGridEvaluation(String kpiCycle, String deptTypeKey) { |
|
|
|
// 获取考核周期开始日
|
|
|
|
KpiMetaDataOfEventsFormDTO metaDataFormDto = this.initKpiParam(kpiCycle, "createJobEvaluation"); |
|
|
|
if (null != metaDataFormDto) { |
|
|
|
KpiEventJobEvaluationFromDTO kpiEventJobEvaluationFromDto = ConvertUtils.sourceToTarget(metaDataFormDto, KpiEventJobEvaluationFromDTO.class); |
|
|
|
queryJobMetaByOrganizationType(kpiCycle, kpiEventJobEvaluationFromDto, OrganizationTypeConstant.ORG_TYPE_DISTRICT_DEPT); |
|
|
|
queryJobMetaByOrganizationType(kpiCycle, kpiEventJobEvaluationFromDto, OrganizationTypeConstant.ORG_TYPE_STREET_DEPT); |
|
|
|
} |
|
|
|
// 声明页容量和页码
|
|
|
|
int pageIndex = NumConstant.ONE; |
|
|
|
|
|
|
|
List<Long> gridList = deptUtils.getDeptIdList(deptTypeKey, NumConstant.TEN, pageIndex); |
|
|
|
do { |
|
|
|
metaDataFormDto.setGridIdList(gridList); |
|
|
|
// 从events模块获取统计数据
|
|
|
|
List<KpiEvaluationAmountResultDTO> jobEvaluationDataList = this.getjobEvaluationDataModule(metaDataFormDto); |
|
|
|
// 组装元数据对象
|
|
|
|
List<KpiMetaDataEntity> kpiMetaDataEntities = this.packageMetaDataByGridEvaluationList(jobEvaluationDataList, metaDataFormDto, kpiCycle, deptTypeKey); |
|
|
|
// 插入之前删除已存在
|
|
|
|
this.deleteRepetitionMetaList(kpiMetaDataEntities); |
|
|
|
// 插入数据库
|
|
|
|
this.insertBatch(kpiMetaDataEntities); |
|
|
|
pageIndex++; |
|
|
|
gridList = deptUtils.getDeptIdList(deptTypeKey, NumConstant.TEN, pageIndex); |
|
|
|
} while (CollUtil.isNotEmpty(gridList)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
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 月 季 年 |
|
|
|
/** |
|
|
|
* 组装元数据实体,包括 网格对项目处理 满意、基本满意、不满意的数量 |
|
|
|
* |
|
|
|
* @param evaluationDataList 满意评价统计结果 |
|
|
|
* @param metaDataFormDto 考核周期开始、结束日 |
|
|
|
* @param kpiCycle 考核周期 |
|
|
|
* @param OrganizationType 部门类型 |
|
|
|
* @return java.util.List<com.elink.esua.epdc.entity.KpiMetaDataEntity> |
|
|
|
* @author qushutong |
|
|
|
* @date 2019/12/20 15:26 |
|
|
|
* @author work@yujt.net.cn |
|
|
|
* @date 2019/12/23 17:18 |
|
|
|
*/ |
|
|
|
private List<KpiMetaDataEntity> packageJobMetaDataList(List<KpiMetaDataDTO> KpiMetaDataDTO, String kpiCycle, String OrganizationType) { |
|
|
|
for (KpiMetaDataDTO item : KpiMetaDataDTO) { |
|
|
|
item.setKpiCycle(kpiCycle); |
|
|
|
item.setDeptTypeKey(OrganizationType); |
|
|
|
private List<KpiMetaDataEntity> packageMetaDataByGridEvaluationList(List<KpiEvaluationAmountResultDTO> evaluationDataList, |
|
|
|
KpiMetaDataOfEventsFormDTO metaDataFormDto, String kpiCycle, String OrganizationType) { |
|
|
|
Date startDate = metaDataFormDto.getStartDate(); |
|
|
|
Date endDate = metaDataFormDto.getEndDate(); |
|
|
|
// 声明集合用于存放所有元数据对象
|
|
|
|
List<KpiMetaDataEntity> kpiMetaDataEntityList = Lists.newArrayList(); |
|
|
|
KpiMetaDataEntity kpiMetaDataEntity; |
|
|
|
for (KpiEvaluationAmountResultDTO evaluationAmount : evaluationDataList) { |
|
|
|
// 网格评价满意数
|
|
|
|
kpiMetaDataEntity = packageMetaDataEntity(KpiMetaDataEnum.GRID_HIGH_EVALUATION_AMOUNT, BigDecimal.valueOf(evaluationAmount.getHighAmount()) |
|
|
|
, evaluationAmount.getDeptId(), OrganizationType, kpiCycle, startDate, endDate); |
|
|
|
kpiMetaDataEntityList.add(kpiMetaDataEntity); |
|
|
|
// 网格评价基本满意数
|
|
|
|
kpiMetaDataEntity = packageMetaDataEntity(KpiMetaDataEnum.GRID_MEDIUM_EVALUATION_AMOUNT, BigDecimal.valueOf(evaluationAmount.getMediumAmount()) |
|
|
|
, evaluationAmount.getDeptId(), OrganizationType, kpiCycle, startDate, endDate); |
|
|
|
kpiMetaDataEntityList.add(kpiMetaDataEntity); |
|
|
|
// 网格评价不满意数
|
|
|
|
kpiMetaDataEntity = packageMetaDataEntity(KpiMetaDataEnum.GRID_LOW_EVALUATION_AMOUNT, BigDecimal.valueOf(evaluationAmount.getLowAmount()) |
|
|
|
, evaluationAmount.getDeptId(), OrganizationType, kpiCycle, startDate, endDate); |
|
|
|
kpiMetaDataEntityList.add(kpiMetaDataEntity); |
|
|
|
} |
|
|
|
return ConvertUtils.sourceToTarget(KpiMetaDataDTO, KpiMetaDataEntity.class); |
|
|
|
return kpiMetaDataEntityList; |
|
|
|
} |
|
|
|
|
|
|
|
private List<KpiMetaDataDTO> getjobEvaluationDataModule(KpiEventJobEvaluationFromDTO kpiEventJobEvaluationFromDTO) { |
|
|
|
Result<List<KpiMetaDataDTO>> listResult = eventFeignClient.queryListJobEvaluation(kpiEventJobEvaluationFromDTO); |
|
|
|
private List<KpiEvaluationAmountResultDTO> getjobEvaluationDataModule(KpiMetaDataOfEventsFormDTO metaDataFormDto) { |
|
|
|
Result<List<KpiEvaluationAmountResultDTO>> listResult = eventFeignClient.statGridEvaluationMetaData(metaDataFormDto); |
|
|
|
if (!listResult.success() || null == listResult.getData()) { |
|
|
|
log.error("统计网格工作评议数异常"); |
|
|
|
throw new RenException("统计网格工作评议数异常"); |
|
|
|