From 23a2301de79a93cb87ca4864812401c074711a65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=87=A4=E5=90=89?= Date: Mon, 7 Apr 2025 10:41:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E4=BF=9D=E5=AD=98=E6=B5=8B?= =?UTF-8?q?=E9=87=8F=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../profilometer/api/measure/MeasureApi.java | 39 ++++++++++++++++++++++ .../profilometer/api/measure/MeasureRoutes.kt | 3 ++ 2 files changed, 42 insertions(+) diff --git a/app/src/main/java/com/iflytop/profilometer/api/measure/MeasureApi.java b/app/src/main/java/com/iflytop/profilometer/api/measure/MeasureApi.java index 453dc44..59be9f8 100644 --- a/app/src/main/java/com/iflytop/profilometer/api/measure/MeasureApi.java +++ b/app/src/main/java/com/iflytop/profilometer/api/measure/MeasureApi.java @@ -5,10 +5,23 @@ import android.content.Context; import com.iflytop.profilometer.common.result.Result; import com.iflytop.profilometer.core.bluetooth.BleDeviceDriver; import com.iflytop.profilometer.core.migration.measure.drawer.type.RailProfileMeasureTaskStatus; +import com.iflytop.profilometer.core.migration.measure.drawer.type.XYPoint; import com.iflytop.profilometer.core.system.SystemService; +import com.iflytop.profilometer.dao.ProfileRecordDao; +import com.iflytop.profilometer.dao.ProfileRecordPointSetDao; import com.iflytop.profilometer.model.bo.RailProfileMeasureTaskState; +import com.iflytop.profilometer.model.entity.ProfileRecordDescription; +import com.iflytop.profilometer.model.entity.ProfileRecordPointSet; import com.iflytop.profilometer.service.RailProfileDrawerService; +import java.util.List; +import java.util.Map; +import java.util.UUID; + +import cn.hutool.core.convert.impl.UUIDConverter; +import cn.hutool.core.lang.generator.UUIDGenerator; +import cn.hutool.json.JSONUtil; + /** * 测量接口 */ @@ -52,4 +65,30 @@ public class MeasureApi { return Result.success(); } + /** + * 保存测量 + */ + public String save(Map params){ + ProfileRecordDao profileRecordDao = new ProfileRecordDao(context); + ProfileRecordPointSetDao profileRecordPointSetDao = new ProfileRecordPointSetDao(context); + ProfileRecordDescription profileRecordDescription = new ProfileRecordDescription(); + profileRecordDescription.setUuid(UUID.randomUUID().toString()); + profileRecordDescription.setOperatorName(params.get("operatorName"));//操作员名称 + profileRecordDescription.setTrackShapeCode(params.get("trackShapeCode"));//轨形 code + profileRecordDescription.setName(params.get("name"));//测量名称 + profileRecordDescription.setLineName(params.get("lineName"));//线路名称 + profileRecordDescription.setLocation(params.get("location"));//位置 + profileRecordDescription.setDirection(params.get("direction"));//行车方向 + profileRecordDao.insertProfileRecord(profileRecordDescription); + + RailProfileMeasureTaskState taskState = SystemService.getInstance().getTaskState(); + List xyPointList = taskState.getOutlinePointSetList(); + ProfileRecordPointSet profileRecordPointSet = new ProfileRecordPointSet(); + profileRecordPointSet.setProfileRecordUuid(profileRecordDescription.getUuid()); + profileRecordPointSet.setPoints(JSONUtil.toJsonStr(xyPointList)); + profileRecordPointSetDao.insertProfileRecordPointSet(profileRecordPointSet); + + return Result.success(); + } + } diff --git a/app/src/main/java/com/iflytop/profilometer/api/measure/MeasureRoutes.kt b/app/src/main/java/com/iflytop/profilometer/api/measure/MeasureRoutes.kt index 687c795..1103b57 100644 --- a/app/src/main/java/com/iflytop/profilometer/api/measure/MeasureRoutes.kt +++ b/app/src/main/java/com/iflytop/profilometer/api/measure/MeasureRoutes.kt @@ -31,6 +31,9 @@ fun Routing.measureRoutes(context: Context) { * 保存测量 */ post("/api/measure/save") { + val params = call.receive>() + val jsonResponse = api.save(params) + call.respondText(jsonResponse, ContentType.Application.Json) } /**