From 5014975bb71c739d4bbdab8a37e5404b05468b91 Mon Sep 17 00:00:00 2001 From: fl <3098731433@qq.com> Date: Fri, 18 Apr 2025 14:51:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A1=94=E5=90=8A=E8=AE=BE=E5=A4=87=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/base/common/utils/JsonHelper.java | 159 ++++++++++++++++++ .../base/common/utils/TypeCodeUtils.java | 5 + .../TowerCraneDetectionController.java | 85 ++++++++++ .../base/screen/domain/TowerCraneInfoVo.java | 58 +++++++ .../mapper/TowerCraneDetectionMapper.java | 38 +++++ .../service/TowerCraneDetectionService.java | 39 +++++ .../impl/TowerCraneDetectionServiceImpl.java | 81 +++++++++ .../TowerCraneDetectionMapper.xml | 53 ++++++ 8 files changed, 518 insertions(+) create mode 100644 bonus-modules/bonus-base/src/main/java/com/bonus/base/common/utils/JsonHelper.java create mode 100644 bonus-modules/bonus-base/src/main/java/com/bonus/base/screen/controller/TowerCraneDetectionController.java create mode 100644 bonus-modules/bonus-base/src/main/java/com/bonus/base/screen/domain/TowerCraneInfoVo.java create mode 100644 bonus-modules/bonus-base/src/main/java/com/bonus/base/screen/mapper/TowerCraneDetectionMapper.java create mode 100644 bonus-modules/bonus-base/src/main/java/com/bonus/base/screen/service/TowerCraneDetectionService.java create mode 100644 bonus-modules/bonus-base/src/main/java/com/bonus/base/screen/service/impl/TowerCraneDetectionServiceImpl.java create mode 100644 bonus-modules/bonus-base/src/main/resources/mapper/screen.basic/TowerCraneDetectionMapper.xml diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/common/utils/JsonHelper.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/common/utils/JsonHelper.java new file mode 100644 index 0000000..5026dfe --- /dev/null +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/common/utils/JsonHelper.java @@ -0,0 +1,159 @@ +package com.bonus.base.common.utils; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; + +import java.util.List; + +public interface JsonHelper { + + public String jsonSerialize(Object value); + + public T jsonDeserialize(String value, Class tClass); + + /** + * 将任意bean转换成json字符串 + * fast json + * @param bean + * @param + * @return + */ + public static String beanToJsonStr(T bean) { + String jsonStr = JSON.toJSONString(bean); + return jsonStr; + } + + /** + * 把一个json字符串转换成bean对象 + * fast json + * @param str + * @param + * @return + */ + public static T jsonStrToBean(String str, Class clazz) { + T bean = JSON.parseObject(str, clazz); + return bean; + } + + /** + * 把一个jsonObj转换成bean对象 + * fast json + * @param jsonObj + * @param + * @return + */ + public static T jsonObjToBean(JSONObject jsonObj, Class clazz) { + String s = jsonObj.toJSONString(); + T bean = JSON.parseObject(s, clazz); + return bean; + } + + /** + * 把一个bean对象转换成jsonObj + * fast json + * @param bean + * @param + * @return + */ + public static JSONObject beanToJsonObj(T bean) { + Object o = JSON.toJSON(bean); + return (JSONObject) o; + } + + /** + * 把一个jsonStr转换成jsonObj + * fast json + * @param str + * @return + */ + public static JSONObject jsonStrToJsonObj(String str) { + Object o = JSON.parseObject(str); + return (JSONObject) o; + } + + /** + * 把一个jsonObj转换成jsonStr + * fast json + * @param jsonObj + * @return + */ + public static String jsonObjToJsonStr(JSONObject jsonObj) { + String s = jsonObj.toJSONString(); + return s; + } + + + /** + * 把一个beanList对象转换成jsonArrStr + * fast json + * @param beanList + * @param + * @return + */ + public static JSONArray beanListToJsonArrStr(List beanList) { + Object o = JSON.toJSON(beanList); + return (JSONArray) o; + } + + /** + * 把一个jsonArrStr转换成beanList对象 + * fast json + * @param jsonArrStr + * @param + * @return + */ + public static List jsonArrStrToBeanList(String jsonArrStr,Class clazz) { + List ts = JSON.parseArray(jsonArrStr, clazz); + return ts; + } + + + /** + * 把一个JsonArr转换成JsonArrStr + * fast json + * @param jsonArr + * @return + */ + public static String jsonArrToJsonArrStr(JSONArray jsonArr) { + String s = JSON.toJSONString(jsonArr); + return s; + } + + + /** + * 把一个JsonArrStr文本转换成JsonArr + * fast json + * @param jsonArrStr + * @return + */ + public static JSONArray jsonArrStrToJsonArr(String jsonArrStr) { + Object o = JSON.parse(jsonArrStr); + return (JSONArray) o; + } + + + /** + * 把一个JsonArr转换成beanList + * fast json + * @param jsonArr + * @return + */ + public static List jsonArrToBeanList(JSONArray jsonArr,Class clazz) { + String s = JSON.toJSONString(jsonArr); + List ts = JSON.parseArray(s, clazz); + return ts; + } + + + /** + * 把一个beanList文本转换成JsonArr + * fast json + * @param beanList + * @return + */ + public static JSONArray beanListToJsonArr(List beanList) { + Object o = JSON.toJSON(beanList); + return (JSONArray) o; + } +} diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/common/utils/TypeCodeUtils.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/common/utils/TypeCodeUtils.java index a52923e..3b790ad 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/common/utils/TypeCodeUtils.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/common/utils/TypeCodeUtils.java @@ -22,5 +22,10 @@ public class TypeCodeUtils { */ public final static String SJK_CODE="9000300"; + /** + * 塔吊设备 + */ + public final static String TC_CODE="9000400"; + } diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/screen/controller/TowerCraneDetectionController.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/screen/controller/TowerCraneDetectionController.java new file mode 100644 index 0000000..78f091d --- /dev/null +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/screen/controller/TowerCraneDetectionController.java @@ -0,0 +1,85 @@ +package com.bonus.base.screen.controller; + +import com.bonus.base.basic.domain.CollectDevVo; +import com.bonus.base.basic.domain.ConstInfoVo; +import com.bonus.base.common.utils.TypeCodeUtils; +import com.bonus.base.screen.domain.DeviceAlarmVo; +import com.bonus.base.screen.domain.ProjectOverviewVo; +import com.bonus.base.screen.domain.TowerCraneInfoVo; +import com.bonus.base.screen.service.ExcavationDetectionService; +import com.bonus.base.screen.service.TowerCraneDetectionService; +import com.bonus.common.core.web.controller.BaseController; +import com.bonus.common.core.web.domain.AjaxResult; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 塔吊监测 + * @author fl + * @date 2025/4/18 + */ +@Slf4j +@RestController +@RequestMapping("/towerCraneDetection") +public class TowerCraneDetectionController extends BaseController { + + @Resource + private TowerCraneDetectionService service; + + @ApiOperation(value = "塔吊设备列表") + @PostMapping("/getConstDeviceList") + public AjaxResult getCollectDeviceList(@RequestBody ConstInfoVo constInfoVo) { + try { + List collectDevVoList = service.getConstDeviceList(constInfoVo); + return success(collectDevVoList); + }catch (Exception e){ + log.error("查询塔吊设备列表失败",e.getMessage()); + return error("查询塔吊设备列表失败"); + } + } + + + @ApiOperation(value = "塔吊设备信息") + @PostMapping("/getConstDeviceMsgById") + public AjaxResult getConstDeviceMsgById(@RequestBody ConstInfoVo constInfoVo) { + try { + TowerCraneInfoVo vo = service.getConstDeviceMsgById(constInfoVo); + return success(vo); + }catch (Exception e){ + log.error("查询塔吊设备信息失败",e.getMessage()); + return error("查询塔吊设备信息失败"); + } + } + + + @ApiOperation(value = "塔吊实时运行信息") + @PostMapping("/getTowerCraneRunMsgById") + public AjaxResult getTowerCraneRunMsgById(@RequestBody ConstInfoVo constInfoVo) { + try { + return service.getTowerCraneRunMsgById(constInfoVo); + }catch (Exception e){ + log.error("获取塔吊实时运行信息失败",e.getMessage()); + return error("塔吊实时运行信息失败"); + } + } + + @ApiOperation(value = "塔吊报警信息") + @PostMapping("/getTowerCraneAlarmList") + public AjaxResult getTowerCraneAlarmList(@RequestBody ConstInfoVo constInfoVo) { + try { + List deviceAlarmVoList = service.getTowerCraneAlarmList(constInfoVo); + return success(deviceAlarmVoList); + }catch (Exception e){ + log.error("查询塔吊报警信息失败",e.getMessage()); + return error("查询塔吊报警信息失败"); + } + } + +} diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/screen/domain/TowerCraneInfoVo.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/screen/domain/TowerCraneInfoVo.java new file mode 100644 index 0000000..59f5101 --- /dev/null +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/screen/domain/TowerCraneInfoVo.java @@ -0,0 +1,58 @@ +package com.bonus.base.screen.domain; + +import lombok.Data; + +/** + * @author fly + * 塔吊设备信息 + */ +@Data +public class TowerCraneInfoVo { + + /** + * 设备名称 + */ + private String name; + /** + * 设备编号 + */ + private String num; + /** + * 设备厂家 + */ + private String manufacturer; + + /** + * 型号规格 + */ + private String model; + + + /** + * 所在班组 + */ + private String team; + + /** + * 安装单位 + */ + private String installationUnit; + + /** + * 安装时间 + */ + private String installDate; + + /** + * 塔高 + */ + private Double towerHeight; + /** + * 臂长 + */ + private Integer boomLength; + + private String faceMachineNum; + + +} diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/screen/mapper/TowerCraneDetectionMapper.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/screen/mapper/TowerCraneDetectionMapper.java new file mode 100644 index 0000000..a60e7d8 --- /dev/null +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/screen/mapper/TowerCraneDetectionMapper.java @@ -0,0 +1,38 @@ +package com.bonus.base.screen.mapper; + +import com.bonus.base.basic.domain.CollectDevVo; +import com.bonus.base.basic.domain.ConstInfoVo; +import com.bonus.base.screen.domain.DeviceAlarmVo; +import com.bonus.base.screen.domain.MapValueVo; + +import java.util.List; + +public interface TowerCraneDetectionMapper { + /** + * 查询塔吊设备列表 + * @param constInfoVo + * @return + */ + List getConstDeviceList(ConstInfoVo constInfoVo); + + /** + * 塔吊报警信息 + * @param constInfoVo + * @return + */ + List getTowerCraneAlarmList(ConstInfoVo constInfoVo); + + /** + * 根据id查询具体塔吊设备信息 + * @param constInfoVo + * @return + */ + ConstInfoVo getConstDeviceMsgById(ConstInfoVo constInfoVo); + + /** + * 根据id查询具体实时运行信息 + * @param constInfoVo + * @return + */ + List getTowerCraneRunMsgById(ConstInfoVo constInfoVo); +} diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/screen/service/TowerCraneDetectionService.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/screen/service/TowerCraneDetectionService.java new file mode 100644 index 0000000..0ace4cd --- /dev/null +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/screen/service/TowerCraneDetectionService.java @@ -0,0 +1,39 @@ +package com.bonus.base.screen.service; + +import com.bonus.base.basic.domain.CollectDevVo; +import com.bonus.base.basic.domain.ConstInfoVo; +import com.bonus.base.screen.domain.DeviceAlarmVo; +import com.bonus.base.screen.domain.ProjectOverviewVo; +import com.bonus.base.screen.domain.TowerCraneInfoVo; +import com.bonus.common.core.web.domain.AjaxResult; + +import java.util.List; + +public interface TowerCraneDetectionService { + /** + * 查询塔吊设备列表 + * @param constInfoVo + * @return + */ + List getConstDeviceList(ConstInfoVo constInfoVo); + + /** + * 塔吊报警信息 + * @param constInfoVo + * @return + */ + List getTowerCraneAlarmList(ConstInfoVo constInfoVo); + + /** + * 根据id查询具体塔吊设备信息 + * @param constInfoVo + * @return + */ + TowerCraneInfoVo getConstDeviceMsgById(ConstInfoVo constInfoVo); + /** + * 根据id查询具体实时运行信息 + * @param constInfoVo + * @return + */ + AjaxResult getTowerCraneRunMsgById(ConstInfoVo constInfoVo); +} diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/screen/service/impl/TowerCraneDetectionServiceImpl.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/screen/service/impl/TowerCraneDetectionServiceImpl.java new file mode 100644 index 0000000..b43f41d --- /dev/null +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/screen/service/impl/TowerCraneDetectionServiceImpl.java @@ -0,0 +1,81 @@ +package com.bonus.base.screen.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.bonus.base.basic.domain.ConstInfoVo; +import com.bonus.base.common.utils.JsonHelper; +import com.bonus.base.common.utils.TypeCodeUtils; +import com.bonus.base.screen.domain.DeviceAlarmVo; +import com.bonus.base.screen.domain.MapValueVo; +import com.bonus.base.screen.domain.TowerCraneInfoVo; +import com.bonus.base.screen.mapper.TowerCraneDetectionMapper; +import com.bonus.base.screen.service.TowerCraneDetectionService; +import com.bonus.common.core.web.domain.AjaxResult; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author fl + * @date 2025/4/18 + */ +@Slf4j +@Service +public class TowerCraneDetectionServiceImpl implements TowerCraneDetectionService { + + @Resource + private TowerCraneDetectionMapper mapper; + + /** + * 查询塔吊设备列表 + * @param constInfoVo + * @return + */ + @Override + public List getConstDeviceList(ConstInfoVo constInfoVo) { + //设置查询类型 + constInfoVo.setTypeCode(TypeCodeUtils.TC_CODE); + List collectDevVoList = mapper.getConstDeviceList(constInfoVo); + return collectDevVoList; + } + + /** + * 塔吊报警信息 + * @param constInfoVo + * @return + */ + @Override + public List getTowerCraneAlarmList(ConstInfoVo constInfoVo) { + List deviceAlarmVoList = mapper.getTowerCraneAlarmList(constInfoVo); + return deviceAlarmVoList; + } + + /** + * 根据id查询具体塔吊设备信息 + * @param constInfoVo + * @return + */ + @Override + public TowerCraneInfoVo getConstDeviceMsgById(ConstInfoVo constInfoVo) { + ConstInfoVo c = mapper.getConstDeviceMsgById(constInfoVo); + TowerCraneInfoVo deviceDetail = new TowerCraneInfoVo(); + if(c != null && c.getConfigData() != null){ + JSONObject jsonObject = JsonHelper.jsonStrToJsonObj(c.getConfigData()); + deviceDetail = JsonHelper.jsonObjToBean(jsonObject.getJSONObject("deviceDetail"), TowerCraneInfoVo.class); + } + return deviceDetail; + } + + /** + * 根据id查询具体实时运行信息 + * @param constInfoVo + * @return + */ + @Override + public AjaxResult getTowerCraneRunMsgById(ConstInfoVo constInfoVo) { + List list = mapper.getTowerCraneRunMsgById(constInfoVo); + return AjaxResult.success(list); + } + +} diff --git a/bonus-modules/bonus-base/src/main/resources/mapper/screen.basic/TowerCraneDetectionMapper.xml b/bonus-modules/bonus-base/src/main/resources/mapper/screen.basic/TowerCraneDetectionMapper.xml new file mode 100644 index 0000000..44c6194 --- /dev/null +++ b/bonus-modules/bonus-base/src/main/resources/mapper/screen.basic/TowerCraneDetectionMapper.xml @@ -0,0 +1,53 @@ + + + + + + + + + + +