diff --git a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/EmergencyHealthRoom.java b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/EmergencyHealthRoom.java new file mode 100644 index 0000000..ea5e9d3 --- /dev/null +++ b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/EmergencyHealthRoom.java @@ -0,0 +1,108 @@ +package com.renkang.emergency.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +public class EmergencyHealthRoom { + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + @Schema(title = "id") + private String id; + + /** + * 建设地点名称 + */ + @Schema(title = "建设地点名称") + private String name; + + /** + * 单位code + */ + @Schema(title = "单位code") + private String orgCode; + + /** + * 单位名称(冗余字段更新orgCode记得同步更新) + */ + @Schema(title = "单位名称(冗余字段更新orgCode记得同步更新)") + private String orgName; + + /** + * 在岗人数 + */ + @Schema(title = "在岗人数") + private Integer jobNum; + + /** + * 运转时间(分钟) + */ + @Schema(title = "运转时间(分钟)") + private Integer runTime; + + /** + * 经度 + */ + @Schema(title = "经度") + private String longitude; + + /** + * 纬度 + */ + @Schema(title = "纬度") + private String latitude; + + /** + * 状态(1-正常,2-冻结) + */ + @Schema(title = "状态(1-正常,2-冻结)") + private Integer status; + + /** + * 删除状态(0-正常,1-已删除) + */ + @Schema(title = "删除状态(0-正常,1-已删除)") + @TableLogic + private Integer delFlag; + + /** + * 创建人 + */ + @Schema(title = "创建人") + private String createBy; + /** + * 创建时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "创建时间") + private Date createTime; + /** + * 更新人 + */ + @Schema(title = "更新人") + private String updateBy; + /** + * 更新时间 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "更新时间") + private Date updateTime; + /** + * 备注 + */ + @Schema(title = "备注") + private String memo; +} diff --git a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/vo/LargeScreenMap.java b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/vo/LargeScreenMap.java new file mode 100644 index 0000000..6e1923d --- /dev/null +++ b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/vo/LargeScreenMap.java @@ -0,0 +1,42 @@ +package com.renkang.emergency.entity.vo; + +import com.renkang.emergency.entity.EmergencyHealthRoom; +import com.renkang.emergency.entity.Resource; +import lombok.Data; + +@Data +public class LargeScreenMap { + private String id; + + private String name; + + private String orgName; + + private String type; + + private String loveNum; + + private String longitude; + + private String latitude; + + public LargeScreenMap() {} + + public LargeScreenMap(Resource resource) { + this.id = resource.getId(); + this.name = resource.getName(); + this.orgName = ""; + this.type = resource.getType(); + this.latitude = String.valueOf(resource.getLatitude()); + this.longitude = String.valueOf(resource.getLongitude()); + } + + public LargeScreenMap(EmergencyHealthRoom room) { + this.id = room.getId(); + this.name = room.getName(); + this.orgName = room.getOrgName(); + this.type = "2"; + this.latitude = room.getLatitude(); + this.longitude = room.getLongitude(); + } +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/controller/HealthRoomController.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/controller/HealthRoomController.java new file mode 100644 index 0000000..353c16c --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/controller/HealthRoomController.java @@ -0,0 +1,23 @@ +package com.renkang.emergency.controller; + +import com.renkang.emergency.entity.EmergencyHealthRoom; +import com.renkang.emergency.service.IEmergencyHealthRoomService; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description: HealthRoom + * @Author: wang hao + * @Date: 2025-07-03 + * @Version: V1.0 + */ +@Tag(name = "health_room") +@RestController +@RequestMapping("/emergency/healthRoom") +@Slf4j +public class HealthRoomController extends JeecgController { + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/controller/LargeScreenController.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/controller/LargeScreenController.java new file mode 100644 index 0000000..5952ce5 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/controller/LargeScreenController.java @@ -0,0 +1,43 @@ +package com.renkang.emergency.controller; + +import com.renkang.emergency.entity.EmergencyHealthRoom; +import com.renkang.emergency.entity.vo.LargeScreenMap; +import com.renkang.emergency.service.IEmergencyHealthRoomService; +import com.renkang.emergency.service.ILargeScreenService; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @Description: HealthRoom + * @Author: wang hao + * @Date: 2025-07-03 + * @Version: V1.0 + */ +@Tag(name = "大屏/主屏") +@RestController +@RequestMapping("/emergency/largeScreen") +@Slf4j +@RequiredArgsConstructor +public class LargeScreenController { + + private final ILargeScreenService largeScreenService; + + /** + * 获取地图 + * @param type 1:油田医院 2:健康小屋 5:救护车 不传则全部 + * @return + */ + @GetMapping("/map") + public Result> map(@RequestParam(name = "type",required = false) String type) { + return Result.ok(largeScreenService.map(type)); + } +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/EmergencyHealthRoomMapper.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/EmergencyHealthRoomMapper.java new file mode 100644 index 0000000..f416a0f --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/EmergencyHealthRoomMapper.java @@ -0,0 +1,14 @@ +package com.renkang.emergency.mapper; + +import com.github.yulichang.base.MPJBaseMapper; +import com.renkang.emergency.entity.EmergencyHealthRoom; + +/** + * @Description: large_screen + * @Author: wang hao + * @Date: 2025-07-04 + * @Version: V1.0 + */ +public interface EmergencyHealthRoomMapper extends MPJBaseMapper { + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/LargeScreenMapper.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/LargeScreenMapper.java new file mode 100644 index 0000000..6255d37 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/LargeScreenMapper.java @@ -0,0 +1,15 @@ +package com.renkang.emergency.mapper; + +import com.github.yulichang.base.MPJBaseMapper; +import com.renkang.emergency.entity.EmergencyHealthRoom; +import com.renkang.emergency.entity.vo.LargeScreenMap; + +/** + * @Description: large_screen + * @Author: wang hao + * @Date: 2025-07-04 + * @Version: V1.0 + */ +public interface LargeScreenMapper extends MPJBaseMapper { + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/EmergencyHealthRoomMapper.xml b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/EmergencyHealthRoomMapper.xml new file mode 100644 index 0000000..0d2860a --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/EmergencyHealthRoomMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/IEmergencyHealthRoomService.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/IEmergencyHealthRoomService.java new file mode 100644 index 0000000..e0693ac --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/IEmergencyHealthRoomService.java @@ -0,0 +1,14 @@ +package com.renkang.emergency.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.renkang.emergency.entity.EmergencyHealthRoom; + +/** + * @Description: HealthRoom + * @Author: wanghao + * @Date: 2025-07-03 + * @Version: V1.0 + */ +public interface IEmergencyHealthRoomService extends IService { + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/ILargeScreenService.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/ILargeScreenService.java new file mode 100644 index 0000000..177b4d5 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/ILargeScreenService.java @@ -0,0 +1,18 @@ +package com.renkang.emergency.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.renkang.emergency.entity.EmergencyHealthRoom; +import com.renkang.emergency.entity.vo.LargeScreenMap; + +import java.util.List; + +/** + * @Description: HealthRoom + * @Author: wang hao + * @Date: 2025-07-03 + * @Version: V1.0 + */ +public interface ILargeScreenService extends IService { + + List map(String type); +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/impl/EmergencyHealthRoomServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/impl/EmergencyHealthRoomServiceImpl.java new file mode 100644 index 0000000..0a48f85 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/impl/EmergencyHealthRoomServiceImpl.java @@ -0,0 +1,18 @@ +package com.renkang.emergency.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.renkang.emergency.entity.EmergencyHealthRoom; +import com.renkang.emergency.mapper.EmergencyHealthRoomMapper; +import com.renkang.emergency.service.IEmergencyHealthRoomService; +import org.springframework.stereotype.Service; + +/** + * @Description: emergency_order + * @Author: jeecg-boot + * @Date: 2023-04-26 + * @Version: V1.0 + */ +@Service +public class EmergencyHealthRoomServiceImpl extends ServiceImpl implements IEmergencyHealthRoomService { + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/impl/LargeScreenServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/impl/LargeScreenServiceImpl.java new file mode 100644 index 0000000..0e024e9 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/impl/LargeScreenServiceImpl.java @@ -0,0 +1,59 @@ +package com.renkang.emergency.service.impl; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.renkang.emergency.entity.EmergencyHealthRoom; +import com.renkang.emergency.entity.Resource; +import com.renkang.emergency.entity.vo.LargeScreenMap; +import com.renkang.emergency.mapper.EmergencyHealthRoomMapper; +import com.renkang.emergency.mapper.LargeScreenMapper; +import com.renkang.emergency.service.IEmergencyCenterResourceService; +import com.renkang.emergency.service.IEmergencyHealthRoomService; +import com.renkang.emergency.service.ILargeScreenService; +import com.renkang.emergency.service.IResourceService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @Description: large_screen + * @Author: wang hao + * @Date: 2025-07-04 + * @Version: V1.0 + */ +@Service +@RequiredArgsConstructor +public class LargeScreenServiceImpl extends ServiceImpl implements ILargeScreenService { + + private final IResourceService resourceService; + private final IEmergencyHealthRoomService roomService; + + @Override + public List map(String type) { + List maps = new ArrayList<>(); + if (StrUtil.isEmpty(type) || type.equals("1")) { + List list = resourceService.list(new LambdaQueryWrapper() + .eq(StrUtil.isNotEmpty(type),Resource::getType, type) + .eq(StrUtil.isEmpty(type),Resource::getType, "1")); + maps.addAll(list.stream().map(LargeScreenMap::new).collect(Collectors.toList())); + } + if (StrUtil.isEmpty(type) || type.equals("2")) { + List list = roomService.list(); + maps.addAll(list.stream().map(LargeScreenMap::new).collect(Collectors.toList())); + } + if (StrUtil.isEmpty(type) || type.equals("5")) { + List list = resourceService.list(new LambdaQueryWrapper() + .eq(StrUtil.isNotEmpty(type),Resource::getType, type) + .eq(StrUtil.isEmpty(type),Resource::getType, "5")); + maps.addAll(list.stream().map(LargeScreenMap::new).collect(Collectors.toList())); + } + return maps; + } +}