Commit 45cd4f2f authored by 高建强's avatar 高建强

item:添加未消除告警设备日月环比信息

parent eb25c1fd
...@@ -13,8 +13,6 @@ import org.typroject.tyboot.core.foundation.enumeration.UserType; ...@@ -13,8 +13,6 @@ import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.Date;
/** /**
* @author ZeHua Li * @author ZeHua Li
* @date 2020/10/29 14:26 * @date 2020/10/29 14:26
...@@ -29,11 +27,17 @@ public class EquipmentSpecificAlarmLogController extends AbstractBaseController ...@@ -29,11 +27,17 @@ public class EquipmentSpecificAlarmLogController extends AbstractBaseController
IEquipmentSpecificAlarmLogService equipmentSpecificAlarmLogService; IEquipmentSpecificAlarmLogService equipmentSpecificAlarmLogService;
/**
* 获取告警设备日月环比信息
*
* @param date
* @return
*/
@RequestMapping(value = "/equipAlarmLink", method = RequestMethod.GET) @RequestMapping(value = "/equipAlarmLink", method = RequestMethod.GET)
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "获取告警日志信息", notes = "获取告警日志信息") @ApiOperation(httpMethod = "GET", value = "获取告警设备日月环比信息", notes = "获取告警设备日月环比信息")
public ResponseModel equipAlarmLink(@RequestParam(required = false) Date date, @RequestParam(required = false) String pattern) { public ResponseModel equipAlarmLink(@RequestParam(required = false) String date) {
return CommonResponseUtil.success(equipmentSpecificAlarmLogService.equipAlarmLink(date, pattern)); return CommonResponseUtil.success(equipmentSpecificAlarmLogService.equipAlarmLink(date));
} }
......
...@@ -39,5 +39,7 @@ public interface EquipmentSpecificAlarmLogMapper extends BaseMapper<EquipmentSpe ...@@ -39,5 +39,7 @@ 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); Map<String, Object> alarmEquipLink(String date, String pattern, String cleanFlag);
Map<String, Object> unCleanAlarmEquipLink(String date, String pattern, String cleanFlag);
} }
...@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -4,7 +4,6 @@ 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; import java.util.Map;
...@@ -25,15 +24,17 @@ public interface IEquipmentSpecificAlarmLogService extends IService<EquipmentSpe ...@@ -25,15 +24,17 @@ public interface IEquipmentSpecificAlarmLogService extends IService<EquipmentSpe
/** /**
* 通过告警ID,获取告警Log数据 * 通过告警ID,获取告警Log数据
*
* @param equipmentSpecificAlarmId * @param equipmentSpecificAlarmId
* @param isConfirm '' 为全部数据 0 为未确认 1为已确认 * @param isConfirm '' 为全部数据 0 为未确认 1为已确认
* @return * @return
*/ */
List<EquipmentSpecificAlarmLog> getIsConfirmByAlarmId(Long equipmentSpecificId,String equipmentSpecificIndexKey, String isConfirm); List<EquipmentSpecificAlarmLog> getIsConfirmByAlarmId(Long equipmentSpecificId, String equipmentSpecificIndexKey, String isConfirm);
/** /**
* 获取设备告警环比 * 获取设备告警环比
*
* @return * @return
*/ */
Map<String, Object> equipAlarmLink(Date date, String pattern); Map<String, Object> equipAlarmLink(String date);
} }
...@@ -46,40 +46,24 @@ public class EquipmentSpecificAlarmLogServiceImpl extends ServiceImpl<EquipmentS ...@@ -46,40 +46,24 @@ public class EquipmentSpecificAlarmLogServiceImpl extends ServiceImpl<EquipmentS
} }
@Override @Override
public Map<String, Object> equipAlarmLink(Date date, String pattern) { public Map<String, Object> equipAlarmLink(String date) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
String dateStr = null; if (StringUtils.isBlank(date)) {
if (date != null && StringUtils.isNotBlank(pattern)) { date = DateUtils.convertDateToString(new Date(), "yyyy-MM-dd");
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");
} }
String monthDate = date.substring(0, 7);
// 获取今日告警设备、日环比 // 获取今日告警设备、日环比
List<Map<String, Object>> alarmEquipDayLinkList = equipmentSpecificAlarmLogMapper.equipAlarmLink(dateStr, pattern); Map<String, Object> alarmEquipDayLink = equipmentSpecificAlarmLogMapper.alarmEquipLink(date, "%Y-%m-%d", null);
// 获取今日告警设备、月环比 // 获取今日告警设备、月环比
List<Map<String, Object>> alarmEquipMonthLinkList = equipmentSpecificAlarmLogMapper.equipAlarmLink(dateStr, pattern); Map<String, Object> alarmEquipMonthLink = equipmentSpecificAlarmLogMapper.alarmEquipLink(monthDate, "%Y-%m", null);
// 获取未消除告警设备,日环比 // 获取未消除告警设备,日环比
List<Map<String, Object>> unCleanAlarmEquipDayLinkList = equipmentSpecificAlarmLogMapper.equipAlarmLink(dateStr, pattern); Map<String, Object> unCleanAlarmEquipDayLink = equipmentSpecificAlarmLogMapper.unCleanAlarmEquipLink(date, "%Y-%m-%d", "unClean");
// 获取未消除告警设备,月环比 // 获取未消除告警设备,月环比
List<Map<String, Object>> unCleanAlarmEquipMonthLinkList = equipmentSpecificAlarmLogMapper.equipAlarmLink(dateStr, pattern); Map<String, Object> unCleanAlarmEquipMonthLink = equipmentSpecificAlarmLogMapper.unCleanAlarmEquipLink(monthDate, "%Y-%m", "unClean");
map.put("alarmEquipDayLink", alarmEquipDayLinkList); map.put("alarmEquipDayLink", alarmEquipDayLink);
map.put("alarmEquipMonthLink", alarmEquipMonthLinkList); map.put("alarmEquipMonthLink", alarmEquipMonthLink);
map.put("unCleanAlarmEquipDayLink", unCleanAlarmEquipDayLinkList); map.put("unCleanAlarmEquipDayLink", unCleanAlarmEquipDayLink);
map.put("unCleanAlarmEquipMonthLink", unCleanAlarmEquipMonthLinkList); map.put("unCleanAlarmEquipMonthLink", unCleanAlarmEquipMonthLink);
return map; return map;
} }
} }
...@@ -183,34 +183,64 @@ ...@@ -183,34 +183,64 @@
</where> </where>
ORDER BY weal.create_date DESC ORDER BY weal.create_date DESC
</select> </select>
<select id="equipAlarmLink" resultType="java.util.Map"> <select id="alarmEquipLink" resultType="java.util.Map">
SELECT SELECT
ta.ymd, ta.`date`,
IFNULL( ta.sumNum, 0 ) AS sumNum, IFNULL( ta.sumNum, 0 ) AS sumNum,
IFNULL( tc.sumNum, 0 ) AS rhbSumNum, IFNULL( tc.sumNum, 0 ) AS hbSumNum,
concat( concat(
ifnull( round( ( ta.sumNum - tc.sumNum ) / tc.sumNum * 100, 0 ), 0 ), ifnull( round( ( ta.sumNum - tc.sumNum ) / tc.sumNum * 100, 0 ), 0 ),
'%' '%'
) AS rhbRate ) AS hbRate
FROM FROM
<choose> <choose>
<when test="pattern != null and pattern != ''"> <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 ( 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} ) ymd, COUNT( 1 ) AS sumNum FROM wl_equipment_specific_alarm_log wesal GROUP BY ymd ) tc 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.ymd = date_add( tc.ymd, INTERVAL 1 DAY ) ON ta.`date` = date_add( tc.`date`, INTERVAL 1 DAY )
</when> </when>
<otherwise> <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 ( 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' ) ymd, COUNT( 1 ) AS sumNum FROM wl_equipment_specific_alarm_log wesal GROUP BY ymd ) tc 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.ymd = date_add( tc.ymd, INTERVAL 1 DAY ) ON ta.`date` = date_add( tc.`date`, INTERVAL 1 DAY )
</otherwise> </otherwise>
</choose> </choose>
<where> <where>
<if test="date != null and date != ''"> <if test="date != null and date != ''">
ta.ymd = #{date} ta.`date` = #{date}
</if> </if>
</where> </where>
ORDER BY ORDER BY
ta.ymd 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> </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