public static final SQLRowValues getGraphToFetch( Configuration conf, SQLTable table, List<SQLField> fieldsToFetch) { if (fieldsToFetch == null) return null; final SQLRowValues vals = new SQLRowValues(table); for (final SQLField f : fieldsToFetch) { vals.put(f.getName(), null); } // keep order field in graph (not only in graphToFetch) so that a debug column is created for (final Path orderP : Collections.singletonList(new Path(table))) { final SQLRowValues orderVals = vals.followPath(orderP); if (orderVals != null && orderVals.getTable().isOrdered()) { orderVals.put(orderVals.getTable().getOrderField().getName(), null); } } getShowAs(conf).expand(vals); return vals; }
private void genereMouvement() throws IllegalArgumentException { SQLRow saisieRow = GenerationMvtSaisieVenteComptoir.saisieVCTable.getRow(this.idSaisieVenteComptoir); SQLRow clientRow = base.getTable("CLIENT").getRow(saisieRow.getInt("ID_CLIENT")); SQLRow taxeRow = base.getTable("TAXE").getRow(saisieRow.getInt("ID_TAXE")); // Calcul des montants PrixTTC prixTTC = new PrixTTC(((Long) saisieRow.getObject("MONTANT_TTC")).longValue()); PrixHT prixHT = new PrixHT(prixTTC.calculLongHT(taxeRow.getFloat("TAUX") / 100)); long service = ((Long) saisieRow.getObject("MONTANT_SERVICE")).longValue(); // iniatilisation des valeurs de la map this.date = (Date) saisieRow.getObject("DATE"); String string = "Vente comptoir "; final String rowLib = saisieRow.getObject("NOM").toString(); if (rowLib != null && rowLib.trim().length() > 0) { string += rowLib.trim(); } else { string += saisieRow.getForeignRow("ID_ARTICLE").getString("NOM"); } this.nom = string; this.mEcritures.put("DATE", this.date); this.mEcritures.put("NOM", this.nom); this.mEcritures.put("ID_JOURNAL", GenerationMvtSaisieVenteComptoir.journal); this.mEcritures.put("ID_MOUVEMENT", new Integer(1)); // on calcule le nouveau numero de mouvement if (this.idMvt == 1) { this.idMvt = getNewMouvement( GenerationMvtSaisieVenteComptoir.source, this.idSaisieVenteComptoir, 1, string); this.mEcritures.put("ID_MOUVEMENT", new Integer(this.idMvt)); } // generation des ecritures + maj des totaux du compte associe // compte Vente if (service != 0) { int idCompteVenteService = rowPrefsCompte.getInt("ID_COMPTE_PCE_VENTE_SERVICE"); if (idCompteVenteService <= 1) { try { idCompteVenteService = ComptePCESQLElement.getIdComptePceDefault("VentesServices"); } catch (Exception e) { e.printStackTrace(); } } this.mEcritures.put("ID_COMPTE_PCE", new Integer(idCompteVenteService)); this.mEcritures.put("DEBIT", new Long(0)); this.mEcritures.put("CREDIT", new Long(service)); ajoutEcriture(); // System.out.println("___________---> Value " + (prixHT.getValue() - service)); if ((prixHT.getLongValue() - service) > 0) { int idCompteVenteProduit = rowPrefsCompte.getInt("ID_COMPTE_PCE_VENTE_PRODUIT"); if (idCompteVenteProduit <= 1) { try { idCompteVenteProduit = ComptePCESQLElement.getIdComptePceDefault("VentesProduits"); } catch (Exception e) { e.printStackTrace(); } } this.mEcritures.put("ID_COMPTE_PCE", new Integer(idCompteVenteProduit)); this.mEcritures.put("DEBIT", new Long(0)); this.mEcritures.put("CREDIT", new Long(prixHT.getLongValue() - service)); ajoutEcriture(); } } else { int idCompteVenteProduit = rowPrefsCompte.getInt("ID_COMPTE_PCE_VENTE_PRODUIT"); if (idCompteVenteProduit <= 1) { try { idCompteVenteProduit = ComptePCESQLElement.getIdComptePceDefault("VentesProduits"); } catch (Exception e) { e.printStackTrace(); } } this.mEcritures.put("ID_COMPTE_PCE", new Integer(idCompteVenteProduit)); this.mEcritures.put("DEBIT", new Long(0)); this.mEcritures.put("CREDIT", new Long(prixHT.getLongValue())); ajoutEcriture(); } // compte TVA long tva = prixTTC.calculLongTVA(taxeRow.getFloat("TAUX") / 100.0); if (tva > 0) { int idCompteTVA = rowPrefsCompte.getInt("ID_COMPTE_PCE_TVA_VENTE"); if (idCompteTVA <= 1) { try { idCompteTVA = ComptePCESQLElement.getIdComptePceDefault("TVACollectee"); } catch (Exception e) { e.printStackTrace(); } } this.mEcritures.put("ID_COMPTE_PCE", new Integer(idCompteTVA)); this.mEcritures.put("DEBIT", new Long(0)); this.mEcritures.put("CREDIT", new Long(tva)); ajoutEcriture(); } // compte Clients int idCompteClient = clientRow.getInt("ID_COMPTE_PCE"); if (idCompteClient <= 1) { idCompteClient = rowPrefsCompte.getInt("ID_COMPTE_PCE_CLIENT"); if (idCompteClient <= 1) { try { idCompteClient = ComptePCESQLElement.getIdComptePceDefault("Clients"); } catch (Exception e) { e.printStackTrace(); } } } this.mEcritures.put("ID_COMPTE_PCE", new Integer(idCompteClient)); this.mEcritures.put("DEBIT", new Long(prixTTC.getLongValue())); this.mEcritures.put("CREDIT", new Long(0)); ajoutEcriture(); // Règlement String s = "Vente comptoir "; final String name = saisieRow.getObject("NOM").toString(); if (name != null && rowLib.trim().length() > 0) { s += name.trim(); } else { s += saisieRow.getForeignRow("ID_ARTICLE").getString("NOM"); } SQLRow modeRegRow = saisieRow.getForeignRow("ID_MODE_REGLEMENT"); new GenerationReglementVenteNG( s, clientRow, prixTTC, this.date, modeRegRow, saisieRow, mvtTable.getRow(this.idMvt)); // On place le nuemro de mouvement associe à la saisie SQLRowValues valSaisieVC = new SQLRowValues(GenerationMvtSaisieVenteComptoir.saisieVCTable); valSaisieVC.put("ID_MOUVEMENT", new Integer(this.idMvt)); try { if (valSaisieVC.getInvalid() == null) { // ajout de l'ecriture valSaisieVC.update(this.idSaisieVenteComptoir); } } catch (SQLException e) { System.err.println( "Erreur à l'insertion dans la table " + valSaisieVC.getTable().getName() + " : " + e); e.printStackTrace(); } }