Browse Source

绩效考核-考核统计页面,后端代码

feature/dangjian
zhangyongzhangyong 6 years ago
parent
commit
9fe8dea764
  1. 32
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/KpiResultGridDTO.java
  2. 50
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/enums/KpiResultGridDataEnum.java
  3. 33
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiResultGridController.java
  4. 3
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiMetaDataDao.java
  5. 30
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiResultGridDao.java
  6. 22
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/excel/KpiResultGridDetailExcel.java
  7. 69
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/excel/KpiResultGridExcel.java
  8. 8
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiResultGridService.java
  9. 160
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiResultGridServiceImpl.java
  10. 2
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiRuleServiceImpl.java
  11. 18
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiMetaDataDao.xml
  12. 76
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiResultGridDao.xml

32
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/KpiResultGridDTO.java

@ -134,4 +134,36 @@ public class KpiResultGridDTO implements Serializable {
*/ */
private String delFlag; private String delFlag;
//虚字段
/**
* 街道名
*/
private String street;
/**
* 社区名
*/
private String community;
/**
* 网格名
*/
private String grid;
/**
* 伪列
*/
private int rownum;
/**
* 规则
*/
private String rule;
/**
* 详情
*/
private String detail;
} }

50
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/enums/KpiResultGridDataEnum.java

@ -0,0 +1,50 @@
package com.elink.esua.epdc.enums;
/**
* @author: zy
* @Date: 2019/12/20
* @Description: 数据项名称
*/
public enum KpiResultGridDataEnum {
/***
* 履行抓基层党建工作职责得分
*/
BASIC_LEVEL_WORK_SCORE("basic_level_work_score", "履行抓基层党建工作职责得分"),
/***
* 群众反映问题网格响应率得分
*/
GIRD_PROBLEM_RESPONSE_RATE_SCORE("gird_problem_response_rate_score","群众反映问题网格响应率得分"),
/***
* 群众反映问题网格办理满意率得分
*/
GIRD_PROBLEM_SATISFACTION_RATE_SCORE("gird_problem_satisfaction_rate_score","群众反映问题网格办理满意率得分");
private String value;
private String name;
KpiResultGridDataEnum(String value, String name) {
this.value = value;
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

33
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiResultGridController.java

@ -26,6 +26,7 @@ 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.UpdateGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.dto.KpiResultGridDTO; import com.elink.esua.epdc.dto.KpiResultGridDTO;
import com.elink.esua.epdc.excel.KpiResultGridDetailExcel;
import com.elink.esua.epdc.excel.KpiResultGridExcel; import com.elink.esua.epdc.excel.KpiResultGridExcel;
import com.elink.esua.epdc.service.KpiResultGridService; import com.elink.esua.epdc.service.KpiResultGridService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -55,10 +56,17 @@ public class KpiResultGridController {
return new Result<PageData<KpiResultGridDTO>>().ok(page); return new Result<PageData<KpiResultGridDTO>>().ok(page);
} }
/**
* @Description: 考核统计 详情页查询
* @Param: [id]
* @return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.KpiResultGridDTO>
* @Author: zy
* @Date: 2019-12-20
*/
@GetMapping("{id}") @GetMapping("{id}")
public Result<KpiResultGridDTO> get(@PathVariable("id") String id){ public Result<List<KpiResultGridDTO>> get(@PathVariable("id") String id){
KpiResultGridDTO data = kpiResultGridService.get(id); List<KpiResultGridDTO> data = kpiResultGridService.get(id);
return new Result<KpiResultGridDTO>().ok(data); return new Result<List<KpiResultGridDTO>>().ok(data);
} }
@PostMapping @PostMapping
@ -85,6 +93,13 @@ public class KpiResultGridController {
return new Result(); return new Result();
} }
/**
* @Description: 考核统计首页导出
* @Param: [params, response]
* @return: void
* @Author: zy
* @Date: 2019-12-20
*/
@GetMapping("export") @GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<KpiResultGridDTO> list = kpiResultGridService.list(params); List<KpiResultGridDTO> list = kpiResultGridService.list(params);
@ -92,4 +107,16 @@ public class KpiResultGridController {
} }
/**
* @Description: 详情页表格导出
* @Param: [params, response]
* @return: void
* @Author: zy
* @Date: 2019-12-20
*/
@GetMapping("tableExport")
public void tableExport(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<KpiResultGridDTO> data = kpiResultGridService.get(params.get("id").toString());
ExcelUtils.exportExcelToTarget(response, "考核统计得分详情", data, KpiResultGridDetailExcel.class);
}
} }

