From 9ae51914e2f142774088db5eb5aa451ecca64c6e Mon Sep 17 00:00:00 2001 From: DYL <Dn1332079466> Date: 星期六, 08 二月 2025 18:45:55 +0800 Subject: [PATCH] 组态图更新 --- 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