Search in sources :

Example 6 with UnitCollection

use of eu.ggnet.dwoss.uniqueunit.ee.entity.UnitCollection in project dwoss by gg-net.

the class ProductGenerator method generateProduct.

/**
 * Generate a specific amount of products with random data.
 *
 * @param amount of products that get created
 * @return list of Product
 */
public List<Product> generateProduct(int amount) {
    List<Product> products = new ArrayList<>();
    for (int i = 0; i < amount; i++) {
        Product p = new Product(productGroups.get(rand.nextInt(productGroups.size())), tradeNames.get(rand.nextInt(tradeNames.size())), "" + rand.nextInt(15000), names.get(rand.nextInt(names.size())));
        p.setImageId(rand.nextInt(15000));
        p.setGtin(rand.nextInt(15000));
        p.setEol(dates.get(rand.nextInt(dates.size())));
        p.setPrice(priceTypes.get(rand.nextInt(priceTypes.size())), rand.nextInt(9999), "");
        ucGen.generateUnitCollections().forEach((generateUnitCollection) -> {
            p.getUnitCollections().add(generateUnitCollection);
        });
        for (UnitCollection collection : p.getUnitCollections()) {
            for (UniqueUnit unit : collection.getUnits()) {
                unit.setProduct(p);
            }
        }
        for (int j = 0; j < 5; j++) {
            p.getUniqueUnits().add(uuGen.makeUniqueUnit(p.getTradeName(), p.getGroup()));
        }
        products.add(p);
    }
    return products;
}
Also used : UniqueUnit(eu.ggnet.dwoss.uniqueunit.ee.entity.UniqueUnit) UnitCollection(eu.ggnet.dwoss.uniqueunit.ee.entity.UnitCollection) Product(eu.ggnet.dwoss.uniqueunit.ee.entity.Product)

Example 7 with UnitCollection

use of eu.ggnet.dwoss.uniqueunit.ee.entity.UnitCollection in project dwoss by gg-net.

the class ProductGenerator method generateProduct.

/**
 * Generate a specific amount of products with random data.
 *
 * @param amount of products that get created
 * @return list of Product
 */
public List<Product> generateProduct(int amount) {
    List<Product> products = new ArrayList<>();
    for (int i = 0; i < amount; i++) {
        Product p = new Product(productGroups.get(rand.nextInt(productGroups.size())), tradeNames.get(rand.nextInt(tradeNames.size())), "" + rand.nextInt(15000), names.get(rand.nextInt(names.size())));
        p.setImageId(rand.nextInt(15000));
        p.setGtin(rand.nextInt(15000));
        p.setEol(dates.get(rand.nextInt(dates.size())));
        p.setPrice(priceTypes.get(rand.nextInt(priceTypes.size())), rand.nextInt(9999), "");
        ucGen.generateUnitCollections().forEach((generateUnitCollection) -> {
            p.getUnitCollections().add(generateUnitCollection);
        });
        for (UnitCollection collection : p.getUnitCollections()) {
            for (UniqueUnit unit : collection.getUnits()) {
                unit.setProduct(p);
            }
        }
        for (int j = 0; j < 5; j++) {
            p.getUniqueUnits().add(uuGen.makeUniqueUnit(p.getTradeName(), p.getGroup()));
        }
        products.add(p);
    }
    return products;
}
Also used : UniqueUnit(eu.ggnet.dwoss.uniqueunit.ee.entity.UniqueUnit) UnitCollection(eu.ggnet.dwoss.uniqueunit.ee.entity.UnitCollection) Product(eu.ggnet.dwoss.uniqueunit.ee.entity.Product)

Example 8 with UnitCollection

use of eu.ggnet.dwoss.uniqueunit.ee.entity.UnitCollection in project dwoss by gg-net.

the class PersistenceIT method testPersistence.

