Browse Source

项目相关接口

dev_shibei_match
zhaoqifeng 5 years ago
parent
commit
17de9a66a5
  1. 28
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShiftProjectListFromDTO.java
  2. 41
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ShiftProjectListResultDTO.java
  3. 6
      epmet-module/gov-issue/gov-issue-server/pom.xml
  4. 14
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java
  5. 17
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java
  6. 12
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java
  7. 30
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java
  8. 24
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java
  9. 11
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java
  10. 289
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  11. 11
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml
  12. 20
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ShiftProjectsFromDTO.java
  13. 53
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ShiftProjectResultDTO.java
  14. 15
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java
  15. 22
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java
  16. 11
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java
  17. 4
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java
  18. 19
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java
  19. 11
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java
  20. 14
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  21. 13
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java
  22. 15
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml
  23. 6
      epmet-module/resi-hall/resi-hall-server/pom.xml
  24. 11
      epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java
  25. 12
      epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java
  26. 5
      epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java
  27. 9
      epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java
  28. 57
      epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java

28
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShiftProjectListFromDTO.java

@ -0,0 +1,28 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/5/13 16:14
*/
@Data
public class ShiftProjectListFromDTO implements Serializable {
private static final long serialVersionUID = -1132054225167531812L;
/**
* 网格Id
*/
private String gridId;
/**
* 当前页
*/
private Integer pageNo;
/**
* 每页记录数
*/
private Integer pageSize;
}

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

@ -0,0 +1,41 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/5/13 16:16
*/
@Data
public class ShiftProjectListResultDTO implements Serializable {
private static final long serialVersionUID = -8616067919204282328L;
/**
* 议题Id
*/
private String issueId;
/**
* 议题标题
*/
private String issueTitle;
/**
* 转成项目时间
*/
private Long shiftedTime;
/**
* 项目状态
*/
private String projectStatus;
/**
* 结案说明
*/
private String publicReply;
/**
* 当前处理部门
*/
private List<String> departmentNameList;
}

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

@ -78,6 +78,12 @@
<version>2.0.0</version> <version>2.0.0</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>gov-project-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>

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

@ -2,8 +2,10 @@ package com.epmet.controller;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.IssueDetailFormDTO; import com.epmet.dto.form.IssueDetailFormDTO;
import com.epmet.dto.form.ShiftProjectListFromDTO;
import com.epmet.dto.result.GridVotingIssueCountResultDTO; import com.epmet.dto.result.GridVotingIssueCountResultDTO;
import com.epmet.dto.result.IssueResultDTO; import com.epmet.dto.result.IssueResultDTO;
import com.epmet.dto.result.ShiftProjectListResultDTO;
import com.epmet.service.IssueService; import com.epmet.service.IssueService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@ -48,5 +50,17 @@ public class IssueController {
List<GridVotingIssueCountResultDTO> list = issueService.queryVotingIssueCount(gridIdList); List<GridVotingIssueCountResultDTO> list = issueService.queryVotingIssueCount(gridIdList);
return new Result<List<GridVotingIssueCountResultDTO>>().ok(list); return new Result<List<GridVotingIssueCountResultDTO>>().ok(list);
} }
/**
* 已转项目列表
* @author zhaoqifeng
* @date 2020/5/13 16:22
* @param fromDTO 参数
* @return java.util.List<com.epmet.dto.result.ShiftProjectListResultDTO>
*/
@PostMapping("shiftprojectlist")
public Result<List<ShiftProjectListResultDTO>> getShiftProjectList(@RequestBody ShiftProjectListFromDTO fromDTO) {
return new Result<List<ShiftProjectListResultDTO>>().ok(issueService.getShiftProjectList(fromDTO));
}
} }

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

@ -6,8 +6,12 @@ import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.CloseIssueFormDTO;
import com.epmet.dto.form.DepartmentStaffListFormDTO;
import com.epmet.dto.form.ShiftProjectListFromDTO;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.dto.result.DepartmentStaffListResultDTO;
import com.epmet.dto.result.ShiftProjectListResultDTO;
import com.epmet.dto.result.EvaluationListResultDTO; import com.epmet.dto.result.EvaluationListResultDTO;
import com.epmet.dto.result.VotingTrendResultDTO; import com.epmet.dto.result.VotingTrendResultDTO;
import com.epmet.service.IssueService; import com.epmet.service.IssueService;
@ -61,6 +65,19 @@ public class IssueManageController {
return new Result<DepartmentStaffListResultDTO>().ok(issueService.departmentStaffList(formDTO)); return new Result<DepartmentStaffListResultDTO>().ok(issueService.departmentStaffList(formDTO));
} }
/**
* 已转项目列表
* @author zhaoqifeng
* @date 2020/5/13 16:22
* @param fromDTO 参数
* @return java.util.List<com.epmet.dto.result.ShiftProjectListResultDTO>
*/
@PostMapping("shiftprojectlist")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_SHIFTED_PROJECT_LIST)
public Result<List<ShiftProjectListResultDTO>> getShiftProjectList(@RequestBody ShiftProjectListFromDTO fromDTO) {
return new Result<List<ShiftProjectListResultDTO>>().ok(issueService.getShiftProjectList(fromDTO));
}
/** /**
* @Description 详情折线图 * @Description 详情折线图
* @param issueId * @param issueId

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

@ -19,10 +19,13 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.IssueDetailFormDTO; import com.epmet.dto.form.IssueDetailFormDTO;
import com.epmet.dto.form.ShiftProjectListFromDTO;
import com.epmet.dto.result.IssueResultDTO; import com.epmet.dto.result.IssueResultDTO;
import com.epmet.entity.IssueEntity; import com.epmet.entity.IssueEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 议题详情 关联话题转议题时间必须要和话题转议题时间一致关闭时间必须要和操作记录表的关闭记录时间一致转项目时间必须要和项目记录生成时间一致注意服务间调用的时间一致性每个议题最后总会被关闭 * 议题详情 关联话题转议题时间必须要和话题转议题时间一致关闭时间必须要和操作记录表的关闭记录时间一致转项目时间必须要和项目记录生成时间一致注意服务间调用的时间一致性每个议题最后总会被关闭
* *
@ -40,4 +43,13 @@ public interface IssueDao extends BaseDao<IssueEntity> {
*/ */
IssueResultDTO issueDetail(IssueDetailFormDTO formDTO); IssueResultDTO issueDetail(IssueDetailFormDTO formDTO);
/**
* 根据网格ID查找已转项目议题列表
* @author zhaoqifeng
* @date 2020/5/13 16:27
* @param fromDTO 参数
* @return java.util.List<com.epmet.entity.IssueEntity>
*/
List<IssueEntity> selectIssueListByGridId(ShiftProjectListFromDTO fromDTO);
} }

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

