Commit 9114b029 by 朱淼
parents 87a6fc7e 6df9701a
Showing with 914 additions and 154 deletions
...@@ -293,13 +293,13 @@ CREATE TABLE `plat_elder_sleep` ...@@ -293,13 +293,13 @@ CREATE TABLE `plat_elder_sleep`
`elder_id` VARCHAR(64) NOT NULL COMMENT '长者id', `elder_id` VARCHAR(64) NOT NULL COMMENT '长者id',
`start_sleep` datetime DEFAULT NULL COMMENT '入睡时间', `start_sleep` datetime DEFAULT NULL COMMENT '入睡时间',
`end_sleep` datetime DEFAULT NULL COMMENT '起床时间', `end_sleep` datetime DEFAULT NULL COMMENT '起床时间',
`current_date` VARCHAR(64) DEFAULT NULL COMMENT '当前日期 yyyy-mm-dd', `happen_date` VARCHAR(64) DEFAULT NULL COMMENT '当前日期 yyyy-mm-dd',
`sleep_record` text DEFAULT NULL COMMENT '睡眠记录 区分时间段记录 [{"sleepType":"","startTime":"","endTime":""},{}]', `sleep_record` text DEFAULT NULL COMMENT '睡眠记录 区分时间段记录 [{"sleepType":"","startTime":"","endTime":""},{}]',
`create_date` datetime NOT NULL COMMENT '创建时间', `create_date` datetime DEFAULT NULL COMMENT '创建时间',
`update_date` datetime NOT NULL COMMENT '更新时间', `update_date` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` CHAR(1) DEFAULT NULL COMMENT '删除标识', `del_flag` CHAR(1) DEFAULT NULL COMMENT '删除标识',
`create_by` VARCHAR(64) NOT NULL COMMENT '创建人', `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建人',
`update_by` VARCHAR(64) NOT NULL COMMENT '更新人', `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新人',
`tenant_id` VARCHAR(64) DEFAULT NULL COMMENT '租户id', `tenant_id` VARCHAR(64) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `index_elder_id` (`elder_id`) USING BTREE KEY `index_elder_id` (`elder_id`) USING BTREE
...@@ -316,12 +316,12 @@ CREATE TABLE `plat_elder_sleep_analysis` ...@@ -316,12 +316,12 @@ CREATE TABLE `plat_elder_sleep_analysis`
`sleep_time` VARCHAR(64) DEFAULT NULL COMMENT '睡眠时长', `sleep_time` VARCHAR(64) DEFAULT NULL COMMENT '睡眠时长',
`rest_time` VARCHAR(64) DEFAULT NULL COMMENT '休息时长', `rest_time` VARCHAR(64) DEFAULT NULL COMMENT '休息时长',
`sleep_evaluate` VARCHAR(64) DEFAULT NULL COMMENT '评价', `sleep_evaluate` VARCHAR(64) DEFAULT NULL COMMENT '评价',
`current_date` VARCHAR(64) DEFAULT NULL COMMENT '当前日期 yyyy-mm-dd', `happen_date` VARCHAR(64) DEFAULT NULL COMMENT '当前日期 yyyy-mm-dd',
`create_date` datetime NOT NULL COMMENT '创建时间', `create_date` datetime DEFAULT NULL COMMENT '创建时间',
`update_date` datetime NOT NULL COMMENT '更新时间', `update_date` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` CHAR(1) DEFAULT NULL COMMENT '删除标识', `del_flag` CHAR(1) DEFAULT NULL COMMENT '删除标识',
`create_by` VARCHAR(64) NOT NULL COMMENT '创建人', `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建人',
`update_by` VARCHAR(64) NOT NULL COMMENT '更新人', `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新人',
`tenant_id` VARCHAR(64) DEFAULT NULL COMMENT '租户id', `tenant_id` VARCHAR(64) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `index_elder_id` (`elder_id`) USING BTREE KEY `index_elder_id` (`elder_id`) USING BTREE
...@@ -336,11 +336,11 @@ CREATE TABLE `plat_elder_breathe_abnormal` ( ...@@ -336,11 +336,11 @@ CREATE TABLE `plat_elder_breathe_abnormal` (
`happen_time` datetime NOT NULL COMMENT '发生时间', `happen_time` datetime NOT NULL COMMENT '发生时间',
`type` varchar(32) DEFAULT NULL COMMENT '异常类型', `type` varchar(32) DEFAULT NULL COMMENT '异常类型',
`value` varchar(64) DEFAULT NULL COMMENT '值', `value` varchar(64) DEFAULT NULL COMMENT '值',
`create_date` datetime NOT NULL COMMENT '创建时间', `create_date` datetime DEFAULT NULL COMMENT '创建时间',
`update_date` datetime NOT NULL COMMENT '更新时间', `update_date` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` char(1) DEFAULT NULL COMMENT '删除标识', `del_flag` char(1) DEFAULT NULL COMMENT '删除标识',
`create_by` varchar(64) NOT NULL COMMENT '创建人', `create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(64) NOT NULL COMMENT '更新人', `update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
`tenant_id` varchar(64) DEFAULT NULL COMMENT '租户id', `tenant_id` varchar(64) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `index_elder_id` (`elder_id`) USING BTREE KEY `index_elder_id` (`elder_id`) USING BTREE
...@@ -354,12 +354,12 @@ CREATE TABLE `plat_elder_breathe_analysis` ( ...@@ -354,12 +354,12 @@ CREATE TABLE `plat_elder_breathe_analysis` (
`breathe_evaluate` varchar(64) DEFAULT NULL COMMENT '评价', `breathe_evaluate` varchar(64) DEFAULT NULL COMMENT '评价',
`avg_heart_rate` varchar(64) DEFAULT NULL COMMENT '平均心率', `avg_heart_rate` varchar(64) DEFAULT NULL COMMENT '平均心率',
`avg_breathe_rate` varchar(64) DEFAULT NULL COMMENT '平均呼吸率', `avg_breathe_rate` varchar(64) DEFAULT NULL COMMENT '平均呼吸率',
`current_date` varchar(64) DEFAULT NULL COMMENT '当前日期 yyyy-mm-dd', `happen_date` varchar(64) DEFAULT NULL COMMENT '当前日期 yyyy-mm-dd',
`create_date` datetime NOT NULL COMMENT '创建时间', `create_date` datetime DEFAULT NULL COMMENT '创建时间',
`update_date` datetime NOT NULL COMMENT '更新时间', `update_date` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` char(1) DEFAULT NULL COMMENT '删除标识', `del_flag` char(1) DEFAULT NULL COMMENT '删除标识',
`create_by` varchar(64) NOT NULL COMMENT '创建人', `create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(64) NOT NULL COMMENT '更新人', `update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
`tenant_id` varchar(64) DEFAULT NULL COMMENT '租户id', `tenant_id` varchar(64) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `index_elder_id` (`elder_id`) USING BTREE KEY `index_elder_id` (`elder_id`) USING BTREE
...@@ -386,3 +386,30 @@ CREATE TABLE `plat_elder_report_month` ...@@ -386,3 +386,30 @@ CREATE TABLE `plat_elder_report_month`
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE = InnoDB ) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='长者月报'; DEFAULT CHARSET = utf8mb4 COMMENT ='长者月报';
ALTER TABLE `dev_iot_yanglao_platform`.`plat_elder_sleep_analysis`
ADD COLUMN `action_count` int(4) COMMENT '体动次数' AFTER `happen_date`,
ADD COLUMN `turned_count` int(4) COMMENT '翻身次数' AFTER `action_count`;
CREATE TABLE `plat_elder_breathe_day_stat`
(
`id` varchar(64) NOT NULL COMMENT 'id',
`elder_id` VARCHAR(64) NULL COMMENT '长者id',
device_id varchar(64) NULL COMMENT '设备id',
ori_device_id varchar(64) NULL COMMENT '原始设备id',
day date NOT NULL COMMENT '日期',
heart_rate_max int NULL COMMENT '心率最大值',
heart_rate_min int NULL COMMENT '心率最小值',
heart_rate_avg int NULL COMMENT '心率平均值',
respiratory_rate_max int NULL COMMENT '呼吸率最大值',
respiratory_rate_min int NULL COMMENT '呼吸率最小值',
respiratory_rate_avg int NULL COMMENT '呼吸率平均值',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_date` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_date` datetime DEFAULT NULL COMMENT '更新时间',
del_flag char(1) not null comment ' 删除标志 0否 1是 ',
`tenant_id` varchar(64) DEFAULT NULL COMMENT ' 租户id ',
PRIMARY KEY (`id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='长者呼吸心率日统计';
...@@ -9,12 +9,7 @@ import com.makeit.global.aspect.tenant.TenantIdIgnore; ...@@ -9,12 +9,7 @@ import com.makeit.global.aspect.tenant.TenantIdIgnore;
import com.makeit.service.platform.elder.PlatElderDayReportDayService; import com.makeit.service.platform.elder.PlatElderDayReportDayService;
import com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO; import com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO;
import com.makeit.vo.platform.elder.realtime.PlatElderRealTimeHeartRespiratoryVO; import com.makeit.vo.platform.elder.realtime.PlatElderRealTimeHeartRespiratoryVO;
import com.makeit.vo.platform.elder.report.day.PlatElderBehaviorDistributionVO; import com.makeit.vo.platform.elder.report.day.*;
import com.makeit.vo.platform.elder.report.day.PlatElderBehaviorExceptionRecordVO;
import com.makeit.vo.platform.elder.report.day.PlatElderHeartRespiratoryEvaluationRecordVO;
import com.makeit.vo.platform.elder.report.day.PlatElderHeartRespiratoryEvaluationVO;
import com.makeit.vo.platform.elder.report.day.PlatElderSleepDiagramVO;
import com.makeit.vo.platform.elder.report.day.PlatElderSleepEvaluationVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -86,15 +81,15 @@ public class SaasDeviceReportDayController { ...@@ -86,15 +81,15 @@ public class SaasDeviceReportDayController {
@ApiOperation("行为异常记录") @ApiOperation("行为异常记录")
@PostMapping("behaviorExceptionRecordList") @PostMapping("behaviorExceptionRecordList")
@TenantIdIgnore @TenantIdIgnore
public ApiResponseEntity<List<PlatElderBehaviorExceptionRecordVO>> behaviorExceptionRecordList(@RequestBody PlatElderIdDTO platElderIdDTO) { public ApiResponseEntity<List<PlatElderBehaviorExceptionRecordVO>> behaviorExceptionRecordList(@RequestBody PlatElderReportDTO platElderIdDTO) {
return null; return ApiResponseUtils.success(platElderDayReportDayService.behaviorExceptionRecordList(platElderIdDTO));
} }
@ApiOperation("跌倒记录") @ApiOperation("跌倒记录")
@PostMapping("failRecordList") @PostMapping("failRecordList")
@TenantIdIgnore @TenantIdIgnore
public ApiResponseEntity<List<String>> failRecordList(@RequestBody PlatElderIdDTO platElderIdDTO) { public ApiResponseEntity<List<String>> failRecordList(@RequestBody PlatElderReportDTO platElderIdDTO) {
return null; return ApiResponseUtils.success(platElderDayReportDayService.failRecordList(platElderIdDTO));
} }
@ApiOperation("坐标记录") @ApiOperation("坐标记录")
...@@ -107,8 +102,8 @@ public class SaasDeviceReportDayController { ...@@ -107,8 +102,8 @@ public class SaasDeviceReportDayController {
@ApiOperation("行为辐射") @ApiOperation("行为辐射")
@PostMapping("behaviorDistribution") @PostMapping("behaviorDistribution")
@TenantIdIgnore @TenantIdIgnore
public ApiResponseEntity<List<PlatElderBehaviorDistributionVO>> behaviorDistribution(@RequestBody PlatElderIdDTO platElderIdDTO) { public ApiResponseEntity<List<PlatElderBehaviorDistributionVO>> behaviorDistribution(@RequestBody PlatElderReportDTO platElderIdDTO) {
return null; return ApiResponseUtils.success(platElderDayReportDayService.behaviorDistribution(platElderIdDTO));
} }
} }
......
...@@ -51,9 +51,10 @@ public class SaasPlatUserController { ...@@ -51,9 +51,10 @@ public class SaasPlatUserController {
} }
@Action(module = "saas端-租户账号", name = "列表", code = "saas.plat.user.listTenant") @Action(module = "saas端-租户账号", name = "列表", code = "saas.plat.user.listTenant")
@ApiOperation("列表") @ApiOperation("列表-未关联租户")
@PostMapping("listTenant") @PostMapping("listTenant")
public ApiResponseEntity<List<PlatUserDTOVO>> listTenant(@RequestBody PlatUserQueryDTO dto){ public ApiResponseEntity<List<PlatUserDTOVO>> listTenant(@RequestBody PlatUserQueryDTO dto){
dto.setLinkTenant(CommonEnum.NO.getValue());
return ApiResponseUtils.success(platUserService.listTenant(dto)); return ApiResponseUtils.success(platUserService.listTenant(dto));
} }
......
...@@ -157,6 +157,7 @@ ...@@ -157,6 +157,7 @@
<orderEntry type="library" name="Maven: org.springframework.integration:spring-integration-core:5.5.5" level="project" /> <orderEntry type="library" name="Maven: org.springframework.integration:spring-integration-core:5.5.5" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-messaging:5.3.12" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-messaging:5.3.12" level="project" />
<orderEntry type="library" name="Maven: org.springframework.retry:spring-retry:1.3.1" level="project" /> <orderEntry type="library" name="Maven: org.springframework.retry:spring-retry:1.3.1" level="project" />
<orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.integration:spring-integration-mqtt:5.5.5" level="project" /> <orderEntry type="library" name="Maven: org.springframework.integration:spring-integration-mqtt:5.5.5" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5" level="project" /> <orderEntry type="library" name="Maven: org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:dysmsapi20170525:2.0.9" level="project" /> <orderEntry type="library" name="Maven: com.aliyun:dysmsapi20170525:2.0.9" level="project" />
...@@ -183,7 +184,6 @@ ...@@ -183,7 +184,6 @@
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:5.2.2" level="project" /> <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:5.2.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-lite:5.2.2" level="project" /> <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-lite:5.2.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:5.0.3" level="project" /> <orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:5.0.3" level="project" />
<orderEntry type="library" name="Maven: xml-apis:xml-apis:1.4.01" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-compress:1.21" level="project" /> <orderEntry type="library" name="Maven: org.apache.commons:commons-compress:1.21" level="project" />
<orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.07" level="project" /> <orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.07" level="project" />
<orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.3.5" level="project" /> <orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.3.5" level="project" />
...@@ -205,6 +205,7 @@ ...@@ -205,6 +205,7 @@
<orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-bridge:1.14" level="project" /> <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-bridge:1.14" level="project" />
<orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-script:1.14" level="project" /> <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-script:1.14" level="project" />
<orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-dom:1.14" level="project" /> <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-dom:1.14" level="project" />
<orderEntry type="library" name="Maven: xml-apis:xml-apis:1.4.01" level="project" />
<orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-gvt:1.14" level="project" /> <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-gvt:1.14" level="project" />
<orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-shared-resources:1.14" level="project" /> <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-shared-resources:1.14" level="project" />
<orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-svggen:1.14" level="project" /> <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-svggen:1.14" level="project" />
......
...@@ -29,6 +29,7 @@ public enum CodeMessageEnum { ...@@ -29,6 +29,7 @@ public enum CodeMessageEnum {
SYSTEM_ERROR_NAME_DUPLICATE(500, "SYSTEM.ERROR.NAME.DUPLICATE"), SYSTEM_ERROR_NAME_DUPLICATE(500, "SYSTEM.ERROR.NAME.DUPLICATE"),
SYSTEM_ERROR_NAME_ENG_DUPLICATE(500, "SYSTEM.ERROR.NAME.ENG.DUPLICATE"), SYSTEM_ERROR_NAME_ENG_DUPLICATE(500, "SYSTEM.ERROR.NAME.ENG.DUPLICATE"),
SYSTEM_ERROR_CODE_DUPLICATE(500, "SYSTEM.ERROR.CODE.DUPLICATE"), SYSTEM_ERROR_CODE_DUPLICATE(500, "SYSTEM.ERROR.CODE.DUPLICATE"),
SYSTEM_ERROR_TENANT_CODE_DUPLICATE(500, "SYSTEM.ERROR.TENANT.CODE.DUPLICATE"),
SYSTEM_ERROR_DICT_VALUE_DUPLICATE(500, "SYSTEM.ERROR.DICT.VALUE.DUPLICATE"), SYSTEM_ERROR_DICT_VALUE_DUPLICATE(500, "SYSTEM.ERROR.DICT.VALUE.DUPLICATE"),
SYSTEM_ERROR_DICT_NOT_EXIST(500, "SYSTEM.ERROR.DICT.NOT.EXIST"), SYSTEM_ERROR_DICT_NOT_EXIST(500, "SYSTEM.ERROR.DICT.NOT.EXIST"),
...@@ -110,6 +111,8 @@ public enum CodeMessageEnum { ...@@ -110,6 +111,8 @@ public enum CodeMessageEnum {
SYSTEM_ERROR_TENANT_NOT_EXIST(510, "SYSTEM.ERROR.TENANT.NOT.EXIST"), SYSTEM_ERROR_TENANT_NOT_EXIST(510, "SYSTEM.ERROR.TENANT.NOT.EXIST"),
SYSTEM_ERROR_ROLE_ADMIN_CANT_ADD(500, "SYSTEM.ERROR.ROLE.ADMIN.CANT.ADD"), SYSTEM_ERROR_ROLE_ADMIN_CANT_ADD(500, "SYSTEM.ERROR.ROLE.ADMIN.CANT.ADD"),
SYSTEM_ERROR_ROLE_ADMIN_CANT_EDIT(500, "SYSTEM.ERROR.ROLE.ADMIN.CANT.EDIT"), SYSTEM_ERROR_ROLE_ADMIN_CANT_EDIT(500, "SYSTEM.ERROR.ROLE.ADMIN.CANT.EDIT"),
SYSTEM_ERROR_TENANT_FORBIDDEN(500, "SYSTEM.ERROR.TENANT.FORBIDDEN"),
SYSTEM_ERROR_ORG_FORBIDDEN(500, "SYSTEM.ERROR.ORG.FORBIDDEN"),
PLATFORM_ERROR_ALARM_NOT_FOUND_SPACE(500,"PLATFORM.ERROR.ALARM.NOT.FOUND.SPACE"), PLATFORM_ERROR_ALARM_NOT_FOUND_SPACE(500,"PLATFORM.ERROR.ALARM.NOT.FOUND.SPACE"),
......
...@@ -54,4 +54,10 @@ public class PlatTenantDTOVO extends BaseIdDTO { ...@@ -54,4 +54,10 @@ public class PlatTenantDTOVO extends BaseIdDTO {
@ApiModelProperty(value = "菜单id集合") @ApiModelProperty(value = "菜单id集合")
private List<String> menuIdList; private List<String> menuIdList;
@ApiModelProperty(value = "租户标识")
private String code;
@ApiModelProperty(value = "租户平台地址")
private String url;
} }
...@@ -26,27 +26,15 @@ public class PlatUserQueryDTO extends BaseOrgDTO { ...@@ -26,27 +26,15 @@ public class PlatUserQueryDTO extends BaseOrgDTO {
@ApiModelProperty(value = "状态 0禁用 1启用") @ApiModelProperty(value = "状态 0禁用 1启用")
private String status; private String status;
@ApiModelProperty(value = "邮箱")
private String email;
@ApiModelProperty(value = "角色id roleId和notRoleId只能用一个") @ApiModelProperty(value = "角色id roleId和notRoleId只能用一个")
private String roleId; private String roleId;
@ApiModelProperty(value = "要排除的角色id roleId和notRoleId只能用一个") @ApiModelProperty(value = "要排除的角色id roleId和notRoleId只能用一个")
private String notRoleId; private String notRoleId;
// @ApiModelProperty(value = "关键词 用来搜姓名或者工号")
// private String keyword;
//
// @ApiModelProperty(value = "职级")
// private Integer postLevel;
//
// @ApiModelProperty(value = "是否从酒店开始 0否 1是")
// private String fromHotel;
//
// @ApiModelProperty(value = "是否常用人员 0否 1是")
// private String isFrequent;
//
// @ApiModelProperty(value = "标签id")
// private String labelId;
@ApiModelProperty(value = "用户工号集合") @ApiModelProperty(value = "用户工号集合")
private List<String> accountList; private List<String> accountList;
...@@ -62,4 +50,7 @@ public class PlatUserQueryDTO extends BaseOrgDTO { ...@@ -62,4 +50,7 @@ public class PlatUserQueryDTO extends BaseOrgDTO {
@ApiModelProperty(value = "部门id集合") @ApiModelProperty(value = "部门id集合")
private List<String> orgIdList; private List<String> orgIdList;
@ApiModelProperty(value = "已关联租户 0-未关联 1-已关联")
private String linkTenant;
} }
...@@ -28,7 +28,7 @@ public class PlatTenantVO extends BaseIdDTO implements Serializable { ...@@ -28,7 +28,7 @@ public class PlatTenantVO extends BaseIdDTO implements Serializable {
private LocalDate endTime; private LocalDate endTime;
@ApiModelProperty(value = "租户管理员id") @ApiModelProperty(value = "租户管理员id")
private String tntUserId; private String platUserId;
@ApiModelProperty(value = "租户管理员账号") @ApiModelProperty(value = "租户管理员账号")
private String userAccount; private String userAccount;
......
package com.makeit.module.iot.enums;
import com.makeit.enums.BaseEnum;
import com.makeit.utils.sys.SysDictUtil;
public class DeviceInfoContentFallEnum {
public enum PersonStateEnum {
NOBODY(0, "无人"),//0
FALL(1, "跌倒");//3
private Integer value;
private String name;
PersonStateEnum(Integer value, String name) {
this.value = value;
this.name = name;
}
public Integer getValue() {
return value;
}
public String getName() {
return name;
}
}
}
...@@ -150,9 +150,9 @@ public class IotProductDeviceService extends IotCommonService { ...@@ -150,9 +150,9 @@ public class IotProductDeviceService extends IotCommonService {
List<DeviceOperationLogEntity> deviceOperationLogEntityList = getDeviceLogByTimeRange(deviceId, "reportProperty", pageSize, dateTimeFormatter.format(startTime), dateTimeFormatter.format(endTime)); List<DeviceOperationLogEntity> deviceOperationLogEntityList = getDeviceLogByTimeRange(deviceId, "reportProperty", pageSize, dateTimeFormatter.format(startTime), dateTimeFormatter.format(endTime));
List<DeviceInfoContentFall> deviceInfoContentSpaceList = StreamUtil.map(deviceOperationLogEntityList, e -> JsonUtil.toObj((String) e.getContent(), DeviceInfoContentFall.class)); List<DeviceInfoContentFall> deviceInfoContentFallList = StreamUtil.map(deviceOperationLogEntityList, e -> JsonUtil.toObj((String) e.getContent(), DeviceInfoContentFall.class));
return deviceInfoContentSpaceList; return deviceInfoContentFallList;
} }
......
...@@ -5,7 +5,10 @@ import lombok.Data; ...@@ -5,7 +5,10 @@ import lombok.Data;
@Data @Data
public class AnalysisVO { public class AnalysisVO {
private Integer br; private Integer totalHr;
private Integer avgHr;
private Integer totalBr;
private Integer avgBr;
private Integer actionCount = 0; // 体动次数 private Integer actionCount = 0; // 体动次数
private Integer turnedCount = 0; // 翻身次数 private Integer turnedCount = 0; // 翻身次数
...@@ -19,12 +22,27 @@ public class AnalysisVO { ...@@ -19,12 +22,27 @@ public class AnalysisVO {
private Boolean awakeMinuteActionFlag; // 清醒每分钟体动是否满足要求 private Boolean awakeMinuteActionFlag; // 清醒每分钟体动是否满足要求
private int brStopThreshold; // 每分钟呼吸阈值 private int brStopThreshold; // 发生次数阈值
private int brFastThreshold; // 每分钟呼吸阈值 private int brStop; // 当前呼吸率
private int brSlowThreshold; // 每分钟呼吸阈值 private String brStopTime; // 发生时间
private int hrFastThreshold; // 每分钟心率阈值 private int brFastThreshold; // 发生次数阈值
private int hrSlowThreshold; // 每分钟心率阈值 private int brFast; // 当前呼吸率
private String brFastTime; // 发生时间
private int brSlowThreshold; // 发生次数阈值
private int brSlow; // 当前呼吸率
private String brSlowTime; // 发生时间
private int hrFastThreshold; // 发生次数阈值
private int hrFast; // 当前心率
private String hrFastTime; // 发生时间
private int hrSlowThreshold; // 发生次数阈值
private int hrSlow; // 当前心率
private String hrSlowTime; // 发生时间
......
package com.makeit.module.iot.vo.analysis;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class BreatheAbnormalVO {
@ApiModelProperty(value = "发生时间")
private LocalDateTime happenTime;
@ApiModelProperty(value = "异常类型")
private String type;
@ApiModelProperty(value = "值")
private String value;
}
...@@ -19,6 +19,8 @@ public class DeviceInfoContentBreathe { ...@@ -19,6 +19,8 @@ public class DeviceInfoContentBreathe {
private Properties properties; private Properties properties;
@JsonProperty("timestamp") @JsonProperty("timestamp")
private Long timestamp; private Long timestamp;
@JsonProperty("reportTime")
private String reportTime;
@NoArgsConstructor @NoArgsConstructor
@Data @Data
...@@ -52,18 +54,25 @@ public class DeviceInfoContentBreathe { ...@@ -52,18 +54,25 @@ public class DeviceInfoContentBreathe {
@Data @Data
public static class Properties { public static class Properties {
@JsonProperty("br") @JsonProperty("br")
// 呼吸率 "最小值":0,"最大值":500,"步进":1,"单位":"rpm"
private Integer br; private Integer br;
@JsonProperty("distance") @JsonProperty("distance")
// 距离
private Integer distance; private Integer distance;
@JsonProperty("bodymove") @JsonProperty("bodymove")
// 体动指数 "最小值":0,"最大值":100,"步进":1,"单位":""
private Integer bodymove; private Integer bodymove;
@JsonProperty("personState") @JsonProperty("personState")
// 运动状态 0:无人1:运动2:呼吸3:进入呼吸
private Integer personState; private Integer personState;
@JsonProperty("person") @JsonProperty("person")
// 有人无人 0无人,1有人
private Integer person; private Integer person;
@JsonProperty("hr") @JsonProperty("hr")
// 心率 最小值":0,"最大值":500,"步进:1,"单位":"bpm"
private Integer hr; private Integer hr;
@JsonProperty("point") @JsonProperty("point")
// 呼吸波形
private List<Integer> point; private List<Integer> point;
} }
} }
...@@ -19,6 +19,7 @@ SYSTEM.ERROR.NAME.DUPLICATE=该名称已存在 ...@@ -19,6 +19,7 @@ SYSTEM.ERROR.NAME.DUPLICATE=该名称已存在
SYSTEM.ERROR.NAME.ENG.DUPLICATE=该英文名称已存在 SYSTEM.ERROR.NAME.ENG.DUPLICATE=该英文名称已存在
SYSTEM.ERROR.CODE.DUPLICATE=该编码已存在 SYSTEM.ERROR.CODE.DUPLICATE=该编码已存在
SYSTEM.ERROR.TENANT.CODE.DUPLICATE=该标识已存在
SYSTEM.ERROR.DICT.VALUE.DUPLICATE=该字典值已存在 SYSTEM.ERROR.DICT.VALUE.DUPLICATE=该字典值已存在
SYSTEM.ERROR.DICT.NOT.EXIST=该字典值不存在 SYSTEM.ERROR.DICT.NOT.EXIST=该字典值不存在
...@@ -108,3 +109,7 @@ SYSTEM.ERROR.ROLE.ADMIN.CANT.EDIT=管理员角色不能修改 ...@@ -108,3 +109,7 @@ SYSTEM.ERROR.ROLE.ADMIN.CANT.EDIT=管理员角色不能修改
PLATFORM.ERROR.ALARM.NOT.FOUND.SPACE=设备未绑定空间 PLATFORM.ERROR.ALARM.NOT.FOUND.SPACE=设备未绑定空间
PLATFORM.ERROR.ALARM.NOT.FOUND.ELDER=设备空间下无长者 PLATFORM.ERROR.ALARM.NOT.FOUND.ELDER=设备空间下无长者
SYSTEM.ERROR.TENANT.FORBIDDEN=该租户被禁用
SYSTEM.ERROR.ORG.FORBIDDEN=该组织被禁用
...@@ -106,7 +106,7 @@ public class CodeGenerator { ...@@ -106,7 +106,7 @@ public class CodeGenerator {
// 使用重点 下列字段填写表名 运行方法 // 使用重点 下列字段填写表名 运行方法
// strategy.setInclude("edu_teacher","..."); // 多表-逆向工程 // strategy.setInclude("edu_teacher","..."); // 多表-逆向工程
strategy.setInclude("plat_elder_report_month"); strategy.setInclude("plat_elder_breathe_day_stat");
strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略 strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体属性时去掉表"_"前缀并且第一个字母大写 如:gmt_create -> gmtCreate strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体属性时去掉表"_"前缀并且第一个字母大写 如:gmt_create -> gmtCreate
......
...@@ -73,13 +73,13 @@ public class PlatElderReportDayController { ...@@ -73,13 +73,13 @@ public class PlatElderReportDayController {
@ApiOperation("行为异常记录") @ApiOperation("行为异常记录")
@PostMapping("behaviorExceptionRecordList") @PostMapping("behaviorExceptionRecordList")
public ApiResponseEntity<List<PlatElderBehaviorExceptionRecordVO>> behaviorExceptionRecordList(@RequestBody PlatElderReportDTO platElderIdDTO) { public ApiResponseEntity<List<PlatElderBehaviorExceptionRecordVO>> behaviorExceptionRecordList(@RequestBody PlatElderReportDTO platElderIdDTO) {
return null; return ApiResponseUtils.success(platElderDayReportDayService.behaviorExceptionRecordList(platElderIdDTO));
} }
@ApiOperation("跌倒记录") @ApiOperation("跌倒记录")
@PostMapping("failRecordList") @PostMapping("failRecordList")
public ApiResponseEntity<List<String>> failRecordList(@RequestBody PlatElderReportDTO platElderIdDTO) { public ApiResponseEntity<List<String>> failRecordList(@RequestBody PlatElderReportDTO platElderIdDTO) {
return null; return ApiResponseUtils.success(platElderDayReportDayService.failRecordList(platElderIdDTO));
} }
@ApiOperation("坐标记录") @ApiOperation("坐标记录")
...@@ -91,7 +91,7 @@ public class PlatElderReportDayController { ...@@ -91,7 +91,7 @@ public class PlatElderReportDayController {
@ApiOperation("行为辐射") @ApiOperation("行为辐射")
@PostMapping("behaviorDistribution") @PostMapping("behaviorDistribution")
public ApiResponseEntity<List<PlatElderBehaviorDistributionVO>> behaviorDistribution(@RequestBody PlatElderReportDTO platElderIdDTO) { public ApiResponseEntity<List<PlatElderBehaviorDistributionVO>> behaviorDistribution(@RequestBody PlatElderReportDTO platElderIdDTO) {
return null; return ApiResponseUtils.success(platElderDayReportDayService.behaviorDistribution(platElderIdDTO));
} }
} }
......
...@@ -39,13 +39,13 @@ public class PlatElderReportWeekController { ...@@ -39,13 +39,13 @@ public class PlatElderReportWeekController {
@ApiOperation("综合评价") @ApiOperation("综合评价")
@PostMapping("comprehensiveEvaluation") @PostMapping("comprehensiveEvaluation")
public ApiResponseEntity<PlatElderComprehensiveEvaluationVO> comprehensiveEvaluation(@RequestBody PlatElderReportDTO platElderIdDTO) { public ApiResponseEntity<PlatElderComprehensiveEvaluationVO> comprehensiveEvaluation(@RequestBody PlatElderReportDTO platElderIdDTO) {
return null; return ApiResponseUtils.success(platElderDayReportWeekService.comprehensiveEvaluation(platElderIdDTO));
} }
@ApiOperation("睡眠评价") @ApiOperation("睡眠评价")
@PostMapping("sleepEvaluation") @PostMapping("sleepEvaluation")
public ApiResponseEntity<PlatElderSleepEvaluationVO> sleepEvaluation(@RequestBody PlatElderReportDTO platElderIdDTO) { public ApiResponseEntity<PlatElderSleepEvaluationVO> sleepEvaluation(@RequestBody PlatElderReportDTO platElderIdDTO) {
return null; return ApiResponseUtils.success(platElderDayReportWeekService.sleepEvaluation(platElderIdDTO));
} }
@ApiOperation("睡眠图表") @ApiOperation("睡眠图表")
...@@ -57,37 +57,37 @@ public class PlatElderReportWeekController { ...@@ -57,37 +57,37 @@ public class PlatElderReportWeekController {
@ApiOperation("心率呼吸评价") @ApiOperation("心率呼吸评价")
@PostMapping("heartRespiratoryEvaluation") @PostMapping("heartRespiratoryEvaluation")
public ApiResponseEntity<PlatElderHeartRespiratoryEvaluationVO> heartRespiratoryEvaluation(@RequestBody PlatElderReportDTO platElderIdDTO) { public ApiResponseEntity<PlatElderHeartRespiratoryEvaluationVO> heartRespiratoryEvaluation(@RequestBody PlatElderReportDTO platElderIdDTO) {
return null; return ApiResponseUtils.success(platElderDayReportWeekService.heartRespiratoryEvaluation(platElderIdDTO));
} }
@ApiOperation("心率异常记录") @ApiOperation("心率异常记录")
@PostMapping("heartExceptionRecordList") @PostMapping("heartExceptionRecordList")
public ApiResponseEntity<List<PlatElderHeartRespiratoryEvaluationRecordVO>> heartExceptionRecordList(@RequestBody PlatElderReportDTO platElderIdDTO) { public ApiResponseEntity<List<PlatElderHeartRespiratoryEvaluationRecordVO>> heartExceptionRecordList(@RequestBody PlatElderReportDTO platElderIdDTO) {
return null; return ApiResponseUtils.success(platElderDayReportWeekService.heartExceptionRecordList(platElderIdDTO));
} }
@ApiOperation("呼吸率异常记录") @ApiOperation("呼吸率异常记录")
@PostMapping("respiratoryExceptionRecordList") @PostMapping("respiratoryExceptionRecordList")
public ApiResponseEntity<List<PlatElderHeartRespiratoryEvaluationRecordVO>> respiratoryExceptionRecordList(@RequestBody PlatElderReportDTO platElderIdDTO) { public ApiResponseEntity<List<PlatElderHeartRespiratoryEvaluationRecordVO>> respiratoryExceptionRecordList(@RequestBody PlatElderReportDTO platElderIdDTO) {
return null; return ApiResponseUtils.success(platElderDayReportWeekService.respiratoryExceptionRecordList(platElderIdDTO));
} }
@ApiOperation("心率呼吸率") @ApiOperation("心率呼吸率")
@PostMapping("heartRespiratory") @PostMapping("heartRespiratory")
public ApiResponseEntity<PlatElderRealTimeHeartRespiratoryWeekVO> heartRespiratory(@RequestBody PlatElderReportDTO platElderIdDTO) { public ApiResponseEntity<List<PlatElderRealTimeHeartRespiratoryWeekVO>> heartRespiratory(@RequestBody PlatElderReportDTO platElderIdDTO) {
return null; return ApiResponseUtils.success(platElderDayReportWeekService.heartRespiratory(platElderIdDTO));
} }
@ApiOperation("行为异常记录") @ApiOperation("行为异常记录")
@PostMapping("behaviorExceptionRecordList") @PostMapping("behaviorExceptionRecordList")
public ApiResponseEntity<List<PlatElderBehaviorExceptionRecordVO>> behaviorExceptionRecordList(@RequestBody PlatElderReportDTO platElderIdDTO) { public ApiResponseEntity<List<PlatElderBehaviorExceptionRecordVO>> behaviorExceptionRecordList(@RequestBody PlatElderReportDTO platElderIdDTO) {
return null; return ApiResponseUtils.success(platElderDayReportWeekService.behaviorExceptionRecordList(platElderIdDTO));
} }
@ApiOperation("跌倒记录") @ApiOperation("跌倒记录")
@PostMapping("failRecordList") @PostMapping("failRecordList")
public ApiResponseEntity<List<String>> failRecordList(@RequestBody PlatElderReportDTO platElderIdDTO) { public ApiResponseEntity<List<String>> failRecordList(@RequestBody PlatElderReportDTO platElderIdDTO) {
return null; return ApiResponseUtils.success(platElderDayReportWeekService.failRecordList(platElderIdDTO));
} }
@ApiOperation("坐标记录") @ApiOperation("坐标记录")
...@@ -99,7 +99,7 @@ public class PlatElderReportWeekController { ...@@ -99,7 +99,7 @@ public class PlatElderReportWeekController {
@ApiOperation("行为辐射") @ApiOperation("行为辐射")
@PostMapping("behaviorDistribution") @PostMapping("behaviorDistribution")
public ApiResponseEntity<List<PlatElderBehaviorDistributionVO>> behaviorDistribution(@RequestBody PlatElderReportDTO platElderIdDTO) { public ApiResponseEntity<List<PlatElderBehaviorDistributionVO>> behaviorDistribution(@RequestBody PlatElderReportDTO platElderIdDTO) {
return null; return ApiResponseUtils.success(platElderDayReportWeekService.behaviorDistribution(platElderIdDTO));
} }
} }
......
...@@ -3,10 +3,14 @@ package com.makeit.module.controller.space; ...@@ -3,10 +3,14 @@ package com.makeit.module.controller.space;
import com.makeit.common.dto.BaseIdDTO; import com.makeit.common.dto.BaseIdDTO;
import com.makeit.common.response.ApiResponseEntity; import com.makeit.common.response.ApiResponseEntity;
import com.makeit.common.response.ApiResponseUtils; import com.makeit.common.response.ApiResponseUtils;
import com.makeit.dto.platform.elder.PlatElderImportDTO;
import com.makeit.dto.platform.space.PlatSpaceAddDTO; import com.makeit.dto.platform.space.PlatSpaceAddDTO;
import com.makeit.dto.platform.space.PlatSpaceImportDTO;
import com.makeit.dto.platform.space.PlatSpaceQueryDTO; import com.makeit.dto.platform.space.PlatSpaceQueryDTO;
import com.makeit.dto.platform.space.PlatSpaceVO; import com.makeit.dto.platform.space.PlatSpaceVO;
import com.makeit.enums.FileSuffixEnum;
import com.makeit.service.platform.space.PlatSpaceService; import com.makeit.service.platform.space.PlatSpaceService;
import com.makeit.utils.data.excel.ExcelUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -16,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestBody; ...@@ -16,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
/** /**
...@@ -80,4 +85,11 @@ public class PlatSpaceController { ...@@ -80,4 +85,11 @@ public class PlatSpaceController {
return ApiResponseUtils.success(data); return ApiResponseUtils.success(data);
} }
@ApiOperation(value = "导出模板")
@PostMapping("/exportTemplate")
public void exportTemplate(HttpServletResponse response) {
ExcelUtil.exportTemplate(response, "空间导入模板" + FileSuffixEnum.EXCEL.getSuffix(), PlatSpaceImportDTO.class);
}
} }
...@@ -15,4 +15,6 @@ public class PlatUserRoleDTO extends BaseTenantDTO implements Serializable { ...@@ -15,4 +15,6 @@ public class PlatUserRoleDTO extends BaseTenantDTO implements Serializable {
@ApiModelProperty(value = "角色id") @ApiModelProperty(value = "角色id")
private String roleId; private String roleId;
private String roleName;
} }
package com.makeit.dto.platform.space;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author:lzy
* @Date:2023/9/18 11:38
* @Describe:
*/
@Data
@ApiModel(value = "空间导入")
public class PlatSpaceImportDTO {
public static final String BIG_TITLE = "导入说明:\n" +
"\n" +
"1.表头带有*必填\n" +
"2.同一层级下的房间名或空间名不能重名";
@ExcelProperty({BIG_TITLE, "一级*"})
@ApiModelProperty(value = "小区/社区/街道")
private String community;
@ExcelProperty({BIG_TITLE, "二级"})
@ApiModelProperty(value = "楼栋")
private String building;
@ExcelProperty({BIG_TITLE, "三级"})
@ApiModelProperty(value = "单元")
private String unit;
@ExcelProperty({BIG_TITLE, "四级"})
@ApiModelProperty(value = "楼层")
private String floor;
@ExcelProperty({BIG_TITLE, "房间名*"})
@ApiModelProperty(value = "房间名")
private String roomName;
@ExcelProperty({BIG_TITLE, "床位数量"})
@ApiModelProperty(value = "床位数量")
private Integer bedNumber;
}
...@@ -22,6 +22,9 @@ public class PlatSpaceVO extends BaseIdDTO { ...@@ -22,6 +22,9 @@ public class PlatSpaceVO extends BaseIdDTO {
@ApiModelProperty("父级Id") @ApiModelProperty("父级Id")
private String parentId; private String parentId;
@ApiModelProperty("父级名称")
private String parentName;
@ApiModelProperty("子集") @ApiModelProperty("子集")
private List<PlatSpaceVO> children; private List<PlatSpaceVO> children;
} }
...@@ -24,10 +24,10 @@ public class PlatElderBreatheAnalysis extends BaseBusEntity { ...@@ -24,10 +24,10 @@ public class PlatElderBreatheAnalysis extends BaseBusEntity {
@ApiModelProperty(value = "长者id") @ApiModelProperty(value = "长者id")
private String elderId; private String elderId;
@ApiModelProperty(value = "睡眠评分") @ApiModelProperty(value = "呼吸评分")
private String breatheScore; private String breatheScore;
@ApiModelProperty(value = "睡眠结果") @ApiModelProperty(value = "呼吸结果")
private String breatheResult; private String breatheResult;
@ApiModelProperty(value = "评价") @ApiModelProperty(value = "评价")
...@@ -40,7 +40,7 @@ public class PlatElderBreatheAnalysis extends BaseBusEntity { ...@@ -40,7 +40,7 @@ public class PlatElderBreatheAnalysis extends BaseBusEntity {
private String avgBreatheRate; private String avgBreatheRate;
@ApiModelProperty(value = "当前日期 yyyy-mm-dd") @ApiModelProperty(value = "当前日期 yyyy-mm-dd")
private String currentDate; private String happenDate;
} }
package com.makeit.entity.platform.elder;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableId;
import com.makeit.common.entity.BaseBusEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 长者呼吸心率日统计
* </p>
*
* @author eugene young
* @since 2023-09-19
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="PlatElderBreatheDayStat对象", description="长者呼吸心率日统计")
public class PlatElderBreatheDayStat extends BaseBusEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "长者id")
private String elderId;
@ApiModelProperty(value = "设备id")
private String deviceId;
@ApiModelProperty(value = "原始设备id")
private String oriDeviceId;
@ApiModelProperty(value = "日期")
private LocalDate day;
@ApiModelProperty(value = "心率最大值")
private Integer heartRateMax;
@ApiModelProperty(value = "心率最小值")
private Integer heartRateMin;
@ApiModelProperty(value = "心率平均值")
private Integer heartRateAvg;
@ApiModelProperty(value = "呼吸率最大值")
private Integer respiratoryRateMax;
@ApiModelProperty(value = "呼吸率最小值")
private Integer respiratoryRateMin;
@ApiModelProperty(value = "呼吸率平均值")
private Integer respiratoryRateAvg;
}
...@@ -2,7 +2,6 @@ package com.makeit.entity.platform.elder; ...@@ -2,7 +2,6 @@ package com.makeit.entity.platform.elder;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.makeit.common.entity.BaseBusEntity; import com.makeit.common.entity.BaseBusEntity;
import com.makeit.common.typehandler.ListStringJsonTypeHandler;
import com.makeit.typehandler.ElderListStringJsonTypeHandler; import com.makeit.typehandler.ElderListStringJsonTypeHandler;
import com.makeit.vo.platform.elder.report.day.PlatSleepRangeVO; import com.makeit.vo.platform.elder.report.day.PlatSleepRangeVO;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
...@@ -38,7 +37,7 @@ public class PlatElderSleep extends BaseBusEntity { ...@@ -38,7 +37,7 @@ public class PlatElderSleep extends BaseBusEntity {
private LocalDateTime endSleep; private LocalDateTime endSleep;
@ApiModelProperty(value = "当前日期 yyyy-mm-dd") @ApiModelProperty(value = "当前日期 yyyy-mm-dd")
private String currentDate; private String happenDate;
@ApiModelProperty(value = "睡眠记录 区分时间段记录 [{\"sleepType\":\"\",\"startTime\":\"\",\"endTime\":\"\"},{}]") @ApiModelProperty(value = "睡眠记录 区分时间段记录 [{\"sleepType\":\"\",\"startTime\":\"\",\"endTime\":\"\"},{}]")
@TableField(typeHandler = ElderListStringJsonTypeHandler.class) @TableField(typeHandler = ElderListStringJsonTypeHandler.class)
......
...@@ -40,7 +40,12 @@ public class PlatElderSleepAnalysis extends BaseBusEntity { ...@@ -40,7 +40,12 @@ public class PlatElderSleepAnalysis extends BaseBusEntity {
private String sleepEvaluate; private String sleepEvaluate;
@ApiModelProperty(value = "当前日期 yyyy-mm-dd") @ApiModelProperty(value = "当前日期 yyyy-mm-dd")
private String currentDate; private String happenDate;
@ApiModelProperty(value = "体动次数")
private Integer actionCount;
@ApiModelProperty(value = "翻身次数")
private Integer turnedCount;
} }
...@@ -54,5 +54,15 @@ public class PlatTenant extends BaseEntity { ...@@ -54,5 +54,15 @@ public class PlatTenant extends BaseEntity {
*/ */
private String iotOrgId; private String iotOrgId;
/**
* 租户标识
*/
private String code;
/**
* 租户平台地址
*/
private String url;
} }
\ No newline at end of file
...@@ -9,7 +9,7 @@ public enum BreatheTypeEnum { ...@@ -9,7 +9,7 @@ public enum BreatheTypeEnum {
APNEA("apnea","呼吸暂停"), APNEA("apnea","呼吸暂停"),
TACHYPNEA("tachypnea","呼吸暂停"), TACHYPNEA("tachypnea","呼吸过速"),
BRADYPNEA("bradypnea","呼吸过缓"); BRADYPNEA("bradypnea","呼吸过缓");
private String code; private String code;
......
...@@ -2,8 +2,11 @@ package com.makeit.mapper.platform.auth; ...@@ -2,8 +2,11 @@ package com.makeit.mapper.platform.auth;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.makeit.dto.platform.auth.PlatUserRoleDTO;
import com.makeit.entity.platform.auth.PlatUserRole; import com.makeit.entity.platform.auth.PlatUserRole;
import java.util.List;
/** /**
* @author lixl * @author lixl
* @description 针对表【plat_user_role(租户端用户角色关联表)】的数据库操作Mapper * @description 针对表【plat_user_role(租户端用户角色关联表)】的数据库操作Mapper
...@@ -13,4 +16,5 @@ import com.makeit.entity.platform.auth.PlatUserRole; ...@@ -13,4 +16,5 @@ import com.makeit.entity.platform.auth.PlatUserRole;
public interface PlatUserRoleMapper extends BaseMapper<PlatUserRole> { public interface PlatUserRoleMapper extends BaseMapper<PlatUserRole> {
List<PlatUserRoleDTO> getByUserIdList(List<String> userIdList);
} }
package com.makeit.mapper.platform.elder;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.makeit.entity.platform.elder.PlatElderBreatheDayStat;
/**
* <p>
* 长者呼吸心率日统计 Mapper 接口
* </p>
*
* @author eugene young
* @since 2023-09-19
*/
public interface PlatElderBreatheDayStatMapper extends BaseMapper<PlatElderBreatheDayStat> {
}
...@@ -2,6 +2,7 @@ package com.makeit.service.platform.auth; ...@@ -2,6 +2,7 @@ package com.makeit.service.platform.auth;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.dto.platform.auth.PlatUserRoleDTO;
import com.makeit.entity.platform.auth.PlatUserRole; import com.makeit.entity.platform.auth.PlatUserRole;
import java.util.List; import java.util.List;
...@@ -19,4 +20,7 @@ public interface PlatUserRoleService extends IService<PlatUserRole> { ...@@ -19,4 +20,7 @@ public interface PlatUserRoleService extends IService<PlatUserRole> {
* @return * @return
*/ */
List<PlatUserRole> getByUserId(String userId); List<PlatUserRole> getByUserId(String userId);
List<PlatUserRoleDTO> getByUserIdList(List<String> userIdList);
} }
...@@ -125,4 +125,6 @@ public interface PlatUserService extends IService<PlatUser> { ...@@ -125,4 +125,6 @@ public interface PlatUserService extends IService<PlatUser> {
void delBatch(List<String> idList); void delBatch(List<String> idList);
ExcelImportVo importExcel(MultipartFile excelFile) throws Exception; ExcelImportVo importExcel(MultipartFile excelFile) throws Exception;
void checkTenantOrgStatus(PlatUser platUser);
} }
...@@ -13,6 +13,7 @@ import com.makeit.entity.platform.auth.PlatOrg; ...@@ -13,6 +13,7 @@ import com.makeit.entity.platform.auth.PlatOrg;
import com.makeit.entity.platform.auth.PlatRole; import com.makeit.entity.platform.auth.PlatRole;
import com.makeit.entity.platform.auth.PlatRoleOrg; import com.makeit.entity.platform.auth.PlatRoleOrg;
import com.makeit.entity.platform.auth.PlatUserRole; import com.makeit.entity.platform.auth.PlatUserRole;
import com.makeit.enums.CodeMessageEnum;
import com.makeit.enums.CommonEnum; import com.makeit.enums.CommonEnum;
import com.makeit.enums.id.TreeConst; import com.makeit.enums.id.TreeConst;
import com.makeit.exception.BusinessException; import com.makeit.exception.BusinessException;
...@@ -287,10 +288,10 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg> ...@@ -287,10 +288,10 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
private void check(PlatOrg dto) { private void check(PlatOrg dto) {
LambdaQueryWrapper<PlatOrg> platOrgLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PlatOrg> platOrgLambdaQueryWrapper = new LambdaQueryWrapper<>();
platOrgLambdaQueryWrapper.eq(PlatOrg::getParentId, dto.getParentId()) platOrgLambdaQueryWrapper.eq(PlatOrg::getParentId, dto.getParentId())
.eq(StringUtils.isNotBlank(dto.getId()),PlatOrg::getName, dto.getName()) .ne(StringUtils.isNotBlank(dto.getId()),PlatOrg::getId, dto.getId())
.eq(PlatOrg::getName, dto); .eq(PlatOrg::getName, dto.getName());
if(count(platOrgLambdaQueryWrapper)>0){ if(count(platOrgLambdaQueryWrapper)>0){
throw new BusinessException("名称重复"); throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_NAME_DUPLICATE);
} }
} }
......
...@@ -2,6 +2,7 @@ package com.makeit.service.platform.auth.impl; ...@@ -2,6 +2,7 @@ package com.makeit.service.platform.auth.impl;
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.makeit.dto.platform.auth.PlatUserRoleDTO;
import com.makeit.entity.platform.auth.PlatUserRole; import com.makeit.entity.platform.auth.PlatUserRole;
import com.makeit.mapper.platform.auth.PlatUserRoleMapper; import com.makeit.mapper.platform.auth.PlatUserRoleMapper;
import com.makeit.service.platform.auth.PlatRoleOrgService; import com.makeit.service.platform.auth.PlatRoleOrgService;
...@@ -36,5 +37,9 @@ implements PlatUserRoleService{ ...@@ -36,5 +37,9 @@ implements PlatUserRoleService{
return list(queryWrapper); return list(queryWrapper);
} }
@Override
public List<PlatUserRoleDTO> getByUserIdList(List<String> userIdList) {
return baseMapper.getByUserIdList(userIdList);
}
} }
package com.makeit.service.platform.elder;
import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.entity.platform.elder.PlatElderBreatheDayStat;
/**
* <p>
* 长者呼吸心率日统计 服务类
* </p>
*
* @author eugene young
* @since 2023-09-19
*/
public interface PlatElderBreatheDayStatService extends IService<PlatElderBreatheDayStat> {
}
package com.makeit.service.platform.elder; package com.makeit.service.platform.elder;
import com.makeit.common.response.ApiResponseEntity;
import com.makeit.dto.platform.elder.PlatElderReportDTO; import com.makeit.dto.platform.elder.PlatElderReportDTO;
import com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO; import com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO;
import com.makeit.vo.platform.elder.realtime.PlatElderRealTimeHeartRespiratoryVO; import com.makeit.vo.platform.elder.realtime.PlatElderRealTimeHeartRespiratoryVO;
import com.makeit.vo.platform.elder.report.day.*; import com.makeit.vo.platform.elder.report.day.*;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
...@@ -28,18 +25,28 @@ public interface PlatElderDayReportDayService { ...@@ -28,18 +25,28 @@ public interface PlatElderDayReportDayService {
PlatElderHeartRespiratoryEvaluationVO heartRespiratoryEvaluation(PlatElderReportDTO platElderIdDTO); PlatElderHeartRespiratoryEvaluationVO heartRespiratoryEvaluation(PlatElderReportDTO platElderIdDTO);
List<PlatElderHeartRespiratoryEvaluationRecordVO> heartRespiratoryExceptionRecordList(PlatElderReportDTO platElderIdDTO, String alarmType, LocalDateTime start, LocalDateTime end);
List<PlatElderHeartRespiratoryEvaluationRecordVO> heartExceptionRecordList(PlatElderReportDTO platElderIdDTO); List<PlatElderHeartRespiratoryEvaluationRecordVO> heartExceptionRecordList(PlatElderReportDTO platElderIdDTO);
List<PlatElderHeartRespiratoryEvaluationRecordVO> respiratoryExceptionRecordList(PlatElderReportDTO platElderIdDTO); List<PlatElderHeartRespiratoryEvaluationRecordVO> respiratoryExceptionRecordList(PlatElderReportDTO platElderIdDTO);
List<PlatElderRealTimeHeartRespiratoryVO> heartRespiratory(PlatElderReportDTO platElderIdDTO); List<PlatElderRealTimeHeartRespiratoryVO> heartRespiratory(PlatElderReportDTO platElderIdDTO);
List<PlatElderBehaviorExceptionRecordVO> behaviorExceptionRecordListInternal(PlatElderReportDTO platElderIdDTO, LocalDateTime start, LocalDateTime end);
List<PlatElderBehaviorExceptionRecordVO> behaviorExceptionRecordList(PlatElderReportDTO platElderIdDTO); List<PlatElderBehaviorExceptionRecordVO> behaviorExceptionRecordList(PlatElderReportDTO platElderIdDTO);
List<String> failRecordListInternal(PlatElderReportDTO platElderIdDTO, LocalDateTime start, LocalDateTime end);
List<String> failRecordList(PlatElderReportDTO platElderIdDTO); List<String> failRecordList(PlatElderReportDTO platElderIdDTO);
List<PlatElderCoordinateVO> coordinateList(String elderId, String deviceId, LocalDateTime start, LocalDateTime end); List<PlatElderCoordinateVO> coordinateList(String elderId, String deviceId, LocalDateTime start, LocalDateTime end);
List<PlatElderCoordinateVO> coordinateList(PlatElderReportDTO platElderIdDTO); List<PlatElderCoordinateVO> coordinateList(PlatElderReportDTO platElderIdDTO);
List<PlatElderBehaviorDistributionVO> behaviorDistributionInternal(PlatElderReportDTO platElderIdDTO, List<LocalDate> nowList);
List<PlatElderBehaviorDistributionVO> behaviorDistribution(PlatElderReportDTO platElderIdDTO);
} }
package com.makeit.service.platform.elder; package com.makeit.service.platform.elder;
import com.makeit.dto.platform.elder.PlatElderIdDTO; import com.makeit.common.response.ApiResponseEntity;
import com.makeit.dto.platform.elder.PlatElderReportDTO; import com.makeit.dto.platform.elder.PlatElderReportDTO;
import com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO; import com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO;
import com.makeit.vo.platform.elder.realtime.PlatElderRealTimeHeartRespiratoryVO; import com.makeit.vo.platform.elder.report.day.*;
import com.makeit.vo.platform.elder.report.week.PlatElderComprehensiveEvaluationVO;
import com.makeit.vo.platform.elder.report.week.PlatElderRealTimeHeartRespiratoryWeekVO;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List; import java.util.List;
...@@ -17,6 +20,24 @@ import java.util.List; ...@@ -17,6 +20,24 @@ import java.util.List;
*/ */
public interface PlatElderDayReportWeekService { public interface PlatElderDayReportWeekService {
PlatElderComprehensiveEvaluationVO comprehensiveEvaluation(PlatElderReportDTO platElderIdDTO);
PlatElderSleepEvaluationVO sleepEvaluation(PlatElderReportDTO platElderIdDTO);
PlatElderHeartRespiratoryEvaluationVO heartRespiratoryEvaluation(PlatElderReportDTO platElderIdDTO);
List<PlatElderHeartRespiratoryEvaluationRecordVO> heartExceptionRecordList(PlatElderReportDTO platElderIdDTO);
List<PlatElderHeartRespiratoryEvaluationRecordVO> respiratoryExceptionRecordList(PlatElderReportDTO platElderIdDTO);
List<PlatElderRealTimeHeartRespiratoryWeekVO> heartRespiratory(PlatElderReportDTO platElderIdDTO);
List<PlatElderBehaviorExceptionRecordVO> behaviorExceptionRecordList(PlatElderReportDTO platElderIdDTO);
List<String> failRecordList(PlatElderReportDTO platElderIdDTO);
List<PlatElderCoordinateVO> coordinateList(PlatElderReportDTO platElderIdDTO); List<PlatElderCoordinateVO> coordinateList(PlatElderReportDTO platElderIdDTO);
List<PlatElderBehaviorDistributionVO> behaviorDistribution(PlatElderReportDTO platElderIdDTO);
} }
...@@ -23,6 +23,8 @@ public interface PlatElderRealTimeService { ...@@ -23,6 +23,8 @@ public interface PlatElderRealTimeService {
List<PlatDevice> getSpaceDevice(String elderId, String deviceId); List<PlatDevice> getSpaceDevice(String elderId, String deviceId);
List<PlatDevice> getFallDevice(String elderId, String deviceId);
PlatElderRealTimeNowVO nowStatus(PlatElderIdDTO platElderIdDTO); PlatElderRealTimeNowVO nowStatus(PlatElderIdDTO platElderIdDTO);
PlatElderRealTimeHeartRespiratoryVO heartRespiratory(PlatElderIdDTO platElderIdDTO); PlatElderRealTimeHeartRespiratoryVO heartRespiratory(PlatElderIdDTO platElderIdDTO);
......
...@@ -54,6 +54,8 @@ public interface PlatElderService extends IService<PlatElder> { ...@@ -54,6 +54,8 @@ public interface PlatElderService extends IService<PlatElder> {
List<PlatDevice> getSpaceDevice(String id); List<PlatDevice> getSpaceDevice(String id);
List<PlatDevice> getFallDevice(String id);
/*小程序*/ /*小程序*/
List<PlatElderWechatSimpleVO> listMy(); List<PlatElderWechatSimpleVO> listMy();
/*小程序*/ /*小程序*/
......
package com.makeit.service.platform.elder.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.entity.platform.elder.PlatElderBreatheDayStat;
import com.makeit.mapper.platform.elder.PlatElderBreatheDayStatMapper;
import com.makeit.service.platform.elder.PlatElderBreatheDayStatService;
import org.springframework.stereotype.Service;
/**
* <p>
* 长者呼吸心率日统计 服务实现类
* </p>
*
* @author eugene young
* @since 2023-09-19
*/
@Service
public class PlatElderBreatheDayStatServiceImpl extends ServiceImpl<PlatElderBreatheDayStatMapper, PlatElderBreatheDayStat> implements PlatElderBreatheDayStatService {
}
...@@ -78,6 +78,22 @@ public class PlatElderRealTimeServiceImpl implements PlatElderRealTimeService { ...@@ -78,6 +78,22 @@ public class PlatElderRealTimeServiceImpl implements PlatElderRealTimeService {
return deviceList; return deviceList;
} }
@Override
public List<PlatDevice> getFallDevice(String elderId, String deviceId) {
List<PlatDevice> deviceList = null;
if (StringUtils.isNotBlank(elderId)) {
deviceList = platElderService.getFallDevice(elderId);
}
if (StringUtils.isNotBlank(deviceId)) {
deviceList = Arrays.asList(platDeviceService.getById(deviceId));
}
return deviceList;
}
private DeviceInfoContentBreathe getNowDataBreathe(String elderId, String deviceId) { private DeviceInfoContentBreathe getNowDataBreathe(String elderId, String deviceId) {
PlatDevice platDevice = getBreathDevice(elderId, deviceId); PlatDevice platDevice = getBreathDevice(elderId, deviceId);
......
...@@ -739,6 +739,17 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder ...@@ -739,6 +739,17 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
} }
@Override @Override
public List<PlatDevice> getFallDevice(String id) {
PlatElder platElder = getById(id);
if (StringUtils.isBlank(platElder.getBedId())) {
return null;
}
return platRoomBedDeviceService.getFallDevice(platElder.getBedId());
}
@Override
public List<PlatElderWechatSimpleVO> listMy() { public List<PlatElderWechatSimpleVO> listMy() {
PlatElderChildrenInfoWechatVO childrenInfo = platElderChildrenInfoService.view(); PlatElderChildrenInfoWechatVO childrenInfo = platElderChildrenInfoService.view();
......
...@@ -53,4 +53,6 @@ public interface PlatRoomBedDeviceService extends IService<PlatRoomBedDevice> { ...@@ -53,4 +53,6 @@ public interface PlatRoomBedDeviceService extends IService<PlatRoomBedDevice> {
PlatDevice getBreathDevice(String bedId); PlatDevice getBreathDevice(String bedId);
List<PlatDevice> getSpaceDevice(String bedId); List<PlatDevice> getSpaceDevice(String bedId);
List<PlatDevice> getFallDevice(String bedId);
} }
...@@ -2,11 +2,13 @@ package com.makeit.service.platform.space; ...@@ -2,11 +2,13 @@ package com.makeit.service.platform.space;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.common.dto.BaseIdDTO; import com.makeit.common.dto.BaseIdDTO;
import com.makeit.common.vo.ExcelImportVo;
import com.makeit.dto.platform.space.PlatSpaceAddDTO; import com.makeit.dto.platform.space.PlatSpaceAddDTO;
import com.makeit.dto.platform.space.PlatSpaceQueryDTO; import com.makeit.dto.platform.space.PlatSpaceQueryDTO;
import com.makeit.dto.platform.space.PlatSpaceVO; import com.makeit.dto.platform.space.PlatSpaceVO;
import com.makeit.entity.platform.space.PlatSpace; import com.makeit.entity.platform.space.PlatSpace;
import com.makeit.vo.platform.space.PlatSpaceAndRoomVO; import com.makeit.vo.platform.space.PlatSpaceAndRoomVO;
import org.springframework.web.multipart.MultipartFile;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -66,4 +68,12 @@ public interface PlatSpaceService extends IService<PlatSpace> { ...@@ -66,4 +68,12 @@ public interface PlatSpaceService extends IService<PlatSpace> {
PlatSpaceVO child(PlatSpaceVO vo, Map<String,List<PlatSpace>> map); PlatSpaceVO child(PlatSpaceVO vo, Map<String,List<PlatSpace>> map);
PlatSpaceVO convertToVO(PlatSpace space); PlatSpaceVO convertToVO(PlatSpace space);
/**
* 导入
* @param excelFile
* @return
*/
public ExcelImportVo importSpaceExcel(MultipartFile excelFile);
} }
...@@ -109,34 +109,34 @@ public class PlatRoomBedDeviceServiceImpl extends ServiceImpl<PlatRoomBedDeviceM ...@@ -109,34 +109,34 @@ public class PlatRoomBedDeviceServiceImpl extends ServiceImpl<PlatRoomBedDeviceM
public List<PlatDeviceDTO> listBindDevice(PlatBedDeviceQueryDTO dto) { public List<PlatDeviceDTO> listBindDevice(PlatBedDeviceQueryDTO dto) {
LambdaQueryWrapper<PlatRoomBedDevice> queryWrapper1 = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PlatRoomBedDevice> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(PlatRoomBedDevice::getRoomId,dto.getRoomId()); queryWrapper1.eq(PlatRoomBedDevice::getRoomId, dto.getRoomId());
queryWrapper1.eq(StringUtil.isNotEmpty(dto.getBedId()),PlatRoomBedDevice::getBedId,dto.getBedId()); queryWrapper1.eq(StringUtil.isNotEmpty(dto.getBedId()), PlatRoomBedDevice::getBedId, dto.getBedId());
List<PlatRoomBedDevice> list = list(queryWrapper1); List<PlatRoomBedDevice> list = list(queryWrapper1);
List<String> listEquipmentIds = list.stream().map(item->item.getDeviceId()).collect(Collectors.toList()); List<String> listEquipmentIds = list.stream().map(item -> item.getDeviceId()).collect(Collectors.toList());
List<String> listBedIds = list.stream().map(item->item.getBedId()).collect(Collectors.toList()); List<String> listBedIds = list.stream().map(item -> item.getBedId()).collect(Collectors.toList());
LambdaQueryWrapper<PlatBed> queryWrapper2 = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PlatBed> queryWrapper2 = new LambdaQueryWrapper<>();
queryWrapper2.in(PlatBed::getId,listBedIds); queryWrapper2.in(PlatBed::getId, listBedIds);
List<PlatBed> listBeds = platBedService.list(queryWrapper2); List<PlatBed> listBeds = platBedService.list(queryWrapper2);
Map<String,String> map = listBeds.stream().collect(Collectors.toMap(PlatBed::getId,PlatBed::getName,(k1, k2)->k1)); Map<String, String> map = listBeds.stream().collect(Collectors.toMap(PlatBed::getId, PlatBed::getName, (k1, k2) -> k1));
Map<String,String> mapName = new HashMap<>(20); Map<String, String> mapName = new HashMap<>(20);
Map<String,String> mapBedId = new HashMap<>(20); Map<String, String> mapBedId = new HashMap<>(20);
list.forEach(item->{ list.forEach(item -> {
if(map.containsKey(item.getBedId())){ if (map.containsKey(item.getBedId())) {
mapName.put(item.getDeviceId(),map.get(item.getBedId())); mapName.put(item.getDeviceId(), map.get(item.getBedId()));
mapBedId.put(item.getDeviceId(),item.getBedId()); mapBedId.put(item.getDeviceId(), item.getBedId());
} }
}); });
List<PlatDeviceDTO> data = new ArrayList<>(); List<PlatDeviceDTO> data = new ArrayList<>();
if(!listEquipmentIds.isEmpty()){ if (!listEquipmentIds.isEmpty()) {
LambdaQueryWrapper<PlatDevice> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PlatDevice> queryWrapper = new LambdaQueryWrapper<>();
//queryWrapper.eq(PlatDevice::getCategory, PlatDeviceEnum.CategoryEnum.HEART); //queryWrapper.eq(PlatDevice::getCategory, PlatDeviceEnum.CategoryEnum.HEART);
queryWrapper.in(PlatDevice::getId,listEquipmentIds); queryWrapper.in(PlatDevice::getId, listEquipmentIds);
List<PlatDevice> listDevices = platDeviceService.list(queryWrapper); List<PlatDevice> listDevices = platDeviceService.list(queryWrapper);
data = BeanDtoVoUtils.listVo(listDevices,PlatDeviceDTO.class); data = BeanDtoVoUtils.listVo(listDevices, PlatDeviceDTO.class);
data.forEach(item->{ data.forEach(item -> {
item.setBedName(mapName.get(item.getId())); item.setBedName(mapName.get(item.getId()));
item.setBedId(mapBedId.get(item.getId())); item.setBedId(mapBedId.get(item.getId()));
}); });
...@@ -182,9 +182,7 @@ public class PlatRoomBedDeviceServiceImpl extends ServiceImpl<PlatRoomBedDeviceM ...@@ -182,9 +182,7 @@ public class PlatRoomBedDeviceServiceImpl extends ServiceImpl<PlatRoomBedDeviceM
} }
@Override private List<PlatDevice> getDeviceInternal(String bedId, String category) {
public List<PlatDevice> getSpaceDevice(String bedId) {
PlatBed bed = platBedService.getById(bedId); PlatBed bed = platBedService.getById(bedId);
List<PlatRoomBedDevice> deviceList = list(new QueryWrapper<PlatRoomBedDevice>().lambda() List<PlatRoomBedDevice> deviceList = list(new QueryWrapper<PlatRoomBedDevice>().lambda()
...@@ -192,10 +190,17 @@ public class PlatRoomBedDeviceServiceImpl extends ServiceImpl<PlatRoomBedDeviceM ...@@ -192,10 +190,17 @@ public class PlatRoomBedDeviceServiceImpl extends ServiceImpl<PlatRoomBedDeviceM
return platDeviceService.list(new QueryWrapper<PlatDevice>().lambda() return platDeviceService.list(new QueryWrapper<PlatDevice>().lambda()
.in(PlatDevice::getId, StreamUtil.mapId(deviceList, PlatRoomBedDevice::getDeviceId)) .in(PlatDevice::getId, StreamUtil.mapId(deviceList, PlatRoomBedDevice::getDeviceId))
.eq(PlatDevice::getCategory, PlatDeviceEnum.CategoryEnum.SPACE.getValue()) .eq(PlatDevice::getCategory, category)
); );
} }
@Override
public List<PlatDevice> getSpaceDevice(String bedId) {
return getDeviceInternal(bedId, PlatDeviceEnum.CategoryEnum.SPACE.getValue());
}
@Override
public List<PlatDevice> getFallDevice(String bedId) {
return getDeviceInternal(bedId, PlatDeviceEnum.CategoryEnum.FALL.getValue());
}
} }
...@@ -21,5 +21,7 @@ public interface SaasElderReportConfigService extends IService<SaasElderReportCo ...@@ -21,5 +21,7 @@ public interface SaasElderReportConfigService extends IService<SaasElderReportCo
void edit(SaasElderReportConfigDTO dto); void edit(SaasElderReportConfigDTO dto);
EvaluateReportVO getByScoreInternal(String resultContent, long totalScore);
EvaluateReportVO getByScore(long totalScore); EvaluateReportVO getByScore(long totalScore);
} }
...@@ -132,11 +132,12 @@ implements PlatTenantService { ...@@ -132,11 +132,12 @@ implements PlatTenantService {
List<PlatTenantVO> voList = BeanDtoVoUtils.listVo(pageList.getRecords(), PlatTenantVO.class); List<PlatTenantVO> voList = BeanDtoVoUtils.listVo(pageList.getRecords(), PlatTenantVO.class);
TntUserJoinUtil.join(platUserService,voList,qw->qw.eq(PlatUser::getIsTenant, IsTenantAccountEnum.YES.getValue()), TntUserJoinUtil.join(platUserService,voList,qw->qw.eq(PlatUser::getIsTenant, IsTenantAccountEnum.YES.getValue()),
PlatTenantVO::getTntUserId,(t, u) -> { PlatTenantVO::getPlatUserId,(t, u) -> {
t.setUserAccount(u.getMobile()); t.setUserAccount(u.getAccount());
t.setUserName(u.getUsername()); t.setUserName(u.getUsername());
}, BaseEntity::getId); }, BaseEntity::getId);
return PageUtil.toPageVO(voList, pageList); return PageUtil.toPageVO(voList, pageList);
} }
...@@ -201,6 +202,7 @@ implements PlatTenantService { ...@@ -201,6 +202,7 @@ implements PlatTenantService {
public String add(PlatTenantDTOVO dto) { public String add(PlatTenantDTOVO dto) {
checkName(dto); checkName(dto);
checkDate(dto); checkDate(dto);
checkCode(dto);
PlatTenant tntTenant = BeanDtoVoUtils.convert(dto, PlatTenant.class); PlatTenant tntTenant = BeanDtoVoUtils.convert(dto, PlatTenant.class);
//新租户同步到iot //新租户同步到iot
...@@ -226,12 +228,14 @@ implements PlatTenantService { ...@@ -226,12 +228,14 @@ implements PlatTenantService {
return tntTenant.getId(); return tntTenant.getId();
} }
@Transactional @Transactional
@Override @Override
@TenantIdIgnore @TenantIdIgnore
public void edit(PlatTenantDTOVO dto) { public void edit(PlatTenantDTOVO dto) {
checkName(dto); checkName(dto);
checkDate(dto); checkDate(dto);
checkCode(dto);
PlatTenant tntTenant = BeanDtoVoUtils.convert(dto, PlatTenant.class); PlatTenant tntTenant = BeanDtoVoUtils.convert(dto, PlatTenant.class);
PlatTenant platTenant = getById(tntTenant.getId()); PlatTenant platTenant = getById(tntTenant.getId());
//更新同步到iot //更新同步到iot
...@@ -245,11 +249,11 @@ implements PlatTenantService { ...@@ -245,11 +249,11 @@ implements PlatTenantService {
} }
platUserService.updatePlatUserTenantId(tntTenant.getId(),dto.getPlatUserId()); platUserService.updatePlatUserTenantId(tntTenant.getId(),dto.getPlatUserId());
PlatOrg platOrg = convertToPlatOrg(platTenant); PlatOrg platOrg = convertToPlatOrg(tntTenant);
//更新组织表 //更新组织表
platOrgService.edit(platOrg); platOrgService.edit(platOrg);
//分配菜单 //分配菜单 todo 慢
assignMenuList(tntTenant.getId(),dto.getMenuIdList()); assignMenuList(tntTenant.getId(),dto.getMenuIdList());
} }
...@@ -375,4 +379,17 @@ implements PlatTenantService { ...@@ -375,4 +379,17 @@ implements PlatTenantService {
} }
} }
private void checkCode(PlatTenantDTOVO dto) {
PlatTenant tntTenant = getOne(
new QueryWrapper<PlatTenant>().lambda()
.eq(PlatTenant::getCode, dto.getCode())
.ne(StringUtils.isNotBlank(dto.getId()),PlatTenant::getCode,dto.getCode())
);
if (tntTenant != null && !tntTenant.getId().equals(dto.getId())) {
throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_TENANT_CODE_DUPLICATE);
}
}
} }
package com.makeit.service.saas.impl; package com.makeit.service.saas.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.common.entity.BaseEntity;
import com.makeit.dto.saas.analysis.SaasSleepEvaluateReportDTO; import com.makeit.dto.saas.analysis.SaasSleepEvaluateReportDTO;
import com.makeit.entity.saas.analysis.SaasDiseaseReport; import com.makeit.entity.saas.analysis.SaasDiseaseReport;
import com.makeit.mapper.saas.analysis.SaasDiseaseReportMapper; import com.makeit.mapper.saas.analysis.SaasDiseaseReportMapper;
...@@ -10,6 +12,8 @@ import com.makeit.service.saas.SaasDiseaseReportService; ...@@ -10,6 +12,8 @@ import com.makeit.service.saas.SaasDiseaseReportService;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
@Service @Service
public class SaasDiseaseReportServiceImpl extends ServiceImpl<SaasDiseaseReportMapper, SaasDiseaseReport> implements SaasDiseaseReportService { public class SaasDiseaseReportServiceImpl extends ServiceImpl<SaasDiseaseReportMapper, SaasDiseaseReport> implements SaasDiseaseReportService {
...@@ -36,6 +40,20 @@ public class SaasDiseaseReportServiceImpl extends ServiceImpl<SaasDiseaseReportM ...@@ -36,6 +40,20 @@ public class SaasDiseaseReportServiceImpl extends ServiceImpl<SaasDiseaseReportM
@Override @Override
public EvaluateReportVO getByScore(long totalScore) { public EvaluateReportVO getByScore(long totalScore) {
return null; SaasDiseaseReport diseaseReport = getOne(new QueryWrapper<SaasDiseaseReport>().lambda()
.orderByDesc(BaseEntity::getCreateBy)
.last("limit 1"));
String diseaseReportResultContent = diseaseReport.getResultContent();
List<EvaluateReportVO> diseaseReportResultList = JSON.parseArray(diseaseReportResultContent, EvaluateReportVO.class);
EvaluateReportVO elderReport = null;
for (EvaluateReportVO evaluateReportVO : diseaseReportResultList) {
String[] scoreRange = evaluateReportVO.getScoreRange().split("-");
long scoreRangeStart = Long.parseLong(scoreRange[0]);
long scoreRangeEnd = Long.parseLong(scoreRange[1]);
if (scoreRangeStart <= totalScore && scoreRangeEnd >= totalScore) {
elderReport = evaluateReportVO;
}
}
return elderReport;
} }
} }
...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.common.entity.BaseEntity; import com.makeit.common.entity.BaseEntity;
import com.makeit.dto.saas.analysis.SaasElderReportConfigDTO; import com.makeit.dto.saas.analysis.SaasElderReportConfigDTO;
import com.makeit.entity.saas.analysis.SaasElderReportConfig; import com.makeit.entity.saas.analysis.SaasElderReportConfig;
import com.makeit.entity.saas.analysis.SaasSleepEvaluateReport;
import com.makeit.mapper.saas.analysis.SaasElderReportConfigMapper; import com.makeit.mapper.saas.analysis.SaasElderReportConfigMapper;
import com.makeit.module.iot.vo.analysis.EvaluateReportVO; import com.makeit.module.iot.vo.analysis.EvaluateReportVO;
import com.makeit.service.saas.SaasElderReportConfigService; import com.makeit.service.saas.SaasElderReportConfigService;
...@@ -48,20 +49,34 @@ public class SaasElderReportConfigServiceImpl extends ServiceImpl<SaasElderRepor ...@@ -48,20 +49,34 @@ public class SaasElderReportConfigServiceImpl extends ServiceImpl<SaasElderRepor
} }
@Override @Override
public EvaluateReportVO getByScore(long totalScore) { public EvaluateReportVO getByScoreInternal(String resultContent,long totalScore) {
SaasElderReportConfig elderReportConfig = getOne(new QueryWrapper<SaasElderReportConfig>().lambda()
.orderByDesc(BaseEntity::getCreateBy) List<EvaluateReportVO> evaluateReportList = JSON.parseArray(resultContent, EvaluateReportVO.class);
.last("limit 1"));
List<EvaluateReportVO> elderEvaluateReportList = JSON.parseArray(elderReportConfig.getResultContent(), EvaluateReportVO.class); // 根据睡眠报告结果配置得出最后的睡眠评分
EvaluateReportVO elderReport = null; EvaluateReportVO finalReport = new EvaluateReportVO();
for (EvaluateReportVO evaluateReportVO : elderEvaluateReportList) { for (EvaluateReportVO evaluateReportVO : evaluateReportList) {
String[] scoreRange = evaluateReportVO.getScoreRange().split("~"); String[] scoreRange = evaluateReportVO.getScoreRange().split("~");
long scoreRangeStart = Long.parseLong(scoreRange[0]); long scoreRangeStart = Long.parseLong(scoreRange[0]);
long scoreRangeEnd = Long.parseLong(scoreRange[1]); long scoreRangeEnd = Long.parseLong(scoreRange[1]);
if (scoreRangeStart <= totalScore && scoreRangeEnd >= totalScore) { if (scoreRangeStart <= totalScore && scoreRangeEnd >= totalScore) {
elderReport = evaluateReportVO; finalReport = evaluateReportVO;
}
} }
return finalReport;
} }
return elderReport;
@Override
public EvaluateReportVO getByScore(long totalScore) {
SaasElderReportConfig saasElderReportConfig = getOne(new QueryWrapper<SaasElderReportConfig>().lambda()
.orderByDesc(BaseEntity::getCreateBy)
.last("limit 1"));
String resultContent = saasElderReportConfig.getResultContent();
return getByScoreInternal(resultContent,totalScore);
} }
} }
...@@ -8,8 +8,10 @@ import com.makeit.dto.saas.analysis.SaasSleepEvaluateReportDTO; ...@@ -8,8 +8,10 @@ import com.makeit.dto.saas.analysis.SaasSleepEvaluateReportDTO;
import com.makeit.entity.saas.analysis.SaasSleepEvaluateReport; import com.makeit.entity.saas.analysis.SaasSleepEvaluateReport;
import com.makeit.mapper.saas.analysis.SaasSleepEvaluateReportMapper; import com.makeit.mapper.saas.analysis.SaasSleepEvaluateReportMapper;
import com.makeit.module.iot.vo.analysis.EvaluateReportVO; import com.makeit.module.iot.vo.analysis.EvaluateReportVO;
import com.makeit.service.saas.SaasElderReportConfigService;
import com.makeit.service.saas.SaasSleepEvaluateReportService; import com.makeit.service.saas.SaasSleepEvaluateReportService;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
...@@ -25,6 +27,8 @@ import java.util.List; ...@@ -25,6 +27,8 @@ import java.util.List;
@Service @Service
public class SaasSleepEvaluateReportServiceImpl extends ServiceImpl<SaasSleepEvaluateReportMapper, SaasSleepEvaluateReport> implements SaasSleepEvaluateReportService { public class SaasSleepEvaluateReportServiceImpl extends ServiceImpl<SaasSleepEvaluateReportMapper, SaasSleepEvaluateReport> implements SaasSleepEvaluateReportService {
@Autowired
private SaasElderReportConfigService saasElderReportConfigService;
@Override @Override
public SaasSleepEvaluateReport view(String id) { public SaasSleepEvaluateReport view(String id) {
...@@ -53,18 +57,7 @@ public class SaasSleepEvaluateReportServiceImpl extends ServiceImpl<SaasSleepEva ...@@ -53,18 +57,7 @@ public class SaasSleepEvaluateReportServiceImpl extends ServiceImpl<SaasSleepEva
.orderByDesc(BaseEntity::getCreateBy) .orderByDesc(BaseEntity::getCreateBy)
.last("limit 1")); .last("limit 1"));
String resultContent = sleepEvaluateReport.getResultContent(); String resultContent = sleepEvaluateReport.getResultContent();
List<EvaluateReportVO> evaluateReportList = JSON.parseArray(resultContent, EvaluateReportVO.class);
// 根据睡眠报告结果配置得出最后的睡眠评分 return saasElderReportConfigService.getByScoreInternal(resultContent, totalScore);
EvaluateReportVO finalReport = new EvaluateReportVO();
for (EvaluateReportVO evaluateReportVO : evaluateReportList) {
String[] scoreRange = evaluateReportVO.getScoreRange().split("~");
long scoreRangeStart = Long.parseLong(scoreRange[0]);
long scoreRangeEnd = Long.parseLong(scoreRange[1]);
if (scoreRangeStart <= totalScore && scoreRangeEnd >= totalScore) {
finalReport = evaluateReportVO;
}
}
return finalReport;
} }
} }
...@@ -163,8 +163,8 @@ implements SaasUserService{ ...@@ -163,8 +163,8 @@ implements SaasUserService{
new QueryWrapper<SaasUser>().lambda() new QueryWrapper<SaasUser>().lambda()
.eq(SaasUser::getAccount, dto.getAccount()) .eq(SaasUser::getAccount, dto.getAccount())
.or() .or()
.eq(SaasUser::getUsername, dto.getUsername()) //.eq(SaasUser::getUsername, dto.getUsername())
.or() //.or()
.eq(SaasUser::getMobile, dto.getMobile()) .eq(SaasUser::getMobile, dto.getMobile())
); );
......
...@@ -74,6 +74,10 @@ public class IotSyncTask { ...@@ -74,6 +74,10 @@ public class IotSyncTask {
Set<String> iotDeviceIdSet = iotDeviceList.stream().map(DeviceInstanceEntity::getId).collect(Collectors.toSet()); Set<String> iotDeviceIdSet = iotDeviceList.stream().map(DeviceInstanceEntity::getId).collect(Collectors.toSet());
LambdaQueryWrapper<PlatDevice> deviceLambdaQueryWrapper = new LambdaQueryWrapper<PlatDevice>().eq(BaseBusEntity::getTenantId, platTenant.getId()) LambdaQueryWrapper<PlatDevice> deviceLambdaQueryWrapper = new LambdaQueryWrapper<PlatDevice>().eq(BaseBusEntity::getTenantId, platTenant.getId())
.in(PlatDevice::getOriDeviceId, iotDeviceIdSet); .in(PlatDevice::getOriDeviceId, iotDeviceIdSet);
//删除设备
LambdaQueryWrapper<PlatDevice> removeQw = new LambdaQueryWrapper<PlatDevice>().notIn(PlatDevice::getOriDeviceId, iotDeviceIdSet)
.eq(BaseBusEntity::getTenantId, platTenant.getId());
platDeviceService.remove(removeQw);
List<PlatDevice> deviceList = platDeviceService.list(deviceLambdaQueryWrapper); List<PlatDevice> deviceList = platDeviceService.list(deviceLambdaQueryWrapper);
//更新平台设备 //更新平台设备
Collection<PlatDevice> platDevices = convertToPlatDevice(iotDeviceList, deviceList, platTenant.getId(), dicNameIdMap); Collection<PlatDevice> platDevices = convertToPlatDevice(iotDeviceList, deviceList, platTenant.getId(), dicNameIdMap);
......
...@@ -89,4 +89,9 @@ public class PlatPersonDTOVO extends BaseIdDTO { ...@@ -89,4 +89,9 @@ public class PlatPersonDTOVO extends BaseIdDTO {
@ApiModelProperty(value = "更新人名称") @ApiModelProperty(value = "更新人名称")
private String updateBy; private String updateBy;
@ApiModelProperty(value = "角色名称,逗号拼接")
private String roleNameJoin;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment