191 lines
6.8 KiB
Plaintext
Executable File
191 lines
6.8 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á 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;
|
|
}
|
|
|
|
}
|