Browse Source

算法更新

develop
白凤吉 2 months ago
parent
commit
36f6056458
  1. 4
      app/build.gradle
  2. 12
      app/src/main/assets/web/asset-manifest.json
  3. 2
      app/src/main/assets/web/index.html
  4. 4
      app/src/main/assets/web/static/css/main.81837b82.css
  5. 1
      app/src/main/assets/web/static/css/main.81837b82.css.map
  6. 4
      app/src/main/assets/web/static/css/main.f112be1c.css
  7. 1
      app/src/main/assets/web/static/css/main.f112be1c.css.map
  8. 1
      app/src/main/assets/web/static/js/main.58833ad2.js.map
  9. 6
      app/src/main/assets/web/static/js/main.813249f7.js
  10. 0
      app/src/main/assets/web/static/js/main.813249f7.js.LICENSE.txt
  11. 1
      app/src/main/assets/web/static/js/main.813249f7.js.map
  12. 7
      app/src/main/java/com/iflytop/profilometer/ProfilometerApplication.java
  13. 15
      app/src/main/java/com/iflytop/profilometer/api/system/SystemApi.java
  14. 3
      app/src/main/java/com/iflytop/profilometer/api/system/SystemRoutes.kt
  15. 1
      app/src/main/java/com/iflytop/profilometer/common/constant/SystemConfigType.java
  16. 19
      app/src/main/java/com/iflytop/profilometer/core/sync/UploadManager.java
  17. 2
      app/src/main/java/com/iflytop/profilometer/core/system/DeviceState.java
  18. 9
      app/src/main/java/com/iflytop/profilometer/model/vo/SystemConfigVO.java
  19. 15
      app/src/main/java/com/iflytop/profilometer/service/RailProfileDrawerService.java

4
app/build.gradle

