Browse Source

疑难项目分析列表查询

dev
尹作梅 6 years ago
parent
commit
971b74b2a0
  1. 27
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/DifficultItemResultDTO.java
  2. 6
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueAnalysisServiceImpl.java
  3. 16
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemAnalysisController.java
  4. 10
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemAnalysisDao.java
  5. 10
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemAnalysisService.java
  6. 29
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemAnalysisServiceImpl.java
  7. 4
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/service/impl/TopicAnalysisServiceImpl.java
  8. 84
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/item/ItemAnalysisDao.xml

27
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/item/result/DifficultItemResultDTO.java

@ -0,0 +1,27 @@
package com.elink.esua.epdc.dto.item.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Description 疑难项目
* @Author yinzuomei
* @Date 2020/2/11 13:09
*/
@Data
public class DifficultItemResultDTO implements Serializable {
private static final long serialVersionUID = -4125919212689714492L;
private String id;
private String itemContent;
private Date createdTime;
private Integer operatNum;
private String reportFlag;
private Integer deptNum;
private String itemState;
private Date processedTime;
private Integer takeTime;
private String allDeptNames;
private String evaluationScore;
}

6
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueAnalysisServiceImpl.java

@ -41,7 +41,7 @@ public class IssueAnalysisServiceImpl extends BaseServiceImpl<IssueAnalysisDao,
public PageData<IssueResultDTO> listHottestIssue(Map<String, Object> params) { public PageData<IssueResultDTO> listHottestIssue(Map<String, Object> params) {
UserDetail userDetail = SecurityUser.getUser(); UserDetail userDetail = SecurityUser.getUser();
if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) { if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) {
return new PageData<>(); return new PageData<>(null, 0);
} }
params.put("deptIdList", userDetail.getDeptIdList()); params.put("deptIdList", userDetail.getDeptIdList());
IPage<IssueResultDTO> page = getPage(params); IPage<IssueResultDTO> page = getPage(params);
@ -61,7 +61,7 @@ public class IssueAnalysisServiceImpl extends BaseServiceImpl<IssueAnalysisDao,
public PageData<IssueResultDTO> listLatestIssue(Map<String, Object> params) { public PageData<IssueResultDTO> listLatestIssue(Map<String, Object> params) {
UserDetail userDetail = SecurityUser.getUser(); UserDetail userDetail = SecurityUser.getUser();
if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) { if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) {
return new PageData<>(); return new PageData<>(null, 0);
} }
params.put("deptIdList", userDetail.getDeptIdList()); params.put("deptIdList", userDetail.getDeptIdList());
IPage<IssueResultDTO> page = getPage(params); IPage<IssueResultDTO> page = getPage(params);
@ -80,7 +80,7 @@ public class IssueAnalysisServiceImpl extends BaseServiceImpl<IssueAnalysisDao,
public PageData<IssueClassifiedStatisticDTO> listIssueClassifiedStatistic(Map<String, Object> params) { public PageData<IssueClassifiedStatisticDTO> listIssueClassifiedStatistic(Map<String, Object> params) {
UserDetail userDetail = SecurityUser.getUser(); UserDetail userDetail = SecurityUser.getUser();
if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) { if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) {
return new PageData<>(); return new PageData<>(null, 0);
} }
params.put("deptIdList", userDetail.getDeptIdList()); params.put("deptIdList", userDetail.getDeptIdList());
if (StringUtils.isBlank((String) params.get("categoryLevel"))) { if (StringUtils.isBlank((String) params.get("categoryLevel"))) {

16
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/controller/ItemAnalysisController.java

@ -19,6 +19,7 @@ package com.elink.esua.epdc.modules.item.controller;
import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.result.DifficultItemResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO; import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.dto.item.result.UnsolvedItemResultDTO; import com.elink.esua.epdc.dto.item.result.UnsolvedItemResultDTO;
import com.elink.esua.epdc.modules.item.service.ItemAnalysisService; import com.elink.esua.epdc.modules.item.service.ItemAnalysisService;
@ -69,4 +70,19 @@ public class ItemAnalysisController {
PageData<UnsolvedItemResultDTO> page = itemAnalysisService.listUnsolvedItemResultDTO(params); PageData<UnsolvedItemResultDTO> page = itemAnalysisService.listUnsolvedItemResultDTO(params);
return new Result<PageData<UnsolvedItemResultDTO>>().ok(page); return new Result<PageData<UnsolvedItemResultDTO>>().ok(page);
} }
/**
* @param params
* @return com.elink.esua.epdc.dto.item.result.DifficultItemResultDTO
* @Author yinzuomei
* @Description 疑难项目分析
* @Date 2020/2/11 13:12
**/
@GetMapping("pageDifficultItem")
public Result<PageData<DifficultItemResultDTO>> pageDifficultItem(@RequestParam Map<String, Object> params) {
PageData<DifficultItemResultDTO> page = itemAnalysisService.listDifficultItemResultDTO(params);
return new Result<PageData<DifficultItemResultDTO>>().ok(page);
}
} }

