Commit 9a74cf6f by 朱淼

修改bug

parent ab080c56
......@@ -3,7 +3,9 @@ package com.makeit.module.controller.dataScreen;
import com.makeit.common.response.ApiResponseEntity;
import com.makeit.common.response.ApiResponseUtils;
import com.makeit.dto.platform.dataScreen.PlatDataScreenQueryDTO;
import com.makeit.module.system.entity.ChinaArea;
import com.makeit.service.platform.dataScreen.DataScreenService;
import com.makeit.utils.area.ChinaAreaVO;
import com.makeit.vo.platform.dataScreen.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -64,4 +66,11 @@ public class DataScreenController {
public ApiResponseEntity<List<PlatMapStatisticsVO>> mapStatistics(@RequestBody PlatDataScreenQueryDTO 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;
import com.makeit.common.response.ApiResponseUtils;
import com.makeit.dto.platform.workstation.WorkStationQueryDTO;
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.WorkStationInstitutionStatisticsVO;
import io.swagger.annotations.Api;
......@@ -35,4 +36,10 @@ public class WorkStationController {
public ApiResponseEntity<List<WorkStationInstitutionRoomVO>> institutionList(@RequestBody WorkStationQueryDTO 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 {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("结束时间")
private LocalDateTime endTime;
@ApiModelProperty("类型 1-居家 2-机构")
private String type;
}
......@@ -38,4 +38,7 @@ public class WorkStationQueryDTO {
@ApiModelProperty("告警类型")
private String alarmType;
@ApiModelProperty("老人ids")
private List<String> elderIds;
}
......@@ -96,4 +96,6 @@ public interface PlatOrgService extends IService<PlatOrg> {
void saveOrg(PlatOrg platOrg);
List<PlatOrg> createOrgTree(List<PlatOrg> orgList);
List<PlatOrg> belongToScopeList(PlatOrg param);
}
......@@ -457,6 +457,27 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
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 有权限的组织
......
package com.makeit.service.platform.dataScreen;
import com.makeit.dto.platform.dataScreen.PlatDataScreenQueryDTO;
import com.makeit.utils.area.ChinaAreaVO;
import com.makeit.vo.platform.dataScreen.*;
import java.util.List;
......@@ -23,4 +24,6 @@ public interface DataScreenService {
PlatBaseInfoStatisticsVO baseInfoStatistics(PlatDataScreenQueryDTO dto);
List<PlatMapStatisticsVO> mapStatistics(PlatDataScreenQueryDTO dto);
List<ChinaAreaVO> mapList(PlatDataScreenQueryDTO dto);
}
......@@ -89,14 +89,22 @@ public class DataScreenServiceImpl implements DataScreenService {
.in(PlatElder::getOrgId, dto.getOrgIds())
.eq(PlatElder::getSex, PlatElderEnum.SexEnum.WOMAN.getValue()));
long total = womanElderNumber + manElderNumber;
BigDecimal manRate = new BigDecimal(manElderNumber).divide(new BigDecimal(total), 4, BigDecimal.ROUND_HALF_UP)
.multiply(new BigDecimal(100));
BigDecimal womanRate = new BigDecimal(100).subtract(manRate);
PlatSexStatisticsVO vo = new PlatSexStatisticsVO();
vo.setManNumber(manElderNumber);
vo.setManRate(manRate);
vo.setWomanNumber(womanElderNumber);
vo.setWomanRate(womanRate);
if(total>0){
BigDecimal manRate = new BigDecimal(manElderNumber).divide(new BigDecimal(total), 4, BigDecimal.ROUND_HALF_UP)
.multiply(new BigDecimal(100));
BigDecimal womanRate = new BigDecimal(100).subtract(manRate);
vo.setManNumber(manElderNumber);
vo.setManRate(manRate);
vo.setWomanNumber(womanElderNumber);
vo.setWomanRate(womanRate);
}else {
vo.setManNumber(0L);
vo.setManRate(BigDecimal.ZERO);
vo.setWomanNumber(0L);
vo.setWomanRate(BigDecimal.ZERO);
}
return vo;
}
......@@ -145,7 +153,7 @@ public class DataScreenServiceImpl implements DataScreenService {
}
if(PlatAlarmConfigEnum.AlarmTypeEnum.HEART.getValue().equals(record.getAlarmType()) ||
PlatAlarmConfigEnum.AlarmTypeEnum.BREATHE.getValue().equals(record.getAlarmType()) ){
listVo.setStatus(record.getRemark());
}
listVo.setElderName(elderName);
listVo.setType(record.getAlarmType());
......@@ -248,6 +256,12 @@ public class DataScreenServiceImpl implements DataScreenService {
return list;
}
@Override
public List<ChinaAreaVO> mapList(PlatDataScreenQueryDTO dto) {
return null;
}
private List<PlatAlarmRecordStatisticsVo> coverToVoList(List<PlatAlarmRecord> alarmRecords, Map<String,PlatElder> platElderMap) {
List<PlatAlarmRecordStatisticsVo> statisticsVos = new ArrayList<>();
alarmRecords.forEach(record->{
......
......@@ -2,6 +2,7 @@ package com.makeit.service.platform.workstation;
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.WorkStationInstitutionStatisticsVO;
......@@ -18,4 +19,6 @@ public interface WorkStationService {
WorkStationInstitutionStatisticsVO institutionStatistics(WorkStationQueryDTO dto);
List<WorkStationInstitutionRoomVO> institutionList(WorkStationQueryDTO dto);
WorkStationHomeStatisticsVO homeStatistics(WorkStationQueryDTO dto);
}
......@@ -11,6 +11,7 @@ import com.makeit.entity.platform.space.PlatBed;
import com.makeit.entity.platform.space.PlatSpace;
import com.makeit.enums.CommonEnum;
import com.makeit.enums.platform.alarm.PlatAlarmRecordEnum;
import com.makeit.enums.platform.auth.PlatOrgEnum;
import com.makeit.enums.platform.space.PlatBedStatusEnum;
import com.makeit.service.platform.alarm.PlatAlarmRecordService;
import com.makeit.service.platform.auth.PlatOrgService;
......@@ -21,6 +22,7 @@ import com.makeit.service.platform.space.PlatSpaceService;
import com.makeit.service.platform.workstation.WorkStationService;
import com.makeit.utils.user.plat.PlatUserUtil;
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.WorkStationInstitutionStatisticsVO;
import jodd.util.StringUtil;
......@@ -60,10 +62,15 @@ public class WorkStationServiceImpl implements WorkStationService {
WorkStationInstitutionStatisticsVO vo = new WorkStationInstitutionStatisticsVO();
if(dto.getOrgIds().isEmpty()){
//获取该账号的权限组织
List<String> orgIds = belongToScope();
if(orgIds.isEmpty()){
PlatOrg param = new PlatOrg();
param.setType(PlatOrgEnum.OrgTypeEnum.INSTITUTION.getValue());
List<PlatOrg> orgs = platOrgService.belongToScopeList(param);
if(orgs.isEmpty()){
return vo;
}
List<String> orgIds = orgs.stream().map(PlatOrg::getId).collect(Collectors.toList());
dto.setOrgIds(orgIds);
}
//待处理告警
......@@ -77,7 +84,14 @@ public class WorkStationServiceImpl implements WorkStationService {
.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()
......@@ -93,39 +107,25 @@ public class WorkStationServiceImpl implements WorkStationService {
}
vo.setUnHandledNumber(unHandledNumber);
vo.setElderNumber(elderNumber);
vo.setCheckInNumber(checkInNumber);
vo.setCheckOutNumber(checkOutNumber);
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
public List<WorkStationInstitutionRoomVO> institutionList(WorkStationQueryDTO dto) {
List<PlatSpace> spaces = new ArrayList<>();
if(dto.getSpaceIds().isEmpty()){
//获取该账号的权限组织
List<String> orgIds = belongToScope();
if(orgIds.isEmpty()){
PlatOrg param = new PlatOrg();
param.setType(PlatOrgEnum.OrgTypeEnum.INSTITUTION.getValue());
List<PlatOrg> orgs = platOrgService.belongToScopeList(param);
if(orgs.isEmpty()){
return new ArrayList<>();
}
List<String> orgIds = orgs.stream().map(PlatOrg::getId).collect(Collectors.toList());
spaces = platSpaceService.list(new QueryWrapper<PlatSpace>().lambda()
.in(PlatSpace::getOrgId, dto.getOrgIds()));
if(spaces.isEmpty()){
......@@ -155,6 +155,18 @@ public class WorkStationServiceImpl implements WorkStationService {
elderIdList.addAll(Arrays.asList(e.split(",")));
});
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;
}
}
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;
* @version 2023/9/13
*/
@Data
@ApiModel("WorkStationRoomVO对象")
@ApiModel("WorkStationInstitutionRoomVO对象")
public class WorkStationInstitutionRoomVO {
@ApiModelProperty(value = "房间路径id")
private String path;
private String spacePath;
@ApiModelProperty(value = "房间id")
private String roomId;
......
......@@ -11,7 +11,7 @@ import lombok.Data;
* @version 2023/9/13
*/
@Data
@ApiModel("WorkStationStatisticsVO对象")
@ApiModel("WorkStationInstitutionStatisticsVO对象")
public class WorkStationInstitutionStatisticsVO {
@ApiModelProperty(value = "待处理告警")
......
......@@ -12,7 +12,7 @@
</select>
<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_bed pb ON pb.room_id = pm.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