maia_modificado/.svn/pristine/e6/e66b797560f3559903749a1cb50...

92 lines
3.2 KiB
Plaintext
Executable File

package com.fp.person.rules.query;
import com.fp.bpm.query.Query;
import com.fp.dto.Response;
import com.fp.dto.query.QueryRequest;
import com.fp.dto.rules.QueryRule;
import java.util.List;
import com.fp.persistence.pcustomer.gene.TcustPersonAddress;
/**
*
* @author hinga
*/
public class DirectionFull extends QueryRule {
private String addressaux = "addressaux";
/**
* Metodo que entrega la direccion completa (concatenado)
*
* @param pQueryRequest Objeto que posee la consulta requerida.
* @return
* @throws Exception
*/
public QueryRequest process(QueryRequest pQueryRequest) throws Exception {
Response response = pQueryRequest.getResponse();
Query qry = new Query();
qry.process(pQueryRequest);
List<TcustPersonAddress> lovDirect = (List<TcustPersonAddress>) response.get("TCUSTPERSONADDRESSLOVFULL");
this.completeAddressJob(lovDirect);
if (lovDirect == null || (lovDirect != null && lovDirect.isEmpty())) {
return pQueryRequest;
}
return pQueryRequest;
}
/**
* Metodo q se encarga de concatenar la direccion en un solo campo
*
* @param lovDirection objeto que posee una lista de registros consultados
* de tcustPersonAddress
* @throws Exception
*/
protected void completeAddressJob(List<TcustPersonAddress> lovDirection) throws Exception {
for (Object addre : lovDirection) {
TcustPersonAddress tcustPersonAddress = (TcustPersonAddress) addre;
tcustPersonAddress.addAddtionalInfo(addressaux, DirectionFull.getFullAddress(tcustPersonAddress));
}
}
/**
* Metodo que se encarga de armar la direccion dada la direccion
*
* @param tcustPersonAddress
* @return
*/
public static String getFullAddress(TcustPersonAddress tcustPersonAddress) {
if (tcustPersonAddress == null) {
return null;
} else if (tcustPersonAddress.getAddresstypecatalog() != null
&& tcustPersonAddress.getAddresstypecatalog().compareTo("3") == 0) {
return tcustPersonAddress.getAddress();
} else {
String newaddress = "";
if (tcustPersonAddress.getAddress() != null) {
newaddress += tcustPersonAddress.getAddress();
}
if (tcustPersonAddress.getStreetnumber() != null) {
newaddress += " " + tcustPersonAddress.getStreetnumber();
}
if(tcustPersonAddress.getDepartment()!=null)
{
newaddress +=" ("+tcustPersonAddress.getDepartment()+")";
}
if (tcustPersonAddress.getStreet() != null) {
newaddress += " " + tcustPersonAddress.getStreet();
}
if (tcustPersonAddress.getUrbanization() != null) {
newaddress += " /" + tcustPersonAddress.getUrbanization();
}
if (tcustPersonAddress.getRemark() != null) {
newaddress += ", " + tcustPersonAddress.getRemark() ;
}
if (newaddress.compareTo("") == 0) {
newaddress = null;
}
return newaddress;
}
}
}