Search in sources :

Example 1 with BOLD_ITALIC

use of eu.ggnet.lucidcalc.CFormat.FontStyle.BOLD_ITALIC in project dwoss by gg-net.

the class ContractorPricePartNoExporterOperation method toManufacturerMissingXls.

@Override
public FileJacket toManufacturerMissingXls(TradeName contractorManufacturer) {
    if (!contractorManufacturer.isManufacturer())
        throw new RuntimeException(contractorManufacturer + " is not a Manufacturer, wrong exporter");
    SubMonitor m = monitorFactory.newSubMonitor("Lieferanten und Hersteller Exporter");
    m.message("Loading Units").start();
    List<Object[]> rows = productEao.findByTradeNames(contractorManufacturer.getBrands()).stream().filter(p -> p.getPrice(MANUFACTURER_COST) <= 0.01).sorted().map(p -> new Object[] { p.getPartNo(), 0.0, ProductFormater.toName(p) }).collect(Collectors.toList());
    m.setWorkRemaining(rows.size() + 10).message("Filtering");
    m.message("Generating Document");
    STable table = new STable();
    table.setTableFormat(new CFormat(BLACK, WHITE));
    table.setHeadlineFormat(new CFormat(BOLD_ITALIC));
    table.add(new STableColumn("Artikelnummer", 18)).add(new STableColumn("Kostpreis", 12, new CFormat(CURRENCY_EURO))).add(new STableColumn("Name", 45));
    table.setModel(new STableModelList(rows));
    CCalcDocument cdoc = new TempCalcDocument();
    cdoc.add(new CSheet("Kostpreise", table));
    FileJacket result = new FileJacket("Fehlende " + contractorManufacturer.getName() + " Kostpreise vom " + ISO.format(new Date()), ".xls", new JExcelLucidCalcWriter().write(cdoc));
    m.finish();
    return result;
}
Also used : Stateless(javax.ejb.Stateless) CURRENCY_EURO(eu.ggnet.lucidcalc.CFormat.Representation.CURRENCY_EURO) TradeName(eu.ggnet.dwoss.rules.TradeName) ProductFormater(eu.ggnet.dwoss.uniqueunit.ee.format.ProductFormater) Date(java.util.Date) SubMonitor(eu.ggnet.dwoss.progress.SubMonitor) FileJacket(eu.ggnet.dwoss.util.FileJacket) WHITE(java.awt.Color.WHITE) Collectors(java.util.stream.Collectors) ISO(eu.ggnet.dwoss.util.DateFormats.ISO) CONTRACTOR_REFERENCE(eu.ggnet.dwoss.uniqueunit.ee.entity.PriceType.CONTRACTOR_REFERENCE) Inject(javax.inject.Inject) BLACK(java.awt.Color.BLACK) List(java.util.List) MANUFACTURER_COST(eu.ggnet.dwoss.uniqueunit.ee.entity.PriceType.MANUFACTURER_COST) ProductEao(eu.ggnet.dwoss.uniqueunit.ee.eao.ProductEao) eu.ggnet.lucidcalc(eu.ggnet.lucidcalc) MonitorFactory(eu.ggnet.dwoss.progress.MonitorFactory) BOLD_ITALIC(eu.ggnet.lucidcalc.CFormat.FontStyle.BOLD_ITALIC) JExcelLucidCalcWriter(eu.ggnet.lucidcalc.jexcel.JExcelLucidCalcWriter) SubMonitor(eu.ggnet.dwoss.progress.SubMonitor) FileJacket(eu.ggnet.dwoss.util.FileJacket) Date(java.util.Date) JExcelLucidCalcWriter(eu.ggnet.lucidcalc.jexcel.JExcelLucidCalcWriter)

Example 2 with BOLD_ITALIC

use of eu.ggnet.lucidcalc.CFormat.FontStyle.BOLD_ITALIC in project dwoss by gg-net.

the class ExporterOperation method toXls.

/**
 * Export PriceManagement as Xls.
 * <p/>
 * @return PriceManagement as Xls.
 */
