Actualizacion DDA

parent 06622b4a
......@@ -186,7 +186,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<version>3.3.2</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
......
......@@ -189,7 +189,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<version>3.3.2</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
......
......@@ -200,7 +200,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<version>3.3.2</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
......
......@@ -192,7 +192,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<version>3.3.2</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
......
......@@ -33,6 +33,7 @@ public class AmortizacionBO {
String codigoActivo = null;
String mes = null;
String mesValida = null;
String subnumero = null;
try {
for (AmortizacionDTO activoFijo : activosFijos) {
......@@ -47,6 +48,7 @@ public class AmortizacionBO {
BeanUtilerias.trimStrings(activoFijo);
codigoActivo = activoFijo.getCodigoActivo();
subnumero = activoFijo.getSubnumero();
mes = activoFijo.getMes();
log.info(" Inicio de la validacion del activo fijo: " + codigoActivo + " con mes " + mes);
......@@ -74,7 +76,7 @@ public class AmortizacionBO {
amortizacionOrigen = new AmortizacionBD();
*/
idTitCtoOri = activoFijoDAO.getIdSapDeCtoTitulo(codigoActivo);
idTitCtoOri = activoFijoDAO.getIdSapDeCtoTitulo(codigoActivo,subnumero);
// if (idTitCtoOri == null)
// throw new ValidacionException("No existe titulo original asociado al activo fijo: " + codigoActivo);
......@@ -174,7 +176,7 @@ public class AmortizacionBO {
}
else if (!verificarNumero(activoFijo.getMontoActual(), false)) {
respuesta.setEstatus("DDA-202");
respuesta.setDescripcion("El parametro [montoActual] no empata con el formado 13 o 1 enteros . 2 o 0 decimales");
respuesta.setDescripcion("El parametro [montoActual] no empata con el formado 13 o 1 enteros . 12 o 0 decimales");
activoFijo.setMontoActual(this.verificarLongitud(activoFijo.getMontoActual(), 16));
}
......@@ -184,7 +186,7 @@ public class AmortizacionBO {
}
else if (!verificarNumero(activoFijo.getMontoAcumulado(), false)) {
respuesta.setEstatus("DDA-202");
respuesta.setDescripcion("El parametro [montoAcumulado] no empata con el formado 13 o 1 enteros . 2 o 0 decimales");
respuesta.setDescripcion("El parametro [montoAcumulado] no empata con el formado 13 o 1 enteros . 12 o 0 decimales");
activoFijo.setMontoAcumulado(this.verificarLongitud(activoFijo.getMontoAcumulado(), 16));
}
......@@ -202,9 +204,9 @@ public class AmortizacionBO {
respuesta.setEstatus("DDA-201");
respuesta.setDescripcion("Falta informacion en parametros[vnc]");
}
else if (!verificarNumero(activoFijo.getVnc().trim(), true)) {
else if (!isNumber(activoFijo.getVnc().trim())) {
respuesta.setEstatus("DDA-202");
respuesta.setDescripcion("El parametro [VNC] no empata con el formado 13 o 1 enteros . 2 o 0 decimales");
respuesta.setDescripcion("El parametro [VNC] no empata con el formado 13 o 1 enteros . 12 o 0 decimales");
activoFijo.setVnc(this.verificarLongitud(activoFijo.getVnc().trim(), 16));
}
......@@ -223,10 +225,19 @@ public class AmortizacionBO {
}
public boolean verificarNumero(String numero, boolean positivos) {
String pattern = positivos ? "^(\\d){0,13}\\.?\\d{0,2}$" : "^-?(\\d){0,13}\\.?\\d{0,2}$";
String pattern = positivos ? "^(\\d){0,13}\\.?\\d{0,12}$" : "^-?(\\d){0,13}\\.?\\d{0,12}$";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(numero);
return m.find();
}
public boolean isNumber(String input) {
try {
double numero = Double.parseDouble(input);
return true;
} catch (NumberFormatException e) {
return false;
}
}
}
......@@ -13,7 +13,7 @@ public interface AmortizacionDAO {
public void notificarAmortizacionMensualDLA(AmortizacionBD item) ;
public Long getIdSapDeCtoTitulo(String idSap) ;
public Long getIdSapDeCtoTitulo(@Param("idSap")String idSap,@Param("subnumero")String subnumero) ;
public Long selectNextIdAmortSap();
......
......@@ -35,7 +35,7 @@
</insert>
<select id="getIdSapDeCtoTitulo" parameterType="map" resultType="long">
SELECT MAX(ID_TITULO_CNTORIG) as ID_TITULO_CNTORIG FROM DDA_T_CONTRATO_TITULO WHERE ID_SAP = #{idSap}
SELECT MAX(ID_TITULO_CNTORIG) as ID_TITULO_CNTORIG FROM DDA_T_CONTRATO_TITULO WHERE ID_SAP = #{idSap} AND SUBNUMERO = #{subnumero}
</select>
<select id="selectNextIdAmortSap" resultType="long" >
......
......@@ -210,7 +210,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<version>3.3.2</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
......
......@@ -193,7 +193,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<version>3.3.2</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
......
......@@ -219,7 +219,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<version>3.3.2</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
......
......@@ -214,7 +214,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<version>3.3.2</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
......
......@@ -187,7 +187,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<version>3.3.2</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
......
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.mx.dla</groupId>
<artifactId>sap-integration</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>ddaTitulosSapWS</artifactId>
<packaging>war</packaging>
<properties>
<spring-core.version>3.1.0.RELEASE</spring-core.version>
<myBatiz.version>3.2.2</myBatiz.version>
<myBatiz.spring.version>1.2.0</myBatiz.spring.version>
<servlet.api>3.0.1</servlet.api>
<jackson.version>1.9.13</jackson.version>
<sl4f.version>1.7.7</sl4f.version>
<cxf.version>2.7.6</cxf.version>
</properties>
<dependencies>
<!-- Dependencias Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring-core.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring-core.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring-core.version}</version>
</dependency>
<!-- Dependencias Ibatiz -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${myBatiz.version}</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>${myBatiz.spring.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${servlet.api}</version>
</dependency>
<!-- Dependencias jackson -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-jaxrs</artifactId>
<version>${jackson.version}</version>
</dependency>
<!-- Dependencias logs-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${sl4f.version}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${sl4f.version}</version>
</dependency>
<!-- CXF -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf.version}</version>
</dependency>
<!-- otras -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.2.1</version>
</dependency>
</dependencies>
<profiles>
<profile>
<id>development</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<p.resources.dir>${project.basedir}/profiles/development/resources</p.resources.dir>
<p.resources>${project.basedir}/src/main/resources</p.resources>
</properties>
<build>
<finalName>ddaTitulosSapWS</finalName>
<resources>
<resource>
<directory>${p.resources.dir}</directory>
<filtering>false</filtering>
</resource>
<resource>
<directory>${p.resources}</directory>
<filtering>false</filtering>
</resource>
</resources>
</build>
</profile>
<profile>
<id>qa</id>
<properties>
<p.resources.dir>${project.basedir}/profiles/qa/resources</p.resources.dir>
<p.resources>${project.basedir}/src/main/resources</p.resources>
</properties>
<build>
<finalName>ddaTitulosSapWS</finalName>
<resources>
<resource>
<directory>${p.resources.dir}</directory>
<filtering>false</filtering>
</resource>
<resource>
<directory>${p.resources}</directory>
<filtering>false</filtering>
</resource>
</resources>
</build>
</profile>
<profile>
<id>production</id>
<properties>
<p.resources.dir>${project.basedir}/profiles/production/resources</p.resources.dir>
<p.resources>${project.basedir}/src/main/resources</p.resources>
</properties>
<build>
<finalName>ddaTitulosSapWS</finalName>
<resources>
<resource>
<directory>${p.resources.dir}</directory>
<filtering>false</filtering>
</resource>
<resource>
<directory>${p.resources}</directory>
<filtering>false</filtering>
</resource>
</resources>
</build>
</profile>
</profiles>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.2</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>${server.url}</url>
<server>${server.id}</server>
<path>/${project.build.finalName}</path>
</configuration>
</plugin>
</plugins>
</build>
</project>
##-- Variables config generales
database.jndi=jdbc/DBDLA
##-- Variables config generales
database.jndi=jdbc/DBDLA
##-- Variables config generales
database.jndi=jdbc/DBDLA
package com.mx.dla.dda.catalogo.generales.dtos;
import java.io.Serializable;
public class RespuestaDTO implements Serializable {
private static final long serialVersionUID = 1L;
private String estatus;
private String descripcion;
public String getEstatus() {
return estatus;
}
public void setEstatus(String estatus) {
this.estatus = estatus;
}
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
/* @Override
public String toString() {
return "RespuestaDTO [estatus=" + estatus + ", descripcion="
+ descripcion + "]";
}*/
}
package com.mx.dla.dda.catalogo.material.bos;
import java.sql.SQLException;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import com.mx.dla.dda.catalogo.generales.dtos.RespuestaDTO;
import com.mx.dla.dda.catalogo.material.daos.MaterialDAO;
import com.mx.dla.dda.catalogo.material.dtos.MaterialCollectionDTO;
//import com.mx.dla.dda.catalogo.material.dtos.MaterialDTO;
//import com.mx.dla.dda.catalogo.material.dtos.MaterialI1DTO;
import com.mx.dla.dda.catalogo.material.dtos.TituloDTO;
import com.mx.dla.dda.catalogo.material.dtos.TituloI1DTO;
import com.mx.dla.dda.catalogo.material.trans.TransformaSAPToDDA;
public class MaterialBO {
@Autowired
private MaterialDAO materialDAO;
private static Logger log = Logger.getLogger(MaterialBO.class);
public RespuestaDTO agregaMaterialBO(MaterialCollectionDTO materiales) {
RespuestaDTO respuesta = null;
TituloI1DTO materialI1DTO = null;
Long idMaterial = null;
boolean valido=true;
for (TituloDTO material : materiales.getMateriales()) {
log.info(" <<<< Datos del titulo >>>" );
log.info( material.toString() );
log.info(" Inicio de la validacion del Titulo:" + material.getCodigoSap() );
respuesta = validaMaterial(material);
log.info(" Fin de la validacion del titulo:" + material.getCodigoSap() + " con resultado: " + respuesta.getEstatus() );
if( !respuesta.getEstatus().equals( "OK" ) ) {
valido=false;
log.info("Detalle de error: "+respuesta.getDescripcion());
respuesta.setEstatus("ERROR");
break;
}
}
try {
for (TituloDTO material : materiales.getMateriales()) {
if( valido ) {
// materialI1DTO = TransformaSAPToDDA.getMaterialI1DTO(material);
// materialI1DTO.setDescripcion(respuesta.getDescripcion());
// materialI1DTO.setEstatus(respuesta.getEstatus());
//
// log.info(" Inicio de la busqueda el ID del material:" + material.getNombre() );
// idMaterial = materialDAO.obtenerIdMaterial(materialI1DTO.getCodigo());
// log.info(" Fin de la busqueda ID del material:" + idMaterial );
// if(idMaterial == null){
//
// log.info(" Inicio de la insercion del material:" + idMaterial );
// materialDAO.agregarMaterial(materialI1DTO);
// log.info(" Fin de la insercion del material:" + idMaterial );
//
// }else{
//
log.info(" Inicio de la insercion de la amortizacion :" + idMaterial );
// materialI1DTO.setIdMaterial(idMaterial);
// materialDAO.actualizaMaterial(materialI1DTO);
// log.info(" Fin de la actualizacion del material:" + idMaterial );
//
// }
}
}
// } catch (SQLException e) {
// log.info("Ocurrio un error en agregaMaterialBO");
// log.info(e.getMessage());
} catch(Exception e){
log.info("Ocurrio un error en agregaMaterialBO");
log.info(e.getMessage());
}
return respuesta;
}
private RespuestaDTO validaMaterial(TituloDTO material){
RespuestaDTO respuesta = new RespuestaDTO();
respuesta.setEstatus("OK");
respuesta.setDescripcion("Datos registrados correctamente");
if(material.getCodigoSap() == null || material.getCodigoSap().equals("")){
respuesta.setEstatus("DDA-201");
respuesta.setDescripcion("Falta parmetro codigo");
}else if(material.getCodigoSap().length() > 12){
respuesta.setEstatus("DDA-202");
respuesta.setDescripcion("El parmetro [codigoSAP] excede tamao");
material.setCodigoSap(material.getCodigoSap().substring(0, 12));
}
if(material.getSubNumero() == null || material.getSubNumero().equals("")){
respuesta.setEstatus("DDA-203");
respuesta.setDescripcion("Falta parmetro subNumero");
}else if(material.getSubNumero().length() > 6){
respuesta.setEstatus("DDA-204");
respuesta.setDescripcion("El parmetro [subNumero] excede tamao");
material.setSubNumero(material.getSubNumero().substring(0, 6));
}
if(material.getCodigoDDA() == null || material.getCodigoDDA().equals("")){
respuesta.setEstatus("DDA-205");
respuesta.setDescripcion("Falta parmetro CodigoDDA");
}else if(material.getCodigoDDA().length() > 10){
respuesta.setEstatus("DDA-206");
respuesta.setDescripcion("El parmetro [CodigoDDA] excede tamao");
material.setSubNumero(material.getCodigoDDA().substring(0, 10));
}
if( material.getAmortizacionMes() != null && !material.getAmortizacionMes().equals("") && material.getAmortizacionMes().length() > 30){
respuesta.setEstatus("DDA-207");
respuesta.setDescripcion("El parmetro AmortizacionMes es invalido");
material.setAmortizacionMes(material.getAmortizacionMes().substring(0, 30));
}
if(material.getAmortizacionAcumulada() == null || material.getAmortizacionAcumulada().equals("")){
respuesta.setEstatus("DDA-208");
respuesta.setDescripcion("Falta parmetro AmortizacionAcumulada");
}else if(material.getAmortizacionAcumulada().length() > 30){
respuesta.setEstatus("DDA-209");
respuesta.setDescripcion("El parmetro [AmortizacionAcumulada] excede tamao");
material.setAmortizacionAcumulada(material.getAmortizacionAcumulada().substring(0, 30));
}
if(material.getAmortizacionAcumuladaIE() == null || material.getAmortizacionAcumuladaIE().equals("")){
respuesta.setEstatus("DDA-210");
respuesta.setDescripcion("Falta parmetro AmortizacionAcumuladaIE");
}else if(material.getAmortizacionAcumuladaIE().length() > 30){
respuesta.setEstatus("DDA-211");
respuesta.setDescripcion("El parmetro [AmortizacionAcumuladaIE] excede tamao");
material.setAmortizacionAcumuladaIE(material.getAmortizacionAcumuladaIE().substring(0, 30));
}
if(material.getCostoTotal() == null || material.getCostoTotal().equals("")){
respuesta.setEstatus("DDA-212");
respuesta.setDescripcion("Falta parmetro CostoTotal");
}else if(material.getCostoTotal().length() > 30){
respuesta.setEstatus("DDA-213");
respuesta.setDescripcion("El parmetro [unidad] excede tamao");
material.setCostoTotal(material.getCostoTotal().substring(0, 30));
}
return respuesta;
}
}
package com.mx.dla.dda.catalogo.material.daos;
import java.sql.SQLException;
import org.apache.ibatis.annotations.Param;
import com.mx.dla.dda.catalogo.material.dtos.TituloI1DTO;
public interface MaterialDAO {
public void agregarMaterial(TituloI1DTO material) throws SQLException;
public Long obtenerIdMaterial(@Param("codigoSap") String codigoSap) throws SQLException;
public void actualizaMaterial(TituloI1DTO material) throws SQLException;
}
package com.mx.dla.dda.catalogo.material.dtos;
import java.io.Serializable;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class MaterialCollectionDTO implements Serializable {
private static final long serialVersionUID = 1L;
@XmlElement(required = true)
private List<TituloDTO> materiales;
public List<TituloDTO> getMateriales() {
return materiales;
}
public void setMateriales(List<TituloDTO> materiales) {
this.materiales = materiales;
}
}
package com.mx.dla.dda.catalogo.material.dtos;
import java.io.Serializable;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class TituloDTO implements Serializable {
private static final long serialVersionUID = 1L;
@XmlElement(required = true)
private String codigoSap;
@XmlElement(required = true)
private String subNumero;
@XmlElement(required = true)
private String codigoDDA;
@XmlElement(required = true)
private String amortizacionMes;
@XmlElement(required = true)
private String amortizacionAcumulada;
@XmlElement(required = true)
private String amortizacionAcumuladaIE;
@XmlElement(required = true)
private String costoTotal;
public String getCodigoSap() {
return codigoSap;
}
public void setCodigoSap(String codigoSap) {
this.codigoSap = codigoSap;
}
public String getSubNumero() {
return subNumero;
}
public void setSubNumero(String subNumero) {
this.subNumero = subNumero;
}
public String getCodigoDDA() {
return codigoDDA;
}
public void setCodigoDDA(String codigoDDA) {
this.codigoDDA = codigoDDA;
}
public String getAmortizacionMes() {
return amortizacionMes;
}
public void setAmortizacionMes(String amortizacionMes) {
this.amortizacionMes = amortizacionMes;
}
public String getAmortizacionAcumulada() {
return amortizacionAcumulada;
}
public void setAmortizacionAcumulada(String amortizacionAcumulada) {
this.amortizacionAcumulada = amortizacionAcumulada;
}
public String getAmortizacionAcumuladaIE() {
return amortizacionAcumuladaIE;
}
public void setAmortizacionAcumuladaIE(String amortizacionAcumuladaIE) {
this.amortizacionAcumuladaIE = amortizacionAcumuladaIE;
}
public String getCostoTotal() {
return costoTotal;
}
public void setCostoTotal(String costoTotal) {
this.costoTotal = costoTotal;
}
@Override
public String toString() {
return "MaterialDTO [codigo=" + codigoSap
+ ", nombre=" + subNumero
+ ", unidad=" + codigoDDA
+ ", iso=" + amortizacionMes
+ ", nMaterialAntiguo=" + amortizacionAcumulada
+ amortizacionAcumuladaIE
+ costoTotal+"]";
}
}
package com.mx.dla.dda.catalogo.material.dtos;
import javax.xml.bind.annotation.XmlElement;
public class TituloI1DTO {
private Long idMaterial;
private String codigoSap;
private String subNumero;
private String codigoDDA;
private String amortizacionMes;
private String amortizacionAcumulada;
private String amortizacionAcumuladaIE;
private String costoTotal;
public Long getIdMaterial() {
return idMaterial;
}
public void setIdMaterial(Long idMaterial) {
this.idMaterial = idMaterial;
}
public String getCodigoSap() {
return codigoSap;
}
public void setCodigoSap(String codigoSap) {
this.codigoSap = codigoSap;
}
public String getSubNumero() {
return subNumero;
}
public void setSubNumero(String subNumero) {
this.subNumero = subNumero;
}
public String getCodigoDDA() {
return codigoDDA;
}
public void setCodigoDDA(String codigoDDA) {
this.codigoDDA = codigoDDA;
}
public String getAmortizacionMes() {
return amortizacionMes;
}
public void setAmortizacionMes(String amortizacionMes) {
this.amortizacionMes = amortizacionMes;
}
public String getAmortizacionAcumulada() {
return amortizacionAcumulada;
}
public void setAmortizacionAcumulada(String amortizacionAcumulada) {
this.amortizacionAcumulada = amortizacionAcumulada;
}
public String getAmortizacionAcumuladaIE() {
return amortizacionAcumuladaIE;
}
public void setAmortizacionAcumuladaIE(String amortizacionAcumuladaIE) {
this.amortizacionAcumuladaIE = amortizacionAcumuladaIE;
}
public String getCostoTotal() {
return costoTotal;
}
public void setCostoTotal(String costoTotal) {
this.costoTotal = costoTotal;
}
}
package com.mx.dla.dda.catalogo.material.trans;
import com.mx.dla.dda.catalogo.material.dtos.TituloDTO;
import com.mx.dla.dda.catalogo.material.dtos.TituloI1DTO;
public class TransformaSAPToDDA {
public static TituloI1DTO getMaterialI1DTO(TituloDTO material){
TituloI1DTO materialI1DTO = new TituloI1DTO();
materialI1DTO.setCodigoSap(material.getCodigoSap());
materialI1DTO.setSubNumero(material.getSubNumero());
materialI1DTO.setCodigoDDA(material.getCodigoDDA());
materialI1DTO.setAmortizacionMes(material.getAmortizacionMes());;
materialI1DTO.setAmortizacionAcumulada(material.getAmortizacionAcumulada());
materialI1DTO.setAmortizacionAcumuladaIE(material.getAmortizacionAcumuladaIE());
materialI1DTO.setCostoTotal(material.getCostoTotal());
return materialI1DTO;
}
}
package com.mx.dla.dda.catalogo.material.ws;
import javax.jws.WebResult;
import javax.jws.WebService;
import com.mx.dla.dda.catalogo.generales.dtos.RespuestaDTO;
import com.mx.dla.dda.catalogo.material.dtos.MaterialCollectionDTO;
@WebService(targetNamespace = "http://ws.material.catalogo.dda.dla.mx.com")
public interface IMaterialWS {
@WebResult(name = "agregarTitulosSap")
public RespuestaDTO agregarTitulosSap(MaterialCollectionDTO parametro);
}
package com.mx.dla.dda.catalogo.material.ws;
import javax.jws.WebService;
import javax.ws.rs.Path;
import org.apache.log4j.Logger;
import com.mx.dla.dda.catalogo.generales.dtos.RespuestaDTO;
import com.mx.dla.dda.catalogo.material.bos.MaterialBO;
import com.mx.dla.dda.catalogo.material.dtos.MaterialCollectionDTO;
/**
*
* @author RFD
*@see para desplegarlo hay que seguir el patron: http://ipAddress:port/projectName/services/
* ejemplo: http://localhost:8088/ddaCatalogosWS/services/abmlTitulosSap?wsdl
*
*/
@WebService(endpointInterface = "com.mx.dla.dda.catalogo.material.ws.IMaterialWS", serviceName = "idabmlTitulosSap")
public class MaterialWS implements IMaterialWS {
private static Logger log = Logger.getLogger(MaterialWS.class);
private MaterialBO materialBO;
@Override
@Path("/agregarTitulosSap")
public RespuestaDTO agregarTitulosSap(MaterialCollectionDTO parametro) {
RespuestaDTO respuesta = new RespuestaDTO();
respuesta.setEstatus("ERROR");
try {
log.info("------- Inicio de WS de carga de Titulos Sap -------");
respuesta = materialBO.agregaMaterialBO(parametro);
if(!respuesta.getEstatus().equals("OK")) respuesta.setEstatus("ERROR");
log.info("------- Fin de WS de carga de Titulos SAP -------");
} catch (Exception exc) {
log.info("Ocurrio un error en agregarTituloSap");
log.info(exc.getMessage());
}
return respuesta;
}
public MaterialBO getMaterialBO() {
return materialBO;
}
public void setMaterialBO(MaterialBO materialBO) {
this.materialBO = materialBO;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/jee
http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package="com.mx.dla.dda.catalogo" />
<context:property-placeholder location="classpath:general.properties" />
<import resource="classpath:applicationContextDB.xml"/>
<import resource="classpath:applicationContextWS.xml"/>
<bean id="idMaterialBO" class="com.mx.dla.dda.catalogo.material.bos.MaterialBO" />
<!-- log4j setting -->
<!-- <bean id="log4jInitialization"
class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetClass" value="org.springframework.util.Log4jConfigurer" />
<property name="targetMethod" value="initLogging" />
<property name="arguments">
<list>
<value>classpath:log4j.local.properties</value>
</list>
</property>
</bean> -->
</beans>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/jee
http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
<tx:annotation-driven transaction-manager="transactionManager" />
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
p:dataSource-ref="dataSource" />
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis-config.xml" />
<property name="mapperLocations" value="classpath:mappers/*.xml" />
</bean>
<!-- Tomar en cuenta los diferentes lugares donde se colocarán los daos -->
<bean id="myBatisScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.mx.dla.dda.catalogo" />
</bean>
<jee:jndi-lookup id="dataSource" jndi-name="${database.jndi}"
resource-ref="true" />
</beans>
\ No newline at end of file
<?xml version="1.0" encoding="ISO-8859-1"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxrs
http://cxf.apache.org/schemas/jaxrs.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<jaxws:endpoint id="idabmlTitulosSap" address="/abmlTitulosSap">
<jaxws:implementor>
<ref bean="idMaterialWS" />
</jaxws:implementor>
</jaxws:endpoint>
<bean id="idMaterialWS" class="com.mx.dla.dda.catalogo.material.ws.MaterialWS">
<property name="materialBO" ref="idMaterialBO" />
</bean>
</beans>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true"
xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
</layout>
</appender>
<appender name="file" class="org.apache.log4j.RollingFileAppender">
<param name="append" value="false" />
<param name="maxFileSize" value="10MB" />
<param name="maxBackupIndex" value="10" />
<param name="file" value="/opt/apache-tomcat-7.0.99/bin/logs/interfacesWS/ddaCatalogosWS.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
</layout>
</appender>
<root>
<level value="INFO" />
<!-- <appender-ref ref="console" /> -->
<appender-ref ref="file" />
</root>
</log4j:configuration>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mx.dla.dda.catalogo.material.daos.MaterialDAO">
<resultMap id="result" type="TituloI1DTO">
<id property="idMaterial" column="ID_MATERIAL" />
<result property="codigo" column="CODIGO_SAP"/>
<result property="nombre" column="DESC_MATERIAL"/>
<result property="unidad" column="UNIDAD_MEDIDA"/>
<result property="iso" column="CODIGO_ISO_MEDIDA"/>
<result property="nMaterialAntiguo" column="MATERIAL_ANTIGUO"/>
<result property="estatus" column="ESTATUS"/>
<result property="descripcion" column="DESCRIPCION"/>
</resultMap>
<select id="obtenerIdMaterial" resultType="Long">
SELECT ID_MATERIAL FROM DDA_C_MATERIAL WHERE CODIGO_SAP=#{codigoSap ,javaType=String, jdbcType=VARCHAR}
</select>
<insert id="agregarMaterial" parameterType="TituloI1DTO" useGeneratedKeys="true" keyProperty="idMaterial">
<selectKey keyProperty="idMaterial" resultType="long" order="BEFORE">
SELECT DDA_SQC_MATERIAL.nextVal FROM DUAL
</selectKey>
INSERT INTO DDA_C_MATERIAL (ID_MATERIAL, CODIGO_SAP, DESC_MATERIAL, UNIDAD_MEDIDA, CODIGO_ISO_MEDIDA, MATERIAL_ANTIGUO)
VALUES (#{idMaterial, javaType=long, jdbcType=NUMERIC},
#{codigo, javaType=String, jdbcType=VARCHAR},
#{nombre, javaType=String, jdbcType=VARCHAR},
#{unidad, javaType=String, jdbcType=VARCHAR},
#{iso, javaType=String, jdbcType=VARCHAR},
#{nMaterialAntiguo, javaType=String, jdbcType=VARCHAR})
</insert>
<update id="actualizaMaterial" parameterType="TituloI1DTO">
UPDATE DDA_C_MATERIAL
SET CODIGO_SAP=#{codigo, javaType=String, jdbcType=VARCHAR},
DESC_MATERIAL=#{nombre, javaType=String, jdbcType=VARCHAR},
UNIDAD_MEDIDA=#{unidad, javaType=String, jdbcType=VARCHAR},
CODIGO_ISO_MEDIDA=#{iso, javaType=String, jdbcType=VARCHAR},
MATERIAL_ANTIGUO=#{nMaterialAntiguo, javaType=String, jdbcType=VARCHAR}
WHERE ID_MATERIAL=#{idMaterial, javaType=long, jdbcType=NUMERIC}
</update>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties>
</properties>
<typeAliases>
<package name="com.mx.dla.dda.catalogo.material.dtos" />
</typeAliases>
</configuration>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/ddaTitulosSapWS"/>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>ddaTitulosSapWS</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Documentar los siguientes dos elementos que tiene que ver con CXF -->
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
</web-app>
\ No newline at end of file
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<center>
<h3>DDA Ttulos SAP Web Services.</h3>
</center>
</body>
</html>
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment