From ab841e501bad777835825ef93b74d334e6c43c1d Mon Sep 17 00:00:00 2001 From: huangfeng Date: Fri, 8 Mar 2024 10:37:40 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E6=97=A7=E7=89=88Equ?= =?UTF-8?q?ipController=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xydl/cac/old/AjaxResult.java | 145 ++++++++++++++++++ .../java/com/xydl/cac/old/BaseEqmDevice.java | 24 +++ .../java/com/xydl/cac/old/BaseLxDevice.java | 30 ++++ src/main/java/com/xydl/cac/old/Equipment.java | 51 ++++++ .../com/xydl/cac/old/EquipmentController.java | 119 ++++++++++++++ .../java/com/xydl/cac/old/HttpStatusCode.java | 106 +++++++++++++ .../java/com/xydl/cac/old/OldService.java | 133 ++++++++++++++++ .../cac/repository/NSensorRepository.java | 2 + .../xydl/cac/repository/ZsbRepository.java | 2 + 9 files changed, 612 insertions(+) create mode 100644 src/main/java/com/xydl/cac/old/AjaxResult.java create mode 100644 src/main/java/com/xydl/cac/old/BaseEqmDevice.java create mode 100644 src/main/java/com/xydl/cac/old/BaseLxDevice.java create mode 100644 src/main/java/com/xydl/cac/old/Equipment.java create mode 100644 src/main/java/com/xydl/cac/old/EquipmentController.java create mode 100644 src/main/java/com/xydl/cac/old/HttpStatusCode.java create mode 100644 src/main/java/com/xydl/cac/old/OldService.java diff --git a/src/main/java/com/xydl/cac/old/AjaxResult.java b/src/main/java/com/xydl/cac/old/AjaxResult.java new file mode 100644 index 0000000..3bdbbe6 --- /dev/null +++ b/src/main/java/com/xydl/cac/old/AjaxResult.java @@ -0,0 +1,145 @@ +package com.xydl.cac.old; + + + +import java.util.HashMap; + +/** + * @ClassName:AjaxResult + * @Description: Ajax操作返回 + * @Author: Arno_Fu + * @CreatTime:11/26/2019 - 12:51 PM + * @Version V1.0 + */ +public class AjaxResult extends HashMap { + + /** + * 状态码 + */ + public static final String CODE_TAG = "code"; + + /** + * 返回内容 + */ + public static final String MSG_TAG = "msg"; + + /** + * 数据对象 + */ + public static final String DATA_TAG = "data"; + + /** + * 初始化一个新创建的 AjaxResult 对象,使其表示一个空消息。 + */ + public AjaxResult() { + + } + + /** + * 初始化一个新创建的 AjaxResult 对象 + * + * @param code 状态码 + * @param msg 返回内容 + */ + public AjaxResult(int code, String msg) { + super.put(CODE_TAG, code); + super.put(MSG_TAG, msg); + } + + /** + * 初始化一个新创建的 AjaxResult 对象 + * + * @param code 状态码 + * @param msg 返回内容 + * @param data 数据对象 + */ + public AjaxResult(int code, String msg, Object data) { + super.put(CODE_TAG, code); + super.put(MSG_TAG, msg); + if (data != null) { + super.put(DATA_TAG, data); + } + } + + + /** + * 返回成功消息 + * + * @return 成功消息 + */ + public static AjaxResult success() { + return AjaxResult.success("操作成功"); + } + + /** + * 返回成功数据 + * + * @return 成功消息 + */ + public static AjaxResult success(Object data) { + return AjaxResult.success("操作成功", data); + } + + /** + * 返回成功消息 + * + * @param msg 返回内容 + * @return 成功消息 + */ + public static AjaxResult success(String msg) { + return AjaxResult.success(msg, null); + } + + /** + * 返回成功消息 + * + * @param msg 返回内容 + * @param data 数据对象 + * @return 成功消息 + */ + public static AjaxResult success(String msg, Object data) { + return new AjaxResult(HttpStatusCode.SUCCESS, msg, data); + } + + + /** + * 返回错误消息 + * + * @return + */ + public static AjaxResult error() { + return AjaxResult.error("操作失败"); + } + + /** + * 返回错误消息 + * + * @param msg 返回内容 + * @return 警告消息 + */ + public static AjaxResult error(String msg) { + return AjaxResult.error(msg, null); + } + + /** + * 返回错误消息 + * + * @param msg 返回内容 + * @param data 数据对象 + * @return 警告消息 + */ + public static AjaxResult error(String msg, Object data) { + return new AjaxResult(HttpStatusCode.ERROR, msg, data); + } + + /** + * 返回错误消息 + * + * @param code 状态码 + * @param msg 返回内容 + * @return 警告消息 + */ + public static AjaxResult error(int code, String msg) { + return new AjaxResult(code, msg, null); + } +} diff --git a/src/main/java/com/xydl/cac/old/BaseEqmDevice.java b/src/main/java/com/xydl/cac/old/BaseEqmDevice.java new file mode 100644 index 0000000..0391c84 --- /dev/null +++ b/src/main/java/com/xydl/cac/old/BaseEqmDevice.java @@ -0,0 +1,24 @@ +package com.xydl.cac.old; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class BaseEqmDevice implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * eqmid + */ + @ApiModelProperty(value="设备id", name="id") + private String id; + + /** + * name + */ + @ApiModelProperty(value="设备名称", name="name") + private String name; +} diff --git a/src/main/java/com/xydl/cac/old/BaseLxDevice.java b/src/main/java/com/xydl/cac/old/BaseLxDevice.java new file mode 100644 index 0000000..b22a5c5 --- /dev/null +++ b/src/main/java/com/xydl/cac/old/BaseLxDevice.java @@ -0,0 +1,30 @@ +package com.xydl.cac.old; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class BaseLxDevice implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * lxid + */ + @ApiModelProperty(value="设备类型id", name="lxid") + private String lxid; + + /** + * lmc + */ + @ApiModelProperty(value="设备类型名称", name="lmc") + private String lmc; + + /** + * zmc + */ + @ApiModelProperty(value="设备类型名称", name="lmc") + private String zmc; +} diff --git a/src/main/java/com/xydl/cac/old/Equipment.java b/src/main/java/com/xydl/cac/old/Equipment.java new file mode 100644 index 0000000..532071b --- /dev/null +++ b/src/main/java/com/xydl/cac/old/Equipment.java @@ -0,0 +1,51 @@ +package com.xydl.cac.old; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class Equipment { + private static final long serialVersionUID = 1L; + + /** + * 变压器个数 + */ + @ApiModelProperty(value = "变压器个数", name = "byqNum") + private long byqNum; + + /** + * GIS个数 + */ + @ApiModelProperty(value = "GIS个数", name = "gisNum") + private long gisNum; + + /** + * 避雷器个数 + */ + @ApiModelProperty(value = "避雷器个数", name = "blqNum") + private long blqNum; + + /** + * 电缆个数 + */ + @ApiModelProperty(value = "电缆个数", name = "dlNum") + private long dlNum; + + /** + * 测温个数 + */ + @ApiModelProperty(value = "测温个数", name = "cwNum") + private long cwNum; + + /** + * 其他个数 + */ + @ApiModelProperty(value = "其他个数", name = "otherNum") + private long otherNum; + + /** + * 总数 + */ + @ApiModelProperty(value = "总数", name = "totalNum") + private long totalNum; +} diff --git a/src/main/java/com/xydl/cac/old/EquipmentController.java b/src/main/java/com/xydl/cac/old/EquipmentController.java new file mode 100644 index 0000000..8a45ee4 --- /dev/null +++ b/src/main/java/com/xydl/cac/old/EquipmentController.java @@ -0,0 +1,119 @@ +package com.xydl.cac.old; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +@Api(tags = "旧接口") +@RestController +@RequestMapping("EquipController") +public class EquipmentController { + + @Resource + OldService service; + + /** + * 获取设备数量 + * + * @return + */ + @ApiOperation(value = "获取设备数量数据") + @GetMapping(value = "/queryEquipNum") + public AjaxResult queryEquipNum() { + Equipment equipment = service.queryEquipNum(); + return AjaxResult.success(equipment); + } + +// /** +// * 获取微气象数据(默认取主变1) +// */ +// @ApiOperation(value = "获取微气象数据") +// @GetMapping(value = "/queryMicroclimate") +// public AjaxResult queryMicroclimate() { +// // 取主变1的微气象设备id +// Integer eqmid = 186; +// MicroclimateVo microclimateVo = cableCirculationMapper.getMicroclimate(eqmid); +// return AjaxResult.success(microclimateVo); +// } +// +// /** +// * return: +// * { +// * "变压器": 1, +// * "GIS": 2, +// * "避雷器": 3, +// * "开关柜": 4, +// * "电缆": 5, +// * "发电机": 6 +// * } +// */ +// @ApiOperation(value = "获取变电设备类型") +// @GetMapping(value = "/queryJg") +// public AjaxResult queryJgEqm() { +// List jgDevices = cableCirculationMapper.getJgDevice(1); +// Map jgMap = new HashMap<>(); +// for (BaseDevice device : jgDevices) { +// jgMap.put(device.getMc(), device.getId()); +// } +// return AjaxResult.success(jgMap); +// } + + /** + * 获取设备小类类型 + */ + @ApiOperation(value = "获取设备小类类型") + @GetMapping(value = "/getLxType/{jgid}") + public AjaxResult getLxType(@PathVariable @ApiParam(value = "变电设备id") Integer jgid) throws Exception { + List lxDevices = service.getLxDevice(jgid); + return AjaxResult.success(lxDevices); + } + + // +// /** +// * 获取设备小类类型 +// */ +// @ApiOperation(value = "获取监测设备类型") +// @GetMapping(value = "/getEqType/{jgid}/{lxid}") +// public AjaxResult geteqType(@PathVariable @ApiParam(value = "变电设备id") Integer jgid, @PathVariable @ApiParam(value = "监测设备类型id") Integer lxid) { +// List eqTypes = equipmentMapper.getEqType(jgid,lxid); +// return AjaxResult.success(eqTypes); +// } + + /** + * return + * { + * "lxid": "1", + * "lmc": "1#主变" + * }, + * { + * "lxid": "2", + * "lmc": "2#主变" + * } + */ + @ApiOperation(value = "获取设备类型(lxid)") + @GetMapping(value = "/queryLx/{jgid}/{mtid}") + public AjaxResult queryLxEqm(@PathVariable @ApiParam(value = "间隔id") Integer jgid, @PathVariable @ApiParam(value = "监测设备类型id") List mtid) throws Exception { + List lxDevices = service.getLxDevice(jgid, mtid); + return AjaxResult.success(lxDevices); + } + + /** + * { + * "id": "1", -》eqmid(传给图表数据接口,用于获取监测设备的图表数据) + * "name": "铁芯" + * } + */ + @ApiOperation(value = "获取设备id(eqmid)") + @GetMapping(value = "/queryEqmId/{jgid}/{lxid}/{mtid}") + public AjaxResult queryEqmId(@PathVariable @ApiParam(value = "间隔id") Integer jgid, @PathVariable @ApiParam(value = "设备类型id") Integer lxid, @PathVariable @ApiParam(value = "监测设备类型id") List mtid) throws Exception { + List eqmDevice = service.getEqmDevice(jgid, lxid, mtid); + return AjaxResult.success(eqmDevice); + } +} diff --git a/src/main/java/com/xydl/cac/old/HttpStatusCode.java b/src/main/java/com/xydl/cac/old/HttpStatusCode.java new file mode 100644 index 0000000..e72b174 --- /dev/null +++ b/src/main/java/com/xydl/cac/old/HttpStatusCode.java @@ -0,0 +1,106 @@ +package com.xydl.cac.old; + + +/** + * + * @Description: 返回状态码 + * + * @Author: Arno_Fu + * + * @Since: 11/26/2019 11:21 AM + * + * @Version: 1.0.0 + + **/ +public interface HttpStatusCode +{ + /** + * 操作成功 + */ + public static final int SUCCESS = 200; + + /** + * 对象创建成功 + */ + public static final int CREATED = 201; + + /** + * 请求已经被接受 + */ + public static final int ACCEPTED = 202; + + /** + * 操作已经执行成功,但是没有返回数据 + */ + public static final int NO_CONTENT = 204; + + /** + * 资源已被移除 + */ + public static final int MOVED_PERM = 301; + + /** + * 重定向 + */ + public static final int SEE_OTHER = 303; + + /** + * 资源没有被修改 + */ + public static final int NOT_MODIFIED = 304; + + /** + * 参数列表错误(缺少,格式不匹配) + */ + public static final int BAD_REQUEST = 400; + + /** + * 未授权 + */ + public static final int UNAUTHORIZED = 401; + + /** + * 访问受限,授权过期 + */ + public static final int FORBIDDEN = 403; + + /** + * 资源,服务未找到 + */ + public static final int NOT_FOUND = 404; + + /** + * 不允许的http方法 + */ + public static final int BAD_METHOD = 405; + + /** + * 资源冲突,或者资源被锁 + */ + public static final int CONFLICT = 409; + + /** + * 不支持的数据,媒体类型 + */ + public static final int UNSUPPORTED_TYPE = 415; + + /** + * 系统内部错误 + */ + public static final int ERROR = 500; + + /** + * 接口未实现 + */ + public static final int NOT_IMPLEMENTED = 501; + + /** + * token无效 + */ + public static final int TOKEN_INVALID= 601; + + /** + * 暂无数据 + */ + public static final int NO_DATA = 10000; +} diff --git a/src/main/java/com/xydl/cac/old/OldService.java b/src/main/java/com/xydl/cac/old/OldService.java new file mode 100644 index 0000000..45083d1 --- /dev/null +++ b/src/main/java/com/xydl/cac/old/OldService.java @@ -0,0 +1,133 @@ +package com.xydl.cac.old; + +import com.xydl.cac.entity.NSensor; +import com.xydl.cac.entity.Zsb; +import com.xydl.cac.repository.NSensorRepository; +import com.xydl.cac.repository.ZsbRepository; +import com.xydl.cac.service.ZsbService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class OldService { + + @Resource + ZsbService zsbService; + @Resource + ZsbRepository zsbRepository; + @Resource + NSensorRepository sensorRepository; + + public List getLxDevice(Integer jgid, List mtid) throws Exception { + List result = new ArrayList<>(); + HashMap doneMap = new HashMap<>(); + List zsbList = zsbService.listAll(jgid); + for (Zsb zsb : zsbList) { + List sensorList = sensorRepository.findByZsbId(zsb.getId()); + for (NSensor sensor : sensorList) { + String typeid = String.valueOf(sensor.getTypeId()); + if (mtid.contains(typeid)) { + if (!doneMap.containsKey(zsb.getLxid())) { + BaseLxDevice item = new BaseLxDevice(); + item.setLxid(String.valueOf(zsb.getLxid())); + item.setLmc(zsb.getLxName()); + result.add(item); + doneMap.put(zsb.getLxid(), "done"); + } + + } + } + } + return result; + } + + public List getLxDevice(Integer jgid) throws Exception { + List result = new ArrayList<>(); + HashMap doneMap = new HashMap<>(); + List zsbList = zsbService.listAll(jgid); + for (Zsb zsb : zsbList) { + if (!doneMap.containsKey(zsb.getLxid())) { + BaseLxDevice item = new BaseLxDevice(); + item.setLxid(String.valueOf(zsb.getLxid())); + item.setLmc(zsb.getLxName()); + result.add(item); + doneMap.put(zsb.getLxid(), "done"); + } + } + return result; + } + + public List getEqmDevice(Integer jgid, Integer lxid, List mtids) throws Exception { + List result = new ArrayList<>(); + HashMap doneMap = new HashMap<>(); + List zsbList = zsbRepository.findByJgidAndLxid(jgid, lxid); + for (Zsb zsb : zsbList) { + List sensorList = sensorRepository.findByZsbId(zsb.getId()); + for (NSensor sensor : sensorList) { + String typeid = String.valueOf(sensor.getTypeId()); + if (mtids.contains(typeid)) { + if (!doneMap.containsKey(sensor.getDevId())) { + BaseEqmDevice item = new BaseEqmDevice(); + item.setId(String.valueOf(sensor.getDevId())); + item.setName(sensor.getName()); + result.add(item); + doneMap.put(sensor.getDevId(), "done"); + } + } + } + } + return result; + } + + public Equipment queryEquipNum() { + Equipment equipment = new Equipment(); + long totalNum = sensorRepository.count(); + List zsbList = zsbRepository.findByJgid(1); + List idList = new ArrayList<>(); + for (Zsb zsb : zsbList) { + idList.add(zsb.getId()); + } + long byqNum = sensorRepository.countByZsbIdIn(idList); + zsbList = zsbRepository.findByJgid(2); + idList.clear(); + for (Zsb zsb : zsbList) { + idList.add(zsb.getId()); + } + long gisNum = sensorRepository.countByZsbIdIn(idList); + zsbList = zsbRepository.findByJgid(3); + idList.clear(); + for (Zsb zsb : zsbList) { + idList.add(zsb.getId()); + } + long blqNum = sensorRepository.countByZsbIdIn(idList); + zsbList = zsbRepository.findByJgid(5); + idList.clear(); + for (Zsb zsb : zsbList) { + idList.add(zsb.getId()); + } + long dlNum = sensorRepository.countByZsbIdIn(idList); + zsbList = zsbRepository.findByJgid(4); + idList.clear(); + for (Zsb zsb : zsbList) { + idList.add(zsb.getId()); + } + long cwNum = sensorRepository.countByZsbIdIn(idList); + long otherNum = totalNum - byqNum - gisNum - blqNum - dlNum - cwNum; + equipment.setTotalNum(totalNum); + equipment.setByqNum(byqNum); + equipment.setGisNum(gisNum); + equipment.setBlqNum(blqNum); + equipment.setDlNum(dlNum); + equipment.setCwNum(cwNum); + equipment.setOtherNum(otherNum); + return equipment; + } +} diff --git a/src/main/java/com/xydl/cac/repository/NSensorRepository.java b/src/main/java/com/xydl/cac/repository/NSensorRepository.java index 02bc4e6..11efeb2 100644 --- a/src/main/java/com/xydl/cac/repository/NSensorRepository.java +++ b/src/main/java/com/xydl/cac/repository/NSensorRepository.java @@ -22,4 +22,6 @@ public interface NSensorRepository extends JpaRepository, JpaS List findByTypeId(Integer typeId); List findByDevId(Integer devId); + + long countByZsbIdIn(List list); } \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/repository/ZsbRepository.java b/src/main/java/com/xydl/cac/repository/ZsbRepository.java index 3c4ce6f..9588976 100644 --- a/src/main/java/com/xydl/cac/repository/ZsbRepository.java +++ b/src/main/java/com/xydl/cac/repository/ZsbRepository.java @@ -16,4 +16,6 @@ public interface ZsbRepository extends JpaRepository, JpaSpecifica List findByJgidAndMc(Integer jgid, String mc); List findByJgidAndMcAndIdIsNot(Integer jgid, String mc, Integer id); + + List findByJgidAndLxid(Integer jgid, Integer lxid); } \ No newline at end of file