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.TbCompanyMapper;
import com.hxzkmonitor.mapper.TbUserMapper;
import com.hxzkmonitor.pojo.TbAlarmsystem;
import com.hxzkmonitor.mapper.TbAlarmsystemMapper;
import com.hxzkmonitor.pojo.TbAlarmsystem;
import com.hxzkmonitor.pojo.TbCompany;
import com.hxzkmonitor.pojo.TbUser;
import com.hxzkmonitor.service.TbAlarmsystemService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
*
* 服务实现类
*
*
* @author wangfei
* @since 2024-08-05
*/
@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class TbAlarmsystemServiceImpl extends ServiceImpl implements TbAlarmsystemService {
private final TbCompanyMapper tbCompanyMapper;
private final TbUserMapper tbUserMapper;
@Override
public IPage searchAlarmsystem(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 queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("alarmname", keyword);
List tagid1 = baseMapper.selectList(queryWrapper);
List alarmname1 = baseMapper.selectList(queryWrapper2);
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);
tagid.getRecords().get(i).setCompany(tbCompany.getCompanyname());
}
return tagid;
} else if (alarmname1.size() > 0) {
IPage alarmname = baseMapper.selectPage(page, queryWrapper2);
for (int i = 0; i < alarmname.getRecords().size(); i++) {
QueryWrapper queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("id",alarmname.getRecords().get(i).getCompanyid());
TbCompany tbCompany = tbCompanyMapper.selectOne(queryWrapper1);
alarmname.getRecords().get(i).setCompany(tbCompany.getCompanyname());
}
return alarmname;
} else {
return null;
}
}else{
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("tagid", keyword);
queryWrapper.eq("companyid",tbUser.getCsname());
QueryWrapper queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("alarmname", keyword);
queryWrapper.eq("companyid",tbUser.getCsname());
List tagid1 = baseMapper.selectList(queryWrapper);
List alarmname1 = baseMapper.selectList(queryWrapper2);
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);
tagid.getRecords().get(i).setCompany(tbCompany.getCompanyname());
}
return tagid;
} else if (alarmname1.size() > 0) {
IPage alarmname = baseMapper.selectPage(page, queryWrapper2);
for (int i = 0; i < alarmname.getRecords().size(); i++) {
QueryWrapper queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("id",alarmname.getRecords().get(i).getCompanyid());
TbCompany tbCompany = tbCompanyMapper.selectOne(queryWrapper1);
alarmname.getRecords().get(i).setCompany(tbCompany.getCompanyname());
}
return alarmname;
} else {
return null;
}
}
}
@Override
public Integer delAlarmsystem(Integer id) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("id", id);
return baseMapper.delete(queryWrapper);
}
@Override
public Integer addorupAlarmsystem(TbAlarmsystem tbAlarmsystem) {
if (tbAlarmsystem.getId() != null) {
return baseMapper.updateById(tbAlarmsystem);
} else {
return baseMapper.insert(tbAlarmsystem);
}
}
@Override
public IPage getAlarmsystemPage(Page page,String username) {
QueryWrapper queryWrapperu = new QueryWrapper<>();
queryWrapperu.eq("username",username);
TbUser tbUser= tbUserMapper.selectOne(queryWrapperu);
if (Objects.equals(tbUser.getRole(), "超级管理员")){
QueryWrapper queryWrapper = new QueryWrapper<>();
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);
userPage.getRecords().get(i).setCompany(tbCompany.getCompanyname());
}
return userPage;
}else{
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("companyid",tbUser.getCsname());
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);
userPage.getRecords().get(i).setCompany(tbCompany.getCompanyname());
}
return userPage;
}
}
}