use of org.estatio.module.capex.dom.order.Order in project estatio by estatio.
the class TaskIncomingDocumentPdfService method doLookupPdfFor.
private Blob doLookupPdfFor(final Task task) {
StateTransition<?, ?, ?, ?> stateTransition = stateTransitionService.findFor(task);
if (stateTransition == null) {
return null;
}
if (stateTransition instanceof IncomingDocumentCategorisationStateTransition) {
IncomingDocumentCategorisationStateTransition idcst = (IncomingDocumentCategorisationStateTransition) stateTransition;
final Document document = idcst.getDocument();
if (document == null) {
return null;
}
if (!Objects.equals(document.getMimeType(), "application/pdf")) {
return null;
}
return document.getBlob();
}
if (stateTransition instanceof OrderApprovalStateTransition) {
final OrderApprovalStateTransition oast = (OrderApprovalStateTransition) stateTransition;
final Order order = oast.getOrdr();
final Optional<Document> documentIfAny = lookupAttachedPdfService.lookupOrderPdfFrom(order);
return documentIfAny.map(DocumentAbstract::getBlob).orElse(null);
}
if (stateTransition instanceof IncomingInvoiceApprovalStateTransition) {
final IncomingInvoiceApprovalStateTransition iiast = (IncomingInvoiceApprovalStateTransition) stateTransition;
final IncomingInvoice invoice = iiast.getInvoice();
final Optional<Document> documentIfAny = lookupAttachedPdfService.lookupIncomingInvoicePdfFrom(invoice);
return documentIfAny.map(DocumentAbstract::getBlob).orElse(null);
}
if (stateTransition instanceof BankAccountVerificationStateTransition) {
final BankAccountVerificationStateTransition bavst = (BankAccountVerificationStateTransition) stateTransition;
final BankAccount bankAccount = bavst.getBankAccount();
final Optional<Document> documentIfAny = lookupAttachedPdfService.lookupIbanProofPdfFrom(bankAccount);
return documentIfAny.map(DocumentAbstract::getBlob).orElse(null);
}
return null;
}
use of org.estatio.module.capex.dom.order.Order in project estatio by estatio.
the class PartySubscriptionsForOrders method on.
@Programmatic
@com.google.common.eventbus.Subscribe
@org.axonframework.eventhandling.annotation.EventHandler
public void on(final Party.DeleteEvent ev) {
Party sourceParty = (Party) ev.getSource();
Party replacementParty = ev.getReplacement();
switch(ev.getEventPhase()) {
case VALIDATE:
if (replacementParty == null && orderRepository.findBySellerParty(sourceParty).size() > 0) {
ev.invalidate("Party is in use as seller in an order. Provide replacement");
}
break;
case EXECUTING:
if (replacementParty != null) {
for (Order order : orderRepository.findBySellerParty(sourceParty)) {
order.setSeller(replacementParty);
}
}
break;
default:
break;
}
}
use of org.estatio.module.capex.dom.order.Order in project estatio by estatio.
the class IncomingDocAsInvoiceViewModel_Test method choices_orderItem_filters_discarded.
@Test
public void choices_orderItem_filters_discarded() {
// given
IncomingDocAsInvoiceViewModel viewModel = new IncomingDocAsInvoiceViewModel();
viewModel.orderItemRepository = mockOrderItemRepo;
Organisation seller = new Organisation();
viewModel.setSeller(seller);
Order order = new Order();
order.setApprovalState(OrderApprovalState.DISCARDED);
OrderItem item = new OrderItem();
item.setOrdr(order);
// expect
context.checking(new Expectations() {
{
allowing(mockOrderItemRepo).findBySeller(seller);
will(returnValue(Arrays.asList(item)));
}
});
// when discarded
List<OrderItem> orderItemChoices = viewModel.choicesOrderItem();
// then
Assertions.assertThat(orderItemChoices).isEmpty();
// and when not discarded
order.setApprovalState(OrderApprovalState.APPROVED);
orderItemChoices = viewModel.choicesOrderItem();
// then
Assertions.assertThat(orderItemChoices).contains(item);
// and when order has no approval state
order.setApprovalState(null);
orderItemChoices = viewModel.choicesOrderItem();
// then
Assertions.assertThat(orderItemChoices).contains(item);
}
use of org.estatio.module.capex.dom.order.Order in project estatio by estatio.
the class OrderMenu_Test method filterOrFindByOrderDate_find_works.
@Test
public void filterOrFindByOrderDate_find_works() {
OrderMenu.OrderFinder builder;
// given
builder = new OrderMenu.OrderFinder(mockOrderRepository, mockPartyRepository);
Order order1 = new Order();
Order order2 = new Order();
Order order3 = new Order();
order1.setOrderDate(new LocalDate(2017, 7, 15));
order2.setOrderDate(new LocalDate(2017, 7, 5));
order3.setOrderDate(new LocalDate(2017, 7, 16));
final LocalDate dateSearchedFor = new LocalDate(2017, 7, 10);
// expect
context.checking(new Expectations() {
{
oneOf(mockOrderRepository).listAll();
will(returnValue(Arrays.asList(order1, order2, order3)));
}
});
// when
builder.filterOrFindByOrderDate(dateSearchedFor);
// then
Assertions.assertThat(builder.getResult().size()).isEqualTo(2);
Assertions.assertThat(builder.getResult()).contains(order1);
Assertions.assertThat(builder.getResult()).contains(order2);
}
use of org.estatio.module.capex.dom.order.Order in project estatio by estatio.
the class OrderMenu_Test method filterOrFindByDocumentName_filter_works.
@Test
public void filterOrFindByDocumentName_filter_works() {
OrderMenu.OrderFinder builder;
// given
builder = new OrderMenu.OrderFinder(mockOrderRepository, mockPartyRepository);
Order order1 = new Order();
Order order2 = new Order();
builder.setResult(Arrays.asList(order1, order2));
Assertions.assertThat(builder.getResult().size()).isEqualTo(2);
// expect
context.checking(new Expectations() {
{
oneOf(mockOrderRepository).findOrderByDocumentName("123");
will(returnValue(Arrays.asList(order1)));
}
});
// when
builder.filterOrFindByDocumentName("123");
// then
Assertions.assertThat(builder.getResult().size()).isEqualTo(1);
}
Aggregations