Browse Source

议题-全部

master
zxc 5 years ago
parent
commit
9e0e139ed0
  1. 2
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/IssueConstant.java
  2. 6
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java
  3. 17
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java
  4. 10
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java
  5. 8
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml
  6. 18
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml
  7. 9
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml

2
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/IssueConstant.java

@ -15,6 +15,8 @@ public interface IssueConstant {
String ISSUE_STATUS_AUDITING = "auditing";
String ISSUE_STATUS_REJECTED = "rejected";
String NOT_EXISTS_ISSUE_TYPE = "议题类型不能为空......";
String GET_AGENCY_FAILURE = "根据userId查询组织ID失败......";
String GET_GRID_LIST_FAILURE = "获取网格ID列表失败......";

6
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java

@ -1,5 +1,6 @@
package com.epmet.dataaggre.dto.govissue.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
@ -100,6 +101,9 @@ public class IssueListResultDTO implements Serializable {
*/
private List<String> currentDepartment;
@JsonIgnore
private Long operationTime;
public IssueListResultDTO() {
this.issueId = "";
this.issueTitle = "";
@ -117,5 +121,7 @@ public class IssueListResultDTO implements Serializable {
this.auditingTime = 0L;
this.shiftProjectTime = 0L;
this.currentDepartment = new ArrayList<>();
this.projectId = "";
this.issueClosedTime = 0L;
}
}

17
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java

@ -102,11 +102,21 @@ public class GovIssueServiceImpl implements GovIssueService {
* @date 2020/12/25 下午2:30
*/
public List<IssueListResultDTO> issueStatusClosedOrVoting(AllIssueFormDTO formDTO){
if (StringUtils.isBlank(formDTO.getIssueType())){
throw new RenException(IssueConstant.NOT_EXISTS_ISSUE_TYPE);
}
if (CollectionUtils.isEmpty(formDTO.getGridIdList())){
return new ArrayList<>();
}
PageInfo<IssueListResultDTO> result = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> issueDao.issueStatusClosedOrVoting(formDTO.getGridIdList(), formDTO.getIssueType()));
return result.getList();
List<IssueListResultDTO> list = result.getList();
List<IssueListResultDTO> resultList = new ArrayList<>();
if (formDTO.getIssueType().equals(IssueConstant.ISSUE_STATUS_CLOSED)){
resultList = list.stream().sorted(Comparator.comparing(IssueListResultDTO::getIssueClosedTime).reversed()).collect(Collectors.toList());
}else {
resultList = list.stream().sorted(Comparator.comparing(IssueListResultDTO::getCreateTime).reversed()).collect(Collectors.toList());
}
return resultList;
}
/**
@ -145,7 +155,7 @@ public class GovIssueServiceImpl implements GovIssueService {
return new ArrayList<>();
}
PageInfo<IssueListResultDTO> result = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> issueApplicationDao.issueStatusAuditing(formDTO.getGridIdList()));
return result.getList();
return result.getList().stream().sorted(Comparator.comparing(IssueListResultDTO::getAuditingTime).reversed()).collect(Collectors.toList());
}
/**
@ -177,7 +187,8 @@ public class GovIssueServiceImpl implements GovIssueService {
}
});
});
return list;
List<IssueListResultDTO> collect = list.stream().sorted(Comparator.comparing(IssueListResultDTO::getShiftProjectTime).reversed()).collect(Collectors.toList());
return collect;
}
/**

10
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java

@ -1,6 +1,7 @@
package com.epmet.dataaggre.service.govproject.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.dao.govproject.ProjectDao;
@ -13,7 +14,10 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Author zxc
@ -48,6 +52,12 @@ public class GovProjectServiceImpl implements GovProjectService {
return closedResult;
}
closedResult.addAll(pendingResult);
List<IssueListResultDTO> result = new ArrayList<>();
Map<String, List<IssueListResultDTO>> groupByIssue = closedResult.stream().collect(Collectors.groupingBy(IssueListResultDTO::getIssueId));
groupByIssue.forEach((k,v) ->{
List<IssueListResultDTO> sortByTime = v.stream().sorted(Comparator.comparing(IssueListResultDTO::getOperationTime).reversed()).collect(Collectors.toList());
result.add(sortByTime.get(NumConstant.ZERO));
});
return closedResult;
}

8
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml

@ -9,7 +9,8 @@
UNIX_TIMESTAMP(iah.CREATED_TIME) AS rejectedTime,
ia.ISSUE_TITLE,
ia.TOPIC_ID,
iah.REASON AS rejectedReason
iah.REASON AS rejectedReason,
ia.grid_id
FROM issue_application_history iah
LEFT JOIN issue_application ia ON iah.ISSUE_APPLICATION_ID = ia.ID
WHERE ia.DEL_FLAG = 0
@ -19,6 +20,7 @@
<foreach collection="gridIds" item="gridId" separator=" OR ">
ia.GRID_ID = #{gridId}
</foreach>
order by iah.created_time desc
</select>
<!-- 查询被拒绝的议题 -->
@ -26,7 +28,8 @@
SELECT
ISSUE_TITLE,
UNIX_TIMESTAMP(CREATED_TIME) AS auditingTime,
TOPIC_ID
TOPIC_ID,
grid_id
FROM issue_application
WHERE DEL_FLAG = 0
AND APPLY_STATUS = 'under_auditing'
@ -34,5 +37,6 @@
<foreach collection="gridIds" item="gridId" separator=" OR ">
GRID_ID = #{gridId}
</foreach>
order by created_time desc
</select>
</mapper>

18
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml

@ -11,14 +11,16 @@
UNIX_TIMESTAMP(CLOSED_TIME) AS issueClosedTime,
ISSUE_TITLE AS issueTitle ,
UNIX_TIMESTAMP(CREATED_TIME) AS createTime,
SUGGESTION
SUGGESTION,
grid_id
FROM issue
WHERE DEL_FLAG = '0'
AND ISSUE_STATUS = #{issueStatus}
AND
AND(
<foreach collection="gridIds" item="gridId" separator=" OR ">
GRID_ID = #{gridId}
</foreach>
GRID_ID = #{gridId}
</foreach>)
order by created_time desc
</select>
<!-- 查询已转项目议题 -->
@ -26,14 +28,16 @@
SELECT
ID AS issueId,
SUGGESTION ,
UNIX_TIMESTAMP(SHIFTED_TIME) AS shiftProjectTime
UNIX_TIMESTAMP(SHIFTED_TIME) AS shiftProjectTime,
grid_id
FROM issue
WHERE DEL_FLAG = '0'
AND ISSUE_STATUS = 'shift_project'
AND
AND (
<foreach collection="gridIds" item="gridId" separator=" OR ">
GRID_ID = #{gridId}
</foreach>
</foreach>)
order by created_time desc
</select>
<select id="selectVotingList" resultType="com.epmet.dataaggre.dto.govissue.result.VotingIssueListResultDTO">

9
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml

@ -9,9 +9,10 @@
p.ID AS projectId,
p.ORIGIN_ID AS issueId,
p.`STATUS`,
pp.PUBLIC_REPLY AS closedReason
pp.PUBLIC_REPLY AS closedReason,
UNIX_TIMESTAMP( p.UPDATED_TIME ) AS operationTime
FROM project p
LEFT JOIN project_process pp ON pp.PROJECT_ID = p.ID AND pp.OPERATION = 'close'
LEFT JOIN project_process pp ON pp.PROJECT_ID = p.ID AND pp.OPERATION = 'close'
WHERE p.DEL_FLAG = '0'
AND pp.DEL_FLAG = '0'
AND
@ -25,6 +26,7 @@
<result property="projectId" column="projectId"></result>
<result property="issueId" column="issueId"></result>
<result property="status" column="status"></result>
<result property="operationTime" column="operationTime"></result>
<collection property="currentDepartment" ofType="java.lang.String">
<result column="departmentName"/>
<result column="id"/>
@ -35,7 +37,8 @@
p.ID AS projectId,
p.ORIGIN_ID AS issueId,
p.`STATUS`,
ps.DEPARTMENT_NAME
ps.DEPARTMENT_NAME as departmentName,
unix_timestamp(p.UPDATED_TIME) as operationTime
FROM project p
LEFT JOIN project_staff ps ON p.ID = ps.PROJECT_ID
WHERE p.DEL_FLAG = '0'

Loading…
Cancel
Save