Browse Source

议题状态统计

dev
王金鹏 6 years ago
parent
commit
880b9ededf
  1. 28
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiWorkIssueController.java
  2. 23
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/WorkIssueFeignClient.java
  3. 27
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/WorkIssueFeignClientFallback.java
  4. 30
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/WorkIssueService.java
  5. 39
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/WorkIssueServiceImpl.java
  6. 5
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/ImageConstant.java
  7. 17
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueStateStatisticsFormDTO.java
  8. 20
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueStateStatisticsResultDTO.java
  9. 3
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java
  10. 3
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java
  11. 5
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java
  12. 11
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppIssueController.java
  13. 11
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java
  14. 8
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java
  15. 27
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java
  16. 12
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml
  17. 15
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml

28
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiWorkIssueController.java

@ -0,0 +1,28 @@
package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.issue.form.IssueStateStatisticsFormDTO;
import com.elink.esua.epdc.dto.issue.result.IssueStateStatisticsResultDTO;
import com.elink.esua.epdc.service.WorkIssueService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("work/event/issue/")
public class ApiWorkIssueController {
@Autowired
private WorkIssueService workIssueService;
@GetMapping("statistics")
public Result<IssueStateStatisticsResultDTO> statistics(@RequestBody IssueStateStatisticsFormDTO formDto) {
return workIssueService.stateStatistics(formDto);
}
}

23
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/WorkIssueFeignClient.java

@ -0,0 +1,23 @@
package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.issue.form.*;
import com.elink.esua.epdc.dto.issue.result.*;
import com.elink.esua.epdc.feign.fallback.IssueFeignClientFallback;
import com.elink.esua.epdc.feign.fallback.WorkIssueFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import java.util.List;
@FeignClient(name = ServiceConstant.EPDC_EVENTS_SERVER, fallback = WorkIssueFeignClientFallback.class)
public interface WorkIssueFeignClient {
@GetMapping(value = "events/epdc-app/issue/stateStatistics", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<IssueStateStatisticsResultDTO> stateStatistics(IssueStateStatisticsFormDTO formDto);
}

27
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/WorkIssueFeignClientFallback.java

@ -0,0 +1,27 @@
package com.elink.esua.epdc.feign.fallback;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO;
import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO;
import com.elink.esua.epdc.dto.issue.form.*;
import com.elink.esua.epdc.dto.issue.result.*;
import com.elink.esua.epdc.feign.IssueFeignClient;
import com.elink.esua.epdc.feign.WorkIssueFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @Author LC
* @Date 2019/9/7 11:34
*/
@Component
public class WorkIssueFeignClientFallback implements WorkIssueFeignClient {
@Override
public Result<IssueStateStatisticsResultDTO> stateStatistics(IssueStateStatisticsFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "stateStatistics", formDto);
}
}

30
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/WorkIssueService.java

@ -0,0 +1,30 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.service;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.issue.form.IssueStateStatisticsFormDTO;
import com.elink.esua.epdc.dto.issue.result.IssueStateStatisticsResultDTO;
import org.springframework.web.bind.annotation.RequestBody;
public interface WorkIssueService {
Result<IssueStateStatisticsResultDTO> stateStatistics(@RequestBody IssueStateStatisticsFormDTO formDto);
}

39
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/WorkIssueServiceImpl.java

@ -0,0 +1,39 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.service.impl;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.issue.form.IssueStateStatisticsFormDTO;
import com.elink.esua.epdc.dto.issue.result.IssueStateStatisticsResultDTO;
import com.elink.esua.epdc.feign.WorkIssueFeignClient;
import com.elink.esua.epdc.service.WorkIssueService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class WorkIssueServiceImpl implements WorkIssueService {
@Autowired
private WorkIssueFeignClient workIssueFeignClient;
@Override
public Result<IssueStateStatisticsResultDTO> stateStatistics(IssueStateStatisticsFormDTO formDto) {
return workIssueFeignClient.stateStatistics(formDto);
}
}

5
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/constant/ImageConstant.java

@ -16,4 +16,9 @@ public interface ImageConstant {
* 图片类型-头像
*/
public final static String TYPE_IMAGE_BIZ_FACE = "face";
/**
* 图片类型-事件拒绝
*/
public final static String TYPE_IMAGE_BIZ_EVENTS_REJECT = "eventsReject";
}

17
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/IssueStateStatisticsFormDTO.java

@ -0,0 +1,17 @@
package com.elink.esua.epdc.dto.issue.form;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Data
public class IssueStateStatisticsFormDTO implements Serializable {
private static final long serialVersionUID = -8864248267071206774L;
/**
* 用户所属网格ID
*/
private Long deptId;
}

20
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueStateStatisticsResultDTO.java

@ -0,0 +1,20 @@
package com.elink.esua.epdc.dto.issue.result;
import lombok.Data;
import java.io.Serializable;
@Data
public class IssueStateStatisticsResultDTO implements Serializable {
private static final long serialVersionUID = -4512771534907006929L;
private Integer pendingResponseNum;
private Integer pendingHandleNum;
private Integer rejectedNum;
private Integer closed;
}

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

@ -124,4 +124,7 @@ public interface EpdcEventsDao extends BaseDao<EpdcEventsEntity> {
* @since 2019/10/30 12:36
*/
int selectCountOfDeptNotice(Long deptId, int state);
int selectCountOfEventState(List<Long> deptIdList, int state);
}

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

