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("æ¥è¯¢å¤±è´¥ï¼"); } } } 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); } } 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); 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 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; } 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; } 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; } 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; /** * ç¨è½åå ä¸è®¡éå¨å ·å ³ç³»vo * * @Author: Zhujw * @Date: 2023/4/4 */ @Data @ApiModel(value = "ç¨è½åå ä¸è®¡éå¨å ·å ³ç³»vo-è¿åvo", description = "ç¨è½åå ä¸è®¡éå¨å ·å ³ç³»vo-è¿åvo") public class UnitToDeviceRelationVO { /** * ç¨è½åå id */ @ApiModelProperty(value = "ç¨è½åå id") private String unitId; /** * 计éå¨å ·id */ @ApiModelProperty(value = "计éå¨å ·id") private String deviceId; /** * 计éå¨å ·åç§° */ @ApiModelProperty(value = "计éå¨å ·åç§°") private String deviceName; } 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); } 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); /** * æ´æ°è½åå idè·åç§æ·ä¸ææç仪表idéå * * @param unitId ç¨è½åå id * @return 仪表idéå */ List<String> updateEnergyUnitDeviceIdByUnitId(String unitId); /** * å é¤è½åå idè·åç§æ·ä¸ææç仪表idéå * @param unitId ç¨è½åå id * @return 仪表idéå */ void deleteEnergyUnitDeviceIdByUnitId(String unitId); /** * æ ¹æ®ç¨è½åå IDè·åç§æ·ä¸ææççµè¡¨éå * @param unitId * @return */ List<ListElectricityMeterVO> listElectricityMeter(String unitId); /** * è·åç§æ·ä¸ææç表éå * @return */ List<EnergyUnitToDevice> listAllMeter(); /** * æ ¹æ®è®¡éå¨å ·idåç¨è½åå idæ¥è¯¢è¡¨å ³ç³» * * @param unitId ç¨è½åå id * @param id id * @return EnergyUnitToDeviceå®ä½ */ EnergyUnitToDevice getEnergyUnitToDeviceById(String unitId, String id); /** * æ ¹æ®è®¡éå¨å ·idéåæ¥è¯¢ä¸ç¨è½çå ³ç³» * * @param unitIds * @return */ List<UnitToDeviceRelationVO> listDeviceByUnitIds(List<String> unitIds); } 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); } /** * æ´æ°è½åå idè·åç§æ·ä¸ææç仪表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()); } /** * å é¤è½åå idè·åç§æ·ä¸ææç仪表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; } } 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; } 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>