机械指挥官添加机械设备定位-实时数据信息
This commit is contained in:
parent
bc940987a4
commit
cfbcd247f6
@ -122,10 +122,7 @@ public class MechanicalEquipmentPositionDataController {
|
||||
return result;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "外部添加机械设备定位-实时和报警数据信息", notes = "外部添加机械设备定位-实时和报警数据信息", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
|
||||
})
|
||||
@ApiOperation(value = "机械工时通添加机械设备定位-实时和报警数据信息", notes = "机械工时通添加机械设备定位-实时和报警数据信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/addData")
|
||||
public Result addData(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
|
||||
log.info("外部添加机械设备定位-实时和报警数据信息:{}", JSON.toJSONString(paramMap));
|
||||
@ -137,4 +134,19 @@ public class MechanicalEquipmentPositionDataController {
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "机械指挥官添加机械设备定位-实时数据信息", notes = "机械指挥官添加机械设备定位-实时数据信息", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
|
||||
})
|
||||
@PostMapping(value = "/jxzhgAddData")
|
||||
public Result jxzhgAddData(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
|
||||
log.info("机械指挥官添加机械设备定位-实时数据信息:{}", JSON.toJSONString(paramMap));
|
||||
try {
|
||||
mechanicalEquipmentPositionDataService.jxzhgAddData(paramMap);
|
||||
} catch (Exception e) {
|
||||
return Result.ok(e.getMessage());
|
||||
}
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -69,7 +69,10 @@ public class MechanicalEquipmentPositionData implements Serializable {
|
||||
* 工作状态
|
||||
*/
|
||||
@Excel(name = "工作状态", width = 15)
|
||||
@ApiModelProperty(value = "工作状态(1:ACC开(工作状态),2:ACC关(怠速状态)")
|
||||
/**
|
||||
* 工作状态(1:ACC开(工作状态),2:ACC关(怠速状态),3静止状态,4离线状态
|
||||
*/
|
||||
@ApiModelProperty(value = "工作状态(1:工作状态,2:怠速状态,3静止状态,4离线状态")
|
||||
private java.lang.Integer workStatus;
|
||||
/**
|
||||
* 设备电量
|
||||
|
||||
@ -88,4 +88,7 @@ public class MechanicalEquipmentPositionDev implements Serializable {
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "在线状态(0.离线 1.在线)")
|
||||
private java.lang.Integer online;
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "速度")
|
||||
private java.lang.Double speed;
|
||||
}
|
||||
|
||||
@ -26,4 +26,6 @@ public interface IMechanicalEquipmentPositionDataService extends IService<Mechan
|
||||
void delete(String id);
|
||||
|
||||
void addData(HashMap<String, Object> paramMap);
|
||||
|
||||
void jxzhgAddData(HashMap<String, Object> paramMap);
|
||||
}
|
||||
|
||||
@ -33,10 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @Description: 机械设备定位-实时数据
|
||||
@ -101,6 +98,10 @@ public class MechanicalEquipmentPositionDataServiceImpl extends ServiceImpl<Mech
|
||||
baseMapper.insert(mechanicalEquipmentPositionData);
|
||||
|
||||
//超过围栏报警,只要在一个围栏内就不报警
|
||||
addAlarmIf(mechanicalEquipmentPositionData, dev);
|
||||
}
|
||||
|
||||
private void addAlarmIf(MechanicalEquipmentPositionData mechanicalEquipmentPositionData, MechanicalEquipmentPositionDev dev) {
|
||||
List<MechanicalEquipmentPositionFence> fenceList = mechanicalEquipmentPositionFenceMapper.selectList(new LambdaQueryWrapper<MechanicalEquipmentPositionFence>()
|
||||
.eq(MechanicalEquipmentPositionFence::getProjectSn, dev.getProjectSn()));
|
||||
boolean inFence = false;
|
||||
@ -180,6 +181,46 @@ public class MechanicalEquipmentPositionDataServiceImpl extends ServiceImpl<Mech
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void jxzhgAddData(HashMap<String, Object> paramMap) {
|
||||
Map machineInfo = MapUtils.getMap(paramMap, "machine_info");
|
||||
Map locationInfo = MapUtils.getMap(paramMap, "location_info");
|
||||
Map stateInfo = MapUtils.getMap(paramMap, "state_info");
|
||||
MechanicalEquipmentPositionData data = new MechanicalEquipmentPositionData();
|
||||
data.setDevSn(MapUtils.getString(machineInfo, "machine_uuid"));
|
||||
data.setLatitude(MapUtils.getDouble(locationInfo, "latitude"));
|
||||
data.setLongitude(MapUtils.getDouble(locationInfo, "longitude"));
|
||||
data.setUploadTime(new Date(MapUtils.getLong(stateInfo, "state_update_time") * 1000L));
|
||||
data.setSpeed(MapUtils.getDouble(locationInfo, "speed"));
|
||||
data.setWorkStatus(getWorkStatusJzhg(MapUtils.getString(stateInfo, "machine_state")));
|
||||
data.setEquipmentPower(100D);
|
||||
data.setEquipmentVoltage(12D);
|
||||
add(data);
|
||||
}
|
||||
|
||||
private Integer getWorkStatusJzhg(String hardwareState) {
|
||||
/*
|
||||
'working':工作;
|
||||
'off':静止;
|
||||
'out_watching':离线;
|
||||
'idle':怠速;
|
||||
*/
|
||||
//工作状态(1:工作状态,2:怠速状态,3静止状态,4离线状态
|
||||
if (StringUtils.isNotBlank(hardwareState)) {
|
||||
switch (hardwareState) {
|
||||
case "working":
|
||||
return 1;
|
||||
case "off":
|
||||
return 4;
|
||||
case "out_watching":
|
||||
return 4;
|
||||
case "idle":
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private void insertData(PositionAddData data) {
|
||||
MechanicalEquipmentPositionDev dev = mechanicalEquipmentPositionDevMapper.selectOne(new LambdaQueryWrapper<MechanicalEquipmentPositionDev>()
|
||||
.eq(MechanicalEquipmentPositionDev::getDevSn, data.getDeviceid()));
|
||||
@ -212,6 +253,9 @@ public class MechanicalEquipmentPositionDataServiceImpl extends ServiceImpl<Mech
|
||||
alarm.setProjectSn(dev.getProjectSn());
|
||||
alarmMapper.insert(alarm);
|
||||
}
|
||||
|
||||
//超过围栏报警,只要在一个围栏内就不报警
|
||||
addAlarmIf(positionData, dev);
|
||||
}
|
||||
|
||||
private Integer getWorkStatus(String strstatus) {
|
||||
|
||||
@ -4,7 +4,9 @@ import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
import com.zhgd.xmgl.modules.mechanicalequipmentposition.entity.MechanicalEquipmentPositionData;
|
||||
import com.zhgd.xmgl.modules.mechanicalequipmentposition.entity.MechanicalEquipmentPositionDev;
|
||||
import com.zhgd.xmgl.modules.mechanicalequipmentposition.mapper.MechanicalEquipmentPositionDataMapper;
|
||||
import com.zhgd.xmgl.modules.mechanicalequipmentposition.mapper.MechanicalEquipmentPositionDevMapper;
|
||||
import com.zhgd.xmgl.modules.mechanicalequipmentposition.service.IMechanicalEquipmentPositionDevService;
|
||||
import com.zhgd.xmgl.modules.safetyhat.entity.SafetyHatDev;
|
||||
@ -37,6 +39,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
public class MechanicalEquipmentPositionDevServiceImpl extends ServiceImpl<MechanicalEquipmentPositionDevMapper, MechanicalEquipmentPositionDev> implements IMechanicalEquipmentPositionDevService {
|
||||
@Autowired
|
||||
private MechanicalEquipmentPositionDevMapper mechanicalEquipmentPositionDevMapper;
|
||||
@Autowired
|
||||
private MechanicalEquipmentPositionDataMapper mechanicalEquipmentPositionDataMapper;
|
||||
|
||||
@Override
|
||||
public IPage<MechanicalEquipmentPositionDev> queryPageList(HashMap<String, Object> paramMap) {
|
||||
@ -71,6 +75,16 @@ public class MechanicalEquipmentPositionDevServiceImpl extends ServiceImpl<Mecha
|
||||
}
|
||||
|
||||
private List<MechanicalEquipmentPositionDev> dealList(List<MechanicalEquipmentPositionDev> list) {
|
||||
for (MechanicalEquipmentPositionDev dev : list) {
|
||||
MechanicalEquipmentPositionData data = mechanicalEquipmentPositionDataMapper.selectOne(new LambdaQueryWrapper<MechanicalEquipmentPositionData>()
|
||||
.eq(MechanicalEquipmentPositionData::getDevSn, dev.getDevSn())
|
||||
.last("limit 1")
|
||||
.orderByDesc(MechanicalEquipmentPositionData::getUploadTime)
|
||||
);
|
||||
if (data != null) {
|
||||
dev.setSpeed(data.getSpeed());
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
@ -335,6 +335,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
|
||||
.antMatchers("/xmgl/mechanicalEquipmentPositionData/addData").permitAll()
|
||||
.antMatchers("/xmgl/mechanicalEquipmentPositionData/add").permitAll()
|
||||
.antMatchers("/xmgl/mechanicalEquipmentPositionAlarm/add").permitAll()
|
||||
.antMatchers("/xmgl/mechanicalEquipmentPositionData/jxzhgAddData").permitAll()
|
||||
.antMatchers(HttpMethod.OPTIONS, "/**").anonymous()
|
||||
.anyRequest().authenticated() // 剩下所有的验证都需要验证.
|
||||
.and()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user