OpenConcerto

Dépôt officiel du code source de l'ERP OpenConcerto
sonarqube

svn://code.openconcerto.org/openconcerto

Rev

Rev 144 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 144 Rev 156
Line 11... Line 11...
11
 * When distributing the software, include this License Header Notice in each file.
11
 * When distributing the software, include this License Header Notice in each file.
12
 */
12
 */
13
 
13
 
14
 package org.openconcerto.erp.config;
14
 package org.openconcerto.erp.config;
15
 
15
 
-
 
16
import org.openconcerto.erp.config.DsnBrutCode.DsnTypeCodeBrut;
16
import org.openconcerto.sql.model.DBRoot;
17
import org.openconcerto.sql.model.DBRoot;
17
import org.openconcerto.sql.model.SQLBase;
18
import org.openconcerto.sql.model.SQLBase;
18
import org.openconcerto.sql.model.SQLName;
19
import org.openconcerto.sql.model.SQLName;
19
import org.openconcerto.sql.model.SQLRow;
20
import org.openconcerto.sql.model.SQLRow;
20
import org.openconcerto.sql.model.SQLRowListRSH;
21
import org.openconcerto.sql.model.SQLRowListRSH;
Line 28... Line 29...
28
import org.openconcerto.sql.request.UpdateBuilder;
29
import org.openconcerto.sql.request.UpdateBuilder;
29
import org.openconcerto.sql.utils.AlterTable;
30
import org.openconcerto.sql.utils.AlterTable;
30
import org.openconcerto.sql.utils.ReOrder;
31
import org.openconcerto.sql.utils.ReOrder;
31
import org.openconcerto.sql.utils.SQLCreateTable;
32
import org.openconcerto.sql.utils.SQLCreateTable;
32
import org.openconcerto.utils.Tuple2;
33
import org.openconcerto.utils.Tuple2;
-
 
34
import org.openconcerto.utils.Tuple3;
33
 
35
 
34
import java.sql.SQLException;
36
import java.sql.SQLException;
35
import java.util.ArrayList;
37
import java.util.ArrayList;
36
import java.util.Arrays;
38
import java.util.Arrays;
37
import java.util.HashMap;
39
import java.util.HashMap;
Line 624... Line 626...
624
 
626
 
625
        DSNUpdateRubrique dsnUpdateRubrique = new DSNUpdateRubrique(root);
627
        DSNUpdateRubrique dsnUpdateRubrique = new DSNUpdateRubrique(root);
626
        dsnUpdateRubrique.updateRubriqueCotisation();
628
        dsnUpdateRubrique.updateRubriqueCotisation();
627
 
629
 
628
        // PHASE 3
630
        // PHASE 3
-
 
631
        final SQLTable caisseCot = root.getTable("CAISSE_COTISATION");
