Search in sources :

Example 11 with Stock

use of eu.ggnet.dwoss.stock.ee.entity.Stock in project dwoss by gg-net.

the class SalesChannelManager method testSalesChannelManager.

@Test
public void testSalesChannelManager() {
    try {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch (ClassNotFoundException | IllegalAccessException | InstantiationException | UnsupportedLookAndFeelException ex) {
    }
    final Stock laden = new Stock(0, "Laden");
    final Stock lager = new Stock(1, "Lager");
    Dl.remote().add(StockAgent.class, new StockAgent() {

        @Override
        public <T> List<T> findAll(Class<T> entityClass) {
            if (entityClass.equals(Stock.class))
                return (List<T>) Arrays.asList(laden, lager);
            return null;
        }

        // <editor-fold defaultstate="collapsed" desc="properties">
        @Override
        public StockUnit findStockUnitByUniqueUnitIdEager(Integer uniqueUnitId) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public StockUnit findStockUnitByRefurbishIdEager(String refurbishId) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public List<StockTransaction> findStockTransactionEager(StockTransactionType type, StockTransactionStatusType statusType) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public List<StockTransaction> findStockTransactionEager(StockTransactionType type, StockTransactionStatusType statusType, int start, int amount) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public List<StockUnit> findStockUnitsByRefurbishIdEager(List<String> refurbishIds) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> T persist(T t) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> T merge(T t) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> void delete(T t) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public StockTransaction findOrCreateRollInTransaction(int stockId, String userName, String comment) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> long count(Class<T> entityClass) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> List<T> findAll(Class<T> entityClass, int start, int amount) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> List<T> findAllEager(Class<T> entityClass) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> List<T> findAllEager(Class<T> entityClass, int start, int amount) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> T findById(Class<T> entityClass, Object id) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> T findById(Class<T> entityClass, Object id, LockModeType lockModeType) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> T findByIdEager(Class<T> entityClass, Object id) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> T findByIdEager(Class<T> entityClass, Object id, LockModeType lockModeType) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }
    });
    JFrame f = new JFrame();
    SalesChannelManagerDialog dialog = new SalesChannelManagerDialog(f);
    List<SalesChannelLine> lines = new ArrayList<>();
    lines.add(new SalesChannelLine(0, "22231", "Acer Aspire 3222-üäö", "gebraucht", 10, 10, "Lager", SalesChannel.UNKNOWN, lager.getId()));
    lines.add(new SalesChannelLine(1, "23212", "Acer Aspire 5102WLMi-€", "gebraucht", 10, 10, "Lager", SalesChannel.RETAILER, lager.getId()));
    lines.add(new SalesChannelLine(2, "43521", "Acer Aspire X3200", "gebraucht", 10, 10, "Lager", SalesChannel.RETAILER, lager.getId()));
    lines.add(new SalesChannelLine(4, "58247", "Acer Aspire One A150X blau", "gebraucht", 10, 10, "Lager", SalesChannel.CUSTOMER, laden.getId()));
    lines.add(new SalesChannelLine(5, "82235", "Acer Aspire 8930G-583G32Bn", "gebraucht", 10, 10, "Lager", SalesChannel.CUSTOMER, laden.getId()));
    lines.add(new SalesChannelLine(6, "19262", "Acer Aspire 8920G-834G32Bn", "gebraucht", 10, 10, "Lager", SalesChannel.CUSTOMER, lager.getId()));
    lines.add(new SalesChannelLine(7, "17239", "Acer Aspire 7330-572G16Mn", "Originalkarton, nahezu neuwertig", 10, 10, "Lager", SalesChannel.UNKNOWN, lager.getId()));
    Map<SalesChannel, Stock> stockToChannel = new EnumMap<>(SalesChannel.class);
    stockToChannel.put(CUSTOMER, laden);
    stockToChannel.put(RETAILER, lager);
    dialog.setModel(new SalesChannelTableModel(lines, stockToChannel));
    Dimension dim = dialog.getToolkit().getScreenSize();
    Rectangle abounds = dialog.getBounds();
    dialog.setLocation((int) ((dim.width - abounds.width) / 3), (dim.height - abounds.height) / 2);
    dialog.setVisible(true);
    System.out.println("OK = " + dialog.isOk());
    Map<Stock, List<String>> destinationsWithStockUnitIds = lines.stream().filter(// No Destination change
    l -> l.getDestination() != null).sorted(// Sort
    new LastCharsRefurbishIdSorter()).collect(Collectors.groupingBy(SalesChannelLine::getDestination, Collectors.mapping(SalesChannelLine::getRefurbishedId, Collectors.toList())));
    for (Entry<Stock, List<String>> entry : destinationsWithStockUnitIds.entrySet()) {
        System.out.println(entry.getKey().getName() + ",refurbishIds=" + entry.getValue());
    }
    f.dispose();
}
Also used : Rectangle(java.awt.Rectangle) LastCharsRefurbishIdSorter(eu.ggnet.dwoss.misc.ee.SalesChannelHandlerOperation.LastCharsRefurbishIdSorter) SalesChannel(eu.ggnet.dwoss.rules.SalesChannel) SalesChannelTableModel(eu.ggnet.dwoss.misc.saleschannel.SalesChannelTableModel) StockTransactionType(eu.ggnet.dwoss.stock.ee.entity.StockTransactionType) StockUnit(eu.ggnet.dwoss.stock.ee.entity.StockUnit) StockTransactionStatusType(eu.ggnet.dwoss.stock.ee.entity.StockTransactionStatusType) StockTransaction(eu.ggnet.dwoss.stock.ee.entity.StockTransaction) SalesChannelManagerDialog(eu.ggnet.dwoss.misc.saleschannel.SalesChannelManagerDialog) Dimension(java.awt.Dimension) SalesChannelLine(eu.ggnet.dwoss.stock.ee.model.SalesChannelLine) StockAgent(eu.ggnet.dwoss.stock.ee.StockAgent) LockModeType(javax.persistence.LockModeType) Stock(eu.ggnet.dwoss.stock.ee.entity.Stock) Test(org.junit.Test)

Example 12 with Stock

use of eu.ggnet.dwoss.stock.ee.entity.Stock in project dwoss by gg-net.

the class SalesChannelHandlerOperation method update.

/**
 * Updates the salesChanel of all supplied units
 * <p/>
 * @param lines              a list of salesChannelLines, must not be null.
 * @param arranger
 * @param transactionComment
 * @return true if something was changed.
 * @throws de.dw.util.UserInfoException
 */
@Override
public boolean update(final List<SalesChannelLine> lines, String arranger, String transactionComment) throws UserInfoException {
    SubMonitor m = monitorFactory.newSubMonitor("Import der Verkaufskanäle", 100);
    m.start();
    Map<Stock, List<Integer>> destinationsWithStockUnitIds = lines.stream().filter(// No Destination change
    l -> l.getDestination() != null).sorted(// Sort
    new LastCharsRefurbishIdSorter()).collect(Collectors.groupingBy(SalesChannelLine::getDestination, Collectors.mapping(SalesChannelLine::getUnitId, Collectors.toList())));
    StockTransactionEmo emo = new StockTransactionEmo(stockEm);
    SortedMap<Integer, String> histories = new TreeMap<>();
    for (Entry<Stock, List<Integer>> entry : destinationsWithStockUnitIds.entrySet()) {
        histories.putAll(emo.prepare(Transfer.builder().destinationStockId(entry.getKey().getId()).stockUnitIds(entry.getValue()).arranger(arranger).comment(transactionComment).maxTransactionSize(10).build(), m));
    }
    m.setWorkRemaining(lines.size());
    UniqueUnitEao uniqueUnitEao = new UniqueUnitEao(uuEm);
    boolean hasChanged = false;
    for (SalesChannelLine line : lines) {
        m.worked(1, "verarbeite " + line.getRefurbishedId());
        if (!line.hasChanged())
            continue;
        hasChanged = true;
        UniqueUnit uu = uniqueUnitEao.findByIdentifier(Identifier.REFURBISHED_ID, line.getRefurbishedId());
        uu.setSalesChannel(line.getSalesChannel());
        uu.addHistory("SalesChannel set to " + line.getSalesChannel() + " by " + arranger);
        if (histories.containsKey(uu.getId()))
            uu.addHistory(histories.get(uu.getId()));
    }
    m.finish();
    return hasChanged;
}
Also used : SubMonitor(eu.ggnet.dwoss.progress.SubMonitor) UniqueUnitEao(eu.ggnet.dwoss.uniqueunit.ee.eao.UniqueUnitEao) SalesChannelLine(eu.ggnet.dwoss.stock.ee.model.SalesChannelLine) UniqueUnit(eu.ggnet.dwoss.uniqueunit.ee.entity.UniqueUnit) Stock(eu.ggnet.dwoss.stock.ee.entity.Stock) StockTransactionEmo(eu.ggnet.dwoss.stock.ee.emo.StockTransactionEmo)

