Browse Source

Merge branches 'dev' and 'dev_bugfix' of http://git.elinkit.com.cn:7070/r/epmet-cloud into dev_bugfix

 Conflicts:
	epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
dev_shibei_match
wxz 5 years ago
parent
commit
d59c150bb0
  1. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java
  2. 6
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  3. 2
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
  4. 13
      epmet-gateway/pom.xml
  5. 2
      epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml
  6. 2
      epmet-module/gov-grid/gov-grid-server/pom.xml
  7. 3
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java
  8. 2
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java
  9. 3
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java
  10. 49
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java
  11. 24
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CheckVoteFormDTO.java
  12. 35
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CommonIssueListFormDTO.java
  13. 7
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java
  14. 35
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/GovTopicIssueInfoFormDTO.java
  15. 100
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueShiftedFromTopicFormDTO.java
  16. 20
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ProcessProjectIdFormDTO.java
  17. 43
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShiftProjectFormDTO.java
  18. 32
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/TickStaffFormDTO.java
  19. 24
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/CheckVoteResultDTO.java
  20. 36
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ClosedIssueListResultDTO.java
  21. 68
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GovIssueDetailResultDTO.java
  22. 68
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GovTopicIssueInfoResultDTO.java
  23. 46
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GovTopicOfIssueInfoResultDTO.java
  24. 21
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GridIdResultDTO.java
  25. 2
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GridVotingIssueCountResultDTO.java
  26. 40
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueProcessResultDTO.java
  27. 31
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueProjectResultDTO.java
  28. 20
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/JoinVoteResultDTO.java
  29. 41
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ProcessListResultDTO.java
  30. 20
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ProjectIdResultDTO.java
  31. 5
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/VoteResultDTO.java
  32. 36
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/VotingIssueListResultDTO.java
  33. 2
      epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml
  34. 8
      epmet-module/gov-issue/gov-issue-server/pom.xml
  35. 2
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java
  36. 5
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/UserMessageConstant.java
  37. 70
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java
  38. 59
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java
  39. 12
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProcessController.java
  40. 12
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProjectRelationController.java
  41. 13
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteDetailController.java
  42. 29
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java
  43. 26
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProcessDao.java
  44. 12
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectRelationDao.java
  45. 2
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteStatisticalDao.java
  46. 20
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java
  47. 21
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java
  48. 14
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java
  49. 12
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java
  50. 14
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java
  51. 7
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java
  52. 6
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/GovIssueRedis.java
  53. 18
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProcessService.java
  54. 19
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProjectRelationService.java
  55. 127
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java
  56. 9
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteDetailService.java
  57. 87
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProcessServiceImpl.java
  58. 27
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectRelationServiceImpl.java
  59. 499
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  60. 23
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java
  61. 5
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java
  62. 72
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/utils/ModuleConstants.java
  63. 8
      epmet-module/gov-issue/gov-issue-server/src/main/resources/db.migration/epmet_gov_issue.sql
  64. 172
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml
  65. 113
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProcessDao.xml
  66. 11
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectRelationDao.xml
  67. 4
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml
  68. 2
      epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml
  69. 2
      epmet-module/gov-mine/gov-mine-server/pom.xml
  70. 6
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java
  71. 2
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java
  72. 3
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java
  73. 16
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java
  74. 41
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CommonDataFilterResultDTO.java
  75. 8
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffListResultDTO.java
  76. 2
      epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml
  77. 2
      epmet-module/gov-org/gov-org-server/pom.xml
  78. 11
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java
  79. 18
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java
  80. 8
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
  81. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java
  82. 5
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java
  83. 7
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java
  84. 68
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java
  85. 16
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
  86. 15
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/util/ModuleConstant.java
  87. 3
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml
  88. 15
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml
  89. 7
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml
  90. 28
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java
  91. 20
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProcessProjectIdFormDTO.java
  92. 20
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectIdFormDTO.java
  93. 20
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailCheckResultDTO.java
  94. 57
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectProcessListResultDTO.java
  95. 2
      epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml
  96. 8
      epmet-module/gov-project/gov-project-server/pom.xml
  97. 4
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java
  98. 13
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java
  99. 26
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessController.java
  100. 54
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java

1
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java

@ -31,6 +31,7 @@ public interface NumConstant {
int FORTY = 40;
int FIFTY = 50;
int ONE_HUNDRED = 100;
int ONE_THOUSAND = 1000;
int MAX = 99999999;
long ZERO_L = 0L;

6
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java

@ -45,8 +45,10 @@ public enum EpmetErrorCode {
ALREADY_EVALUATE(8501,"您已评价"),
ALREADY_VOTE(8502,"您已表态"),
// 该错误不会提示给前端,只是后端传输错误信息用。
ACCESS_SQL_FILTER_MISSION_ARGS(8601, "缺少生成权限过滤SQL所需参数");
PROJECT_IS_CLOSED(8601,"项目已结案"),
// 该错误不会提示给前端,只是后端传输错误信息用。
ACCESS_SQL_FILTER_MISSION_ARGS(8701, "缺少生成权限过滤SQL所需参数");
private int code;
private String msg;

2
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java

@ -176,7 +176,7 @@ public class RedisKeys {
/**
* @param phone 手机号
* @param smsCode 短信验证码
* @param
* @return java.lang.String
* @Author yinzuomei
* @Description 政府端登录发送验证码 epmet:app:client:phone

13
epmet-gateway/pom.xml

@ -108,6 +108,7 @@
<nacos.ip></nacos.ip>
<!-- gateway routes -->
<!-- 1、认证服务 -->
<!-- <gateway.routes.epmet-auth-server.uri>http://localhost:8081</gateway.routes.epmet-auth-server.uri>-->
<gateway.routes.epmet-auth-server.uri>lb://epmet-auth-server</gateway.routes.epmet-auth-server.uri>
<!-- 2、Admin服务 -->
<gateway.routes.epmet-admin-server.uri>lb://epmet-admin-server</gateway.routes.epmet-admin-server.uri>
@ -120,6 +121,7 @@
<!-- 7、定时任务服务 -->
<gateway.routes.epmet-job-server.uri>lb://epmet-job-server</gateway.routes.epmet-job-server.uri>
<!-- 8、用户模块 -->
<!-- <gateway.routes.epmet-user-server.uri>http://localhost:8087</gateway.routes.epmet-user-server.uri>-->
<gateway.routes.epmet-user-server.uri>lb://epmet-user-server</gateway.routes.epmet-user-server.uri>
<!-- 9、新模块结构demo -->
<gateway.routes.epmet-demo-server.uri>lb://epmet-demo-server</gateway.routes.epmet-demo-server.uri>
@ -130,27 +132,34 @@
<!-- 12、居民端陌生人导览 -->
<gateway.routes.resi-guide-server.uri>lb://resi-guide-server</gateway.routes.resi-guide-server.uri>
<!-- 13、政府组织管理 -->
<!-- <gateway.routes.gov-org-server.uri>http://localhost:8092</gateway.routes.gov-org-server.uri>-->
<gateway.routes.gov-org-server.uri>lb://gov-org-server</gateway.routes.gov-org-server.uri>
<!-- 14、#运营端访问权限控制 -->
<gateway.routes.oper-access-server.uri>lb://oper-access-server</gateway.routes.oper-access-server.uri>
<!-- 15、居民端个人信息 -->
<!-- <gateway.routes.resi-mine-server.uri>http://localhost:8094</gateway.routes.resi-mine-server.uri>-->
<gateway.routes.resi-mine-server.uri>lb://resi-mine-server</gateway.routes.resi-mine-server.uri>
<!-- 16、居民端楼院校组 -->
<gateway.routes.resi-group-server.uri>lb://resi-group-server</gateway.routes.resi-group-server.uri>
<!--<gateway.routes.resi-group-server.uri>http://localhost:8095</gateway.routes.resi-group-server.uri>-->
<gateway.routes.resi-group-server.uri>lb://resi-group-server</gateway.routes.resi-group-server.uri>
<!-- 17、党员认证、热心居民申请 -->
<!-- <gateway.routes.resi-partymember-server.uri>http://localhost:8096</gateway.routes.resi-partymember-server.uri>-->
<gateway.routes.resi-partymember-server.uri>lb://resi-partymember-server</gateway.routes.resi-partymember-server.uri>
<!-- 18、政府端网格管理 -->
<!-- <gateway.routes.gov-grid-server.uri>http://localhost:8097</gateway.routes.gov-grid-server.uri>-->
<gateway.routes.gov-grid-server.uri>lb://gov-grid-server</gateway.routes.gov-grid-server.uri>
<!--19.政府端-权限-服务-->
<gateway.routes.gov-access-server.uri>lb://gov-access-server</gateway.routes.gov-access-server.uri>
<!--20.政府端-我的-服务-->
<!-- <gateway.routes.gov-mine-server.uri>http://localhost:8098</gateway.routes.gov-mine-server.uri>-->
<gateway.routes.gov-mine-server.uri>lb://gov-mine-server</gateway.routes.gov-mine-server.uri>
<!-- 21、居民端党群e事 -->
<gateway.routes.resi-hall-server.uri>lb://resi-hall-server</gateway.routes.resi-hall-server.uri>
<!-- 22、政府工作端议题管理 -->
<gateway.routes.gov-issue-server.uri>lb://gov-issue-server</gateway.routes.gov-issue-server.uri>
<!--<gateway.routes.gov-issue-server.uri>http://localhost:8101</gateway.routes.gov-issue-server.uri>-->
<gateway.routes.gov-issue-server.uri>lb://gov-issue-server</gateway.routes.gov-issue-server.uri>
<!-- 23、政府工作端项目管理 -->
<gateway.routes.gov-project-server.uri>lb://gov-project-server</gateway.routes.gov-project-server.uri>
<!-- 24、公共服务 -->

2
epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-grid-server:
container_name: gov-grid-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/gov-grid-server:0.3.16
image: 192.168.1.130:10080/epmet-cloud-dev/gov-grid-server:0.3.18
ports:
- "8097:8097"
network_mode: host # 使用现有网络

2
epmet-module/gov-grid/gov-grid-server/pom.xml

@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.16</version>
<version>0.3.18</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>gov-grid</artifactId>

3
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java

@ -2,6 +2,7 @@ package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.result.GridProcessingCountResultDTO;
import com.epmet.feign.fallback.GovIssueFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
@ -25,5 +26,5 @@ public interface GovIssueFeignClient {
* @Date 2020/5/13 15:47
**/
@PostMapping(value = "/gov/issue/issue/queryvotingissuecount",consumes = MediaType.APPLICATION_JSON_VALUE)
Result queryVotingIssueCount(@RequestBody List<String> gridIdList);
Result<List<GridProcessingCountResultDTO>> queryVotingIssueCount(@RequestBody List<String> gridIdList);
}

2
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java

@ -166,7 +166,7 @@ public interface ResiPartymemberFeignClient {
* @Description 查询网格下待审核的党员数
* @Date 2020/5/13 15:41
**/
@PostMapping(value = "/resi/partymember/partymemberbaseinfo/getworkgrassrootspartyauth",consumes = MediaType.APPLICATION_JSON_VALUE)
@PostMapping(value = "/resi/partymember/partymemberinfo/getworkgrassrootspartyauth",consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<GridProcessingCountResultDTO>> queryPartyMemberProcessingCount(@RequestBody List<String> gridIdList);
}

3
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java

@ -3,6 +3,7 @@ package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.result.GridProcessingCountResultDTO;
import com.epmet.feign.GovIssueFeignClient;
import org.springframework.stereotype.Component;
@ -16,7 +17,7 @@ import java.util.List;
@Component
public class GovIssueFeignClientFallBack implements GovIssueFeignClient {
@Override
public Result queryVotingIssueCount(List<String> gridIdList) {
public Result<List<GridProcessingCountResultDTO>> queryVotingIssueCount(List<String> gridIdList) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "queryVotingIssueCount", gridIdList);
}
}

49
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java

@ -52,18 +52,19 @@ public class RemindServiceImpl implements RemindService {
Result<List<CustomerGridByUserIdResultDTO>> govOrgResult = govOrgFeignClient.getMyGrids(formDTO.getStaffId());
if (!govOrgResult.success()) {
logger.error(String.format("调用gov-org-server服务查询工作人员网格列表失败返回结果", govOrgResult.toString()));
}
List<CustomerGridByUserIdResultDTO> gridList = govOrgResult.getData();
for (CustomerGridByUserIdResultDTO gridInfo : gridList) {
if(formDTO.getGridId().equals(gridInfo)){
//查询非当前网格的
break;
}
//其他网格,只要存在有待办事项的网格,就需要在工作首页网格名称后面显示红点
List<String> functionList = this.getRedDotFunctionList(gridInfo.getGridId());
if (null != functionList && functionList.size() > 0) {
redDotResultDTO.setOtherGridRedDot(true);
break;
}else{
List<CustomerGridByUserIdResultDTO> gridList = govOrgResult.getData();
for (CustomerGridByUserIdResultDTO gridInfo : gridList) {
if(formDTO.getGridId().equals(gridInfo.getGridId())){
//查询非当前网格的
break;
}
//其他网格,只要存在有待办事项的网格,就需要在工作首页网格名称后面显示红点
List<String> functionList = this.getRedDotFunctionList(gridInfo.getGridId());
if (null != functionList && functionList.size() > 0) {
redDotResultDTO.setOtherGridRedDot(true);
break;
}
}
}
return redDotResultDTO;
@ -80,10 +81,10 @@ public class RemindServiceImpl implements RemindService {
if (this.getWorkGrassRootsResi(gridIdList)) {
functionList.add(WorkGrassRootsFunctionConstant.WORK_GRASSROOTS_RESI);
}
if (getWorkGrassRootsPartyAuth(gridIdList)) {
if (this.getWorkGrassRootsPartyAuth(gridIdList)) {
functionList.add(WorkGrassRootsFunctionConstant.WORK_GRASSROOTS_PARTYAUTH);
}
if (getWorkGrassRootsIssue(gridIdList)) {
if (this.getWorkGrassRootsIssue(gridIdList)) {
functionList.add(WorkGrassRootsFunctionConstant.WORK_GRASSROOTS_ISSUE);
}
return functionList;
@ -101,9 +102,10 @@ public class RemindServiceImpl implements RemindService {
}
}
}
}else{
logger.error(String.format("调用%s服务,查询网格%s待审核小组数失败code%s,msg:", ServiceConstant.RESI_GROUP_SERVER, gridIdList.get(0), groupProcessingCountResult.getCode(),
groupProcessingCountResult.getMsg()));
}
logger.error(String.format("调用%s服务,查询网格%s待审核小组数失败code%s,msg:", ServiceConstant.RESI_GROUP_SERVER, gridIdList.get(0), groupProcessingCountResult.getCode(),
groupProcessingCountResult.getMsg()));
return false;
}
@ -119,9 +121,10 @@ public class RemindServiceImpl implements RemindService {
}
}
}
} else {
logger.error(String.format("调用%s服务,查询网格%s待审核热心居民数失败code%s,msg:", ServiceConstant.RESI_PARTYMEMBER_SERVER, gridIdList.get(0), resiGroupProcessingCountResult.getCode(),
resiGroupProcessingCountResult.getMsg()));
}
logger.error(String.format("调用%s服务,查询网格%s待审核热心居民数失败code%s,msg:", ServiceConstant.RESI_PARTYMEMBER_SERVER, gridIdList.get(0), resiGroupProcessingCountResult.getCode(),
resiGroupProcessingCountResult.getMsg()));
return false;
}
@ -137,9 +140,10 @@ public class RemindServiceImpl implements RemindService {
}
}
}
}else{
logger.error(String.format("调用%s服务,查询网格%s待审核党员数失败code%s,msg:", ServiceConstant.RESI_PARTYMEMBER_SERVER, gridIdList.get(0), partyMemberProcessingCountResult.getCode(),
partyMemberProcessingCountResult.getMsg()));
}
logger.error(String.format("调用%s服务,查询网格%s待审核党员数失败code%s,msg:", ServiceConstant.RESI_PARTYMEMBER_SERVER, gridIdList.get(0), partyMemberProcessingCountResult.getCode(),
partyMemberProcessingCountResult.getMsg()));
return false;
}
@ -155,9 +159,10 @@ public class RemindServiceImpl implements RemindService {
}
}
}
}else{
logger.error(String.format("调用%s服务,查询网格%s表决中议题总数失败code%s,msg:", ServiceConstant.GOV_ISSUE_SERVER, gridIdList.get(0), issueResult.getCode(),
issueResult.getMsg()));
}
logger.error(String.format("调用%s服务,查询网格%s表决中议题总数失败code%s,msg:", ServiceConstant.GOV_ISSUE_SERVER, gridIdList.get(0), issueResult.getCode(),
issueResult.getMsg()));
return false;
}