@ -0,0 +1,30 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.ShiftProjectsFromDTO;
import com.epmet.dto.result.ShiftProjectResultDTO;
import com.epmet.feign.fallback.GovProjectFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/5/14 13:26
*/
@FeignClient(name = ServiceConstant.GOV_PROJECT_SERVER, fallback = GovProjectFeignClientFallBack.class)
public interface GovProjectFeignClient {
/**
* 根据议题查询项目
* @author zhaoqifeng
* @date 2020/5/13 16:55
* @param fromDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.ProjectDTO>>
*/
@PostMapping("/gov/project/project/shiftprojectlist")
Result<List<ShiftProjectResultDTO>> getProjectByIssue(@RequestBody ShiftProjectsFromDTO fromDTO);
}

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

@ -0,0 +1,24 @@
package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.ShiftProjectsFromDTO;
import com.epmet.dto.result.ShiftProjectResultDTO;
import com.epmet.feign.GovProjectFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/5/14 13:26
*/
@Component
public class GovProjectFeignClientFallBack implements GovProjectFeignClient {
@Override
public Result<List<ShiftProjectResultDTO>> getProjectByIssue(ShiftProjectsFromDTO fromDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "getProjectByIssue", fromDTO);
}
}

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

@ -4,9 +4,11 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dto.form.CloseIssueFormDTO; import com.epmet.dto.form.CloseIssueFormDTO;
import com.epmet.dto.form.DepartmentStaffListFormDTO; import com.epmet.dto.form.DepartmentStaffListFormDTO;
import com.epmet.dto.form.IssueDetailFormDTO; import com.epmet.dto.form.IssueDetailFormDTO;
import com.epmet.dto.form.ShiftProjectListFromDTO;
import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.dto.result.DepartmentStaffListResultDTO;
import com.epmet.dto.result.GridVotingIssueCountResultDTO; import com.epmet.dto.result.GridVotingIssueCountResultDTO;
import com.epmet.dto.result.IssueResultDTO; import com.epmet.dto.result.IssueResultDTO;
import com.epmet.dto.result.ShiftProjectListResultDTO;
import com.epmet.entity.IssueEntity; import com.epmet.entity.IssueEntity;
import java.util.List; import java.util.List;
@ -40,6 +42,15 @@ public interface IssueService extends BaseService<IssueEntity> {
* @Description 议题管理-部门人员选择 * @Description 议题管理-部门人员选择
**/ **/
DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO); DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO);
/**
* 已转项目议题列表
* @author zhaoqifeng
* @date 2020/5/13 16:22
* @param fromDTO 参数
* @return java.util.List<com.epmet.dto.result.ShiftProjectListResultDTO>
*/
List<ShiftProjectListResultDTO> getShiftProjectList(ShiftProjectListFromDTO fromDTO);
/** /**
* @param gridIdList * @param gridIdList
* @return java.util.List<com.epmet.dto.result.GridVotingIssueCountResultDTO> * @return java.util.List<com.epmet.dto.result.GridVotingIssueCountResultDTO>

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

@ -10,17 +10,13 @@ import com.epmet.constant.ReadFlagConstant;
import com.epmet.constant.UserMessageConstant; import com.epmet.constant.UserMessageConstant;
import com.epmet.dao.IssueDao; import com.epmet.dao.IssueDao;
import com.epmet.dao.IssueProcessDao; import com.epmet.dao.IssueProcessDao;
import com.epmet.dto.form.CloseIssueFormDTO; import com.epmet.dto.ProjectDTO;
import com.epmet.dto.form.DepartmentStaffListFormDTO; import com.epmet.dto.form.*;
import com.epmet.dto.form.IssueDetailFormDTO; import com.epmet.dto.result.*;
import com.epmet.dto.form.UserMessageFormDTO;
import com.epmet.dto.result.AgencyGridResultDTO;
import com.epmet.dto.result.DepartmentStaffListResultDTO;
import com.epmet.dto.result.GridVotingIssueCountResultDTO;
import com.epmet.dto.result.IssueResultDTO;
import com.epmet.entity.IssueEntity; import com.epmet.entity.IssueEntity;
import com.epmet.entity.IssueProcessEntity; import com.epmet.entity.IssueProcessEntity;
import com.epmet.feign.GovOrgFeignClient; import com.epmet.feign.GovOrgFeignClient;
import com.epmet.feign.GovProjectFeignClient;
import com.epmet.feign.MessageFeignClient; import com.epmet.feign.MessageFeignClient;
import com.epmet.feign.ResiGroupFeignClient; import com.epmet.feign.ResiGroupFeignClient;
import com.epmet.redis.GovIssueRedis; import com.epmet.redis.GovIssueRedis;
@ -33,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* @Author zxc * @Author zxc
@ -41,132 +38,162 @@ import java.util.List;
@Service @Service
public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> implements IssueService { public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> implements IssueService {
@Autowired @Autowired
private IssueDao issueDao; private IssueDao issueDao;
@Autowired @Autowired
private GovOrgFeignClient govOrgFeignClient; private GovOrgFeignClient govOrgFeignClient;
@Autowired @Autowired
private IssueProcessDao issueProcessDao; private IssueProcessDao issueProcessDao;
@Autowired @Autowired
private ResiGroupFeignClient resiGroupFeignClient; private ResiGroupFeignClient resiGroupFeignClient;
@Autowired @Autowired
private MessageFeignClient messageFeignClient; private MessageFeignClient messageFeignClient;
@Autowired @Autowired
private GovIssueRedis govIssueRedis; private GovIssueRedis govIssueRedis;
@Autowired
private GovProjectFeignClient govProjectFeignClient;
/** /**
* @Description 议题详情 * @param issueDetail
* @param issueDetail * @Description 议题详情
* @author zxc * @author zxc
* @date 2020/5/11 10:04 * @date 2020/5/11 10:04
*/ */
@Override @Override
public IssueResultDTO detail(IssueDetailFormDTO issueDetail) { public IssueResultDTO detail(IssueDetailFormDTO issueDetail) {
//议题信息 //议题信息
IssueResultDTO issueResult = issueDao.issueDetail(issueDetail); IssueResultDTO issueResult = issueDao.issueDetail(issueDetail);
return issueResult; return issueResult;
} }
/** /**
* @param formDTO * @param formDTO
* @return * @return
* @Author sun * @Author sun
* @Description 议题管理-关闭议题 * @Description 议题管理-关闭议题
**/ **/
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void closeIssue(CloseIssueFormDTO formDTO) { public void closeIssue(CloseIssueFormDTO formDTO) {
Date date = new Date(); Date date = new Date();
//1:更新议题详情表数据 //1:更新议题详情表数据
IssueEntity entity = baseDao.selectById(formDTO.getIssueId()); IssueEntity entity = baseDao.selectById(formDTO.getIssueId());
if (null == entity) { if (null == entity) {
throw new RenException(IssueConstant.SELECT_EXCEPTION); throw new RenException(IssueConstant.SELECT_EXCEPTION);
} }
entity.setIssueStatus(IssueConstant.ISSUE_CLOSED); entity.setIssueStatus(IssueConstant.ISSUE_CLOSED);
entity.setCloseReason(formDTO.getCloseReason()); entity.setCloseReason(formDTO.getCloseReason());
entity.setResolveType(formDTO.getResolveType()); entity.setResolveType(formDTO.getResolveType());
entity.setVotingDeadline(date); entity.setVotingDeadline(date);
entity.setClosedTime(date); entity.setClosedTime(date);
if (baseDao.updateById(entity) < NumConstant.ONE) { if (baseDao.updateById(entity) < NumConstant.ONE) {
throw new RenException(IssueConstant.UPPDATE_EXCEPTION); throw new RenException(IssueConstant.UPPDATE_EXCEPTION);
} }
//2:调用gov-org服务,查询组织网格名称 //2:调用gov-org服务,查询组织网格名称
AgencyGridResultDTO agencyGridResultDTO = new AgencyGridResultDTO(); AgencyGridResultDTO agencyGridResultDTO = new AgencyGridResultDTO();
agencyGridResultDTO.setAgencyId(entity.getOrgId()); agencyGridResultDTO.setAgencyId(entity.getOrgId());
agencyGridResultDTO.setGridId(entity.getGridId()); agencyGridResultDTO.setGridId(entity.getGridId());
Result<AgencyGridResultDTO> resultDTO = govOrgFeignClient.getAgencyAndGrid(agencyGridResultDTO); Result<AgencyGridResultDTO> resultDTO = govOrgFeignClient.getAgencyAndGrid(agencyGridResultDTO);
agencyGridResultDTO = resultDTO.getData(); agencyGridResultDTO = resultDTO.getData();
//3:议题进展记录表新增数据 //3:议题进展记录表新增数据
IssueProcessEntity processEntity = new IssueProcessEntity(); IssueProcessEntity processEntity = new IssueProcessEntity();
processEntity.setIssueId(formDTO.getIssueId()); processEntity.setIssueId(formDTO.getIssueId());
processEntity.setIssueStatus(IssueConstant.ISSUE_CLOSED); processEntity.setIssueStatus(IssueConstant.ISSUE_CLOSED);
processEntity.setOrgType(IssueConstant.ISSUE_GRID); processEntity.setOrgType(IssueConstant.ISSUE_GRID);
processEntity.setOrgId(entity.getOrgId()); processEntity.setOrgId(entity.getOrgId());
processEntity.setOperationExplain(formDTO.getCloseReason()); processEntity.setOperationExplain(formDTO.getCloseReason());
processEntity.setOrgName(agencyGridResultDTO.getAgencyName()+"-"+agencyGridResultDTO.getGridName()); processEntity.setOrgName(agencyGridResultDTO.getAgencyName() + "-" + agencyGridResultDTO.getGridName());
issueProcessDao.insert(processEntity); issueProcessDao.insert(processEntity);
//4:调用epmet-message服务,给居民端话题创建人和议题发起人发送消息 //4:调用epmet-message服务,给居民端话题创建人和议题发起人发送消息
if(!saveUserMessageList(formDTO, entity).success()){ if (!saveUserMessageList(formDTO, entity).success()) {
throw new RenException(IssueConstant.SAVE_MSG_EXCEPTION); throw new RenException(IssueConstant.SAVE_MSG_EXCEPTION);
} }
} }
@Override @Override
public List<GridVotingIssueCountResultDTO> queryVotingIssueCount(List<String> gridIdList) { public List<GridVotingIssueCountResultDTO> queryVotingIssueCount(List<String> gridIdList) {
List<GridVotingIssueCountResultDTO> list=new ArrayList<>(); List<GridVotingIssueCountResultDTO> list = new ArrayList<>();
for(String gridId:gridIdList){ for (String gridId : gridIdList) {
GridVotingIssueCountResultDTO gridVotingIssueCountResultDTO=new GridVotingIssueCountResultDTO(); GridVotingIssueCountResultDTO gridVotingIssueCountResultDTO = new GridVotingIssueCountResultDTO();
gridVotingIssueCountResultDTO.setGridId(gridId); gridVotingIssueCountResultDTO.setGridId(gridId);
Long auditingCount=govIssueRedis.queryVotingIssueCount(gridId); Long auditingCount = govIssueRedis.queryVotingIssueCount(gridId);
gridVotingIssueCountResultDTO.setCount(auditingCount); gridVotingIssueCountResultDTO.setCount(auditingCount);
list.add(gridVotingIssueCountResultDTO); list.add(gridVotingIssueCountResultDTO);
} }
return list; return list;
} }
/** /**
* @Description 关闭议题给话题创建人和议题发起人发送消息 * @Description 关闭议题给话题创建人和议题发起人发送消息
* @author sun * @author sun
*/ */
private Result saveUserMessageList(CloseIssueFormDTO formDTO, IssueEntity entity){ private Result saveUserMessageList(CloseIssueFormDTO formDTO, IssueEntity entity) {
//1:调用resi-group查询话题创建人数据(目前议题来源只有来自话题) //1:调用resi-group查询话题创建人数据(目前议题来源只有来自话题)
Result<ResiTopicDTO> resultTopicDTO = resiGroupFeignClient.getTopicById(entity.getSourceId()); Result<ResiTopicDTO> resultTopicDTO = resiGroupFeignClient.getTopicById(entity.getSourceId());
if (!resultTopicDTO.success() || null == resultTopicDTO.getData()) { if (!resultTopicDTO.success() || null == resultTopicDTO.getData()) {
throw new RenException(IssueConstant.SELECT_TOPIC_EXCEPTION); throw new RenException(IssueConstant.SELECT_TOPIC_EXCEPTION);
} }
ResiTopicDTO topicDTO = resultTopicDTO.getData(); ResiTopicDTO topicDTO = resultTopicDTO.getData();
//2:分别给话题创建人、议题发起人发送消息 //2:分别给话题创建人、议题发起人发送消息
List<UserMessageFormDTO> msgList = new ArrayList<>(); List<UserMessageFormDTO> msgList = new ArrayList<>();
UserMessageFormDTO msgDTO = new UserMessageFormDTO(); UserMessageFormDTO msgDTO = new UserMessageFormDTO();
msgDTO.setCustomerId(entity.getCustomerId()); msgDTO.setCustomerId(entity.getCustomerId());
msgDTO.setGridId(entity.getGridId()); msgDTO.setGridId(entity.getGridId());
msgDTO.setApp(AppClientConstant.APP_RESI); msgDTO.setApp(AppClientConstant.APP_RESI);
msgDTO.setTitle(UserMessageConstant.ISSUE_TITLE); msgDTO.setTitle(UserMessageConstant.ISSUE_TITLE);
String messageContent = ""; String messageContent = "";
if (IssueConstant.ISSUE_RESLOVED.equals(formDTO.getResolveType())) { if (IssueConstant.ISSUE_RESLOVED.equals(formDTO.getResolveType())) {
messageContent = String.format(UserMessageConstant.ISSUE_RESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason()); messageContent = String.format(UserMessageConstant.ISSUE_RESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason());
} else if (IssueConstant.ISSUE_UNRESLOVED.equals(formDTO.getResolveType())) { } else if (IssueConstant.ISSUE_UNRESLOVED.equals(formDTO.getResolveType())) {
messageContent = String.format(UserMessageConstant.ISSUE_UNRESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason()); messageContent = String.format(UserMessageConstant.ISSUE_UNRESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason());
} }
msgDTO.setMessageContent(messageContent); msgDTO.setMessageContent(messageContent);
msgDTO.setReadFlag(ReadFlagConstant.UN_READ); msgDTO.setReadFlag(ReadFlagConstant.UN_READ);
msgDTO.setUserId(topicDTO.getCreatedBy()); msgDTO.setUserId(topicDTO.getCreatedBy());
msgList.add(msgDTO); msgList.add(msgDTO);
msgDTO.setUserId(entity.getCreatedBy()); msgDTO.setUserId(entity.getCreatedBy());
msgList.add(msgDTO); msgList.add(msgDTO);
return messageFeignClient.saveUserMessageList(msgList); return messageFeignClient.saveUserMessageList(msgList);
} }
/** /**
* @param formDTO * @param formDTO
* @return * @return
* @Author sun * @Author sun
* @Description 议题管理-部门人员选择 * @Description 议题管理-部门人员选择
**/ **/
@Override @Override
public DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO) { public DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO) {
//1:调用gov-org服务,分别查询组织下人员,组织下部门人员,组织下网格人员列表信息 //1:调用gov-org服务,分别查询组织下人员,组织下部门人员,组织下网格人员列表信息
Result<DepartmentStaffListResultDTO> resultDTOResult = govOrgFeignClient.departmentStaffList(formDTO.getAgencyId()); Result<DepartmentStaffListResultDTO> resultDTOResult = govOrgFeignClient.departmentStaffList(formDTO.getAgencyId());
return resultDTOResult.getData(); return resultDTOResult.getData();
} }
@Override
public List<ShiftProjectListResultDTO> getShiftProjectList(ShiftProjectListFromDTO fromDTO) {
List<ShiftProjectListResultDTO> resultList = new ArrayList<>();
//查询条件
int pageIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize();
fromDTO.setPageNo(pageIndex);
List<IssueEntity> issueList = baseDao.selectIssueListByGridId(fromDTO);
if (null == issueList || issueList.size() == 0) {
return resultList;
}
//遍历获取所有的userId
List<String> issueIds = issueList.stream().map(IssueEntity::getId).collect(Collectors.toList());
ShiftProjectsFromDTO shiftProjectsFromDTO = new ShiftProjectsFromDTO();
shiftProjectsFromDTO.setIssueIds(issueIds);
List<ShiftProjectResultDTO> projectList = govProjectFeignClient.getProjectByIssue(shiftProjectsFromDTO).getData();
resultList = issueList.stream().flatMap(issue -> projectList.stream().filter(p -> issue.getId().equals(p.getOriginId())).map(project ->{
ShiftProjectListResultDTO shiftProject = new ShiftProjectListResultDTO();
shiftProject.setIssueId(issue.getId());
shiftProject.setIssueTitle(issue.getIssueTitle());
shiftProject.setDepartmentNameList(project.getDepartmentNameList());
shiftProject.setPublicReply(project.getPublicReply());
shiftProject.setShiftedTime(project.getCreatedTime().getTime());
shiftProject.setProjectStatus(project.getStatus());
return shiftProject;
})).collect(Collectors.toList());
return resultList;
}
} }

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

