maia/.svn/pristine/86/860effc2d0b290e71ac9f4a06b8...

191 lines
6.6 KiB
Plaintext
Executable File

package com.fp.frontend.webservices.impl;
import java.io.ByteArrayInputStream;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import javax.jws.WebService;
import com.fp.common.logger.APPLogger;
import com.fp.dto.Request;
import com.fp.dto.Response;
import com.fp.frontend.controller.alfresco.AlfrescoController;
import com.fp.frontend.helper.CallerHelper;
import com.fp.frontend.webservices.ColaImpresionService;
import com.fp.persistence.parmas.dto.ws.ColaImpresionDto;
import com.fp.persistence.parmas.dto.ws.ImagenDto;
import com.fp.persistence.parmas.dto.ws.JefeCentroControlDto;
@WebService(endpointInterface="com.fp.frontend.webservices.ColaImpresionService")
public class ColaImpresionServiceImpl implements ColaImpresionService {
@SuppressWarnings("unchecked")
@Override
public List<ColaImpresionDto> obtenerDatosPendientesImprimir(String usercode) {
List<ColaImpresionDto> lcolaImpresion = null;
try {
CallerHelper callerHelper = new CallerHelper();
Request request = callerHelper.getRequest();
request.setCompany(1);
request.put("usercode", usercode);
request.put("estado", "PIMPR");
request.put("queryalias", "COLAIMPRESION");
Response response = callerHelper.executeQuery(request);
if(response.getResponseCode().compareTo(Response.RESPONSE_OK) == 0){
lcolaImpresion = (List<ColaImpresionDto>) response.get("COLAIMPRESION");
}
} catch (Throwable e) {
lcolaImpresion = null;
APPLogger.getLogger().error(e.getMessage(), e);
}
return lcolaImpresion;
}
@SuppressWarnings("unchecked")
@Override
public List<ColaImpresionDto> obtenerDocumentosImpresionProceso(
String codigoproceso) {
List<ColaImpresionDto> lcolaImpresion = null;
try {
CallerHelper callerHelper = new CallerHelper();
Request request = callerHelper.getRequest();
request.setCompany(1);
request.put("CODIGOSOLICITUD", codigoproceso);
request.put("queryalias", "IMPRESIONPROCESO");
Response response = callerHelper.executeQuery(request);
if(response.getResponseCode().compareTo(Response.RESPONSE_OK) == 0){
lcolaImpresion = (List<ColaImpresionDto>) response.get("COLAIMPRESION");
}
} catch (Throwable e) {
lcolaImpresion = null;
APPLogger.getLogger().error(e.getMessage(), e);
}
return lcolaImpresion;
}
@Override
public JefeCentroControlDto obtenerJefeCentroArmas(String numerodocumento) {
JefeCentroControlDto jefeCentroControl = null;
try {
CallerHelper callerHelper = new CallerHelper();
Request request = callerHelper.getRequest();
request.setCompany(1);
request.put("NUMERODOCUMENTO", numerodocumento);
request.put("queryalias", "JEFECENTRO");
Response response = callerHelper.executeQuery(request);
if(response.getResponseCode().compareTo(Response.RESPONSE_OK) == 0){
jefeCentroControl = (JefeCentroControlDto) response.get("JEFECENTRO");
}
} catch (Throwable e) {
APPLogger.getLogger().error(e.getMessage(), e);
}
return jefeCentroControl;
}
@Override
public ImagenDto obtenerImagenPersona(String numeroidentificacion) {
System.out.println("obtenerImagenPersona.........."+numeroidentificacion);
ImagenDto imagen = null;
try {
CallerHelper callerHelper = new CallerHelper();
Request request = callerHelper.getRequest();
request.setCompany(1);
request.put("NUMEROIDENTIFICACION", numeroidentificacion);
request.put("queryalias", "IMAGENPERSONA");
System.out.println("obtenerImagenPersona..........** "+numeroidentificacion);
Response response = callerHelper.executeQuery(request);
if(response.getResponseCode().compareTo(Response.RESPONSE_OK) == 0){
imagen = (ImagenDto) response.get("IMAGENPERSONA");
System.out.println("..Imagen.........."+imagen);
}
} catch (Throwable e) {
APPLogger.getLogger().error(e.getMessage(), e);
}
return imagen;
}
@Override
public String envioInforme(byte[] documento, String numerosolicitud) {
System.out.println("envioInforme............................"+numerosolicitud);
String responseStatus = "0";
try {
if(documento == null || numerosolicitud == null){
return "1";
}
CallerHelper callerHelper = new CallerHelper();
Request request = callerHelper.getRequest();
request.setCompany(1);
request.put("NUMEROSOLICITUD", numerosolicitud);
request.put("queryalias", "XPATHDOCUMENTOSOLICITUD");
request.setTransactionModule("30");
request.setTransactionCode(9995);
request.setTransactionVersion(1);
Response response = callerHelper.executeSave(request);
String xpathdocumento = null;
if(response.getResponseCode().compareTo(Response.RESPONSE_OK) == 0){
xpathdocumento = (String) response.get("XPATHDOCUMENTOSOLICITUD");
responseStatus = (String) response.get("RESPONSESTATUS");
}
if(xpathdocumento != null){
AlfrescoController alfrescoController = new AlfrescoController();
alfrescoController.uploadFileWebService(new ByteArrayInputStream(documento), obtenerNombreArchivoxPath(xpathdocumento), obtenerXpath(xpathdocumento),"admin");
responseStatus = "0";
} else{
responseStatus = "3";
}
} catch (Throwable e) {
responseStatus = "2";
}
return responseStatus;
}
/**
* Retorna el nombre del archivo del xpath enviado
* @param xpath
* @return
*/
private String obtenerNombreArchivoxPath(String xpath) {
String nombreArchivo = null;
int indice = xpath.lastIndexOf("/cm:");
nombreArchivo = xpath.substring(indice + 4);
return nombreArchivo;
}
/**
* Retorna el xpath de la ruta en donde se va a almacenar el documento
* @param xpath ruta en donde se almacenar&aacute; el archivo
* @return
*/
private String obtenerXpath(String xpath) {
String rutaXpath = null;
int indice = xpath.lastIndexOf("/cm:");
rutaXpath = xpath.substring(0, indice );
return rutaXpath;
}
/**
* Retorna la ruta base donde se almacenara dicho archivo
*
* @return
*/
public String getRutaDocumentoSolBase(Date fechaEmision, String numerosolicitud, String numerodocumento) {
StringBuilder ruta = null;
if (fechaEmision != null && numerosolicitud != null
&& numerodocumento != null) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(fechaEmision);
ruta = new StringBuilder("cm:Solicitud");
ruta = ruta.append("/cm:A-").append(calendar.get(Calendar.YEAR));
ruta = ruta.append("/cm:M-").append((calendar.get(Calendar.MONTH)+1) <= 9 ? "0" + (calendar.get(Calendar.MONTH) + 1) : (calendar.get(Calendar.MONTH)+1));
ruta = ruta.append("/cm:").append(numerosolicitud);
ruta = ruta.append("/cm:").append(numerodocumento+".pdf");
}
return ruta != null ? ruta.toString() : null;
}
}