co.com.codesoftware.facturacion.ajax.controlador.AjaxControllerFacturacion.java Source code

Java tutorial

Introduction

Here is the source code for co.com.codesoftware.facturacion.ajax.controlador.AjaxControllerFacturacion.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package co.com.codesoftware.facturacion.ajax.controlador;

import co.com.codesoftware.contabilidad.logica.ContabilidadLogica;
import co.com.codesoftware.facturacion.entity.ProductosFactEntitiy;
import co.com.codesoftware.facturacion.logica.RemisionLogica;
import co.com.codesoftware.parametros.Parametro;
import co.com.codesoftware.producto.logica.ProductoLogica;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
import com.opensymphony.xwork2.ActionSupport;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.SessionAware;

/**
 *
 * @author Personal
 */
public class AjaxControllerFacturacion extends ActionSupport implements SessionAware {

    private static final long serialVersionUID = 1L;
    private String codigoBarras;
    private String dska_dska;
    private String refe_refe;
    private String rmce_rmce;
    private String cantidad;
    private String rmce_imei;
    private Map session;
    private Parametro parametros;
    private String descuento;
    private String productosArray;
    private String tipoPago;
    private String vlrTarjeta;

    /**
     * Funcion encargada de obtener los datos de un producto
     */
    public void traeProducto() {
        descuento = descuento.replaceAll("\\.", "");
        obtieneObjParametros();
        String respuesta;
        ProductoLogica logica = new ProductoLogica();
        RemisionLogica logicaR = new RemisionLogica();
        try {
            HttpServletResponse response = ServletActionContext.getResponse();
            response.setContentType("text/plain;charset=utf-8");
            PrintWriter out = response.getWriter();
            String[] elementos = codigoBarras.split("-");
            if (elementos[0].equalsIgnoreCase("1")) {
                respuesta = logica.buscaProductoXCodigoBarras(codigoBarras, parametros.getSede(), descuento);
            } else {
                respuesta = logicaR.consultaRemisionXId(codigoBarras);
            }
            out.print(respuesta);
            out.flush();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void traeProductoXid() {
        String respuesta = "";
        ProductoLogica logica = new ProductoLogica();
        obtieneObjParametros();
        try {
            HttpServletResponse response = ServletActionContext.getResponse();
            response.setContentType("text/plain;charset=utf-8");
            PrintWriter out = response.getWriter();
            respuesta = logica.buscaProdXIdProducto(dska_dska, parametros.getSede());
            out.print(respuesta);
            out.flush();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void obtieneDatosFact() {
        ProductoLogica logica = new ProductoLogica();
        obtieneObjParametros();
        try {
            HttpServletResponse response = ServletActionContext.getResponse();
            response.setContentType("text/plain;charset=utf-8");
            PrintWriter out = response.getWriter();
            String objJson = logica.adicionProdFactura(dska_dska, cantidad, parametros.getSede(), descuento);
            out.print(objJson);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void obtieneDatosFactRem() {
        RemisionLogica logica = new RemisionLogica();
        try {
            HttpServletResponse response = ServletActionContext.getResponse();
            response.setContentType("text/plain;charset=utf-8");
            PrintWriter out = response.getWriter();
            String objJson = logica.insertaRemision(rmce_rmce);
            out.print(objJson);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * Funcion encargada de realizar la acciond buscar una remision por
     */
    public void buscaRemisionXImei() {
        RemisionLogica logica = new RemisionLogica();
        try {
            HttpServletResponse response = ServletActionContext.getResponse();
            response.setContentType("text/plain;charset=utf-8");
            PrintWriter out = response.getWriter();
            String objJson = logica.consultaRemisionXImei(rmce_imei);
            out.print(objJson);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void obtieneObjParametros() {
        try {
            parametros = (Parametro) session.get("parametros");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void SimulaMoviContables() {
        try {
            this.obtieneObjParametros();
            HttpServletResponse response = ServletActionContext.getResponse();
            response.setContentType("text/plain;charset=utf-8");
            HttpServletRequest request = ServletActionContext.getRequest();
            PrintWriter out = response.getWriter();
            String objJson = "";
            Map<String, Object> rta = new HashMap<>();
            if (this.parametros == null) {
                rta.put("respuesta", "error");
                rta.put("traza", "sede nula por favor inicie de nuevo y ingrese su sede");
            } else {
                ArrayList<ProductosFactEntitiy> productos = generaListaProductos();
                if (productos.size() > 0) {
                    ContabilidadLogica logica = new ContabilidadLogica();
                    String valida = logica.generaSimulacionAsientoContable(productos, parametros.getSede(),
                            tipoPago, vlrTarjeta);
                    if (!"Ok".equalsIgnoreCase(valida)) {
                        rta.put("respuesta", "error");
                        rta.put("traza", valida);
                    } else {
                        String idTrans = logica.getIdTrans();
                        List movCont = logica.recuperaAsientoContableTemporal(idTrans);
                        if (movCont == null) {
                            rta.put("respuesta", "error");
                            rta.put("traza", "Error al obtener el asiento contable auxiliar");
                        } else {
                            rta.put("respuesta", "Ok");
                            rta.put("idTransTem", idTrans);
                            rta.put("objeto", movCont);
                        }
                    }
                }
            }
            Gson gson = new Gson();
            objJson = gson.toJson(rta);
            out.print(objJson);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public ArrayList<ProductosFactEntitiy> generaListaProductos() {
        JsonElement json = new JsonParser().parse(this.productosArray);
        JsonArray array = json.getAsJsonArray();
        Iterator iterator = array.iterator();
        ArrayList<ProductosFactEntitiy> productosList = null;
        while (iterator.hasNext()) {
            if (productosList == null) {
                productosList = new ArrayList<>();
            }
            JsonElement json2 = (JsonElement) iterator.next();
            Gson gson = new Gson();
            ProductosFactEntitiy prod = gson.fromJson(json2, ProductosFactEntitiy.class);
            productosList.add(prod);
        }
        return productosList;
    }

    public String getCodigoBarras() {
        return codigoBarras;
    }

    public void setCodigoBarras(String codigoBarras) {
        this.codigoBarras = codigoBarras;
    }

    public String getDska_dska() {
        return dska_dska;
    }

    public void setDska_dska(String dska_dska) {
        this.dska_dska = dska_dska;
    }

    public String getCantidad() {
        return cantidad;
    }

    public void setCantidad(String cantidad) {
        this.cantidad = cantidad;
    }

    public String getRefe_refe() {
        return refe_refe;
    }

    public void setRefe_refe(String refe_refe) {
        this.refe_refe = refe_refe;
    }

    public String getRmce_rmce() {
        return rmce_rmce;
    }

    public void setRmce_rmce(String rmce_rmce) {
        this.rmce_rmce = rmce_rmce;
    }

    public String getRmce_imei() {
        return rmce_imei;
    }

    public void setRmce_imei(String rmce_imei) {
        this.rmce_imei = rmce_imei;
    }

    public Map getSession() {
        return session;
    }

    public void setSession(Map session) {
        this.session = session;
    }

    public Parametro getParametros() {
        return parametros;
    }

    public void setParametros(Parametro parametros) {
        this.parametros = parametros;
    }

    public String getDescuento() {
        return descuento;
    }

    public void setDescuento(String descuento) {
        this.descuento = descuento;
    }

    public String getProductosArray() {
        return productosArray;
    }

    public void setProductosArray(String productosArray) {
        this.productosArray = productosArray;
    }

    public String getTipoPago() {
        return tipoPago;
    }

    public void setTipoPago(String tipoPago) {
        this.tipoPago = tipoPago;
    }

    public String getVlrTarjeta() {
        return vlrTarjeta;
    }

    public void setVlrTarjeta(String vlrTarjeta) {
        this.vlrTarjeta = vlrTarjeta;
    }

}