first commit
This commit is contained in:
@@ -0,0 +1,402 @@
|
||||
package Controllers.TraiteClt;
|
||||
|
||||
import Controllers.Traitement.Adaptateur;
|
||||
import Controllers.Traitement.ParametreSystem;
|
||||
import Controllers.Traitement.contro;
|
||||
import Models.Fournisseur.FournisseurDB;
|
||||
import Models.TraiteClt.TraiteCltDB;
|
||||
import Models.TraiteClt.TraiteCltGestionDB;
|
||||
import Models.TraiteClt.TraiteCltPaiementListe;
|
||||
import java.io.IOException;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.time.LocalDate;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import javafx.application.Platform;
|
||||
import javafx.collections.ObservableList;
|
||||
import javafx.concurrent.Service;
|
||||
import javafx.concurrent.Task;
|
||||
import javafx.concurrent.WorkerStateEvent;
|
||||
import javafx.event.ActionEvent;
|
||||
import javafx.event.EventHandler;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.scene.Node;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.DatePicker;
|
||||
import javafx.scene.control.RadioButton;
|
||||
import javafx.scene.control.Tab;
|
||||
import javafx.scene.control.TabPane;
|
||||
import javafx.scene.control.TableColumn;
|
||||
import javafx.scene.control.TableView;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.scene.control.cell.PropertyValueFactory;
|
||||
import javafx.scene.input.MouseEvent;
|
||||
import javafx.scene.layout.AnchorPane;
|
||||
import javafx.scene.layout.GridPane;
|
||||
import javafx.scene.layout.StackPane;
|
||||
import javafx.scene.paint.Color;
|
||||
import javafx.scene.text.Text;
|
||||
|
||||
/**
|
||||
* FXML Controller class
|
||||
* @author Maher Ben Tili
|
||||
*/
|
||||
public class TraiteCltDetailController {
|
||||
|
||||
@FXML private AnchorPane PaneDetailTraite;
|
||||
@FXML private AnchorPane AnchorPaneLoadingTraite;
|
||||
|
||||
@FXML public TableView<TraiteCltPaiementListe> TableViewPaiement;
|
||||
|
||||
@FXML public TableColumn<TraiteCltPaiementListe ,String> TabColTypePaiement;
|
||||
@FXML public TableColumn<TraiteCltPaiementListe ,String> TabColMontantPaiement;
|
||||
@FXML public TableColumn<TraiteCltPaiementListe ,String> TabColDatePaiement;
|
||||
@FXML public TableColumn<TraiteCltPaiementListe ,String> TabColHeurPaiement;
|
||||
@FXML public TableColumn<TraiteCltPaiementListe ,String> TabColBanquePaiement;
|
||||
@FXML public TableColumn<TraiteCltPaiementListe ,String> TabColNumeroPaiement;
|
||||
|
||||
@FXML private Text TextIdTraite;
|
||||
@FXML private Text TextDate;
|
||||
|
||||
@FXML private Text TextEtat;
|
||||
@FXML private Text TextMontant;
|
||||
|
||||
@FXML private Text TextTypeClt;
|
||||
@FXML private Text TextIdClient;
|
||||
@FXML private Text TextNomClt;
|
||||
@FXML private Text TextPrenomClt;
|
||||
@FXML private Text TxtPrenomMatricule;
|
||||
|
||||
@FXML private Text TextCodeFact;
|
||||
@FXML private Text TextTotalFact;
|
||||
|
||||
@FXML private RadioButton RadioEspace;
|
||||
@FXML private RadioButton RadioCheque;
|
||||
@FXML private RadioButton RadioCarte;
|
||||
|
||||
@FXML private GridPane GridEspace;
|
||||
@FXML private GridPane GridCheque;
|
||||
@FXML private GridPane GridCarte;
|
||||
|
||||
@FXML private TextField MontantEspace;
|
||||
|
||||
@FXML private TextField MontantCheque;
|
||||
@FXML private TextField MontantChequeBanque;
|
||||
@FXML private TextField MontantChequeNumero;
|
||||
@FXML private DatePicker DatePickerCheque;
|
||||
|
||||
@FXML private TextField MontantCarte;
|
||||
@FXML private TextField MontantCarteBanque;
|
||||
@FXML private TextField MontantCarteNumero;
|
||||
|
||||
@FXML private TabPane TabPanePayement;
|
||||
@FXML private Tab TabPayerTraite;
|
||||
@FXML private Tab TabDetailPaiement;
|
||||
|
||||
@FXML private Text TextCtlEspace;
|
||||
@FXML private Text TextCtlBanque;
|
||||
@FXML private Text TextCtlCarte;
|
||||
@FXML private Text TextCtlDateCheque;
|
||||
|
||||
@FXML private Text TextCtlNumCheque;
|
||||
@FXML private Text TextCtlNameBanque;
|
||||
|
||||
@FXML private Text TextCtlNumCarte;
|
||||
@FXML private Text TextCtlNameCarteBq;
|
||||
|
||||
@FXML private Button ButtonPayerTraite;
|
||||
|
||||
private int TypePayement ; // 0=>Cheque | 1=>Espace | 2=>Carte
|
||||
|
||||
public String IdTraiteClt;
|
||||
private float OldMontantPayer;
|
||||
private float MontantTraite;
|
||||
|
||||
public Service<Void> ThreadIdTraiteClt;
|
||||
|
||||
ResultSet Resultat ;
|
||||
|
||||
contro clt = new contro();
|
||||
|
||||
|
||||
public Node GetNodeTraiteCltDetail() {
|
||||
Node nodeFxml = null;
|
||||
try {
|
||||
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/Views/TraiteClt/TraiteCltDetail.fxml"));
|
||||
fxmlLoader.setController(this);
|
||||
nodeFxml = (Node)fxmlLoader.load();
|
||||
} catch (IOException ex) {
|
||||
Logger.getLogger(TraiteCltDetailController.class.getName()).log(Level.SEVERE, null, ex);
|
||||
}
|
||||
return nodeFxml;
|
||||
}
|
||||
|
||||
public void SetSelectPayement()
|
||||
{
|
||||
RadioEspace.setOnMouseClicked(new EventHandler<MouseEvent>() {
|
||||
public void handle(MouseEvent me) {
|
||||
GridEspace.setVisible(true);
|
||||
GridCheque.setVisible(false);
|
||||
GridCarte.setVisible(false);
|
||||
TypePayement = 0;
|
||||
}
|
||||
});
|
||||
RadioCheque.setOnMouseClicked(new EventHandler<MouseEvent>() {
|
||||
public void handle(MouseEvent me) {
|
||||
GridCheque.setVisible(true);
|
||||
GridEspace.setVisible(false);
|
||||
GridCarte.setVisible(false);
|
||||
TypePayement = 1;
|
||||
}
|
||||
});
|
||||
RadioCarte.setOnMouseClicked(new EventHandler<MouseEvent>() {
|
||||
public void handle(MouseEvent me) {
|
||||
GridCarte.setVisible(true);
|
||||
GridEspace.setVisible(false);
|
||||
GridCheque.setVisible(false);
|
||||
TypePayement = 2;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void SetTraiteCltDetail(String id_traite) {
|
||||
IdTraiteClt = id_traite;
|
||||
|
||||
TabColTypePaiement.setStyle( "-fx-alignment: CENTER;");TabColTypePaiement.getStyleClass().add("Center");
|
||||
TabColTypePaiement.setCellValueFactory(new PropertyValueFactory<TraiteCltPaiementListe, String>("TypePaiement"));
|
||||
|
||||
TabColMontantPaiement.setStyle( "-fx-alignment: CENTER;");TabColMontantPaiement.getStyleClass().add("Center");
|
||||
TabColMontantPaiement.setCellValueFactory(new PropertyValueFactory<TraiteCltPaiementListe, String>("MontantPaiement"));
|
||||
|
||||
TabColDatePaiement.setStyle( "-fx-alignment: CENTER;");TabColDatePaiement.getStyleClass().add("Center");
|
||||
TabColDatePaiement.setCellValueFactory(new PropertyValueFactory<TraiteCltPaiementListe, String>("DatePaiement"));
|
||||
|
||||
TabColHeurPaiement.setStyle( "-fx-alignment: CENTER;");TabColHeurPaiement.getStyleClass().add("Center");
|
||||
TabColHeurPaiement.setCellValueFactory(new PropertyValueFactory<TraiteCltPaiementListe, String>("HeurPaiement"));
|
||||
|
||||
TabColBanquePaiement.setStyle( "-fx-alignment: CENTER;");TabColBanquePaiement.getStyleClass().add("Center");
|
||||
TabColBanquePaiement.setCellValueFactory(new PropertyValueFactory<TraiteCltPaiementListe, String>("BanquePaiement"));
|
||||
|
||||
TabColNumeroPaiement.setStyle( "-fx-alignment: CENTER;");TabColNumeroPaiement.getStyleClass().add("Center");
|
||||
TabColNumeroPaiement.setCellValueFactory(new PropertyValueFactory<TraiteCltPaiementListe, String>("NumeroPaiement"));
|
||||
|
||||
startTask();
|
||||
ButtonPayerTraiteAction();
|
||||
SetSelectPayement();
|
||||
}
|
||||
|
||||
|
||||
public void startTask()
|
||||
{
|
||||
ThreadIdTraiteClt = new Service<Void>(){
|
||||
@Override
|
||||
protected Task<Void> createTask(){
|
||||
return new Task<Void>(){
|
||||
@Override
|
||||
protected Void call() throws Exception{
|
||||
|
||||
Resultat = new TraiteCltGestionDB().GetDetailTraite(IdTraiteClt);
|
||||
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
ThreadIdTraiteClt.setOnSucceeded(new EventHandler<WorkerStateEvent>(){
|
||||
@Override
|
||||
public void handle(WorkerStateEvent event){
|
||||
try {
|
||||
TextIdTraite.setText(Resultat.getString("id_traite"));
|
||||
|
||||
TextDate.setText(Resultat.getString("date_traite_format"));
|
||||
|
||||
TextCodeFact.setText(Resultat.getString("id_factureclt"));
|
||||
|
||||
TextTotalFact.setText(Adaptateur.StringToStringEspaceCurrency(Resultat.getString("net_a_payer")));
|
||||
|
||||
if(Resultat.getInt("typeclt") == 0){
|
||||
TextTypeClt.setText("Personne");
|
||||
TextIdClient.setText(Resultat.getString("codeclient"));
|
||||
TextNomClt.setText(Resultat.getString("nom"));
|
||||
TextPrenomClt.setText(Resultat.getString("prenom"));
|
||||
}else if(Resultat.getInt("typeclt") == 1){
|
||||
TextTypeClt.setText("Entreprise");
|
||||
TextIdClient.setText(Resultat.getString("idcliententreprise"));
|
||||
TextNomClt.setText(Resultat.getString("nomentrepise"));
|
||||
TextPrenomClt.setText(Resultat.getString("matricule_fiscale"));
|
||||
TxtPrenomMatricule.setText("Matricule:");
|
||||
}
|
||||
|
||||
MontantTraite = Resultat.getFloat("montant_traite");
|
||||
OldMontantPayer = Resultat.getFloat("montant_payer");
|
||||
|
||||
float RestMontantPayer = MontantTraite - OldMontantPayer;
|
||||
|
||||
String StrRestMontantPayer = Adaptateur.ArrondFloatToString(RestMontantPayer);
|
||||
|
||||
MontantCheque.setText(StrRestMontantPayer);
|
||||
MontantCarte.setText(StrRestMontantPayer);
|
||||
MontantEspace.setText(StrRestMontantPayer);
|
||||
|
||||
|
||||
DatePickerCheque.setValue(LocalDate.now());
|
||||
|
||||
|
||||
TextMontant.setText(Adaptateur.StringToStringEspaceCurrency(Resultat.getString("montant_traite")));
|
||||
|
||||
String etat = Resultat.getString("etat");
|
||||
if(etat.equals("1")){
|
||||
TextEtat.setText("Payer"); TextEtat.setFill(Color.web("#428BCA"));
|
||||
}else if(etat.equals("2")){
|
||||
TextEtat.setText("En Cours"); TextEtat.setFill(Color.web("#000000"));
|
||||
}else if(etat.equals("3")){
|
||||
TextEtat.setText("En Retart"); TextEtat.setFill(Color.RED);
|
||||
}
|
||||
TraiteCltDB TraiteDB= new TraiteCltDB();
|
||||
ObservableList<TraiteCltPaiementListe> PaiementListe = TraiteDB.getListPaiementTraiteClt(IdTraiteClt);
|
||||
TableViewPaiement.setItems(PaiementListe);
|
||||
|
||||
// terminer le payement
|
||||
if(OldMontantPayer>= MontantTraite){
|
||||
TabPanePayement.getSelectionModel().select(TabDetailPaiement);
|
||||
TabPayerTraite.setDisable(true);
|
||||
TabPayerTraite.setText("");
|
||||
|
||||
TabDetailPaiement.setDisable(false);
|
||||
TabDetailPaiement.setText("Detail de paiement");
|
||||
|
||||
// (données un montant mais n'est pas terminer le payement
|
||||
}else if( (OldMontantPayer>0) && (OldMontantPayer<MontantTraite) ){
|
||||
TabPayerTraite.setDisable(false);
|
||||
TabPayerTraite.setText("Payer Traite");
|
||||
|
||||
TabDetailPaiement.setDisable(false);
|
||||
TabDetailPaiement.setText("Detail de paiement");
|
||||
|
||||
|
||||
// n'est pas payer
|
||||
}else if(OldMontantPayer == 0){
|
||||
TabPanePayement.getSelectionModel().select(TabPayerTraite);
|
||||
TabDetailPaiement.setDisable(true);
|
||||
TabDetailPaiement.setText("");
|
||||
}
|
||||
} catch (SQLException ex) {
|
||||
Logger.getLogger(TraiteCltDetailController.class.getName()).log(Level.SEVERE, null, ex);
|
||||
}
|
||||
|
||||
PaneDetailTraite.setVisible(true);
|
||||
|
||||
AnchorPaneLoadingTraite.setVisible(false);
|
||||
}
|
||||
});
|
||||
ThreadIdTraiteClt.start();
|
||||
/*PaneDetailTraite.setVisible(false);
|
||||
|
||||
// Create a Runnable
|
||||
Runnable task = new Runnable(){
|
||||
public void run(){
|
||||
Platform.runLater(new Runnable(){
|
||||
@Override
|
||||
public void run(){
|
||||
SetTextData();
|
||||
StackProgress.setVisible(false);
|
||||
PaneDetailTraite.setVisible(true);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
// Run the task in a background thread
|
||||
Thread backgroundThread = new Thread(task);
|
||||
|
||||
// Terminate the running thread if the application exits
|
||||
backgroundThread.setDaemon(true);
|
||||
|
||||
// Start the thread
|
||||
backgroundThread.start();*/
|
||||
}
|
||||
|
||||
|
||||
public void ButtonPayerTraiteAction(){
|
||||
|
||||
ButtonPayerTraite.setOnAction(new EventHandler<ActionEvent>(){ //Action when the button is pressed
|
||||
@Override
|
||||
public void handle(ActionEvent t) {
|
||||
|
||||
TraiteCltDB TraiteDB= new TraiteCltDB();
|
||||
|
||||
//Espace
|
||||
if(TypePayement == 0){
|
||||
String NewMontant = MontantEspace.getText();
|
||||
if(ControleMontantPaiement(MontantEspace, TextCtlEspace)){
|
||||
String IdPayementTraite = TraiteDB.SetPayerTraiteEnEspaceDB(IdTraiteClt, Adaptateur.StringToFloat(NewMontant), OldMontantPayer);
|
||||
startTask();
|
||||
}
|
||||
|
||||
//Banque
|
||||
}else if(TypePayement == 1){
|
||||
String NewMontant = MontantCheque.getText();
|
||||
String NameBanque = MontantChequeBanque.getText();
|
||||
String NumeroCheque = MontantChequeNumero.getText();
|
||||
//
|
||||
if(ControleMontantPaiement(MontantCheque, TextCtlBanque) &&
|
||||
clt.ContrNull(MontantChequeBanque, TextCtlNameBanque) &&
|
||||
clt.ContrNumeriqueNotnull(MontantChequeNumero, TextCtlNumCheque) &&
|
||||
clt.ContrNullDatePicker(DatePickerCheque , TextCtlDateCheque)){
|
||||
String DateCheque = DatePickerCheque.getValue().toString();
|
||||
String IdPayementTraite = TraiteDB.SetPayerTraiteEnChequeDB(IdTraiteClt, Adaptateur.StringToFloat(NewMontant), OldMontantPayer, NameBanque, NumeroCheque, DateCheque);
|
||||
startTask();
|
||||
}
|
||||
|
||||
//Carte Bancaire
|
||||
}else if(TypePayement == 2){
|
||||
String NewMontant = MontantCarte.getText();
|
||||
String NameBanque = MontantCarteBanque.getText();
|
||||
String NumeroCarte = MontantCarteNumero.getText();
|
||||
if(ControleMontantPaiement(MontantCarte, TextCtlCarte)){
|
||||
String IdPayementTraite = TraiteDB.SetPayerTraiteEnCarteDB(IdTraiteClt, Adaptateur.StringToFloat(NewMontant), OldMontantPayer, NameBanque, NumeroCarte);
|
||||
startTask();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public boolean ControleMontantPaiement(TextField TextFieldMontant, Text TextClt){
|
||||
String NewMontant = MontantEspace.getText();
|
||||
boolean ResultClt = false;
|
||||
if(clt.isFloatNotnull(NewMontant)== false){
|
||||
float FolatNewMontant = Adaptateur.StringToFloat(NewMontant);
|
||||
if( (FolatNewMontant>0) && (FolatNewMontant<= (MontantTraite - OldMontantPayer)) ){
|
||||
TextFieldMontant.setStyle("-fx-border-color:transparent;");
|
||||
ResultClt = true;
|
||||
}else{
|
||||
TextFieldMontant.setStyle("-fx-border-color:#f20606;");
|
||||
TextClt.setText(" champ doit être entre 1 à "+(MontantTraite - OldMontantPayer));
|
||||
}
|
||||
}else{
|
||||
TextFieldMontant.setStyle("-fx-border-color:#f20606;");
|
||||
TextClt.setText(" champ doit être réel");
|
||||
}
|
||||
return ResultClt;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,430 @@
|
||||
package Controllers.TraiteClt;
|
||||
|
||||
import Models.TraiteClt.TraiteCltGestionDB;
|
||||
import Models.TraiteClt.TraiteCltGestionListe;
|
||||
import com.gluonhq.charm.glisten.control.ProgressBar;
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.util.ResourceBundle;
|
||||
import javafx.beans.value.ChangeListener;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.collections.ObservableList;
|
||||
import javafx.concurrent.Service;
|
||||
import javafx.concurrent.Task;
|
||||
import javafx.concurrent.WorkerStateEvent;
|
||||
import javafx.event.ActionEvent;
|
||||
import javafx.event.EventHandler;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.fxml.Initializable;
|
||||
import javafx.scene.Group;
|
||||
import javafx.scene.Node;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.ChoiceBox;
|
||||
import javafx.scene.control.DatePicker;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.control.TableCell;
|
||||
import javafx.scene.control.TableColumn;
|
||||
import javafx.scene.control.TableView;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.scene.control.cell.PropertyValueFactory;
|
||||
import javafx.scene.image.Image;
|
||||
import javafx.scene.image.ImageView;
|
||||
import javafx.scene.input.KeyCode;
|
||||
import javafx.scene.input.KeyEvent;
|
||||
import javafx.scene.input.MouseEvent;
|
||||
import javafx.scene.layout.AnchorPane;
|
||||
import javafx.scene.paint.Color;
|
||||
import javafx.scene.text.Font;
|
||||
import javafx.scene.text.FontWeight;
|
||||
import javafx.scene.text.Text;
|
||||
import javafx.util.Callback;
|
||||
|
||||
/**
|
||||
* FXML Controller class
|
||||
* @author Maher Ben Tili
|
||||
*/
|
||||
public class TraiteCltGestionController implements Initializable {
|
||||
|
||||
@FXML public AnchorPane PaneTraiteCltGestion ;
|
||||
|
||||
@FXML private ProgressBar ProgressBarTraiteClt;
|
||||
|
||||
@FXML private Button ButtonSearchTraiteClt ;
|
||||
|
||||
@FXML public TextField TextFieldIdTraite ;
|
||||
@FXML public TextField TextFieldCodeFacture ;
|
||||
@FXML public TextField TextFieldCodeClt ;
|
||||
@FXML public TextField TextFieldNomCompet ;
|
||||
@FXML public TextField TextFieldCinClt ;
|
||||
|
||||
@FXML public DatePicker PickerDateTraite;
|
||||
|
||||
@FXML public TableView<TraiteCltGestionListe> TableViewTraiteCltGestion;
|
||||
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColNumTraite;
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColEtat;
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColFacture;
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColCodeClt;
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColTypeClient;
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColNomPrenom;
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColDateTraite;
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColDatePayer; //la date de payer par le client
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,Boolean>TabColDetail;
|
||||
|
||||
@FXML private Text ActuellePage ;
|
||||
@FXML private Text NbrPage ;
|
||||
@FXML private Group nextgroupe ;
|
||||
@FXML private Group avancergroupe ;
|
||||
@FXML private Group lastgroupe ;
|
||||
@FXML private Group retourgroupe ;
|
||||
@FXML private Label LabelCount;
|
||||
@FXML private ChoiceBox NbrLigne ;
|
||||
|
||||
ObservableList cursors = FXCollections.observableArrayList("10","15","20");
|
||||
private Integer nbrligne = 10 ;
|
||||
private Integer totalcount = 0 ;
|
||||
private Integer nbrpage = 0;
|
||||
private Integer actuellepage = 1;
|
||||
Integer position = 0;
|
||||
|
||||
private Service<Void> ThreadSearchTraiteClt;
|
||||
|
||||
|
||||
/**
|
||||
* Initializes the controller class.
|
||||
*/
|
||||
@Override
|
||||
public void initialize(URL url, ResourceBundle rb) {
|
||||
|
||||
NbrLigne.setItems(cursors);
|
||||
NbrLigne.getSelectionModel().selectFirst();
|
||||
|
||||
TabColNumTraite.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("NumTraite"));
|
||||
|
||||
|
||||
TabColFacture.setStyle( "-fx-alignment: CENTER;");TabColFacture.getStyleClass().add("Center");
|
||||
TabColFacture.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("Facture"));
|
||||
|
||||
TabColCodeClt.setStyle( "-fx-alignment: CENTER;");TabColCodeClt.getStyleClass().add("Center");
|
||||
TabColCodeClt.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("CodeClt"));
|
||||
|
||||
TabColTypeClient.setStyle( "-fx-alignment: CENTER;");TabColTypeClient.getStyleClass().add("Center");
|
||||
TabColTypeClient.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("TypeClient"));
|
||||
|
||||
TabColNomPrenom.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("NomPrenom"));
|
||||
|
||||
TabColDateTraite.setStyle( "-fx-alignment: CENTER;");TabColDateTraite.getStyleClass().add("Center");
|
||||
TabColDateTraite.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("DateTraite"));
|
||||
|
||||
TabColDatePayer.setStyle( "-fx-alignment: CENTER;");TabColDatePayer.getStyleClass().add("Center");
|
||||
TabColDatePayer.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("DatePayer"));
|
||||
|
||||
TabColEtat.setStyle( "-fx-alignment: CENTER;");TabColEtat.getStyleClass().add("Center");
|
||||
TabColEtat.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("Etat"));
|
||||
TabColEtat.setCellFactory(new Callback<TableColumn<TraiteCltGestionListe,String>,TableCell<TraiteCltGestionListe,String>>(){
|
||||
@Override
|
||||
public TableCell<TraiteCltGestionListe, String> call(TableColumn<TraiteCltGestionListe, String> param) {
|
||||
TableCell<TraiteCltGestionListe, String> cell = new TableCell<TraiteCltGestionListe, String>(){
|
||||
@Override
|
||||
public void updateItem(String item, boolean empty) {
|
||||
//1 Payer 2 En Cours 3 En Retart
|
||||
if(item!=null && item.equals("2")){
|
||||
Text text = new Text("En Cours");
|
||||
text.setFill(Color.web("#000000"));
|
||||
text.setFont(Font.font("Arial", FontWeight.BOLD, 14));
|
||||
setGraphic(text);
|
||||
}else if(item!=null && item.equals("1")){
|
||||
Text text = new Text("Payer");
|
||||
text.setFill(Color.web("#428BCA"));
|
||||
text.setFont(Font.font("Arial", FontWeight.BOLD, 14));
|
||||
setGraphic(text);
|
||||
}else if(item!=null && item.equals("3")){
|
||||
Text text = new Text("En Retart");
|
||||
text.setFill(Color.RED);
|
||||
text.setFont(Font.font("Arial", FontWeight.BOLD, 14));
|
||||
setGraphic(text);
|
||||
}else{
|
||||
setGraphic(null);
|
||||
}
|
||||
}
|
||||
};
|
||||
return cell;
|
||||
}
|
||||
});
|
||||
|
||||
TabColDetail.setStyle( "-fx-alignment: CENTER;");TabColDetail.getStyleClass().add("Center");
|
||||
TabColDetail.setCellFactory(new Callback<TableColumn<TraiteCltGestionListe, Boolean>, TableCell<TraiteCltGestionListe, Boolean>>() {
|
||||
@Override
|
||||
public TableCell<TraiteCltGestionListe, Boolean> call(TableColumn<TraiteCltGestionListe, Boolean> personBooleanTableColumn) {
|
||||
return new ButtonCell();
|
||||
}
|
||||
});
|
||||
|
||||
ButtonSearchTraiteClt.setOnMouseClicked(new EventHandler<MouseEvent>() {
|
||||
public void handle(MouseEvent me) {
|
||||
SearchTraiteClt();
|
||||
}
|
||||
});
|
||||
|
||||
PaneTraiteCltGestion.setOnKeyPressed(new EventHandler<KeyEvent>() {
|
||||
@Override
|
||||
public void handle(KeyEvent ke) {
|
||||
if (ke.getCode().equals(KeyCode.ENTER)) {
|
||||
SearchTraiteClt();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
GestionSearchTraiteClt();
|
||||
}
|
||||
|
||||
private class ButtonCell extends TableCell<TraiteCltGestionListe, Boolean> {
|
||||
|
||||
final Button cellButton = new Button();
|
||||
ButtonCell(){
|
||||
cellButton.getStyleClass().add("btn-icon-primary");
|
||||
Image coffeeImage = new Image(getClass().getResourceAsStream("/Public/icon/iconedit.png"));
|
||||
ImageView buttonGraphic = new ImageView();
|
||||
buttonGraphic.setImage(coffeeImage);
|
||||
cellButton.setGraphic(buttonGraphic);
|
||||
cellButton.setOnAction(new EventHandler<ActionEvent>(){ //Action when the button is pressed
|
||||
@Override
|
||||
public void handle(ActionEvent t) {
|
||||
|
||||
TraiteCltGestionListe current = (TraiteCltGestionListe) ButtonCell.this.getTableView().getItems().get(ButtonCell.this.getIndex());
|
||||
String IdTraite = current.getNumTraite();
|
||||
|
||||
TraiteCltDetailController TraiteCltDetail = new TraiteCltDetailController();
|
||||
PaneTraiteCltGestion.getChildren().add(TraiteCltDetail.GetNodeTraiteCltDetail());
|
||||
|
||||
TraiteCltDetail.SetTraiteCltDetail(IdTraite);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//Display button if the row is not empty
|
||||
@Override
|
||||
protected void updateItem(Boolean t, boolean empty) {
|
||||
if(!empty){
|
||||
setGraphic(cellButton);
|
||||
} else {
|
||||
setGraphic(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void TraiteCltRetardButtonAction(ActionEvent event) throws IOException {
|
||||
PaneTraiteCltGestion.getChildren().clear();
|
||||
PaneTraiteCltGestion.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/TraiteClt/TraiteCltRetard.fxml")));
|
||||
}
|
||||
|
||||
|
||||
/****************************************************************************** *
|
||||
* *
|
||||
* Methode last Next TableView *
|
||||
* * *
|
||||
******************************************************************************/
|
||||
|
||||
private void SearchTraiteClt()
|
||||
{
|
||||
ProgressBarTraiteClt.setVisible(true);
|
||||
|
||||
ButtonSearchTraiteClt.setDisable(true);
|
||||
|
||||
ThreadSearchTraiteClt = new Service<Void>(){
|
||||
@Override
|
||||
protected Task<Void> createTask(){
|
||||
return new Task<Void>(){
|
||||
@Override
|
||||
protected Void call() throws Exception{
|
||||
|
||||
position = 0;
|
||||
|
||||
actuellepage = 1;
|
||||
|
||||
String DateTraite = "";
|
||||
if(PickerDateTraite.getValue() != null){
|
||||
DateTraite = PickerDateTraite.getValue().toString();
|
||||
}
|
||||
|
||||
ObservableList<TraiteCltGestionListe> ListTraiteClts = new TraiteCltGestionDB().SearchTraiteClt(
|
||||
position,
|
||||
nbrligne,
|
||||
TextFieldIdTraite.getText(),
|
||||
TextFieldCodeFacture.getText(),
|
||||
DateTraite,
|
||||
TextFieldCodeClt.getText(),
|
||||
TextFieldCinClt.getText(),
|
||||
TextFieldNomCompet.getText());
|
||||
|
||||
TableViewTraiteCltGestion.setItems(ListTraiteClts);
|
||||
|
||||
totalcount = new TraiteCltGestionDB().nbrSearchTraiteClt(TextFieldIdTraite.getText(),
|
||||
TextFieldCodeFacture.getText(),
|
||||
DateTraite,
|
||||
TextFieldCodeClt.getText(),
|
||||
TextFieldCinClt.getText(),
|
||||
TextFieldNomCompet.getText());
|
||||
|
||||
if(totalcount > 0){
|
||||
ActuellePage.setText("1");
|
||||
}else{
|
||||
ActuellePage.setText("0");
|
||||
}
|
||||
|
||||
if(totalcount % nbrligne==0){
|
||||
nbrpage = totalcount / nbrligne ;
|
||||
}
|
||||
else{
|
||||
nbrpage = (totalcount / nbrligne) + 1 ;
|
||||
}
|
||||
NbrPage.setText(Integer.toString(nbrpage));
|
||||
|
||||
return null;
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
ThreadSearchTraiteClt.setOnSucceeded(new EventHandler<WorkerStateEvent>(){
|
||||
@Override
|
||||
public void handle(WorkerStateEvent event){
|
||||
ProgressBarTraiteClt.setVisible(false);
|
||||
ButtonSearchTraiteClt.setDisable(false);
|
||||
LabelCount.setText(totalcount.toString());
|
||||
|
||||
}
|
||||
});
|
||||
ThreadSearchTraiteClt.start();
|
||||
}
|
||||
|
||||
|
||||
private void NextLastSearchTraiteClt(Integer ParmPosition, Integer ParamNbrligne)
|
||||
{
|
||||
ProgressBarTraiteClt.setVisible(true);
|
||||
|
||||
ButtonSearchTraiteClt.setDisable(true);
|
||||
|
||||
ThreadSearchTraiteClt = new Service<Void>(){
|
||||
@Override
|
||||
protected Task<Void> createTask(){
|
||||
return new Task<Void>(){
|
||||
@Override
|
||||
protected Void call() throws Exception{
|
||||
|
||||
String DateTraite = "";
|
||||
if(PickerDateTraite.getValue() != null){
|
||||
DateTraite = PickerDateTraite.getValue().toString();
|
||||
}
|
||||
|
||||
ObservableList<TraiteCltGestionListe> ListTraiteClts = new TraiteCltGestionDB().SearchTraiteClt(
|
||||
ParmPosition,
|
||||
ParamNbrligne,
|
||||
TextFieldIdTraite.getText(),
|
||||
TextFieldCodeFacture.getText(),
|
||||
DateTraite,
|
||||
TextFieldCodeClt.getText(),
|
||||
TextFieldCinClt.getText(),
|
||||
TextFieldNomCompet.getText());
|
||||
|
||||
TableViewTraiteCltGestion.setItems(ListTraiteClts);
|
||||
|
||||
return null;
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
ThreadSearchTraiteClt.setOnSucceeded(new EventHandler<WorkerStateEvent>(){
|
||||
@Override
|
||||
public void handle(WorkerStateEvent event){
|
||||
ProgressBarTraiteClt.setVisible(false);
|
||||
ButtonSearchTraiteClt.setDisable(false);
|
||||
}
|
||||
});
|
||||
ThreadSearchTraiteClt.start();
|
||||
}
|
||||
|
||||
private void GestionSearchTraiteClt()
|
||||
{
|
||||
NbrLigne.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
|
||||
|
||||
public void changed(ObservableValue ov, Number value, Number new_value) {
|
||||
nbrligne= Integer.parseInt((String) cursors.get(new_value.intValue()));
|
||||
if(totalcount % nbrligne==0){ nbrpage = totalcount / nbrligne ;}
|
||||
else{ nbrpage = (totalcount / nbrligne) + 1 ; }
|
||||
NbrPage.setText(Integer.toString(nbrpage));
|
||||
position=0;
|
||||
ActuellePage.setText("1");
|
||||
actuellepage=1;
|
||||
NextLastSearchTraiteClt(position, nbrligne);
|
||||
}
|
||||
});
|
||||
|
||||
if(totalcount % nbrligne==0){ nbrpage = totalcount / nbrligne ;}
|
||||
else{ nbrpage = (totalcount / nbrligne) + 1 ; }
|
||||
NbrPage.setText(Integer.toString(nbrpage));
|
||||
|
||||
|
||||
//next page
|
||||
nextgroupe.setOnMousePressed(new EventHandler<MouseEvent>(){
|
||||
@Override
|
||||
public void handle(MouseEvent event) {
|
||||
if(actuellepage<nbrpage)
|
||||
{
|
||||
position=position+nbrligne;
|
||||
NextLastSearchTraiteClt(position, nbrligne);
|
||||
actuellepage=actuellepage+1 ;
|
||||
ActuellePage.setText(Integer.toString(actuellepage));
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//last page
|
||||
lastgroupe.setOnMousePressed(new EventHandler<MouseEvent>(){
|
||||
@Override
|
||||
public void handle(MouseEvent event) {
|
||||
if(actuellepage>1)
|
||||
{
|
||||
position=position-nbrligne;
|
||||
NextLastSearchTraiteClt(position, nbrligne);
|
||||
actuellepage=actuellepage-1 ;
|
||||
ActuellePage.setText(Integer.toString(actuellepage));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//next page avec pas de 5
|
||||
avancergroupe.setOnMousePressed(new EventHandler<MouseEvent>(){
|
||||
@Override
|
||||
public void handle(MouseEvent event) {
|
||||
if(actuellepage+3<nbrpage)
|
||||
{
|
||||
position=(position+4)+nbrligne;
|
||||
NextLastSearchTraiteClt(position, nbrligne);
|
||||
actuellepage=actuellepage+3 ;
|
||||
ActuellePage.setText(Integer.toString(actuellepage));
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//last page avec un pas de -5
|
||||
retourgroupe.setOnMousePressed(new EventHandler<MouseEvent>(){
|
||||
@Override
|
||||
public void handle(MouseEvent event) {
|
||||
if(actuellepage-3>1){
|
||||
position=(position-4)-nbrligne;
|
||||
NextLastSearchTraiteClt(position, nbrligne);
|
||||
actuellepage=actuellepage-3 ;
|
||||
ActuellePage.setText(Integer.toString(actuellepage));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,178 @@
|
||||
/*
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/javafx/FXMLController.java to edit this template
|
||||
*/
|
||||
package Controllers.TraiteClt;
|
||||
|
||||
import Controllers.Traitement.ParametreSystem;
|
||||
|
||||
import java.net.URL;
|
||||
import java.util.ResourceBundle;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.fxml.Initializable;
|
||||
import javafx.scene.text.Text;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import javafx.scene.layout.AnchorPane;
|
||||
import javafx.scene.text.TextFlow;
|
||||
import javax.xml.XMLConstants;
|
||||
|
||||
/**
|
||||
* FXML Controller class
|
||||
*
|
||||
* @author Administrateur
|
||||
*/
|
||||
public class TraiteCltPrintController implements Initializable {
|
||||
|
||||
@FXML private AnchorPane AnchorPaneTraiteClt;
|
||||
|
||||
@FXML private Text TextCompanyName;
|
||||
@FXML private Text TextCompanyPlace;
|
||||
@FXML private Text TextCompanySIREN;
|
||||
@FXML private Text TextCompanyAddress;
|
||||
@FXML private TextFlow TextFlowCompanyAddress;
|
||||
|
||||
@FXML private Text TextNomCompletClt;
|
||||
@FXML private Text TextCIN;
|
||||
|
||||
@FXML private Text TextBank;
|
||||
@FXML private TextFlow TextFlowBank;
|
||||
|
||||
@FXML private Text TextAmountLetter;
|
||||
@FXML private Text TextAmountFigures;
|
||||
@FXML private Text TextDateDeadline;
|
||||
|
||||
|
||||
/**
|
||||
* Initializes the controller class.
|
||||
*/
|
||||
@Override
|
||||
public void initialize(URL url, ResourceBundle rb) {
|
||||
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
|
||||
|
||||
try {
|
||||
|
||||
// optional, but recommended
|
||||
// process XML securely, avoid attacks like XML External Entities (XXE)
|
||||
dbf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
|
||||
|
||||
// parse XML file
|
||||
DocumentBuilder db = dbf.newDocumentBuilder();
|
||||
|
||||
//C:\Users\Administrateur\Documents\NetBeansProjects\PowerERP\conf\print.xml
|
||||
Document doc = db.parse(new File("./conf/print.xml"));
|
||||
|
||||
doc.getDocumentElement().normalize();
|
||||
|
||||
Element elementTraiteClt = (Element) doc.getElementsByTagName("TraiteClt").item(0);
|
||||
|
||||
//AnchorPane
|
||||
Element elementAnchorPane = (Element)elementTraiteClt.getElementsByTagName("AnchorPaneTraiteClt").item(0);
|
||||
AnchorPaneTraiteClt.setPrefHeight(Double.parseDouble(elementAnchorPane.getElementsByTagName("prefHeight").item(0).getTextContent()));
|
||||
AnchorPaneTraiteClt.setPrefWidth(Double.parseDouble(elementAnchorPane.getElementsByTagName("prefWidth").item(0).getTextContent()));
|
||||
|
||||
|
||||
//CompanyName
|
||||
Element elementCompanyName = (Element)elementTraiteClt.getElementsByTagName("CompanyName").item(0);
|
||||
TextCompanyName.setVisible(Boolean.valueOf(elementCompanyName.getElementsByTagName("Visible").item(0).getTextContent()));
|
||||
TextCompanyName.setLayoutX(Double.parseDouble(elementCompanyName.getElementsByTagName("LayoutX").item(0).getTextContent()));
|
||||
TextCompanyName.setLayoutY(Double.parseDouble(elementCompanyName.getElementsByTagName("LayoutY").item(0).getTextContent()));
|
||||
|
||||
|
||||
//CompanyPlace
|
||||
Element elementCompanyPlace = (Element)elementTraiteClt.getElementsByTagName("CompanyPlace").item(0);
|
||||
TextCompanyPlace.setVisible(Boolean.valueOf(elementCompanyPlace.getElementsByTagName("Visible").item(0).getTextContent()));
|
||||
TextCompanyPlace.setLayoutX(Double.parseDouble(elementCompanyPlace.getElementsByTagName("LayoutX").item(0).getTextContent()));
|
||||
TextCompanyPlace.setLayoutY(Double.parseDouble(elementCompanyPlace.getElementsByTagName("LayoutY").item(0).getTextContent()));
|
||||
|
||||
//CompanyAddress
|
||||
Element elementCompanyAddress = (Element)elementTraiteClt.getElementsByTagName("CompanyAddress").item(0);
|
||||
TextFlowCompanyAddress.setVisible(Boolean.valueOf(elementCompanyAddress.getElementsByTagName("Visible").item(0).getTextContent()));
|
||||
TextFlowCompanyAddress.setLayoutX(Double.parseDouble(elementCompanyAddress.getElementsByTagName("LayoutX").item(0).getTextContent()));
|
||||
TextFlowCompanyAddress.setLayoutY(Double.parseDouble(elementCompanyAddress.getElementsByTagName("LayoutY").item(0).getTextContent()));
|
||||
TextFlowCompanyAddress.setPrefHeight(Double.parseDouble(elementCompanyAddress.getElementsByTagName("prefHeight").item(0).getTextContent()));
|
||||
TextFlowCompanyAddress.setPrefWidth(Double.parseDouble(elementCompanyAddress.getElementsByTagName("prefWidth").item(0).getTextContent()));
|
||||
|
||||
//CompanySIREN
|
||||
Element elementCompanySIREN = (Element)elementTraiteClt.getElementsByTagName("CompanySIREN").item(0);
|
||||
TextCompanySIREN.setVisible(Boolean.valueOf(elementCompanySIREN.getElementsByTagName("Visible").item(0).getTextContent()));
|
||||
TextCompanySIREN.setLayoutX(Double.parseDouble(elementCompanySIREN.getElementsByTagName("LayoutX").item(0).getTextContent()));
|
||||
TextCompanySIREN.setLayoutY(Double.parseDouble(elementCompanySIREN.getElementsByTagName("LayoutY").item(0).getTextContent()));
|
||||
|
||||
//NomCompletClt
|
||||
Element elementNomCompletClt = (Element)elementTraiteClt.getElementsByTagName("NomCompletClt").item(0);
|
||||
TextNomCompletClt.setVisible(Boolean.valueOf(elementNomCompletClt.getElementsByTagName("Visible").item(0).getTextContent()));
|
||||
TextNomCompletClt.setLayoutX(Double.parseDouble(elementNomCompletClt.getElementsByTagName("LayoutX").item(0).getTextContent()));
|
||||
TextNomCompletClt.setLayoutY(Double.parseDouble(elementNomCompletClt.getElementsByTagName("LayoutY").item(0).getTextContent()));
|
||||
|
||||
//CIN
|
||||
Element elementCIN = (Element)elementTraiteClt.getElementsByTagName("CIN").item(0);
|
||||
TextCIN.setVisible(Boolean.valueOf(elementCIN.getElementsByTagName("Visible").item(0).getTextContent()));
|
||||
TextCIN.setLayoutX(Double.parseDouble(elementCIN.getElementsByTagName("LayoutX").item(0).getTextContent()));
|
||||
TextCIN.setLayoutY(Double.parseDouble(elementCIN.getElementsByTagName("LayoutY").item(0).getTextContent()));
|
||||
|
||||
//Bank
|
||||
Element elementBank = (Element)elementTraiteClt.getElementsByTagName("Bank").item(0);
|
||||
TextFlowBank.setVisible(Boolean.valueOf(elementBank.getElementsByTagName("Visible").item(0).getTextContent()));
|
||||
TextFlowBank.setLayoutX(Double.parseDouble(elementBank.getElementsByTagName("LayoutX").item(0).getTextContent()));
|
||||
TextFlowBank.setLayoutY(Double.parseDouble(elementBank.getElementsByTagName("LayoutY").item(0).getTextContent()));
|
||||
TextFlowBank.setPrefHeight(Double.parseDouble(elementBank.getElementsByTagName("prefHeight").item(0).getTextContent()));
|
||||
TextFlowBank.prefWidth(Double.parseDouble(elementBank.getElementsByTagName("prefWidth").item(0).getTextContent()));
|
||||
|
||||
//AmountLetter
|
||||
Element elementAmountLetter = (Element)elementTraiteClt.getElementsByTagName("AmountLetter").item(0);
|
||||
TextAmountLetter.setVisible(Boolean.valueOf(elementAmountLetter.getElementsByTagName("Visible").item(0).getTextContent()));
|
||||
TextAmountLetter.setLayoutX(Double.parseDouble(elementAmountLetter.getElementsByTagName("LayoutX").item(0).getTextContent()));
|
||||
TextAmountLetter.setLayoutY(Double.parseDouble(elementAmountLetter.getElementsByTagName("LayoutY").item(0).getTextContent()));
|
||||
|
||||
//AmountFigures
|
||||
Element elementAmountFigures = (Element)elementTraiteClt.getElementsByTagName("AmountFigures").item(0);
|
||||
TextAmountFigures.setVisible(Boolean.valueOf(elementAmountFigures.getElementsByTagName("Visible").item(0).getTextContent()));
|
||||
TextAmountFigures.setLayoutX(Double.parseDouble(elementAmountFigures.getElementsByTagName("LayoutX").item(0).getTextContent()));
|
||||
TextAmountFigures.setLayoutY(Double.parseDouble(elementAmountFigures.getElementsByTagName("LayoutY").item(0).getTextContent()));
|
||||
|
||||
//DateDeadline
|
||||
Element elementDateDeadline = (Element)elementTraiteClt.getElementsByTagName("DateDeadline").item(0);
|
||||
TextDateDeadline.setVisible(Boolean.valueOf(elementDateDeadline.getElementsByTagName("Visible").item(0).getTextContent()));
|
||||
TextDateDeadline.setLayoutX(Double.parseDouble(elementDateDeadline.getElementsByTagName("LayoutX").item(0).getTextContent()));
|
||||
TextDateDeadline.setLayoutY(Double.parseDouble(elementDateDeadline.getElementsByTagName("LayoutY").item(0).getTextContent()));
|
||||
|
||||
|
||||
} catch (ParserConfigurationException | SAXException | IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
TextCompanyName.setText(ParametreSystem.CompanyName);
|
||||
|
||||
TextCompanyPlace.setText(ParametreSystem.CompanyPlace);
|
||||
|
||||
TextCompanySIREN.setText(ParametreSystem.CompanySIREN);
|
||||
|
||||
TextCompanyAddress.setText(ParametreSystem.CompanyAddress);
|
||||
|
||||
TextBank.setText(ParametreSystem.Bank);
|
||||
|
||||
}
|
||||
|
||||
public void SetData(String AmountLetter,
|
||||
String AmountFigures,
|
||||
String DateDeadline,
|
||||
String NomCompletClt,
|
||||
String CIN)
|
||||
{
|
||||
TextNomCompletClt.setText(NomCompletClt);
|
||||
TextCIN.setText(CIN);
|
||||
TextAmountLetter.setText(AmountLetter);
|
||||
TextAmountFigures.setText(AmountFigures);
|
||||
TextDateDeadline.setText(DateDeadline);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
package Controllers.TraiteClt;
|
||||
|
||||
import Models.Caisse.CaisseEntreListe;
|
||||
import Models.TraiteClt.TraiteCltGestionListe;
|
||||
import java.net.URL;
|
||||
import java.util.ResourceBundle;
|
||||
import javafx.collections.ObservableList;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.fxml.Initializable;
|
||||
import javafx.scene.control.TableColumn;
|
||||
import javafx.scene.control.TableView;
|
||||
import javafx.scene.control.cell.PropertyValueFactory;
|
||||
import javafx.scene.text.Text;
|
||||
|
||||
/**
|
||||
* FXML Controller class
|
||||
* @author Maher Ben Tili
|
||||
*/
|
||||
public class TraiteCltPrintRetardController implements Initializable {
|
||||
|
||||
@FXML private Text TextNbrTraiteCltRetard ;
|
||||
@FXML private Text TextPageTraiteCltRetard ;
|
||||
|
||||
@FXML public TableView<TraiteCltGestionListe> TableViewTraiteCltRetard;
|
||||
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColNumTraite;
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColDateTraite;
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColMontant;
|
||||
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColFacture;
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColCodeClt;
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColLocal;
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColNomPrenom;
|
||||
|
||||
/**
|
||||
* Initializes the controller class.
|
||||
*/
|
||||
@Override
|
||||
public void initialize(URL url, ResourceBundle rb) {
|
||||
TabColNumTraite.setStyle( "-fx-alignment: CENTER;");TabColNumTraite.getStyleClass().add("Center");
|
||||
TabColNumTraite.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("NumTraite"));
|
||||
|
||||
TabColDateTraite.setStyle( "-fx-alignment: CENTER;");TabColDateTraite.getStyleClass().add("Center");
|
||||
TabColDateTraite.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("DateTraite"));
|
||||
|
||||
TabColMontant.setStyle( "-fx-alignment: CENTER;");TabColMontant.getStyleClass().add("Center");
|
||||
TabColMontant.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("Montant"));
|
||||
|
||||
TabColFacture.setStyle( "-fx-alignment: CENTER;");TabColFacture.getStyleClass().add("Center");
|
||||
TabColFacture.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("Facture"));
|
||||
|
||||
TabColCodeClt.setStyle( "-fx-alignment: CENTER;");TabColCodeClt.getStyleClass().add("Center");
|
||||
TabColCodeClt.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("CodeClt"));
|
||||
|
||||
TabColLocal.setStyle( "-fx-alignment: CENTER;");TabColLocal.getStyleClass().add("Center");
|
||||
TabColLocal.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("TypeClient"));
|
||||
|
||||
TabColNomPrenom.setStyle( "-fx-alignment: CENTER;");TabColNomPrenom.getStyleClass().add("Center");
|
||||
TabColNomPrenom.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("NomPrenom"));
|
||||
}
|
||||
|
||||
|
||||
public void setTraiteCltPrintRetard(
|
||||
String NbrTraiteCltRetard,
|
||||
String PageTraiteCltRetard,
|
||||
ObservableList<TraiteCltGestionListe> obsListTraiteCltGestion)
|
||||
{
|
||||
TextNbrTraiteCltRetard.setText(NbrTraiteCltRetard);
|
||||
TextPageTraiteCltRetard.setText(PageTraiteCltRetard);
|
||||
TableViewTraiteCltRetard.setItems(obsListTraiteCltGestion);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,452 @@
|
||||
package Controllers.TraiteClt;
|
||||
|
||||
import Controllers.Traitement.Adaptateur;
|
||||
import Models.Stock.StockDB;
|
||||
import Models.TraiteClt.TraiteCltDB;
|
||||
import Models.TraiteClt.TraiteCltGestionListe;
|
||||
import com.gluonhq.charm.glisten.control.ProgressBar;
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.ResourceBundle;
|
||||
import javafx.application.Platform;
|
||||
import javafx.beans.value.ChangeListener;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.collections.ObservableList;
|
||||
import javafx.concurrent.Service;
|
||||
import javafx.concurrent.Task;
|
||||
import javafx.concurrent.WorkerStateEvent;
|
||||
import javafx.event.EventHandler;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.fxml.Initializable;
|
||||
import javafx.print.PageLayout;
|
||||
import javafx.print.PageOrientation;
|
||||
import javafx.print.PageRange;
|
||||
import javafx.print.Paper;
|
||||
import javafx.print.Printer;
|
||||
import javafx.print.PrinterJob;
|
||||
import javafx.scene.Group;
|
||||
import javafx.scene.Node;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.ChoiceBox;
|
||||
import javafx.scene.control.DatePicker;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.control.TableColumn;
|
||||
import javafx.scene.control.TableView;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.scene.control.cell.PropertyValueFactory;
|
||||
import javafx.scene.input.KeyCode;
|
||||
import javafx.scene.input.KeyEvent;
|
||||
import javafx.scene.input.MouseEvent;
|
||||
import javafx.scene.layout.AnchorPane;
|
||||
import javafx.scene.text.Text;
|
||||
|
||||
/**
|
||||
* FXML Controller class
|
||||
* @author Maher Ben Tili
|
||||
*/
|
||||
public class TraiteCltRetardController implements Initializable {
|
||||
|
||||
@FXML private AnchorPane AnchorPaneTraiteCltRetard;
|
||||
|
||||
@FXML private ProgressBar ProgressBarTraiteClt;
|
||||
|
||||
@FXML public TableView<TraiteCltGestionListe> TableViewTraiteCltRetard;
|
||||
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColNumTraite;
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColDateTraite;
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColMontant;
|
||||
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColFacture;
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColCodeClt;
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColLocal;
|
||||
@FXML public TableColumn<TraiteCltGestionListe ,String> TabColNomPrenom;
|
||||
|
||||
@FXML private Button ButtonSearchTraiteCltRetard;
|
||||
@FXML private Button ButtonPrintTraiteCltRetard;
|
||||
|
||||
@FXML private DatePicker DatePickeDebut;
|
||||
|
||||
@FXML private TextField TextFieldIdFacture ;
|
||||
@FXML private TextField TextFieldCodeClt ;
|
||||
@FXML private TextField TextFieldCINClt ;
|
||||
@FXML private TextField TextFieldNomClt ;
|
||||
@FXML private ChoiceBox ChoiceBoxLocal ;
|
||||
|
||||
@FXML private Text ActuellePage ;
|
||||
@FXML private Text NbrPage ;
|
||||
@FXML private Group nextgroupe ;
|
||||
@FXML private Group avancergroupe ;
|
||||
@FXML private Group lastgroupe ;
|
||||
@FXML private Group retourgroupe ;
|
||||
@FXML private Label LabelCount;
|
||||
@FXML private ChoiceBox NbrLigne ;
|
||||
|
||||
ObservableList cursors = FXCollections.observableArrayList("10","15","20");
|
||||
private Integer nbrligne = 10 ;
|
||||
private Integer totalcount = 0;
|
||||
private Integer nbrpage = 0;
|
||||
private Integer actuellepage = 1;
|
||||
Integer position = 0;
|
||||
|
||||
private Service<Void> ThreadSearchTraiteCltRetard;
|
||||
private Service<Void> ThreadPrintTraiteCltRetard;
|
||||
|
||||
ObservableList<TraiteCltGestionListe> ListPrintTraiteCltRetards;
|
||||
|
||||
@Override
|
||||
public void initialize(URL url, ResourceBundle rb) {
|
||||
|
||||
NbrLigne.setItems(cursors);
|
||||
NbrLigne.getSelectionModel().selectFirst();
|
||||
|
||||
TabColNumTraite.setStyle( "-fx-alignment: CENTER;");TabColNumTraite.getStyleClass().add("Center");
|
||||
TabColNumTraite.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("NumTraite"));
|
||||
|
||||
TabColDateTraite.setStyle( "-fx-alignment: CENTER;");TabColDateTraite.getStyleClass().add("Center");
|
||||
TabColDateTraite.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("DateTraite"));
|
||||
|
||||
TabColMontant.setStyle( "-fx-alignment: CENTER;");TabColMontant.getStyleClass().add("Center");
|
||||
TabColMontant.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("Montant"));
|
||||
|
||||
TabColFacture.setStyle( "-fx-alignment: CENTER;");TabColFacture.getStyleClass().add("Center");
|
||||
TabColFacture.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("Facture"));
|
||||
|
||||
TabColCodeClt.setStyle( "-fx-alignment: CENTER;");TabColCodeClt.getStyleClass().add("Center");
|
||||
TabColCodeClt.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("CodeClt"));
|
||||
|
||||
TabColLocal.setStyle( "-fx-alignment: CENTER;");TabColLocal.getStyleClass().add("Center");
|
||||
TabColLocal.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("TypeClient"));
|
||||
|
||||
TabColNomPrenom.setStyle( "-fx-alignment: CENTER;");TabColNomPrenom.getStyleClass().add("Center");
|
||||
TabColNomPrenom.setCellValueFactory(new PropertyValueFactory<TraiteCltGestionListe, String>("NomPrenom"));
|
||||
|
||||
ArrayList<String> ListLocale = new StockDB().getAllListLocal();
|
||||
ChoiceBoxLocal.getItems().addAll(ListLocale);
|
||||
|
||||
ButtonSearchTraiteCltRetard.setOnMouseClicked(new EventHandler<MouseEvent>() {
|
||||
public void handle(MouseEvent me) {
|
||||
SearchTraiteCltRetard();
|
||||
}
|
||||
});
|
||||
|
||||
AnchorPaneTraiteCltRetard.setOnKeyPressed(new EventHandler<KeyEvent>() {
|
||||
@Override
|
||||
public void handle(KeyEvent ke) {
|
||||
if (ke.getCode().equals(KeyCode.ENTER)) {
|
||||
SearchTraiteCltRetard();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
ButtonPrintTraiteCltRetard.setOnMouseClicked(new EventHandler<MouseEvent>() {
|
||||
public void handle(MouseEvent me) {
|
||||
ImprimerTraiteCltRetard();
|
||||
}
|
||||
});
|
||||
|
||||
GestionSearchTraiteCltRetard();
|
||||
}
|
||||
|
||||
|
||||
private void ImprimerTraiteCltRetard()
|
||||
{
|
||||
ProgressBarTraiteClt.setVisible(true);
|
||||
|
||||
ButtonPrintTraiteCltRetard.setDisable(true);
|
||||
|
||||
ThreadPrintTraiteCltRetard = new Service<Void>(){
|
||||
@Override
|
||||
protected Task<Void> createTask(){
|
||||
return new Task<Void>(){
|
||||
@Override
|
||||
protected Void call() throws Exception{
|
||||
|
||||
String DateDebut = "";
|
||||
if(DatePickeDebut.getValue() != null){
|
||||
DateDebut = DatePickeDebut.getValue().toString();
|
||||
}
|
||||
|
||||
ListPrintTraiteCltRetards = new TraiteCltDB().SearchTraiteCltRetard(0, 0, DateDebut, TextFieldIdFacture.getText(), (String) ChoiceBoxLocal.getValue(), TextFieldCodeClt.getText(), TextFieldCINClt.getText(), TextFieldNomClt.getText(), true);
|
||||
|
||||
return null;
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
ThreadPrintTraiteCltRetard.setOnSucceeded(new EventHandler<WorkerStateEvent>(){
|
||||
@Override
|
||||
public void handle(WorkerStateEvent event){
|
||||
|
||||
int SizeListeTraiteCltGestion = ListPrintTraiteCltRetards.size();
|
||||
int total = SizeListeTraiteCltGestion / 16 + 1 ;
|
||||
int page = 0;
|
||||
|
||||
PrinterJob jobPrint = PrinterJob.createPrinterJob();
|
||||
|
||||
jobPrint.getJobSettings().setPageRanges(new PageRange(1, total));
|
||||
|
||||
if (jobPrint.showPrintDialog(null))
|
||||
{
|
||||
Printer printer = jobPrint.getPrinter();
|
||||
PageLayout pageLayout = printer.createPageLayout(Paper.A4, PageOrientation.LANDSCAPE, Printer.MarginType.DEFAULT);
|
||||
|
||||
for (int i=0; i<SizeListeTraiteCltGestion; i+=16)
|
||||
{
|
||||
try {
|
||||
ObservableList<TraiteCltGestionListe> listTemp = FXCollections.observableArrayList();
|
||||
|
||||
for (int j=i; (j<(i+16)) && (j<SizeListeTraiteCltGestion); j++)
|
||||
{
|
||||
TraiteCltGestionListe ListCaisseClt = ListPrintTraiteCltRetards.get(j);
|
||||
listTemp.add(new TraiteCltGestionListe(
|
||||
ListCaisseClt.getNumTraite(),
|
||||
ListCaisseClt.getEtat(),
|
||||
ListCaisseClt.getFacture(),
|
||||
ListCaisseClt.getCodeClt(),
|
||||
ListCaisseClt.getTypeClient(),
|
||||
ListCaisseClt.getNomPrenom(),
|
||||
ListCaisseClt.getDateTraite(),
|
||||
ListCaisseClt.getDatePayer(),
|
||||
ListCaisseClt.getMontant(),
|
||||
ListCaisseClt.getMontantFloat()
|
||||
));
|
||||
}
|
||||
|
||||
FXMLLoader fxmlLoaderTraiteCltPrintRetard = new FXMLLoader(getClass().getResource("/Views/TraiteClt/TraiteCltPrintRetard.fxml"));
|
||||
final Node ParentFxmlTraiteCltPrintRetard = (Node)fxmlLoaderTraiteCltPrintRetard.load();
|
||||
TraiteCltPrintRetardController traiteCltPrintRetardController = fxmlLoaderTraiteCltPrintRetard.getController();
|
||||
page++;
|
||||
|
||||
traiteCltPrintRetardController.setTraiteCltPrintRetard(
|
||||
Integer.toString(SizeListeTraiteCltGestion),
|
||||
page+"/"+total,
|
||||
listTemp);
|
||||
|
||||
jobPrint.printPage(pageLayout, ParentFxmlTraiteCltPrintRetard);
|
||||
} catch (IOException ex) {
|
||||
System.out.println(ex.getMessage());
|
||||
}
|
||||
}
|
||||
jobPrint.endJob();
|
||||
}
|
||||
|
||||
System.out.println(ListPrintTraiteCltRetards.size());
|
||||
ProgressBarTraiteClt.setVisible(false);
|
||||
ButtonPrintTraiteCltRetard.setDisable(false);
|
||||
}
|
||||
});
|
||||
ThreadPrintTraiteCltRetard.start();
|
||||
}
|
||||
|
||||
|
||||
/****************************************************************************** *
|
||||
* *
|
||||
* Methode last Next TableView *
|
||||
* * *
|
||||
******************************************************************************/
|
||||
|
||||
private void SearchTraiteCltRetard()
|
||||
{
|
||||
ProgressBarTraiteClt.setVisible(true);
|
||||
|
||||
ButtonSearchTraiteCltRetard.setDisable(true);
|
||||
|
||||
ThreadSearchTraiteCltRetard = new Service<Void>(){
|
||||
@Override
|
||||
protected Task<Void> createTask(){
|
||||
return new Task<Void>(){
|
||||
@Override
|
||||
protected Void call() throws Exception{
|
||||
|
||||
position = 0;
|
||||
|
||||
actuellepage = 1;
|
||||
|
||||
String DateDebut = "";
|
||||
if(DatePickeDebut.getValue() != null){
|
||||
DateDebut = DatePickeDebut.getValue().toString();
|
||||
}
|
||||
|
||||
ObservableList<TraiteCltGestionListe> ListTraiteCltRetards = new TraiteCltDB().SearchTraiteCltRetard(
|
||||
position,
|
||||
nbrligne,
|
||||
DateDebut,
|
||||
TextFieldIdFacture.getText(),
|
||||
(String) ChoiceBoxLocal.getValue(),
|
||||
TextFieldCodeClt.getText(),
|
||||
TextFieldCINClt.getText(),
|
||||
TextFieldNomClt.getText(),
|
||||
false);
|
||||
|
||||
TableViewTraiteCltRetard.setItems(ListTraiteCltRetards);
|
||||
|
||||
totalcount = new TraiteCltDB().nbrTraiteCltRetard(DateDebut,
|
||||
TextFieldIdFacture.getText(),
|
||||
(String) ChoiceBoxLocal.getValue(),
|
||||
TextFieldCodeClt.getText(),
|
||||
TextFieldCINClt.getText(),
|
||||
TextFieldNomClt.getText());
|
||||
|
||||
if(totalcount > 0){
|
||||
ActuellePage.setText("1");
|
||||
}else{
|
||||
ActuellePage.setText("0");
|
||||
}
|
||||
|
||||
if(totalcount % nbrligne==0){
|
||||
nbrpage = totalcount / nbrligne ;
|
||||
}
|
||||
else{
|
||||
nbrpage = (totalcount / nbrligne) + 1 ;
|
||||
}
|
||||
NbrPage.setText(Integer.toString(nbrpage));
|
||||
|
||||
return null;
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
ThreadSearchTraiteCltRetard.setOnSucceeded(new EventHandler<WorkerStateEvent>(){
|
||||
@Override
|
||||
public void handle(WorkerStateEvent event){
|
||||
ProgressBarTraiteClt.setVisible(false);
|
||||
ButtonSearchTraiteCltRetard.setDisable(false);
|
||||
LabelCount.setText(totalcount.toString());
|
||||
|
||||
}
|
||||
});
|
||||
ThreadSearchTraiteCltRetard.start();
|
||||
}
|
||||
|
||||
|
||||
private void NextLastSearchTraiteCltRetard(Integer ParmPosition, Integer ParamNbrligne)
|
||||
{
|
||||
ProgressBarTraiteClt.setVisible(true);
|
||||
|
||||
ButtonSearchTraiteCltRetard.setDisable(true);
|
||||
|
||||
ThreadSearchTraiteCltRetard = new Service<Void>(){
|
||||
@Override
|
||||
protected Task<Void> createTask(){
|
||||
return new Task<Void>(){
|
||||
@Override
|
||||
protected Void call() throws Exception{
|
||||
|
||||
String DateDebut = "";
|
||||
if(DatePickeDebut.getValue() != null){
|
||||
DateDebut = DatePickeDebut.getValue().toString();
|
||||
}
|
||||
|
||||
ObservableList<TraiteCltGestionListe> ListTraiteCltRetards = new TraiteCltDB().SearchTraiteCltRetard(ParmPosition,
|
||||
ParamNbrligne,
|
||||
DateDebut,
|
||||
TextFieldIdFacture.getText(),
|
||||
(String) ChoiceBoxLocal.getValue(),
|
||||
TextFieldCodeClt.getText(),
|
||||
TextFieldCINClt.getText(),
|
||||
TextFieldNomClt.getText(),
|
||||
false );
|
||||
|
||||
TableViewTraiteCltRetard.setItems(ListTraiteCltRetards);
|
||||
|
||||
return null;
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
ThreadSearchTraiteCltRetard.setOnSucceeded(new EventHandler<WorkerStateEvent>(){
|
||||
@Override
|
||||
public void handle(WorkerStateEvent event){
|
||||
ProgressBarTraiteClt.setVisible(false);
|
||||
ButtonSearchTraiteCltRetard.setDisable(false);
|
||||
}
|
||||
});
|
||||
ThreadSearchTraiteCltRetard.start();
|
||||
}
|
||||
|
||||
private void GestionSearchTraiteCltRetard()
|
||||
{
|
||||
NbrLigne.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
|
||||
|
||||
public void changed(ObservableValue ov, Number value, Number new_value) {
|
||||
nbrligne= Integer.parseInt((String) cursors.get(new_value.intValue()));
|
||||
if(totalcount % nbrligne==0){ nbrpage = totalcount / nbrligne ;}
|
||||
else{ nbrpage = (totalcount / nbrligne) + 1 ; }
|
||||
NbrPage.setText(Integer.toString(nbrpage));
|
||||
position=0;
|
||||
ActuellePage.setText("1");
|
||||
actuellepage=1;
|
||||
NextLastSearchTraiteCltRetard(position, nbrligne);
|
||||
}
|
||||
});
|
||||
|
||||
if(totalcount % nbrligne==0){ nbrpage = totalcount / nbrligne ;}
|
||||
else{ nbrpage = (totalcount / nbrligne) + 1 ; }
|
||||
NbrPage.setText(Integer.toString(nbrpage));
|
||||
|
||||
|
||||
//next page
|
||||
nextgroupe.setOnMousePressed(new EventHandler<MouseEvent>(){
|
||||
@Override
|
||||
public void handle(MouseEvent event) {
|
||||
if(actuellepage<nbrpage)
|
||||
{
|
||||
position=position+nbrligne;
|
||||
NextLastSearchTraiteCltRetard(position, nbrligne);
|
||||
actuellepage=actuellepage+1 ;
|
||||
ActuellePage.setText(Integer.toString(actuellepage));
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//last page
|
||||
lastgroupe.setOnMousePressed(new EventHandler<MouseEvent>(){
|
||||
@Override
|
||||
public void handle(MouseEvent event) {
|
||||
if(actuellepage>1)
|
||||
{
|
||||
position=position-nbrligne;
|
||||
NextLastSearchTraiteCltRetard(position, nbrligne);
|
||||
actuellepage=actuellepage-1 ;
|
||||
ActuellePage.setText(Integer.toString(actuellepage));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//next page avec pas de 5
|
||||
avancergroupe.setOnMousePressed(new EventHandler<MouseEvent>(){
|
||||
@Override
|
||||
public void handle(MouseEvent event) {
|
||||
if(actuellepage+3<nbrpage)
|
||||
{
|
||||
position=(position+4)+nbrligne;
|
||||
NextLastSearchTraiteCltRetard(position, nbrligne);
|
||||
actuellepage=actuellepage+3 ;
|
||||
ActuellePage.setText(Integer.toString(actuellepage));
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//last page avec un pas de -5
|
||||
retourgroupe.setOnMousePressed(new EventHandler<MouseEvent>(){
|
||||
@Override
|
||||
public void handle(MouseEvent event) {
|
||||
if(actuellepage-3>1){
|
||||
position=(position-4)-nbrligne;
|
||||
NextLastSearchTraiteCltRetard(position, nbrligne);
|
||||
actuellepage=actuellepage-3 ;
|
||||
ActuellePage.setText(Integer.toString(actuellepage));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user