Commit 268687cd authored by 李腾威's avatar 李腾威

日常管理-相似电梯查询,警情填报保存完善

parent 90252bd2
package com.yeejoin.amos.boot.module.tzs.api.dto;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertCalled;
import com.yeejoin.amos.boot.module.tzs.api.vo.AlertCalledVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -21,14 +21,14 @@ public class AlertCalledFormDto extends BaseDto{
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "警情基本信息")
private AlertCalled alertCalled;
private AlertCalledVo alertCalledVo;
@ApiModelProperty(value = "动态表单值")
private List<FormValue> dynamicFormAlert;
public AlertCalledFormDto(AlertCalled alertCalled, List<FormValue> formValue) {
this.alertCalled = alertCalled;
public AlertCalledFormDto(AlertCalledVo alertCalledVo, List<FormValue> formValue) {
this.alertCalledVo = alertCalledVo;
this.dynamicFormAlert = formValue;
}
}
package com.yeejoin.amos.boot.module.tzs.api.vo;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* 警情接警填报记录
*
* @author litw
* @date 2021-08-03
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tz_alert_called")
@ApiModel(value = "AlertCalledVo", description = "AlertCalledVo")
public class AlertCalledVo extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 警情状态 (0 未结案 1 结案)
*/
@ApiModelProperty("警情状态")
private Boolean alertStatus;
/**
* 警情来源类型
*/
@ApiModelProperty("警情来源类型")
private String alertSource;
/**
* 警情来源类型Code
*/
@ApiModelProperty("警情来源类型Code")
private String alertSourceCode;
/**
* 接警时间
*/
@ApiModelProperty("接警时间")
private Date callTime;
/**
* 报警人电话
*/
@ApiModelProperty("报警人电话")
private String emergencyCall;
/**
* 报警人名称,默认为先生或女士
*/
@ApiModelProperty("报警人名称,默认为先生或女士")
private String emergencyPerson;
/**
* 联系人姓名
*/
@ApiModelProperty("联系人姓名")
private String contactUser;
/**
* 联系人电话
*/
@ApiModelProperty("联系人电话")
private String contactPhone;
/**
* 设备分类,字典表数据
*/
@ApiModelProperty("设备分类")
private String equipmentClassification;
/**
* 报警类型
*/
@ApiModelProperty("报警类型")
private String type;
/**
* 警情类别
*/
@ApiModelProperty("警情类别")
private String alarmType;
/**
* 通话记录信息id
*/
@ApiModelProperty("通话记录信息id")
private Integer callRecordId;
/**
* 警情阶段
*/
@ApiModelProperty("警情阶段")
private String alertStage;
/**
* 父警情id
*/
@ApiModelProperty("父警情id")
private Long fatherAlert;
/**
* 设备识别码
*/
@ApiModelProperty("设备识别码")
private String deviceId;
/**
* 注册编码
*/
@ApiModelProperty("注册编码")
private String registrationCode;
/**
* 备注
*/
@ApiModelProperty("备注")
private String remark;
/**
* 更新时间
*/
@ApiModelProperty("更新时间")
private Date updateTime;
/**
* 设备分类code
*/
@ApiModelProperty("设备分类code")
private String equipmentClassificationCode;
/**
* 报警类型code
*/
@ApiModelProperty("报警类型code")
private String typeCode;
/**
* 警情类别code
*/
@ApiModelProperty("警情类别code")
private String alarmTypeCode;
/**
* 警情阶段code
*/
@ApiModelProperty("警情阶段code")
private String alertStageCode;
/**
* 组织机构
*/
@ApiModelProperty("组织机构")
private String orgCode;
@ApiModelProperty(value = "使用单位")
private String useUnit;
@ApiModelProperty(value = "地址")
private String address;
@ApiModelProperty(value = "接警时间开始---用于列表过滤")
private Date callTimeStart ;
@ApiModelProperty(value = "接警时间结束---用于列表过滤")
private Date callTimeEnd ;
@ApiModelProperty(value = "是否处警")
private Boolean isFatherAlert = false;
@ApiModelProperty(value = "所属省")
private String province;
@ApiModelProperty(value = "所属地市")
private String city;
@ApiModelProperty(value = "所属区县")
private String district;
@ApiModelProperty(value = "所属区域代码")
private String regionCode;
@ApiModelProperty(value = "使用场所分类")
private String useSiteCategory;
@ApiModelProperty(value = "电梯使用状态")
private Integer useStatus;
}
......@@ -12,8 +12,10 @@ import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledObjsDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ESAlertCalledDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ESAlertCalledRequestDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertCalled;
import com.yeejoin.amos.boot.module.tzs.api.vo.AlertCalledVo;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.AlertCalledServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.ESAlertCalledService;
import com.yeejoin.amos.boot.module.tzs.biz.utils.AlertBeanDtoVoUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
......@@ -71,10 +73,10 @@ public class AlertCalledController extends BaseController {
JSONObject.parseObject(null != redisUtils.get(buildKey(getToken())) ?
redisUtils.get(buildKey(getToken())).toString() : null, ReginParams.class);
//获取当前登录人公司
Integer code= reginParams.getCompany().getCompanyOrgCode();
AlertCalled alertCalled = alertCalledObjsDto.getAlertCalled();
alertCalled.setOrgCode(String.valueOf(code));
alertCalledObjsDto.setAlertCalled(alertCalled);
// Integer code= reginParams.getCompany().getCompanyOrgCode();
// AlertCalled alertCalled = alertCalledObjsDto.getAlertCalled();
// alertCalled.setOrgCode(String.valueOf(code));
// alertCalledObjsDto.setAlertCalled(alertCalled);
alertCalledObjsDto =iAlertCalledService.createAlertCalled(alertCalledObjsDto);
return ResponseHelper.buildResponse(alertCalledObjsDto.getAlertCalled());
}
......@@ -126,7 +128,7 @@ public class AlertCalledController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/list")
@ApiOperation(httpMethod = "GET",value = "警情接警填报记录分页查询", notes = "警情接警填报记录分页查询")
public ResponseModel<IPage<AlertCalled>> queryForPage(String pageNum, String pageSize,String sort, AlertCalled alertCalled) {
public ResponseModel<IPage<AlertCalledVo>> queryForPage(String pageNum, String pageSize,String sort, AlertCalled alertCalled) {
Page<AlertCalled> pageBean;
IPage<AlertCalled> page;
QueryWrapper<AlertCalled> alertCalledQueryWrapper = new QueryWrapper<>();
......@@ -139,7 +141,8 @@ public class AlertCalledController extends BaseController {
pageBean = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
}
page = iAlertCalledService.page(pageBean, alertCalledQueryWrapper);
return ResponseHelper.buildResponse(page);
IPage<AlertCalledVo> calledVoIPage = AlertBeanDtoVoUtils.alertCalledIPageVo(page);
return ResponseHelper.buildResponse(calledVoIPage);
}
private QueryWrapper<AlertCalled> setQueryWrapper(QueryWrapper<AlertCalled> queryWrapper, AlertCalled alertCalled,String sort){
......
......@@ -16,13 +16,19 @@ import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* 电梯Api
......@@ -152,6 +158,51 @@ public class ElevatorController extends BaseController {
return ResponseHelper.buildResponse(elevatorVoIPage);
}
/**
* 相似电梯模糊查询
*
* @param elevatorDto 查询参数
* @return 返回结果
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/page/similar", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "相似电梯模糊查询", notes = "相似电梯模糊查询")
public ResponseModel<List<ElevatorVo>> similar(ElevatorDto elevatorDto) {
Elevator elevator = BeanDtoVoUtils.convert(elevatorDto, Elevator.class);
QueryWrapper<Elevator> elevatorQueryWrapper = new QueryWrapper<>();
Class<? extends Elevator> aClass = elevator.getClass();
Arrays.stream(aClass.getDeclaredFields()).forEach(field -> {
try {
field.setAccessible(true);
Object o = field.get(elevator);
if (o != null) {
String name = NameUtils.camel2Underline(field.getName());
if ("rescue_code".equalsIgnoreCase(name)) {
Integer fileValue = (Integer) o;
elevatorQueryWrapper.like(name, fileValue);
} else if ("city".equalsIgnoreCase(name) || "district".equalsIgnoreCase(name)) {
String fileValue = (String) o;
elevatorQueryWrapper.eq(name, fileValue);
} else {
String fileValue = (String) o;
elevatorQueryWrapper.like(name, fileValue);
}
}
} catch (Exception e) {
logger.error(e.getMessage());
}
});
List<Elevator> elevators = iElevatorService.list(elevatorQueryWrapper);
List<ElevatorVo> elevatorVos = new ArrayList<>();
for (Elevator elevato:elevators
) {
ElevatorVo elevatorVo = BeanDtoVoUtils.convertElevatorToVo(elevato,false);
elevatorVos.add(elevatorVo);
}
return ResponseHelper.buildResponse(elevatorVos);
}
/**
* 分页查询电梯信息
*
......
......@@ -2,7 +2,6 @@ package com.yeejoin.amos.boot.module.tzs.biz.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
......@@ -12,11 +11,16 @@ import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledObjsDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.FormValue;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertCalled;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.tzs.api.entity.Elevator;
import com.yeejoin.amos.boot.module.tzs.api.entity.RepairConsult;
import com.yeejoin.amos.boot.module.tzs.api.entity.Template;
import com.yeejoin.amos.boot.module.tzs.api.enums.AlertStageEnums;
import com.yeejoin.amos.boot.module.tzs.api.mapper.AlertCalledMapper;
import com.yeejoin.amos.boot.module.tzs.api.service.IAlertCalledService;
import com.yeejoin.amos.boot.module.tzs.api.vo.AlertCalledVo;
import com.yeejoin.amos.boot.module.tzs.biz.utils.AlertBeanDtoVoUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
......@@ -53,23 +57,12 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
private ESAlertCalledService eSAlertCalledService;
@Autowired
private RepairConsultServiceImpl repairConsultService;
private ElevatorServiceImpl iElevatorService;
/**
* 分页查询
*/
public Page<AlertCalledDto> queryForAlertCalledPage(Page<AlertCalledDto> page) {
return this.queryForPage(page, null, false);
}
/**
* 列表查询 示例
*/
public List<AlertCalledDto> queryForAlertCalledList() {
return this.queryForList("" , false);
}
@Autowired
private RepairConsultServiceImpl repairConsultService;
private final Logger logger = LogManager.getLogger(AlertCalledServiceImpl.class);
@Override
......@@ -91,7 +84,22 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
formValue.add(value);
}
}
AlertCalledFormDto alertCalledFormVo = new AlertCalledFormDto(alertCalled, formValue);
AlertCalledVo alertCalledVo = AlertBeanDtoVoUtils.convertAlertCalledToVo(alertCalled);
QueryWrapper<Elevator> elevatorQueryWrapper = new QueryWrapper<>();
elevatorQueryWrapper.eq("rescue_code", Integer.parseInt(alertCalled.getDeviceId()));
elevatorQueryWrapper.eq("register_code", alertCalled.getRegistrationCode());
Elevator elevator = iElevatorService.getOne(elevatorQueryWrapper);
if(null != elevator) {
alertCalledVo.setAddress(elevator.getAddress());
alertCalledVo.setProvince(elevator.getProvince());
alertCalledVo.setCity(elevator.getCity());
alertCalledVo.setDistrict(elevator.getDistrict());
alertCalledVo.setUseStatus(elevator.getUseStatus());
alertCalledVo.setUseSiteCategory(elevator.getUseSiteCategory());
alertCalledVo.setUseUnit(elevator.getUseUnit());
alertCalledVo.setRegionCode(elevator.getRegionCode());
}
AlertCalledFormDto alertCalledFormVo = new AlertCalledFormDto(alertCalledVo, formValue);
redisUtils.set(RedisKey.ALERTCALLED_ID+id, JSON.toJSON(alertCalledFormVo),time);
return alertCalledFormVo;
......@@ -151,7 +159,15 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
// 填充警情主键
alertFormValuelist.stream().forEach(alertFormValue -> {
alertFormValue.setAlertCalledId(alertCalled.getSequenceNbr());
alertFormValue.setAlertTypeCode(alertCalled.getAlarmTypeCode());
if(AlertStageEnums.GZWX.toString().equals(alertCalled.getAlarmTypeCode()) ){
alertFormValue.setAlertTypeCode(AlertStageEnums.GZWX.getCode());
}
if(AlertStageEnums.TSZX.toString().equals(alertCalled.getAlarmTypeCode()) ) {
alertFormValue.setAlertTypeCode(AlertStageEnums.TSZX.getCode());
}
if(AlertStageEnums.KRJY.toString().equals(alertCalled.getAlarmTypeCode()) ) {
alertFormValue.setAlertTypeCode(AlertStageEnums.KRJY.getCode());
}
});
// 保存动态表单数据
iAlertFormValueService.saveBatch(alertFormValuelist);
......@@ -175,7 +191,7 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
return alertCalledObjsDto;
} catch (Exception e) {
e.printStackTrace();
logger.error("报送失败",e);
throw new RuntimeException("报送失败,系统异常!");
}
}
......
package com.yeejoin.amos.boot.module.tzs.biz.utils;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertCalled;
import com.yeejoin.amos.boot.module.tzs.api.vo.AlertCalledVo;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
/**
* @author fengwang
* @date 2021-08-05.
*/
@Component
public class AlertBeanDtoVoUtils {
/**
* 将警情记录实体类转换为Vo
*
* @param source 实体类
* @return Vo类
*/
public static AlertCalledVo convertAlertCalledToVo( AlertCalled source) {
// 判断source是否为空
if (source == null) {
return null;
}
try {
// 创建新的对象实例
AlertCalledVo target = new AlertCalledVo();
// 把原对象数据拷贝到新对象
BeanUtils.copyProperties(source, target);
// 返回新对象
return target;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* 将AlertCalled转换为IPage<AlertCalledVo>
*
* @param page 原分页对象
* @return 转换后的Vo
*/
public static IPage<AlertCalledVo> alertCalledIPageVo(IPage<AlertCalled> page) {
return page.convert(item -> {
try {
return convertAlertCalledToVo(item);
} catch (Exception e) {
return null;
}
});
}
}
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