@ -44,4 +44,15 @@
AND del_flag = 0 AND del_flag = 0
</select> </select>
<select id="selectIssueListByGridId" parameterType="com.epmet.dto.form.ShiftProjectListFromDTO" resultType="com.epmet.entity.IssueEntity">
SELECT
*
FROM
issue
WHERE
DEL_FLAG = '0'
AND GRID_ID = #{gridId}
AND ISSUE_STATUS = 'shift_project'
</select>
</mapper> </mapper>

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

@ -0,0 +1,20 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/5/13 16:47
*/
@Data
public class ShiftProjectsFromDTO implements Serializable {
private static final long serialVersionUID = 3832656052193286163L;
/**
* 议题ID
*/
List<String> issueIds;
}

53
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ShiftProjectResultDTO.java

@ -0,0 +1,53 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/5/14 13:45
*/
@Data
public class ShiftProjectResultDTO implements Serializable {
private static final long serialVersionUID = 4807330131467747264L;
/**
* 唯一标识
*/
private String id;
/**
* 来源ID
*/
private String originId;
/**
* 项目标题
*/
private String title;
/**
* 状态:待处理 pending结案closed
*/
private String status;
/**
* 结案说明
*/
private String publicReply;
/**
* 创建时间
*/
private Date createdTime;
/**
* 当前处理部门
*/
private List<String> departmentNameList;
}

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

