Browse Source

元数据统计之网格工作评议代码修改

feature/dangjian
yujintao 6 years ago
parent
commit
033ae117fe
  1. 16
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java
  2. 8
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java
  3. 8
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java
  4. 21
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java
  5. 66
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml
  6. 2
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/service/ScheduleJobKpiService.java
  7. 5
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/constant/KpiScheduleCodeConstant.java
  8. 39
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/form/KpiEventJobEvaluationFromDTO.java
  9. 5
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiMetaDataController.java
  10. 6
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/feign/EventFeignClient.java
  11. 4
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/feign/fallback/EventFeignClientFallback.java
  12. 2
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiMetaDataService.java
  13. 111
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiMetaDataServiceImpl.java

16
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java

@ -25,11 +25,9 @@ import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.dto.KpiMetaDataDTO;
import com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO;
import com.elink.esua.epdc.dto.events.form.EventDeleteCommentsFormDTO;
import com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO;
import com.elink.esua.epdc.dto.form.KpiEventJobEvaluationFromDTO;
import com.elink.esua.epdc.dto.item.ItemDTO;
import com.elink.esua.epdc.dto.item.ItemPendingHandleDTO;
import com.elink.esua.epdc.dto.item.form.ItemHandleSubmitFormDTO;
@ -188,7 +186,7 @@ public class ItemController {
/**
* 统计项目处理数 包括网格呼叫总数网格呼叫被响应数网格呼叫被关闭数
* kpi- 统计项目处理数 包括网格呼叫总数网格呼叫被响应数网格呼叫被关闭数
*
* @param metaDataFormDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.KpiMetaDataDTO>>
@ -202,15 +200,15 @@ public class ItemController {
}
/***
* 网格工作评议
* @param kpiEventJobEvaluationFromDTO
* kpi- 网格对项目处理的评价 不满意 满意 非常满意 统计
* @param metaDataFormDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.KpiMetaDataDTO>>
* @author qushutong
* @date 2019/12/20 15:37
*/
@PostMapping("queryListJobEvaluation")
public Result<List<KpiMetaDataDTO>> queryListJobEvaluation(@RequestBody KpiEventJobEvaluationFromDTO kpiEventJobEvaluationFromDTO) {
return itemService.listJobEvaluation(kpiEventJobEvaluationFromDTO);
@PostMapping("statGridEvaluationMetaData")
public Result<List<KpiEvaluationAmountResultDTO>> statGridEvaluationMetaData(@RequestBody KpiMetaDataOfEventsFormDTO metaDataFormDto) {
List<KpiEvaluationAmountResultDTO> list = itemService.statGridEvaluationMetaData(metaDataFormDto);
return new Result().ok(list);
}
}

8
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java

@ -18,10 +18,8 @@
package com.elink.esua.epdc.modules.item.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.KpiMetaDataDTO;
import com.elink.esua.epdc.dto.result.KpiItemTimeLimitByDeptResultDTO;
import com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO;
import com.elink.esua.epdc.dto.form.KpiEventJobEvaluationFromDTO;
import com.elink.esua.epdc.dto.item.ItemDTO;
import com.elink.esua.epdc.dto.item.ItemPendingHandleDTO;
import com.elink.esua.epdc.dto.item.form.ItemCategoryStatisticsFormDTO;
@ -210,13 +208,13 @@ public interface ItemDao extends BaseDao<ItemEntity> {
List<KpiEvaluationAmountResultDTO> selectListPeopleEvaluationMetaData(KpiMetaDataOfEventsFormDTO metaDataFormDto);
/***
* 绩效考核 - 项目 - 网格工作评议 不满意 满意 非常满意 统计
* @param kpiEventJobEvaluationFromDTO
* 绩效考核 - 项目 - 网格对项目处理的评价 不满意 满意 非常满意 统计
* @param metaDataFormDto
* @return java.util.List<com.elink.esua.epdc.dto.KpiMetaDataDTO>
* @author qushutong
* @date 2019/12/20 15:43
*/
List<KpiMetaDataDTO> selectListJobEvaluation(KpiEventJobEvaluationFromDTO kpiEventJobEvaluationFromDTO);
List<KpiEvaluationAmountResultDTO> selectListGridEvaluationMetaData(KpiMetaDataOfEventsFormDTO metaDataFormDto);
/***
* 绩效考核 - 项目 - 网格吹哨总数

8
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java

@ -20,10 +20,8 @@ package com.elink.esua.epdc.modules.item.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.KpiMetaDataDTO;
import com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO;
import com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO;
import com.elink.esua.epdc.dto.form.KpiEventJobEvaluationFromDTO;
import com.elink.esua.epdc.dto.item.ItemDTO;
import com.elink.esua.epdc.dto.item.ItemPendingHandleDTO;
import com.elink.esua.epdc.dto.item.form.*;
@ -324,11 +322,11 @@ public interface ItemService extends BaseService<ItemEntity> {
List<KpiItemHandleAmountResultDTO> statItemHandleAmount(KpiMetaDataOfEventsFormDTO metaDataFormDto);
/***
* 网格工作评议
* @param kpiEventJobEvaluationFromDTO
* 绩效考核 - 项目 - 网格对项目处理的评价 不满意 满意 非常满意 统计
* @param metaDataFormDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.KpiMetaDataDTO>>
* @author qushutong
* @date 2019/12/20 15:40
*/
Result<List<KpiMetaDataDTO>> listJobEvaluation(KpiEventJobEvaluationFromDTO kpiEventJobEvaluationFromDTO);
List<KpiEvaluationAmountResultDTO> statGridEvaluationMetaData(KpiMetaDataOfEventsFormDTO metaDataFormDto);
}

21
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java

@ -35,14 +35,12 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.constant.*;
import com.elink.esua.epdc.constants.MenuCodeConstant;
import com.elink.esua.epdc.dto.CompleteDeptDTO;
import com.elink.esua.epdc.dto.KpiMetaDataDTO;
import com.elink.esua.epdc.dto.MenuNoticeDTO;
import com.elink.esua.epdc.dto.SysDeptDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO;
import com.elink.esua.epdc.dto.result.KpiItemTimeLimitByDeptResultDTO;
import com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO;
import com.elink.esua.epdc.dto.form.KpiEventJobEvaluationFromDTO;
import com.elink.esua.epdc.dto.issue.result.IssueProgressResultDTO;
import com.elink.esua.epdc.dto.item.ItemDTO;
import com.elink.esua.epdc.dto.item.ItemDeptDTO;
@ -855,21 +853,8 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
}
@Override
public Result<List<KpiMetaDataDTO>> listJobEvaluation(KpiEventJobEvaluationFromDTO kpiEventJobEvaluationFromDTO) {
List<KpiMetaDataDTO> kpiMetaDataDTOList;
List<KpiMetaDataDTO> allMetaDataList = new ArrayList<>();
//统计不满意
kpiEventJobEvaluationFromDTO.setEvaluationLevel(ItemEvaluationLevel.levaluationLevelBad);
kpiMetaDataDTOList = baseDao.selectListJobEvaluation(kpiEventJobEvaluationFromDTO);
allMetaDataList.addAll(kpiMetaDataDTOList);
//满意
kpiEventJobEvaluationFromDTO.setEvaluationLevel(ItemEvaluationLevel.levaluationLevelBetter);
kpiMetaDataDTOList = baseDao.selectListJobEvaluation(kpiEventJobEvaluationFromDTO);
allMetaDataList.addAll(kpiMetaDataDTOList);
//非常满意
kpiEventJobEvaluationFromDTO.setEvaluationLevel(ItemEvaluationLevel.levaluationLevelBest);
kpiMetaDataDTOList = baseDao.selectListJobEvaluation(kpiEventJobEvaluationFromDTO);
allMetaDataList.addAll(kpiMetaDataDTOList);
return new Result<List<KpiMetaDataDTO>>().ok(allMetaDataList);
public List<KpiEvaluationAmountResultDTO> statGridEvaluationMetaData(KpiMetaDataOfEventsFormDTO metaDataFormDto) {
List<KpiEvaluationAmountResultDTO> list = baseDao.selectListGridEvaluationMetaData(metaDataFormDto);
return list;
}
}

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

