| | |
| | | @Service |
| | | public class EnergyIndexServiceImpl implements IEnergyIndexService { |
| | | |
| | | @Autowired |
| | | private EnergyIndexMapper energyIndexMapper; |
| | | @Autowired |
| | | private IDaqTemplateService daqTemplateService; |
| | | @Autowired |
| | | private IMeterImplementService meterImplementService; |
| | | @Autowired |
| | | private IModelNodeService modelNodeService; |
| | | @Autowired |
| | | private EnergyIndexMapper energyIndexMapper; |
| | | @Autowired |
| | | private IDaqTemplateService daqTemplateService; |
| | | @Autowired |
| | | private IMeterImplementService meterImplementService; |
| | | @Autowired |
| | | private IModelNodeService modelNodeService; |
| | | |
| | | @Autowired |
| | | private ModelNodeMapper modelNodeMapper; |
| | | @Autowired |
| | | private ModelNodeMapper modelNodeMapper; |
| | | |
| | | @Override |
| | | public EnergyIndex getiEnergyIndexByCode(String code) { |
| | | return energyIndexMapper.getiEnergyIndexByCode(code); |
| | | } |
| | | |
| | | @Override |
| | | public List<EnergyIndex> listIndexByMeterIds(String nodeId, List<String> meterId) { |
| | | return energyIndexMapper.listIndexByMeterIds(nodeId,meterId); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢ææ ä¿¡æ¯ |
| | | * |
| | | * @param indexId ææ ä¿¡æ¯ID |
| | | * @return ææ ä¿¡æ¯ |
| | | */ |
| | | @Override |
| | | public EnergyIndex selectEnergyIndexById(String indexId) { |
| | | return energyIndexMapper.selectEnergyIndexById(indexId); |
| | | } |
| | | |
| | | @Override |
| | | public List<EnergyIndex> selectEnergyIndexByIds(List<String> indexId) { |
| | | if (CollectionUtils.isEmpty(indexId)) { |
| | | return Collections.emptyList(); |
| | | } |
| | | return energyIndexMapper.selectEnergyIndexByIds(indexId); |
| | | } |
| | | |
| | | @Override |
| | | public List<EnergyIndex> selectEnergyIndexList(EnergyIndex energyIndex) { |
| | | return energyIndexMapper.selectEnergyIndexList(energyIndex); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢ææ ä¿¡æ¯å表 |
| | | * |
| | | * @param energyIndex ææ ä¿¡æ¯ |
| | | * @return ææ ä¿¡æ¯ |
| | | */ |
| | | @Override |
| | | public List<EnergyIndex> selectEnergyIndexList(EnergyIndexQuery query) { |
| | | return energyIndexMapper.selectEnergyIndex(query); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢ææ ä¿¡æ¯ |
| | | * |
| | | * @param nodeId |
| | | * @param energyIndex ææ ä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int insertEnergyIndex(String nodeId, EnergyIndex energyIndex) { |
| | | energyIndex.setNodeId(nodeId); |
| | | energyIndexMapper.insertEnergyIndex( energyIndex); |
| | | return energyIndexMapper.insertNodeIndex(nodeId,energyIndex.getIndexId()); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹ææ ä¿¡æ¯ |
| | | * |
| | | * @param energyIndex ææ ä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int updateEnergyIndex(EnergyIndex energyIndex) { |
| | | return energyIndexMapper.updateEnergyIndex(energyIndex); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå 餿æ ä¿¡æ¯ |
| | | * |
| | | * @param nodeId |
| | | * @param indexIds éè¦å é¤çææ ä¿¡æ¯ID |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int deleteEnergyIndexByIds(String nodeId, String[] indexIds) { |
| | | return energyIndexMapper.deleteEnergyIndexByIds(nodeId, indexIds); |
| | | } |
| | | |
| | | @Override |
| | | public boolean energyIndexHasExist(String code) { |
| | | int count = energyIndexMapper.energyIndexHasExist(code); |
| | | return count > 0; |
| | | } |
| | | |
| | | @Override |
| | | public boolean energyIndexHasExist(String indexId, String code) { |
| | | int count = energyIndexMapper.energyIndexHasExistWhenUpdate(indexId, code); |
| | | return count > 0; |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult addMeterIndex(String meterId) { |
| | | MeterImplement meterImplement = meterImplementService.selectMeterImplementById(meterId); |
| | | if (meterImplement == null) { |
| | | return AjaxResult.error("æ¾ä¸å°å¯¹åºç计éå¨å
·ï¼"); |
| | | @Override |
| | | public EnergyIndex getiEnergyIndexByCode(String code) { |
| | | return energyIndexMapper.getiEnergyIndexByCode(code); |
| | | } |
| | | |
| | | DaqTemplate query = new DaqTemplate(); |
| | | query.setDeviceType(meterImplement.getMeterType()); |
| | | List<DaqTemplate> daqTemplates = daqTemplateService.selectDaqTemplateList(query); |
| | | if (daqTemplates.isEmpty()) { |
| | | return AjaxResult.error("计éå¨å
·æå±çç±»åæ²¡ææ¾å°å¯¹åºç模æ¿ï¼"); |
| | | @Override |
| | | public List<EnergyIndex> listIndexByMeterIds(String nodeId, List<String> meterId) { |
| | | return energyIndexMapper.listIndexByMeterIds(nodeId, meterId); |
| | | } |
| | | |
| | | List<EnergyIndex> energyIndices = new ArrayList<>(); |
| | | daqTemplates.forEach(daqTemplate -> { |
| | | EnergyIndex energyIndex = new EnergyIndex(); |
| | | energyIndex.setIndexId(UUID.randomUUID().toString()); |
| | | energyIndex.setCode(meterImplement.getCode() + "_" + daqTemplate.getCode()); |
| | | energyIndex.setName(daqTemplate.getName()); |
| | | energyIndex.setUnitId(daqTemplate.getUnit()); |
| | | energyIndex.setIndexType(IndexType.COLLECT); |
| | | energyIndex.setMeterId(meterId); |
| | | energyIndices.add(energyIndex); |
| | | }); |
| | | |
| | | energyIndexMapper.deleteIndexByMeterId(meterId); |
| | | energyIndexMapper.insertEnergyIndices(energyIndices); |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | @Override |
| | | public List<EnergyIndex> getMeterIndex(String meterId) { |
| | | return energyIndexMapper.getMeterIndex(meterId); |
| | | } |
| | | |
| | | @Override |
| | | public boolean modelHasConfig(String modelCode) { |
| | | int count = energyIndexMapper.modelHasConfig(modelCode); |
| | | return count > 0; |
| | | } |
| | | |
| | | @Override |
| | | public List<EnergyIndex> selectCollectIndex(String deviceId) { |
| | | return energyIndexMapper.selectCollectIndex(deviceId); |
| | | } |
| | | |
| | | @Override |
| | | public List<EnergyIndex> getEnergyIndexByIds(List<String> indexIds) { |
| | | return energyIndexMapper.getEnergyIndexByIds(indexIds); |
| | | } |
| | | |
| | | @Override |
| | | public List<EnergyIndex> getEnergyIndexByCodes(List<String> indexCodes) { |
| | | if (indexCodes.isEmpty()) { |
| | | return new ArrayList<>(); |
| | | /** |
| | | * æ¥è¯¢ææ ä¿¡æ¯ |
| | | * |
| | | * @param indexId ææ ä¿¡æ¯ID |
| | | * @return ææ ä¿¡æ¯ |
| | | */ |
| | | @Override |
| | | public EnergyIndex selectEnergyIndexById(String indexId) { |
| | | return energyIndexMapper.selectEnergyIndexById(indexId); |
| | | } |
| | | |
| | | return energyIndexMapper.getEnergyIndexByCodes(indexCodes); |
| | | } |
| | | |
| | | @Override |
| | | public List<EnergyIndex> getIndexByNodeAndChildrenNode(String nodeId) { |
| | | return energyIndexMapper.getIndexByNodeAndChildrenNode(nodeId); |
| | | } |
| | | |
| | | @Override |
| | | public List<EnergyIndex> searchIndexByNodeAndChildrenNode(String nodeId, String filter) { |
| | | return energyIndexMapper.searchIndexByNodeAndChildrenNode(nodeId, filter); |
| | | } |
| | | |
| | | @Override |
| | | public void removeNodeIndex(String nodeId, List<String> removeLink) { |
| | | energyIndexMapper.removeNodeIndex(nodeId, removeLink); |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult importEnergyIndex(List<EnergyIndex> energyIndexList, boolean updateSupport) { |
| | | List<String> codes = energyIndexList.stream().map(EnergyIndex::getCode) |
| | | .collect(Collectors.toList()); |
| | | List<String> nodeCodes = energyIndexList.stream().map(EnergyIndex::getNodeId) |
| | | .collect(Collectors.toList()); |
| | | List<EnergyIndex> indexList = energyIndexMapper.getEnergyIndexByCodes(codes); |
| | | List<ModelNode> modelNodes = modelNodeService.getModelNodeByNodeCodes(nodeCodes); |
| | | Map<String, String> nodeCodeToId = modelNodes.stream() |
| | | .collect(Collectors.toMap(ModelNode::getCode, ModelNode::getNodeId)); |
| | | Set<String> cacheIndexCodes = indexList.stream().map(EnergyIndex::getCode) |
| | | .collect(Collectors.toSet()); |
| | | |
| | | List<EnergyIndex> insertData = new ArrayList<>(); |
| | | List<EnergyIndex> updateData = new ArrayList<>(); |
| | | List<String> errorNodeCode = new ArrayList<>(); |
| | | List<String> insertIndexCode = new ArrayList<>(); |
| | | AtomicBoolean existDuplicateCode = new AtomicBoolean(false); |
| | | energyIndexList.forEach(energyIndex -> { |
| | | if (cacheIndexCodes.contains(energyIndex.getCode())) { |
| | | updateData.add(energyIndex); |
| | | } else { |
| | | String nodeCode = energyIndex.getNodeId(); |
| | | if (nodeCodeToId.containsKey(nodeCode)) { |
| | | if (!insertIndexCode.contains(energyIndex.getCode())) { |
| | | insertIndexCode.add(energyIndex.getCode()); |
| | | energyIndex.setIndexId(UUID.randomUUID().toString()); |
| | | energyIndex.setNodeId(nodeCodeToId.get(nodeCode)); |
| | | insertData.add(energyIndex); |
| | | } else { |
| | | existDuplicateCode.set(true); |
| | | } |
| | | } else if (!errorNodeCode.contains(nodeCode)) { |
| | | errorNodeCode.add(nodeCode); |
| | | @Override |
| | | public List<EnergyIndex> selectEnergyIndexByIds(List<String> indexId) { |
| | | if (CollectionUtils.isEmpty(indexId)) { |
| | | return Collections.emptyList(); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | if (updateSupport && !updateData.isEmpty()) { |
| | | updateData.forEach(energyIndexMapper::updateEnergyIndex); |
| | | return energyIndexMapper.selectEnergyIndexByIds(indexId); |
| | | } |
| | | |
| | | if (!insertData.isEmpty()) { |
| | | energyIndexMapper.saveEnergyIndex(insertData); |
| | | @Override |
| | | public List<EnergyIndex> selectEnergyIndexList(EnergyIndex energyIndex) { |
| | | return energyIndexMapper.selectEnergyIndexList(energyIndex); |
| | | } |
| | | |
| | | String errMsg = ""; |
| | | if (existDuplicateCode.get()) { |
| | | errMsg += "åå¨éå¤çææ ç¼ç ï¼å·²èªå¨è¿æ»¤ï¼"; |
| | | /** |
| | | * æ¥è¯¢ææ ä¿¡æ¯å表 |
| | | * |
| | | * @param energyIndex ææ ä¿¡æ¯ |
| | | * @return ææ ä¿¡æ¯ |
| | | */ |
| | | @Override |
| | | public List<EnergyIndex> selectEnergyIndexList(EnergyIndexQuery query) { |
| | | return energyIndexMapper.selectEnergyIndex(query); |
| | | } |
| | | |
| | | if (!errorNodeCode.isEmpty()) { |
| | | errMsg += String.join(",", errorNodeCode) + "æ²¡ææ¾å°å¯¹åºçèç¹æ°æ®ï¼å æ¤å
¶ä¸çææææ 导å
¥å¤±è´¥ï¼"; |
| | | /** |
| | | * æ°å¢ææ ä¿¡æ¯ |
| | | * |
| | | * @param nodeId |
| | | * @param energyIndex ææ ä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int insertEnergyIndex(String nodeId, EnergyIndex energyIndex) { |
| | | energyIndex.setNodeId(nodeId); |
| | | energyIndexMapper.insertEnergyIndex(energyIndex); |
| | | return energyIndexMapper.insertNodeIndex(nodeId, energyIndex.getIndexId()); |
| | | } |
| | | |
| | | if (StringUtils.isNotBlank(errMsg)) { |
| | | return AjaxResult.error(errMsg); |
| | | } |
| | | return AjaxResult.success("导å
¥æåï¼"); |
| | | } |
| | | |
| | | @Override |
| | | public List<EnergyIndex> getEnergyIndexMeterByCodes(List<String> indexCodes) { |
| | | if (indexCodes.isEmpty()) { |
| | | return new ArrayList<>(); |
| | | /** |
| | | * ä¿®æ¹ææ ä¿¡æ¯ |
| | | * |
| | | * @param energyIndex ææ ä¿¡æ¯ |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int updateEnergyIndex(EnergyIndex energyIndex) { |
| | | return energyIndexMapper.updateEnergyIndex(energyIndex); |
| | | } |
| | | |
| | | return energyIndexMapper.getEnergyIndexMeterByCodes(indexCodes); |
| | | } |
| | | |
| | | /** |
| | | * @description: hmj å页æ¥è¯¢ |
| | | * @param query |
| | | * @param pageNum |
| | | * @param pageSize |
| | | * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.zhitan.model.domain.EnergyIndex> |
| | | * @author: hmj |
| | | * @date: 2024/10/11 23:56 |
| | | */ |
| | | @Override |
| | | public Page<EnergyIndex> selectEnergyIndexPage(EnergyIndexQuery query, Long pageNum, Long pageSize) { |
| | | return energyIndexMapper.selectEnergyIndexPage(new Page<>(pageNum,pageSize),query); |
| | | } |
| | | |
| | | @Override |
| | | public Page<EnergyIndex> getMeterIndexList(List<String> meterIndexIds,String code, |
| | | String name,Long pageNum, Long pageSize) { |
| | | LambdaQueryWrapper<EnergyIndex> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.in(EnergyIndex::getMeterId,meterIndexIds); |
| | | queryWrapper.like(StringUtils.isNotEmpty(code),EnergyIndex::getCode,code); |
| | | queryWrapper.like(StringUtils.isNotEmpty(name),EnergyIndex::getName,name); |
| | | return energyIndexMapper.selectPage(new Page<>(pageNum,pageSize),queryWrapper); |
| | | } |
| | | |
| | | @Override |
| | | public List<EnergyIndex> getIndexByCode(String code, String nodeId) { |
| | | List<EnergyIndex> energyIndexList = energyIndexMapper.getIndexByCode(code,nodeId); |
| | | |
| | | return energyIndexList; |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨è½åå
idå设å¤idï¼ä»¥åç¹ä½ç¼ç è·åç¹ä½ |
| | | * |
| | | * @param nodeId èç¹id |
| | | * @param meterId 设å¤id |
| | | * @param indexCode ç¹ä½ç¼ç æè
ç¹ä½ç¼ç çä¸é¨å |
| | | * @return |
| | | */ |
| | | @Override |
| | | public EnergyIndex getDeviceIndexByCode(String nodeId, String meterId, String indexCode) { |
| | | |
| | | List<EnergyIndex> energyIndexList = listDeviceIndexByCode(nodeId, meterId, indexCode); |
| | | EnergyIndex energyIndex = energyIndexList.stream().findFirst().orElse(null); |
| | | if (ObjectUtils.isEmpty(energyIndex)) { |
| | | energyIndex = new EnergyIndex(); |
| | | /** |
| | | * æ¹éå 餿æ ä¿¡æ¯ |
| | | * |
| | | * @param nodeId |
| | | * @param indexIds éè¦å é¤çææ ä¿¡æ¯ID |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int deleteEnergyIndexByIds(String nodeId, String[] indexIds) { |
| | | return energyIndexMapper.deleteEnergyIndexByIds(nodeId, indexIds); |
| | | } |
| | | return energyIndex; |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨è½åå
idå设å¤idï¼ä»¥åç¹ä½ç¼ç è·åç¹ä½ |
| | | * |
| | | * @param energyUnitId ç¨è½åå
id |
| | | * @param meterId 设å¤id |
| | | * @param indexCode ç¹ä½ç¼ç æè
ç¹ä½ç¼ç çä¸é¨å |
| | | * @return |
| | | */ |
| | | public List<EnergyIndex> listDeviceIndexByCode(String energyUnitId, String meterId, String indexCode) { |
| | | return energyIndexMapper.selectList(Wrappers.<EnergyIndex>lambdaQuery() |
| | | .eq(EnergyIndex::getNodeId, energyUnitId) |
| | | .eq(EnergyIndex::getMeterId, meterId) |
| | | .like(EnergyIndex::getCode, indexCode)); |
| | | } |
| | | @Override |
| | | public boolean energyIndexHasExist(String code) { |
| | | int count = energyIndexMapper.energyIndexHasExist(code); |
| | | return count > 0; |
| | | } |
| | | |
| | | @Override |
| | | public boolean energyIndexHasExist(String indexId, String code) { |
| | | int count = energyIndexMapper.energyIndexHasExistWhenUpdate(indexId, code); |
| | | return count > 0; |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult addMeterIndex(String meterId) { |
| | | MeterImplement meterImplement = meterImplementService.selectMeterImplementById(meterId); |
| | | if (meterImplement == null) { |
| | | return AjaxResult.error("æ¾ä¸å°å¯¹åºç计éå¨å
·ï¼"); |
| | | } |
| | | |
| | | DaqTemplate query = new DaqTemplate(); |
| | | query.setDeviceType(meterImplement.getMeterType()); |
| | | List<DaqTemplate> daqTemplates = daqTemplateService.selectDaqTemplateList(query); |
| | | if (daqTemplates.isEmpty()) { |
| | | return AjaxResult.error("计éå¨å
·æå±çç±»åæ²¡ææ¾å°å¯¹åºç模æ¿ï¼"); |
| | | } |
| | | |
| | | List<EnergyIndex> energyIndices = new ArrayList<>(); |
| | | daqTemplates.forEach(daqTemplate -> { |
| | | EnergyIndex energyIndex = new EnergyIndex(); |
| | | energyIndex.setIndexId(UUID.randomUUID().toString()); |
| | | energyIndex.setCode(meterImplement.getCode() + "_" + daqTemplate.getCode()); |
| | | energyIndex.setName(daqTemplate.getName()); |
| | | energyIndex.setUnitId(daqTemplate.getUnit()); |
| | | energyIndex.setIndexType(IndexType.COLLECT); |
| | | energyIndex.setMeterId(meterId); |
| | | energyIndices.add(energyIndex); |
| | | }); |
| | | |
| | | energyIndexMapper.deleteIndexByMeterId(meterId); |
| | | energyIndexMapper.insertEnergyIndices(energyIndices); |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | @Override |
| | | public List<EnergyIndex> getMeterIndex(String meterId) { |
| | | return energyIndexMapper.getMeterIndex(meterId); |
| | | } |
| | | |
| | | @Override |
| | | public boolean modelHasConfig(String modelCode) { |
| | | int count = energyIndexMapper.modelHasConfig(modelCode); |
| | | return count > 0; |
| | | } |
| | | |
| | | @Override |
| | | public List<EnergyIndex> selectCollectIndex(String deviceId) { |
| | | return energyIndexMapper.selectCollectIndex(deviceId); |
| | | } |
| | | |
| | | @Override |
| | | public List<EnergyIndex> getEnergyIndexByIds(List<String> indexIds) { |
| | | return energyIndexMapper.getEnergyIndexByIds(indexIds); |
| | | } |
| | | |
| | | @Override |
| | | public List<EnergyIndex> getEnergyIndexByCodes(List<String> indexCodes) { |
| | | if (indexCodes.isEmpty()) { |
| | | return new ArrayList<>(); |
| | | } |
| | | |
| | | return energyIndexMapper.getEnergyIndexByCodes(indexCodes); |
| | | } |
| | | |
| | | @Override |
| | | public List<EnergyIndex> getIndexByNodeAndChildrenNode(String nodeId) { |
| | | return energyIndexMapper.getIndexByNodeAndChildrenNode(nodeId); |
| | | } |
| | | |
| | | @Override |
| | | public List<EnergyIndex> searchIndexByNodeAndChildrenNode(String nodeId, String filter) { |
| | | return energyIndexMapper.searchIndexByNodeAndChildrenNode(nodeId, filter); |
| | | } |
| | | |
| | | @Override |
| | | public void removeNodeIndex(String nodeId, List<String> removeLink) { |
| | | energyIndexMapper.removeNodeIndex(nodeId, removeLink); |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult importEnergyIndex(List<EnergyIndex> energyIndexList, boolean updateSupport) { |
| | | List<String> codes = energyIndexList.stream().map(EnergyIndex::getCode) |
| | | .collect(Collectors.toList()); |
| | | List<String> nodeCodes = energyIndexList.stream().map(EnergyIndex::getNodeId) |
| | | .collect(Collectors.toList()); |
| | | List<EnergyIndex> indexList = energyIndexMapper.getEnergyIndexByCodes(codes); |
| | | List<ModelNode> modelNodes = modelNodeService.getModelNodeByNodeCodes(nodeCodes); |
| | | Map<String, String> nodeCodeToId = modelNodes.stream() |
| | | .collect(Collectors.toMap(ModelNode::getCode, ModelNode::getNodeId)); |
| | | Set<String> cacheIndexCodes = indexList.stream().map(EnergyIndex::getCode) |
| | | .collect(Collectors.toSet()); |
| | | |
| | | List<EnergyIndex> insertData = new ArrayList<>(); |
| | | List<EnergyIndex> updateData = new ArrayList<>(); |
| | | List<String> errorNodeCode = new ArrayList<>(); |
| | | List<String> insertIndexCode = new ArrayList<>(); |
| | | AtomicBoolean existDuplicateCode = new AtomicBoolean(false); |
| | | energyIndexList.forEach(energyIndex -> { |
| | | if (cacheIndexCodes.contains(energyIndex.getCode())) { |
| | | updateData.add(energyIndex); |
| | | } else { |
| | | String nodeCode = energyIndex.getNodeId(); |
| | | if (nodeCodeToId.containsKey(nodeCode)) { |
| | | if (!insertIndexCode.contains(energyIndex.getCode())) { |
| | | insertIndexCode.add(energyIndex.getCode()); |
| | | energyIndex.setIndexId(UUID.randomUUID().toString()); |
| | | energyIndex.setNodeId(nodeCodeToId.get(nodeCode)); |
| | | insertData.add(energyIndex); |
| | | } else { |
| | | existDuplicateCode.set(true); |
| | | } |
| | | } else if (!errorNodeCode.contains(nodeCode)) { |
| | | errorNodeCode.add(nodeCode); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | if (updateSupport && !updateData.isEmpty()) { |
| | | updateData.forEach(energyIndexMapper::updateEnergyIndex); |
| | | } |
| | | |
| | | if (!insertData.isEmpty()) { |
| | | energyIndexMapper.saveEnergyIndex(insertData); |
| | | } |
| | | |
| | | String errMsg = ""; |
| | | if (existDuplicateCode.get()) { |
| | | errMsg += "åå¨éå¤çææ ç¼ç ï¼å·²èªå¨è¿æ»¤ï¼"; |
| | | } |
| | | |
| | | if (!errorNodeCode.isEmpty()) { |
| | | errMsg += String.join(",", errorNodeCode) + "æ²¡ææ¾å°å¯¹åºçèç¹æ°æ®ï¼å æ¤å
¶ä¸çææææ 导å
¥å¤±è´¥ï¼"; |
| | | } |
| | | |
| | | if (StringUtils.isNotBlank(errMsg)) { |
| | | return AjaxResult.error(errMsg); |
| | | } |
| | | return AjaxResult.success("导å
¥æåï¼"); |
| | | } |
| | | |
| | | @Override |
| | | public List<EnergyIndex> getEnergyIndexMeterByCodes(List<String> indexCodes) { |
| | | if (indexCodes.isEmpty()) { |
| | | return new ArrayList<>(); |
| | | } |
| | | |
| | | return energyIndexMapper.getEnergyIndexMeterByCodes(indexCodes); |
| | | } |
| | | |
| | | /** |
| | | * @param query |
| | | * @param pageNum |
| | | * @param pageSize |
| | | * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.zhitan.model.domain.EnergyIndex> |
| | | * @description: hmj å页æ¥è¯¢ |
| | | * @author: hmj |
| | | * @date: 2024/10/11 23:56 |
| | | */ |
| | | @Override |
| | | public Page<EnergyIndex> selectEnergyIndexPage(EnergyIndexQuery query, Long pageNum, Long pageSize) { |
| | | return energyIndexMapper.selectEnergyIndexPage(new Page<>(pageNum, pageSize), query); |
| | | } |
| | | |
| | | @Override |
| | | public Page<EnergyIndex> getMeterIndexList(List<String> meterIndexIds, String code, |
| | | String name, Long pageNum, Long pageSize) { |
| | | LambdaQueryWrapper<EnergyIndex> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.in(EnergyIndex::getMeterId, meterIndexIds); |
| | | queryWrapper.like(StringUtils.isNotEmpty(code), EnergyIndex::getCode, code); |
| | | queryWrapper.like(StringUtils.isNotEmpty(name), EnergyIndex::getName, name); |
| | | return energyIndexMapper.selectPage(new Page<>(pageNum, pageSize), queryWrapper); |
| | | } |
| | | |
| | | @Override |
| | | public List<EnergyIndex> getIndexByCode(String code, String nodeId) { |
| | | List<EnergyIndex> energyIndexList = energyIndexMapper.getIndexByCode(code, nodeId); |
| | | |
| | | return energyIndexList; |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨è½åå
idå设å¤idï¼ä»¥åç¹ä½ç¼ç è·åç¹ä½ |
| | | * |
| | | * @param nodeId èç¹id |
| | | * @param meterId 设å¤id |
| | | * @param indexCode ç¹ä½ç¼ç æè
ç¹ä½ç¼ç çä¸é¨å |
| | | * @return |
| | | */ |
| | | @Override |
| | | public EnergyIndex getDeviceIndexByCode(String nodeId, String meterId, String indexCode) { |
| | | |
| | | List<EnergyIndex> energyIndexList = listDeviceIndexByCode(nodeId, meterId, indexCode); |
| | | EnergyIndex energyIndex = energyIndexList.stream().findFirst().orElse(null); |
| | | if (ObjectUtils.isEmpty(energyIndex)) { |
| | | energyIndex = new EnergyIndex(); |
| | | } |
| | | return energyIndex; |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨è½åå
idå设å¤idï¼ä»¥åç¹ä½ç¼ç è·åç¹ä½ |
| | | * |
| | | * @param nodeId èç¹id |
| | | * @param meterId 设å¤id |
| | | * @param indexCode ç¹ä½ç¼ç æè
ç¹ä½ç¼ç çä¸é¨å |
| | | * @return |
| | | */ |
| | | public List<EnergyIndex> listDeviceIndexByCode(String nodeId, String meterId, String indexCode) { |
| | | return energyIndexMapper.selectList(Wrappers.<EnergyIndex>lambdaQuery() |
| | | .eq(EnergyIndex::getNodeId, nodeId) |
| | | .eq(EnergyIndex::getMeterId, meterId) |
| | | .like(EnergyIndex::getCode, indexCode)); |
| | | } |
| | | } |