629
        {
632
        {
630
            SQLTable tableCaisseCotisation = root.findTable("CAISSE_COTISATION");
633
            SQLTable tableCaisseCotisation = root.findTable("CAISSE_COTISATION");
631
            if (!tableCaisseCotisation.contains("ORG_PROTECTION_SOCIALE")) {
634
            if (!tableCaisseCotisation.contains("ORG_PROTECTION_SOCIALE")) {
632
                final AlterTable alterCaisse = new AlterTable(tableCaisseCotisation);
635
                final AlterTable alterCaisse = new AlterTable(tableCaisseCotisation);
633
                alterCaisse.addBooleanColumn("ORG_PROTECTION_SOCIALE", Boolean.FALSE, false);
636
                alterCaisse.addBooleanColumn("ORG_PROTECTION_SOCIALE", Boolean.FALSE, false);
Line 683... Line 686...
683
                createCaisseREnseignement.addVarCharColumn("ENTITE_AFFECTATION", 256);
686
                createCaisseREnseignement.addVarCharColumn("ENTITE_AFFECTATION", 256);
684
                createCaisseREnseignement.addBooleanColumn("ORGANISME_COMPLEMENTAIRE", Boolean.FALSE, false);
687
                createCaisseREnseignement.addBooleanColumn("ORGANISME_COMPLEMENTAIRE", Boolean.FALSE, false);
685
                createCaisseREnseignement.addBooleanColumn("PAIEMENT_TRIMESTRIEL", Boolean.FALSE, false);
688
                createCaisseREnseignement.addBooleanColumn("PAIEMENT_TRIMESTRIEL", Boolean.FALSE, false);
686
                createCaisseREnseignement.addVarCharColumn("CODE_DELEGATAIRE", 256);
689
                createCaisseREnseignement.addVarCharColumn("CODE_DELEGATAIRE", 256);
687
                createCaisseREnseignement.addForeignColumn("ID_CAISSE_MODE_PAIEMENT", root.getTable("CAISSE_MODE_PAIEMENT"));
690
                createCaisseREnseignement.addForeignColumn("ID_CAISSE_MODE_PAIEMENT", root.getTable("CAISSE_MODE_PAIEMENT"));
688
                createCaisseREnseignement.addForeignColumn("ID_CAISSE_COTISATION", root.getTable("CAISSE_COTISATION"));
691
                createCaisseREnseignement.addForeignColumn("ID_CAISSE_COTISATION", caisseCot);
689
                createCaisseREnseignement.addForeignColumn("ID_SOCIETE_COMMON", root.getTable("SOCIETE_COMMON"));
692
                createCaisseREnseignement.addForeignColumn("ID_SOCIETE_COMMON", root.getTable("SOCIETE_COMMON"));
690
                root.getBase().getDataSource().execute(createCaisseREnseignement.asString());
693
                root.getBase().getDataSource().execute(createCaisseREnseignement.asString());
691
                insertUndef(createCaisseREnseignement);
694
                insertUndef(createCaisseREnseignement);
692
                root.refetchTable("CAISSE_COTISATION_RENSEIGNEMENT");
695
                root.refetchTable("CAISSE_COTISATION_RENSEIGNEMENT");
693
                root.getSchema().updateVersion();
696
                root.getSchema().updateVersion();
Line 935... Line 938...
935
                Map<String, SQLRow> mapCodeInd = new HashMap<String, SQLRow>();
938
                Map<String, SQLRow> mapCodeInd = new HashMap<String, SQLRow>();
936
                for (SQLRow sqlRow : rowsCodeInd) {
939
                for (SQLRow sqlRow : rowsCodeInd) {
937
                    final String string = sqlRow.getString("CODE");
940
                    final String string = sqlRow.getString("CODE");
938
                    mapCodeInd.put(string, sqlRow);
941
                    mapCodeInd.put(string, sqlRow);
939
                }
942
                }
940
                final SQLTable tableCaisse = root.getTable("CAISSE_COTISATION");
943
                final SQLTable tableCaisse = caisseCot;
941
                SQLSelect selCodeCodeCaisse = new SQLSelect();
944
                SQLSelect selCodeCodeCaisse = new SQLSelect();
942
                selCodeCodeCaisse.addSelectStar(tableCaisse);
945
                selCodeCodeCaisse.addSelectStar(tableCaisse);
943
                List<SQLRow> rowsCodeCaisse = SQLRowListRSH.execute(selCodeCodeCaisse);
946
                List<SQLRow> rowsCodeCaisse = SQLRowListRSH.execute(selCodeCodeCaisse);
944
                Map<String, SQLRow> mapCodeCaisse = new HashMap<String, SQLRow>();
947
                Map<String, SQLRow> mapCodeCaisse = new HashMap<String, SQLRow>();
945
                for (SQLRow sqlRow : rowsCodeCaisse) {
948
                for (SQLRow sqlRow : rowsCodeCaisse) {
Line 989... Line 992...
989
            root.getSchema().updateVersion();
992
            root.getSchema().updateVersion();
990
        }
993
        }
991
 
994
 
992
        if (!tableRubNet.contains("ID_CAISSE_COTISATION")) {
995
        if (!tableRubNet.contains("ID_CAISSE_COTISATION")) {
993
            AlterTable alterRubNet = new AlterTable(tableRubNet);
996
            AlterTable alterRubNet = new AlterTable(tableRubNet);
994
            alterRubNet.addForeignColumn("ID_CAISSE_COTISATION", root.getTable("CAISSE_COTISATION"));
997
            alterRubNet.addForeignColumn("ID_CAISSE_COTISATION", caisseCot);
995
            root.getBase().getDataSource().execute(alterRubNet.asString());
998
            root.getBase().getDataSource().execute(alterRubNet.asString());
996
            root.refetchTable(tableRubNet.getName());
999
            root.refetchTable(tableRubNet.getName());
997
            root.getSchema().updateVersion();
1000
            root.getSchema().updateVersion();
998
        }
1001
        }
999
 
1002
 
Line 1123... Line 1126...
1123
            } catch (SQLException ex) {
1126
            } catch (SQLException ex) {
1124
                throw new IllegalStateException("Erreur lors de la création de la table " + "AYANT_DROIT_TYPE", ex);
1127
                throw new IllegalStateException("Erreur lors de la création de la table " + "AYANT_DROIT_TYPE", ex);
1125
            }
1128
            }
1126
        }
1129
        }
