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 deleted file mode 100644 index 5952ce5..0000000 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/controller/LargeScreenController.java +++ /dev/null @@ -1,43 +0,0 @@ -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/controller/LargeScreenNewController.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/controller/LargeScreenNewController.java deleted file mode 100644 index 2b217f5..0000000 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/controller/LargeScreenNewController.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.renkang.emergency.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.renkang.emergency.entity.TblUserHelp; -import com.renkang.emergency.entity.dto.*; -import com.renkang.emergency.service.ITbUserHelpMacService; -import com.renkang.emergency.service.ITblAmbulanceGpsService; -import com.renkang.emergency.service.YcLargeScreenService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import org.jeecg.common.api.dto.YcMedicalCenterFakerData; -import org.jeecg.common.api.dto.YcUserHealthFakerData; -import org.jeecg.common.api.vo.Result; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import java.util.List; - -@RestController -@RequestMapping("/emergency/LargeScreenNew") -public class LargeScreenNewController { - @Resource - private ITbUserHelpMacService tbUserHelpMacService; - @Resource - private YcLargeScreenService ycLargeScreenService; - @Resource - private ITblAmbulanceGpsService tblAmbulanceGpsService; - - /** - * 服务详情数据-24.09.19 新版大屏接口 - */ - @PostMapping("/statisticsNew") - @Operation(summary = "服务详情数据", description = "服务详情数据") - public Result statisticsNew(@RequestBody StatisticsDTO dto) { - return Result.OK(tbUserHelpMacService.statisticsNew(dto)); - } - - /** - * 获取云坐席列表数据-24.09.19 新版大屏接口 - */ - @PostMapping("/phoneListNew") - @Operation(summary = "获取云坐席列表数据", description = "获取云坐席列表数据") - public Result getPhoneListNew(@RequestBody PhoneListDTO dto) { - return Result.ok(tbUserHelpMacService.getPhoneListNew(dto)); - } - - /** - * 一线医疗点每日工作动态-24.09.19 新版大屏接口 - */ - @PostMapping("/medicalCenterNew") - @Operation(summary = "一线医疗点每日工作动态", description = "一线医疗点每日工作动态") - public Result> medicalCenterNew(@RequestBody MedicalCenterDTO dto) { - return Result.ok(ycLargeScreenService.medicalCenterNew(dto)); - } - - /** - * 员工队伍健康状况数据-24.09.19 新版大屏接口 - */ - @PostMapping("/userHealthCenterNew") - @Operation(summary = "员工队伍健康状况数据", description = "员工队伍健康状况数据") - public Result userHealthCenterNew(@RequestBody UserHealthCenterDTO dto) { - return Result.ok(ycLargeScreenService.userHealthCenterNew(dto)); - } - - /** - * 获取所有资源-24.09.19 新版大屏接口 - */ - @PostMapping("/getAllListNew") - @Operation(summary = "获取所有资源", description = "获取所有资源") - public Result getAllListNew(@RequestBody ResourcesAllDTO dto) { - return Result.OK(tblAmbulanceGpsService.getAllListNew(dto)); - } - - -} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/controller/LargeScreenNewController.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/controller/LargeScreenNewController.java new file mode 100644 index 0000000..2bd84e8 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/controller/LargeScreenNewController.java @@ -0,0 +1,150 @@ +package com.renkang.emergency.largeScreen.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.renkang.emergency.entity.dto.*; +import com.renkang.emergency.largeScreen.entity.dto.*; +import com.renkang.emergency.largeScreen.entity.vo.*; +import com.renkang.emergency.largeScreen.service.ILargeScreenService; +import com.renkang.emergency.service.ITbUserHelpMacService; +import com.renkang.emergency.service.ITblAmbulanceGpsService; +import com.renkang.emergency.service.YcLargeScreenService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.dto.YcMedicalCenterFakerData; +import org.jeecg.common.api.dto.YcUserHealthFakerData; +import org.jeecg.common.api.vo.Result; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Tag(name = "大屏/主屏") +@RestController +@RequestMapping("/emergency/LargeScreenNew") +@RequiredArgsConstructor +@Slf4j +public class LargeScreenNewController { + + private final ITbUserHelpMacService tbUserHelpMacService; + private final YcLargeScreenService ycLargeScreenService; + private final ITblAmbulanceGpsService tblAmbulanceGpsService; + 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)); + } + + /** + * 服务详情数据-24.09.19 新版大屏接口 + */ + @PostMapping("/statisticsNew") + @Operation(summary = "服务详情数据", description = "服务详情数据") + public Result statisticsNew(@RequestBody StatisticsDTO dto) { + return Result.OK(tbUserHelpMacService.statisticsNew(dto)); + } + + /** + * 获取云坐席列表数据-24.09.19 新版大屏接口 + */ + @PostMapping("/phoneListNew") + @Operation(summary = "获取云坐席列表数据", description = "获取云坐席列表数据") + public Result getPhoneListNew(@RequestBody PhoneListDTO dto) { + return Result.ok(tbUserHelpMacService.getPhoneListNew(dto)); + } + + /** + * 一线医疗点每日工作动态-24.09.19 新版大屏接口 + */ + @PostMapping("/medicalCenterNew") + @Operation(summary = "一线医疗点每日工作动态", description = "一线医疗点每日工作动态") + public Result> medicalCenterNew(@RequestBody MedicalCenterDTO dto) { + return Result.ok(ycLargeScreenService.medicalCenterNew(dto)); + } + + /** + * 员工队伍健康状况数据-24.09.19 新版大屏接口 + */ + @PostMapping("/userHealthCenterNew") + @Operation(summary = "员工队伍健康状况数据", description = "员工队伍健康状况数据") + public Result userHealthCenterNew(@RequestBody UserHealthCenterDTO dto) { + return Result.ok(ycLargeScreenService.userHealthCenterNew(dto)); + } + + /** + * 获取所有资源-24.09.19 新版大屏接口 + */ + @PostMapping("/getAllListNew") + @Operation(summary = "获取所有资源", description = "获取所有资源") + public Result getAllListNew(@RequestBody ResourcesAllDTO dto) { + return Result.OK(tblAmbulanceGpsService.getAllListNew(dto)); + } + + @PostMapping("/healthRoomBase") + @Operation(summary = "健康小屋基础数据", description = "健康小屋基础数据") + public Result> healthRoomBase(@RequestBody HealthRoomBaseDTO dto){ + return Result.ok(largeScreenService.healthRoomBase(dto)); + } + + @PostMapping("/healthRoomDetail") + @Operation(summary = "健康小屋详情", description = "健康小屋详情") + public Result> healthRoomDetail(@RequestBody HealthRoomDTO dto){ + return Result.ok(largeScreenService.healthRoomDetail(dto)); + } + + @PostMapping("/medicalAbnormal") + @Operation(summary = "体检异常数据详情列表", description = "体检异常数据详情列表") + public Result> medicalAbnormal(@RequestBody MedicalAbnormalDTO dto){ + return Result.ok(largeScreenService.medicalAbnormal(dto)); + } + + @PostMapping("/healthWeightLoss") + @Operation(summary = "健康打卡减重详情列表", description = "健康打卡减重详情列表") + public Result> healthWeightLoss(@RequestBody HealthWeightLossDTO dto){ + return Result.ok(largeScreenService.healthWeightLoss(dto)); + } + + @PostMapping("/healthBloodSugar") + @Operation(summary = "健康打卡血糖详情列表", description = "健康打卡血糖详情列表") + public Result> healthBloodSugar(@RequestBody HealthBloodSugarDTO dto){ + return Result.ok(largeScreenService.healthBloodSugar(dto)); + } + + @PostMapping("/healthBloodPressure") + @Operation(summary = "健康打卡血压详情列表", description = "健康打卡血压详情列表") + public Result> healthBloodPressure(@RequestBody HealthBloodPressureDTO dto){ + return Result.ok(largeScreenService.healthBloodPressure(dto)); + } + + @PostMapping("/medicalPeopleNumStatistics") + @Operation(summary = "体检人数统计", description = "体检人数统计") + public Result> medicalPeopleNumStatistics(@RequestBody MedicalPeopleNumStatisticsDTO dto){ + return Result.ok(largeScreenService.medicalPeopleNumStatistics(dto)); + } + + @PostMapping("/medicalAbnormalStatistics") + @Operation(summary = "体检异常数据统计", description = "体检异常数据统计") + public Result> medicalAbnormalStatistics(@RequestBody MedicalAbnormalStatisticsDTO dto){ + return Result.ok(largeScreenService.medicalAbnormalStatistics(dto)); + } + + @PostMapping("/healthSign") + @Operation(summary = "健康打卡数据", description = "健康打卡数据") + public Result healthSign(HealthSignDTO dto){ + return Result.ok(largeScreenService.healthSign(dto)); + } + + @GetMapping("/hospital") + @Operation(summary = "医院数据", description = "医院数据") + public Result> hospital(){ + return Result.ok(largeScreenService.hospital()); + } + + +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/HealthBloodPressureDTO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/HealthBloodPressureDTO.java new file mode 100644 index 0000000..02fba83 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/HealthBloodPressureDTO.java @@ -0,0 +1,58 @@ +package com.renkang.emergency.largeScreen.entity.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +public class HealthBloodPressureDTO { + /** + * 单位名称 + */ + @Schema(title = "单位名称") + private String departName; + /** + * 员工姓名 + */ + @Schema(title = "员工姓名") + private String name; + /** + * 填报开始时间起 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "填报开始时间起") + private Date inputDateBegin; + /** + * 填报开始时间止 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "填报开始时间止") + private Date inputDateEnd; + + /** + * 异常标记 0:正常/1:异常/2:全部 + */ + @Schema(title = "异常标记 0:正常/1:异常/2:全部") + private String abFlag; + + /** + * 页码 从1开始 + */ + @Schema(title = "页码 从1开始") + private Integer pageNo; + /** + * 每页数量 + */ + @Schema(title = "每页数量") + private Integer pageSize; + + public HealthBloodPressureDTO() { + this.pageNo = 1; + this.pageSize = 10; + } +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/HealthBloodSugarDTO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/HealthBloodSugarDTO.java new file mode 100644 index 0000000..ac17658 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/HealthBloodSugarDTO.java @@ -0,0 +1,58 @@ +package com.renkang.emergency.largeScreen.entity.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +public class HealthBloodSugarDTO { + /** + * 单位名称 + */ + @Schema(title = "单位名称") + private String departName; + /** + * 员工姓名 + */ + @Schema(title = "员工姓名") + private String name; + /** + * 填报开始时间起 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "填报开始时间起") + private Date inputDateBegin; + /** + * 填报开始时间止 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "填报开始时间止") + private Date inputDateEnd; + + /** + * 异常标记 0:正常/1:异常/2:全部 + */ + @Schema(title = "异常标记 0:正常/1:异常/2:全部") + private String abFlag; + + /** + * 页码 从1开始 + */ + @Schema(title = "页码 从1开始") + private Integer pageNo; + /** + * 每页数量 + */ + @Schema(title = "每页数量") + private Integer pageSize; + + public HealthBloodSugarDTO() { + this.pageNo = 1; + this.pageSize = 10; + } +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/HealthRoomBaseDTO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/HealthRoomBaseDTO.java new file mode 100644 index 0000000..cfdcf09 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/HealthRoomBaseDTO.java @@ -0,0 +1,33 @@ +package com.renkang.emergency.largeScreen.entity.dto; + +import cn.hutool.core.date.DateUtil; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +public class HealthRoomBaseDTO { + /** + * 检查日期起期 参数为空时,默认为今年第一天,如:2025-01-01 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "检查日期起期 参数为空时,默认为今年第一天,如:2025-01-01") + private Date checkInDateBegin; + /** + * 检查日期止期 参数为空时,默认为今天 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "检查日期止期 参数为空时,默认为今天") + private Date checkInDateEnd; + + public HealthRoomBaseDTO() { + Date date = new Date(); + this.checkInDateBegin = DateUtil.beginOfYear(date); + this.checkInDateEnd = DateUtil.endOfDay(date); + } +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/HealthRoomDTO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/HealthRoomDTO.java new file mode 100644 index 0000000..50e11bf --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/HealthRoomDTO.java @@ -0,0 +1,67 @@ +package com.renkang.emergency.largeScreen.entity.dto; + +import cn.hutool.core.date.DateUtil; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.util.Date; + +@Data +public class HealthRoomDTO { + /** + * 健康小屋ID + */ + @Schema(title = "健康小屋ID") + @NotNull + private String healthRoomId; + /** + * 检查类型 11:BMI/21:收缩压/22:舒张压/31:血糖/41:低密度脂蛋白/42:总胆固醇/43:甘油三酯/51:尿酸/61:同型半胱氨酸 等等,缺失的可以继续加 + */ + @Schema(title = "检查类型 11:BMI/21:收缩压/22:舒张压/31:血糖/41:低密度脂蛋白/42:总胆固醇/43:甘油三酯/51:尿酸/61:同型半胱氨酸 等等,缺失的可以继续加") + private String checkType; + /** + * 员工姓名 + */ + @Schema(title = "员工姓名") + private String name; + /** + * 检查日期起期 参数为空时,默认为今年第一天,如:2025-01-01 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "检查日期起期 参数为空时,默认为今年第一天,如:2025-01-01") + private Date checkInDateBegin; + /** + * 检查日期止期 参数为空时,默认为今天 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "检查日期止期 参数为空时,默认为今天") + private Date checkInDateEnd; + /** + * 是否成功控降 是否成功空降,1:是/0.否 + */ + @Schema(title = "是否成功控降 是否成功空降,1:是/0.否") + private String successFlag; + /** + * 页码 从1开始 + */ + @Schema(title = "页码 从1开始") + private Integer pageNo; + /** + * 每页数量 + */ + @Schema(title = "每页数量") + private Integer pageSize; + + public HealthRoomDTO() { + Date date = new Date(); + this.checkInDateBegin = DateUtil.beginOfYear(date); + this.checkInDateEnd = DateUtil.endOfDay(date); + this.pageNo = 1; + this.pageSize = 10; + } +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/HealthSignDTO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/HealthSignDTO.java new file mode 100644 index 0000000..4fdc8a1 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/HealthSignDTO.java @@ -0,0 +1,39 @@ +package com.renkang.emergency.largeScreen.entity.dto; + +import cn.hutool.core.date.DateUtil; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +public class HealthSignDTO { + /** + * 数据类型 1.减重/2.血压/3.血糖 默认空则全部 + */ + @Schema(title = "数据类型 1.减重/2.血压/3.血糖 默认空则全部") + private String dataType; + /** + * 填报开始时间起 参数为空时,默认为当天 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "填报开始时间起 参数为空时,默认为当天") + private Date inputDateBegin; + /** + * 填报开始时间止 参数为空时,默认为当天 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "填报开始时间止 参数为空时,默认为当天") + private Date inputDateEnd; + + public HealthSignDTO() { + this.dataType = ""; + Date date = new Date(); + this.inputDateBegin = DateUtil.beginOfDay(date); + this.inputDateEnd = DateUtil.endOfDay(date); + } +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/HealthWeightLossDTO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/HealthWeightLossDTO.java new file mode 100644 index 0000000..ceb714b --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/HealthWeightLossDTO.java @@ -0,0 +1,58 @@ +package com.renkang.emergency.largeScreen.entity.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +public class HealthWeightLossDTO { + /** + * 单位名称 + */ + @Schema(title = "单位名称") + private String departName; + /** + * 员工姓名 + */ + @Schema(title = "员工姓名") + private String name; + /** + * 填报开始时间起 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "填报开始时间起") + private Date inputDateBegin; + /** + * 填报开始时间止 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "填报开始时间止") + private Date inputDateEnd; + + /** + * 异常标记 + */ + @Schema(title = "异常标记") + private String abFlag; + + /** + * 页码 从1开始 + */ + @Schema(title = "页码 从1开始") + private Integer pageNo; + /** + * 每页数量 + */ + @Schema(title = "每页数量") + private Integer pageSize; + + public HealthWeightLossDTO() { + this.pageNo = 1; + this.pageSize = 10; + } +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/MedicalAbnormalDTO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/MedicalAbnormalDTO.java new file mode 100644 index 0000000..92096eb --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/MedicalAbnormalDTO.java @@ -0,0 +1,60 @@ +package com.renkang.emergency.largeScreen.entity.dto; + +import cn.hutool.core.date.DateUtil; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.util.Date; + +@Data +public class MedicalAbnormalDTO { + /** + * 单位名称 + */ + private String departName; + /** + * 员工姓名 + */ + private String name; + /** + * 检查日期起期 参数为空时,默认为今年第一天,如:2025-01-01 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "检查日期起期 参数为空时,默认为今年第一天,如:2025-01-01") + private Date checkInDateBegin; + /** + * 检查日期止期 参数为空时,默认为今天 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "检查日期止期 参数为空时,默认为今天") + private Date checkInDateEnd; + /** + * 查询类型 1:心血管异常/2:脑血管异常/3:冠脉CT异常 + */ + @Schema(title = "查询类型 1:心血管异常/2:脑血管异常/3:冠脉CT异常") + @NotNull + private String queryType; + /** + * 页码 从1开始 + */ + @Schema(title = "页码 从1开始") + private Integer pageNo; + /** + * 每页数量 + */ + @Schema(title = "每页数量") + private Integer pageSize; + + public MedicalAbnormalDTO() { + Date date = new Date(); + this.checkInDateBegin = DateUtil.beginOfYear(date); + this.checkInDateEnd = DateUtil.endOfDay(date); + this.pageNo = 1; + this.pageSize = 10; + } +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/MedicalAbnormalStatisticsDTO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/MedicalAbnormalStatisticsDTO.java new file mode 100644 index 0000000..b50db68 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/MedicalAbnormalStatisticsDTO.java @@ -0,0 +1,33 @@ +package com.renkang.emergency.largeScreen.entity.dto; + +import cn.hutool.core.date.DateUtil; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +public class MedicalAbnormalStatisticsDTO { + /** + * 检查日期起期 参数为空时,默认为今年第一天 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "检查日期起期 参数为空时,默认为今年第一天") + private Date checkInDateBegin; + /** + * 检查日期止期 参数为空时,默认为今天 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "检查日期止期 参数为空时,默认为今天") + private Date checkInDateEnd; + + public MedicalAbnormalStatisticsDTO() { + Date date = new Date(); + this.checkInDateBegin = DateUtil.beginOfYear(date); + this.checkInDateEnd = DateUtil.endOfDay(date); + } +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/MedicalPeopleNumStatisticsDTO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/MedicalPeopleNumStatisticsDTO.java new file mode 100644 index 0000000..54cadb6 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/MedicalPeopleNumStatisticsDTO.java @@ -0,0 +1,15 @@ +package com.renkang.emergency.largeScreen.entity.dto; + +import cn.hutool.core.date.DateUtil; +import lombok.Data; + +import java.util.Date; + +@Data +public class MedicalPeopleNumStatisticsDTO { + private Integer medicalYear; + + public MedicalPeopleNumStatisticsDTO() { + this.medicalYear = DateUtil.year(new Date()); + } +} 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 new file mode 100644 index 0000000..231610f --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthBloodPressureVO.java @@ -0,0 +1,50 @@ +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.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +public class HealthBloodPressureVO { + /** + * 单位 + */ + @Schema(title = "单位") + private String departName; + /** + * 姓名 + */ + @Schema(title = "姓名") + private String name; + /** + * 收缩压 + */ + @Schema(title = "收缩压") + private String sbp; + /** + * 收缩压是否异常 1:是/0:否 + */ + @Schema(title = "收缩压是否异常 1:是/0:否") + private String sbpFlag; + /** + * 舒张压 + */ + @Schema(title = "舒张压") + private String dbp; + /** + * 舒张压是否异常 1:是/0:否 + */ + @Schema(title = "舒张压是否异常 1:是/0:否") + private String dbpFlag; + + /** + * 填报时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "填报时间") + private Date inputDate; +} 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 new file mode 100644 index 0000000..fe941da --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthBloodSugarVO.java @@ -0,0 +1,39 @@ +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.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +public class HealthBloodSugarVO { + /** + * 单位 + */ + @Schema(title = "单位") + private String departName; + /** + * 姓名 + */ + @Schema(title = "姓名") + private String name; + /** + * 血糖值 + */ + @Schema(title = "血糖值") + private String bsVal; + /** + * 血糖是否异常 1:是/0:否 + */ + @Schema(title = "血糖是否异常 1:是/0:否") + private String bmiFlag; + /** + * 填报时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "填报时间") + private Date inputDate; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthRoomBaseVO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthRoomBaseVO.java new file mode 100644 index 0000000..a49f683 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthRoomBaseVO.java @@ -0,0 +1,24 @@ +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.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +public class HealthRoomBaseVO { + private String id; + private String departName; + private String address; + private String lon; + private String lat; + /** + * 建设时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "建设时间") + private Date buildDate; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthRoomVO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthRoomVO.java new file mode 100644 index 0000000..47ef062 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthRoomVO.java @@ -0,0 +1,53 @@ +package com.renkang.emergency.largeScreen.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class HealthRoomVO { + /** + * 单位 + */ + @Schema(title = "单位") + private String departName; + /** + * 姓名 + */ + @Schema(title = "姓名") + private String name; + /** + * 检查日期 + */ + @Schema(title = "检查日期") + private String checkInDate; + /** + * 检查类型 11:BMI/21:收缩压/22:舒张压/31:血糖/41:低密度脂蛋白/42:总胆固醇/43:甘油三酯/51:尿酸/61:同型半胱氨酸 等等,缺失的可以继续加 + */ + @Schema(title = "检查类型 11:BMI/21:收缩压/22:舒张压/31:血糖/41:低密度脂蛋白/42:总胆固醇/43:甘油三酯/51:尿酸/61:同型半胱氨酸 等等,缺失的可以继续加") + private String checkType; + /** + * 去年体检值 前一年的体检值(初始值) + */ + @Schema(title = "去年体检值 前一年的体检值(初始值)") + private String lastVal; + /** + * 控降目标 一人一档(控降目标值) + */ + @Schema(title = "控降目标 一人一档(控降目标值") + private String goalVal; + /** + * 目前测量值 目前控降数值(可和健康打卡最新值一致) + */ + @Schema(title = "目前测量值 目前控降数值(可和健康打卡最新值一致)") + private String currentVal; + /** + * 控降差值 和控降目标对比 + */ + @Schema(title = "控降差值 和控降目标对比") + private String compareVal; + /** + * 是否成功空降,1:是/0.否 + */ + @Schema(title = "是否成功空降,1:是/0.否") + private String successFlag; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthSignDataVO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthSignDataVO.java new file mode 100644 index 0000000..e123ce2 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthSignDataVO.java @@ -0,0 +1,23 @@ +package com.renkang.emergency.largeScreen.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class HealthSignDataVO { + /** + * 数据类型 1.减重/2.血压/3.血糖 + */ + @Schema(title = "数据类型 1.减重/2.血压/3.血糖") + private String dataType; + /** + * 打卡总人数 + */ + @Schema(title = "打卡总人数") + private Integer totalCount; + /** + * 异常人数 + */ + @Schema(title = "异常人数") + private Integer abCount; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthSignVO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthSignVO.java new file mode 100644 index 0000000..f82c219 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthSignVO.java @@ -0,0 +1,70 @@ +package com.renkang.emergency.largeScreen.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class HealthSignVO { + /** + * 减重今日打卡人数 + */ + @Schema(title = "减重今日打卡人数") + private Integer weightLossCountDay; + /** + * 减重本月打卡人数 + */ + @Schema(title = "减重本月打卡人数") + private Integer weightLossCountMonth; + /** + * 减重今日异常人数 + */ + @Schema(title = "减重今日异常人数") + private Integer weightLossAbnormalCountDay; + /** + * 减重本月异常人数 + */ + @Schema(title = "减重本月异常人数") + private Integer weightLossAbnormalCountMonth; + + /** + * 血糖今日打卡人数 + */ + @Schema(title = "血糖今日打卡人数") + private Integer bloodSugarCountDay; + /** + * 血糖本月打卡人数 + */ + @Schema(title = "血糖本月打卡人数") + private Integer bloodSugarCountMonth; + /** + * 血糖今日异常人数 + */ + @Schema(title = "血糖今日异常人数") + private Integer bloodSugarAbnormalCountDay; + /** + * 血糖本月异常人数 + */ + @Schema(title = "血糖本月异常人数") + private Integer bloodSugarAbnormalCountMonth; + + /** + * 血压今日打卡人数 + */ + @Schema(title = "血压今日打卡人数") + private Integer bloodPressureCountDay; + /** + * 血压本月打卡人数 + */ + @Schema(title = "血压本月打卡人数") + private Integer bloodPressureCountMonth; + /** + * 血压今日异常人数 + */ + @Schema(title = "血压今日异常人数") + private Integer bloodPressureAbnormalCountDay; + /** + * 血压本月异常人数 + */ + @Schema(title = "血压本月异常人数") + private Integer bloodPressureAbnormalCountMonth; +} 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 new file mode 100644 index 0000000..d26f1ac --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthWeightLossVO.java @@ -0,0 +1,54 @@ +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.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +public class HealthWeightLossVO { + /** + * 单位 + */ + @Schema(title = "单位") + private String departName; + /** + * 姓名 + */ + @Schema(title = "姓名") + private String name; + /** + * 腰围(CM) + */ + @Schema(title = "腰围(CM)") + private String waist; + /** + * 身高(M) + */ + @Schema(title = "身高(M)") + private String height; + /** + * 体重(KG) + */ + @Schema(title = "体重(KG)") + private String weight; + /** + * BMI + */ + @Schema(title = "BMI") + private String bmi; + /** + * BMI是否异常 1:是/0:否 + */ + @Schema(title = "BMI是否异常 1:是/0:否") + private String bmiFlag; + /** + * 填报时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "填报时间") + private Date inputDate; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HospitalVO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HospitalVO.java new file mode 100644 index 0000000..6aeec40 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HospitalVO.java @@ -0,0 +1,44 @@ +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.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +public class HospitalVO { + /** + * 医院名字 + */ + @Schema(title = "医院名字") + private String hospitalName; + /** + * 别名 + */ + @Schema(title = "别名") + private String alias; + /** + * 地点 + */ + @Schema(title = "地点") + private String address; + /** + * 经度 + */ + @Schema(title = "经度") + private String lon; + /** + * 纬度 + */ + @Schema(title = "纬度") + private String lat; + /** + * 签约时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Schema(title = "签约时间") + private Date contractDate; +} diff --git a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/vo/LargeScreenMap.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/LargeScreenMap.java similarity index 94% rename from health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/vo/LargeScreenMap.java rename to health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/LargeScreenMap.java index 6e1923d..eb080bb 100644 --- a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/entity/vo/LargeScreenMap.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/LargeScreenMap.java @@ -1,4 +1,4 @@ -package com.renkang.emergency.entity.vo; +package com.renkang.emergency.largeScreen.entity.vo; import com.renkang.emergency.entity.EmergencyHealthRoom; import com.renkang.emergency.entity.Resource; diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/MedicalAbnormalStatisticsVO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/MedicalAbnormalStatisticsVO.java new file mode 100644 index 0000000..6ccd6fd --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/MedicalAbnormalStatisticsVO.java @@ -0,0 +1,17 @@ +package com.renkang.emergency.largeScreen.entity.vo; + +import cn.hutool.core.date.DateUtil; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +public class MedicalAbnormalStatisticsVO { + private Integer totalCount; + private Integer cardiovaAbCount; + private Integer cerebrovAbCount; + private Integer cctaAbCount; +} 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 new file mode 100644 index 0000000..914ae58 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/MedicalAbnormalVO.java @@ -0,0 +1,28 @@ +package com.renkang.emergency.largeScreen.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class MedicalAbnormalVO { + /** + * 单位 + */ + @Schema(title = "单位") + private String departName; + /** + * 姓名 + */ + @Schema(title = "姓名") + private String name; + /** + * 体检医院 + */ + @Schema(title = "体检医院") + private String hospitalName; + /** + * 检查日期 + */ + @Schema(title = "检查日期") + private String checkInDate; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/MedicalPeopleNumStatisticsVO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/MedicalPeopleNumStatisticsVO.java new file mode 100644 index 0000000..74f0d31 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/MedicalPeopleNumStatisticsVO.java @@ -0,0 +1,23 @@ +package com.renkang.emergency.largeScreen.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class MedicalPeopleNumStatisticsVO { + /** + * 医院名称 + */ + @Schema(title = "医院名称") + private String hospitalName; + /** + * 已参检人数 + */ + @Schema(title = "已参检人数") + private Integer checkedCount; + /** + * 应检人数 (可能无法提供 先冗余) + */ + @Schema(title = "应检人数 (可能无法提供 先冗余)") + private Integer totalCount; +} 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/largeScreen/mapper/LargeScreenMapper.java similarity index 60% rename from health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/LargeScreenMapper.java rename to health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/mapper/LargeScreenMapper.java index 6255d37..21f9764 100644 --- 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/largeScreen/mapper/LargeScreenMapper.java @@ -1,8 +1,7 @@ -package com.renkang.emergency.mapper; +package com.renkang.emergency.largeScreen.mapper; import com.github.yulichang.base.MPJBaseMapper; -import com.renkang.emergency.entity.EmergencyHealthRoom; -import com.renkang.emergency.entity.vo.LargeScreenMap; +import com.renkang.emergency.largeScreen.entity.vo.LargeScreenMap; /** * @Description: large_screen diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/ILargeScreenService.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/ILargeScreenService.java new file mode 100644 index 0000000..97319d0 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/ILargeScreenService.java @@ -0,0 +1,41 @@ +package com.renkang.emergency.largeScreen.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.renkang.emergency.largeScreen.entity.dto.*; +import com.renkang.emergency.largeScreen.entity.vo.*; + +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); + + List healthRoomBase(HealthRoomBaseDTO dto); + + IPage healthRoomDetail(HealthRoomDTO dto); + + IPage medicalAbnormal(MedicalAbnormalDTO dto); + + IPage healthWeightLoss(HealthWeightLossDTO dto); + + IPage healthBloodSugar(HealthBloodSugarDTO dto); + + IPage healthBloodPressure(HealthBloodPressureDTO dto); + + List medicalPeopleNumStatistics(MedicalPeopleNumStatisticsDTO dto); + + List medicalAbnormalStatistics(MedicalAbnormalStatisticsDTO dto); + + HealthSignVO healthSign(HealthSignDTO dto); + + List hospital(); + + void runJob(); +} 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 new file mode 100644 index 0000000..b775037 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/impl/LargeScreenServiceImpl.java @@ -0,0 +1,162 @@ +package com.renkang.emergency.largeScreen.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.renkang.emergency.entity.EmergencyHealthRoom; +import com.renkang.emergency.entity.Resource; +import com.renkang.emergency.largeScreen.entity.dto.*; +import com.renkang.emergency.largeScreen.entity.vo.*; +import com.renkang.emergency.largeScreen.mapper.LargeScreenMapper; +import com.renkang.emergency.service.IEmergencyHealthRoomService; +import com.renkang.emergency.largeScreen.service.ILargeScreenService; +import com.renkang.emergency.service.IResourceService; +import lombok.RequiredArgsConstructor; +import org.jeecg.util.RedisClientUtil; +import org.jeecg.util.RedisKeyPrefix; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +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 RedisKeyPrefix MEDICAL = new RedisKeyPrefix(-1, "emergency:"); + private final String MEDICAL_PEOPLE_NUM_STATISTICS = "medicalPeopleNumStatistics"; + private final String MEDICAL_ABNORMAL_STATISTICS = "medicalAbnormalStatistics"; + private final String HEALTH_SIGN = "healthSign"; + private final IResourceService resourceService; + private final IEmergencyHealthRoomService roomService; + private final RedisClientUtil redisClientUtil; + + @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; + } + + @Override + public List healthRoomBase(HealthRoomBaseDTO dto){ + // 查询第三方接口返回 此接口返回对象跟原有可能不太一样 要注意 + return null; + } + + @Override + public IPage healthRoomDetail(HealthRoomDTO dto){ + // 查询第三方接口返回 + return null; + } + + @Override + public IPage medicalAbnormal (MedicalAbnormalDTO dto){ + // 查询第三方接口返回 + return null; + } + + @Override + public IPage healthWeightLoss (HealthWeightLossDTO dto){ + // 查询第三方接口返回 + return null; + } + + @Override + public IPage healthBloodSugar (HealthBloodSugarDTO dto){ + // 查询第三方接口返回 + return null; + } + + @Override + public IPage healthBloodPressure (HealthBloodPressureDTO dto){ + // 查询第三方接口返回 + return null; + } + + @Override + public List hospital(){ + // 查询第三方接口返回 + return null; + } + + @Override + public List medicalPeopleNumStatistics (MedicalPeopleNumStatisticsDTO dto){ + List list = redisClientUtil.getList(MEDICAL,MEDICAL_PEOPLE_NUM_STATISTICS,MedicalPeopleNumStatisticsVO.class); + if (CollUtil.isEmpty(list)){ + return new ArrayList<>(); + } + return list; + } + + @Override + public List medicalAbnormalStatistics (MedicalAbnormalStatisticsDTO dto){ + List list = redisClientUtil.getList(MEDICAL,MEDICAL_ABNORMAL_STATISTICS,MedicalAbnormalStatisticsVO.class); + if (CollUtil.isEmpty(list)){ + return new ArrayList<>(); + } + return list; + } + + @Override + public HealthSignVO healthSign (HealthSignDTO dto){ + HealthSignVO vo = redisClientUtil.get(MEDICAL,HEALTH_SIGN,HealthSignVO.class); + if (null == vo){ + return new HealthSignVO(); + } + return vo; + } + + @Override + public void runJob(){ + // 体检人数统计查询 + List medicalPeopleNumStatisticsList = new ArrayList<>(); + redisClientUtil.set(MEDICAL,MEDICAL_PEOPLE_NUM_STATISTICS,medicalPeopleNumStatisticsList); + + // 体检异常数据查询 + List medicalAbnormalStatisticsList = new ArrayList<>(); + redisClientUtil.set(MEDICAL,MEDICAL_ABNORMAL_STATISTICS,medicalAbnormalStatisticsList); + + // 减重 健康打卡数据今日查询 + HealthSignDataVO weightLossDay = new HealthSignDataVO(); + // 减重 健康打卡数据本月查询 + HealthSignDataVO weightLossMonth = new HealthSignDataVO(); + + // 血压 健康打卡数据今日查询 + HealthSignDataVO bloodPressureDay = new HealthSignDataVO(); + // 血压 健康打卡数据本月查询 + HealthSignDataVO bloodPressureMonth = new HealthSignDataVO(); + + // 血糖 健康打卡数据今日查询 + HealthSignDataVO bloodSugarDay = new HealthSignDataVO(); + // 血糖 健康打卡数据本月查询 + HealthSignDataVO bloodSugarMonth = new HealthSignDataVO(); + + // 减重 血压 血糖 三种数据整合存 + HealthSignVO healthSign = new HealthSignVO(); + redisClientUtil.set(MEDICAL,HEALTH_SIGN,healthSign); + } +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/task/LargeScreenJob.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/task/LargeScreenJob.java new file mode 100644 index 0000000..3a0056c --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/task/LargeScreenJob.java @@ -0,0 +1,19 @@ +package com.renkang.emergency.largeScreen.task; + +import com.renkang.emergency.largeScreen.service.ILargeScreenService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +@Component +@Slf4j +@RequiredArgsConstructor +public class LargeScreenJob { + private final ILargeScreenService largeScreenService; + + public void largeScreen() { + log.info("========开始缓存大屏数据========"); + largeScreenService.runJob(); + log.info("========结束缓存大屏数据========"); + } +} 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 deleted file mode 100644 index 177b4d5..0000000 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/ILargeScreenService.java +++ /dev/null @@ -1,18 +0,0 @@ -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/LargeScreenServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/impl/LargeScreenServiceImpl.java deleted file mode 100644 index 0e024e9..0000000 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/impl/LargeScreenServiceImpl.java +++ /dev/null @@ -1,59 +0,0 @@ -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; - } -}