3
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiMetaDataDao.java

@ -19,6 +19,7 @@ package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; 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.dto.KpiResultGridDTO;
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 org.apache.ibatis.annotations.Param;
@ -44,4 +45,6 @@ public interface KpiMetaDataDao extends BaseDao<KpiMetaDataEntity> {
* @date 2019/12/20 13:32 * @date 2019/12/20 13:32
*/ */
void deleteListRepetitionMeta(@Param("metaList") List<KpiMetaDataEntity> metaList); void deleteListRepetitionMeta(@Param("metaList") List<KpiMetaDataEntity> metaList);
List<KpiMetaDataDTO> queryGridProblemHandlingScore(KpiResultGridDTO kpiResultGridDTO);
} }

30
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiResultGridDao.java

@ -18,6 +18,7 @@
package com.elink.esua.epdc.dao; package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.dto.KpiResultGridDTO; import com.elink.esua.epdc.dto.KpiResultGridDTO;
import com.elink.esua.epdc.entity.KpiResultGridEntity; import com.elink.esua.epdc.entity.KpiResultGridEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -53,4 +54,33 @@ public interface KpiResultGridDao extends BaseDao<KpiResultGridEntity> {
* @Date: 2019-12-17 * @Date: 2019-12-17
*/ */
List<KpiResultGridEntity> selectKpiResultGrid(KpiResultGridEntity kpiResultGridEntity); List<KpiResultGridEntity> selectKpiResultGrid(KpiResultGridEntity kpiResultGridEntity);
/**
* 自定义分页列表
*
* @param params
* @return PageData<KpiResultGridDTO>
* @author generator
* @date 2019-12-17
*/
List<KpiResultGridDTO> selectStatisticalInfoList(Map<String, Object> params);
/**
* @Description: 自定义分页总数
* @Param: [params]
* @return: int
* @Author: zy
* @Date: 2019-12-19
*/
int selectStatisticalInfoCount(Map<String, Object> params);
/**
* 自定义默认查询首页统计列表
*
* @param params
* @return List<KpiResultGridDTO>
* @author zy
* @date 2019-12-20
*/
List<KpiResultGridDTO> list(Map<String, Object> params);
} }

22
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/excel/KpiResultGridDetailExcel.java

@ -0,0 +1,22 @@
package com.elink.esua.epdc.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
/**
* 网格考核详情导出
*
* @author zy
* @since v1.0.0 2019-12-17
*/
@Data
public class KpiResultGridDetailExcel {
@Excel(name = "排名")
private int rownum;
@Excel(name = "规则")
private String rule;
@Excel(name = "详情")
private String detail;
}

69
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/excel/KpiResultGridExcel.java

@ -32,65 +32,28 @@ import java.util.Date;
@Data @Data
public class KpiResultGridExcel { public class KpiResultGridExcel {
@Excel(name = "主键") @Excel(name = "排名")
private String id; private int rownum;
@Excel(name = "网格ID") @Excel(name = "街道")
private Long gridId; private String street;
@Excel(name = "手动打分得分") @Excel(name = "社区")
private BigDecimal manualScore; private String community;
@Excel(name = "工作得分")
private BigDecimal workScore;
@Excel(name = "投票得分")
private BigDecimal voteScore;
@Excel(name = "最终得分")
private BigDecimal finalScore;
@Excel(name = "考核周期开始日")
private Date startDate;
@Excel(name = "考核周期结束日")
private Date endDate;
@Excel(name = "网格长名称")
private String gridLeader;
@Excel(name = "考核周期(字典值 代表月,季,年)")
private String kpiCycle;
@Excel(name = "所有上级机构id") @Excel(name = "网格名称")
private String parentDeptIds; private String grid;
@Excel(name = "所有上级机构名称") @Excel(name = "网格长")
private String parentDeptNames; private String leaderName;
@Excel(name = "所有机构id") @Excel(name = "抓基层党建工作职责得分")
private String allDeptIds; private BigDecimal manualScore;
@Excel(name = "所有机构名称")
private String allDeptNames;
@Excel(name = "乐观锁")
private Integer revision;
@Excel(name = "创建人")
private String createdBy;
@Excel(name = "创建时间")
private Date createdTime;
@Excel(name = "更新人")
private String updatedBy;
@Excel(name = "更新时间")
private Date updatedTime;
@Excel(name = "删除标记") @Excel(name = "平时工作得分")
private String delFlag; private BigDecimal workScore;
@Excel(name = "总分")
private BigDecimal finalScore;
} }

