Browse Source

合并kpi分支到youhua分支,并处理代码冲突

feature/dangjian
yujintao 6 years ago
parent
commit
3f0d83e087
  1. 15
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/constant/RoleTypeKeyConstant.java
  2. 50
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/DeptLevelAndLeaderDTO.java
  3. 4
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/UserSysDeptInfoFormDTO.java
  4. 50
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java
  5. 35
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java
  6. 18
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysRoleDao.java
  7. 37
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java
  8. 78
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java
  9. 64
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysRoleServiceImpl.java
  10. 145
      esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml
  11. 15
      esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysRoleDao.xml
  12. 12
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/NumConstant.java
  13. 41
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/StrConstant.java
  14. 37
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java
  15. 5
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java
  16. 51
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/LocalDateUtils.java
  17. 17
      esua-epdc/epdc-gateway/pom.xml
  18. 2
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/NewsFeignClient.java
  19. 2
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
  20. 17
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/ItemEvaluationLevel.java
  21. 32
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EventCountSqlFromDTO.java
  22. 35
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ReferenceTypeEnum.java
  23. 5
      esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml
  24. 6
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/controller/CategoryController.java
  25. 6
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/CategoryService.java
  26. 254
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/impl/CategoryServiceImpl.java
  27. 35
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/controller/EpdcEventsController.java
  28. 36
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java
  29. 13
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java
  30. 46
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java
  31. 65
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemController.java
  32. 95
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java
  33. 68
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java
  34. 57
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java
  35. 101
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml
  36. 102
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml
  37. 28
      esua-epdc/epdc-module/epdc-job/epdc-job-server/pom.xml
  38. 48
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/KpiFeignClient.java
  39. 27
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/KpiFeignClientFallBack.java
  40. 37
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/service/ScheduleJobKpiService.java
  41. 33
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/service/impl/ScheduleJobKpiServiceImpl.java
  42. 31
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/KpiManualScoreTask.java
  43. 35
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/KpiMetaDataTask.java
  44. 34
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/KpiRuleTask.java
  45. 80
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/resources/application.yml
  46. 4
      esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/resources/registry.conf
  47. 24
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/constant/KpiFieldConstant.java
  48. 15
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/constant/KpiItemConstant.java
  49. 65
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/constant/KpiScheduleCodeConstant.java
  50. 25
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/EventCountFromDTO.java
  51. 25
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/KpiManualScoreDTO.java
  52. 4
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/KpiManualScoreRuleDTO.java
  53. 2
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/KpiManualScoreTempDTO.java
  54. 113
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/KpiMetaDataDTO.java
  55. 177
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/KpiResultGridDTO.java
  56. 144
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/KpiResultSuperiorDTO.java
  57. 4
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/KpiTimeLimitItemDTO.java
  58. 2
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/form/CategoryInfoFormDTO.java
  59. 33
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/form/KpiMetaDataOfEventsFormDTO.java
  60. 6
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/form/KpiRuleSaveOrUpdateFormDTO.java
  61. 4
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/CategoryInfoResultDTO.java
  62. 25
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/ImportExcelErrorResultDTO.java
  63. 36
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiEvaluationAmountResultDTO.java
  64. 30
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiEventReportAmountResultDTO.java
  65. 30
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiItemHandleAmountResultDTO.java
  66. 48
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiItemTimeLimitByDeptResultDTO.java
  67. 51
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiManualScoreTemplateResultDTO.java
  68. 5
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiRuleQueryResultDTO.java
  69. 82
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/enums/KpiCycleEnum.java
  70. 116
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/enums/KpiMetaDataEnum.java
  71. 50
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/enums/KpiResultGridDataEnum.java
  72. 37
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/enums/KpiRuleModeEnum.java
  73. 8
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/pom.xml
  74. 2
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiFormulaController.java
  75. 49
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiManualScoreController.java
  76. 2
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiManualScoreRuleController.java
  77. 116
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiMetaDataController.java
  78. 125
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiResultGridController.java
  79. 59
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiResultSuperiorController.java
  80. 223
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiRuleController.java
  81. 2
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiRuleParamController.java
  82. 2
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiTimeLimitIssueController.java
  83. 2
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiTimeLimitItemController.java
  84. 10
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiFormulaDao.java
  85. 19
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiManualScoreDao.java
  86. 28
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiMetaDataDao.java
  87. 86
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiResultGridDao.java
  88. 81
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiResultSuperiorDao.java
  89. 10
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiRuleDao.java
  90. 12
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiRuleParamDao.java
  91. 16
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiTimeLimitItemDao.java
  92. 50
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiManualScoreEntity.java
  93. 5
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiManualScoreRuleEntity.java
  94. 82
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiMetaDataEntity.java
  95. 85
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiResultGridEntity.java
  96. 92
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiResultSuperiorEntity.java
  97. 2
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiTimeLimitItemEntity.java
  98. 147
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/excel/KpiManualScoreTemplateExcel.java
  99. 65
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/excel/KpiMetaDataExcel.java
  100. 22
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/excel/KpiResultGridDetailExcel.java

15
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/constant/RoleTypeKeyConstant.java

@ -0,0 +1,15 @@
package com.elink.esua.epdc.constant;
/**
* TypeKey 常量
*
* @author work@yujt.net.cn
* @date 2019/12/18 10:10
*/
public interface RoleTypeKeyConstant {
/**
* 角色网格长
*/
String ROLE_GRID_LEADER = "gridLeader";
}

50
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/DeptLevelAndLeaderDTO.java

@ -0,0 +1,50 @@
package com.elink.esua.epdc.dto;
import lombok.Data;
import java.io.Serializable;
/**
* 机构层级关系与机构负责人
*
* @author work@yujt.net.cn
* @date 2019/12/18 10:55
*/
@Data
public class DeptLevelAndLeaderDTO implements Serializable {
private static final long serialVersionUID = 8264059305193996215L;
/**
* 部门ID
*/
private Long deptId;
/**
* 部门名称
*/
private String deptName;
/**
* 父所有部门ID
*/
private String parentDeptIds;
/**
* 父所有部门
*/
private String parentDeptNames;
/**
* 所有部门ID
*/
private String allDeptIds;
/**
* 所有部门名称
*/
private String allDeptNames;
/**
* 部门负责人名称
*/
private String leaderName;
/**
* 部门负责人名称
*/
private String typeKey;
}

4
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/UserSysDeptInfoFormDTO.java

@ -16,14 +16,10 @@ public class UserSysDeptInfoFormDTO implements Serializable {
/**
* 主键集合
*/
// @NotEmpty(message = "deptIdList不能为空")
// @Valid
private List<Long> deptIdList;
/**
* 部门类型键值
*/
// @NotEmpty(message = "部门类型不能为空")
// @Valid
private List<String> typeKeyList;
}

50
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java

@ -130,6 +130,7 @@ public class SysDeptController {
public Result<CompleteDeptDTO> getCompleteDept(@PathVariable("gridId") String gridId) {
return sysDeptService.getCompleteDept(gridId);
}
/**
* 通过网格ID获取该网格所有上级机构
*
@ -140,7 +141,7 @@ public class SysDeptController {
*/
@GetMapping("getParentAndAllDept/{deptId}")
public Result<ParentAndAllDeptDTO> getParentAndAllDept(@PathVariable("deptId") String deptId) {
return sysDeptService.getParentAndAllDept(deptId);
return new Result().ok(sysDeptService.getParentAndAllDept(deptId));
}
/**
@ -205,7 +206,52 @@ public class SysDeptController {
* @date 2019/12/13 15:25
*/
@GetMapping("party/getDeptTree")
public Result<DeptOption> getDeptTree(){
public Result<DeptOption> getDeptTree() {
return sysDeptService.getDeptTree();
}
/***
* 获取所有网格 kpi模块原始数据
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author qushutong
* @date 2019/12/12 17:26
*/
@GetMapping("listAllGridId")
public Result listAllGridId() {
return sysDeptService.listAllGridId();
}
/**
* 按部门类型分页查询部门列表
*
* @param typeKey 部门类型
* @param pageSize 页容量
* @param pageIndex 页码
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author work@yujt.net.cn
* @date 2019/12/17 16:03
*/
@GetMapping("pageDeptIdByTypeKey/{typeKey}/{pageSize}/{pageIndex}")
public Result<List<Long>> pageDeptIdByTypeKey(@PathVariable("typeKey") String typeKey,
@PathVariable("pageSize") Integer pageSize,
@PathVariable("pageIndex") Integer pageIndex) {
return sysDeptService.pageDeptIdByTypeKey(typeKey, pageSize, pageIndex);
}
/**
* 根据部门id获取部门层级关系获取部门领导姓名
*
* @param deptId 部门id
* @param leaderFlag 是否需要查询网格长姓名 0 1
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.DeptLevelAndLeaderDTO>
* @author work@yujt.net.cn
* @date 2019/12/18 11:04
*/
@GetMapping("getDeptInfoById/{deptId}/{leaderFlag}")
public Result<DeptLevelAndLeaderDTO> getDeptInfoById(@PathVariable("deptId") Long deptId,
@PathVariable("leaderFlag") String leaderFlag) {
DeptLevelAndLeaderDTO dto = sysDeptService.getDeptInfoById(deptId, leaderFlag);
return new Result<DeptLevelAndLeaderDTO>().ok(dto);
}
}

35
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java

@ -8,6 +8,7 @@
package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.CompleteDeptDTO;
import com.elink.esua.epdc.dto.DeptTreeDTO;
import com.elink.esua.epdc.dto.SysDeptDTO;
@ -145,4 +146,38 @@ public interface SysDeptDao extends BaseDao<SysDeptEntity> {
* @Description: 查询所有
*/
List<DeptTreeDTO> selectListDeptTree();
/***
* 查询所有网格
* @param
* @return java.util.List<java.lang.Long>
* @author qushutong
* @date 2019/12/12 18:12
*/
List<Long> selectListAllGridId();
/**
* 按部门类型分页查询部门列表
*
* @param typeKey 部门类型
* @param pageSize 页容量
* @param pageIndex 页码
* @return java.util.List<java.lang.Long>
* @author work@yujt.net.cn
* @date 2019/12/17 16:11
*/
List<Long> pageDeptIdByTypeKey(@Param("typeKey") String typeKey,
@Param("pageSize") Integer pageSize,
@Param("pageIndex") Integer pageIndex);
/**
* 根据部门id查询该部门指定角色的用户姓名
*
* @param deptId 部门id
* @param roleType 角色类型
* @return java.lang.String
* @author work@yujt.net.cn
* @date 2019/12/18 13:45
*/
String selectDeptLeaderName(@Param("deptId") Long deptId, @Param("roleType") String roleType);
}

18
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysRoleDao.java

@ -1,8 +1,8 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* <p>
* https://www.renren.io
*
* <p>
* 版权所有侵权必究
*/
@ -12,6 +12,10 @@ import com.elink.esua.epdc.entity.SysRoleEntity;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.entity.SysRoleEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* 角色管理
@ -22,4 +26,14 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface SysRoleDao extends BaseDao<SysRoleEntity> {
/**
* 根据角色类型获取机构的此类角色数量
*
* @param roleType
* @param deptIdList
* @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
* @author work@yujt.net.cn
* @date 2019/12/18 10:20
*/
List<Map<String, Object>> selectAmountByRoleTpye(@Param("roleType") String roleType, @Param("deptIdList") List<Long> deptIdList);
}

37
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java

@ -78,11 +78,11 @@ public interface SysDeptService extends BaseService<SysDeptEntity> {
* 通过网格ID获取该网格所有上级机构
*
* @param deptId
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.CompleteDeptDTO>
* @return com.elink.esua.epdc.dto.CompleteDeptDTO
* @author yujintao
* @date 2019/9/7 09:13
*/
Result<ParentAndAllDeptDTO> getParentAndAllDept(String deptId);
ParentAndAllDeptDTO getParentAndAllDept(String deptId);
/**
* 通过街道ID获取项目可流转部门
@ -171,7 +171,6 @@ public interface SysDeptService extends BaseService<SysDeptEntity> {
**/
List<UserSysDeptInfoResultDTO> listUserSysDeptInfoResultDTO(UserSysDeptInfoFormDTO formDTO);
/***
* 组装所有部门
* @param
@ -189,4 +188,36 @@ public interface SysDeptService extends BaseService<SysDeptEntity> {
* @date 2019/12/13 14:48
*/
Result<DeptOption> getDeptTree();
/***
* 获取所有网格
* @param
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < java.lang.Long>>
* @author qushutong
* @date 2019/12/12 17:29
*/
Result<List<Long>> listAllGridId();
/**
* 按部门类型分页查询部门列表
*
* @param typeKey 部门类型
* @param pageSize 页容量
* @param pageIndex 页码
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < java.lang.Long>>
* @author work@yujt.net.cn
* @date 2019/12/17 16:05
*/
Result<List<Long>> pageDeptIdByTypeKey(String typeKey, Integer pageSize, Integer pageIndex);
/**
* 根据部门id获取部门层级关系获取部门领导姓名
*
* @param deptId 部门id
* @param leaderFlag 是否需要查询网格长姓名 0 1
* @return com.elink.esua.epdc.dto.DeptLevelAndLeaderDTO
* @author work@yujt.net.cn
* @date 2019/12/18 11:05
*/
DeptLevelAndLeaderDTO getDeptInfoById(Long deptId, String leaderFlag);
}

78
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java

@ -17,7 +17,9 @@ import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.constant.OrganizationTypeConstant;
import com.elink.esua.epdc.commons.tools.constant.*;
import com.elink.esua.epdc.commons.tools.enums.SuperAdminEnum;
import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum;
import com.elink.esua.epdc.commons.tools.exception.ErrorCode;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.redis.RedisKeys;
@ -28,6 +30,7 @@ import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.utils.TreeUtils;
import com.elink.esua.epdc.constant.RoleTypeKeyConstant;
import com.elink.esua.epdc.dao.SysDeptDao;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO;
@ -243,7 +246,7 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
}
@Override
public Result<ParentAndAllDeptDTO> getParentAndAllDept(String deptId) {
public ParentAndAllDeptDTO getParentAndAllDept(String deptId) {
Long deptIdL = null;
try {
deptIdL = Long.parseLong(deptId.trim());
@ -251,7 +254,7 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
log.error("->getCompleteDept:::部门ID格式转换异常:::deptId->{}", deptId);
}
if (null == deptIdL) {
return new Result().error("参数格式异常");
throw new RenException("参数格式异常");
}
CompleteDeptDTO completeDept = this.baseDao.getParentAndAllDept(deptIdL);
ParentAndAllDeptDTO parentAndAllDeptDTO = new ParentAndAllDeptDTO();
@ -274,11 +277,11 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
parentAndAllDeptDTO.setAllDeptIds(deptIds);
parentAndAllDeptDTO.setAllDeptNames(deptNames);
} else {
return new Result().error("部门Id错误");
throw new RenException("部门Id错误");
}
return new Result().ok(parentAndAllDeptDTO);
return parentAndAllDeptDTO;
}
@Override
@ -596,4 +599,71 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
}
return new Result<DeptOption>().ok((DeptOption) obj);
}
@Override
public Result<List<Long>> listAllGridId() {
List<Long> gridIdList = baseDao.selectListAllGridId();
return new Result<List<Long>>().ok(gridIdList);
}
@Override
public Result<List<Long>> pageDeptIdByTypeKey(String typeKey, Integer pageSize, Integer pageIndex) {
if (null == pageSize || null == pageIndex || pageSize < NumConstant.ONE || pageIndex < NumConstant.ONE) {
return new Result().error("参数错误");
}
pageIndex = (pageIndex - NumConstant.ONE) * pageSize;
List<Long> deptIdList = baseDao.pageDeptIdByTypeKey(typeKey, pageSize, pageIndex);
return new Result().ok(deptIdList);
}
@Override
public DeptLevelAndLeaderDTO getDeptInfoById(Long deptId, String leaderFlag) {
if (null == deptId || null == leaderFlag) {
return null;
}
SysDeptEntity sysDeptEntity = baseDao.selectById(deptId);
if (null == sysDeptEntity) {
return null;
}
String deptName = sysDeptEntity.getName();
String pids = sysDeptEntity.getPids();
// 上级机构id
String parentDeptIds = NumConstant.ZERO_STR.equals(pids) ? "" : pids;
// 全部机构id
String allDeptIds = StringUtils.isBlank(pids) ? String.valueOf(deptId) :
pids.concat(StrConstant.COMMA).concat(String.valueOf(deptId));
// 上级机构名称
String parentDeptNames = "";
if (StringUtils.isNotBlank(parentDeptIds)) {
String[] pidArray = parentDeptIds.split(StrConstant.COMMA);
List<String> deptNameList = Lists.newArrayList();
SysDeptEntity dept;
for (int i = 0; i < pidArray.length; i++) {
dept = baseDao.selectById(Long.parseLong(pidArray[i]));
deptNameList.add(dept.getName());
}
parentDeptNames = StringUtils.join(deptNameList, StrConstant.HYPHEN);
}
// 全部机构名称
String allDeptNames = StringUtils.isBlank(parentDeptNames) ? deptName : parentDeptNames.concat(StrConstant.HYPHEN).concat(deptName);
DeptLevelAndLeaderDTO deptLevel = new DeptLevelAndLeaderDTO();
deptLevel.setDeptId(deptId);
deptLevel.setDeptName(deptName);
deptLevel.setParentDeptIds(parentDeptIds);
deptLevel.setParentDeptNames(parentDeptNames);
deptLevel.setAllDeptIds(allDeptIds);
deptLevel.setAllDeptNames(allDeptNames);
deptLevel.setTypeKey(sysDeptEntity.getTypeKey());
if (YesOrNoEnum.YES.value().equals(leaderFlag)) {
String leaderName = baseDao.selectDeptLeaderName(deptId, RoleTypeKeyConstant.ROLE_GRID_LEADER);
deptLevel.setLeaderName(leaderName);
}
redisUtils.set(RedisKeys.getDeptOptionKey(deptId), deptLevel);
return deptLevel;
}
}

64
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysRoleServiceImpl.java

@ -8,20 +8,26 @@
package com.elink.esua.epdc.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.enums.DelFlagEnum;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.constant.OrganizationTypeConstant;
import com.elink.esua.epdc.commons.tools.enums.SuperAdminEnum;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dao.SysDeptDao;
import com.elink.esua.epdc.constant.RoleTypeKeyConstant;
import com.elink.esua.epdc.dao.SysRoleDao;
import com.elink.esua.epdc.dto.ParentAndAllDeptDTO;
import com.elink.esua.epdc.dto.SysRoleDTO;
import com.elink.esua.epdc.dto.handleroledept.HandleRoleDeptDTO;
import com.elink.esua.epdc.dto.handleroledept.form.HandleRoleDeptFormDTO;
@ -112,6 +118,8 @@ public class SysRoleServiceImpl extends BaseServiceImpl<SysRoleDao, SysRoleEntit
public void save(SysRoleDTO dto) {
SysRoleEntity entity = ConvertUtils.sourceToTarget(dto, SysRoleEntity.class);
checkDeptRoleAmount(dto.getTypeKey(), dto.getDeptIdList());
//保存角色
insert(entity);
@ -125,13 +133,49 @@ public class SysRoleServiceImpl extends BaseServiceImpl<SysRoleDao, SysRoleEntit
appRoleMenuService.saveOrUpdate(entity.getId(), dto.getAppMenuIdList());
//保存角色与项目处理类型关系
HandleRoleCategoryFormDTO categoryFormDTO=new HandleRoleCategoryFormDTO();
HandleRoleCategoryFormDTO categoryFormDTO = new HandleRoleCategoryFormDTO();
categoryFormDTO.setRoleId(entity.getId());
categoryFormDTO.setCategoryIdList(dto.getCategoryIdList());
eventFeignClient.saveOrUpdateHandleCategory(categoryFormDTO);
//保存角色对应的可吹哨部门权限
this.saveOrUpdateWhistleDeptId(entity.getId(),dto.getWhistleDeptIdList());
this.saveOrUpdateWhistleDeptId(entity.getId(), dto.getWhistleDeptIdList());
}
/**
* 根据角色类型获取机构的此类角色数量
*
* @param roleType 角色类型
* @param deptidList 机构id列表
* @return void
* @author work@yujt.net.cn
* @date 2019/12/18 10:14
*/
private void checkDeptRoleAmount(String roleType, List<Long> deptidList) {
if (RoleTypeKeyConstant.ROLE_GRID_LEADER.equals(roleType)) {
List<Map<String, Object>> resultList = baseDao.selectAmountByRoleTpye(roleType, deptidList);
if (CollUtil.isEmpty(resultList)) {
return;
}
Map<String, Object> map;
String mapValue;
for (int i = 0; i < resultList.size(); i++) {
map = resultList.get(i);
mapValue = map.get("typeKey").toString();
if (!mapValue.equals(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY)) {
continue;
}
mapValue = map.get("amount").toString();
if (Integer.parseInt(mapValue) <= NumConstant.THREE) {
continue;
}
mapValue = map.get("id").toString();
ParentAndAllDeptDTO parentAndAllDept = sysDeptService.getParentAndAllDept(mapValue);
throw new RenException("保存失败:" + parentAndAllDept.getAllDeptNames() + ",网格长多于3人");
}
}
}
@Override
@ -152,13 +196,13 @@ public class SysRoleServiceImpl extends BaseServiceImpl<SysRoleDao, SysRoleEntit
appRoleMenuService.saveOrUpdate(entity.getId(), dto.getAppMenuIdList());
//保存角色与项目处理类型关系
HandleRoleCategoryFormDTO categoryFormDTO=new HandleRoleCategoryFormDTO();
HandleRoleCategoryFormDTO categoryFormDTO = new HandleRoleCategoryFormDTO();
categoryFormDTO.setRoleId(entity.getId());
categoryFormDTO.setCategoryIdList(dto.getCategoryIdList());
eventFeignClient.saveOrUpdateHandleCategory(categoryFormDTO);
//保存角色对应的可吹哨部门权限
this.saveOrUpdateWhistleDeptId(entity.getId(),dto.getWhistleDeptIdList());
this.saveOrUpdateWhistleDeptId(entity.getId(), dto.getWhistleDeptIdList());
}
@Override
@ -180,15 +224,15 @@ public class SysRoleServiceImpl extends BaseServiceImpl<SysRoleDao, SysRoleEntit
* @Description 查询角色对应的项目处理类型权限
* @Date 2019/12/24 16:03
**/
@Override
public List<String> getCategoryIdList(Long id) {
Result<List<String>> result=eventFeignClient.queryCategoryIdList(id);
return result.getData();
}
@Override
public List<String> getCategoryIdList(Long id) {
Result<List<String>> result = eventFeignClient.queryCategoryIdList(id);
return result.getData();
}
@Override
public List<Long> getWhistleDeptIdList(Long id) {
Result<List<Long>> result=eventFeignClient.queryWhistleDeptIdList(id);
Result<List<Long>> result = eventFeignClient.queryWhistleDeptIdList(id);
return result.getData();
}