@Override
public FileJacket toXls() {
    SubMonitor m = monitorFactory.newSubMonitor("Exporting the PriceManagement II", 100);
    List<PriceEngineResult> pers = priceCore.loadAndCalculate(m.newChild(80));
    Collections.sort(pers);
    m.setWorkRemaining(pers.size() + 1);
    m.worked(1);
    CFormat euro = new CFormat(RIGHT, CURRENCY_EURO);
    CFormat date = new CFormat(CENTER, SHORT_DATE);
    CFormat percent = new CFormat(ITALIC, BLUE, null, null, null, PERCENT_FLOAT);
    STable table = new STable();
    table.setTableFormat(new CFormat(BLACK, WHITE));
    table.setHeadlineFormat(new CFormat(BOLD_ITALIC, BLACK, YELLOW, CENTER, new CBorder(BLACK)));
    table.add(new STableColumn("UnitId", 8).setAction(SUtil.getBeanProperty(PROP_REFURBISHED_ID)));
    table.add(new STableColumn("Gruppe", 14).setAction(SUtil.getBeanProperty(PROP_COMMODITY_GROUP)));
    table.add(new STableColumn("Artikelnummer", 15).setAction(SUtil.getBeanProperty(PROP_MANUFACTURER_PART_NO)));
    table.add(new STableColumn("Name", 30).setAction(SUtil.getBeanProperty(PROP_PRODUCT_NAME)));
    table.add(new STableColumn("Hek", 11, euro).setAction(SUtil.getBeanProperty(PROP_RETAILER_PRICE)));
    table.add(new STableColumn("%Cost", 10, percent).setAction(new SFormulaAction(SR(4), "/", SR(17))));
    table.add(new STableColumn("%Reference", 10, percent).setAction(new SFormulaAction(SR(4), "/", SR(18))));
    table.add(new STableColumn("EvP netto", 11, euro).setAction(new SActionAdapter<PriceEngineResult>() {

        @Override
        public Object getValue(int relativeColumnIndex, int relativeRowIndex, int absoluteColumnIndex, int absoluteRowIndex, PriceEngineResult lineModel) {
            CCellReference x = new CCellReferenceAdapter(absoluteRowIndex, 4);
            // TODO: Change this, in the case of a fixed price. Here should be no formula if we have fixed prices.
            double p = 1 + lineModel.getRetailerToCustomerPricePercentage();
            double t = 1 + lineModel.getTax();
            return new SFormula("RUNDEN", "((", "RUNDEN", "(", x, "*", p, "*", t, ",", 0, ")", ")/", t, ",", 2, ")");
        }
    }));
    table.add(new STableColumn("EvP brutto", 11, euro).setAction(new SActionAdapter<PriceEngineResult>() {

        @Override
        public Object getValue(int relativeColumnIndex, int relativeRowIndex, int absoluteColumnIndex, int absoluteRowIndex, PriceEngineResult lineModel) {
            return new SFormula(new CCellReferenceAdapter(absoluteRowIndex, 7), "*", 1 + lineModel.getTax());
        }
    }));
    table.add(new STableColumn("UnitFix", 4, new CFormat(CENTER)).setAction(new SActionAdapter<PriceEngineResult>() {

        @Override
        public Object getValue(int relativeColumnIndex, int relativeRowIndex, int absoluteColumnIndex, int absoluteRowIndex, PriceEngineResult lineModel) {
            if (lineModel.getUnitPriceFixed() == PriceEngineResult.Change.SET)
                return 1;
            else if (lineModel.getUnitPriceFixed() == PriceEngineResult.Change.UNSET)
                return -1;
            return 0;
        }
    }));
    table.add(new STableColumn("PartFix", 4, new CFormat(CENTER)).setAction(SUtil.getConstant(0)));
    table.add(new STableColumn("Gar.-Id", 4, new CFormat(CENTER)).setAction(SUtil.getBeanProperty(PROP_WARRANTY_ID)));
    table.add(new STableColumn("Mfg-Date", 12, date).setAction(SUtil.getBeanProperty(PROP_MFG_DATE)));
    table.add(new STableColumn("Input-Date", 12, date).setAction(SUtil.getBeanProperty(PROP_INPUT_DATE)));
    table.add(new STableColumn("Eol-Date", 12, date).setAction(SUtil.getBeanProperty(PROP_EOL)));
    table.add(new STableColumn("First-Priced", 12, date).setAction(SUtil.getBeanProperty(PROP_DATE_FIRST_PRICED)));
    table.add(new STableColumn("Zustand", 16).setAction(SUtil.getBeanProperty(PROP_CONDITION_LEVEL)));
    table.add(new STableColumn("Manufacturer CP", 11, euro).setAction(SUtil.getBeanProperty(PROP_COST_PRICE)));
    table.add(new STableColumn("Contractor Reference CP", 11, euro).setAction(SUtil.getBeanProperty(PROP_CONTRACTOR_REFERENCE_PRICE)));
    table.add(new STableColumn("Ref.-Price", 11, euro).setAction(SUtil.getBeanProperty(PROP_REFERENCE_PRICE)));
    table.add(new STableColumn("Rules", 50).setAction(SUtil.getBeanProperty(PROP_RULES_LOG)));
    table.add(new STableColumn("Beschreibung", 50).setAction(SUtil.getBeanProperty(PROP_PRODUCT_DESCRIPTION)));
    table.add(new STableColumn("Bemerkung", 50).setAction(SUtil.getBeanProperty(PROP_COMMENT)));
    table.add(new STableColumn("Interne Bemerkungen", 50).setAction(SUtil.getBeanProperty(PROP_INTERNAL_COMMENT)));
    table.add(new STableColumn("Verkaufskanal", 18).setAction(SUtil.getBeanProperty(PROP_SALES_CHANNEL)));
    table.add(new STableColumn("Special", 12).setAction(SUtil.getBeanProperty(PROP_SPECIAL)));
    table.add(new STableColumn("Last Retailer", 12, euro).setAction(SUtil.getBeanProperty(PROP_LAST_RETAILER_PRICE)));
    table.add(new STableColumn("Last Customer", 12, euro).setAction(SUtil.getBeanProperty(PROP_LAST_CUSTOMER_PRICE)));
    table.add(new STableColumn("Warrenty Valid", 12, date).setAction(SUtil.getBeanProperty(PROP_WARRENTYVALID)));
    table.add(new STableColumn("Lager", 12).setAction(SUtil.getBeanProperty(PROP_STOCK)));
    table.setRowFormater((SRowFormater<PriceEngineResult>) (i, p) -> {
        if (p.isError())
            return new CFormat(RED, null);
        else if (p.isWarning())
            return new CFormat(new Color(0x80, 0x80, 0), null);
        else if (p.getManufacturerPartPriceFixed() == PriceEngineResult.Change.SET)
            return new CFormat(CYAN, null);
        return null;
    });
    table.setModel(new STableModelList<>(pers));
    CCalcDocument cdoc = new TempCalcDocument("PriceManagement_");
    cdoc.add(new CSheet("PriceManagement", table));
    File file = LucidCalc.createWriter(LucidCalc.Backend.XLS).write(cdoc);
    FileJacket result = new FileJacket("PriceManagement", ".xls", file);
    try {
        Thread.sleep(4000);
    } catch (InterruptedException ex) {
    }
    m.finish();
    return result;
}
Also used : Color(java.awt.Color) ProductSpecEao(eu.ggnet.dwoss.spec.ee.eao.ProductSpecEao) java.util(java.util) UniqueUnitEao(eu.ggnet.dwoss.uniqueunit.ee.eao.UniqueUnitEao) ProductFormater(eu.ggnet.dwoss.uniqueunit.ee.format.ProductFormater) SubMonitor(eu.ggnet.dwoss.progress.SubMonitor) Representation(eu.ggnet.lucidcalc.CFormat.Representation) LoggerFactory(org.slf4j.LoggerFactory) DocumentEao(eu.ggnet.dwoss.redtape.ee.eao.DocumentEao) UserInfoException(eu.ggnet.dwoss.util.UserInfoException) RIGHT(eu.ggnet.lucidcalc.CFormat.HorizontalAlignment.RIGHT) Specs(eu.ggnet.dwoss.spec.ee.assist.Specs) Identifier(eu.ggnet.dwoss.uniqueunit.ee.entity.UniqueUnit.Identifier) Stocks(eu.ggnet.dwoss.stock.ee.assist.Stocks) Inject(javax.inject.Inject) ProductSpec(eu.ggnet.dwoss.spec.ee.entity.ProductSpec) RedTapes(eu.ggnet.dwoss.redtape.ee.assist.RedTapes) SR(eu.ggnet.lucidcalc.SUtil.SR) BOLD_ITALIC(eu.ggnet.lucidcalc.CFormat.FontStyle.BOLD_ITALIC) UniqueUnits(eu.ggnet.dwoss.uniqueunit.ee.assist.UniqueUnits) PriceEngine(eu.ggnet.dwoss.price.engine.PriceEngine) Stateless(javax.ejb.Stateless) Logger(org.slf4j.Logger) ITALIC(eu.ggnet.lucidcalc.CFormat.FontStyle.ITALIC) eu.ggnet.dwoss.uniqueunit.ee.entity(eu.ggnet.dwoss.uniqueunit.ee.entity) FileJacket(eu.ggnet.dwoss.util.FileJacket) JExcelLucidCalcReader(eu.ggnet.lucidcalc.jexcel.JExcelLucidCalcReader) EntityManager(javax.persistence.EntityManager) File(java.io.File) StockUnitEao(eu.ggnet.dwoss.stock.ee.eao.StockUnitEao) CENTER(eu.ggnet.lucidcalc.CFormat.HorizontalAlignment.CENTER) eu.ggnet.lucidcalc(eu.ggnet.lucidcalc) MonitorFactory(eu.ggnet.dwoss.progress.MonitorFactory) Document(eu.ggnet.dwoss.redtape.ee.entity.Document) Position(eu.ggnet.dwoss.redtape.ee.entity.Position) PriceEngineResult(eu.ggnet.dwoss.price.engine.PriceEngineResult) PriceEngineResult(eu.ggnet.dwoss.price.engine.PriceEngineResult) Color(java.awt.Color) SubMonitor(eu.ggnet.dwoss.progress.SubMonitor) FileJacket(eu.ggnet.dwoss.util.FileJacket) File(java.io.File)

