1、优化自适应周期的判断

2、修改位置的字段名:初始位置ipos,相对位置rpos,辅助计算位置aux
3、修改状态按部门搜索的bug
This commit is contained in:
weidong 2024-01-23 21:18:07 +08:00
parent f70ef35096
commit dcd6c2f73d
14 changed files with 135 additions and 88 deletions

View File

@ -37,13 +37,13 @@ public class GnssCalcData {
@ExcelProperty("更新时间") @ExcelProperty("更新时间")
LocalDateTime updatetime; LocalDateTime updatetime;
@ExcelProperty("北斗位置东") @ExcelProperty("原始位置东")
Double b562e; Double b562e;
@ExcelProperty("北斗位置北") @ExcelProperty("原始位置北")
Double b562n; Double b562n;
@ExcelProperty("北斗位置天") @ExcelProperty("原始位置天")
Double b562d; Double b562d;
@ExcelProperty("惯导位置东") @ExcelProperty("惯导位置东")
@ -55,14 +55,23 @@ public class GnssCalcData {
@ExcelProperty("惯导位置天") @ExcelProperty("惯导位置天")
Double r9250d; Double r9250d;
@ExcelProperty("相对北斗位置东") @ExcelProperty("相对位置东")
Double rb562e; Double rpose;
@ExcelProperty("相对北斗位置北") @ExcelProperty("相对位置北")
Double rb562n; Double rposn;
@ExcelProperty("相对北斗位置天") @ExcelProperty("相对位置天")
Double rb562d; Double rposd;
@ExcelProperty("辅助位置东")
Double auxe;
@ExcelProperty("辅助位置北")
Double auxn;
@ExcelProperty("辅助位置天")
Double auxd;
@ExcelProperty("平均延迟") @ExcelProperty("平均延迟")
Integer pps; Integer pps;

View File

@ -43,9 +43,9 @@ public class GnssDevice {
private String fwd_group_id2; private String fwd_group_id2;
private Boolean syn; //组参数是否同步 private Boolean syn; //组参数是否同步
private String pictures; private String pictures;
private Double b562e; //初始位置 private Double ipose; //初始位置
private Double b562n; //初始位置 private Double iposn; //初始位置
private Double b562d; //初始位置 private Double iposd; //初始位置
public String getObjectName(){ public String getObjectName(){
return "gnssdevice"; return "gnssdevice";

View File

@ -79,17 +79,17 @@ public class Forwarder {
gnssQueryWrapper.ge("createtime",sendAfterTime); gnssQueryWrapper.ge("createtime",sendAfterTime);
gnssQueryWrapper.orderByDesc("createtime"); gnssQueryWrapper.orderByDesc("createtime");
gnssQueryWrapper.eq("enabled",true); gnssQueryWrapper.eq("enabled",true);
gnssQueryWrapper.isNotNull("rb562e"); gnssQueryWrapper.isNotNull("rpose");
gnssQueryWrapper.last("limit 1"); gnssQueryWrapper.last("limit 1");
GnssCalcData record = gnssDataMapper.selectOne(gnssQueryWrapper); GnssCalcData record = gnssDataMapper.selectOne(gnssQueryWrapper);
if(record!=null) { if(record!=null) {
// 替换成推送用的名字和数值 // 替换成推送用的名字和数值
if(device.getB562e()!=null && if(device.getIpose()!=null &&
device.getB562n()!=null && device.getIposn()!=null &&
device.getB562d()!=null){ device.getIposd()!=null){
record.setRb562e(record.getRb562e()-device.getB562e()); record.setRpose(record.getRpose()-device.getIpose());
record.setRb562n(record.getRb562n()-device.getB562n()); record.setRposn(record.getRposn()-device.getIposn());
record.setRb562d(record.getRb562d()-device.getB562d()); record.setRposd(record.getRposd()-device.getIposd());
} }
if(useFwdId && device.getFwddeviceid()!=null && device.getFwddeviceid().trim().length()>0) { if(useFwdId && device.getFwddeviceid()!=null && device.getFwddeviceid().trim().length()>0) {
record.setDeviceid(device.getFwddeviceid()); record.setDeviceid(device.getFwddeviceid());
@ -158,7 +158,7 @@ public class Forwarder {
calcDataQueryWrapper.le("createtime", fwdRecord.getEndtime()); calcDataQueryWrapper.le("createtime", fwdRecord.getEndtime());
calcDataQueryWrapper.orderByAsc("createtime"); calcDataQueryWrapper.orderByAsc("createtime");
calcDataQueryWrapper.eq("enabled",true); calcDataQueryWrapper.eq("enabled",true);
calcDataQueryWrapper.isNotNull("rb562e"); calcDataQueryWrapper.isNotNull("rpose");
List<GnssCalcData> calcDataList = gnssDataMapper.selectList(calcDataQueryWrapper); List<GnssCalcData> calcDataList = gnssDataMapper.selectList(calcDataQueryWrapper);
// 推送记录 // 推送记录
int sendNum = sendBatch(device, fwdRecord.getProject_id(), calcDataList); int sendNum = sendBatch(device, fwdRecord.getProject_id(), calcDataList);
@ -192,12 +192,12 @@ public class Forwarder {
if(useFwdId && device.getFwddeviceid()!=null && device.getFwddeviceid().trim().length()>0) { if(useFwdId && device.getFwddeviceid()!=null && device.getFwddeviceid().trim().length()>0) {
calcData.setDeviceid(device.getFwddeviceid()); calcData.setDeviceid(device.getFwddeviceid());
} }
if(device.getB562e()!=null && if(device.getIpose()!=null &&
device.getB562n()!=null && device.getIposn()!=null &&
device.getB562d()!=null){ device.getIposd()!=null){
calcData.setRb562e(calcData.getRb562e()-device.getB562e()); calcData.setRpose(calcData.getRpose()-device.getIpose());
calcData.setRb562n(calcData.getRb562n()-device.getB562n()); calcData.setRposn(calcData.getRposn()-device.getIposn());
calcData.setRb562d(calcData.getRb562d()-device.getB562d()); calcData.setRposd(calcData.getRposd()-device.getIposd());
} }
} }
else{ else{

View File

@ -96,9 +96,9 @@ public class GXXfzForwarder extends Forwarder{
data.setDevNum(locationRecord.getDeviceid()); data.setDevNum(locationRecord.getDeviceid());
data.setDevtype("GNSS"); data.setDevtype("GNSS");
// 单位由mm转化为m // 单位由mm转化为m
data.setX(NumberUtils.scale(locationRecord.getRb562e() * 0.001, 5)); data.setX(NumberUtils.scale(locationRecord.getRpose() * 0.001, 5));
data.setY(NumberUtils.scale(locationRecord.getRb562n() * 0.001, 5)); data.setY(NumberUtils.scale(locationRecord.getRposn() * 0.001, 5));
data.setZ(NumberUtils.scale(locationRecord.getRb562d() * 0.001, 5)); data.setZ(NumberUtils.scale(locationRecord.getRposd() * 0.001, 5));
sendNum++; sendNum++;
} }
String json = "#" + GsonUtil.toJson(xfzTcpMessage) + "!"; String json = "#" + GsonUtil.toJson(xfzTcpMessage) + "!";

View File

@ -63,9 +63,9 @@ public class GZYForwarder extends Forwarder{
for(GnssCalcData locationRecord: records) { for(GnssCalcData locationRecord: records) {
GZYData.Data tranData = new GZYData.Data(); GZYData.Data tranData = new GZYData.Data();
tranData.setCollectTime(locationRecord.getCreatetime().format(formatter)); tranData.setCollectTime(locationRecord.getCreatetime().format(formatter));
double n = NumberUtils.scale(locationRecord.getRb562n(), 2); double n = NumberUtils.scale(locationRecord.getRposn(), 2);
double e = NumberUtils.scale(locationRecord.getRb562e(), 2); double e = NumberUtils.scale(locationRecord.getRpose(), 2);
double d = NumberUtils.scale(locationRecord.getRb562d(), 2); double d = NumberUtils.scale(locationRecord.getRposd(), 2);
tranData.setX(n); tranData.setX(n);
tranData.setY(e); tranData.setY(e);
tranData.setZ(d); tranData.setZ(d);

View File

@ -106,7 +106,7 @@ public class KingMaForwarder extends Forwarder{
data.setProjectId(projectId); data.setProjectId(projectId);
data.setPointId(locationRecord.getDeviceid()); data.setPointId(locationRecord.getDeviceid());
data.setFlag(1); data.setFlag(1);
data.setPhys(new KingMaData.Phys(locationRecord.getRb562e(),locationRecord.getRb562n(),locationRecord.getRb562d())); data.setPhys(new KingMaData.Phys(locationRecord.getRpose(),locationRecord.getRposn(),locationRecord.getRposd()));
dataList.add(data); dataList.add(data);
sendNum++; sendNum++;
} }

View File

@ -63,7 +63,7 @@ public class GNSSCalcFilterService {
} }
// 平滑处理 // 平滑处理
calcFilterLocation(locationRecord, filterCycle, calcFilterLocation(locationRecord, filterCycle, groupCalc.getFilter_min_hour(),
groupCalc.getXy_threshold(), groupCalc.getZ_threshold()); groupCalc.getXy_threshold(), groupCalc.getZ_threshold());
repository.insert(locationRecord); repository.insert(locationRecord);
@ -92,12 +92,14 @@ public class GNSSCalcFilterService {
/** /**
* 计算东北天的最近融合数据的加权平均, 刘畅20230725 copy avgEND; id>20, 滤波参数6h 25h * 计算东北天的最近融合数据的加权平均, 刘畅20230725 copy avgEND; id>20, 滤波参数6h 25h
*/ */
public boolean calcFilterLocation(GnssCalcData newRecord, int filterCycleHour, float xyThreshold, float zThreshold){ public boolean calcFilterLocation(GnssCalcData newRecord, int filterCycleHour, int minCycleHour,
float xyThreshold, float zThreshold){
String deviceId = newRecord.getDeviceid(); String deviceId = newRecord.getDeviceid();
// 选取[newRecordTime-filterCycleHour, newRcordTime]之间的记录做平滑 // 选取[newRecordTime-filterCycleHour, newRcordTime]之间的记录做平滑
// 如果这个时间段的记录数少于FILTER_MIN_RECORD_NUM本次不做平滑 // 如果这个时间段的记录数少于FILTER_MIN_RECORD_NUM本次不做平滑
LocalDateTime newRecordTime = newRecord.getCreatetime(); LocalDateTime newRecordTime = newRecord.getCreatetime();
LocalDateTime filterAfterTime = newRecordTime.minusHours(filterCycleHour); LocalDateTime filterAfterTime = newRecordTime.minusHours(filterCycleHour);
LocalDateTime minCycleTime = newRecordTime.minusHours(minCycleHour);
QueryWrapper<GnssCalcData> query = new QueryWrapper<>(); QueryWrapper<GnssCalcData> query = new QueryWrapper<>();
query.eq("deviceid", deviceId); query.eq("deviceid", deviceId);
query.ge("createtime", filterAfterTime.format(dateFormatter)); query.ge("createtime", filterAfterTime.format(dateFormatter));
@ -130,20 +132,35 @@ public class GNSSCalcFilterService {
double sumE = newRecord.getB562e(); double sumE = newRecord.getB562e();
double sumN = newRecord.getB562n(); double sumN = newRecord.getB562n();
double sumD = newRecord.getB562d(); double sumD = newRecord.getB562d();
double msumE = sumE;
double msumN = sumN;
double msumD = sumD;
int count = 1; int count = 1;
int minCount = 1;
for (GnssCalcData record : gnssDeviceLocationRecords) { for (GnssCalcData record : gnssDeviceLocationRecords) {
if (record.getEnabled()) {//只选取好点参与滤波 if (record.getEnabled()) {//只选取好点参与滤波
sumE += record.getB562e(); sumE += record.getB562e();
sumN += record.getB562n(); sumN += record.getB562n();
sumD += record.getB562d(); sumD += record.getB562d();
count++; count++;
// 计算短周期
if(record.getCreatetime().isAfter(minCycleTime)){
msumE = sumE;
msumN = sumN;
msumD = sumD;
minCount = count;
} }
} }
logger.info(deviceId + " filter records num: " + count); }
logger.info(deviceId + " filter records num: " + count+", min cycle num: "+minCount);
if (count >= FILTER_MIN_RECORD_NUM) { if (count >= FILTER_MIN_RECORD_NUM) {
newRecord.setRb562e(NumberUtils.scaleTwo(sumE / count)); newRecord.setRpose(NumberUtils.scaleTwo(sumE / count));
newRecord.setRb562n(NumberUtils.scaleTwo(sumN / count)); newRecord.setRposn(NumberUtils.scaleTwo(sumN / count));
newRecord.setRb562d(NumberUtils.scaleTwo(sumD / count)); newRecord.setRposd(NumberUtils.scaleTwo(sumD / count));
newRecord.setAuxe(NumberUtils.scaleTwo(msumE / minCount));
newRecord.setAuxn(NumberUtils.scaleTwo(msumN / minCount));
newRecord.setAuxd(NumberUtils.scaleTwo(msumD / minCount));
return true; return true;
} }
} }
@ -177,13 +194,13 @@ public class GNSSCalcFilterService {
queryWrapper.eq("deviceid", deviceId); queryWrapper.eq("deviceid", deviceId);
queryWrapper.le("createtime",cmpTime.format(dateFormatter)); queryWrapper.le("createtime",cmpTime.format(dateFormatter));
queryWrapper.eq("enabled",true); queryWrapper.eq("enabled",true);
queryWrapper.isNotNull("rb562e"); queryWrapper.isNotNull("rpose");
queryWrapper.last("limit 1"); queryWrapper.last("limit 1");
queryWrapper.orderByDesc("createtime"); queryWrapper.orderByDesc("createtime");
GnssCalcData gnssCalcData = repository.selectOne(queryWrapper); GnssCalcData gnssCalcData = repository.selectOne(queryWrapper);
if (gnssCalcData != null) { if (gnssCalcData != null) {
double gapE = Math.abs(gnssCalcData.getRb562e() - curCalcData.getRb562e()); double gapE = Math.abs(gnssCalcData.getAuxe() - curCalcData.getAuxe());
double gapN = Math.abs(gnssCalcData.getRb562n() - curCalcData.getRb562n()); double gapN = Math.abs(gnssCalcData.getAuxn() - curCalcData.getAuxn());
if (gapE >= groupCalc.getAuto_threshold() || gapN >= groupCalc.getAuto_threshold()) { if (gapE >= groupCalc.getAuto_threshold() || gapN >= groupCalc.getAuto_threshold()) {
VaryFilterCycle varyCycle1 = new VaryFilterCycle(); VaryFilterCycle varyCycle1 = new VaryFilterCycle();
varyCycle1.startTime = now; varyCycle1.startTime = now;
@ -195,7 +212,7 @@ public class GNSSCalcFilterService {
} }
} }
public LocalDateTime updateRb562(String deviceId, LocalDateTime afterTime){ public LocalDateTime updateRpos(String deviceId, LocalDateTime afterTime){
// 获取平滑参数 // 获取平滑参数
Device gnssDevice = gnssDeviceRepository.findByDeviceId(deviceId); Device gnssDevice = gnssDeviceRepository.findByDeviceId(deviceId);
if(gnssDevice == null) return afterTime; if(gnssDevice == null) return afterTime;
@ -214,11 +231,11 @@ public class GNSSCalcFilterService {
List<GnssCalcData> calcDataListToUpdate = repository.selectList(query); List<GnssCalcData> calcDataListToUpdate = repository.selectList(query);
for(GnssCalcData calcData:calcDataListToUpdate){ for(GnssCalcData calcData:calcDataListToUpdate){
calcFilterLocation(calcData, groupCalc.getFilter_hour(), calcFilterLocation(calcData, groupCalc.getFilter_hour(), groupCalc.getFilter_min_hour(),
groupCalc.getXy_threshold(), groupCalc.getZ_threshold()); groupCalc.getXy_threshold(), groupCalc.getZ_threshold());
repository.updateById(calcData); repository.updateById(calcData);
lastTime = calcData.getCreatetime(); lastTime = calcData.getCreatetime();
logger.info(deviceId + " update rb562"); logger.info(deviceId + " update rpos");
} }
return lastTime; return lastTime;
} }

View File

@ -96,7 +96,7 @@ public class MultiLineGNSSCalcService {
// 计算上轮结果 // 计算上轮结果
calcService.calSingleDone(deviceId, tenantId, lastDate); calcService.calSingleDone(deviceId, tenantId, lastDate);
// 重算最近的 // 重算最近的
lastDate = gnssCalcFilterService.updateRb562(deviceId,lastDate); lastDate = gnssCalcFilterService.updateRpos(deviceId,lastDate);
// 记录转发表更新为upload done // 记录转发表更新为upload done
FwdRecord fwdRecord = fwdRecordMap.get(deviceId); FwdRecord fwdRecord = fwdRecordMap.get(deviceId);
if(fwdRecord != null){ if(fwdRecord != null){

View File

@ -111,6 +111,12 @@
<groupId>ch.qos.logback</groupId> <groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId> <artifactId>logback-classic</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.imdroid</groupId>
<artifactId>sec-common</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>

View File

@ -3,6 +3,7 @@ package com.imdroid.beidou.controller;
import com.imdroid.beidou.common.Role; import com.imdroid.beidou.common.Role;
import com.imdroid.beidou.entity.TenantMapper; import com.imdroid.beidou.entity.TenantMapper;
import com.imdroid.beidou.entity.Tenant; import com.imdroid.beidou.entity.Tenant;
import com.imdroid.common.util.NumberUtils;
import com.imdroid.secapi.client.RtcmClient; import com.imdroid.secapi.client.RtcmClient;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -191,13 +192,13 @@ public class GnssDeviceController extends BasicController{
queryWrapper.eq("enabled",1); queryWrapper.eq("enabled",1);
queryWrapper.orderByDesc("createtime"); queryWrapper.orderByDesc("createtime");
queryWrapper.last("limit 1"); queryWrapper.last("limit 1");
queryWrapper.isNotNull("rb562e"); queryWrapper.isNotNull("rpose");
GnssCalcData calcData = gnssCalcDataMapper.selectOne(queryWrapper); GnssCalcData calcData = gnssCalcDataMapper.selectOne(queryWrapper);
if(calcData != null){ if(calcData != null){
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("b562e",calcData.getRb562e()); jsonObject.put("ipose", NumberUtils.scaleTwo(calcData.getRpose()));
jsonObject.put("b562n",calcData.getRb562n()); jsonObject.put("iposn",NumberUtils.scaleTwo(calcData.getRposn()));
jsonObject.put("b562d",calcData.getRb562d()); jsonObject.put("iposd",NumberUtils.scaleTwo(calcData.getRposd()));
return jsonObject; return jsonObject;
} }
return null; return null;

View File

@ -55,9 +55,9 @@ CREATE TABLE IF NOT EXISTS `gnssdevices` (
`fwd_group_id2` varchar(64) DEFAULT NULL, `fwd_group_id2` varchar(64) DEFAULT NULL,
`syn` bit(1) DEFAULT 0 COMMENT '是否已同步', `syn` bit(1) DEFAULT 0 COMMENT '是否已同步',
`pictures` varchar(100) DEFAULT NULL, `pictures` varchar(100) DEFAULT NULL,
`b562e` double DEFAULT NULL COMMENT '初始位置东E', `ipose` double DEFAULT NULL COMMENT '初始位置东E',
`b562n` double DEFAULT NULL COMMENT '初始位置北N', `iposn` double DEFAULT NULL COMMENT '初始位置北N',
`b562d` double DEFAULT NULL COMMENT '初始位置天D', `iposd` double DEFAULT NULL COMMENT '初始位置天D',
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
@ -138,9 +138,12 @@ CREATE TABLE IF NOT EXISTS `gnssdevicelocationrecords` (
`r9250e` double DEFAULT NULL, `r9250e` double DEFAULT NULL,
`r9250n` double DEFAULT NULL, `r9250n` double DEFAULT NULL,
`r9250d` double DEFAULT NULL, `r9250d` double DEFAULT NULL,
`rb562e` double DEFAULT NULL COMMENT '相对北斗位置东E', `rpose` double DEFAULT NULL COMMENT '相对位置东E',
`rb562d` double DEFAULT NULL COMMENT '相对北斗位置北N', `rposn` double DEFAULT NULL COMMENT '相对位置北N',
`rb562n` double DEFAULT NULL COMMENT '相对北斗位置天D', `rposd` double DEFAULT NULL COMMENT '相对位置天D',
`auxe` double DEFAULT NULL COMMENT '中间过程东E',
`auxn` double DEFAULT NULL COMMENT '中间过程北N',
`auxd` double DEFAULT NULL COMMENT '中间过程天D',
`pps` int DEFAULT NULL, `pps` int DEFAULT NULL,
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `idx_deviceid_time` (`deviceid`,`createtime`) USING BTREE KEY `idx_deviceid_time` (`deviceid`,`createtime`) USING BTREE

View File

@ -69,13 +69,34 @@
<script src="../js/lay-module/echarts/echartsTheme.js" charset="utf-8"></script> <script src="../js/lay-module/echarts/echartsTheme.js" charset="utf-8"></script>
<script src="../js/lay-module/echarts/echarts.js" charset="utf-8"></script> <script src="../js/lay-module/echarts/echarts.js" charset="utf-8"></script>
<script src="../lib/layui-v2.6.3/layui.js" charset="utf-8"></script> <script src="../lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script th:inline="none"> <script th:inline="javascript">
layui.use(['form', 'table','laydate','element'], function () { layui.use(['form', 'table','laydate','element'], function () {
var $ = layui.$, var $ = layui.$,
form = layui.form, form = layui.form,
table = layui.table, table = layui.table,
laydate = layui.laydate; laydate = layui.laydate;
var searchDeviceId = false; var searchDeviceId = false;
var data_cols = [
{field: 'deviceid', title: '设备号'},
{field: 'createtime', title: '产生时间', width:'18%', templet: "<div>{{layui.util.toDateString(d.createtime, 'yyyy-MM-dd HH:mm:ss')}}</div>"},
{field: 'updatetime', title: '上报时间', width:'18%', templet: "<div>{{d.updatetime==null?'':layui.util.toDateString(d.updatetime, 'yyyy-MM-dd HH:mm:ss')}}</div>"},
{field: 'b562e', title: '原始东', templet: "<div>{{d.b562e.toFixed(2)}}</div>"},
{field: 'b562n', title: '原始北', templet: "<div>{{d.b562n.toFixed(2)}}</div>"},
{field: 'b562d', title: '原始天', templet: "<div>{{d.b562d.toFixed(2)}}</div>"},
{field: 'rpose', title: '相对东', templet: "<div>{{d.rpose==null?'':d.rpose.toFixed(2)}}</div>"},
{field: 'rposn', title: '相对北', templet: "<div>{{d.rposn==null?'':d.rposn.toFixed(2)}}</div>"},
{field: 'rposd', title: '相对天', templet: "<div>{{d.rposd==null?'':d.rposd.toFixed(2)}}</div>"},
{field: 'auxe', title: '辅助东', templet: "<div>{{d.auxe==null?'':d.auxe.toFixed(2)}}</div>"},
{field: 'auxn', title: '辅助北', templet: "<div>{{d.auxn==null?'':d.auxn.toFixed(2)}}</div>"},
{field: 'auxd', title: '辅助天', templet: "<div>{{d.auxd==null?'':d.auxd.toFixed(2)}}</div>"},
{field: 'enabled', title: '有效',templet: '#enabledTrans'},
{field: 'pps', title: '平均延迟'}
];
if([[${role}]] != "ADMIN" && [[${role}]] != "SUPER_ADMIN") {
cfg_cols[9].hide = true;
cfg_cols[10].hide = true;
cfg_cols[11].hide = true;
}
/** /**
* 初始化表单,要加上,不然刷新部分组件可能会不加载 * 初始化表单,要加上,不然刷新部分组件可能会不加载
*/ */
@ -95,19 +116,9 @@
url: '/gnss/data/list_calc', url: '/gnss/data/list_calc',
toolbar: '#toolbarDemo', //开启头部工具栏 toolbar: '#toolbarDemo', //开启头部工具栏
defaultToolbar: ['filter'], defaultToolbar: ['filter'],
cols: [[ cols: [
{field: 'deviceid', title: '设备号'}, data_cols
{field: 'createtime', title: '产生时间', width:'18%', templet: "<div>{{layui.util.toDateString(d.createtime, 'yyyy-MM-dd HH:mm:ss')}}</div>"}, ],
{field: 'updatetime', title: '上报时间', width:'18%', templet: "<div>{{d.updatetime==null?'':layui.util.toDateString(d.updatetime, 'yyyy-MM-dd HH:mm:ss')}}</div>"},
{field: 'b562e', title: '原始东', templet: "<div>{{d.b562e.toFixed(2)}}</div>"},
{field: 'b562n', title: '原始北', templet: "<div>{{d.b562n.toFixed(2)}}</div>"},
{field: 'b562d', title: '原始天', templet: "<div>{{d.b562d.toFixed(2)}}</div>"},
{field: 'rb562e', title: '相对东', templet: "<div>{{d.rb562e==null?'':d.rb562e.toFixed(2)}}</div>"},
{field: 'rb562n', title: '相对北', templet: "<div>{{d.rb562n==null?'':d.rb562n.toFixed(2)}}</div>"},
{field: 'rb562d', title: '相对天', templet: "<div>{{d.rb562d==null?'':d.rb562d.toFixed(2)}}</div>"},
{field: 'enabled', title: '有效',templet: '#enabledTrans'},
{field: 'pps', title: '平均延迟'}
]],
limits: [10, 15, 20, 25, 50, 100], limits: [10, 15, 20, 25, 50, 100],
limit: 15, limit: 15,
page: true, page: true,
@ -167,15 +178,15 @@
var baseFD = 0; var baseFD = 0;
for(var i=chartData.length-1; i>=0; i--){ for(var i=chartData.length-1; i>=0; i--){
if(chartData[i].rb562e!=null) { if(chartData[i].rpose!=null) {
if(isBaseSet) { if(isBaseSet) {
t[count] = chartData[i].createtime; t[count] = chartData[i].createtime;
e[count] = chartData[i].b562e-baseE; e[count] = chartData[i].b562e-baseE;
n[count] = chartData[i].b562n-baseN; n[count] = chartData[i].b562n-baseN;
d[count] = chartData[i].b562d-baseD; d[count] = chartData[i].b562d-baseD;
fe[count] = Number(chartData[i].rb562e) - baseFE; fe[count] = Number(chartData[i].rpose) - baseFE;
fn[count] = Number(chartData[i].rb562n) - baseFN; fn[count] = Number(chartData[i].rposn) - baseFN;
fd[count] = Number(chartData[i].rb562d) - baseFD; fd[count] = Number(chartData[i].rposd) - baseFD;
count++; count++;
} }
else{ else{
@ -183,9 +194,9 @@
baseE = Number(chartData[i].b562e); baseE = Number(chartData[i].b562e);
baseN = Number(chartData[i].b562n); baseN = Number(chartData[i].b562n);
baseD = Number(chartData[i].b562d); baseD = Number(chartData[i].b562d);
baseFE = Number(chartData[i].rb562e); baseFE = Number(chartData[i].rpose);
baseFN = Number(chartData[i].rb562n); baseFN = Number(chartData[i].rposn);
baseFD = Number(chartData[i].rb562d); baseFD = Number(chartData[i].rposd);
} }
} }
else{ else{

View File

@ -27,7 +27,7 @@
<div class="layui-inline" th:if="${role=='SUPER_ADMIN' || role=='ADMIN'}"> <div class="layui-inline" th:if="${role=='SUPER_ADMIN' || role=='ADMIN'}">
<label class="layui-form-label">所属部门</label> <label class="layui-form-label">所属部门</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<select name="n_tenantid" id="n_tenantid" lay-search=""> <select name="n_d.tenantid" id="n_d.tenantid" lay-search="">
<option value="">全部</option> <option value="">全部</option>
<option th:each="item : ${tenant_list}" th:text="${item.name}" th:value="${item.id}"></option> <option th:each="item : ${tenant_list}" th:text="${item.name}" th:value="${item.id}"></option>
</select> </select>

View File

@ -126,21 +126,21 @@
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-inline"> <div class="layui-inline">
<label class="layui-form-label">初始位置 东</label> <label class="layui-form-label">初始位置(mm)</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="b562e" id="b562e" class="layui-input"> <input type="text" name="ipose" id="ipose" class="layui-input">
</div> </div>
</div> </div>
<div class="layui-inline"> <div class="layui-inline">
<label class="layui-form-label"></label> <label class="layui-form-label"></label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="b562n" id="b562n" class="layui-input"> <input type="text" name="iposn" id="iposn" class="layui-input">
</div> </div>
</div> </div>
<div class="layui-inline"> <div class="layui-inline">
<label class="layui-form-label"></label> <label class="layui-form-label"></label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="b562d" id="b562d" class="layui-input"> <input type="text" name="iposd" id="iposd" class="layui-input">
</div> </div>
</div> </div>
</div> </div>
@ -190,9 +190,9 @@
'deviceid':$('#deviceid').val() 'deviceid':$('#deviceid').val()
}, },
success: function (result) { success: function (result) {
$('#b562e').val(result.b562e); $('#ipose').val(result.ipose);
$('#b562n').val(result.b562n); $('#iposn').val(result.iposn);
$('#b562d').val(result.b562d); $('#iposd').val(result.iposd);
}, },
error: function () { error: function () {
console.log("ajax error"); console.log("ajax error");
@ -222,9 +222,9 @@
$('#fwd_group_id2').val(data.fwd_group_id2); $('#fwd_group_id2').val(data.fwd_group_id2);
$('#opmode').val(data.opmode); $('#opmode').val(data.opmode);
$('#fwddeviceid').val(data.fwddeviceid); $('#fwddeviceid').val(data.fwddeviceid);
$('#b562e').val(data.b562e); $('#ipose').val(data.ipose);
$('#b562n').val(data.b562n); $('#iposn').val(data.iposn);
$('#b562d').val(data.b562d); $('#iposd').val(data.iposd);
form.render(); form.render();
} }
</script> </script>