Commit 8058aa77 by 朱淼
parents 90d265d3 1cf257af
...@@ -329,6 +329,42 @@ CREATE TABLE `plat_elder_sleep_analysis` ...@@ -329,6 +329,42 @@ CREATE TABLE `plat_elder_sleep_analysis`
DEFAULT CHARSET = utf8mb4 DEFAULT CHARSET = utf8mb4
ROW_FORMAT = COMPACT COMMENT = '长者每天睡觉分析'; ROW_FORMAT = COMPACT COMMENT = '长者每天睡觉分析';
CREATE TABLE `plat_elder_breathe_abnormal` (
`id` varchar(64) NOT NULL COMMENT 'id',
`elder_id` varchar(64) NOT NULL COMMENT '长者id',
`breathe_analysis_id` varchar(64) NOT NULL COMMENT '呼吸分析id',
`happen_time` datetime NOT NULL COMMENT '发生时间',
`type` varchar(32) DEFAULT NULL COMMENT '异常类型',
`value` varchar(64) DEFAULT NULL COMMENT '值',
`create_date` datetime NOT NULL COMMENT '创建时间',
`update_date` datetime NOT NULL COMMENT '更新时间',
`del_flag` char(1) DEFAULT NULL COMMENT '删除标识',
`create_by` varchar(64) NOT NULL COMMENT '创建人',
`update_by` varchar(64) NOT NULL COMMENT '更新人',
`tenant_id` varchar(64) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`),
KEY `index_elder_id` (`elder_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='长者每天呼吸异常';
CREATE TABLE `plat_elder_breathe_analysis` (
`id` varchar(64) NOT NULL COMMENT 'id',
`elder_id` varchar(64) NOT NULL COMMENT '长者id',
`breathe_score` varchar(64) DEFAULT NULL COMMENT '睡眠评分',
`breathe_result` varchar(64) DEFAULT NULL COMMENT '睡眠结果',
`breathe_evaluate` varchar(64) DEFAULT NULL COMMENT '评价',
`avg_heart_rate` varchar(64) DEFAULT NULL COMMENT '平均心率',
`avg_breathe_rate` varchar(64) DEFAULT NULL COMMENT '平均呼吸率',
`current_date` varchar(64) DEFAULT NULL COMMENT '当前日期 yyyy-mm-dd',
`create_date` datetime NOT NULL COMMENT '创建时间',
`update_date` datetime NOT NULL COMMENT '更新时间',
`del_flag` char(1) DEFAULT NULL COMMENT '删除标识',
`create_by` varchar(64) NOT NULL COMMENT '创建人',
`update_by` varchar(64) NOT NULL COMMENT '更新人',
`tenant_id` varchar(64) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`),
KEY `index_elder_id` (`elder_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='长者每天呼吸分析';
CREATE TABLE `plat_elder_report_month` CREATE TABLE `plat_elder_report_month`
( (
`id` varchar(64) NOT NULL COMMENT 'id', `id` varchar(64) NOT NULL COMMENT 'id',
......
...@@ -137,4 +137,28 @@ CREATE TABLE `saas_disease_evaluate_report` ( ...@@ -137,4 +137,28 @@ CREATE TABLE `saas_disease_evaluate_report` (
`del_flag` char(1) NOT NULL COMMENT ' 删除标志 0否 1是 ', `del_flag` char(1) NOT NULL COMMENT ' 删除标志 0否 1是 ',
`tenant_id` varchar(64) DEFAULT NULL COMMENT ' 租户id ', `tenant_id` varchar(64) DEFAULT NULL COMMENT ' 租户id ',
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='呼吸心率慢性病模型评估结果'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='呼吸心率慢性病模型评估结果';
\ No newline at end of file
CREATE TABLE `saas_disease_report` (
`id` varchar(64) NOT NULL COMMENT 'id',
`result_content` text COMMENT '评估内容 json数组 {"number:"1""scoreRange":"",evaluate:""}',
`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='呼吸心率慢性病报告';
CREATE TABLE `saas_elder_report_config` (
`id` varchar(64) NOT NULL COMMENT 'id',
`result_content` text COMMENT '评估内容 json字符串 {"number:"1",condtion:"","score":"",evaluate:"""}',
`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='长者报告配置';
\ No newline at end of file
package com.makeit.controller.analysis;
import com.makeit.common.dto.BaseIdDTO;
import com.makeit.common.response.ApiResponseEntity;
import com.makeit.common.response.ApiResponseUtils;
import com.makeit.dto.saas.analysis.SaasSleepEvaluateReportDTO;
import com.makeit.entity.saas.analysis.SaasDiseaseReport;
import com.makeit.entity.saas.analysis.SaasSleepEvaluateReport;
import com.makeit.global.annotation.Action;
import com.makeit.service.saas.SaasDiseaseReportService;
import com.makeit.service.saas.SaasSleepEvaluateReportService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 睡眠质量分析模型评估结果 前端控制器
* </p>
*
* @author eugene young
* @since 2023-09-05
*/
@RestController
@RequestMapping("/saas/diseaseReport")
@Api(tags = "saas端-报告管理-呼吸心率慢性病报告")
public class SaasDiseaseReportController {
@Autowired
private SaasDiseaseReportService saasDiseaseReportService;
@Action(module = "报告管理-呼吸心率慢性病报告", name = "详情", code = "saas:diseaseReport:view")
@ApiOperation("详情")
@PostMapping("view")
public ApiResponseEntity<SaasDiseaseReport> view(@RequestBody BaseIdDTO dto) {
return ApiResponseUtils.success(saasDiseaseReportService.view(dto.getId()));
}
@Action(module = "报告管理-呼吸心率慢性病报告", name = "新增", code = "saas:diseaseReport:add")
@ApiOperation("新增")
@PostMapping("add")
public ApiResponseEntity<Void> add(@Validated @RequestBody SaasSleepEvaluateReportDTO dto) {
saasDiseaseReportService.add(dto);
return ApiResponseUtils.success();
}
@Action(module = "报告管理-呼吸心率慢性病报告", name = "编辑", code = "saas:diseaseReport:edit")
@ApiOperation("编辑")
@PostMapping("edit")
public ApiResponseEntity<Void> edit(@Validated @RequestBody SaasSleepEvaluateReportDTO dto) {
saasDiseaseReportService.edit(dto);
return ApiResponseUtils.success();
}
}
package com.makeit.dto.saas.analysis; package com.makeit.dto.saas.analysis;
import com.makeit.common.entity.BaseBusEntity; import com.makeit.common.entity.BaseBusEntity;
import com.makeit.module.iot.vo.analysis.EvaluateReportVO;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.List;
/** /**
* <p> * <p>
* 睡眠质量分析模型评估结果 * 睡眠质量分析模型评估结果
...@@ -21,7 +24,9 @@ public class SaasSleepEvaluateReportDTO { ...@@ -21,7 +24,9 @@ public class SaasSleepEvaluateReportDTO {
private String id; private String id;
@ApiModelProperty(value = "评估结果 json字符串 {\"number:\"1\",scoreRange:\"~隔开\",\"result\":\"\",evaluate:\"\"\"}") @ApiModelProperty(value = "评估结果 json字符串 {\"number:\"1\",scoreRange:\"~隔开\",\"result\":\"\",evaluate:\"\"\"}")
private String resultContent; private List<EvaluateReportVO> resultContent;
} }
package com.makeit.entity.saas.analysis;
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-05
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="SaasDiseaseReport对象", description="呼吸心率慢性病报告")
public class SaasDiseaseReport extends BaseBusEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "评估结果 json字符串 {\"number:\"1\",scoreRange:\"\",evaluate:\"\"\"}")
private String resultContent;
}
package com.makeit.mapper.saas.analysis;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.makeit.entity.saas.analysis.SaasDiseaseReport;
import com.makeit.entity.saas.analysis.SaasSleepEvaluateReport;
/**
* <p>
* 呼吸心率慢性病报告 Mapper 接口
* </p>
*
* @author eugene young
* @since 2023-09-05
*/
public interface SaasDiseaseReportMapper extends BaseMapper<SaasDiseaseReport> {
}
...@@ -84,6 +84,7 @@ import java.util.LinkedHashSet; ...@@ -84,6 +84,7 @@ import java.util.LinkedHashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -323,6 +324,11 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser> ...@@ -323,6 +324,11 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_TENANT_NOT_EXIST); throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_TENANT_NOT_EXIST);
} }
}else {
PlatTenant platTenant = platTenantService.getById(tntUserLoginVO.getTenantId());
PlatTenantVO vo = BeanDtoVoUtils.convert(platTenant, PlatTenantVO.class);
//没有值的情况:登陆后无法跳转
tntUserLoginVO.setTenantList(Arrays.asList(vo));
} }
} }
...@@ -1010,6 +1016,7 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser> ...@@ -1010,6 +1016,7 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
LambdaUpdateWrapper<PlatUser> updateWrapper = Wrappers.lambdaUpdate(PlatUser.class) LambdaUpdateWrapper<PlatUser> updateWrapper = Wrappers.lambdaUpdate(PlatUser.class)
.set(PlatUser::getTenantId, tenantId) .set(PlatUser::getTenantId, tenantId)
.set(PlatUser::getOrgId,tenantId) .set(PlatUser::getOrgId,tenantId)
.set(PlatUser::getOrgPath,tenantId)
.eq(BaseEntity::getId, platUserId); .eq(BaseEntity::getId, platUserId);
this.update(updateWrapper); this.update(updateWrapper);
} }
...@@ -1034,7 +1041,7 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser> ...@@ -1034,7 +1041,7 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
LambdaQueryWrapper<PlatRole> roleLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PlatRole> roleLambdaQueryWrapper = new LambdaQueryWrapper<>();
roleLambdaQueryWrapper.select(BaseEntity::getId,PlatRole::getName); roleLambdaQueryWrapper.select(BaseEntity::getId,PlatRole::getName);
List<PlatRole> roleList = platRoleService.list(roleLambdaQueryWrapper); List<PlatRole> roleList = platRoleService.list(roleLambdaQueryWrapper);
Map<String, String> orgNameMap = orgList.stream().collect(Collectors.toMap(PlatOrg::getName, BaseEntity::getId, (a, b) -> a)); Map<String, PlatOrg> orgNameMap = orgList.stream().collect(Collectors.toMap(PlatOrg::getName, vo->vo, (a, b) -> a));
Map<String, String> roleNameMap = roleList.stream().collect(Collectors.toMap(PlatRole::getName, BaseEntity::getId, (a, b) -> a)); Map<String, String> roleNameMap = roleList.stream().collect(Collectors.toMap(PlatRole::getName, BaseEntity::getId, (a, b) -> a));
LambdaQueryWrapper<PlatUser> userLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PlatUser> userLambdaQueryWrapper = new LambdaQueryWrapper<>();
...@@ -1052,8 +1059,8 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser> ...@@ -1052,8 +1059,8 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
ExcelErrorVo.isNotNull(dto.getMobile(),errorVoList,start+i,"手机号*"); ExcelErrorVo.isNotNull(dto.getMobile(),errorVoList,start+i,"手机号*");
ExcelErrorVo.isNotNull(dto.getRoleName(),errorVoList,start+i,"*角色"); ExcelErrorVo.isNotNull(dto.getRoleName(),errorVoList,start+i,"*角色");
ExcelErrorVo.isNotNull(dto.getOrgName(),errorVoList,start+i,"*所属组织"); ExcelErrorVo.isNotNull(dto.getOrgName(),errorVoList,start+i,"*所属组织");
PlatOrg platOrg = Optional.ofNullable(orgNameMap.get(dto.getOrgName())).orElse(new PlatOrg());
ExcelErrorVo.notExists(orgNameMap.get(dto.getOrgName()),errorVoList,start+i,"*所属组织"); ExcelErrorVo.notExists( platOrg.getId(),errorVoList,start+i,"*所属组织");
ExcelErrorVo.notExists(roleNameMap.get(dto.getRoleName()),errorVoList,start+i,"*角色"); ExcelErrorVo.notExists(roleNameMap.get(dto.getRoleName()),errorVoList,start+i,"*角色");
ExcelErrorVo.exists(mobileMap,mobileMap.get(dto.getMobile()),errorVoList,start+i,"手机号*"); ExcelErrorVo.exists(mobileMap,mobileMap.get(dto.getMobile()),errorVoList,start+i,"手机号*");
ExcelErrorVo.exists(emailMap,emailMap.get(dto.getEmail()),errorVoList,start+i,"邮箱"); ExcelErrorVo.exists(emailMap,emailMap.get(dto.getEmail()),errorVoList,start+i,"邮箱");
...@@ -1067,6 +1074,9 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser> ...@@ -1067,6 +1074,9 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
platUser.setTenantId(TenantIdUtil.getTenantId()); platUser.setTenantId(TenantIdUtil.getTenantId());
platUser.setAccount(platUser.getMobile()); platUser.setAccount(platUser.getMobile());
platUser.setIsTenant(CommonEnum.NO.getValue()); platUser.setIsTenant(CommonEnum.NO.getValue());
PlatOrg platOrg = Optional.ofNullable(orgNameMap.get(vo.getOrgName())).orElse(new PlatOrg());
platUser.setOrgId(platOrg.getId());
platUser.setOrgPath(platOrg.getPath()+","+platOrg.getId());
platUsers.add(platUser); platUsers.add(platUser);
}); });
......
package com.makeit.service.saas;
import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.dto.saas.analysis.SaasSleepEvaluateReportDTO;
import com.makeit.entity.saas.analysis.SaasDiseaseReport;
import com.makeit.module.iot.vo.analysis.EvaluateReportVO;
/**
* <p>
* 睡眠质量分析模型评估结果 服务类
* </p>
*
* @author eugene young
* @since 2023-09-05
*/
public interface SaasDiseaseReportService extends IService<SaasDiseaseReport> {
SaasDiseaseReport view(String id);
void add(SaasSleepEvaluateReportDTO dto);
void edit(SaasSleepEvaluateReportDTO dto);
EvaluateReportVO getByScore(long totalScore);
}
package com.makeit.service.saas.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.dto.saas.analysis.SaasSleepEvaluateReportDTO;
import com.makeit.entity.saas.analysis.SaasDiseaseReport;
import com.makeit.mapper.saas.analysis.SaasDiseaseReportMapper;
import com.makeit.module.iot.vo.analysis.EvaluateReportVO;
import com.makeit.service.saas.SaasDiseaseReportService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@Service
public class SaasDiseaseReportServiceImpl extends ServiceImpl<SaasDiseaseReportMapper, SaasDiseaseReport> implements SaasDiseaseReportService {
@Override
public SaasDiseaseReport view(String id) {
return getById(id);
}
@Override
public void add(SaasSleepEvaluateReportDTO dto) {
SaasDiseaseReport entity = new SaasDiseaseReport();
String result = JSON.toJSONString(dto.getResultContent());
entity.setResultContent(result);
save(entity);
}
@Override
public void edit(SaasSleepEvaluateReportDTO dto) {
SaasDiseaseReport entity = getById(dto.getId());
String result = JSON.toJSONString(dto.getResultContent());
entity.setResultContent(result);
saveOrUpdate(entity);
}
@Override
public EvaluateReportVO getByScore(long totalScore) {
return null;
}
}
...@@ -34,14 +34,16 @@ public class SaasSleepEvaluateReportServiceImpl extends ServiceImpl<SaasSleepEva ...@@ -34,14 +34,16 @@ public class SaasSleepEvaluateReportServiceImpl extends ServiceImpl<SaasSleepEva
@Override @Override
public void add(SaasSleepEvaluateReportDTO dto) { public void add(SaasSleepEvaluateReportDTO dto) {
SaasSleepEvaluateReport entity = new SaasSleepEvaluateReport(); SaasSleepEvaluateReport entity = new SaasSleepEvaluateReport();
BeanUtils.copyProperties(dto, entity); String result = JSON.toJSONString(dto.getResultContent());
entity.setResultContent(result);
save(entity); save(entity);
} }
@Override @Override
public void edit(SaasSleepEvaluateReportDTO dto) { public void edit(SaasSleepEvaluateReportDTO dto) {
SaasSleepEvaluateReport entity = getById(dto.getId()); SaasSleepEvaluateReport entity = getById(dto.getId());
BeanUtils.copyProperties(dto, entity); String result = JSON.toJSONString(dto.getResultContent());
entity.setResultContent(result);
saveOrUpdate(entity); saveOrUpdate(entity);
} }
......
...@@ -48,6 +48,7 @@ public class PlatAlarmRecordVO extends BaseTenantDTO { ...@@ -48,6 +48,7 @@ public class PlatAlarmRecordVO extends BaseTenantDTO {
private String dealUser; private String dealUser;
@ApiModelProperty(value = "处理时间") @ApiModelProperty(value = "处理时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dealDate; private LocalDateTime dealDate;
@ApiModelProperty(value = "所属组织id") @ApiModelProperty(value = "所属组织id")
......
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