package com.hxzkmonitor.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.hxzkmonitor.mapper.*; import com.hxzkmonitor.pojo.*; import com.hxzkmonitor.service.TbEquipmentService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hxzkmonitor.service.TbSystemService; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; import java.util.*; /** *

* 服务实现类 *

* * @author wangfei * @since 2024-08-05 */ @Service @RequiredArgsConstructor(onConstructor = @__(@Autowired)) public class TbEquipmentServiceImpl extends ServiceImpl implements TbEquipmentService { private final TbAlarmrecordMapper tbAlarmrecordMapper; private final TbSystemMapper tbSystemMapper; private final TbCompanyMapper tbCompanyMapper; private final TbUserMapper tbUserMapper; @Autowired TbSystemService tbSystemService; @Override public IPage searcheveryday(Page page,String keyword ,String username) { QueryWrapper queryWrapperu = new QueryWrapper<>(); queryWrapperu.eq("username",username); TbUser tbUser= tbUserMapper.selectOne(queryWrapperu); if (Objects.equals(tbUser.getRole(), "超级管理员")){ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("tagid",keyword); queryWrapper.eq("type",1); queryWrapper.orderByDesc("addtime"); QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("anchorname",keyword); queryWrapper2.eq("type",1); queryWrapper.orderByDesc("addtime"); QueryWrapper queryWrapper3 = new QueryWrapper<>(); queryWrapper3.eq("cid",keyword); queryWrapper3.eq("type",1); queryWrapper.orderByDesc("addtime"); List tagid1= baseMapper.selectList(queryWrapper); List anchorname1 = baseMapper.selectList(queryWrapper2); List cid1= baseMapper.selectList(queryWrapper3); if (tagid1.size()>0){ IPage tagid= baseMapper.selectPage(page,queryWrapper); for (int i = 0; i < tagid.getRecords().size(); i++) { QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("id",tagid.getRecords().get(i).getCompanyid()); TbCompany tbCompany = tbCompanyMapper.selectOne(queryWrapper1); if (tbCompany!=null){ tagid.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } // tagid.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } return tagid; }else if (anchorname1.size()>0){ IPage anchorname = baseMapper.selectPage(page,queryWrapper2); for (int i = 0; i < anchorname.getRecords().size(); i++) { QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("id",anchorname.getRecords().get(i).getCompanyid()); TbCompany tbCompany = tbCompanyMapper.selectOne(queryWrapper1); if (tbCompany!=null){ anchorname.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } // anchorname.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } return anchorname; }else if (cid1.size()>0){ IPage cid= baseMapper.selectPage(page,queryWrapper3); for (int i = 0; i < cid.getRecords().size(); i++) { QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("id",cid.getRecords().get(i).getCompanyid()); TbCompany tbCompany = tbCompanyMapper.selectOne(queryWrapper1); if (tbCompany!=null){ cid.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } // cid.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } return cid; }else{ return null; } }else{ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("tagid",keyword); queryWrapper.eq("type",1); queryWrapper.eq("companyid",tbUser.getCsname()); queryWrapper.orderByDesc("addtime"); QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("anchorname",keyword); queryWrapper2.eq("type",1); queryWrapper.eq("companyid",tbUser.getCsname()); queryWrapper.orderByDesc("addtime"); QueryWrapper queryWrapper3 = new QueryWrapper<>(); queryWrapper3.eq("cid",keyword); queryWrapper3.eq("type",1); queryWrapper.eq("companyid",tbUser.getCsname()); queryWrapper.orderByDesc("addtime"); List tagid1= baseMapper.selectList(queryWrapper); List anchorname1 = baseMapper.selectList(queryWrapper2); List cid1= baseMapper.selectList(queryWrapper3); if (tagid1.size()>0){ IPage tagid= baseMapper.selectPage(page,queryWrapper); for (int i = 0; i < tagid.getRecords().size(); i++) { QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("id",tagid.getRecords().get(i).getCompanyid()); TbCompany tbCompany = tbCompanyMapper.selectOne(queryWrapper1); if (tbCompany!=null){ tagid.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } // tagid.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } return tagid; }else if (anchorname1.size()>0){ IPage anchorname = baseMapper.selectPage(page,queryWrapper2); for (int i = 0; i < anchorname.getRecords().size(); i++) { QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("id",anchorname.getRecords().get(i).getCompanyid()); TbCompany tbCompany = tbCompanyMapper.selectOne(queryWrapper1); if (tbCompany!=null){ anchorname.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } // anchorname.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } return anchorname; }else if (cid1.size()>0){ IPage cid= baseMapper.selectPage(page,queryWrapper3); for (int i = 0; i < cid.getRecords().size(); i++) { QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("id",cid.getRecords().get(i).getCompanyid()); TbCompany tbCompany = tbCompanyMapper.selectOne(queryWrapper1); if (tbCompany!=null){ cid.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } // cid.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } return cid; }else{ return null; } } } @Override public IPage searchEquipment(Page page,String keyword,String type,String username) { QueryWrapper queryWrapperu = new QueryWrapper<>(); queryWrapperu.eq("username",username); TbUser tbUser= tbUserMapper.selectOne(queryWrapperu); if (Objects.equals(tbUser.getRole(), "超级管理员")){ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("tagid",keyword); queryWrapper.eq("type",type); queryWrapper.orderByDesc("addtime"); QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("anchorname",keyword); queryWrapper2.eq("type",type); queryWrapper.orderByDesc("addtime"); QueryWrapper queryWrapper3 = new QueryWrapper<>(); queryWrapper3.eq("cid",keyword); queryWrapper3.eq("type",type); queryWrapper.orderByDesc("addtime"); List tagid1= baseMapper.selectList(queryWrapper); List anchorname1 = baseMapper.selectList(queryWrapper2); List cid1= baseMapper.selectList(queryWrapper3); if (tagid1.size()>0){ IPage tagid= baseMapper.selectPage(page,queryWrapper); for (int i = 0; i < tagid.getRecords().size(); i++) { QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("id",tagid.getRecords().get(i).getCompanyid()); TbCompany tbCompany = tbCompanyMapper.selectOne(queryWrapper1); if (tbCompany!=null){ tagid.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } // tagid.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } return tagid; }else if (anchorname1.size()>0){ IPage anchorname = baseMapper.selectPage(page,queryWrapper2); for (int i = 0; i < anchorname.getRecords().size(); i++) { QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("id",anchorname.getRecords().get(i).getCompanyid()); TbCompany tbCompany = tbCompanyMapper.selectOne(queryWrapper1); if (tbCompany!=null){ anchorname.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } // anchorname.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } return anchorname; }else if (cid1.size()>0){ IPage cid= baseMapper.selectPage(page,queryWrapper3); for (int i = 0; i < cid.getRecords().size(); i++) { QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("id",cid.getRecords().get(i).getCompanyid()); TbCompany tbCompany = tbCompanyMapper.selectOne(queryWrapper1); if (tbCompany!=null){ cid.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } // cid.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } return cid; }else{ return null; } }else{ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("tagid",keyword); queryWrapper.eq("type",type); queryWrapper.eq("companyid",tbUser.getCsname()); queryWrapper.orderByDesc("addtime"); QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("anchorname",keyword); queryWrapper2.eq("type",type); queryWrapper.eq("companyid",tbUser.getCsname()); queryWrapper.orderByDesc("addtime"); QueryWrapper queryWrapper3 = new QueryWrapper<>(); queryWrapper3.eq("cid",keyword); queryWrapper3.eq("type",type); queryWrapper.eq("companyid",tbUser.getCsname()); queryWrapper.orderByDesc("addtime"); List tagid1= baseMapper.selectList(queryWrapper); List anchorname1 = baseMapper.selectList(queryWrapper2); List cid1= baseMapper.selectList(queryWrapper3); if (tagid1.size()>0){ IPage tagid= baseMapper.selectPage(page,queryWrapper); for (int i = 0; i < tagid.getRecords().size(); i++) { QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("id",tagid.getRecords().get(i).getCompanyid()); TbCompany tbCompany = tbCompanyMapper.selectOne(queryWrapper1); if (tbCompany!=null){ tagid.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } // tagid.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } return tagid; }else if (anchorname1.size()>0){ IPage anchorname = baseMapper.selectPage(page,queryWrapper2); for (int i = 0; i < anchorname.getRecords().size(); i++) { QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("id",anchorname.getRecords().get(i).getCompanyid()); TbCompany tbCompany = tbCompanyMapper.selectOne(queryWrapper1); if (tbCompany!=null){ anchorname.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } // anchorname.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } return anchorname; }else if (cid1.size()>0){ IPage cid= baseMapper.selectPage(page,queryWrapper3); for (int i = 0; i < cid.getRecords().size(); i++) { QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("id",cid.getRecords().get(i).getCompanyid()); TbCompany tbCompany = tbCompanyMapper.selectOne(queryWrapper1); if (tbCompany!=null){ cid.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } // cid.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } return cid; }else{ return null; } } } @Override public TbEquipment delEquipment(Integer id) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("id",id); baseMapper.delete(queryWrapper); return baseMapper.selectOne(queryWrapper); } @Override public Integer addorupEquipment(TbEquipment tbEquipment) { Date date = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); tbEquipment.setAddtime(formatter.format(date)); if (tbEquipment.getId()!=null){ return baseMapper.updateById(tbEquipment); }else{ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("type",tbEquipment.getType()); queryWrapper.eq("tagid",tbEquipment.getTagid()); // baseMapper.selectOne(queryWrapper); if (baseMapper.selectList(queryWrapper).size()>0){ return -1; }else{ return baseMapper.insert(tbEquipment); } } } @Override public IPage everyday(Page page,String username) { QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("username",username); TbUser tbUser= tbUserMapper.selectOne(queryWrapper2); if (Objects.equals(tbUser.getRole(), "超级管理员")){ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("type",1); queryWrapper.orderByDesc("addtime"); IPage userPage = baseMapper.selectPage(page,queryWrapper); for (int i = 0; i < userPage.getRecords().size(); i++) { QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("id",userPage.getRecords().get(i).getCompanyid()); TbCompany tbCompany = tbCompanyMapper.selectOne(queryWrapper1); if (tbCompany!=null){ userPage.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } // userPage.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } return userPage; }else{ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("type",1); queryWrapper.eq("companyid",tbUser.getCsname()); queryWrapper.orderByDesc("addtime"); IPage userPage = baseMapper.selectPage(page,queryWrapper); for (int i = 0; i < userPage.getRecords().size(); i++) { QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("id",userPage.getRecords().get(i).getCompanyid()); TbCompany tbCompany = tbCompanyMapper.selectOne(queryWrapper1); if (tbCompany!=null){ userPage.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } // userPage.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } return userPage; } } @Override public IPage getEquipmentPage(Page page,String type,String username) { QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("username",username); TbUser tbUser= tbUserMapper.selectOne(queryWrapper2); if (Objects.equals(tbUser.getRole(), "超级管理员")){ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("type",type); queryWrapper.orderByDesc("addtime"); IPage userPage = baseMapper.selectPage(page,queryWrapper); for (int i = 0; i < userPage.getRecords().size(); i++) { QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("id",userPage.getRecords().get(i).getCompanyid()); TbCompany tbCompany = tbCompanyMapper.selectOne(queryWrapper1); if (tbCompany!=null){ userPage.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } // userPage.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } return userPage; }else{ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("type",type); queryWrapper.eq("companyid",tbUser.getCsname()); queryWrapper.orderByDesc("addtime"); IPage userPage = baseMapper.selectPage(page,queryWrapper); for (int i = 0; i < userPage.getRecords().size(); i++) { QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("id",userPage.getRecords().get(i).getCompanyid()); TbCompany tbCompany = tbCompanyMapper.selectOne(queryWrapper1); if (tbCompany!=null){ userPage.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } // userPage.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } return userPage; } } @Override public Map getEquipment(Integer type,String username,String phone) { QueryWrapper queryWrapperu = new QueryWrapper<>(); queryWrapperu.eq("username",username); queryWrapperu.eq("adminphone",phone); TbUser tbUser= tbUserMapper.selectOne(queryWrapperu); QueryWrapper queryWrapper = new QueryWrapper<>(); if (!Objects.equals(tbUser.getRole(), "超级管理员")){ queryWrapper.eq("companyid",tbUser.getCsname()); } queryWrapper.eq("type",'1'); queryWrapper.orderByDesc("addtime"); List monitorNum = baseMapper.selectList(queryWrapper); QueryWrapper queryWrapper1 = new QueryWrapper<>(); if (!Objects.equals(tbUser.getRole(), "超级管理员")){ queryWrapper1.eq("companyid",tbUser.getCsname()); } queryWrapper1.eq("type",'0'); queryWrapper1.orderByDesc("addtime"); List standardNum = baseMapper.selectList(queryWrapper1); QueryWrapper queryWrapper2 = new QueryWrapper<>(); if (!Objects.equals(tbUser.getRole(), "超级管理员")){ queryWrapper2.eq("companyid",tbUser.getCsname()); } queryWrapper2.eq("onlie",'0'); queryWrapper2.orderByDesc("addtime"); List offlineNum = baseMapper.selectList(queryWrapper2); QueryWrapper queryWrapper3 = new QueryWrapper<>(); if (!Objects.equals(tbUser.getRole(), "超级管理员")){ queryWrapper3.eq("companyid",tbUser.getCsname()); } queryWrapper3.eq("status","未处理"); queryWrapper3.orderByDesc("alarmtime"); List alarmNum = tbAlarmrecordMapper.selectList(queryWrapper3); QueryWrapper queryWrapper4 = new QueryWrapper<>(); List messageNum = tbSystemMapper.selectList(queryWrapper4); List list1 = tbSystemService.list(); Map map = new HashMap<>(); map.put("monitorNumList",monitorNum); map.put("monitorNum",monitorNum.size()); map.put("standardNumList",standardNum); map.put("standardNum",standardNum.size()); map.put("offlineNumList",offlineNum); map.put("offlineNum",offlineNum.size()); map.put("alarmNumList",alarmNum); map.put("alarmNum",alarmNum.size()); map.put("alerttime",list1.get(0).getAlerttime()); map.put("messageNum",Integer.parseInt(messageNum.get(0).getDatanum())); return map; } @Override public List getEquipmentmonitor(String username,String phone) { QueryWrapper queryWrapperu = new QueryWrapper<>(); queryWrapperu.eq("username",username); queryWrapperu.eq("adminphone",phone); TbUser tbUser= tbUserMapper.selectOne(queryWrapperu); QueryWrapper queryWrapper = new QueryWrapper<>(); if (!Objects.equals(tbUser.getRole(), "超级管理员")){ queryWrapper.eq("companyid",tbUser.getCsname()); } queryWrapper.eq("type",1); return baseMapper.selectList(queryWrapper); } @Override public List getEquipmenttwo(String username,String phone) { QueryWrapper queryWrapperu = new QueryWrapper<>(); queryWrapperu.eq("username",username); queryWrapperu.eq("adminphone",phone); TbUser tbUser= tbUserMapper.selectOne(queryWrapperu); QueryWrapper queryWrapper = new QueryWrapper<>(); if (!Objects.equals(tbUser.getRole(), "超级管理员")){ queryWrapper.eq("companyid",tbUser.getCsname()); } queryWrapper.eq("type",1); queryWrapper.orderByDesc("jxtime"); queryWrapper.last("LIMIT 20"); return baseMapper.selectList(queryWrapper); } @Override public List getalldevice(String username,String phone) { QueryWrapper queryWrapperu = new QueryWrapper<>(); queryWrapperu.eq("username",username); queryWrapperu.eq("adminphone",phone); TbUser tbUser= tbUserMapper.selectOne(queryWrapperu); QueryWrapper queryWrapper = new QueryWrapper<>(); if (!Objects.equals(tbUser.getRole(), "超级管理员")){ queryWrapper.eq("companyid",tbUser.getCsname()); } // queryWrapper.eq("type",1); // queryWrapper.orderByDesc("jxtime"); // queryWrapper.last("LIMIT 20"); return baseMapper.selectList(queryWrapper); } @Override public TbEquipment getByTagid(String tagid) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("tagid",tagid); TbEquipment standardNum = baseMapper.selectOne(queryWrapper); return standardNum; } @Override public List search(String username,String query) { QueryWrapper queryWrapperu = new QueryWrapper<>(); queryWrapperu.eq("username",username); // queryWrapperu.eq("adminphone",phone); TbUser tbUser= tbUserMapper.selectOne(queryWrapperu); QueryWrapper queryWrapper = new QueryWrapper<>(); if (!Objects.equals(tbUser.getRole(), "超级管理员")){ queryWrapper.eq("companyid",tbUser.getCsname()); } queryWrapper.eq("type",1); queryWrapper.like("tagid", query); queryWrapper.orderByDesc("addtime"); return baseMapper.selectList(queryWrapper); } }