Commit 9543c636 by lzy

Merge branch 'dev' of git.xmmakeit.com:huangjiay/iot-platform-server into dev

parents 87d2654a dd9ffdbf
Showing with 513 additions and 32 deletions
...@@ -417,22 +417,24 @@ CREATE TABLE `alarm_config` ( ...@@ -417,22 +417,24 @@ CREATE TABLE `alarm_config` (
CREATE TABLE `plat_alarm_record` ( CREATE TABLE `plat_alarm_record` (
`id` VARCHAR ( 64 ) NOT NULL COMMENT 'id', `id` varchar(64) NOT NULL COMMENT 'id',
`alarm_id` VARCHAR ( 64 ) DEFAULT NULL COMMENT '关联告警配置', `alarm_id` varchar(64) DEFAULT NULL COMMENT '关联告警配置',
`alarm_date` datetime DEFAULT NULL COMMENT '告警时间', `alarm_date` datetime DEFAULT NULL COMMENT '告警时间',
`status` char ( 1 ) DEFAULT NULL COMMENT '状态 0 待处理 1 已处理', `alarm_type` varchar(4) DEFAULT NULL COMMENT '告警类型 1 长者跌倒 2 呼吸异常 3 心率异常 4 行为异常',
`notice_status` char ( 1 ) DEFAULT NULL COMMENT '通知家属状态 0 未通知 1 已通知', `status` char(1) DEFAULT NULL COMMENT '状态 0 待处理 1 已处理',
`content` varchar(128) NOT NULL COMMENT '告警内容', `notice_status` char(1) DEFAULT NULL COMMENT '通知家属状态 0 未通知 1 已通知',
`deal_user` VARCHAR ( 64 ) DEFAULT NULL COMMENT '处理人', `content` varchar(128) NOT NULL COMMENT '告警内容',
`deal_date` datetime DEFAULT NULL COMMENT '处理时间', `deal_user` varchar(64) DEFAULT NULL COMMENT '处理人',
`create_by` VARCHAR ( 64 ) DEFAULT NULL COMMENT '创建者', `deal_date` datetime DEFAULT NULL COMMENT '处理时间',
`create_date` datetime DEFAULT NULL COMMENT '创建时间', `create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`update_by` VARCHAR ( 64 ) DEFAULT NULL COMMENT '更新者', `create_date` datetime DEFAULT NULL COMMENT '创建时间',
`update_date` datetime DEFAULT NULL COMMENT '更新时间', `update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`del_flag` char ( 1 ) DEFAULT '0' COMMENT '删除标记', `update_date` datetime DEFAULT NULL COMMENT '更新时间',
`tenant_id` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ' 租户id ', `del_flag` char(1) DEFAULT '0' COMMENT '删除标记',
PRIMARY KEY ( `id` ) USING BTREE `tenant_id` varchar(64) DEFAULT NULL COMMENT ' 租户id ',
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4 COMMENT = '告警记录'; `org_id` varchar(64) DEFAULT NULL COMMENT '所属组织id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='告警记录';
CREATE TABLE `plafform_setting` ( CREATE TABLE `plafform_setting` (
......
...@@ -11,8 +11,8 @@ public class Const { ...@@ -11,8 +11,8 @@ public class Const {
public static final String MDC_USER_ID = "userId"; public static final String MDC_USER_ID = "userId";
//上面三个MDC用 //上面三个MDC用
//前端要求横杠格式,否则有大小写问题
public static final String TENANT_ID = "tenantId"; public static final String TENANT_ID = "tenant-id";
public static final String TENANT_ID_DB = "tenant_id"; public static final String TENANT_ID_DB = "tenant_id";
public static final String CHN = "中国"; public static final String CHN = "中国";
......
...@@ -156,4 +156,8 @@ public class StreamUtil { ...@@ -156,4 +156,8 @@ public class StreamUtil {
return list.stream().map(function).collect(Collectors.joining(",")); return list.stream().map(function).collect(Collectors.joining(","));
} }
public static <T> String join(List<T> list, Predicate<T> predicate, Function<T, String> function) {
return list.stream().filter(predicate).map(function).collect(Collectors.joining(","));
}
} }
...@@ -50,6 +50,10 @@ public class JoinUtil { ...@@ -50,6 +50,10 @@ public class JoinUtil {
join(list, service, null, getNidList, getMid, consumerList); join(list, service, null, getNidList, getMid, consumerList);
} }
public static <T, M extends BaseEntity> void join(List<T> list, IService<M> service, List<Function<T, String>> getNidList, List<BiConsumer<T, M>> consumerList) {
join(list, service, null, getNidList, BaseEntity::getId, consumerList);
}
public static <T, M> void join(List<T> list, IService<M> service, Consumer<LambdaQueryWrapper<M>> extQuery, List<Function<T, String>> getNidList, SFunction<M, String> getMid, List<BiConsumer<T, M>> consumerList) { public static <T, M> void join(List<T> list, IService<M> service, Consumer<LambdaQueryWrapper<M>> extQuery, List<Function<T, String>> getNidList, SFunction<M, String> getMid, List<BiConsumer<T, M>> consumerList) {
if (list.isEmpty()) { if (list.isEmpty()) {
return; return;
......
...@@ -49,17 +49,30 @@ public class PlatAlarmConfigController { ...@@ -49,17 +49,30 @@ public class PlatAlarmConfigController {
return ApiResponseUtils.success(); return ApiResponseUtils.success();
} }
@ApiOperation("编辑") @ApiOperation("编辑(审核)")
@PostMapping("editAudit")
public ApiResponseEntity<?> editAudit(PlatAlarmConfigDTOVO dto) {
platAlarmConfigService.editAudit(dto);
return ApiResponseUtils.success();
}
@ApiOperation("编辑(不审核)")
@PostMapping("edit") @PostMapping("edit")
public ApiResponseEntity<?> edit(PlatAlarmConfigDTOVO dto) { public ApiResponseEntity<?> edit(PlatAlarmConfigDTOVO dto) {
platAlarmConfigService.edit(dto); platAlarmConfigService.edit(dto);
return ApiResponseUtils.success(); return ApiResponseUtils.success();
} }
@ApiOperation("详情") @ApiOperation("详情(审核)")
@PostMapping("editView") @PostMapping("viewAudit")
public ApiResponseEntity<PlatAlarmConfigDTOVO> editView(@RequestBody BaseIdDTO baseIdDTO) { public ApiResponseEntity<PlatAlarmConfigDTOVO> viewAudit(@RequestBody BaseIdDTO baseIdDTO) {
return ApiResponseUtils.success(platAlarmConfigService.editView(baseIdDTO.getId())); return ApiResponseUtils.success(platAlarmConfigService.viewAudit(baseIdDTO.getId()));
}
@ApiOperation("详情(不审核)")
@PostMapping("view")
public ApiResponseEntity<PlatAlarmConfigDTOVO> view(@RequestBody BaseIdDTO baseIdDTO) {
return ApiResponseUtils.success(platAlarmConfigService.view(baseIdDTO.getId()));
} }
@ApiOperation("改变状态") @ApiOperation("改变状态")
......
package com.makeit.module.controller.alarm;
import com.makeit.common.dto.BaseIdDTO;
import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO;
import com.makeit.common.response.ApiResponseEntity;
import com.makeit.common.response.ApiResponseUtils;
import com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO;
import com.makeit.service.platform.alarm.PlatAlarmRecordService;
import com.makeit.vo.platform.alarm.PlatAlarmRecordVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
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;
@Api(tags = "告警记录")
@RestController
@RequestMapping("/plat/alarm-record")
public class PlatAlarmRecordController {
@Autowired
private PlatAlarmRecordService platAlarmRecordService;
@ApiOperation("列表")
@PostMapping("page")
public ApiResponseEntity<PageVO<PlatAlarmRecordVO>> page(@RequestBody PageReqDTO<PlatAlarmRecordQueryDTO> dto) {
return ApiResponseUtils.success(platAlarmRecordService.page(dto));
}
@ApiOperation("查看")
@PostMapping("view")
public ApiResponseEntity<PlatAlarmRecordVO> view(@RequestBody BaseIdDTO dto) {
return ApiResponseUtils.success(platAlarmRecordService.view(dto.getId()));
}
@ApiOperation("处理")
@PostMapping("deal")
public ApiResponseEntity<Void> deal(@RequestBody BaseIdDTO dto) {
platAlarmRecordService.deal(dto.getId());
return ApiResponseUtils.success();
}
@ApiOperation("通知家属")
@PostMapping("notice")
public ApiResponseEntity<Void> notice(@RequestBody BaseIdDTO dto) {
platAlarmRecordService.notice(dto.getId());
return ApiResponseUtils.success();
}
}
package com.makeit.dto.platform.alarm;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 告警配置
* </p>
*
* @author eugene young
* @since 2023-09-04
*/
@Data
@EqualsAndHashCode
@ApiModel(value = "PlatAlarmConfig对象", description = "告警配置")
public class PlatAlarmConfigBehaviorDTOVO {
@ApiModelProperty("平均停留时长允许范围")
private Integer duration;
}
...@@ -21,11 +21,11 @@ import javax.validation.constraints.NotBlank; ...@@ -21,11 +21,11 @@ import javax.validation.constraints.NotBlank;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ApiModel(value="PlatAlarmConfig对象", description="告警配置") @ApiModel(value = "PlatAlarmConfig对象", description = "告警配置")
public class PlatAlarmConfigDTOVO extends BaseTenantDTO { public class PlatAlarmConfigDTOVO extends BaseTenantDTO {
@NotBlank(message = "告警类型不能为空") @NotBlank(message = "告警类型不能为空")
@DictEnum(em = PlatAlarmConfigEnum.AlarmTypeEnum.class,message = "告警类型可选值为{m}") @DictEnum(em = PlatAlarmConfigEnum.AlarmTypeEnum.class, message = "告警类型可选值为{m}")
@ApiModelProperty(value = "告警类型 数据字典 1 长者跌倒 2 呼吸异常 3 心率异常 4 行为异常") @ApiModelProperty(value = "告警类型 数据字典 1 长者跌倒 2 呼吸异常 3 心率异常 4 行为异常")
private String alarmType; private String alarmType;
...@@ -47,6 +47,15 @@ public class PlatAlarmConfigDTOVO extends BaseTenantDTO { ...@@ -47,6 +47,15 @@ public class PlatAlarmConfigDTOVO extends BaseTenantDTO {
@ApiModelProperty(value = "规则配置") @ApiModelProperty(value = "规则配置")
private String ruleConfig; private String ruleConfig;
@ApiModelProperty(value = "心率异常")
private PlatAlarmConfigRespiratoryDTOVO respiratory;
@ApiModelProperty(value = "心率异常")
private PlatAlarmConfigHeartDTOVO heart;
@ApiModelProperty(value = "心率异常")
private PlatAlarmConfigBehaviorDTOVO behavior;
@ApiModelProperty(value = "内容") @ApiModelProperty(value = "内容")
private String content; private String content;
......
package com.makeit.dto.platform.alarm;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 告警配置
* </p>
*
* @author eugene young
* @since 2023-09-04
*/
@Data
@EqualsAndHashCode
@ApiModel(value = "PlatAlarmConfig对象", description = "告警配置")
public class PlatAlarmConfigHeartDTOVO {
@ApiModelProperty("心率正常范围开始")
private Integer heartRateStart;
@ApiModelProperty("心率正常范围结束")
private Integer heartRateEnd;
@ApiModelProperty("异常持续时间")
private Integer duration;
}
package com.makeit.dto.platform.alarm;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 告警配置
* </p>
*
* @author eugene young
* @since 2023-09-04
*/
@Data
@EqualsAndHashCode
@ApiModel(value = "PlatAlarmConfig对象", description = "告警配置")
public class PlatAlarmConfigRespiratoryDTOVO {
@ApiModelProperty("呼吸率正常范围开始")
private Integer respiratoryRateStart;
@ApiModelProperty("呼吸率正常范围结束")
private Integer respiratoryRateEnd;
@ApiModelProperty("异常持续时间")
private Integer duration;
}
package com.makeit.dto.platform.alarm;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.makeit.common.dto.BaseTenantDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;
import java.util.Date;
/**
* <p>
* 告警记录
* </p>
*
* @author eugene young
* @since 2023-09-04
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="PlatAlarmRecord对象", description="告警记录")
public class PlatAlarmRecordQueryDTO extends BaseTenantDTO {
@ApiModelProperty(value = "所属组织机构id")
private String orgId;
@ApiModelProperty(value = "告警时间-起")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createDateFrom;
@ApiModelProperty(value = "告警时间-止")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createDateTo;
@ApiModelProperty(value = "状态 0 待处理 1 已处理")
private String status;
@ApiModelProperty(value = "处理人")
private String dealUser;
@ApiModelProperty(value = "处理时间-起")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date dealDateFrom;
@ApiModelProperty(value = "处理时间-止")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date dealDateTo;
@ApiModelProperty(value = "告警类型 数据字典 1 长者跌倒 2 呼吸异常 3 心率异常 4 行为异常")
private String alarmType;
}
...@@ -2,8 +2,10 @@ package com.makeit.entity.platform.alarm; ...@@ -2,8 +2,10 @@ package com.makeit.entity.platform.alarm;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.makeit.common.entity.BaseBusEntity; import com.makeit.common.entity.BaseBusEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
/** /**
...@@ -19,6 +21,9 @@ public class PlatAlarmRecord extends BaseBusEntity { ...@@ -19,6 +21,9 @@ public class PlatAlarmRecord extends BaseBusEntity {
*/ */
private String alarmId; private String alarmId;
@ApiModelProperty(value = "告警类型 数据字典 1 长者跌倒 2 呼吸异常 3 心率异常 4 行为异常")
private String alarmType;
/** /**
* 告警时间 * 告警时间
*/ */
...@@ -40,14 +45,16 @@ public class PlatAlarmRecord extends BaseBusEntity { ...@@ -40,14 +45,16 @@ public class PlatAlarmRecord extends BaseBusEntity {
private String content; private String content;
/** /**
* 处理人 * 处理人 存名字
*/ */
private String dealUser; private String dealUser;
/** /**
* 处理时间 * 处理时间
*/ */
private Date dealDate; private LocalDateTime dealDate;
private String orgId;
} }
......
...@@ -23,9 +23,13 @@ public interface PlatAlarmConfigService extends IService<PlatAlarmConfig> { ...@@ -23,9 +23,13 @@ public interface PlatAlarmConfigService extends IService<PlatAlarmConfig> {
void add(PlatAlarmConfigDTOVO dto); void add(PlatAlarmConfigDTOVO dto);
void editAudit(PlatAlarmConfigDTOVO dto);
void edit(PlatAlarmConfigDTOVO dto); void edit(PlatAlarmConfigDTOVO dto);
PlatAlarmConfigDTOVO editView(String id); PlatAlarmConfigDTOVO viewAudit(String id);
PlatAlarmConfigDTOVO view(String id);
void changeStatus(StatusDTO dto); void changeStatus(StatusDTO dto);
......
package com.makeit.service.platform.alarm; package com.makeit.service.platform.alarm;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO;
import com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO;
import com.makeit.entity.platform.alarm.PlatAlarmRecord; import com.makeit.entity.platform.alarm.PlatAlarmRecord;
import com.makeit.vo.platform.alarm.PlatAlarmRecordVO;
/** /**
* @author lixl * @author lixl
...@@ -10,4 +14,11 @@ import com.makeit.entity.platform.alarm.PlatAlarmRecord; ...@@ -10,4 +14,11 @@ import com.makeit.entity.platform.alarm.PlatAlarmRecord;
*/ */
public interface PlatAlarmRecordService extends IService<PlatAlarmRecord> { public interface PlatAlarmRecordService extends IService<PlatAlarmRecord> {
PageVO<PlatAlarmRecordVO> page(PageReqDTO<PlatAlarmRecordQueryDTO> dto);
PlatAlarmRecordVO view(String recordId);
void deal(String recordId);
void notice(String recordId);
} }
...@@ -69,7 +69,7 @@ public class PlatAlarmConfigServiceImpl extends ServiceImpl<PlatAlarmConfigMappe ...@@ -69,7 +69,7 @@ public class PlatAlarmConfigServiceImpl extends ServiceImpl<PlatAlarmConfigMappe
@Override @Override
@Transactional @Transactional
public void edit(PlatAlarmConfigDTOVO dto) { public void editAudit(PlatAlarmConfigDTOVO dto) {
PlatAlarmConfig db = getById(dto.getId()); PlatAlarmConfig db = getById(dto.getId());
if (StringUtils.isNotBlank(db.getContentAudit())) { if (StringUtils.isNotBlank(db.getContentAudit())) {
throw new RuntimeException(); throw new RuntimeException();
...@@ -83,7 +83,13 @@ public class PlatAlarmConfigServiceImpl extends ServiceImpl<PlatAlarmConfigMappe ...@@ -83,7 +83,13 @@ public class PlatAlarmConfigServiceImpl extends ServiceImpl<PlatAlarmConfigMappe
} }
@Override @Override
public PlatAlarmConfigDTOVO editView(String id) { @Transactional
public void edit(PlatAlarmConfigDTOVO dto) {
updateById(BeanDtoVoUtils.convert(dto,PlatAlarmConfig.class));
}
@Override
public PlatAlarmConfigDTOVO viewAudit(String id) {
PlatAlarmConfig alarmConfig = getById(id); PlatAlarmConfig alarmConfig = getById(id);
PlatAlarmConfigDTOVO vo = BeanDtoVoUtils.convert(alarmConfig, PlatAlarmConfigDTOVO.class); PlatAlarmConfigDTOVO vo = BeanDtoVoUtils.convert(alarmConfig, PlatAlarmConfigDTOVO.class);
...@@ -99,6 +105,20 @@ public class PlatAlarmConfigServiceImpl extends ServiceImpl<PlatAlarmConfigMappe ...@@ -99,6 +105,20 @@ public class PlatAlarmConfigServiceImpl extends ServiceImpl<PlatAlarmConfigMappe
} }
@Override
public PlatAlarmConfigDTOVO view(String id) {
PlatAlarmConfig alarmConfig = getById(id);
PlatAlarmConfigDTOVO vo = BeanDtoVoUtils.convert(alarmConfig, PlatAlarmConfigDTOVO.class);
JoinUtil.joinSplit(Arrays.asList(vo), platUserService, PlatAlarmConfigDTOVO::getNotifyUser, PlatUser::getId, (c, u) -> {
c.setNotifyUserName(StreamUtil.join(u, PlatUser::getUsername));
});
return vo;
}
@Transactional @Transactional
@Override @Override
public void changeStatus(StatusDTO dto) { public void changeStatus(StatusDTO dto) {
......
package com.makeit.service.platform.alarm.impl; package com.makeit.service.platform.alarm.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.common.page.PageReqDTO;
import com.makeit.common.page.PageVO;
import com.makeit.dto.platform.alarm.PlatAlarmRecordQueryDTO;
import com.makeit.entity.platform.alarm.PlatAlarmRecord; import com.makeit.entity.platform.alarm.PlatAlarmRecord;
import com.makeit.enums.CommonEnum;
import com.makeit.mapper.platform.alarm.PlatAlarmRecordMapper; import com.makeit.mapper.platform.alarm.PlatAlarmRecordMapper;
import com.makeit.service.platform.alarm.PlatAlarmRecordService; import com.makeit.service.platform.alarm.PlatAlarmRecordService;
import com.makeit.utils.data.convert.BeanDtoVoUtils;
import com.makeit.utils.data.convert.PageUtil;
import com.makeit.utils.user.common.CommonUserUtil;
import com.makeit.utils.user.common.CommonUserVO;
import com.makeit.vo.platform.alarm.PlatAlarmRecordVO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Objects;
/** /**
* @author lixl * @author lixl
...@@ -15,4 +33,51 @@ import org.springframework.stereotype.Service; ...@@ -15,4 +33,51 @@ import org.springframework.stereotype.Service;
public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMapper, PlatAlarmRecord> public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMapper, PlatAlarmRecord>
implements PlatAlarmRecordService{ implements PlatAlarmRecordService{
@Override
public PageVO<PlatAlarmRecordVO> page(PageReqDTO<PlatAlarmRecordQueryDTO> dto) {
PlatAlarmRecordQueryDTO param = dto.getData();
Page<PlatAlarmRecord> mpPage = PageUtil.toMpPage(dto);
LambdaQueryWrapper<PlatAlarmRecord> lambdaQueryWrapper = getLambdaQueryWrapper(param);
Page<PlatAlarmRecord> page = page(mpPage, lambdaQueryWrapper);
List<PlatAlarmRecord> records = page.getRecords();
List<PlatAlarmRecordVO> dtos = BeanDtoVoUtils.listVo(records, PlatAlarmRecordVO.class);
return PageUtil.toPageVO(dtos,page);
}
private LambdaQueryWrapper<PlatAlarmRecord> getLambdaQueryWrapper(PlatAlarmRecordQueryDTO param) {
return new LambdaQueryWrapper<PlatAlarmRecord>().ge(Objects.nonNull(param.getCreateDateFrom()), BaseEntity::getCreateDate, param.getCreateDateFrom())
.le(Objects.nonNull(param.getCreateDateTo()),BaseEntity::getCreateDate, param.getCreateDateTo())
.eq(StringUtils.isNotBlank(param.getAlarmType()),PlatAlarmRecord::getAlarmType, param.getAlarmType())
.eq(StringUtils.isNotBlank(param.getStatus()),PlatAlarmRecord::getStatus, param.getStatus())
.eq(StringUtils.isNotBlank(param.getDealUser()),PlatAlarmRecord::getDealUser, param.getDealUser())
.ge(Objects.nonNull(param.getDealDateFrom()),PlatAlarmRecord::getDealDate, param.getDealDateFrom())
.le(Objects.nonNull(param.getDealDateTo()),PlatAlarmRecord::getDealDate, param.getDealDateTo())
.eq(StringUtils.isNotBlank(param.getOrgId()),PlatAlarmRecord::getOrgId, param.getOrgId())
.orderByDesc(BaseEntity::getCreateDate)
;
}
@Override
public PlatAlarmRecordVO view(String recordId) {
PlatAlarmRecord platAlarmRecord = getById(recordId);
PlatAlarmRecordVO vo = BeanDtoVoUtils.convert(platAlarmRecord, PlatAlarmRecordVO.class);
return vo;
}
@Override
@Transactional
public void deal(String recordId) {
CommonUserVO user = CommonUserUtil.getUser();
PlatAlarmRecord platAlarmRecord = getById(recordId);
platAlarmRecord.setStatus(CommonEnum.YES.getValue());
platAlarmRecord.setDealDate(LocalDateTime.now());
platAlarmRecord.setDealUser(user.getName());
updateById(platAlarmRecord);
}
@Override
@Transactional
public void notice(String recordId) {
//todo
}
} }
...@@ -12,12 +12,18 @@ import com.makeit.entity.platform.elder.PlatElder; ...@@ -12,12 +12,18 @@ import com.makeit.entity.platform.elder.PlatElder;
import com.makeit.entity.platform.elder.PlatElderHealthInfo; import com.makeit.entity.platform.elder.PlatElderHealthInfo;
import com.makeit.entity.platform.elder.PlatElderOtherInfo; import com.makeit.entity.platform.elder.PlatElderOtherInfo;
import com.makeit.entity.platform.elder.PlatElderSocialRelation; import com.makeit.entity.platform.elder.PlatElderSocialRelation;
import com.makeit.entity.platform.space.PlatBed;
import com.makeit.entity.platform.space.PlatRoom;
import com.makeit.entity.platform.space.PlatSpace;
import com.makeit.enums.CodeMessageEnum; import com.makeit.enums.CodeMessageEnum;
import com.makeit.enums.FileSuffixEnum; import com.makeit.enums.FileSuffixEnum;
import com.makeit.exception.BusinessException; import com.makeit.exception.BusinessException;
import com.makeit.mapper.platform.elder.PlatElderMapper; import com.makeit.mapper.platform.elder.PlatElderMapper;
import com.makeit.service.platform.auth.PlatOrgService; import com.makeit.service.platform.auth.PlatOrgService;
import com.makeit.service.platform.elder.*; import com.makeit.service.platform.elder.*;
import com.makeit.service.platform.space.PlatBedService;
import com.makeit.service.platform.space.PlatRoomService;
import com.makeit.service.platform.space.PlatSpaceService;
import com.makeit.utils.data.convert.BeanDtoVoUtils; import com.makeit.utils.data.convert.BeanDtoVoUtils;
import com.makeit.utils.data.convert.PageUtil; import com.makeit.utils.data.convert.PageUtil;
import com.makeit.utils.data.convert.StreamUtil; import com.makeit.utils.data.convert.StreamUtil;
...@@ -65,6 +71,15 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder ...@@ -65,6 +71,15 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
@Autowired @Autowired
private PlatOrgService platOrgService; private PlatOrgService platOrgService;
@Autowired
private PlatSpaceService platSpaceService;
@Autowired
private PlatRoomService platRoomService;
@Autowired
private PlatBedService platBedService;
private LambdaQueryWrapper<PlatElder> lambdaQueryWrapper(PlatElderQueryDTO dto) { private LambdaQueryWrapper<PlatElder> lambdaQueryWrapper(PlatElderQueryDTO dto) {
return new QueryWrapper<PlatElder>().lambda() return new QueryWrapper<PlatElder>().lambda()
.like(StringUtils.isNotBlank(dto.getName()), PlatElder::getName, dto.getName()) .like(StringUtils.isNotBlank(dto.getName()), PlatElder::getName, dto.getName())
...@@ -93,6 +108,40 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder ...@@ -93,6 +108,40 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
d.setOrgName(StreamUtil.join(o, PlatOrg::getName)); d.setOrgName(StreamUtil.join(o, PlatOrg::getName));
}); });
JoinUtil.joinSplit(list, platSpaceService, PlatElderListVO::getSpacePath, (e, l) -> {
e.setSpacePathName(StreamUtil.join(l, Objects::nonNull, PlatSpace::getName));
});
JoinUtil.joinSplit(list, platRoomService, PlatElderListVO::getSpacePath, (e, l) -> {
e.setSpacePathName(e.getSpacePathName() + "," + StreamUtil.join(l, Objects::nonNull, PlatRoom::getName));
});
JoinUtil.joinSplit(list, platBedService, PlatElderListVO::getSpacePath, (e, l) -> {
e.setSpacePathName(e.getSpacePathName() + "," + StreamUtil.join(l, Objects::nonNull, PlatBed::getName));
});
JoinUtil.join(list, platSpaceService, Arrays.asList(
PlatElderListVO::getSpaceId,
PlatElderListVO::getStreetSpaceId,
PlatElderListVO::getBuildingSpaceId,
PlatElderListVO::getUnitSpaceId,
PlatElderListVO::getFloorSpaceId
), Arrays.asList(
(e, s) -> e.setSpaceName(s.getName()),
(e, s) -> e.setStreetSpaceName(s.getName()),
(e, s) -> e.setBuildingSpaceName(s.getName()),
(e, s) -> e.setUnitSpaceName(s.getName()),
(e, s) -> e.setFloorSpaceName(s.getName())
));
JoinUtil.join(list, platRoomService, PlatElderListVO::getRoomId, (e, l) -> {
e.setRoomName(l.getName());
});
JoinUtil.join(list, platBedService, PlatElderListVO::getBedId, (e, l) -> {
e.setBedName(l.getName());
});
return PageUtil.toPageVO(list, voPage); return PageUtil.toPageVO(list, voPage);
} }
...@@ -223,6 +272,43 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder ...@@ -223,6 +272,43 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
vo.setOtherInfo(otherInfo); vo.setOtherInfo(otherInfo);
List<PlatElderDTOVO> list = Arrays.asList(vo);
JoinUtil.joinSplit(list, platSpaceService, PlatElderDTOVO::getSpacePath, (e, l) -> {
e.setSpacePathName(StreamUtil.join(l, Objects::nonNull, PlatSpace::getName));
});
JoinUtil.joinSplit(list, platRoomService, PlatElderDTOVO::getSpacePath, (e, l) -> {
e.setSpacePathName(e.getSpacePathName() + "," + StreamUtil.join(l, Objects::nonNull, PlatRoom::getName));
});
JoinUtil.joinSplit(list, platBedService, PlatElderDTOVO::getSpacePath, (e, l) -> {
e.setSpacePathName(e.getSpacePathName() + "," + StreamUtil.join(l, Objects::nonNull, PlatBed::getName));
});
JoinUtil.join(list, platSpaceService, Arrays.asList(
PlatElderDTOVO::getSpaceId,
PlatElderDTOVO::getStreetSpaceId,
PlatElderDTOVO::getBuildingSpaceId,
PlatElderDTOVO::getUnitSpaceId,
PlatElderDTOVO::getFloorSpaceId
), Arrays.asList(
(e, s) -> e.setSpaceName(s.getName()),
(e, s) -> e.setStreetSpaceName(s.getName()),
(e, s) -> e.setBuildingSpaceName(s.getName()),
(e, s) -> e.setUnitSpaceName(s.getName()),
(e, s) -> e.setFloorSpaceName(s.getName())
));
JoinUtil.join(list, platRoomService, PlatElderDTOVO::getRoomId, (e, l) -> {
e.setRoomName(l.getName());
});
JoinUtil.join(list, platBedService, PlatElderDTOVO::getBedId, (e, l) -> {
e.setBedName(l.getName());
});
return vo; return vo;
} }
......
package com.makeit.vo.platform.alarm;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.makeit.common.dto.BaseTenantDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;
import java.util.Date;
/**
* <p>
* 告警记录
* </p>
*
* @author eugene young
* @since 2023-09-04
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="PlatAlarmRecord对象", description="告警记录")
public class PlatAlarmRecordVO extends BaseTenantDTO {
@ApiModelProperty(value = "告警类型 数据字典 1 长者跌倒 2 呼吸异常 3 心率异常 4 行为异常")
private String alarmType;
@ApiModelProperty(value = "告警时间")
private Date alarmDate;
@ApiModelProperty(value = "状态 0 待处理 1 已处理")
private String status;
@ApiModelProperty(value = "通知家属状态 0 未通知 1 已通知")
private String noticeStatus;
@ApiModelProperty(value = "告警内容")
private String content;
@ApiModelProperty(value = "处理人")
private String dealUser;
@ApiModelProperty(value = "处理时间")
private Date dealDate;
@ApiModelProperty(value = "所属组织id")
private String orgId;
@ApiModelProperty(value = "告警时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createDate;
}
...@@ -42,6 +42,9 @@ public class PlatElderListVO extends BaseTenantDTO { ...@@ -42,6 +42,9 @@ public class PlatElderListVO extends BaseTenantDTO {
private String phone; private String phone;
@ApiModelProperty(value = "空间id") @ApiModelProperty(value = "空间id")
private String spaceId;
@ApiModelProperty(value = "空间名称")
private String spaceName; private String spaceName;
@ApiModelProperty(value = "小区/社区/街道空间id") @ApiModelProperty(value = "小区/社区/街道空间id")
......
...@@ -134,8 +134,6 @@ tenant: ...@@ -134,8 +134,6 @@ tenant:
prefix: prefix:
- sys_ - sys_
- plat_ - plat_
# - wflow_model
# - wflow_record
ignore: ignore:
- sys_file - sys_file
- sys_dictionary - sys_dictionary
...@@ -145,6 +143,7 @@ tenant: ...@@ -145,6 +143,7 @@ tenant:
- plat_tenant - plat_tenant
- plat_tenant_menu - plat_tenant_menu
- plat_user - plat_user
- plat_menu
rsa: rsa:
......
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