diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyResourceApiServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyResourceApiServiceImpl.java index 06ff55d..812e68a 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyResourceApiServiceImpl.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyResourceApiServiceImpl.java @@ -111,6 +111,7 @@ public class EmergencyResourceApiServiceImpl implements EmergencyResourceApiServ ext.setAddress(emergencyHealthRoom.getOrgName()); ext.setLatitude(new BigDecimal(emergencyHealthRoom.getLatitude())); ext.setLongitude(new BigDecimal(emergencyHealthRoom.getLongitude())); + ext.setType("3"); resources.add(ext); } home.setDicts(dictItems); diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/LargeScreenImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/LargeScreenImpl.java index 71867ff..e8c267b 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/LargeScreenImpl.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/LargeScreenImpl.java @@ -109,15 +109,16 @@ public class LargeScreenImpl { * Ps:新增type */ private void startPush(EmergencySocket socket, String busId, EmergencyCenter center,Integer type) { + // Ps: 新疆不需要走旧版大屏逻辑 // 根据 center.getDefaultCenter() 状态 走不同逻辑 true:旧版逻辑 false:新版逻辑 - if (center.getDefaultCenter()) { - this.defaultLargeScreenPush(socket); - this.defaultSmsPush(socket, busId, center, type); - } else { +// if (center.getDefaultCenter()) { +// this.defaultLargeScreenPush(socket); +// this.defaultSmsPush(socket, busId, center, type); +// } else { log.info("新版大屏推送... 执行时间: {}", System.currentTimeMillis()); webSocket.pushMessageBase(socket); this.newSmsPush(socket, busId, center, type); - } +// } } /** @@ -244,6 +245,7 @@ public class LargeScreenImpl { hospitalSocketVo.setName(item.getName()); hospitalSocketVo.setLon(item.getLon()); hospitalSocketVo.setLat(item.getLat()); + hospitalSocketVo.setDistance(item.getDistance()); hospitalSocketVoList.add(hospitalSocketVo); }); } @@ -465,13 +467,15 @@ public class LargeScreenImpl { } // 先对整个列表进行排序 - allList.sort(new Comparator() { - @Override - public int compare(TblBaseHospitalVo h1, TblBaseHospitalVo h2) { - double dist1 = distance(lat, lon, h1.getLat().doubleValue(), h1.getLon().doubleValue()); - double dist2 = distance(lon, lat, h2.getLat().doubleValue(), h2.getLon().doubleValue()); - return Double.compare(dist1, dist2); - } + allList.sort((h1, h2) -> { + double h1Lat = h1.getLat().doubleValue(); + double h1Lon = h1.getLon().doubleValue(); + double h2Lat = h2.getLat().doubleValue(); + double h2Lon = h2.getLon().doubleValue(); + + double dist1 = distance(lat, lon, h1Lat, h1Lon); + double dist2 = distance(lat, lon, h2Lat, h2Lon); + return Double.compare(dist1, dist2); }); // 选择前三个最近的点 diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthBloodPressureVO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthBloodPressureVO.java index 231610f..c3b5d95 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthBloodPressureVO.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthBloodPressureVO.java @@ -3,6 +3,7 @@ package com.renkang.emergency.largeScreen.entity.vo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import org.jeecg.common.aspect.annotation.Dict; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @@ -19,6 +20,17 @@ public class HealthBloodPressureVO { */ @Schema(title = "姓名") private String name; + /** + * 性别 + */ + @Schema(title = "性别") + @Dict(dicCode = "sex2") + private Integer sex; + /** + * 年龄 + */ + @Schema(title = "年龄") + private Integer age; /** * 收缩压 */ diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthBloodSugarVO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthBloodSugarVO.java index fe941da..ca3d310 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthBloodSugarVO.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthBloodSugarVO.java @@ -3,6 +3,7 @@ package com.renkang.emergency.largeScreen.entity.vo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import org.jeecg.common.aspect.annotation.Dict; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @@ -19,6 +20,17 @@ public class HealthBloodSugarVO { */ @Schema(title = "姓名") private String name; + /** + * 性别 + */ + @Schema(title = "性别") + @Dict(dicCode = "sex2") + private Integer sex; + /** + * 年龄 + */ + @Schema(title = "年龄") + private Integer age; /** * 血糖值 */ diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthWeightLossVO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthWeightLossVO.java index d26f1ac..61a8cc0 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthWeightLossVO.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthWeightLossVO.java @@ -3,6 +3,7 @@ package com.renkang.emergency.largeScreen.entity.vo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import org.jeecg.common.aspect.annotation.Dict; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @@ -19,6 +20,17 @@ public class HealthWeightLossVO { */ @Schema(title = "姓名") private String name; + /** + * 性别 + */ + @Schema(title = "性别") + @Dict(dicCode = "sex2") + private Integer sex; + /** + * 年龄 + */ + @Schema(title = "年龄") + private Integer age; /** * 腰围(CM) */ diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/MedicalAbnormalVO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/MedicalAbnormalVO.java index 914ae58..80bb6ae 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/MedicalAbnormalVO.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/MedicalAbnormalVO.java @@ -2,6 +2,7 @@ package com.renkang.emergency.largeScreen.entity.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import org.jeecg.common.aspect.annotation.Dict; @Data public class MedicalAbnormalVO { @@ -15,6 +16,17 @@ public class MedicalAbnormalVO { */ @Schema(title = "姓名") private String name; + /** + * 性别 + */ + @Schema(title = "性别") + @Dict(dicCode = "sex2") + private Integer sex; + /** + * 年龄 + */ + @Schema(title = "年龄") + private Integer age; /** * 体检医院 */ diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/impl/LargeScreenServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/impl/LargeScreenServiceImpl.java index a0b2e21..3e8f3e1 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/impl/LargeScreenServiceImpl.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/impl/LargeScreenServiceImpl.java @@ -40,6 +40,31 @@ public class LargeScreenServiceImpl extends ServiceImpl map(String type) { List maps = new ArrayList<>(); @@ -64,23 +89,16 @@ public class LargeScreenServiceImpl extends ServiceImpl healthRoomBase(HealthRoomBaseDTO dto){ - double MIN_LATITUDE = 35.0; - double MAX_LATITUDE = 49.0; - double MIN_LONGITUDE = 73.0; - double MAX_LONGITUDE = 95.0; List list = new ArrayList<>(); for (int i = 0; i < 10; i++) { HealthRoomBaseVO baseVO = new HealthRoomBaseVO(); baseVO.setId(UUID.randomUUID().toString()); - baseVO.setAddress("新疆大厂"); - Random random = new Random(); - // 随机生成纬度 - double latitude = MIN_LATITUDE + (MAX_LATITUDE - MIN_LATITUDE) * random.nextDouble(); - // 随机生成经度 - double longitude = MIN_LONGITUDE + (MAX_LONGITUDE - MIN_LONGITUDE) * random.nextDouble(); - baseVO.setLat(String.valueOf(latitude)); - baseVO.setLat(String.valueOf(longitude)); - baseVO.setDepartName("新疆大厂的单位"); + String[] data = generateRandomLocation(); + baseVO.setAddress(data[0]); + baseVO.setLon(data[1]); + baseVO.setLat(data[2]); + baseVO.setDepartName("新疆大厂的单位"+i); + baseVO.setBuildDate(new Date()); list.add(baseVO); } // 查询第三方接口返回 此接口返回对象跟原有可能不太一样 要注意 @@ -106,7 +124,7 @@ public class LargeScreenServiceImpl extends ServiceImpl list = new ArrayList<>(); for (int i = 0; i < 20; i++) { HealthWeightLossVO weightLossVO = new HealthWeightLossVO(); - weightLossVO.setName("张三"); + weightLossVO.setName(generateRandomName()); weightLossVO.setWeight("80"); - weightLossVO.setDepartName("新疆大厂"); + weightLossVO.setDepartName("新疆大厂"+i); weightLossVO.setBmi("26.8"); + weightLossVO.setWaist("80"); weightLossVO.setHeight("180"); weightLossVO.setBmiFlag("0"); 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); } page.setRecords(list); @@ -170,11 +195,14 @@ public class LargeScreenServiceImpl extends ServiceImpl list = new ArrayList<>(); for (int i = 0; i < 20; i++) { HealthBloodSugarVO bloodSugarVO = new HealthBloodSugarVO(); - bloodSugarVO.setName("张三"); - bloodSugarVO.setDepartName("新疆大厂"); + bloodSugarVO.setName(generateRandomName()); + bloodSugarVO.setDepartName("新疆大厂"+i); bloodSugarVO.setBmiFlag("0"); bloodSugarVO.setInputDate(new Date()); bloodSugarVO.setBsVal("100"); + Random random = new Random(); + bloodSugarVO.setSex(random.nextInt(2) + 1); + bloodSugarVO.setAge(random.nextInt(65 - 18 + 1) + 18); list.add(bloodSugarVO); } page.setRecords(list); @@ -189,11 +217,16 @@ public class LargeScreenServiceImpl extends ServiceImpl list = new ArrayList<>(); for (int i = 0; i < 20; i++) { HealthBloodPressureVO bloodPressureVO = new HealthBloodPressureVO(); - bloodPressureVO.setName("张三"); - bloodPressureVO.setDepartName("新疆大厂"); + bloodPressureVO.setName(generateRandomName()); + bloodPressureVO.setDepartName("新疆大厂"+i); bloodPressureVO.setInputDate(new Date()); + bloodPressureVO.setDbp("25"); bloodPressureVO.setDbpFlag("0"); + bloodPressureVO.setSbp("15"); bloodPressureVO.setSbpFlag("0"); + Random random = new Random(); + bloodPressureVO.setSex(random.nextInt(2) + 1); + bloodPressureVO.setAge(random.nextInt(65 - 18 + 1) + 18); list.add(bloodPressureVO); } page.setRecords(list); @@ -203,23 +236,16 @@ public class LargeScreenServiceImpl extends ServiceImpl hospital(){ - double MIN_LATITUDE = 35.0; - double MAX_LATITUDE = 49.0; - double MIN_LONGITUDE = 73.0; - double MAX_LONGITUDE = 95.0; List list = new ArrayList<>(); for (int i = 0; i < 20; i++) { HospitalVO hospitalVO = new HospitalVO(); - hospitalVO.setHospitalName("新疆医院"); - hospitalVO.setAddress("新疆大厂"); + hospitalVO.setHospitalName("新疆医院"+i); + String[] data = generateRandomLocation(); + hospitalVO.setAddress(data[0]); + hospitalVO.setAlias("新"+i); hospitalVO.setContractDate(new Date()); - Random random = new Random(); - // 随机生成纬度 - 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)); + hospitalVO.setLon(data[1]); + hospitalVO.setLat(data[2]); list.add(hospitalVO); } return list; @@ -341,4 +367,34 @@ public class LargeScreenServiceImpl extends ServiceImpl getAllList(String lat, String lon, String type, String keys) { @@ -48,18 +55,28 @@ public class TblAmbulanceGpsServiceImpl extends ServiceImpl hospitalList = tblBaseHospitalMapper.getHospitalList(search); + MPJLambdaWrapper 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 list = roomMapper.selectJoinList(TblBaseHospitalVo.class, wrapper); + if (CollUtil.isNotEmpty(list)) { + hospitalList.addAll(list); + } Double lat1 = Double.parseDouble(lat); Double lon1 = Double.parseDouble(lon); List voList = new ArrayList<>(); 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 lng2 = Double.parseDouble(tblBaseHospitalVo.getLon().toString()); Double distance = getDistance(lat1, lon1, lat2, lng2); if (distance > 1000d) { - tblBaseHospitalVo.setDistance(Math.round((distance / 1000d) * 100) / 100 + "km"); + tblBaseHospitalVo.setDistance((int) (distance / 1000d) + "km"); } else { - tblBaseHospitalVo.setDistance(Math.round(distance * 100) / 100 + "m"); + tblBaseHospitalVo.setDistance((int) (distance * 1) + "m"); } voList.add(tblBaseHospitalVo); } @@ -86,7 +103,7 @@ public class TblAmbulanceGpsServiceImpl extends ServiceImpl voList = new ArrayList<>(); 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 lng2 = Double.parseDouble(tblBaseHospitalVo.getLon().toString()); double distance = getDistance(lat1, lon1, lat2, lng2); @@ -103,6 +120,7 @@ public class TblAmbulanceGpsServiceImpl extends ServiceImpl