package it.acxent.art; import it.acxent.db.ApplParmFull; import it.acxent.db.WcString; import it.acxent.util.Vectumerator; import java.io.Serializable; import java.sql.PreparedStatement; import java.sql.SQLException; public class Accessorio extends _ArtAdapter implements Serializable { private static final long serialVersionUID = 805633752521639067L; private long id_accessorio; private long id_articoloAssociato; private Articolo articoloAssociato; private TipoAccessorio tipoAccessorioAssociato; private ArticoloVariante articoloVariante; private long id_articolo; private long id_articoloVariante; private long id_articoloVarianteAssociato; private Articolo articolo; private ArticoloVariante articoloVarianteAssociato; private long flgEstendiVariante; public Accessorio(ApplParmFull newApplParmFull) { super(newApplParmFull); } public Accessorio() {} public void setId_accessorio(long newId_accessorio) { this.id_accessorio = newId_accessorio; setTipoAccessorioAssociato(null); } public void setId_articoloAssociato(long newId_articolo) { this.id_articoloAssociato = newId_articolo; setArticoloAssociato(null); } public long getId_articoloAssociato() { return this.id_articoloAssociato; } public void setArticoloAssociato(Articolo newArticolo) { this.articoloAssociato = newArticolo; } public Articolo getArticoloAssociato() { this.articoloAssociato = (Articolo)getSecondaryObject(this.articoloAssociato, Articolo.class, getId_articoloAssociato()); return this.articoloAssociato; } protected void deleteCascade() {} public Vectumerator findByCR(AccessorioCR CR, int pageNumber, int pageRows) { String s_Sql_Find = "select A.* from ACCESSORIO AS A"; String s_Sql_Order = ""; WcString wc = new WcString(); try { PreparedStatement stmt = getConn().prepareStatement(s_Sql_Find + s_Sql_Find + wc.toString()); return findRows(stmt, pageNumber, pageRows); } catch (SQLException e) { handleDebug(e); return AB_EMPTY_VECTUMERATOR; } } public long getId_accessorio() { return this.id_accessorio; } public TipoAccessorio getTipoAccessorioAssociato(long l_id) { if (this.tipoAccessorioAssociato == null && getId_accessorio() != 0L) this .tipoAccessorioAssociato = getArticoloAssociato(l_id).getTipoAccessorio(); return (this.tipoAccessorioAssociato == null) ? new TipoAccessorio(getApFull()) : this.tipoAccessorioAssociato; } public void setTipoAccessorioAssociato(TipoAccessorio newTipoAccessorio) { this.tipoAccessorioAssociato = newTipoAccessorio; } public Vectumerator findById_articolo(long l_id_articolo, long l_id_tipoAccessorio, long l_id_tipoAcc, long l_flgEscludiWeb, int pageNumber, int pageRows) { String s_Sql_Find = "select A.* , B.nome from ACCESSORIO AS A, ARTICOLO AS B, TIPO_ACCESSORIO AS T"; String s_Sql_Order = " order by B.nome"; WcString wc = new WcString(); wc.addWc("A.id_articolo=B.id_articolo"); wc.addWc("((A.id_articolo=" + l_id_articolo + " and (T.flgDirezione=0 or T.flgDirezione is null or T.flgDirezione=1 )) or (id_articoloAssociato=" + l_id_articolo + " and (T.flgDirezione=0 or T.flgDirezione is null )))"); if (l_id_tipoAccessorio > 0L) wc.addWc("B.id_tipoAccessorio=" + l_id_tipoAccessorio); if (l_id_tipoAcc > 0L) { s_Sql_Find = s_Sql_Find + ", TIPO AS C"; wc.addWc("B.id_tipo=C.id_tipo"); wc.addWc("(B.id_tipo=" + l_id_tipoAcc + " or C.indici like'%:" + l_id_tipoAcc + ":%')"); } try { PreparedStatement stmt = getConn().prepareStatement(s_Sql_Find + s_Sql_Find + wc.toString()); Vectumerator vec = findRows(stmt, pageNumber, pageRows); if (l_flgEscludiWeb >= 0L) { Vectumerator res = new Vectumerator(); while (vec.hasMoreElements()) { Accessorio row = (Accessorio)vec.nextElement(); System.out.println(row.getArticoloAssociato(l_id_articolo) .getNome()); if (row.getArticoloAssociato(l_id_articolo) .getFlgEscludiWeb() == l_flgEscludiWeb) res.add(row); } return res; } return vec; } catch (SQLException e) { handleDebug(e); return AB_EMPTY_VECTUMERATOR; } } public Vectumerator findById_articoloVariante(long l_id_articoloVariante, int pageNumber, int pageRows) { String s_Sql_Find = "select A.* from ACCESSORIO AS A"; String s_Sql_Order = ""; WcString wc = new WcString(); wc.addWc("(id_articoloVariante=" + l_id_articoloVariante + " or id_articoloVarianteAssociato=" + l_id_articoloVariante + ")"); try { PreparedStatement stmt = getConn().prepareStatement(s_Sql_Find + s_Sql_Find + wc.toString()); return findRows(stmt, pageNumber, pageRows); } catch (SQLException e) { handleDebug(e); return AB_EMPTY_VECTUMERATOR; } } public Vectumerator findById_articoloVarianteDisponibile(long l_id_articoloVariante, int pageNumber, int pageRows) { String s_Sql_Find = "select A.* from ACCESSORIO AS A, DISPONIBILITA AS C"; String s_Sql_Order = ""; WcString wc = new WcString(); wc.addWc("A.id_articoloVarianteAssociato=C.id_articoloVarianteD"); wc.addWc("A.id_articoloVariante=" + l_id_articoloVariante); wc.addWc("C.quantitaD>0"); try { PreparedStatement stmt = getConn().prepareStatement(s_Sql_Find + s_Sql_Find + wc.toString()); return findRows(stmt, pageNumber, pageRows); } catch (SQLException e) { handleDebug(e); return AB_EMPTY_VECTUMERATOR; } } public String getDirezione(long l_id) { if (getDBState() == 0) return TipoAccessorio.getDirezione(99L); if (getTipoAccessorioAssociato(l_id).getFlgDirezione() == 0L) return getTipoAccessorioAssociato(l_id).getDirezione(); if (l_id == getId_articolo() || l_id == getId_articoloVariante()) return getTipoAccessorioAssociato(l_id).getDirezione(); if (l_id == getId_articoloAssociato() || l_id == getId_articoloVarianteAssociato()) return TipoAccessorio.getDirezione( -getTipoAccessorioAssociato(l_id).getFlgDirezione()); return "???"; } public void setArticolo(Articolo articolo) { this.articolo = articolo; } public long getId_articolo() { return this.id_articolo; } public void setId_articolo(long id_articolo) { this.id_articolo = id_articolo; setArticolo(null); } public ArticoloVariante getArticoloVariante() { this.articoloVariante = (ArticoloVariante)getSecondaryObject(this.articoloVariante, ArticoloVariante.class, getId_articoloVariante()); return this.articoloVariante; } public void setArticoloVariante(ArticoloVariante articoloVariante) { this.articoloVariante = articoloVariante; } public ArticoloVariante getArticoloVarianteAssociato() { this.articoloVarianteAssociato = (ArticoloVariante)getSecondaryObject(this.articoloVarianteAssociato, ArticoloVariante.class, getId_articoloVarianteAssociato()); return this.articoloVarianteAssociato; } public void setArticoloVarianteAssociato(ArticoloVariante articoloVarianteAssociato) { this.articoloVarianteAssociato = articoloVarianteAssociato; } public long getId_articoloVariante() { return this.id_articoloVariante; } public void setId_articoloVariante(long id_articoloVariante) { this.id_articoloVariante = id_articoloVariante; setArticoloVariante(null); } public long getId_articoloVarianteAssociato() { return this.id_articoloVarianteAssociato; } public void setId_articoloVarianteAssociato(long id_articoloVarianteAssociato) { this.id_articoloVarianteAssociato = id_articoloVarianteAssociato; setArticoloVarianteAssociato(null); } public Articolo getArticolo() { this.articolo = (Articolo)getSecondaryObject(this.articolo, Articolo.class, getId_articolo()); return this.articolo; } public long getId_articoloAssociato(long l_id) { if (l_id == getId_articoloAssociato()) return getId_articolo(); if (l_id == getId_articolo()) return getId_articoloAssociato(); return 0L; } public void findById_articoloId_associato(long l_id_articolo, long l_id_articoloAssociato) { String s_Sql_Find = "select A.* from ACCESSORIO AS A"; String s_Sql_Order = ""; WcString wc = new WcString(); wc.addWc("((id_articolo=" + l_id_articolo + " and id_articoloAssociato=" + l_id_articoloAssociato + ") or(id_articolo=" + l_id_articoloAssociato + " and id_articoloAssociato=" + l_id_articolo + "))"); try { PreparedStatement stmt = getConn().prepareStatement(s_Sql_Find + s_Sql_Find + wc.toString()); findFirstRecord(stmt); } catch (SQLException e) { handleDebug(e); } } public Articolo getArticoloAssociato(long l_id) { if (l_id == getId_articoloAssociato()) return getArticolo(); if (l_id == getId_articolo()) return getArticoloAssociato(); return new Articolo(getApFull()); } public Vectumerator findById_articoloAssociati(long l_id_articolo, boolean flgDisponibile, int pageNumber, int pageRows) { String s_Sql_Find = "select A.* from ACCESSORIO AS A, TIPO_ACCESSORIO AS B"; String s_Sql_Order = ""; WcString wc = new WcString(); wc.addWc("((A.id_articolo=" + l_id_articolo + " and (B.flgDirezione=0 or B.flgDirezione is null or B.flgDirezione=1 )) or (id_articoloAssociato=" + l_id_articolo + " and (B.flgDirezione=0 or B.flgDirezione is null )))"); if (flgDisponibile) { s_Sql_Find = s_Sql_Find + ", ARTICOLO AS C"; wc.addWc("A.id_articolo=C.id_articolo or A.id_articoloAssocioato=C.id_articolo"); wc.addWc("C.nColliArt>0"); } try { PreparedStatement stmt = getConn().prepareStatement(s_Sql_Find + s_Sql_Find + wc.toString()); return findRows(stmt, pageNumber, pageRows); } catch (SQLException e) { handleDebug(e); return AB_EMPTY_VECTUMERATOR; } } public long getFlgEstendiVariante() { return this.flgEstendiVariante; } public void setFlgEstendiVariante(long flgEstendiVariante) { this.flgEstendiVariante = flgEstendiVariante; } }