@ -26,6 +26,8 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.ProjectDTO; import com.epmet.dto.ProjectDTO;
import com.epmet.dto.form.ShiftProjectsFromDTO;
import com.epmet.dto.result.ShiftProjectResultDTO;
import com.epmet.excel.ProjectExcel; import com.epmet.excel.ProjectExcel;
import com.epmet.service.ProjectService; import com.epmet.service.ProjectService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -91,4 +93,17 @@ public class ProjectController {
ExcelUtils.exportExcelToTarget(response, null, list, ProjectExcel.class); ExcelUtils.exportExcelToTarget(response, null, list, ProjectExcel.class);
} }
/**
* 根据议题查询项目
* @author zhaoqifeng
* @date 2020/5/13 16:55
* @param fromDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.ProjectDTO>>
*/
@PostMapping("shiftprojectlist")
public Result<List<ShiftProjectResultDTO>> getProjectByIssue(@RequestBody ShiftProjectsFromDTO fromDTO) {
List<ShiftProjectResultDTO> list = projectService.getProjectByIssue(fromDTO);
return new Result<List<ShiftProjectResultDTO>>().ok(list);
}
} }

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

@ -12,6 +12,7 @@ import com.epmet.service.ProjectProcessService;
import com.epmet.service.ProjectSatisfactionDetailService; import com.epmet.service.ProjectSatisfactionDetailService;
import com.epmet.service.ProjectStaffService; import com.epmet.service.ProjectStaffService;
import com.epmet.service.ProjectTraceService; import com.epmet.service.ProjectTraceService;
import oracle.jdbc.proxy.annotation.Post;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@ -51,6 +52,7 @@ public class ProjectTraceController {
* @date 2020/5/11 16:14 * @date 2020/5/11 16:14
*/ */
@PostMapping("pendprojectlist") @PostMapping("pendprojectlist")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_PENDING_LIST)
public Result<List<PendProjectListResultDTO>> getPendProjectList(@LoginUser TokenDto tokenDto, @RequestBody ProjectListFromDTO fromDTO) { public Result<List<PendProjectListResultDTO>> getPendProjectList(@LoginUser TokenDto tokenDto, @RequestBody ProjectListFromDTO fromDTO) {
List<PendProjectListResultDTO> result = projectTraceService.getPendProjectList(tokenDto, fromDTO); List<PendProjectListResultDTO> result = projectTraceService.getPendProjectList(tokenDto, fromDTO);
return new Result<List<PendProjectListResultDTO>>().ok(result); return new Result<List<PendProjectListResultDTO>>().ok(result);
@ -66,6 +68,7 @@ public class ProjectTraceController {
* @date 2020/5/11 16:19 * @date 2020/5/11 16:19
*/ */
@PostMapping("createdlist") @PostMapping("createdlist")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_CREATED_LIST)
public Result<List<CreatedListResultDTO>> getCreatedList(@LoginUser TokenDto tokenDto, @RequestBody ProjectListFromDTO fromDTO) { public Result<List<CreatedListResultDTO>> getCreatedList(@LoginUser TokenDto tokenDto, @RequestBody ProjectListFromDTO fromDTO) {
List<CreatedListResultDTO> result = projectTraceService.getCreatedList(tokenDto, fromDTO); List<CreatedListResultDTO> result = projectTraceService.getCreatedList(tokenDto, fromDTO);
return new Result<List<CreatedListResultDTO>>().ok(result); return new Result<List<CreatedListResultDTO>>().ok(result);
@ -81,6 +84,7 @@ public class ProjectTraceController {
* @date 2020/5/11 16:21 * @date 2020/5/11 16:21
*/ */
@PostMapping("involvedlist") @PostMapping("involvedlist")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_INVOLVED_LIST)
public Result<List<InvolvedListResultDTO>> getInvolvedList(@LoginUser TokenDto tokenDto, @RequestBody ProjectListFromDTO fromDTO) { public Result<List<InvolvedListResultDTO>> getInvolvedList(@LoginUser TokenDto tokenDto, @RequestBody ProjectListFromDTO fromDTO) {
List<InvolvedListResultDTO> result = projectTraceService.getInvolvedList(tokenDto, fromDTO); List<InvolvedListResultDTO> result = projectTraceService.getInvolvedList(tokenDto, fromDTO);
return new Result<List<InvolvedListResultDTO>>().ok(result); return new Result<List<InvolvedListResultDTO>>().ok(result);
@ -96,6 +100,7 @@ public class ProjectTraceController {
* @date 2020/5/11 16:25 * @date 2020/5/11 16:25
*/ */
@PostMapping("projectdetail") @PostMapping("projectdetail")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_DETAIL)
public Result<ProjectDetailResultDTO> getProjectDetail(@LoginUser TokenDto tokenDto, @RequestBody ProjectDetailFromDTO fromDTO) { public Result<ProjectDetailResultDTO> getProjectDetail(@LoginUser TokenDto tokenDto, @RequestBody ProjectDetailFromDTO fromDTO) {
ProjectDetailResultDTO result = projectTraceService.getProjectDetail(tokenDto, fromDTO); ProjectDetailResultDTO result = projectTraceService.getProjectDetail(tokenDto, fromDTO);
return new Result<ProjectDetailResultDTO>().ok(result); return new Result<ProjectDetailResultDTO>().ok(result);
@ -111,6 +116,7 @@ public class ProjectTraceController {
* @date 2020/5/11 16:27 * @date 2020/5/11 16:27
*/ */
@PostMapping("closeproject") @PostMapping("closeproject")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_CLOSE)
public Result closed(@LoginUser TokenDto tokenDto, @RequestBody ProjectClosedFromDTO fromDTO) { public Result closed(@LoginUser TokenDto tokenDto, @RequestBody ProjectClosedFromDTO fromDTO) {
projectTraceService.closed(tokenDto, fromDTO); projectTraceService.closed(tokenDto, fromDTO);
return new Result(); return new Result();
@ -125,6 +131,7 @@ public class ProjectTraceController {
* @date 2020/5/11 16:30 * @date 2020/5/11 16:30
*/ */
@PostMapping("returnablelist") @PostMapping("returnablelist")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_RETURN)
public Result<List<ReturnListResultDTO>> getReturnableList(@RequestBody ReturnListFromDTO fromDTO) { public Result<List<ReturnListResultDTO>> getReturnableList(@RequestBody ReturnListFromDTO fromDTO) {
List<ReturnListResultDTO> result = projectTraceService.getReturnableList(fromDTO); List<ReturnListResultDTO> result = projectTraceService.getReturnableList(fromDTO);
return new Result<List<ReturnListResultDTO>>().ok(result); return new Result<List<ReturnListResultDTO>>().ok(result);
@ -140,6 +147,7 @@ public class ProjectTraceController {
* @date 2020/5/11 16:32 * @date 2020/5/11 16:32
*/ */
@PostMapping("return") @PostMapping("return")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_RETURN)
public Result projectReturn(@LoginUser TokenDto tokenDto, @RequestBody ReturnFromDTO fromDTO) { public Result projectReturn(@LoginUser TokenDto tokenDto, @RequestBody ReturnFromDTO fromDTO) {
projectTraceService.projectReturn(tokenDto, fromDTO); projectTraceService.projectReturn(tokenDto, fromDTO);
return new Result(); return new Result();
@ -197,5 +205,19 @@ public class ProjectTraceController {
projectProcessService.transfer(formDTO); projectProcessService.transfer(formDTO);
return new Result(); return new Result();
} }
/**
* 我的处理部门
* @author zhaoqifeng
* @date 2020/5/14 14:22
* @param tokenDto
* @param fromDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.DepartmentResultDTO>>
*/
@PostMapping("mydepartmentlist")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_DETAIL)
public Result<List<DepartmentResultDTO>> myDepartmentList(@LoginUser TokenDto tokenDto, @RequestBody ProjectDetailFromDTO fromDTO) {
return new Result<List<DepartmentResultDTO>>().ok(projectTraceService.myDepartmentList(tokenDto, fromDTO));
}
} }

11
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java

@ -20,7 +20,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ProjectDTO; import com.epmet.dto.ProjectDTO;
import com.epmet.dto.form.ProjectListFromDTO; import com.epmet.dto.form.ProjectListFromDTO;
import com.epmet.dto.result.DepartmentResultDTO; import com.epmet.dto.form.ShiftProjectsFromDTO;
import com.epmet.dto.result.ProjectDetailResultDTO; import com.epmet.dto.result.ProjectDetailResultDTO;
import com.epmet.entity.ProjectEntity; import com.epmet.entity.ProjectEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -85,4 +85,13 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
*/ */
ProjectDetailResultDTO selectProjectDetail(@Param("id") String id); ProjectDetailResultDTO selectProjectDetail(@Param("id") String id);
/**
* 根据议题ID获取项目列表
* @author zhaoqifeng
* @date 2020/5/13 17:01
* @param fromDTO
* @return java.util.List<com.epmet.dto.ProjectDTO>
*/
List<ProjectDTO> selectShiftProjectList(ShiftProjectsFromDTO fromDTO);
} }

4
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java

@ -19,10 +19,13 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.ProjectProcessDTO; import com.epmet.dto.ProjectProcessDTO;
import com.epmet.dto.form.ProcessListFormDTO; import com.epmet.dto.form.ProcessListFormDTO;
import com.epmet.dto.form.ProjectDetailFromDTO;
import com.epmet.dto.form.ReturnListFromDTO; import com.epmet.dto.form.ReturnListFromDTO;
import com.epmet.dto.form.TransferFormDTO; import com.epmet.dto.form.TransferFormDTO;
import com.epmet.dto.result.DepartmentResultDTO;
import com.epmet.dto.result.ProcesslistResultDTO; import com.epmet.dto.result.ProcesslistResultDTO;
import com.epmet.dto.result.ReturnListResultDTO; import com.epmet.dto.result.ReturnListResultDTO;
import com.epmet.entity.ProjectProcessEntity; import com.epmet.entity.ProjectProcessEntity;
@ -122,4 +125,5 @@ public interface ProjectProcessService extends BaseService<ProjectProcessEntity>
* @Description 项目跟踪-转其他部门 * @Description 项目跟踪-转其他部门
**/ **/
void transfer(TransferFormDTO formDTO); void transfer(TransferFormDTO formDTO);
} }

19
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java

@ -21,14 +21,8 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.ProjectDTO; import com.epmet.dto.ProjectDTO;
import com.epmet.dto.form.ProjectClosedFromDTO; import com.epmet.dto.form.*;
import com.epmet.dto.form.ProjectDetailFromDTO; import com.epmet.dto.result.*;
import com.epmet.dto.form.ProjectListFromDTO;
import com.epmet.dto.form.ReturnFromDTO;
import com.epmet.dto.result.CreatedListResultDTO;
import com.epmet.dto.result.InvolvedListResultDTO;
import com.epmet.dto.result.PendProjectListResultDTO;
import com.epmet.dto.result.ProjectDetailResultDTO;
import com.epmet.entity.ProjectEntity; import com.epmet.entity.ProjectEntity;
import java.util.List; import java.util.List;
@ -159,4 +153,13 @@ public interface ProjectService extends BaseService<ProjectEntity> {
* @return void * @return void
*/ */
void projectReturn(ReturnFromDTO fromDTO); void projectReturn(ReturnFromDTO fromDTO);
/**
* 根据议题查询项目
* @author zhaoqifeng
* @date 2020/5/13 16:55
* @param fromDTO
* @return java.util.List<com.epmet.dto.ProjectDTO>
*/
List<ShiftProjectResultDTO> getProjectByIssue(ShiftProjectsFromDTO fromDTO);
} }

11
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java

@ -88,4 +88,15 @@ public interface ProjectTraceService {
* @date 2020/5/11 16:32 * @date 2020/5/11 16:32
*/ */
void projectReturn(TokenDto tokenDto, ReturnFromDTO fromDTO); void projectReturn(TokenDto tokenDto, ReturnFromDTO fromDTO);
/**
* 我的处理部门
*
* @param tokenDto token
* @param fromDTO 入参
* @return java.util.List<com.epmet.dto.result.DepartmentResultDTO>
* @author zhaoqifeng
* @date 2020/5/14 14:24
*/
List<DepartmentResultDTO> myDepartmentList(TokenDto tokenDto, ProjectDetailFromDTO fromDTO);
} }

14
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java

@ -296,6 +296,7 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void projectReturn(ReturnFromDTO fromDTO) { public void projectReturn(ReturnFromDTO fromDTO) {
//更新项目关联表 //更新项目关联表
ProjectStaffEntity projectStaffEntity = new ProjectStaffEntity(); ProjectStaffEntity projectStaffEntity = new ProjectStaffEntity();
@ -324,6 +325,19 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
//TODO 通知 //TODO 通知
} }
@Override
public List<ShiftProjectResultDTO> getProjectByIssue(ShiftProjectsFromDTO fromDTO) {
List<ShiftProjectResultDTO> resultList = new ArrayList<>();
List<ProjectDTO> projectList = baseDao.selectShiftProjectList(fromDTO);
projectList.forEach(project -> {
ShiftProjectResultDTO shiftProject = ConvertUtils.sourceToTarget(project, ShiftProjectResultDTO.class);
List<String> departmentNameList = baseDao.selectDepartmentNameList(project);
shiftProject.setDepartmentNameList(departmentNameList);
resultList.add(shiftProject);
});
return resultList;
}
/** /**
* 获取客户定制的可滞留天数 * 获取客户定制的可滞留天数
* *

13
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java

@ -1,10 +1,12 @@
package com.epmet.service.impl; package com.epmet.service.impl;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.ProjectStaffDTO;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.service.ProjectProcessService; import com.epmet.service.ProjectProcessService;
import com.epmet.service.ProjectService; import com.epmet.service.ProjectService;
import com.epmet.service.ProjectStaffService;
import com.epmet.service.ProjectTraceService; import com.epmet.service.ProjectTraceService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -22,6 +24,8 @@ public class ProjectTraceServiceImpl implements ProjectTraceService {
private ProjectService projectService; private ProjectService projectService;
@Autowired @Autowired
private ProjectProcessService projectProcessService; private ProjectProcessService projectProcessService;
@Autowired
private ProjectStaffService projectStaffService;
@Override @Override
public List<PendProjectListResultDTO> getPendProjectList(TokenDto tokenDto, ProjectListFromDTO fromDTO) { public List<PendProjectListResultDTO> getPendProjectList(TokenDto tokenDto, ProjectListFromDTO fromDTO) {
@ -63,4 +67,13 @@ public class ProjectTraceServiceImpl implements ProjectTraceService {
fromDTO.setUserId(tokenDto.getUserId()); fromDTO.setUserId(tokenDto.getUserId());
projectService.projectReturn(fromDTO); projectService.projectReturn(fromDTO);
} }
@Override
public List<DepartmentResultDTO> myDepartmentList(TokenDto tokenDto, ProjectDetailFromDTO fromDTO) {
fromDTO.setUserId(tokenDto.getUserId());
ProjectStaffDTO projectStaffDTO = new ProjectStaffDTO();
projectStaffDTO.setProjectId(fromDTO.getProjectId());
projectStaffDTO.setStaffId(fromDTO.getUserId());
return projectStaffService.getDepartmentNameList(projectStaffDTO);
}
} }

15
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml

@ -134,6 +134,21 @@
WHERE p.DEL_FLAG = '0' WHERE p.DEL_FLAG = '0'
AND p.ID = #{id} AND p.ID = #{id}
</select> </select>
<select id="selectShiftProjectList" resultType="com.epmet.dto.ProjectDTO" parameterType="com.epmet.dto.form.ShiftProjectsFromDTO">
SELECT p.*, IFNULL(pp.PUBLIC_REPLY, "") AS PUBLIC_REPLY FROM project p
LEFT JOIN (SELECT PROJECT_ID,
PUBLIC_REPLY
FROM
project_process
WHERE DEL_FLAG = '0'
AND OPERATION = 'close') pp ON p.ID = pp.PROJECT_ID
WHERE p.DEL_FLAG = '0'
AND p.ORIGIN = 'issue'
<foreach item="issueId" collection="issueIds" separator="OR" open="AND (" close=")" index="">
p.ORIGIN_ID = #{issueId}
</foreach>
ORDER BY CREATED_TIME ASC
</select>
</mapper> </mapper>

6
epmet-module/resi-hall/resi-hall-server/pom.xml

@ -45,6 +45,12 @@
<artifactId>feign-httpclient</artifactId> <artifactId>feign-httpclient</artifactId>
<version>10.3.0</version> <version>10.3.0</version>
</dependency> </dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>gov-issue-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>

11
epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java

@ -156,5 +156,16 @@ public class IssueController {
return new Result<List<EvaluationListResultDTO>>().ok(issueService.projectEvaluationList(formDTO)); return new Result<List<EvaluationListResultDTO>>().ok(issueService.projectEvaluationList(formDTO));
} }
/**
* @Description 满意度评价列表已转项目
* @param formDTO
* @author zxc
*/
@PostMapping("shiftproject")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT)
public Result<List<ShiftProjectListResultDTO>> getShiftProjectList(@RequestBody ShiftProjectListFromDTO formDTO){
return new Result<List<ShiftProjectListResultDTO>>().ok(issueService.getShiftProjectList(formDTO));
}
} }

12
epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java

@ -1,6 +1,8 @@
package com.epmet.feign; package com.epmet.feign;
import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
@ -76,4 +78,14 @@ public interface GovIssueFeignClient {
@PostMapping("/gov/issue/issuesatisfactiondetail/evaluationlist") @PostMapping("/gov/issue/issuesatisfactiondetail/evaluationlist")
Result<List<EvaluationListResultDTO>> evaluationList(@RequestBody EvaluationListFormDTO formDTO); Result<List<EvaluationListResultDTO>> evaluationList(@RequestBody EvaluationListFormDTO formDTO);
/**
* 已转项目列表
* @author zhaoqifeng
* @date 2020/5/13 16:22
* @param fromDTO 参数
* @return java.util.List<com.epmet.dto.result.ShiftProjectListResultDTO>
*/
@PostMapping("/gov/issue/issue/shiftprojectlist")
Result<List<ShiftProjectListResultDTO>> getShiftProjectList(@RequestBody ShiftProjectListFromDTO fromDTO);
} }

