AED导入功能调整,指定sheet数量,支持纯小数的高德坐标

This commit is contained in:
2025-12-24 16:51:58 +08:00
parent f5247cc21f
commit 7b473e5e36
@@ -2,6 +2,7 @@ package com.renkang.emergency.aed.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
@@ -671,6 +672,7 @@ public class AedEquipmentMangerServiceImpl extends ServiceImpl<AedEquipmentMange
ImportParams params = new ImportParams();
params.setTitleRows(1);
params.setHeadRows(1);
params.setSheetNum(1);//指定读取第一个sheet
list = ExcelImportUtil.importExcel(file.getInputStream(), AedTempImportVO.class, params);
if(ObjectUtil.isNotEmpty(list)){
//通过单位名称反查orgCode
@@ -690,17 +692,27 @@ public class AedEquipmentMangerServiceImpl extends ServiceImpl<AedEquipmentMange
equipmentManger.setHostSerialNum(vo.getHostSerialNum());
if(StrUtil.isNotEmpty(vo.getLongitude()) && StrUtil.isNotEmpty(vo.getLatitude())){
try {
String[] split = converter.run(vo.getLongitude() + "-" + vo.getLatitude()).split("-");
CoordinateConverter.Gps gps = CoordinateConverter.GPS84ToGCJ02(
TypeConversionUtil.toDoubleOfNull(split[0]), TypeConversionUtil.toDoubleOfNull(split[1]));
if (gps != null) {
BigDecimal lon = BigDecimal.valueOf(gps.getLongitude());
BigDecimal lat = BigDecimal.valueOf(gps.getLatitude());
//判断坐标是否是小数坐标
if(!NumberUtil.isDouble(vo.getLongitude()) || !NumberUtil.isDouble(vo.getLatitude())){
String[] split = converter.run(vo.getLongitude() + "-" + vo.getLatitude()).split("-");
CoordinateConverter.Gps gps = CoordinateConverter.GPS84ToGCJ02(
TypeConversionUtil.toDoubleOfNull(split[0]), TypeConversionUtil.toDoubleOfNull(split[1]));
if (gps != null) {
BigDecimal lon = BigDecimal.valueOf(gps.getLongitude());
BigDecimal lat = BigDecimal.valueOf(gps.getLatitude());
equipmentManger.setLongitude(lon);
equipmentManger.setLatitude(lat);
}
}else{
//小数直接用
BigDecimal lon = BigDecimal.valueOf( TypeConversionUtil.toDoubleOfNull(vo.getLongitude()));
BigDecimal lat = BigDecimal.valueOf(TypeConversionUtil.toDoubleOfNull(vo.getLatitude()));
equipmentManger.setLongitude(lon);
equipmentManger.setLatitude(lat);
equipmentManger.setGeoCollectType(1);
equipmentManger.setPublishFlag(1);
}
equipmentManger.setGeoCollectType(1);
equipmentManger.setPublishFlag(1);
} catch (Exception e) {
e.printStackTrace();
}