Example 3 with BOLD_ITALIC

use of eu.ggnet.lucidcalc.CFormat.FontStyle.BOLD_ITALIC in project dwoss by gg-net.

the class ContractorPricePartNoExporterOperation method toContractorXls.

// Manufacturer PartNo | GTIN | Name | Contractor Reference Price | ContractorPartNo
private FileJacket toContractorXls(TradeName contractor, final boolean missing) {
    SubMonitor m = monitorFactory.newSubMonitor("Lieferanten Exporter", 100);
    m.message("Loading Units").start();
    List<Object[]> rows = productEao.findByContractor(contractor).stream().filter(p -> missing ? !p.hasPrice(CONTRACTOR_REFERENCE) : true).sorted().map(p -> new Object[] { p.getPartNo(), p.getGtin(), p.getTradeName() + " " + p.getName(), p.getPrice(CONTRACTOR_REFERENCE), p.getAdditionalPartNo(contractor) }).collect(Collectors.toList());
    m.worked(5, "Generating File");
    STable table = new STable();
    table.setTableFormat(new CFormat(BLACK, WHITE));
    table.setHeadlineFormat(new CFormat(BOLD_ITALIC));
    table.add(new STableColumn("Herstellerartikelnummer", 18)).add(new STableColumn("Gtin/Ean", 15));
    table.add(new STableColumn("Bezeichnung", 25)).add(new STableColumn("Reference Preis", 12, new CFormat(CURRENCY_EURO))).add(new STableColumn("Lieferantenartikelnummer", 14));
    table.setModel(new STableModelList(rows));
    CCalcDocument cdoc = new TempCalcDocument();
    cdoc.add(new CSheet(contractor.getName(), table));
    FileJacket result = new FileJacket((missing ? "Fehlende " : "Alle ") + contractor.getName() + " Preise und Artikelnummern vom " + ISO.format(new Date()), ".xls", new JExcelLucidCalcWriter().write(cdoc));
    m.finish();
    return result;
}
Also used : Stateless(javax.ejb.Stateless) CURRENCY_EURO(eu.ggnet.lucidcalc.CFormat.Representation.CURRENCY_EURO) TradeName(eu.ggnet.dwoss.rules.TradeName) ProductFormater(eu.ggnet.dwoss.uniqueunit.ee.format.ProductFormater) Date(java.util.Date) SubMonitor(eu.ggnet.dwoss.progress.SubMonitor) FileJacket(eu.ggnet.dwoss.util.FileJacket) WHITE(java.awt.Color.WHITE) Collectors(java.util.stream.Collectors) ISO(eu.ggnet.dwoss.util.DateFormats.ISO) CONTRACTOR_REFERENCE(eu.ggnet.dwoss.uniqueunit.ee.entity.PriceType.CONTRACTOR_REFERENCE) Inject(javax.inject.Inject) BLACK(java.awt.Color.BLACK) List(java.util.List) MANUFACTURER_COST(eu.ggnet.dwoss.uniqueunit.ee.entity.PriceType.MANUFACTURER_COST) ProductEao(eu.ggnet.dwoss.uniqueunit.ee.eao.ProductEao) eu.ggnet.lucidcalc(eu.ggnet.lucidcalc) MonitorFactory(eu.ggnet.dwoss.progress.MonitorFactory) BOLD_ITALIC(eu.ggnet.lucidcalc.CFormat.FontStyle.BOLD_ITALIC) JExcelLucidCalcWriter(eu.ggnet.lucidcalc.jexcel.JExcelLucidCalcWriter) SubMonitor(eu.ggnet.dwoss.progress.SubMonitor) FileJacket(eu.ggnet.dwoss.util.FileJacket) Date(java.util.Date) JExcelLucidCalcWriter(eu.ggnet.lucidcalc.jexcel.JExcelLucidCalcWriter)

