+
+
+
+
+ SELECT replace(uuid(),'-','') AS ID
+
+
+ INSERT INTO issue
+
+ id,
+
+ issue_status,
+
+
+ source_type,
+
+
+ source_id,
+
+
+ close_reason,
+
+
+ resolve_type,
+
+
+ issue_title,
+
+
+ suggestion,
+
+
+ customer_id,
+
+
+ grid_id,
+
+
+ org_id_path,
+
+
+ org_id,
+
+
+ voting_deadline,
+
+
+ decided_time,
+
+
+ shifted_time,
+
+
+ closed_time,
+
+
+ created_by,
+
+
+ created_time,
+
+
+ updated_by,
+
+
+ updated_time,
+
+ del_flag,
+ revision
+
+
+ #{id},
+
+ #{issueStatus},
+
+
+ #{sourceType},
+
+
+ #{sourceId},
+
+
+ #{closeReason},
+
+
+ #{resolveType},
+
+
+ #{issueTitle},
+
+
+ #{suggestion},
+
+
+ #{customerId},
+
+
+ #{gridId},
+
+
+ #{orgIdPath},
+
+
+ #{orgId},
+
+
+ #{votingDeadline},
+
+
+ #{decidedTime},
+
+
+ #{shiftedTime},
+
+
+ #{closedTime},
+
+
+ #{createdBy},
+
+
+ #{createdTime},
+
+
+ #{createdBy},
+
+
+ #{createdTime},
+
+ '0',
+ 0
+
+
+
+
+
+ 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
+ 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}
+
+
\ No newline at end of file
diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProcessDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProcessDao.xml
index baadaa6e9e..519ebaaec9 100644
--- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProcessDao.xml
+++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProcessDao.xml
@@ -19,5 +19,118 @@
+
+
+
+
+ SELECT replace(uuid(),'-','') AS ID
+
+
+ INSERT INTO issue_process
+
+ id,
+
+ issue_id,
+
+
+ issue_status,
+
+
+ org_type,
+
+
+ org_id,
+
+
+ operation_explain,
+
+
+ created_by,
+
+
+ created_time,
+
+
+ updated_by,
+
+
+ updated_time,
+
+
+ org_name,
+
+ del_flag,
+ revision
+
+
+ #{id},
+
+ #{issueId},
+
+
+ #{issueStatus},
+
+
+ #{orgType},
+
+
+ #{orgId},
+
+
+ #{operationExplain},
+
+
+ #{createdBy},
+
+
+ #{createdTime},
+
+
+ #{createdBy},
+
+
+ #{createdTime},
+
+
+ #{orgName},
+
+ '0',
+ 0
+
+
+
+
+ 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
+ '转议题' 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
+
\ No newline at end of file
diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectRelationDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectRelationDao.xml
index d7188c1811..a0355d7b74 100644
--- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectRelationDao.xml
+++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectRelationDao.xml
@@ -15,5 +15,16 @@
+
+
+ SELECT
+ PROJECT_ID
+ FROM
+ issue_project_relation
+ WHERE
+ DEL_FLAG = '0'
+ AND
+ ISSUE_ID = #{issueId}
+
\ No newline at end of file
diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml
index 5fe5c88507..3d35fea463 100644
--- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml
+++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml
@@ -30,9 +30,9 @@
-
+
SELECT
- COUNT(*) AS voteStatus
+ attitude AS voteType
FROM
issue_vote_detail
WHERE
diff --git a/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml b/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml
index 4a12a19e35..9384100069 100644
--- a/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml
+++ b/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 # 使用现有网络
diff --git a/epmet-module/gov-mine/gov-mine-server/pom.xml b/epmet-module/gov-mine/gov-mine-server/pom.xml
index 41d113ec99..ec553d4044 100644
--- a/epmet-module/gov-mine/gov-mine-server/pom.xml
+++ b/epmet-module/gov-mine/gov-mine-server/pom.xml
@@ -2,7 +2,7 @@
- 0.3.12
+ 0.3.14
com.epmet
gov-mine
diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java
index 1b7642c82a..342faa01e1 100644
--- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java
+++ b/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 gridIdList);
+ Result> queryVotingIssueCount(@RequestBody List gridIdList);
}
diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java
index cb7c2eceed..b3f6ffc426 100644
--- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java
+++ b/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> queryPartyMemberProcessingCount(@RequestBody List gridIdList);
}
diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java
index 3a1ccf8714..3bff98858d 100644
--- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java
+++ b/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 gridIdList) {
+ public Result> queryVotingIssueCount(List gridIdList) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "queryVotingIssueCount", gridIdList);
}
}
diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java
index ae7a56de8f..ec96daa291 100644
--- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java
+++ b/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 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 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 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 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;
}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CommonDataFilterResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CommonDataFilterResultDTO.java
new file mode 100644
index 0000000000..4e917a4413
--- /dev/null
+++ b/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;
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffListResultDTO.java
index 27ff1b358b..ef496b28e5 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffListResultDTO.java
+++ b/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="";
}
diff --git a/epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml b/epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml
index 4bb60fd355..696013f764 100644
--- a/epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml
+++ b/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 # 使用现有网络
diff --git a/epmet-module/gov-org/gov-org-server/pom.xml b/epmet-module/gov-org/gov-org-server/pom.xml
index 7a51925c4c..4ec0fb67b0 100644
--- a/epmet-module/gov-org/gov-org-server/pom.xml
+++ b/epmet-module/gov-org/gov-org-server/pom.xml
@@ -2,7 +2,7 @@
4.0.0
- 0.3.35
+ 0.3.36
com.epmet
gov-org
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java
index 73728f19de..8ddc017fa2 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java
+++ b/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 departmentStaffList(@PathVariable("agencyId") String agencyId) {
- return new Result().ok(customerAgencyService.departmentStaffList(agencyId));
+ @PostMapping("departmentstafflist")
+ public Result departmentStaffList(CanTickStaffListFormDTO canTick) {
+ return new Result().ok(customerAgencyService.departmentStaffList(canTick));
}
/**
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java
index c5a2779d16..430b560d33 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java
+++ b/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().ok(customerGridService.getGridNameByGridId(formDTO));
}
+ /**
+ * @Description 得到网格的数据权限信息 开放给各个服务使用
+ * @param gridForm
+ * @return Result
+ * @author wangc
+ * @date 2020.05.13 11:14
+ **/
+ @PostMapping("griddatafilter")
+ public Result gridDataFilter(@RequestBody CommonGridIdFormDTO gridForm){
+ ValidatorUtils.validateEntity(gridForm);
+ return new Result().ok(customerGridService.getGridDataFilterMsg(gridForm));
+ }
+
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
index 2a066a5e92..2256263cd0 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
@@ -176,4 +176,12 @@ public interface CustomerGridDao extends BaseDao {
* @Description 批量查询网格信息
**/
List selectGridListByIds(@Param("gridIdList") List gridIdList);
+
+ /**
+ * @Description 通过网格Id获取网格所需要的数据权限信息
+ * @param gridId
+ * @author wangc
+ * @date 2020.05.13 11:01
+ **/
+ CommonDataFilterResultDTO getGridDataFilterMsg(@Param("gridId")String gridId);
}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java
index 7be691d69f..4334657bb9 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java
@@ -74,5 +74,5 @@ public interface CustomerStaffAgencyDao extends BaseDao selectAgencyStaffList(@Param("agencyId") String agencyId);
+ List selectAgencyStaffList(@Param("agencyId") String agencyId, @Param("staffId") String staffId);
}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java
index 96132b35da..6cc44ea483 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java
+++ b/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
AgencyGridResultDTO getAgencyAndGrid(AgencyGridResultDTO agencyGridResultDTO);
/**
- * @param agencyId
+ * @param canTick
* @return
* @Author sun
* @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息
**/
- DepartmentStaffListResultDTO departmentStaffList(String agencyId);
+ DepartmentStaffListResultDTO departmentStaffList(CanTickStaffListFormDTO canTick);
/**
* @param formDTO
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java
index 0f62db96e5..6ca09779e1 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java
@@ -236,4 +236,11 @@ public interface CustomerGridService extends BaseService {
*/
BelongGridNameResultDTO getGridNameByGridId(BelongGridNameFormDTO formDTO);
+ /**
+ * @Description 通过网格Id获取网格所需要的数据权限信息
+ * @param gridIdFormDTO
+ * @author wangc
+ * @date 2020.05.13 11:01
+ **/
+ CommonDataFilterResultDTO getGridDataFilterMsg(CommonGridIdFormDTO gridIdFormDTO);
}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java
index 2981b5919b..5be49bf353 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java
+++ b/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 agencyStaffList = customerStaffAgencyDao.selectAgencyStaffList(agencyId);
+ //1:根据组织Id查询该组织下工作人员列表(如果当前操作人是组织下的则不查询)
+ String staffId = "";
+ if("project".equals(canTick.getType())&&"".equals(canTick.getDeptOrGridId())){
+ staffId = canTick.getStaffId();
+ }
+ List agencyStaffList = customerStaffAgencyDao.selectAgencyStaffList(canTick.getAgencyId(),staffId);
//2:根据组织Id查询该组织下部门、人员列表
//2.1:查询组织下部门列表
- List listDept = customerDepartmentDao.selectDepartmentList(agencyId);
+ List listDept = customerDepartmentDao.selectDepartmentList(canTick.getAgencyId());
List departmentList = ConvertUtils.sourceToTarget(listDept, DeptListResultDTO.class);
//2.2:查询每一个部门下人员列表
List deptIdList = departmentList.stream().map(DeptListResultDTO::getDepartmentId).collect(Collectors.toList());
@@ -199,17 +204,19 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl{
List 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 gridList = customerGridDao.selectGridList(agencyId);
+ List gridList = customerGridDao.selectGridList(canTick.getAgencyId());
//3.2:查询每一个网格下人员列表
List gridIdList = gridList.stream().map(GridListResultDTO::getGridId).collect(Collectors.toList());
List gridStaffs = customerStaffGridDao.selectGridStaffs(gridIdList);
@@ -217,9 +224,11 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl 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 agencyList = baseDao.selectAgencyListByIds(formDTO.getAgencyIdList());
+ List agencyList = new ArrayList<>();
+ if (null != formDTO.getAgencyIdList()) {
+ agencyList = baseDao.selectAgencyListByIds(formDTO.getAgencyIdList());
+ }
//2:根据部门Id批量查询部门信息
- List deptList = customerDepartmentDao.selectDeptListByIds(formDTO.getDeptIdList());
+ List deptList = new ArrayList<>();
+ if (null != formDTO.getDeptIdList()) {
+ deptList = customerDepartmentDao.selectDeptListByIds(formDTO.getDeptIdList());
+ }
//3:根据网格Id批量查询网格信息
- List gridList = customerGridDao.selectGridListByIds(formDTO.getGridIdList());
+ List 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 getDepartmentList(String subAgencyPids) {
List subAgencyList = baseDao.selectSubAgencyList(subAgencyPids);
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
index da1371aca7..341af37278 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
+++ b/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
ORDER BY field(
- ca.id,
+ ca.id,
#{agencyId}
+ )
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml
index 74f651fd7e..ccf5779b89 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml
@@ -306,4 +306,19 @@
+
+
+ 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}
+
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml
index 0a721b3f77..41f5add36f 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml
@@ -96,13 +96,16 @@
- SELECT
+ SELECT
user_id AS "staffId"
FROM
customer_staff_agency
WHERE
del_flag = '0'
- AND agency_id =#{agencyId}
+ AND agency_id =#{agencyId}
+
+ AND user_id != #{staffId}
+
\ No newline at end of file
diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java
new file mode 100644
index 0000000000..10ac948b8c
--- /dev/null
+++ b/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;
+
+}
+
diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProcessProjectIdFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProcessProjectIdFormDTO.java
new file mode 100644
index 0000000000..c2c5395932
--- /dev/null
+++ b/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;
+}
diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectIdFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectIdFormDTO.java
new file mode 100644
index 0000000000..318eae5dcf
--- /dev/null
+++ b/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;
+
+}
+
diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailCheckResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailCheckResultDTO.java
new file mode 100644
index 0000000000..1517cd8dad
--- /dev/null
+++ b/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;
+
+}
diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectProcessListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectProcessListResultDTO.java
new file mode 100644
index 0000000000..5c12be99ee
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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 = "";
+}
\ No newline at end of file
diff --git a/epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml b/epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml
index f81da526df..fbb60a07ad 100644
--- a/epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml
+++ b/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 # 使用现有网络
diff --git a/epmet-module/gov-project/gov-project-server/pom.xml b/epmet-module/gov-project/gov-project-server/pom.xml
index 95f677175b..7710f148ee 100644
--- a/epmet-module/gov-project/gov-project-server/pom.xml
+++ b/epmet-module/gov-project/gov-project-server/pom.xml
@@ -2,7 +2,7 @@
- 0.3.2
+ 0.3.4
gov-project
com.epmet
@@ -78,6 +78,12 @@
2.0.0
compile
+
+ com.epmet
+ gov-issue-client
+ 2.0.0
+ compile
+
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java
index d341afd494..c2919ffbfd 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java
+++ b/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 = "获取组织、部门、网格信息失败";
}
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java
index 804be2a6d3..70d127d92f 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java
+++ b/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>().ok(list);
}
+ /**
+ * @param formDTO
+ * @return
+ * @Author sun
+ * @Description 议题转项目-项目各业务表初始化数据
+ **/
+ @PostMapping("issueshiftproject")
+ public Result issueShiftProject(@RequestBody ShiftProjectFormDTO formDTO) {
+ return new Result().ok(projectService.issueShiftProject(formDTO));
+ }
+
}
\ No newline at end of file
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessController.java
index 116ad85e3a..773eb8d7f5 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessController.java
+++ b/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> projectProcessList(@RequestBody ProcessProjectIdFormDTO formDTO){
+ ValidatorUtils.validateEntity(formDTO);
+ return new Result>().ok(projectProcessService.projectProcessList(formDTO));
+ }
+
+ /**
+ * @Description 校验项目是否已结案
+ * @param projectIdFormDTO
+ * @author zxc
+ */
+ @PostMapping("checkprojectclose")
+ public Result checkProjectClose(@RequestBody ProjectIdFormDTO projectIdFormDTO){
+ ValidatorUtils.validateEntity(projectIdFormDTO);
+ return new Result().ok(projectProcessService.checkProjectClose(projectIdFormDTO));
+ }
+
}
\ No newline at end of file
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java
index 28c14a862e..7f90d5e362 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java
+++ b/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> processList(@LoginUser TokenDto tokenDTO, @RequestBody ProcessListFormDTO formDTO) {
- ValidatorUtils.validateEntity(formDTO);
- return new Result>().ok(projectProcessService.progressList(formDTO));
- }
+ /**
+ * 我的处理部门
+ * @author zhaoqifeng
+ * @date 2020/5/14 14:22
+ * @param tokenDto
+ * @param fromDTO
+ * @return com.epmet.commons.tools.utils.Result>
+ */
+ @PostMapping("mydepartmentlist")
+ @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_DETAIL)
+ public Result> myDepartmentList(@LoginUser TokenDto tokenDto, @RequestBody ProjectDetailFromDTO fromDTO) {
+ return new Result>().ok(projectTraceService.myDepartmentList(tokenDto, fromDTO));
+ }
+
+ /**
+ * @param formDTO
+ * @return
+ * @Author sun
+ * @Description 项目跟踪-项目处理进展列表
+ **/
+ @PostMapping("processlist")
+ @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_DETAIL)
+ public Result> processList(@LoginUser TokenDto tokenDTO, @RequestBody ProcessListFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
+ return new Result>().ok(projectProcessService.progressList(formDTO));
+ }
/**
* @param formDTO
@@ -188,6 +201,7 @@ public class ProjectTraceController {
@PostMapping("departmentstafflist")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_TRANSFER)
public Result departmentStaffList(@LoginUser TokenDto tokenDTO, @RequestBody DepartmentStaffListFormDTO formDTO) {
+ formDTO.setStaffId(tokenDTO.getUserId());
ValidatorUtils.validateEntity(formDTO);
return new Result().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>
- */
- @PostMapping("mydepartmentlist")
- @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_DETAIL)
- public Result> myDepartmentList(@LoginUser TokenDto tokenDto, @RequestBody ProjectDetailFromDTO fromDTO) {
- return new Result>().ok(projectTraceService.myDepartmentList(tokenDto, fromDTO));
- }
-
/**
* @param formDTO
* @return
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java
index 71f0b72b72..333d1aefeb 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java
@@ -18,7 +18,10 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.dto.form.ProcessProjectIdFormDTO;
+import com.epmet.dto.form.ProjectIdFormDTO;
import com.epmet.dto.result.ProcesslistResultDTO;
+import com.epmet.dto.result.ProjectProcessListResultDTO;
import com.epmet.entity.ProjectProcessEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -42,5 +45,26 @@ public interface ProjectProcessDao extends BaseDao {
**/
List getProcessListByProjectId(@Param("projectId") String projectId);
+ /**
+ * 可退回节点
+ * @author zhaoqifeng
+ * @date 2020/5/15 17:24
+ * @param projectId
+ * @return java.util.List
+ */
List selectReturnableList(@Param("projectId") String projectId);
+
+ /**
+ * @Description 议题处理进展——已转项目
+ * @param formDTO
+ * @author zxc
+ */
+ List projectProcessList(ProcessProjectIdFormDTO formDTO);
+
+ /**
+ * @Description 校验项目是否已结案
+ * @param projectIdFormDTO
+ * @author zxc
+ */
+ Integer checkProjectClose(ProjectIdFormDTO projectIdFormDTO);
}
\ No newline at end of file
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
index bf4458e68b..4905c95282 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.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.CustomerStaffDTO;
import com.epmet.dto.form.StaffsInAgencyFromDTO;
import com.epmet.dto.form.UserResiInfoListFormDTO;
import com.epmet.dto.result.StaffInfoResultDTO;
@@ -36,4 +37,15 @@ public interface EpmetUserFeignClient {
*/
@PostMapping("/epmetuser/customerstaff/stafflist")
Result> getStaffList(@RequestBody StaffsInAgencyFromDTO fromDTO);
+
+ /**
+ * 根据用户ID获取工作人员基本信息
+ *
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @author zhaoqifeng
+ * @date 2020/4/22 10:05
+ **/
+ @PostMapping(value = "epmetuser/customerstaff/getstaffinfobyuserid")
+ Result getCustomerStaffInfoByUserId(@RequestBody CustomerStaffDTO formDTO);
}
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java
index a086079472..ccd4421b7b 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java
@@ -6,6 +6,7 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.AgencyDeptGridFormDTO;
+import com.epmet.dto.form.CanTickStaffListFormDTO;
import com.epmet.dto.result.AgencyDeptGridResultDTO;
import com.epmet.dto.result.DepartmentStaffListResultDTO;
import com.epmet.dto.result.ProcessorListResultDTO;
@@ -30,13 +31,13 @@ public interface GovOrgFeignClient {
@PostMapping("/gov/org/agency/agencybyid/{agencyId}")
Result getAgencyById(@PathVariable("agencyId") String agencyId);
/**
- * @param agencyId
+ * @param canTick
* @return
* @Author sun
* @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息
**/
- @PostMapping(value = "/gov/org/customeragency/departmentstafflist/{agencyId}")
- Result departmentStaffList(@PathVariable("agencyId") String agencyId);
+ @PostMapping(value = "/gov/org/customeragency/departmentstafflist")
+ Result departmentStaffList(CanTickStaffListFormDTO canTick);
/**
* @param formDTO
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java
index 94a52d75f0..aa37f59e4b 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.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.CustomerStaffDTO;
import com.epmet.dto.form.StaffsInAgencyFromDTO;
import com.epmet.dto.form.UserResiInfoListFormDTO;
import com.epmet.dto.result.StaffInfoResultDTO;
@@ -28,4 +29,9 @@ public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient {
public Result> getStaffList(StaffsInAgencyFromDTO fromDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getStaffList", fromDTO);
}
+
+ @Override
+ public Result getCustomerStaffInfoByUserId(CustomerStaffDTO formDTO) {
+ return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "CustomerStaffDTO", formDTO);
+ }
}
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java
index 1fad4e06c6..e5dec301d0 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java
@@ -8,6 +8,7 @@ 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.AgencyDeptGridFormDTO;
+import com.epmet.dto.form.CanTickStaffListFormDTO;
import com.epmet.dto.result.AgencyDeptGridResultDTO;
import com.epmet.dto.result.DepartmentStaffListResultDTO;
import com.epmet.dto.result.ProcessorListResultDTO;
@@ -26,8 +27,8 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getAgencyById", agencyId);
}
@Override
- public Result departmentStaffList(String agencyId) {
- return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "departmentStaffList", agencyId);
+ public Result departmentStaffList(CanTickStaffListFormDTO canTick) {
+ return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "departmentStaffList", canTick);
}
@Override
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java
index 751e31ba03..98bb36ec5d 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java
@@ -21,14 +21,10 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.ProjectProcessDTO;
-import com.epmet.dto.form.ProcessListFormDTO;
-import com.epmet.dto.form.ProjectDetailFromDTO;
-import com.epmet.dto.form.ReturnListFromDTO;
-import com.epmet.dto.form.TransferFormDTO;
-import com.epmet.dto.result.DepartmentResultDTO;
-import com.epmet.dto.result.ProcesslistResultDTO;
-import com.epmet.dto.result.ReturnListResultDTO;
+import com.epmet.dto.form.*;
+import com.epmet.dto.result.*;
import com.epmet.entity.ProjectProcessEntity;
+import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Map;
@@ -126,4 +122,18 @@ public interface ProjectProcessService extends BaseService
**/
void transfer(TransferFormDTO formDTO);
+ /**
+ * @Description 议题处理进展——已转项目
+ * @param formDTO
+ * @author zxc
+ */
+ List projectProcessList(ProcessProjectIdFormDTO formDTO);
+
+ /**
+ * @Description 校验项目是否已结案
+ * @param projectIdFormDTO
+ * @author zxc
+ */
+ ProjectDetailCheckResultDTO checkProjectClose(ProjectIdFormDTO projectIdFormDTO);
+
}
\ No newline at end of file
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java
index f482b79abd..6dc0c7308e 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java
@@ -162,4 +162,12 @@ public interface ProjectService extends BaseService {
* @return java.util.List
*/
List getProjectByIssue(ShiftProjectsFromDTO fromDTO);
+
+ /**
+ * @param formDTO
+ * @return
+ * @Author sun
+ * @Description 议题转项目-项目各业务表初始化数据
+ **/
+ IssueProjectResultDTO issueShiftProject(ShiftProjectFormDTO formDTO);
}
\ No newline at end of file
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java
index ba73f3a7de..6457dc7749 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java
@@ -22,7 +22,6 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.ProjectStaffDTO;
import com.epmet.dto.form.DepartmentStaffListFormDTO;
import com.epmet.dto.result.DepartmentResultDTO;
-import com.epmet.entity.ProjectProcessEntity;
import com.epmet.dto.result.DepartmentStaffListResultDTO;
import com.epmet.entity.ProjectStaffEntity;
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java
index 0939efc749..608f78f468 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java
@@ -32,10 +32,7 @@ import com.epmet.dao.ProjectStaffDao;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.ProjectProcessDTO;
import com.epmet.dto.form.*;
-import com.epmet.dto.result.AgencyDeptGridResultDTO;
-import com.epmet.dto.result.ProcesslistResultDTO;
-import com.epmet.dto.result.ReturnListResultDTO;
-import com.epmet.dto.result.StaffInfoResultDTO;
+import com.epmet.dto.result.*;
import com.epmet.entity.ProjectEntity;
import com.epmet.entity.ProjectProcessEntity;
import com.epmet.entity.ProjectStaffEntity;
@@ -150,10 +147,10 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl customerAgency = govOrgFeignClient.getAgencyById(projectEntity.getAgencyId());
+// Result customerAgency = govOrgFeignClient.getAgencyById(projectEntity.getAgencyId());
//获取人员信息
StaffsInAgencyFromDTO staffsInAgencyFromDTO = new StaffsInAgencyFromDTO();
- staffsInAgencyFromDTO.setCustomerId(customerAgency.getData().getCustomerId());
+ staffsInAgencyFromDTO.setCustomerId(projectEntity.getCustomerId());
staffsInAgencyFromDTO.setStaffList(userIds);
List staffList = epmetUserFeignClient.getStaffList(staffsInAgencyFromDTO).getData();
//合成返回值
@@ -181,7 +178,6 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl projectProcessList(ProcessProjectIdFormDTO formDTO) {
+ return baseDao.projectProcessList(formDTO);
+ }
+
+ /**
+ * @Description 校验项目是否已结案
+ * @param projectIdFormDTO
+ * @author zxc
+ */
+ @Override
+ public ProjectDetailCheckResultDTO checkProjectClose(ProjectIdFormDTO projectIdFormDTO) {
+ ProjectDetailCheckResultDTO resultDTO = new ProjectDetailCheckResultDTO();
+ Integer projectCloseCount = baseDao.checkProjectClose(projectIdFormDTO);
+ if (projectCloseCount==NumConstant.ZERO){
+ resultDTO.setProjectStatus(false);
+ }else {
+ resultDTO.setProjectStatus(true);
+ }
+ return resultDTO;
+ }
+
}
\ No newline at end of file
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
index 19946355bd..d3c37b531e 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
@@ -20,23 +20,25 @@ 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.FieldConstant;
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;
import com.epmet.commons.tools.utils.ConvertUtils;
-import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.ParameterKeyConstant;
import com.epmet.constant.ProjectConstant;
import com.epmet.dao.ProjectDao;
-import com.epmet.dto.CustomerProjectParameterDTO;
-import com.epmet.dto.ProjectDTO;
-import com.epmet.dto.ProjectStaffDTO;
+import com.epmet.dto.*;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.ProjectEntity;
import com.epmet.entity.ProjectProcessEntity;
import com.epmet.entity.ProjectStaffEntity;
import com.epmet.feign.CommonFeignClient;
+import com.epmet.feign.EpmetUserFeignClient;
+import com.epmet.feign.GovOrgFeignClient;
import com.epmet.redis.ProjectRedis;
import com.epmet.service.CustomerProjectParameterService;
import com.epmet.service.ProjectProcessService;
@@ -49,6 +51,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.stream.Collectors;
/**
* 项目表
@@ -69,6 +72,10 @@ public class ProjectServiceImpl extends BaseServiceImpl finalDays) {
- created.setWarningFlag(true);
- created.setDetentionDays(detentionDays);
- } else {
- created.setDetentionDays(detentionDays);
- created.setWarningFlag(false);
- }
+
+
//获取当前处理部门
List departmentNameList = new ArrayList<>();
if (ProjectConstant.CLOSED.equals(p.getStatus())) {
created.setDepartmentNameList(departmentNameList);
+ created.setWarningFlag(false);
+ created.setDetentionDays("0");
} else {
+ String detentionDays = getDetentionDays(p);
+ if (!ONE_DAY.equals(detentionDays) && Integer.parseInt(detentionDays) > finalDays) {
+ created.setWarningFlag(true);
+ created.setDetentionDays(detentionDays);
+ } else {
+ created.setDetentionDays(detentionDays);
+ created.setWarningFlag(false);
+ }
departmentNameList = baseDao.selectDepartmentNameList(p);
created.setDepartmentNameList(departmentNameList);
}
@@ -201,7 +212,7 @@ public class ProjectServiceImpl extends BaseServiceImpl projectList = baseDao.selectCreatedList(fromDTO);
+ List projectList = baseDao.selectInvolvedList(fromDTO);
//获取客户定制的可滞留天数
Integer finalDays = getDays(fromDTO);
projectList.forEach(p -> {
@@ -211,19 +222,23 @@ public class ProjectServiceImpl extends BaseServiceImpl finalDays) {
- involved.setWarningFlag(true);
- involved.setDetentionDays(detentionDays);
- } else {
- involved.setDetentionDays(detentionDays);
- involved.setWarningFlag(false);
- }
+
+
//获取当前处理部门
List departmentNameList = new ArrayList<>();
if (ProjectConstant.CLOSED.equals(p.getStatus())) {
involved.setDepartmentNameList(departmentNameList);
+ involved.setWarningFlag(false);
+ involved.setDetentionDays("0");
} else {
+ String detentionDays = getDetentionDays(p);
+ if (!ONE_DAY.equals(detentionDays) && Integer.parseInt(detentionDays) > finalDays) {
+ involved.setWarningFlag(true);
+ involved.setDetentionDays(detentionDays);
+ } else {
+ involved.setDetentionDays(detentionDays);
+ involved.setWarningFlag(false);
+ }
departmentNameList = baseDao.selectDepartmentNameList(p);
involved.setDepartmentNameList(departmentNameList);
}
@@ -271,6 +286,9 @@ public class ProjectServiceImpl extends BaseServiceImpl> detentionDays = commonFeignClient.detentionDays(list);
return detentionDays.getData().get(0).getDetentionDays();
}
+ /**
+ * @param formDTO
+ * @return
+ * @Author sun
+ * @Description 议题转项目-项目各业务表初始化数据
+ **/
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public IssueProjectResultDTO issueShiftProject(ShiftProjectFormDTO formDTO) {
+ IssueProjectResultDTO issueProjectResultDTO = new IssueProjectResultDTO();
+ List staffList = formDTO.getStaffList();
+ IssueDTO issueDTO = formDTO.getIssueDTO();
+ //1:调用gov-org服务,获取所有勾选人员以及议题数据对应的组织信息、部门信息、网格信息用于对处理部门和ORG_ID_PATH字段的赋值使用
+ List agencyIdList = staffList.stream().map(TickStaffFormDTO::getAgencyId).collect(Collectors.toList());
+ agencyIdList.add(issueDTO.getOrgId());
+ agencyIdList = new ArrayList(new LinkedHashSet<>(agencyIdList));
+ List deptIdList = staffList.stream().map(TickStaffFormDTO::getDepartmentId).collect(Collectors.toList());
+ deptIdList = new ArrayList(new LinkedHashSet<>(deptIdList));
+ List gridIdList = staffList.stream().map(TickStaffFormDTO::getGridId).collect(Collectors.toList());
+ gridIdList.add(issueDTO.getGridId());
+ gridIdList = new ArrayList(new LinkedHashSet<>(gridIdList));
+ AgencyDeptGridFormDTO agencyDeptGridFormDTO = new AgencyDeptGridFormDTO();
+ agencyDeptGridFormDTO.setAgencyIdList(agencyIdList);
+ agencyDeptGridFormDTO.setDeptIdList(deptIdList);
+ agencyDeptGridFormDTO.setGridIdList(gridIdList);
+ Result resultDTO = govOrgFeignClient.getAgencyDeptGridList(agencyDeptGridFormDTO);
+ if (!resultDTO.success() || null == resultDTO.getData()) {
+ throw new RenException(ProjectConstant.SELECT_GOV_ORG_EXCEPTION);
+ }
+ AgencyDeptGridResultDTO agencyDeptGrid = resultDTO.getData();
+
+ //2:项目表新增数据
+ ProjectEntity projectEntity = new ProjectEntity();
+ projectEntity.setAgencyId(issueDTO.getOrgId());
+ projectEntity.setCustomerId(issueDTO.getCustomerId());
+ projectEntity.setOrigin(ProjectConstant.ISSUE);
+ projectEntity.setOriginId(issueDTO.getId());
+ projectEntity.setTitle(issueDTO.getIssueTitle());
+ projectEntity.setStatus(ProjectConstant.PENDING);
+ projectEntity.setOrgIdPath(issueDTO.getOrgIdPath());
+ baseDao.insert(projectEntity);
+
+ //3:项目处理进展表新增数据
+ ProjectProcessEntity processEntity = new ProjectProcessEntity();
+ processEntity.setProjectId(projectEntity.getId());
+ processEntity.setStaffId(formDTO.getStaffId());
+ processEntity.setOperation(ProjectConstant.OPERATION_CREATED);
+ processEntity.setOperationName(ProjectConstant.OPERATION_CREATED_NAME);
+ processEntity.setPublicReply(formDTO.getPublicReply());
+ processEntity.setInternalRemark(formDTO.getInternalRemark());
+ agencyDeptGrid.getAgencyList().forEach(agency -> {
+ if (issueDTO.getOrgId().equals(agency.getId())) {
+ processEntity.setDepartmentName(agency.getOrganizationName());
+ }
+ });
+ agencyDeptGrid.getGridList().forEach(grid -> {
+ if (issueDTO.getGridId().equals(grid.getId())) {
+ processEntity.setDepartmentName(processEntity.getDepartmentName() + "-" + grid.getGridName());
+ }
+ });
+ projectProcessService.insert(processEntity);
+
+ //4:项目人员关联表批量新增数据
+ List entityList = new ArrayList<>();
+ staffList.forEach(ts -> {
+ ProjectStaffEntity entity = ConvertUtils.sourceToTarget(ts, ProjectStaffEntity.class);
+ entity.setOrgId(ts.getAgencyId());
+ entity.setProjectId(projectEntity.getId());
+ entity.setProcessId(processEntity.getId());
+ entity.setIsHandle(ProjectConstant.UNHANDLED);
+ agencyDeptGrid.getAgencyList().forEach(agency -> {
+ if (ts.getAgencyId().equals(agency.getId())) {
+ entity.setCustomerId(agency.getCustomerId());
+ entity.setOrgIdPath(agency.getPids() + ":" + agency.getId());
+ entity.setDepartmentName(agency.getOrganizationName());
+ }
+ });
+ if (StringUtils.isNotBlank(ts.getDepartmentId())) {
+ agencyDeptGrid.getDeptList().forEach(dept -> {
+ if (ts.getDepartmentId().equals(dept.getId())) {
+ entity.setDepartmentName(entity.getDepartmentName() + "-" + dept.getDepartmentName());
+ }
+ });
+ }
+ if (StringUtils.isNotBlank(ts.getGridId())) {
+ agencyDeptGrid.getGridList().forEach(grid -> {
+ if (ts.getGridId().equals(grid.getId())) {
+ entity.setDepartmentName(entity.getDepartmentName() + "-" + grid.getGridName());
+ }
+ });
+ }
+ entityList.add(entity);
+ });
+ projectStaffService.insertBatch(entityList);
+
+ //5:返回接口参数
+ issueProjectResultDTO.setProjectId(projectEntity.getId());
+ issueProjectResultDTO.setOrgName(processEntity.getDepartmentName());
+ issueProjectResultDTO.setShiftedTime(projectEntity.getCreatedTime());
+ return issueProjectResultDTO;
+ }
+
}
\ No newline at end of file
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java
index 03b6c60045..19d65197a7 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java
@@ -21,11 +21,14 @@ 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.FieldConstant;
+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.ProjectConstant;
import com.epmet.dao.ProjectStaffDao;
import com.epmet.dto.ProjectStaffDTO;
+import com.epmet.dto.form.CanTickStaffListFormDTO;
import com.epmet.dto.form.DepartmentStaffListFormDTO;
import com.epmet.dto.result.DepartmentResultDTO;
import com.epmet.dto.result.DepartmentStaffListResultDTO;
@@ -120,8 +123,23 @@ public class ProjectStaffServiceImpl extends BaseServiceImpl resultDTOResult = govOrgFeignClient.departmentStaffList(formDTO.getAgencyId());
+ //1:查询当前工作人员代表的是哪个部门(组织下的、组织部门下的、组织网格下的),用于在人员选择时去掉自己选自己的情况(自己选自己只的是当前工作的部门下的自己)
+ ProjectStaffEntity entity = baseDao.selectById(formDTO.getProjectStaffId());
+ if (null == entity) {
+ throw new RenException(ProjectConstant.SELECT_PROJECTSTAFF_EXCEPTION);
+ }
+ //2:调用gov-org服务,分别查询组织下人员,组织下部门人员,组织下网格人员列表信息
+ CanTickStaffListFormDTO canTick = new CanTickStaffListFormDTO();
+ canTick.setAgencyId(formDTO.getAgencyId());
+ canTick.setType("project");
+ if(null!=entity.getDepartmentId()||!"".equals(entity.getDepartmentId())){
+ canTick.setDeptOrGridId(entity.getDepartmentId());
+ }
+ if(null!=entity.getGridId()||!"".equals(entity.getGridId())){
+ canTick.setDeptOrGridId(entity.getGridId());
+ }
+ canTick.setStaffId(formDTO.getStaffId());
+ Result resultDTOResult = govOrgFeignClient.departmentStaffList(canTick);
return resultDTOResult.getData();
}
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java
index 3166c2497c..fb608230b0 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java
@@ -54,7 +54,7 @@ public class ProjectTraceServiceImpl implements ProjectTraceService {
@Override
public ProjectDetailResultDTO getProjectDetail(TokenDto tokenDto, ProjectDetailFromDTO fromDTO) {
- fromDTO.setProjectId(tokenDto.getUserId());
+ fromDTO.setUserId(tokenDto.getUserId());
return projectService.getProjectDetail(fromDTO);
}
diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml
index 492465f853..e68776748e 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml
+++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml
@@ -50,18 +50,16 @@
p.CREATED_TIME,
ps.CREATED_TIME AS UPDATED_TIME
FROM project p
- INNER JOIN (SELECT DISTINCT
- ps.PROJECT_ID
- FROM
- project_staff ps
- INNER JOIN project_process pp ON ps.PROCESS_ID = pp.ID AND pp.DEL_FLAG = '0'
- AND pp.OPERATION = 'created'
- WHERE
- ps.DEL_FLAG = '0'
- AND ps.IS_HANDLE = 'handle'
- AND ps.STAFF_ID = #{userId}
- GROUP BY ps.PROJECT_ID) psp ON p.ID = psp.PROJECT_ID
- INNER JOIN (
+ INNER JOIN (SELECT
+ PROJECT_ID
+ FROM
+ project_process
+ WHERE
+ DEL_FLAG = '0'
+ AND OPERATION = 'created'
+ AND STAFF_ID = #{userId}
+ ) psp ON p.ID = psp.PROJECT_ID
+ LEFT JOIN (
SELECT DISTINCT
PROJECT_ID,
MIN(CREATED_TIME) AS CREATED_TIME
@@ -71,7 +69,8 @@
AND IS_HANDLE = 'unhandled'
GROUP BY PROJECT_ID) ps ON p.ID = ps.PROJECT_ID
LEFT JOIN project_process pp ON p.ID = pp.PROJECT_ID AND pp.OPERATION = 'close'
- WHERE p.DEL_FLAG = '0'
+ WHERE
+ p.DEL_FLAG = '0'
ORDER BY p.CREATED_TIME ASC
LIMIT #{pageNo}, #{pageSize}
@@ -95,7 +94,7 @@
AND ps.IS_HANDLE = 'handle'
AND ps.STAFF_ID = #{userId}
GROUP BY ps.PROJECT_ID) psp ON p.ID = psp.PROJECT_ID
- INNER JOIN (
+ LEFT JOIN (
SELECT DISTINCT
PROJECT_ID,
MIN(CREATED_TIME) AS CREATED_TIME
@@ -105,7 +104,19 @@
AND IS_HANDLE = 'unhandled'
GROUP BY PROJECT_ID) ps ON p.ID = ps.PROJECT_ID
LEFT JOIN project_process pp ON p.ID = pp.PROJECT_ID AND pp.OPERATION = 'close'
- WHERE p.DEL_FLAG = '0'
+ WHERE
+ NOT EXISTS (
+ SELECT
+ PROJECT_ID
+ FROM
+ project_staff
+ WHERE
+ DEL_FLAG = '0'
+ AND PROJECT_ID = p.ID
+ AND STAFF_ID = #{userId}
+ AND IS_HANDLE = 'unhandled'
+ )
+ AND p.DEL_FLAG = '0'
ORDER BY p.CREATED_TIME ASC
LIMIT #{pageNo}, #{pageSize}
diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml
index d93c09e825..7321e44aa5 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml
+++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml
@@ -27,7 +27,36 @@
WHERE
DEL_FLAG = '0'
AND PROJECT_ID = #{projectId}
+ AND OPERATION = 'transfer'
ORDER BY CREATED_TIME DESC
+
+
+ SELECT
+ operation_name AS processName,
+ UNIX_TIMESTAMP( created_time ) AS processTime,
+ department_name AS departmentName,
+ public_reply AS progressDesc,
+ id AS processId
+ FROM
+ project_process
+ WHERE
+ project_id = #{projectId}
+ AND del_flag = 0
+ ORDER BY created_time DESC
+
+
+
+
+ SELECT
+ COUNT(*) AS closedCount
+ FROM
+ project_process
+ WHERE
+ del_flag = 0
+ AND operation = "close"
+ AND project_id = #{projectId}
+
+
\ No newline at end of file
diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml
index bb19e5068a..2d7bf24fed 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml
+++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml
@@ -22,7 +22,7 @@
SELECT
- ID,
+ ID AS projectStaffId,
DEPARTMENT_NAME
FROM
project_staff
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/GroupProcessingCountResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/GroupProcessingCountResultDTO.java
index 4ef970e52b..4b966dae09 100644
--- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/GroupProcessingCountResultDTO.java
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/GroupProcessingCountResultDTO.java
@@ -20,6 +20,6 @@ public class GroupProcessingCountResultDTO implements Serializable {
/**
* 待审核的小组总数
*/
- private Long count;
+ private Integer count;
}
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GridIdFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GridIdFormDTO.java
new file mode 100644
index 0000000000..ab9536e8dc
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GridIdFormDTO.java
@@ -0,0 +1,24 @@
+package com.epmet.resi.group.dto.group.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Author zxc
+ * 查询某用户是否加入过小组
+ */
+@Data
+public class GridIdFormDTO implements Serializable {
+
+ private static final long serialVersionUID = -8535773441961516653L;
+ /**
+ * 用户id
+ */
+ private String userId;
+
+ /**
+ * 网格Id
+ */
+ private String gridId;
+}
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/CheckJoinTeamResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/CheckJoinTeamResultDTO.java
new file mode 100644
index 0000000000..732571d09d
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/CheckJoinTeamResultDTO.java
@@ -0,0 +1,20 @@
+package com.epmet.resi.group.dto.group.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Author zxc
+ * 校验用户是否加入小组
+ */
+@Data
+public class CheckJoinTeamResultDTO implements Serializable {
+
+ private static final long serialVersionUID = -1590972041272087570L;
+
+ /**
+ * 是否加入小组 eg:已加入:true,未加入:false
+ */
+ private Boolean voteAuthorization;
+}
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberInfoRedisDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberInfoRedisDTO.java
index 529fa1f9b8..1bbabfc036 100644
--- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberInfoRedisDTO.java
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberInfoRedisDTO.java
@@ -47,6 +47,10 @@ public class ResiGroupMemberInfoRedisDTO implements Serializable {
private String memberStatus;
/**
+ * 成员手机号
+ * */
+ private String memberMobile;
+ /**
* 组Id,不存在redis的value中,存在redis的key中
* */
private String groupId;
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/CommonTopicIdFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/CommonTopicIdFormDTO.java
new file mode 100644
index 0000000000..5f9323b2e8
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/CommonTopicIdFormDTO.java
@@ -0,0 +1,23 @@
+package com.epmet.resi.group.dto.topic.form;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @Description 通用的话题Id传参DTO,包含话题Id和用户Id
+ * @ClassName CommonTopicIdFormDTO
+ * @Auth wangc
+ * @Date 2020-05-12 11:14
+ */
+@Data
+public class CommonTopicIdFormDTO implements Serializable {
+ private static final long serialVersionUID = -6867868118191947074L;
+
+ @NotBlank(message = "话题Id不能为空")
+ private String topicId;
+
+ @NotBlank(message = "用户Id不能为空")
+ private String userId;
+}
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/GovTopicIssueInfoFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/GovTopicIssueInfoFormDTO.java
new file mode 100644
index 0000000000..4268f88afa
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/GovTopicIssueInfoFormDTO.java
@@ -0,0 +1,35 @@
+package com.epmet.resi.group.dto.topic.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;
+}
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicTurnIssueFromDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicTurnIssueFromDTO.java
new file mode 100644
index 0000000000..2800af1736
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicTurnIssueFromDTO.java
@@ -0,0 +1,41 @@
+package com.epmet.resi.group.dto.topic.form;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @Description 话题转议题时前端传参
+ * @ClassName ResiTopicTurnIssueFromDTO
+ * @Auth wangc
+ * @Date 2020-05-13 10:19
+ */
+@Data
+public class ResiTopicTurnIssueFromDTO implements Serializable {
+ private static final long serialVersionUID = -534799870823111781L;
+
+ /**
+ * 议题名称
+ * */
+ @NotBlank(message = "议题名称不能为空")
+ private String issueTitle;
+
+ /**
+ * 话题Id
+ * */
+ @NotBlank(message = "话题Id不能为空")
+ private String topicId;
+
+ /**
+ * 建议
+ * */
+ @NotBlank(message = "建议不能为空")
+ private String suggestion;
+
+ /**
+ * 用户Id
+ * */
+ @NotBlank(message = "用户Id不能为空")
+ private String userId;
+}
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GovTopicIssueInfoResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GovTopicIssueInfoResultDTO.java
new file mode 100644
index 0000000000..dbacd67e4c
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GovTopicIssueInfoResultDTO.java
@@ -0,0 +1,68 @@
+package com.epmet.resi.group.dto.topic.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 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;
+
+}
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicAndGroupResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicAndGroupResultDTO.java
new file mode 100644
index 0000000000..ac3516418d
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicAndGroupResultDTO.java
@@ -0,0 +1,36 @@
+package com.epmet.resi.group.dto.topic.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description 话题所在小组相关信息DTO
+ * @ClassName ResiTopicAndGroupResultDTO
+ * @Auth wangc
+ * @Date 2020-05-13 14:54
+ */
+@Data
+public class ResiTopicAndGroupResultDTO implements Serializable {
+ private static final long serialVersionUID = -2247558008863128347L;
+
+ /**
+ * 组Id
+ * */
+ private String groupId;
+
+ /**
+ * 话题作者Id
+ * */
+ private String topicAuthorId;
+
+ /**
+ * 网格Id
+ * */
+ private String gridId;
+
+ /**
+ * 客户Id
+ * */
+ private String customerId;
+}
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicAttachmentsResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicAttachmentsResultDTO.java
new file mode 100644
index 0000000000..514a10cd87
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicAttachmentsResultDTO.java
@@ -0,0 +1,30 @@
+package com.epmet.resi.group.dto.topic.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Description
+ * @ClassName ResiTopicAttachmentsResultDTO
+ * @Auth wangc
+ * @Date 2020-05-14 16:59
+ */
+@Data
+public class ResiTopicAttachmentsResultDTO implements Serializable {
+ private static final long serialVersionUID = -3646719074798523755L;
+
+ private String topicId;
+
+ private String topicContent;
+
+ private String createdBy;
+
+ private String groupId;
+
+ private Date createdTime;
+
+ private List photoList;
+}
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicShiftIssueInitResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicShiftIssueInitResultDTO.java
new file mode 100644
index 0000000000..3984b68fa5
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicShiftIssueInitResultDTO.java
@@ -0,0 +1,47 @@
+package com.epmet.resi.group.dto.topic.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description
+ * @ClassName ResiTopicShiftIssueInitResultDTO
+ * @Auth wangc
+ * @Date 2020-05-12 10:57
+ */
+@Data
+public class ResiTopicShiftIssueInitResultDTO implements Serializable {
+ private static final long serialVersionUID = 4798036194688707074L;
+
+ /**
+ * 话题Id
+ * */
+ private String topicId;
+
+ /**
+ * 话题内容
+ * */
+ private String topicContent;
+
+ /**
+ * 话题图片
+ * */
+ private List topicImgs;
+
+ /**
+ * 所属网格名称
+ * */
+ private String belongGridName;
+
+ /**
+ * 话题发布人昵称
+ * */
+ private String releaseUserName;
+
+ /**
+ * 话题发布时间
+ * */
+ private Long releaseTime;
+}
diff --git a/epmet-module/resi-group/resi-group-server/deploy/docker-compose-dev.yml b/epmet-module/resi-group/resi-group-server/deploy/docker-compose-dev.yml
index f45a475f69..98037170d8 100644
--- a/epmet-module/resi-group/resi-group-server/deploy/docker-compose-dev.yml
+++ b/epmet-module/resi-group/resi-group-server/deploy/docker-compose-dev.yml
@@ -2,7 +2,7 @@ version: "3.7"
services:
resi-group-server:
container_name: resi-group-server-dev
- image: 192.168.1.130:10080/epmet-cloud-dev/resi-group-server:0.3.18
+ image: 192.168.1.130:10080/epmet-cloud-dev/resi-group-server:0.3.20
ports:
- "8095:8095"
network_mode: host # 使用现有网络
diff --git a/epmet-module/resi-group/resi-group-server/pom.xml b/epmet-module/resi-group/resi-group-server/pom.xml
index 277302d93e..5f172068b3 100644
--- a/epmet-module/resi-group/resi-group-server/pom.xml
+++ b/epmet-module/resi-group/resi-group-server/pom.xml
@@ -2,7 +2,7 @@
4.0.0
- 0.3.18
+ 0.3.20
com.epmet
resi-group
@@ -76,6 +76,18 @@
2.0.0
compile
+
+ com.epmet
+ gov-issue-client
+ 2.0.0
+ compile
+
+
+ com.epmet
+ gov-issue-client
+ 2.0.0
+ compile
+
@@ -118,7 +130,7 @@
epmet_resi_group_user
EpmEt-db-UsEr
- 0
+ 1
192.168.1.130
6379
123456
@@ -148,7 +160,7 @@
epmet
elink@833066
- 0
+ 1
r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com
6379
EpmEtrEdIs!q@w
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/aspect/RequestLogAspect.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/aspect/RequestLogAspect.java
index 49581cf63c..6b60f0c38c 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/aspect/RequestLogAspect.java
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/aspect/RequestLogAspect.java
@@ -21,7 +21,7 @@ import javax.servlet.http.HttpServletRequest;
public class RequestLogAspect extends BaseRequestLogAspect {
@Override
- @Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ")
+ @Around(value = "execution(* com.epmet.modules.*.controller.*Controller*.*(..)) ")
public Object proceed(ProceedingJoinPoint point) throws Throwable {
return super.proceed(point, getRequest());
}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/GovIssueFeignClient.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/GovIssueFeignClient.java
new file mode 100644
index 0000000000..d9f7c146b1
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/GovIssueFeignClient.java
@@ -0,0 +1,29 @@
+package com.epmet.modules.feign;
+
+import com.epmet.commons.tools.constant.ServiceConstant;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.form.IssueShiftedFromTopicFormDTO;
+import com.epmet.modules.feign.fallback.GovIssueFeignClientFallBack;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.PostMapping;
+
+
+/**
+ * @Description gov-issue服务fegin
+ * @Author wangc
+ * @Date 2020/5/12 10:00
+ * url = "localhost:8101"
+ */
+@FeignClient(name = ServiceConstant.GOV_ISSUE_SERVER , fallback = GovIssueFeignClientFallBack.class)
+public interface GovIssueFeignClient {
+
+ /**
+ * @Description 话题转议题
+ * @param issueShiftedFromTopicFormDTO
+ * @author wangc
+ * @date 2020.05.13 18:19
+ **/
+ @PostMapping(value = "gov/issue/issue/topicshiftissue", consumes = MediaType.APPLICATION_JSON_VALUE)
+ Result issueShiftedToTopic(IssueShiftedFromTopicFormDTO issueShiftedFromTopicFormDTO);
+}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/GovOrgFeignClient.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/GovOrgFeignClient.java
index d12b4125a8..26ea5eebb8 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/GovOrgFeignClient.java
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/GovOrgFeignClient.java
@@ -5,6 +5,8 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerDepartmentDTO;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.form.CommonGridIdFormDTO;
+import com.epmet.dto.form.CustomerGridFormDTO;
+import com.epmet.dto.result.CommonDataFilterResultDTO;
import com.epmet.modules.feign.fallback.GovOrgFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
@@ -22,14 +24,14 @@ import java.util.List;
public interface GovOrgFeignClient {
/**
- * @param id - gridId
+ * @param customerGridFormDTO
* @return Result
* @Author wangc
* @Description 查询网格信息
* @Date 2020/3/30 10:45
**/
- @GetMapping("/gov/org/customergrid/{id}")
- Result getGrid(String id);
+ @PostMapping("/gov/org/customergrid/getcustomergridbygridid")
+ Result getCustomerGridByGridId(CustomerGridFormDTO customerGridFormDTO);
/**
* @Description 查询部门信息
@@ -49,4 +51,14 @@ public interface GovOrgFeignClient {
**/
@PostMapping("/gov/org/customerstaffgrid/getgridstaffs")
Result> getGridStaffs(@RequestBody CommonGridIdFormDTO gridIdFormDTO);
+
+ /**
+ * @param gridForm
+ * @return Result
+ * @Author wangc
+ * @Description 获取网格所需要的数据权限内容
+ * @Date 2020/3/30 10:45
+ **/
+ @PostMapping("/gov/org/customergrid/griddatafilter")
+ Result gridDataFilter(CommonGridIdFormDTO gridForm);
}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/fallback/GovIssueFeignClientFallBack.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/fallback/GovIssueFeignClientFallBack.java
new file mode 100644
index 0000000000..b3cc109467
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/fallback/GovIssueFeignClientFallBack.java
@@ -0,0 +1,23 @@
+package com.epmet.modules.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.IssueShiftedFromTopicFormDTO;
+import com.epmet.modules.feign.GovIssueFeignClient;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description gov-issue服务fegin服务降级
+ * @ClassName GovIssueFeignClientFallBack
+ * @Auth wangc
+ * @Date 2020-05-12 10:02
+ */
+@Component
+public class GovIssueFeignClientFallBack implements GovIssueFeignClient {
+
+ @Override
+ public Result issueShiftedToTopic(IssueShiftedFromTopicFormDTO issueShiftedFromTopicFormDTO) {
+ return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "issueShiftedToTopic", issueShiftedFromTopicFormDTO);
+ }
+}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/fallback/GovOrgFeignClientFallBack.java
index 6489af4de3..337a23454a 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/fallback/GovOrgFeignClientFallBack.java
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/fallback/GovOrgFeignClientFallBack.java
@@ -7,7 +7,10 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerDepartmentDTO;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.form.CommonGridIdFormDTO;
+import com.epmet.dto.form.CustomerGridFormDTO;
+import com.epmet.dto.result.CommonDataFilterResultDTO;
import com.epmet.modules.feign.GovOrgFeignClient;
+import com.epmet.modules.utils.ModuleConstant;
import org.springframework.stereotype.Component;
import java.util.List;
@@ -18,8 +21,8 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient {
@Override
- public Result getGrid(String id) {
- return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGrid", id);
+ public Result getCustomerGridByGridId(CustomerGridFormDTO customerGridFormDTO) {
+ return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER,"getCustomerGridByGridId",customerGridFormDTO);
}
@Override
@@ -31,4 +34,9 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient {
public Result> getGridStaffs(CommonGridIdFormDTO gridIdFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridStaffs", gridIdFormDTO);
}
+
+ @Override
+ public Result gridDataFilter(CommonGridIdFormDTO gridForm) {
+ return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "gridDataFilter", gridForm);
+ }
}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java
index 98eb905c13..da16e3fc25 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java
@@ -311,4 +311,14 @@ public class ResiGroupController {
resultDTO2.setResultName("group返参");
return new Result().ok(resultDTO2);
}
+
+ /**
+ * @Description 校验用户是否加入小组
+ * @param gridId
+ * @author zxc
+ */
+ @PostMapping("checkjointeam")
+ public Result checkjointeam(@RequestBody GridIdFormDTO gridId){
+ return new Result().ok(resiGroupService.checkjointeam(gridId));
+ }
}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java
index 4bc70f4762..38dc060246 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java
@@ -139,4 +139,20 @@ public interface ResiGroupDao extends BaseDao {
* @Date 2020.04.20 11:17
**/
ApplyingGroupDetailResultDTO getApplyingGroupDetailByGroupId(@Param("groupId") String groupId);
+
+ /**
+ * @Description 查询一个网格下面所有组Id
+ * @param gridId
+ * @return List
+ * @author wangc
+ * @date 2020.05.14 10:54
+ **/
+ List getGroupIdByGridId(@Param("gridId") String gridId);
+
+ /**
+ * @Description 校验用户是否加入小组
+ * @param gridId
+ * @author zxc
+ */
+ Integer checkjointeam(GridIdFormDTO gridId);
}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java
index 15197a9fd3..10b581ca2e 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java
@@ -195,11 +195,11 @@ public class ResiGroupRedis {
* @Description 获取某网格下待审核小组总数
* @Date 2020/5/13 21:40
**/
- public Long getWorkGrassrootsGroupRedDotValue(String gridId) {
- Long auditingGroupCount = 0L;
+ public Integer getWorkGrassrootsGroupRedDotValue(String gridId) {
+ Integer auditingGroupCount = 0;
try {
String workGrassrootsGroupRedDotKey = ResiGroupRedisKeys.getWorkGrassrootsGroupRedDotKey(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();
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java
index 440b4ebf9d..83a4a6e275 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java
@@ -27,6 +27,7 @@ import com.epmet.resi.group.dto.group.GroupProcessingCountResultDTO;
import com.epmet.resi.group.dto.group.ResiGroupDTO;
import com.epmet.resi.group.dto.group.form.*;
import com.epmet.resi.group.dto.group.result.*;
+import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Map;
@@ -251,4 +252,20 @@ public interface ResiGroupService extends BaseService {
* @Date 2020/5/13 21:37
**/
List queryGroupProcessingCount(List gridIdList);
+
+ /**
+ * @Description 查询一个网格下面所有组Id
+ * @param gridId
+ * @return List
+ * @author wangc
+ * @date 2020.05.14 10:54
+ **/
+ List getGroupIdByGridId(String gridId);
+
+ /**
+ * @Description 校验用户是否加入小组
+ * @param gridId
+ * @author zxc
+ */
+ CheckJoinTeamResultDTO checkjointeam(GridIdFormDTO gridId);
}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
index 2bc77432e2..0ff6d6a103 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
@@ -520,6 +520,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl
+ * @author wangc
+ * @date 2020.05.14 10:54
+ **/
+ @Override
+ public List getGroupIdByGridId(String gridId) {
+ if(StringUtils.isBlank(gridId)) return null;
+ return baseDao.getGroupIdByGridId(gridId);
+ }
+
+ /**
+ * @Description 校验用户是否加入小组
+ * @param gridId
+ * @author zxc
+ */
+ @Override
+ public CheckJoinTeamResultDTO checkjointeam(GridIdFormDTO gridId) {
+ CheckJoinTeamResultDTO checkJoinTeamResultDTO = new CheckJoinTeamResultDTO();
+ Integer joinTeamCounts = baseDao.checkjointeam(gridId);
+ if (joinTeamCounts==NumConstant.ZERO){//未加入任何小组(当前网格下)
+ checkJoinTeamResultDTO.setVoteAuthorization(false);
+ }else {
+ checkJoinTeamResultDTO.setVoteAuthorization(true);
+ }
+ return checkJoinTeamResultDTO;
+ }
+
/**
* @Description 给加入此网格的网格长发送消息
* @param msg
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java
index 7f73fc2a23..2e53b4bf6f 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java
@@ -123,6 +123,7 @@ public class ResiGroupMemberRedis {
if(null != userInfo.getData()){
memberRedis.setUserShowName(userInfo.getData().getShowName());
memberRedis.setUserHeadPhoto(userInfo.getData().getHeadPhoto());
+ memberRedis.setMemberMobile(userInfo.getData().getRegMobile());
}
}else{
logger.warn(ModuleConstant.USER_INFO_LIST_NOT_FOUND);
@@ -166,4 +167,27 @@ public class ResiGroupMemberRedis {
result.setMemberMap(memberMap);
return result;
}
+
+ /**
+ * @Description 得到这个组下所有的成员Id
+ * @param groupId
+ * @return List
+ * @author wangc
+ * @date 2020.05.14 11:03
+ **/
+ public Set getGroupMemberIds(String groupId){
+ Set groupMemberKeys =
+ redisUtils.keys(ResiGroupRedisKeys.getResiGroupMemberInfoKey(groupId,"*"));
+ if(null != groupMemberKeys && groupMemberKeys.size() > NumConstant.ZERO){
+ StringBuilder keyPrefix = new StringBuilder("resi:group:member:");
+ keyPrefix.append(groupId);
+ Set memberIds = new HashSet<>();
+ groupMemberKeys.forEach(key -> {
+ memberIds.add(key.replace(keyPrefix.toString(),""));
+ });
+ return memberIds;
+ }
+ return null;
+ }
+
}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/ResiGroupMemberService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/ResiGroupMemberService.java
index 1e57b0c4e2..0fea515cc6 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/ResiGroupMemberService.java
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/ResiGroupMemberService.java
@@ -176,4 +176,13 @@ public interface ResiGroupMemberService extends BaseService wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
wrapper.eq(FieldConstant.DEL_FLAG,NumConstant.ZERO_STR);
+ wrapper.eq(TopicConstant.CUSTOMER_USER_ID,params.get(TopicConstant.CUSTOMER_USER_ID));
+ wrapper.eq(TopicConstant.RESI_GROUP_ID,params.get(TopicConstant.RESI_GROUP_ID));
return wrapper;
}
@@ -555,7 +557,32 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl groupIds = resiGroupService.getGroupIdByGridId(gridId);
+ //2.去缓存中拿取这些组的信息
+ if(null != groupIds && groupIds.size() > NumConstant.ZERO){
+ Set set = new HashSet<>();
+ groupIds.forEach( id -> {
+ Set members = resiGroupMemberRedis.getGroupMemberIds(id);
+ if(null != members && members.size() > NumConstant.ZERO){
+ set.addAll(members);
+ }
+ });
+ return set.size();
+ }
+ return NumConstant.ZERO;
+ }
+
+ /**
* @Description 将ResiGroupMemberDTO转换成ResiGroupMemberInfoRedisDTO
* @Param
* @return
@@ -575,6 +602,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl().ok(topicService.getTopicById(topicId));
}
+ /**
+ * @Description 话题转议题初始化,如果不符合转议题的条件会抛异常
+ * @param tokenDto
+ * @param topicIdFormDTO
+ * @author wangc
+ * @date 2020.05.12 16:28
+ **/
+ @PostMapping("initturnissue")
+ public Result initTurnIssue(@LoginUser TokenDto tokenDto,@RequestBody CommonTopicIdFormDTO topicIdFormDTO){
+ topicIdFormDTO.setUserId(tokenDto.getUserId());
+ ValidatorUtils.validateEntity(topicIdFormDTO);
+ return new Result().ok(topicService.initTopicInfoWhenShift(topicIdFormDTO));
+ }
+
+ /**
+ * @Description 话题转议题
+ * @param topicTurnIssueFromDTO
+ * @param tokenDto
+ * @author wangc
+ * @date 2020.05.13 19:08
+ **/
+ @PostMapping("turnintoissue")
+ public Result turnIntoIssue(@LoginUser TokenDto tokenDto,@RequestBody ResiTopicTurnIssueFromDTO topicTurnIssueFromDTO){
+ topicTurnIssueFromDTO.setUserId(tokenDto.getUserId());
+ ValidatorUtils.validateEntity(topicTurnIssueFromDTO);
+ topicService.shiftIssue(topicTurnIssueFromDTO);
+ return new Result();
+ }
+
+ /**
+ * @Description 政府端查看议题详情时的话题相关信息
+ * @param govTopicIssueInfoFormDTO
+ * @author wangc
+ * @date 2020.05.12 13:53
+ **/
+ @PostMapping("topicinfoforissuedetailgov")
+ public Result topicInfoForIssueDetailGov(@RequestBody GovTopicIssueInfoFormDTO govTopicIssueInfoFormDTO){
+ ValidatorUtils.validateEntity(govTopicIssueInfoFormDTO);
+ return new Result().ok(topicService.topicInfoForIssueDetailGov(govTopicIssueInfoFormDTO));
+ }
+
}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java
index 95d679080a..a4e516caf1 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java
@@ -20,9 +20,12 @@ package com.epmet.modules.topic.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.topic.entity.ResiTopicEntity;
+import com.epmet.resi.group.dto.group.ResiGroupDTO;
import com.epmet.resi.group.dto.topic.ResiTopicDTO;
import com.epmet.resi.group.dto.topic.TopicInfoDTO;
import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO;
+import com.epmet.resi.group.dto.topic.result.ResiTopicAndGroupResultDTO;
+import com.epmet.resi.group.dto.topic.result.ResiTopicAttachmentsResultDTO;
import com.epmet.resi.group.dto.topic.result.ResiTopicIncludeIssueInfoResultDTO;
import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO;
import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO;
@@ -120,4 +123,29 @@ public interface ResiTopicDao extends BaseDao {
* @date 2020/5/11 15:28
*/
TopicInfoDTO selectDetail(TopicInfoFormDTO formDTO);
+
+ /**
+ * @Description 根据话题Id获取小组的信息
+ * @param topicId
+ * @author wangc
+ * @date 2020.05.13 13:50
+ **/
+ ResiTopicAndGroupResultDTO getGroupInfoByTopicId(@Param("topicId")String topicId);
+
+ /**
+ * @Description
+ * @param topic ResiTopicEntity.class
+ * @author wangc
+ * @date 2020.05.13 18:52
+ **/
+ int updateOne(ResiTopicEntity topic);
+
+ /**
+ * @Description 查询话题和附件信息
+ * @param topicId
+ * @return ResiTopicAttachmentsResultDTO
+ * @author wangc
+ * @date 2020.05.14 17:02
+ **/
+ ResiTopicAttachmentsResultDTO selectTopicAndAttachments(@Param("topicId")String topicId);
}
\ No newline at end of file
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicOperationDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicOperationDao.java
index 8c4b186b03..c92ef5cb12 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicOperationDao.java
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicOperationDao.java
@@ -40,4 +40,12 @@ public interface ResiTopicOperationDao extends BaseDao
**/
int insertOne(ResiTopicOperationEntity topicOperationEntity);
+ /**
+ * @Description 按传参进行新增操作
+ * @param topicOperationEntity
+ * @return int 受影响的行数
+ * @author wangc
+ * @date 2020.05.14 09:16
+ **/
+ int insertOneByParams(ResiTopicOperationEntity topicOperationEntity);
}
\ No newline at end of file
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java
index 74cc6c3633..943aa5a47d 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java
@@ -26,15 +26,10 @@ import com.epmet.modules.topic.entity.ResiTopicEntity;
import com.epmet.resi.group.dto.member.form.RemoveMemberFormDTO;
import com.epmet.resi.group.dto.topic.ResiTopicDTO;
+
import com.epmet.resi.group.dto.topic.TopicInfoDTO;
-import com.epmet.resi.group.dto.topic.form.ResiTopicOperationFormDTO;
-import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO;
-import com.epmet.resi.group.dto.topic.form.ResiTopicPublishFormDTO;
-import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO;
-import com.epmet.resi.group.dto.topic.result.ResiTopicDetailResultDTO;
-import com.epmet.resi.group.dto.topic.result.ResiTopicIncludeIssueDetailResultDTO;
-import com.epmet.resi.group.dto.topic.result.ResiTopicIncludeIssueInfoResultDTO;
-import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO;
+import com.epmet.resi.group.dto.topic.form.*;
+import com.epmet.resi.group.dto.topic.result.*;
import java.util.List;
@@ -237,4 +232,28 @@ public interface ResiTopicService extends BaseService {
**/
ResiTopicDTO getTopicById(String topicId);
+ /**
+ * @Description 话题转议题时初始化数据
+ * @param topicIdFormDTO
+ * @author wangc
+ * @date 2020.05.12 13:53
+ **/
+ ResiTopicShiftIssueInitResultDTO initTopicInfoWhenShift(CommonTopicIdFormDTO topicIdFormDTO);
+
+ /**
+ * @Description 话题转议题
+ * @param topicTurnIssueFromDTO
+ * @author wangc
+ * @date 2020.05.13 10:28
+ **/
+ void shiftIssue(ResiTopicTurnIssueFromDTO topicTurnIssueFromDTO);
+
+ /**
+ * @Description 政府端查看议题详情时的话题相关信息
+ * @param govTopicIssueInfoFormDTO
+ * @author wangc
+ * @date 2020.05.12 13:53
+ **/
+ GovTopicIssueInfoResultDTO topicInfoForIssueDetailGov(GovTopicIssueInfoFormDTO govTopicIssueInfoFormDTO);
+
}
\ No newline at end of file
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java
index 81a4500ca8..8751f579c2 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java
@@ -23,6 +23,7 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
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.redis.RedisKeys;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
@@ -31,7 +32,10 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.UserResiInfoListFormDTO;
import com.epmet.dto.result.UserResiInfoResultDTO;
import com.epmet.modules.comment.entity.ResiTopicCommentEntity;
+import com.epmet.modules.constant.ResiGroupRedisKeys;
import com.epmet.modules.feign.EpmetUserFeignClient;
+import com.epmet.modules.member.dao.ResiGroupMemberDao;
+import com.epmet.modules.member.redis.ResiGroupMemberRedis;
import com.epmet.modules.member.service.ResiGroupMemberService;
import com.epmet.modules.topic.dao.ResiTopicCommentDao;
import com.epmet.modules.topic.service.ResiTopicCommentService;
@@ -42,9 +46,12 @@ import com.epmet.resi.group.constant.TopicConstant;
import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO;
import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO;
import com.epmet.resi.group.dto.member.ResiGroupMemberDTO;
+import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO;
+import com.epmet.resi.group.dto.member.result.ResiGroupMemberInfoRedisResultDTO;
import com.epmet.resi.group.dto.topic.ResiTopicCommentDTO;
import com.epmet.resi.group.dto.topic.ResiTopicDTO;
import com.epmet.resi.group.dto.topic.form.ResiPublishCommentFormDTO;
+import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -52,10 +59,8 @@ 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;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* 话题评论表
@@ -75,6 +80,12 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl comments = baseDao.getCommentList(commentFormDTO);
if (null != comments && comments.size() > 0) {
-
- List userIdList = new ArrayList<>();
+ //获取groupId
+ ResiTopicDTO topic =
+ resiTopicService.get(commentFormDTO.getTopicId());
+ /*List userIdList = new ArrayList<>();
for (ResiCommentResultDTO comment : comments) {
userIdList.add(comment.getUserId());
}
@@ -214,7 +227,8 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl>().ok(comments);
@@ -232,5 +246,74 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl