Commit a0108682 authored by suhuiguang's avatar suhuiguang

Merge branch 'develop_dl_3.6.0.6' into develop_dl_plan6

parents fcc3bece 45cd4f2f
......@@ -23,7 +23,7 @@
</set>
</option>
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/classes" />
</component>
</project>
\ No newline at end of file
package com.yeejoin.equipmanage.controller;
import com.yeejoin.equipmanage.common.utils.CommonResponseUtil;
import com.yeejoin.equipmanage.service.IEquipmentSpecificAlarmLogService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
/**
* @author ZeHua Li
* @date 2020/10/29 14:26
* @since v2.0
*/
@RestController
@Api(tags = "设备报警日志信息")
@RequestMapping(value = "/equipSpecificAlarmLog")
public class EquipmentSpecificAlarmLogController extends AbstractBaseController {
@Autowired
IEquipmentSpecificAlarmLogService equipmentSpecificAlarmLogService;
/**
* 获取告警设备日月环比信息
*
* @param date
* @return
*/
@RequestMapping(value = "/equipAlarmLink", method = RequestMethod.GET)
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "获取告警设备日月环比信息", notes = "获取告警设备日月环比信息")
public ResponseModel equipAlarmLink(@RequestParam(required = false) String date) {
return CommonResponseUtil.success(equipmentSpecificAlarmLogService.equipAlarmLink(date));
}
}
......@@ -8,7 +8,6 @@ import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarmLog;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -40,4 +39,7 @@ public interface EquipmentSpecificAlarmLogMapper extends BaseMapper<EquipmentSpe
List<Map<String, Object>> getOtherEquipInfo(@Param("date") String date, @Param("equipmentId") Long equipmentId);
Map<String, Object> alarmEquipLink(String date, String pattern, String cleanFlag);
Map<String, Object> unCleanAlarmEquipLink(String date, String pattern, String cleanFlag);
}
......@@ -5,6 +5,7 @@ import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarm;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarmLog;
import java.util.List;
import java.util.Map;
/**
* @author keyong
......@@ -23,9 +24,17 @@ public interface IEquipmentSpecificAlarmLogService extends IService<EquipmentSpe
/**
* 通过告警ID,获取告警Log数据
*
* @param equipmentSpecificAlarmId
* @param isConfirm '' 为全部数据 0 为未确认 1为已确认
* @param isConfirm '' 为全部数据 0 为未确认 1为已确认
* @return
*/
List<EquipmentSpecificAlarmLog> getIsConfirmByAlarmId(Long equipmentSpecificId,String equipmentSpecificIndexKey, String isConfirm);
List<EquipmentSpecificAlarmLog> getIsConfirmByAlarmId(Long equipmentSpecificId, String equipmentSpecificIndexKey, String isConfirm);
/**
* 获取设备告警环比
*
* @return
*/
Map<String, Object> equipAlarmLink(String date);
}
......@@ -4,13 +4,18 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarm;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarmLog;
import com.yeejoin.equipmanage.common.utils.DateUtils;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificAlarmLogMapper;
import com.yeejoin.equipmanage.service.IEquipmentSpecificAlarmLogService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author keyong
......@@ -39,4 +44,26 @@ public class EquipmentSpecificAlarmLogServiceImpl extends ServiceImpl<EquipmentS
}
return Lists.newArrayList();
}
@Override
public Map<String, Object> equipAlarmLink(String date) {
Map<String, Object> map = new HashMap<>();
if (StringUtils.isBlank(date)) {
date = DateUtils.convertDateToString(new Date(), "yyyy-MM-dd");
}
String monthDate = date.substring(0, 7);
// 获取今日告警设备、日环比
Map<String, Object> alarmEquipDayLink = equipmentSpecificAlarmLogMapper.alarmEquipLink(date, "%Y-%m-%d", null);
// 获取今日告警设备、月环比
Map<String, Object> alarmEquipMonthLink = equipmentSpecificAlarmLogMapper.alarmEquipLink(monthDate, "%Y-%m", null);
// 获取未消除告警设备,日环比
Map<String, Object> unCleanAlarmEquipDayLink = equipmentSpecificAlarmLogMapper.unCleanAlarmEquipLink(date, "%Y-%m-%d", "unClean");
// 获取未消除告警设备,月环比
Map<String, Object> unCleanAlarmEquipMonthLink = equipmentSpecificAlarmLogMapper.unCleanAlarmEquipLink(monthDate, "%Y-%m", "unClean");
map.put("alarmEquipDayLink", alarmEquipDayLink);
map.put("alarmEquipMonthLink", alarmEquipMonthLink);
map.put("unCleanAlarmEquipDayLink", unCleanAlarmEquipDayLink);
map.put("unCleanAlarmEquipMonthLink", unCleanAlarmEquipMonthLink);
return map;
}
}
......@@ -183,4 +183,64 @@
</where>
ORDER BY weal.create_date DESC
</select>
<select id="alarmEquipLink" resultType="java.util.Map">
SELECT
ta.`date`,
IFNULL( ta.sumNum, 0 ) AS sumNum,
IFNULL( tc.sumNum, 0 ) AS hbSumNum,
concat(
ifnull( round( ( ta.sumNum - tc.sumNum ) / tc.sumNum * 100, 0 ), 0 ),
'%'
) AS hbRate
FROM
<choose>
<when test="pattern != null and pattern != ''">
( SELECT DATE_FORMAT( wesal.create_date, #{pattern} ) `date`, COUNT( 1 ) AS sumNum FROM wl_equipment_specific_alarm_log wesal GROUP BY `date` ) ta
LEFT JOIN ( SELECT DATE_FORMAT( wesal.create_date, #{pattern} ) `date`, COUNT( 1 ) AS sumNum FROM wl_equipment_specific_alarm_log wesal GROUP BY `date` ) tc
ON ta.`date` = date_add( tc.`date`, INTERVAL 1 DAY )
</when>
<otherwise>
( SELECT DATE_FORMAT( wesal.create_date, '%Y-%m-%d' ) `date`, COUNT( 1 ) AS sumNum FROM wl_equipment_specific_alarm_log wesal GROUP BY `date` ) ta
LEFT JOIN ( SELECT DATE_FORMAT( wesal.create_date, '%Y-%m-%d' ) `date`, COUNT( 1 ) AS sumNum FROM wl_equipment_specific_alarm_log wesal GROUP BY `date` ) tc
ON ta.`date` = date_add( tc.`date`, INTERVAL 1 DAY )
</otherwise>
</choose>
<where>
<if test="date != null and date != ''">
ta.`date` = #{date}
</if>
</where>
ORDER BY
ta.`date`
</select>
<select id="unCleanAlarmEquipLink" resultType="java.util.Map">
SELECT
ta.`date`,
IFNULL( ta.sumNum, 0 ) AS sumNum,
IFNULL( tc.sumNum, 0 ) AS hbSumNum,
concat(
ifnull( round( ( ta.sumNum - tc.sumNum ) / tc.sumNum * 100, 0 ), 0 ),
'%'
) AS hbRate
FROM
<choose>
<when test="pattern != null and pattern != ''">
( SELECT DATE_FORMAT( wesal.create_date, #{pattern} ) `date`, COUNT( 1 ) AS sumNum FROM wl_equipment_specific_alarm_log wesal WHERE wesal.clean_time IS NULL GROUP BY `date` ) ta
LEFT JOIN ( SELECT DATE_FORMAT( wesal.create_date, #{pattern} ) `date`, COUNT( 1 ) AS sumNum FROM wl_equipment_specific_alarm_log wesal GROUP BY `date` ) tc
ON ta.`date` = date_add( tc.`date`, INTERVAL 1 DAY )
</when>
<otherwise>
( SELECT DATE_FORMAT( wesal.create_date, '%Y-%m-%d' ) `date`, COUNT( 1 ) AS sumNum FROM wl_equipment_specific_alarm_log wesal WHERE wesal.clean_time IS NULL GROUP BY `date` ) ta
LEFT JOIN ( SELECT DATE_FORMAT( wesal.create_date, '%Y-%m-%d' ) `date`, COUNT( 1 ) AS sumNum FROM wl_equipment_specific_alarm_log wesal GROUP BY `date` ) tc
ON ta.`date` = date_add( tc.`date`, INTERVAL 1 DAY )
</otherwise>
</choose>
<where>
<if test="date != null and date != ''">
ta.`date` = #{date}
</if>
</where>
ORDER BY
ta.`date`
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment