//********************************************************************
//********************************************************************
//*****Funciones para envio,calculo y busqueda de Compras*************
//*****Version:1.0
//*****Herramientas utilizadas:Jquery,ajax,json,JS,sweetalert
//*****Creador:Pedro Avila
//********************************************************************
//********************************************************************
// onsubmit para  el modulo addcompras
//************************************
//Lineas y calculos
//***************************************************
function get_lineas(){
  const datos ={'action':'getlineas','id':$('#id_d').val()};
  $.ajax({
    url: url_local,
    async:true,
    cache:false,
    data: datos,
    type: 'POST',
    dataType: 'json',
  })
  .done(function(data) {
    //obtengo los datos  de las lineas y creo su tabla 
    //*********************************************//
    let igv = 0,  desc = 0, totales =0,id_compra = $('#id_compra').val(),identidad=$('#identidad_num').val();
    let anticipo = 0,divisa = $('#divisa_change').val(),cambio = $('#cambioinput').val(),scambio='';
    $('.content-lineas-table').html('');

    //recorremos las lineas sea concepto o articulo//
    //*********************************************//

    if(!jQuery.isEmptyObject(data.date.lineas)){
      $.each(data.date.lineas, function(i,item){  
        let delinea=(item.dhber == 'debe') ? item.honorarios : '' , halinea=(item.dhber == 'haber') ? item.honorarios : '', ccostos = (item.ccostos_codigo !== null) ? item.ccostos_codigo : '' ;
        let dolares = (divisa == 'US' || divisa == 'USD') ? item.honorarios : '',cuentas  = item.cuentas_codigo;
        igv = parseFloat(item.hvalue);
        totales = parseFloat(item.total_h);

        //recorremos los items  de conceptos y articulos
        //**********************************************
        
        $('.content-lineas-table').append(
          `<tr class="fila-lineas-${item.id}Clinea" ><td>${item.cuentas_codigo}</td>
          <td></td>
          <td></td>
          <td>${item.cuentas_descripcion}</td>
          <td>${formatNumber(parseInt(dolares))}</td>
          <td>${formatNumber(delinea)}</td>
          <td>${formatNumber(halinea)}</td>
          </tr>`
        );
      });

      //recorremos las cuentas y validamos si viene por el debe o haber//
      //***************************************************************//

      $.each(data.date.cuentas, function(i,cuentas){
        if (!jQuery.isEmptyObject(cuentas)) {
            let dc =  '' , hc = '',dolares =  '';
            if (cuentas.cuenta == 'cuenta1'  && !jQuery.isEmptyObject(cuentas.dhber) && desc != 0) {
              if (divisa === 'US' || divisa === 'USD') {
                dc = (cuentas.dhber == 'debe') ? parseFloat(desc*cambio).toFixed(2) : '', hc = (cuentas.dhber == 'haber') ? parseFloat(desc*cambio).toFixed(2) : '',dolares = desc.toFixed(2);
              }else{
                dc = (cuentas.dhber == 'debe') ? desc : '' , hc = (cuentas.dhber == 'haber') ? desc : '';
              }
              $('.content-lineas-table').append(`<tr class="fila-${cuentas.id}"><td>${cuentas.codigo}</td>
                <td></td>
                <td></td>
                <td>${cuentas.descripcion}</td>
                <td>${formatNumber(dolares)}</td>
                <td>${formatNumber(dc)}</td>
                <td>${formatNumber(hc)}</td>
                </tr>`); 
            }else if (cuentas.cuenta == 'cuenta2' && !jQuery.isEmptyObject(cuentas.dhber) ) {
              if (divisa === 'US' || divisa === 'USD') {
                dc = (cuentas.dhber == 'debe') ? parseFloat(igv*cambio).toFixed(2) : '',hc = (cuentas.dhber == 'haber') ? parseFloat(igv*cambio).toFixed(2) : '',dolares = igv;
              }else{
                dc = (cuentas.dhber == 'debe') ? igv : '' , hc = (cuentas.dhber == 'haber') ? igv : '';
              }
              $('.content-lineas-table').append(`<tr class="fila-${cuentas.id}"><td>${cuentas.codigo}</td>
                <td></td>
                <td></td>
                <td>${cuentas.descripcion}</td>
                <td>${formatNumber(dolares)}</td>
                <td>${formatNumber(dc)}</td>
                <td>${formatNumber(hc)}</td>
                </tr>`); 
            }else if(cuentas.cuenta == 'cuenta3' && !jQuery.isEmptyObject(cuentas.dhber)){
              if (divisa === 'US' || divisa === 'USD') {
                dc = (cuentas.dhber == 'debe') ? parseFloat(totales*cambio).toFixed(2) : '', hc = (cuentas.dhber == 'haber') ? parseFloat(totales*cambio).toFixed(2) : '',dolares = totales;
              }else{
                dc = (cuentas.dhber == 'debe') ? totales : '' , hc = (cuentas.dhber == 'haber') ? totales : '';
              }
              $('.content-lineas-table').append(`<tr class="fila-${cuentas.id}"><td>${cuentas.codigo}</td>
                <td></td>
                <td></td>
                <td>${cuentas.descripcion}</td>
                <td>${formatNumber(dolares)}</td>
                <td>${formatNumber(dc)}</td>
                <td>${formatNumber(hc)}</td>
                </tr>`); 
            }
          }
        });
      }
      //recorremos los totales//
      //**********************//
      $.each(data.date.totales, function(i,item){  
        $(`#${i}`).val(parseFloat(item).toFixed(2));
        $(`#${i}_v`).val(formatNumber(parseFloat(item).toFixed(2)));
        scambio = parseFloat(item*cambio);
        $(`#${i}_cambio_v`).val(formatNumber(scambio.toFixed(2)));
        $(`#${i}_cambio`).val(scambio.toFixed(2));
      });
  })
  .fail(function(jqXHR, textStatus, errorThrown) {
    console.log("error");
    if (jqXHR.status === 200) {
      error_t +=1;
      if (error_t > 3) {
        alert('Existe un error en la ruta contacte al administrador');
      }else{
        console.log('error :'+error_t);
        get_lineas();
      }
    }
  })
  .always(function() {
    console.log("complete");
  });  
}
$.fn.datepicker.defaults.format = "yyyy-mm-dd";
$('.fec').datepicker({
    weekStart: 1,
    daysOfWeekHighlighted: "6,0",
    autoclose: true,
    todayHighlight: true,
});

// Calculos para  adicionar  conceptos y articulos
//************************************************
function calcula_valor(i){
  let honorario = $('#honorario').val() , rpertc = $('#rpertc').val(), rvalue = $('#rvalue');
  let value_tot = 0;
  value_tot = honorario;
  if (rpertc !== ''){
    let value_petc = Number(honorario*rpertc/100);
    rvalue.val(value_petc);
    value_tot = parseInt(value_tot)-value_petc;
  }
  $('#totalh').val(value_tot);
}


//otros calculos
//**************
function percentc(i){
  if($(i).val() === 'si'){
    $('#rpertc').val('8');
  }else{
    $('#rpertc').val('');
  }
  calcula_valor();
}
// fin de  calculos para conceptos 
// FIN de functions