From bb84db0151861de25ef1f7ab11c9c04d64e50e46 Mon Sep 17 00:00:00 2001
From: DYL0109 <1332079466@qq.com>
Date: 星期六, 08 二月 2025 18:47:33 +0800
Subject: [PATCH] !53 组态图更新 Merge pull request !53 from DYL0109/dyl_dev
---
zhitan-system/src/main/java/com/zhitan/basicSetup/service/impl/SysEquipmentfileServiceImpl.java | 12
zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricLoadController.java | 58 ++++
zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/vo/EnergyCalculateCalcTV.java | 31 ++
zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/EnergyUnitToDevice.java | 71 +++++
zhitan-system/src/main/resources/mapper/basicSetup/SysEquipmentfileMapper.xml | 74 +++---
zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/EnergyUnitToDeviceServiceImpl.java | 232 +++++++++++++++++++
zhitan-system/src/main/java/com/zhitan/energyMonitor/mapper/EnergyUnitToDeviceMapper.java | 38 +++
zhitan-system/src/main/java/com/zhitan/energyMonitor/service/IEnergyUnitToDeviceService.java | 100 ++++++++
zhitan-admin/src/main/java/com/zhitan/web/controller/basicSetup/SysEquipmentfileController.java | 5
zhitan-system/src/main/java/com/zhitan/basicSetup/mapper/SysEquipmentfileMapper.java | 3
zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/vo/UnitToDeviceRelationVO.java | 35 ++
zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/vo/ListElectricityMeterVO.java | 20 +
zhitan-system/src/main/java/com/zhitan/realtimedata/domain/SysEquipmentFile.java | 11
13 files changed, 649 insertions(+), 41 deletions(-)
diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/basicSetup/SysEquipmentfileController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/basicSetup/SysEquipmentfileController.java
index 8fa8bb2..1fe189b 100644
--- a/zhitan-admin/src/main/java/com/zhitan/web/controller/basicSetup/SysEquipmentfileController.java
+++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/basicSetup/SysEquipmentfileController.java
@@ -10,6 +10,7 @@
import com.zhitan.common.utils.uuid.UUID;
import com.zhitan.realtimedata.domain.SysEquipmentFile;
import com.zhitan.realtimedata.domain.SysSvgInfo;
+import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -24,6 +25,7 @@
* @author sys
* @date 2020-02-24
*/
+@Slf4j
@RestController
@RequestMapping("/basicSetup/equipmentfile")
public class SysEquipmentfileController extends BaseController {
@@ -60,6 +62,7 @@
sysEquipmentfileService.saveEquipmentFile(sysEquipmentfile);
return AjaxResult.success();
} catch (Exception ex) {
+ log.error("缁勬�佸浘鏇存柊澶辫触", ex);
return AjaxResult.error();
}
}
@@ -82,7 +85,7 @@
SysEquipmentFile sysEquipmentfile = sysEquipmentfileService.getConfigure(nodeId);
return AjaxResult.success(sysEquipmentfile);
} catch (Exception ex) {
- return AjaxResult.error("淇濆瓨澶辫触锛�");
+ return AjaxResult.error("鏌ヨ澶辫触锛�");
}
}
}
diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricLoadController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricLoadController.java
new file mode 100644
index 0000000..6434f20
--- /dev/null
+++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricLoadController.java
@@ -0,0 +1,58 @@
+package com.zhitan.web.controller.energyMonitor;
+
+import com.zhitan.common.annotation.Log;
+import com.zhitan.common.core.controller.BaseController;
+import com.zhitan.common.core.domain.AjaxResult;
+import com.zhitan.energyMonitor.service.IEnergyUnitToDeviceService;
+import com.zhitan.model.service.IEnergyIndexService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Description: 璐熻嵎鍒嗘瀽
+ * @Author: yxw
+ * @Date: 2022-04-24
+ * @Version: V1.2
+ */
+@Api(tags = "璐熻嵎鍒嗘瀽")
+@RestController
+@RequestMapping("/loadAnalysis")
+@Slf4j
+public class ElectricLoadController extends BaseController {
+ @Autowired
+ private IEnergyUnitToDeviceService energyUnitToDeviceService;
+// @Autowired
+// private IElectricLoadService electricLoadService;
+ @Autowired
+ private IEnergyIndexService energyIndexService;
+
+ /**
+ * 鏍规嵁鐢佃〃id鑾峰彇璐熻嵎鍒嗘瀽鏁版嵁
+ *
+ * @param energyUnitId 鐢ㄨ兘鍗曞厓id
+ * @param meterId 鐢佃〃id
+ * @param timeType 鏃堕棿绫诲瀷 DAY/MONTH/YEAR
+ * @param timeCode 鏃堕棿鍊� 涓庢椂闂寸被鍨嬪搴旓細2022-03-21/2022-03/2022
+ * @return
+ */
+ @Log(title = "鏍规嵁鐢佃〃id鑾峰彇璐熻嵎鍒嗘瀽鏁版嵁")
+ @ApiOperation(value = "鏍规嵁鐢佃〃id鑾峰彇璐熻嵎鍒嗘瀽鏁版嵁", notes = "鏍规嵁鐢佃〃id鑾峰彇璐熻嵎鍒嗘瀽鏁版嵁")
+ @GetMapping(value = "/detail")
+ public AjaxResult list(@RequestParam(name = "energyUnitId") String energyUnitId,
+ @RequestParam(name = "meterId") String meterId,
+ @RequestParam(name = "timeType") String timeType,
+ @RequestParam(name = "timeCode") String timeCode) {
+// EnergyIndex energyIndex = energyIndexService.getDeviceIndexByCode(energyUnitId, meterId, CommonConst.TAG_CODE_ZYGGL);
+//
+// EnergyUnitToDevice energyUnitToDevice = energyUnitToDeviceService.getEnergyUnitToDeviceById(energyUnitId, meterId);
+// ListElectricLoadVO lsvo = electricLoadService.list(timeType, timeCode, energyIndex, energyUnitToDevice);
+ return AjaxResult.success(null);
+ }
+
+}
diff --git a/zhitan-system/src/main/java/com/zhitan/basicSetup/mapper/SysEquipmentfileMapper.java b/zhitan-system/src/main/java/com/zhitan/basicSetup/mapper/SysEquipmentfileMapper.java
index dae8e52..17a7b14 100644
--- a/zhitan-system/src/main/java/com/zhitan/basicSetup/mapper/SysEquipmentfileMapper.java
+++ b/zhitan-system/src/main/java/com/zhitan/basicSetup/mapper/SysEquipmentfileMapper.java
@@ -1,5 +1,6 @@
package com.zhitan.basicSetup.mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhitan.realtimedata.domain.SysEquipmentFile;
import com.zhitan.realtimedata.domain.SysSvgInfo;
import org.apache.ibatis.annotations.Param;
@@ -12,7 +13,7 @@
* @author sys
* @date 2020-02-24
*/
-public interface SysEquipmentfileMapper {
+public interface SysEquipmentfileMapper extends BaseMapper<SysEquipmentFile> {
void saveEquipmentFile(SysEquipmentFile sysEquipmentfile);
diff --git a/zhitan-system/src/main/java/com/zhitan/basicSetup/service/impl/SysEquipmentfileServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/basicSetup/service/impl/SysEquipmentfileServiceImpl.java
index bad69ef..2f4dd10 100644
--- a/zhitan-system/src/main/java/com/zhitan/basicSetup/service/impl/SysEquipmentfileServiceImpl.java
+++ b/zhitan-system/src/main/java/com/zhitan/basicSetup/service/impl/SysEquipmentfileServiceImpl.java
@@ -4,6 +4,7 @@
import com.zhitan.basicSetup.service.ISysEquipmentfileService;
import com.zhitan.realtimedata.domain.SysEquipmentFile;
import com.zhitan.realtimedata.domain.SysSvgInfo;
+import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -23,7 +24,16 @@
@Override
public void saveEquipmentFile(SysEquipmentFile sysEquipmentfile) {
- equipmentfileMapper.saveEquipmentFile(sysEquipmentfile);
+ SysEquipmentFile sysEquipmentFile = equipmentfileMapper.selectById(sysEquipmentfile.getNodeId());
+ if (ObjectUtils.isNotEmpty(sysEquipmentFile)){
+ sysEquipmentFile.setFilePath(sysEquipmentfile.getFilePath());
+ equipmentfileMapper.updateById(sysEquipmentFile);
+ }else {
+ SysEquipmentFile equipmentFile = new SysEquipmentFile();
+ equipmentFile.setFilePath(sysEquipmentfile.getFilePath());
+ equipmentFile.setNodeId(sysEquipmentfile.getNodeId());
+ equipmentfileMapper.insert(equipmentFile);
+ }
}
@Override
diff --git a/zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/EnergyUnitToDevice.java b/zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/EnergyUnitToDevice.java
new file mode 100644
index 0000000..bf35d02
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/EnergyUnitToDevice.java
@@ -0,0 +1,71 @@
+package com.zhitan.energyMonitor.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zhitan.common.annotation.Excel;
+import com.zhitan.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+
+/**
+ * @Description: 鐢ㄨ兘鍗曞厓鍏宠仈鐨勫钩鍙版ā鏉夸腑浠〃鐨勭晫闈㈤�昏緫鍏崇郴 涓嶅惈鏈� 閲囬泦銆佽绠椾俊鎭�
+ * @Author: jeecg-boot
+ * @Date: 2022-01-26
+ * @Version: V1.0
+ */
+@Data
+@TableName("energy_unit_to_device")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="energy_unit_to_device瀵硅薄", description="鐢ㄨ兘鍗曞厓鍏宠仈鐨勫钩鍙版ā鏉夸腑浠〃鐨勭晫闈㈤�昏緫鍏崇郴 涓嶅惈鏈� 閲囬泦銆佽绠椾俊鎭�")
+public class EnergyUnitToDevice extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(value = "鏂颁富閿�")
+ @TableId(type = IdType.ASSIGN_ID)
+ private String newId;
+
+ /**涓婚敭*/
+ @ApiModelProperty(value = "涓婚敭")
+ private String id;
+
+ /**鍏宠仈浠〃鍚嶇О*/
+ @Excel(name = "鍏宠仈浠〃鍚嶇О", width = 15)
+ @ApiModelProperty(value = "鍏宠仈浠〃鍚嶇О")
+ private String name;
+
+ /**鍏宠仈浠〃缂栫爜*/
+ @Excel(name = "鍏宠仈浠〃缂栫爜", width = 15)
+ @ApiModelProperty(value = "鍏宠仈浠〃缂栫爜")
+ private String code;
+
+ /**鑳芥簮绫诲瀷锛堟按琛ㄣ�佺數琛ㄣ�佹皵琛ㄧ瓑锛�*/
+ @Excel(name = "鑳芥簮绫诲瀷锛堟按琛ㄣ�佺數琛ㄣ�佹皵琛ㄧ瓑锛�", width = 15)
+ @ApiModelProperty(value = "鑳芥簮绫诲瀷锛堟按琛ㄣ�佺數琛ㄣ�佹皵琛ㄧ瓑锛�")
+ private String deviceType;
+
+ /**鐢ㄨ兘鍗曞厓涓婚敭*/
+ @Excel(name = "鐢ㄨ兘鍗曞厓涓婚敭", width = 15)
+ @ApiModelProperty(value = "鐢ㄨ兘鍗曞厓涓婚敭")
+ private String energyUnitId;
+
+ /**绉熸埛涓婚敭*/
+ @Excel(name = "绉熸埛涓婚敭", width = 15)
+ @ApiModelProperty(value = "绉熸埛涓婚敭")
+ private Integer tenantId;
+
+ @ApiModelProperty(value = "鍙備笌璁¢噺")
+ private String partMeasurement;
+
+ @ApiModelProperty(value = "瀹夎浣嶇疆")
+ private String installPosition;
+
+ @ApiModelProperty(value = "鍒嗘憡姣斾緥")
+ private BigDecimal shareRatio;
+}
diff --git a/zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/vo/EnergyCalculateCalcTV.java b/zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/vo/EnergyCalculateCalcTV.java
new file mode 100644
index 0000000..0c46301
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/vo/EnergyCalculateCalcTV.java
@@ -0,0 +1,31 @@
+package com.zhitan.energyMonitor.domain.vo;
+
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 璁$畻鐐逛綅瀵瑰簲鐨勮绠楀叕寮�
+ * @author zhw
+ */
+@Data
+@ApiModel(value="璁$畻鐐逛綅瀵瑰簲鐨勮绠楀叕寮�", description="璁$畻鐐逛綅瀵瑰簲鐨勮绠楀叕寮�")
+public class EnergyCalculateCalcTV {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(value = "璁$畻鐐逛綅涓婚敭")
+ private String calculateIndexId;
+
+ @ApiModelProperty(value = "浠〃璁惧涓婚敭")
+ private String deviceId;
+
+ @ApiModelProperty(value = "浠〃鍚嶇О")
+ private String name;
+
+ @ApiModelProperty(value = "璁$畻鐐逛綅鍖呭惈鐨勯噰闆嗙偣浣嶄富閿�")
+ private String collectIndexId;
+
+ @ApiModelProperty(value = "閲囬泦鐐逛綅瀵瑰簲鎿嶄綔绗﹀彿")
+ private String operator;
+}
diff --git a/zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/vo/ListElectricityMeterVO.java b/zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/vo/ListElectricityMeterVO.java
new file mode 100644
index 0000000..36c19ed
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/vo/ListElectricityMeterVO.java
@@ -0,0 +1,20 @@
+package com.zhitan.energyMonitor.domain.vo;
+
+import lombok.Data;
+
+/**
+ * @Description: TODO
+ * @author: yxw
+ * @date: 2022骞�04鏈�24鏃� 16:07
+ */
+@Data
+public class ListElectricityMeterVO {
+ /**
+ * 鐢佃〃鍚嶇О
+ */
+ private String label;
+ /**
+ * 鐢佃〃id
+ */
+ private String code;
+}
diff --git a/zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/vo/UnitToDeviceRelationVO.java b/zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/vo/UnitToDeviceRelationVO.java
new file mode 100644
index 0000000..6be45ff
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/vo/UnitToDeviceRelationVO.java
@@ -0,0 +1,35 @@
+package com.zhitan.energyMonitor.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * 鐢ㄨ兘鍗曞厓涓庤閲忓櫒鍏峰叧绯籿o
+ *
+ * @Author: Zhujw
+ * @Date: 2023/4/4
+ */
+@Data
+@ApiModel(value = "鐢ㄨ兘鍗曞厓涓庤閲忓櫒鍏峰叧绯籿o-杩斿洖vo", description = "鐢ㄨ兘鍗曞厓涓庤閲忓櫒鍏峰叧绯籿o-杩斿洖vo")
+public class UnitToDeviceRelationVO {
+
+ /**
+ * 鐢ㄨ兘鍗曞厓id
+ */
+ @ApiModelProperty(value = "鐢ㄨ兘鍗曞厓id")
+ private String unitId;
+
+ /**
+ * 璁¢噺鍣ㄥ叿id
+ */
+ @ApiModelProperty(value = "璁¢噺鍣ㄥ叿id")
+ private String deviceId;
+
+ /**
+ * 璁¢噺鍣ㄥ叿鍚嶇О
+ */
+ @ApiModelProperty(value = "璁¢噺鍣ㄥ叿鍚嶇О")
+ private String deviceName;
+}
\ No newline at end of file
diff --git a/zhitan-system/src/main/java/com/zhitan/energyMonitor/mapper/EnergyUnitToDeviceMapper.java b/zhitan-system/src/main/java/com/zhitan/energyMonitor/mapper/EnergyUnitToDeviceMapper.java
new file mode 100644
index 0000000..32edd1e
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/energyMonitor/mapper/EnergyUnitToDeviceMapper.java
@@ -0,0 +1,38 @@
+package com.zhitan.energyMonitor.mapper;
+
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhitan.energyMonitor.domain.EnergyUnitToDevice;
+import com.zhitan.energyMonitor.domain.vo.EnergyCalculateCalcTV;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @Description: 鐢ㄨ兘鍗曞厓鍏宠仈鐨勫钩鍙版ā鏉夸腑浠〃鐨勭晫闈㈤�昏緫鍏崇郴 涓嶅惈鏈� 閲囬泦銆佽绠椾俊鎭�
+ * @Author: jeecg-boot
+ * @Date: 2022-01-26
+ * @Version: V1.0
+ */
+public interface EnergyUnitToDeviceMapper extends BaseMapper<EnergyUnitToDevice> {
+
+ /**
+ * 鏍规嵁璁$畻鐐逛綅涓婚敭鍜岀敤鑳藉崟鍏冧富閿� 鏌ヨ 浣跨敤鐨� 閲囬泦鐐瑰強浠〃淇℃伅
+ *
+ * @param calculateIndexId
+ * @param energyUnitId
+ * @return
+ */
+ public List<EnergyCalculateCalcTV> getCalculateDevices(@Param("calculateIndexId") String calculateIndexId,
+ @Param("energyUnitId") String energyUnitId,
+ @Param("tenantId") String tenantId);
+
+ /**
+ * 涓-鏍规嵁绉熸埛id闆嗗悎鏌ヨ璁¢噺鍣ㄥ叿id
+ *
+ * @param unitIds
+ * @return
+ */
+ @InterceptorIgnore(tenantLine = "true")
+ List<String> listDeviceByTenantIds(@Param("unitIds") List<String> unitIds);
+}
diff --git a/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/IEnergyUnitToDeviceService.java b/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/IEnergyUnitToDeviceService.java
new file mode 100644
index 0000000..30bb563
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/IEnergyUnitToDeviceService.java
@@ -0,0 +1,100 @@
+package com.zhitan.energyMonitor.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhitan.energyMonitor.domain.EnergyUnitToDevice;
+import com.zhitan.energyMonitor.domain.vo.ListElectricityMeterVO;
+import com.zhitan.energyMonitor.domain.vo.UnitToDeviceRelationVO;
+
+import java.util.List;
+
+/**
+ * @Description: 鐢ㄨ兘鍗曞厓鍏宠仈鐨勫钩鍙版ā鏉夸腑浠〃鐨勭晫闈㈤�昏緫鍏崇郴 涓嶅惈鏈� 閲囬泦銆佽绠椾俊鎭�
+ * @Author: jeecg-boot
+ * @Date: 2022-01-26
+ * @Version: V1.0
+ */
+public interface IEnergyUnitToDeviceService extends IService<EnergyUnitToDevice> {
+
+ /**
+ * 鏍规嵁鐢ㄨ兘鍗曞厓ID鑾峰彇绉熸埛涓嬫湁鏁堢殑浠〃闆嗗悎
+ * @param unitId
+ * @return
+ */
+ List<EnergyUnitToDevice> queryTenantUnitDeviceByUnitId(String unitId);
+
+ /**
+ * 鏍规嵁鐢ㄨ兘鍗曞厓ID鑾峰彇绉熸埛涓嬫墍鏈夋湁鏁堢殑瀹炰綋琛ㄩ泦鍚�
+ * @param unitId
+ * @return
+ */
+ List<EnergyUnitToDevice> queryTenantEntityMeterByUnitId(String unitId);
+
+ /**
+ * 鏍规嵁鐢ㄨ兘鍗曞厓id鑾峰彇绉熸埛涓嬫湁鏁堢殑浠〃id闆嗗悎
+ *
+ * @param unitId 鐢ㄨ兘鍗曞厓id
+ * @return 浠〃id闆嗗悎
+ */
+ List<String> getEnergyUnitDeviceIdByUnitId(String unitId);
+
+ /**
+ * 鏍规嵁鐢ㄨ兘鍗曞厓id闆嗗悎鑾峰彇绉熸埛涓嬫湁鏁堢殑浠〃id闆嗗悎
+ *
+ * @param unitIds 鐢ㄨ兘鍗曞厓id
+ */
+ List<String> getEnergyUnitDeviceIdByUnitIds(List<String> unitIds);
+
+ /**
+ * 鏍规嵁鐢ㄨ兘鍗曞厓id闆嗗悎+鑳芥簮绫诲瀷鑾峰彇绉熸埛涓嬫湁鏁堢殑浠〃id闆嗗悎
+ *
+ * @param unitIds 鐢ㄨ兘鍗曞厓id闆嗗悎
+ * @return
+ */
+ List<String> getDeviceIdByUnitIds(List<String> unitIds);
+
+ /**
+ * 鏇存柊鑳藉崟鍏僫d鑾峰彇绉熸埛涓嬫湁鏁堢殑浠〃id闆嗗悎
+ *
+ * @param unitId 鐢ㄨ兘鍗曞厓id
+ * @return 浠〃id闆嗗悎
+ */
+ List<String> updateEnergyUnitDeviceIdByUnitId(String unitId);
+
+ /**
+ * 鍒犻櫎鑳藉崟鍏僫d鑾峰彇绉熸埛涓嬫湁鏁堢殑浠〃id闆嗗悎
+ * @param unitId 鐢ㄨ兘鍗曞厓id
+ * @return 浠〃id闆嗗悎
+ */
+ void deleteEnergyUnitDeviceIdByUnitId(String unitId);
+
+ /**
+ * 鏍规嵁鐢ㄨ兘鍗曞厓ID鑾峰彇绉熸埛涓嬫湁鏁堢殑鐢佃〃闆嗗悎
+ * @param unitId
+ * @return
+ */
+ List<ListElectricityMeterVO> listElectricityMeter(String unitId);
+
+ /**
+ * 鑾峰彇绉熸埛涓嬫湁鏁堢殑琛ㄩ泦鍚�
+ * @return
+ */
+ List<EnergyUnitToDevice> listAllMeter();
+
+ /**
+ * 鏍规嵁璁¢噺鍣ㄥ叿id鍜岀敤鑳藉崟鍏僫d鏌ヨ琛ㄥ叧绯�
+ *
+ * @param unitId 鐢ㄨ兘鍗曞厓id
+ * @param id id
+ * @return EnergyUnitToDevice瀹炰綋
+ */
+ EnergyUnitToDevice getEnergyUnitToDeviceById(String unitId, String id);
+
+ /**
+ * 鏍规嵁璁¢噺鍣ㄥ叿id闆嗗悎鏌ヨ涓庣敤鑳界殑鍏崇郴
+ *
+ * @param unitIds
+ * @return
+ */
+ List<UnitToDeviceRelationVO> listDeviceByUnitIds(List<String> unitIds);
+}
diff --git a/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/EnergyUnitToDeviceServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/EnergyUnitToDeviceServiceImpl.java
new file mode 100644
index 0000000..5df3d47
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/EnergyUnitToDeviceServiceImpl.java
@@ -0,0 +1,232 @@
+package com.zhitan.energyMonitor.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhitan.common.constant.CommonConst;
+import com.zhitan.energyMonitor.domain.EnergyUnitToDevice;
+import com.zhitan.energyMonitor.domain.vo.ListElectricityMeterVO;
+import com.zhitan.energyMonitor.domain.vo.UnitToDeviceRelationVO;
+import com.zhitan.energyMonitor.mapper.EnergyUnitToDeviceMapper;
+import com.zhitan.energyMonitor.service.IEnergyUnitToDeviceService;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @Description: 鐢ㄨ兘鍗曞厓鍏宠仈鐨勫钩鍙版ā鏉夸腑浠〃鐨勭晫闈㈤�昏緫鍏崇郴 涓嶅惈鏈� 閲囬泦銆佽绠椾俊鎭�
+ * @Author: jeecg-boot
+ * @Date: 2022-01-26
+ * @Version: V1.0
+ */
+@Service
+public class EnergyUnitToDeviceServiceImpl extends ServiceImpl<EnergyUnitToDeviceMapper, EnergyUnitToDevice>
+ implements IEnergyUnitToDeviceService {
+
+
+// @Autowired
+// private IMeasuringInstrumentsService meterService;
+
+
+ /**
+ * 鏍规嵁鐢ㄨ兘鍗曞厓id鑾峰彇绉熸埛涓嬬殑鍏朵笅鐨勪华琛ㄥ垪琛�
+ *
+ * @param unitId
+ * @return
+ */
+ @Override
+ public List<EnergyUnitToDevice> queryTenantUnitDeviceByUnitId(String unitId) {
+
+ QueryWrapper<EnergyUnitToDevice> queryWrapper = new QueryWrapper<EnergyUnitToDevice>();
+// .eq(TableColumnConst.TABLE_COLUMN_ENERGY_UNIT_ID, unitId);
+ return baseMapper.selectList(queryWrapper);
+ }
+
+ /**
+ * 鏍规嵁鐢ㄨ兘鍗曞厓ID鑾峰彇绉熸埛涓嬫墍鏈夋湁鏁堢殑瀹炰綋琛ㄩ泦鍚�
+ *
+ * @param unitId
+ * @return
+ */
+ @Override
+ public List<EnergyUnitToDevice> queryTenantEntityMeterByUnitId(String unitId) {
+
+ List<EnergyUnitToDevice> unitToDeviceList = baseMapper.selectList(Wrappers.<EnergyUnitToDevice>lambdaQuery()
+ .eq(EnergyUnitToDevice::getEnergyUnitId, unitId)
+ );
+// if (CollectionUtils.isNotEmpty(unitToDeviceList)) {
+// List<String> meterIds = unitToDeviceList.stream().map(EnergyUnitToDevice::getId).collect(Collectors.toList());
+// // 杩囨护鍑哄疄浣撹〃
+// Integer applianceType = EquipmentInformationEnum.MEASURING_INSTRUMENT_TYPE.ENTITY.getValue();
+// List<Meter> meterList = meterService.list(Wrappers.<Meter>lambdaQuery()
+// .select(Meter::getId).in(Meter::getId, meterIds)
+// .eq(Meter::getApplianceType, applianceType)
+// );
+// List<String> newMeterIds = meterList.stream().map(Meter::getId).collect(Collectors.toList());
+// unitToDeviceList = unitToDeviceList.stream().filter(li -> newMeterIds.contains(li.getId())).collect(Collectors.toList());
+// }
+ return unitToDeviceList;
+ }
+
+ /**
+ * 鏍规嵁鐢ㄨ兘鍗曞厓id鑾峰彇绉熸埛涓嬫湁鏁堢殑浠〃id闆嗗悎
+ *
+ * @param unitId 鐢ㄨ兘鍗曞厓id
+ * @return 浠〃id闆嗗悎
+ */
+ @Override
+// @Cacheable(value = CacheConstant.ENERGY_UNIT_DEVICE_ID_CACHE, key = "#unitId", unless = "#result == null")
+ public List<String> getEnergyUnitDeviceIdByUnitId(String unitId) {
+
+ if (StringUtils.isEmpty(unitId)) {
+ return Collections.emptyList();
+ }
+ List<EnergyUnitToDevice> energyUnitToDevices = baseMapper.selectList(Wrappers.<EnergyUnitToDevice>lambdaQuery()
+ .select(EnergyUnitToDevice::getId).eq(EnergyUnitToDevice::getEnergyUnitId, unitId)
+ );
+ if (CollectionUtils.isEmpty(energyUnitToDevices)) {
+ return Collections.emptyList();
+ }
+ return energyUnitToDevices.stream().map(EnergyUnitToDevice::getId).collect(Collectors.toList());
+ }
+
+ /**
+ * 鏍规嵁鐢ㄨ兘鍗曞厓id闆嗗悎鑾峰彇绉熸埛涓嬫湁鏁堢殑浠〃id闆嗗悎
+ *
+ * @param unitIds 鐢ㄨ兘鍗曞厓id
+ */
+ @Override
+ public List<String> getEnergyUnitDeviceIdByUnitIds(List<String> unitIds) {
+ if (CollectionUtils.isEmpty(unitIds)) {
+ return Collections.emptyList();
+ }
+ List<String> deviceIdList = new ArrayList<>();
+ for (String unitId : unitIds) {
+ List<String> unitDeviceIdByUnitId = this.getEnergyUnitDeviceIdByUnitId(unitId);
+ if (CollectionUtils.isNotEmpty(unitDeviceIdByUnitId)) {
+ deviceIdList.addAll(unitDeviceIdByUnitId);
+ }
+ }
+ return deviceIdList;
+ }
+
+ /**
+ * 鏍规嵁鐢ㄨ兘鍗曞厓id闆嗗悎+鑳芥簮绫诲瀷鑾峰彇绉熸埛涓嬫湁鏁堢殑浠〃id闆嗗悎
+ *
+ * @param unitIds 鐢ㄨ兘鍗曞厓id闆嗗悎
+ * @return
+ */
+ @Override
+ public List<String> getDeviceIdByUnitIds(List<String> unitIds) {
+ if (CollectionUtils.isEmpty(unitIds)) {
+ return Collections.emptyList();
+ }
+
+ return baseMapper.listDeviceByTenantIds(unitIds);
+ }
+
+ /**
+ * 鏇存柊鑳藉崟鍏僫d鑾峰彇绉熸埛涓嬫湁鏁堢殑浠〃id闆嗗悎
+ *
+ * @param unitId 鐢ㄨ兘鍗曞厓id
+ * @return 浠〃id闆嗗悎
+ */
+ @Override
+// @CachePut(value = CacheConstant.ENERGY_UNIT_DEVICE_ID_CACHE, key = "#unitId", unless = "#result == null")
+ public List<String> updateEnergyUnitDeviceIdByUnitId(String unitId) {
+
+ if (StringUtils.isEmpty(unitId)) {
+ return Collections.emptyList();
+ }
+ List<EnergyUnitToDevice> energyUnitToDevices = baseMapper.selectList(Wrappers.<EnergyUnitToDevice>lambdaQuery()
+ .select(EnergyUnitToDevice::getId).eq(EnergyUnitToDevice::getEnergyUnitId, unitId)
+ );
+ if (CollectionUtils.isEmpty(energyUnitToDevices)) {
+ return Collections.emptyList();
+ }
+ return energyUnitToDevices.stream().map(EnergyUnitToDevice::getId).collect(Collectors.toList());
+ }
+
+ /**
+ * 鍒犻櫎鑳藉崟鍏僫d鑾峰彇绉熸埛涓嬫湁鏁堢殑浠〃id闆嗗悎
+ *
+ * @param unitId 鐢ㄨ兘鍗曞厓id
+ */
+ @Override
+// @CacheEvict(value = CacheConstant.ENERGY_UNIT_DEVICE_ID_CACHE, key = "#unitId")
+ public void deleteEnergyUnitDeviceIdByUnitId(String unitId) {
+ }
+
+ @Override
+ public List<ListElectricityMeterVO> listElectricityMeter(String unitId) {
+
+ LambdaQueryWrapper<EnergyUnitToDevice> queryWrapper = new LambdaQueryWrapper<EnergyUnitToDevice>()
+ .eq(EnergyUnitToDevice::getEnergyUnitId, unitId);
+// .eq(EnergyUnitToDevice::getDeviceType, EnergyTypeConst.ELECTRICITY);
+ List<EnergyUnitToDevice> models = baseMapper.selectList(queryWrapper);
+
+ List<ListElectricityMeterVO> resultList = new ArrayList<>();
+ for (EnergyUnitToDevice model : models) {
+ ListElectricityMeterVO temp = new ListElectricityMeterVO();
+ temp.setCode(model.getId());
+ temp.setLabel(model.getName());
+ resultList.add(temp);
+ }
+ return resultList;
+ }
+
+ @Override
+ public List<EnergyUnitToDevice> listAllMeter() {
+ QueryWrapper<EnergyUnitToDevice> queryWrapper = new QueryWrapper<EnergyUnitToDevice>();
+ return baseMapper.selectList(queryWrapper);
+ }
+
+ @Override
+ public EnergyUnitToDevice getEnergyUnitToDeviceById(String unitId, String id) {
+ if (StringUtils.isEmpty(id)) {
+ return null;
+ }
+ LambdaQueryWrapper<EnergyUnitToDevice> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+ lambdaQueryWrapper.eq(EnergyUnitToDevice::getEnergyUnitId, unitId);
+ lambdaQueryWrapper.eq(EnergyUnitToDevice::getId, id);
+ List<EnergyUnitToDevice> energyUnitToDevices = baseMapper.selectList(lambdaQueryWrapper);
+ if (CollectionUtils.isNotEmpty(energyUnitToDevices)) {
+ return energyUnitToDevices.get(CommonConst.DIGIT_0);
+ }
+ return null;
+ }
+
+ /**
+ * 鏍规嵁璁¢噺鍣ㄥ叿id闆嗗悎鏌ヨ涓庣敤鑳界殑鍏崇郴
+ *
+ * @param unitIds
+ * @return
+ */
+ @Override
+ public List<UnitToDeviceRelationVO> listDeviceByUnitIds(List<String> unitIds) {
+ List<UnitToDeviceRelationVO> relationList = new ArrayList<>();
+ if (CollectionUtils.isEmpty(unitIds)) {
+ return relationList;
+ }
+ List<EnergyUnitToDevice> unitToDeviceList = baseMapper.selectList(Wrappers.<EnergyUnitToDevice>lambdaQuery()
+ .select(EnergyUnitToDevice::getId, EnergyUnitToDevice::getEnergyUnitId, EnergyUnitToDevice::getName)
+ .in(EnergyUnitToDevice::getEnergyUnitId, unitIds)
+ );
+ if (CollectionUtils.isNotEmpty(unitToDeviceList)) {
+ unitToDeviceList.forEach(li -> {
+ UnitToDeviceRelationVO vo = new UnitToDeviceRelationVO();
+ vo.setDeviceId(li.getId());
+ vo.setUnitId(li.getEnergyUnitId());
+ vo.setDeviceName(li.getName());
+ relationList.add(vo);
+ });
+ }
+ return relationList;
+ }
+}
diff --git a/zhitan-system/src/main/java/com/zhitan/realtimedata/domain/SysEquipmentFile.java b/zhitan-system/src/main/java/com/zhitan/realtimedata/domain/SysEquipmentFile.java
index 5ced53d..a84a983 100644
--- a/zhitan-system/src/main/java/com/zhitan/realtimedata/domain/SysEquipmentFile.java
+++ b/zhitan-system/src/main/java/com/zhitan/realtimedata/domain/SysEquipmentFile.java
@@ -1,5 +1,8 @@
package com.zhitan.realtimedata.domain;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.List;
@@ -9,10 +12,18 @@
*
*/
@Data
+@TableName("sys_equipmentfile")
public class SysEquipmentFile {
+ @TableId
private String nodeId;
+
+ @TableField(value = "filepath")
private String filePath;
+
+ @TableField(exist = false)
private String svgType;
+
+ @TableField(exist = false)
private List<SysSvgInfo> infoList;
}
diff --git a/zhitan-system/src/main/resources/mapper/basicSetup/SysEquipmentfileMapper.xml b/zhitan-system/src/main/resources/mapper/basicSetup/SysEquipmentfileMapper.xml
index 379a291..396d884 100644
--- a/zhitan-system/src/main/resources/mapper/basicSetup/SysEquipmentfileMapper.xml
+++ b/zhitan-system/src/main/resources/mapper/basicSetup/SysEquipmentfileMapper.xml
@@ -1,50 +1,48 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
- PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhitan.basicSetup.mapper.SysEquipmentfileMapper">
- <resultMap id="SysEquipmentFile"
- type="com.zhitan.realtimedata.domain.SysEquipmentFile">
- <result property="nodeId" column="node_id"/>
- <result property="filePath" column="filepath"/>
- </resultMap>
- <resultMap id="SysSvgInfo"
- type="com.zhitan.realtimedata.domain.SysSvgInfo">
- <result property="id" column="id"/>
- <result property="param" column="param"/>
- <result property="tag" column="tag"/>
- </resultMap>
+ <resultMap id="SysEquipmentFile"
+ type="com.zhitan.realtimedata.domain.SysEquipmentFile">
+ <result property="nodeId" column="node_id"/>
+ <result property="filePath" column="filepath"/>
+ </resultMap>
+ <resultMap id="SysSvgInfo"
+ type="com.zhitan.realtimedata.domain.SysSvgInfo">
+ <result property="id" column="id"/>
+ <result property="param" column="param"/>
+ <result property="tag" column="tag"/>
+ </resultMap>
- <insert id="saveSettingInfo">
- delete
- from sys_svg_info
- where node_id = #{nodeId};
+ <insert id="saveSettingInfo">
+ delete
+ from sys_svg_info
+ where node_id = #{nodeId};
- <foreach collection="svgInfo" item="info" separator=";">
- insert into sys_svg_info (id, node_id, param, tag)
- values (#{info.id}, #{nodeId}, #{info.param}, #{info.tag});
- </foreach>
- </insert>
+ <foreach collection="svgInfo" item="info" separator=";">
+ insert into sys_svg_info (id, node_id, param, tag)
+ values (#{info.id}, #{nodeId}, #{info.param}, #{info.tag});
+ </foreach>
+ </insert>
<update id="saveEquipmentFile">
- insert into sys_equipmentfile (node_id, filepath)
- select #{nodeId}, #{filePath}
- on conflict
- (node_id)
- do update
- set filepath = #{filePath}
+ INSERT INTO sys_equipmentfile (node_id, filepath)
+ VALUES(#{nodeId}, #{filePath}) ON CONFLICT (node_id) DO
+ UPDATE
+ SET filepath = excluded.filepath
</update>
- <select id="getConfigure" resultMap="SysEquipmentFile">
- select node_id, filepath
- from sys_equipmentfile
- where node_id = #{nodeId};
- </select>
+ <select id="getConfigure" resultMap="SysEquipmentFile">
+ select node_id, filepath
+ from sys_equipmentfile
+ where node_id = #{nodeId};
+ </select>
- <select id="getConfigureTag" resultMap="SysSvgInfo">
- select id, param, tag
- from sys_svg_info
- where node_id = #{nodeId}
- </select>
+ <select id="getConfigureTag" resultMap="SysSvgInfo">
+ select id, param, tag
+ from sys_svg_info
+ where node_id = #{nodeId}
+ </select>
</mapper>
--
Gitblit v1.9.3