Example 13 with Stock

use of eu.ggnet.dwoss.stock.ee.entity.Stock in project dwoss by gg-net.

the class StockGeneratorOperation method makeStocksAndLocations.

public List<Stock> makeStocksAndLocations(int amount) {
    List<Stock> result = new ArrayList<>();
    for (int i = 0; i < amount; i++) {
        Stock s = new Stock(i);
        s.setName("Lager#" + i);
        em.persist(s);
        for (String name : STOCK_LOCATION_NAMES) {
            StockLocation sl = new StockLocation(name);
            s.addStockLocation(sl);
            em.persist(sl);
        }
        result.add(s);
    }
    return result;
}
Also used : StockLocation(eu.ggnet.dwoss.stock.ee.entity.StockLocation) ArrayList(java.util.ArrayList) Stock(eu.ggnet.dwoss.stock.ee.entity.Stock)

Example 14 with Stock

use of eu.ggnet.dwoss.stock.ee.entity.Stock in project dwoss by gg-net.

the class StockTransactionUtilTest method testEqualMessage.

@Test
public void testEqualMessage() {
    StockTransaction t1 = new StockTransaction();
    StockTransaction t2 = new StockTransaction();
    Stock s1 = new Stock(1);
    Stock s2 = new Stock(2);
    t1.setSource(s1);
    t2.setSource(s1);
    t1.setDestination(s2);
    t2.setDestination(s2);
    t1.setType(StockTransactionType.TRANSFER);
    t2.setType(StockTransactionType.TRANSFER);
    t1.addStatus(new StockTransactionStatus(PREPARED, new Date()));
    t2.addStatus(new StockTransactionStatus(PREPARED, new Date()));
    assertNull(StockTransactionUtil.equalStateMessage(t1, t2));
    t1.setSource(s2);
    assertNotNull(StockTransactionUtil.equalStateMessage(t1, t2));
    t1.setSource(s1);
    assertNull(StockTransactionUtil.equalStateMessage(t1, t2));
    t1.setDestination(s1);
    assertNotNull(StockTransactionUtil.equalStateMessage(t1, t2));
    t1.setDestination(s2);
    assertNull(StockTransactionUtil.equalStateMessage(t1, t2));
    t1.setType(StockTransactionType.ROLL_IN);
    assertNotNull(StockTransactionUtil.equalStateMessage(t1, t2));
    t1.setType(StockTransactionType.TRANSFER);
    assertNull(StockTransactionUtil.equalStateMessage(t1, t2));
    t2.addStatus(new StockTransactionStatus(FAILED, new Date()));
    assertNotNull(StockTransactionUtil.equalStateMessage(t1, t2));
}
Also used : StockTransactionStatus(eu.ggnet.dwoss.stock.ee.entity.StockTransactionStatus) Stock(eu.ggnet.dwoss.stock.ee.entity.Stock) Date(java.util.Date) StockTransaction(eu.ggnet.dwoss.stock.ee.entity.StockTransaction) Test(org.junit.Test)

Example 15 with Stock

use of eu.ggnet.dwoss.stock.ee.entity.Stock in project dwoss by gg-net.

the class CreateSelectionTryout method tryout.