8
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/KpiResultGridService.java

@ -34,7 +34,7 @@ import java.util.Map;
public interface KpiResultGridService extends BaseService<KpiResultGridEntity> { public interface KpiResultGridService extends BaseService<KpiResultGridEntity> {
/** /**
* 默认分页 * 自定义分页
* *
* @param params * @param params
* @return PageData<KpiResultGridDTO> * @return PageData<KpiResultGridDTO>
@ -44,7 +44,7 @@ public interface KpiResultGridService extends BaseService<KpiResultGridEntity> {
PageData<KpiResultGridDTO> page(Map<String, Object> params); PageData<KpiResultGridDTO> page(Map<String, Object> params);
/** /**
* 默认查询 * 自定义默认查询
* *
* @param params * @param params
* @return java.util.List<KpiResultGridDTO> * @return java.util.List<KpiResultGridDTO>
@ -54,14 +54,14 @@ public interface KpiResultGridService extends BaseService<KpiResultGridEntity> {
List<KpiResultGridDTO> list(Map<String, Object> params); List<KpiResultGridDTO> list(Map<String, Object> params);
/** /**
* 单条查询 * 详情查询
* *
* @param id * @param id
* @return KpiResultGridDTO * @return KpiResultGridDTO
* @author generator * @author generator
* @date 2019-12-17 * @date 2019-12-17
*/ */
KpiResultGridDTO get(String id); List<KpiResultGridDTO> get(String id);
/** /**
* 默认保存 * 默认保存

160
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiResultGridServiceImpl.java

@ -23,9 +23,13 @@ import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.dao.KpiMetaDataDao;
import com.elink.esua.epdc.dao.KpiResultGridDao; import com.elink.esua.epdc.dao.KpiResultGridDao;
import com.elink.esua.epdc.dto.KpiMetaDataDTO;
import com.elink.esua.epdc.dto.KpiResultGridDTO; import com.elink.esua.epdc.dto.KpiResultGridDTO;
import com.elink.esua.epdc.entity.KpiResultGridEntity; import com.elink.esua.epdc.entity.KpiResultGridEntity;
import com.elink.esua.epdc.enums.KpiMetaDataEnum;
import com.elink.esua.epdc.enums.KpiResultGridDataEnum;
import com.elink.esua.epdc.redis.KpiResultGridRedis; import com.elink.esua.epdc.redis.KpiResultGridRedis;
import com.elink.esua.epdc.service.KpiResultGridService; import com.elink.esua.epdc.service.KpiResultGridService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -33,9 +37,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays; import java.math.BigDecimal;
import java.util.List; import java.text.SimpleDateFormat;
import java.util.Map; import java.util.*;
/** /**
* 网格考核最终得分 * 网格考核最终得分
@ -48,21 +52,38 @@ public class KpiResultGridServiceImpl extends BaseServiceImpl<KpiResultGridDao,
@Autowired @Autowired
private KpiResultGridRedis kpiResultGridRedis; private KpiResultGridRedis kpiResultGridRedis;
@Autowired
private KpiResultGridDao kpiResultGridDao;
@Autowired
private KpiMetaDataDao kpiMetaDataDao;
@Override @Override
public PageData<KpiResultGridDTO> page(Map<String, Object> params) { public PageData<KpiResultGridDTO> page(Map<String, Object> params) {
IPage<KpiResultGridEntity> page = baseDao.selectPage( Integer page = Integer.parseInt(params.get("page").toString());
getPage(params, FieldConstant.CREATED_TIME, false), Integer limit = Integer.parseInt(params.get("limit").toString());
getWrapper(params) String allDeptIds = "";
); if (params.get("streetId") != "" && params.get("streetId") != null){
return getPageData(page, KpiResultGridDTO.class); allDeptIds = params.get("streetId").toString(); //查询条件 街道
}
if (params.get("community") != "" && params.get("community") != null){
allDeptIds = params.get("community").toString(); //查询条件 社区
}
if (params.get("gridId") != "" && params.get("gridId") != null){
allDeptIds = params.get("gridId").toString(); //查询条件 网格
}
params.put("page",page -1);
params.put("limit", limit);
params.put("allDeptIds", allDeptIds);
int count = kpiResultGridDao.selectStatisticalInfoCount(params);
List<KpiResultGridDTO> list = kpiResultGridDao.selectStatisticalInfoList(params);
PageData<KpiResultGridDTO> pageData = new PageData<KpiResultGridDTO>(list,count);
return pageData;
} }
@Override @Override
public List<KpiResultGridDTO> list(Map<String, Object> params) { public List<KpiResultGridDTO> list(Map<String, Object> params) {
List<KpiResultGridEntity> entityList = baseDao.selectList(getWrapper(params)); List<KpiResultGridDTO> entityList = baseDao.list(params);
return entityList;
return ConvertUtils.sourceToTarget(entityList, KpiResultGridDTO.class);
} }
private QueryWrapper<KpiResultGridEntity> getWrapper(Map<String, Object> params){ private QueryWrapper<KpiResultGridEntity> getWrapper(Map<String, Object> params){
@ -74,10 +95,123 @@ public class KpiResultGridServiceImpl extends BaseServiceImpl<KpiResultGridDao,
return wrapper; return wrapper;
} }
/**
* @Description: 返回考核统计 详情页详情
* @Param: [id]
* @return: java.util.List<com.elink.esua.epdc.dto.KpiResultGridDTO>
* 序号rownum
* 规则rule
* 详情detail
* @Author: zy
* @Date: 2019-12-20
*/
@Override @Override
public KpiResultGridDTO get(String id) { public List<KpiResultGridDTO> get(String id) {
List<KpiResultGridDTO> listMap = new ArrayList<KpiResultGridDTO>();
//查询网格考核最终得分表, 拼接:履行抓基层党建工作职责得分
KpiResultGridDTO workScore = this.getWorkDutyScore(id);
listMap.add(workScore);
//根据 部门ID(网格ID),开始时间,结束时间(年月日) 查询 绩效考核的元数据表, 根据枚举计算得分
Map<String,BigDecimal> mapBigDecimal = this.gridProblemHandlingScore(workScore);
// 拼接:群众反映问题网格响应率得分
KpiResultGridDTO dto = new KpiResultGridDTO();
StringBuilder responseDetail = new StringBuilder();
responseDetail.append("群众反应问题总数:");
responseDetail.append(mapBigDecimal.get("peopleReportAmount") + ",");
responseDetail.append("群众反应问题响应数:" + mapBigDecimal.get("peopleReportRespAmount"));
dto.setRownum(2);
dto.setRule(KpiResultGridDataEnum.GIRD_PROBLEM_RESPONSE_RATE_SCORE.getName());
dto.setDetail(responseDetail.toString());
listMap.add(dto);
// 拼接:群群众反映问题网格办理满意率得分
KpiResultGridDTO dto1 = new KpiResultGridDTO();
StringBuilder satisfiedDetail = new StringBuilder();
satisfiedDetail.append("调查总数:" + mapBigDecimal.get("total") + ";满意数:" + mapBigDecimal.get("peopleHighEvaluationAmount") + ";基本满意数:"
+ mapBigDecimal.get("peopleMediumEvaluationAmount") + ";不满意数:" + mapBigDecimal.get("peopleLowEvaluationAmount"));
dto1.setRownum(3);
dto1.setRule(KpiResultGridDataEnum.GIRD_PROBLEM_SATISFACTION_RATE_SCORE.getName());
dto1.setDetail(satisfiedDetail.toString());
listMap.add(dto1);
return listMap;
}
/**
* @Description: 根据 网格考核最终得分表主键拼接履行抓基层党建工作职责得分
* @Param: [id]
* @return: com.elink.esua.epdc.dto.KpiResultGridDTO
* @Author: zy
* @Date: 2019-12-20
*/
public KpiResultGridDTO getWorkDutyScore(String id){
KpiResultGridDTO kpiResultGridDTO = new KpiResultGridDTO();
KpiResultGridEntity entity = baseDao.selectById(id); KpiResultGridEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, KpiResultGridDTO.class); StringBuilder detail = new StringBuilder();
detail.append("评分部门:");
if (entity.getAllDeptNames() != null && entity.getAllDeptNames() != ""){
String[] split = entity.getAllDeptNames().split("-");
if (split.length >= 2){
detail.append(split[2] + ",");
}else {
detail.append(",");
}
}else {
detail.append(",");
}
SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String scoreTime = sim.format(entity.getCreatedTime());
detail.append("评分时间:" + scoreTime + ", 原始得分:" + entity.getManualScore());
kpiResultGridDTO.setRownum(1);
kpiResultGridDTO.setRule(KpiResultGridDataEnum.BASIC_LEVEL_WORK_SCORE.getName());
kpiResultGridDTO.setDetail(detail.toString());
//用作后期查询,不生成导出列
kpiResultGridDTO.setGridId(entity.getGridId());
kpiResultGridDTO.setId(id);
kpiResultGridDTO.setStartDate(entity.getStartDate());
kpiResultGridDTO.setEndDate(entity.getEndDate());
return kpiResultGridDTO;
}
/**
* @Description: 部门ID(网格ID),开始时间,结束时间(年月日) 查询 绩效考核的元数据表
* @Param: {startDate}{endDate}{deptId}
* @return: com.elink.esua.epdc.dto.KpiResultGridDTO
* @Author: zy
* @Date: 2019-12-20
*/
public Map<String,BigDecimal> gridProblemHandlingScore(KpiResultGridDTO kpiResultGridDTO){
Map<String,BigDecimal> map = new HashMap<String,BigDecimal>();
List<KpiMetaDataDTO> dto = kpiMetaDataDao.queryGridProblemHandlingScore(kpiResultGridDTO);
BigDecimal peopleReportAmount = new BigDecimal(0);
BigDecimal peopleReportRespAmount = new BigDecimal(0);
BigDecimal peopleHighEvaluationAmount = new BigDecimal(0);
BigDecimal peopleMediumEvaluationAmount = new BigDecimal(0);
BigDecimal peopleLowEvaluationAmount = new BigDecimal(0);
BigDecimal total = new BigDecimal(0);
for (KpiMetaDataDTO kpiMetaDataDTO : dto){
if (KpiMetaDataEnum.PEOPLE_REPORT_AMOUNT.equals(kpiMetaDataDTO.getDataCode())){ // 计算 群众反映问题总数
peopleReportAmount = peopleReportAmount.add(kpiMetaDataDTO.getDataValue());
}else if (KpiMetaDataEnum.PEOPLE_REPORT_RESP_AMOUNT.equals(kpiMetaDataDTO.getDataCode())){ //群众反映问题被响应数
peopleReportRespAmount = peopleReportRespAmount.add(kpiMetaDataDTO.getDataValue());
}else if (KpiMetaDataEnum.PEOPLE_HIGH_EVALUATION_AMOUNT.equals(kpiMetaDataDTO.getDataCode())){ //问题办理满意数
peopleHighEvaluationAmount = peopleHighEvaluationAmount.add(kpiMetaDataDTO.getDataValue());
}else if (KpiMetaDataEnum.PEOPLE_MEDIUM_EVALUATION_AMOUNT.equals(kpiMetaDataDTO.getDataCode())){ //问题办理基本满意数
peopleMediumEvaluationAmount = peopleMediumEvaluationAmount.add(kpiMetaDataDTO.getDataValue());
}else if (KpiMetaDataEnum.PEOPLE_LOW_EVALUATION_AMOUNT.equals(kpiMetaDataDTO.getDataCode())){ //问题办理不满意数
peopleLowEvaluationAmount = peopleLowEvaluationAmount.add(kpiMetaDataDTO.getDataValue());
}
}
total = total.add(peopleHighEvaluationAmount);
total = total.add(peopleMediumEvaluationAmount);
total = total.add(peopleLowEvaluationAmount);
map.put("peopleReportAmount",peopleReportAmount);
map.put("peopleReportRespAmount",peopleReportRespAmount);
map.put("peopleHighEvaluationAmount",peopleHighEvaluationAmount);
map.put("peopleMediumEvaluationAmount",peopleMediumEvaluationAmount);
map.put("peopleLowEvaluationAmount",peopleLowEvaluationAmount);
map.put("total",total);
return map;
} }
@Override @Override

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

@ -412,8 +412,6 @@ public class KpiRuleServiceImpl extends BaseServiceImpl<KpiRuleDao, KpiRuleEntit
} }
Invocable in = (Invocable) engine; Invocable in = (Invocable) engine;
//执行js中的函数 参数:js方法名 + 参数 //执行js中的函数 参数:js方法名 + 参数
BigDecimal a = kpi.getManualScore();
BigDecimal b = kpi.getWorkScore();
Double result = (Double) in.invokeFunction(kpiFormulaDTO.getFunctionName(), kpi.getManualScore(),kpi.getWorkScore()); Double result = (Double) in.invokeFunction(kpiFormulaDTO.getFunctionName(), kpi.getManualScore(),kpi.getWorkScore());
Double finalScoreDoouble = (double) Math.round(result * 100) / 100; Double finalScoreDoouble = (double) Math.round(result * 100) / 100;
finalScore = new BigDecimal(finalScoreDoouble); finalScore = new BigDecimal(finalScoreDoouble);

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

