package com.whyc.service;
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
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.BattInfAndEnduranceDTO;
|
import com.whyc.dto.Response;
|
import com.whyc.factory.BattinfGroupFactory;
|
import com.whyc.mapper.BattInfMapper;
|
import com.whyc.pojo.Battinf;
|
import com.whyc.pojo.MapOutline;
|
import com.whyc.pojo.PowerInf;
|
import io.swagger.models.auth.In;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.HashMap;
|
import java.util.List;
|
|
@Service
|
public class BattInfService {
|
@Resource
|
private BattInfMapper battInfMapper;
|
|
public int searchMaxBattgroupId_zj(){
|
int id = battInfMapper.getMaxBattGroupId_zj();
|
return id+1;
|
}
|
|
public String searchMaxId_zj(){
|
int id = Integer.valueOf(battInfMapper.getMaxStationId_zj());
|
return (id+1)+"";
|
}
|
|
public int searchMaxDevId(Integer fbsDeviceId){
|
int devId = battInfMapper.getMaxDevId(fbsDeviceId);
|
if(devId==0){
|
int length = String.valueOf(fbsDeviceId).length();
|
switch (length){
|
case 3:
|
devId = fbsDeviceId*1000000;break;
|
case 4:
|
devId = fbsDeviceId*100000;break;
|
case 5:
|
devId = fbsDeviceId*10000;break;
|
case 6:
|
devId = fbsDeviceId*1000;break;
|
/*case 9100:
|
case 9110:
|
case 9120:
|
case 9605:
|
devId = fbsDeviceId*100000;break;
|
case 61850:
|
case 71850:
|
devId = fbsDeviceId*10000;break;
|
default:
|
devId= fbsDeviceId*100000;break;*/
|
}
|
}
|
devId+=1;
|
|
return devId;
|
}
|
|
|
public Response searchAllStationName1 (Integer uId){
|
List<String> list = battInfMapper.getStationName1ByUserId(uId);
|
return new Response().set(1,list,"查询成功");
|
}
|
|
public Response searchAllStationName2 (Integer uId,String stationName1){
|
List<String> list = battInfMapper.getStationName2ByUseridAndSt1(uId,stationName1);
|
return new Response().set(1,list,"查询成功");
|
}
|
|
public Response searchAllStationName5 (Integer uId,String stationName1,String stationName2){
|
List<String> list = battInfMapper.getStationName5ByUseridAndSt1AndSt2(stationName1,stationName2,uId);
|
return new Response().set(1,list,"查询成功");
|
}
|
|
public Response searchAllStationName(Integer uId,String stationName1,String stationName2,String stationName5){
|
List<Battinf> list = battInfMapper.getAllStationName(uId,stationName1,stationName2,stationName5);
|
return new Response().set(1,list,"查询成功");
|
}
|
|
|
public Response searchBattGroupByStationName (Integer uId,String stationName1,String stationName){
|
List<Battinf> list = battInfMapper.getBattgroupListByStationNameAndStationName1(uId,stationName1,stationName);
|
return new Response().set(1,list,"查询成功");
|
}
|
|
public Response searchStationNameInGroup(Integer uId,String stationName1){
|
List<String> list = battInfMapper.getStationNameInGroup(uId,stationName1);
|
return new Response().set(1,list,"查询成功");
|
}
|
|
|
public Response add(Battinf battinf,Integer userId){
|
int battGroupId = searchMaxBattgroupId_zj();//BattinfGroupFactory.searchMaxBattgroupId();
|
battinf.setBattGroupId(battGroupId);
|
String stationId = searchMaxId_zj();//BattinfGroupFactory.searchStationId();
|
battinf.setStationId(stationId);
|
int dev_id = searchMaxDevId(battinf.getFBSDeviceId().intValue());
|
Battinf bst3 = battInfMapper.judgeBattStationName3(battinf);
|
if (bst3!=null){
|
battinf.setStationId(bst3.getStationId());
|
Battinf bst = battInfMapper.judgeBattStationName(battinf.getStationName(),battinf.getFBSDeviceName());
|
if (bst!=null){
|
battinf.setFBSDeviceId(bst.getFBSDeviceId());
|
}else {
|
battinf.setFBSDeviceId((long) dev_id);
|
}
|
}else {
|
battinf.setStationId(stationId);
|
battinf.setFBSDeviceId((long) dev_id);
|
}
|
battInfMapper.insert(battinf);
|
battInfMapper.insertUserBattgroupBaojigroupBattgroup(battinf.getStationId(),battinf.getBattGroupId());
|
battInfMapper.insertUserBattgroupBaojigroupBattgroupSelect(battinf.getStationId(),battinf.getBattGroupId(),userId);
|
return new Response().set(1,battinf,"添加成功");
|
}
|
|
public Response searchInfo(int pageNum,int pageSize,Integer userId,String stationName1,String stationName2,String stationName5,String stationName3){
|
PageHelper.startPage(pageNum,pageSize);
|
List<Battinf> list = battInfMapper.searchInform(userId, stationName1, stationName2,stationName5, stationName3);
|
PageInfo<Battinf> pageInfo = new PageInfo<>(list);
|
return new Response().set(1,pageInfo,"查询成功");
|
}
|
|
public void deleteByBattgroupId(Integer battgroupId){
|
QueryWrapper<Battinf> wrapper = new QueryWrapper<Battinf>().eq("battgroupId",battgroupId);
|
battInfMapper.delete(wrapper);
|
}
|
|
public Response update(Battinf battinf){
|
if (battInfMapper.updateById(battinf)>0){
|
return new Response().set(1,"更新成功");
|
}else {
|
return new Response().set(0,"更新失败");
|
}
|
}
|
|
public Response updateIp(Battinf battinf){
|
UpdateWrapper<Battinf> updateWrapper = new UpdateWrapper<Battinf>();
|
updateWrapper.eq("FBSDeviceId",battinf.getFBSDeviceId());
|
int affectRows = battInfMapper.update(battinf,updateWrapper);
|
if (affectRows>0){
|
return new Response().set(1,true,"更新成功");
|
}else {
|
return new Response().set(1,false,"更新失败");
|
}
|
}
|
|
public Response findByBattGroupId(int battGroupId){
|
QueryWrapper<Battinf> queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("battgroupid",battGroupId);
|
List<Battinf> list = battInfMapper.selectList(queryWrapper);
|
return new Response().set(1,list,"查询成功");
|
}
|
|
public Response searchBattProducer(){
|
List<String> list = battInfMapper.getAllBattProducer();
|
return new Response().set(1,list);
|
}
|
|
public Response updatePublicKeyByDevId(String publicKey,Integer deviceId){
|
if(battInfMapper.updatePublicKeyByDevId(publicKey,deviceId)>0){
|
return new Response().set(1,true,"更新成功");
|
}else {
|
return new Response().set(1,false,"更新失败");
|
}
|
}
|
|
|
|
public void addBatch(List<Battinf> battInfList){
|
battInfMapper.insertBatchSomeColumn(battInfList);
|
}
|
|
|
public List<Battinf> getStationList(int userId) {
|
return battInfMapper.getStationList(userId);
|
}
|
|
|
public Response searchNotInBattMapByUid(int uId){
|
List<Battinf> list = battInfMapper.searchNotInBattMapByUid(uId);
|
return new Response().set(1,list,"查询成功");
|
}
|
|
public List<Battinf> getBattGroupInfoByFBSDeviceId(int fbsDeviceId) {
|
QueryWrapper<Battinf> queryWrapper = Wrappers.query();
|
queryWrapper.select("BattGroupId","BattGroupName").eq("FBSDeviceId",fbsDeviceId);
|
return battInfMapper.selectList(queryWrapper);
|
}
|
|
public Response findUseYear(int uId){
|
HashMap<String,Integer> map = new HashMap<>();
|
int yearBelowThree = 0;
|
int yearBetweenThreeAndFive = 0;
|
int yearBetweenFiveAndSeven = 0;
|
int yearAboveSeven = 0;
|
List<Integer> list = battInfMapper.findUseYear(uId);
|
//查询3年内,3-5年,5-7年,7年以上,含头不含尾
|
for (int year:list){
|
if(year<3){
|
yearBelowThree+=1;
|
}else if(year<5){
|
yearBetweenThreeAndFive+=1;
|
}else if(year<7){
|
yearBetweenFiveAndSeven+=1;
|
}else{
|
yearAboveSeven+=1;
|
}
|
}
|
map.put("3年内",yearBelowThree);
|
map.put("3-5年",yearBetweenThreeAndFive);
|
map.put("5-7年",yearBetweenFiveAndSeven);
|
map.put("7年以上",yearAboveSeven);
|
return new Response().set(1,map,"查询成功");
|
}
|
|
public Response findBattProducer(int uId){
|
List<Battinf> list = battInfMapper.findBattProducer(uId);
|
return new Response().set(1,list,"查询成功");
|
}
|
|
public Response findBattProducerInfoByProducerName(String battProducer,int uId){
|
List<BattInfAndEnduranceDTO> list = battInfMapper.findBattProducerInfoByProducerName(battProducer,uId);
|
return new Response().set(1,list,"查询成功");
|
}
|
|
/**
|
* yearCode:
|
* 1:3年以内
|
* 2:3-5年
|
* 3:5到7年
|
* 4:7年以上
|
* @param yearCode
|
* @param uId
|
* @return
|
*/
|
public Response findBattProducerInfoByYearCode(int yearCode,int uId){
|
List<BattInfAndEnduranceDTO> list = battInfMapper.findBattProducerInfoByYearCode(yearCode,uId);
|
return new Response().set(1,list,"查询成功");
|
}
|
|
public Response findBattInfoByStationId(String stationId){
|
QueryWrapper<Battinf> queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("stationId",stationId);
|
List<Battinf> list = battInfMapper.selectList(queryWrapper);
|
return new Response().set(1,list,"查询成功");
|
}
|
//-----------根据蓄电池组查不重复的MonCount(monNum)(单体编号)
|
public Response searchByMonNum(int battGroupId){
|
List<Battinf> list = battInfMapper.searchByMonNum(battGroupId);
|
for (Battinf inf:list) {
|
inf.setMonNum(Integer.parseInt(inf.getSignalName().split("#")[0]));
|
}
|
return new Response().set(1,list,"查询成功");
|
}
|
|
public List<Battinf> getStationList8059(Long uId) {
|
return battInfMapper.getStationList8059(uId);
|
}
|
}
|