Regalamiunsorriso/decompiled-libs/www/acxent-common-1.0.1/it/acxent/art/ArticoloCliente.java

213 lines
6.1 KiB
Java

package it.acxent.art;
import it.acxent.anag.Clifor;
import it.acxent.db.ApplParmFull;
import it.acxent.db.DBAdapter;
import it.acxent.db.ResParm;
import it.acxent.db.WcString;
import it.acxent.util.StringTokenizer;
import it.acxent.util.Vectumerator;
import java.io.Serializable;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class ArticoloCliente extends DBAdapter implements Serializable {
private static final long serialVersionUID = 1607681273276L;
private long id_articoloCliente;
private long id_clifor;
private long id_articolo;
private long id_articoloVariante;
private long id_tipo;
private String indiciTipo;
private Clifor clifor;
private Articolo articolo;
private ArticoloVariante articoloVariante;
private Tipo tipo;
public ArticoloCliente(ApplParmFull newApplParmFull) {
super(newApplParmFull);
}
public ArticoloCliente() {}
public void setId_articoloCliente(long newId_articoloCliente) {
this.id_articoloCliente = newId_articoloCliente;
}
public void setId_clifor(long newId_clifor) {
this.id_clifor = newId_clifor;
setClifor(null);
}
public void setId_articolo(long newId_articolo) {
this.id_articolo = newId_articolo;
setArticolo(null);
}
public void setId_articoloVariante(long newId_articoloVariante) {
this.id_articoloVariante = newId_articoloVariante;
setArticoloVariante(null);
}
public void setId_tipo(long newId_tipo) {
this.id_tipo = newId_tipo;
setTipo(null);
}
public long getId_articoloCliente() {
return this.id_articoloCliente;
}
public long getId_clifor() {
return this.id_clifor;
}
public long getId_articolo() {
return this.id_articolo;
}
public long getId_articoloVariante() {
return this.id_articoloVariante;
}
public long getId_tipo() {
return this.id_tipo;
}
public void setClifor(Clifor newClifor) {
this.clifor = newClifor;
}
public Clifor getClifor() {
this.clifor = (Clifor)getSecondaryObject(this.clifor, Clifor.class, getId_clifor());
return this.clifor;
}
public void setArticolo(Articolo newArticolo) {
this.articolo = newArticolo;
}
public Articolo getArticolo() {
this.articolo = (Articolo)getSecondaryObject(this.articolo, Articolo.class, getId_articolo());
return this.articolo;
}
public void setArticoloVariante(ArticoloVariante newArticoloVariante) {
this.articoloVariante = newArticoloVariante;
}
public ArticoloVariante getArticoloVariante() {
this.articoloVariante = (ArticoloVariante)getSecondaryObject(this.articoloVariante, ArticoloVariante.class, getId_articoloVariante());
return this.articoloVariante;
}
public void setTipo(Tipo newTipo) {
this.tipo = newTipo;
}
public Tipo getTipo() {
this.tipo = (Tipo)getSecondaryObject(this.tipo, Tipo.class, getId_tipo());
return this.tipo;
}
protected ResParm checkDeleteCascade() {
return new ResParm(true);
}
protected void deleteCascade() {}
public Vectumerator<ArticoloCliente> findByCR(ArticoloClienteCR CR, int pageNumber, int pageRows) {
String s_Sql_Find = "select A.* from ARTICOLO_CLIENTE AS A";
String s_Sql_Order = "";
WcString wc = new WcString();
if (!CR.getSearchTxt().trim().isEmpty()) {
StringTokenizer st = new StringTokenizer(CR.getSearchTxt().trim(), " ");
StringBuffer txt = new StringBuffer("(");
while (st.hasMoreTokens()) {
String token = st.nextToken();
txt.append("(A.Cognome like '%" + token + "%' or A.Nome like '%" + token + "%')");
if (st.hasMoreTokens())
txt.append(" and ");
}
txt.append(")");
wc.addWc(txt.toString());
}
try {
PreparedStatement stmt = getConn().prepareStatement(s_Sql_Find + s_Sql_Find + wc.toString());
return findRows(stmt, pageNumber, pageRows);
} catch (SQLException e) {
removeCPConnection();
handleDebug(e);
return AB_EMPTY_VECTUMERATOR;
}
}
public String getDescrizioneCompleta() {
if (getId_tipo() > 0L)
return "Tipo: " + getTipo().getDescrizioneCompletaSpaces("it");
if (getId_articolo() > 0L)
return "Articolo: " + getArticolo().getDescrizioneCompleta();
if (getId_articoloVariante() > 0L)
return "Variante: " + getArticoloVariante().getDescrizioneCompleta();
return "Errore!!";
}
public Vectumerator<ArticoloCliente> findByClifor(long l_id_clifor) {
String s_Sql_Find = "select A.* from ARTICOLO_CLIENTE AS A LEFT JOIN TIPO AS T ON A.id_tipo=T.id_tipo left join ARTICOLO as AR on A.id_articolo=AR.id_articolo left join ARTICOLO_VARIANTE as AV on A.id_articoloVariante=AV.id_articoloVariante";
String s_Sql_Order = " order by T.descrizione, AR.nome, AV.nomeV\t";
WcString wc = new WcString();
wc.addWc("A.id_clifor=" + l_id_clifor);
try {
PreparedStatement stmt = getConn().prepareStatement(s_Sql_Find + s_Sql_Find + wc.toString());
return findRows(stmt);
} catch (SQLException e) {
handleDebug(e);
return AB_EMPTY_VECTUMERATOR;
}
}
public ResParm save() {
ResParm rp = super.save();
if (rp.getStatus())
if (getId_tipo() > 0L && !getTipo().isFoglia()) {
Vectumerator<Tipo> vec = getTipo().findFigli(0, 0);
while (vec.hasMoreElements()) {
Tipo row = (Tipo)vec.nextElement();
ArticoloCliente ac = new ArticoloCliente(getApFull());
ac.setId_clifor(getId_clifor());
ac.setId_tipo(row.getId_tipo());
ac.save();
}
}
return rp;
}
protected void prepareSave(PreparedStatement ps) throws SQLException {
if (getId_tipo() > 0L) {
setId_articolo(0L);
setId_articoloVariante(0L);
setIndiciTipo(getTipo().getIndici());
} else if (getId_articolo() > 0L) {
setId_articoloVariante(0L);
}
super.prepareSave(ps);
}
public String getIndiciTipo() {
return (this.indiciTipo == null) ? "" : this.indiciTipo;
}
public void setIndiciTipo(String indiciTipo) {
this.indiciTipo = indiciTipo;
}
}