@Test
public void testPersistence() throws Exception {
    utx.begin();
    em.joinTransaction();
    Date now = new Date();
    CategoryProduct cp1 = new CategoryProduct();
    cp1.setName("Mixup");
    cp1.setPrice(PriceType.SALE, 100.0, "The Salepreice");
    cp1.setSalesChannel(SalesChannel.RETAILER);
    Product p1 = new Product(ProductGroup.DESKTOP, TradeName.ACER, "LX.11111.222", "Verition Stein");
    p1.setDescription("Ein Tolles Gerät");
    p1.setPrice(PriceType.MANUFACTURER_COST, 200.0, "JUnit - Testcase");
    p1.setPrice(PriceType.CONTRACTOR_REFERENCE, 240.0, "JUnit - Testcase");
    p1.addFlag(Product.Flag.PRICE_FIXED);
    p1.setCategoryProduct(cp1);
    Product p2 = new Product(ProductGroup.COMMENTARY, TradeName.DELL, "DL", "Dienstleistung 1h");
    p2.setDescription("Eine Dienstleistungs Stunde");
    p2.setCategoryProduct(cp1);
    UnitCollection uc1 = new UnitCollection();
    uc1.setProduct(p1);
    uc1.setPartNoExtension("demo1");
    uc1.setNameExtension("Demo1");
    UnitCollection uc2 = new UnitCollection();
    uc2.setProduct(p1);
    uc2.setPartNoExtension("demo2");
    uc2.setNameExtension("Demo2");
    UniqueUnit unit1 = new UniqueUnit(p1, now, "");
    unit1.setIdentifier(SERIAL, "ROFFFLAASSS");
    unit1.setPrice(PriceType.SALE, 125, "JUnit - Testcase");
    unit1.addFlag(UniqueUnit.Flag.PRICE_FIXED);
    unit1.setContractor(TradeName.ONESELF);
    unit1.setComment("Ein Commentar");
    unit1.setCondition(UniqueUnit.Condition.AS_NEW);
    unit1.setUnitCollection(uc1);
    UniqueUnit unit2 = new UniqueUnit(p1, now, "lila");
    unit2.addHistory("Aufgenommen als Sopo 332");
    unit2.addHistory("Zerlegt weil kaput");
    unit2.setIdentifier(SERIAL, "DBCFDASFDSADEF");
    unit2.setContractor(TradeName.ONESELF);
    unit2.setComment("Auch ein Commentar");
    unit2.setCondition(UniqueUnit.Condition.AS_NEW);
    unit2.setUnitCollection(uc2);
    UniqueUnit unit3 = new UniqueUnit();
    unit3.setProduct(p1);
    unit3.setMfgDate(now);
    unit3.setIdentifier(SERIAL, "ABCDEFJKHKZHJI");
    unit3.setContractor(TradeName.ONESELF);
    unit3.setCondition(UniqueUnit.Condition.AS_NEW);
    unit3.setUnitCollection(uc2);
    UniqueUnit unit4 = new UniqueUnit(p2, now, "");
    unit4.setIdentifier(SERIAL, "ABCDEFFEQGSDFD");
    unit4.setContractor(TradeName.ONESELF);
    unit4.setCondition(UniqueUnit.Condition.USED);
    unit4.setComment("Ein sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr langer Kommentar");
    unit4.setInternalComment("Ein sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr" + " sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr sehr langer Kommentar");
    em.persist(cp1);
    em.persist(p1);
    em.persist(p2);
    em.persist(uc1);
    em.persist(uc2);
    em.persist(unit1);
    em.persist(unit2);
    em.persist(unit3);
    em.persist(unit4);
    utx.commit();
    List<CategoryProduct> allCp = agent.findAll(CategoryProduct.class);
    assertThat(allCp).as("findAllCategoryProducts").isNotEmpty().hasSize(1).contains(cp1);
    CategoryProduct getCp1 = allCp.get(0);
    assertThat(getCp1.getSalesChannel()).as("saleschanel of categoryproduct").isEqualTo(SalesChannel.RETAILER);
    assertThat(getCp1.hasPrice(PriceType.SALE)).as("price sale is set on categoryproduct").isTrue();
    assertThat(agent.findAll(UniqueUnit.class)).as("findAllUniqueUnits").isNotNull().isNotEmpty().hasSize(4);
    UniqueUnit unit3_1 = agent.findById(UniqueUnit.class, unit3.getId());
    assertThat(unit3_1).as("Expected unit3").isNotNull().satisfies(u -> {
        assertThat(u.getComment()).isNull();
        assertThat(u.getInternalComment()).isNull();
        assertThat(u.getUnitCollection()).isEqualTo(uc2);
    });
    UniqueUnit unit4_1 = agent.findById(UniqueUnit.class, unit4.getId());
    assertThat(unit4_1).as("Expected unit4").isNotNull();
    assertThat(unit4_1.getComment()).as("Comment of unit4").isNotBlank();
    assertThat(unit4_1.getInternalComment()).as("InternalComment of unit4").isNotBlank();
}
Also used : UniqueUnit(eu.ggnet.dwoss.uniqueunit.ee.entity.UniqueUnit) CategoryProduct(eu.ggnet.dwoss.uniqueunit.ee.entity.CategoryProduct) UnitCollection(eu.ggnet.dwoss.uniqueunit.ee.entity.UnitCollection) CategoryProduct(eu.ggnet.dwoss.uniqueunit.ee.entity.CategoryProduct) Product(eu.ggnet.dwoss.uniqueunit.ee.entity.Product) Date(java.util.Date) Test(org.junit.Test)

Example 9 with UnitCollection

use of eu.ggnet.dwoss.uniqueunit.ee.entity.UnitCollection in project dwoss by gg-net.

the class AssignmentController method editUnitCollection.

