package cn.gistack.sm.damSecurity.service.impl;
|
|
import cn.gistack.nky.entity.AlarmGet;
|
import cn.gistack.nky.vo.AlarmGetVO;
|
import cn.gistack.sm.damSecurity.mapper.DamSecurityMapper;
|
import cn.gistack.sm.damSecurity.service.IDamSecurityService;
|
import cn.gistack.sm.damSecurity.vo.*;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import org.springblade.core.log.exception.ServiceException;
|
import org.springblade.core.tool.utils.StringUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
|
@Service
|
public class DamSecurityServiceImpl implements IDamSecurityService {
|
|
@Autowired
|
private DamSecurityMapper damSecurityMapper;
|
|
@Override
|
public DamSecurityStatistics getSingleRegionCount(DamSecurityStatistics damSecurityStatistics) {
|
return damSecurityMapper.getSingleRegionCount(damSecurityStatistics);
|
}
|
|
@Override
|
public DamSecurityStatistics getSingleRegionCountOptimize(DamSecurityStatistics damSecurityStatistics) {
|
return damSecurityMapper.getSingleRegionCountOptimize(damSecurityStatistics);
|
}
|
|
@Override
|
public List<DamSecurityStatistics> listRegionCount(DamSecurityStatistics damSecurityStatistics) {
|
// return damSecurityMapper.listRegionCount(damSecurityStatistics);
|
return damSecurityMapper.listRegionCountOptimize(damSecurityStatistics);
|
}
|
|
@Override
|
public List<DamStationStatistics> tableResCount(DamStationStatistics damStationStatistics) {
|
return damSecurityMapper.tableResCount(damStationStatistics);
|
}
|
|
@Override
|
public IPage<DamStationStatistics> tableResCountPage(DamStationStatistics damStationStatistics, IPage<DamStationStatistics> page) {
|
// return page.setRecords(damSecurityMapper.tableResCountPage(damStationStatistics,page));
|
return page.setRecords(damSecurityMapper.tableResCountPageOptimize(damStationStatistics,page));
|
}
|
|
@Override
|
public List<DamStationStatistics> alarmResCount(DamStationStatistics damStationStatistics,String basCode) {
|
return damSecurityMapper.alarmResCount(damStationStatistics,basCode);
|
}
|
|
@Override
|
public List<DamStationStatistics> alarmResCount(DamMonitor damMonitor) {
|
return damSecurityMapper.alarmResCountByZt(damMonitor);
|
}
|
|
@Override
|
public List<DamStatisticsRes> damResInfoCount(String adCode) {
|
|
List<DamStatisticsRes> list = damSecurityMapper.damResInfoCount(adCode);
|
|
// list.forEach(damStatisticsRes -> {
|
// List<DamStationStatistics> errorList = damSecurityMapper.getResErrorList(damStatisticsRes,adCode);
|
// damStatisticsRes.setErrorList(errorList);
|
// });
|
//
|
// list.forEach(damStatisticsRes -> {
|
// List<DamStationStatistics> normalList = new ArrayList<>();
|
// if (damStatisticsRes.getType().equals("1")){
|
// //渗压
|
// normalList = damSecurityMapper.getResSyNormalList(adCode);
|
// }else if (damStatisticsRes.getType().equals("2")){
|
// //渗流
|
// normalList = damSecurityMapper.getResSlNormalList(adCode);
|
// }else if (damStatisticsRes.getType().equals("3")){
|
// //位移
|
// normalList = damSecurityMapper.getResWyNormalList(adCode);
|
// }
|
// damStatisticsRes.setNormalList(normalList);
|
// });
|
|
return list;
|
}
|
|
@Override
|
public List<DamStationStatistics> damResInfoCountMap(HashMap<String,String> obj) {
|
String type = obj.get("type");
|
String adCode = obj.get("adCode");
|
String status = obj.get("status");
|
|
|
List<DamStationStatistics> list = new ArrayList<>();
|
if (type.equals("sy")){
|
list = damSecurityMapper.getSyList(adCode,status);
|
}else if (type.equals("sl")){
|
list = damSecurityMapper.getSlList(adCode,status);
|
}else if (type.equals("wy")){
|
list = damSecurityMapper.getWyList(adCode,status);
|
}else {
|
return null;
|
}
|
|
return list;
|
}
|
|
@Override
|
public List<DamMonitor> listRegionCountMonitor(DamMonitor damMonitor) {
|
|
List<DamMonitor> regionList = getRegionList(damMonitor);
|
regionList.forEach(region ->{
|
damMonitor.setAdCode(region.getAdCode());
|
List<LevelPo> levelPoList = damSecurityMapper.getLevelList(damMonitor);
|
region.setLevelList(levelPoList);
|
});
|
return regionList;
|
}
|
|
@Override
|
public IPage<AlarmGetVO> pageMonitor(AlarmGetVO alarmGet, IPage<AlarmGetVO> page) {
|
|
//位移
|
if (alarmGet.getType().equals("3")){
|
List<AlarmGetVO> list = damSecurityMapper.pageMonitorWy(page,alarmGet);
|
return page.setRecords(list);
|
}else{
|
List<AlarmGetVO> list = damSecurityMapper.pageMonitor(page,alarmGet);
|
return page.setRecords(list);
|
}
|
|
}
|
|
@Override
|
public List<LevelPo> levelMonitorPie(DamMonitor damMonitor) {
|
List<LevelPo> levelPoList = damSecurityMapper.getLevelList(damMonitor);
|
return levelPoList;
|
}
|
|
|
public List<DamMonitor> getRegionList(DamMonitor damMonitor){
|
return damSecurityMapper.getRegionList(damMonitor);
|
}
|
|
@Override
|
public List<DamStatisticsRegion> getDamInfoCountByRegion(DamStatisticsRegion damStatisticsRegion) {
|
List<DamStatisticsRegion> list = new ArrayList<>();
|
|
if (damStatisticsRegion.getStatus().equals("total")){
|
//点击总数
|
if (damStatisticsRegion.getType().equals("sy")){
|
list = damSecurityMapper.getDamSyRegion(damStatisticsRegion);//已修改逻辑
|
}else if (damStatisticsRegion.getType().equals("sl")){
|
list = damSecurityMapper.getDamSlRegion(damStatisticsRegion);//1
|
}else if (damStatisticsRegion.getType().equals("wy")){
|
list = damSecurityMapper.getDamWyRegion(damStatisticsRegion);//1
|
}
|
}else if (damStatisticsRegion.getStatus().equals("error")){
|
//点异常
|
list = damSecurityMapper.getErrorDamRegion(damStatisticsRegion);
|
}else if (damStatisticsRegion.getStatus().equals("normal")){
|
//点正常
|
if (damStatisticsRegion.getType().equals("sy")){
|
list = damSecurityMapper.getDamSyRegionNormal(damStatisticsRegion);//1
|
}else if (damStatisticsRegion.getType().equals("sl")){
|
list = damSecurityMapper.getDamSlRegionNormal(damStatisticsRegion);//1
|
}else if (damStatisticsRegion.getType().equals("wy")){
|
list = damSecurityMapper.getDamWyRegionNormal(damStatisticsRegion);//1
|
}
|
}
|
|
return list;
|
}
|
|
@Override
|
public List<DamStatisticsRes> damResInfoCountOptimize(String adCode) {
|
|
List<DamStatisticsRes> list = new ArrayList<>();
|
|
|
|
DamStatisticsRes sy = damSecurityMapper.damResInfoCountSy(adCode);
|
DamStatisticsRes sl = damSecurityMapper.damResInfoCountSl(adCode);
|
DamStatisticsRes wy = damSecurityMapper.damResInfoCountWy(adCode);
|
|
list.add(sy);
|
list.add(sl);
|
list.add(wy);
|
return list;
|
}
|
|
|
|
@Override
|
public DamStatisticsRes damResInfoCountOptimizeType(String adCode, String type) {
|
|
if (type.equals("sy")){
|
return damSecurityMapper.damResInfoCountSy(adCode);
|
}else if(type.equals("sl")) {
|
return damSecurityMapper.damResInfoCountSl(adCode);
|
}else if (type.equals("wy")){
|
return damSecurityMapper.damResInfoCountWy(adCode);
|
}
|
|
return null;
|
}
|
|
@Override
|
public List<AlarmGetVO> getLatestResRecord(AlarmGet alarmGet) {
|
|
if (StringUtil.isBlank(alarmGet.getDamId())){
|
throw new ServiceException("水库编码为空");
|
}
|
|
if (StringUtil.isBlank(alarmGet.getType())){
|
throw new ServiceException("监测类型为空");
|
}
|
|
if (alarmGet.getType().equals("3")){
|
//位移,单独取测站名称
|
return damSecurityMapper.getLatestResRecordWy(alarmGet);
|
}else{
|
return damSecurityMapper.getLatestResRecord(alarmGet);
|
}
|
}
|
|
}
|