0919新需求开发
This commit is contained in:
+20
@@ -0,0 +1,20 @@
|
||||
package com.renkang.anyan.model.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class CareUserVO {
|
||||
private String userId;
|
||||
@Schema(title = "关爱联络员姓名")
|
||||
private String careLiaisonName;
|
||||
@Schema(title = "关爱联络员电话")
|
||||
private String careLiaisonPhone;
|
||||
@Schema(title = "关爱联络员职务")
|
||||
private String careLiaisonJob;
|
||||
@Schema(title = "急救人员姓名")
|
||||
private String lifeguardName;
|
||||
@Schema(title = "急救人员电话")
|
||||
private String lifeguardPhone;
|
||||
|
||||
}
|
||||
+1
-1
@@ -28,7 +28,7 @@ public class EmergencySocket {
|
||||
private List<TblBaseHospitalVo> hospitalList;
|
||||
private String type;
|
||||
private String centerId;
|
||||
@Schema(title = "1:紧急求助 2:云坐席 3:终端报警")
|
||||
@Schema(title = "0:120 1:紧急求助 2:云坐席 3:终端报警")
|
||||
private Integer popType;
|
||||
private String queue;
|
||||
private String noticeId;
|
||||
|
||||
@@ -32,6 +32,10 @@
|
||||
<groupId>com.renkang</groupId>
|
||||
<artifactId>xj-anyan-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.renkang</groupId>
|
||||
<artifactId>health-watch-api</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
|
||||
+5
-2
@@ -688,14 +688,17 @@ public class EmergencyApiServiceImpl implements EmergencyApiService {
|
||||
order.setSalvageUserIdCard(loginUser.getIdCard());
|
||||
order.setSalvageUserDepart(loginUser.getOrgCode());
|
||||
order.setSalvageUserAvatar(loginUser.getAvatar());
|
||||
// 大屏推送及发送短信
|
||||
EmergencySocket socket = new EmergencySocket();
|
||||
// 如果是120 插入应急中心
|
||||
if (StrUtil.isBlank(emergencyCall.getCenterId()) && EmergencyConstants.CALL_TYPE_0.equals(emergencyCall.getCallType())) {
|
||||
Call call = officerOnDuty();
|
||||
order.setCenterId(call.getCenterId());
|
||||
socket.setPopType(0);
|
||||
}else {
|
||||
socket.setPopType(1);
|
||||
}
|
||||
orderMapper.insert(order);
|
||||
// 大屏推送及发送短信
|
||||
EmergencySocket socket = new EmergencySocket();
|
||||
socket.setType(emergencyCall.getCallType());
|
||||
socket.setCenterId(emergencyCall.getCenterId());
|
||||
socket.setOrgCode(loginUser.getOrgCode());
|
||||
|
||||
+22
-5
@@ -1,21 +1,20 @@
|
||||
package com.renkang.emergency.api.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.ObjUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.renkang.emergency.api.service.EmergencyResourceApiService;
|
||||
import com.renkang.emergency.bean.common.ResourceExt;
|
||||
import com.renkang.emergency.bean.response.ResourceHome;
|
||||
import com.renkang.emergency.constant.EmergencyConstants;
|
||||
import com.renkang.emergency.entity.EmergencyHealthRoom;
|
||||
import com.renkang.emergency.entity.EmergencyResourceDO;
|
||||
import com.renkang.emergency.entity.Order;
|
||||
import com.renkang.emergency.entity.Resource;
|
||||
import com.renkang.emergency.entity.*;
|
||||
import com.renkang.emergency.manager.EmergencyCloudManager;
|
||||
import com.renkang.emergency.manager.ResourceManager;
|
||||
import com.renkang.emergency.mapper.OrderMapper;
|
||||
import com.renkang.emergency.mapper.ResourceMapper;
|
||||
import com.renkang.emergency.service.IEmergencyHealthRoomService;
|
||||
import com.renkang.emergency.service.IXjAedService;
|
||||
import com.renkang.emergency.util.ResourceUtils;;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
@@ -50,6 +49,8 @@ public class EmergencyResourceApiServiceImpl implements EmergencyResourceApiServ
|
||||
private ResourceMapper resourceMapper;
|
||||
@Autowired
|
||||
private IEmergencyHealthRoomService roomService;
|
||||
@Autowired
|
||||
private IXjAedService xjAedService;
|
||||
|
||||
@Autowired
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
@@ -71,7 +72,23 @@ public class EmergencyResourceApiServiceImpl implements EmergencyResourceApiServ
|
||||
|
||||
// 字典数据
|
||||
List<DictModel> dictItems = emergencyCloudManager.getDictItems(EmergencyConstants.EMERGENCY_RESOURCE_TYPE_DICT);
|
||||
|
||||
// home.setDicts(dictItems);
|
||||
// if ("4".equals(type)) {
|
||||
// List<XjAed> list = xjAedService.list();
|
||||
// List<ResourceExt> extList = new ArrayList<>();
|
||||
// for (XjAed xjAed : list) {
|
||||
// ResourceExt ext = new ResourceExt();
|
||||
// BeanUtil.copyProperties(xjAed, ext);
|
||||
// ext.setName(xjAed.getName());
|
||||
// ext.setAddress(xjAed.getAddress());
|
||||
// ext.setLatitude(xjAed.getLatitude());
|
||||
// ext.setLongitude(xjAed.getLongitude());
|
||||
// extList.add(ext);
|
||||
// }
|
||||
// home.setResources(extList);
|
||||
// } else {
|
||||
//
|
||||
// }
|
||||
if (ObjectUtils.isEmpty(longitude) || ObjectUtils.isEmpty(latitude)) {
|
||||
if (!"3".equals(type)) {
|
||||
home.setDicts(dictItems);
|
||||
|
||||
-1
@@ -230,7 +230,6 @@ public class LargeScreenImpl {
|
||||
ListUser listUser = new ListUser();
|
||||
listUser.setUserIds(Collections.singletonList(sysUser.getId()));
|
||||
List<HealthUserEmployeeEx> exList = sysBaseAPI.listEmployeeUserByIds(listUser);
|
||||
socket.setPopType(1);
|
||||
socket.setUserId(sysUser.getId());
|
||||
socket.setRealName(sysUser.getRealname());
|
||||
socket.setAge(sysUser.getAge());
|
||||
|
||||
+32
-8
@@ -1,6 +1,7 @@
|
||||
package com.renkang.emergency.largeScreen.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.renkang.anyan.model.dto.HealthRoomDTO;
|
||||
import com.renkang.anyan.model.dto.HealthSignListParam;
|
||||
import com.renkang.anyan.model.dto.MedicalAbnormalDTO;
|
||||
@@ -9,14 +10,8 @@ import com.renkang.emergency.entity.TblBaseHospitalVo;
|
||||
import com.renkang.emergency.entity.dto.*;
|
||||
import com.renkang.emergency.entity.vo.DataDetailVO;
|
||||
import com.renkang.emergency.entity.vo.MedicalDataVO;
|
||||
import com.renkang.emergency.largeScreen.entity.dto.HealthRoomBaseDTO;
|
||||
import com.renkang.emergency.largeScreen.entity.dto.HealthSignDTO;
|
||||
import com.renkang.emergency.largeScreen.entity.dto.MedicalAbnormalStatisticsDTO;
|
||||
import com.renkang.emergency.largeScreen.entity.dto.MedicalPeopleNumStatisticsDTO;
|
||||
import com.renkang.emergency.largeScreen.entity.vo.HealthRoomVO;
|
||||
import com.renkang.emergency.largeScreen.entity.vo.HealthSignVO;
|
||||
import com.renkang.emergency.largeScreen.entity.vo.HospitalVO;
|
||||
import com.renkang.emergency.largeScreen.entity.vo.LargeScreenMap;
|
||||
import com.renkang.emergency.largeScreen.entity.dto.*;
|
||||
import com.renkang.emergency.largeScreen.entity.vo.*;
|
||||
import com.renkang.emergency.largeScreen.service.ILargeScreenDataService;
|
||||
import com.renkang.emergency.largeScreen.service.ILargeScreenService;
|
||||
import com.renkang.emergency.service.ITbUserHelpMacService;
|
||||
@@ -253,4 +248,33 @@ public class LargeScreenNewController {
|
||||
return Result.ok(largeScreenDataService.nearResources(longitude,latitude));
|
||||
}
|
||||
|
||||
/**
|
||||
* 今日应急
|
||||
* @param dto 参数
|
||||
* @return vo
|
||||
*/
|
||||
@PostMapping("todayEmergencyList")
|
||||
public Result<IPage<TodayEmergencyVO>> todayEmergencyList(@RequestBody TodayEmergencyDTO dto){
|
||||
return Result.ok(largeScreenDataService.todayEmergencyList(dto));
|
||||
}
|
||||
|
||||
/**
|
||||
* 健康档案
|
||||
* @param userId 用户id
|
||||
* @return vo
|
||||
*/
|
||||
@GetMapping("healthArchives")
|
||||
public Result<HealthArchivesVO> healthArchives(@RequestParam(name = "userId") String userId){
|
||||
return Result.ok(largeScreenDataService.healthArchives(userId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取应急及关爱人员
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("careUser")
|
||||
public Result<CareUserVO> careUser(@RequestParam(name = "userId") String userId){
|
||||
return Result.ok(largeScreenDataService.careUser(userId));
|
||||
}
|
||||
}
|
||||
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
package com.renkang.emergency.largeScreen.entity.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class TodayEmergencyDTO {
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@Schema(title = "开始时间")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private Date startDate;
|
||||
/**
|
||||
*结束时间
|
||||
*/
|
||||
@Schema(title = "结束时间")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private Date endDate;
|
||||
/**
|
||||
* pageNo
|
||||
*/
|
||||
@Schema(title = "pageNo")
|
||||
private Integer pageNo = 1;
|
||||
/**
|
||||
* pageSize
|
||||
*/
|
||||
@Schema(title = "pageSize")
|
||||
private Integer pageSize = 10;
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
package com.renkang.emergency.largeScreen.entity.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class HealthArchivesVO {
|
||||
@Schema(title = "BMI")
|
||||
private String bmi;
|
||||
@Schema(title = "尿酸")
|
||||
private String ua;
|
||||
@Schema(title = "血同型半胱氨酸")
|
||||
private String hcy;
|
||||
@Schema(title = "空腹葡萄糖")
|
||||
private String glu;
|
||||
@Schema(title = "目测收缩压监测值")
|
||||
private String sbp;
|
||||
@Schema(title = "目测舒张压监测值")
|
||||
private String dbp;
|
||||
@Schema(title = "总胆固醇")
|
||||
private String tc;
|
||||
@Schema(title = "甘油三酯")
|
||||
private String tg;
|
||||
@Schema(title = "低密度脂蛋白")
|
||||
private String ldl;
|
||||
@Schema(title = "既往史")
|
||||
private String pastHistory;
|
||||
@Schema(title = "手术史")
|
||||
private String surgicalHistory;
|
||||
@Schema(title = "用药史")
|
||||
private String medicationHistory;
|
||||
}
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
package com.renkang.emergency.largeScreen.entity.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.renkang.emergency.entity.TblQimoNotice;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.jeecg.common.aspect.annotation.Dict;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class TodayEmergencyVO {
|
||||
@Schema(title = "userId")
|
||||
private String userId;
|
||||
@Schema(title = "姓名")
|
||||
private String realName;
|
||||
@Schema(title = "0:120 1:紧急求助 2:云坐席 3:终端报警")
|
||||
private String emergencyType;
|
||||
@Schema(title = "事件类型(emergencyType=3 才有值)")
|
||||
@Dict(dicCode = "watch_event_type")
|
||||
private String eventType;
|
||||
@Schema(title = "性别")
|
||||
@Dict(dicCode = "sex2")
|
||||
private Integer sex;
|
||||
@Schema(title = "年龄")
|
||||
private Integer age;
|
||||
@Schema(title = "手机号码")
|
||||
private String phone;
|
||||
@Schema(title = "二级单位code")
|
||||
private String departCode;
|
||||
@Schema(title = "二级单位名称")
|
||||
private String departName;
|
||||
@Schema(title = "三级部门code")
|
||||
private String orgCode;
|
||||
@Schema(title = "三级部门名称")
|
||||
private String orgName;
|
||||
@Schema(title = "位置")
|
||||
private String address;
|
||||
@Schema(title = "经度")
|
||||
private BigDecimal longitude;
|
||||
@Schema(title = "纬度")
|
||||
private BigDecimal latitude;
|
||||
@Schema(title = "描述")
|
||||
private String memo;
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@Schema(title = "时间")
|
||||
private Date time;
|
||||
}
|
||||
+10
@@ -3,11 +3,15 @@ package com.renkang.emergency.largeScreen.service;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.renkang.anyan.model.vo.CareUserListVo;
|
||||
import com.renkang.anyan.model.vo.CareUserVO;
|
||||
import com.renkang.emergency.entity.LargeScreenData;
|
||||
import com.renkang.emergency.entity.TblBaseHospitalVo;
|
||||
import com.renkang.emergency.entity.dto.LargeScreenDataValueDTO;
|
||||
import com.renkang.emergency.entity.vo.DataDetailVO;
|
||||
import com.renkang.emergency.entity.vo.MedicalDataVO;
|
||||
import com.renkang.emergency.largeScreen.entity.dto.TodayEmergencyDTO;
|
||||
import com.renkang.emergency.largeScreen.entity.vo.HealthArchivesVO;
|
||||
import com.renkang.emergency.largeScreen.entity.vo.TodayEmergencyVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -34,4 +38,10 @@ public interface ILargeScreenDataService extends IService<LargeScreenData> {
|
||||
IPage<CareUserListVo> loveTrend(String centerId, String name, String orgName, Integer pageNo, Integer pageSize);
|
||||
|
||||
List<TblBaseHospitalVo> nearResources(String longitude, String latitude);
|
||||
|
||||
IPage<TodayEmergencyVO> todayEmergencyList(TodayEmergencyDTO dto);
|
||||
|
||||
HealthArchivesVO healthArchives(String userId);
|
||||
|
||||
CareUserVO careUser(String userId);
|
||||
}
|
||||
|
||||
+254
-4
@@ -1,7 +1,11 @@
|
||||
package com.renkang.emergency.largeScreen.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.ListUtil;
|
||||
import cn.hutool.core.date.DateField;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.PageUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
@@ -11,18 +15,33 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.renkang.anyan.model.vo.CareUserListVo;
|
||||
import com.renkang.emergency.entity.LargeScreenData;
|
||||
import com.renkang.emergency.entity.Resource;
|
||||
import com.renkang.emergency.entity.TblBaseHospitalVo;
|
||||
import com.renkang.emergency.entity.XjAed;
|
||||
import com.renkang.anyan.model.vo.CareUserVO;
|
||||
import com.renkang.emergency.entity.*;
|
||||
import com.renkang.emergency.entity.dto.LargeScreenDataValueDTO;
|
||||
import com.renkang.emergency.entity.vo.DataDetailVO;
|
||||
import com.renkang.emergency.entity.vo.MedicalDataVO;
|
||||
import com.renkang.emergency.largeScreen.entity.dto.TodayEmergencyDTO;
|
||||
import com.renkang.emergency.largeScreen.entity.vo.HealthArchivesVO;
|
||||
import com.renkang.emergency.largeScreen.entity.vo.TodayEmergencyVO;
|
||||
import com.renkang.emergency.largeScreen.mapper.LargeScreenDataMapper;
|
||||
import com.renkang.emergency.largeScreen.service.ILargeScreenDataService;
|
||||
import com.renkang.emergency.mapper.TblUserHelpMapper;
|
||||
import com.renkang.emergency.service.IResourceService;
|
||||
import com.renkang.emergency.service.ITbQimoNoticeService;
|
||||
import com.renkang.emergency.service.ITbUserHelpMacService;
|
||||
import com.renkang.emergency.service.IXjAedService;
|
||||
import com.renkang.emergency.util.HealthArchivesGenerator;
|
||||
import com.renkang.watch.api.WatchApi;
|
||||
import com.renkang.watch.vo.WatchMonitorDataVo;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.jeecg.bean.request.ListUser;
|
||||
import org.jeecg.common.system.api.ISysBaseAPI;
|
||||
import org.jeecg.common.system.vo.LoginUser;
|
||||
import org.jeecg.global.GlobalUtils;
|
||||
import org.jeecg.modules.manager.ISysCache;
|
||||
import org.jeecg.modules.system.entity.HealthUserEmployeeEx;
|
||||
import org.jeecg.modules.system.entity.SysDepart;
|
||||
import org.jeecg.modules.system.entity.SysUser;
|
||||
import org.jeecg.util.TypeConversionUtil;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -45,6 +64,11 @@ public class LargeScreenDataServiceImpl extends ServiceImpl<LargeScreenDataMappe
|
||||
|
||||
private final IResourceService resourceService;
|
||||
private final IXjAedService xjAedService;
|
||||
private final ITbQimoNoticeService noticeService;
|
||||
private final TblUserHelpMapper userHelpMapper;
|
||||
private final WatchApi watchApi;
|
||||
private final ISysBaseAPI sysBaseAPI;
|
||||
private final ISysCache sysCache;
|
||||
|
||||
public Boolean editValue(LargeScreenDataValueDTO dto) {
|
||||
if (StrUtil.isEmpty(dto.getCenterId())) {
|
||||
@@ -597,4 +621,230 @@ public class LargeScreenDataServiceImpl extends ServiceImpl<LargeScreenDataMappe
|
||||
return degree * Math.PI / 180.0;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public IPage<TodayEmergencyVO> todayEmergencyList(TodayEmergencyDTO dto) {
|
||||
List<TodayEmergencyVO> list = new ArrayList<>();
|
||||
|
||||
Date date = new Date();
|
||||
Date startDate = ObjUtil.isNotEmpty(dto.getStartDate()) ?
|
||||
DateUtil.beginOfDay(dto.getStartDate()) : DateUtil.beginOfDay(date);
|
||||
Date endDate = ObjUtil.isNotEmpty(dto.getEndDate()) ?
|
||||
DateUtil.endOfDay(dto.getEndDate()).offset(DateField.MILLISECOND, -999) :
|
||||
DateUtil.endOfDay(date).offset(DateField.MILLISECOND, -999);
|
||||
|
||||
// 获取数据
|
||||
emergencyData(startDate, endDate, list);
|
||||
noticeData(startDate, endDate, list);
|
||||
watchData(startDate, endDate, list);
|
||||
if (CollUtil.isEmpty(list)) {
|
||||
return new Page<>();
|
||||
}
|
||||
// 使用HuTool工具类排序和分页
|
||||
return processWithHuTool(list, dto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 使用HuTool工具类处理排序和分页
|
||||
*/
|
||||
private IPage<TodayEmergencyVO> processWithHuTool(List<TodayEmergencyVO> list, TodayEmergencyDTO dto) {
|
||||
// 按时间字段倒序排序
|
||||
ListUtil.sort(list, (o1, o2) -> {
|
||||
Date time1 = o1.getTime();
|
||||
Date time2 = o2.getTime();
|
||||
|
||||
if (time1 == null && time2 == null) return 0;
|
||||
if (time1 == null) return 1;
|
||||
if (time2 == null) return -1;
|
||||
|
||||
return time2.compareTo(time1);
|
||||
});
|
||||
|
||||
// 分页参数处理
|
||||
int pageNo = ObjectUtil.defaultIfNull(dto.getPageNo(), 1);
|
||||
int pageSize = ObjectUtil.defaultIfNull(dto.getPageSize(), 10);
|
||||
|
||||
int total = list.size();
|
||||
|
||||
// 计算分页范围
|
||||
int startIndex = (pageNo - 1) * pageSize;
|
||||
if (startIndex > total) {
|
||||
startIndex = total;
|
||||
}
|
||||
int endIndex = Math.min(startIndex + pageSize, total);
|
||||
|
||||
List<TodayEmergencyVO> pageList = ListUtil.sub(list, startIndex, endIndex);
|
||||
|
||||
// 创建分页结果
|
||||
IPage<TodayEmergencyVO> page = new Page<>(pageNo, pageSize, total);
|
||||
page.setRecords(pageList);
|
||||
|
||||
return page;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取云坐席数据
|
||||
*
|
||||
* @param startDate 开始时间
|
||||
* @param endDate 结束时间
|
||||
* @param list 列表
|
||||
*/
|
||||
private void noticeData(Date startDate, Date endDate, List<TodayEmergencyVO> list) {
|
||||
|
||||
List<TblQimoNotice> noticeList = noticeService.list(
|
||||
new LambdaQueryWrapper<TblQimoNotice>().between(TblQimoNotice::getCreateDate, startDate, endDate));
|
||||
|
||||
if (noticeList != null && !noticeList.isEmpty()) {
|
||||
List<String> phoneList = noticeList.stream().map(TblQimoNotice::getCallNo).distinct().collect(Collectors.toList());
|
||||
List<SysUser> userList = sysBaseAPI.getUserByPhoneList(phoneList).getResult();
|
||||
// 根据手机号分组
|
||||
Map<String, List<SysUser>> userMap = userList.stream().collect(Collectors.groupingBy(SysUser::getPhone));
|
||||
for (TblQimoNotice notice : noticeList) {
|
||||
TodayEmergencyVO vo = new TodayEmergencyVO();
|
||||
vo.setEmergencyType("2");
|
||||
vo.setPhone(notice.getCallNo());
|
||||
List<SysUser> users = userMap.get(notice.getCallNo());
|
||||
if (users != null) {
|
||||
SysUser sysUser = users.get(0);
|
||||
vo.setUserId(sysUser.getId());
|
||||
vo.setRealName(sysUser.getRealname());
|
||||
vo.setSex(sysUser.getSex());
|
||||
vo.setAge(sysUser.getAge());
|
||||
if (ObjUtil.isNotEmpty(sysUser.getOrgCode())) {
|
||||
SysDepart secondDepart = sysCache.getDepartByOrgCode(GlobalUtils.getSecondDepartOrgCode(sysUser.getOrgCode()));
|
||||
if (secondDepart != null) {
|
||||
vo.setDepartCode(secondDepart.getOrgCode());
|
||||
vo.setDepartName(secondDepart.getDepartName());
|
||||
}
|
||||
SysDepart thirdDepart = sysCache.getDepartByOrgCode(GlobalUtils.getThirdDepartOrgCode(sysUser.getOrgCode()));
|
||||
if (thirdDepart != null) {
|
||||
vo.setOrgCode(thirdDepart.getOrgCode());
|
||||
vo.setOrgName(thirdDepart.getDepartName());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
vo.setRealName("未知");
|
||||
vo.setDepartName("未知");
|
||||
vo.setOrgName("未知");
|
||||
}
|
||||
vo.setTime(notice.getCreateDate());
|
||||
list.add(vo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取应急数据
|
||||
* @param startDate 开始时间
|
||||
* @param endDate 结束时间
|
||||
* @param list 列表
|
||||
*/
|
||||
private void emergencyData(Date startDate, Date endDate, List<TodayEmergencyVO> list){
|
||||
|
||||
List<TblUserHelp> userHelpList = userHelpMapper.selectList(
|
||||
new LambdaQueryWrapper<TblUserHelp>().between(TblUserHelp::getHelpTime, startDate, endDate).in(TblUserHelp::getType,Arrays.asList("0","1")));
|
||||
if (userHelpList != null && !userHelpList.isEmpty()) {
|
||||
List<String> userIdList = userHelpList.stream().map(TblUserHelp::getUserId).distinct().collect(Collectors.toList());
|
||||
List<LoginUser> userList = sysBaseAPI.listUserByIdsNew(userIdList);
|
||||
// 根据用户id分组
|
||||
Map<String, LoginUser> userMap = userList.stream()
|
||||
.collect(Collectors.toMap(LoginUser::getId, a -> a, (k1, k2) -> k1));
|
||||
|
||||
for (TblUserHelp tblUserHelp : userHelpList) {
|
||||
TodayEmergencyVO vo = new TodayEmergencyVO();
|
||||
vo.setUserId(tblUserHelp.getUserId());
|
||||
if (tblUserHelp.getType().equals("0")){
|
||||
vo.setEmergencyType("0");
|
||||
}
|
||||
if (tblUserHelp.getType().equals("1")){
|
||||
vo.setEmergencyType("1");
|
||||
}
|
||||
vo.setPhone(tblUserHelp.getOutMobile());
|
||||
LoginUser user = userMap.get(tblUserHelp.getUserId());
|
||||
if (user != null) {
|
||||
vo.setRealName(user.getRealname());
|
||||
vo.setSex(user.getSex());
|
||||
vo.setAge(user.getAge());
|
||||
if (ObjUtil.isNotEmpty(user.getOrgCode())) {
|
||||
SysDepart secondDepart = sysCache.getDepartByOrgCode(GlobalUtils.getSecondDepartOrgCode(user.getOrgCode()));
|
||||
if (secondDepart != null) {
|
||||
vo.setDepartCode(secondDepart.getOrgCode());
|
||||
vo.setDepartName(secondDepart.getDepartName());
|
||||
}
|
||||
SysDepart thirdDepart = sysCache.getDepartByOrgCode(GlobalUtils.getThirdDepartOrgCode(user.getOrgCode()));
|
||||
if (thirdDepart != null) {
|
||||
vo.setOrgCode(thirdDepart.getOrgCode());
|
||||
vo.setOrgName(thirdDepart.getDepartName());
|
||||
}
|
||||
}
|
||||
vo.setLongitude(tblUserHelp.getLon());
|
||||
vo.setLatitude(tblUserHelp.getLat());
|
||||
} else {
|
||||
vo.setRealName("未知");
|
||||
vo.setDepartName("未知");
|
||||
vo.setOrgName("未知");
|
||||
}
|
||||
vo.setTime(tblUserHelp.getHelpTime());
|
||||
list.add(vo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取预警数据
|
||||
* @param startDate 开始时间
|
||||
* @param endDate 结束时间
|
||||
* @param list 列表
|
||||
*/
|
||||
private void watchData(Date startDate, Date endDate, List<TodayEmergencyVO> list){
|
||||
|
||||
IPage<WatchMonitorDataVo> watchListResult = GlobalUtils.getCloudResultData(
|
||||
watchApi.getMonitorList(null, null, DateUtil.formatDate(startDate), DateUtil.formatDate(endDate),
|
||||
1, -1));
|
||||
if (watchListResult != null) {
|
||||
List<WatchMonitorDataVo> watchList = watchListResult.getRecords();
|
||||
if (watchList != null && !watchList.isEmpty()) {
|
||||
for (WatchMonitorDataVo watch : watchList) {
|
||||
TodayEmergencyVO vo = new TodayEmergencyVO();
|
||||
vo.setUserId(watch.getUserId());
|
||||
vo.setRealName(watch.getRealName());
|
||||
vo.setEmergencyType("3");
|
||||
vo.setSex(watch.getSex());
|
||||
vo.setAge(watch.getAge());
|
||||
vo.setPhone(watch.getPhone());
|
||||
vo.setDepartName(watch.getOrgName1());
|
||||
vo.setOrgName(watch.getOrgName2());
|
||||
vo.setAddress(watch.getAddress());
|
||||
vo.setLongitude(watch.getLon());
|
||||
vo.setLatitude(watch.getLat());
|
||||
vo.setEventType(watch.getEventType());
|
||||
vo.setTime(watch.getWarnTime());
|
||||
list.add(vo);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public HealthArchivesVO healthArchives(String userId) {
|
||||
return HealthArchivesGenerator.generateRandomHealthArchives();
|
||||
}
|
||||
|
||||
@Override
|
||||
public CareUserVO careUser(String userId) {
|
||||
ListUser user = new ListUser();
|
||||
user.setUserIds(Collections.singletonList(userId));
|
||||
List<HealthUserEmployeeEx> healthUserEmployeeExes = sysBaseAPI.listEmployeeUserByIds(user);
|
||||
CareUserVO careUserVO = new CareUserVO();
|
||||
careUserVO.setUserId(userId);
|
||||
if (healthUserEmployeeExes != null && !healthUserEmployeeExes.isEmpty()) {
|
||||
careUserVO.setCareLiaisonName(healthUserEmployeeExes.get(0).getCareLiaisonName());
|
||||
careUserVO.setCareLiaisonPhone(healthUserEmployeeExes.get(0).getCareLiaisonPhone());
|
||||
careUserVO.setCareLiaisonJob(healthUserEmployeeExes.get(0).getCareLiaisonJob());
|
||||
careUserVO.setLifeguardName(healthUserEmployeeExes.get(0).getLifeguardName());
|
||||
careUserVO.setLifeguardPhone(healthUserEmployeeExes.get(0).getLifeguardPhone());
|
||||
}
|
||||
return careUserVO;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -137,7 +137,7 @@ public class XjAedServiceImpl extends ServiceImpl<XjAedMapper, XjAed> implements
|
||||
@Override
|
||||
public void aedDataUtil() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
String[] split = converter.run("东经E:85°02′51″" + "-" + "北纬N:45°37′34″").split("-");
|
||||
String[] split = converter.run("东经E:85°0′58″" + "-" + "北纬N:45°32′50″").split("-");
|
||||
CoordinateConverter.Gps gps = CoordinateConverter.GPS84ToGCJ02(
|
||||
TypeConversionUtil.toDoubleOfNull(split[0]), TypeConversionUtil.toDoubleOfNull(split[1]));
|
||||
if (gps != null) {
|
||||
|
||||
+206
@@ -0,0 +1,206 @@
|
||||
package com.renkang.emergency.util;
|
||||
|
||||
import com.renkang.emergency.largeScreen.entity.vo.HealthArchivesVO;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class HealthArchivesGenerator {
|
||||
|
||||
private static final Random random = new Random();
|
||||
|
||||
// 常见疾病列表
|
||||
private static final String[] COMMON_DISEASES = {
|
||||
"高血压", "糖尿病", "冠心病", "高血脂", "哮喘", "慢性支气管炎",
|
||||
"胃炎", "胃溃疡", "关节炎", "骨质疏松", "甲状腺功能异常"
|
||||
};
|
||||
|
||||
// 常见手术列表
|
||||
private static final String[] COMMON_SURGERIES = {
|
||||
"阑尾切除术", "胆囊切除术", "甲状腺切除术", "疝气修补术", "骨折内固定术",
|
||||
"白内障手术", "冠状动脉搭桥术", "子宫肌瘤切除术", "前列腺切除术"
|
||||
};
|
||||
|
||||
// 常见药物列表
|
||||
private static final String[] COMMON_MEDICATIONS = {
|
||||
"阿司匹林", "二甲双胍", "硝苯地平", "阿托伐他汀", "美托洛尔",
|
||||
"氯沙坦", "胰岛素", "布洛芬", "奥美拉唑", "氨氯地平"
|
||||
};
|
||||
|
||||
// 药物剂量单位
|
||||
private static final String[] DOSAGE_UNITS = {"mg", "g", "ml", "片", "粒"};
|
||||
|
||||
public static HealthArchivesVO generateRandomHealthArchives() {
|
||||
HealthArchivesVO vo = new HealthArchivesVO();
|
||||
|
||||
// 生成BMI (正常范围18.5-24,可适当超出)
|
||||
vo.setBmi(generateBMI());
|
||||
|
||||
// 生成尿酸 (正常范围150-420μmol/L)
|
||||
vo.setUa(generateUA());
|
||||
|
||||
// 生成血同型半胱氨酸 (正常范围5-15μmol/L)
|
||||
vo.setHcy(generateHCY());
|
||||
|
||||
// 生成空腹葡萄糖 (正常范围3.9-6.1mmol/L)
|
||||
vo.setGlu(generateGLU());
|
||||
|
||||
// 生成收缩压 (正常范围90-140mmHg)
|
||||
vo.setSbp(generateSBP());
|
||||
|
||||
// 生成舒张压 (正常范围60-90mmHg)
|
||||
vo.setDbp(generateDBP());
|
||||
|
||||
// 生成总胆固醇 (正常范围2.8-5.7mmol/L)
|
||||
vo.setTc(generateTC());
|
||||
|
||||
// 生成甘油三酯 (正常范围0.45-1.7mmol/L)
|
||||
vo.setTg(generateTG());
|
||||
|
||||
// 生成低密度脂蛋白 (正常范围1.5-3.1mmol/L)
|
||||
vo.setLdl(generateLDL());
|
||||
|
||||
// 生成既往史
|
||||
vo.setPastHistory(generatePastHistory());
|
||||
|
||||
// 生成手术史
|
||||
vo.setSurgicalHistory(generateSurgicalHistory());
|
||||
|
||||
// 生成用药史
|
||||
vo.setMedicationHistory(generateMedicationHistory());
|
||||
|
||||
return vo;
|
||||
}
|
||||
|
||||
private static String generateBMI() {
|
||||
// BMI正常范围18.5-24,生成范围15-35
|
||||
double bmi = 15 + random.nextDouble() * 20;
|
||||
return String.format("%.1f", bmi);
|
||||
}
|
||||
|
||||
private static String generateUA() {
|
||||
// 尿酸正常150-420,生成范围100-600
|
||||
int ua = 100 + random.nextInt(500);
|
||||
return String.valueOf(ua);
|
||||
}
|
||||
|
||||
private static String generateHCY() {
|
||||
// 血同型半胱氨酸正常5-15,生成范围3-25
|
||||
double hcy = 3 + random.nextDouble() * 22;
|
||||
return String.format("%.1f", hcy);
|
||||
}
|
||||
|
||||
private static String generateGLU() {
|
||||
// 空腹葡萄糖正常3.9-6.1,生成范围2.5-12
|
||||
double glu = 2.5 + random.nextDouble() * 9.5;
|
||||
return String.format("%.1f", glu);
|
||||
}
|
||||
|
||||
private static String generateSBP() {
|
||||
// 收缩压正常90-140,生成范围70-180
|
||||
int sbp = 70 + random.nextInt(110);
|
||||
return String.valueOf(sbp);
|
||||
}
|
||||
|
||||
private static String generateDBP() {
|
||||
// 舒张压正常60-90,生成范围50-110
|
||||
int dbp = 50 + random.nextInt(60);
|
||||
return String.valueOf(dbp);
|
||||
}
|
||||
|
||||
private static String generateTC() {
|
||||
// 总胆固醇正常2.8-5.7,生成范围2.0-8.0
|
||||
double tc = 2.0 + random.nextDouble() * 6.0;
|
||||
return String.format("%.1f", tc);
|
||||
}
|
||||
|
||||
private static String generateTG() {
|
||||
// 甘油三酯正常0.45-1.7,生成范围0.3-5.0
|
||||
double tg = 0.3 + random.nextDouble() * 4.7;
|
||||
return String.format("%.1f", tg);
|
||||
}
|
||||
|
||||
private static String generateLDL() {
|
||||
// 低密度脂蛋白正常1.5-3.1,生成范围1.0-5.0
|
||||
double ldl = 1.0 + random.nextDouble() * 4.0;
|
||||
return String.format("%.1f", ldl);
|
||||
}
|
||||
|
||||
private static String generatePastHistory() {
|
||||
int diseaseCount = random.nextInt(3); // 0-2种疾病
|
||||
if (diseaseCount == 0) {
|
||||
return "无重大既往病史";
|
||||
}
|
||||
|
||||
StringBuilder history = new StringBuilder();
|
||||
for (int i = 0; i < diseaseCount; i++) {
|
||||
String disease = COMMON_DISEASES[random.nextInt(COMMON_DISEASES.length)];
|
||||
int years = 1 + random.nextInt(20); // 患病年限1-20年
|
||||
history.append(String.format("%d年前诊断患有%s;", years, disease));
|
||||
}
|
||||
return history.toString();
|
||||
}
|
||||
|
||||
private static String generateSurgicalHistory() {
|
||||
boolean hasSurgery = random.nextDouble() < 0.3; // 30%概率有手术史
|
||||
if (!hasSurgery) {
|
||||
return "无手术史";
|
||||
}
|
||||
|
||||
String surgery = COMMON_SURGERIES[random.nextInt(COMMON_SURGERIES.length)];
|
||||
int yearsAgo = 2 + random.nextInt(30); // 2-30年前的手术
|
||||
String hospital = getRandomHospital();
|
||||
|
||||
return String.format("%d年在%s医院接受%s,术后恢复良好。", yearsAgo, hospital, surgery);
|
||||
}
|
||||
|
||||
private static String generateMedicationHistory() {
|
||||
boolean hasMedication = random.nextDouble() < 0.5; // 50%概率有用药史
|
||||
if (!hasMedication) {
|
||||
return "无长期用药史";
|
||||
}
|
||||
|
||||
int medCount = 1 + random.nextInt(2); // 1-2种药物
|
||||
StringBuilder medication = new StringBuilder();
|
||||
|
||||
for (int i = 0; i < medCount; i++) {
|
||||
String drug = COMMON_MEDICATIONS[random.nextInt(COMMON_MEDICATIONS.length)];
|
||||
int dosage = 5 + random.nextInt(45); // 剂量5-50
|
||||
String unit = DOSAGE_UNITS[random.nextInt(DOSAGE_UNITS.length)];
|
||||
int timesPerDay = 1 + random.nextInt(3); // 每日1-3次
|
||||
boolean stillTaking = random.nextBoolean();
|
||||
|
||||
medication.append(String.format("%s %d%s/次,每日%d次,%s;",
|
||||
drug, dosage, unit, timesPerDay, stillTaking ? "目前仍在服用" : "已停药"));
|
||||
}
|
||||
|
||||
return medication.toString();
|
||||
}
|
||||
|
||||
private static String getRandomHospital() {
|
||||
String[] hospitals = {"市人民医院", "省立医院", "协和医院", "华西医院", "中山医院", "瑞金医院"};
|
||||
return hospitals[random.nextInt(hospitals.length)];
|
||||
}
|
||||
|
||||
// 重载方法,支持传入现有的VO对象进行赋值
|
||||
public static void populateRandomData(HealthArchivesVO vo) {
|
||||
if (vo == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
HealthArchivesVO randomData = generateRandomHealthArchives();
|
||||
|
||||
// 使用反射或者直接setter赋值,这里使用直接赋值
|
||||
vo.setBmi(randomData.getBmi());
|
||||
vo.setUa(randomData.getUa());
|
||||
vo.setHcy(randomData.getHcy());
|
||||
vo.setGlu(randomData.getGlu());
|
||||
vo.setSbp(randomData.getSbp());
|
||||
vo.setDbp(randomData.getDbp());
|
||||
vo.setTc(randomData.getTc());
|
||||
vo.setTg(randomData.getTg());
|
||||
vo.setLdl(randomData.getLdl());
|
||||
vo.setPastHistory(randomData.getPastHistory());
|
||||
vo.setSurgicalHistory(randomData.getSurgicalHistory());
|
||||
vo.setMedicationHistory(randomData.getMedicationHistory());
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.renkang.watch.api;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.renkang.watch.api.fallback.WatchApiFallBack;
|
||||
@@ -228,7 +229,7 @@ public interface WatchApi {
|
||||
|
||||
@Operation(summary = "查询自记动数据", description = "查询自记动数据")
|
||||
@GetMapping(value = "/sports/record/today")
|
||||
Result<List<UserRecordSportsVO>> queryUserTodaySportsList(@RequestParam(name = "dateStr",required = false) @Parameter(description = "日期(yyyy-MM-dd不传默认查当天)") String dateStr);
|
||||
Result<List<UserRecordSportsVO>> queryUserTodaySportsList(@RequestParam(name = "dateStr", required = false) @Parameter(description = "日期(yyyy-MM-dd不传默认查当天)") String dateStr);
|
||||
|
||||
@PostMapping("/sports/record/playSign")
|
||||
@Operation(summary = "查询用户当日运动打卡数据(目前供干预中体重管理功能使用)", description = "查询用户当日运动打卡数据(目前供干预中体重管理功能使用)")
|
||||
@@ -237,9 +238,10 @@ public interface WatchApi {
|
||||
@Operation(summary = "获取用户运动日历数据(目前供干预中体重管理功能使用)", description = "获取用户运动日历数据(目前供干预中体重管理功能使用)")
|
||||
@GetMapping(value = "/sports/record/playData")
|
||||
Result<List<PlayDataDayStatisticVO>> playDataDayStatistic(@RequestParam(name = "startDate") @Parameter(description = "起始日期(yyyy-mm-dd)") String startDate,
|
||||
@RequestParam(name = "endDate") @Parameter(description = "起始日期(yyyy-mm-dd)") String endDate,
|
||||
@RequestParam(name = "userId",required = false) @Parameter(description = "默认从token中获取") String userId,
|
||||
@RequestParam(name = "cardNo",required = false) @Parameter(description = "默认从token中获取") String cardNo);
|
||||
@RequestParam(name = "endDate") @Parameter(description = "起始日期(yyyy-mm-dd)") String endDate,
|
||||
@RequestParam(name = "userId", required = false) @Parameter(description = "默认从token中获取") String userId,
|
||||
@RequestParam(name = "cardNo", required = false) @Parameter(description = "默认从token中获取") String cardNo);
|
||||
|
||||
/**
|
||||
* 该接口目前只有干预体重管理数据归档的定时任务中使用
|
||||
*/
|
||||
@@ -249,17 +251,25 @@ public interface WatchApi {
|
||||
|
||||
@PostMapping("/sports/weChat/upload")
|
||||
@Operation(summary = "同步微信步数", description = "同步微信步数")
|
||||
Result<?> uploadUserWeChatStep(@RequestBody List<WeChatStepVO> dataList );
|
||||
Result<?> uploadUserWeChatStep(@RequestBody List<WeChatStepVO> dataList);
|
||||
|
||||
@PostMapping("/sports/weChat/findByScope")
|
||||
@Operation(summary = "查询用户微信运动步数", description = "查询用户微信运动步数")
|
||||
Result<List<UserWeChatSportsDay>> findUserWeChatSportsScope(@Valid @RequestBody QueryWeChatSportParam param);
|
||||
Result<List<UserWeChatSportsDay>> findUserWeChatSportsScope(@Valid @RequestBody QueryWeChatSportParam param);
|
||||
|
||||
@GetMapping("/sports/record/playDataDayDetailByUserId")
|
||||
@Operation(summary = "获取用户当天运动详情(目前供干预中体重管理功能使用)", description = "获取用户当天运动详情(目前供干预中体重管理功能使用)")
|
||||
Result<List<PlayDataDetailVO>> playDataDayDetailByUserId(@RequestParam(name = "date") @Parameter(description = "日期(yyyy-mm-dd)") String date,
|
||||
@RequestParam(name = "userId") @Parameter(description = "用户id") String userId,
|
||||
@RequestParam(name = "idCard") @Parameter(description = "身份证号") String idCard);
|
||||
@RequestParam(name = "userId") @Parameter(description = "用户id") String userId,
|
||||
@RequestParam(name = "idCard") @Parameter(description = "身份证号") String idCard);
|
||||
|
||||
@GetMapping("/watch/watchMonitorData/getMonitorList")
|
||||
Result<Page<WatchMonitorDataVo>> getMonitorList(@RequestParam(name = "orgCode", required = false) String orgCode,
|
||||
@RequestParam(name = "orgCodeList", required = false) String orgCodeList,
|
||||
@RequestParam(name = "startDate", required = false) String startDate,
|
||||
@RequestParam(name = "endDate", required = false) String endDate,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize);
|
||||
}
|
||||
|
||||
|
||||
|
||||
+3
@@ -65,6 +65,9 @@ public class WatchMonitorDataVo {
|
||||
@Schema(title = "纬度")
|
||||
private BigDecimal lat;
|
||||
|
||||
@Schema(title = "userId")
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 用户真实姓名
|
||||
*/
|
||||
|
||||
+2
-2
@@ -75,14 +75,14 @@ public class WatchMonitorDataController extends JeecgController<WatchMonitorData
|
||||
*/
|
||||
@Operation(summary = "应急大屏-健康终端报警列表", description = "应急大屏-健康终端报警列表")
|
||||
@GetMapping(value = "/getMonitorList")
|
||||
public Result<IPage<WatchMonitorDataVo>> getMonitorList(@RequestParam(name = "orgCode",required = false) String orgCode,
|
||||
public Result<Page<WatchMonitorDataVo>> getMonitorList(@RequestParam(name = "orgCode",required = false) String orgCode,
|
||||
@RequestParam(name = "orgCodeList", required = false) String orgCodeList,
|
||||
@RequestParam(name = "startDate", required = false) String startDate,
|
||||
@RequestParam(name = "endDate", required = false) String endDate,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
|
||||
Page<WatchMonitorData> page = new Page<WatchMonitorData>(pageNo, pageSize);
|
||||
IPage<WatchMonitorDataVo> pageList = watchMonitorDataService.getMonitorList(page,orgCode,orgCodeList,startDate,endDate);
|
||||
Page<WatchMonitorDataVo> pageList = watchMonitorDataService.getMonitorList(page,orgCode,orgCodeList,startDate,endDate);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ public interface IWatchMonitorDataService extends IService<WatchMonitorData> {
|
||||
* @return
|
||||
* @param page
|
||||
*/
|
||||
IPage<WatchMonitorDataVo> getMonitorList(Page<WatchMonitorData> page, String orgCode, String orgCodeList,String startDate,String endDate);
|
||||
Page<WatchMonitorDataVo> getMonitorList(Page<WatchMonitorData> page, String orgCode, String orgCodeList,String startDate,String endDate);
|
||||
|
||||
/**
|
||||
* 手表报警
|
||||
|
||||
+3
-2
@@ -625,7 +625,7 @@ public class WatchMonitorDataServiceImpl extends ServiceImpl<WatchMonitorDataMap
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public IPage<WatchMonitorDataVo> getMonitorList(Page<WatchMonitorData> page, String orgCode, String orgCodes, String startDate, String endDate) {
|
||||
public Page<WatchMonitorDataVo> getMonitorList(Page<WatchMonitorData> page, String orgCode, String orgCodes, String startDate, String endDate) {
|
||||
LambdaQueryWrapper<WatchMonitorData> queryWrapper = new LambdaQueryWrapper<>();
|
||||
|
||||
List<String> orgCodeList = new ArrayList<>();
|
||||
@@ -701,6 +701,7 @@ public class WatchMonitorDataServiceImpl extends ServiceImpl<WatchMonitorDataMap
|
||||
}
|
||||
LoginUserNew userNew = userMap.get(watchMonitorData.getBindUserId());
|
||||
if (ObjectUtil.isNotNull(userNew)) {
|
||||
vo.setUserId(userNew.getId());
|
||||
vo.setRealName(userNew.getRealname());
|
||||
vo.setOrgCode(userNew.getOrgCode());
|
||||
vo.setOrgName(userNew.getDepart() != null ? userNew.getDepart().getDepartName() : "");
|
||||
@@ -726,7 +727,7 @@ public class WatchMonitorDataServiceImpl extends ServiceImpl<WatchMonitorDataMap
|
||||
voList.add(vo);
|
||||
});
|
||||
}
|
||||
IPage<WatchMonitorDataVo> pageVo = new Page<>();
|
||||
Page<WatchMonitorDataVo> pageVo = new Page<>();
|
||||
GlobalUtils.copyPageDataToTarget(pageList, pageVo);
|
||||
pageVo.setRecords(voList);
|
||||
return pageVo;
|
||||
|
||||
+5
@@ -34,6 +34,11 @@ public class SysUserEmergencyContactApiController {
|
||||
return sysUserEmergencyContactService.selectEmergencyContactList();
|
||||
}
|
||||
|
||||
@Operation(summary = "查询紧急联系人列表", description = "查询紧急联系人列表")
|
||||
@GetMapping("/contactList")
|
||||
public Result<List<SysUserEmergencyContactDO>> contactList(@RequestParam(name = "userId") String userId) {
|
||||
return sysUserEmergencyContactService.contactList(userId);
|
||||
}
|
||||
/**
|
||||
* 添加或者修改紧急联系人
|
||||
*
|
||||
|
||||
+2
@@ -9,6 +9,8 @@ public interface SysUserEmergencyContactService {
|
||||
|
||||
Result<List<SysUserEmergencyContactDO>> selectEmergencyContactList();
|
||||
|
||||
Result<List<SysUserEmergencyContactDO>> contactList(String userId);
|
||||
|
||||
Result<String> updateAndInsertEmergencyContact(SysUserEmergencyContactDO sysUserEmergencyContactDO);
|
||||
|
||||
|
||||
|
||||
+5
@@ -30,6 +30,11 @@ public class SysUserEmergencyContactServiceImpl implements SysUserEmergencyConta
|
||||
return Result.ok(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<List<SysUserEmergencyContactDO>> contactList(String userId) {
|
||||
return Result.ok(sysUserEmergencyContactMapper.selectEmergencyContactListByUserId(userId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<String> updateAndInsertEmergencyContact(SysUserEmergencyContactDO sysUserEmergencyContactDO) {
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
Reference in New Issue
Block a user