@ -178,4 +178,7 @@ public interface EpdcEventsService extends BaseService<EpdcEventsEntity> {
* @since 2019/10/30 13:43
*/
void initMenuNotice();
int selectCountOfEventState(List<Long> deptIdList, int state);
}

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

@ -348,4 +348,9 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl<EpdcEventsDao, EpdcEv
// 发送菜单消息通知
newsTask.eventMenuNotice(menuNoticeDTO, userId);
}
@Override
public int selectCountOfEventState(List<Long> deptIdList, int state) {
return baseDao.selectCountOfEventState(deptIdList,state);
}
}

11
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppIssueController.java

@ -115,4 +115,15 @@ public class EpdcAppIssueController {
public Result<EventAppDetailResultDTO> eventDetail(@PathVariable String eventId) {
return issueService.getEventDetail(eventId);
}
/**
* 议题状态统计
* @param formDto
* @return
*/
@GetMapping("stateStatistics")
public Result<IssueStateStatisticsResultDTO> stateStatistics(@RequestBody IssueStateStatisticsFormDTO formDto) {
return issueService.stateStatistics(formDto);
}
}

11
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java

@ -106,7 +106,7 @@ public interface IssueDao extends BaseDao<IssueEntity> {
/**
* 移动端-议题处理进度
* @Params: [issueId]
* @Return: java.util.List<com.elink.esua.epdc.dto.issue.result.IssueHandleProgressResultDTO>
* @Return: java.util.List<com.elink.esua.epdc.dto.issue.result.IssueHandleProgressResultDTO>
* @Author: liuchuang
* @Date: 2019/9/9 14:18
*/
@ -141,4 +141,13 @@ public interface IssueDao extends BaseDao<IssueEntity> {
*/
int selectCountOfDeptNotice(Long deptId, int state);
/**
* 根据网格id和状态查询数量
* @param deptIdList
* @param state
* @return
*/
int selectCountOfIssueState(List<Long> deptIdList, int state);
}

8
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java

@ -31,6 +31,7 @@ import com.elink.esua.epdc.dto.issue.form.IssueFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueWaitHandleSubmitFormDTO;
import com.elink.esua.epdc.dto.issue.result.*;
import com.elink.esua.epdc.modules.issue.entity.IssueEntity;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Map;
@ -212,4 +213,11 @@ public interface IssueService extends BaseService<IssueEntity> {
* @since 2019/10/29 18:13
*/
void sendIssueHandleMenuNotice(Long deptId, Long userId);
/**
* 移动端-议题状态统计
* @param formDto
* @return
*/
Result<IssueStateStatisticsResultDTO> stateStatistics(@RequestBody IssueStateStatisticsFormDTO formDto);
}

27
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java

@ -58,10 +58,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* 议题表 议题表
@ -359,4 +356,26 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
return itemEntity;
}
@Override
public Result<IssueStateStatisticsResultDTO> stateStatistics(IssueStateStatisticsFormDTO formDto) {
List<Long> list;
if (formDto.getDeptId() == null){
list = SecurityUser.getUser().getDeptIdList();
}else {
list = new ArrayList<>();
list.add(formDto.getDeptId());
}
Integer pendingHandleNum = baseDao.selectCountOfIssueState(list,0);
Integer closed = baseDao.selectCountOfIssueState(list,2);
Integer pendingResponseNum = epdcEventsService.selectCountOfEventState(list,0);
Integer rejectedNum = epdcEventsService.selectCountOfEventState(list,2);
IssueStateStatisticsResultDTO dto = new IssueStateStatisticsResultDTO();
dto.setClosed(closed);
dto.setPendingHandleNum(pendingHandleNum);
dto.setRejectedNum(rejectedNum);
dto.setPendingResponseNum(pendingResponseNum);
return new Result<IssueStateStatisticsResultDTO>().ok(dto);
}
}

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

@ -249,4 +249,16 @@
SELECT COUNT(ID) AS num FROM epdc_events WHERE DEL_FLAG = '0' AND grid_id = #{deptId} AND EVENT_STATE = #{state}
</select>
<select id="selectCountOfEventState" resultType="int">
SELECT
COUNT(ID) AS num
FROM epdc_events
WHERE DEL_FLAG = '0'
AND GRID_ID IN
<foreach collection="deptIdList" item="id" index="index" open="(" close=")" separator=",">
#{id}
</foreach>
AND EVENT_STATE = #{state}
</select>
</mapper>

15
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml

@ -450,4 +450,19 @@
AND ID NOT IN ( SELECT ISSUE_ID FROM epdc_issue_handle WHERE DEL_FLAG = '0' AND HANDLER_DEPT_ID = #{deptId} AND STATE <![CDATA[ <> ]]> 0 )
</select>
<select id="selectCountOfIssueState" resultType="int">
SELECT
COUNT( ID ) AS num
FROM
epdc_issue
WHERE
DEL_FLAG = '0'
AND GRID_ID IN
<foreach collection="deptIdList" item="id" index="index" open="(" close=")" separator=",">
#{id}
</foreach>
AND ISSUE_STATE = #{state}
</select>
</mapper>

Loading…
Cancel
Save