10
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemAnalysisDao.java

@ -18,6 +18,7 @@
package com.elink.esua.epdc.modules.item.dao; package com.elink.esua.epdc.modules.item.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.item.result.DifficultItemResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO; import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.dto.item.result.UnsolvedItemResultDTO; import com.elink.esua.epdc.dto.item.result.UnsolvedItemResultDTO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -49,4 +50,13 @@ public interface ItemAnalysisDao extends BaseDao<ItemResultDTO> {
* @Date 2020/2/10 19:16 * @Date 2020/2/10 19:16
**/ **/
List<UnsolvedItemResultDTO> selectListUnsolvedItemResultDTO(Map<String, Object> params); List<UnsolvedItemResultDTO> selectListUnsolvedItemResultDTO(Map<String, Object> params);
/**
* @param params
* @return java.util.List<com.elink.esua.epdc.dto.item.result.DifficultItemResultDTO>
* @Author yinzuomei
* @Description 疑难项目分析列表查询
* @Date 2020/2/11 13:14
**/
List<DifficultItemResultDTO> selectListDifficultItemResultDTO(Map<String, Object> params);
} }

10
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemAnalysisService.java

@ -1,6 +1,7 @@
package com.elink.esua.epdc.modules.item.service; package com.elink.esua.epdc.modules.item.service;
import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.dto.item.result.DifficultItemResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO; import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.dto.item.result.UnsolvedItemResultDTO; import com.elink.esua.epdc.dto.item.result.UnsolvedItemResultDTO;
@ -31,4 +32,13 @@ public interface ItemAnalysisService {
* @Date 2020/2/10 19:11 * @Date 2020/2/10 19:11
**/ **/
PageData<UnsolvedItemResultDTO> listUnsolvedItemResultDTO(Map<String, Object> params); PageData<UnsolvedItemResultDTO> listUnsolvedItemResultDTO(Map<String, Object> params);
/**
* @param params
* @return com.elink.esua.epdc.dto.item.result.DifficultItemResultDTO
* @Author yinzuomei
* @Description 疑难项目分析
* @Date 2020/2/11 13:13
**/
PageData<DifficultItemResultDTO> listDifficultItemResultDTO(Map<String, Object> params);
} }

29
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemAnalysisServiceImpl.java

