package com.zhitan.alarm.services.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhitan.alarm.domain.AlarmItem; import com.zhitan.alarm.mapper.AlarmItemMapper; import com.zhitan.alarm.services.IAlarmItemService; import com.zhitan.common.utils.DateUtils; import com.zhitan.common.utils.uuid.IdUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * 预报警设置Service业务层处理 * * @author sys * @date 2020-03-02 */ @Service public class AlarmItemServiceImpl implements IAlarmItemService { @Autowired private AlarmItemMapper alarmItemMapper; /** * 查询预报警设置 * * @param id 预报警设置ID * @return 预报警设置 */ @Override public AlarmItem selectAlarmItemById(String id) { return alarmItemMapper.selectAlarmItemById(id); } /** * 查询预报警设置列表 * * @param alarmItem 预报警设置 * @return 预报警设置 */ @Override public List selectAlarmItemList(AlarmItem alarmItem) { return alarmItemMapper.selectAlarmItemList(alarmItem); } /** * 新增预报警设置 * * @param alarmItem 预报警设置 * @return 结果 */ @Override public int insertAlarmItem(AlarmItem alarmItem) { alarmItem.setCreateTime(DateUtils.getNowDate()); return alarmItemMapper.insertAlarmItem(alarmItem); } /** * 修改预报警设置 * * @param alarmItem 预报警设置 * @return 结果 */ @Override public int updateAlarmItem(AlarmItem alarmItem) { alarmItem.setUpdateTime(DateUtils.getNowDate()); return alarmItemMapper.updateAlarmItem(alarmItem); } /** * 修改预报警设置 * * @param ids,flag 预报警设置 * @return 结果 */ @Override public int updateStartStop(String[] ids, String flag, String username) { return alarmItemMapper.updateStartStop(ids, flag, username); } /** * 批量删除预报警设置 * * @param ids 需要删除的预报警设置ID * @return 结果 */ @Override public int deleteAlarmItemByIds(String[] ids) { return alarmItemMapper.deleteAlarmItemByIds(ids); } /** * 删除预报警设置信息 * * @param id 预报警设置ID * @return 结果 */ @Override public int deleteAlarmItemById(String id) { return alarmItemMapper.deleteAlarmItemById(id); } /** * 查询预报警设置 * * @param id 预报警设置ID * @return 预报警设置 */ @Override public List selectAlarmItemtingById(String id) { return alarmItemMapper.selectAlarmItemtingById(id); } /** * 查询预报警设置 * * @return 预报警设置 */ @Override public String getStartStop(String indexid) { return alarmItemMapper.getStartStop(indexid); } /** * 修改弹出框限值 * * @param data 【修改弹出框限值】 * @return 结果 */ @Override public int updateLimitVal(List data, String username) { String id = ""; int num = 0; int dataNum = data.size(); Map map = (Map) data.get(0); id = map.get("indexId").toString(); for (int i = 0; i < data.size(); i++) { Map map1 = (Map) data.get(i); String val = map1.get("limitVal").toString().trim(); if ("".equals(val) || null == val) { data.remove(i); i--; num++; } map1.put("id", IdUtils.fastUUID()); map1.put("alarmCode", map1.get("indexId").toString() + ":" + map1.get("timeSlotVal").toString() + ":" + map1.get("limitTypeVal").toString()); } //查询条数 int count = alarmItemMapper.selectCountById(id); if (num == dataNum) {//对比全空数据需要把数据库里id一致的全删除 if (count > 0) { return alarmItemMapper.deleteAllLimitVal(id); } else { return 1; } } else { if (count > 0) { alarmItemMapper.deleteAllLimitVal(id); return alarmItemMapper.updateLimitValNoDel(data, id, username); } else { return alarmItemMapper.updateLimitValNoDel(data, id, username); } } } /** * 查询预报警设置 * * @param id 预报警设置ID * @return 预报警设置 */ @Override public ArrayList getSettingCount(String[] id) { ArrayList list = new ArrayList(); for (int i = 0; i < id.length; i++) { int count = alarmItemMapper.getSettingCount(id[i]); if (count > 0) { list.add(count); } else { list.add(0); } } return list; } @Override public List getAllAlarmItem() { return alarmItemMapper.getAllAlarmItem(); } @Override public Page selectAlarmItemPage(AlarmItem alarmItem, Long pageNum, Long pageSize) { LambdaQueryWrapper queryWrapper =new LambdaQueryWrapper<>(); queryWrapper.orderByDesc(AlarmItem::getCreateTime); return alarmItemMapper.selectPage(new Page<>(pageNum,pageSize),queryWrapper); } }