@ -16,4 +16,22 @@
) )
</foreach> </foreach>
</delete> </delete>
<!-- 查询 绩效考核的元数据表 -->
<select id="queryGridProblemHandlingScore" resultType="com.elink.esua.epdc.dto.KpiMetaDataDTO">
SELECT
d.id,
d.data_code dataCode,
d.data_name dataName,
d.data_value dataValue,
d.start_date startDate,
d.end_date endDate,
d.dept_id deptId
FROM
epdc_kpi_meta_data d
where d.DEL_FLAG = 0
and d.start_date = #{startDate}
and d.end_date = #{endDate}
and d.dept_id = #{gridId}
</select>
</mapper> </mapper>

76
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/resources/mapper/KpiResultGridDao.xml

@ -48,4 +48,80 @@
and end_date = #{endDate} and end_date = #{endDate}
and DEL_FLAG = 0 and DEL_FLAG = 0
</select> </select>
<!--根据查询条件,返回首页 考核统计列表-->
<select id="selectStatisticalInfoList" resultType="com.elink.esua.epdc.dto.KpiResultGridDTO">
SELECT
@rownum:=@rownum+1 AS rownum,
(select substring_index(substring_index(g.all_dept_names,'-',2),'-',-1)) street,
(select substring_index(substring_index(g.all_dept_names,'-',3),'-',-1)) community,
(select substring_index(substring_index(g.all_dept_names,'-',4),'-',-1)) grid,
g.id,
g.grid_id gridId,
g.manual_score manualScore,
g.work_score workScore,
g.vote_score voteScore,
g.final_score finalScore,
g.start_date startDate,
g.end_date endDate,
g.leader_name leaderName,
g.kpi_cycle kpiCycle
FROM
(SELECT @rownum:=0) r,
epdc_kpi_result_grid g
WHERE
g.del_flag = '0'
<if test="allDeptIds != '' and allDeptIds != null">
AND g.all_dept_ids like concat('%',#{allDeptIds},'%')
</if>
<if test="scoreStartDate != null and scoreStartDate != ''">
AND DATE_FORMAT( g.start_date, '%Y-%m' ) BETWEEN #{scoreStartDate} AND #{scoreStartDate}
</if>
ORDER BY finalScore DESC LIMIT #{page},#{limit}
</select>
<select id="selectStatisticalInfoCount" resultType="int">
SELECT
count(1)
FROM
epdc_kpi_result_grid g
WHERE
g.del_flag = '0'
<if test="allDeptIds != '' and allDeptIds != null">
AND g.all_dept_ids like concat('%',#{allDeptIds},'%')
</if>
<if test="scoreStartDate != null and scoreStartDate != ''">
AND DATE_FORMAT( g.start_date, '%Y-%m' ) BETWEEN #{scoreStartDate} AND #{scoreStartDate}
</if>
</select>
<!--自定义默认查询首页统计列表-->
<select id="list" resultType="com.elink.esua.epdc.dto.KpiResultGridDTO">
SELECT
@rownum:=@rownum+1 AS rownum,
(select substring_index(substring_index(g.all_dept_names,'-',2),'-',-1)) street,
(select substring_index(substring_index(g.all_dept_names,'-',3),'-',-1)) community,
(select substring_index(substring_index(g.all_dept_names,'-',4),'-',-1)) grid,
g.id,
g.grid_id gridId,
g.manual_score manualScore,
g.work_score workScore,
g.vote_score voteScore,
g.final_score finalScore,
g.start_date startDate,
g.end_date endDate,
g.leader_name leaderName,
g.kpi_cycle kpiCycle
FROM
(SELECT @rownum:=0) r,
epdc_kpi_result_grid g
WHERE
g.del_flag = '0'
<if test="allDeptIds != '' and allDeptIds != null">
AND g.all_dept_ids like concat('%',#{allDeptIds},'%')
</if>
<if test="scoreStartDate != null and scoreStartDate != ''">
AND DATE_FORMAT( g.start_date, '%Y-%m' ) BETWEEN #{scoreStartDate} AND #{scoreStartDate}
</if>
</select>
</mapper> </mapper>
Loading…
Cancel
Save