Browse Source

实现保存测量记录

master
白凤吉 4 months ago
parent
commit
23a2301de7
  1. 39
      app/src/main/java/com/iflytop/profilometer/api/measure/MeasureApi.java
  2. 3
      app/src/main/java/com/iflytop/profilometer/api/measure/MeasureRoutes.kt

39
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<String ,String> 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<XYPoint> xyPointList = taskState.getOutlinePointSetList();
ProfileRecordPointSet profileRecordPointSet = new ProfileRecordPointSet();
profileRecordPointSet.setProfileRecordUuid(profileRecordDescription.getUuid());
profileRecordPointSet.setPoints(JSONUtil.toJsonStr(xyPointList));
profileRecordPointSetDao.insertProfileRecordPointSet(profileRecordPointSet);
return Result.success();
}
}

3
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<Map<String, String>>()
val jsonResponse = api.save(params)
call.respondText(jsonResponse, ContentType.Application.Json)
}
/**

Loading…
Cancel
Save