Aggregations

MonitorFactory (eu.ggnet.dwoss.progress.MonitorFactory)3 SubMonitor (eu.ggnet.dwoss.progress.SubMonitor)3 ProductFormater (eu.ggnet.dwoss.uniqueunit.ee.format.ProductFormater)3 FileJacket (eu.ggnet.dwoss.util.FileJacket)3 eu.ggnet.lucidcalc (eu.ggnet.lucidcalc)3 BOLD_ITALIC (eu.ggnet.lucidcalc.CFormat.FontStyle.BOLD_ITALIC)3 Stateless (javax.ejb.Stateless)3 Inject (javax.inject.Inject)3 TradeName (eu.ggnet.dwoss.rules.TradeName)2 ProductEao (eu.ggnet.dwoss.uniqueunit.ee.eao.ProductEao)2 CONTRACTOR_REFERENCE (eu.ggnet.dwoss.uniqueunit.ee.entity.PriceType.CONTRACTOR_REFERENCE)2 MANUFACTURER_COST (eu.ggnet.dwoss.uniqueunit.ee.entity.PriceType.MANUFACTURER_COST)2 ISO (eu.ggnet.dwoss.util.DateFormats.ISO)2 CURRENCY_EURO (eu.ggnet.lucidcalc.CFormat.Representation.CURRENCY_EURO)2 JExcelLucidCalcWriter (eu.ggnet.lucidcalc.jexcel.JExcelLucidCalcWriter)2 BLACK (java.awt.Color.BLACK)2 WHITE (java.awt.Color.WHITE)2 PriceEngine (eu.ggnet.dwoss.price.engine.PriceEngine)1 PriceEngineResult (eu.ggnet.dwoss.price.engine.PriceEngineResult)1 RedTapes (eu.ggnet.dwoss.redtape.ee.assist.RedTapes)1