@ -7,10 +7,13 @@ import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail; import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.datasources.DataSourceNames; import com.elink.esua.epdc.datasources.DataSourceNames;
import com.elink.esua.epdc.datasources.annotation.DataSource; import com.elink.esua.epdc.datasources.annotation.DataSource;
import com.elink.esua.epdc.dto.item.result.DifficultItemResultDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO; import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.dto.item.result.UnsolvedItemResultDTO; import com.elink.esua.epdc.dto.item.result.UnsolvedItemResultDTO;
import com.elink.esua.epdc.modules.item.dao.ItemAnalysisDao; import com.elink.esua.epdc.modules.item.dao.ItemAnalysisDao;
import com.elink.esua.epdc.modules.item.service.ItemAnalysisService; import com.elink.esua.epdc.modules.item.service.ItemAnalysisService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
@ -23,6 +26,8 @@ import java.util.Map;
*/ */
@Service @Service
public class ItemAnalysisServiceImpl extends BaseServiceImpl<ItemAnalysisDao, ItemResultDTO> implements ItemAnalysisService { public class ItemAnalysisServiceImpl extends BaseServiceImpl<ItemAnalysisDao, ItemResultDTO> implements ItemAnalysisService {
private Logger logger = LoggerFactory.getLogger(getClass());
/** /**
* @param params * @param params
* @return com.elink.esua.epdc.dto.item.result.ItemResultDTO * @return com.elink.esua.epdc.dto.item.result.ItemResultDTO
@ -35,7 +40,7 @@ public class ItemAnalysisServiceImpl extends BaseServiceImpl<ItemAnalysisDao, It
public PageData<ItemResultDTO> listItemResultDTO(Map<String, Object> params) { public PageData<ItemResultDTO> listItemResultDTO(Map<String, Object> params) {
UserDetail userDetail = SecurityUser.getUser(); UserDetail userDetail = SecurityUser.getUser();
if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) { if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) {
return new PageData<>(); return new PageData<>(null, 0);
} }
params.put("deptIdList", userDetail.getDeptIdList()); params.put("deptIdList", userDetail.getDeptIdList());
IPage<ItemResultDTO> page = getPage(params); IPage<ItemResultDTO> page = getPage(params);
@ -55,11 +60,31 @@ public class ItemAnalysisServiceImpl extends BaseServiceImpl<ItemAnalysisDao, It
public PageData<UnsolvedItemResultDTO> listUnsolvedItemResultDTO(Map<String, Object> params) { public PageData<UnsolvedItemResultDTO> listUnsolvedItemResultDTO(Map<String, Object> params) {
UserDetail userDetail = SecurityUser.getUser(); UserDetail userDetail = SecurityUser.getUser();
if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) { if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) {
return new PageData<>(); return new PageData<>(null, 0);
} }
params.put("deptIdList", userDetail.getDeptIdList()); params.put("deptIdList", userDetail.getDeptIdList());
IPage<UnsolvedItemResultDTO> page = getPage(params); IPage<UnsolvedItemResultDTO> page = getPage(params);
List<UnsolvedItemResultDTO> list = baseDao.selectListUnsolvedItemResultDTO(params); List<UnsolvedItemResultDTO> list = baseDao.selectListUnsolvedItemResultDTO(params);
return new PageData<>(list, page.getTotal()); return new PageData<>(list, page.getTotal());
} }
/**
* @param params
* @return com.elink.esua.epdc.dto.item.result.DifficultItemResultDTO
* @Author yinzuomei
* @Description 疑难项目分析
* @Date 2020/2/11 13:13
**/
@Override
public PageData<DifficultItemResultDTO> listDifficultItemResultDTO(Map<String, Object> params) {
UserDetail userDetail = SecurityUser.getUser();
if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) {
return new PageData<>(null, 0);
}
params.put("deptIdList", userDetail.getDeptIdList());
logger.info("!!!!!!!!!!!!!!!!!!orderType=" + params.get("orderType"));
IPage<DifficultItemResultDTO> page = getPage(params);
List<DifficultItemResultDTO> list = baseDao.selectListDifficultItemResultDTO(params);
return new PageData<>(list, page.getTotal());
}
} }

4
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/service/impl/TopicAnalysisServiceImpl.java

