Commit d8216f22 by 朱淼
parents d0ba5709 479929a6
......@@ -15,7 +15,7 @@ CREATE TABLE `sys_file` (
CREATE TABLE `sys_config` (
`id` varchar(64) COLLATE utf8mb4_general_ci NOT NULL COMMENT ' id ',
`tenant_id` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ' 租户id ',
`code` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT ' 编码 例如 user.type.personal 类名.字段.业务 ',
`code` varchar(100) COLLATE utf8mb4_general_ci NULL COMMENT ' 编码 例如 user.type.personal 类名.字段.业务 ',
`name` varchar(50) COLLATE utf8mb4_general_ci NOT NULL COMMENT ' 名称 例如 冻结 ',
`value` varchar(50) COLLATE utf8mb4_general_ci NOT NULL COMMENT ' 值 例如 1 2 3',
`sort` int DEFAULT '0' COMMENT '排序 ',
......
......@@ -26,7 +26,7 @@ public class SysConfig extends BaseBusEntity {
/**
* 编码 例如 user.type.personal 类名.字段.业务
*/
@NotBlank(message = "编码不能为空")
//@NotBlank(message = "编码不能为空")
@ApiModelProperty("编码CODE")
private String code;
......
......@@ -203,7 +203,7 @@ public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig
throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_NAME_DUPLICATE);
}
if (old.getCode().equals(sysConfig.getCode()) && !old.getId().equals(sysConfig.getId())) {
if (StringUtils.isNotBlank(old.getCode()) && old.getCode().equals(sysConfig.getCode()) && !old.getId().equals(sysConfig.getId())) {
throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_DICT_VALUE_DUPLICATE);
}
......
......@@ -50,7 +50,7 @@ public class PlatElderReportWeekController {
@ApiOperation("睡眠图表")
@PostMapping("sleepDiagram")
public ApiResponseEntity<List<PlatElderSleepDiagramWeekVO>> sleepDiagram(@RequestBody PlatElderReportDTO platElderIdDTO) {
public ApiResponseEntity<PlatElderSleepDiagramWeekVO> sleepDiagram(@RequestBody PlatElderReportDTO platElderIdDTO) {
return null;
}
......
......@@ -46,6 +46,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
......@@ -396,8 +397,8 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
*/
@Override
public List<PlatOrg> belongToOrgTree(PlatOrg param) {
PlatUserVO userVO = PlatUserUtil.getUserVO();
String isTenant = userVO.getIsTenant();
PlatUserVO userVOCanNull = PlatUserUtil.getUserVOCanNull();
String isTenant = userVOCanNull.getIsTenant();
//如果是租户账号 则有所有权限
if (StringUtils.equals(isTenant, CommonEnum.YES.getValue())) {
List<PlatOrg> orgList = this.list(new LambdaQueryWrapper<PlatOrg>()
......@@ -408,7 +409,7 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
}
//平台账号
Set<String> orgIdList = getOrgIdListByUserId(userVO.getId());
Set<String> orgIdList = getOrgIdListByUserId(userVOCanNull.getId());
List<PlatOrg> orgList = this.list(new LambdaQueryWrapper<PlatOrg>()
.eq(StringUtils.isNotEmpty(param.getType()), PlatOrg::getType, param.getType())
.in(BaseEntity::getId, orgIdList).eq(PlatOrg::getStatus, CommonEnum.YES.getValue()));
......@@ -436,9 +437,8 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
return new HashSet<>();
}
List<PlatRole> roleList = platRoleService.listByIds(roleOrgList.stream().map(PlatRoleOrg::getRoleId).collect(Collectors.toList()));
return roleList.stream().flatMap(vo -> Stream.of(vo.getDataScope().split(","))).collect(Collectors.toSet());
return roleList.stream().flatMap(vo -> Stream.of(Optional.ofNullable(vo.getDataScope()).orElse(new String()) .split(","))).collect(Collectors.toSet());
}
/**
* 租户权限的组织树
* @param orgList
......
......@@ -423,7 +423,7 @@ implements PlatRoleService {
*/
@Override
public List<PlatRole> belongTo(BaseIdDTO baseIdDTO) {
PlatUserVO userVO = PlatUserUtil.getUserVO();
PlatUserVO userVO = PlatUserUtil.getUserVOCanNull();
if(StringUtils.equals(userVO.getIsTenant(),CommonEnum.YES.getValue())){
return this.list(new LambdaQueryWrapper<PlatRole>().orderByDesc(BaseEntity::getUpdateDate));
}
......
package com.makeit.service.platform.elder;
import com.makeit.common.response.ApiResponseEntity;
import com.makeit.dto.platform.elder.PlatElderReportDTO;
import com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO;
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 com.makeit.vo.platform.elder.report.week.PlatElderSleepDiagramWeekVO;
import java.time.LocalDate;
import java.util.List;
......@@ -29,6 +28,8 @@ public interface PlatElderDayReportWeekService {
PlatElderSleepEvaluationVO sleepEvaluation(PlatElderReportDTO platElderIdDTO);
PlatElderSleepDiagramWeekVO sleepDiagram(PlatElderReportDTO platElderIdDTO);
PlatElderHeartRespiratoryEvaluationVO heartRespiratoryEvaluationInternal(PlatElderReportDTO platElderIdDTO, LocalDate weekStartDate, LocalDate weekEndDate);
PlatElderHeartRespiratoryEvaluationVO heartRespiratoryEvaluation(PlatElderReportDTO platElderIdDTO);
......
......@@ -6,6 +6,7 @@ import com.makeit.dto.platform.elder.PlatElderReportDTO;
import com.makeit.entity.platform.device.PlatDevice;
import com.makeit.entity.platform.elder.PlatElderBreatheAnalysis;
import com.makeit.entity.platform.elder.PlatElderBreatheDayStat;
import com.makeit.entity.platform.elder.PlatElderSleep;
import com.makeit.entity.platform.elder.PlatElderSleepAnalysis;
import com.makeit.enums.platform.alarm.PlatAlarmConfigEnum;
import com.makeit.module.iot.vo.analysis.EvaluateReportVO;
......@@ -22,6 +23,8 @@ import com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO;
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 com.makeit.vo.platform.elder.report.week.PlatElderSleepDiagramWeekContentVO;
import com.makeit.vo.platform.elder.report.week.PlatElderSleepDiagramWeekVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -33,6 +36,7 @@ import java.time.temporal.TemporalAdjusters;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeekService {
......@@ -47,6 +51,9 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
private PlatElderSleepAnalysisService platElderSleepAnalysisService;
@Autowired
private PlatElderSleepService platElderSleepService;
@Autowired
private SaasSleepEvaluateReportService saasSleepEvaluateReportService;
@Autowired
......@@ -201,6 +208,59 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
}
@Override
public PlatElderSleepDiagramWeekVO sleepDiagram(PlatElderReportDTO platElderIdDTO) {
LocalDate weekStartDate = weekStartDate(platElderIdDTO.getStartTime());
LocalDate weekEndDate = weekStartDate(platElderIdDTO.getEndTime());
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
List<PlatElderSleep> sleepList = platElderSleepService.list(new QueryWrapper<PlatElderSleep>().lambda()
.eq(PlatElderSleep::getElderId, platElderIdDTO.getElderId())
.ge(PlatElderSleep::getHappenDate, dateTimeFormatter.format(weekStartDate))
.le(PlatElderSleep::getHappenDate, dateTimeFormatter.format(weekEndDate))
);
List<PlatElderSleepAnalysis> sleepAnalysisList = platElderSleepAnalysisService.list(new QueryWrapper<PlatElderSleepAnalysis>().lambda()
.eq(PlatElderSleepAnalysis::getElderId, platElderIdDTO.getElderId())
.ge(PlatElderSleepAnalysis::getHappenDate, dateTimeFormatter.format(weekStartDate))
.le(PlatElderSleepAnalysis::getHappenDate, dateTimeFormatter.format(weekEndDate))
);
Map<Integer, Map<String, List<PlatElderSleep>>> sleepMap = sleepList.stream().collect(Collectors.groupingBy(PlatElderSleep::getElderSleepType, Collectors.groupingBy(PlatElderSleep::getHappenDate)));
Map<String, PlatElderSleepAnalysis> sleepAnalysisMap = StreamUtil.toMap(sleepAnalysisList, PlatElderSleepAnalysis::getHappenDate);
List<LocalDate> dateList = LocalDateTimeUtils.getDateSeries(weekStartDate, weekEndDate);
List<PlatElderSleepDiagramWeekContentVO> sleep = StreamUtil.map(dateList, e -> {
PlatElderSleepDiagramWeekContentVO vo = new PlatElderSleepDiagramWeekContentVO();
vo.setDay(e);
// List<PlatElderSleep> list =
//
// vo.setSleepDeepDuration();
// vo.setSleepModerateDuration();
// vo.setSleepLightnessDuration();
// vo.setSoberDuration();
PlatElderSleepAnalysis platElderSleepAnalysis = sleepAnalysisMap.get(dateTimeFormatter.format(e));
if (platElderSleepAnalysis != null) {
vo.setTurnedCount(platElderSleepAnalysis.getTurnedCount());
vo.setBodyMoveCount(platElderSleepAnalysis.getActionCount());
vo.setScore(Integer.valueOf(platElderSleepAnalysis.getSleepScore() + ""));
}
return vo;
});
return null;
}
@Override
public PlatElderHeartRespiratoryEvaluationVO heartRespiratoryEvaluationInternal(PlatElderReportDTO platElderIdDTO, LocalDate weekStartDate, LocalDate weekEndDate) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
......@@ -279,15 +339,23 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
LambdaQueryWrapper<PlatElderBreatheDayStat> lambdaQueryWrapper = new QueryWrapper<PlatElderBreatheDayStat>().lambda();
lambdaQueryWrapper.ge(PlatElderBreatheDayStat::getDay, weekStartDate);
lambdaQueryWrapper.le(PlatElderBreatheDayStat::getDay, weekEndDate);
String finalDeviceId = deviceId;
String finalOriDeviceId = oriDeviceId;
lambdaQueryWrapper.and(qw -> {
if (StringUtils.isNotBlank(platElderIdDTO.getElderId())) {
lambdaQueryWrapper.eq(PlatElderBreatheDayStat::getElderId, platElderIdDTO.getElderId());
}
if (StringUtils.isNotBlank(deviceId)) {
lambdaQueryWrapper.or().eq(PlatElderBreatheDayStat::getDeviceId, deviceId);
if (StringUtils.isNotBlank(finalDeviceId)) {
lambdaQueryWrapper.or().eq(PlatElderBreatheDayStat::getDeviceId, finalDeviceId);
}
if (StringUtils.isNotBlank(oriDeviceId)) {
lambdaQueryWrapper.or().eq(PlatElderBreatheDayStat::getOriDeviceId, oriDeviceId);
if (StringUtils.isNotBlank(finalOriDeviceId)) {
lambdaQueryWrapper.or().eq(PlatElderBreatheDayStat::getOriDeviceId, finalOriDeviceId);
}
});
lambdaQueryWrapper.orderByAsc(PlatElderBreatheDayStat::getDay);
......
......@@ -20,7 +20,7 @@ public class PlatElderSleepDiagramWeekContentVO {
@ApiModelProperty(value = "浅度睡眠时长")
private Integer sleepLightnessDuration;
@ApiModelProperty(value = "情形时长")
@ApiModelProperty(value = "清醒时长")
private Integer soberDuration;
@ApiModelProperty(value = "翻身次数")
......
......@@ -3,13 +3,15 @@ package com.makeit.vo.platform.elder.report.week;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class PlatElderSleepDiagramWeekVO {
@ApiModelProperty("睡眠")
private PlatElderSleepDiagramWeekContentVO sleep;
private List<PlatElderSleepDiagramWeekContentVO> sleep;
@ApiModelProperty("体动")
private PlatElderSleepDiagramWeekContentVO rest;
private List<PlatElderSleepDiagramWeekContentVO> rest;
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.makeit.mapper.platform.auth.PlatUserRoleMapper">
<select id="getByUserIdList" resultType="com.makeit.dto.platform.auth.PlatUserRoleDTO">
select distinct pur.role_id,
pur.user_id,
pr.name as roleName
from plat_user_role pur
left join plat_role pr on pur.role_id = pr.id
<where>
<if test="userIdList != null and userIdList.size()>0">
AND pur.user_id IN
<foreach collection="userIdList" item="item" separator="," open="(" close=")" index="">
#{item}
</foreach>
</if>
</where>
</select>
</mapper>
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