|
|
@ -33,6 +33,7 @@ import com.elink.esua.epdc.enums.KpiMetaDataEnum; |
|
|
|
import com.elink.esua.epdc.excel.KpiManualScoreTemplateExcel; |
|
|
|
import com.elink.esua.epdc.feign.AdminFeignClient; |
|
|
|
import com.elink.esua.epdc.service.KpiManualScoreService; |
|
|
|
import com.elink.esua.epdc.service.KpiMetaDataService; |
|
|
|
import com.elink.esua.epdc.utils.DeptUtils; |
|
|
|
import com.elink.esua.epdc.utils.KpiLocalDateUtils; |
|
|
|
import com.elink.esua.epdc.utils.StreamUtils; |
|
|
@ -72,7 +73,7 @@ public class KpiManualScoreServiceImpl extends BaseServiceImpl<KpiManualScoreDao |
|
|
|
private KpiResultGridDao kpiResultGridDao; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private KpiMetaDataDao kpiMetaDataDao; |
|
|
|
private KpiMetaDataService kpiMetaDataService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private DeptUtils deptUtils; |
|
|
@ -490,6 +491,13 @@ public class KpiManualScoreServiceImpl extends BaseServiceImpl<KpiManualScoreDao |
|
|
|
baseDao.deleteBatchIds(Arrays.asList(ids)); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void initManualScoreToMetaData() { |
|
|
|
initManualScoreToMetaDataByCycle(KpiCycleEnum.KPI_CYCLE_MONTH.getValue()); |
|
|
|
initManualScoreToMetaDataByCycle(KpiCycleEnum.KPI_CYCLE_QUARTER.getValue()); |
|
|
|
initManualScoreToMetaDataByCycle(KpiCycleEnum.KPI_CYCLE_YEAR.getValue()); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @param entity |
|
|
|
* @return com.baomidou.mybatisplus.core.conditions.query.QueryWrapper<com.elink.esua.epdc.entity.KpiManualScoreEntity> |
|
|
@ -497,7 +505,7 @@ public class KpiManualScoreServiceImpl extends BaseServiceImpl<KpiManualScoreDao |
|
|
|
* @Description |
|
|
|
* @Date 2019/12/6 13:58 |
|
|
|
**/ |
|
|
|
public QueryWrapper<KpiManualScoreEntity> getUniqueWrapper(KpiManualScoreEntity entity) { |
|
|
|
private QueryWrapper<KpiManualScoreEntity> getUniqueWrapper(KpiManualScoreEntity entity) { |
|
|
|
QueryWrapper<KpiManualScoreEntity> wrapper = new QueryWrapper<>(); |
|
|
|
wrapper.eq(StringUtils.isNotBlank(entity.getRuleId()), "RULE_ID", entity.getRuleId()) |
|
|
|
.eq(null != entity.getDeptId(), "DEPT_ID", entity.getDeptId()) |
|
|
@ -515,13 +523,6 @@ public class KpiManualScoreServiceImpl extends BaseServiceImpl<KpiManualScoreDao |
|
|
|
return wrapper; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void initManualScoreToMetaData() { |
|
|
|
initManualScoreToMetaDataByCycle(KpiCycleEnum.KPI_CYCLE_MONTH.getValue()); |
|
|
|
initManualScoreToMetaDataByCycle(KpiCycleEnum.KPI_CYCLE_QUARTER.getValue()); |
|
|
|
initManualScoreToMetaDataByCycle(KpiCycleEnum.KPI_CYCLE_YEAR.getValue()); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 根据考核周期,将手动打分初始化为元数据 |
|
|
|
* |
|
|
@ -536,33 +537,46 @@ public class KpiManualScoreServiceImpl extends BaseServiceImpl<KpiManualScoreDao |
|
|
|
return; |
|
|
|
} |
|
|
|
Date endDate = LocalDateUtils.localDateToDate(YearMonth.now().minusMonths(NumConstant.ONE).atEndOfMonth()); |
|
|
|
int pageIndex = NumConstant.ONE; |
|
|
|
|
|
|
|
int pageIndex = NumConstant.ONE; |
|
|
|
List<Long> deptIdList = deptUtils.getDeptIdList(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY, NumConstant.TWENTY, pageIndex); |
|
|
|
List<KpiMetaDataEntity> metaDataList; |
|
|
|
do { |
|
|
|
metaDataList = Lists.newArrayList(); |
|
|
|
for (Long deptId : deptIdList) { |
|
|
|
KpiManualScoreEntity scoreEntity = this.getKpiManualScoreEntity(deptId, startDate, endDate); |
|
|
|
metaDataList.add(packageKpiMetaDataEntity(deptId, startDate, endDate, kpiCycle, null == scoreEntity ? BigDecimal.ZERO : scoreEntity.getScore())); |
|
|
|
} |
|
|
|
kpiMetaDataService.deleteAndInsertBatch(metaDataList); |
|
|
|
pageIndex++; |
|
|
|
deptIdList = deptUtils.getDeptIdList(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY, NumConstant.TWENTY, pageIndex); |
|
|
|
} while (CollUtil.isNotEmpty(deptIdList)); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 组装元数据对象 |
|
|
|
* |
|
|
|
* @param deptId |
|
|
|
* @param startDate |
|
|
|
* @param endDate |
|
|
|
* @param kpiCycle |
|
|
|
* @param score |
|
|
|
* @return com.elink.esua.epdc.entity.KpiMetaDataEntity |
|
|
|
* @author work@yujt.net.cn |
|
|
|
* @date 2019/12/25 15:53 |
|
|
|
*/ |
|
|
|
private KpiMetaDataEntity packageKpiMetaDataEntity(Long deptId, Date startDate, Date endDate, String kpiCycle, BigDecimal score) { |
|
|
|
KpiMetaDataEntity metaDataEntity = new KpiMetaDataEntity(); |
|
|
|
metaDataEntity.setDeptTypeKey(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY); |
|
|
|
metaDataEntity.setEndDate(endDate); |
|
|
|
metaDataEntity.setStartDate(startDate); |
|
|
|
metaDataEntity.setKpiCycle(kpiCycle); |
|
|
|
metaDataEntity.setDeptId(deptId); |
|
|
|
metaDataEntity.setDataValue(BigDecimal.ZERO); |
|
|
|
metaDataEntity.setDataValue(score); |
|
|
|
metaDataEntity.setDataCode(KpiMetaDataEnum.GRID_SCORE_BY_SUPERIOR_MANUAL.getValue()); |
|
|
|
metaDataEntity.setDataName(KpiMetaDataEnum.GRID_SCORE_BY_SUPERIOR_MANUAL.getName()); |
|
|
|
|
|
|
|
do { |
|
|
|
for (Long deptId : deptIdList) { |
|
|
|
metaDataEntity.setDeptId(deptId); |
|
|
|
metaDataEntity.setDataValue(BigDecimal.ZERO); |
|
|
|
|
|
|
|
KpiManualScoreEntity scoreEntity = this.getKpiManualScoreEntity(deptId, startDate, endDate); |
|
|
|
if (null != scoreEntity) { |
|
|
|
metaDataEntity.setDataValue(scoreEntity.getScore()); |
|
|
|
} |
|
|
|
kpiMetaDataDao.insert(metaDataEntity); |
|
|
|
} |
|
|
|
|
|
|
|
pageIndex++; |
|
|
|
deptIdList = deptUtils.getDeptIdList(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY, NumConstant.TWENTY, pageIndex); |
|
|
|
} while (CollUtil.isNotEmpty(deptIdList)); |
|
|
|
return metaDataEntity; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -583,4 +597,5 @@ public class KpiManualScoreServiceImpl extends BaseServiceImpl<KpiManualScoreDao |
|
|
|
.eq(KpiFieldConstant.SCORE_END_DATE, endDate); |
|
|
|
return baseDao.selectOne(wrapper); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|