145
esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml

@ -5,7 +5,7 @@
<select id="getList" resultType="com.elink.esua.epdc.entity.SysDeptEntity">
select t1.*,(select t2.name from sys_dept t2 where t2.id=t1.pid)parentName from sys_dept t1
where t1.del_flag = 0
where t1.del_flag = 0
<if test="deptIdList != null">
and t1.id in
<foreach item="id" collection="deptIdList" open="(" separator="," close=")">
@ -110,49 +110,53 @@
<select id="selectListGridForLeader" resultType="com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO">
SELECT
dis.`name` district,
dis.id districtId,
str.`name` street,
str.id streetId,
com.`name` community,
com.id communityId,
gri.`name` grid,
gri.id gridId,
gri.create_date switchedTime
dis.`name` district,
dis.id districtId,
str.`name` street,
str.id streetId,
com.`name` community,
com.id communityId,
gri.`name` grid,
gri.id gridId,
gri.create_date switchedTime
FROM
sys_dept gri
LEFT JOIN sys_dept com ON gri.pid = com.id
LEFT JOIN sys_dept str ON com.pid = str.id
LEFT JOIN sys_dept dis ON str.pid = dis.id
sys_dept gri
LEFT JOIN sys_dept com ON gri.pid = com.id
LEFT JOIN sys_dept str ON com.pid = str.id
LEFT JOIN sys_dept dis ON str.pid = dis.id
WHERE
gri.ID in
<foreach collection="gridIdList" item="gridId" open="(" separator="," close=")">#{gridId}</foreach>
AND gri.del_flag = '0'
AND dis.id IS NOT NULL
gri.ID in
<foreach collection="gridIdList" item="gridId" open="(" separator="," close=")">#{gridId}</foreach>
AND gri.del_flag = '0'
AND dis.id IS NOT NULL
</select>
<select id="selectListHeadDeptNode" resultType="com.elink.esua.epdc.entity.SysDeptEntity">
SELECT
d1.id, d1.`name`
d1.id, d1.`name`
FROM
sys_dept d
LEFT JOIN sys_dept d1 ON d.pids LIKE CONCAT( '%', d1.id, '%' )
sys_dept d
LEFT JOIN sys_dept d1 ON d.pids LIKE CONCAT( '%', d1.id, '%' )
WHERE
d.id IN <foreach collection="dataScopeDeptList" item="deptId" open="(" separator="," close=")" > #{deptId} </foreach>
AND d1.pid = 0
d.id IN
<foreach collection="dataScopeDeptList" item="deptId" open="(" separator="," close=")">#{deptId}</foreach>
AND d1.pid = 0
GROUP BY d1.id
ORDER BY d1.create_date ASC
</select>
<select id="selectChildrenDeptNode" resultType="com.elink.esua.epdc.entity.SysDeptEntity">
SELECT
tem2.*
tem2.*
FROM
( SELECT * FROM sys_dept d1 WHERE d1.id IN <foreach collection="dataScopeDeptList" item="item" open="(" separator="," close=")" > #{item} </foreach> ) tem1,
( SELECT * FROM sys_dept d2 WHERE d2.pid IN <foreach collection="parentDeptIdList" item="deptId" open="(" separator="," close=")" > #{deptId} </foreach>) tem2
( SELECT * FROM sys_dept d1 WHERE d1.id IN <foreach collection="dataScopeDeptList" item="item" open="("
separator="," close=")">#{item}
</foreach> ) tem1,
( SELECT * FROM sys_dept d2 WHERE d2.pid IN <foreach collection="parentDeptIdList" item="deptId" open="("
separator="," close=")">#{deptId}</foreach>) tem2
WHERE
( tem1.PIDS LIKE CONCAT( '%', tem2.id, '%' ) OR tem1.PID = tem2.ID )
OR ( tem2.ID = tem1.ID AND NOT EXISTS ( SELECT 1 FROM sys_dept d WHERE d.PID = tem2.ID ) )
AND tem2.ID != ''
( tem1.PIDS LIKE CONCAT( '%', tem2.id, '%' ) OR tem1.PID = tem2.ID )
OR ( tem2.ID = tem1.ID AND NOT EXISTS ( SELECT 1 FROM sys_dept d WHERE d.PID = tem2.ID ) )
AND tem2.ID != ''
GROUP BY tem2.ID
ORDER BY tem2.create_date ASC
</select>
@ -160,35 +164,66 @@
<select id="selectListUserSysDeptInfo" parameterType="com.elink.esua.epdc.dto.epdc.form.UserSysDeptInfoFormDTO"
resultType="com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO">
SELECT
sd.id,
sd.NAME,
sd.pid,
p.NAME AS parentName,
sd.pids,
NULL AS parentNames,
null as street,
null as community,
(case
when sd.type_key='grid_party' then sd.name
else null
end) as grid
sd.id,
sd.NAME,
sd.pid,
p.NAME AS parentName,
sd.pids,
NULL AS parentNames,
null as street,
null as community,
(case
when sd.type_key='grid_party' then sd.name
else null
end) as grid
FROM
sys_dept sd
LEFT JOIN sys_dept p ON ( sd.pid = p.id )
WHERE
sd.del_flag = '0'
<if test="typeKeyList!=null and typeKeyList.size()>0">
AND sd.type_key in
<foreach collection="typeKeyList" item="typeKey" index="index" open="(" close=")" separator=",">
#{typeKey}
</foreach>
</if>
<if test="deptIdList!=null and deptIdList.size()>0">
AND sd.id IN
<foreach collection="deptIdList" item="deptId" index="index" open="(" close=")" separator=",">
#{deptId}
</foreach>
</if>
</select>
<!--查询所有网格-->
<select id="selectListAllGridId" resultType="Long">
SELECT
sd.id
FROM
sys_dept sd
LEFT JOIN sys_dept p ON ( sd.pid = p.id )
WHERE
sd.del_flag = '0'
<if test="typeKeyList!=null and typeKeyList.size()>0">
AND sd.type_key in
<foreach collection="typeKeyList" item="typeKey" index="index" open="(" close=")" separator=",">
#{typeKey}
</foreach>
</if>
<if test="deptIdList!=null and deptIdList.size()>0">
AND sd.id IN
<foreach collection="deptIdList" item="deptId" index="index" open="(" close=")" separator=",">
#{deptId}
</foreach>
</if>
sd.type_key = 'grid_party'
</select>
<select id="pageDeptIdByTypeKey" resultType="java.lang.Long">
SELECT d.id FROM sys_dept d
WHERE d.type_key = #{typeKey} AND d.del_flag = '0' AND d.id != 0
ORDER BY d.create_date ASC
LIMIT #{pageIndex},#{pageSize}
</select>
<select id="selectDeptLeaderName" resultType="java.lang.String">
SELECT
GROUP_CONCAT( u.real_name ) gridLeader
FROM
sys_dept d
LEFT JOIN sys_role_data_scope rds ON rds.dept_id = d.id
LEFT JOIN sys_role r ON rds.role_id = r.id
LEFT JOIN sys_role_user ru ON ru.role_id = r.id
LEFT JOIN sys_user u ON u.id = ru.user_id
WHERE
r.type_key = #{roleType} AND d.id = #{deptId} AND u.id != ''
GROUP BY d.id
</select>
<!--获取所有部门tree-->

15
esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysRoleDao.xml

@ -3,4 +3,19 @@
<mapper namespace="com.elink.esua.epdc.dao.SysRoleDao">
<select id="selectAmountByRoleTpye" resultType="java.util.Map">
SELECT
d.id, d.type_key typeKey, count( u.real_name) amount
FROM
sys_dept d
LEFT JOIN sys_role_data_scope rds ON rds.dept_id = d.id
LEFT JOIN sys_role r ON rds.role_id = r.id
LEFT JOIN sys_role_user ru ON ru.role_id = r.id
LEFT JOIN sys_user u ON u.id = ru.user_id
WHERE
r.type_key = #{roleType} AND u.id != ''
AND d.id in (<foreach collection="deptIdList" item="item" separator=",">#{item}</foreach>)
GROUP BY
d.id
</select>
</mapper>

12
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/NumConstant.java

@ -9,17 +9,21 @@ package com.elink.esua.epdc.commons.tools.constant;
*/
public interface NumConstant {
int TWO_NEG = -2;
int ONE_NEG = -1;
int ZERO = 0;
int ONE = 1;
int TWO = 2;
int THREE = 3;
int FOUR = 4;
int SIX = 6;
int ONE_NEG = -1;
int TWO_NEG = -2;
int SEVEN = 7;
int EIGHT = 8;
int NINE = 9;
int TEN = 10;
int ELEVEN = 11;
int TWELVE = 12;
int FIFTEEN = 15;
int TWENTY = 20;
int THIRTY = 30;

41
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/StrConstant.java

@ -0,0 +1,41 @@
package com.elink.esua.epdc.commons.tools.constant;
import org.apache.commons.codec.CharEncoding;
import org.springframework.http.MediaType;
/**
* 字符串常量
*
* @author work@yujt.net.cn
* @date 2019/12/13 11:19
*/
public interface StrConstant {
String UTF_8 = CharEncoding.UTF_8;
String ISO_8859_1 = CharEncoding.ISO_8859_1;
String JAVASCRIPT = "javascript";
String APPLICATION_JSON_UTF8_VALUE = MediaType.APPLICATION_JSON_UTF8_VALUE;
String EXCEL_SUFFIX_2003 = ".xls";
String EXCEL_SUFFIX_2007 = ".xlsx";
/**
* 连字符号短杠
*/
String HYPHEN = "-";
/**
* 英文逗号
*/
String COMMA = ",";
/**
* 冒号
*/
String COLON = ":";
}

37
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java

@ -128,7 +128,7 @@ public class RedisKeys {
}
/**
* 管理员部门层级关系
* 管理员有数据权限的部门层级关系
*
* @param userId 用户id
* @return java.lang.String
@ -139,6 +139,18 @@ public class RedisKeys {
return rootPrefix.concat("options:dept:user:").concat(String.valueOf(userId));
}
/**
* 存放部门层级关系主要用于获取拼接后的部门id和部门名称
*
* @param deptId
* @return java.lang.String
* @author work@yujt.net.cn
* @date 2019/12/20 20:34
*/
public static String getDeptOptionKey(Long deptId) {
return rootPrefix.concat("options:dept:common:").concat(String.valueOf(deptId));
}
/**
* 事件分类
*/
@ -175,4 +187,27 @@ public class RedisKeys {
public static String getPointsRuleKey(String ruleCode) {
return rootPrefix.concat("config:points:rule:").concat(ruleCode);
}
/**
* 按项目分类设置项目响应/关闭时限
*
* @param categoryId
* @return java.lang.String
* @author work@yujt.net.cn
* @date 2019/12/20 20:38
*/
public static String getKpiItemTimeLimitKey(String categoryId) {
return rootPrefix.concat("config:kpi:itemtimelimit:").concat(categoryId);
}
/**
* 存储议题响应/关闭时限
*
* @return java.lang.String
* @author work@yujt.net.cn
* @date 2019/12/20 20:39
*/
public static String getKpiIssueTimeLimitKey() {
return rootPrefix.concat("config:kpi:itemtimelimit");
}
}

5
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java

@ -25,11 +25,16 @@ import java.util.Date;
* @since 1.0.0
*/
public class DateUtils {
/** 时间格式(yyyy-MM-dd) */
public final static String DATE_PATTERN = "yyyy-MM-dd";
/** 时间格式(yyyy-MM-dd HH:mm:ss) */
public final static String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
/** 时间格式(yyyyMMddHHmmss) */
public final static String DATE_TIME_NO_SPLIT = "yyyyMMddHHmmss";
/**
* 日期格式化 日期格式为yyyy-MM-dd
* @param date 日期

51
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/LocalDateUtils.java

@ -0,0 +1,51 @@
package com.elink.esua.epdc.commons.tools.utils;
import java.time.*;
import java.util.Date;
/**
* @author work@yujt.net.cn
* @date 2019/12/13 15:05
*/
public class LocalDateUtils {
public static LocalDateTime dateToLocalDateTime(Date date) {
Instant instant = date.toInstant();
ZoneId zone = ZoneId.systemDefault();
return LocalDateTime.ofInstant(instant, zone);
}
public static LocalDate dateToLocalDate(Date date) {
Instant instant = date.toInstant();
ZoneId zone = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
return localDateTime.toLocalDate();
}
public static YearMonth dateToYearMonth(Date date) {
LocalDate localDate = dateToLocalDate(date);
return YearMonth.of(localDate.getYear(), localDate.getMonthValue());
}
public static LocalTime dateToLocalTime(Date date) {
Instant instant = date.toInstant();
ZoneId zone = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
return localDateTime.toLocalTime();
}
public static Date localDateTimeToDate(LocalDateTime localDateTime) {
ZoneId zone = ZoneId.systemDefault();
Instant instant = localDateTime.atZone(zone).toInstant();
return Date.from(instant);
}
public static Date localDateToDate(LocalDate localDate) {
ZoneId zone = ZoneId.systemDefault();
Instant instant = localDate.atStartOfDay().atZone(zone).toInstant();
return Date.from(instant);
}
}

17
esua-epdc/epdc-gateway/pom.xml

@ -99,12 +99,12 @@
<!-- gateway routes -->
<gateway.routes.epdc-auth-server.uri>lb://epdc-auth-server</gateway.routes.epdc-auth-server.uri>
<!-- <gateway.routes.epdc-admin-server.uri>lb://epdc-admin-server</gateway.routes.epdc-admin-server.uri>-->
<gateway.routes.epdc-admin-server.uri>http://127.0.0.1:9092</gateway.routes.epdc-admin-server.uri>
<gateway.routes.epdc-admin-server.uri>lb://epdc-admin-server</gateway.routes.epdc-admin-server.uri>
<!-- <gateway.routes.epdc-admin-server.uri>http://127.0.0.1:9092</gateway.routes.epdc-admin-server.uri>-->
<gateway.routes.epdc-activiti-server.uri>lb://epdc-activiti-server
</gateway.routes.epdc-activiti-server.uri>
<gateway.routes.epdc-api-server.uri>lb://epdc-api-server</gateway.routes.epdc-api-server.uri>
<!-- <gateway.routes.epdc-api-server.uri>http://127.0.0.1:9040</gateway.routes.epdc-api-server.uri>-->
<!--<gateway.routes.epdc-api-server.uri>lb://epdc-api-server</gateway.routes.epdc-api-server.uri>-->
<gateway.routes.epdc-api-server.uri>http://127.0.0.1:9040</gateway.routes.epdc-api-server.uri>
<gateway.routes.epdc-app-server.uri>lb://epdc-app-server</gateway.routes.epdc-app-server.uri>
<!-- <gateway.routes.epdc-app-server.uri>http://127.0.0.1:9058</gateway.routes.epdc-app-server.uri>-->
<gateway.routes.epdc-heart-server.uri>lb://epdc-heart-server</gateway.routes.epdc-heart-server.uri>
@ -127,8 +127,9 @@
<gateway.routes.epdc-group-server.uri>http://127.0.0.1:9063</gateway.routes.epdc-group-server.uri>
<!--<gateway.routes.epdc-group-server.uri>lb://epdc-group-server</gateway.routes.epdc-group-server.uri>-->
<gateway.routes.epdc-websocket-server.uri>lb://epdc-websocket-server</gateway.routes.epdc-websocket-server.uri>
<gateway.routes.epdc-kpi-server.uri>lb://epdc-kpi-server</gateway.routes.epdc-kpi-server.uri>
<gateway.routes.epdc-points-server.uri>lb://epdc-points-server</gateway.routes.epdc-points-server.uri>
<!-- <gateway.routes.epdc-kpi-server.uri>lb://epdc-kpi-server</gateway.routes.epdc-kpi-server.uri>-->
<gateway.routes.epdc-kpi-server.uri>http://127.0.0.1:9069</gateway.routes.epdc-kpi-server.uri>
<!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.server-addr>47.104.224.45:8848</nacos.server-addr>
@ -166,7 +167,8 @@
<gateway.routes.epdc-user-server.uri>lb://epdc-user-server</gateway.routes.epdc-user-server.uri>
<gateway.routes.epdc-demo-server.uri>lb://epdc-demo-server</gateway.routes.epdc-demo-server.uri>
<gateway.routes.epdc-group-server.uri>lb://epdc-group-server</gateway.routes.epdc-group-server.uri>
<gateway.routes.epdc-websocket-server.uri>lb://epdc-websocket-server</gateway.routes.epdc-websocket-server.uri>
<gateway.routes.epdc-websocket-server.uri>lb://epdc-websocket-server
</gateway.routes.epdc-websocket-server.uri>
<gateway.routes.epdc-kpi-server.uri>lb://epdc-kpi-server</gateway.routes.epdc-kpi-server.uri>
<gateway.routes.epdc-points-server.uri>lb://epdc-points-server</gateway.routes.epdc-points-server.uri>
@ -202,7 +204,8 @@
<gateway.routes.epdc-user-server.uri>lb://epdc-user-server</gateway.routes.epdc-user-server.uri>
<gateway.routes.epdc-demo-server.uri>lb://epdc-demo-server</gateway.routes.epdc-demo-server.uri>
<gateway.routes.epdc-group-server.uri>lb://epdc-group-server</gateway.routes.epdc-group-server.uri>
<gateway.routes.epdc-websocket-server.uri>lb://epdc-websocket-server</gateway.routes.epdc-websocket-server.uri>
<gateway.routes.epdc-websocket-server.uri>lb://epdc-websocket-server
</gateway.routes.epdc-websocket-server.uri>
<gateway.routes.epdc-kpi-server.uri>lb://epdc-kpi-server</gateway.routes.epdc-kpi-server.uri>
<gateway.routes.epdc-points-server.uri>lb://epdc-points-server</gateway.routes.epdc-points-server.uri>

2
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/NewsFeignClient.java

@ -18,7 +18,7 @@ import java.util.List;
* @email yujintao@elink-cn.com
* @date 2019/9/5 19:20
*/
@FeignClient(name = ServiceConstant.EPDC_NEWS_SERVER, fallback = NewsFeignClientFallback.class)
@FeignClient(name = ServiceConstant.EPDC_NEWS_SERVER, fallback = NewsFeignClientFallback.class,url = "http://127.0.0.1:9064")
public interface NewsFeignClient {
/**

2
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java

@ -25,7 +25,7 @@ import java.util.List;
* @email yujintao@elink-cn.com
* @date 2019/9/7 9:27
*/
@FeignClient(name = ServiceConstant.EPDC_USER_SERVER, fallback = UserFeignClientFallback.class)
@FeignClient(name = ServiceConstant.EPDC_USER_SERVER, fallback = UserFeignClientFallback.class,url = "http://localhost:9068")
public interface UserFeignClient {
/**

17
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/ItemEvaluationLevel.java

@ -0,0 +1,17 @@
package com.elink.esua.epdc.constant;
/**
* @author: qushutong
* @Date: 2019/12/20 15:53
* @Description: 评价结果0-不满意1-基本满意2-非常满意
*/
public interface ItemEvaluationLevel {
String levaluationLevelBad = "0";
String levaluationLevelBetter = "1";
String levaluationLevelBest = "2";
}

32
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/EventCountSqlFromDTO.java

@ -0,0 +1,32 @@
package com.elink.esua.epdc.dto.events.form;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @author: qushutong
* @Date: 2019/12/16 14:52
* @Description: 查询参数
*/
@Data
public class EventCountSqlFromDTO implements Serializable {
private static final long serialVersionUID = 4648104037156856679L;
/***
* 网格id
*/
private Long gridId;
/***
* 0,1,2
*/
private String type;
/***
* 0 是群众反应问题总数 1 群众反应问题响应数
*/
private String responseType;
}

35
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ReferenceTypeEnum.java

@ -1,35 +0,0 @@
package com.elink.esua.epdc.enums;
/**
* 议题或项目枚举
*
* @author work@yujt.net.cn
* @date 2019/10/21 10:30
*/
public enum ReferenceTypeEnum {
/**
* 议题
*/
ISSUE("issue"),
/**
* 项目
*/
ITEM("item"),
/**
* 事件
*/
EVENT("event");
private String name;
ReferenceTypeEnum(String name) {
this.name = name;
}
public String getName() {
return name;
}
}

5
esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml

@ -13,6 +13,11 @@
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-kpi-client</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-events-client</artifactId>

6
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/controller/CategoryController.java

@ -26,8 +26,8 @@ import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.category.CategoryDTO;
import com.elink.esua.epdc.dto.category.CategoryOption;
import com.elink.esua.epdc.dto.category.form.CategoryInfoFormDTO;
import com.elink.esua.epdc.dto.category.result.CategoryInfoResultDTO;
import com.elink.esua.epdc.dto.form.CategoryInfoFormDTO;
import com.elink.esua.epdc.dto.result.CategoryInfoResultDTO;
import com.elink.esua.epdc.modules.category.excel.CategoryExcel;
import com.elink.esua.epdc.modules.category.service.CategoryService;
import io.swagger.annotations.ApiOperation;
@ -134,7 +134,7 @@ public class CategoryController {
/**
* @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.category.result.CategoryInfoResultDTO>>
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.result.CategoryInfoResultDTO>>
* @Author yinzuomei
* @Description 根据id查询事件分类基本信息
* @Date 2019/12/4 9:43

6
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/CategoryService.java

@ -21,8 +21,8 @@ import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.category.CategoryDTO;
import com.elink.esua.epdc.dto.category.CategoryOption;
import com.elink.esua.epdc.dto.category.form.CategoryInfoFormDTO;
import com.elink.esua.epdc.dto.category.result.CategoryInfoResultDTO;
import com.elink.esua.epdc.dto.form.CategoryInfoFormDTO;
import com.elink.esua.epdc.dto.result.CategoryInfoResultDTO;
import com.elink.esua.epdc.modules.category.entity.CategoryEntity;
import org.springframework.web.multipart.MultipartFile;
@ -125,7 +125,7 @@ public interface CategoryService extends BaseService<CategoryEntity> {
/**
* @param formDTO
* @return java.util.List<com.elink.esua.epdc.dto.category.result.CategoryInfoResultDTO>
* @return java.util.List<com.elink.esua.epdc.dto.result.CategoryInfoResultDTO>
* @Author yinzuomei
* @Description 根据id查询事件分类基本信息
* @Date 2019/12/4 9:43

254
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/impl/CategoryServiceImpl.java

@ -17,12 +17,14 @@
package com.elink.esua.epdc.modules.category.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.constant.StrConstant;
import com.elink.esua.epdc.commons.tools.exception.ErrorCode;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.redis.RedisKeys;
@ -34,8 +36,8 @@ import com.elink.esua.epdc.commons.tools.utils.TreeUtils;
import com.elink.esua.epdc.dto.category.CategoryDTO;
import com.elink.esua.epdc.dto.category.CategoryOption;
import com.elink.esua.epdc.dto.category.CategoryTreeDTO;
import com.elink.esua.epdc.dto.category.form.CategoryInfoFormDTO;
import com.elink.esua.epdc.dto.category.result.CategoryInfoResultDTO;
import com.elink.esua.epdc.dto.form.CategoryInfoFormDTO;
import com.elink.esua.epdc.dto.result.CategoryInfoResultDTO;
import com.elink.esua.epdc.modules.category.dao.CategoryDao;
import com.elink.esua.epdc.modules.category.entity.CategoryEntity;
import com.elink.esua.epdc.modules.category.redis.CategoryRedis;
@ -577,127 +579,141 @@ public class CategoryServiceImpl extends BaseServiceImpl<CategoryDao, CategoryEn
return new Result<CategoryOption>().ok((CategoryOption) obj);
}
/**
* @param formDTO
* @return java.util.List<com.elink.esua.epdc.dto.category.result.CategoryInfoResultDTO>
* @Author yinzuomei
* @Description 根据id查询事件分类基本信息
* @Date 2019/12/4 9:43
**/
@Override
public List<CategoryInfoResultDTO> listCategoryInfo(CategoryInfoFormDTO formDTO) {
List<CategoryInfoResultDTO> categoryInfoResultDTOList = new ArrayList<>();
for (Long id : formDTO.getIds()) {
CategoryEntity entity = baseDao.getById(id);
if (null != entity) {
List<String> parentNameList = new ArrayList<>();
if (StringUtils.isNotBlank(entity.getPids())) {
String[] pidList = entity.getPids().split(",");
for (String pid : pidList) {
CategoryEntity parentEntity = baseDao.getById(Long.valueOf(pid));
parentNameList.add(parentEntity.getCategoryName());
}
}
CategoryInfoResultDTO categoryInfoResultDTO = ConvertUtils.sourceToTarget(entity, CategoryInfoResultDTO.class);
categoryInfoResultDTO.setParentNames(parentNameList);
categoryInfoResultDTOList.add(categoryInfoResultDTO);
}
}
return categoryInfoResultDTOList;
}
/**
* @param
* @return void
* @Author yinzuomei
* @Description 组装事件类别
* @Date 2019/12/3 18:18
**/
@Override
public void packageCategoryOption() {
List<CategoryTreeDTO> dtoList = baseDao.selectListCategoryTreeDTO();
JSONObject node;
JSONArray headNodes = new JSONArray();
for (CategoryTreeDTO categoryTreeDto : dtoList) {
if (categoryTreeDto.getPid().longValue() == NumConstant.ZERO_L) {
node = new JSONObject();
node.put("value", categoryTreeDto.getId());
node.put("label", categoryTreeDto.getCategoryName());
headNodes.add(node);
}
}
/**
* @param formDTO
* @return java.util.List<com.elink.esua.epdc.dto.result.CategoryInfoResultDTO>
* @Author yinzuomei
* @Description 根据id查询事件分类基本信息
* @Date 2019/12/4 9:43
**/
@Override
public List<CategoryInfoResultDTO> listCategoryInfo(CategoryInfoFormDTO formDTO) {
List<CategoryInfoResultDTO> result = Lists.newArrayList();
CategoryInfoResultDTO categoryInfoResult;
for (Long id : formDTO.getIds()) {
CategoryEntity entity = baseDao.getById(id);
if (null == entity) {
continue;
}
if(StringUtils.isBlank(entity.getPids())){
categoryInfoResult = ConvertUtils.sourceToTarget(entity, CategoryInfoResultDTO.class);
result.add(categoryInfoResult);
continue;
}
List<String> parentNameList = Lists.newArrayList();
String[] pidList = entity.getPids().split(StrConstant.COMMA);
if (null != pidList && pidList.length > NumConstant.ZERO) {
CategoryEntity parentEntity;
for (int i = 0; i < pidList.length; i++) {
parentEntity = baseDao.getById(Long.valueOf(pidList[i]));
if (null != parentEntity) {
parentNameList.add(parentEntity.getCategoryName());
}
}
}
categoryInfoResult = ConvertUtils.sourceToTarget(entity, CategoryInfoResultDTO.class);
if (CollUtil.isNotEmpty(parentNameList)) {
categoryInfoResult.setParentNames(StringUtils.join(parentNameList, StrConstant.HYPHEN));
}
result.add(categoryInfoResult);
}
return result;
}
/**
* @param
* @return void
* @Author yinzuomei
* @Description 组装事件类别
* @Date 2019/12/3 18:18
**/
@Override
public void packageCategoryOption() {
List<CategoryTreeDTO> dtoList = baseDao.selectListCategoryTreeDTO();
JSONObject node;
JSONArray headNodes = new JSONArray();
for (CategoryTreeDTO categoryTreeDto : dtoList) {
if (categoryTreeDto.getPid().longValue() == NumConstant.ZERO_L) {
node = new JSONObject();
node.put("value", categoryTreeDto.getId());
node.put("label", categoryTreeDto.getCategoryName());
headNodes.add(node);
}
}
// 用于存放所有父级节点
JSONArray parent;
// 用于存放所有子级节点
JSONArray allChildren = new JSONArray();
JSONArray children;
// 用于存放单个子级节点
JSONObject childNode;
parent = headNodes;
// 存放其余未处理的类别(节点)
List<CategoryTreeDTO> others = this.getOtherCategory(dtoList, parent);
while (!others.isEmpty()) {
for (int i = 0; i < parent.size(); i++) {
node = parent.getJSONObject(i);
children = new JSONArray();
for (CategoryTreeDTO categoryTreeDto : others) {
if (categoryTreeDto.getPid().equals(node.get("value"))) {
childNode = new JSONObject();
childNode.put("value", categoryTreeDto.getId());
childNode.put("label", categoryTreeDto.getCategoryName());
children.add(childNode);
allChildren.add(childNode);
}
}
if (!children.isEmpty()) {
node.put("children", children);
}
}
parent = allChildren;
others = this.getOtherCategory(others, parent);
}
// 用于存放所有父级节点
JSONArray parent;
// 用于存放所有子级节点
JSONArray allChildren = new JSONArray();
JSONArray children;
// 用于存放单个子级节点
JSONObject childNode;
parent = headNodes;
// 存放其余未处理的类别(节点)
List<CategoryTreeDTO> others = this.getOtherCategory(dtoList, parent);
while (!others.isEmpty()) {
for (int i = 0; i < parent.size(); i++) {
node = parent.getJSONObject(i);
children = new JSONArray();
for (CategoryTreeDTO categoryTreeDto : others) {
if (categoryTreeDto.getPid().equals(node.get("value"))) {
childNode = new JSONObject();
childNode.put("value", categoryTreeDto.getId());
childNode.put("label", categoryTreeDto.getCategoryName());
children.add(childNode);
allChildren.add(childNode);
}
}
if (!children.isEmpty()) {
node.put("children", children);
}
}
parent = allChildren;
others = this.getOtherCategory(others, parent);
}
// JSONObject treeNodes = new JSONObject();
// treeNodes.put("options", headNodes);
// logger.info(treeNodes.toJSONString());
//存放到redis中
List<JSONArray> cache = Lists.newArrayList();
cache.add(headNodes);
CategoryOption option = new CategoryOption();
option.setOptions(cache.get(0));
redisUtils.set(RedisKeys.getEventsCategoryKey(), option);
}
/*
* @param dtoList 上次进行筛选的分类集合
* @param parent 已处理过的上级节点
* @return java.util.List<com.elink.esua.epdc.dto.category.CategoryTreeDTO>
* @Author yinzuomei
* @Description 组装其余未处理过的分类集合
* @Date 2019/12/3 17:27
**/
private List<CategoryTreeDTO> getOtherCategory(List<CategoryTreeDTO> dtoList, JSONArray parent) {
List<Long> already = Lists.newArrayList();
for (int i = 0; i < parent.size(); i++) {
already.add((Long) parent.getJSONObject(i).get("value"));
}
List<CategoryTreeDTO> others = Lists.newArrayList();
for (CategoryTreeDTO categoryTreeDto : dtoList) {
Long categoryTreeDtoId = categoryTreeDto.getId();
if (!already.contains(categoryTreeDtoId)) {
others.add(categoryTreeDto);
}
}
return others;
}
//存放到redis中
List<JSONArray> cache = Lists.newArrayList();
cache.add(headNodes);
CategoryOption option = new CategoryOption();
option.setOptions(cache.get(0));
redisUtils.set(RedisKeys.getEventsCategoryKey(), option);
}
/*
* @param dtoList 上次进行筛选的分类集合
* @param parent 已处理过的上级节点
* @return java.util.List<com.elink.esua.epdc.dto.category.CategoryTreeDTO>
* @Author yinzuomei
* @Description 组装其余未处理过的分类集合
* @Date 2019/12/3 17:27
**/
private List<CategoryTreeDTO> getOtherCategory(List<CategoryTreeDTO> dtoList, JSONArray parent) {
List<Long> already = Lists.newArrayList();
for (int i = 0; i < parent.size(); i++) {
already.add((Long) parent.getJSONObject(i).get("value"));
}
List<CategoryTreeDTO> others = Lists.newArrayList();
for (CategoryTreeDTO categoryTreeDto : dtoList) {
Long categoryTreeDtoId = categoryTreeDto.getId();
if (!already.contains(categoryTreeDtoId)) {
others.add(categoryTreeDto);
}
}
return others;
}
}

35
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/controller/EpdcEventsController.java

@ -31,6 +31,8 @@ import com.elink.esua.epdc.dto.events.EpdcRejectEventsDTO;
import com.elink.esua.epdc.dto.events.EpdcEventsDTO;
import com.elink.esua.epdc.dto.events.EpdcEventsDetailDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO;
import com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO;
import com.elink.esua.epdc.dto.result.KpiEventReportAmountResultDTO;
import com.elink.esua.epdc.modules.events.excel.EpdcEventsExcel;
import com.elink.esua.epdc.modules.events.service.EpdcEventsService;
import org.springframework.beans.factory.annotation.Autowired;
@ -56,20 +58,20 @@ public class EpdcEventsController {
@GetMapping("page")
@DataFilter(tableAlias = "temp", deptId = "grid_id", prefix = "AND", isPendingCreator = false)
public Result<PageData<EpdcEventsDTO>> page(@RequestParam Map<String, Object> params){
public Result<PageData<EpdcEventsDTO>> page(@RequestParam Map<String, Object> params) {
PageData<EpdcEventsDTO> page = epdcEventsService.listOfPendingReviewEvents(params);
return new Result<PageData<EpdcEventsDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<EpdcEventsDetailDTO> get(@PathVariable("id") String id){
public Result<EpdcEventsDetailDTO> get(@PathVariable("id") String id) {
EpdcEventsDetailDTO data = epdcEventsService.getEvent(id);
return new Result<EpdcEventsDetailDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody EpdcEventsDTO dto){
public Result save(@RequestBody EpdcEventsDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
@ -79,7 +81,7 @@ public class EpdcEventsController {
}
@PutMapping
public Result update(@RequestBody EpdcEventsDTO dto){
public Result update(@RequestBody EpdcEventsDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
@ -89,7 +91,7 @@ public class EpdcEventsController {
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
public Result delete(@RequestBody String[] ids) {
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
@ -107,6 +109,7 @@ public class EpdcEventsController {
/**
* 事件审核
*
* @Params: [dto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result
* @Author: liuchuang
@ -120,20 +123,22 @@ public class EpdcEventsController {
/**
* 已驳回事件列表
*
* @Params: [params]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.events.EpdcRejectEventsDTO>>
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.events.EpdcRejectEventsDTO>>
* @Author: liuchuang
* @Date: 2019/9/6 15:11
*/
@GetMapping("rejectEvents")
@DataFilter(tableAlias = "temp", deptId = "grid_id", prefix = "AND", isPendingCreator = false)
public Result<PageData<EpdcRejectEventsDTO>> rejectEvents(@RequestParam Map<String, Object> params){
public Result<PageData<EpdcRejectEventsDTO>> rejectEvents(@RequestParam Map<String, Object> params) {
PageData<EpdcRejectEventsDTO> page = epdcEventsService.listOfRejectEvents(params);
return new Result<PageData<EpdcRejectEventsDTO>>().ok(page);
}
/**
* 已驳回事件详情
*
* @Params: [id]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.events.EpdcRejectEventDetailDTO>
* @Author: liuchuang
@ -146,11 +151,10 @@ public class EpdcEventsController {
}
/**
*
* 初始化党群议事菜单消息
*
* @params []
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params []
* @author liuchuang
* @since 2019/10/30 13:43
*/
@ -160,4 +164,17 @@ public class EpdcEventsController {
return new Result();
}
/***
* 统计网格指定时间段内事件上报数与事件受理数
* @param eventReportAmountFormDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.KpiMetaDataDTO>>
* @author qushutong
* @date 2019/12/16 14:10
*/
@PostMapping("statEventReportAmount")
public Result<List<KpiEventReportAmountResultDTO>> statEventReportAmount(@RequestBody KpiMetaDataOfEventsFormDTO eventReportAmountFormDto) {
List<KpiEventReportAmountResultDTO> dtoList = epdcEventsService.statEventReportAmount(eventReportAmountFormDto);
return new Result().ok(dtoList);
}
}

36
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java

@ -18,15 +18,15 @@
package com.elink.esua.epdc.modules.events.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.events.*;
import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO;
import com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssuePendingResponseFormDTO;
import com.elink.esua.epdc.dto.issue.result.IssuePendingResponseResultDTO;
import com.elink.esua.epdc.dto.result.KpiEventReportAmountResultDTO;
import com.elink.esua.epdc.modules.events.entity.EpdcEventsEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Map;
@ -41,38 +41,47 @@ import java.util.Map;
public interface EpdcEventsDao extends BaseDao<EpdcEventsEntity> {
/**
* 根据ID获取事件详情
*
* @Params: [id]
* @Return: com.elink.esua.epdc.dto.events.EpdcEventsDetailDTO
* @Author: liuchuang
* @Date: 2019/9/4 20:31
*/
EpdcEventsDetailDTO selectOneOfEventDetailById(@Param("id") String id);
/**
* 事件待审核列表
*
* @Params: [params]
* @Return: java.util.List<com.elink.esua.epdc.dto.events.EpdcEventsDTO>
* @Author: liuchuang
* @Date: 2019/9/5 19:42
*/
List<EpdcEventsDTO> selectListOfPendingReviewEvents(Map<String, Object> params);
/**
* 已驳回事件列表
*
* @Params: []
* @Return: java.util.List<com.elink.esua.epdc.dto.events.EpdcRejectEventsDTO>
* @Author: liuchuang
* @Date: 2019/9/6 15:04
*/
List<EpdcRejectEventsDTO> selectListOfRejectEvents(Map<String, Object> params);
/**
* 已驳回事件详情
*
* @Params: []
* @Return: com.elink.esua.epdc.dto.events.EpdcRejectEventDetailDTO
* @Author: liuchuang
* @Date: 2019/9/6 14:46
*/
EpdcRejectEventDetailDTO selectOneOfRejectEventDetail(@Param("id") String id);
/**
* 评论列表
*
* @Params: [eventId]
* @Return: java.util.List<com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO>
* @Author: liuchuang
@ -87,30 +96,35 @@ public interface EpdcEventsDao extends BaseDao<EpdcEventsEntity> {
/**
* 赞数+1
*
* @param eventId
*/
void updateApproveNumAdd(String eventId);
/**
* 踩数+1
*
* @param eventId
*/
void updateOpposeNumAdd(String eventId);
/**
* 赞数-1
*
* @param eventId
*/
void updateApproveNumSubtract(String eventId);
/**
* 踩数-1
*
* @param eventId
*/
void updateOpposeNumSubtract(String eventId);
/**
* 移动端-事件详情
*
* @Params: [eventId]
* @Return: com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO
* @Author: liuchuang
@ -119,18 +133,18 @@ public interface EpdcEventsDao extends BaseDao<EpdcEventsEntity> {
EventAppDetailResultDTO selectOneOfEventDetail(String eventId);
/**
*
* 根据网格ID 状态获取事件数量
*
* @params [deptId, state]
* @return int
* @params [deptId, state]
* @author liuchuang
* @since 2019/10/30 12:36
*/
int selectCountOfDeptNotice(Long deptId, int state);
/**
*根据网格id和状态获取议题状态统计
* 根据网格id和状态获取议题状态统计
*
* @param deptIdList
* @return
*/
@ -138,11 +152,19 @@ public interface EpdcEventsDao extends BaseDao<EpdcEventsEntity> {
/**
* 查询待回应列表
*
* @param formDto
* @return
*/
List<IssuePendingResponseResultDTO> listIssuePendingResponse(IssuePendingResponseFormDTO formDto);
/**
* 统计网格指定时间内事件上报数与事件受理数
*
* @param eventReportAmountFormDto
* @return java.util.List<com.elink.esua.epdc.dto.result.KpiEventReportAmountResultDTO>
* @author work@yujt.net.cn
* @date 2019/12/19 19:01
*/
List<KpiEventReportAmountResultDTO> statEventReportAmount(KpiMetaDataOfEventsFormDTO eventReportAmountFormDto);
}

13
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java

@ -24,9 +24,11 @@ import com.elink.esua.epdc.dto.events.*;
import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO;
import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO;
import com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO;
import com.elink.esua.epdc.dto.issue.IssueDTO;
import com.elink.esua.epdc.dto.issue.form.IssuePendingResponseFormDTO;
import com.elink.esua.epdc.dto.issue.result.IssuePendingResponseResultDTO;
import com.elink.esua.epdc.dto.result.KpiEventReportAmountResultDTO;
import com.elink.esua.epdc.modules.events.entity.EpdcEventsEntity;
import java.util.List;
@ -207,4 +209,15 @@ public interface EpdcEventsService extends BaseService<EpdcEventsEntity> {
*/
Result<IssueDTO> topicToIssue(EpdcEventSubmitFormDTO dto);
/***
* 统计网格指定时间内事件上报数与事件受理数
* @param eventReportAmountFormDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.KpiMetaDataDTO>
* @author qushutong
* @date 2019/12/16 14:17
*/
List<KpiEventReportAmountResultDTO> statEventReportAmount(KpiMetaDataOfEventsFormDTO eventReportAmountFormDto);
}

46
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java

@ -40,9 +40,11 @@ import com.elink.esua.epdc.dto.events.*;
import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO;
import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO;
import com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO;
import com.elink.esua.epdc.dto.issue.IssueDTO;
import com.elink.esua.epdc.dto.issue.form.IssuePendingResponseFormDTO;
import com.elink.esua.epdc.dto.issue.result.IssuePendingResponseResultDTO;
import com.elink.esua.epdc.dto.result.KpiEventReportAmountResultDTO;
import com.elink.esua.epdc.modules.async.NewsTask;
import com.elink.esua.epdc.modules.category.entity.CategoryEntity;
import com.elink.esua.epdc.modules.category.service.CategoryService;
@ -173,16 +175,16 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl<EpdcEventsDao, EpdcEv
@Override
@Transactional(rollbackFor = Exception.class)
public Result eventReview(EpdcEventsReviewFormDTO dto) {
if(EventIssueItemState.EVENT_REVIEW_PASS == dto.getEventState()
if (EventIssueItemState.EVENT_REVIEW_PASS == dto.getEventState()
&& (dto.getCategoryId() == null
|| "".equals(dto.getCategoryId()))) {
|| "".equals(dto.getCategoryId()))) {
return new Result().error("分类信息不能为空");
}
EpdcEventsEntity entity = new EpdcEventsEntity();
entity.setId(dto.getId());
entity.setEventState(dto.getEventState());
// 初始化分类
if(dto.getCategoryId() != null && !"".equals(dto.getCategoryId())){
if (dto.getCategoryId() != null && !"".equals(dto.getCategoryId())) {
EventsCategoryDTO categoryInfo = this.initCategoryInfo(dto.getCategoryId());
entity.setCategoryCode(categoryInfo.getCategoryCode());
entity.setFirstCategoryCode(categoryInfo.getCategoryCode());
@ -233,7 +235,7 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl<EpdcEventsDao, EpdcEv
imageType = ImageConstant.TYPE_IMAGE_BIZ_ISSUE_HANDLE;
}
imgService.saveImages(dto.getImages(),referenceId,imageType);
imgService.saveImages(dto.getImages(), referenceId, imageType);
// 插入部门响应记录
// deptRespondTask.saveEventDeptRespond(dto);
@ -245,11 +247,10 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl<EpdcEventsDao, EpdcEv
}
/**
*
* 话题转议题审核回调
*
* @params [topicId, dto]
* @return void
* @params [topicId, dto]
* @author liuchuang
* @since 2019/11/11 10:28
*/
@ -323,7 +324,7 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl<EpdcEventsDao, EpdcEv
|| OrganizationTypeConstant.ORG_TYPE_DISTRICT_DEPT.equals(dtoResult.getData().getTypeKey())
|| OrganizationTypeConstant.ORG_TYPE_STREET_PARTY.equals(dtoResult.getData().getTypeKey())
|| OrganizationTypeConstant.ORG_TYPE_STREET_DEPT.equals(dtoResult.getData().getTypeKey())
|| OrganizationTypeConstant.ORG_TYPE_COMMUNITY_PARTY.equals(dtoResult.getData().getTypeKey())){
|| OrganizationTypeConstant.ORG_TYPE_COMMUNITY_PARTY.equals(dtoResult.getData().getTypeKey())) {
// 项目-待处理项目-吹哨部门用户
itemService.sendWhistlingDeptItemHandleMenuNotice(Collections.singletonList(deptId), userId);
}
@ -364,7 +365,7 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl<EpdcEventsDao, EpdcEv
issueEntity.setGroupName(entity.getGroupName());
issueEntity.setTopicId(entity.getTopicId());
issueEntity.setIssueState(EventIssueItemState.ISSUE_REVIEW_PASS);
issueEntity.setIssueCode("DT"+System.currentTimeMillis());
issueEntity.setIssueCode("DT" + System.currentTimeMillis());
return issueEntity;
}
@ -396,11 +397,10 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl<EpdcEventsDao, EpdcEv
}
/**
*
* 菜单消息-议题待回应
*
* @params [deptId]
* @return void
* @params [deptId]
* @author liuchuang
* @since 2019/10/29 18:05
*/
@ -424,10 +424,10 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl<EpdcEventsDao, EpdcEv
@Override
public Result<List<IssuePendingResponseResultDTO>> listIssuePendingResponse(IssuePendingResponseFormDTO formDto) {
List list;
if (formDto.getDeptId() > 0){
if (formDto.getDeptId() > 0) {
list = new ArrayList<>();
list.add(formDto.getDeptId());
}else {
} else {
list = SecurityUser.getUser().getDeptIdList();
}
formDto.setDeptIdList(list);
@ -468,32 +468,32 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl<EpdcEventsDao, EpdcEv
return new Result<IssueDTO>().ok(issueDTO);
}
/**
*
* 初始化分类信息
*
* @params [categoryId]
* @return com.elink.esua.epdc.dto.events.EventsCategoryDTO
* @params [categoryId]
* @author liuchuang
* @since 2019/11/29 13:51
*/
private EventsCategoryDTO initCategoryInfo(String categoryId) {
Long category = Long.parseLong(categoryId);
EventsCategoryDTO resultDto = new EventsCategoryDTO();
CategoryDTO cateDto =categoryService.get(category);
CategoryDTO cateDto = categoryService.get(category);
resultDto.setCategoryCode(cateDto.getCategoryCode());
//获取所有父类分类标签
List<CategoryEntity> cateList = categoryService.getPidListById(category);
//所选分类标签为多级
if(cateList != null && cateList.size() > 0) {
if (cateList != null && cateList.size() > 0) {
// list第一个为一级分类标签
resultDto.setFirstCategoryCode(cateList.get(0).getCategoryCode());
//分类标签全称拼接:-分割
String name = "";
for (int i = 0; i < cateList.size(); i++){
if (i == cateList.size() -1){
for (int i = 0; i < cateList.size(); i++) {
if (i == cateList.size() - 1) {
name = name + cateList.get(i).getCategoryName();
}else {
} else {
name = name + cateList.get(i).getCategoryName() + "-";
}
}
@ -508,4 +508,12 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl<EpdcEventsDao, EpdcEv
return resultDto;
}
@Override
public List<KpiEventReportAmountResultDTO> statEventReportAmount(KpiMetaDataOfEventsFormDTO eventReportAmountFormDto) {
List<KpiEventReportAmountResultDTO> list = baseDao.statEventReportAmount(eventReportAmountFormDto);
return list;
}
}

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

@ -27,11 +27,14 @@ 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.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.item.ItemDTO;
import com.elink.esua.epdc.dto.item.ItemPendingHandleDTO;
import com.elink.esua.epdc.dto.item.form.ItemHandleSubmitFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemContentForPCEndResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemDetailForPCEndResultDTO;
import com.elink.esua.epdc.dto.result.KpiEvaluationAmountResultDTO;
import com.elink.esua.epdc.dto.result.KpiItemHandleAmountResultDTO;
import com.elink.esua.epdc.modules.item.excel.ItemExcel;
import com.elink.esua.epdc.modules.item.service.ItemService;
import org.springframework.beans.factory.annotation.Autowired;
@ -57,32 +60,34 @@ public class ItemController {
/**
* 项目列表
*
* @Params: [params]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.item.ItemPendingHandleDTO>>
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.item.ItemPendingHandleDTO>>
* @Author: liuchuang
* @Date: 2019/9/16 9:56
*/
@GetMapping("page")
public Result<PageData<ItemPendingHandleDTO>> page(@RequestParam Map<String, Object> params){
public Result<PageData<ItemPendingHandleDTO>> page(@RequestParam Map<String, Object> params) {
PageData<ItemPendingHandleDTO> page = itemService.listOfItemsForPCEnd(params);
return new Result<PageData<ItemPendingHandleDTO>>().ok(page);
}
/**
* 项目处理详情
*
* @Params: [id]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.item.ItemDTO>
* @Author: liuchuang
* @Date: 2019/9/16 9:56
*/
@GetMapping("{id}")
public Result<ItemDetailForPCEndResultDTO> get(@PathVariable("id") String id){
public Result<ItemDetailForPCEndResultDTO> get(@PathVariable("id") String id) {
ItemDetailForPCEndResultDTO data = itemService.getItemDetailById(id);
return new Result<ItemDetailForPCEndResultDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody ItemDTO dto){
public Result save(@RequestBody ItemDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
itemService.save(dto);
@ -90,7 +95,7 @@ public class ItemController {
}
@PutMapping
public Result update(@RequestBody ItemDTO dto){
public Result update(@RequestBody ItemDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
itemService.update(dto);
@ -98,7 +103,7 @@ public class ItemController {
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
public Result delete(@RequestBody String[] ids) {
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
itemService.delete(ids);
@ -113,6 +118,7 @@ public class ItemController {
/**
* 项目处理提交
*
* @Params: [dto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result
* @Author: liuchuang
@ -126,21 +132,23 @@ public class ItemController {
/**
* 项目内容详情
*
* @Params: [id]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.item.ItemDTO>
* @Author: liuchuang
* @Date: 2019/9/16 9:56
*/
@GetMapping("contentDetail/{id}")
public Result<ItemContentForPCEndResultDTO> getItemContentDetail(@PathVariable("id") String id){
public Result<ItemContentForPCEndResultDTO> getItemContentDetail(@PathVariable("id") String id) {
ItemContentForPCEndResultDTO data = itemService.getItemContentDetail(id);
return new Result<ItemContentForPCEndResultDTO>().ok(data);
}
/**
* 评论列表
*
* @Params: [params]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO>>
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO>>
* @Author: liuchuang
* @Date: 2019/9/6 18:58
*/
@ -152,6 +160,7 @@ public class ItemController {
/**
* 屏蔽评论
*
* @Params: [commentId]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result
* @Author: liuchuang
@ -162,4 +171,44 @@ public class ItemController {
return itemService.modifyCommentById(eventDeleteCommentsFormDTO.getCommentIds());
}
/***
* kpi-统计群众对问题处理的满意度
* @param
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < java.lang.Long>>
* @author qushutong
* @date 2019/12/18 10:27
*/
@PostMapping("statPeopleEvaluationMetaData")
public Result<List<KpiEvaluationAmountResultDTO>> statPeopleEvaluationMetaData(@RequestBody KpiMetaDataOfEventsFormDTO metaDataFormDto) {
List<KpiEvaluationAmountResultDTO> list = itemService.statPeopleEvaluationMetaData(metaDataFormDto);
return new Result().ok(list);
}
/**
* 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/18 16:02
*/
@PostMapping("statItemHandleAmountMetaData")
public Result<List<KpiItemHandleAmountResultDTO>> statItemHandleAmountMetaData(@RequestBody KpiMetaDataOfEventsFormDTO metaDataFormDto) {
List<KpiItemHandleAmountResultDTO> list = itemService.statItemHandleAmount(metaDataFormDto);
return new Result().ok(list);
}
/***
* 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("statGridEvaluationMetaData")
public Result<List<KpiEvaluationAmountResultDTO>> statGridEvaluationMetaData(@RequestBody KpiMetaDataOfEventsFormDTO metaDataFormDto) {
List<KpiEvaluationAmountResultDTO> list = itemService.statGridEvaluationMetaData(metaDataFormDto);
return new Result().ok(list);
}
}

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

@ -18,6 +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.result.KpiItemTimeLimitByDeptResultDTO;
import com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO;
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;
@ -25,6 +27,8 @@ import com.elink.esua.epdc.dto.item.form.ItemDetailFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.form.ItemStatisticsFormDTO;
import com.elink.esua.epdc.dto.item.result.*;
import com.elink.esua.epdc.dto.result.KpiEvaluationAmountResultDTO;
import com.elink.esua.epdc.dto.result.KpiItemHandleAmountResultDTO;
import com.elink.esua.epdc.modules.item.entity.ItemEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -43,6 +47,7 @@ public interface ItemDao extends BaseDao<ItemEntity> {
/**
* 根据议题ID获取项目信息
*
* @Params: [issueId]
* @Return: com.elink.esua.epdc.dto.item.ItemDTO
* @Author: liuchuang
@ -52,6 +57,7 @@ public interface ItemDao extends BaseDao<ItemEntity> {
/**
* 移动端-项目列表
*
* @Params: [formDto]
* @Return: java.util.List<com.elink.esua.epdc.dto.item.result.ItemResultDTO>
* @Author: liuchuang
@ -60,11 +66,10 @@ public interface ItemDao extends BaseDao<ItemEntity> {
List<ItemResultDTO> selectListOfItems(ItemFormDTO formDto, int[] states);
/**
*
* 移动端-我的项目列表
*
* @params [formDto, states]
* @return java.util.List<com.elink.esua.epdc.dto.item.result.ItemResultDTO>
* @params [formDto, states]
* @author liuchuang
* @since 2019/10/31 16:28
*/
@ -72,6 +77,7 @@ public interface ItemDao extends BaseDao<ItemEntity> {
/**
* 移动端-项目详情
*
* @Params: [formDto]
* @Return: com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO
* @Author: liuchuang
@ -81,14 +87,17 @@ public interface ItemDao extends BaseDao<ItemEntity> {
/**
* 工作端-项目列表
* @Params: [formDto,deptIdList]
*
* @Params: [formDto, deptIdList]
* @Return: java.util.List<com.elink.esua.epdc.dto.item.result.ItemResultDTO>
* @Author: lipengfei
* @Date: 2019/11/19 16:50
*/
List<ItemResultDTO> selectListOfItemsByWork(ItemFormDTO formDto,List<Long> deptIdList);
List<ItemResultDTO> selectListOfItemsByWork(ItemFormDTO formDto, List<Long> deptIdList);
/**
* 工作端-项目详情
*
* @Params: [formDto]
* @Return: com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO
* @Author: lipengfei
@ -99,6 +108,7 @@ public interface ItemDao extends BaseDao<ItemEntity> {
/**
* 移动端-议题分类统计
*
* @Params: [formDTO]
* @Return: com.elink.esua.epdc.dto.item.result.ItemCategoryStatisticsResultDTO
* @Author: liuchuang
@ -107,9 +117,9 @@ public interface ItemDao extends BaseDao<ItemEntity> {
ItemCategoryStatisticsResultDTO selectOneItemCategoryStatistics(ItemCategoryStatisticsFormDTO formDTO);
/**
* PC端项目列表
*
* @Params: [params]
* @Return: java.util.List<com.elink.esua.epdc.dto.item.ItemPendingHandleDTO>
* @Author: liuchuang
@ -119,6 +129,7 @@ public interface ItemDao extends BaseDao<ItemEntity> {
/**
* PC端项目详情
*
* @Params: [itemId]
* @Return: com.elink.esua.epdc.dto.item.result.ItemDetailForPCEndResultDTO
* @Author: liuchuang
@ -128,6 +139,7 @@ public interface ItemDao extends BaseDao<ItemEntity> {
/**
* 项目处理进度
*
* @Params: [issueId, itemId, outOrInside(0内部数据 1外部数据)]
* @Return: com.elink.esua.epdc.dto.item.result.ItemHandleProgressResultDTO
* @Author: liuchuang
@ -137,6 +149,7 @@ public interface ItemDao extends BaseDao<ItemEntity> {
/**
* 业务端-项目处理进度
*
* @Params: [itemId]
* @Return: com.elink.esua.epdc.dto.item.result.ItemHandleProgressResultDTO
* @Author: liuchuang
@ -146,30 +159,29 @@ public interface ItemDao extends BaseDao<ItemEntity> {
/**
* 项目内容详情
*
* @Params: [itemId]
* @Return: com.elink.esua.epdc.dto.item.result.ItemContentForPCEndResultDTO
* @Author: liuchuang
* @Date: 2019/9/17 10:37
*/
ItemContentForPCEndResultDTO selectItemContentForPCEnd(String itemId);
ItemContentForPCEndResultDTO selectItemContentForPCEnd(String itemId);
/**
*
* 项目处理发送菜单消息
*
* @params [deptId, state]
* @return int
* @params [deptId, state]
* @author liuchuang
* @since 2019/10/30 13:28
*/
int selectCountOfItemDeptNotice(Long deptId, int state);
/**
*
* 根据吹哨部门ID统计吹哨部门待处理项目数量
*
* @params [deptId]
* @return int
* @params [deptId]
* @author liuchuang
* @since 2019/10/30 13:33
*/
@ -177,6 +189,7 @@ public interface ItemDao extends BaseDao<ItemEntity> {
/**
* 移动端-项目统计
*
* @Params: [formDTO]
* @Return: com.elink.esua.epdc.dto.item.result.ItemStatisticsResultDTO
* @Author: lipengfei
@ -184,4 +197,66 @@ public interface ItemDao extends BaseDao<ItemEntity> {
*/
ItemStatisticsResultDTO selectOneItemStatistics(ItemStatisticsFormDTO formDTO);
/**
* 绩效考核 - 项目 - 根据部门id,查询考核周期内群众满意度
*
* @param metaDataFormDto
* @return java.util.List<com.elink.esua.epdc.dto.result.KpiEvaluationAmountResultDTO>
* @author qushutong
* @date 2019/12/20 14:30
*/
List<KpiEvaluationAmountResultDTO> selectListPeopleEvaluationMetaData(KpiMetaDataOfEventsFormDTO metaDataFormDto);
/***
* 绩效考核 - 项目 - 网格对项目处理的评价 不满意 满意 非常满意 统计
* @param metaDataFormDto
* @return java.util.List<com.elink.esua.epdc.dto.KpiMetaDataDTO>
* @author qushutong
* @date 2019/12/20 15:43
*/
List<KpiEvaluationAmountResultDTO> selectListGridEvaluationMetaData(KpiMetaDataOfEventsFormDTO metaDataFormDto);
/***
* 绩效考核 - 项目 - 网格吹哨总数
* @param metaDataFormDto
* @param metaDataCode 元数据编码不可变参数 KpiMetaDataEnum.GRID_CALL_SUPERIOR_AMOUNT.getValue()
* @return java.util.List<com.elink.esua.epdc.dto.KpiMetaDataDTO>
* @author qushutong
* @date 2019/12/18 16:23
*/
List<KpiItemHandleAmountResultDTO> selectListItemGridCallAmount(@Param("metaDataFormDto") KpiMetaDataOfEventsFormDTO metaDataFormDto,
@Param("metaDataCode") String metaDataCode);
/***
* 绩效考核 - 项目 - 查询每个部门吹哨的所有项目与项目吹哨时间
* @param metaDataFormDto
* @return java.util.List<com.elink.esua.epdc.dto.result.KpiItemTimeLimitByDeptResultDTO>
* @author qushutong
* @date 2019/12/19 17:16
*/
List<KpiItemTimeLimitByDeptResultDTO> selctListItemTimeLimitByDept(KpiMetaDataOfEventsFormDTO metaDataFormDto);
/**
* 绩效考核 - 项目 - 按部门id查询与项目有效响应时限 网格呼叫被响应总数
*
* @param kpiItemTimeLimitByDeptList
* @param metaDataCode 元数据编码不可变参数 KpiMetaDataEnum.GRID_CALL_SUPERIOR_RESP_AMOUNT.getValue()
* @return java.util.List<com.elink.esua.epdc.dto.result.KpiItemHandleAmountResultDTO>
* @author qushutong
* @date 2019/12/23 13:27
*/
List<KpiItemHandleAmountResultDTO> selectListItemRespondAmount(@Param("timeLimitList") List<KpiItemTimeLimitByDeptResultDTO> kpiItemTimeLimitByDeptList,
@Param("metaDataCode") String metaDataCode);
/**
* 绩效考核 - 项目 - 按部门id查询与项目有效办结时限 网格呼叫被办结总数
*
* @param kpiItemTimeLimitByDeptList
* @param metaDataCode 元数据编码 不可变参数 KpiMetaDataEnum.GRID_CALL_SUPERIOR_CLOSE_AMOUNT.getValue()
* @return java.util.List<com.elink.esua.epdc.dto.result.KpiItemHandleAmountResultDTO>
* @author qushutong
* @date 2019/12/23 13:37
*/
List<KpiItemHandleAmountResultDTO> selectListItemCloseAmount(@Param("timeLimitList") List<KpiItemTimeLimitByDeptResultDTO> kpiItemTimeLimitByDeptList,
@Param("metaDataCode") String metaDataCode);
}

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

@ -21,10 +21,13 @@ 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.events.EpdcEventsCommentsDTO;
import com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO;
import com.elink.esua.epdc.dto.item.ItemDTO;
import com.elink.esua.epdc.dto.item.ItemPendingHandleDTO;
import com.elink.esua.epdc.dto.item.form.*;
import com.elink.esua.epdc.dto.item.result.*;
import com.elink.esua.epdc.dto.result.KpiEvaluationAmountResultDTO;
import com.elink.esua.epdc.dto.result.KpiItemHandleAmountResultDTO;
import com.elink.esua.epdc.modules.item.entity.ItemEntity;
import java.util.List;
@ -50,6 +53,7 @@ public interface ItemService extends BaseService<ItemEntity> {
/**
* PC端项目列表
*
* @Params: [params]
* @Return: com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.item.ItemPendingHandleDTO>
* @Author: liuchuang
@ -79,6 +83,7 @@ public interface ItemService extends BaseService<ItemEntity> {
/**
* 项目详情
*
* @Params: [id]
* @Return: com.elink.esua.epdc.dto.item.result.ItemDetailForPCEndResultDTO
* @Author: liuchuang
@ -118,6 +123,7 @@ public interface ItemService extends BaseService<ItemEntity> {
/**
* 根据议题ID获取项目信息
*
* @Params: [issueId]
* @Return: com.elink.esua.epdc.modules.item.entity.ItemEntity
* @Author: liuchuang
@ -127,16 +133,19 @@ public interface ItemService extends BaseService<ItemEntity> {
/**
* 移动端-项目列表
*
* @Params: [formDto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.item.result.ItemResultDTO>>
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.item.result.ItemResultDTO>>
* @Author: liuchuang
* @Date: 2019/9/9 16:47
*/
Result<List<ItemResultDTO>> listItems(ItemFormDTO formDto);
/**
* 项目列表-移动app端用
*
* @Params: [formDto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.item.result.ItemResultDTO>>
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.item.result.ItemResultDTO>>
* @Author: lipengfei
* @Date: 2019/10/19 16:47
*/
@ -144,6 +153,7 @@ public interface ItemService extends BaseService<ItemEntity> {
/**
* 移动端-项目详情
*
* @Params: [formDto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO>
* @Author: liuchuang
@ -153,6 +163,7 @@ public interface ItemService extends BaseService<ItemEntity> {
/**
* 工作端-项目详情
*
* @Params: [formDto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.item.result.ItemDetailResultDTO>
* @Author: lipengfei
@ -163,14 +174,17 @@ public interface ItemService extends BaseService<ItemEntity> {
/**
* 工作端-获取满意度评价结果
*
* @Params: [evaluationFormDTO]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.item.result
* @Author: lipengfei
* @Date: 2019/9/10 20:54
* @ Author: lipengfei
* @ Date: 2 0 1 9 / 9 / 1 0 2 0 : 5 4
*/
Result evaluation(EvaluationFormDTO evaluationFormDTO);
/**
* 工作端-获取可吹哨部门
*
* @Return: com.elink.esua.epdc.commons.tools.utils.Result
* @Author: lipengfei
* @Date: 2019/11/19 16:34
@ -179,6 +193,7 @@ public interface ItemService extends BaseService<ItemEntity> {
/**
* 项目分类统计
*
* @Params: [formDto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.item.result.ItemCategoryStatisticsResultDTO>
* @Author: liuchuang
@ -188,6 +203,7 @@ public interface ItemService extends BaseService<ItemEntity> {
/**
* 项目处理进度
*
* @Params: [itemId, outOrInside(0内部数据 1外部数据)]
* @Return: java.util.List<com.elink.esua.epdc.dto.item.result.ItemHandleProgressResultDTO>
* @Author: liuchuang
@ -197,6 +213,7 @@ public interface ItemService extends BaseService<ItemEntity> {
/**
* 项目处理提交
*
* @Params: [dto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result
* @Author: liuchuang
@ -206,6 +223,7 @@ public interface ItemService extends BaseService<ItemEntity> {
/**
* 项目内容详情
*
* @Params: [itemId]
* @Return: com.elink.esua.epdc.dto.item.result.ItemContentForPCEndResultDTO
* @Author: liuchuang
@ -215,6 +233,7 @@ public interface ItemService extends BaseService<ItemEntity> {
/**
* 评论列表
*
* @Params: [params]
* @Return: com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO>
* @Author: liuchuang
@ -224,6 +243,7 @@ public interface ItemService extends BaseService<ItemEntity> {
/**
* 屏蔽评论
*
* @Params: [commentId]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result
* @Author: liuchuang
@ -233,30 +253,29 @@ public interface ItemService extends BaseService<ItemEntity> {
/**
* 我的项目列表
*
* @Params: [formDTO]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.item.result.ItemResultDTO>>
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.item.result.ItemResultDTO>>
* @Author: liuchuang
* @Date: 2019/9/17 13:37
*/
Result<List<ItemResultDTO>> listItemsOfMine(ItemOfMineFormDTO formDTO);
/**
*
* 项目处理发送菜单消息
*
* @params [deptId]
* @return void
* @params [deptId]
* @author liuchuang
* @since 2019/10/30 9:12
*/
void sendItemHandleMenuNotice(Long deptId, Long userId);
/**
*
* 项目处理发送菜单消息-吹哨部门
*
* @params [deptIds]
* @return void
* @params [deptIds]
* @author liuchuang
* @since 2019/10/30 12:26
*/
@ -264,6 +283,7 @@ public interface ItemService extends BaseService<ItemEntity> {
/**
* 项目统计
*
* @Params: [formDto]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.item.result.ItemCategoryStatisticsResultDTO>
* @Author: lipengfei
@ -273,10 +293,40 @@ public interface ItemService extends BaseService<ItemEntity> {
/**
* 项目处理进度
*
* @Params: [itemId]
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.item.result.ItemCategoryStatisticsResultDTO>
* @Author: lipengfei
* @Date: 2019/11/18 13:32
*/
List<ItemHandleProgressResultDTO> listOfItemHandleProgressByWork(String itemId);
/***
* 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/18 10:30
*/
List<KpiEvaluationAmountResultDTO> statPeopleEvaluationMetaData(KpiMetaDataOfEventsFormDTO metaDataFormDto);
/**
* 统计项目处理数 包括网格呼叫总数网格呼叫被响应数网格呼叫被关闭数
*
* @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/18 16:02
*/
List<KpiItemHandleAmountResultDTO> statItemHandleAmount(KpiMetaDataOfEventsFormDTO metaDataFormDto);
/***
* 绩效考核 - 项目 - 网格对项目处理的评价 不满意 满意 非常满意 统计
* @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
*/
List<KpiEvaluationAmountResultDTO> statGridEvaluationMetaData(KpiMetaDataOfEventsFormDTO metaDataFormDto);
}

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

@ -25,21 +25,22 @@ import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.constant.OrganizationTypeConstant;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.redis.RedisKeys;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.DateUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.constant.EventIssueItemState;
import com.elink.esua.epdc.constant.EventsNoticeConstant;
import com.elink.esua.epdc.constant.ImageConstant;
import com.elink.esua.epdc.constant.ItemInformationConstant;
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.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.issue.result.IssueProgressResultDTO;
import com.elink.esua.epdc.dto.item.ItemDTO;
import com.elink.esua.epdc.dto.item.ItemDeptDTO;
@ -47,7 +48,10 @@ import com.elink.esua.epdc.dto.item.ItemEvaluateDeptDTO;
import com.elink.esua.epdc.dto.item.ItemPendingHandleDTO;
import com.elink.esua.epdc.dto.item.form.*;
import com.elink.esua.epdc.dto.item.result.*;
import com.elink.esua.epdc.dto.result.KpiEvaluationAmountResultDTO;
import com.elink.esua.epdc.dto.result.KpiItemHandleAmountResultDTO;
import com.elink.esua.epdc.enums.ItemHandleCategoryEnum;
import com.elink.esua.epdc.enums.KpiMetaDataEnum;
import com.elink.esua.epdc.modules.async.NewsTask;
import com.elink.esua.epdc.modules.events.service.EpdcEventsService;
import com.elink.esua.epdc.modules.events.service.ImgService;
@ -102,6 +106,10 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
@Autowired
private ImgService imgService;
@Autowired
private RedisUtils redisUtils;
@Override
public PageData<ItemDTO> page(Map<String, Object> params) {
IPage<ItemEntity> page = baseDao.selectPage(
@ -806,4 +814,45 @@ public class ItemServiceImpl extends BaseServiceImpl<ItemDao, ItemEntity> implem
ItemStatisticsResultDTO resultDTO = baseDao.selectOneItemStatistics(formDto);
return new Result<ItemStatisticsResultDTO>().ok(resultDTO);
}
@Override
public List<KpiEvaluationAmountResultDTO> statPeopleEvaluationMetaData(KpiMetaDataOfEventsFormDTO metaDataFormDto) {
return baseDao.selectListPeopleEvaluationMetaData(metaDataFormDto);
}
@Override
public List<KpiItemHandleAmountResultDTO> statItemHandleAmount(KpiMetaDataOfEventsFormDTO metaDataFormDto) {
List<KpiItemHandleAmountResultDTO> kpiMetaDataDTOList = new ArrayList<>();
// 按部门id查询 部门网格呼叫事件总数
List<KpiItemHandleAmountResultDTO> callAmountOfDept = baseDao.selectListItemGridCallAmount(metaDataFormDto, KpiMetaDataEnum.GRID_CALL_SUPERIOR_AMOUNT.getValue());
kpiMetaDataDTOList.addAll(callAmountOfDept);
//查询各个街道的项目呼叫有效时间 有效结案时间
List<KpiItemTimeLimitByDeptResultDTO> KpiItemTimeLimitByDeptList = baseDao.selctListItemTimeLimitByDept(metaDataFormDto);
for (KpiItemTimeLimitByDeptResultDTO itemTimeLimitByDept : KpiItemTimeLimitByDeptList) {
if (StringUtils.isBlank(itemTimeLimitByDept.getItemId()) || StringUtils.isBlank(itemTimeLimitByDept.getCatecoryId())) {
continue;
}
Map<String, Integer> map = (Map<String, Integer>) redisUtils.get(RedisKeys.getKpiItemTimeLimitKey(itemTimeLimitByDept.getCatecoryId()));
itemTimeLimitByDept.setValidCloseTime(map.get(KpiItemConstant.CLOSE_ITEM_TIME_LIMIT));
itemTimeLimitByDept.setValidRespondTime(map.get(KpiItemConstant.RESPOND_ITEM_TIME_LIMIT));
}
// 按部门id查询与项目有效响应时限 网格呼叫被响应总数
List<KpiItemHandleAmountResultDTO> itemRespondAmountByDeot = baseDao.selectListItemRespondAmount(KpiItemTimeLimitByDeptList, KpiMetaDataEnum.GRID_CALL_SUPERIOR_RESP_AMOUNT.getValue());
kpiMetaDataDTOList.addAll(itemRespondAmountByDeot);
// 按部门id查询与项目有效办结时限 网格呼叫被办结总数
List<KpiItemHandleAmountResultDTO> itemCloseAmountByDeot = baseDao.selectListItemCloseAmount(KpiItemTimeLimitByDeptList, KpiMetaDataEnum.GRID_CALL_SUPERIOR_CLOSE_AMOUNT.getValue());
kpiMetaDataDTOList.addAll(itemCloseAmountByDeot);
return kpiMetaDataDTOList;
}
@Override
public List<KpiEvaluationAmountResultDTO> statGridEvaluationMetaData(KpiMetaDataOfEventsFormDTO metaDataFormDto) {
List<KpiEvaluationAmountResultDTO> list = baseDao.selectListGridEvaluationMetaData(metaDataFormDto);
return list;
}
}

101
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml

@ -58,59 +58,59 @@
<select id="selectListOfPendingReviewEvents" resultType="com.elink.esua.epdc.dto.events.EpdcEventsDTO">
SELECT
temp.id,
temp.nick_Name AS nickName,
temp.event_content AS eventContent,
temp.CREATED_TIME AS createdTime
temp.id,
temp.nick_Name AS nickName,
temp.event_content AS eventContent,
temp.CREATED_TIME AS createdTime
FROM
epdc_events temp
epdc_events temp
WHERE
temp.DEL_FLAG = '0'
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND DATE_FORMAT( temp.CREATED_TIME, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime}
</if>
<if test="gridId != null and gridId != ''">
AND (temp.GRID_ID = #{gridId}
OR find_in_set(#{gridId},temp.ALL_DEPT_IDS))
</if>
<if test="streetId != null and streetId != ''">
AND (find_in_set(#{streetId},temp.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},temp.ALL_DEPT_IDS))
</if>
<if test="communityId != null and communityId != ''">
AND (find_in_set(#{communityId},temp.PARENT_DEPT_IDS)
OR find_in_set(#{communityId},temp.ALL_DEPT_IDS))
</if>
AND temp.EVENT_STATE = 0
temp.DEL_FLAG = '0'
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND DATE_FORMAT( temp.CREATED_TIME, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime}
</if>
<if test="gridId != null and gridId != ''">
AND (temp.GRID_ID = #{gridId}
OR find_in_set(#{gridId},temp.ALL_DEPT_IDS))
</if>
<if test="streetId != null and streetId != ''">
AND (find_in_set(#{streetId},temp.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},temp.ALL_DEPT_IDS))
</if>
<if test="communityId != null and communityId != ''">
AND (find_in_set(#{communityId},temp.PARENT_DEPT_IDS)
OR find_in_set(#{communityId},temp.ALL_DEPT_IDS))
</if>
AND temp.EVENT_STATE = 0
ORDER BY temp.CREATED_TIME DESC
</select>
<select id="selectListOfRejectEvents" resultType="com.elink.esua.epdc.dto.events.EpdcRejectEventsDTO">
SELECT
temp.ID AS id,
temp.NICK_NAME AS nickName,
temp.CREATED_TIME AS createdTime,
temp.EVENT_CONTENT AS eventContent
temp.ID AS id,
temp.NICK_NAME AS nickName,
temp.CREATED_TIME AS createdTime,
temp.EVENT_CONTENT AS eventContent
FROM
epdc_events temp
epdc_events temp
WHERE
temp.DEL_FLAG = '0'
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND DATE_FORMAT( temp.CREATED_TIME, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime}
</if>
<if test="gridId != null and gridId != ''">
AND (temp.GRID_ID = #{gridId}
OR find_in_set(#{gridId},temp.ALL_DEPT_IDS))
</if>
<if test="streetId != null and streetId != ''">
AND find_in_set(#{streetId},temp.PARENT_DEPT_IDS)
</if>
<if test="communityId != null and communityId != ''">
AND find_in_set(#{communityId},temp.PARENT_DEPT_IDS)
</if>
AND temp.EVENT_STATE = 2
temp.DEL_FLAG = '0'
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND DATE_FORMAT( temp.CREATED_TIME, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime}
</if>
<if test="gridId != null and gridId != ''">
AND (temp.GRID_ID = #{gridId}
OR find_in_set(#{gridId},temp.ALL_DEPT_IDS))
</if>
<if test="streetId != null and streetId != ''">
AND find_in_set(#{streetId},temp.PARENT_DEPT_IDS)
</if>
<if test="communityId != null and communityId != ''">
AND find_in_set(#{communityId},temp.PARENT_DEPT_IDS)
</if>
AND temp.EVENT_STATE = 2
ORDER BY
temp.CREATED_TIME DESC
temp.CREATED_TIME DESC
</select>
<resultMap id="rejectEventDetailMap" type="com.elink.esua.epdc.dto.events.EpdcRejectEventDetailDTO">
@ -311,5 +311,20 @@
LIMIT #{pageIndex},#{pageSize}
</select>
<select id="statEventReportAmount"
resultType="com.elink.esua.epdc.dto.result.KpiEventReportAmountResultDTO">
SELECT
dept.deptId gridId,
COUNT( ev.ID ) reportAmount,
COUNT( ev.EVENT_STATE IS NOT NULL OR ev.EVENT_STATE != '0' ) respondAmount
FROM
<foreach collection="deptIdList" item="item" open="( " separator="UNION ALL" close=") dept ">
SELECT #{item} AS deptId
</foreach>
LEFT JOIN epdc_events ev ON ev.GRID_ID = dept.deptId AND ev.CREATED_TIME BETWEEN #{startDate} AND DATE_ADD(#{endDate},INTERVAL 1 DAY)
WHERE
ev.DEL_FLAG = '0' OR ev.DEL_FLAG IS NULL
GROUP BY dept.deptId
</select>
</mapper>

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

@ -795,4 +795,106 @@
</if>
) noticeTable ON pendingTable.keystr = noticeTable.keystr
</select>
<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
FROM
<foreach collection="deptIdList" item="item" open="( " separator="UNION ALL" close=") dept ">
SELECT #{item} AS deptId
</foreach>
LEFT JOIN epdc_item ei ON ei.GRID_ID = dept.deptId AND ei.CREATED_TIME BETWEEN #{startDate} AND DATE_ADD(#{endDate},INTERVAL 1 DAY)
WHERE ei.DEL_FLAG = '0' OR ei.DEL_FLAG IS NULL
GROUP BY dept.deptId
</select>
<select id="selectListGridEvaluationMetaData" resultType="com.elink.esua.epdc.dto.result.KpiEvaluationAmountResultDTO">
SELECT
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 ed.CREATED_TIME BETWEEN #{startDate} AND DATE_ADD(#{endDate},INTERVAL 1 DAY)
WHERE
ed.DEL_FLAG = '0' OR ed.DEL_FLAG IS NULL
GROUP BY dept.deptId
</select>
<select id="selectListItemGridCallAmount" resultType="com.elink.esua.epdc.dto.result.KpiItemHandleAmountResultDTO">
SELECT
COUNT(ed.ID) AS metaDataValue,
dept.deptId AS deptId,
'${metaDataCode}' as metaDataCode
FROM
<foreach item="deptId" collection="metaDataFormDto.deptIdList" open="( " separator="UNION ALL" close=") dept">
SELECT #{deptId} AS deptId
</foreach>
LEFT JOIN epdc_item_dept ed ON ed.DEPT_ID = dept.deptId
AND ed.CREATED_TIME BETWEEN #{metaDataFormDto.startDate} AND DATE_ADD(#{metaDataFormDto.endDate},INTERVAL 1 DAY)
AND ed.DEL_FLAG = '0'
GROUP BY dept.deptId
</select>
<select id="selctListItemTimeLimitByDept" resultType="com.elink.esua.epdc.dto.result.KpiItemTimeLimitByDeptResultDTO">
SELECT
dept.deptId,
ed.ITEM_ID,
ed.CREATED_TIME,
ec.id as catecoryId
FROM
<foreach item="deptId" collection="deptIdList" open="( " separator="UNION ALL" close=") dept">
SELECT #{deptId} AS deptId
</foreach>
LEFT JOIN epdc_item_dept ed ON dept.deptId = ed.DEPT_ID
AND DATE_FORMAT( ed.CREATED_TIME, '%Y-%m-%d' ) BETWEEN #{startDate} AND DATE_ADD(#{endDate},INTERVAL 1 DAY)
AND ed.DEL_FLAG = '0'
LEFT JOIN epdc_item ei ON ed.ITEM_ID = ei.ID
LEFT JOIN epdc_category ec ON ei.CATEGORY_CODE = ec.id
</select>
<select id="selectListItemRespondAmount" resultType="com.elink.esua.epdc.dto.result.KpiItemHandleAmountResultDTO">
select
COUNT(process.ID) AS metaDataValue,
tl.deptId AS deptId,
'${metaDataCode}' as metaDataCode
from
<foreach collection="timeLimitList" item="timeRuleItem" open="( " separator="UNION ALL" close=") tl">
SELECT #{timeRuleItem.deptId} AS deptId ,
#{timeRuleItem.itemId} AS itemId ,
#{timeRuleItem.createdTime} AS createdTime ,
#{timeRuleItem.validRespondTime} AS validRespondTime
</foreach>
LEFT JOIN epdc_item_handle_process process ON tl.deptId = process.HANDLER_DEPT_ID
AND tl.itemId = process.ITEM_ID
AND process.DEL_FLAG = '0'
AND process.CREATED_TIME &lt;= DATE_ADD(tl.createdTime,INTERVAL tl.validRespondTime HOUR)
GROUP BY tl.deptId
</select>
<select id="selectListItemCloseAmount" resultType="com.elink.esua.epdc.dto.result.KpiItemHandleAmountResultDTO">
select
COUNT(process.ID) AS metaDataValue,
tl.deptId AS deptId,
'${metaDataCode}' as metaDataCode
from
<foreach collection="timeLimitList" item="timeRuleItem" open="( " separator="UNION ALL" close=") tl">
SELECT #{timeRuleItem.deptId} AS deptId ,
#{timeRuleItem.itemId} AS itemId ,
#{timeRuleItem.createdTime} AS createdTime ,
#{timeRuleItem.validCloseTime} AS validCloseTime
</foreach>
LEFT JOIN epdc_item_handle_process process ON tl.deptId = process.HANDLER_DEPT_ID
AND process.STATE = '10'
AND tl.itemId = process.ITEM_ID
AND process.DEL_FLAG = '0'
AND process.CREATED_TIME &lt;= DATE_ADD(tl.createdTime,INTERVAL tl.validCloseTime HOUR)
GROUP BY tl.deptId
</select>
</mapper>

28
esua-epdc/epdc-module/epdc-job/epdc-job-server/pom.xml

@ -107,6 +107,30 @@
<artifactId>dockerfile-maven-plugin</artifactId>
</plugin>
</plugins>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<resources>
<resource>
<filtering>true</filtering>
<directory>${basedir}/src/main/resources</directory>
<includes>
<include>**/application*.yml</include>
<include>**/*.properties</include>
<include>logback-spring.xml</include>
<include>registry.conf</include>
</includes>
</resource>
<resource>
<directory>${basedir}/src/main/resources</directory>
<excludes>
<exclude>**/application*.yml</exclude>
<exclude>**/*.properties</exclude>
<exclude>logback-spring.xml</exclude>
<exclude>registry.conf</exclude>
</excludes>
</resource>
</resources>
</build>
<profiles>
@ -161,7 +185,7 @@
<spring.datasource.druid.username>epdc</spring.datasource.druid.username>
<spring.datasource.druid.password>elink833066</spring.datasource.druid.password>
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>47.104.224.45:8848</nacos.server-addr>
</properties>
</profile>
@ -182,7 +206,7 @@
<![CDATA[jdbc:mysql://47.104.224.45:3308/esua_epdc_job?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epdc</spring.datasource.druid.username>
<spring.datasource.druid.password>elink888</spring.datasource.druid.password>
<spring.datasource.druid.password>elink833066</spring.datasource.druid.password>
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.server-addr>47.104.224.45:8848</nacos.server-addr>

48
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/KpiFeignClient.java

@ -0,0 +1,48 @@
package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.feign.fallback.KpiFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
/**
* @author: qushutong
* @Date: 2019/12/12 18:46
* @Description: kpi模块
*/
@FeignClient(name = ServiceConstant.EPDC_KPI_SERVER, fallback = KpiFeignClientFallBack.class)
public interface KpiFeignClient {
/***
* 调用kpi模块执行获取元数据的定时任务
* @param kpiScheduleCode
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author qushutong
* @date 2019/12/12 18:55
*/
@GetMapping("kpi/metaData/buildMetaData/{kpiScheduleCode}")
Result runKpiMateData(@PathVariable("kpiScheduleCode") String kpiScheduleCode);
/**
* 根据规则编码启动公式计算
*
* @param ruleCode
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author work@yujt.net.cn
* @date 2019/12/25 14:06
*/
@GetMapping("kpi/rule/calcByCode/{ruleCode}")
Result startTaskByRuleCode(@PathVariable("ruleCode") String ruleCode);
/**
* 将手动打分存入元数据表
*
* @return void
* @author work@yujt.net.cn
* @date 2019/12/25 14:06
*/
@GetMapping("kpi/manualScore/initMetaData")
Result manualScoreToMetaData();
}

27
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/KpiFeignClientFallBack.java

@ -0,0 +1,27 @@
package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.feign.KpiFeignClient;
import org.springframework.stereotype.Component;
@Component
public class KpiFeignClientFallBack implements KpiFeignClient {
@Override
public Result runKpiMateData(String kpiScheduleCode) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_KPI_SERVER, "runKpiMateData", kpiScheduleCode);
}
@Override
public Result startTaskByRuleCode(String ruleCode) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_KPI_SERVER, "startTaskByRuleCode", ruleCode);
}
@Override
public Result manualScoreToMetaData() {
return ModuleUtils.feignConError(ServiceConstant.EPDC_KPI_SERVER, "manualScoreToMetaData", "");
}
}

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

@ -0,0 +1,37 @@
package com.elink.esua.epdc.service;
/**
* @author: qushutong
* @Date: 2019/12/12 16:52
* @Description: kpi 模块查原始数据
*/
public interface ScheduleJobKpiService {
/***
* 启动kpi模块获取原始数据
* @param params
* @return void
* @author qushutong
* @date 2019/12/12 16:56
*/
void startKpiMetaData(String params);
/**
* 启动与规则编码匹配的相关任务
*
* @param ruleCode
* @return void
* @author work@yujt.net.cn
* @date 2019/12/17 14:43
*/
void startTaskByRuleCode(String ruleCode);
/**
* 将手动打分存入元数据表
*
* @return void
* @author work@yujt.net.cn
* @date 2019/12/25 14:05
*/
void manualScoreToMetaData();
}

33
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/service/impl/ScheduleJobKpiServiceImpl.java

@ -0,0 +1,33 @@
package com.elink.esua.epdc.service.impl;
import com.elink.esua.epdc.feign.KpiFeignClient;
import com.elink.esua.epdc.service.ScheduleJobKpiService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @author: qushutong
* @Date: 2019/12/12 16:53
* @Description: 查询gridId
*/
@Component
public class ScheduleJobKpiServiceImpl implements ScheduleJobKpiService {
@Autowired
private KpiFeignClient kpiFeignClient;
@Override
public void startKpiMetaData(String params) {
kpiFeignClient.runKpiMateData(params);
}
@Override
public void startTaskByRuleCode(String ruleCode) {
kpiFeignClient.startTaskByRuleCode(ruleCode);
}
@Override
public void manualScoreToMetaData() {
kpiFeignClient.manualScoreToMetaData();
}
}

31
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/KpiManualScoreTask.java

@ -0,0 +1,31 @@
package com.elink.esua.epdc.task;
import com.elink.esua.epdc.service.ScheduleJobKpiService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 绩效考核规则的相关任务
*
* @author work@yujt.net.cn
* @date 2019/12/17 14:40
*/
@Component("kpiManualScoreTask")
public class KpiManualScoreTask implements ITask {
@Autowired
private ScheduleJobKpiService kpiService;
/**
* 将手动打分存入元数据表
* @param ruleCode
* @return void
* @author work@yujt.net.cn
* @date 2019/12/25 14:02
*/
@Override
public void run(String ruleCode) {
kpiService.manualScoreToMetaData();
}
}

35
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/KpiMetaDataTask.java

@ -0,0 +1,35 @@
package com.elink.esua.epdc.task;
import com.elink.esua.epdc.service.ScheduleJobKpiService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 绩效考核元数据统计任务
*
* @author: qushutong
* @Date: 2019/12/12 16:50
* @Description: kpi
*/
@Component("kpiMetaDataTask")
public class KpiMetaDataTask implements ITask {
@Autowired
private ScheduleJobKpiService scheduleJobKpiService;
/***
* 查询所有gruidID 统计kpi元数据
* @param params
* @return void
* @author qushutong
* @date 2019/12/12 16:51
*/
@Override
public void run(String params) {
if (StringUtils.isNotBlank(params)) {
//群众反应问题网格响应数 总数
scheduleJobKpiService.startKpiMetaData(params);
}
}
}

34
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/KpiRuleTask.java

@ -0,0 +1,34 @@
package com.elink.esua.epdc.task;
import com.elink.esua.epdc.service.ScheduleJobKpiService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 绩效考核规则的相关任务
*
* @author work@yujt.net.cn
* @date 2019/12/17 14:40
*/
@Component("kpiRuleTask")
public class KpiRuleTask implements ITask {
@Autowired
private ScheduleJobKpiService kpiService;
/**
* 根据规则编码执行计划任务
*
* @param ruleCode
* @return void
* @author work@yujt.net.cn
* @date 2019/12/17 14:42
*/
@Override
public void run(String ruleCode) {
if (StringUtils.isNotBlank(ruleCode)) {
kpiService.startTaskByRuleCode(ruleCode);
}
}
}

80
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/resources/application.yml

@ -16,5 +16,85 @@ nacos:
enable: @nacos.config.bootstrap.log.enable@
spring:
main:
allow-bean-definition-overriding: true
application:
name: epdc-job-server
# 环境 dev|test|prod
profiles:
active: @spring.profiles.active@
messages:
encoding: UTF-8
basename: i18n/messages,i18n/messages_common
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
redis:
database: @spring.redis.index@
host: @spring.redis.host@
timeout: 30s
port: @spring.redis.port@
password: @spring.redis.password@
datasource:
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: @spring.datasource.druid.url@
username: @spring.datasource.druid.username@
password: @spring.datasource.druid.password@
cloud:
nacos:
discovery:
server-addr: @nacos.server-addr@
register-enabled: @nacos.register-enabled@
alibaba:
seata:
tx-service-group: epdc-job-server-fescar-service-group
management:
endpoints:
web:
exposure:
include: "*"
endpoint:
health:
show-details: ALWAYS
feign:
hystrix:
enabled: true
httpclient:
enabled: true
hystrix:
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 60000 #缺省为1000
ribbon:
ReadTimeout: 300000
ConnectTimeout: 300000
mybatis-plus:
mapper-locations: classpath:/mapper/**/*.xml
#实体扫描,多个package用逗号或者分号分隔
typeAliasesPackage: io.renren.entity;com.elink.esua.epdc.entity
global-config:
#数据库相关配置
db-config:
#主键类型 AUTO:"数据库ID自增", INPUT:"用户输入ID", ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
id-type: ID_WORKER
#字段策略 IGNORED:"忽略判断",NOT_NULL:"非 NULL 判断"),NOT_EMPTY:"非空判断"
field-strategy: NOT_NULL
#驼峰下划线转换
column-underline: true
banner: false
#原生配置
configuration:
map-underscore-to-camel-case: true
cache-enabled: false
call-setters-on-nulls: true
jdbc-type-for-null: 'null'

4
esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/resources/registry.conf

@ -3,7 +3,7 @@ registry {
type = "nacos"
nacos {
serverAddr = "47.104.224.45"
serverAddr = "@nacos.server-addr@"
namespace = "public"
cluster = "default"
}
@ -14,7 +14,7 @@ config {
type = "nacos"
nacos {
serverAddr = "47.104.224.45"
serverAddr = "@nacos.server-addr@"
namespace = "public"
cluster = "default"
}

24
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/constant/KpiFieldConstant.java

@ -0,0 +1,24 @@
package com.elink.esua.epdc.constant;
/**
* 绩效考核一些字段常量
*
* @author work@yujt.net.cn
* @date 2019/12/18 19:41
*/
public interface KpiFieldConstant {
String RULE_ID = "RULE_ID";
String RULE_NAME = "RULE_NAME";
String RULE_MODE = "RULE_MODE";
String SCORE_START_DATE = "SCORE_START_DATE";
String START_DATE = "START_DATE";
String SCORE_END_DATE = "SCORE_END_DATE";
String END_DATE = "END_DATE";
String DEPT_ID = "DEPT_ID";
String KPI_CYCLE = "KPI_CYCLE";
String REFERENCE_ID = "REFERENCE_ID";
String DATA_CODE = "DATA_CODE";
}

15
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/constant/KpiItemConstant.java

@ -0,0 +1,15 @@
package com.elink.esua.epdc.constant;
/**
* 绩效考核项目相关常量
*
* @author work@yujt.net.cn
* @date 2019/12/17 10:35
*/
public interface KpiItemConstant {
String RESPOND_ITEM_TIME_LIMIT = "validCloseTime";
String CLOSE_ITEM_TIME_LIMIT = "validRespondTime";
}

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

@ -0,0 +1,65 @@
package com.elink.esua.epdc.constant;
/**
* 考核规则编码常量
*
* @author work@yujt.net.cn
* @date 2019/12/19 14:45
*/
public interface KpiScheduleCodeConstant {
/**
* 元数据统计群众事件上报总数 被响应总数
*/
String META_DATA_PEOPLE_REPORT_AMOUNT = "statPeopleReportAmount";
/**
* 元数据统计群众对网格问题办理 满意度评价
*/
String META_DATA_PEOPLE_EVALUATION = "statPeopleEvaluation";
/**
* 元数据统计包括网格呼叫数网格呼叫被响应数网格呼叫被办结数
*/
String META_DATA_ITEM_HANDLE_AMOUNT = "statItemHandleAmount";
/**
* 元数据统计网格对项目处理 满意度评价
*/
String META_DATA_GRID_EVALUATION = "statGridEvaluation";
/**
* 考核规则基础网格 平时工作成效得分 月度
*/
String GRID_WORK_SCORE_MONTH = "calcGridWorkScoreByMonth";
/**
* 考核规则基础网格 平时工作成效得分 季度
*/
String GRID_WORK_SCORE_QUARTER = "calcGridWorkScoreByQuarter";
/**
* 考核规则基础网格 平时工作成效得分 年度
*/
String GRID_WORK_SCORE_YEAR = "calcGridWorkScoreByYear";
/**
* 考核规则基础网格 考核最终得分 月度
*/
String GRID_FINAL_SCORE_MONTH = "calcGridFinalScoreByMonth";
/**
* 考核规则基础网格 考核最终得分 季度
*/
String GRID_FINAL_SCORE_QUARTER = "calcGridFinalScoreByQuarter";
/**
* 考核规则基础网格 考核最终得分 年度
*/
String GRID_FINAL_SCORE_YEAR = "calcGridFinalScoreByYear";
/**
* 考核规则街道/区直 考核最终得分 月度
*/
String SUPERIOR_FINAL_SCORE_MONTH = "calcSuperiorFinalScoreByMonth";
/**
* 考核规则街道/区直 考核最终得分 季度
*/
String SUPERIOR_FINAL_SCORE_QUARTER = "calcSuperiorFinalScoreByQuarter";
/**
* 考核规则街道/区直 考核最终得分 年度
*/
String SUPERIOR_FINAL_SCORE_YEAR = "calcSuperiorFinalScoreByYear";
}

25
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/EventCountFromDTO.java

@ -0,0 +1,25 @@
package com.elink.esua.epdc.dto;
import lombok.Data;
import java.util.List;
/**
* @author: qushutong
* @Date: 2019/12/17 10:23
* @Description: kpi 群众反应问题数
*/
@Data
public class EventCountFromDTO {
/***
* 所有网格
*/
private List<Long> gridIdList;
/***
* 0 是群众反应问题总数 1 群众反应问题响应数
*/
private String responseType;
}

25
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/KpiManualScoreDTO.java

@ -18,9 +18,11 @@
package com.elink.esua.epdc.dto;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import javax.validation.constraints.Min;
@ -37,7 +39,7 @@ import javax.validation.constraints.NotEmpty;
@Data
public class KpiManualScoreDTO implements Serializable {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 866931079518321362L;
/**
* 主键
@ -54,23 +56,25 @@ public class KpiManualScoreDTO implements Serializable {
* 被打分的部门id
*/
@NotBlank(message = "考核部门id不能为空")
private String deptId;
private Long deptId;
/**
* 得分
*/
@NotBlank(message = "得分不能为空")
@Min(0)
private Integer score;
private BigDecimal score;
/**
* 考核起止日期
*/
@JSONField(format = "yyyy-MM-dd")
private Date scoreStartDate;
/**
* 考核终止日期
*/
@JSONField(format = "yyyy-MM-dd")
private Date scoreEndDate;
/**
@ -123,6 +127,21 @@ public class KpiManualScoreDTO implements Serializable {
*/
private String allDeptNames;
/**
* 打分者的部门id
*/
private String creatorDeptName;
/**
* 打分者的部门名称
*/
private Long creatorDeptId;
/**
* 被考核部门的网格长姓名
*/
private String leaderName;
/**
* 考核周期起始月
*/

4
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/KpiManualScoreRuleDTO.java

@ -32,7 +32,7 @@ import java.math.BigDecimal;
@Data
public class KpiManualScoreRuleDTO implements Serializable {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = -3127206787305914421L;
/**
* 主键
@ -57,7 +57,7 @@ public class KpiManualScoreRuleDTO implements Serializable {
/**
* 满分
*/
private Integer fullMarks;
private BigDecimal fullMarks;
/**
* 乐观锁

2
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/KpiManualScoreTempDTO.java

@ -46,7 +46,7 @@ public class KpiManualScoreTempDTO implements Serializable {
/**
* 被打分的部门id
*/
private String deptId;
private Long deptId;
/**
* 得分

113
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/KpiMetaDataDTO.java

@ -0,0 +1,113 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import java.math.BigDecimal;
/**
* 绩效考核的元数据
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-12-16
*/
@Data
public class KpiMetaDataDTO implements Serializable {
private static final long serialVersionUID = -5970791269666802942L;
/**
* 主键
*/
private String id;
/**
* 数据项编码
*/
private String dataCode;
/**
* 数据项名称
*/
private String dataName;
/**
* 元数据值
*/
private BigDecimal dataValue;
/**
* 考核周期(字典值 代表月)
*/
private String kpiCycle;
/**
* 考核周期开始日
*/
private Date startDate;
/**
* 考核周期结束日
*/
private Date endDate;
/**
* 部门ID
*/
private Long deptId;
/**
* 部门类别
*/
private String deptTypeKey;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
/**
* 删除标记
*/
private String delFlag;
}

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

@ -0,0 +1,177 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import java.math.BigDecimal;
/**
* 网格考核最终得分
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-12-17
*/
@Data
public class KpiResultGridDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 网格ID
*/
private Long gridId;
/**
* 手动打分得分
*/
private BigDecimal manualScore;
/**
* 工作得分
*/
private BigDecimal workScore;
/**
* 投票得分
*/
private BigDecimal voteScore;
/**
* 最终得分
*/
private BigDecimal finalScore;
/**
* 考核周期开始日
*/
private Date startDate;
/**
* 考核周期结束日
*/
private Date endDate;
/**
* 被考核部门的网格长姓名
*/
private String leaderName;
/**
* 考核周期(字典值 代表月)
*/
private String kpiCycle;
/**
* 所有上级机构id
*/
private String parentDeptIds;
/**
* 所有上级机构名称
*/
private String parentDeptNames;
/**
* 所有机构id
*/
private String allDeptIds;
/**
* 所有机构名称
*/
private String allDeptNames;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
/**
* 删除标记
*/
private String delFlag;
//虚字段
/**
* 街道名
*/
private String street;
/**
* 社区名
*/
private String community;
/**
* 网格名
*/
private String grid;
/**
* 伪列
*/
private int rownum;
/**
* 规则
*/
private String rule;
/**
* 详情
*/
private String detail;
//虚字段-----------------------
//考核周期开始日
private String startDateString;
//考核周期结束日
private String endDateString;
}

144
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/KpiResultSuperiorDTO.java

@ -0,0 +1,144 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dto;
import java.io.Serializable;
import java.util.Date;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.math.BigDecimal;
/**
* 街道或区直绩效考核最终得分
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-12-23
*/
@Data
public class KpiResultSuperiorDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 网格ID
*/
private Long deptId;
/**
* 最终得分
*/
private BigDecimal finalScore;
/**
* 考核周期开始日
*/
private Date startDate;
/**
* 考核周期结束日
*/
private Date endDate;
/**
* 考核周期(字典值 代表月)
*/
private String kpiCycle;
/**
* 机构类别
*/
private String deptTypeKey;
/**
* 所有上级机构id
*/
private String parentDeptIds;
/**
* 所有上级机构名称
*/
private String parentDeptNames;
/**
* 所有机构id
*/
private String allDeptIds;
/**
* 所有机构名称
*/
private String allDeptNames;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
/**
* 删除标记
*/
private String delFlag;
//虚字段-----------------------
//考核周期开始日
private String startDateString;
//考核周期结束日
private String endDateString;
//详情页 网格呼叫事项总数
private BigDecimal gridCallSuperiorAmount;
//详情页 响应网格呼叫事项数
private BigDecimal gridCallSuperiorRespAmount;
//详情页 办结网格呼叫事项数
private BigDecimal gridCallSuperiorCloseAmount;
//详情页 工作评议满意数
private BigDecimal gridHighEvaluationAmount;
//详情页 工作评议基本满意数
private BigDecimal gridMediumEvaluationAmount;
//详情页 工作评议不满意数
private BigDecimal gridLowEvaluationAmount;
}

4
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/KpiTimeLimitItemDTO.java

@ -53,7 +53,7 @@ public class KpiTimeLimitItemDTO implements Serializable {
/**
* 项目类别id
*/
private String categoryId;
private Long categoryId;
/**
* 所有上级项目类别id
@ -108,6 +108,6 @@ public class KpiTimeLimitItemDTO implements Serializable {
/**
* 项目类别集合
*/
private List<String> categoryIds;
private List<Long[]> categoryIds;
}

2
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/category/form/CategoryInfoFormDTO.java → esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/form/CategoryInfoFormDTO.java

@ -1,4 +1,4 @@
package com.elink.esua.epdc.dto.category.form;
package com.elink.esua.epdc.dto.form;
import lombok.Data;

33
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/form/KpiMetaDataOfEventsFormDTO.java

@ -0,0 +1,33 @@
package com.elink.esua.epdc.dto.form;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* 参数用于统计事件上报数与事件受理数
*
* @author work@yujt.net.cn
* @date 2019/12/19 18:43
*/
@Data
public class KpiMetaDataOfEventsFormDTO {
private static final long serialVersionUID = 9029313054917612850L;
/**
* 所有网格
*/
private List<Long> deptIdList;
/**
* 统计周期开始日
*/
private Date startDate;
/**
* 统计周期结束日
*/
private Date endDate;
}

6
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/form/KpiRuleSaveOrUpdateFormDTO.java

@ -56,6 +56,12 @@ public class KpiRuleSaveOrUpdateFormDTO implements Serializable {
@NotBlank(message = "考核部门类别不能为空")
private String deptTypeKey;
/**
* 考核部门类别
*/
private String[] deptTypeKeys;
/**
* 乐观锁
*/

4
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/category/result/CategoryInfoResultDTO.java → esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/CategoryInfoResultDTO.java

@ -1,4 +1,4 @@
package com.elink.esua.epdc.dto.category.result;
package com.elink.esua.epdc.dto.result;
import lombok.Data;
@ -34,5 +34,5 @@ public class CategoryInfoResultDTO implements Serializable {
/**
* 所有上级分类名称用逗号分开
*/
private List<String> parentNames;
private String parentNames;
}

25
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/ImportExcelErrorResultDTO.java

@ -1,25 +0,0 @@
package com.elink.esua.epdc.dto.result;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @Author yinzuomei
* @Date 2019/12/5 17:27
*/
@Data
public class ImportExcelErrorResultDTO implements Serializable {
private static final long serialVersionUID = -6085396247858232510L;
/**
* 错误数据行数
*/
private String errorLine;
/**
* 错误数据信息
*/
private String errorInfo;
}

36
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiEvaluationAmountResultDTO.java

@ -0,0 +1,36 @@
package com.elink.esua.epdc.dto.result;
import lombok.Data;
/**
* 满意数统计结果
*
* @author work@yujt.net.cn
* @date 2019/12/19 18:56
*/
@Data
public class KpiEvaluationAmountResultDTO {
private static final long serialVersionUID = 2661466688976182183L;
/**
* 机构Id
*/
private Long deptId;
/**
* 满意数
*/
private Integer highAmount;
/**
* 基本满意数
*/
private Integer mediumAmount;
/**
* 不满意数
*/
private Integer lowAmount;
}

30
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiEventReportAmountResultDTO.java

@ -0,0 +1,30 @@
package com.elink.esua.epdc.dto.result;
import lombok.Data;
/**
* 时间上报数统计结果
* @author work@yujt.net.cn
* @date 2019/12/19 18:56
*/
@Data
public class KpiEventReportAmountResultDTO {
private static final long serialVersionUID = 9029313054917612850L;
/**
* 网格Id
*/
private Long gridId;
/**
* 事件上报数
*/
private Integer reportAmount;
/**
* 网格响应数
*/
private Integer respondAmount;
}

30
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiItemHandleAmountResultDTO.java

@ -0,0 +1,30 @@
package com.elink.esua.epdc.dto.result;
import lombok.Data;
/**
* 绩效考核统计项目处理相关数量
*
* @author work@yujt.net.cn
* @date 2019/12/23 10:50
*/
@Data
public class KpiItemHandleAmountResultDTO {
private static final long serialVersionUID = -4265085165992694474L;
/**
* 部门id
*/
private Long deptId;
/**
* 元数据值统计数
*/
private Integer metaDataValue;
/**
* 对应绩效考核元数据编码
*/
private String metaDataCode;
}

48
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiItemTimeLimitByDeptResultDTO.java

@ -0,0 +1,48 @@
package com.elink.esua.epdc.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @author: qushutong
* @Date: 2019/12/19 16:48
* @Description: 项目 街道 时间规则绑定
*/
@Data
public class KpiItemTimeLimitByDeptResultDTO implements Serializable {
private static final long serialVersionUID = 3349393132985690393L;
/***
* 街道 区直 deptId
*/
private Long deptId;
/***
* 项目ID
*/
private String itemId;
/***
* 事件分类字典id
*/
private String catecoryId;
/***
* 创建时间
*/
private Date createdTime;
/**
* 有效响应时间小时数
*/
private Integer validRespondTime;
/**
* 有效结案时间小时数
*/
private Integer validCloseTime;
}

51
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiManualScoreTemplateResultDTO.java

@ -12,6 +12,7 @@ import java.util.Date;
*/
@Data
public class KpiManualScoreTemplateResultDTO implements Serializable {
private static final long serialVersionUID = 3228442740296126765L;
/**
* 规则名称
@ -33,43 +34,16 @@ public class KpiManualScoreTemplateResultDTO implements Serializable {
*/
private String grid;
/**
* 部门名称
*/
private String deptName;
/**
* 考核周期
*/
private String kpiCycleName;
/**
* 考核起止日期
*/
private String scoreStartTime;
/**
* 考核终止日期
*/
private String scoreEndTime;
/**
* 得分
*/
private Integer score;
/*********************************************************************************************************/
/**
* epdc_kpi_rule表主键
*/
private String ruleId;
/**
* 被打分的部门id
*/
private String deptId;
/**
* 考核起止日期yyyy-MM-dd
*/
@ -80,28 +54,5 @@ public class KpiManualScoreTemplateResultDTO implements Serializable {
*/
private Date scoreEndDate;
/**
* 所有父级部门id
*/
private String parentDeptIds;
/**
* 所有父级部门名称
*/
private String parentDeptNames;
/**
* 完整部门名称
*/
private String allDeptNames;
/**
* 完整部门id
*/
private String allDeptIds;
/**
* 导出用户id
*/
private String userId;
}

5
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/result/KpiRuleQueryResultDTO.java

@ -50,6 +50,11 @@ public class KpiRuleQueryResultDTO implements Serializable {
*/
private String deptTypeKey;
/**
* 考核部门类别
*/
private String[] deptTypeKeys;
/**
* 乐观锁
*/

82
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/enums/KpiCycleEnum.java

@ -1,44 +1,54 @@
package com.elink.esua.epdc.enums;
import org.apache.commons.lang3.StringUtils;
/**
* @Auther: yinzuomei
* @author: yinzuomei
* @Date: 2019/12/5 12:41
* @Description: 考核周期枚举
*/
public enum KpiCycleEnum {
/**
* 月month quarter year
*/
KPI_CYCLE_MONTH("month","月"),
/**
*
*/
KPI_CYCLE_QUARTER("quarter","季"),
/**
*
*/
KPI_CYCLE_YEAR("year","年");
private String value;
private String name;
KpiCycleEnum(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;
}
/**
* 月month quarter year
*/
KPI_CYCLE_MONTH("month", "月"),
/**
*
*/
KPI_CYCLE_QUARTER("quarter", "季"),
/**
*
*/
KPI_CYCLE_YEAR("year", "年");
private String value;
private String name;
KpiCycleEnum(String value, String name) {
this.value = value;
this.name = name;
}
public String getValue() {
return value;
}
public String getName() {
return name;
}
public static KpiCycleEnum getByValue(String value){
if(StringUtils.isNotBlank(value)){
KpiCycleEnum[] enums = KpiCycleEnum.values();
for (KpiCycleEnum kpiCycleEnum : enums) {
if(kpiCycleEnum.getValue().equals(value)){
return kpiCycleEnum;
}
}
}
return null;
}
}

116
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/enums/KpiMetaDataEnum.java

@ -0,0 +1,116 @@
package com.elink.esua.epdc.enums;
import org.apache.commons.lang3.StringUtils;
/**
* @author: qushutong
* @Date: 2019/12/17 19:53
* @Description: 数据项名称
*/
public enum KpiMetaDataEnum {
/***
* 群众反映问题总数
*/
PEOPLE_REPORT_AMOUNT("people_report_amount", "群众反映问题总数"),
/***
* 群众反映问题被响应数
*/
PEOPLE_REPORT_RESP_AMOUNT("people_report_resp_amount", "群众反映问题被响应数"),
/***
* 居民对项目处理评为满意的评价数量
*/
PEOPLE_HIGH_EVALUATION_AMOUNT("people_high_evaluation_amount", "问题办理满意数"),
/***
* 居民对项目处理评为基本满意的评价数量
*/
PEOPLE_MEDIUM_EVALUATION_AMOUNT("people_medium_evaluation_amount", "问题办理基本满意数"),
/***
* 居民对项目处理评为不满意的评价数量
*/
PEOPLE_LOW_EVALUATION_AMOUNT("people_low_evaluation_amount", "问题办理不满意数"),
/***
* 履行抓基层党建工作得分(上级为网格打分)
*/
GRID_SCORE_BY_SUPERIOR_MANUAL("grid_score_by_superior_manual", "履行抓基层党建工作得分"),
/***
* 网格呼叫上级部门总数
*/
GRID_CALL_SUPERIOR_AMOUNT("grid_call_superior_amount", "网格呼叫总数"),
/***
* 上级部门响应网格呼叫总数
*/
GRID_CALL_SUPERIOR_RESP_AMOUNT("grid_call_superior_resp_amount", "网格呼叫被响应数"),
/***
* 上级部门办结网格呼叫总数
*/
GRID_CALL_SUPERIOR_CLOSE_AMOUNT("grid_call_superior_close_amount", "网格呼叫被办结数"),
/***
* 网格对上级部门处理项目评为满意
*/
GRID_HIGH_EVALUATION_AMOUNT("grid_high_evaluation_amount", "网格评议满意数"),
/***
* 网格对上级部门处理项目评为基本满意
*/
GRID_MEDIUM_EVALUATION_AMOUNT("grid_medium_evaluation_amount", "网格评议基本满意数"),
/***
* 网格对上级部门处理项目评为不满意
*/
GRID_LOW_EVALUATION_AMOUNT("grid_low_evaluation_amount", "网格评议不满意数"),
/***
* 群众满意度投票投票满意的数量
*/
VOTE_HIGH_EVALUATION_AMOUNT("vote_high_evaluation_amount", "群众投票满意数"),
/***
* 群众满意度投票投票基本满意的数量
*/
VOTE_MEDIUM_EVALUATION_AMOUNT("vote_medium_evaluation_amount", "群众投票基本满意数"),
/***
* 群众满意度投票投票不满意的数量
*/
VOTE_LOW_EVALUATION_AMOUNT("vote_low_evaluation_amount", "群众投票不满意数");
private String value;
private String name;
KpiMetaDataEnum(String value, String name) {
this.value = value;
this.name = name;
}
public String getValue() {
return value;
}
public String getName() {
return name;
}
public static KpiMetaDataEnum getByValue(String value) {
if (StringUtils.isNotBlank(value)) {
KpiMetaDataEnum[] metaDataEnums = KpiMetaDataEnum.values();
for (KpiMetaDataEnum metaDataEnum : metaDataEnums) {
if (value.equals(metaDataEnum.getValue())) {
return metaDataEnum;
}
}
}
return null;
}
}

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;
}
}

37
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/enums/KpiRuleModeEnum.java

@ -0,0 +1,37 @@
package com.elink.esua.epdc.enums;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
/**
* 规则来源枚举类
*
* @author work@yujt.net.cn
* @date 2019/12/18 19:10
*/
public enum KpiRuleModeEnum {
/**
* 元公式
*/
FORMULA(NumConstant.ZERO_STR),
/**
* 手动打分
*/
MANMUAL_SCORE(NumConstant.ONE_STR),
/**
* 投票
*/
VOTE(NumConstant.TWO_STR);
private String value;
KpiRuleModeEnum(String value) {
this.value = value;
}
public String value() {
return value;
}
}

8
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/pom.xml

@ -20,7 +20,7 @@
</dependency>
<dependency>
<groupId>com.esua.epdc</groupId>
<artifactId>epdc-events-client</artifactId>
<artifactId>epdc-admin-client</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
@ -115,7 +115,7 @@
<properties>
<spring.profiles.active>dev</spring.profiles.active>
<server.port>9987</server.port>
<server.port>9069</server.port>
<spring.redis.index>2</spring.redis.index>
<spring.redis.host>47.104.224.45</spring.redis.host>
@ -138,7 +138,7 @@
<properties>
<spring.profiles.active>test</spring.profiles.active>
<server.port>9987</server.port>
<server.port>9069</server.port>
<spring.redis.index>2</spring.redis.index>
<spring.redis.host>47.104.224.45</spring.redis.host>
@ -162,7 +162,7 @@
<spring.profiles.active>prod</spring.profiles.active>
<docker.tag>prod</docker.tag>
<server.port>9987</server.port>
<server.port>9069</server.port>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>10.5.34.164</spring.redis.host>

2
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiFormulaController.java

@ -44,7 +44,7 @@ import java.util.Map;
* @since v1.0.0 2019-11-26
*/
@RestController
@RequestMapping("kpiformula")
@RequestMapping("formula")
public class KpiFormulaController {
@Autowired

49
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiManualScoreController.java

@ -17,7 +17,9 @@
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.commons.mybatis.annotation.DataFilter;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.DateUtils;
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
@ -36,7 +38,6 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -49,41 +50,41 @@ import java.util.Map;
* @since v1.0.0 2019-12-04
*/
@RestController
@RequestMapping("kpimanualscore")
@RequestMapping("manualScore")
public class KpiManualScoreController {
@Autowired
private KpiManualScoreService kpiManualScoreService;
private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");//设置日期格式
@GetMapping("page")
public Result<PageData<KpiManualScoreResultDTO>> page(@RequestParam Map<String, Object> params){
// PageData<KpiManualScoreDTO> page = kpiManualScoreService.page(params);
@DataFilter(prefix = "and", tableAlias = "kmc", isPendingCreator = false)
public Result<PageData<KpiManualScoreResultDTO>> page(@RequestParam Map<String, Object> params) {
PageData<KpiManualScoreResultDTO> page = kpiManualScoreService.listKpiManualScoreResultDTO(params);
return new Result<PageData<KpiManualScoreResultDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<KpiManualScoreDTO> get(@PathVariable("id") String id){
public Result<KpiManualScoreDTO> get(@PathVariable("id") String id) {
KpiManualScoreDTO data = kpiManualScoreService.get(id);
return new Result<KpiManualScoreDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody KpiManualScoreDTO dto){
public Result save(@RequestBody KpiManualScoreDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
return kpiManualScoreService.save(dto);
}
@PutMapping
public Result update(@RequestBody KpiManualScoreDTO dto){
public Result update(@RequestBody KpiManualScoreDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
return kpiManualScoreService.update(dto);
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
public Result delete(@RequestBody String[] ids) {
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
kpiManualScoreService.delete(ids);
@ -96,6 +97,19 @@ public class KpiManualScoreController {
ExcelUtils.exportExcelToTarget(response, null, list, KpiManualScoreExcel.class);
}
/**
* 导出打分模版前校验选项
*
* @param params
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author work@yujt.net.cn
* @date 2019/12/16 14:17
*/
@GetMapping("checkExportTemplate")
public Result checkExportTemplate(@RequestParam Map<String, Object> params) {
return kpiManualScoreService.checkExportTemplate(params);
}
/**
* @param params
* @return void
@ -106,8 +120,8 @@ public class KpiManualScoreController {
@GetMapping("exportTemplate")
public void exportTemplate(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<KpiManualScoreTemplateResultDTO> list = kpiManualScoreService.listKpiManualScoreTemplateResultDTO(params);
ExcelUtils.exportExcelToTarget(response, simpleDateFormat.format(new Date()), list, KpiManualScoreTemplateExcel.class);
ExcelUtils.exportExcelToTarget(response,
DateUtils.format(new Date(), DateUtils.DATE_TIME_NO_SPLIT), list, KpiManualScoreTemplateExcel.class);
}
/**
@ -121,4 +135,17 @@ public class KpiManualScoreController {
public Result importManualScoreExcel(@RequestParam("file") MultipartFile file) {
return kpiManualScoreService.importManualScoreExcel(file);
}
/**
* 将手动打分初始化为元数据项
*
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author work@yujt.net.cn
* @date 2019/12/25 14:10
*/
@GetMapping("initMetaData")
public Result initManualScoreToMetaData() {
kpiManualScoreService.initManualScoreToMetaData();
return new Result();
}
}

2
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiManualScoreRuleController.java

@ -44,7 +44,7 @@ import java.util.Map;
* @since v1.0.0 2019-12-02
*/
@RestController
@RequestMapping("kpimanualscorerule")
@RequestMapping("manualScoreRule")
public class KpiManualScoreRuleController {
@Autowired

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

@ -0,0 +1,116 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
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.constant.KpiScheduleCodeConstant;
import com.elink.esua.epdc.dto.KpiMetaDataDTO;
import com.elink.esua.epdc.excel.KpiMetaDataExcel;
import com.elink.esua.epdc.service.KpiMetaDataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 绩效考核的元数据
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-12-16
*/
@RestController
@RequestMapping("metaData")
public class KpiMetaDataController {
@Autowired
private KpiMetaDataService kpiMetaDataService;
@GetMapping("page")
public Result<PageData<KpiMetaDataDTO>> page(@RequestParam Map<String, Object> params) {
PageData<KpiMetaDataDTO> page = kpiMetaDataService.page(params);
return new Result<PageData<KpiMetaDataDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<KpiMetaDataDTO> get(@PathVariable("id") String id) {
KpiMetaDataDTO data = kpiMetaDataService.get(id);
return new Result<KpiMetaDataDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody KpiMetaDataDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
kpiMetaDataService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody KpiMetaDataDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
kpiMetaDataService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids) {
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
kpiMetaDataService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<KpiMetaDataDTO> list = kpiMetaDataService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, KpiMetaDataExcel.class);
}
/***
* 构建元数据
* @param
* @return void
* @author qushutong
* @date 2019/12/16 10:17
*/
@GetMapping("buildMetaData/{kpiScheduleCode}")
public Result buildMetaData(@PathVariable("kpiScheduleCode") String kpiScheduleCode) {
if (kpiScheduleCode.equals(KpiScheduleCodeConstant.META_DATA_PEOPLE_REPORT_AMOUNT)) {
kpiMetaDataService.statPeopleReportAmount();
} else if (kpiScheduleCode.equals(KpiScheduleCodeConstant.META_DATA_PEOPLE_EVALUATION)) {
kpiMetaDataService.statPeopleEvaluation();
} else if (kpiScheduleCode.equals(KpiScheduleCodeConstant.META_DATA_ITEM_HANDLE_AMOUNT)) {
kpiMetaDataService.statItemHandleAmount();
} else if (kpiScheduleCode.equals(KpiScheduleCodeConstant.META_DATA_GRID_EVALUATION)){
kpiMetaDataService.statGridEvaluation();
}
return new Result();
}
}

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

@ -0,0 +1,125 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.commons.mybatis.annotation.DataFilter;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
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.KpiResultGridDTO;
import com.elink.esua.epdc.excel.KpiResultGridDetailExcel;
import com.elink.esua.epdc.excel.KpiResultGridExcel;
import com.elink.esua.epdc.service.KpiResultGridService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 网格考核最终得分
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-12-17
*/
@RestController
@RequestMapping("gridResult")
public class KpiResultGridController {
@Autowired
private KpiResultGridService kpiResultGridService;
@GetMapping("page")
@DataFilter(tableAlias = "g", deptId = "grid_id", prefix = "AND", isPendingCreator = false)
public Result<PageData<KpiResultGridDTO>> page(@RequestParam Map<String, Object> params){
PageData<KpiResultGridDTO> page = kpiResultGridService.page(params);
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}")
public Result<List<KpiResultGridDTO>> get(@PathVariable("id") String id){
List<KpiResultGridDTO> data = kpiResultGridService.get(id);
return new Result<List<KpiResultGridDTO>>().ok(data);
}
@PostMapping
public Result save(@RequestBody KpiResultGridDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
kpiResultGridService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody KpiResultGridDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
kpiResultGridService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
kpiResultGridService.delete(ids);
return new Result();
}
/**
* @Description: 考核统计首页导出
* @Param: [params, response]
* @return: void
* @Author: zy
* @Date: 2019-12-20
*/
@GetMapping("export")
@DataFilter(tableAlias = "g", deptId = "grid_id", prefix = "AND", isPendingCreator = false)
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<KpiResultGridDTO> list = kpiResultGridService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, KpiResultGridExcel.class);
}
/**
* @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);
}
}

59
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiManualScoreTempController.java → esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiResultSuperiorController.java

@ -17,6 +17,7 @@
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.commons.mybatis.annotation.DataFilter;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
@ -25,9 +26,10 @@ 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.KpiManualScoreTempDTO;
import com.elink.esua.epdc.excel.KpiManualScoreTempExcel;
import com.elink.esua.epdc.service.KpiManualScoreTempService;
import com.elink.esua.epdc.dto.KpiResultSuperiorDTO;
import com.elink.esua.epdc.excel.KpiResultSuperiorDetailExcel;
import com.elink.esua.epdc.excel.KpiResultSuperiorExcel;
import com.elink.esua.epdc.service.KpiResultSuperiorService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -37,43 +39,44 @@ import java.util.Map;
/**
* 绩效考核手动打分记录
* 街道或区直绩效考核最终得分
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-12-06
* @since v1.0.0 2019-12-23
*/
@RestController
@RequestMapping("kpimanualscoretemp")
public class KpiManualScoreTempController {
@RequestMapping("kpiresultsuperior")
public class KpiResultSuperiorController {
@Autowired
private KpiManualScoreTempService kpiManualScoreTempService;
private KpiResultSuperiorService kpiResultSuperiorService;
@GetMapping("page")
public Result<PageData<KpiManualScoreTempDTO>> page(@RequestParam Map<String, Object> params){
PageData<KpiManualScoreTempDTO> page = kpiManualScoreTempService.page(params);
return new Result<PageData<KpiManualScoreTempDTO>>().ok(page);
@DataFilter(tableAlias = "s", deptId = "dept_id", prefix = "AND", isPendingCreator = false)
public Result<PageData<KpiResultSuperiorDTO>> page(@RequestParam Map<String, Object> params){
PageData<KpiResultSuperiorDTO> page = kpiResultSuperiorService.page(params);
return new Result<PageData<KpiResultSuperiorDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<KpiManualScoreTempDTO> get(@PathVariable("id") String id){
KpiManualScoreTempDTO data = kpiManualScoreTempService.get(id);
return new Result<KpiManualScoreTempDTO>().ok(data);
public Result<List<KpiResultSuperiorDTO>> get(@PathVariable("id") String id){
List<KpiResultSuperiorDTO> data = kpiResultSuperiorService.get(id);
return new Result<List<KpiResultSuperiorDTO>>().ok(data);
}
@PostMapping
public Result save(@RequestBody KpiManualScoreTempDTO dto){
public Result save(@RequestBody KpiResultSuperiorDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
kpiManualScoreTempService.save(dto);
kpiResultSuperiorService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody KpiManualScoreTempDTO dto){
public Result update(@RequestBody KpiResultSuperiorDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
kpiManualScoreTempService.update(dto);
kpiResultSuperiorService.update(dto);
return new Result();
}
@ -81,14 +84,28 @@ public class KpiManualScoreTempController {
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
kpiManualScoreTempService.delete(ids);
kpiResultSuperiorService.delete(ids);
return new Result();
}
@GetMapping("export")
@DataFilter(tableAlias = "s", deptId = "dept_id", prefix = "AND", isPendingCreator = false)
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<KpiManualScoreTempDTO> list = kpiManualScoreTempService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, KpiManualScoreTempExcel.class);
List<KpiResultSuperiorDTO> list = kpiResultSuperiorService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, KpiResultSuperiorExcel.class);
}
/**
* @Description: 详情页表格导出
* @Param: [params, response]
* @return: void
* @Author: zy
* @Date: 2019-12-24
*/
@GetMapping("tableExport")
public void tableExport(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<KpiResultSuperiorDTO> data = kpiResultSuperiorService.get(params.get("id").toString());
ExcelUtils.exportExcelToTarget(response, "区直街道考核统计得分详情", data, KpiResultSuperiorDetailExcel.class);
}
}

223
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiRuleController.java

@ -45,114 +45,121 @@ import java.util.Map;
* @since v1.0.0 2019-11-27
*/
@RestController
@RequestMapping("kpirule")
@RequestMapping("rule")
public class KpiRuleController {
@Autowired
private KpiRuleService kpiRuleService;
@GetMapping("page")
public Result<PageData<KpiRuleDTO>> page(@RequestParam Map<String, Object> params) {
PageData<KpiRuleDTO> page = kpiRuleService.page(params);
return new Result<PageData<KpiRuleDTO>>().ok(page);
}
/*@GetMapping("{id}")
public Result<KpiRuleDTO> get(@PathVariable("id") String id){
KpiRuleDTO data = kpiRuleService.get(id);
return new Result<KpiRuleDTO>().ok(data);
}*/
@PostMapping
public Result save(@RequestBody KpiRuleDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
kpiRuleService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody KpiRuleDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
kpiRuleService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids) {
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
kpiRuleService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<KpiRuleDTO> list = kpiRuleService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, KpiRuleExcel.class);
}
/**
* @param params
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.KpiRuleDTO>>
* @Author yinzuomei
* @Description 列表查询
* @Date 2019/11/27 13:22
**/
@GetMapping("query")
public Result<PageData<KpiRuleQueryResultDTO>> query(@RequestParam Map<String, Object> params) {
PageData<KpiRuleQueryResultDTO> page = kpiRuleService.query(params);
return new Result<PageData<KpiRuleQueryResultDTO>>().ok(page);
}
/**
* @param id
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.KpiRuleQueryResultDTO>
* @Author yinzuomei
* @Description 查询详情
* @Date 2019/11/27 15:17
**/
@GetMapping("{id}")
public Result<KpiRuleQueryResultDTO> queryDetailInfo(@PathVariable("id") String id) {
KpiRuleQueryResultDTO data = kpiRuleService.queryDetailInfo(id);
return new Result<KpiRuleQueryResultDTO>().ok(data);
}
/**
* @param dto
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @Author yinzuomei
* @Description 新增
* @Date 2019/11/27 16:23
**/
@PostMapping("saveOrUpdate")
public Result add(@RequestBody KpiRuleSaveOrUpdateFormDTO dto) {
ValidatorUtils.validateEntity(dto);
return kpiRuleService.add(dto);
}
/**
* @param dto
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @Author yinzuomei
* @Description 修改
* @Date 2019/11/27 16:20
**/
@PutMapping("saveOrUpdate")
public Result edit(@RequestBody KpiRuleSaveOrUpdateFormDTO dto) {
ValidatorUtils.validateEntity(dto);
return kpiRuleService.edit(dto);
}
/**
* @return
* @Author yinzuomei
* @Description 已绑定手动打分的考核规则 手动打分下拉框使用
* @Date 2019/12/4 15:52
**/
@GetMapping("getKpiManualRule")
public Result<List<KpiRuleDTO>> getKpiManualRule() {
return kpiRuleService.listKpiRuleDTO();
}
@Autowired
private KpiRuleService kpiRuleService;
@GetMapping("page")
public Result<PageData<KpiRuleDTO>> page(@RequestParam Map<String, Object> params) {
PageData<KpiRuleDTO> page = kpiRuleService.page(params);
return new Result<PageData<KpiRuleDTO>>().ok(page);
}
@PostMapping
public Result save(@RequestBody KpiRuleDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
kpiRuleService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody KpiRuleDTO dto) {
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
kpiRuleService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids) {
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
kpiRuleService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<KpiRuleDTO> list = kpiRuleService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, KpiRuleExcel.class);
}
/**
* @param params
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData < com.elink.esua.epdc.dto.KpiRuleDTO>>
* @Author yinzuomei
* @Description 列表查询
* @Date 2019/11/27 13:22
**/
@GetMapping("query")
public Result<PageData<KpiRuleQueryResultDTO>> query(@RequestParam Map<String, Object> params) {
PageData<KpiRuleQueryResultDTO> page = kpiRuleService.query(params);
return new Result<PageData<KpiRuleQueryResultDTO>>().ok(page);
}
/**
* @param id
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.KpiRuleQueryResultDTO>
* @Author yinzuomei
* @Description 查询详情
* @Date 2019/11/27 15:17
**/
@GetMapping("{id}")
public Result<KpiRuleQueryResultDTO> queryDetailInfo(@PathVariable("id") String id) {
KpiRuleQueryResultDTO data = kpiRuleService.queryDetailInfo(id);
return new Result<KpiRuleQueryResultDTO>().ok(data);
}
/**
* @param dto
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @Author yinzuomei
* @Description 新增
* @Date 2019/11/27 16:23
**/
@PostMapping("saveOrUpdate")
public Result add(@RequestBody KpiRuleSaveOrUpdateFormDTO dto) {
ValidatorUtils.validateEntity(dto);
return kpiRuleService.add(dto);
}
/**
* @param dto
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @Author yinzuomei
* @Description 修改
* @Date 2019/11/27 16:20
**/
@PutMapping("saveOrUpdate")
public Result edit(@RequestBody KpiRuleSaveOrUpdateFormDTO dto) {
ValidatorUtils.validateEntity(dto);
return kpiRuleService.edit(dto);
}
/**
* @return
* @Author yinzuomei
* @Description 已绑定手动打分的考核规则 手动打分下拉框使用
* @Date 2019/12/4 15:52
**/
@GetMapping("getKpiManualRule")
public Result<List<KpiRuleDTO>> getKpiManualRule() {
return kpiRuleService.listKpiRuleDTO();
}
/**
*
* @param ruleCode
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.KpiRuleDTO>>
* @author work@yujt.net.cn
* @date 2019/12/17 17:04
*/
@GetMapping("calcByCode/{ruleCode}")
public Result calcByRuleCode(@PathVariable("ruleCode") String ruleCode) {
kpiRuleService.calcByRuleCode(ruleCode);
return new Result();
}
}

2
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiRuleParamController.java

@ -43,7 +43,7 @@ import java.util.Map;
* @since v1.0.0 2019-11-27
*/
@RestController
@RequestMapping("kpiruleparam")
@RequestMapping("ruleParam")
public class KpiRuleParamController {
@Autowired

2
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiTimeLimitIssueController.java

@ -43,7 +43,7 @@ import java.util.Map;
* @since v1.0.0 2019-12-02
*/
@RestController
@RequestMapping("kpitimelimitissue")
@RequestMapping("timeLimitIssue")
public class KpiTimeLimitIssueController {
@Autowired

2
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/KpiTimeLimitItemController.java

@ -43,7 +43,7 @@ import java.util.Map;
* @since v1.0.0 2019-12-02
*/
@RestController
@RequestMapping("kpitimelimititem")
@RequestMapping("timeLimitItem")
public class KpiTimeLimitItemController {
@Autowired

10
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiFormulaDao.java

@ -17,6 +17,7 @@
package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.dto.KpiFormulaDTO;
import com.elink.esua.epdc.dto.result.KpiFormulaDictResultDTO;
import com.elink.esua.epdc.entity.KpiFormulaEntity;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
@ -41,4 +42,13 @@ public interface KpiFormulaDao extends BaseDao<KpiFormulaEntity> {
* @Date 2019/11/27 14:11
**/
List<KpiFormulaDictResultDTO> selectListKpiFormulaDictResultDTO();
/**
* @Description: 查询公式运行方法
* @Param: [id]
* @return: com.elink.esua.epdc.dto.KpiFormulaDTO
* @Author: zy
* @Date: 2019-12-18
*/
KpiFormulaDTO queryFormula(String id);
}

19
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiManualScoreDao.java

@ -20,8 +20,11 @@ package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.result.KpiManualScoreResultDTO;
import com.elink.esua.epdc.entity.KpiManualScoreEntity;
import com.elink.esua.epdc.excel.KpiManualScoreTemplateExcel;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -34,5 +37,19 @@ import java.util.Map;
@Mapper
public interface KpiManualScoreDao extends BaseDao<KpiManualScoreEntity> {
List<KpiManualScoreResultDTO> selectListKpiManualScoreResultDTO(Map<String, Object> params);
List<KpiManualScoreResultDTO> selectListKpiManualScoreResultDTO(Map<String, Object> params);
/**
* 删除手动打分
*
* @param ruleId
* @param deptId
* @param scoreStartDate
* @param scoreEndDate
* @return int
* @author work@yujt.net.cn
* @date 2019/12/26 14:38
*/
int deleteManualScore(@Param("ruleId") String ruleId, @Param("deptId") Long deptId,
@Param("scoreStartDate") Date scoreStartDate, @Param("scoreEndDate") Date scoreEndDate);
}

28
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiManualScoreTempDao.java → esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiMetaDataDao.java

@ -18,27 +18,31 @@
package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.entity.KpiManualScoreTempEntity;
import com.elink.esua.epdc.excel.KpiManualScoreTemplateExcel;
import com.elink.esua.epdc.dto.KpiMetaDataDTO;
import com.elink.esua.epdc.dto.KpiResultGridDTO;
import com.elink.esua.epdc.entity.KpiMetaDataEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
/**
* 绩效考核手动打分记录
* 绩效考核的元数据
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-12-06
* @since v1.0.0 2019-12-16
*/
@Mapper
public interface KpiManualScoreTempDao extends BaseDao<KpiManualScoreTempEntity> {
public interface KpiMetaDataDao extends BaseDao<KpiMetaDataEntity> {
int deleteManualScoreTemp(@Param("userId") String toString,
@Param("ruleId")String id,
@Param("scoreStartTime")String scoreStartTime);
/***
* 插入之前删除数据 防止插入部分出异常
* @param metaList
* @return void
* @author qushutong
* @date 2019/12/20 13:32
*/
void deleteListRepetitionMeta(@Param("metaList") List<KpiMetaDataEntity> metaList);
List<KpiManualScoreTempEntity> selectListKpiManualScoreTemp(@Param("userId") String userId,
@Param("recordList")List<KpiManualScoreTemplateExcel> recordList);
}
List<KpiMetaDataDTO> queryGridProblemHandlingScore(KpiResultGridDTO kpiResultGridDTO);
}

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

@ -0,0 +1,86 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dao;
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.entity.KpiResultGridEntity;
import org.apache.ibatis.annotations.Mapper;
import java.math.BigInteger;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 网格考核最终得分
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-12-17
*/
@Mapper
public interface KpiResultGridDao extends BaseDao<KpiResultGridEntity> {
/**
* @Description: 查询网格考核最终得分表中当前考核规则数据是否存在
* @Param: []
* @return: java.util.List<com.elink.esua.epdc.dto.KpiResultGridDTO>
* @Author: zy
* @Date: 2019-12-17
*/
KpiResultGridDTO selectManualScoringISExist(Map<String,Object> map);
/**
* @Description: 查询网格考核最终得分列表
* @Param: [kpiResultGridEntity] 开始时间结束时间
* @return: java.util.List<com.elink.esua.epdc.dto.KpiResultGridDTO>
* @Author: zy
* @Date: 2019-12-17
*/
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);
}

81
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiResultSuperiorDao.java

@ -0,0 +1,81 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.KpiResultGridDTO;
import com.elink.esua.epdc.dto.KpiResultSuperiorDTO;
import com.elink.esua.epdc.entity.KpiResultSuperiorEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 街道或区直绩效考核最终得分
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-12-23
*/
@Mapper
public interface KpiResultSuperiorDao extends BaseDao<KpiResultSuperiorEntity> {
/**
* 自定义分页列表
*
* @param params
* @return List<KpiResultGridDTO>
* @author generator
* @date 2019-12-17
*/
List<KpiResultSuperiorDTO> selectSuperiorInfoList(Map<String, Object> params);
/**
* @Description: 自定义分页总数
* @Param: [params]
* @return: int
* @Author: zy
* @Date: 2019-12-19
*/
int selectSuperiorInfoCount(Map<String, Object> params);
/**
* 自定义导出查询列表
*
* @param params
* @return List<KpiResultGridDTO>
* @author generator
* @date 2019-12-17
*/
List<KpiResultSuperiorDTO> exportSuperiorList(Map<String, Object> params);
/**
* 根据部门id与考核周期 删除
*
* @param deptId
* @param startDate
* @param endDate
* @return void
* @author work@yujt.net.cn
* @date 2019/12/25 18:56
*/
int deleteByDeptIdAndKpiDate(@Param("deptId") Long deptId,
@Param("startDate") Date startDate,
@Param("endDate") Date endDate);
}

10
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiRuleDao.java

@ -18,6 +18,7 @@
package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.KpiRuleDTO;
import com.elink.esua.epdc.dto.KpiRuleParamDTO;
import com.elink.esua.epdc.dto.result.KpiRuleQueryResultDTO;
import com.elink.esua.epdc.entity.KpiRuleEntity;
@ -62,4 +63,13 @@ public interface KpiRuleDao extends BaseDao<KpiRuleEntity> {
**/
KpiRuleQueryResultDTO queryDetailInfo(String id);
/**
* @Description: 根据考核规则编码查询符合考核规则 元公式
* @Param: [ruleCode] 考核规则编码
* 规则生成方式为0 元公式
* @return: com.elink.esua.epdc.dao.KpiRuleDao
* @Author: zy
* @Date: 2019-12-18
*/
KpiRuleDTO queryKpiRuleMetaFormula(String ruleCode);
}

12
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiRuleParamDao.java

@ -18,9 +18,12 @@
package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.KpiRuleParamDTO;
import com.elink.esua.epdc.entity.KpiRuleParamEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 公式参数表
*
@ -38,4 +41,13 @@ public interface KpiRuleParamDao extends BaseDao<KpiRuleParamEntity> {
* @Date 2019/11/27 16:36
**/
int deleteByRuleId(String id);
/**
* @Description: 根据 考核规则表-主键查询公式参数表
* @Param: [ruleId] 规则ID
* @return: java.util.List<com.elink.esua.epdc.dto.KpiRuleParamDTO>
* @Author: zy
* @Date: 2019-12-18
*/
List<KpiRuleParamDTO> queryFormulaParam(String ruleId);
}

16
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/dao/KpiTimeLimitItemDao.java

@ -20,6 +20,9 @@ package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.entity.KpiTimeLimitItemEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 项目响应时限
@ -29,5 +32,16 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface KpiTimeLimitItemDao extends BaseDao<KpiTimeLimitItemEntity> {
/**
* 按类别id批量删除配置
*
* @param categoryIds
* @return int
* @author work@yujt.net.cn
* @date 2019/12/16 19:19
*/
int deleteBatchByCategoryIds(@Param("categoryIds") List<Long> categoryIds);
}

50
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiManualScoreEntity.java

@ -23,6 +23,7 @@ import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -32,55 +33,70 @@ import java.util.Date;
* @since v1.0.0 2019-12-04
*/
@Data
@EqualsAndHashCode(callSuper=false)
@EqualsAndHashCode(callSuper = false)
@TableName("epdc_kpi_manual_score")
public class KpiManualScoreEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = -8994029691874794620L;
/**
* epdc_kpi_rule表主键
*/
private String ruleId;
private String ruleId;
/**
* 被打分的部门id
*/
private String deptId;
private Long deptId;
/**
* 得分
*/
private Integer score;
private BigDecimal score;
/**
* 考核起止日期
*/
private Date scoreStartDate;
/**
* 考核起止日期
*/
private Date scoreStartDate;
/**
* 考核终止日期
*/
private Date scoreEndDate;
/**
* 考核终止日期
*/
private Date scoreEndDate;
/**
* 所有父级部门id
*/
private String parentDeptIds;
private String parentDeptIds;
/**
* 所有父级部门名称
*/
private String parentDeptNames;
private String parentDeptNames;
/**
* 完整部门id
*/
private String allDeptIds;
private String allDeptIds;
/**
* 完整部门名称
*/
private String allDeptNames;
private String allDeptNames;
/**
* 打分者的部门id
*/
private String creatorDeptName;
/**
* 打分者的部门名称
*/
private Long creatorDeptId;
/**
* 被考核部门的网格长姓名
*/
private String leaderName;
}

5
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiManualScoreRuleEntity.java

@ -24,7 +24,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
/**
* 手动打分项
@ -37,7 +36,7 @@ import java.util.Date;
@TableName("epdc_kpi_manual_score_rule")
public class KpiManualScoreRuleEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 1073211664180968064L;
/**
* 打分项名称
@ -57,6 +56,6 @@ public class KpiManualScoreRuleEntity extends BaseEpdcEntity {
/**
* 满分
*/
private Integer fullMarks;
private BigDecimal fullMarks;
}

82
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiMetaDataEntity.java

@ -0,0 +1,82 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
/**
* 绩效考核的元数据
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-12-16
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("epdc_kpi_meta_data")
public class KpiMetaDataEntity extends BaseEpdcEntity {
private static final long serialVersionUID = -27618138854750989L;
/**
* 数据项编码
*/
private String dataCode;
/**
* 数据项名称
*/
private String dataName;
/**
* 元数据值
*/
private BigDecimal dataValue;
/**
* 考核周期(字典值 代表月)
*/
private String kpiCycle;
/**
* 考核周期开始日
*/
private Date startDate;
/**
* 考核周期结束日
*/
private Date endDate;
/**
* 部门ID
*/
private Long deptId;
/**
* 部门类别
*/
private String deptTypeKey;
}

85
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiManualScoreTempEntity.java → esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiResultGridEntity.java

@ -23,104 +23,85 @@ import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
/**
* 绩效考核手动打分记录
* 网格考核最终得分
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-12-06
* @author work@yujt.net.cn
* @since v1.0.0 2019-12-17
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("epdc_kpi_manual_score_temp")
public class KpiManualScoreTempEntity extends BaseEpdcEntity {
@TableName("epdc_kpi_result_grid")
public class KpiResultGridEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L;
/**
* epdc_kpi_rule表主键
* 网格ID
*/
private String ruleId;
private Long gridId;
/**
* 被打分的部门id
* 手动打分得分
*/
private String deptId;
private BigDecimal manualScore;
/**
* 得分
* 工作得分
*/
private Integer score;
private BigDecimal workScore;
/**
* 考核起止日期yyyy-MM-dd
* 投票得分
*/
private Date scoreStartDate;
private BigDecimal voteScore;
/**
* 考核终止日期yyyy-MM-dd
* 最终得分
*/
private Date scoreEndDate;
private BigDecimal finalScore;
/**
* 所有父级部门id
* 考核周期开始日
*/
private String parentDeptIds;
/**
* 所有父级部门名称
*/
private String parentDeptNames;
/**
* 完整部门名称
*/
private String allDeptNames;
/**
* 完整部门id
*/
private String allDeptIds;
/**
* 导出用户id
*/
private String userId;
private Date startDate;
/**
* 街道
* 考核周期结束日
*/
private String street;
private Date endDate;
/**
* 社区
* 被考核部门的网格长姓名
*/
private String community;
private String leaderName;
/**
* 网格
* 考核周期(字典值 代表月)
*/
private String grid;
private String kpiCycle;
/**
* 规则名称
* 所有上级机构id
*/
private String ruleName;
private String parentDeptIds;
/**
* 考核周期
* 所有上级机构名称
*/
private String kpiCycleName;
private String parentDeptNames;
/**
* 考核起止日期
* 所有机构id
*/
private String scoreStartTime;
private String allDeptIds;
/**
* 考核终止日期
* 所有机构名称
*/
private String scoreEndTime;
private String allDeptNames;
}
}

92
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiResultSuperiorEntity.java

@ -0,0 +1,92 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
/**
* 街道或区直绩效考核最终得分
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-12-23
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("epdc_kpi_result_superior")
public class KpiResultSuperiorEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L;
/**
* 网格ID
*/
private Long deptId;
/**
* 最终得分
*/
private BigDecimal finalScore;
/**
* 考核周期开始日
*/
private Date startDate;
/**
* 考核周期结束日
*/
private Date endDate;
/**
* 考核周期(字典值 代表月)
*/
private String kpiCycle;
/**
* 机构类别
*/
private String deptTypeKey;
/**
* 所有上级机构id
*/
private String parentDeptIds;
/**
* 所有上级机构名称
*/
private String parentDeptNames;
/**
* 所有机构id
*/
private String allDeptIds;
/**
* 所有机构名称
*/
private String allDeptNames;
}

2
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/entity/KpiTimeLimitItemEntity.java

@ -51,7 +51,7 @@ public class KpiTimeLimitItemEntity extends BaseEpdcEntity {
/**
* 项目类别id
*/
private String categoryId;
private Long categoryId;
/**
* 所有上级项目类别id

147
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/excel/KpiManualScoreTemplateExcel.java

@ -13,105 +13,52 @@ import java.util.Date;
@Data
public class KpiManualScoreTemplateExcel {
/**
* 街道
*/
@Excel(name = "街道")
private String street;
/**
* 街道
*/
@Excel(name = "街道")
private String street;
/**
* 社区
*/
@Excel(name = "社区")
private String community;
/**
* 网格
*/
@Excel(name = "网格")
private String grid;
/**
* 规则名称
*/
@Excel(name = "规则名称")
private String ruleName;
/**
* 考核周期
*/
@Excel(name = "考核周期")
private String kpiCycleName;
/**
* 考核起始日期
*/
@Excel(name = "考核起始日", format = "yyyy-MM-dd")
private Date scoreStartDate;
/**
* 考核终止日期
*/
@Excel(name = "考核终止日", format = "yyyy-MM-dd")
private Date scoreEndDate;
/**
* 得分
*/
@Excel(name = "得分")
private Integer score;
/**
* 社区
*/
@Excel(name = "社区")
private String community;
/**
* 网格
*/
@Excel(name = "网格")
private String grid;
/**
* 规则名称
*/
@Excel(name = "规则名称")
private String ruleName;
/**
* 考核周期
*/
@Excel(name = "考核周期")
private String kpiCycleName;
/**
* 考核起止日期
*/
@Excel(name = "考核起止日期")
private String scoreStartTime;
/**
* 考核终止日期
*/
@Excel(name = "考核终止日期")
private String scoreEndTime;
/**
* 得分
*/
@Excel(name = "得分")
private Integer score;
/************************************************ 我 是 一 条 分 割 线 ************************************************************************/
/************************************************ 我 是 一 条 分 割 线 ************************************************************************/
/************************************************ 我 是 一 条 分 割 线 ************************************************************************/
/**
* 部门名称
*
*/
private String deptName;
/************************************************ 组装数据 ************************************************************************/
/**
* epdc_kpi_rule表主键
*/
private String ruleId;
/**
* 被打分的部门id
*/
private String deptId;
/**
* 考核起止日期
*/
private Date scoreStartDate;
/**
* 考核终止日期
*/
private Date scoreEndDate;
/**
* 所有父级部门id
*/
private String parentDeptIds;
/**
* 所有父级部门名称
*/
private String parentDeptNames;
/**
* 完整部门id
*/
private String allDeptIds;
/**
* 完整部门名称
*/
private String allDeptNames;
/**
* 导出用户id
*/
private String userId;
}

65
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/excel/KpiManualScoreTempExcel.java → esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/excel/KpiMetaDataExcel.java

@ -20,49 +20,41 @@ package com.elink.esua.epdc.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 绩效考核手动打分记录
* 绩效考核的元数据
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2019-12-06
* @since v1.0.0 2019-12-16
*/
@Data
public class KpiManualScoreTempExcel {
public class KpiMetaDataExcel {
@Excel(name = "主键")
private String id;
@Excel(name = "epdc_kpi_rule表主键")
private String ruleId;
@Excel(name = "数据项编码")
private String dataCode;
@Excel(name = "被打分的部门id")
private String deptId;
@Excel(name = "数据项名称")
private String dataName;
@Excel(name = "得分")
private Integer score;
@Excel(name = "元数据值")
private BigDecimal dataValue;
@Excel(name = "考核起止日期yyyy-MM-dd")
private Date scoreStartDate;
@Excel(name = "考核周期(字典值 代表月,季,年)")
private String kpiCycle;
@Excel(name = "考核终止日期yyyy-MM-dd")
private Date scoreEndDate;
@Excel(name = "考核周期开始日")
private Date startDate;
@Excel(name = "所有父级部门id")
private String parentDeptIds;
@Excel(name = "考核周期结束日")
private Date endDate;
@Excel(name = "所有父级部门名称")
private String parentDeptNames;
@Excel(name = "完整部门名称")
private String allDeptNames;
@Excel(name = "完整部门id")
private String allDeptIds;
@Excel(name = "导出用户id")
private String userId;
@Excel(name = "部门ID")
private Long deptId;
@Excel(name = "乐观锁")
private Integer revision;
@ -82,26 +74,5 @@ public class KpiManualScoreTempExcel {
@Excel(name = "删除标记")
private String delFlag;
@Excel(name = "街道")
private String street;
@Excel(name = "社区")
private String community;
@Excel(name = "网格")
private String grid;
@Excel(name = "规则名称")
private String ruleName;
@Excel(name = "考核周期")
private String kpiCycleName;
@Excel(name = "考核起止日期")
private String scoreStartTime;
@Excel(name = "考核终止日期")
private Date scoreEndTime;
}

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;
}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save