@ -14,9 +14,9 @@ android {
minSdk 26
targetSdk 35
//
versionCode 22
versionCode 23
//
versionName "1.1.22"
versionName "1.1.23"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

12
app/src/main/assets/web/asset-manifest.json

@ -1,7 +1,7 @@
{
"files": {
"main.css": "/static/css/main.f112be1c.css",
"main.js": "/static/js/main.58833ad2.js",
"main.css": "/static/css/main.81837b82.css",
"main.js": "/static/js/main.813249f7.js",
"static/js/453.e7f11a48.chunk.js": "/static/js/453.e7f11a48.chunk.js",
"static/media/icon_leftR.svg": "/static/media/icon_leftR.76cd3e03bb846b0bacb0a84808f24c36.svg",
"static/media/icon_tab3_u.svg": "/static/media/icon_tab3_u.6d18cbd7c4dc6a54f745fdfcc7716050.svg",
@ -26,12 +26,12 @@
"static/media/icon_bluetooth.svg": "/static/media/icon_bluetooth.a48021d03233ba0570bf3960cddf6a65.svg",
"static/media/power.svg": "/static/media/power.544f6ce9a5b3e930a515cf130f9f9551.svg",
"static/media/icon_check_s_u.svg": "/static/media/icon_check_s_u.2c5e20bec088338dc1cb2161b5cba37d.svg",
"main.f112be1c.css.map": "/static/css/main.f112be1c.css.map",
"main.58833ad2.js.map": "/static/js/main.58833ad2.js.map",
"main.81837b82.css.map": "/static/css/main.81837b82.css.map",
"main.813249f7.js.map": "/static/js/main.813249f7.js.map",
"453.e7f11a48.chunk.js.map": "/static/js/453.e7f11a48.chunk.js.map"
},
"entrypoints": [
"static/css/main.f112be1c.css",
"static/js/main.58833ad2.js"
"static/css/main.81837b82.css",
"static/js/main.813249f7.js"
]
}

2
app/src/main/assets/web/index.html

@ -1 +1 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no"/><title>廓形仪</title><script defer="defer" src="/static/js/main.58833ad2.js"></script><link href="/static/css/main.f112be1c.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>function setupWebViewJavascriptBridge(e){if(window.WebViewJavascriptBridge)return e(WebViewJavascriptBridge);if(/android/i.test(navigator.userAgent))document.addEventListener("WebViewJavascriptBridgeReady",(function(){e(WebViewJavascriptBridge)}),!1);else{if(window.WVJBCallbacks)return window.WVJBCallbacks.push(e);window.WVJBCallbacks=[e];var i=document.createElement("iframe");i.style.display="none",i.src="https://__bridge_loaded__",document.documentElement.appendChild(i),setTimeout((function(){document.documentElement.removeChild(i)}),0)}}setupWebViewJavascriptBridge((function(e){window.bridge=e}));var SyncBridgeJS={call:function(e,i){return prompt("sync/syncBridge/"+e,i)}}</script></body></html>
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no"/><title>廓形仪</title><script defer="defer" src="/static/js/main.813249f7.js"></script><link href="/static/css/main.81837b82.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>function setupWebViewJavascriptBridge(e){if(window.WebViewJavascriptBridge)return e(WebViewJavascriptBridge);if(/android/i.test(navigator.userAgent))document.addEventListener("WebViewJavascriptBridgeReady",(function(){e(WebViewJavascriptBridge)}),!1);else{if(window.WVJBCallbacks)return window.WVJBCallbacks.push(e);window.WVJBCallbacks=[e];var i=document.createElement("iframe");i.style.display="none",i.src="https://__bridge_loaded__",document.documentElement.appendChild(i),setTimeout((function(){document.documentElement.removeChild(i)}),0)}}setupWebViewJavascriptBridge((function(e){window.bridge=e}));var SyncBridgeJS={call:function(e,i){return prompt("sync/syncBridge/"+e,i)}}</script></body></html>

4
app/src/main/assets/web/static/css/main.81837b82.css
File diff suppressed because it is too large
View File

1
app/src/main/assets/web/static/css/main.81837b82.css.map
File diff suppressed because it is too large
View File

4
app/src/main/assets/web/static/css/main.f112be1c.css
File diff suppressed because it is too large
View File

1
app/src/main/assets/web/static/css/main.f112be1c.css.map
File diff suppressed because it is too large
View File

1
app/src/main/assets/web/static/js/main.58833ad2.js.map
File diff suppressed because it is too large
View File

6
app/src/main/assets/web/static/js/main.813249f7.js
File diff suppressed because it is too large
View File

0
app/src/main/assets/web/static/js/main.58833ad2.js.LICENSE.txt → app/src/main/assets/web/static/js/main.813249f7.js.LICENSE.txt

1
app/src/main/assets/web/static/js/main.813249f7.js.map
File diff suppressed because it is too large
View File

7
app/src/main/java/com/iflytop/profilometer/ProfilometerApplication.java

@ -53,6 +53,13 @@ public class ProfilometerApplication extends Application {
serverConfig.setConfigValue("http://59.110.227.167:8087/wrps_app");
systemConfigDao.insertSystemConfig(serverConfig);
}
SystemConfig toDayNumberFlag = systemConfigDao.getSystemConfigByKey(SystemConfigType.TODAY_NUMBER_FLAG);
if (toDayNumberFlag == null) {
toDayNumberFlag = new SystemConfig();
toDayNumberFlag.setConfigKey(SystemConfigType.TODAY_NUMBER_FLAG);
toDayNumberFlag.setConfigValue("true");
systemConfigDao.insertSystemConfig(toDayNumberFlag);
}
BaseDataDao baseDataDao = new BaseDataDao(this);
BaseData baseDataDict = baseDataDao.getByKey(BaseDataType.BASE_DICTIONARY);
if (baseDataDict != null) {

15
app/src/main/java/com/iflytop/profilometer/api/system/SystemApi.java

@ -26,10 +26,14 @@ public class SystemApi {
public String config() {
SystemConfigDao systemConfigDao = new SystemConfigDao(context);
SystemConfig serverConfig = systemConfigDao.getSystemConfigByKey(SystemConfigType.SERVER);
SystemConfig todayNumberFlag = systemConfigDao.getSystemConfigByKey(SystemConfigType.TODAY_NUMBER_FLAG);
SystemConfigVO systemConfigVO = new SystemConfigVO();
if (serverConfig != null) {
systemConfigVO.setServer(serverConfig.getConfigValue());
}
if(todayNumberFlag != null){
systemConfigVO.setTodayNumberFlag(Boolean.parseBoolean(todayNumberFlag.getConfigValue()));
}
try {
if (BleManager.getInstance().isConnected()) {
BleDeviceDriver bleDeviceDriver = SystemService.getInstance().getBleDeviceDriver();
@ -43,7 +47,7 @@ public class SystemApi {
return Result.success(systemConfigVO);
}
public String save(String server, Integer standbyMinutes) {
public String save(String server, Integer standbyMinutes, Boolean todayNumberFlag) {
SystemConfigDao systemConfigDao = new SystemConfigDao(context);
SystemConfig serverConfig = new SystemConfig();
serverConfig.setConfigKey(SystemConfigType.SERVER);
@ -52,6 +56,15 @@ public class SystemApi {
if (rows < 1) {
systemConfigDao.insertSystemConfig(serverConfig);
}
serverConfig = new SystemConfig();
serverConfig.setConfigKey(SystemConfigType.TODAY_NUMBER_FLAG);
serverConfig.setConfigValue(todayNumberFlag.toString());
rows = systemConfigDao.updateSystemConfig(serverConfig);
if (rows < 1) {
systemConfigDao.insertSystemConfig(serverConfig);
}
try {
if (BleManager.getInstance().isConnected()) {
BleDeviceDriver bleDeviceDriver = SystemService.getInstance().getBleDeviceDriver();

3
app/src/main/java/com/iflytop/profilometer/api/system/SystemRoutes.kt

@ -28,7 +28,8 @@ fun Routing.systemRoutes(context: Context) {
val jsonObj = JSONUtil.parseObj(requestBody)
val server = jsonObj.getStr("server")
val standbyMinutes = jsonObj.getInt("standbyMinutes")
val jsonResponse = api.save(server, standbyMinutes)
val todayNumberFlag = jsonObj.getBool("todayNumberFlag")
val jsonResponse = api.save(server, standbyMinutes, todayNumberFlag)
call.respondText(jsonResponse, ContentType.Application.Json)
}
}

1
app/src/main/java/com/iflytop/profilometer/common/constant/SystemConfigType.java

@ -3,4 +3,5 @@ package com.iflytop.profilometer.common.constant;
public class SystemConfigType {
public static final String SERVER = "sync_server";
public static final String STANDBY_MINUTES = "standby_minutes";
public static final String TODAY_NUMBER_FLAG = "today_number_flag";
}

19
app/src/main/java/com/iflytop/profilometer/core/sync/UploadManager.java

@ -1,5 +1,7 @@
package com.iflytop.profilometer.core.sync;
import android.annotation.SuppressLint;
import com.iflytop.profilometer.ProfilometerApplication;
import com.iflytop.profilometer.common.constant.SyncStatusType;
import com.iflytop.profilometer.common.constant.SystemConfigType;
@ -114,6 +116,7 @@ public class UploadManager {
uploadThread.start();
}
@SuppressLint("DefaultLocale")
private boolean processUpload(Long uploadId) {
ProfileRecordDao profileRecordDao = new ProfileRecordDao(ProfilometerApplication.getContext());
ProfileRecordPointSetDao profileRecordPointSetDao = new ProfileRecordPointSetDao(ProfilometerApplication.getContext());
@ -132,18 +135,26 @@ public class UploadManager {
List<XYPoint> alignPointList = JSONUtil.toList(alignPointJsonStr, XYPoint.class);
String fileName = "";
String zipName = "";
String todayNumber = "";
SystemConfig todayNumberFlag = systemConfigDao.getSystemConfigByKey(SystemConfigType.TODAY_NUMBER_FLAG);
try{
if(todayNumberFlag !=null && Boolean.parseBoolean(todayNumberFlag.getConfigValue())){
todayNumber = String.format("%04d", profileRecordDescription.getTodayNumber());
}
}catch (Exception e){
}
if (profileRecordDescription.getDataSource().equals("XLDC")) {
// 文件名生成 线名-行别里程股别半径-日期
fileName = profileRecordDescription.getXmCode() + "-" + profileRecordDescription.getXbCode() + profileRecordDescription.getMileage() +
profileRecordDescription.getUnitType() + (profileRecordDescription.getRadius() == null || profileRecordDescription.getRadius().isEmpty() ? "" : profileRecordDescription.getRadius()) +
"-" + profileRecordDescription.getCreateTime().format(DateTimeFormatter.ofPattern("yyyyMMdd")) + ".ban";
zipName = "线路廓形数据" + "-" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) + ".zip";
"-" + profileRecordDescription.getCreateTime().format(DateTimeFormatter.ofPattern("yyyyMMdd" + todayNumber)) + ".ban";
zipName = "线路廓形数据" + "-" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss" + todayNumber)) + ".zip";
} else if (profileRecordDescription.getDataSource().equals("DCDC")) {
// 文件名生成 线名-站名-行别-道岔号-枕木号-股别-日期
fileName = profileRecordDescription.getXmCode() + "-" + profileRecordDescription.getStationCode() + "-" + profileRecordDescription.getXbCode() +
"-" + profileRecordDescription.getTurnoutNum() + "-" + profileRecordDescription.getSleeperNum() + "-" + profileRecordDescription.getUnitType() +
"-" + profileRecordDescription.getCreateTime().format(DateTimeFormatter.ofPattern("yyyyMMdd")) + ".ban";
zipName = "道岔廓形数据" + "-" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) + ".zip";
"-" + profileRecordDescription.getCreateTime().format(DateTimeFormatter.ofPattern("yyyyMMdd" + todayNumber)) + ".ban";
zipName = "道岔廓形数据" + "-" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss" + todayNumber)) + ".zip";
}
byte[] banByte = pointToBanFile(alignPointList, fileName);
BanFile banFile = new BanFile(fileName, banByte);

2
app/src/main/java/com/iflytop/profilometer/core/system/DeviceState.java

@ -11,7 +11,7 @@ public class DeviceState {
public DeviceState() {
connected = false;
power = 0;
power = 100;
state = 0;
flag = 0;
inclinatorX = 0.0;

9
app/src/main/java/com/iflytop/profilometer/model/vo/SystemConfigVO.java

@ -3,6 +3,7 @@ package com.iflytop.profilometer.model.vo;
public class SystemConfigVO {
private String server;
private Integer standbyMinutes;
private Boolean todayNumberFlag;
public String getServer() {
return server;
@ -19,4 +20,12 @@ public class SystemConfigVO {
public void setStandbyMinutes(Integer standbyMinutes) {
this.standbyMinutes = standbyMinutes;
}
public Boolean getTodayNumberFlag() {
return todayNumberFlag;
}
public void setTodayNumberFlag(Boolean todayNumberFlag) {
this.todayNumberFlag = todayNumberFlag;
}
}

15
app/src/main/java/com/iflytop/profilometer/service/RailProfileDrawerService.java

@ -69,7 +69,7 @@ public class RailProfileDrawerService implements ProfilometerDrawerListener {
map.put("type", "measure-point");
map.put("data", xyPoint);
WebSocketManager.send(JSONUtil.toJsonStr(map));
Log.i(LogTag.PROFILOMENTER,"新点:" + xyPoint);
Log.i(LogTag.PROFILOMENTER, "新点:" + xyPoint);
}
}
@ -207,18 +207,19 @@ public class RailProfileDrawerService implements ProfilometerDrawerListener {
taskState.setRightPointSetList(report.outline2);
}
List<XYPoint> allList = new ArrayList<>();
List<XYPoint> outline1List = new ArrayList<>(report.outline1);
List<XYPoint> outline2List = new ArrayList<>(report.outline2);
if (report.outline1Side == MeasureSide.LEFT) {
allList.addAll(report.outline1);
List<XYPoint> outline2List = new ArrayList<>(report.outline2);
Collections.reverse(outline2List);
Collections.reverse(outline1List);
allList.addAll(outline1List);
allList.addAll(outline2List);
} else {
allList.addAll(report.outline2);
List<XYPoint> outline1List = new ArrayList<>(report.outline1);
Collections.reverse(outline1List);
Collections.reverse(outline2List);
allList.addAll(outline1List);
allList.addAll(outline2List);
}
Log.i(LogTag.PROFILOMENTER, "本次测量一共" + allList.size() + "个点");
Map<String, Object> finishMap = new HashMap<>();
finishMap.put("type", "measure-finished");
finishMap.put("data", allList);

Loading…
Cancel
Save