@ -804,56 +804,38 @@
) noticeTable ON pendingTable.keystr = noticeTable.keystr
</select>
<select id="selectListPeopleEvaluationMetaData"
resultType="com.elink.esua.epdc.dto.result.KpiEvaluationAmountResultDTO">
<select id="selectListPeopleEvaluationMetaData" resultType="com.elink.esua.epdc.dto.result.KpiEvaluationAmountResultDTO">
SELECT
dept.deptId,
COUNT( ei.EVALUATION_SCORE = '0' OR NULL ) lowAmount,
COUNT( ei.EVALUATION_SCORE = '1' OR NULL ) mediumAmount,
COUNT( ei.EVALUATION_SCORE = '2' OR NULL ) highAmount
dept.deptId,
COUNT( ei.EVALUATION_SCORE = '0' OR NULL ) lowAmount,
COUNT( ei.EVALUATION_SCORE = '1' OR NULL ) mediumAmount,
COUNT( ei.EVALUATION_SCORE = '2' OR NULL ) highAmount
FROM
(
<foreach collection="gridIdList" item="item" separator="UNION ALL">
SELECT #{item} AS deptId
</foreach>
) dept
<foreach collection="gridIdList" item="item" open="( " separator="UNION ALL" close=") dept ">
SELECT #{item} AS deptId
</foreach>
LEFT JOIN epdc_item ei ON ei.GRID_ID = dept.deptId
WHERE
(ei.DEL_FLAG = '0' AND ei.CREATED_TIME BETWEEN #{startDate} AND #{endDate})
OR ei.DEL_FLAG IS NULL
GROUP BY
dept.deptId
(ei.DEL_FLAG = '0' AND ei.CREATED_TIME BETWEEN #{startDate} AND #{endDate})
OR ei.DEL_FLAG IS NULL
GROUP BY dept.deptId
</select>
<select id="selectListJobEvaluation" resultType="com.elink.esua.epdc.dto.KpiMetaDataDTO">
<select id="selectListGridEvaluationMetaData" resultType="com.elink.esua.epdc.dto.result.KpiEvaluationAmountResultDTO">
SELECT
<if test='evaluationLevel=="0"'>
'网格评议不满意数' as dataName,
'grid_low_evaluation_amount' as dataCode,
</if>
<if test='evaluationLevel=="1"'>
'网格评议基本满意数' as dataName,
'grid_medium_evaluation_amount' as dataCode,
</if>
<if test='evaluationLevel=="2"'>
'网格评议满意数' as data_name,
'grid_high_evaluation_amount' as dataCode,
</if>
COUNT(ed.ID) as dataValue,
#{startDate} as startDate,
#{endDate} as endDate,
dept.deptId AS deptId
dept.deptId,
COUNT(ed.EVALUATION_LEVEL = '0' OR NULL) lowAmount,
COUNT(ed.EVALUATION_LEVEL = '1' OR NULL) mediumAmount,
COUNT(ed.EVALUATION_LEVEL = '2' OR NULL) highAmount
FROM
<foreach item="deptId" collection="deptIdList" open="( " separator="UNION ALL" close=") dept">
SELECT #{deptId} AS deptId
</foreach>
LEFT JOIN
epdc_item_evaluate_dept ed ON dept.deptId = ed.DEPT_ID
AND
#{evaluationLevel} = ed.EVALUATION_LEVEL
AND ed.DEL_FLAG = '0' AND ed.CREATED_TIME BETWEEN #{startDate} AND #{endDate}
GROUP BY
dept.deptId
<foreach item="deptId" collection="deptIdList" open="( " separator="UNION ALL" close=") dept">
SELECT #{deptId} AS deptId
</foreach>
LEFT JOIN epdc_item_evaluate_dept ed ON dept.deptId = ed.DEPT_ID
WHERE
(ed.DEL_FLAG = '0' AND ed.CREATED_TIME BETWEEN #{startDate} AND #{endDate})
OR ed.DEL_FLAG IS NULL
GROUP BY dept.deptId
</select>
<select id="selectListItemGridCallAmount" resultType="com.elink.esua.epdc.dto.result.KpiItemHandleAmountResultDTO">

2
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/service/ScheduleJobKpiService.java

@ -9,7 +9,7 @@ public interface ScheduleJobKpiService {
/***
* 启动kpi模块获取原始数据
* @param
* @param params
* @return void
* @author qushutong
* @date 2019/12/12 16:56

5
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/constant/KpiScheduleCodeConstant.java

@ -12,7 +12,6 @@ public interface KpiScheduleCodeConstant {
* 元数据统计群众事件上报总数 被响应总数
*/
String META_DATA_PEOPLE_REPORT_AMOUNT = "peopleReportAmount";
/**
* 元数据统计群众对网格问题办理 满意度评价
*/
@ -21,6 +20,10 @@ public interface KpiScheduleCodeConstant {
* 元数据统计包括网格呼叫数网格呼叫被响应数网格呼叫被办结数
*/
String META_DATA_ITEM_HANDLE_AMOUNT = "itemHandleAmount";
/**
* 元数据统计网格对项目处理 满意度评价
*/
String META_DATA_GRID_EVALUATION = "gridEvaluation";
/**
* 公式计算基础网格平时工作成效月度

39
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/form/KpiEventJobEvaluationFromDTO.java

@ -1,39 +0,0 @@
package com.elink.esua.epdc.dto.form;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @author: qushutong
* @Date: 2019/12/20 14:59
* @Description: 网格工作评议 入参
*/
@Data
public class KpiEventJobEvaluationFromDTO implements Serializable {
private static final long serialVersionUID = -370689151754223228L;
/**
* 所有网格
*/
private List<Long> deptIdList;
/**
* 统计周期开始日
*/
private Date startDate;
/**
* 统计周期结束日
*/
private Date endDate;
/***
* 评价结果0-不满意1-基本满意2-非常满意
*/
private String evaluationLevel;
}

5
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiMetaDataController.java

@ -107,9 +107,8 @@ public class KpiMetaDataController {
kpiMetaDataService.statPeopleEvaluation();
} else if (kpiScheduleCode.equals(KpiScheduleCodeConstant.META_DATA_ITEM_HANDLE_AMOUNT)) {
kpiMetaDataService.statItemHandleAmount();
} else {
// 网格工作评议
kpiMetaDataService.createJobEvaluation();
} else if (kpiScheduleCode.equals(KpiScheduleCodeConstant.META_DATA_GRID_EVALUATION)){
kpiMetaDataService.statGridEvaluation();
}
return new Result();
}

6
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/feign/EventFeignClient.java

@ -60,13 +60,13 @@ public interface EventFeignClient {
/***
* 获取网格工作评议
* @param kpiEventJobEvaluationFromDTO
* @param metaDataFormDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.KpiMetaDataDTO>>
* @author qushutong
* @date 2019/12/20 15:16
*/
@PostMapping(value = "events/item/queryListJobEvaluation", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<KpiMetaDataDTO>> queryListJobEvaluation(KpiEventJobEvaluationFromDTO kpiEventJobEvaluationFromDTO);
@PostMapping(value = "events/item/statGridEvaluationMetaData", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<KpiEvaluationAmountResultDTO>> statGridEvaluationMetaData(KpiMetaDataOfEventsFormDTO metaDataFormDto);
/**
* 统计项目处理数 包括网格呼叫总数网格呼叫被响应数网格呼叫被关闭数

4
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/feign/fallback/EventFeignClientFallback.java

@ -40,8 +40,8 @@ public class EventFeignClientFallback implements EventFeignClient {
}
@Override
public Result<List<KpiMetaDataDTO>> queryListJobEvaluation(KpiEventJobEvaluationFromDTO kpiEventJobEvaluationFromDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "queryListJobEvaluation", kpiEventJobEvaluationFromDTO);
public Result<List<KpiEvaluationAmountResultDTO>> statGridEvaluationMetaData(KpiMetaDataOfEventsFormDTO metaDataFormDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "statGridEvaluationMetaData", metaDataFormDto);
}
@Override

2
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiMetaDataService.java

@ -128,6 +128,6 @@ public interface KpiMetaDataService extends BaseService<KpiMetaDataEntity> {
* @author qushutong
* @date 2019/12/20 14:48
*/
void createJobEvaluation();
void statGridEvaluation();
}

111
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiMetaDataServiceImpl.java

@ -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("统计网格工作评议数异常");

Loading…
Cancel
Save