1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
| ArrayList<tablecalcul> tablecalcullist = new ArrayList<>();
ArrayList<assiettecalcul> assiettecalcullist = new ArrayList<>();
// remplissage du tableau tablecalcullist
while (srs.next()) {
tablecalcul tbcal = new tablecalcul();
tbcal.setBegin_date2(srs.getDate("Date de debut"));
tbcal.setEnd_date2(srs.getDate("Date de fin"));
tbcal.setSal_base(srs.getInt("Salaire"));
tbcal.setTauxsal(srs.getFloat("TauxSal"));
tbcal.setTauxemp(srs.getFloat("TauxEmp"));
tbcal.setMontant(srs.getFloat("Prime"));
tbcal.setLblrubrique(srs.getString("Nom Rubrique"));
tbcal.setTauxrubrique(srs.getFloat("Taux rubrique"));
tablecalcullist.add(tbcal);
}
// initialisation des valeurs pour la comparaison
montant=tablecalcullist.get(0).getMontant();
tauxsal=tablecalcullist.get(0).getTauxsal();
tauxemp=tablecalcullist.get(0).getTauxemp();
// assiette=tablecalcullist.get(0).getSal_base();
// assiette de calcul (somme des rubrique)
assiette=0;
//si=tablecalcullist.get(0).getSal_base();
si=Integer.parseInt(txt_soldeindiciaire.getText().trim());
base=si;
// assiette de calcul (somme des assiettes)
calassiette=0;
ArrayList<AuraitDu> tableauraitdulist = new ArrayList<>();
for (i=0;i<tablecalcullist.size();i++) {
// on verifie si les taux salarié et employeur ont pas changé
if ((tauxsal == tablecalcullist.get(i).getTauxemp())&&(tauxemp == tablecalcullist.get(i).getTauxsal())) {
calassiette = (tablecalcullist.get(i).getSal_base()*tablecalcullist.get(i).getTauxrubrique());
assiette = assiette + calassiette;
date1a=tablecalcullist.get(0).getBegin_date2();
date2a=tablecalcullist.get(i).getEnd_date2();
} else {
jDateChooser1.setDate(tablecalcullist.get(i-1).getdatedebut());
jDateChooser2.setDate(tablecalcullist.get(i-1).getdatefin());
long millis1a = jDateChooser1.getCalendar().getTimeInMillis();
long millis2a = jDateChooser2.getCalendar().getTimeInMillis();
// Calculate difference in milliseconds
long diffa = millis2a - millis1a;
// Calculate difference in days
long diffDaysa = diffa / (24 * 60 * 60 * 1000);
base=(si+assiette+montant)*12;
partsalarie=(base*tauxsal*diffDaysa)/36000;
partemployeur=(base*tauxemp*diffDaysa)/36000;
//reinitialise les valeus de comparaison
tauxsal=tablecalcullist.get(i).getTauxsal();
tauxemp=tablecalcullist.get(i).getTauxemp();
AuraitDu tbad = new AuraitDu();
tbad.setDatedebutad(tablecalcullist.get(i-1).getdatedebut());
tbad.setDatefinad(tablecalcullist.get(i-1).getdatefin());
tbad.setNbjour(diffDaysa);
tbad.setSi(tablecalcullist.get(i-1).getSal_base());
tbad.setBase(base);
tbad.setAr(partsalarie);
tbad.setRr(partemployeur);
tbad.setTauxagad(tablecalcullist.get(i-1).getTauxsal());
tbad.setTauxempad(tablecalcullist.get(i-1).getTauxemp());
tableauraitdulist.add(tbad);
}
// insertion dans la base de donnée pour faciliter le calcul avec des intervalles sans variation de taux
String val = txt_matricule.getText();
// try{
for (i=0;i<tableauraitdulist.size();i++) {
//JOptionPane.showMessageDialog(null," "+val+ " "+date1+" "+date2+" "+diffDays+" "+si+" "+eb+" "+rr+" "+ar);
String reg= "insert into auraitdu (matricule,datedebutad,datefinad,nbjourad,tauxagad,tauxempad,si,eb,rr,ar) values ('"+val+"','"+tableauraitdulist.get(i).getDatedebutad()+"','"+tableauraitdulist.get(i).getDatefinad()+"','"+tableauraitdulist.get(i).getNbjour()+"','"+tableauraitdulist.get(i).getTauxagad()+"','"+tableauraitdulist.get(i).getTauxempad()+"','"+tableauraitdulist.get(i).getSi()+"','"+tableauraitdulist.get(i).getEb()+"','"+tableauraitdulist.get(i).getRr()+"','"+tableauraitdulist.get(i).getAr()+"' )";
//Days.daysBetween(new DateTime(date1), new DateTime(date2)).getDays()
pst1=conn.prepareStatement(reg);
pst1.execute();
} |
Partager