Commit 9a37b718 authored by chenzhao's avatar chenzhao

需求1566

parent f2e0c8d6
......@@ -6,15 +6,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mchange.lang.DoubleUtils;
import com.yeejoin.amos.boot.module.jcs.api.dto.IotSystemAlarmRo;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import com.yeejoin.amos.feign.systemctl.model.MessageModel;
import com.yeejoin.equipmanage.common.dto.UserDto;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecific;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarm;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarmLog;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificIndex;
import com.yeejoin.equipmanage.common.entity.*;
import com.yeejoin.equipmanage.common.entity.vo.AlamVideoVO;
import com.yeejoin.equipmanage.common.enums.*;
import com.yeejoin.equipmanage.common.utils.DateUtils;
......@@ -39,6 +37,7 @@ import org.springframework.transaction.support.TransactionSynchronizationManager
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import ucar.ma2.ArrayDouble;
import java.util.*;
import java.util.stream.Collectors;
......@@ -113,7 +112,8 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
@Autowired
private ISignalClassifyService signalClassifyService;
@Autowired
private IFormInstanceService instanceService;
@Override
public Map<String, Object> getDetailsById(Long alarmId, Long equipId, String type, String area) {
......@@ -360,6 +360,25 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
// }
// }
//查询当前建筑是否是 最顶级建筑
public List<FormInstance> selectBuildingById(List<FormInstance> formInstances){
if (formInstances.get(0).getGroupType().equals("building")){
return formInstances;
}
String parentId = null;
for (FormInstance formInstance : formInstances) {
if (formInstance.getFieldName().equals("parentId")){
parentId =formInstance.getFieldValue();
}
}
LambdaQueryWrapper<FormInstance> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(FormInstance::getInstanceId,parentId);
formInstances = instanceService.getBaseMapper().selectList(wrapper);
return selectBuildingById(formInstances);
}
public void sendIotSystemAlarm(EquipmentSpecificAlarmLog ent, String userId, String appKey, String product, String token){
// Token serverToken = remoteSecurityService.getServerToken();
IotSystemAlarmRo confirmAlamVo = new IotSystemAlarmRo();
......@@ -367,15 +386,49 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
ent = confirmAlarmMapper.getDetailsById(ent.getId(), null);
EquipmentSpecific equipmentSpecific = equipmentSpecificSerivce.getById(ent.getEquipmentSpecificId());
List<FormInstance> formInstances = new ArrayList<>();
//现在需要返回设备的所在建筑及经纬度 查询当前设备所在建筑
if(!ValidationUtil.isEmpty(equipmentSpecific.getWarehouseStructureId())){
LambdaQueryWrapper<FormInstance> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(FormInstance::getInstanceId,equipmentSpecific.getWarehouseStructureId());
formInstances = instanceService.getBaseMapper().selectList(wrapper);
}
//判断所在建筑是否是顶级建筑 房间及楼层是没有经纬度的 向上查询
if (!ValidationUtil.isEmpty(formInstances)){
formInstances = selectBuildingById(formInstances);
}
String address = null ;
String latitude= null ;
String longitude= null ;
if (!ValidationUtil.isEmpty(formInstances)){
for (FormInstance formInstance : formInstances) {
if (formInstance.getFieldName().equals("address")){
address =formInstance.getFieldValue();
if (address.contains("@")){
String[] split = address.split("@");
address = split[0];
}
}
if (formInstance.getFieldName().equals("latitude")){
latitude =formInstance.getFieldValue();
}
if (formInstance.getFieldName().equals("longitude")){
longitude =formInstance.getFieldValue();
}
}
}
if (!ValidationUtil.isEmpty(equipmentSpecific.getAgencyId())){
// 机场单位
JSONObject unitMap = jcsFeign.getUnitById(appKey, product, token, equipmentSpecific.getAgencyId()).getResult();
JSONObject jsonObject = unitMap.getJSONObject("map");
confirmAlamVo.setUnitInvolvedId(equipmentSpecific.getAgencyId());
confirmAlamVo.setUnitInvolvedName(unitMap.getString("bizOrgName"));
confirmAlamVo.setAddress(jsonObject.getString("companyLocation"));
confirmAlamVo.setLongitude(jsonObject.getDouble("longitude"));
confirmAlamVo.setLatitude(jsonObject.getDouble("latitude"));
confirmAlamVo.setAddress(address == null ? jsonObject.getString("companyLocation"):address);
confirmAlamVo.setLongitude(latitude == null?jsonObject.getDouble("longitude"): Double.valueOf(latitude));
confirmAlamVo.setLatitude(longitude == null?jsonObject.getDouble("latitude"):Double.valueOf(longitude));
}
try {
// 机场人员
......
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