@FXML
private void editUnitCollection() {
    UnitCollection selectedUnitCollection = unitCollectionList.getSelectionModel().getSelectedItem();
    int indexOf = unitCollectionList.getItems().indexOf(selectedUnitCollection);
    if (selectedUnitCollection == null)
        return;
    Ui.exec(() -> {
        Ui.build(root).fxml().eval(() -> new UnitCollection(), UnitCollectionEditorController.class).opt().map(dto -> Dl.remote().lookup(UniqueUnitAgent.class).update(dto, Dl.local().lookup(Guardian.class).getUsername())).filter(Ui.failure()::handle).map(Reply::getPayload).ifPresent(uc -> {
            unitCollectionList.getItems().set(indexOf, uc);
        });
    });
}
Also used : EventHandler(javafx.event.EventHandler) Title(eu.ggnet.saft.api.ui.Title) java.util(java.util) Initializable(javafx.fxml.Initializable) ListView(javafx.scene.control.ListView) URL(java.net.URL) ListCell(javafx.scene.control.ListCell) LoggerFactory(org.slf4j.LoggerFactory) FXCollections(javafx.collections.FXCollections) UniqueUnit(eu.ggnet.dwoss.uniqueunit.ee.entity.UniqueUnit) MULTIPLE(javafx.scene.control.SelectionMode.MULTIPLE) Ui(eu.ggnet.saft.Ui) Dl(eu.ggnet.saft.Dl) FxController(eu.ggnet.saft.api.ui.FxController) StockApi(eu.ggnet.dwoss.stock.api.StockApi) PicoProduct(eu.ggnet.dwoss.uniqueunit.api.PicoProduct) UniqueUnitAgent(eu.ggnet.dwoss.uniqueunit.ee.UniqueUnitAgent) javafx.scene.input(javafx.scene.input) Logger(org.slf4j.Logger) PicoUnit(eu.ggnet.dwoss.uniqueunit.api.PicoUnit) UnitCollection(eu.ggnet.dwoss.uniqueunit.ee.entity.UnitCollection) Collectors(java.util.stream.Collectors) FXML(javafx.fxml.FXML) Guardian(eu.ggnet.saft.core.auth.Guardian) ActionEvent(javafx.event.ActionEvent) Reply(eu.ggnet.saft.api.Reply) Product(eu.ggnet.dwoss.uniqueunit.ee.entity.Product) ObservableValue(javafx.beans.value.ObservableValue) BorderPane(javafx.scene.layout.BorderPane) ChangeListener(javafx.beans.value.ChangeListener) UnitCollection(eu.ggnet.dwoss.uniqueunit.ee.entity.UnitCollection) UniqueUnitAgent(eu.ggnet.dwoss.uniqueunit.ee.UniqueUnitAgent) FXML(javafx.fxml.FXML)

Example 10 with UnitCollection

use of eu.ggnet.dwoss.uniqueunit.ee.entity.UnitCollection in project dwoss by gg-net.

the class AssignmentController method assignUnit.

@FXML
private void assignUnit(ActionEvent event) {
    List<UniqueUnit> selected = unassignedUnitsList.getSelectionModel().getSelectedItems();
    UnitCollection selectedCollection = unitCollectionList.getSelectionModel().getSelectedItem();
    if (!selected.isEmpty()) {
        for (UniqueUnit uu : selected) {
            Dl.remote().lookup(UniqueUnitAgent.class).addToUnitCollection(new PicoUnit(uu.getId(), "RefurbishedId=" + uu.getRefurbishId()), selectedCollection.getId());
            assignedUnitsList.getItems().add(uu);
            unassignedUnitsList.getItems().remove(uu);
        }
        unassignedUnitsList.getSelectionModel().clearSelection();
    }
}
Also used : UniqueUnit(eu.ggnet.dwoss.uniqueunit.ee.entity.UniqueUnit) UnitCollection(eu.ggnet.dwoss.uniqueunit.ee.entity.UnitCollection) PicoUnit(eu.ggnet.dwoss.uniqueunit.api.PicoUnit) UniqueUnitAgent(eu.ggnet.dwoss.uniqueunit.ee.UniqueUnitAgent) FXML(javafx.fxml.FXML)

Aggregations

UnitCollection (eu.ggnet.dwoss.uniqueunit.ee.entity.UnitCollection)12 UniqueUnit (eu.ggnet.dwoss.uniqueunit.ee.entity.UniqueUnit)8 Product (eu.ggnet.dwoss.uniqueunit.ee.entity.Product)7 PicoUnit (eu.ggnet.dwoss.uniqueunit.api.PicoUnit)5 UniqueUnitAgent (eu.ggnet.dwoss.uniqueunit.ee.UniqueUnitAgent)5 Dl (eu.ggnet.saft.Dl)4 Reply (eu.ggnet.saft.api.Reply)4 java.util (java.util)4 FXML (javafx.fxml.FXML)4 StockApi (eu.ggnet.dwoss.stock.api.StockApi)3 PicoProduct (eu.ggnet.dwoss.uniqueunit.api.PicoProduct)3 Ui (eu.ggnet.saft.Ui)3 FxController (eu.ggnet.saft.api.ui.FxController)3 Title (eu.ggnet.saft.api.ui.Title)3 Guardian (eu.ggnet.saft.core.auth.Guardian)3 URL (java.net.URL)3 Collectors (java.util.stream.Collectors)3 ChangeListener (javafx.beans.value.ChangeListener)3 ObservableValue (javafx.beans.value.ObservableValue)3 FXCollections (javafx.collections.FXCollections)3