Report.java
package com.tradecloud.domain.autoemail;
import com.tradecloud.domain.helper.ReportFormat;
/* - per connect:
Reports avalable for TEC Phase I include -
Event Driven Reports delivered in PDF
- Consignment Unit Price Report
- Consignment Summary Report
- Shipment Unit Price Report
- Shipment Summary Report
Scheduled Reports delivered in CSV
- Orders Awaiting Costing
- Orders Awaiting Tariffing
- Orders not yet Consigned
- Orders Awaiting Sign Off
- Orders Not Shipped
- Orders on Water
- Orders on Road
- Orders Outstanding by Supplier
- Inetegration messages failed
*/
public enum Report {
CONSIGNMENT_ESTIMATE_COST_SUMMARY_AND_UNIT_PRICE(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.PDF}),
CONSIGNMENT_ESTIMATE_COST_SUMMARY(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.PDF, ReportFormat.CSV}),
CONSIGNMENT_ESTIMATE_COST_UNIT_PRICE(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.PDF}),
SHIPMENT_ACTUAL_COST_SUMMARY_AND_UNIT_PRICE(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.PDF, ReportFormat.CSV}),
SHIPMENT_ACTUAL_COST_SUMMARY(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.PDF, ReportFormat.CSV}),
SHIPMENT_ACTUAL_COST_UNIT_PRICE(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.PDF}),
ORDERS_AWAITING_COSTING(ReportTrigger.SCHEDULED, new ReportFormat[]{ReportFormat.CSV}),
ORDERS_AWAITING_SIGN_OFF(ReportTrigger.SCHEDULED, new ReportFormat[]{ReportFormat.CSV}),
ORDERS_NOT_CONSIGNED(ReportTrigger.SCHEDULED, new ReportFormat[]{ReportFormat.CSV}),
ORDERS_NOT_SHIPPED(ReportTrigger.SCHEDULED, new ReportFormat[]{ReportFormat.CSV}),
ORDER_ITEMS_AWAITING_TARIFFING(ReportTrigger.SCHEDULED, new ReportFormat[]{ReportFormat.CSV}),
CONTAINERS_SHIPPED_NOT_AVAILABLE(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.CSV}),
ORDERS_SIGNED_OFF_REPORT(ReportTrigger.SCHEDULED, new ReportFormat[]{ReportFormat.CSV}),
CONTAINERS_AVAILABLE_NOT_DELIVERED_TO_FINAL_DESTINATION(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.CSV}),
SUPPLIERS_CREATED_OR_UPDATED(ReportTrigger.SCHEDULED, new ReportFormat[]{ReportFormat.CSV}),
SUPPLIER_PAYMENT(ReportTrigger.SCHEDULED, new ReportFormat[]{ReportFormat.CSV}),
TEXT_FILE_INTEGRATION_ERROR_REPORT(ReportTrigger.SCHEDULED, new ReportFormat[]{ReportFormat.TEXT}),
SHIPMENT_DAILY_REPORT(ReportTrigger.SCHEDULED, new ReportFormat[]{ReportFormat.CSV}),
SHIPMENT_MISSING_DOCUMENT_REPORT(ReportTrigger.SCHEDULED, new ReportFormat[]{ReportFormat.CSV}),
CONSIGNMENT_CONFIRMATION_REPORT(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.PDF}),
ORDER_CONFIRMATION_REPORT_CONFIRMED_ORDERS(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.PDF}),
ORDER_CONFIRMATION_REPORT_UNCONFIRMED_ORDERS(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.PDF,ReportFormat.CSV}),
USER_CREATE_REPORT(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.PDF}),
FOREX_CONFIRMATION_REPORT(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.PDF}),
FOREX_CONFIRMATION_WITHOUT_DIFFERENCE_REPORT(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.PDF}),
NO_FOREX_CONFIRMATION_REPORT(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.PDF}),
ORDER_OUT_OF_TOLERANCE_REPORT(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.PDF}),
PAYMENT_UNSETTLED_REPORT(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.CSV}),
COMMERCIAL_INVOICE_OUT_OF_TOLERANCE_REPORT(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.CSV}),
DAILY_FINANCE_60_DAYS_REPORT(ReportTrigger.SCHEDULED, new ReportFormat[]{ReportFormat.CSV}),
TEXT(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.PDF, ReportFormat.CSV}),
DMS(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.PDF}),
INTEGRATION_MESSAGES_FAILED(ReportTrigger.SCHEDULED, new ReportFormat[]{ReportFormat.CSV}),
EXPORT_COMMERCIAL_INVOICE(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.PDF}),
DUTY_DRAWBACK_FILES(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.CSV}),
DUTY_DRAWBACK_EXCEPTION(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.CSV}),
STYLE_PACKING_LIST(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.XLSX}),
TRANSPORTERS_EXPORT_DOCUMENTATION(ReportTrigger.EVENT, new ReportFormat[]{ReportFormat.PDF}),
GOODS_IN_TRANSIT_REPORT(ReportTrigger.SCHEDULED, new ReportFormat[]{ReportFormat.CSV});
private ReportTrigger reportTrigger;
private ReportFormat[] reportFormats;
Report(ReportTrigger reportTrigger, ReportFormat[] reportFormats) {
this.reportTrigger = reportTrigger;
this.reportFormats = reportFormats;
}
@Override
public String toString() {
return String.format("%s.%s", this.getClass().getSimpleName(), this.name());
}
public ReportTrigger getReportTrigger() {
return reportTrigger;
}
public ReportFormat[] getReportFormats() {
return reportFormats;
}
}