Commit eb25c1fd authored by 高建强's avatar 高建强

item:日告警设备和为消除告警设备信息接口开发

parent 0335913e
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
</list> </list>
</option> </option>
</component> </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" /> <output url="file://$PROJECT_DIR$/classes" />
</component> </component>
</project> </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;
import java.util.Date;
/**
* @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;
@RequestMapping(value = "/equipAlarmLink", method = RequestMethod.GET)
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "获取告警日志信息", notes = "获取告警日志信息")
public ResponseModel equipAlarmLink(@RequestParam(required = false) Date date, @RequestParam(required = false) String pattern) {
return CommonResponseUtil.success(equipmentSpecificAlarmLogService.equipAlarmLink(date, pattern));
}
}
...@@ -8,7 +8,6 @@ import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarmLog; ...@@ -8,7 +8,6 @@ import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarmLog;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -40,4 +39,5 @@ public interface EquipmentSpecificAlarmLogMapper extends BaseMapper<EquipmentSpe ...@@ -40,4 +39,5 @@ public interface EquipmentSpecificAlarmLogMapper extends BaseMapper<EquipmentSpe
List<Map<String, Object>> getOtherEquipInfo(@Param("date") String date, @Param("equipmentId") Long equipmentId); List<Map<String, Object>> getOtherEquipInfo(@Param("date") String date, @Param("equipmentId") Long equipmentId);
List<Map<String, Object>> equipAlarmLink(String date, String pattern);
} }
...@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarm; import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarm;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarmLog; import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarmLog;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @author keyong * @author keyong
...@@ -28,4 +30,10 @@ public interface IEquipmentSpecificAlarmLogService extends IService<EquipmentSpe ...@@ -28,4 +30,10 @@ public interface IEquipmentSpecificAlarmLogService extends IService<EquipmentSpe
* @return * @return
*/ */
List<EquipmentSpecificAlarmLog> getIsConfirmByAlarmId(Long equipmentSpecificId,String equipmentSpecificIndexKey, String isConfirm); List<EquipmentSpecificAlarmLog> getIsConfirmByAlarmId(Long equipmentSpecificId,String equipmentSpecificIndexKey, String isConfirm);
/**
* 获取设备告警环比
* @return
*/
Map<String, Object> equipAlarmLink(Date date, String pattern);
} }
...@@ -4,13 +4,18 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -4,13 +4,18 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarm; import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarm;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarmLog; import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarmLog;
import com.yeejoin.equipmanage.common.utils.DateUtils;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificAlarmLogMapper; import com.yeejoin.equipmanage.mapper.EquipmentSpecificAlarmLogMapper;
import com.yeejoin.equipmanage.service.IEquipmentSpecificAlarmLogService; import com.yeejoin.equipmanage.service.IEquipmentSpecificAlarmLogService;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @author keyong * @author keyong
...@@ -39,4 +44,42 @@ public class EquipmentSpecificAlarmLogServiceImpl extends ServiceImpl<EquipmentS ...@@ -39,4 +44,42 @@ public class EquipmentSpecificAlarmLogServiceImpl extends ServiceImpl<EquipmentS
} }
return Lists.newArrayList(); return Lists.newArrayList();
} }
@Override
public Map<String, Object> equipAlarmLink(Date date, String pattern) {
Map<String, Object> map = new HashMap<>();
String dateStr = null;
if (date != null && StringUtils.isNotBlank(pattern)) {
dateStr = DateUtils.convertDateToString(date, pattern);
int length = dateStr.length();
switch (length) {
case 10 :
pattern = "%Y-%m-%d";
break;
case 7 :
pattern = "%Y-%m";
break;
case 4 :
pattern = "%Y";
break;
default:
break;
}
} else {
dateStr = DateUtils.convertDateToString(new Date(), "yyyy-MM-dd");
}
// 获取今日告警设备、日环比
List<Map<String, Object>> alarmEquipDayLinkList = equipmentSpecificAlarmLogMapper.equipAlarmLink(dateStr, pattern);
// 获取今日告警设备、月环比
List<Map<String, Object>> alarmEquipMonthLinkList = equipmentSpecificAlarmLogMapper.equipAlarmLink(dateStr, pattern);
// 获取未消除告警设备,日环比
List<Map<String, Object>> unCleanAlarmEquipDayLinkList = equipmentSpecificAlarmLogMapper.equipAlarmLink(dateStr, pattern);
// 获取未消除告警设备,月环比
List<Map<String, Object>> unCleanAlarmEquipMonthLinkList = equipmentSpecificAlarmLogMapper.equipAlarmLink(dateStr, pattern);
map.put("alarmEquipDayLink", alarmEquipDayLinkList);
map.put("alarmEquipMonthLink", alarmEquipMonthLinkList);
map.put("unCleanAlarmEquipDayLink", unCleanAlarmEquipDayLinkList);
map.put("unCleanAlarmEquipMonthLink", unCleanAlarmEquipMonthLinkList);
return map;
}
} }
...@@ -183,4 +183,34 @@ ...@@ -183,4 +183,34 @@
</where> </where>
ORDER BY weal.create_date DESC ORDER BY weal.create_date DESC
</select> </select>
<select id="equipAlarmLink" resultType="java.util.Map">
SELECT
ta.ymd,
IFNULL( ta.sumNum, 0 ) AS sumNum,
IFNULL( tc.sumNum, 0 ) AS rhbSumNum,
concat(
ifnull( round( ( ta.sumNum - tc.sumNum ) / tc.sumNum * 100, 0 ), 0 ),
'%'
) AS rhbRate
FROM
<choose>
<when test="pattern != null and pattern != ''">
( SELECT DATE_FORMAT( wesal.create_date, #{pattern} ) ymd, COUNT( 1 ) AS sumNum FROM wl_equipment_specific_alarm_log wesal GROUP BY ymd ) ta
LEFT JOIN ( SELECT DATE_FORMAT( wesal.create_date, #{pattern} ) ymd, COUNT( 1 ) AS sumNum FROM wl_equipment_specific_alarm_log wesal GROUP BY ymd ) tc
ON ta.ymd = date_add( tc.ymd, INTERVAL 1 DAY )
</when>
<otherwise>
( SELECT DATE_FORMAT( wesal.create_date, '%Y-%m-%d' ) ymd, COUNT( 1 ) AS sumNum FROM wl_equipment_specific_alarm_log wesal GROUP BY ymd ) ta
LEFT JOIN ( SELECT DATE_FORMAT( wesal.create_date, '%Y-%m-%d' ) ymd, COUNT( 1 ) AS sumNum FROM wl_equipment_specific_alarm_log wesal GROUP BY ymd ) tc
ON ta.ymd = date_add( tc.ymd, INTERVAL 1 DAY )
</otherwise>
</choose>
<where>
<if test="date != null and date != ''">
ta.ymd = #{date}
</if>
</where>
ORDER BY
ta.ymd
</select>
</mapper> </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