Commit a5acef3a authored by 李腾威's avatar 李腾威

电梯物联信息接口

parent 18616264
package com.yeejoin.amos.boot.module.tzs.api.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author litw
* @date 2021-09-29.
*/
@Data
public class ElevatorStatusHandleDto {
@ApiModelProperty(value = "当前电梯运行模式。1:停止服务 2:正常运行 3:检修 4:消防返回 5:消防员运行 6:应急电源运行 7:地震模式 8: 未知")
private String serviceModel;
@ApiModelProperty(value = "轿厢运行状态。1:停止,2:运行")
private String liftStatus;
@ApiModelProperty(value = "轿厢运行方向。1:无方向 2:上行 3:下行")
private String liftDirection;
@ApiModelProperty(value = "轿厢是否在门区。1:轿厢在门区 0:轿厢在非门区")
private String isZone;
@ApiModelProperty(value = "关门到位 1:关门到位,0:无关门到位信号")
private String doorStatus;
@ApiModelProperty(value = "轿厢内是否有人 0:无,1:有")
private String personFlag;
@ApiModelProperty(value = "当前物理楼层")
private Integer currFloor;
}
package com.yeejoin.amos.boot.module.tzs.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author litw
* @date 2021-09-29.
*/
@Data
@ApiModel(value="ElevatorWlInfoDto", description="电梯物联信息")
public class ElevatorWlInfoDto {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* 电梯id
*/
@ApiModelProperty(value = "电梯id")
private Long sequenceNbr;
/**
* 注册编码
*/
@ApiModelProperty(value = "注册编码")
private String registerCode;
/**
* 电梯识别码
*/
@ApiModelProperty(value = "电梯识别码")
private Integer rescueCode;
/**
* 地址
*/
@ApiModelProperty(value = "地址")
private String address;
/**
* 发生时间
*/
@ApiModelProperty(value = "发生时间")
private Date happenTime ;
/**
* 故障类型
*/
@ApiModelProperty(value = "故障类型")
private String type ;
/**
* 物联服务提供商
*/
@ApiModelProperty(value = "物联服务提供商")
private String IotServiceProvider ;
/**
* 处置状态
*/
@ApiModelProperty(value = "处置状态")
private String dealStatus ;
/**
* 设备种类
*/
@ApiModelProperty(value = "设备种类")
private String category ;
/**
* 区域
*/
@ApiModelProperty(value = "区域")
private String area ;
/**
* 设备种类临时
*/
@ApiModelProperty(value = "设备种类临时")
private String categoryName ;
int page;
int size;
}
......@@ -104,4 +104,28 @@ public class EsElevatorDto {
@ApiModelProperty(value = "发生时间")
private Date happenTime ;
/**
* 故障类型
*/
@ApiModelProperty(value = "故障类型")
private String type ;
/**
* 物联服务提供商
*/
@ApiModelProperty(value = "物联服务提供商")
private String IOTServiceProvider ;
/**
* 处置状态
*/
@ApiModelProperty(value = "处置状态")
private String status ;
/**
* 设备种类
*/
@ApiModelProperty(value = "设备种类")
private String category ;
}
package com.yeejoin.amos.boot.module.tzs.api.enums;
/**
*
* <pre>
* 电梯故障处置状态枚举
* </pre>
*
* @author gwb
* @version $Id: LiftServiceModelEnum.java, v 0.1 2021年9月29日 上午9:24:15 gwb Exp $
*/
public enum LiftAlarmDealStatusEnum{
DISPOSAL_COMPLETED(0,"处置完成"),
FAULT_OCCURRENCE(1,"故障发生"),
GIVE_NOTICE(2,"发出通知"),
DISPOSAL_RESPONSE(3,"处置响应"),
DISPOSAL_SITE(4,"处置到场"),
FALSE_ALARM(5,"误报");
/**
* 编码
*/
private Integer code;
/**
* 名称
*/
private String name;
// 构造方法
private LiftAlarmDealStatusEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName()
{
return name;
}
public static LiftAlarmDealStatusEnum getEnum(Integer code)
{
for (LiftAlarmDealStatusEnum liftAlarmDealStatusEnum : LiftAlarmDealStatusEnum.values())
{
if (liftAlarmDealStatusEnum.getCode().equals(code))
{
return liftAlarmDealStatusEnum;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.tzs.api.enums;
/**
*
* <pre>
* 电梯安全回路状态枚举
* </pre>
*
* @author gwb
* @version $Id: LiftCircuitStatusEnum.java, v 0.1 2021年9月29日 上午9:23:00 gwb Exp $
*/
public enum LiftBitStatusEnum{
NO(1,"否"),
YES (2,"是");
/**
* 编码
*/
private Integer code;
/**
* 名称
*/
private String name;
// 构造方法
private LiftBitStatusEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName()
{
return name;
}
public static LiftBitStatusEnum getEnum(Integer code)
{
for (LiftBitStatusEnum liftBitStatusEnum : LiftBitStatusEnum.values())
{
if (liftBitStatusEnum.getCode().equals(code))
{
return liftBitStatusEnum;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.tzs.api.enums;
/**
*
* <pre>
* 电梯安全回路状态枚举
* </pre>
*
* @author gwb
* @version $Id: LiftCircuitStatusEnum.java, v 0.1 2021年9月29日 上午9:23:00 gwb Exp $
*/
public enum LiftCircuitStatusEnum{
NORMAL(0,"正常"),
BREAK (1,"断开");
/**
* 编码
*/
private Integer code;
/**
* 名称
*/
private String name;
// 构造方法
private LiftCircuitStatusEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName()
{
return name;
}
public static LiftCircuitStatusEnum getEnum(Integer code)
{
for (LiftCircuitStatusEnum liftCircuitStatusEnum : LiftCircuitStatusEnum.values())
{
if (liftCircuitStatusEnum.getCode().equals(code))
{
return liftCircuitStatusEnum;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.tzs.api.enums;
/**
*
* <pre>
* 电梯接触器状态枚举
* </pre>
*
* @author gwb
* @version $Id: LiftContactorStatusEnum.java, v 0.1 2021年9月29日 上午9:08:16 gwb Exp $
*/
public enum LiftContactorStatusEnum{
PULL(0,"吸合"),
BREAK (1,"断开");
/**
* 编码
*/
private Integer code;
/**
* 名称
*/
private String name;
// 构造方法
private LiftContactorStatusEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName()
{
return name;
}
public static LiftContactorStatusEnum getEnum(Integer code)
{
for (LiftContactorStatusEnum liftContactorStatusEnum : LiftContactorStatusEnum.values())
{
if (liftContactorStatusEnum.getCode().equals(code))
{
return liftContactorStatusEnum;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.tzs.api.enums;
/**
*
* <pre>
* 电梯轿厢运行方向枚举
* </pre>
*
* @author gwb
* @version $Id: LiftDirectionEnum.java, v 0.1 2021年9月29日 上午9:33:40 gwb Exp $
*/
public enum LiftDirectionEnum{
No (1,"无方向"),
Up (2,"上行"),
Down (3,"下行");
/**
* 编码
*/
private Integer code;
/**
* 名称
*/
private String name;
// 构造方法
private LiftDirectionEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName()
{
return name;
}
public static LiftDirectionEnum getEnum(Integer code)
{
for (LiftDirectionEnum liftDirectionEnum : LiftDirectionEnum.values())
{
if (liftDirectionEnum.getCode().equals(code))
{
return liftDirectionEnum;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.tzs.api.enums;
/**
*
* <pre>
* 电梯关门到位枚举
* </pre>
*
* @author gwb
* @version $Id: LiftDoorStatusEnum.java, v 0.1 2021年9月29日 上午9:39:52 gwb Exp $
*/
public enum LiftDoorStatusEnum{
NOT_CLOSED (1,"无关门到位信号"),
CLOSE (2,"关门到位");
/**
* 编码
*/
private Integer code;
/**
* 名称
*/
private String name;
// 构造方法
private LiftDoorStatusEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName()
{
return name;
}
public static LiftDoorStatusEnum getEnum(Integer code)
{
for (LiftDoorStatusEnum liftDoorStatusEnum : LiftDoorStatusEnum.values())
{
if (liftDoorStatusEnum.getCode().equals(code))
{
return liftDoorStatusEnum;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.tzs.api.enums;
/**
*
* <pre>
* 电梯是否在线枚举
* </pre>
*
* @author gwb
* @version $Id: IsOnlineEnum.java, v 0.1 2021年9月29日 上午9:08:16 gwb Exp $
*/
public enum LiftIsOnlineEnum{
OFF(0,"离线"),
ON(1,"在线");
/**
* 编码
*/
private Integer code;
/**
* 名称
*/
private String name;
// 构造方法
private LiftIsOnlineEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName()
{
return name;
}
public static LiftIsOnlineEnum getEnum(Integer code)
{
for (LiftIsOnlineEnum liftIsOnlineEnum : LiftIsOnlineEnum.values())
{
if (liftIsOnlineEnum.getCode().equals(code))
{
return liftIsOnlineEnum;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.tzs.api.enums;
/**
*
* <pre>
* 电梯轿厢是否在门区
* </pre>
*
* @author gwb
* @version $Id: LiftIszoneEnum.java, v 0.1 2021年9月29日 上午9:35:27 gwb Exp $
*/
public enum LiftIszoneEnum{
NON_DOOR_AREA(0,"轿厢在非门区"),
DOOR_AREA (1,"轿厢在门区");
/**
* 编码
*/
private Integer code;
/**
* 名称
*/
private String name;
// 构造方法
private LiftIszoneEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName()
{
return name;
}
public static LiftIszoneEnum getEnum(Integer code)
{
for (LiftIszoneEnum liftIszoneEnum : LiftIszoneEnum.values())
{
if (liftIszoneEnum.getCode().equals(code))
{
return liftIszoneEnum;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.tzs.api.enums;
/**
*
* <pre>
* 电梯运行模式枚举
* </pre>
*
* @author gwb
* @version $Id: LiftServiceModelEnum.java, v 0.1 2021年9月29日 上午9:24:15 gwb Exp $
*/
public enum LiftServiceModelEnum{
STOP_SERVICE(1,"停止服务"),
NORMAL_OPERATION(2,"正常运行"),
OVERHAUL(3,"检修"),
FIRE_RETURN(4,"消防返回"),
FIREFIGHTER_OPERATION(5,"消防员运行"),
EMERGENCY_POWER_OPERATION(6,"应急电源运行"),
SEISMIC_MODEL(7,"地震模式"),
UNKNOWN (8,"未知");
/**
* 编码
*/
private Integer code;
/**
* 名称
*/
private String name;
// 构造方法
private LiftServiceModelEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName()
{
return name;
}
public static LiftServiceModelEnum getEnum(Integer code)
{
for (LiftServiceModelEnum liftCircuitStatusEnum : LiftServiceModelEnum.values())
{
if (liftCircuitStatusEnum.getCode().equals(code))
{
return liftCircuitStatusEnum;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.tzs.api.enums;
/**
*
* <pre>
* 电梯运行状态枚举
* </pre>
*
* @author gwb
* @version $Id: LiftStatusEnum.java, v 0.1 2021年9月29日 上午9:32:16 gwb Exp $
*/
public enum LiftStatusEnum{
STOP (1,"停止"),
RUN (2,"运行");
/**
* 编码
*/
private Integer code;
/**
* 名称
*/
private String name;
// 构造方法
private LiftStatusEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public Integer getCode() {
return code;
}
public String getName()
{
return name;
}
public static LiftStatusEnum getEnum(Integer code)
{
for (LiftStatusEnum liftStatusEnum : LiftStatusEnum.values())
{
if (liftStatusEnum.getCode().equals(code))
{
return liftStatusEnum;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.tzs.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorWlInfoDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.Elevator;
import java.util.List;
/**
* Mapper 接口
*
......@@ -11,4 +14,21 @@ import com.yeejoin.amos.boot.module.tzs.api.entity.Elevator;
*/
public interface ElevatorMapper extends BaseMapper<Elevator> {
List<ElevatorWlInfoDto> queryElevatorList(String address,
String registerCode,
Integer rescueCode,
String type,
Integer dealStatus,
Long sequenceNbr,
int current, int size);
List<ElevatorWlInfoDto> queryElevatorListDetails(String address,
String registerCode,
Integer rescueCode,
String type,
Integer dealStatus,
Long sequenceNbr
);
int queryElevatorListCount();
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.tzs.api.mapper.ElevatorMapper">
<select id="queryElevatorList" resultType="com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorWlInfoDto">
select
te.sequence_nbr sequenceNbr,
concat(te.province,te.city,te.district) area,
te.category,
te.register_code registerCode,
te.rescue_code rescueCode,
te.address ,
tea.start_date happenTime,
tea.type ,
case tea.deal_status
when '0' then '处置完成'
when '1' then '故障发生'
when '2' then '发出通知'
when '3' then '处置响应'
when '4' then '处置到场'
when '5' then '误报'
ELSE '' END dealStatus,
'电梯' categoryName,
'立信远大科技有限公司' IotServiceProvider
from tcb_elevator te inner join tz_elevator_alarm tea on
te.register_code = tea.register_code
where 1=1
<if test="address != null and address != ''">
and te.address like CONCAT(CONCAT('%',#{address}),'%')
</if>
<if test="registerCode != null and registerCode != ''">
and te.register_code like CONCAT(CONCAT('%',#{registerCode}),'%')
</if>
<if test="rescueCode != null and rescueCode != ''">
and te.rescue_code like CONCAT(CONCAT('%',#{rescueCode}),'%')
</if>
<if test="type != null and type != ''">
and tec.type = #{type}
</if>
<if test="dealStatus != null and dealStatus != ''">sequenceNbr
and tec.deal_status = #{dealStatus}
</if>
<if test="sequenceNbr != null and sequenceNbr != ''">
and te.sequence_nbr = #{sequenceNbr}
</if>
order by start_date DESC limit #{current},#{size}
</select>
<select id="queryElevatorListDetails" resultType="com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorWlInfoDto">
select
te.sequence_nbr sequenceNbr,
concat(te.province,te.city,te.district) area,
te.category,
te.register_code registerCode,
te.rescue_code rescueCode,
te.address ,
tea.start_date happenTime,
tea.type ,
case tea.deal_status
when '0' then '处置完成'
when '1' then '故障发生'
when '2' then '发出通知'
when '3' then '处置响应'
when '4' then '处置到场'
when '5' then '误报'
ELSE '' END dealStatus,
'电梯' categoryName,
'立信远大科技有限公司' IotServiceProvider
from tcb_elevator te inner join tz_elevator_alarm tea on
te.register_code = tea.register_code
where 1=1
<if test="sequenceNbr != null and sequenceNbr != ''">
and te.sequence_nbr = #{sequenceNbr}
</if>
</select>
<select id="queryElevatorListCount" resultType="int">
select count(1) from (
select
te.sequence_nbr
from tcb_elevator te inner join tz_elevator_alarm tea on
te.register_code = tea.register_code
where 1=1
) te
</select>
</mapper>
......@@ -4,7 +4,6 @@ import com.alibaba.fastjson.JSONObject;
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.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.feign.AmosFeignService;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
......@@ -14,8 +13,8 @@ import com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorInfoDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorMaintenanceInfoDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorNewDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorTestInfoDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorWlInfoDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.EsElevatorDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchTask;
import com.yeejoin.amos.boot.module.tzs.api.entity.Elevator;
import com.yeejoin.amos.boot.module.tzs.api.entity.MaintainInfo;
import com.yeejoin.amos.boot.module.tzs.api.entity.TestInfo;
......@@ -433,5 +432,46 @@ public class ElevatorController extends BaseController {
}
/**
* 查询电梯物联信息
*
* @param elevatorDto 查询参数
* @return 查询结果
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/query_elevator_list_wl", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "查询电梯信息", notes = "查询电梯信息")
public ResponseModel<IPage<ElevatorWlInfoDto>> queryElevatorList(
@RequestBody ElevatorWlInfoDto elevatorDto){
IPage<ElevatorWlInfoDto> iPage = new Page<>();
iPage.setCurrent(elevatorDto.getPage());
iPage.setSize(elevatorDto.getSize());
iPage.setRecords( elevatorService.queryElevatorList(elevatorDto));
iPage.setTotal(elevatorService.queryElevatorListCount());
return ResponseHelper.buildResponse(iPage);
}
/**
* 查询电梯物联信息详情
*
* @param elevatorDto 查询参数
* @return 查询结果
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/query_elevator_list_wl_details", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "查询电梯信息", notes = "查询电梯信息")
public ResponseModel<ElevatorWlInfoDto> queryElevato(
@RequestBody ElevatorWlInfoDto elevatorDto){
if(null == elevatorDto.getSequenceNbr()) {
throw new BadRequest("参数错误");
}
List<ElevatorWlInfoDto> page = elevatorService.queryElevatorListDetails(elevatorDto);
if(page.size()>0) {
return ResponseHelper.buildResponse(page.get(0));
}
return ResponseHelper.buildResponse(null);
}
}
......@@ -329,6 +329,8 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
public Object getCalledInfo() {
LambdaQueryWrapper<AlertCalled> queryWrapper = new LambdaQueryWrapper();
queryWrapper.eq(AlertCalled::getAlertStageCode,"860");
queryWrapper.ge(AlertCalled::getCallTime,DateUtils.stampToDate(System.currentTimeMillis(),DateUtils.DATE_PATTERN));
queryWrapper.le(AlertCalled::getAlertStageCode,DateUtils.stampToDate(DateUtils.dateAddDays(new Date(),1).getTime(),DateUtils.DATE_PATTERN));
Object list = this.list(queryWrapper);
return list;
}
......
......@@ -6,7 +6,9 @@ import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.tzs.api.dto.EsElevatorDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertCalled;
import com.yeejoin.amos.boot.module.tzs.api.entity.Elevator;
import com.yeejoin.amos.boot.module.tzs.api.entity.ElevatorAlarm;
import com.yeejoin.amos.boot.module.tzs.api.entity.EsElevator;
import com.yeejoin.amos.boot.module.tzs.api.enums.LiftAlarmDealStatusEnum;
import com.yeejoin.amos.boot.module.tzs.biz.dao.ESElavtorRepository;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
......@@ -46,6 +48,12 @@ public class ESElevatorServiceImpl {
@Autowired
AlertCalledServiceImpl iAlertCalledService;
@Autowired
ElevatorServiceImpl elevatorService;
@Autowired
ElevatorAlarmServiceImpl elevatorAlarmServiceImpl;
@Value("${alertcall.es.synchrony.time}")
private Long time;
......@@ -103,28 +111,30 @@ public class ESElevatorServiceImpl {
if(!ValidationUtil.isEmpty(alarmTypeCode)) {
queryWrapper.eq(AlertCalled::getAlarmTypeCode,alarmTypeCode);
}
AlertCalled alertCalled = null;
List<AlertCalled> alertCalleds = null;
if(!ValidationUtil.isEmpty(alertId)) {
AlertCalled alertCalled = iAlertCalledService.getById(elevatorDto.getAlertId());
alertCalled = iAlertCalledService.getById(elevatorDto.getAlertId());
BoolQueryBuilder qb4 = QueryBuilders.boolQuery();
qb4.must(QueryBuilders.termQuery("sequenceNbr", alertCalled.getEquipmentId()));
boolMust.must(qb4);
}
} else {
if(elevatorDto.getIsToday() != null && elevatorDto.getIsToday()) {
queryWrapper.ge(AlertCalled::getCallTime, DateUtils.stampToDate(System.currentTimeMillis(),DateUtils.DATE_PATTERN));
queryWrapper.le(AlertCalled::getCallTime, DateUtils.stampToDate(DateUtils.dateAddDays(new Date(),1).getTime(),DateUtils.DATE_PATTERN));
}
if(elevatorDto.getIsToday() != null && elevatorDto.getIsToday()) {
queryWrapper.ge(AlertCalled::getCallTime, DateUtils.stampToDate(System.currentTimeMillis(),DateUtils.DATE_PATTERN));
queryWrapper.le(AlertCalled::getCallTime, DateUtils.stampToDate(DateUtils.dateAddDays(new Date(),1).getTime(),DateUtils.DATE_PATTERN));
alertCalleds = iAlertCalledService.list(queryWrapper);
List<Long> stringList = new ArrayList<>();
for (AlertCalled al: alertCalleds
) {
stringList.add(al.getEquipmentId());
}
List<Long> listL = stringList.stream().distinct().collect(Collectors.toList());
qb0.should(QueryBuilders.termsQuery("sequenceNbr", listL.toArray()));
boolMust.must(qb0);
}
List<AlertCalled> alertCalleds = iAlertCalledService.list(queryWrapper);
List<Long> stringList = new ArrayList<>();
for (AlertCalled al: alertCalleds
) {
stringList.add(al.getEquipmentId());
}
List<Long> listL = stringList.stream().distinct().collect(Collectors.toList());
qb0.should(QueryBuilders.termsQuery("sequenceNbr", listL.toArray()));
boolMust.must(qb0);
if(!ValidationUtil.isEmpty(address)) {
BoolQueryBuilder boolMustAddress = QueryBuilders.boolQuery();
......@@ -158,14 +168,32 @@ public class ESElevatorServiceImpl {
{
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(searchHit.getContent());
EsElevatorDto esElevatorDto =JSONObject.toJavaObject(jsonObject, EsElevatorDto.class);
for (AlertCalled al: alertCalleds
) {
if(al.getEquipmentId().equals(esElevatorDto.getSequenceNbr())) {
esElevatorDto.setHappenTime(al.getCallTime());
esElevatorDto.setAlertId(String.valueOf(al.getSequenceNbr()));
esElevatorDto.setAlarmTypeCode(al.getAlarmTypeCode());
break;
}
if(null != alertCalled) {
// Elevator elevator = elevatorService.getById(esElevatorDto.getSequenceNbr());
LambdaQueryWrapper<ElevatorAlarm> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(ElevatorAlarm::getRegisterCode,esElevatorDto.getRegisterCode());
queryWrapper1.orderByDesc(ElevatorAlarm::getStartDate);
List<ElevatorAlarm> elevatorAlarms = elevatorAlarmServiceImpl.list(queryWrapper1);
if(null != elevatorAlarms && elevatorAlarms.size() > 0) {
esElevatorDto.setType(elevatorAlarms.get(0).getType());
esElevatorDto.setStatus(LiftAlarmDealStatusEnum.getEnum(elevatorAlarms.get(0).getDealStatus()).getName());
}
esElevatorDto.setHappenTime(alertCalled.getCallTime());
esElevatorDto.setAlertId(String.valueOf(alertCalled.getSequenceNbr()));
esElevatorDto.setAlarmTypeCode(alertCalled.getAlarmTypeCode());
} else {
for (AlertCalled al: alertCalleds
) {
if(al.getEquipmentId().equals(esElevatorDto.getSequenceNbr())) {
esElevatorDto.setHappenTime(al.getCallTime());
esElevatorDto.setAlertId(String.valueOf(al.getSequenceNbr()));
esElevatorDto.setAlarmTypeCode(al.getAlarmTypeCode());
break;
}
}
}
list.add(esElevatorDto);
}
......@@ -176,4 +204,5 @@ public class ESElevatorServiceImpl {
}
return list;
}
}
package com.yeejoin.amos.boot.module.tzs.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.module.common.biz.service.impl.SourceFileServiceImpl;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorWlInfoDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.Elevator;
import com.yeejoin.amos.boot.module.tzs.api.mapper.ElevatorMapper;
import com.yeejoin.amos.boot.module.tzs.api.service.IElevatorService;
......@@ -33,6 +33,9 @@ public class ElevatorServiceImpl extends BaseService<ElevatorDto, Elevator, Elev
@Autowired
AlertCalledServiceImpl alertCalledServiceImpl;
@Autowired
ElevatorMapper elevatorMapper;
/**
* 保存电梯信息
*
......@@ -109,4 +112,23 @@ public class ElevatorServiceImpl extends BaseService<ElevatorDto, Elevator, Elev
throw new BadRequest("设备未找到");
return elevator;
}
public List<ElevatorWlInfoDto> queryElevatorList(ElevatorWlInfoDto esElevatorDto) {
return elevatorMapper.queryElevatorList(esElevatorDto.getAddress(),
esElevatorDto.getRegisterCode(),esElevatorDto.getRescueCode(),
esElevatorDto.getType(), esElevatorDto.getDealStatus() != null ? Integer.parseInt(esElevatorDto.getDealStatus()) :null
, esElevatorDto.getSequenceNbr(),esElevatorDto.getPage(), esElevatorDto.getSize());
}
public List<ElevatorWlInfoDto> queryElevatorListDetails(ElevatorWlInfoDto esElevatorDto) {
return elevatorMapper.queryElevatorListDetails(esElevatorDto.getAddress(),
esElevatorDto.getRegisterCode(),esElevatorDto.getRescueCode(),
esElevatorDto.getType(), esElevatorDto.getDealStatus() != null ? Integer.parseInt(esElevatorDto.getDealStatus()) :null
, esElevatorDto.getSequenceNbr());
}
public int queryElevatorListCount() {
return elevatorMapper.queryElevatorListCount();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment