| | |
| | | package com.whyc.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.github.pagehelper.PageHelper; |
| | | import com.github.pagehelper.PageInfo; |
| | | import com.whyc.dto.Page; |
| | | import com.whyc.dto.DevInfDto; |
| | | import com.whyc.dto.Response; |
| | | import com.whyc.mapper.A200RealstateMapper; |
| | | import com.whyc.mapper.ActmRealstateMapper; |
| | | import com.whyc.mapper.BattgroupBaojigroupMapper; |
| | | import com.whyc.mapper.DevInfMapper; |
| | | import com.whyc.pojo.db_lithium_ram_db.A200Realstate; |
| | | import com.whyc.pojo.db_lithium_ram_db.ActmRealstate; |
| | | import com.whyc.pojo.db_lithium_ram_db.DevInf; |
| | | import com.whyc.util.RSAUtil; |
| | | import com.whyc.pojo.db_user.BattgroupBaojigroup; |
| | | import com.whyc.pojo.db_user.UserInf; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service |
| | |
| | | @Autowired(required = false) |
| | | private DevInfMapper mapper; |
| | | |
| | | @Autowired(required = false) |
| | | private A200RealstateMapper a200Mapper; |
| | | |
| | | @Autowired(required = false) |
| | | private ActmRealstateMapper actmMapper; |
| | | |
| | | @Autowired(required = false) |
| | | private BattgroupBaojigroupMapper battBjmapper; |
| | | |
| | | //添加设备 |
| | | @Transactional |
| | | public Response addDev(DevInf devInf) { |
| | | QueryWrapper wrapper=new QueryWrapper(); |
| | | //判断设备类型生成devId |
| | | int devId=getDevId(devInf.getDevType()); |
| | | devInf.setDevId(devId); |
| | | devInf.setCreateTime(new Date()); |
| | | int bl=mapper.insert(devInf); |
| | | if(bl>0){ |
| | | if(devInf.getBaojiIdList()!=null){ |
| | | List<BattgroupBaojigroup> listBj=new ArrayList<>(); |
| | | for (int baojiId:devInf.getBaojiIdList()) { |
| | | BattgroupBaojigroup baojigroup=new BattgroupBaojigroup(); |
| | | baojigroup.setDevId(devId); |
| | | baojigroup.setBaojiGroupId(baojiId); |
| | | listBj.add(baojigroup); |
| | | } |
| | | //将设备添加进指定的包机组 |
| | | battBjmapper.insertBatchSomeColumn(listBj); |
| | | } |
| | | } |
| | | return new Response().set(1,bl>0); |
| | | } |
| | | //判断设备类型生成devId |
| | |
| | | } |
| | | |
| | | //获取所有的设备信息 |
| | | public Response getAllInf(Integer uid, Page page) { |
| | | public Response getAllInf(Integer uid, DevInfDto devInfDto) { |
| | | Map<String, Object> allMap = new HashMap<>(); |
| | | PageHelper.startPage(page.getPageNum(),page.getPageSize()); |
| | | List<DevInf> list=mapper.getAllInf(uid); |
| | | PageHelper.startPage(devInfDto.getPageNum(), devInfDto.getPageSize()); |
| | | devInfDto.setUid(uid); |
| | | List<DevInf> listype=mapper.getAllInf(devInfDto); |
| | | PageInfo pageInfo=new PageInfo(listype); |
| | | |
| | | List<DevInf> list=mapper.getLine(uid); |
| | | Map<Integer, List<DevInf>> typeDevMap = list.stream().collect(Collectors.groupingBy(DevInf::getDevType)); |
| | | Map<Integer, List<DevInf>> onlineDevMap = list.stream().collect(Collectors.groupingBy(DevInf::getDevOnline)); |
| | | Map<Integer, Object> typeMap = new HashMap<>(); |
| | |
| | | for (Integer online : onlineDevMap.keySet()) { |
| | | onlineMap.put(online, onlineDevMap.get(online).size()); |
| | | } |
| | | PageInfo pageInfo=new PageInfo(list); |
| | | allMap.put("type",typeMap); |
| | | allMap.put("onlineMap",onlineMap); |
| | | allMap.put("devSum",devSum); |
| | | allMap.put("pageInfo",pageInfo); |
| | | |
| | | return new Response().setII(1,list!=null,allMap,"获取所有的设备信息"); |
| | | return new Response().setII(1,listype!=null,allMap,"获取所有的设备信息"); |
| | | } |
| | | |
| | | //获取左侧列表 |
| | | public Response getDevBytype(Integer devType) { |
| | | QueryWrapper wrapper=new QueryWrapper(); |
| | | if (devType!=null){ |
| | | wrapper.eq("dev_type",devType); |
| | | } |
| | | wrapper.orderByAsc("dev_id"); |
| | | List<DevInf> list=mapper.selectList(wrapper); |
| | | return new Response().setII(1,list!=null,list,"获取左侧列表"); |
| | | } |
| | | //获取左侧泪飙 |
| | | public Response getDevType(int uid) { |
| | | Map<String, Object> allMap = new HashMap<>(); |
| | | List<DevInf> a200List=mapper.getDevType(uid,1); |
| | | for (DevInf a200:a200List) { |
| | | QueryWrapper a200wrapper= Wrappers.query(); |
| | | a200wrapper.eq("dev_id",a200.getDevId()); |
| | | a200wrapper.last("limit 1"); |
| | | A200Realstate a200state=a200Mapper.selectOne(a200wrapper); |
| | | //a200.setA200sTate(a200state); |
| | | a200.setState(a200state!=null?a200state:null); |
| | | } |
| | | List<DevInf> actmList=mapper.getDevType(uid,2); |
| | | for (DevInf actm:actmList) { |
| | | QueryWrapper actmwrapper= Wrappers.query(); |
| | | actmwrapper.eq("dev_id",actm.getDevId()); |
| | | actmwrapper.last("limit 1"); |
| | | ActmRealstate actmstate=actmMapper.selectOne(actmwrapper); |
| | | //actm.setActmsTate(actmstate); |
| | | actm.setState(actmstate!=null?actmstate:null); |
| | | } |
| | | allMap.put("a200List",a200List); |
| | | allMap.put("actmList",actmList); |
| | | return new Response().setII(1,allMap.size()>0,allMap,"获取左侧列表"); |
| | | } |
| | | //编辑设备信息 |
| | | public Response updateInf(DevInf dinf) { |
| | | UpdateWrapper wrapper=new UpdateWrapper(); |
| | | wrapper.eq("dev_id",dinf.getDevId()); |
| | | int flag=mapper.update(dinf,wrapper); |
| | | return new Response().set(1,flag>0,"编辑设备信息"); |
| | | } |
| | | //获取设备信息(不分页用于包机组) |
| | | public Response getDinf() { |
| | | QueryWrapper wrapper=new QueryWrapper(); |
| | | wrapper.orderByAsc("dev_id"); |
| | | List<UserInf> list=mapper.selectList(wrapper); |
| | | return new Response().setII(1,list!=null,list,"获取设备信息(不分页用于包机组)"); |
| | | } |
| | | //删除设备(同时删除实时和包机组信息) |
| | | @Transactional |
| | | public Response delDinf(Integer devId) { |
| | | //先删除包机组信息 |
| | | UpdateWrapper baojiWrapper=new UpdateWrapper(); |
| | | baojiWrapper.eq("dev_id",devId); |
| | | battBjmapper.delete(baojiWrapper); |
| | | //再删除实时信息 |
| | | if(devId/100000000==1){ |
| | | UpdateWrapper a200Wrapper=new UpdateWrapper(); |
| | | a200Wrapper.eq("dev_id",devId); |
| | | a200Mapper.delete(a200Wrapper); |
| | | }else{ |
| | | UpdateWrapper actmWrapper=new UpdateWrapper(); |
| | | actmWrapper.eq("dev_id",devId); |
| | | actmMapper.delete(actmWrapper); |
| | | } |
| | | //最后删除设备信息 |
| | | UpdateWrapper dinfWrapper=new UpdateWrapper(); |
| | | dinfWrapper.eq("dev_id",devId); |
| | | mapper.delete(dinfWrapper); |
| | | return new Response().set(1,true,"删除设备(同时删除实时和包机组信息)"); |
| | | } |
| | | } |