297 lines
10 KiB
Java
297 lines
10 KiB
Java
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<Accessorio> 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<Accessorio> 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<Accessorio> vec = findRows(stmt, pageNumber, pageRows);
|
|
if (l_flgEscludiWeb >= 0L) {
|
|
Vectumerator<Accessorio> 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<Accessorio> 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<Accessorio> 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<Accessorio> 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;
|
|
}
|
|
}
|