1127
 
1130
 
-
 
1131
        if (!root.contains("TYPE_TAUX_PAS")) {
-
 
1132
            final SQLCreateTable createTableMotif = new SQLCreateTable(root, "TYPE_TAUX_PAS");
-
 
1133
            createTableMotif.addVarCharColumn("CODE", 25);
-
 
1134
            createTableMotif.addVarCharColumn("NOM", 512);
-
 
1135
 
-
 
1136
            try {
-
 
1137
                root.getBase().getDataSource().execute(createTableMotif.asString());
-
 
1138
                insertUndef(createTableMotif);
-
 
1139
                root.refetchTable("TYPE_TAUX_PAS");
-
 
1140
                root.getSchema().updateVersion();
-
 
1141
 
-
 
1142
                final SQLTable table = root.getTable("TYPE_TAUX_PAS");
-
 
1143
                List<Tuple2<String, String>> v = new ArrayList<Tuple2<String, String>>();
-
 
1144
                v.add(Tuple2.create("01", " Taux transmis par la DGFIP"));
-
 
1145
                v.add(Tuple2.create("10", " Barème horaire métropole"));
-
 
1146
                v.add(Tuple2.create("11", " Barème quotidien métropole"));
-
 
1147
                v.add(Tuple2.create("12", " Barème hebdomadaire métropole"));
-
 
1148
                v.add(Tuple2.create("13", " Barème mensuel métropole"));
-
 
1149
                v.add(Tuple2.create("14", " Barème trimestriel métropole"));
-
 
1150
                v.add(Tuple2.create("15", " Barème semestriel métropole"));
-
 
1151
                v.add(Tuple2.create("16", " Barème annuel métropole"));
-
 
1152
                v.add(Tuple2.create("17", " Barème mathématique sur base mensuelle métropole"));
-
 
1153
                v.add(Tuple2.create("18", " Barème mathématique sur base annuelle métropole"));
-
 
1154
                v.add(Tuple2.create("20", " Barème horaire Guadeloupe, Réunion et Martinique"));
-
 
1155
                v.add(Tuple2.create("21", " Barème quotidien Guadeloupe, Réunion et Martinique"));
-
 
1156
                v.add(Tuple2.create("22", " Barème hebdomadaire Guadeloupe, Réunion et Martinique"));
-
 
1157
                v.add(Tuple2.create("23", " Barème mensuel Guadeloupe, Réunion et Martinique"));
-
 
1158
                v.add(Tuple2.create("24", " Barème trimestriel Guadeloupe, Réunion et Martinique"));
-
 
1159
                v.add(Tuple2.create("25", " Barème semestriel Guadeloupe, Réunion et Martinique"));
-
 
1160
                v.add(Tuple2.create("26", " Barème annuel Guadeloupe, Réunion et Martinique"));
-
 
1161
                v.add(Tuple2.create("27", " Barème mathématique sur base mensuelle Guadeloupe, Réunion et Martinique"));
-
 
1162
                v.add(Tuple2.create("28", " Barème mathématique sur base annuelle Guadeloupe, Réunion et Martinique"));
-
 
1163
                v.add(Tuple2.create("30", " Barème horaire Guyane et Mayotte"));
-
 
1164
                v.add(Tuple2.create("31", " Barème quotidien Guyane et Mayotte"));
-
 
1165
                v.add(Tuple2.create("32", " Barème hebdomadaire Guyane et Mayotte"));
-
 
1166
                v.add(Tuple2.create("33", " Barème mensuel Guyane et Mayotte"));
-
 
1167
                v.add(Tuple2.create("34", " Barème trimestriel Guyane et Mayotte"));
-
 
1168
                v.add(Tuple2.create("35", " Barème semestriel Guyane et Mayotte"));
-
 
1169
                v.add(Tuple2.create("36", " Barème annuel Guyane et Mayotte"));
-
 
1170
                v.add(Tuple2.create("37", " Barème mathématique sur base mensuelle Guyane et Mayotte"));
-
 
1171
                v.add(Tuple2.create("38", " Barème mathématique sur base annuelle Guyane et Mayotte"));
-
 
1172
                v.add(Tuple2.create("99", " Indu relatif à un exercice antérieur – pas de taux de PAS"));
-
 
1173
 
-
 
1174
                insertValues(v, table);
-
 
1175
            } catch (SQLException ex) {
-
 
1176
                throw new IllegalStateException("Erreur lors de la création de la table " + "TYPE_TAUX_PAS", ex);
-
 
1177
            }
-
 
1178
        }
