Indications

This commit is contained in:
gexce
2017-08-14 15:58:21 +02:00
parent f26b2bc2c2
commit 5663f7af6b
2 changed files with 314 additions and 14 deletions
@@ -1,5 +1,7 @@
package com.bayer.edam;
import java.util.HashSet;
public class CropScienceAsset {
Integer toolboxAssetId;
@@ -18,6 +20,12 @@ public class CropScienceAsset {
String byr_cs_license_classification;
String byr_cs_description;
String byr_cs_keywords_tl;
String byr_campaignYearLabel; // TODO needs to be verified with Delaware
String byr_campaignTitle;
String byr_cs_IsShouldBePublished;
HashSet<String> indications = new HashSet<String>();
Long fileSize;
@@ -33,6 +33,12 @@ import com.univocity.parsers.csv.CsvWriterSettings;
* ,img.OriginalSize
* ,a.publishDate
* ,a.archiveDate
* ,y.AssetCampaignYearName
* ,p.ProjectName
* ,a.isConfidential
* ,u.FirstName
* ,u.LastName
* ,u.CompanyName
*
* FROM Assets a
* LEFT JOIN AssetCategories c ON a.AssetCategoryID = c.AssetCategoryID
@@ -40,6 +46,9 @@ import com.univocity.parsers.csv.CsvWriterSettings;
* LEFT JOIN AssetFocusItemMap f ON a.AssetId = f.AssetID
* LEFT JOIN FocusItems fi ON f.FocusItemID = fi.FocusItemID
* LEFT JOIN AssetImages img ON a.AssetID = img.AssetID
* LEFT JOIN AssetCampaignYears y ON a.AssetCampaignYearID = y.AssetCampaignYearID
* LEFT JOIN Projects p ON a.ProjectID = p.ProjectID
* LEFT JOIN Users u ON a.CreatedByUserID = u.UserID
*
* WHERE
* a.AssetStatusID != 101
@@ -62,6 +71,7 @@ public class ToolboxImportFileGenerator {
private static final Map<String, String> brandMap;
private static final Map<String, String> unitMap;
private static final Map<String, String> categoryMap;
private static final Map<String, String> indicationMap;
static {
brandMap = new HashMap<String, String>();
@@ -727,6 +737,270 @@ public class ToolboxImportFileGenerator {
categoryMap.put("OurCompany : Company Statement", "Advertising - PR, Product Publicity : Presentation");
categoryMap.put("OurCompany : Company Values", "Advertising - PR, Product Publicity : Presentation");
categoryMap.put("ProfitMaximizer : NTS - Booth Graphics", "Field Day / Tradeshow / Event Materials : Popup Graphic");
indicationMap = new HashMap<String, String>();
// indicationMap.put("Bayer/General", "");
// indicationMap.put("National Tradeshow", "");
indicationMap.put("Absolute", "Fungicides");
indicationMap.put("Absolute Maxx", "Fungicides");
indicationMap.put("Accrue", "Fungicides");
indicationMap.put("Adament", "Fungicides");
indicationMap.put("Admire Flex 4", "Insecticides");
indicationMap.put("Admire Pro", "Insecticides");
indicationMap.put("Aeris", "SeedGrowth");
indicationMap.put("AFD Cotton Seed", "Seeds");
indicationMap.put("AG Streptomycin", "SeedGrowth");
indicationMap.put("Aliette", "Fungicides");
indicationMap.put("Alion", "Herbicides");
indicationMap.put("Alion HL", "Herbicides");
indicationMap.put("Allegiance", "SeedGrowth");
indicationMap.put("Argent", "SeedGrowth");
indicationMap.put("Arize", "Seeds");
indicationMap.put("Assail", "Insecticides");
indicationMap.put("Asulox", "Herbicides");
indicationMap.put("Atlantis", "Herbicides");
indicationMap.put("Autumn", "Herbicides");
indicationMap.put("Autumn Super", "Herbicides");
indicationMap.put("Axiom", "Herbicides");
indicationMap.put("Aztec", "Insecticides");
indicationMap.put("Aztec 2.1", "Insecticides");
indicationMap.put("Aztec 4.67", "Insecticides");
indicationMap.put("Aztec 4.68", "Insecticides");
indicationMap.put("Balance Bean", "Herbicides");
indicationMap.put("Balance Flexx", "Herbicides");
indicationMap.put("Balance GT", "Herbicides");
indicationMap.put("Balance Pro", "Herbicides");
indicationMap.put("Ballad Plus", "Herbicides");
// indicationMap.put("Bayer, General", "");
indicationMap.put("Bayleton", "Fungicides");
indicationMap.put("Baytan", "SeedGrowth");
indicationMap.put("Baythroid", "Insecticides");
indicationMap.put("Baythroid XL", "Insecticides");
indicationMap.put("Belt", "Insecticides");
indicationMap.put("Betamix", "Herbicides");
indicationMap.put("Betanet", "Herbicides");
indicationMap.put("Betanex", "Herbicides");
indicationMap.put("Bollgard", "Traits");
indicationMap.put("Bollgard II", "Traits");
indicationMap.put("Bronate Advanced", "Herbicides");
indicationMap.put("Buctril", "Herbicides");
indicationMap.put("Calypso", "Insecticides");
indicationMap.put("Capreno", "Herbicides");
indicationMap.put("Celgard", "SeedGrowth");
indicationMap.put("Celpass", "SeedGrowth");
indicationMap.put("Celpril", "SeedGrowth");
indicationMap.put("Certified FiberMax", "Seeds");
indicationMap.put("Cheyenne", "Herbicides");
indicationMap.put("Contain", "SeedGrowth");
indicationMap.put("COPeO Prime", "SeedGrowth");
indicationMap.put("Corvus", "Herbicides");
indicationMap.put("Corvus Complete", "Herbicides");
indicationMap.put("Cotguard", "Fungicides");
indicationMap.put("Credenz", "Seeds");
indicationMap.put("Cruiser", "Insecticides");
indicationMap.put("CSI Safener", "SeedGrowth");
indicationMap.put("CSI Safener 500FS", "SeedGrowth");
indicationMap.put("Decis", "Insecticides");
indicationMap.put("Delaro", "Fungicides");
indicationMap.put("Di-Syston", "Insecticides");
indicationMap.put("DiFlexx", "Herbicides");
indicationMap.put("DiFlexx Duo", "Herbicides");
indicationMap.put("Distinguish", "Fungicides");
indicationMap.put("Dropp", "Herbicides");
indicationMap.put("Dropp SC", "Herbicides");
indicationMap.put("Elite", "Fungicides");
indicationMap.put("Emesto", "SeedGrowth");
indicationMap.put("Emesto Silver", "SeedGrowth");
indicationMap.put("Envidor", "Insecticides");
indicationMap.put("Ethrel", "Harvest Aids/PGR");
indicationMap.put("EverGol", "SeedGrowth");
indicationMap.put("Evolve", "SeedGrowth");
indicationMap.put("FiberMax", "Seeds");
indicationMap.put("FiberMax One Ton Club", "Seeds");
indicationMap.put("Finish", "Harvest Aids/PGR");
indicationMap.put("Finish 6 Pro", "Harvest Aids/PGR");
indicationMap.put("Flint", "Fungicides");
indicationMap.put("Fluency Agent", "SeedGrowth");
indicationMap.put("Fluency Agent Advanced", "SeedGrowth");
indicationMap.put("Folicur", "Fungicides");
indicationMap.put("Gaucho", "SeedGrowth");
indicationMap.put("Gaucho Grande", "SeedGrowth");
indicationMap.put("Gaucho MZ", "SeedGrowth");
indicationMap.put("Gaucho XT", "SeedGrowth");
indicationMap.put("Gem", "Fungicides");
indicationMap.put("Ginstar", "Harvest Aids/PGR");
indicationMap.put("Ginstar EC", "Harvest Aids/PGR");
indicationMap.put("Glyphomax", "Herbicides");
indicationMap.put("GlyTol", "Traits");
// indicationMap.put("Grower Dividends", "");
// indicationMap.put("Growing Strong", "");
indicationMap.put("Gustafson", "Equipment");
indicationMap.put("Guthion", "Insecticides");
indicationMap.put("HBK", "Seeds");
indicationMap.put("Heads Up", "SeedGrowth");
indicationMap.put("Herculex", "Traits");
indicationMap.put("Herculex I", "Traits");
indicationMap.put("Hoegemeyer", "Seeds");
indicationMap.put("Hoelon", "Herbicides");
indicationMap.put("Huskie", "Herbicides");
indicationMap.put("Huskie Complete", "Herbicides");
// indicationMap.put("ICP - Horticulture", "");
// indicationMap.put("ICP - Innovation Plus", "");
// indicationMap.put("ICP - Cereals", "");
// indicationMap.put("ICP - Corn", "");
// indicationMap.put("ICP - Multiple", "");
// indicationMap.put("ICP - Southern Row Crops", "");
// indicationMap.put("ICP - Soybeans", "");
indicationMap.put("Idol", "SeedGrowth");
indicationMap.put("Ignite", "Herbicides");
indicationMap.put("Ilevo", "SeedGrowth");
indicationMap.put("Innovation Plus", "");
// indicationMap.put("InSeed", "");
indicationMap.put("Intruder", "Insecticides");
indicationMap.put("InVigor", "Seeds");
indicationMap.put("Ipresso", "SeedGrowth");
indicationMap.put("Kodiak", "Fungicides");
indicationMap.put("Krovar", "Herbicides");
indicationMap.put("Larvin", "Insecticides");
indicationMap.put("Laudis", "Herbicides");
indicationMap.put("Laudis Flexx", "Herbicides");
indicationMap.put("Leverage", "Insecticides");
indicationMap.put("Leverage 2.7", "Insecticides");
indicationMap.put("Leverage 360", "Insecticides");
indicationMap.put("Liberty", "Herbicides");
indicationMap.put("LibertyLink", "Traits");
indicationMap.put("Luna", "Fungicides");
indicationMap.put("Mocap", "Insecticides");
indicationMap.put("Monitor", "Insecticides");
indicationMap.put("Movento", "Insecticides");
indicationMap.put("Movento HL", "Insecticides");
indicationMap.put("Nemacur", "Insecticides");
indicationMap.put("Nortron", "Herbicides");
indicationMap.put("Nutrikote", "SeedGrowth");
indicationMap.put("Oberon", "Insecticides");
indicationMap.put("Olympus", "Herbicides");
indicationMap.put("Olympus Flex", "Herbicides");
indicationMap.put("On Demand", "Equipment");
indicationMap.put("Option", "Herbicides");
indicationMap.put("Osprey", "Herbicides");
indicationMap.put("Phaser", "Insecticides");
indicationMap.put("Poncho", "SeedGrowth");
indicationMap.put("Poncho 1250", "SeedGrowth");
indicationMap.put("Poncho 250", "SeedGrowth");
indicationMap.put("Poncho 250/1250", "SeedGrowth");
indicationMap.put("Poncho 251", "SeedGrowth");
indicationMap.put("Poncho 500", "SeedGrowth");
indicationMap.put("Poncho Beta", "SeedGrowth");
indicationMap.put("Poncho/VOTiVO", "SeedGrowth");
indicationMap.put("Poncho/VOTiVO 2.0", "SeedGrowth");
indicationMap.put("Prep", "Harvest Aids/PGR");
indicationMap.put("Prep 6", "Harvest Aids/PGR");
indicationMap.put("Previcur", "Fungicides");
indicationMap.put("Previcur Flex", "Fungicides");
indicationMap.put("Proceed", "SeedGrowth");
indicationMap.put("Proceed Concentrate", "SeedGrowth");
indicationMap.put("Proceed MD", "SeedGrowth");
// indicationMap.put("Producer Information Exchange (P.I.E.)", "");
indicationMap.put("Proline", "Fungicides");
indicationMap.put("Proline 3+3", "Fungicides");
indicationMap.put("ProPulse", "Fungicides");
indicationMap.put("Prosaro", "Fungicides");
indicationMap.put("Prosper", "SeedGrowth");
indicationMap.put("Prosper FX", "SeedGrowth");
indicationMap.put("Protech Plus", "Insecticides");
indicationMap.put("ProTechPlus", "Insecticides");
indicationMap.put("Protégé", "Fungicides");
indicationMap.put("Protégé FL", "Fungicides");
indicationMap.put("Provado", "Insecticides");
indicationMap.put("Provost", "Fungicides");
indicationMap.put("Provost Opti", "Fungicides");
indicationMap.put("Puma", "Herbicides");
indicationMap.put("Radius", "Herbicides");
indicationMap.put("Raxil", "SeedGrowth");
indicationMap.put("Raxil Extra", "SeedGrowth");
indicationMap.put("Raxil MD", "SeedGrowth");
indicationMap.put("Raxil MD Extra", "SeedGrowth");
indicationMap.put("Raxil MD Extra W", "SeedGrowth");
indicationMap.put("Raxil MD W", "SeedGrowth");
indicationMap.put("Raxil Pro MD", "SeedGrowth");
indicationMap.put("Raxil Pro Shield", "SeedGrowth");
indicationMap.put("Raxil Sure", "SeedGrowth");
indicationMap.put("Raxil XT", "SeedGrowth");
indicationMap.put("Reason", "Fungicides");
indicationMap.put("Redigo", "SeedGrowth");
indicationMap.put("Rely", "Herbicides");
indicationMap.put("Rely 200", "Herbicides");
indicationMap.put("Rely 280", "Herbicides");
indicationMap.put("Renounce", "Insecticides");
indicationMap.put("Requiem", "Insecticides");
indicationMap.put("Respect the Rotation", "Herbicides");
indicationMap.put("Rhizokote", "SeedGrowth");
indicationMap.put("Ricestar", "Herbicides");
indicationMap.put("Ricestar HT", "Herbicides");
indicationMap.put("Rimfire", "Herbicides");
indicationMap.put("Rimfire Max", "Herbicides");
indicationMap.put("Rovral", "Fungicides");
indicationMap.put("Scala", "Fungicides");
indicationMap.put("Scoparia", "Herbicides");
indicationMap.put("SeedGrowth", "SeedGrowth");
indicationMap.put("Sencor", "Herbicides");
indicationMap.put("Sensat", "SeedGrowth");
indicationMap.put("Sepresto", "SeedGrowth");
indicationMap.put("Serenade", "Fungicides");
indicationMap.put("Serenade ASO", "Fungicides");
indicationMap.put("Serenade Opti", "Fungicides");
indicationMap.put("Serenade Optimum", "Fungicides");
indicationMap.put("Serenade Soil", "Fungicides");
indicationMap.put("Sevin", "Insecticides");
indicationMap.put("Silverado", "Herbicides");
indicationMap.put("Sivanto", "Insecticides");
indicationMap.put("Sivanto Prime", "Insecticides");
indicationMap.put("Soberan", "Herbicides");
indicationMap.put("Sonata", "Fungicides");
indicationMap.put("Spin-Aid", "Herbicides");
indicationMap.put("Stance", "Harvest Aids/PGR");
indicationMap.put("Stoneville", "Seeds");
indicationMap.put("Storcide II", "SeedGrowth");
indicationMap.put("Storicide II", "SeedGrowth");
indicationMap.put("Stratego", "Fungicides");
indicationMap.put("Stratego YLD", "Fungicides");
indicationMap.put("Synapse", "Insecticides");
indicationMap.put("Temik", "Insecticides");
indicationMap.put("Temix", "Insecticides");
indicationMap.put("Tempo SC Ultra", "Insecticides");
indicationMap.put("Thiram", "SeedGrowth");
indicationMap.put("Tops MZ", "SeedGrowth");
indicationMap.put("Tops MZ Gaucho", "SeedGrowth");
indicationMap.put("TriKote", "SeedGrowth");
indicationMap.put("Trilex", "SeedGrowth");
indicationMap.put("Trilex 2000", "SeedGrowth");
indicationMap.put("Trilex 5000", "SeedGrowth");
indicationMap.put("Trilex 6000", "SeedGrowth");
indicationMap.put("Trilex Advanced", "SeedGrowth");
indicationMap.put("Trilex AL", "SeedGrowth");
indicationMap.put("Trilex ADV", "SeedGrowth");
indicationMap.put("Trilex Optimum", "SeedGrowth");
indicationMap.put("Trilex Rice Pack", "SeedGrowth");
indicationMap.put("TrilexStar", "SeedGrowth");
indicationMap.put("Trimax", "Insecticides");
indicationMap.put("Trimax Pro", "Insecticides");
indicationMap.put("TwinLink", "Traits");
indicationMap.put("TwinLink Plus", "Traits");
indicationMap.put("Ultor", "Insecticides");
indicationMap.put("Varro", "Herbicides");
indicationMap.put("Velum One", "Insecticides");
indicationMap.put("Velum Prime", "Insecticides");
indicationMap.put("Velum Total", "Insecticides");
indicationMap.put("Vitis", "Insecticides");
indicationMap.put("Vortex", "SeedGrowth");
indicationMap.put("Votivo", "SeedGrowth");
indicationMap.put("Whip 360", "Herbicides");
indicationMap.put("Wolverine", "Herbicides");
indicationMap.put("Wolverine Advanced", "Herbicides");
indicationMap.put("Wolverine PowerPak", "Herbicides");
indicationMap.put("Yield Shield", "Fungicides");
}
private List<String[]> inputRows;
@@ -750,6 +1024,7 @@ public class ToolboxImportFileGenerator {
long noTargetBrand = 0;
long noTargetBusinessUnit = 0;
long noAssetType = 0;
long internalAssets = 0;
for (String[] line : inputRows) {
Integer assetId = Integer.parseInt(line[0]);
@@ -786,7 +1061,7 @@ public class ToolboxImportFileGenerator {
asset.filename = line[1];
asset.byr_Title = line[2];
asset.byr_cs_assetApproval = "No Approval"; // XXX "No Approval Required"?
asset.byr_cs_assetApproval = "Approval Required";
if (!line[17].equals("NULL"))
asset.byr_cs_releaseDate = outputDateFormat.format(inputDateFormat.parse(line[17]));
@@ -795,15 +1070,30 @@ public class ToolboxImportFileGenerator {
asset.byr_cs_license_classification = "N/A";
asset.byr_cs_description = "";
if (line[4] != null)
asset.byr_cs_description = line[4] + "\n\n[Asset imported from Toolbox, ID " + asset.toolboxAssetId + "]";
else
asset.byr_cs_description = "[Asset imported from Toolbox, ID " + asset.toolboxAssetId + "]";
asset.byr_cs_description = line[4] + "\n\n";
asset.byr_cs_description += "[Asset imported from Toolbox (ID " + asset.toolboxAssetId + "), created "
+ outputDateFormat.format(inputDateFormat.parse(line[7])) + " by " + line[22] + " " + line[23] + " (" + line[24]
+ ")]";
asset.byr_cs_keywords_tl = "toolbox import";
asset.byr_MarketingId = line[3];
asset.byr_campaignYearLabel = line[19];
if (!line[20].equals("NULL"))
asset.byr_campaignTitle = line[20];
if (line[21].equals("0")) {
asset.byr_cs_IsShouldBePublished = "No";
}
else {
internalAssets++;
asset.byr_cs_IsShouldBePublished = "Yes";
}
asset.appendClassification = "/Definitions/Agencies/Bayer/Bayer CS\n" + "/Definitions/Common/Status/Released";
// determine asset type (from Toolbox "category")
@@ -819,9 +1109,6 @@ public class ToolboxImportFileGenerator {
log.info(asset.toolboxAssetId + ": Could not map category '" + assetCategory + "' to any asset type");
}
asset.fileSize = Long.parseLong(line[16]);
assets.put(assetId, asset);
@@ -830,10 +1117,12 @@ public class ToolboxImportFileGenerator {
if (asset.byr_cs_brand == null) {
asset.byr_cs_brand = brandMap.get(line[15]);
asset.byr_cs_businessUnit = unitMap.get(asset.byr_cs_brand);
} else {
asset.byr_cs_brand = asset.byr_cs_brand + "\n" + line[15];
}
if (indicationMap.get(line[15]) != null)
asset.indications.add(indicationMap.get(line[15]));
}
@@ -843,6 +1132,7 @@ public class ToolboxImportFileGenerator {
log.info("Skipped: No target brand: " + noTargetBrand);
log.info("Skipped: No target business unit: " + noTargetBusinessUnit);
log.info("No asset type: " + noAssetType);
log.info("Internal assets: " + internalAssets);
}
private void readToolboxExport() {
@@ -860,18 +1150,20 @@ public class ToolboxImportFileGenerator {
List<Object[]> csvOutputList = new ArrayList<Object[]>();
for (CropScienceAsset asset : assets.values()) {
String[] csvLine = new String[] { asset.assetPath, asset.filename, asset.appendClassification, asset.byr_Title,
asset.byr_MarketingId, asset.byr_cs_assetApproval, asset.byr_cs_license_classification, asset.byr_cs_brand, asset.byr_cs_businessUnit,
asset.byr_cs_releaseDate, asset.byr_cs_retireDate, asset.byr_cs_description, asset.byr_cs_keywords_tl };
asset.byr_MarketingId, asset.byr_cs_assetApproval, asset.byr_cs_license_classification, asset.byr_cs_brand,
asset.byr_cs_businessUnit, asset.byr_cs_releaseDate, asset.byr_cs_retireDate, asset.byr_cs_description,
asset.byr_cs_keywords_tl, asset.byr_campaignYearLabel, asset.byr_campaignTitle, asset.byr_cs_IsShouldBePublished };
csvOutputList.add(csvLine);
}
CsvWriterSettings writerSettings = new CsvWriterSettings();
writerSettings.setFormat(parserSettings.getFormat());
CsvWriter writer = new CsvWriter(new File(importFilePath), writerSettings);
writer.writeHeaders("assetpath", "filename", "append classification", "fields|byr_title", "fields|byr_MarketingId",
"fields|byr_cs_assetApproval", "fields|byr_cs_license_classification", "fields|byr_cs_brand", "fields|byr_cs_businessUnit",
"fields|byr_cs_releaseDate", "fields|byr_cs_retireDate", "fields|byr_cs_Description", "fields|byr_cs_keywords_tl");
"fields|byr_cs_releaseDate", "fields|byr_cs_retireDate", "fields|byr_cs_Description", "fields|byr_cs_keywords_tl",
"fields|byr_campaignYearLabel", "fields|byr_campaignTitle", "field|byr_cs_IsShouldBePublished");
writer.writeRowsAndClose(csvOutputList);
}