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);
}
}