/*
 * 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 com.cosmodas.FacadeCosmos;

import com.cosmodas.EntCosmos.NotaRemision;
import com.cosmodas.EntCosmos.WcRequisicionProducto;
import com.cosmodas.EntCosmos.WcrequisicionProductopapel;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import java.util.ArrayList;
import java.util.List;

@Stateless
public class WcrequisicionProductopapelFacade extends AbstractFacade<WcrequisicionProductopapel> implements WcrequisicionProductopapelFacadeLocal {

    @PersistenceContext(unitName = "wcosmodasPersistent")
    private EntityManager em;

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }

    public WcrequisicionProductopapelFacade() {
        super(WcrequisicionProductopapel.class);
    }


    @Override
    public String obtenerNuevoRemision(){

        StringBuilder sql = new StringBuilder("select lpad((max(nr.notare_codigo) +1), 6, '0') as codigo_siguiente from nota_remision nr where nr.notare_codigo");
        Query q = em.createNativeQuery(sql.toString());
        List<String> result = q.getResultList();

        String rs = result.get(0);
        return rs;

    }

    //insert  into detalle_remision (notare_codigo, notare_cantidad, notare_tipo) VALUES (?,?,?,?);

    @Override
    public void insertarDetalleRemision(String codigoRem, Integer cantidad, String produtoCodigo, String tipo){

        Query q = em.createNativeQuery("insert  into detalle_remision (notare_codigo, notare_cantidad, producto_codigo, notare_tipo) VALUES (?,?,?,?)");
        q.setParameter(1, codigoRem);
        q.setParameter(2, cantidad);
        q.setParameter(3, produtoCodigo);
        q.setParameter(4, tipo);
        q.executeUpdate();


    }

    @Override
    public void guardarRemision(NotaRemision nota) {

        em.persist(nota);
    }

}