@ -38,7 +38,7 @@ public class TopicAnalysisServiceImpl extends BaseServiceImpl<TopicAnalysisDao,
public PageData<TopicResultDTO> listHottestTopic(Map<String, Object> params) { public PageData<TopicResultDTO> listHottestTopic(Map<String, Object> params) {
UserDetail userDetail = SecurityUser.getUser(); UserDetail userDetail = SecurityUser.getUser();
if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) { if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) {
return new PageData<>(); return new PageData<>(null, 0);
} }
params.put("deptIdList", userDetail.getDeptIdList()); params.put("deptIdList", userDetail.getDeptIdList());
IPage<TopicResultDTO> page = getPage(params); IPage<TopicResultDTO> page = getPage(params);
@ -58,7 +58,7 @@ public class TopicAnalysisServiceImpl extends BaseServiceImpl<TopicAnalysisDao,
public PageData<TopicResultDTO> listLatestTopic(Map<String, Object> params) { public PageData<TopicResultDTO> listLatestTopic(Map<String, Object> params) {
UserDetail userDetail = SecurityUser.getUser(); UserDetail userDetail = SecurityUser.getUser();
if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) { if (null == userDetail.getDeptIdList() || userDetail.getDeptIdList().size() == 0) {
return new PageData<>(); return new PageData<>(null, 0);
} }
params.put("deptIdList", userDetail.getDeptIdList()); params.put("deptIdList", userDetail.getDeptIdList());
IPage<TopicResultDTO> page = getPage(params); IPage<TopicResultDTO> page = getPage(params);

84
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/item/ItemAnalysisDao.xml

@ -106,4 +106,88 @@
</if> </if>
order by ei.CREATED_TIME desc order by ei.CREATED_TIME desc
</select> </select>
<!-- 疑难项目分析列表查询 -->
<select id="selectListDifficultItemResultDTO"
resultType="com.elink.esua.epdc.dto.item.result.DifficultItemResultDTO">
SELECT
t.ID,
t.ITEM_CONTENT,
t.CREATED_TIME,
t.operatNum,
t.reportFlag,
t.deptNum,
t.ITEM_STATE,
t.processedTime,
t.takeTime,
t.ALL_DEPT_NAMES,
t.EVALUATION_SCORE
FROM (
SELECT
ei.ID,
ei.ITEM_CONTENT,
ei.CREATED_TIME,
( SELECT COUNT( eihp.ID ) FROM esua_epdc_events.epdc_item_handle_process eihp WHERE eihp.DEL_FLAG = '0' AND
eihp.ITEM_ID = ei.ID ) AS operatNum,
( SELECT CASE WHEN COUNT(eigp.ID) > 0 THEN '1' ELSE '0' END FROM esua_epdc_events.epdc_item_grid_platform eigp
WHERE eigp.DEL_FLAG = '0' AND eigp.REFERENCE_ID = ei.ID ) AS reportFlag,
( SELECT COUNT(eid.ID) FROM esua_epdc_events.epdc_item_dept eid WHERE eid.DEL_FLAG = '0' AND eid.ITEM_ID = ei.ID
) AS deptNum,
ei.ITEM_STATE,
( SELECT eihp.CREATED_TIME FROM esua_epdc_events.epdc_item_handle_process eihp WHERE eihp.DEL_FLAG = '0' AND
eihp.ITEM_ID = ei.ID AND eihp.STATE IN (5, 10) LIMIT 1 ) AS processedTime,
( SELECT TIMESTAMPDIFF( HOUR, MIN(eihp.CREATED_TIME), MAX(eihp.CREATED_TIME) ) FROM
esua_epdc_events.epdc_item_handle_process eihp WHERE eihp.DEL_FLAG = '0' AND eihp.ITEM_ID = ei.ID ) AS takeTime,
ei.ALL_DEPT_NAMES,
ei.EVALUATION_SCORE
FROM
esua_epdc_events.epdc_item ei
WHERE
ei.DEL_FLAG = '0'
AND ei.GRID_ID IN
<foreach collection="deptIdList" index="index" item="deptId" open="(" separator="," close=")">
#{deptId}
</foreach>
<if test="streetId != null and streetId != ''">
AND find_in_set(#{streetId},ei.ALL_DEPT_IDS)
</if>
<if test="communityId != null and communityId != ''">
AND find_in_set(#{communityId},ei.ALL_DEPT_IDS)
</if>
<if test="gridId != null and gridId != ''">
AND ei.GRID_ID = #{gridId}
</if>
<if test="changeItemStartTime != null and changeItemStartTime != ''">
AND DATE_FORMAT( ei.CREATED_TIME, '%Y-%m-%d' ) &gt;= #{changeItemStartTime}
</if>
<if test="changeItemEndTime != null and changeItemEndTime != ''">
AND DATE_FORMAT( ei.CREATED_TIME, '%Y-%m-%d' ) &lt;= #{changeItemEndTime}
</if>
<if test="itemState != null and itemState != ''">
AND ei.ITEM_STATE = #{itemState}
</if>
<if test="evaluationScore != null and evaluationScore != ''">
AND ei.EVALUATION_SCORE = #{evaluationScore}
</if>
) t
WHERE 1=1
<if test="processedStartTime != null and processedStartTime != ''">
AND DATE_FORMAT( processedTime, '%Y-%m-%d' ) &gt;= #{processedStartTime}
</if>
<if test="processedEndTime != null and processedEndTime != ''">
AND DATE_FORMAT( processedTime, '%Y-%m-%d' ) &lt;= #{processedEndTime}
</if>
<if test="reportFlag != null and reportFlag != ''">
AND reportFlag = #{reportFlag}
</if>
<if test="orderType != null and orderType !='' and orderType == '0'">
ORDER BY takeTime DESC
</if>
<if test="orderType != null and orderType !='' and orderType == '1'">
ORDER BY deptNum DESC
</if>
<if test="orderType != null and orderType !='' and orderType == '2'">
ORDER BY operatNum DESC
</if>
</select>
</mapper> </mapper>

Loading…
Cancel
Save