24
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CheckVoteFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* 校验是否投票表决中
*/
@Data
public class CheckVoteFormDTO implements Serializable {
private static final long serialVersionUID = -2170063271034172650L;
/**
* 用户id
*/
private String userId;
/**
* 议题id
*/
private String issueId;
}

35
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CommonIssueListFormDTO.java

@ -0,0 +1,35 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 政府端/居民段查看表决中议题列表传参
* @ClassName CommonIssueListFormDTO
* @Auth wangc
* @Date 2020-05-14 09:51
*/
@Data
public class CommonIssueListFormDTO implements Serializable {
private static final long serialVersionUID = -436147374473316845L;
/**
* 网格Id
* */
@NotBlank(message = "网格Id不能为空")
private String gridId;
/**
* 页码
* */
@Min(1)
private Integer pageNo;
/**
* 每页多少条
* */
private Integer pageSize = 20;
}

7
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java → epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java

@ -6,7 +6,7 @@ import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 项目跟踪-部门人员选择-接口入参
* @Description 议题管理-部门人员选择-接口入参
* @Author sun
*/
@Data
@ -16,5 +16,10 @@ public class DepartmentStaffListFormDTO implements Serializable {
@NotBlank(message = "机关组织Id不能为空")
private String agencyId;
/**
* token中工作人员Id
*/
private String staffId;
}

35
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/GovTopicIssueInfoFormDTO.java

@ -0,0 +1,35 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 政府端查询议题详情调用group服务查询话题相关信息传入参数
* @ClassName GovTopicIssueInfoFormDTO
* @Auth wangc
* @Date 2020-05-14 16:43
*/
@Data
public class GovTopicIssueInfoFormDTO implements Serializable {
private static final long serialVersionUID = -6385096606331289966L;
/**
* 话题Id
* */
@NotBlank(message = "话题Id不能为空")
private String topicId;
/**
* 网格Id
* */
@NotBlank(message = "网格Id不能为空")
private String gridId;
/**
* 议题发起人Id
* */
@NotBlank(message = "议题发起人Id不能为空")
private String issueCreatorId;
}

100
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueShiftedFromTopicFormDTO.java

@ -0,0 +1,100 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;
/**
* @Description 话题转议题时的参数
* @ClassName IssueShiftedFromTopicFormDTO
* @Auth wangc
* @Date 2020-05-13 09:27
*/
@Data
public class IssueShiftedFromTopicFormDTO implements Serializable {
private static final long serialVersionUID = -5744319584210140289L;
/**
* 话题Id
* */
@NotBlank(message = "话题Id不能为空")
private String topicId;
/**
* 议题名称
* */
@NotBlank(message = "议题名称不能为空")
private String issueTitle;
/**
* 建议
* */
@NotBlank(message = "议题建议不能为空")
private String suggestion;
/**
* 议题发起人Id
* */
@NotBlank(message = "议题发起人Id不能为空")
private String userId;
/**
* 客户Id
* */
@NotBlank(message = "客户不能为空")
private String customerId;
/**
* 网格Id
* */
@NotBlank(message = "网格Id不能为空")
private String gridId;
/**
* AgencyId当前话题所在机构Id
* */
@NotBlank(message = "机关Id不能为空")
private String orgId;
/**
* 所属机关 eg:11:22:33(本机关以及上级所有机关ID)
* */
@NotBlank(message = "所属机关全路径不能为空")
private String orgIdPath;
/**
* 当前话题所在网格名称 - 对应议题流程的处理部门
* */
@NotBlank(message = "网格名称不能为空")
private String orgName;
/**
* 议题创建时间
* */
private Date createdTime;
/**
* 小组名称 - 对应议题流程的小组名称(文案)
* */
@NotBlank(message = "小组名称不能为空")
private String groupName;
/**
* 话题发起人名称 -对应议题流程的话题发起人(文案)
* */
@NotBlank(message = "话题发起人不能为空")
private String topicAuthor;
/**
* 议题发起人(组长)名称 - 对应议题流程的组长名称(文案)
* */
@NotBlank(message = "组长不能为空")
private String issueAuthor;
/**
* 应表决数
* */
private Integer votableCount;
}

20
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ProcessProjectIdFormDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* 处理进展已转项目
*/
@Data
public class ProcessProjectIdFormDTO implements Serializable {
private static final long serialVersionUID = 2185544562374036005L;
/**
* 项目Id
*/
private String projectId;
}

43
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShiftProjectFormDTO.java

@ -0,0 +1,43 @@
package com.epmet.dto.form;
import com.epmet.dto.IssueDTO;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* @Description 议题管理-议题转项目-接口入参
* @Author sun
*/
@Data
public class ShiftProjectFormDTO implements Serializable {
private static final long serialVersionUID = 4859779755214502427L;
@NotBlank(message = "项目Id不能为空")
private String issueId;
@Length(max=1000,message = "公开答复内容不能超过1000位")
private String publicReply;
@NotBlank(message = "内部备注不能为空")
@Length(max=1000,message = "内部备注不能超过1000位")
private String internalRemark;
@Valid
private List<TickStaffFormDTO> staffList;
/**
* 议题详细数据
*/
private IssueDTO issueDTO;
/**
* token中工作人员Id
*/
private String staffId;
}

32
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/TickStaffFormDTO.java

@ -0,0 +1,32 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 议题管理-议题转项目-勾选的人员信息-接口入参
* @Author sun
*/
@Data
public class TickStaffFormDTO implements Serializable {
private static final long serialVersionUID = 4859779755214502427L;
@NotBlank(message = "机关Id不能为空")
private String agencyId;
/**
* 部门Id(为空表示勾选的人不是部门下的可能是组织下的也可能是网格下的)
*/
private String departmentId="";
/**
* 网格Id(为空表示勾选的人不是网格下的可能是组织下的也可能是部门下的)
*/
private String gridId="";
@NotBlank(message = "内部备注不能为空")
private String staffId;
}

24
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/CheckVoteResultDTO.java

@ -0,0 +1,24 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* 校验是否投票表决中
*/
@Data
public class CheckVoteResultDTO implements Serializable {
private static final long serialVersionUID = 1908314603146050709L;
/**
* 是否投票 已投票true未投票false
*/
private Boolean voteStatus;
/**
* 支持support反对opposition
*/
private String voteType;
}

36
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ClosedIssueListResultDTO.java

@ -0,0 +1,36 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @ClassName ClosedIssueListResultDTO
* @Auth wangc
* @Date 2020-05-14 10:13
*/
@Data
public class ClosedIssueListResultDTO implements Serializable {
private static final long serialVersionUID = -132155225850638716L;
/**
* 议题id
* */
private String issueId;
/**
* 议题标题
* */
private String issueTitle;
/**
* 议题关闭时间 时间戳
* */
private Long issueClosedTime;
/**
* 解决方案
* */
private String solution;
}

68
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GovIssueDetailResultDTO.java

@ -0,0 +1,68 @@
package com.epmet.dto.result;
import lombok.Data;
import sun.util.resources.cldr.gv.LocaleNames_gv;
import java.io.Serializable;
/**
* @Description 政府端查看议题详情返回DTO
* @ClassName GovIssueDetailResultDTO
* @Auth wangc
* @Date 2020-05-14 15:45
*/
@Data
public class GovIssueDetailResultDTO implements Serializable {
private static final long serialVersionUID = 6131514615618398747L;
/**
* 议题标题
*/
private String issueTitle;
/**
* 议题状态(voting 已转项目shift_project 已关闭closed)
*/
private String issueStatus;
/**
* 话题信息
*/
private GovTopicOfIssueInfoResultDTO topicInfo;
/**
* 议题发起人电话
* */
private String issuePublisherMobile;
/**
* 议题建议处理方式
*/
private String issueSuggestion;
/**
* 所属网格(网格所属机关单位名称-网格名称)
*/
private String belongsGridName;
/**
* 议题发起人山东路168-尹女士
*/
private String issueInitiator;
/**
* 议题来源 例如 resi_topic
* */
private String sourceType;
/**
* 当议题没有转成详情时此项为""
* */
private String projectId;
/**
* 表决截止时间
* */
private Long votingDeadline;
}

68
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GovTopicIssueInfoResultDTO.java

@ -0,0 +1,68 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 政府端查询议题详情调用group服务查询话题相关信息返回DTO
* @ClassName GovTopicIssueInfoResultDTO
* @Auth wangc
* @Date 2020-05-14 16:17
*/
@Data
public class GovTopicIssueInfoResultDTO implements Serializable {
private static final long serialVersionUID = 8096157478835080299L;
/**
* 话题id
*/
private String topicId;
/**
* 话题内容
*/
private String topicContent;
/**
* 图片列表
*/
private List<String> photoList;
/**
* 话题发表人山东路168-尹女士
*/
private String publishedUser;
/**
* 话题发表时间 (时间戳 毫秒级)
*/
private Long topicPublishTime;
/**
* 话题发表人电话
* */
private String topicPublisherMobile;
/**
* 议题来源 例如 resi_topic
* */
private String sourceType;
/**
* 议题发起人山东路168-尹女士
*/
private String issueInitiator;
/**
* 议题发起人电话
* */
private String issuePublisherMobile;
/**
* 所属网格(网格所属机关单位名称-网格名称)
*/
private String belongsGridName;
}

46
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GovTopicOfIssueInfoResultDTO.java

@ -0,0 +1,46 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description
* @ClassName GovTopicOfIssueInfoResultDTO
* @Auth wangc
* @Date 2020-05-14 15:57
*/
@Data
public class GovTopicOfIssueInfoResultDTO implements Serializable {
private static final long serialVersionUID = 3095929297129846601L;
/**
* 话题id
*/
private String topicId;
/**
* 话题内容
*/
private String topicContent;
/**
* 图片列表
*/
private List<String> photoList;
/**
* 话题发表人山东路168-尹女士
*/
private String publishedUser;
/**
* 话题发表时间 (时间戳 毫秒级)
*/
private Long topicPublishTime;
/**
* 话题发表人电话
* */
private String topicPublisherMobile;
}

21
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GridIdResultDTO.java

@ -0,0 +1,21 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* 表决中议题详情支持反对数
*/
@Data
public class GridIdResultDTO implements Serializable {
private static final long serialVersionUID = 1968505337707779785L;
/**
* 网格ID
*/
private String gridId;
}

2
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GridVotingIssueCountResultDTO.java

@ -19,6 +19,6 @@ public class GridVotingIssueCountResultDTO implements Serializable {
/**
* 表决中的议题总数
*/
private Long count;
private Integer count;
}

40
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueProcessResultDTO.java

@ -0,0 +1,40 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* 议题处理进展
*/
@Data
public class IssueProcessResultDTO implements Serializable {
private static final long serialVersionUID = 8437703271418235334L;
/**
* 处理进展名称(表决中转项目流转中已结案已关闭)
*/
private String processName;
/**
* 已转项目进展记录时间
*/
private Long processTime;
/**
* 进展说明
*/
private String progressDesc;
/**
* 进展id操作记录表id
*/
private String processId;
/**
* 网格Id
*/
private String gridId;
}

31
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueProjectResultDTO.java

@ -0,0 +1,31 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 议题转项目调用gov-project服务--接口返参
* @Author sun
*/
@Data
public class IssueProjectResultDTO implements Serializable {
private static final long serialVersionUID = -1L;
/**
* 项目Id
*/
private String projectId;
/**
* 议题转项目当前操作人对应的处理部门名称(组织-网格)
*/
private String orgName;
/**
* 议题转项目时间(项目表创建时间)
*/
private Date shiftedTime;
}

20
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/JoinVoteResultDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* 校验是否投票表决中
*/
@Data
public class JoinVoteResultDTO implements Serializable {
private static final long serialVersionUID = 4968824773812104403L;
/**
* 是否参与投票 已投票true未投票false
*/
private Boolean joinVote;
}

41
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ProcessListResultDTO.java

@ -0,0 +1,41 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* 议题处理进展
*/
@Data
public class ProcessListResultDTO implements Serializable {
private static final long serialVersionUID = -702803628652751983L;
/**
* 处理进展名称(表决中转项目流转中已结案已关闭)
*/
private String processName;
/**
* 已转项目进展记录时间
*/
private Long processTime;
/**
* 处理部门处理人所属的机关单位名称
*/
private String departmentName;
/**
* 进展说明
*/
private String progressDesc;
/**
* 进展id操作记录表id
*/
private String processId;
}

20
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ProjectIdResultDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* 议题处理进展
*/
@Data
public class ProjectIdResultDTO implements Serializable {
private static final long serialVersionUID = -7842831208204103490L;
/**
* 项目id
*/
private String projectId;
}

5
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/VoteResultDTO.java

@ -28,5 +28,10 @@ public class VoteResultDTO implements Serializable {
*/
private Integer oppositionCount;
/**
* 支持support 反对oppose
*/
private String voteType = "";
}

36
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/VotingIssueListResultDTO.java

@ -0,0 +1,36 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 政府端/居民段查看表决中议题列表返参
* @ClassName VotingIssueListResultDTO
* @Auth wangc
* @Date 2020-05-14 10:04
*/
@Data
public class VotingIssueListResultDTO implements Serializable {
private static final long serialVersionUID = -7134055957167447949L;
/**
* 议题发布时间
* */
private Long issuePublishTime;
/**
* 议题Id
* */
private String issueId;
/**
* 议题标题
* */
private String issueTitle;
/**
* 议题处理方式建议展示在列表中
* */
private String suggestion;
}

2
epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-issue-server:
container_name: gov-issue-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/gov-issue-server:0.3.2
image: 192.168.1.130:10080/epmet-cloud-dev/gov-issue-server:0.3.4
ports:
- "8101:8101"
network_mode: host # 使用现有网络

8
epmet-module/gov-issue/gov-issue-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<version>0.3.2</version>
<version>0.3.4</version>
<parent>
<artifactId>gov-issue</artifactId>
<groupId>com.epmet</groupId>
@ -84,6 +84,12 @@
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>gov-org-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

2
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java

@ -44,7 +44,7 @@ public interface IssueConstant {
String ISSUE_RESI_TOPIC = "resi_topic";
String SELECT_TOPIC_EXCEPTION = "获取话题数据失败";
String SAVE_MSG_EXCEPTION = "关闭议题时给用户发送消息失败";
String SAVE_MSG_EXCEPTION = "发送消息失败";
/**
* 议题管理-操作人所属机构类型机构agency | 部门dept | 网格grid

5
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/UserMessageConstant.java

@ -21,5 +21,10 @@ public interface UserMessageConstant {
*/
String ISSUE_UNRESLOVED_MSG = "您好,您发表的话题\"%s\"问题无需解决,原因:%s";
/**
* 议题转项目消息模板
*/
String ISSUE_SHIFT_PROJECT_MSG = "您好,您发表的话题\"%s\"的问题,已由%s部门处理,请查看。";
}

70
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java

