Browse Source

红黄绿事件修改

dev_shibei_match
zxc 4 years ago
parent
commit
96dd6b945f
  1. 6
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/form/screen/ColorProjectTotalFormDTO.java
  2. 4
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenProjectDataDao.java
  3. 17
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java
  4. 36
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml

6
epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/form/screen/ColorProjectTotalFormDTO.java

@ -1,5 +1,6 @@
package com.epmet.dto.form.screen;
import com.epmet.commons.tools.constant.NumConstant;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@ -27,4 +28,9 @@ public class ColorProjectTotalFormDTO implements Serializable {
* 行政区域码平阴必填
*/
private String areaCode;
/**
* 绿灯事件查询几个月的数据
*/
private Integer monthCount = NumConstant.ONE;
}

4
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenProjectDataDao.java

@ -36,7 +36,7 @@ public interface ScreenProjectDataDao {
* @author zxc
* @date 2021/6/1 3:48 下午
*/
List<ColorProjectTotalResultDTO> selectColorProjectByAgencyId(@Param("agencyId") String agencyId);
List<ColorProjectTotalResultDTO> selectColorProjectByAgencyId(@Param("agencyId") String agencyId,@Param("monthCount")Integer monthCount);
/**
* @Description 根据areaCode查询事件
@ -44,5 +44,5 @@ public interface ScreenProjectDataDao {
* @author zxc
* @date 2021/6/1 3:48 下午
*/
List<ColorProjectTotalResultDTO> selectColorProjectByAreaCode(@Param("areaCode") String areaCode);
List<ColorProjectTotalResultDTO> selectColorProjectByAreaCode(@Param("areaCode") String areaCode,@Param("level")Integer level,@Param("monthCount")Integer monthCount);
}

17
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java

@ -156,6 +156,8 @@ public class ScreenProjectServiceImpl implements ScreenProjectService {
/**
* @Description 红黄绿事件总数
* 绿色事件查询近30天红色和黄色查询全部
* 可以添加传参 monthCount查询几个月的绿色事件
* @Param formDTO
* @author zxc
* @date 2021/6/1 3:20 下午
@ -165,9 +167,20 @@ public class ScreenProjectServiceImpl implements ScreenProjectService {
ColorProjectTotalResultDTO result = new ColorProjectTotalResultDTO();
List<ColorProjectTotalResultDTO> list = new ArrayList<>();
if (StringUtils.isEmpty(formDTO.getAreaCode())){
list = screenProjectDataDao.selectColorProjectByAgencyId(formDTO.getAgencyId());
list = screenProjectDataDao.selectColorProjectByAgencyId(formDTO.getAgencyId(), formDTO.getMonthCount());
}else {
list = screenProjectDataDao.selectColorProjectByAreaCode(formDTO.getAreaCode());
List<ColorProjectTotalResultDTO> colorProjectTotal1 = screenProjectDataDao.selectColorProjectByAreaCode(formDTO.getAreaCode(), NumConstant.ONE, formDTO.getMonthCount());
if (!CollectionUtils.isEmpty(colorProjectTotal1)){
list.addAll(colorProjectTotal1);
}
List<ColorProjectTotalResultDTO> colorProjectTotal2 = screenProjectDataDao.selectColorProjectByAreaCode(formDTO.getAreaCode(), NumConstant.TWO, formDTO.getMonthCount());
if (!CollectionUtils.isEmpty(colorProjectTotal2)){
list.addAll(colorProjectTotal2);
}
List<ColorProjectTotalResultDTO> colorProjectTotal3 = screenProjectDataDao.selectColorProjectByAreaCode(formDTO.getAreaCode(), NumConstant.THREE, formDTO.getMonthCount());
if (!CollectionUtils.isEmpty(colorProjectTotal3)){
list.addAll(colorProjectTotal3);
}
}
// 事件级别 红色1级:已超期;黄色2级:即将超期;绿色3级:未超期
if (!CollectionUtils.isEmpty(list)){

36
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml

@ -115,12 +115,21 @@
<!-- 根据agencyId查询事件 -->
<select id="selectColorProjectByAgencyId" resultType="com.epmet.dto.result.screen.ColorProjectTotalResultDTO">
SELECT
(SELECT
PROJECT_LEVEL
FROM screen_project_data
WHERE DEL_FLAG = '0'
AND PARENT_ID = #{agencyId}
AND PROJECT_LEVEL = 3
AND UNIX_TIMESTAMP(CREATED_TIME) >= UNIX_TIMESTAMP(DATE_SUB(NOW(),INTERVAL #{monthCount} MONTH))
)
UNION ALL
(SELECT
PROJECT_LEVEL
FROM screen_project_data
WHERE DEL_FLAG = '0'
AND PARENT_ID = #{agencyId}
AND PROJECT_LEVEL != 0
AND (PROJECT_LEVEL = 1 OR PROJECT_LEVEL = 2))
</select>
<!-- 根据areaCode查询事件 -->
@ -130,23 +139,34 @@
LEFT JOIN screen_customer_agency sca ON sca.AGENCY_ID = pd.ORG_ID
WHERE pd.DEL_FLAG = '0'
AND pd.ORG_TYPE = 'agency'
AND pd.PROJECT_LEVEL != 0
AND sca.AREA_CODE LIKE CONCAT(#{areaCode},'%'))
AND pd.PROJECT_LEVEL = #{level}
AND sca.AREA_CODE LIKE CONCAT(#{areaCode},'%')
<if test="level == 3">
AND UNIX_TIMESTAMP(pd.CREATED_TIME) >= UNIX_TIMESTAMP(DATE_SUB(NOW(),INTERVAL #{monthCount} MONTH))
</if>
)
UNION ALL
(SELECT pd.PROJECT_LEVEL
FROM screen_project_data pd
LEFT JOIN screen_customer_grid scg ON scg.GRID_ID = pd.ORG_ID
WHERE pd.DEL_FLAG = '0'
AND pd.ORG_TYPE = 'grid'
AND pd.PROJECT_LEVEL != 0
AND scg.AREA_CODE LIKE CONCAT(#{areaCode},'%'))
AND pd.PROJECT_LEVEL = #{level}
AND scg.AREA_CODE LIKE CONCAT(#{areaCode},'%')
<if test="level == 3">
AND UNIX_TIMESTAMP(pd.CREATED_TIME) >= UNIX_TIMESTAMP(DATE_SUB(NOW(),INTERVAL #{monthCount} MONTH))
</if>
)
UNION ALL
(SELECT pd.PROJECT_LEVEL
FROM screen_project_data pd
LEFT JOIN screen_customer_dept scd ON scd.DEPT_ID = pd.ORG_ID
WHERE pd.DEL_FLAG = '0'
AND pd.ORG_TYPE = 'department'
AND pd.PROJECT_LEVEL != 0
AND scd.AREA_CODE LIKE CONCAT(#{areaCode},'%'))
AND pd.PROJECT_LEVEL = #{level}
AND scd.AREA_CODE LIKE CONCAT(#{areaCode},'%')
<if test="level == 3">
AND UNIX_TIMESTAMP(pd.CREATED_TIME) >= UNIX_TIMESTAMP(DATE_SUB(NOW(),INTERVAL #{monthCount} MONTH))
</if>)
</select>
</mapper>

Loading…
Cancel
Save