5
epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java

@ -52,4 +52,9 @@ public class GovIssueFeignClientFallBack implements GovIssueFeignClient {
public Result<List<EvaluationListResultDTO>> evaluationList(EvaluationListFormDTO formDTO) { public Result<List<EvaluationListResultDTO>> evaluationList(EvaluationListFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "evaluationList", formDTO); return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "evaluationList", formDTO);
} }
@Override
public Result<List<ShiftProjectListResultDTO>> getShiftProjectList(ShiftProjectListFromDTO fromDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "getShiftProjectList", fromDTO);
}
} }

9
epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java

@ -95,4 +95,13 @@ public interface IssueService {
*/ */
List<EvaluationListResultDTO> projectEvaluationList(ProjectEvaluationListFormDTO formDTO); List<EvaluationListResultDTO> projectEvaluationList(ProjectEvaluationListFormDTO formDTO);
/**
* 已转项目列表
* @author zhaoqifeng
* @date 2020/5/14 14:11
* @param formDTO
* @return java.util.List<com.epmet.dto.result.ShiftProjectListResultDTO>
*/
List<ShiftProjectListResultDTO> getShiftProjectList(ShiftProjectListFromDTO formDTO);
} }

57
epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java

@ -39,8 +39,8 @@ public class IssueServiceImpl implements IssueService {
private GovProjectFeignClient govProjectFeignClient; private GovProjectFeignClient govProjectFeignClient;
/** /**
* @Description 议题详情
* @param issueDetail * @param issueDetail
* @Description 议题详情
* @author zxc * @author zxc
* @date 2020/5/11 10:04 * @date 2020/5/11 10:04
*/ */
@ -50,18 +50,18 @@ public class IssueServiceImpl implements IssueService {
//议题信息 //议题信息
Result<IssueResultDTO> issueResultDTOResult = govIssueFeignClient.detail(issueDetail); Result<IssueResultDTO> issueResultDTOResult = govIssueFeignClient.detail(issueDetail);
IssueResultDTO issueResult = issueResultDTOResult.getData(); IssueResultDTO issueResult = issueResultDTOResult.getData();
if (issueResult==null){ if (issueResult == null) {
return issueDetailResult; return issueDetailResult;
} }
BeanUtils.copyProperties(issueResult,issueDetailResult); BeanUtils.copyProperties(issueResult, issueDetailResult);
//话题发起人 //话题发起人
IssueInitiatorFormDTO initiatorFormDTO = new IssueInitiatorFormDTO(); IssueInitiatorFormDTO initiatorFormDTO = new IssueInitiatorFormDTO();
initiatorFormDTO.setUserId(issueResult.getUserId()); initiatorFormDTO.setUserId(issueResult.getUserId());
if (!StringUtils.isBlank(issueResult.getUserId())) { if (!StringUtils.isBlank(issueResult.getUserId())) {
IssueInitiatorResultDTO initiatorResult = userFeignClient.selectIssueInitiator(initiatorFormDTO).getData(); IssueInitiatorResultDTO initiatorResult = userFeignClient.selectIssueInitiator(initiatorFormDTO).getData();
if (initiatorResult==null){ if (initiatorResult == null) {
issueDetailResult.setIssueInitiator(""); issueDetailResult.setIssueInitiator("");
}else { } else {
issueDetailResult.setIssueInitiator(initiatorResult.getIssueInitiator()); issueDetailResult.setIssueInitiator(initiatorResult.getIssueInitiator());
} }
} }
@ -70,9 +70,9 @@ public class IssueServiceImpl implements IssueService {
belongGridName.setGridId(issueResult.getGridId()); belongGridName.setGridId(issueResult.getGridId());
if (!StringUtils.isBlank(issueResult.getGridId())) { if (!StringUtils.isBlank(issueResult.getGridId())) {
BelongGridNameResultDTO belongGridNameResult = govOrgFeignClient.getGridNameByGridId(belongGridName).getData(); BelongGridNameResultDTO belongGridNameResult = govOrgFeignClient.getGridNameByGridId(belongGridName).getData();
if (belongGridNameResult==null){ if (belongGridNameResult == null) {
issueDetailResult.setBelongsGridName(""); issueDetailResult.setBelongsGridName("");
}else { } else {
issueDetailResult.setBelongsGridName(belongGridNameResult.getBelongsGridName()); issueDetailResult.setBelongsGridName(belongGridNameResult.getBelongsGridName());
} }
} }
@ -81,9 +81,9 @@ public class IssueServiceImpl implements IssueService {
topicInfoFormDTO.setTopicId(issueResult.getTopicId()); topicInfoFormDTO.setTopicId(issueResult.getTopicId());
if (!StringUtils.isBlank(issueResult.getTopicId())) { if (!StringUtils.isBlank(issueResult.getTopicId())) {
TopicInfoDTO topicInfoDTOResult = resiGroupFeignClient.selectDetail(topicInfoFormDTO).getData(); TopicInfoDTO topicInfoDTOResult = resiGroupFeignClient.selectDetail(topicInfoFormDTO).getData();
if (topicInfoDTOResult==null){ if (topicInfoDTOResult == null) {
issueDetailResult.setTopicInfo(new TopicInfoDTO()); issueDetailResult.setTopicInfo(new TopicInfoDTO());
}else { } else {
issueDetailResult.setTopicInfo(topicInfoDTOResult); issueDetailResult.setTopicInfo(topicInfoDTOResult);
} }
} }
@ -91,8 +91,8 @@ public class IssueServiceImpl implements IssueService {
} }
/** /**
* @Description 议题表决折线图
* @param issueId * @param issueId
* @Description 议题表决折线图
* @author zxc * @author zxc
* @date 2020/5/12 8:49 * @date 2020/5/12 8:49
*/ */
@ -103,12 +103,12 @@ public class IssueServiceImpl implements IssueService {
} }
/** /**
* @Description 支持议题
* @param issueId * @param issueId
* @Description 支持议题
* @author zxc * @author zxc
*/ */
@Override @Override
public void support(TokenDto tokenDto,IssueIdFormDTO issueId) { public void support(TokenDto tokenDto, IssueIdFormDTO issueId) {
VoteFormDTO voteFormDTO = new VoteFormDTO(); VoteFormDTO voteFormDTO = new VoteFormDTO();
voteFormDTO.setAttitude("support"); voteFormDTO.setAttitude("support");
voteFormDTO.setCreatedBy(tokenDto.getUserId()); voteFormDTO.setCreatedBy(tokenDto.getUserId());
@ -117,12 +117,12 @@ public class IssueServiceImpl implements IssueService {
} }
/** /**
* @Description 反对议题
* @param issueId * @param issueId
* @Description 反对议题
* @author zxc * @author zxc
*/ */
@Override @Override
public void oppose(TokenDto tokenDto,IssueIdFormDTO issueId) { public void oppose(TokenDto tokenDto, IssueIdFormDTO issueId) {
VoteFormDTO voteFormDTO = new VoteFormDTO(); VoteFormDTO voteFormDTO = new VoteFormDTO();
voteFormDTO.setAttitude("opposition"); voteFormDTO.setAttitude("opposition");
voteFormDTO.setCreatedBy(tokenDto.getUserId()); voteFormDTO.setCreatedBy(tokenDto.getUserId());
@ -131,8 +131,8 @@ public class IssueServiceImpl implements IssueService {
} }
/** /**
* @Description 表决中议题详情支持反对数
* @param issueId * @param issueId
* @Description 表决中议题详情支持反对数
* @author zxc * @author zxc
*/ */
@Override @Override
@ -142,9 +142,9 @@ public class IssueServiceImpl implements IssueService {
} }
/** /**
* @Description 满意度评价初始化已关闭
* @param tokenDto * @param tokenDto
* @param issueId * @param issueId
* @Description 满意度评价初始化已关闭
* @author zxc * @author zxc
*/ */
@Override @Override
@ -157,9 +157,9 @@ public class IssueServiceImpl implements IssueService {
} }
/** /**
* @Description 满意度评价初始化已转项目
* @param tokenDto * @param tokenDto
* @param projectId * @param projectId
* @Description 满意度评价初始化已转项目
* @author zxc * @author zxc
*/ */
@Override @Override
@ -172,19 +172,19 @@ public class IssueServiceImpl implements IssueService {
} }
/** /**
* @Description 提交满意度评价已关闭
* @param evaluateFormDTO * @param evaluateFormDTO
* @Description 提交满意度评价已关闭
* @author zxc * @author zxc
*/ */
@Override @Override
public void evaluate(TokenDto tokenDto,EvaluateFormDTO evaluateFormDTO) { public void evaluate(TokenDto tokenDto, EvaluateFormDTO evaluateFormDTO) {
evaluateFormDTO.setUserId(tokenDto.getUserId()); evaluateFormDTO.setUserId(tokenDto.getUserId());
govIssueFeignClient.evaluate(evaluateFormDTO); govIssueFeignClient.evaluate(evaluateFormDTO);
} }
/** /**
* @Description 提交满意度评价已转项目
* @param projectEvaluateFormDTO * @param projectEvaluateFormDTO
* @Description 提交满意度评价已转项目
* @author zxc * @author zxc
*/ */
@Override @Override
@ -194,15 +194,15 @@ public class IssueServiceImpl implements IssueService {
} }
/** /**
* @Description 满意度评价列表已关闭
* @param formDTO * @param formDTO
* @Description 满意度评价列表已关闭
* @author zxc * @author zxc
*/ */
@Override @Override
public List<EvaluationListResultDTO> evaluationList(EvaluationListFormDTO formDTO) { public List<EvaluationListResultDTO> evaluationList(EvaluationListFormDTO formDTO) {
Result<List<EvaluationListResultDTO>> listResult = govIssueFeignClient.evaluationList(formDTO); Result<List<EvaluationListResultDTO>> listResult = govIssueFeignClient.evaluationList(formDTO);
List<EvaluationListResultDTO> data = listResult.getData(); List<EvaluationListResultDTO> data = listResult.getData();
if (data.size()==NumConstant.ZERO||data==null){ if (data.size() == NumConstant.ZERO || data == null) {
return new ArrayList<>(); return new ArrayList<>();
} }
//获取头像和昵称 eg:山东路168号-周先生 //获取头像和昵称 eg:山东路168号-周先生
@ -224,14 +224,14 @@ public class IssueServiceImpl implements IssueService {
} }
/** /**
* @Description 满意度评价列表已转项目
* @param formDTO * @param formDTO
* @Description 满意度评价列表已转项目
* @author zxc * @author zxc
*/ */
@Override @Override
public List<EvaluationListResultDTO> projectEvaluationList(ProjectEvaluationListFormDTO formDTO) { public List<EvaluationListResultDTO> projectEvaluationList(ProjectEvaluationListFormDTO formDTO) {
List<ProjectEvaluationListResultDTO> listResult = govProjectFeignClient.projectEvaluationList(formDTO).getData(); List<ProjectEvaluationListResultDTO> listResult = govProjectFeignClient.projectEvaluationList(formDTO).getData();
if (listResult.size()==NumConstant.ZERO||listResult.equals(null)){ if (listResult.size() == NumConstant.ZERO || listResult.equals(null)) {
return new ArrayList<>(); return new ArrayList<>();
} }
//获取头像和昵称 eg:山东路168号-周先生 //获取头像和昵称 eg:山东路168号-周先生
@ -251,4 +251,13 @@ public class IssueServiceImpl implements IssueService {
})).collect(Collectors.toList()); })).collect(Collectors.toList());
return resultList; return resultList;
} }
@Override
public List<ShiftProjectListResultDTO> getShiftProjectList(ShiftProjectListFromDTO formDTO) {
List<ShiftProjectListResultDTO> resultList = govIssueFeignClient.getShiftProjectList(formDTO).getData();
if (null == resultList || resultList.size() == NumConstant.ZERO) {
return new ArrayList<>();
}
return resultList;
}
} }

Loading…
Cancel
Save