@ -1,19 +1,34 @@
package com.epmet.controller;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.CommonIssueListFormDTO;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.IssueDTO;
import com.epmet.dto.form.IssueDetailFormDTO;
import com.epmet.dto.result.ClosedIssueListResultDTO;
import com.epmet.dto.form.IssueIdFormDTO;
import com.epmet.dto.result.GridIdResultDTO;
import com.epmet.dto.form.ShiftProjectListFromDTO;
import com.epmet.dto.result.GridVotingIssueCountResultDTO;
import com.epmet.dto.form.IssueShiftedFromTopicFormDTO;
import com.epmet.dto.result.IssueResultDTO;
import com.epmet.dto.result.VotingIssueListResultDTO;
import com.epmet.excel.IssueExcel;
import com.epmet.dto.result.ShiftProjectListResultDTO;
import com.epmet.service.IssueService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* @Description 居民端党群议事
@ -62,5 +77,52 @@ public class IssueController {
public Result<List<ShiftProjectListResultDTO>> getShiftProjectList(@RequestBody ShiftProjectListFromDTO fromDTO) {
return new Result<List<ShiftProjectListResultDTO>>().ok(issueService.getShiftProjectList(fromDTO));
}
/**
* @Description 话题转议题 供群组话题服务调用
* @param issueShiftedFromTopicFormDTO
* @author wangc
* @date 2020.05.13 17:19
**/
@PostMapping(value = "topicshiftissue")
public Result<String> issueShiftedToTopic(@RequestBody IssueShiftedFromTopicFormDTO issueShiftedFromTopicFormDTO){
ValidatorUtils.validateEntity(issueShiftedFromTopicFormDTO);
return new Result<String>().ok(issueService.issueShiftedToTopic(issueShiftedFromTopicFormDTO));
}
/**
* @Description 获取表决中议题列表
* @param issueListFormDTO
* @return Result<List<VotingIssueListResultDTO>>
* @author wangc
* @date 2020.05.14 13:57
**/
@PostMapping(value = "votinglist")
public Result<List<VotingIssueListResultDTO>> votingList(@RequestBody CommonIssueListFormDTO issueListFormDTO){
ValidatorUtils.validateEntity(issueListFormDTO);
return new Result<List<VotingIssueListResultDTO>>().ok(issueService.votingList(issueListFormDTO));
}
/**
* @Description 获取关闭议题列表
* @param issueListFormDTO
* @return Result<List<ClosedIssueListResultDTO>>
* @author wangc
* @date 2020.05.14 13:58
**/
@PostMapping(value = "closedlist")
public Result<List<ClosedIssueListResultDTO>> closedList(@RequestBody CommonIssueListFormDTO issueListFormDTO){
ValidatorUtils.validateEntity(issueListFormDTO);
return new Result<List<ClosedIssueListResultDTO>>().ok(issueService.closedList(issueListFormDTO));
}
/**
* @Description 根据issueId查询gridId
* @param issueId
* @author zxc
*/
@PostMapping("selectgrididbyissueid")
public Result<GridIdResultDTO> selectGridIdByIssueId(@RequestBody IssueIdFormDTO issueId){
return new Result<GridIdResultDTO>().ok(issueService.selectGridIdByIssueId(issueId));
}
}

59
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java

@ -6,9 +6,6 @@ import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.CloseIssueFormDTO;
import com.epmet.dto.form.DepartmentStaffListFormDTO;
import com.epmet.dto.form.ShiftProjectListFromDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.service.IssueService;
@ -58,6 +55,7 @@ public class IssueManageController {
@PostMapping("departmentstafflist")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT)
public Result<DepartmentStaffListResultDTO> departmentStaffList(@LoginUser TokenDto tokenDTO, @RequestBody DepartmentStaffListFormDTO formDTO) {
formDTO.setStaffId(tokenDTO.getUserId());
ValidatorUtils.validateEntity(formDTO);
return new Result<DepartmentStaffListResultDTO>().ok(issueService.departmentStaffList(formDTO));
}
@ -109,5 +107,60 @@ public class IssueManageController {
ValidatorUtils.validateEntity(formDTO);
return new Result<ProcessorListResultDTO>().ok(issueService.processorList(formDTO));
}
/**
* @Description 获取表决中议题列表
* @param issueListFormDTO
* @return Result<List<VotingIssueListResultDTO>>
* @author wangc
* @date 2020.05.14 13:57
**/
@PostMapping(value = "votingissuelist")
public Result<List<VotingIssueListResultDTO>> votingList( @RequestBody CommonIssueListFormDTO issueListFormDTO){
ValidatorUtils.validateEntity(issueListFormDTO);
return new Result<List<VotingIssueListResultDTO>>().ok(issueService.votingList(issueListFormDTO));
}
/**
* @Description 获取关闭议题列表
* @param issueListFormDTO
* @return Result<List<ClosedIssueListResultDTO>>
* @author wangc
* @date 2020.05.14 13:58
**/
@PostMapping(value = "closedlist")
public Result<List<ClosedIssueListResultDTO>> closedList( @RequestBody CommonIssueListFormDTO issueListFormDTO){
ValidatorUtils.validateEntity(issueListFormDTO);
return new Result<List<ClosedIssueListResultDTO>>().ok(issueService.closedList(issueListFormDTO));
}
/**
* @Description 政府端查看议题详情
* @param issueDetail
* @return Result<GovIssueDetailResultDTO>
* @author wangc
* @date 2020.05.15 00:19
**/
@PostMapping(value = "votingissuedetail")
public Result<GovIssueDetailResultDTO> votingissuedetail(@RequestBody IssueDetailFormDTO issueDetail){
ValidatorUtils.validateEntity(issueDetail);
return new Result<GovIssueDetailResultDTO>().ok(issueService.issueDetailGov(issueDetail));
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 议题管理-议题转项目
**/
@PostMapping("shiftproject")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT)
public Result shiftProject(@LoginUser TokenDto tokenDTO, @RequestBody ShiftProjectFormDTO formDTO) {
formDTO.setStaffId(tokenDTO.getUserId());
ValidatorUtils.validateEntity(formDTO);
issueService.shiftProject(formDTO);
return new Result();
}
}

12
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProcessController.java

@ -26,6 +26,8 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.IssueProcessDTO;
import com.epmet.dto.form.IssueIdFormDTO;
import com.epmet.dto.result.ProcessListResultDTO;
import com.epmet.excel.IssueProcessExcel;
import com.epmet.service.IssueProcessService;
import org.springframework.beans.factory.annotation.Autowired;
@ -91,4 +93,14 @@ public class IssueProcessController {
ExcelUtils.exportExcelToTarget(response, null, list, IssueProcessExcel.class);
}
/**
* @Description 议题处理进展
* @param issueId
* @author zxc
*/
@PostMapping("processlist")
public Result<List<ProcessListResultDTO>> processList(@RequestBody IssueIdFormDTO issueId){
return new Result<List<ProcessListResultDTO>>().ok(issueProcessService.processList(issueId));
}
}

12
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProjectRelationController.java

@ -26,6 +26,8 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.IssueProjectRelationDTO;
import com.epmet.dto.form.IssueIdFormDTO;
import com.epmet.dto.result.ProjectIdResultDTO;
import com.epmet.excel.IssueProjectRelationExcel;
import com.epmet.service.IssueProjectRelationService;
import org.springframework.beans.factory.annotation.Autowired;
@ -91,4 +93,14 @@ public class IssueProjectRelationController {
ExcelUtils.exportExcelToTarget(response, null, list, IssueProjectRelationExcel.class);
}
/**
* @Description 获取项目Id
* @param issueId
* @author zxc
*/
@PostMapping("selectprojectid")
public Result<ProjectIdResultDTO> selectProjectId(@RequestBody IssueIdFormDTO issueId){
return new Result<ProjectIdResultDTO>().ok(issueProjectRelationService.selectProjectId(issueId));
}
}

13
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteDetailController.java

@ -17,7 +17,6 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
@ -27,7 +26,9 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.IssueVoteDetailDTO;
import com.epmet.dto.form.CheckVoteFormDTO;
import com.epmet.dto.form.VoteFormDTO;
import com.epmet.dto.result.JoinVoteResultDTO;
import com.epmet.excel.IssueVoteDetailExcel;
import com.epmet.service.IssueVoteDetailService;
import org.springframework.beans.factory.annotation.Autowired;
@ -104,4 +105,14 @@ public class IssueVoteDetailController {
return new Result();
}
/**
* @Description 校验是否投票
* @param checkVoteFormDTO
* @author zxc
*/
@PostMapping("joinvote")
public Result<JoinVoteResultDTO> joinVote(@RequestBody CheckVoteFormDTO checkVoteFormDTO){
return new Result<JoinVoteResultDTO>().ok(issueVoteDetailService.joinVote(checkVoteFormDTO));
}
}

29
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java

@ -18,9 +18,13 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.IssueDTO;
import com.epmet.dto.form.CommonIssueListFormDTO;
import com.epmet.dto.form.IssueDetailFormDTO;
import com.epmet.dto.form.ShiftProjectListFromDTO;
import com.epmet.dto.result.ClosedIssueListResultDTO;
import com.epmet.dto.result.IssueResultDTO;
import com.epmet.dto.result.VotingIssueListResultDTO;
import com.epmet.entity.IssueEntity;
import org.apache.ibatis.annotations.Mapper;
@ -52,4 +56,29 @@ public interface IssueDao extends BaseDao<IssueEntity> {
*/
List<IssueEntity> selectIssueListByGridId(ShiftProjectListFromDTO fromDTO);
/**
* @Description 新增一条议题
* @param issueDTO
* @author wangc
* @date 2020.05.13 15:46
**/
int insertOne(IssueDTO issueDTO);
/**
* @Description 查询表决中议题列表
* @param issueListFormDTO
* @return List<VotingIssueListResultDTO>
* @author wangc
* @date 2020.05.14 13:34
**/
List<VotingIssueListResultDTO> selectVotingList(CommonIssueListFormDTO issueListFormDTO);
/**
* @Description 查询已关闭议题列表
* @param issueListFormDTO
* @return List<ClosedIssueListResultDTO>
* @author wangc
* @date 2020.05.14 13:34
**/
List<ClosedIssueListResultDTO> selectClosedList(CommonIssueListFormDTO issueListFormDTO);
}

26
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProcessDao.java

@ -18,8 +18,14 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.IssueIdFormDTO;
import com.epmet.dto.result.IssueProcessResultDTO;
import com.epmet.dto.IssueProcessDTO;
import com.epmet.entity.IssueProcessEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 议题进展记录表
@ -29,5 +35,23 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface IssueProcessDao extends BaseDao<IssueProcessEntity> {
/**
* @Description 新增议题流程 议题发声状态变更都要新增一条流程记录
* @param issueProcessDTO
* @author wangc
* @date 2020.05.13 15:55
**/
int insertOne(IssueProcessDTO issueProcessDTO);
/**
* @Description 议题处理进展已关闭
* @param issueId
* @author zxc
*/
List<IssueProcessResultDTO> issueProcess(IssueIdFormDTO issueId);
IssueProcessResultDTO issueBeginInfo(IssueIdFormDTO formDTO);
}

12
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectRelationDao.java

@ -20,6 +20,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.IssueProjectRelationEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 议题项目关系表
@ -29,5 +30,14 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface IssueProjectRelationDao extends BaseDao<IssueProjectRelationEntity> {
/**
* @Description 通过issueId得到项目Id
* @param issueId
* @return String
* @author wangc
* @date 2020.05.14 18:30
**/
String selectProjectIdByIssueId(@Param("issueId") String issueId);
}

2
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteStatisticalDao.java

@ -50,7 +50,7 @@ public interface IssueVoteStatisticalDao extends BaseDao<IssueVoteStatisticalEnt
* @param userId
* @author zxc
*/
Integer checkVote(@Param("issueId")String issueId,@Param("userId")String userId);
String checkVote(@Param("issueId")String issueId,@Param("userId")String userId);
/**
* @Description 议题表决折线图

20
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java

@ -2,15 +2,17 @@ package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.BelongGridNameFormDTO;
import com.epmet.dto.form.CanTickStaffListFormDTO;
import com.epmet.dto.result.AgencyGridResultDTO;
import com.epmet.dto.result.BelongGridNameResultDTO;
import com.epmet.dto.result.DepartmentStaffListResultDTO;
import com.epmet.dto.result.ProcessorListResultDTO;
import com.epmet.feign.fallback.GovOrgFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
* @Description 调用gov-org服务
@ -29,13 +31,13 @@ public interface GovOrgFeignClient {
Result<AgencyGridResultDTO> getAgencyAndGrid(AgencyGridResultDTO agencyGridResultDTO);
/**
* @param agencyId
* @param canTick
* @return
* @Author sun
* @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息
**/
@PostMapping(value = "/gov/org/customeragency/departmentstafflist/{agencyId}")
Result<DepartmentStaffListResultDTO> departmentStaffList(@PathVariable("agencyId") String agencyId);
@PostMapping(value = "/gov/org/customeragency/departmentstafflist")
Result<DepartmentStaffListResultDTO> departmentStaffList(CanTickStaffListFormDTO canTick);
/**
* @param agencyId
@ -45,4 +47,12 @@ public interface GovOrgFeignClient {
**/
@PostMapping(value = "/gov/org/customeragency/getprocessorlist/{agencyId}")
Result<ProcessorListResultDTO> getProcessorList(@PathVariable("agencyId") String agencyId);
/**
* @Description 查询网格名
* @param formDTO
* @author zxc
*/
@PostMapping(value = "/gov/org/customergrid/getgridnamebygridid")
Result<BelongGridNameResultDTO> getGridNameByGridId(@RequestBody BelongGridNameFormDTO formDTO);
}

21
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java

@ -2,7 +2,11 @@ package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.ProcessProjectIdFormDTO;
import com.epmet.dto.form.ShiftProjectFormDTO;
import com.epmet.dto.form.ShiftProjectsFromDTO;
import com.epmet.dto.result.ProcessListResultDTO;
import com.epmet.dto.result.IssueProjectResultDTO;
import com.epmet.dto.result.ShiftProjectResultDTO;
import com.epmet.feign.fallback.GovProjectFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
@ -27,4 +31,21 @@ public interface GovProjectFeignClient {
*/
@PostMapping("/gov/project/project/shiftprojectlist")
Result<List<ShiftProjectResultDTO>> getProjectByIssue(@RequestBody ShiftProjectsFromDTO fromDTO);
/**
* @param formDTO
* @return
* @Author sun
* @Description 议题管理-议题转项目
**/
@PostMapping("/gov/project/project/issueshiftproject")
Result<IssueProjectResultDTO> issueShiftProject(@RequestBody ShiftProjectFormDTO formDTO);
/**
* @Description 议题处理进展已转项目
* @param formDTO
* @author zxc
*/
@PostMapping("/gov/project/projectprocess/projectprocesslist")
Result<List<ProcessListResultDTO>> projectProcessList(@RequestBody ProcessProjectIdFormDTO formDTO);
}

14
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java

@ -5,6 +5,8 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.result.AgencyGridResultDTO;
import com.epmet.feign.fallback.ResiGroupFeignClientFallBack;
import com.epmet.resi.group.dto.topic.ResiTopicDTO;
import com.epmet.resi.group.dto.topic.form.GovTopicIssueInfoFormDTO;
import com.epmet.resi.group.dto.topic.result.GovTopicIssueInfoResultDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
@ -25,4 +27,14 @@ public interface ResiGroupFeignClient {
**/
@PostMapping("/resi/group/topic/gettopicbyid/{topicId}")
Result<ResiTopicDTO> getTopicById(@PathVariable("topicId") String topicId);
}
/**
* @Description 政府端查看议题详情时的话题相关信息
* @param govTopicIssueInfoFormDTO
* @author wangc
* @date 2020.05.12 13:53
**/
@PostMapping("/resi/group/topic/topicinfoforissuedetailgov")
Result<GovTopicIssueInfoResultDTO> topicInfoForIssueDetailGov(GovTopicIssueInfoFormDTO govTopicIssueInfoFormDTO);
}

12
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java

@ -3,7 +3,10 @@ package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.BelongGridNameFormDTO;
import com.epmet.dto.form.CanTickStaffListFormDTO;
import com.epmet.dto.result.AgencyGridResultDTO;
import com.epmet.dto.result.BelongGridNameResultDTO;
import com.epmet.dto.result.DepartmentStaffListResultDTO;
import com.epmet.dto.result.ProcessorListResultDTO;
import com.epmet.feign.GovOrgFeignClient;
@ -22,12 +25,17 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient {
}
@Override
public Result<DepartmentStaffListResultDTO> departmentStaffList(String agencyId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "departmentStaffList", agencyId);
public Result<DepartmentStaffListResultDTO> departmentStaffList(CanTickStaffListFormDTO canTick) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "departmentStaffList", canTick);
}
@Override
public Result<ProcessorListResultDTO> getProcessorList(String agencyId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getProcessorList", agencyId);
}
@Override
public Result<BelongGridNameResultDTO> getGridNameByGridId(BelongGridNameFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridNameByGridId", formDTO);
}
}

14
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java

