Module Client, écran StatScreen : les statistiques sont désormais actualisées à chaque vente

This commit is contained in:
Notmoo-PC\Notmoo 2017-11-08 14:59:55 +01:00
parent 27ddeaee0d
commit c57d910d7c
3 changed files with 25 additions and 3 deletions

View File

@ -16,6 +16,7 @@ import com.pqt.core.entities.user_account.Account;
import com.pqt.core.entities.user_account.AccountLevel; import com.pqt.core.entities.user_account.AccountLevel;
import javax.swing.event.EventListenerList; import javax.swing.event.EventListenerList;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
@ -47,7 +48,6 @@ class SaleScreenModel {
if(saleId == SaleScreenModel.this.tempSaleId){ if(saleId == SaleScreenModel.this.tempSaleId){
SaleScreenModel.this.fireSaleValidatedEvent(); SaleScreenModel.this.fireSaleValidatedEvent();
} }
stockService.refreshProductList();
} }
@Override @Override
@ -151,7 +151,7 @@ class SaleScreenModel {
} }
List<SaleType> getSaleTypeList() { List<SaleType> getSaleTypeList() {
return saleService.getSaleTypes(); return new ArrayList<>(saleService.getSaleTypes());
} }
Sale getCurrentSale() { Sale getCurrentSale() {

View File

@ -42,7 +42,10 @@ class StatScreenView implements IFXComponent {
.map(key->String.format(" * %s : %s", key, statistics.get(key))) .map(key->String.format(" * %s : %s", key, statistics.get(key)))
.collect(Collectors.toList())); .collect(Collectors.toList()));
Platform.runLater(()->lines.forEach(line -> statTextArea.appendText(line+"\n"))); Platform.runLater(()-> {
statTextArea.setText("");
lines.forEach(line -> statTextArea.appendText(line + "\n"));
});
} }
@Override @Override

View File

@ -6,6 +6,7 @@ import com.pqt.client.module.network.NetworkService;
import com.pqt.client.module.network.listeners.INetworkServiceListener; import com.pqt.client.module.network.listeners.INetworkServiceListener;
import com.pqt.client.module.query.QueryExecutor; import com.pqt.client.module.query.QueryExecutor;
import com.pqt.client.module.sale.SaleService; import com.pqt.client.module.sale.SaleService;
import com.pqt.client.module.sale.listeners.ISaleListener;
import com.pqt.client.module.stat.StatService; import com.pqt.client.module.stat.StatService;
import com.pqt.client.module.stock.StockService; import com.pqt.client.module.stock.StockService;
@ -48,6 +49,24 @@ public class ClientBackEndModuleManager {
statService.refreshStats(); statService.refreshStats();
} }
}); });
saleService.addListener(new ISaleListener() {
@Override
public void onSaleValidationSuccess(long saleId) {
stockService.refreshProductList();
statService.refreshStats();
}
@Override
public void onSaleValidationError(long saleId, Throwable cause) {
//No-op
}
@Override
public void onSaleValidationRefused(long saleId, Throwable cause) {
//No-op
}
});
} }
public SaleService getSaleService() { public SaleService getSaleService() {