-
 
1179
 
-
 
1180
        // P19V01.2
-
 
1181
        final SQLTable tableCotInd = root.getTable("CODE_COTISATION_INDIVIDUELLE");
-
 
1182
        List<Tuple2<String, String>> vCodeIndiv = new ArrayList<>();
-
 
1183
        vCodeIndiv.add(Tuple2.create("104", "Pénibilité Cotisation de base"));
-
 
1184
        vCodeIndiv.add(Tuple2.create("105", "Montant de cotisation Régime Unifié Agirc-Arrco y compris Apec"));
-
 
1185
        vCodeIndiv.add(Tuple2.create("106", "Réduction générale des cotisations patronales Agirc-Arrco"));
-
 
1186
        insertValues(vCodeIndiv, tableCotInd);
-
 
1187
 
-
 
1188
        final SQLTable tableCTP = root.getTable("CODE_CAISSE_TYPE_RUBRIQUE");
-
 
1189
        List<Tuple2<String, String>> vCTP = new ArrayList<>();
-
 
1190
        vCTP.add(Tuple2.create("003", "Réduction cotisations salariale heures supplémentaires"));
-
 
1191
        vCTP.add(Tuple2.create("510", "Prime exceptionnelle de pouvoir d’achat"));
-
 
1192
        insertValues(vCTP, tableCTP);
-
 
1193
 
-
 
1194
        final SQLTable tableTypeBrut = root.getTable("CODE_TYPE_RUBRIQUE_BRUT");
-
 
1195
        List<Tuple3<String, String, String>> vbrutType = new ArrayList<>();
-
 
1196
        vbrutType.add(Tuple3.create("016", "[FP] Heures affectées à un travail d’aide à domicile", DsnTypeCodeBrut.REMUNERATION.getName()));
-
 
1197
        vbrutType.add(Tuple3.create("017", "Heures supplémentaires ou complémentaires aléatoires", DsnTypeCodeBrut.REMUNERATION.getName()));
-
 
1198
        vbrutType.add(Tuple3.create("018", "Heures supplémentaires structurelles", DsnTypeCodeBrut.REMUNERATION.getName()));
-
 
1199
        DsnBrutCode dsnBurCode = new DsnBrutCode();
-
 
1200
        dsnBurCode.updateTable(vbrutType, tableTypeBrut);
-
 
1201
 
1128
    }
1202
    }
1129
 
1203
 
1130
    public void updateDSN(final DBRoot root) throws SQLException {
1204
    public void updateDSN(final DBRoot root) throws SQLException {
1131
        final SQLTable tableCodeStatutCat = root.getTable("CODE_STATUT_CATEGORIEL");
1205
        final SQLTable tableCodeStatutCat = root.getTable("CODE_STATUT_CATEGORIEL");
1132
        SQLRow rowNonCadre = tableCodeStatutCat.getRow(4);
1206
        SQLRow rowNonCadre = tableCodeStatutCat.getRow(4);