package com.panzhihua.service_bracelet.api;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.panzhihua.common.model.dtos.bracelet.BraceletEarlyWarningDO;
|
import com.panzhihua.common.model.dtos.bracelet.BraceletUserDataDO;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.utlis.StringUtils;
|
import com.panzhihua.service_bracelet.model.dos.SysUser;
|
import com.panzhihua.service_bracelet.service.BraceletEarlyWarningService;
|
import com.panzhihua.service_bracelet.service.BraceletUserDataService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
@Slf4j
|
@RestController
|
@RequestMapping("/braceletApi")
|
public class BraceletUserDataApi {
|
|
@Resource
|
private BraceletUserDataService braceletUserDataService;
|
|
//手环预警功能
|
@Resource
|
private BraceletEarlyWarningService braceletEarlyWarningService;
|
|
/**
|
* 新增数据
|
*
|
* @param braceletUserDataDO
|
* 请求参数
|
* @return 新增数据
|
*/
|
@PostMapping("/addBracelet")
|
public R addBracelet(@RequestBody BraceletUserDataDO braceletUserDataDO)
|
{
|
braceletUserDataDO.setIsAbnormal("0");
|
braceletUserDataDO.setOnoff("1");
|
|
BraceletUserDataDO data=null;
|
|
if(!StringUtils.isEmpty(braceletUserDataDO.getDeviceId()))
|
{
|
data=braceletUserDataService.getDetails(braceletUserDataDO.getDeviceId());
|
}
|
|
if(data==null || StringUtils.isEmpty(data.getDeviceId()))
|
{
|
return R.ok(braceletUserDataService.addBracelet(braceletUserDataDO));
|
}
|
else
|
{
|
//101:血压数据 107:体温数据 110:计步数据 112:心率数据 201:SOS 呼叫请求 202:定位数据 301:穿戴设备电量 302:设备在线与离线
|
if(!StringUtils.isEmpty(braceletUserDataDO.getDataType()))
|
{
|
switch (braceletUserDataDO.getDataType())
|
{
|
case "101":
|
BraceletEarlyWarningDO data101=new BraceletEarlyWarningDO();
|
data101.setEquipmentNumber(braceletUserDataDO.getDeviceId());
|
data101.setDisposeType("1");
|
data101.setCommunityId(data.getCommunityId());
|
//低压
|
if(Integer.valueOf(braceletUserDataDO.getPdp())<Integer.valueOf(data.getLowTensionFloor()))
|
{
|
//低压报警过低
|
data101.setEarlyWarningText("血压低压(舒张压)低于设定值");
|
data101.setEarlyWarningType("1");
|
braceletUserDataDO.setIsAbnormal("1");
|
braceletEarlyWarningService.addBracelet(data101);
|
}
|
|
if(Integer.valueOf(braceletUserDataDO.getPdp())>Integer.valueOf(data.getLowTensionUpperLimit()))
|
{
|
//低压报警过高
|
data101.setEarlyWarningText("血压低压(舒张压)高于设定值");
|
data101.setEarlyWarningType("1");
|
braceletUserDataDO.setIsAbnormal("1");
|
braceletEarlyWarningService.addBracelet(data101);
|
}
|
|
if(Integer.valueOf(braceletUserDataDO.getPcp())<Integer.valueOf(data.getHighPressureFloor()))
|
{
|
//高压报警过低
|
data101.setEarlyWarningText("血压高压(收缩压)低于设定值");
|
data101.setEarlyWarningType("1");
|
braceletUserDataDO.setIsAbnormal("1");
|
braceletEarlyWarningService.addBracelet(data101);
|
}
|
|
if(Integer.valueOf(braceletUserDataDO.getPcp())>Integer.valueOf(data.getHighPressureUpperLimit()))
|
{
|
//高压报警过高
|
data101.setEarlyWarningText("血压高压(收缩压)高于设定值");
|
data101.setEarlyWarningType("1");
|
braceletUserDataDO.setIsAbnormal("1");
|
braceletEarlyWarningService.addBracelet(data101);
|
}
|
|
if(Integer.valueOf(braceletUserDataDO.getPm())<Integer.valueOf(data.getLowHeartRate()))
|
{
|
//心率报警过低
|
data101.setEarlyWarningText("心率低于设定值");
|
data101.setEarlyWarningType("2");
|
braceletUserDataDO.setIsAbnormal("1");
|
braceletEarlyWarningService.addBracelet(data101);
|
}
|
|
if(Integer.valueOf(braceletUserDataDO.getPm())>Integer.valueOf(data.getTallHeartRate()))
|
{
|
//心率报警过高
|
data101.setEarlyWarningText("心率高于设定值");
|
data101.setEarlyWarningType("2");
|
braceletUserDataDO.setIsAbnormal("1");
|
braceletEarlyWarningService.addBracelet(data101);
|
}
|
|
|
break;
|
//体温数据
|
case "107":
|
BraceletEarlyWarningDO data107=new BraceletEarlyWarningDO();
|
data107.setEquipmentNumber(braceletUserDataDO.getDeviceId());
|
data107.setDisposeType("1");
|
data107.setCommunityId(data.getCommunityId());
|
if(Double.valueOf(braceletUserDataDO.getEtg())<Double.valueOf(data.getLowAnimalHeat()))
|
{
|
//体温报警过低
|
data107.setEarlyWarningText("体温低于设定值");
|
data107.setEarlyWarningType("3");
|
braceletUserDataDO.setIsAbnormal("1");
|
braceletEarlyWarningService.addBracelet(data107);
|
}
|
|
if(Double.valueOf(braceletUserDataDO.getEtg())>Double.valueOf(data.getTallAnimalHeat()))
|
{
|
//体温报警过高
|
data107.setEarlyWarningText("体温高于设定值");
|
data107.setEarlyWarningType("3");
|
braceletUserDataDO.setIsAbnormal("1");
|
braceletEarlyWarningService.addBracelet(data107);
|
}
|
break;
|
//心率数据
|
case "112":
|
BraceletEarlyWarningDO data112=new BraceletEarlyWarningDO();
|
data112.setEquipmentNumber(braceletUserDataDO.getDeviceId());
|
data112.setDisposeType("1");
|
data112.setCommunityId(data.getCommunityId());
|
if(Integer.valueOf(braceletUserDataDO.getPm())<Integer.valueOf(data.getLowHeartRate()))
|
{
|
//心率报警过低
|
data112.setEarlyWarningText("心率低于设定值");
|
data112.setEarlyWarningType("2");
|
braceletUserDataDO.setIsAbnormal("1");
|
braceletEarlyWarningService.addBracelet(data112);
|
}
|
|
if(Integer.valueOf(braceletUserDataDO.getPm())>Integer.valueOf(data.getTallHeartRate()))
|
{
|
//心率报警过高
|
data112.setEarlyWarningText("心率高于设定值");
|
data112.setEarlyWarningType("2");
|
braceletUserDataDO.setIsAbnormal("1");
|
braceletEarlyWarningService.addBracelet(data112);
|
}
|
break;
|
|
//sos数据
|
case "201":
|
BraceletEarlyWarningDO data201=new BraceletEarlyWarningDO();
|
data201.setEquipmentNumber(braceletUserDataDO.getDeviceId());
|
data201.setDisposeType("1");
|
data201.setCommunityId(data.getCommunityId());
|
data201.setEarlyWarningText("SOS预警");
|
data201.setEarlyWarningType("4");
|
braceletUserDataDO.setIsAbnormal("1");
|
braceletEarlyWarningService.addBracelet(data201);
|
break;
|
}
|
}
|
return R.ok(braceletUserDataService.upBracelet(braceletUserDataDO));
|
}
|
|
}
|
|
|
/**
|
* 新增数据
|
*
|
* @param braceletUserDataDO
|
* 请求参数
|
* @return 新增数据
|
*/
|
@PostMapping("/upBracelet")
|
public R upBracelet(@RequestBody BraceletUserDataDO braceletUserDataDO)
|
{
|
return R.ok(braceletUserDataService.upBracelet(braceletUserDataDO));
|
}
|
|
|
/**
|
* 新增数据
|
*
|
* @param id
|
* 请求参数
|
* @return 新增数据
|
*/
|
@DeleteMapping("/delectData")
|
public R delectData(@RequestParam("id") String id)
|
{
|
return R.ok(braceletUserDataService.delectData(id));
|
}
|
|
/**
|
* 分页查询 数据
|
* @param pageNum
|
* @param pageSize
|
* @return
|
*/
|
@GetMapping("/getData")
|
public R<IPage<BraceletUserDataDO>> getData(@RequestParam("pageNum") Integer pageNum,
|
@RequestParam("pageSize") Integer pageSize,
|
@RequestParam(value = "communityId",required = false) String communityId,
|
@RequestParam(value = "userName",required = false) String userName,
|
@RequestParam(value = "phone",required = false) String phone)
|
|
|
{
|
Page page = new Page<>();
|
page.setCurrent(pageNum);
|
page.setSize(pageSize);
|
return R.ok(braceletUserDataService.getData(page,communityId,userName,phone));
|
}
|
|
|
/**
|
* 设备用户详情数据
|
* @return
|
*/
|
@GetMapping("/getDetails")
|
public R<BraceletUserDataDO> getDetails(@RequestParam("deviceID") String deviceID)
|
{
|
return R.ok(braceletUserDataService.getDetails(deviceID));
|
}
|
|
|
/**
|
* 新增手环预警数据
|
* @param braceletEarlyWarningDO
|
* @return
|
*/
|
@PostMapping("/addEarlyWarning")
|
public R addEarlyWarning(@RequestBody BraceletEarlyWarningDO braceletEarlyWarningDO) {
|
return R.ok(braceletEarlyWarningService.addBracelet(braceletEarlyWarningDO));
|
}
|
|
/**
|
* 编辑手环预警数据
|
* @param braceletEarlyWarningDO
|
* @return
|
*/
|
@PostMapping("/upEarlyWarning")
|
public R upEarlyWarning(@RequestBody BraceletEarlyWarningDO braceletEarlyWarningDO) {
|
return R.ok(braceletEarlyWarningService.upBracelet(braceletEarlyWarningDO));
|
}
|
|
/**
|
* 删除预警数据
|
* @param id
|
* @return
|
*/
|
@DeleteMapping("/delectEarlyWarning")
|
public R delectEarlyWarning(@RequestParam("id") String id) {
|
return R.ok(braceletEarlyWarningService.delectData(id));
|
}
|
|
/**
|
* 获取预警数据
|
* @param communityId
|
* @return
|
*/
|
@GetMapping("/getEarlyWarningList")
|
public R<IPage<BraceletEarlyWarningDO>> getList(@RequestParam("pageNum") Integer pageNum,
|
@RequestParam("pageSize") Integer pageSize,
|
@RequestParam(value = "communityId",required = false) String communityId,
|
@RequestParam(value = "equipmentNumber",required = false) String equipmentNumber,
|
@RequestParam(value = "disposeUserId",required = false) String disposeUserId,
|
@RequestParam(value = "type",required = false) String type,
|
@RequestParam(value = "userName",required = false) String userName,
|
@RequestParam(value = "phone",required = false) String phone)
|
{
|
Page page=new Page();
|
page.setSize(pageSize);
|
page.setCurrent(pageNum);
|
return R.ok(braceletEarlyWarningService.getList(page,communityId,equipmentNumber,disposeUserId,type,userName,phone));
|
}
|
|
/**
|
* 获取单个预警信息详情
|
* @param id
|
* @return
|
*/
|
@GetMapping("/getEarlyWarningDetails")
|
public R<BraceletEarlyWarningDO> getEarlyWarningDetails(@RequestParam("id") String id)
|
{
|
return R.ok(braceletEarlyWarningService.getDetails(id));
|
}
|
|
|
/**
|
* 后台处理接口
|
* @return
|
*/
|
@PostMapping("/dispose")
|
public R dispose(@RequestBody BraceletEarlyWarningDO braceletEarlyWarningDO)
|
{
|
if(StringUtils.isEmpty(braceletEarlyWarningDO.getId()))
|
{
|
return R.fail("id不能为空");
|
}
|
|
//忽略
|
if(StringUtils.equals(braceletEarlyWarningDO.getDisposeType(),"4"))
|
{
|
BraceletEarlyWarningDO da=new BraceletEarlyWarningDO();
|
da.setDisposeType("4");
|
da.setId(braceletEarlyWarningDO.getId());
|
|
BraceletEarlyWarningDO da2=braceletEarlyWarningService.getDetails(braceletEarlyWarningDO.getId());
|
BraceletUserDataDO data=new BraceletUserDataDO();
|
data.setIsAbnormal("0");
|
data.setDeviceId(da2.getEquipmentNumber());
|
braceletUserDataService.upBracelet(data);
|
|
return R.ok(braceletEarlyWarningService.upBracelet(da));
|
}
|
|
if(StringUtils.isEmpty(braceletEarlyWarningDO.getDisposeUserId()))
|
{
|
return R.fail("处理人员不能为空");
|
}
|
braceletEarlyWarningDO.setDisposeType("3");
|
|
return R.ok(braceletEarlyWarningService.upBracelet(braceletEarlyWarningDO));
|
}
|
|
|
|
/**
|
* 微信处理接口
|
* @param braceletEarlyWarningDO
|
* @return
|
*/
|
@PostMapping("/WXdispose")
|
public R WXdispose(@RequestBody BraceletEarlyWarningDO braceletEarlyWarningDO)
|
{
|
//
|
if(braceletEarlyWarningService.WXdispose(braceletEarlyWarningDO)>0)
|
{
|
BraceletEarlyWarningDO da=braceletEarlyWarningService.getDetails(braceletEarlyWarningDO.getId());
|
BraceletUserDataDO data=new BraceletUserDataDO();
|
data.setIsAbnormal("0");
|
data.setDeviceId(da.getEquipmentNumber());
|
braceletUserDataService.upBracelet(data);
|
return R.ok();
|
}
|
else
|
{
|
return R.fail("操作失败");
|
}
|
|
}
|
|
|
|
/**
|
* 处理人
|
* @param communityId
|
* @return
|
*/
|
@GetMapping("/conductorList")
|
public R<List<SysUser>> conductorList(@RequestParam("communityId") String communityId)
|
{
|
return R.ok(braceletUserDataService.conductorList(communityId));
|
}
|
|
|
|
/**********************************************************************************************************************************************
|
*
|
* 大屏居家养老
|
*
|
**********************************************************************************************************************************************/
|
|
/**
|
* 手环人数
|
* @return
|
*/
|
@GetMapping("/getUserNum")
|
public R getUserNum(@RequestParam("communityId") String communityId)
|
{
|
return R.ok(braceletUserDataService.getUserNum(communityId));
|
}
|
|
|
/**
|
* 手环定位数据
|
*/
|
@GetMapping("/getUserList")
|
public R getUserList(@RequestParam("communityId") String communityId)
|
{
|
return R.ok(braceletUserDataService.getUserList(communityId));
|
}
|
|
|
/**
|
* 获取手环预警次数
|
* @return
|
*/
|
@GetMapping("/getWarningNum")
|
public R getWarningNum(@RequestParam("communityId") String communityId,
|
@RequestParam(value = "disposeType",required = false) String disposeType)
|
{
|
//未处理
|
Integer num1=braceletEarlyWarningService.getWarningNum(communityId,"1");
|
//已处理
|
Integer num2=braceletEarlyWarningService.getWarningNum(communityId,"2");
|
//处理中
|
Integer num4=braceletEarlyWarningService.getWarningNum(communityId,"3");
|
//忽略
|
Integer num3=braceletEarlyWarningService.getWarningNum(communityId,"4");
|
|
Map<String,Integer> map=new HashMap<>();
|
map.put("untreatedNum",num1);
|
map.put("processedNum",num2);
|
map.put("ignoreNum",num3);
|
map.put("beingProcessedNum",num4);
|
|
return R.ok(map);
|
}
|
|
|
|
}
|