@Test public void testInvoiceDetail() throws Exception { Invoice invoice = service.searchInvoice(null).getData().get(0); InvoiceDetail invoiceDetail = service.getInvoiceDetail(invoice.getId()); try { service.deleteInvoice(invoiceDetail, FAIL_CALLBACK); } catch (Throwable t) { System.out.println("Fail callback exception: " + t.getMessage()); } assertEquals(2, invoiceDetail.getItems().size()); assertEquals(3, invoiceDetail.getAttributes().size()); assertEquals(4, invoiceDetail.getContributors().size()); assertEquals(1, invoiceDetail.getTransactions().size()); assertEquals(21, count(InvoiceItem.class)); assertEquals(46, count(Attribute.class)); assertEquals(43, count(Contributor.class)); assertEquals(11, count(InvoiceTransaction.class)); invoiceDetail.getItems().get(0).setPersistableState(State.DELETED); assertEquals(2, invoiceDetail.getItems().size()); invoiceDetail = service.updateInvoiceDetail(invoiceDetail); assertEquals(1, invoiceDetail.getItems().size()); service.deleteTest("SA"); assertEquals(20, count(InvoiceItem.class)); assertEquals(46, count(Attribute.class)); assertEquals(43, count(Contributor.class)); assertEquals(11, count(InvoiceTransaction.class)); }
@Test public void testBankAccount() { BankAccount bankAccountCNQ = service.getBankAccountById("vcb-credit-ngoquyen"); assertNotNull(bankAccountCNQ); assertNotNull(service.getBankAccountById("vcb-credit-ngoquyen")); service.deleteBankAccountByAccountId(bankAccountCNQ.getBankAccountId()); assertNull(service.getBankAccountById("vcb-credit-ngoquyen")); }
@Override /** * Account suppression. It is not advisable to suppress an account referenced by any orderline. * * @see net.algem.ctrl.parametres.ParamTableCtrl#suppression */ public void suppression(Param p) throws AccountDeleteException { if (p instanceof Account) { Account c = (Account) p; service.delete(c); desktop.getDataCache().remove(c); desktop.postEvent(new GemEvent(this, GemEvent.SUPPRESSION, GemEvent.ACCOUNT, c)); } }
@Test public void testProjectReport() { SQLSelectQuery rQuery = new SQLSelectQuery(); rQuery .table("InvoiceDetail", "Attribute") .field("Attribute.value", "Name") .field("EXTRACT(YEAR FROM InvoiceDetail.startDate) AS year", "Year") .field("EXTRACT(MONTH FROM InvoiceDetail.startDate) AS month", "Month") .field("sum(InvoiceDetail.finalCharge)", "Grand Total") .field("sum(InvoiceDetail.totalPaid)", "Total Paid") .cond("Attribute.name = 'restaurant:name'") .cond("Attribute.invoiceId = InvoiceDetail.id") .groupBy("year", "month", "Attribute.value") .orderBy("year", "month"); System.out.println(rQuery.createSQLQuery()); ReportTable[] reportTable = service.reportQuery(new SQLSelectQuery[] {rQuery}); reportTable[0].dump(new String[] {"Name", "Year", "Month", "Grand Total", "Total Paid"}); }
@Test public void testRevenueEmployeeReport() { SQLSelectQuery rQuery = new SQLSelectQuery(); rQuery .table("InvoiceDetail", "Contributor") .field("Contributor.role", "Role") .field("InvoiceDetail.activityType", "Activity Type") .field("Contributor.identifierId", "Employee") .field("sum(InvoiceDetail.finalCharge)", "Grand Total") .field("sum(InvoiceDetail.totalPaid)", "Total Paid") .field("count(InvoiceDetail.type)", "Payment") .cond("Contributor.invoiceId = InvoiceDetail.id") .groupBy("Contributor.role, Contributor.identifierId", "InvoiceDetail.activityType") .orderBy("Contributor.identifierId"); System.out.println(rQuery.createSQLQuery()); ReportTable[] reportTable = service.reportQuery(new SQLSelectQuery[] {rQuery}); reportTable[0].dump( new String[] {"Employee", "Role", "Grand Total", "Total Paid", "Payment", "Activity Type"}); }
@Test public void testInvoiceProductReport() { SQLSelectQuery rQuery = new SQLSelectQuery(); rQuery .table("InvoiceDetail", "InvoiceItem", "InvoiceItemAttribute") .field("InvoiceItemAttribute.name", "Product") .field("InvoiceItemAttribute.value", "") .field("sum(InvoiceItem.quantity)", "Quantity") .field("sum(InvoiceItem.total)", "Total") .field("InvoiceDetail.activityType", "Activity Type") .cond("InvoiceItem.invoiceId = InvoiceDetail.id") .cond("InvoiceItemAttribute.invoiceItemId = InvoiceItem.id") .cond("InvoiceItemAttribute.name = 'Product'") .groupBy( "InvoiceItemAttribute.name, InvoiceItemAttribute.value, InvoiceDetail.activityType") .orderBy("InvoiceItemAttribute.name"); System.out.println(rQuery.createSQLQuery()); ReportTable[] reportTable = service.reportQuery(new SQLSelectQuery[] {rQuery}); reportTable[0].dump(new String[] {"Product", "Quantity", "Total", "Activity Type"}); }
@After public void cleandb() throws Exception { service.deleteAll(); }
@Before public void setup() throws Exception { scenario = AccountingScenario.loadTest(); service.createScenario(scenario); }
@Test public void testSearchInvoiceDetails() throws Exception { System.out.println(service.findInvoiceDetailByAttributeItemValue("a:b:c")); }