diff --git a/app/src/main/java/com/iflytop/profilometer/api/ble/BleApi.java b/app/src/main/java/com/iflytop/profilometer/api/ble/BleApi.java index e2dbe1f..edbe394 100644 --- a/app/src/main/java/com/iflytop/profilometer/api/ble/BleApi.java +++ b/app/src/main/java/com/iflytop/profilometer/api/ble/BleApi.java @@ -6,8 +6,10 @@ import android.util.Log; import com.iflytop.profilometer.api.ws.BleWebsocketManager; import com.iflytop.profilometer.common.result.Result; +import com.iflytop.profilometer.core.bluetooth.BleDeviceDriver; import com.iflytop.profilometer.core.bluetooth.BleManager; import com.iflytop.profilometer.core.bluetooth.BlePingManager; +import com.iflytop.profilometer.core.system.SystemService; /** * 蓝牙接口 @@ -61,6 +63,8 @@ public class BleApi { boolean connect = BleManager.getInstance().connectToDeviceSync(mac); // BlePingManager.getInstance().startPing(); if (connect) { + BleDeviceDriver bleDeviceDriver = SystemService.getInstance().getBleDeviceDriver(); + bleDeviceDriver.stopSampling(); return Result.success(); } else { throw new RuntimeException(); @@ -79,6 +83,9 @@ public class BleApi { */ public String disconnect() { try { + BleDeviceDriver bleDeviceDriver = SystemService.getInstance().getBleDeviceDriver(); + bleDeviceDriver.stopSampling(); + BleManager.getInstance().disconnect(); // BlePingManager.getInstance().stopPing(); BleManager.getInstance().startScan();//断开连接后开始扫描 diff --git a/app/src/main/java/com/iflytop/profilometer/core/sync/UploadManager.java b/app/src/main/java/com/iflytop/profilometer/core/sync/UploadManager.java index b402fee..be49ba6 100644 --- a/app/src/main/java/com/iflytop/profilometer/core/sync/UploadManager.java +++ b/app/src/main/java/com/iflytop/profilometer/core/sync/UploadManager.java @@ -129,14 +129,16 @@ public class UploadManager { SyncTaskDao syncTaskDao = new SyncTaskDao(ProfilometerApplication.getContext()); SyncTask syncTask = syncTaskDao.getSyncTaskById(uploadId); ProfileRecordPointSet profileRecordPointSet = profileRecordPointSetDao.getProfileRecordPointSetByUuid(profileRecordDescription.getUuid()); - String leftPointJsonStr = profileRecordPointSet.getLeftPoints(); - String rightPointJsonStr = profileRecordPointSet.getLeftPoints(); - List leftPointList = JSONUtil.toList(leftPointJsonStr, XYPoint.class); - List rightPointList = JSONUtil.toList(rightPointJsonStr, XYPoint.class); + String alignPointJsonStr = profileRecordPointSet.getAlignPoints(); + List alignPointList = JSONUtil.toList(alignPointJsonStr, XYPoint.class); +// String leftPointJsonStr = profileRecordPointSet.getLeftPoints(); +// String rightPointJsonStr = profileRecordPointSet.getLeftPoints(); +// List leftPointList = JSONUtil.toList(leftPointJsonStr, XYPoint.class); +// List rightPointList = JSONUtil.toList(rightPointJsonStr, XYPoint.class); // 合并左右点列表 - List mergedPoints = new ArrayList<>(); - mergedPoints.addAll(leftPointList); // 添加左点 - mergedPoints.addAll(rightPointList); // 添加右点 +// List mergedPoints = new ArrayList<>(); +// mergedPoints.addAll(leftPointList); // 添加左点 +// mergedPoints.addAll(rightPointList); // 添加右点 String fileName = ""; String zipName = ""; if (profileRecordDescription.getDataSource().equals("XLDC")) { @@ -152,7 +154,7 @@ public class UploadManager { "-" + profileRecordDescription.getCreateTime().format(DateTimeFormatter.ofPattern("yyyyMMdd")) + ".ban"; zipName = "道岔廓形数据" + "-" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) + ".zip"; } - byte[] banByte = pointToBanFile(mergedPoints, fileName); + byte[] banByte = pointToBanFile(alignPointList, fileName); BanFile banFile = new BanFile(fileName, banByte); List banFileList = List.of(banFile); byte[] zipBytes = compressionToZipBytes(banFileList); diff --git a/app/src/main/java/com/iflytop/profilometer/service/RailProfileDrawerService.java b/app/src/main/java/com/iflytop/profilometer/service/RailProfileDrawerService.java index b118f82..4caf868 100644 --- a/app/src/main/java/com/iflytop/profilometer/service/RailProfileDrawerService.java +++ b/app/src/main/java/com/iflytop/profilometer/service/RailProfileDrawerService.java @@ -2,6 +2,7 @@ package com.iflytop.profilometer.service; import android.util.Log; +import com.iflytop.profilometer.core.bluetooth.BleDeviceDriver; import com.iflytop.profilometer.core.migration.measure.drawer.RailProfileDrawer; import com.iflytop.profilometer.core.migration.measure.drawer.type.MeasureSide; import com.iflytop.profilometer.core.migration.measure.drawer.type.RailProfileDrawerListener; @@ -14,9 +15,7 @@ import com.iflytop.profilometer.core.system.SystemService; import com.iflytop.profilometer.core.websocket.WebSocketManager; import com.iflytop.profilometer.model.bo.RailProfileMeasureTaskState; -import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; import cn.hutool.json.JSONUtil; @@ -110,6 +109,9 @@ public class RailProfileDrawerService implements RailProfileDrawerListener { WebSocketManager.send(JSONUtil.toJsonStr(map)); if (finished) { + BleDeviceDriver bleDeviceDriver = SystemService.getInstance().getBleDeviceDriver(); + bleDeviceDriver.stopSampling(); + taskState.setTaskStatus(RailProfileMeasureTaskStatus.FINISHED); map.put("data", RailProfileMeasureTaskEvent.FINISH_RECORD); WebSocketManager.send(JSONUtil.toJsonStr(map));