新疆大屏开发及bug修改
This commit is contained in:
+1
@@ -111,6 +111,7 @@ public class EmergencyResourceApiServiceImpl implements EmergencyResourceApiServ
|
|||||||
ext.setAddress(emergencyHealthRoom.getOrgName());
|
ext.setAddress(emergencyHealthRoom.getOrgName());
|
||||||
ext.setLatitude(new BigDecimal(emergencyHealthRoom.getLatitude()));
|
ext.setLatitude(new BigDecimal(emergencyHealthRoom.getLatitude()));
|
||||||
ext.setLongitude(new BigDecimal(emergencyHealthRoom.getLongitude()));
|
ext.setLongitude(new BigDecimal(emergencyHealthRoom.getLongitude()));
|
||||||
|
ext.setType("3");
|
||||||
resources.add(ext);
|
resources.add(ext);
|
||||||
}
|
}
|
||||||
home.setDicts(dictItems);
|
home.setDicts(dictItems);
|
||||||
|
|||||||
+16
-12
@@ -109,15 +109,16 @@ public class LargeScreenImpl {
|
|||||||
* Ps:新增type
|
* Ps:新增type
|
||||||
*/
|
*/
|
||||||
private void startPush(EmergencySocket socket, String busId, EmergencyCenter center,Integer type) {
|
private void startPush(EmergencySocket socket, String busId, EmergencyCenter center,Integer type) {
|
||||||
|
// Ps: 新疆不需要走旧版大屏逻辑
|
||||||
// 根据 center.getDefaultCenter() 状态 走不同逻辑 true:旧版逻辑 false:新版逻辑
|
// 根据 center.getDefaultCenter() 状态 走不同逻辑 true:旧版逻辑 false:新版逻辑
|
||||||
if (center.getDefaultCenter()) {
|
// if (center.getDefaultCenter()) {
|
||||||
this.defaultLargeScreenPush(socket);
|
// this.defaultLargeScreenPush(socket);
|
||||||
this.defaultSmsPush(socket, busId, center, type);
|
// this.defaultSmsPush(socket, busId, center, type);
|
||||||
} else {
|
// } else {
|
||||||
log.info("新版大屏推送... 执行时间: {}", System.currentTimeMillis());
|
log.info("新版大屏推送... 执行时间: {}", System.currentTimeMillis());
|
||||||
webSocket.pushMessageBase(socket);
|
webSocket.pushMessageBase(socket);
|
||||||
this.newSmsPush(socket, busId, center, type);
|
this.newSmsPush(socket, busId, center, type);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -244,6 +245,7 @@ public class LargeScreenImpl {
|
|||||||
hospitalSocketVo.setName(item.getName());
|
hospitalSocketVo.setName(item.getName());
|
||||||
hospitalSocketVo.setLon(item.getLon());
|
hospitalSocketVo.setLon(item.getLon());
|
||||||
hospitalSocketVo.setLat(item.getLat());
|
hospitalSocketVo.setLat(item.getLat());
|
||||||
|
hospitalSocketVo.setDistance(item.getDistance());
|
||||||
hospitalSocketVoList.add(hospitalSocketVo);
|
hospitalSocketVoList.add(hospitalSocketVo);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -465,13 +467,15 @@ public class LargeScreenImpl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 先对整个列表进行排序
|
// 先对整个列表进行排序
|
||||||
allList.sort(new Comparator<TblBaseHospitalVo>() {
|
allList.sort((h1, h2) -> {
|
||||||
@Override
|
double h1Lat = h1.getLat().doubleValue();
|
||||||
public int compare(TblBaseHospitalVo h1, TblBaseHospitalVo h2) {
|
double h1Lon = h1.getLon().doubleValue();
|
||||||
double dist1 = distance(lat, lon, h1.getLat().doubleValue(), h1.getLon().doubleValue());
|
double h2Lat = h2.getLat().doubleValue();
|
||||||
double dist2 = distance(lon, lat, h2.getLat().doubleValue(), h2.getLon().doubleValue());
|
double h2Lon = h2.getLon().doubleValue();
|
||||||
return Double.compare(dist1, dist2);
|
|
||||||
}
|
double dist1 = distance(lat, lon, h1Lat, h1Lon);
|
||||||
|
double dist2 = distance(lat, lon, h2Lat, h2Lon);
|
||||||
|
return Double.compare(dist1, dist2);
|
||||||
});
|
});
|
||||||
|
|
||||||
// 选择前三个最近的点
|
// 选择前三个最近的点
|
||||||
|
|||||||
+12
@@ -3,6 +3,7 @@ package com.renkang.emergency.largeScreen.entity.vo;
|
|||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.jeecg.common.aspect.annotation.Dict;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@@ -19,6 +20,17 @@ public class HealthBloodPressureVO {
|
|||||||
*/
|
*/
|
||||||
@Schema(title = "姓名")
|
@Schema(title = "姓名")
|
||||||
private String name;
|
private String name;
|
||||||
|
/**
|
||||||
|
* 性别
|
||||||
|
*/
|
||||||
|
@Schema(title = "性别")
|
||||||
|
@Dict(dicCode = "sex2")
|
||||||
|
private Integer sex;
|
||||||
|
/**
|
||||||
|
* 年龄
|
||||||
|
*/
|
||||||
|
@Schema(title = "年龄")
|
||||||
|
private Integer age;
|
||||||
/**
|
/**
|
||||||
* 收缩压
|
* 收缩压
|
||||||
*/
|
*/
|
||||||
|
|||||||
+12
@@ -3,6 +3,7 @@ package com.renkang.emergency.largeScreen.entity.vo;
|
|||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.jeecg.common.aspect.annotation.Dict;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@@ -19,6 +20,17 @@ public class HealthBloodSugarVO {
|
|||||||
*/
|
*/
|
||||||
@Schema(title = "姓名")
|
@Schema(title = "姓名")
|
||||||
private String name;
|
private String name;
|
||||||
|
/**
|
||||||
|
* 性别
|
||||||
|
*/
|
||||||
|
@Schema(title = "性别")
|
||||||
|
@Dict(dicCode = "sex2")
|
||||||
|
private Integer sex;
|
||||||
|
/**
|
||||||
|
* 年龄
|
||||||
|
*/
|
||||||
|
@Schema(title = "年龄")
|
||||||
|
private Integer age;
|
||||||
/**
|
/**
|
||||||
* 血糖值
|
* 血糖值
|
||||||
*/
|
*/
|
||||||
|
|||||||
+12
@@ -3,6 +3,7 @@ package com.renkang.emergency.largeScreen.entity.vo;
|
|||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.jeecg.common.aspect.annotation.Dict;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@@ -19,6 +20,17 @@ public class HealthWeightLossVO {
|
|||||||
*/
|
*/
|
||||||
@Schema(title = "姓名")
|
@Schema(title = "姓名")
|
||||||
private String name;
|
private String name;
|
||||||
|
/**
|
||||||
|
* 性别
|
||||||
|
*/
|
||||||
|
@Schema(title = "性别")
|
||||||
|
@Dict(dicCode = "sex2")
|
||||||
|
private Integer sex;
|
||||||
|
/**
|
||||||
|
* 年龄
|
||||||
|
*/
|
||||||
|
@Schema(title = "年龄")
|
||||||
|
private Integer age;
|
||||||
/**
|
/**
|
||||||
* 腰围(CM)
|
* 腰围(CM)
|
||||||
*/
|
*/
|
||||||
|
|||||||
+12
@@ -2,6 +2,7 @@ package com.renkang.emergency.largeScreen.entity.vo;
|
|||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.jeecg.common.aspect.annotation.Dict;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class MedicalAbnormalVO {
|
public class MedicalAbnormalVO {
|
||||||
@@ -15,6 +16,17 @@ public class MedicalAbnormalVO {
|
|||||||
*/
|
*/
|
||||||
@Schema(title = "姓名")
|
@Schema(title = "姓名")
|
||||||
private String name;
|
private String name;
|
||||||
|
/**
|
||||||
|
* 性别
|
||||||
|
*/
|
||||||
|
@Schema(title = "性别")
|
||||||
|
@Dict(dicCode = "sex2")
|
||||||
|
private Integer sex;
|
||||||
|
/**
|
||||||
|
* 年龄
|
||||||
|
*/
|
||||||
|
@Schema(title = "年龄")
|
||||||
|
private Integer age;
|
||||||
/**
|
/**
|
||||||
* 体检医院
|
* 体检医院
|
||||||
*/
|
*/
|
||||||
|
|||||||
+92
-36
@@ -40,6 +40,31 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
|
|||||||
private final IEmergencyHealthRoomService roomService;
|
private final IEmergencyHealthRoomService roomService;
|
||||||
private final RedisClientUtil redisClientUtil;
|
private final RedisClientUtil redisClientUtil;
|
||||||
|
|
||||||
|
|
||||||
|
private static final double MIN_LONGITUDE = 80.0;
|
||||||
|
private static final double MAX_LONGITUDE = 100.0;
|
||||||
|
private static final double MIN_LATITUDE = 35.0;
|
||||||
|
private static final double MAX_LATITUDE = 50.0;
|
||||||
|
|
||||||
|
private static final String[] CITIES = {
|
||||||
|
"乌鲁木齐", "喀什", "克拉玛依", "吐鲁番", "哈密",
|
||||||
|
"阿克苏", "巴音郭楞", "昌吉", "石河子", "博乐"
|
||||||
|
};
|
||||||
|
|
||||||
|
private static final String[] SURNAMES = {
|
||||||
|
"李", "王", "张", "刘", "陈",
|
||||||
|
"杨", "黄", "赵", "周", "吴",
|
||||||
|
"徐", "孙", "胡", "朱", "郭",
|
||||||
|
"何", "高", "林", "罗", "郑"
|
||||||
|
};
|
||||||
|
|
||||||
|
private static final String[] FIRST_NAMES = {
|
||||||
|
"伟", "芳", "娜", "敏", "静",
|
||||||
|
"军", "鹏", "强", "磊", "丹",
|
||||||
|
"丽", "涛", "超", "莉", "洋",
|
||||||
|
"明", "辉", "俊", "毅", "凯"
|
||||||
|
};
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<LargeScreenMap> map(String type) {
|
public List<LargeScreenMap> map(String type) {
|
||||||
List<LargeScreenMap> maps = new ArrayList<>();
|
List<LargeScreenMap> maps = new ArrayList<>();
|
||||||
@@ -64,23 +89,16 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<HealthRoomBaseVO> healthRoomBase(HealthRoomBaseDTO dto){
|
public List<HealthRoomBaseVO> healthRoomBase(HealthRoomBaseDTO dto){
|
||||||
double MIN_LATITUDE = 35.0;
|
|
||||||
double MAX_LATITUDE = 49.0;
|
|
||||||
double MIN_LONGITUDE = 73.0;
|
|
||||||
double MAX_LONGITUDE = 95.0;
|
|
||||||
List<HealthRoomBaseVO> list = new ArrayList<>();
|
List<HealthRoomBaseVO> list = new ArrayList<>();
|
||||||
for (int i = 0; i < 10; i++) {
|
for (int i = 0; i < 10; i++) {
|
||||||
HealthRoomBaseVO baseVO = new HealthRoomBaseVO();
|
HealthRoomBaseVO baseVO = new HealthRoomBaseVO();
|
||||||
baseVO.setId(UUID.randomUUID().toString());
|
baseVO.setId(UUID.randomUUID().toString());
|
||||||
baseVO.setAddress("新疆大厂");
|
String[] data = generateRandomLocation();
|
||||||
Random random = new Random();
|
baseVO.setAddress(data[0]);
|
||||||
// 随机生成纬度
|
baseVO.setLon(data[1]);
|
||||||
double latitude = MIN_LATITUDE + (MAX_LATITUDE - MIN_LATITUDE) * random.nextDouble();
|
baseVO.setLat(data[2]);
|
||||||
// 随机生成经度
|
baseVO.setDepartName("新疆大厂的单位"+i);
|
||||||
double longitude = MIN_LONGITUDE + (MAX_LONGITUDE - MIN_LONGITUDE) * random.nextDouble();
|
baseVO.setBuildDate(new Date());
|
||||||
baseVO.setLat(String.valueOf(latitude));
|
|
||||||
baseVO.setLat(String.valueOf(longitude));
|
|
||||||
baseVO.setDepartName("新疆大厂的单位");
|
|
||||||
list.add(baseVO);
|
list.add(baseVO);
|
||||||
}
|
}
|
||||||
// 查询第三方接口返回 此接口返回对象跟原有可能不太一样 要注意
|
// 查询第三方接口返回 此接口返回对象跟原有可能不太一样 要注意
|
||||||
@@ -106,7 +124,7 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
|
|||||||
for (int i = 0; i < 10; i++) {
|
for (int i = 0; i < 10; i++) {
|
||||||
HealthRoomVO roomVO = new HealthRoomVO();
|
HealthRoomVO roomVO = new HealthRoomVO();
|
||||||
roomVO.setName("小屋");
|
roomVO.setName("小屋");
|
||||||
roomVO.setDepartName("新疆大厂");
|
roomVO.setDepartName("新疆大厂"+i);
|
||||||
roomVO.setCheckInDate(DateUtil.today());
|
roomVO.setCheckInDate(DateUtil.today());
|
||||||
|
|
||||||
Random random = new Random();
|
Random random = new Random();
|
||||||
@@ -132,9 +150,12 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
|
|||||||
for (int i = 0; i < 20; i++) {
|
for (int i = 0; i < 20; i++) {
|
||||||
MedicalAbnormalVO abnormalVO = new MedicalAbnormalVO();
|
MedicalAbnormalVO abnormalVO = new MedicalAbnormalVO();
|
||||||
abnormalVO.setCheckInDate(DateUtil.today());
|
abnormalVO.setCheckInDate(DateUtil.today());
|
||||||
abnormalVO.setHospitalName("新疆医院");
|
abnormalVO.setHospitalName("新疆医院"+i);
|
||||||
abnormalVO.setDepartName("新疆大厂");
|
abnormalVO.setDepartName("新疆大厂"+i);
|
||||||
abnormalVO.setName("张三");
|
Random random = new Random();
|
||||||
|
abnormalVO.setSex(random.nextInt(2) + 1);
|
||||||
|
abnormalVO.setAge(random.nextInt(65 - 18 + 1) + 18);
|
||||||
|
abnormalVO.setName(generateRandomName());
|
||||||
list.add(abnormalVO);
|
list.add(abnormalVO);
|
||||||
}
|
}
|
||||||
page.setRecords(list);
|
page.setRecords(list);
|
||||||
@@ -149,13 +170,17 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
|
|||||||
List<HealthWeightLossVO> list = new ArrayList<>();
|
List<HealthWeightLossVO> list = new ArrayList<>();
|
||||||
for (int i = 0; i < 20; i++) {
|
for (int i = 0; i < 20; i++) {
|
||||||
HealthWeightLossVO weightLossVO = new HealthWeightLossVO();
|
HealthWeightLossVO weightLossVO = new HealthWeightLossVO();
|
||||||
weightLossVO.setName("张三");
|
weightLossVO.setName(generateRandomName());
|
||||||
weightLossVO.setWeight("80");
|
weightLossVO.setWeight("80");
|
||||||
weightLossVO.setDepartName("新疆大厂");
|
weightLossVO.setDepartName("新疆大厂"+i);
|
||||||
weightLossVO.setBmi("26.8");
|
weightLossVO.setBmi("26.8");
|
||||||
|
weightLossVO.setWaist("80");
|
||||||
weightLossVO.setHeight("180");
|
weightLossVO.setHeight("180");
|
||||||
weightLossVO.setBmiFlag("0");
|
weightLossVO.setBmiFlag("0");
|
||||||
weightLossVO.setInputDate(new Date());
|
weightLossVO.setInputDate(new Date());
|
||||||
|
Random random = new Random();
|
||||||
|
weightLossVO.setSex(random.nextInt(2) + 1);
|
||||||
|
weightLossVO.setAge(random.nextInt(65 - 18 + 1) + 18);
|
||||||
list.add(weightLossVO);
|
list.add(weightLossVO);
|
||||||
}
|
}
|
||||||
page.setRecords(list);
|
page.setRecords(list);
|
||||||
@@ -170,11 +195,14 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
|
|||||||
List<HealthBloodSugarVO> list = new ArrayList<>();
|
List<HealthBloodSugarVO> list = new ArrayList<>();
|
||||||
for (int i = 0; i < 20; i++) {
|
for (int i = 0; i < 20; i++) {
|
||||||
HealthBloodSugarVO bloodSugarVO = new HealthBloodSugarVO();
|
HealthBloodSugarVO bloodSugarVO = new HealthBloodSugarVO();
|
||||||
bloodSugarVO.setName("张三");
|
bloodSugarVO.setName(generateRandomName());
|
||||||
bloodSugarVO.setDepartName("新疆大厂");
|
bloodSugarVO.setDepartName("新疆大厂"+i);
|
||||||
bloodSugarVO.setBmiFlag("0");
|
bloodSugarVO.setBmiFlag("0");
|
||||||
bloodSugarVO.setInputDate(new Date());
|
bloodSugarVO.setInputDate(new Date());
|
||||||
bloodSugarVO.setBsVal("100");
|
bloodSugarVO.setBsVal("100");
|
||||||
|
Random random = new Random();
|
||||||
|
bloodSugarVO.setSex(random.nextInt(2) + 1);
|
||||||
|
bloodSugarVO.setAge(random.nextInt(65 - 18 + 1) + 18);
|
||||||
list.add(bloodSugarVO);
|
list.add(bloodSugarVO);
|
||||||
}
|
}
|
||||||
page.setRecords(list);
|
page.setRecords(list);
|
||||||
@@ -189,11 +217,16 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
|
|||||||
List<HealthBloodPressureVO> list = new ArrayList<>();
|
List<HealthBloodPressureVO> list = new ArrayList<>();
|
||||||
for (int i = 0; i < 20; i++) {
|
for (int i = 0; i < 20; i++) {
|
||||||
HealthBloodPressureVO bloodPressureVO = new HealthBloodPressureVO();
|
HealthBloodPressureVO bloodPressureVO = new HealthBloodPressureVO();
|
||||||
bloodPressureVO.setName("张三");
|
bloodPressureVO.setName(generateRandomName());
|
||||||
bloodPressureVO.setDepartName("新疆大厂");
|
bloodPressureVO.setDepartName("新疆大厂"+i);
|
||||||
bloodPressureVO.setInputDate(new Date());
|
bloodPressureVO.setInputDate(new Date());
|
||||||
|
bloodPressureVO.setDbp("25");
|
||||||
bloodPressureVO.setDbpFlag("0");
|
bloodPressureVO.setDbpFlag("0");
|
||||||
|
bloodPressureVO.setSbp("15");
|
||||||
bloodPressureVO.setSbpFlag("0");
|
bloodPressureVO.setSbpFlag("0");
|
||||||
|
Random random = new Random();
|
||||||
|
bloodPressureVO.setSex(random.nextInt(2) + 1);
|
||||||
|
bloodPressureVO.setAge(random.nextInt(65 - 18 + 1) + 18);
|
||||||
list.add(bloodPressureVO);
|
list.add(bloodPressureVO);
|
||||||
}
|
}
|
||||||
page.setRecords(list);
|
page.setRecords(list);
|
||||||
@@ -203,23 +236,16 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<HospitalVO> hospital(){
|
public List<HospitalVO> hospital(){
|
||||||
double MIN_LATITUDE = 35.0;
|
|
||||||
double MAX_LATITUDE = 49.0;
|
|
||||||
double MIN_LONGITUDE = 73.0;
|
|
||||||
double MAX_LONGITUDE = 95.0;
|
|
||||||
List<HospitalVO> list = new ArrayList<>();
|
List<HospitalVO> list = new ArrayList<>();
|
||||||
for (int i = 0; i < 20; i++) {
|
for (int i = 0; i < 20; i++) {
|
||||||
HospitalVO hospitalVO = new HospitalVO();
|
HospitalVO hospitalVO = new HospitalVO();
|
||||||
hospitalVO.setHospitalName("新疆医院");
|
hospitalVO.setHospitalName("新疆医院"+i);
|
||||||
hospitalVO.setAddress("新疆大厂");
|
String[] data = generateRandomLocation();
|
||||||
|
hospitalVO.setAddress(data[0]);
|
||||||
|
hospitalVO.setAlias("新"+i);
|
||||||
hospitalVO.setContractDate(new Date());
|
hospitalVO.setContractDate(new Date());
|
||||||
Random random = new Random();
|
hospitalVO.setLon(data[1]);
|
||||||
// 随机生成纬度
|
hospitalVO.setLat(data[2]);
|
||||||
double latitude = MIN_LATITUDE + (MAX_LATITUDE - MIN_LATITUDE) * random.nextDouble();
|
|
||||||
// 随机生成经度
|
|
||||||
double longitude = MIN_LONGITUDE + (MAX_LONGITUDE - MIN_LONGITUDE) * random.nextDouble();
|
|
||||||
hospitalVO.setLat(String.valueOf(latitude));
|
|
||||||
hospitalVO.setLat(String.valueOf(longitude));
|
|
||||||
list.add(hospitalVO);
|
list.add(hospitalVO);
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
@@ -341,4 +367,34 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
|
|||||||
healthSign.setBloodPressureAbnormalCountMonth(30);
|
healthSign.setBloodPressureAbnormalCountMonth(30);
|
||||||
redisClientUtil.set(MEDICAL,HEALTH_SIGN,healthSign);
|
redisClientUtil.set(MEDICAL,HEALTH_SIGN,healthSign);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String[] generateRandomLocation() {
|
||||||
|
Random random = new Random();
|
||||||
|
|
||||||
|
// 生成随机经纬度
|
||||||
|
double longitude = MIN_LONGITUDE + (MAX_LONGITUDE - MIN_LONGITUDE) * random.nextDouble();
|
||||||
|
double latitude = MIN_LATITUDE + (MAX_LATITUDE - MIN_LATITUDE) * random.nextDouble();
|
||||||
|
|
||||||
|
// 随机选择一个城市作为地址
|
||||||
|
String city = CITIES[random.nextInt(CITIES.length)];
|
||||||
|
|
||||||
|
String[] data = new String[3];
|
||||||
|
data[0] = city;
|
||||||
|
data[1] = String.valueOf(longitude);
|
||||||
|
data[2] = String.valueOf(latitude);
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String generateRandomName() {
|
||||||
|
Random random = new Random();
|
||||||
|
|
||||||
|
// 随机选择一个姓
|
||||||
|
String surname = SURNAMES[random.nextInt(SURNAMES.length)];
|
||||||
|
|
||||||
|
// 随机选择一个名
|
||||||
|
String firstName = FIRST_NAMES[random.nextInt(FIRST_NAMES.length)];
|
||||||
|
|
||||||
|
// 组合成完整姓名
|
||||||
|
return surname + firstName;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+22
-4
@@ -4,11 +4,15 @@ import cn.hutool.core.collection.CollUtil;
|
|||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||||
import com.renkang.emergency.entity.*;
|
import com.renkang.emergency.entity.*;
|
||||||
import com.renkang.emergency.entity.dto.ResourcesAllDTO;
|
import com.renkang.emergency.entity.dto.ResourcesAllDTO;
|
||||||
|
import com.renkang.emergency.largeScreen.entity.dto.HealthRoomDTO;
|
||||||
|
import com.renkang.emergency.mapper.EmergencyHealthRoomMapper;
|
||||||
import com.renkang.emergency.mapper.TblAmbulanceGpsMapper;
|
import com.renkang.emergency.mapper.TblAmbulanceGpsMapper;
|
||||||
import com.renkang.emergency.mapper.TblBaseHospitalMapper;
|
import com.renkang.emergency.mapper.TblBaseHospitalMapper;
|
||||||
import com.renkang.emergency.service.IEmergencyCenterResourceService;
|
import com.renkang.emergency.service.IEmergencyCenterResourceService;
|
||||||
|
import com.renkang.emergency.service.IEmergencyHealthRoomService;
|
||||||
import com.renkang.emergency.service.ITblAmbulanceGpsService;
|
import com.renkang.emergency.service.ITblAmbulanceGpsService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.jeecg.common.api.vo.Result;
|
import org.jeecg.common.api.vo.Result;
|
||||||
@@ -16,6 +20,7 @@ import org.springframework.beans.BeanUtils;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.text.DecimalFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -36,6 +41,8 @@ public class TblAmbulanceGpsServiceImpl extends ServiceImpl<TblAmbulanceGpsMappe
|
|||||||
private TblBaseHospitalMapper tblBaseHospitalMapper;
|
private TblBaseHospitalMapper tblBaseHospitalMapper;
|
||||||
@Resource
|
@Resource
|
||||||
private IEmergencyCenterResourceService resourceService;
|
private IEmergencyCenterResourceService resourceService;
|
||||||
|
@Resource
|
||||||
|
private EmergencyHealthRoomMapper roomMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<TblBaseHospitalVo> getAllList(String lat, String lon, String type, String keys) {
|
public List<TblBaseHospitalVo> getAllList(String lat, String lon, String type, String keys) {
|
||||||
@@ -48,18 +55,28 @@ public class TblAmbulanceGpsServiceImpl extends ServiceImpl<TblAmbulanceGpsMappe
|
|||||||
search.setType(type);
|
search.setType(type);
|
||||||
}
|
}
|
||||||
List<TblBaseHospitalVo> hospitalList = tblBaseHospitalMapper.getHospitalList(search);
|
List<TblBaseHospitalVo> hospitalList = tblBaseHospitalMapper.getHospitalList(search);
|
||||||
|
MPJLambdaWrapper<EmergencyHealthRoom> wrapper = new MPJLambdaWrapper<>();
|
||||||
|
wrapper.selectAs(EmergencyHealthRoom::getId, TblBaseHospitalVo::getId);
|
||||||
|
wrapper.selectAs(EmergencyHealthRoom::getName, TblBaseHospitalVo::getName);
|
||||||
|
wrapper.selectAs(EmergencyHealthRoom::getLatitude, TblBaseHospitalVo::getLat);
|
||||||
|
wrapper.selectAs(EmergencyHealthRoom::getLongitude, TblBaseHospitalVo::getLon);
|
||||||
|
wrapper.selectAs("3", TblBaseHospitalVo::getType);
|
||||||
|
List<TblBaseHospitalVo> list = roomMapper.selectJoinList(TblBaseHospitalVo.class, wrapper);
|
||||||
|
if (CollUtil.isNotEmpty(list)) {
|
||||||
|
hospitalList.addAll(list);
|
||||||
|
}
|
||||||
Double lat1 = Double.parseDouble(lat);
|
Double lat1 = Double.parseDouble(lat);
|
||||||
Double lon1 = Double.parseDouble(lon);
|
Double lon1 = Double.parseDouble(lon);
|
||||||
List<TblBaseHospitalVo> voList = new ArrayList<>();
|
List<TblBaseHospitalVo> voList = new ArrayList<>();
|
||||||
for (TblBaseHospitalVo tblBaseHospitalVo : hospitalList) {
|
for (TblBaseHospitalVo tblBaseHospitalVo : hospitalList) {
|
||||||
if (tblBaseHospitalVo.getLat()!=null && Double.parseDouble(tblBaseHospitalVo.getLat().toString()) != 0.0 && Double.parseDouble(tblBaseHospitalVo.getLon().toString()) != 0.0) {
|
if (tblBaseHospitalVo.getLat() != null && Double.parseDouble(tblBaseHospitalVo.getLat().toString()) != 0.0 && Double.parseDouble(tblBaseHospitalVo.getLon().toString()) != 0.0) {
|
||||||
Double lat2 = Double.parseDouble(tblBaseHospitalVo.getLat().toString());
|
Double lat2 = Double.parseDouble(tblBaseHospitalVo.getLat().toString());
|
||||||
Double lng2 = Double.parseDouble(tblBaseHospitalVo.getLon().toString());
|
Double lng2 = Double.parseDouble(tblBaseHospitalVo.getLon().toString());
|
||||||
Double distance = getDistance(lat1, lon1, lat2, lng2);
|
Double distance = getDistance(lat1, lon1, lat2, lng2);
|
||||||
if (distance > 1000d) {
|
if (distance > 1000d) {
|
||||||
tblBaseHospitalVo.setDistance(Math.round((distance / 1000d) * 100) / 100 + "km");
|
tblBaseHospitalVo.setDistance((int) (distance / 1000d) + "km");
|
||||||
} else {
|
} else {
|
||||||
tblBaseHospitalVo.setDistance(Math.round(distance * 100) / 100 + "m");
|
tblBaseHospitalVo.setDistance((int) (distance * 1) + "m");
|
||||||
}
|
}
|
||||||
voList.add(tblBaseHospitalVo);
|
voList.add(tblBaseHospitalVo);
|
||||||
}
|
}
|
||||||
@@ -86,7 +103,7 @@ public class TblAmbulanceGpsServiceImpl extends ServiceImpl<TblAmbulanceGpsMappe
|
|||||||
double lon1 = Double.parseDouble(dto.getLon());
|
double lon1 = Double.parseDouble(dto.getLon());
|
||||||
List<TblBaseHospitalVo> voList = new ArrayList<>();
|
List<TblBaseHospitalVo> voList = new ArrayList<>();
|
||||||
for (TblBaseHospitalVo tblBaseHospitalVo : hospitalList) {
|
for (TblBaseHospitalVo tblBaseHospitalVo : hospitalList) {
|
||||||
if (tblBaseHospitalVo.getLat()!=null && Double.parseDouble(tblBaseHospitalVo.getLat().toString()) != 0.0 && Double.parseDouble(tblBaseHospitalVo.getLon().toString()) != 0.0) {
|
if (tblBaseHospitalVo.getLat() != null && Double.parseDouble(tblBaseHospitalVo.getLat().toString()) != 0.0 && Double.parseDouble(tblBaseHospitalVo.getLon().toString()) != 0.0) {
|
||||||
double lat2 = Double.parseDouble(tblBaseHospitalVo.getLat().toString());
|
double lat2 = Double.parseDouble(tblBaseHospitalVo.getLat().toString());
|
||||||
double lng2 = Double.parseDouble(tblBaseHospitalVo.getLon().toString());
|
double lng2 = Double.parseDouble(tblBaseHospitalVo.getLon().toString());
|
||||||
double distance = getDistance(lat1, lon1, lat2, lng2);
|
double distance = getDistance(lat1, lon1, lat2, lng2);
|
||||||
@@ -103,6 +120,7 @@ public class TblAmbulanceGpsServiceImpl extends ServiceImpl<TblAmbulanceGpsMappe
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取救护车gps信息
|
* 获取救护车gps信息
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+6
-5
@@ -423,13 +423,14 @@ public class WatchMonitorDataServiceImpl extends ServiceImpl<WatchMonitorDataMap
|
|||||||
center.setDefaultCenter(true);
|
center.setDefaultCenter(true);
|
||||||
}
|
}
|
||||||
socketVo.setCenterId(center.getId());
|
socketVo.setCenterId(center.getId());
|
||||||
if (center.getDefaultCenter()) {
|
// Ps: 新疆不需要走旧版大屏逻辑
|
||||||
log.info("旧版大屏推送... 执行时间: {}", System.currentTimeMillis());
|
// if (center.getDefaultCenter()) {
|
||||||
this.defaultLargeScreenPush(socketVo);
|
// log.info("旧版大屏推送... 执行时间: {}", System.currentTimeMillis());
|
||||||
} else {
|
// this.defaultLargeScreenPush(socketVo);
|
||||||
|
// } else {
|
||||||
log.info("新版大屏推送... 执行时间: {}", System.currentTimeMillis());
|
log.info("新版大屏推送... 执行时间: {}", System.currentTimeMillis());
|
||||||
webSocket.pushMessageBase(socketVo);
|
webSocket.pushMessageBase(socketVo);
|
||||||
}
|
// }
|
||||||
this.sendSms(monitorDataEntity, socketVo, this.findSmsPhone(center, socketVo));
|
this.sendSms(monitorDataEntity, socketVo, this.findSmsPhone(center, socketVo));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user