@Test
public void tryout() throws InterruptedException {
    JButton b = new JButton("Press to close");
    b.setPreferredSize(new Dimension(200, 50));
    CountDownLatch l = new CountDownLatch(1);
    b.addActionListener(e -> {
        l.countDown();
    });
    Dl.remote().add(StockAgent.class, new StockAgent() {

        @Override
        public <T> List<T> findAll(Class<T> entityClass) {
            if (entityClass.equals(Stock.class))
                return (List<T>) Arrays.asList(new Stock(0, "Rotes Lager"), new Stock(1, "Blaues Lager"));
            return null;
        }

        // <editor-fold defaultstate="collapsed" desc="Unused Methodes">
        @Override
        public StockUnit findStockUnitByUniqueUnitIdEager(Integer uniqueUnitId) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public StockUnit findStockUnitByRefurbishIdEager(String refurbishId) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public List<StockTransaction> findStockTransactionEager(StockTransactionType type, StockTransactionStatusType statusType) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public List<StockTransaction> findStockTransactionEager(StockTransactionType type, StockTransactionStatusType statusType, int start, int amount) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public List<StockUnit> findStockUnitsByRefurbishIdEager(List<String> refurbishIds) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> T persist(T t) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> T merge(T t) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> void delete(T t) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public StockTransaction findOrCreateRollInTransaction(int stockId, String userName, String comment) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> long count(Class<T> entityClass) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> List<T> findAll(Class<T> entityClass, int start, int amount) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> List<T> findAllEager(Class<T> entityClass) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> List<T> findAllEager(Class<T> entityClass, int start, int amount) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> T findById(Class<T> entityClass, Object id) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> T findById(Class<T> entityClass, Object id, LockModeType lockModeType) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> T findByIdEager(Class<T> entityClass, Object id) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> T findByIdEager(Class<T> entityClass, Object id, LockModeType lockModeType) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }
    });
    UiCore.startSwing(() -> b);
    Ui.exec(() -> {
        Ui.build().fxml().eval(CreateSelectionController.class).opt().ifPresent(System.out::println);
    });
    l.await();
}
Also used : JButton(javax.swing.JButton) Dimension(java.awt.Dimension) CountDownLatch(java.util.concurrent.CountDownLatch) StockTransactionType(eu.ggnet.dwoss.stock.ee.entity.StockTransactionType) StockAgent(eu.ggnet.dwoss.stock.ee.StockAgent) LockModeType(javax.persistence.LockModeType) List(java.util.List) StockUnit(eu.ggnet.dwoss.stock.ee.entity.StockUnit) Stock(eu.ggnet.dwoss.stock.ee.entity.Stock) StockTransactionStatusType(eu.ggnet.dwoss.stock.ee.entity.StockTransactionStatusType) StockTransaction(eu.ggnet.dwoss.stock.ee.entity.StockTransaction) Test(org.junit.Test)

Aggregations

Stock (eu.ggnet.dwoss.stock.ee.entity.Stock)32 Test (org.junit.Test)22 StockTransaction (eu.ggnet.dwoss.stock.ee.entity.StockTransaction)21 StockUnit (eu.ggnet.dwoss.stock.ee.entity.StockUnit)19 StockTransactionStatus (eu.ggnet.dwoss.stock.ee.entity.StockTransactionStatus)9 UniqueUnit (eu.ggnet.dwoss.uniqueunit.ee.entity.UniqueUnit)8 StockTransactionEmo (eu.ggnet.dwoss.stock.ee.emo.StockTransactionEmo)7 LogicTransaction (eu.ggnet.dwoss.stock.ee.entity.LogicTransaction)7 Date (java.util.Date)7 StockAgent (eu.ggnet.dwoss.stock.ee.StockAgent)6 StockLocation (eu.ggnet.dwoss.stock.ee.entity.StockLocation)6 Product (eu.ggnet.dwoss.uniqueunit.ee.entity.Product)6 StockUnitEao (eu.ggnet.dwoss.stock.ee.eao.StockUnitEao)5 StockTransactionPosition (eu.ggnet.dwoss.stock.ee.entity.StockTransactionPosition)5 SubMonitor (eu.ggnet.dwoss.progress.SubMonitor)3 ProductSpec (eu.ggnet.dwoss.spec.ee.entity.ProductSpec)3 Shipment (eu.ggnet.dwoss.stock.ee.entity.Shipment)3 StockTransactionStatusType (eu.ggnet.dwoss.stock.ee.entity.StockTransactionStatusType)3 StockTransactionType (eu.ggnet.dwoss.stock.ee.entity.StockTransactionType)3 UniqueUnitEao (eu.ggnet.dwoss.uniqueunit.ee.eao.UniqueUnitEao)3