Bugfix: user supplier "source"-type bugfix
This commit is contained in:
parent
c573d7647f
commit
3d3a4dbfab
7 changed files with 30 additions and 14 deletions
|
|
@ -195,7 +195,7 @@ public class DestinationService {
|
|||
userNodes.put(premise.getUserSupplierNodeId(), userNodeRepository.getById(premise.getUserSupplierNodeId()).orElseThrow());
|
||||
}
|
||||
|
||||
routes.put(ids, routingService.findRoutes(nodes.get(destinationId), nodes.get(premise.getSupplierNodeId()), isUserSupplierNode));
|
||||
routes.put(ids, routingService.findRoutes(nodes.get(destinationId), isUserSupplierNode ? userNodes.get(premise.getUserSupplierNodeId()) : nodes.get(premise.getSupplierNodeId()), isUserSupplierNode));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,17 +1,16 @@
|
|||
package de.avatic.lcc.service.access;
|
||||
|
||||
import de.avatic.lcc.dto.generic.NodeDTO;
|
||||
import de.avatic.lcc.dto.configuration.nodes.view.NodeDetailDTO;
|
||||
import de.avatic.lcc.dto.configuration.nodes.update.NodeUpdateDTO;
|
||||
import de.avatic.lcc.dto.configuration.nodes.view.NodeDetailDTO;
|
||||
import de.avatic.lcc.dto.generic.NodeDTO;
|
||||
import de.avatic.lcc.dto.generic.NodeType;
|
||||
import de.avatic.lcc.repositories.NodeRepository;
|
||||
import de.avatic.lcc.repositories.country.CountryRepository;
|
||||
import de.avatic.lcc.repositories.pagination.SearchQueryPagination;
|
||||
import de.avatic.lcc.repositories.pagination.SearchQueryResult;
|
||||
import de.avatic.lcc.repositories.users.UserNodeRepository;
|
||||
import de.avatic.lcc.service.transformer.nodes.NodeUpdateDTOTransformer;
|
||||
import de.avatic.lcc.service.transformer.nodes.NodeDetailTransformer;
|
||||
import de.avatic.lcc.service.transformer.generic.NodeTransformer;
|
||||
import de.avatic.lcc.service.transformer.nodes.NodeDetailTransformer;
|
||||
import de.avatic.lcc.service.transformer.nodes.NodeUpdateDTOTransformer;
|
||||
import de.avatic.lcc.service.users.AuthorizationService;
|
||||
import de.avatic.lcc.util.exception.badrequest.NodeNotFoundException;
|
||||
import de.avatic.lcc.util.exception.badrequest.NotFoundException;
|
||||
|
|
@ -109,11 +108,12 @@ public class NodeService {
|
|||
* @param includeUserNode if true, includes user-specific nodes in the search results.
|
||||
* @return a list of {@link NodeDTO} objects representing the search results.
|
||||
*/
|
||||
public List<NodeDTO> searchNode(String filter, int limit, NodeType nodeType, boolean includeUserNode) { List<NodeDTO> nodes = new ArrayList<>();
|
||||
public List<NodeDTO> searchNode(String filter, int limit, NodeType nodeType, boolean includeUserNode) {
|
||||
List<NodeDTO> nodes = new ArrayList<>();
|
||||
int userId = authorizationService.getUserId();
|
||||
|
||||
if (includeUserNode && NodeType.SOURCE.equals(nodeType)) {
|
||||
nodes.addAll(userNodeRepository.searchNode(filter, limit, userId, true).stream().map(nodeTransformer::toNodeDTO).toList());
|
||||
nodes.addAll(userNodeRepository.searchNode(filter, limit, userId, true).stream().map(nodeTransformer::toUserNodeDTO).toList());
|
||||
nodes.forEach(node -> node.setUserNode(true));
|
||||
limit -= nodes.size();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -64,6 +64,6 @@ public class UserNodeService {
|
|||
|
||||
var id = userNodeRepository.add(userId, node);
|
||||
|
||||
return nodeTransformer.toNodeDTO(userNodeRepository.getById(id).orElseThrow());
|
||||
return nodeTransformer.toUserNodeDTO(userNodeRepository.getById(id).orElseThrow());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ public class PremiseSearchStringAnalyzerService {
|
|||
|
||||
dto.setMaterials(material.stream().map(materialTransformer::toMaterialDTO).toList());
|
||||
dto.setSupplier(nodeRepository.getByIds(supplierIds).stream().map(nodeTransformer::toNodeDTO).toList());
|
||||
dto.setUserSupplier(userNodeRepository.getByIds(userSupplierIds).stream().map(nodeTransformer::toNodeDTO).toList());
|
||||
dto.setUserSupplier(userNodeRepository.getByIds(userSupplierIds).stream().map(nodeTransformer::toUserNodeDTO).toList());
|
||||
|
||||
return dto;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public class ReportingService {
|
|||
var nodes = new ArrayList<List<NodeDTO>>();
|
||||
for (var periodId : periodIds) {
|
||||
var periodNodes = new ArrayList<>(nodeRepository.findNodeListsForReportingByPeriodId(materialId, periodId).stream().map(nodeTransformer::toNodeDTO).toList());
|
||||
periodNodes.addAll(userNodeRepository.findNodeListsForReportingByPeriodId(materialId, periodId).stream().map(nodeTransformer::toNodeDTO).peek(n -> n.setUserNode(true)).toList());
|
||||
periodNodes.addAll(userNodeRepository.findNodeListsForReportingByPeriodId(materialId, periodId).stream().map(nodeTransformer::toUserNodeDTO).peek(n -> n.setUserNode(true)).toList());
|
||||
|
||||
//TODO destinations have to match.
|
||||
|
||||
|
|
|
|||
|
|
@ -50,6 +50,22 @@ public class NodeTransformer {
|
|||
return dto;
|
||||
}
|
||||
|
||||
public NodeDTO toUserNodeDTO(Node entity) {
|
||||
NodeDTO dto = new NodeDTO();
|
||||
|
||||
dto.setId(entity.getId());
|
||||
dto.setName(entity.getName());
|
||||
dto.setAddress(entity.getAddress());
|
||||
dto.setCountry(countryTransformerService.toCountryDTO(countryRepository.getById(entity.getCountryId()).orElseThrow()));
|
||||
dto.setTypes(List.of(NodeType.SOURCE));
|
||||
dto.setDeprecated(entity.getDeprecated());
|
||||
dto.setLocation(locationTransformer.toLocationDTO(entity));
|
||||
dto.setUserNode(true);
|
||||
dto.setExternalMappingId(entity.getExternalMappingId());
|
||||
|
||||
return dto;
|
||||
}
|
||||
|
||||
public NodeDTO toNodeDTO(RouteNode entity) {
|
||||
NodeDTO dto = new NodeDTO();
|
||||
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ public class PremiseTransformer {
|
|||
dto.setSupplier(nodeRepository.getById(entity.getSupplierNodeId()).map(nodeTransformer::toNodeDTO).orElseThrow());
|
||||
|
||||
if (entity.getUserSupplierNodeId() != null) {
|
||||
dto.setSupplier(userNodeRepository.getById(entity.getUserSupplierNodeId()).map(nodeTransformer::toNodeDTO).orElseThrow());
|
||||
dto.setSupplier(userNodeRepository.getById(entity.getUserSupplierNodeId()).map(nodeTransformer::toUserNodeDTO).orElseThrow());
|
||||
dto.getSupplier().setUserNode(true);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue