diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalController.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalController.java index 0acba34..3636992 100644 --- a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalController.java +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalController.java @@ -32,7 +32,7 @@ public class TerminalController extends BaseController { @ApiResponses({@ApiResponse(code = 200, message = "请求成功"), @ApiResponse(code = 400, message = "请求参数没填好"), @ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")}) @RequestMapping("/getTerminalList") @Log(title = "获取设备列表", type = "查询") - public ResponseReult getTerminalList(@RequestBody @Validated PageVo vo) { + public ResponseReult getTerminalList(@RequestBody @Validated TerminalSelectVo vo) { ServiceBody serviceBody = terminalService.getTerminalList(vo); if (serviceBody.getCode() == ServiceStatus.SUCCESS) { return ResponseReult.success(serviceBody.getData()); @@ -211,4 +211,5 @@ public class TerminalController extends BaseController { } } + } diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/dto/DyLineAndTowertDto.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/dto/DyLineAndTowertDto.java new file mode 100644 index 0000000..e624871 --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/dto/DyLineAndTowertDto.java @@ -0,0 +1,27 @@ +package com.shxy.xymanager_common.dto; + +import lombok.Data; + + +@Data +public class DyLineAndTowertDto { + + private Integer dyId; + + private String dyName; + + private Integer dyValue; + + private Integer lineId; + + private String lineName; + + private String bsManufacturer; + + private Integer dyLevelId; + + private Integer towerId; + + private String towerName; + +} diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/util/TerminalUtils.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/util/TerminalUtils.java index 58d5db4..d434d8d 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/util/TerminalUtils.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/util/TerminalUtils.java @@ -38,6 +38,9 @@ public class TerminalUtils { * @param lastHeartbeat */ public static boolean judgeTerminalStatus(BigInteger lastHeartbeat) { + if (lastHeartbeat == null) { + return false; + } long time = MyDateUtils.TimeSecond2MillSecond(lastHeartbeat.longValue()); DateTime date = MyDateUtils.date(time); long between = MyDateUtils.between(MyDateUtils.getNowDate(), date, DateUnit.MINUTE); diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/LineAndGtAndChannelVo.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/LineAndGtAndChannelVo.java index 482f86b..deaa9e3 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/LineAndGtAndChannelVo.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/LineAndGtAndChannelVo.java @@ -12,7 +12,7 @@ import java.util.List; @ApiModel(value = "线路杆塔通道和时间查询", description = "线路杆塔通道和时间查询") public class LineAndGtAndChannelVo { - @ApiModelProperty(value = "查询类型", example = "1--电压 2--线路 3--杆塔 4--通道") + @ApiModelProperty(value = "查询类型", example = "1--电压 2--线路 3--杆塔 4--装置 5--通道") private Integer type; @ApiModelProperty(value = "编号", example = "123455") diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TerminalSelectVo.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TerminalSelectVo.java new file mode 100644 index 0000000..ee055da --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/vo/TerminalSelectVo.java @@ -0,0 +1,34 @@ +package com.shxy.xymanager_common.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.validation.annotation.Validated; + +import javax.validation.constraints.Min; + +@Data +@Validated +@ApiModel(value = "装置查询对象", description = "装置查询对象描述") +public class TerminalSelectVo { + + @ApiModelProperty(value = "电压编号", example = "123455") + private Integer dyid; + + @ApiModelProperty(value = "装置编号", example = "123455") + private Integer lineid; + + @ApiModelProperty(value = "杆塔编号", example = "123455") + private Integer towerid; + + @ApiModelProperty(value = "搜索内容", example = "搜索内容") + private String search; + + @Min(value = 1, message = "分页位置最小从1开始") + @ApiModelProperty(value = "分页位置从1开始", required = true, example = "1") + private int pageindex; + + @Min(value = 1, message = "分页大小最小为1") + @ApiModelProperty(value = "分页大小", required = true, example = "1") + private int pagesize; +} diff --git a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/DyLevelDao.java b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/DyLevelDao.java index 15b14a1..7f7a2aa 100644 --- a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/DyLevelDao.java +++ b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/DyLevelDao.java @@ -3,6 +3,7 @@ package com.shxy.xymanager_dao.dao; import com.shxy.xymanager_common.dto.DyAndLineAndTowerAndTermDto; import com.shxy.xymanager_common.dto.DyLineAndTerminalNoHeartDto; import com.shxy.xymanager_common.dto.DyLineAndTerminalWithHeartDto; +import com.shxy.xymanager_common.dto.DyLineAndTowertDto; import com.shxy.xymanager_common.entity.DyLevel; import io.swagger.models.auth.In; import org.apache.ibatis.annotations.Param; @@ -11,7 +12,9 @@ import java.util.List; public interface DyLevelDao { - List selectDyAndLineAndTowerAnTermList(@Param("dyid") Integer dyid, @Param("lineid") Integer lineid, @Param("towerid") Integer towerid, @Param("termid") Integer termid,@Param("status") Integer status); + List selectDyAndLineAndTowerAnTermList(@Param("dyid") Integer dyid, @Param("lineid") Integer lineid, @Param("towerid") Integer towerid, @Param("termid") Integer termid, @Param("status") Integer status); + + List selectDyAndLineAndTowerList(@Param("dyid") Integer dyid, @Param("lineid") Integer lineid, @Param("towerid") Integer towerid, @Param("search") String search); int deleteByPrimaryKey(Integer id); diff --git a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalsDao.java b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalsDao.java index 19e0b84..69953cc 100644 --- a/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalsDao.java +++ b/xymanager_dao/src/main/java/com/shxy/xymanager_dao/dao/TerminalsDao.java @@ -20,7 +20,7 @@ public interface TerminalsDao { List selectChannelAndTermList(@Param("status") Integer status); - List selectTermAndStatusList( @Param("status") Integer status); + List selectTermAndStatusList(@Param("status") Integer status, @Param("towerid") List towerid,@Param("search") String search); Terminals selectByCmdid(@Param("cmdid") String cmdid, @Param("status") Integer status); diff --git a/xymanager_dao/src/main/resources/mappers/DyLevelDao.xml b/xymanager_dao/src/main/resources/mappers/DyLevelDao.xml index a85b3cd..19cf104 100644 --- a/xymanager_dao/src/main/resources/mappers/DyLevelDao.xml +++ b/xymanager_dao/src/main/resources/mappers/DyLevelDao.xml @@ -74,6 +74,19 @@ + + + + + + + + + + + + + id, name, dy_value, status, create_time, update_time @@ -128,6 +141,38 @@ + + + + diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalChannelServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalChannelServiceImpl.java index d73fa1e..9fc460a 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalChannelServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalChannelServiceImpl.java @@ -20,6 +20,7 @@ import com.shxy.xymanager_common.page.PageUtils; import com.shxy.xymanager_common.util.TerminalUtils; import com.shxy.xymanager_common.vo.*; import com.shxy.xymanager_dao.dao.TerminalChannelsDao; +import com.shxy.xymanager_dao.dao.TerminalPhotoDao; import com.shxy.xymanager_dao.dao.TerminalStatusDao; import com.shxy.xymanager_service.cache.XyCache; import com.shxy.xymanager_service.service.TerminalChannelService; @@ -47,6 +48,9 @@ public class TerminalChannelServiceImpl implements TerminalChannelService { @Autowired TerminalStatusDao terminalStatusDao; + @Autowired + TerminalPhotoDao terminalPhotoDao; + /** * 新增通道列表 * diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalServiceImpl.java index 5441809..54cd6b3 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalServiceImpl.java @@ -10,6 +10,7 @@ import com.github.pagehelper.PageInfo; import com.shxy.xymanager_common.bean.ServiceBody; import com.shxy.xymanager_common.constant.Constants; import com.shxy.xymanager_common.dto.*; +import com.shxy.xymanager_common.entity.Lines; import com.shxy.xymanager_common.entity.TerminalChannelMapper; import com.shxy.xymanager_common.entity.TerminalStatus; import com.shxy.xymanager_common.entity.Terminals; @@ -65,6 +66,9 @@ public class TerminalServiceImpl implements TerminalService { @Autowired TerminalStatusDao terminalStatusDao; + @Autowired + LinesDao linesDao; + @Autowired CacheService cacheService; @@ -81,18 +85,50 @@ public class TerminalServiceImpl implements TerminalService { * @return */ @Override - public ServiceBody getTerminalList(PageVo vo) { + public ServiceBody getTerminalList(TerminalSelectVo vo) { + Map towerMap = cacheService.getTowerMap(); + Map termAndChannelMap = cacheService.getTermAndChannelMap(); + Integer dyid = vo.getDyid(); + Integer lineid = vo.getLineid(); + Integer tower = vo.getTowerid(); + String search = vo.getSearch(); + if (StrUtil.isEmpty(search)) { + search = null; + } + List dyLineAndTowertDtos = new ArrayList<>(); + if (dyid == null || dyid.intValue() == -1) { + tower = null; + } else { + if (lineid == null || lineid.intValue() == -1) { + dyLineAndTowertDtos = dyLevelDao.selectDyAndLineAndTowerList(dyid, null, null,search); + } else { + if (tower == null || tower.intValue() == -1) { + dyLineAndTowertDtos = dyLevelDao.selectDyAndLineAndTowerList(dyid, lineid, null,search); + } else { + dyLineAndTowertDtos = dyLevelDao.selectDyAndLineAndTowerList(dyid, lineid, tower,search); + } + } + } + + List list2 = new ArrayList<>(); TerminalListModel model = new TerminalListModel(); int pageindex = vo.getPageindex(); int pagesize = vo.getPagesize(); PageUtils.SetPage(pageindex, pagesize); - List list2 = terminalsDao.selectTermAndStatusList(null); + if (CollectionUtil.isNotEmpty(dyLineAndTowertDtos)) { + ArrayList toweridlist = new ArrayList<>(); + for (DyLineAndTowertDto item : dyLineAndTowertDtos) { + toweridlist.add(item.getTowerId()); + } + list2 = terminalsDao.selectTermAndStatusList(null, toweridlist,search); + } else { + list2 = terminalsDao.selectTermAndStatusList(null, null,search); + } boolean empty = CollectionUtil.isEmpty(list2); if (empty) { model.setList(new ArrayList<>()); } else { - Map towerMap = cacheService.getTowerMap(); - Map termAndChannelMap = cacheService.getTermAndChannelMap(); + ArrayList beanlist = new ArrayList<>(); for (TerminalsAndStatusDto item : list2) { TerminalListModel.TerminalsBean terminalsBean = new TerminalListModel.TerminalsBean(); @@ -466,5 +502,6 @@ public class TerminalServiceImpl implements TerminalService { } return Asserts.success(model); } + } diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TerminalService.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TerminalService.java index ea65069..788d51a 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TerminalService.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TerminalService.java @@ -15,7 +15,7 @@ public interface TerminalService { * * @return */ - ServiceBody getTerminalList(PageVo vo); + ServiceBody getTerminalList(TerminalSelectVo vo); /** * 添加设备信息 @@ -96,4 +96,5 @@ public interface TerminalService { * @return */ ServiceBody getTermStatus(Integer termId); + }