@ -3,7 +3,11 @@ package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.ProcessProjectIdFormDTO;
import com.epmet.dto.form.ShiftProjectFormDTO;
import com.epmet.dto.form.ShiftProjectsFromDTO;
import com.epmet.dto.result.ProcessListResultDTO;
import com.epmet.dto.result.IssueProjectResultDTO;
import com.epmet.dto.result.ShiftProjectResultDTO;
import com.epmet.feign.GovProjectFeignClient;
import org.springframework.stereotype.Component;
@ -21,4 +25,14 @@ public class GovProjectFeignClientFallBack implements GovProjectFeignClient {
public Result<List<ShiftProjectResultDTO>> getProjectByIssue(ShiftProjectsFromDTO fromDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "getProjectByIssue", fromDTO);
}
@Override
public Result<List<ProcessListResultDTO>> projectProcessList(ProcessProjectIdFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "projectProcessList", formDTO);
}
@Override
public Result<IssueProjectResultDTO> issueShiftProject(ShiftProjectFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "issueShiftProject", formDTO);
}
}

7
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java

@ -6,6 +6,8 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.result.AgencyGridResultDTO;
import com.epmet.feign.ResiGroupFeignClient;
import com.epmet.resi.group.dto.topic.ResiTopicDTO;
import com.epmet.resi.group.dto.topic.form.GovTopicIssueInfoFormDTO;
import com.epmet.resi.group.dto.topic.result.GovTopicIssueInfoResultDTO;
import org.springframework.stereotype.Component;
/**
@ -18,4 +20,9 @@ public class ResiGroupFeignClientFallBack implements ResiGroupFeignClient {
public Result<ResiTopicDTO> getTopicById(String topicId) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "gettopicbyid", topicId);
}
@Override
public Result<GovTopicIssueInfoResultDTO> topicInfoForIssueDetailGov(GovTopicIssueInfoFormDTO govTopicIssueInfoFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "topicInfoForIssueDetailGov", govTopicIssueInfoFormDTO);
}
}

6
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/GovIssueRedis.java

@ -65,11 +65,11 @@ public class GovIssueRedis {
* @Description 获取某网格下表决中的议题总数
* @Date 2020/5/14 9:40
**/
public Long queryVotingIssueCount(String gridId) {
Long auditingGroupCount = 0L;
public Integer queryVotingIssueCount(String gridId) {
Integer auditingGroupCount = 0;
try {
String workGrassrootsGroupRedDotKey = GovIssueRedisKeys.getWorkGrassrootsIssueRedDotKey(gridId);
auditingGroupCount = (Long) redisUtils.get(workGrassrootsGroupRedDotKey);
auditingGroupCount = (Integer) redisUtils.get(workGrassrootsGroupRedDotKey);
} catch (Exception e) {
logger.error(String.format("网格id%s,查询网格下表决中议题总数异常%s", gridId, e.getMessage()));
e.printStackTrace();

18
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProcessService.java

@ -20,7 +20,10 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IssueProcessDTO;
import com.epmet.dto.form.IssueIdFormDTO;
import com.epmet.dto.result.ProcessListResultDTO;
import com.epmet.entity.IssueProcessEntity;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Map;
@ -92,4 +95,19 @@ public interface IssueProcessService extends BaseService<IssueProcessEntity> {
* @date 2020-05-11
*/
void delete(String[] ids);
/**
* @Description 议题处理进展
* @param issueId
* @author zxc
*/
List<ProcessListResultDTO> processList(IssueIdFormDTO issueId);
/**
* @Description 议题流程新增记录
* @param issueProcessDTO
* @author wangc
* @date 2020.05.13 16:42
**/
int insertOne(IssueProcessDTO issueProcessDTO);
}

19
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProjectRelationService.java

@ -20,7 +20,10 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IssueProjectRelationDTO;
import com.epmet.dto.form.IssueIdFormDTO;
import com.epmet.dto.result.ProjectIdResultDTO;
import com.epmet.entity.IssueProjectRelationEntity;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Map;
@ -92,4 +95,20 @@ public interface IssueProjectRelationService extends BaseService<IssueProjectRel
* @date 2020-05-11
*/
void delete(String[] ids);
/**
* @Description 通过议题Id得到议题项目关系
* @param issueId
* @return String
* @author wangc
* @date 2020.05.14 18:26
**/
String getProjectByIssueId(String issueId);
/**
* @Description 获取项目Id
* @param issueId
* @author zxc
*/
ProjectIdResultDTO selectProjectId(IssueIdFormDTO issueId);
}

127
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java

@ -1,11 +1,29 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IssueDTO;
import com.epmet.dto.form.CloseIssueFormDTO;
import com.epmet.dto.form.DepartmentStaffListFormDTO;
import com.epmet.dto.form.IssueDetailFormDTO;
import com.epmet.dto.form.IssueIdFormDTO;
import com.epmet.dto.result.DepartmentStaffListResultDTO;
import com.epmet.dto.result.GridIdResultDTO;
import com.epmet.dto.result.GridVotingIssueCountResultDTO;
import com.epmet.dto.result.IssueResultDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.dto.form.CloseIssueFormDTO;
import com.epmet.dto.form.DepartmentStaffListFormDTO;
import com.epmet.dto.form.CommonIssueListFormDTO;
import com.epmet.dto.form.IssueDetailFormDTO;
import com.epmet.dto.result.*;
import com.epmet.dto.form.IssueShiftedFromTopicFormDTO;
import com.epmet.entity.IssueEntity;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Map;
/**
* @Author zxc
@ -13,6 +31,66 @@ import java.util.List;
*/
public interface IssueService extends BaseService<IssueEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<IssueDTO>
* @author generator
* @date 2020-05-14
*/
PageData<IssueDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<IssueDTO>
* @author generator
* @date 2020-05-14
*/
List<IssueDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return IssueDTO
* @author generator
* @date 2020-05-14
*/
IssueDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2020-05-14
*/
void save(IssueDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2020-05-14
*/
void update(IssueDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2020-05-14
*/
void delete(String[] ids);
/**
* @Description 议题详情
* @param issueDetail
@ -53,6 +131,47 @@ public interface IssueService extends BaseService<IssueEntity> {
* @Date 2020/5/13 22:53
**/
List<GridVotingIssueCountResultDTO> queryVotingIssueCount(List<String> gridIdList);
/**
* @Description 话题转为议题入口 返回生成的议题Id
* @param issueShiftedFromTopicFormDTO IssueShiftedFromTopicFormDTO.class
* @author wangc
* @date 2020.05.13 16:08
**/
String issueShiftedToTopic(IssueShiftedFromTopicFormDTO issueShiftedFromTopicFormDTO);
/**
* @Description 表决中列表
* @param issueListForm
* @return List<VotingIssueListResultDTO>
* @author wangc
* @date 2020.05.14 10:13
**/
List<VotingIssueListResultDTO> votingList(CommonIssueListFormDTO issueListForm);
/**
* @Description 已关闭列表
* @param issueListForm
* @return List<ClosedIssueListResultDTO>
* @author wangc
* @date 2020.05.14 10:33
**/
List<ClosedIssueListResultDTO> closedList(CommonIssueListFormDTO issueListForm);
/**
* @Description 政府端查看议题详情
* @param issueDetail
* @return GovIssueDetailResultDTO
* @author wangc
* @date 2020.05.14 16:08
**/
GovIssueDetailResultDTO issueDetailGov(IssueDetailFormDTO issueDetail);
/**
* @Description 根据issueId查询gridId
* @param issueId
* @author zxc
*/
GridIdResultDTO selectGridIdByIssueId(IssueIdFormDTO issueId);
/**
* @param formDTO
@ -61,4 +180,12 @@ public interface IssueService extends BaseService<IssueEntity> {
* @Description 议题管理-议题人员选择
**/
ProcessorListResultDTO processorList(ProcessorListFormDTO formDTO);
/**
* @param formDTO
* @return
* @Author sun
* @Description 议题管理-议题转项目
**/
void shiftProject(ShiftProjectFormDTO formDTO);
}

9
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteDetailService.java

@ -20,7 +20,9 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IssueVoteDetailDTO;
import com.epmet.dto.form.CheckVoteFormDTO;
import com.epmet.dto.form.VoteFormDTO;
import com.epmet.dto.result.JoinVoteResultDTO;
import com.epmet.entity.IssueVoteDetailEntity;
import java.util.List;
@ -100,4 +102,11 @@ public interface IssueVoteDetailService extends BaseService<IssueVoteDetailEntit
* @author zxc
*/
void vote(VoteFormDTO formDTO);
/**
* @Description 校验是否投票
* @param checkVoteFormDTO
* @author zxc
*/
JoinVoteResultDTO joinVote(CheckVoteFormDTO checkVoteFormDTO);
}

87
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProcessServiceImpl.java

@ -20,19 +20,34 @@ package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.constant.IssueConstant;
import com.epmet.dao.IssueProcessDao;
import com.epmet.dao.IssueProjectRelationDao;
import com.epmet.dto.IssueDTO;
import com.epmet.dto.IssueProcessDTO;
import com.epmet.dto.form.BelongGridNameFormDTO;
import com.epmet.dto.form.IssueIdFormDTO;
import com.epmet.dto.form.ProcessProjectIdFormDTO;
import com.epmet.dto.result.BelongGridNameResultDTO;
import com.epmet.dto.result.IssueProcessResultDTO;
import com.epmet.dto.result.ProcessListResultDTO;
import com.epmet.entity.IssueProcessEntity;
import com.epmet.feign.GovOrgFeignClient;
import com.epmet.feign.GovProjectFeignClient;
import com.epmet.redis.IssueProcessRedis;
import com.epmet.service.IssueProcessService;
import com.epmet.service.IssueService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@ -48,6 +63,16 @@ public class IssueProcessServiceImpl extends BaseServiceImpl<IssueProcessDao, Is
@Autowired
private IssueProcessRedis issueProcessRedis;
@Autowired
private IssueService issueService;
@Autowired
private GovOrgFeignClient govOrgFeignClient;
@Autowired
private GovProjectFeignClient govProjectFeignClient;
@Autowired
private IssueProjectRelationDao issueProjectRelationDao;
@Autowired
private IssueProcessDao issueProcessDao;
@Override
public PageData<IssueProcessDTO> page(Map<String, Object> params) {
@ -101,4 +126,66 @@ public class IssueProcessServiceImpl extends BaseServiceImpl<IssueProcessDao, Is
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* @Description 议题流程新增记录
* @param issueProcessDTO
* @author wangc
* @date 2020.05.13 16:42
**/
@Override
@Transactional(rollbackFor = Exception.class)
public int insertOne(IssueProcessDTO issueProcessDTO) {
return baseDao.insertOne(issueProcessDTO);
}
/**
* @Description 议题处理进展
* @param issueId
* @author zxc
*/
@Override
public List<ProcessListResultDTO> processList(IssueIdFormDTO issueId) {
List<ProcessListResultDTO> listResult = new ArrayList<ProcessListResultDTO>();
IssueDTO issueDTO = issueService.get(issueId.getIssueId());
String issueStatus = issueDTO.getIssueStatus();
if (issueStatus.equals(IssueConstant.ISSUE_CLOSED)){//已关闭——处理进展
List<IssueProcessResultDTO> issueProcessResultDTOS = baseDao.issueProcess(issueId);
if (issueProcessResultDTOS.size()!=NumConstant.ZERO){
String gridId = issueProcessResultDTOS.get(NumConstant.ZERO).getGridId();
BelongGridNameFormDTO formDTO = new BelongGridNameFormDTO();
formDTO.setGridId(gridId);
//处理部门(处理人所属的机关单位名称) eg:阜新路社区——第一网格
BelongGridNameResultDTO data = govOrgFeignClient.getGridNameByGridId(formDTO).getData();
BeanUtils.copyProperties(issueProcessResultDTOS,listResult);
for (IssueProcessResultDTO issueProcessResultDTO : issueProcessResultDTOS) {
ProcessListResultDTO process = new ProcessListResultDTO();
BeanUtils.copyProperties(issueProcessResultDTO,process);
process.setDepartmentName(data.getBelongsGridName());
listResult.add(process);
}
}
}else if (issueStatus.equals(IssueConstant.ISSUE_SHIFT_PROJECT)){//已转项目——处理进展
String projectId = issueProjectRelationDao.selectProjectIdByIssueId(issueId.getIssueId());
if (!StringUtils.isBlank(projectId)) {
ProcessProjectIdFormDTO formDTO = new ProcessProjectIdFormDTO();
formDTO.setProjectId(projectId);
listResult = govProjectFeignClient.projectProcessList(formDTO).getData();
//转议题时间
IssueProcessResultDTO issueProcessResultDTO = issueProcessDao.issueBeginInfo(issueId);
String gridId = issueProcessResultDTO.getGridId();
BelongGridNameFormDTO gridName = new BelongGridNameFormDTO();
gridName.setGridId(gridId);
//处理部门(处理人所属的机关单位名称) eg:阜新路社区——第一网格
BelongGridNameResultDTO data = govOrgFeignClient.getGridNameByGridId(gridName).getData();
ProcessListResultDTO process = new ProcessListResultDTO();
BeanUtils.copyProperties(issueProcessResultDTO,process);
process.setDepartmentName(data.getBelongsGridName());
listResult.add(process);
}
}else {
return new ArrayList<>();
}
return listResult;
}
}

27
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectRelationServiceImpl.java

@ -25,6 +25,8 @@ import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.IssueProjectRelationDao;
import com.epmet.dto.IssueProjectRelationDTO;
import com.epmet.dto.form.IssueIdFormDTO;
import com.epmet.dto.result.ProjectIdResultDTO;
import com.epmet.entity.IssueProjectRelationEntity;
import com.epmet.redis.IssueProjectRelationRedis;
import com.epmet.service.IssueProjectRelationService;
@ -101,4 +103,29 @@ public class IssueProjectRelationServiceImpl extends BaseServiceImpl<IssueProjec
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* @Description 通过议题Id得到议题项目关系
* @param issueId
* @return String
* @author wangc
* @date 2020.05.14 18:26
**/
@Override
public String getProjectByIssueId(String issueId) {
return StringUtils.isBlank(issueId) ? null : baseDao.selectProjectIdByIssueId(issueId);
}
/**
* @Description 获取项目Id
* @param issueId
* @author zxc
*/
@Override
public ProjectIdResultDTO selectProjectId(IssueIdFormDTO issueId) {
ProjectIdResultDTO resultDTO = new ProjectIdResultDTO();
String projectId = baseDao.selectProjectIdByIssueId(issueId.getIssueId());
resultDTO.setProjectId(projectId);
return resultDTO;
}
}

499
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java

@ -1,34 +1,50 @@
package com.epmet.service.impl;
import com.alibaba.nacos.client.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.IssueConstant;
import com.epmet.constant.ReadFlagConstant;
import com.epmet.constant.UserMessageConstant;
import com.epmet.dao.IssueDao;
import com.epmet.dao.IssueProcessDao;
import com.epmet.dto.ProjectDTO;
import com.epmet.dao.IssueProjectRelationDao;
import com.epmet.dto.IssueDTO;
import com.epmet.dto.IssueProcessDTO;
import com.epmet.dto.IssueVoteStatisticalDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.IssueEntity;
import com.epmet.entity.IssueProcessEntity;
import com.epmet.entity.IssueProjectRelationEntity;
import com.epmet.feign.GovOrgFeignClient;
import com.epmet.feign.GovProjectFeignClient;
import com.epmet.feign.MessageFeignClient;
import com.epmet.feign.ResiGroupFeignClient;
import com.epmet.redis.GovIssueRedis;
import com.epmet.resi.group.dto.topic.ResiTopicDTO;
import com.epmet.resi.group.dto.topic.form.GovTopicIssueInfoFormDTO;
import com.epmet.resi.group.dto.topic.result.GovTopicIssueInfoResultDTO;
import com.epmet.service.IssueProcessService;
import com.epmet.service.IssueProjectRelationService;
import com.epmet.service.IssueService;
import com.epmet.service.IssueVoteStatisticalService;
import com.epmet.utils.ModuleConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -52,7 +68,69 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
private GovIssueRedis govIssueRedis;
@Autowired
private GovProjectFeignClient govProjectFeignClient;
@Autowired
private IssueProjectRelationDao issueProjectRelationDao;
protected static final Logger logger = LoggerFactory.getLogger(IssueServiceImpl.class);
@Autowired
private IssueProcessService issueProcessService;
@Autowired
private IssueVoteStatisticalService issueVoteStatisticalService;
@Autowired
private IssueProjectRelationService issueProjectRelationService;
@Override
public PageData<IssueDTO> page(Map<String, Object> params) {
IPage<IssueEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, IssueDTO.class);
}
@Override
public List<IssueDTO> list(Map<String, Object> params) {
List<IssueEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IssueDTO.class);
}
private QueryWrapper<IssueEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<IssueEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public IssueDTO get(String id) {
IssueEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, IssueDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IssueDTO dto) {
IssueEntity entity = ConvertUtils.sourceToTarget(dto, IssueEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IssueDTO dto) {
IssueEntity entity = ConvertUtils.sourceToTarget(dto, IssueEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* @param issueDetail
* @Description 议题详情
@ -66,49 +144,18 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
return issueResult;
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 议题管理-关闭议题
**/
@Override
@Transactional(rollbackFor = Exception.class)
public void closeIssue(CloseIssueFormDTO formDTO) {
Date date = new Date();
//1:更新议题详情表数据
IssueEntity entity = baseDao.selectById(formDTO.getIssueId());
if (null == entity) {
throw new RenException(IssueConstant.SELECT_EXCEPTION);
}
entity.setIssueStatus(IssueConstant.ISSUE_CLOSED);
entity.setCloseReason(formDTO.getCloseReason());
entity.setResolveType(formDTO.getResolveType());
entity.setVotingDeadline(date);
entity.setClosedTime(date);
if (baseDao.updateById(entity) < NumConstant.ONE) {
throw new RenException(IssueConstant.UPPDATE_EXCEPTION);
}
//2:调用gov-org服务,查询组织网格名称
AgencyGridResultDTO agencyGridResultDTO = new AgencyGridResultDTO();
agencyGridResultDTO.setAgencyId(entity.getOrgId());
agencyGridResultDTO.setGridId(entity.getGridId());
Result<AgencyGridResultDTO> resultDTO = govOrgFeignClient.getAgencyAndGrid(agencyGridResultDTO);
agencyGridResultDTO = resultDTO.getData();
//3:议题进展记录表新增数据
IssueProcessEntity processEntity = new IssueProcessEntity();
processEntity.setIssueId(formDTO.getIssueId());
processEntity.setIssueStatus(IssueConstant.ISSUE_CLOSED);
processEntity.setOrgType(IssueConstant.ISSUE_GRID);
processEntity.setOrgId(entity.getOrgId());
processEntity.setOperationExplain(formDTO.getCloseReason());
processEntity.setOrgName(agencyGridResultDTO.getAgencyName() + "-" + agencyGridResultDTO.getGridName());
issueProcessDao.insert(processEntity);
//4:调用epmet-message服务,给居民端话题创建人和议题发起人发送消息
if (!saveUserMessageList(formDTO, entity).success()) {
throw new RenException(IssueConstant.SAVE_MSG_EXCEPTION);
}
}
/**
* @Description 根据issueId查询gridId
* @param issueId
* @author zxc
*/
@Override
public GridIdResultDTO selectGridIdByIssueId(IssueIdFormDTO issueId) {
GridIdResultDTO gridIdResult = new GridIdResultDTO();
IssueDTO issueDTO = get(issueId.getIssueId());
gridIdResult.setGridId(issueDTO.getGridId());
return gridIdResult;
}
@Override
public List<GridVotingIssueCountResultDTO> queryVotingIssueCount(List<String> gridIdList) {
@ -116,59 +163,17 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
for (String gridId : gridIdList) {
GridVotingIssueCountResultDTO gridVotingIssueCountResultDTO = new GridVotingIssueCountResultDTO();
gridVotingIssueCountResultDTO.setGridId(gridId);
Long auditingCount = govIssueRedis.queryVotingIssueCount(gridId);
gridVotingIssueCountResultDTO.setCount(auditingCount);
Integer auditingCount = govIssueRedis.queryVotingIssueCount(gridId);
if (null == auditingCount) {
gridVotingIssueCountResultDTO.setCount(0);
} else {
gridVotingIssueCountResultDTO.setCount(auditingCount);
}
list.add(gridVotingIssueCountResultDTO);
}
return list;
}
/**
* @Description 关闭议题给话题创建人和议题发起人发送消息
* @author sun
*/
private Result saveUserMessageList(CloseIssueFormDTO formDTO, IssueEntity entity) {
//1:调用resi-group查询话题创建人数据(目前议题来源只有来自话题)
Result<ResiTopicDTO> resultTopicDTO = resiGroupFeignClient.getTopicById(entity.getSourceId());
if (!resultTopicDTO.success() || null == resultTopicDTO.getData()) {
throw new RenException(IssueConstant.SELECT_TOPIC_EXCEPTION);
}
ResiTopicDTO topicDTO = resultTopicDTO.getData();
//2:分别给话题创建人、议题发起人发送消息
List<UserMessageFormDTO> msgList = new ArrayList<>();
UserMessageFormDTO msgDTO = new UserMessageFormDTO();
msgDTO.setCustomerId(entity.getCustomerId());
msgDTO.setGridId(entity.getGridId());
msgDTO.setApp(AppClientConstant.APP_RESI);
msgDTO.setTitle(UserMessageConstant.ISSUE_TITLE);
String messageContent = "";
if (IssueConstant.ISSUE_RESLOVED.equals(formDTO.getResolveType())) {
messageContent = String.format(UserMessageConstant.ISSUE_RESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason());
} else if (IssueConstant.ISSUE_UNRESLOVED.equals(formDTO.getResolveType())) {
messageContent = String.format(UserMessageConstant.ISSUE_UNRESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason());
}
msgDTO.setMessageContent(messageContent);
msgDTO.setReadFlag(ReadFlagConstant.UN_READ);
msgDTO.setUserId(topicDTO.getCreatedBy());
msgList.add(msgDTO);
msgDTO.setUserId(entity.getCreatedBy());
msgList.add(msgDTO);
return messageFeignClient.saveUserMessageList(msgList);
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 议题管理-部门人员选择
**/
@Override
public DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO) {
//1:调用gov-org服务,分别查询组织下人员,组织下部门人员,组织下网格人员列表信息
Result<DepartmentStaffListResultDTO> resultDTOResult = govOrgFeignClient.departmentStaffList(formDTO.getAgencyId());
return resultDTOResult.getData();
}
@Override
public List<ShiftProjectListResultDTO> getShiftProjectList(ShiftProjectListFromDTO fromDTO) {
List<ShiftProjectListResultDTO> resultList = new ArrayList<>();
@ -197,21 +202,309 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
return resultList;
}
/**
* @Description 话题转为议题入口 返回生成的议题Id
* @param issueShiftedFromTopicFormDTO IssueShiftedFromTopicFormDTO.class
* @author wangc
* @date 2020.05.13 16:08
**/
@Override
@Transactional(rollbackFor = Exception.class)
public String issueShiftedToTopic(IssueShiftedFromTopicFormDTO issueShiftedFromTopicFormDTO) {
//1.新增议题
IssueDTO issueDTO = ConvertUtils.sourceToTarget(issueShiftedFromTopicFormDTO,IssueDTO.class);
issueDTO.setCreatedBy(issueShiftedFromTopicFormDTO.getUserId());
issueDTO.setSourceType(ModuleConstants.ISSUE_FROM_TOPIC);
issueDTO.setSourceId(issueShiftedFromTopicFormDTO.getTopicId());
issueDTO.setIssueStatus(ModuleConstants.ISSUE_STATUS_VOTING);
issueDTO.setDecidedTime(issueShiftedFromTopicFormDTO.getCreatedTime());
int issueAffectedRow = baseDao.insertOne(issueDTO);
if(issueAffectedRow == NumConstant.ONE && StringUtils.isNotBlank(issueDTO.getId())){
//2.新增议题流程
IssueProcessDTO issueProcessDTO = new IssueProcessDTO();
issueProcessDTO.setIssueId(issueDTO.getId());
issueProcessDTO.setIssueStatus(ModuleConstants.ISSUE_STATUS_VOTING);
issueProcessDTO.setOrgType(ModuleConstants.ISSUE_PROCESS_ORG_TYPE_GRID);
issueProcessDTO.setOrgId(issueShiftedFromTopicFormDTO.getGridId());
issueProcessDTO.setOrgName(issueShiftedFromTopicFormDTO.getOrgName());
issueProcessDTO.setCreatedBy(issueDTO.getCreatedBy());
issueProcessDTO.setCreatedTime(issueDTO.getCreatedTime());
issueProcessDTO.setOperationExplain(String.format(ModuleConstants.ISSUE_PROCESS_VOTING_OPERATION_EXPLAIN_TEMPLATE,
issueShiftedFromTopicFormDTO.getGroupName(),
issueShiftedFromTopicFormDTO.getTopicAuthor(),
issueShiftedFromTopicFormDTO.getIssueAuthor(),
issueShiftedFromTopicFormDTO.getIssueTitle()
));
int issueProcessAffectedRow = issueProcessService.insertOne(issueProcessDTO);
if(issueProcessAffectedRow != NumConstant.ONE || StringUtils.isBlank(issueProcessDTO.getId())){
logger.warn(String.format(
ModuleConstants.FAILURE_TO_ADD_ISSUE_PROCESS_LOG_TEMPLATE,issueDTO.getId()));
throw new RenException(ModuleConstants.FAILURE_TO_ADD_ISSUE_PROCESS);
}
//3.新增议题表决统计表
IssueVoteStatisticalDTO voteStatistical = new IssueVoteStatisticalDTO();
voteStatistical.setIssueId(issueDTO.getId());
//应表决数,该网格下所有的居民
voteStatistical.setVotableCount(issueShiftedFromTopicFormDTO.getVotableCount());
issueVoteStatisticalService.save(voteStatistical);
//4.该网格下表决中议题总数量+1
govIssueRedis.addWorkGrassrootsIssueRedDotValue(issueShiftedFromTopicFormDTO.getGridId());
return issueDTO.getId();
}
logger.warn(String.format(
ModuleConstants.FAILURE_TO_ADD_ISSUE_LOG_TEMPLATE,issueDTO.getId(),
issueDTO.getSourceType(),
issueDTO.getSourceId()));
throw new RenException(ModuleConstants.FAILURE_TO_ADD_ISSUE);
}
/**
* @Description 表决中列表
* @param issueListForm
* @return List<VotingIssueListResultDTO>
* @author wangc
* @date 2020.05.14 10:13
**/
@Override
public List<VotingIssueListResultDTO> votingList(CommonIssueListFormDTO issueListForm) {
issueListForm.setPageNo(null == issueListForm.getPageNo() ? NumConstant.ZERO :
(issueListForm.getPageNo() - NumConstant.ONE)*issueListForm.getPageSize()
);
return baseDao.selectVotingList(issueListForm);
}
/**
* @Description 已关闭列表
* @param issueListForm
* @return List<ClosedIssueListResultDTO>
* @author wangc
* @date 2020.05.14 10:33
**/
@Override
public List<ClosedIssueListResultDTO> closedList(CommonIssueListFormDTO issueListForm) {
issueListForm.setPageNo(null == issueListForm.getPageNo() ? NumConstant.ZERO :
(issueListForm.getPageNo() - NumConstant.ONE)*issueListForm.getPageSize()
);
return baseDao.selectClosedList(issueListForm);
}
/**
* @Description 政府端查看议题详情
* @param issueParam
* @return GovIssueDetailResultDTO
* @author wangc
* @date 2020.05.14 16:08
**/
@Override
public GovIssueDetailResultDTO issueDetailGov(IssueDetailFormDTO issueParam) {
//1.得到议题信息
IssueEntity issueDetail = selectById(issueParam.getIssueId());
//2.1如果此条议题来源自话题
if(StringUtils.equals(ModuleConstants.ISSUE_FROM_TOPIC,issueDetail.getSourceType())){
GovTopicIssueInfoFormDTO topicParam = new GovTopicIssueInfoFormDTO();
topicParam.setGridId(issueDetail.getGridId());
topicParam.setTopicId(issueDetail.getSourceId());
topicParam.setIssueCreatorId(issueDetail.getCreatedBy());
//2.2查询话题相关信息
Result<GovTopicIssueInfoResultDTO> topicResult =
resiGroupFeignClient.topicInfoForIssueDetailGov(topicParam);
if(topicResult.success() || null != topicResult.getData()){
GovTopicOfIssueInfoResultDTO topicInfo = ConvertUtils.sourceToTarget(topicResult.getData(),GovTopicOfIssueInfoResultDTO.class);
GovIssueDetailResultDTO issueInfo = ConvertUtils.sourceToTarget(topicResult.getData(),GovIssueDetailResultDTO.class);
issueInfo.setIssueStatus(issueDetail.getIssueStatus());
issueInfo.setIssueSuggestion(issueDetail.getSuggestion());
issueInfo.setIssueTitle(issueDetail.getIssueTitle());
issueInfo.setVotingDeadline(null == issueDetail.getVotingDeadline()
? NumConstant.ZERO_L : issueDetail.getVotingDeadline().getTime()/NumConstant.ONE_THOUSAND);
issueInfo.setTopicInfo(topicInfo);
//2.3查询项目Id
String projectId = issueProjectRelationService.getProjectByIssueId(issueParam.getIssueId());
issueInfo.setProjectId( StringUtils.isBlank(projectId) ? ModuleConstants.EMPTY_STR : projectId );
return issueInfo;
}
//查询话题失败异常
}
return null;
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 议题管理-关闭议题
**/
@Override
@Transactional(rollbackFor = Exception.class)
public void closeIssue(CloseIssueFormDTO formDTO) {
Date date = new Date();
//1:更新议题详情表数据
IssueEntity entity = baseDao.selectById(formDTO.getIssueId());
if (null == entity) {
throw new RenException(IssueConstant.SELECT_EXCEPTION);
}
entity.setIssueStatus(IssueConstant.ISSUE_CLOSED);
entity.setCloseReason(formDTO.getCloseReason());
entity.setResolveType(formDTO.getResolveType());
entity.setVotingDeadline(date);
entity.setClosedTime(date);
if (baseDao.updateById(entity) < NumConstant.ONE) {
throw new RenException(IssueConstant.UPPDATE_EXCEPTION);
}
//2:调用gov-org服务,查询组织网格名称
AgencyGridResultDTO agencyGridResultDTO = new AgencyGridResultDTO();
agencyGridResultDTO.setAgencyId(entity.getOrgId());
agencyGridResultDTO.setGridId(entity.getGridId());
Result<AgencyGridResultDTO> resultDTO = govOrgFeignClient.getAgencyAndGrid(agencyGridResultDTO);
agencyGridResultDTO = resultDTO.getData();
//3:议题进展记录表新增数据
IssueProcessEntity processEntity = new IssueProcessEntity();
processEntity.setIssueId(formDTO.getIssueId());
processEntity.setIssueStatus(IssueConstant.ISSUE_CLOSED);
processEntity.setOrgType(IssueConstant.ISSUE_GRID);
processEntity.setOrgId(entity.getOrgId());
processEntity.setOperationExplain(formDTO.getCloseReason());
processEntity.setOrgName(agencyGridResultDTO.getAgencyName() + "-" + agencyGridResultDTO.getGridName());
issueProcessDao.insert(processEntity);
//4:调用epmet-message服务,给居民端话题创建人和议题发起人发送消息
//4.1:调用resi-group查询话题创建人数据(目前议题来源只有来自话题)
Result<ResiTopicDTO> resultTopicDTO = resiGroupFeignClient.getTopicById(entity.getSourceId());
if (!resultTopicDTO.success() || null == resultTopicDTO.getData()) {
throw new RenException(IssueConstant.SELECT_TOPIC_EXCEPTION);
}
ResiTopicDTO topicDTO = resultTopicDTO.getData();
//4.2:创建消息模板
String messageContent = "";
if (IssueConstant.ISSUE_RESLOVED.equals(formDTO.getResolveType())) {
messageContent = String.format(UserMessageConstant.ISSUE_RESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason());
} else if (IssueConstant.ISSUE_UNRESLOVED.equals(formDTO.getResolveType())) {
messageContent = String.format(UserMessageConstant.ISSUE_UNRESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason());
}
//4.3:调用服务,发送消息
if (!saveUserMessageList(topicDTO, messageContent, entity).success()) {
throw new RenException(IssueConstant.SAVE_MSG_EXCEPTION);
}
//5:缓存中网格下表决中的议题总数减1
govIssueRedis.subtractWorkGrassrootsIssueRedDotValue(entity.getGridId());
}
/**
* @Description 关闭议题议题转项目时给话题创建人和议题发起人发送消息
* @author sun
*/
private Result saveUserMessageList(ResiTopicDTO topicDTO, String messageContent, IssueEntity entity) {
//2:分别给话题创建人、议题发起人发送消息
List<UserMessageFormDTO> msgList = new ArrayList<>();
UserMessageFormDTO msgDTO = new UserMessageFormDTO();
msgDTO.setCustomerId(entity.getCustomerId());
msgDTO.setGridId(entity.getGridId());
msgDTO.setApp(AppClientConstant.APP_RESI);
msgDTO.setTitle(UserMessageConstant.ISSUE_TITLE);
msgDTO.setMessageContent(messageContent);
msgDTO.setReadFlag(ReadFlagConstant.UN_READ);
msgDTO.setUserId(topicDTO.getCreatedBy());
msgList.add(msgDTO);
msgDTO.setUserId(entity.getCreatedBy());
msgList.add(msgDTO);
return messageFeignClient.saveUserMessageList(msgList);
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 议题管理-部门人员选择
**/
@Override
public DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO) {
//1:调用gov-org服务,分别查询组织下人员,组织下部门人员,组织下网格人员列表信息
CanTickStaffListFormDTO canTick = new CanTickStaffListFormDTO();
canTick.setAgencyId(formDTO.getAgencyId());
canTick.setType("issue");
Result<DepartmentStaffListResultDTO> resultDTOResult = govOrgFeignClient.departmentStaffList(canTick);
return resultDTOResult.getData();
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 议题管理-议题人员选择
**/
@Override
public ProcessorListResultDTO processorList(ProcessorListFormDTO formDTO) {
//1:查询当前议题工作人员所属组织Id
IssueEntity entity = baseDao.selectById(formDTO.getIssueId());
if (null == entity) {
throw new RenException(IssueConstant.SELECT_EXCEPTION);
}
//2:调用gov-org服务,查询组织树
Result<ProcessorListResultDTO> resultDTOResult = govOrgFeignClient.getProcessorList(entity.getOrgId());
return resultDTOResult.getData();
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 议题管理-议题人员选择
* @Description 议题管理-议题转项目
**/
@Override
public ProcessorListResultDTO processorList(ProcessorListFormDTO formDTO) {
//1:查询当前议题工作人员所属组织Id
@Transactional(rollbackFor = Exception.class)
public void shiftProject(ShiftProjectFormDTO formDTO) {
//因需要保证议题表中的转项目时间与创建项目时间一致 因此先新增项目数据再更新议题数据
//1:查询议题数据
IssueEntity entity = baseDao.selectById(formDTO.getIssueId());
if (null == entity) {
throw new RenException(IssueConstant.SELECT_EXCEPTION);
formDTO.setIssueDTO(ConvertUtils.sourceToTarget(entity, IssueDTO.class));
//2:调用gov-project服务,新增项目各业务表初始数据
Result<IssueProjectResultDTO> resultDTO = govProjectFeignClient.issueShiftProject(formDTO);
IssueProjectResultDTO issueProjectResultDTO = resultDTO.getData();
//3:更新议题相关业务表数据
//3.1:更新议题表数据
entity.setIssueStatus(IssueConstant.ISSUE_SHIFT_PROJECT);
entity.setShiftedTime(issueProjectResultDTO.getShiftedTime());
baseDao.updateById(entity);
//3.2:议题处理进展表新增数据
IssueProcessEntity processEntity = new IssueProcessEntity();
processEntity.setIssueId(entity.getId());
processEntity.setIssueStatus(IssueConstant.ISSUE_SHIFT_PROJECT);
processEntity.setOrgType(IssueConstant.ISSUE_GRID);
processEntity.setOrgId(entity.getGridId());
processEntity.setOrgName(issueProjectResultDTO.getOrgName());
issueProcessDao.insert(processEntity);
//3.3:议题项目关系表新增数据
IssueProjectRelationEntity relationEntity = new IssueProjectRelationEntity();
relationEntity.setIssueId(entity.getId());
relationEntity.setProjectId(issueProjectResultDTO.getProjectId());
issueProjectRelationDao.insert(relationEntity);
//4:调用epmet-message服务,给居民端话题创建人和议题发起人发送消息
//4.1:调用resi-group查询话题创建人数据(目前议题来源只有来自话题)
Result<ResiTopicDTO> resultTopicDTO = resiGroupFeignClient.getTopicById(entity.getSourceId());
if (!resultTopicDTO.success() || null == resultTopicDTO.getData()) {
throw new RenException(IssueConstant.SELECT_TOPIC_EXCEPTION);
}
//2:调用gov-org服务,查询组织树
Result<ProcessorListResultDTO> resultDTOResult = govOrgFeignClient.getProcessorList(entity.getOrgId());
return resultDTOResult.getData();
ResiTopicDTO topicDTO = resultTopicDTO.getData();
//4.2:创建消息模板
String messageContent = String.format(UserMessageConstant.ISSUE_SHIFT_PROJECT_MSG, topicDTO.getTopicContent(), issueProjectResultDTO.getOrgName());
//4.3:调用服务,发送消息
if (!saveUserMessageList(topicDTO, messageContent, entity).success()) {
throw new RenException(IssueConstant.SAVE_MSG_EXCEPTION);
}
//5:缓存中网格下表决中的议题总数减1
govIssueRedis.subtractWorkGrassrootsIssueRedDotValue(entity.getGridId());
}
}

23
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java

@ -20,6 +20,7 @@ package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
@ -27,7 +28,9 @@ import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.IssueVoteDetailDao;
import com.epmet.dto.IssueVoteDetailDTO;
import com.epmet.dto.form.CheckVoteFormDTO;
import com.epmet.dto.form.VoteFormDTO;
import com.epmet.dto.result.JoinVoteResultDTO;
import com.epmet.entity.IssueVoteDetailEntity;
import com.epmet.redis.IssueVoteDetailRedis;
import com.epmet.service.IssueVoteDetailService;
@ -123,4 +126,24 @@ public class IssueVoteDetailServiceImpl extends BaseServiceImpl<IssueVoteDetailD
}
}
/**
* @Description 校验是否投票
* @param checkVoteFormDTO
* @author zxc
*/
@Override
public JoinVoteResultDTO joinVote(CheckVoteFormDTO checkVoteFormDTO) {
JoinVoteResultDTO resultDTO = new JoinVoteResultDTO();
VoteFormDTO formDTO = new VoteFormDTO();
formDTO.setIssueId(checkVoteFormDTO.getIssueId());
formDTO.setCreatedBy(checkVoteFormDTO.getUserId());
Integer checkoutVoteCount = baseDao.checkoutVote(formDTO);
if (checkoutVoteCount > NumConstant.ZERO){
resultDTO.setJoinVote(true);
}else {
resultDTO.setJoinVote(false);
}
return resultDTO;
}
}

5
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java

@ -132,12 +132,13 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
public VoteResultDTO voteCount(TokenDto tokenDto,IssueIdFormDTO issueId) {
VoteResultDTO voteResultDTO = issueVoteStatisticalDao.voteCount(issueId);
//校验是否已经投票
Integer voteStatus = issueVoteStatisticalDao.checkVote(issueId.getIssueId(), tokenDto.getUserId());
String voteStatus = issueVoteStatisticalDao.checkVote(issueId.getIssueId(), tokenDto.getUserId());
if (voteResultDTO!=null){
if (voteStatus==0){
if (StringUtils.isBlank(voteStatus)){
voteResultDTO.setVoteFlag(false);
}else {
voteResultDTO.setVoteFlag(true);
voteResultDTO.setVoteType(voteStatus);
}
}
return voteResultDTO;

72
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/utils/ModuleConstants.java

@ -0,0 +1,72 @@
package com.epmet.utils;
/**
* @Author wangc
* @CreateTime 2020/5/11 9:46
*/
public interface ModuleConstants {
/**
* 议题状态表决中
* */
String ISSUE_STATUS_VOTING = "voting";
/**
* 议题状态已转项目
* */
String ISSUE_STATUS_SHIFT_PROJECT = "shift_project";
/**
* 议题状态已关闭
* */
String ISSUE_STATUS_CLOSED = "closed";
/**
* 议题来源居民段话题
* */
String ISSUE_FROM_TOPIC = "resi_topic";
/**
* 议题进展-当前操作组织类型-机构 不要与数据权限混淆
* */
String ISSUE_PROCESS_ORG_TYPE_AGENCY = "agency";
/**
* 议题进展-当前操作组织类型-部门 不要与数据权限混淆
* */
String ISSUE_PROCESS_ORG_TYPE_DEPT = "dept";
/**
* 议题进展-当前操作组织类型-网格 不要与数据权限混淆
* */
String ISSUE_PROCESS_ORG_TYPE_GRID = "grid";
/**
* 话题转议题流程的操作文案模板
* */
String ISSUE_PROCESS_VOTING_OPERATION_EXPLAIN_TEMPLATE = "【%s】%s发表的话题被组长%s转为议题:【%s】";
/**
* 新增议题流程记录失败日志模板
* */
String FAILURE_TO_ADD_ISSUE_PROCESS_LOG_TEMPLATE = "新增议题流程记录失败,议题Id:【%s】";
/**
* 新增议题记录失败日志模板
* */
String FAILURE_TO_ADD_ISSUE_LOG_TEMPLATE = "新增议题记录失败,议题来源:【%s】,议题来源Id:【%s】";
/**
* 新增议题流程记录失败日志模板
* */
String FAILURE_TO_ADD_ISSUE_PROCESS = "新增议题流程记录失败】";
/**
* 新增议题记录失败日志模板
* */
String FAILURE_TO_ADD_ISSUE = "新增议题记录失败,议题来源";
String EMPTY_STR = "";
}

8
epmet-module/gov-issue/gov-issue-server/src/main/resources/db.migration/epmet_gov_issue.sql

@ -37,10 +37,10 @@ CREATE TABLE `issue` (
`GRID_ID` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网格ID 居民端议题对应一个网格Id',
`ORG_ID_PATH` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '所属机关 【数据权限-非必填】11:22:33(agencyId)数据权限控制',
`ORG_ID` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '组织ID 【数据权限-非必填】agencyId',
`VOTING_DEADLINE` date DEFAULT NULL COMMENT '表决截止日期',
`DECIDED_TIME` date NOT NULL COMMENT '表决发起日期(转议题日期)',
`SHIFTED_TIME` date DEFAULT NULL COMMENT '转项目日期 (服务间调用日期一致性)',
`CLOSED_TIME` date DEFAULT NULL COMMENT '关闭日期',
`VOTING_DEADLINE` datetime(0) DEFAULT NULL COMMENT '表决截止日期',
`DECIDED_TIME` datetime(0) NOT NULL COMMENT '表决发起日期(转议题日期)',
`SHIFTED_TIME` datetime(0) DEFAULT NULL COMMENT '转项目日期 (服务间调用日期一致性)',
`CLOSED_TIME` datetime(0) DEFAULT NULL COMMENT '关闭日期',
`DEL_FLAG` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '删除标识 0未删除、1已删除',
`REVISION` int(11) NOT NULL DEFAULT 0 COMMENT '乐观锁',
`CREATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人',

172
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml

@ -55,4 +55,176 @@
AND ISSUE_STATUS = 'shift_project'
</select>
<!-- 新增议题 -->
<insert id="insertOne" useGeneratedKeys="true" keyColumn="id" keyProperty="id" parameterType="com.epmet.dto.IssueDTO">
<selectKey keyProperty="id" resultType="java.lang.String" order="BEFORE">
SELECT replace(uuid(),'-','') AS ID
</selectKey>
INSERT INTO issue
<trim prefix="(" suffix=")" suffixOverrides=",">
id,
<if test ='null != issueStatus'>
issue_status,
</if>
<if test ='null != sourceType'>
source_type,
</if>
<if test ='null != sourceId'>
source_id,
</if>
<if test ='null != closeReason'>
close_reason,
</if>
<if test ='null != resolveType'>
resolve_type,
</if>
<if test ='null != issueTitle'>
issue_title,
</if>
<if test ='null != suggestion'>
suggestion,
</if>
<if test ='null != customerId'>
customer_id,
</if>
<if test ='null != gridId'>
grid_id,
</if>
<if test ='null != orgIdPath'>
org_id_path,
</if>
<if test ='null != orgId'>
org_id,
</if>
<if test ='null != votingDeadline'>
voting_deadline,
</if>
<if test ='null != decidedTime'>
decided_time,
</if>
<if test ='null != shiftedTime'>
shifted_time,
</if>
<if test ='null != closedTime'>
closed_time,
</if>
<if test ='null != createdBy'>
created_by,
</if>
<if test ='null != createdTime'>
created_time,
</if>
<if test ='null != createdBy'>
updated_by,
</if>
<if test ='null != createdTime'>
updated_time,
</if>
del_flag,
revision
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
#{id},
<if test ='null != issueStatus'>
#{issueStatus},
</if>
<if test ='null != sourceType'>
#{sourceType},
</if>
<if test ='null != sourceId'>
#{sourceId},
</if>
<if test ='null != closeReason'>
#{closeReason},
</if>
<if test ='null != resolveType'>
#{resolveType},
</if>
<if test ='null != issueTitle'>
#{issueTitle},
</if>
<if test ='null != suggestion'>
#{suggestion},
</if>
<if test ='null != customerId'>
#{customerId},
</if>
<if test ='null != gridId'>
#{gridId},
</if>
<if test ='null != orgIdPath'>
#{orgIdPath},
</if>
<if test ='null != orgId'>
#{orgId},
</if>
<if test ='null != votingDeadline'>
#{votingDeadline},
</if>
<if test ='null != decidedTime'>
#{decidedTime},
</if>
<if test ='null != shiftedTime'>
#{shiftedTime},
</if>
<if test ='null != closedTime'>
#{closedTime},
</if>
<if test ='null != createdBy'>
#{createdBy},
</if>
<if test ='null != createdTime'>
#{createdTime},
</if>
<if test ='null != createdBy'>
#{createdBy},
</if>
<if test ='null != createdTime'>
#{createdTime},
</if>
'0',
0
</trim>
</insert>
<!-- 查询表决中议题列表 -->
<select id="selectVotingList" parameterType="com.epmet.dto.form.CommonIssueListFormDTO" resultType="com.epmet.dto.result.VotingIssueListResultDTO">
SELECT
ID AS issueId,
IFNULL(ISSUE_TITLE,'') AS issueTitle,
IFNULL(SUGGESTION,'')AS suggestion,
UNIX_TIMESTAMP( created_time ) AS issuePublishTime
FROM
issue
WHERE
DEL_FLAG = '0'
AND GRID_ID = #{gridId}
AND ISSUE_STATUS = 'voting'
ORDER BY
created_time DESC
LIMIT #{pageNo},
#{pageSize}
</select>
<!-- 查询已关闭议题列表 -->
<select id="selectClosedList" parameterType="com.epmet.dto.form.CommonIssueListFormDTO" resultType="com.epmet.dto.result.ClosedIssueListResultDTO">
SELECT
ID AS issueId,
IFNULL(ISSUE_TITLE,''),
IFNULL(CLOSE_REASON,'') AS solution,
UNIX_TIMESTAMP( created_time ) AS issueClosedTime
FROM
issue
WHERE
DEL_FLAG = '0'
AND GRID_ID = #{gridId}
AND ISSUE_STATUS = 'closed'
ORDER BY
created_time DESC
LIMIT #{pageNo},
#{pageSize}
</select>
</mapper>

113
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProcessDao.xml

@ -19,5 +19,118 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<!-- 新增议题流程 议题发声状态变更,都要新增一条流程记录 -->
<insert id="insertOne" useGeneratedKeys="true" keyColumn="id" keyProperty="id" parameterType="com.epmet.dto.IssueProcessDTO">
<selectKey keyProperty="id" resultType="java.lang.String" order="BEFORE">
SELECT replace(uuid(),'-','') AS ID
</selectKey>
INSERT INTO issue_process
<trim prefix="(" suffix=")" suffixOverrides=",">
id,
<if test ='null != issueId'>
issue_id,
</if>
<if test ='null != issueStatus'>
issue_status,
</if>
<if test ='null != orgType'>
org_type,
</if>
<if test ='null != orgId'>
org_id,
</if>
<if test ='null != operationExplain'>
operation_explain,
</if>
<if test ='null != createdBy'>
created_by,
</if>
<if test ='null != createdTime'>
created_time,
</if>
<if test ='null != createdBy'>
updated_by,
</if>
<if test ='null != createdTime'>
updated_time,
</if>
<if test ='null != orgName'>
org_name,
</if>
del_flag,
revision
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
#{id},
<if test ='null != issueId'>
#{issueId},
</if>
<if test ='null != issueStatus'>
#{issueStatus},
</if>
<if test ='null != orgType'>
#{orgType},
</if>
<if test ='null != orgId'>
#{orgId},
</if>
<if test ='null != operationExplain'>
#{operationExplain},
</if>
<if test ='null != createdBy'>
#{createdBy},
</if>
<if test ='null != createdTime'>
#{createdTime},
</if>
<if test ='null != createdBy'>
#{createdBy},
</if>
<if test ='null != createdTime'>
#{createdTime},
</if>
<if test ='null != orgName'>
#{orgName},
</if>
'0',
0
</trim>
</insert>
<!-- 议题处理进展——已关闭 -->
<select id="issueProcess" parameterType="com.epmet.dto.form.IssueIdFormDTO" resultType="com.epmet.dto.result.IssueProcessResultDTO">
SELECT
CASE
WHEN issue_status = 'voting' THEN "转议题"
WHEN issue_status = 'closed' THEN "已关闭"
WHEN issue_status = 'shift_project' THEN "已转项目"
END AS processName,
UNIX_TIMESTAMP( created_time ) AS processTime,
operation_explain AS progressDesc,
id AS processId,
org_id AS gridId
FROM
issue_process
WHERE
issue_id = #{issueId}
AND del_flag = 0
ORDER BY created_time DESC
</select>
<select id="issueBeginInfo" parameterType="com.epmet.dto.form.IssueIdFormDTO" resultType="com.epmet.dto.result.IssueProcessResultDTO">
SELECT
'转议题' AS processName,
UNIX_TIMESTAMP( created_time ) AS processTime,
operation_explain AS progressDesc,
id AS processId,
org_id AS gridId
FROM
issue_process
WHERE
issue_id = #{issueId}
AND issue_status = 'voting'
AND del_flag = 0
</select>
</mapper>

11
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectRelationDao.xml

@ -15,5 +15,16 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<!-- 通过issueId得到项目Id -->
<select id="selectProjectIdByIssueId" resultType="string">
SELECT
PROJECT_ID
FROM
issue_project_relation
WHERE
DEL_FLAG = '0'
AND
ISSUE_ID = #{issueId}
</select>
</mapper>

4
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml

@ -30,9 +30,9 @@
</select>
<!-- 校验是否投票(表决中详情——支持、反对) -->
<select id="checkVote" resultType="integer">
<select id="checkVote" resultType="java.lang.String">
SELECT
COUNT(*) AS voteStatus
attitude AS voteType
FROM
issue_vote_detail
WHERE

2
epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-mine-server:
container_name: gov-mine-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/gov-mine-server:0.3.12
image: 192.168.1.130:10080/epmet-cloud-dev/gov-mine-server:0.3.14
ports:
- "8098:8098"
network_mode: host # 使用现有网络

2
epmet-module/gov-mine/gov-mine-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<version>0.3.12</version>
<version>0.3.14</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>gov-mine</artifactId>

6
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java

@ -2,6 +2,7 @@ package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.result.GridProcessingCountResultDTO;
import com.epmet.feign.fallback.GovIssueFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
@ -15,7 +16,8 @@ import java.util.List;
* @Author yinzuomei
* @Date 2020/5/13 15:45
*/
@FeignClient(name = ServiceConstant.GOV_ISSUE_SERVER, fallback = GovIssueFeignClientFallBack.class)
//
@FeignClient(name = ServiceConstant.GOV_ISSUE_SERVER, fallback = GovIssueFeignClientFallBack.class,url = "http://localhost:")
public interface GovIssueFeignClient {
/**
* @param gridIdList
@ -25,5 +27,5 @@ public interface GovIssueFeignClient {
* @Date 2020/5/13 15:47
**/
@PostMapping(value = "/gov/issue/issue/queryvotingissuecount",consumes = MediaType.APPLICATION_JSON_VALUE)
Result queryVotingIssueCount(@RequestBody List<String> gridIdList);
Result<List<GridProcessingCountResultDTO>> queryVotingIssueCount(@RequestBody List<String> gridIdList);
}

2
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java

@ -35,7 +35,7 @@ public interface ResiPartymemberFeignClient {
* @Description 查询网格下待审核的党员数
* @Date 2020/5/13 15:41
**/
@PostMapping(value = "/resi/partymember/partymemberbaseinfo/getworkgrassrootspartyauth",consumes = MediaType.APPLICATION_JSON_VALUE)
@PostMapping(value = "/resi/partymember/partymemberinfo/getworkgrassrootspartyauth",consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<GridProcessingCountResultDTO>> queryPartyMemberProcessingCount(@RequestBody List<String> gridIdList);
}

3
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java

@ -3,6 +3,7 @@ package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.result.GridProcessingCountResultDTO;
import com.epmet.feign.GovIssueFeignClient;
import org.springframework.stereotype.Component;
@ -16,7 +17,7 @@ import java.util.List;
@Component
public class GovIssueFeignClientFallBack implements GovIssueFeignClient {
@Override
public Result queryVotingIssueCount(List<String> gridIdList) {
public Result<List<GridProcessingCountResultDTO>> queryVotingIssueCount(List<String> gridIdList) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "queryVotingIssueCount", gridIdList);
}
}

16
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java

@ -112,7 +112,9 @@ public class StaffAgencyServiceImpl implements StaffAgencyService {
private boolean checkIssueProcessing(String gridId, List<GridProcessingCountResultDTO> issueProcessingList) {
boolean flag = false;
for (GridProcessingCountResultDTO gridProcessingCountResultDTO : issueProcessingList) {
if (gridId.equals(gridProcessingCountResultDTO.getGridId()) && gridProcessingCountResultDTO.getCount() > 0) {
if (gridId.equals(gridProcessingCountResultDTO.getGridId())
&& null!=gridProcessingCountResultDTO.getCount()
&& gridProcessingCountResultDTO.getCount() > 0) {
flag = true;
break;
}
@ -123,7 +125,9 @@ public class StaffAgencyServiceImpl implements StaffAgencyService {
private boolean checkPartyMemberProcessing(String gridId, List<GridProcessingCountResultDTO> partyMemberProcessingList) {
boolean flag = false;
for (GridProcessingCountResultDTO gridProcessingCountResultDTO : partyMemberProcessingList) {
if (gridId.equals(gridProcessingCountResultDTO.getGridId()) && gridProcessingCountResultDTO.getCount() > 0) {
if (gridId.equals(gridProcessingCountResultDTO.getGridId())
&& null != gridProcessingCountResultDTO.getCount()
&& gridProcessingCountResultDTO.getCount() > 0) {
flag = true;
break;
}
@ -134,7 +138,9 @@ public class StaffAgencyServiceImpl implements StaffAgencyService {
private boolean checkResiProcessing(String gridId, List<GridProcessingCountResultDTO> resiProcessingList) {
boolean flag = false;
for (GridProcessingCountResultDTO gridProcessingCountResultDTO : resiProcessingList) {
if (gridId.equals(gridProcessingCountResultDTO.getGridId()) && gridProcessingCountResultDTO.getCount() > 0) {
if (gridId.equals(gridProcessingCountResultDTO.getGridId())
&& null!=gridProcessingCountResultDTO.getCount()
&& gridProcessingCountResultDTO.getCount() > 0) {
flag = true;
break;
}
@ -145,7 +151,9 @@ public class StaffAgencyServiceImpl implements StaffAgencyService {
private boolean checkGroupProcessing(String gridId, List<GridProcessingCountResultDTO> groupProcessingList) {
boolean flag = false;
for (GridProcessingCountResultDTO gridProcessingCountResultDTO : groupProcessingList) {
if (gridId.equals(gridProcessingCountResultDTO.getGridId()) && gridProcessingCountResultDTO.getCount() > 0) {
if (gridId.equals(gridProcessingCountResultDTO.getGridId())
&& null!=gridProcessingCountResultDTO.getCount()
&& gridProcessingCountResultDTO.getCount() > 0) {
flag = true;
break;
}

41
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CommonDataFilterResultDTO.java

@ -0,0 +1,41 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 数据权限信息
* @ClassName CommonDataFilterResultDTO
* @Auth wangc
* @Date 2020-05-13 10:49
*/
@Data
public class CommonDataFilterResultDTO implements Serializable {
private static final long serialVersionUID = 4574851766448601457L;
/**
* 所属机构Id全路径 agencyId
* */
private String orgIdPath;
/**
* 当前组织所属机关Id
* */
private String agencyId;
/**
* 当前组织名称 eg:agencyName | agencyName-deptName | agencyName-gridName
* */
private String orgName;
/**
* 当前组织的类型 agency | grid | dept
* */
private String orgType;
/**
* 当前组织Id
* */
private String orgId;
}

8
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffListResultDTO.java

@ -15,15 +15,15 @@ public class StaffListResultDTO implements Serializable {
/**
* 人员Id
*/
private String staffId;
private String staffId="";
/**
* 人员名称
*/
private String staffName;
private String staffName="";
/**
* 人员头像
*/
private String staffHeadPhoto;
private String staffHeadPhoto="";
/**
* 性别
*/
@ -31,6 +31,6 @@ public class StaffListResultDTO implements Serializable {
/**
* 角色名称(机关领导部门领导网格长)
*/
private String roleName;
private String roleName="";
}

2
epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-org-server:
container_name: gov-org-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/gov-org-server:0.3.35
image: 192.168.1.130:10080/epmet-cloud-dev/gov-org-server:0.3.36
ports:
- "8092:8092"
network_mode: host # 使用现有网络

2
epmet-module/gov-org/gov-org-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.35</version>
<version>0.3.36</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>gov-org</artifactId>

11
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java

@ -17,9 +17,7 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
@ -29,6 +27,7 @@ import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.form.AgencyDeptGridFormDTO;
import com.epmet.dto.form.CanTickStaffListFormDTO;
import com.epmet.dto.form.StaffOrgFormDTO;
import com.epmet.dto.result.*;
import com.epmet.excel.CustomerAgencyExcel;
@ -120,14 +119,14 @@ public class CustomerAgencyController {
}
/**
* @param agencyId
* @param canTick
* @return
* @Author sun
* @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息
**/
@PostMapping("departmentstafflist/{agencyId}")
public Result<DepartmentStaffListResultDTO> departmentStaffList(@PathVariable("agencyId") String agencyId) {
return new Result<DepartmentStaffListResultDTO>().ok(customerAgencyService.departmentStaffList(agencyId));
@PostMapping("departmentstafflist")
public Result<DepartmentStaffListResultDTO> departmentStaffList(CanTickStaffListFormDTO canTick) {
return new Result<DepartmentStaffListResultDTO>().ok(customerAgencyService.departmentStaffList(canTick));
}
/**

18
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java

@ -26,11 +26,8 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.form.BelongGridNameFormDTO;
import com.epmet.dto.form.SelectGridNameByGridIdFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.ListCustomerGridFormDTO;
import com.epmet.excel.CustomerGridExcel;
import com.epmet.service.CustomerGridService;
import org.springframework.beans.factory.annotation.Autowired;
@ -194,4 +191,17 @@ public class CustomerGridController {
return new Result<BelongGridNameResultDTO>().ok(customerGridService.getGridNameByGridId(formDTO));
}
/**
* @Description 得到网格的数据权限信息 开放给各个服务使用
* @param gridForm
* @return Result<CommonDataFilterResultDTO>
* @author wangc
* @date 2020.05.13 11:14
**/
@PostMapping("griddatafilter")
public Result<CommonDataFilterResultDTO> gridDataFilter(@RequestBody CommonGridIdFormDTO gridForm){
ValidatorUtils.validateEntity(gridForm);
return new Result<CommonDataFilterResultDTO>().ok(customerGridService.getGridDataFilterMsg(gridForm));
}
}

8
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java

@ -176,4 +176,12 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
* @Description 批量查询网格信息
**/
List<CustomerGridDTO> selectGridListByIds(@Param("gridIdList") List<String> gridIdList);
/**
* @Description 通过网格Id获取网格所需要的数据权限信息
* @param gridId
* @author wangc
* @date 2020.05.13 11:01
**/
CommonDataFilterResultDTO getGridDataFilterMsg(@Param("gridId")String gridId);
}

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java

@ -74,5 +74,5 @@ public interface CustomerStaffAgencyDao extends BaseDao<CustomerStaffAgencyEntit
* 查询组织下人员列表
* @Author sun
*/
List<StaffListResultDTO> selectAgencyStaffList(@Param("agencyId") String agencyId);
List<StaffListResultDTO> selectAgencyStaffList(@Param("agencyId") String agencyId, @Param("staffId") String staffId);
}

5
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java

@ -22,6 +22,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.form.AgencyDeptGridFormDTO;
import com.epmet.dto.form.CanTickStaffListFormDTO;
import com.epmet.dto.form.StaffOrgFormDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerAgencyEntity;
@ -115,12 +116,12 @@ public interface CustomerAgencyService extends BaseService<CustomerAgencyEntity>
AgencyGridResultDTO getAgencyAndGrid(AgencyGridResultDTO agencyGridResultDTO);
/**
* @param agencyId
* @param canTick
* @return
* @Author sun
* @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息
**/
DepartmentStaffListResultDTO departmentStaffList(String agencyId);
DepartmentStaffListResultDTO departmentStaffList(CanTickStaffListFormDTO canTick);
/**
* @param formDTO

7
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java

@ -236,4 +236,11 @@ public interface CustomerGridService extends BaseService<CustomerGridEntity> {
*/
BelongGridNameResultDTO getGridNameByGridId(BelongGridNameFormDTO formDTO);
/**
* @Description 通过网格Id获取网格所需要的数据权限信息
* @param gridIdFormDTO
* @author wangc
* @date 2020.05.13 11:01
**/
CommonDataFilterResultDTO getGridDataFilterMsg(CommonGridIdFormDTO gridIdFormDTO);
}

68
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java

@ -31,6 +31,7 @@ import com.epmet.constant.CustomerGridConstant;
import com.epmet.dao.*;
import com.epmet.dto.*;
import com.epmet.dto.form.AgencyDeptGridFormDTO;
import com.epmet.dto.form.CanTickStaffListFormDTO;
import com.epmet.dto.form.CustomerFormDTO;
import com.epmet.dto.form.StaffOrgFormDTO;
import com.epmet.dto.result.*;
@ -178,20 +179,24 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
}
/**
* @param agencyId
* @param canTick
* @return
* @Author sun
* @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息
**/
@Override
public DepartmentStaffListResultDTO departmentStaffList(String agencyId) {
public DepartmentStaffListResultDTO departmentStaffList(CanTickStaffListFormDTO canTick) {
//根据组织Id查询该组织的工作人员列表;该组织的部门列表、部门下人员(带部门领导角色)列表;该组织的网格列表、网格下人员(带网格长角色)列表。人员都不做去重处理。
DepartmentStaffListResultDTO resultDTO = new DepartmentStaffListResultDTO();
//1:根据组织Id查询该组织下工作人员列表
List<StaffListResultDTO> agencyStaffList = customerStaffAgencyDao.selectAgencyStaffList(agencyId);
//1:根据组织Id查询该组织下工作人员列表(如果当前操作人是组织下的则不查询)
String staffId = "";
if("project".equals(canTick.getType())&&"".equals(canTick.getDeptOrGridId())){
staffId = canTick.getStaffId();
}
List<StaffListResultDTO> agencyStaffList = customerStaffAgencyDao.selectAgencyStaffList(canTick.getAgencyId(),staffId);
//2:根据组织Id查询该组织下部门、人员列表
//2.1:查询组织下部门列表
List<DepartmentListResultDTO> listDept = customerDepartmentDao.selectDepartmentList(agencyId);
List<DepartmentListResultDTO> listDept = customerDepartmentDao.selectDepartmentList(canTick.getAgencyId());
List<DeptListResultDTO> departmentList = ConvertUtils.sourceToTarget(listDept, DeptListResultDTO.class);
//2.2:查询每一个部门下人员列表
List<String> deptIdList = departmentList.stream().map(DeptListResultDTO::getDepartmentId).collect(Collectors.toList());
@ -199,17 +204,19 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
departmentList.forEach(dept->{
List<StaffListResultDTO> departmentStaffList = new ArrayList<>();
deptStaffs.forEach(ds->{
if(dept.getDepartmentId().equals(ds.getDepartmentId())){
StaffListResultDTO sf = new StaffListResultDTO();
sf.setStaffId(ds.getUserId());
departmentStaffList.add(sf);
if (dept.getDepartmentId().equals(ds.getDepartmentId())) {
if (!"project".equals(canTick.getType()) || "".equals(canTick.getDeptOrGridId()) || !dept.getDepartmentId().equals(canTick.getDeptOrGridId())) {
StaffListResultDTO sf = new StaffListResultDTO();
sf.setStaffId(ds.getUserId());
departmentStaffList.add(sf);
}
}
});
dept.setDepartmentStaffList(departmentStaffList);
});
//3:根据组织Id查询该组织下网格、人员列表
//3.1:查询组织下网格列表
List<GridListResultDTO> gridList = customerGridDao.selectGridList(agencyId);
List<GridListResultDTO> gridList = customerGridDao.selectGridList(canTick.getAgencyId());
//3.2:查询每一个网格下人员列表
List<String> gridIdList = gridList.stream().map(GridListResultDTO::getGridId).collect(Collectors.toList());
List<CustomerStaffGridDTO> gridStaffs = customerStaffGridDao.selectGridStaffs(gridIdList);
@ -217,9 +224,11 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
List<StaffListResultDTO> gridStaffList = new ArrayList<>();
gridStaffs.forEach(gs->{
if(grid.getGridId().equals(gs.getGridId())){
StaffListResultDTO sf = new StaffListResultDTO();
sf.setStaffId(gs.getUserId());
gridStaffList.add(sf);
if (!"project".equals(canTick.getType()) || "".equals(canTick.getDeptOrGridId()) || !grid.getGridId().equals(canTick.getDeptOrGridId())) {
StaffListResultDTO sf = new StaffListResultDTO();
sf.setStaffId(gs.getUserId());
gridStaffList.add(sf);
}
}
});
grid.setGridStaffList(gridStaffList);
@ -242,7 +251,10 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
//人员信息
for(StaffListResultDTO stf : staffList){
if(sf.getStaffId().equals(stf.getStaffId())){
sf = ConvertUtils.sourceToTarget(stf, StaffListResultDTO.class);
//sf = ConvertUtils.sourceToTarget(stf, StaffListResultDTO.class);
sf.setStaffName(stf.getStaffName());
sf.setStaffHeadPhoto(stf.getStaffHeadPhoto());
sf.setGender(stf.getGender());
break;
}
}
@ -261,7 +273,10 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
//人员信息
for(StaffListResultDTO stf : staffList){
if(ds.getStaffId().equals(stf.getStaffId())){
ds = ConvertUtils.sourceToTarget(stf, StaffListResultDTO.class);
//ds = ConvertUtils.sourceToTarget(stf, StaffListResultDTO.class);
ds.setStaffName(stf.getStaffName());
ds.setStaffHeadPhoto(stf.getStaffHeadPhoto());
ds.setGender(stf.getGender());
break;
}
}
@ -281,7 +296,10 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
//人员信息
for(StaffListResultDTO stf : staffList){
if(gs.getStaffId().equals(stf.getStaffId())){
gs = ConvertUtils.sourceToTarget(stf, StaffListResultDTO.class);
//gs = ConvertUtils.sourceToTarget(stf, StaffListResultDTO.class);
gs.setStaffName(stf.getStaffName());
gs.setStaffHeadPhoto(stf.getStaffHeadPhoto());
gs.setGender(stf.getGender());
break;
}
}
@ -310,11 +328,20 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
public AgencyDeptGridResultDTO getAgencyDeptGridList(AgencyDeptGridFormDTO formDTO) {
AgencyDeptGridResultDTO agencyDeptGrid = new AgencyDeptGridResultDTO();
//1:跟踪组织Id批量查询组织信息
List<CustomerAgencyDTO> agencyList = baseDao.selectAgencyListByIds(formDTO.getAgencyIdList());
List<CustomerAgencyDTO> agencyList = new ArrayList<>();
if (null != formDTO.getAgencyIdList()) {
agencyList = baseDao.selectAgencyListByIds(formDTO.getAgencyIdList());
}
//2:根据部门Id批量查询部门信息
List<CustomerDepartmentDTO> deptList = customerDepartmentDao.selectDeptListByIds(formDTO.getDeptIdList());
List<CustomerDepartmentDTO> deptList = new ArrayList<>();
if (null != formDTO.getDeptIdList()) {
deptList = customerDepartmentDao.selectDeptListByIds(formDTO.getDeptIdList());
}
//3:根据网格Id批量查询网格信息
List<CustomerGridDTO> gridList = customerGridDao.selectGridListByIds(formDTO.getGridIdList());
List<CustomerGridDTO> gridList = new ArrayList<>();
if (null != formDTO.getGridIdList()) {
gridList = customerGridDao.selectGridListByIds(formDTO.getGridIdList());
}
agencyDeptGrid.setAgencyList(agencyList);
agencyDeptGrid.setDeptList(deptList);
agencyDeptGrid.setGridList(gridList);
@ -369,7 +396,8 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
/**
* @param subAgencyPids 当前组织的下一级组织的pids字段值(当前组织的pids+":"+当前组织Id)
* @return
* @Author 迭代查询当前组织的所有下级组织树结构数据
* @Author
* @Description 迭代查询当前组织的所有下级组织树结构数据
*/
private List<AgencySubResultDTO> getDepartmentList(String subAgencyPids) {
List<AgencySubResultDTO> subAgencyList = baseDao.selectSubAgencyList(subAgencyPids);

16
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java

@ -27,6 +27,7 @@ import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.CustomerGridConstant;
import com.epmet.dao.CustomerAgencyDao;
@ -547,4 +548,19 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
public BelongGridNameResultDTO getGridNameByGridId(BelongGridNameFormDTO formDTO) {
return baseDao.getGridNameByGridId(formDTO);
}
/**
* @Description 通过网格Id获取网格所需要的数据权限信息
* @param gridIdFormDTO
* @author wangc
* @date 2020.05.13 11:01
**/
@Override
public CommonDataFilterResultDTO getGridDataFilterMsg(CommonGridIdFormDTO gridIdFormDTO) {
CommonDataFilterResultDTO dataFilterMsg = baseDao.getGridDataFilterMsg(gridIdFormDTO.getGridId());
if(null != dataFilterMsg){
dataFilterMsg.setOrgType(ModuleConstant.ORG_TYPE_GRID);
}
return dataFilterMsg;
}
}

15
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/util/ModuleConstant.java

@ -56,4 +56,19 @@ public interface ModuleConstant {
* 没有可添加的人员
* */
String NO_APPROPRIATE_STAFF_TO_ADD = "没有可添加的人员(可能原因:选中人员已在网格内),终止操作。";
/**
* 组织类型机关
* */
String ORG_TYPE_AGENCY = "agency";
/**
* 组织类型部门
* */
String ORG_TYPE_DEPT = "dept";
/**
* 组织类型网格
* */
String ORG_TYPE_GRID = "grid";
}

3
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml

@ -119,10 +119,11 @@
ca.id = #{agencyId}
</foreach>
ORDER BY field(
ca.id,
ca.id,
<foreach item="agencyId" collection="agencyIdList" separator=",">
#{agencyId}
</foreach>
)
</select>
<select id="selectSubAgencyList" resultType="com.epmet.dto.result.AgencySubResultDTO">

15
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml

@ -306,4 +306,19 @@
</foreach>
</select>
<!-- 通过网格Id获取网格所需要的数据权限信息 -->
<select id="getGridDataFilterMsg" resultType="com.epmet.dto.result.CommonDataFilterResultDTO">
SELECT
IFNULL(grid.PID,'') AS agencyId,
IFNULL(grid.PIDS,'') AS orgIdPath,
IFNULL(grid.ID,'') AS orgId,
IFNULL(CONCAT( agency.ORGANIZATION_NAME, '-', grid.GRID_NAME ),'') AS orgName
FROM
CUSTOMER_GRID grid
INNER JOIN CUSTOMER_AGENCY agency ON grid.PID = agency.ID
WHERE
grid.DEL_FLAG = '0'
AND agency.DEL_FLAG = '0'
AND grid.ID = #{gridId}
</select>
</mapper>

7
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml

@ -96,13 +96,16 @@
</select>
<select id="selectAgencyStaffList" resultType="com.epmet.dto.result.StaffListResultDTO">
SELECT
SELECT
user_id AS "staffId"
FROM
customer_staff_agency
WHERE
del_flag = '0'
AND agency_id =#{agencyId}
AND agency_id =#{agencyId}
<if test="staffId != null and staffId.trim() != ''">
AND user_id != #{staffId}
</if>
</select>
</mapper>

28
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java

@ -0,0 +1,28 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 项目跟踪-部门人员选择-接口入参
* @Author sun
*/
@Data
public class DepartmentStaffListFormDTO implements Serializable {
private static final long serialVersionUID = 4859779755214502427L;
@NotBlank(message = "机关组织Id不能为空")
private String agencyId;
@NotBlank(message = "项目人员关联Id不能为空")
private String projectStaffId;
/**
* token中工作人员Id
*/
private String staffId;
}

20
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProcessProjectIdFormDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* 处理进展已转项目
*/
@Data
public class ProcessProjectIdFormDTO implements Serializable {
private static final long serialVersionUID = 2185544562374036005L;
/**
* 项目Id
*/
private String projectId;
}

20
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectIdFormDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 项目Id
* @Author zxc
*/
@Data
public class ProjectIdFormDTO implements Serializable {
private static final long serialVersionUID = 2887479755214503489L;
@NotBlank(message = "项目id不能为空")
private String projectId;
}

20
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailCheckResultDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* 查询某用户是否加入过小组
*/
@Data
public class ProjectDetailCheckResultDTO implements Serializable {
private static final long serialVersionUID = 5710008005124934826L;
/**
* 项目状态 eg:已结案true未结案false
*/
private Boolean projectStatus;
}

57
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectProcessListResultDTO.java

@ -0,0 +1,57 @@
/**
* 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.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 项目跟踪-项目处理进展列表-接口返参
*/
@Data
public class ProjectProcessListResultDTO implements Serializable {
private static final long serialVersionUID = 5342591979112900804L;
/**
* 项目处理进展Id
*/
private String processId = "";
/**
* 处理进展名称
*/
private String processName = "";
/**
* 处理进展时间
*/
private Long processTime;
/**
* 处理部门
*/
private String departmentName = "";
/**
* 进展说明
*/
private String progressDesc = "";
}

2
epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-project-server:
container_name: gov-project-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/gov-project-server:0.3.2
image: 192.168.1.130:10080/epmet-cloud-dev/gov-project-server:0.3.4
ports:
- "8102:8102"
network_mode: host # 使用现有网络

8
epmet-module/gov-project/gov-project-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<version>0.3.2</version>
<version>0.3.4</version>
<parent>
<artifactId>gov-project</artifactId>
<groupId>com.epmet</groupId>
@ -78,6 +78,12 @@
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>gov-issue-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

4
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java

@ -85,4 +85,8 @@ public interface ProjectConstant {
* 更新项目人员关联表数据失败
*/
String DATE_EXCEPTION = "未勾选流转人员";
/**
* 调用gov-org服务查询数据失败
*/
String SELECT_GOV_ORG_EXCEPTION = "获取组织、部门、网格信息失败";
}

13
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java

@ -26,7 +26,9 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.form.ShiftProjectFormDTO;
import com.epmet.dto.form.ShiftProjectsFromDTO;
import com.epmet.dto.result.IssueProjectResultDTO;
import com.epmet.dto.result.ShiftProjectResultDTO;
import com.epmet.excel.ProjectExcel;
import com.epmet.service.ProjectService;
@ -106,4 +108,15 @@ public class ProjectController {
return new Result<List<ShiftProjectResultDTO>>().ok(list);
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 议题转项目-项目各业务表初始化数据
**/
@PostMapping("issueshiftproject")
public Result<IssueProjectResultDTO> issueShiftProject(@RequestBody ShiftProjectFormDTO formDTO) {
return new Result<IssueProjectResultDTO>().ok(projectService.issueShiftProject(formDTO));
}
}

26
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessController.java

@ -26,6 +26,10 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.ProjectProcessDTO;
import com.epmet.dto.form.ProcessProjectIdFormDTO;
import com.epmet.dto.form.ProjectIdFormDTO;
import com.epmet.dto.result.ProjectDetailCheckResultDTO;
import com.epmet.dto.result.ProjectProcessListResultDTO;
import com.epmet.excel.ProjectProcessExcel;
import com.epmet.service.ProjectProcessService;
import org.springframework.beans.factory.annotation.Autowired;
@ -91,4 +95,26 @@ public class ProjectProcessController {
ExcelUtils.exportExcelToTarget(response, null, list, ProjectProcessExcel.class);
}
/**
* @Description 议题处理进展已转项目
* @param formDTO
* @author zxc
*/
@PostMapping("projectprocesslist")
public Result<List<ProjectProcessListResultDTO>> projectProcessList(@RequestBody ProcessProjectIdFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO);
return new Result<List<ProjectProcessListResultDTO>>().ok(projectProcessService.projectProcessList(formDTO));
}
/**
* @Description 校验项目是否已结案
* @param projectIdFormDTO
* @author zxc
*/
@PostMapping("checkprojectclose")
public Result<ProjectDetailCheckResultDTO> checkProjectClose(@RequestBody ProjectIdFormDTO projectIdFormDTO){
ValidatorUtils.validateEntity(projectIdFormDTO);
return new Result<ProjectDetailCheckResultDTO>().ok(projectProcessService.checkProjectClose(projectIdFormDTO));
}
}

54
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java

@ -12,7 +12,6 @@ import com.epmet.service.ProjectProcessService;
import com.epmet.service.ProjectSatisfactionDetailService;
import com.epmet.service.ProjectStaffService;
import com.epmet.service.ProjectTraceService;
import oracle.jdbc.proxy.annotation.Post;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -153,18 +152,32 @@ public class ProjectTraceController {
return new Result();
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 项目跟踪-项目处理进展列表
**/
@PostMapping("processlist")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_DETAIL)
public Result<List<ProcesslistResultDTO>> processList(@LoginUser TokenDto tokenDTO, @RequestBody ProcessListFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return new Result<List<ProcesslistResultDTO>>().ok(projectProcessService.progressList(formDTO));
}
/**
* 我的处理部门
* @author zhaoqifeng
* @date 2020/5/14 14:22
* @param tokenDto
* @param fromDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.DepartmentResultDTO>>
*/
@PostMapping("mydepartmentlist")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_DETAIL)
public Result<List<DepartmentResultDTO>> myDepartmentList(@LoginUser TokenDto tokenDto, @RequestBody ProjectDetailFromDTO fromDTO) {
return new Result<List<DepartmentResultDTO>>().ok(projectTraceService.myDepartmentList(tokenDto, fromDTO));
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 项目跟踪-项目处理进展列表
**/
@PostMapping("processlist")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_DETAIL)
public Result<List<ProcesslistResultDTO>> processList(@LoginUser TokenDto tokenDTO, @RequestBody ProcessListFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return new Result<List<ProcesslistResultDTO>>().ok(projectProcessService.progressList(formDTO));
}
/**
* @param formDTO
@ -188,6 +201,7 @@ public class ProjectTraceController {
@PostMapping("departmentstafflist")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_TRANSFER)
public Result<DepartmentStaffListResultDTO> departmentStaffList(@LoginUser TokenDto tokenDTO, @RequestBody DepartmentStaffListFormDTO formDTO) {
formDTO.setStaffId(tokenDTO.getUserId());
ValidatorUtils.validateEntity(formDTO);
return new Result<DepartmentStaffListResultDTO>().ok(projectStaffService.departmentStaffList(formDTO));
}
@ -206,20 +220,6 @@ public class ProjectTraceController {
return new Result();
}
/**
* 我的处理部门
* @author zhaoqifeng
* @date 2020/5/14 14:22
* @param tokenDto
* @param fromDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.DepartmentResultDTO>>
*/
@PostMapping("mydepartmentlist")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_DETAIL)
public Result<List<DepartmentResultDTO>> myDepartmentList(@LoginUser TokenDto tokenDto, @RequestBody ProjectDetailFromDTO fromDTO) {
return new Result<List<DepartmentResultDTO>>().ok(projectTraceService.myDepartmentList(tokenDto, fromDTO));
}
/**
* @param formDTO
* @return

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

Loading…
Cancel
Save