Commit 9a74cf6f by 朱淼

修改bug

parent ab080c56
...@@ -3,7 +3,9 @@ package com.makeit.module.controller.dataScreen; ...@@ -3,7 +3,9 @@ package com.makeit.module.controller.dataScreen;
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.dataScreen.PlatDataScreenQueryDTO; import com.makeit.dto.platform.dataScreen.PlatDataScreenQueryDTO;
import com.makeit.module.system.entity.ChinaArea;
import com.makeit.service.platform.dataScreen.DataScreenService; import com.makeit.service.platform.dataScreen.DataScreenService;
import com.makeit.utils.area.ChinaAreaVO;
import com.makeit.vo.platform.dataScreen.*; import com.makeit.vo.platform.dataScreen.*;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -64,4 +66,11 @@ public class DataScreenController { ...@@ -64,4 +66,11 @@ public class DataScreenController {
public ApiResponseEntity<List<PlatMapStatisticsVO>> mapStatistics(@RequestBody PlatDataScreenQueryDTO dto) { public ApiResponseEntity<List<PlatMapStatisticsVO>> mapStatistics(@RequestBody PlatDataScreenQueryDTO dto) {
return ApiResponseUtils.success(dataScreenService.mapStatistics(dto)); return ApiResponseUtils.success(dataScreenService.mapStatistics(dto));
} }
@ApiOperation("地图区域")
@PostMapping("mapList")
public ApiResponseEntity<List<ChinaAreaVO>> mapList(@RequestBody PlatDataScreenQueryDTO dto) {
return ApiResponseUtils.success(dataScreenService.mapList(dto));
}
} }
...@@ -4,6 +4,7 @@ import com.makeit.common.response.ApiResponseEntity; ...@@ -4,6 +4,7 @@ import com.makeit.common.response.ApiResponseEntity;
import com.makeit.common.response.ApiResponseUtils; import com.makeit.common.response.ApiResponseUtils;
import com.makeit.dto.platform.workstation.WorkStationQueryDTO; import com.makeit.dto.platform.workstation.WorkStationQueryDTO;
import com.makeit.service.platform.workstation.WorkStationService; import com.makeit.service.platform.workstation.WorkStationService;
import com.makeit.vo.platform.workstation.WorkStationHomeStatisticsVO;
import com.makeit.vo.platform.workstation.WorkStationInstitutionRoomVO; import com.makeit.vo.platform.workstation.WorkStationInstitutionRoomVO;
import com.makeit.vo.platform.workstation.WorkStationInstitutionStatisticsVO; import com.makeit.vo.platform.workstation.WorkStationInstitutionStatisticsVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -35,4 +36,10 @@ public class WorkStationController { ...@@ -35,4 +36,10 @@ public class WorkStationController {
public ApiResponseEntity<List<WorkStationInstitutionRoomVO>> institutionList(@RequestBody WorkStationQueryDTO dto) { public ApiResponseEntity<List<WorkStationInstitutionRoomVO>> institutionList(@RequestBody WorkStationQueryDTO dto) {
return ApiResponseUtils.success(workStationService.institutionList(dto)); return ApiResponseUtils.success(workStationService.institutionList(dto));
} }
@ApiOperation("居家-统计")
@PostMapping("homeStatistics")
public ApiResponseEntity<WorkStationHomeStatisticsVO> homeStatistics(@RequestBody WorkStationQueryDTO dto) {
return ApiResponseUtils.success(workStationService.homeStatistics(dto));
}
} }
...@@ -28,5 +28,7 @@ public class PlatDataScreenQueryDTO { ...@@ -28,5 +28,7 @@ public class PlatDataScreenQueryDTO {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("结束时间") @ApiModelProperty("结束时间")
private LocalDateTime endTime; private LocalDateTime endTime;
@ApiModelProperty("类型 1-居家 2-机构")
private String type;
} }
...@@ -38,4 +38,7 @@ public class WorkStationQueryDTO { ...@@ -38,4 +38,7 @@ public class WorkStationQueryDTO {
@ApiModelProperty("告警类型") @ApiModelProperty("告警类型")
private String alarmType; private String alarmType;
@ApiModelProperty("老人ids")
private List<String> elderIds;
} }
...@@ -96,4 +96,6 @@ public interface PlatOrgService extends IService<PlatOrg> { ...@@ -96,4 +96,6 @@ public interface PlatOrgService extends IService<PlatOrg> {
void saveOrg(PlatOrg platOrg); void saveOrg(PlatOrg platOrg);
List<PlatOrg> createOrgTree(List<PlatOrg> orgList); List<PlatOrg> createOrgTree(List<PlatOrg> orgList);
List<PlatOrg> belongToScopeList(PlatOrg param);
} }
...@@ -457,6 +457,27 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg> ...@@ -457,6 +457,27 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
return orgList.stream().filter(vo->StringUtils.isBlank(vo.getParentNodeId())).collect(Collectors.toList()); return orgList.stream().filter(vo->StringUtils.isBlank(vo.getParentNodeId())).collect(Collectors.toList());
} }
@Override
public List<PlatOrg> belongToScopeList(PlatOrg param) {
PlatUserVO userVO = PlatUserUtil.getUserVO();
String isTenant = userVO.getIsTenant();
//如果是租户账号 则有所有权限
if (StringUtils.equals(isTenant, CommonEnum.YES.getValue())) {
List<PlatOrg> orgList = this.list(new LambdaQueryWrapper<PlatOrg>()
.eq(PlatOrg::getStatus, CommonEnum.YES.getValue())
);
return orgList;
}
//平台账号
Set<String> orgIdList = getOrgIdListByUserId(userVO.getId());
List<PlatOrg> orgList = this.list(new LambdaQueryWrapper<PlatOrg>().in(BaseEntity::getId, orgIdList).eq(PlatOrg::getStatus, CommonEnum.YES.getValue()));
if (CollectionUtils.isEmpty(orgList)) {
return new ArrayList<>();
}
return orgList;
}
/** /**
* 寻找最近的父节点 * 寻找最近的父节点
* @param orgMap 有权限的组织 * @param orgMap 有权限的组织
......
package com.makeit.service.platform.dataScreen; package com.makeit.service.platform.dataScreen;
import com.makeit.dto.platform.dataScreen.PlatDataScreenQueryDTO; import com.makeit.dto.platform.dataScreen.PlatDataScreenQueryDTO;
import com.makeit.utils.area.ChinaAreaVO;
import com.makeit.vo.platform.dataScreen.*; import com.makeit.vo.platform.dataScreen.*;
import java.util.List; import java.util.List;
...@@ -23,4 +24,6 @@ public interface DataScreenService { ...@@ -23,4 +24,6 @@ public interface DataScreenService {
PlatBaseInfoStatisticsVO baseInfoStatistics(PlatDataScreenQueryDTO dto); PlatBaseInfoStatisticsVO baseInfoStatistics(PlatDataScreenQueryDTO dto);
List<PlatMapStatisticsVO> mapStatistics(PlatDataScreenQueryDTO dto); List<PlatMapStatisticsVO> mapStatistics(PlatDataScreenQueryDTO dto);
List<ChinaAreaVO> mapList(PlatDataScreenQueryDTO dto);
} }
...@@ -89,14 +89,22 @@ public class DataScreenServiceImpl implements DataScreenService { ...@@ -89,14 +89,22 @@ public class DataScreenServiceImpl implements DataScreenService {
.in(PlatElder::getOrgId, dto.getOrgIds()) .in(PlatElder::getOrgId, dto.getOrgIds())
.eq(PlatElder::getSex, PlatElderEnum.SexEnum.WOMAN.getValue())); .eq(PlatElder::getSex, PlatElderEnum.SexEnum.WOMAN.getValue()));
long total = womanElderNumber + manElderNumber; long total = womanElderNumber + manElderNumber;
PlatSexStatisticsVO vo = new PlatSexStatisticsVO();
if(total>0){
BigDecimal manRate = new BigDecimal(manElderNumber).divide(new BigDecimal(total), 4, BigDecimal.ROUND_HALF_UP) BigDecimal manRate = new BigDecimal(manElderNumber).divide(new BigDecimal(total), 4, BigDecimal.ROUND_HALF_UP)
.multiply(new BigDecimal(100)); .multiply(new BigDecimal(100));
BigDecimal womanRate = new BigDecimal(100).subtract(manRate); BigDecimal womanRate = new BigDecimal(100).subtract(manRate);
PlatSexStatisticsVO vo = new PlatSexStatisticsVO();
vo.setManNumber(manElderNumber); vo.setManNumber(manElderNumber);
vo.setManRate(manRate); vo.setManRate(manRate);
vo.setWomanNumber(womanElderNumber); vo.setWomanNumber(womanElderNumber);
vo.setWomanRate(womanRate); vo.setWomanRate(womanRate);
}else {
vo.setManNumber(0L);
vo.setManRate(BigDecimal.ZERO);
vo.setWomanNumber(0L);
vo.setWomanRate(BigDecimal.ZERO);
}
return vo; return vo;
} }
...@@ -145,7 +153,7 @@ public class DataScreenServiceImpl implements DataScreenService { ...@@ -145,7 +153,7 @@ public class DataScreenServiceImpl implements DataScreenService {
} }
if(PlatAlarmConfigEnum.AlarmTypeEnum.HEART.getValue().equals(record.getAlarmType()) || if(PlatAlarmConfigEnum.AlarmTypeEnum.HEART.getValue().equals(record.getAlarmType()) ||
PlatAlarmConfigEnum.AlarmTypeEnum.BREATHE.getValue().equals(record.getAlarmType()) ){ PlatAlarmConfigEnum.AlarmTypeEnum.BREATHE.getValue().equals(record.getAlarmType()) ){
listVo.setStatus(record.getRemark());
} }
listVo.setElderName(elderName); listVo.setElderName(elderName);
listVo.setType(record.getAlarmType()); listVo.setType(record.getAlarmType());
...@@ -248,6 +256,12 @@ public class DataScreenServiceImpl implements DataScreenService { ...@@ -248,6 +256,12 @@ public class DataScreenServiceImpl implements DataScreenService {
return list; return list;
} }
@Override
public List<ChinaAreaVO> mapList(PlatDataScreenQueryDTO dto) {
return null;
}
private List<PlatAlarmRecordStatisticsVo> coverToVoList(List<PlatAlarmRecord> alarmRecords, Map<String,PlatElder> platElderMap) { private List<PlatAlarmRecordStatisticsVo> coverToVoList(List<PlatAlarmRecord> alarmRecords, Map<String,PlatElder> platElderMap) {
List<PlatAlarmRecordStatisticsVo> statisticsVos = new ArrayList<>(); List<PlatAlarmRecordStatisticsVo> statisticsVos = new ArrayList<>();
alarmRecords.forEach(record->{ alarmRecords.forEach(record->{
......
...@@ -2,6 +2,7 @@ package com.makeit.service.platform.workstation; ...@@ -2,6 +2,7 @@ package com.makeit.service.platform.workstation;
import com.makeit.dto.platform.workstation.WorkStationQueryDTO; import com.makeit.dto.platform.workstation.WorkStationQueryDTO;
import com.makeit.vo.platform.workstation.WorkStationHomeStatisticsVO;
import com.makeit.vo.platform.workstation.WorkStationInstitutionRoomVO; import com.makeit.vo.platform.workstation.WorkStationInstitutionRoomVO;
import com.makeit.vo.platform.workstation.WorkStationInstitutionStatisticsVO; import com.makeit.vo.platform.workstation.WorkStationInstitutionStatisticsVO;
...@@ -18,4 +19,6 @@ public interface WorkStationService { ...@@ -18,4 +19,6 @@ public interface WorkStationService {
WorkStationInstitutionStatisticsVO institutionStatistics(WorkStationQueryDTO dto); WorkStationInstitutionStatisticsVO institutionStatistics(WorkStationQueryDTO dto);
List<WorkStationInstitutionRoomVO> institutionList(WorkStationQueryDTO dto); List<WorkStationInstitutionRoomVO> institutionList(WorkStationQueryDTO dto);
WorkStationHomeStatisticsVO homeStatistics(WorkStationQueryDTO dto);
} }
...@@ -11,6 +11,7 @@ import com.makeit.entity.platform.space.PlatBed; ...@@ -11,6 +11,7 @@ import com.makeit.entity.platform.space.PlatBed;
import com.makeit.entity.platform.space.PlatSpace; import com.makeit.entity.platform.space.PlatSpace;
import com.makeit.enums.CommonEnum; import com.makeit.enums.CommonEnum;
import com.makeit.enums.platform.alarm.PlatAlarmRecordEnum; import com.makeit.enums.platform.alarm.PlatAlarmRecordEnum;
import com.makeit.enums.platform.auth.PlatOrgEnum;
import com.makeit.enums.platform.space.PlatBedStatusEnum; import com.makeit.enums.platform.space.PlatBedStatusEnum;
import com.makeit.service.platform.alarm.PlatAlarmRecordService; import com.makeit.service.platform.alarm.PlatAlarmRecordService;
import com.makeit.service.platform.auth.PlatOrgService; import com.makeit.service.platform.auth.PlatOrgService;
...@@ -21,6 +22,7 @@ import com.makeit.service.platform.space.PlatSpaceService; ...@@ -21,6 +22,7 @@ import com.makeit.service.platform.space.PlatSpaceService;
import com.makeit.service.platform.workstation.WorkStationService; import com.makeit.service.platform.workstation.WorkStationService;
import com.makeit.utils.user.plat.PlatUserUtil; import com.makeit.utils.user.plat.PlatUserUtil;
import com.makeit.utils.user.plat.PlatUserVO; import com.makeit.utils.user.plat.PlatUserVO;
import com.makeit.vo.platform.workstation.WorkStationHomeStatisticsVO;
import com.makeit.vo.platform.workstation.WorkStationInstitutionRoomVO; import com.makeit.vo.platform.workstation.WorkStationInstitutionRoomVO;
import com.makeit.vo.platform.workstation.WorkStationInstitutionStatisticsVO; import com.makeit.vo.platform.workstation.WorkStationInstitutionStatisticsVO;
import jodd.util.StringUtil; import jodd.util.StringUtil;
...@@ -60,10 +62,15 @@ public class WorkStationServiceImpl implements WorkStationService { ...@@ -60,10 +62,15 @@ public class WorkStationServiceImpl implements WorkStationService {
WorkStationInstitutionStatisticsVO vo = new WorkStationInstitutionStatisticsVO(); WorkStationInstitutionStatisticsVO vo = new WorkStationInstitutionStatisticsVO();
if(dto.getOrgIds().isEmpty()){ if(dto.getOrgIds().isEmpty()){
//获取该账号的权限组织 //获取该账号的权限组织
List<String> orgIds = belongToScope(); PlatOrg param = new PlatOrg();
if(orgIds.isEmpty()){ param.setType(PlatOrgEnum.OrgTypeEnum.INSTITUTION.getValue());
List<PlatOrg> orgs = platOrgService.belongToScopeList(param);
if(orgs.isEmpty()){
return vo; return vo;
} }
List<String> orgIds = orgs.stream().map(PlatOrg::getId).collect(Collectors.toList());
dto.setOrgIds(orgIds); dto.setOrgIds(orgIds);
} }
//待处理告警 //待处理告警
...@@ -77,7 +84,14 @@ public class WorkStationServiceImpl implements WorkStationService { ...@@ -77,7 +84,14 @@ public class WorkStationServiceImpl implements WorkStationService {
.in(PlatElder::getOrgId, dto.getOrgIds())); .in(PlatElder::getOrgId, dto.getOrgIds()));
//今日入住 //今日入住
long checkInNumber = platElderService.count(new QueryWrapper<PlatElder>().lambda()
.between(PlatElder::getCheckInTime, dto.getStartTime(), dto.getEndTime())
.in(PlatElder::getOrgId, dto.getOrgIds()));
//今日退住
long checkOutNumber = platElderService.count(new QueryWrapper<PlatElder>().lambda()
.between(PlatElder::getCheckOutTime, dto.getStartTime(), dto.getEndTime())
.in(PlatElder::getOrgId, dto.getOrgIds()));
//空闲床位 //空闲床位
List<PlatSpace> spaces = platSpaceService.list(new QueryWrapper<PlatSpace>().lambda() List<PlatSpace> spaces = platSpaceService.list(new QueryWrapper<PlatSpace>().lambda()
...@@ -93,39 +107,25 @@ public class WorkStationServiceImpl implements WorkStationService { ...@@ -93,39 +107,25 @@ public class WorkStationServiceImpl implements WorkStationService {
} }
vo.setUnHandledNumber(unHandledNumber); vo.setUnHandledNumber(unHandledNumber);
vo.setElderNumber(elderNumber); vo.setElderNumber(elderNumber);
vo.setCheckInNumber(checkInNumber);
vo.setCheckOutNumber(checkOutNumber);
return vo; return vo;
} }
private List<String> belongToScope() {
PlatUserVO userVO = PlatUserUtil.getUserVO();
String isTenant = userVO.getIsTenant();
//如果是租户账号 则有所有权限
if (StringUtils.equals(isTenant, CommonEnum.YES.getValue())) {
List<PlatOrg> orgList = platOrgService.list(new LambdaQueryWrapper<PlatOrg>()
.eq(PlatOrg::getStatus, CommonEnum.YES.getValue())
);
return orgList.stream().map(PlatOrg::getParentId).collect(Collectors.toList());
}
//平台账号
Set<String> orgIdList = platOrgService.getOrgIdListByUserId(userVO.getId());
List<PlatOrg> orgList = platOrgService.list(new LambdaQueryWrapper<PlatOrg>().in(BaseEntity::getId, orgIdList).eq(PlatOrg::getStatus, CommonEnum.YES.getValue()));
if (CollectionUtils.isEmpty(orgList)) {
return new ArrayList<>();
}
return orgList.stream().map(PlatOrg::getParentId).collect(Collectors.toList());
}
@Override @Override
public List<WorkStationInstitutionRoomVO> institutionList(WorkStationQueryDTO dto) { public List<WorkStationInstitutionRoomVO> institutionList(WorkStationQueryDTO dto) {
List<PlatSpace> spaces = new ArrayList<>(); List<PlatSpace> spaces = new ArrayList<>();
if(dto.getSpaceIds().isEmpty()){ if(dto.getSpaceIds().isEmpty()){
//获取该账号的权限组织 //获取该账号的权限组织
List<String> orgIds = belongToScope(); PlatOrg param = new PlatOrg();
if(orgIds.isEmpty()){ param.setType(PlatOrgEnum.OrgTypeEnum.INSTITUTION.getValue());
List<PlatOrg> orgs = platOrgService.belongToScopeList(param);
if(orgs.isEmpty()){
return new ArrayList<>(); return new ArrayList<>();
} }
List<String> orgIds = orgs.stream().map(PlatOrg::getId).collect(Collectors.toList());
spaces = platSpaceService.list(new QueryWrapper<PlatSpace>().lambda() spaces = platSpaceService.list(new QueryWrapper<PlatSpace>().lambda()
.in(PlatSpace::getOrgId, dto.getOrgIds())); .in(PlatSpace::getOrgId, dto.getOrgIds()));
if(spaces.isEmpty()){ if(spaces.isEmpty()){
...@@ -155,6 +155,18 @@ public class WorkStationServiceImpl implements WorkStationService { ...@@ -155,6 +155,18 @@ public class WorkStationServiceImpl implements WorkStationService {
elderIdList.addAll(Arrays.asList(e.split(","))); elderIdList.addAll(Arrays.asList(e.split(",")));
}); });
List<WorkStationInstitutionRoomVO> roomVOList = platRoomService.workStationList(dto); List<WorkStationInstitutionRoomVO> roomVOList = platRoomService.workStationList(dto);
if(roomVOList.isEmpty()){
return new ArrayList<>();
}
List<String> roomIds = roomVOList.stream().map(WorkStationInstitutionRoomVO::getRoomId).collect(Collectors.toList());
//获取床号及长者
return null;
}
@Override
public WorkStationHomeStatisticsVO homeStatistics(WorkStationQueryDTO dto) {
return null; return null;
} }
} }
package com.makeit.vo.platform.workstation;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Controller
*
* @author zm
* @version 2023/9/13
*/
@Data
@ApiModel("WorkStationHomeStatisticsVO对象")
public class WorkStationHomeStatisticsVO {
@ApiModelProperty(value = "待处理告警")
private Long unHandledNumber;
@ApiModelProperty(value = "今日告警数")
private Long alarmNumber;
@ApiModelProperty(value = "今日已处理告警数")
private Long handledNumber;
@ApiModelProperty(value = "长者数")
private Long elderNumber;
}
...@@ -13,11 +13,11 @@ import java.util.List; ...@@ -13,11 +13,11 @@ import java.util.List;
* @version 2023/9/13 * @version 2023/9/13
*/ */
@Data @Data
@ApiModel("WorkStationRoomVO对象") @ApiModel("WorkStationInstitutionRoomVO对象")
public class WorkStationInstitutionRoomVO { public class WorkStationInstitutionRoomVO {
@ApiModelProperty(value = "房间路径id") @ApiModelProperty(value = "房间路径id")
private String path; private String spacePath;
@ApiModelProperty(value = "房间id") @ApiModelProperty(value = "房间id")
private String roomId; private String roomId;
......
...@@ -11,7 +11,7 @@ import lombok.Data; ...@@ -11,7 +11,7 @@ import lombok.Data;
* @version 2023/9/13 * @version 2023/9/13
*/ */
@Data @Data
@ApiModel("WorkStationStatisticsVO对象") @ApiModel("WorkStationInstitutionStatisticsVO对象")
public class WorkStationInstitutionStatisticsVO { public class WorkStationInstitutionStatisticsVO {
@ApiModelProperty(value = "待处理告警") @ApiModelProperty(value = "待处理告警")
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
</select> </select>
<select id="workStationList" resultType="com.makeit.vo.platform.workstation.WorkStationInstitutionRoomVO"> <select id="workStationList" resultType="com.makeit.vo.platform.workstation.WorkStationInstitutionRoomVO">
SELECT pm.id,pm.name,pm.space_path FROM plat_room pm SELECT pm.id as roomId,pm.name as roomName ,pm.space_path FROM plat_room pm
LEFT JOIN plat_space ps ON pm.space_id = ps.id LEFT JOIN plat_space ps ON pm.space_id = ps.id
LEFT JOIN plat_bed pb ON pb.room_id = pm.id LEFT JOIN plat_bed pb ON pb.room_id = pm.id
LEFT JOIN plat_elder pe ON pe.bed_id = pb.id LEFT JOIN plat_elder pe ON pe.bed_id = pb.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