update with batch upload
This commit is contained in:
parent
80925cb252
commit
9ac094d472
|
|
@ -2,4 +2,5 @@ AppDebug=true
|
||||||
AppParamHelper=cn.tsy.idsse.dsds.helper.DSDSParamHelper
|
AppParamHelper=cn.tsy.idsse.dsds.helper.DSDSParamHelper
|
||||||
AppDatabaseStdout=Active
|
AppDatabaseStdout=Active
|
||||||
AppListener=cn.tsy.idsse.dsds.control.DSDSInitializeLisener
|
AppListener=cn.tsy.idsse.dsds.control.DSDSInitializeLisener
|
||||||
AppName=DSDS2024Server
|
AppName=DSDS2024Server
|
||||||
|
DatabaseWarnDelayTimes=10000
|
||||||
|
|
@ -2,4 +2,5 @@ AppDebug=true
|
||||||
AppParamHelper=cn.tsy.idsse.dsds.helper.DSDSParamHelper
|
AppParamHelper=cn.tsy.idsse.dsds.helper.DSDSParamHelper
|
||||||
AppDatabaseStdout=Active
|
AppDatabaseStdout=Active
|
||||||
AppListener=cn.tsy.idsse.dsds.control.DSDSInitializeLisener
|
AppListener=cn.tsy.idsse.dsds.control.DSDSInitializeLisener
|
||||||
AppName=DSDS2024Server
|
AppName=DSDS2024Server
|
||||||
|
DatabaseWarnDelayTimes=10000
|
||||||
|
|
@ -27,9 +27,13 @@ public class SampleDatasetTrackService {
|
||||||
public List<SampleDatasetTrack> uploadTrack(int dataset_id, List<String> array, String file_name, FrameOptr optr) {
|
public List<SampleDatasetTrack> uploadTrack(int dataset_id, List<String> array, String file_name, FrameOptr optr) {
|
||||||
FrameAssertHelper.hasValue(array, "潜次轨迹文件为空,请检查!");
|
FrameAssertHelper.hasValue(array, "潜次轨迹文件为空,请检查!");
|
||||||
List<SampleDatasetTrack> navArray = new ArrayList<>();
|
List<SampleDatasetTrack> navArray = new ArrayList<>();
|
||||||
SampleDataset dataset = this.mDataset.find(dataset_id);
|
String dv_sn = file_name.replace(".txt", "");
|
||||||
FrameAssertHelper.isNotNull(dataset, "未找到指定数据集,请检查!");
|
List<SampleDataset> sdArray = this.mDataset.selectListByColumn("diving_sn", dv_sn);
|
||||||
this.mTrack.deleteByColumn("dataset_id", dataset_id);
|
if (sdArray.size() == 0)
|
||||||
|
throw new BusinessException("未找到潜次[" + dv_sn + "]对应的数据集!");
|
||||||
|
// SampleDataset dataset = this.mDataset.find(dataset_id);
|
||||||
|
// FrameAssertHelper.isNotNull(dataset, "未找到指定数据集,请检查!");
|
||||||
|
// this.mTrack.deleteByColumn("dataset_id", dataset_id);
|
||||||
for (int i = 0; i < array.size(); i++) {
|
for (int i = 0; i < array.size(); i++) {
|
||||||
if (array.get(i).trim().length() == 0)
|
if (array.get(i).trim().length() == 0)
|
||||||
break;
|
break;
|
||||||
|
|
@ -73,19 +77,22 @@ public class SampleDatasetTrackService {
|
||||||
nav.setTrack_lat(lat);
|
nav.setTrack_lat(lat);
|
||||||
nav.setTrack_lon(lon);
|
nav.setTrack_lon(lon);
|
||||||
nav.setTrack_time(curTime);
|
nav.setTrack_time(curTime);
|
||||||
nav.setDataset_id(dataset_id);
|
|
||||||
// 判断时间是否重复了
|
|
||||||
// List<SampleDatasetTrack> vArray = this.mTrack.selectList(SqlBuilder.create().addSqlCondition(SqlCondition.of("dataset_id", dataset_id)).addSqlCondition(SqlCondition.of("track_time", curTime)));
|
|
||||||
// if (vArray.size() == 0) {
|
|
||||||
this.mTrack.insert(nav);
|
|
||||||
navArray.add(nav);
|
navArray.add(nav);
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
if (navArray.size() > 0) {
|
if (navArray.size() > 0) {
|
||||||
SampleDataset ds = new SampleDataset();
|
for(SampleDataset ds :sdArray) {
|
||||||
ds.setTsy_id(dataset_id);
|
this.mTrack.deleteByColumn("dataset_id", ds.getTsy_id());
|
||||||
ds.setDiving_track_file(file_name);
|
for(SampleDatasetTrack nav :navArray) {
|
||||||
this.mDataset.update(ds);
|
nav.setTsy_id(null);
|
||||||
|
nav.setDataset_id(ds.getTsy_id());
|
||||||
|
this.mTrack.insert(nav);
|
||||||
|
}
|
||||||
|
SampleDataset d = new SampleDataset();
|
||||||
|
d.setTsy_id(dataset_id);
|
||||||
|
d.setDiving_track_file(file_name);
|
||||||
|
this.mDataset.update(ds);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return navArray;
|
return navArray;
|
||||||
|
|
|
||||||
|
|
@ -31,73 +31,81 @@ public class SampleLineTrackService {
|
||||||
|
|
||||||
public List<SampleLineTrack> uploadTrack(int dataset_id, List<String> array, String file_name) {
|
public List<SampleLineTrack> uploadTrack(int dataset_id, List<String> array, String file_name) {
|
||||||
FrameAssertHelper.hasValue(array, "测线轨迹文件为空,请检查!");
|
FrameAssertHelper.hasValue(array, "测线轨迹文件为空,请检查!");
|
||||||
SampleDataset ds = this.mDataset.find(dataset_id);
|
// SampleDataset ds = this.mDataset.find(dataset_id);
|
||||||
FrameAssertHelper.isNotNull(ds, "未找到指定数据集,请检查!");
|
// FrameAssertHelper.isNotNull(ds, "未找到指定数据集,请检查!");
|
||||||
this.mTrack.deleteByColumn("dataset_id", dataset_id);
|
|
||||||
int index = 1;
|
|
||||||
|
|
||||||
List<SampleLineTrack> navArray = new ArrayList<>();
|
// this.mTrack.deleteByColumn("dataset_id", dataset_id);
|
||||||
for (int i = 0; i < array.size(); i++) {
|
// 找出所有航线
|
||||||
if (array.get(i).trim().length() == 0) {
|
String dv_sn = file_name.replace(".txt", "").replace("_Clean", "");
|
||||||
this.update(file_name,ds, index, navArray);
|
List<SampleDataset> sdArray = this.mDataset.selectListByColumn("diving_sn", dv_sn);
|
||||||
break;
|
if (sdArray.size() == 0)
|
||||||
}
|
throw new BusinessException("未找到潜次[" + dv_sn + "]对应的数据集!");
|
||||||
String[] values = StringHelper.splitWithSpace(array.get(i));
|
for (SampleDataset ds : sdArray) {
|
||||||
if (values[0].equals(">>")) {
|
int index = 1;
|
||||||
this.update(file_name, ds, index, navArray);
|
|
||||||
navArray = new ArrayList<>();
|
|
||||||
index++;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (values.length < 3) {
|
|
||||||
throwError(i, "列不足,至少需要3列");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 110.565232 17.370000 2023-05-20-13:55:27
|
List<SampleLineTrack> navArray = new ArrayList<>();
|
||||||
String lon = values[0];
|
for (int i = 0; i < array.size(); i++) {
|
||||||
String lat = values[1];
|
if (array.get(i).trim().length() == 0) {
|
||||||
String time = values[2];
|
this.update(file_name, ds, index, navArray);
|
||||||
// 经纬度的范围包括经度范围0°-180°和纬度范围0°-90°
|
break;
|
||||||
try {
|
}
|
||||||
double d = Double.parseDouble(lon);
|
String[] values = StringHelper.splitWithSpace(array.get(i));
|
||||||
if (d > 180)
|
if (values[0].equals(">>")) {
|
||||||
throwError(i, "经度[" + lon + "]不能大于 180°");
|
this.update(file_name, ds, index, navArray);
|
||||||
if (d < 0)
|
navArray = new ArrayList<>();
|
||||||
throwError(i, "经度[" + lon + "]不能小于 0°");
|
index++;
|
||||||
} catch (Exception e) {
|
continue;
|
||||||
throwError(i, "经度[" + lon + "]格式错误");
|
}
|
||||||
}
|
if (values.length < 3) {
|
||||||
|
throwError(i, "列不足,至少需要3列");
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
// 110.565232 17.370000 2023-05-20-13:55:27
|
||||||
double d = Double.parseDouble(lat);
|
String lon = values[0];
|
||||||
if (d > 90)
|
String lat = values[1];
|
||||||
throwError(i, "纬度[" + lat + "]不能大于 90°");
|
String time = values[2];
|
||||||
if (d < 0)
|
// 经纬度的范围包括经度范围0°-180°和纬度范围0°-90°
|
||||||
throwError(i, "纬度[" + lat + "]不能小于 0°");
|
try {
|
||||||
} catch (Exception e) {
|
double d = Double.parseDouble(lon);
|
||||||
throwError(i, "纬度[" + lat + "]格式错误");
|
if (d > 180)
|
||||||
}
|
throwError(i, "经度[" + lon + "]不能大于 180°");
|
||||||
// 109.49100 18.23400 2023-09-18-21:58:35
|
if (d < 0)
|
||||||
String[] vs = time.split("-");
|
throwError(i, "经度[" + lon + "]不能小于 0°");
|
||||||
if (vs.length != 4)
|
} catch (Exception e) {
|
||||||
throwError(i, "时间[" + time + "]格式错误,样例 2023-09-18-21:58:35");
|
throwError(i, "经度[" + lon + "]格式错误");
|
||||||
LocalDateTime curTime = LocalDateHelper.parseDateTime(vs[0] + "-" + vs[1] + "-" + vs[2] + " " + vs[3]);
|
}
|
||||||
if (curTime == null)
|
|
||||||
throwError(i, "时间[" + time + "]格式错误,样例 2023-09-18-21:58:35");
|
|
||||||
// 判断通过
|
|
||||||
|
|
||||||
// 判断时间是否重复了
|
try {
|
||||||
|
double d = Double.parseDouble(lat);
|
||||||
|
if (d > 90)
|
||||||
|
throwError(i, "纬度[" + lat + "]不能大于 90°");
|
||||||
|
if (d < 0)
|
||||||
|
throwError(i, "纬度[" + lat + "]不能小于 0°");
|
||||||
|
} catch (Exception e) {
|
||||||
|
throwError(i, "纬度[" + lat + "]格式错误");
|
||||||
|
}
|
||||||
|
// 109.49100 18.23400 2023-09-18-21:58:35
|
||||||
|
String[] vs = time.split("-");
|
||||||
|
if (vs.length != 4)
|
||||||
|
throwError(i, "时间[" + time + "]格式错误,样例 2023-09-18-21:58:35");
|
||||||
|
LocalDateTime curTime = LocalDateHelper.parseDateTime(vs[0] + "-" + vs[1] + "-" + vs[2] + " " + vs[3]);
|
||||||
|
if (curTime == null)
|
||||||
|
throwError(i, "时间[" + time + "]格式错误,样例 2023-09-18-21:58:35");
|
||||||
|
// 判断通过
|
||||||
|
|
||||||
|
// 判断时间是否重复了
|
||||||
// List<SampleLineTrack> vArray = this.mTrack.selectList(SqlBuilder.create().addSqlCondition(SqlCondition.of("line_id", line_id)).addSqlCondition(SqlCondition.of("track_time", curTime)));
|
// List<SampleLineTrack> vArray = this.mTrack.selectList(SqlBuilder.create().addSqlCondition(SqlCondition.of("line_id", line_id)).addSqlCondition(SqlCondition.of("track_time", curTime)));
|
||||||
// if (vArray.size() == 0) {
|
// if (vArray.size() == 0) {
|
||||||
SampleLineTrack nav = new SampleLineTrack();
|
SampleLineTrack nav = new SampleLineTrack();
|
||||||
nav.setTrack_lat(lat);
|
nav.setTrack_lat(lat);
|
||||||
nav.setTrack_lon(lon);
|
nav.setTrack_lon(lon);
|
||||||
nav.setTrack_time(curTime);
|
nav.setTrack_time(curTime);
|
||||||
navArray.add(nav);
|
navArray.add(nav);
|
||||||
// }
|
// }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return navArray;
|
return new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void update(String file_name, SampleDataset ds, int index, List<SampleLineTrack> navArray) {
|
public void update(String file_name, SampleDataset ds, int index, List<SampleLineTrack> navArray) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue