diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/BraceletParamsDto.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/BraceletParamsDto.java index 5238192..c92d203 100644 --- a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/BraceletParamsDto.java +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/BraceletParamsDto.java @@ -116,6 +116,8 @@ public class BraceletParamsDto { /**结束时间*/ private String endTime; + private List dataName; + @Data public static class SpotCheckInfo{ /**人员ID*/ diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/PersonDetailVo.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/PersonDetailVo.java index c353cfc..1da4fb3 100644 --- a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/PersonDetailVo.java +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/PersonDetailVo.java @@ -1,8 +1,12 @@ package com.bonus.common.entity.bracelet.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; +import java.util.Date; +import java.util.List; + /** * @className:PersonDetailVo * @author:cwchen @@ -65,6 +69,12 @@ public class PersonDetailVo { */ @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private Integer faceStatus; + + /** + * 马甲编号 + */ + private String mjCode; + /** * 手环 */ @@ -74,6 +84,11 @@ public class PersonDetailVo { */ private SafetyHat safetyHat; + /** + * 告警内容 + */ + private List warnInfoList; + /** * 手环 */ @@ -90,7 +105,7 @@ public class PersonDetailVo { /** * 电量 */ - private Double elec; + private Double elec = 0D; /** * 是否告警 */ @@ -107,10 +122,6 @@ public class PersonDetailVo { * 血压 */ private String bloodPressure; - /** - * 马甲编号 - */ - private String mjCode; } @Data @@ -137,4 +148,17 @@ public class PersonDetailVo { private String devStatus; } + @Data + public static class WarnInfo { + /** + * 告警内容 + */ + private String warnContent; + /** + * 告警时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date warnTime; + } + } diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/ConsControlController.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/ConsControlController.java index 5571c48..f6b01ad 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/ConsControlController.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/ConsControlController.java @@ -150,4 +150,16 @@ public class ConsControlController extends BaseController { public AjaxResult getPersonDetail(BraceletParamsDto dto){ return service.getPersonDetail(dto); } + + /** + * 人员历史轨迹 + * @param dto + * @return AjaxResult + * @author cwchen + * @date 2024/8/16 9:48 + */ + @GetMapping("getHistoryGj") + public AjaxResult getHistoryGj(BraceletParamsDto dto){ + return service.getHistoryGj(dto); + } } diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/ConsControlMapper.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/ConsControlMapper.java index e75d77d..1e59536 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/ConsControlMapper.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/ConsControlMapper.java @@ -177,9 +177,18 @@ public interface ConsControlMapper { /** * 获取手环的预警信息 * @param dto - * @return List> + * @return List * @author cwchen * @date 2024/8/15 18:39 */ - List> getWarnInfo(BraceletParamsDto dto); + List getWarnInfo(BraceletParamsDto dto); + + /** + * 人员历史轨迹 + * @param dto + * @return List> + * @author cwchen + * @date 2024/8/16 9:55 + */ + List> getHistoryGj(BraceletParamsDto dto); } diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IConsControlService.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IConsControlService.java index 050b063..db3796a 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IConsControlService.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IConsControlService.java @@ -113,4 +113,13 @@ public interface IConsControlService { * @date 2024/8/15 16:50 */ AjaxResult getPersonDetail(BraceletParamsDto dto); + + /** + * 人员历史轨迹 + * @param dto + * @return AjaxResult + * @author cwchen + * @date 2024/8/16 9:48 + */ + AjaxResult getHistoryGj(BraceletParamsDto dto); } diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/ConsControlServiceImpl.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/ConsControlServiceImpl.java index d579d29..8a81b99 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/ConsControlServiceImpl.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/ConsControlServiceImpl.java @@ -345,15 +345,45 @@ public class ConsControlServiceImpl implements IConsControlService { // 获取手环的预警信息 dto.setStartTime(DateTimeHelper.getNowDay()); dto.setEndTime(DateTimeHelper.getNowDay()); - List> warnInfoList = mapper.getWarnInfo(dto); + dto.setId(vo.getBraceletId()); + List warnInfoList = mapper.getWarnInfo(dto); + vo.setWarnInfoList(warnInfoList); dataMap.put("vo", vo); - dataMap.put("warnInfoList", warnInfoList); } catch (Exception e) { log.error(e.toString(), e); } return AjaxResult.success(dataMap); } + @Override + public AjaxResult getHistoryGj(BraceletParamsDto dto) { + List> list = new ArrayList<>(); + List> dataList = new ArrayList<>(); + try { + List dataNameList = new ArrayList<>(); + dataNameList.add(BusinessConstants.LON); + dataNameList.add(BusinessConstants.LAT); + dto.setDataName(dataNameList); + if(StringUtils.isEmpty(dto.getStartTime())){ + dto.setStartTime(DateTimeHelper.getNowDay()); + } + list = mapper.getHistoryGj(dto); + for (Map map : list) { + String value = (String)map.get("value"); + String[] valueArr = value.split(","); + if(valueArr.length == 2 && StringUtils.isNotBlank(valueArr[0]) && StringUtils.isNotBlank(valueArr[1])){ + Map dataMap = new HashMap<>(2); + dataMap.put("lon",valueArr[0]); + dataMap.put("lat",valueArr[1]); + dataList.add(dataMap); + } + } + } catch (Exception e) { + log.error(e.toString(),e); + } + return AjaxResult.success(dataList); + } + /** * 班组人员/临时人员 是否超出正常施工范围 * @@ -446,7 +476,7 @@ public class ConsControlServiceImpl implements IConsControlService { } else if (dataVal != null && dataUnit != null) { return String.valueOf(dataVal) + String.valueOf(dataUnit); } - return null; + return "--"; } /** @@ -459,7 +489,7 @@ public class ConsControlServiceImpl implements IConsControlService { */ public Double handleElecValue(Map map) { Object dataVal = map.get("dataVal"); - if (dataVal == null || isNumeric(String.valueOf(dataVal))) { + if (dataVal == null || !isNumeric(String.valueOf(dataVal))) { return 0D; } else { return Double.parseDouble(String.valueOf(dataVal)); diff --git a/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/ConsControlMapper.xml b/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/ConsControlMapper.xml index 8ba11e9..a4328f8 100644 --- a/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/ConsControlMapper.xml +++ b/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/ConsControlMapper.xml @@ -369,7 +369,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" tb.face_status AS faceStatus, tb.id AS braceletId, sbx.gt_id AS towerId, - tb.sh_code AS shCode + tb.sh_code AS shCode, + IFNULL(tp.mj_code,'--') AS mjCode FROM tb_people tp LEFT JOIN tb_bracelet tb ON tp.id = tb.bid_id AND tb.peopel_type = 0 LEFT JOIN tb_sh_box sbx ON tb.box_id=sbx.id AND sbx.del_flag = 0 @@ -385,7 +386,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" tb.face_status AS faceStatus, tb.id AS braceletId, sbx.gt_id AS towerId, - tb.sh_code AS shCode + tb.sh_code AS shCode, + '--' AS mjCode FROM tb_ls_user tlu LEFT JOIN tb_bracelet tb ON tlu.id = tb.bid_id AND tb.peopel_type = 1 LEFT JOIN tb_sh_box sbx ON tb.box_id=sbx.id AND sbx.del_flag = 0 @@ -405,7 +407,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHERE td.dev_type = 'aqm' AND tdl.ly_user = #{id} AND td.del_flag = 0 - SELECT tw.warn_content AS warnContent, tw.warn_time AS warnTime FROM tb_warn tw @@ -414,5 +416,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND DATE_FORMAT(tw.warn_time, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime} + + \ No newline at end of file