213 lines
6.1 KiB
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;
|
|
}
|
|
}
|