asignarRuta()
Seller Manager permite sincronizar las entregas con los pedidos realizados por el cliente. Mediante la aplicación móvil para conductores, éstos recibirán una hoja de ruta asignada. Las hojas de ruta tendrán información de entregas a realizar, cantidad de bultos y facturas pendientes de cobro. El método creará la hoja de ruta y las entregas correspondientes..
Código
Se pasa como parámetros: fecha de entrega, fecha de registro, código del conductor, número de hoja de ruta, sucursal y el Token. Contactenos si usted no tiene el token de su Empresa.
Se envían, además, los detalles de las entregas con los siguientes campos: código del cliente, nombre del cliente, N° Factura, valor de la factura, forma de pago, direccion, zona, telefono, código del vendedor, bultos, resmas, rollos.
//function asignarRuta
function asignarRuta(){
var fecha_entrega = $('#fecha_entrega').val(); //Fecha de entrega.
var fecha_registro = $('#fecha_registro').val(); //Fecha de registro
var driver_cod = $('#driver_cod').val(); //Código del Conductor
var hoja_ruta = $('#hoja_ruta').val(); //Número de hoja de ruta
var sucursal = $('#sucursal').val(); //Sucursal
//Campos del detalle
var i = 0;
var array_hojaruta_detalle = [];
var t = document.getElementById('hojaruta_detalle').getElementsByTagName('tbody')[0];
$("#hojaruta_detalle tbody tr").each(function() {
var codigo_cliente = $(t.rows[i].cells[0]).find('input').val();
var nombre_cliente = $(t.rows[i].cells[1]).find('input').val();
var factura = $(t.rows[i].cells[2]).find('input').val();
var forma_pago = $(t.rows[i].cells[3]).find('input').val();
var valor_factura = $(t.rows[i].cells[4]).find('input').val();
var telefono = $(t.rows[i].cells[5]).find('input').val();
var direccion = $(t.rows[i].cells[6]).find('input').val();
var zona = $(t.rows[i].cells[7]).find('input').val();
var vendedor_cod = $(t.rows[i].cells[8]).find('input').val();
var bultos = $(t.rows[i].cells[9]).find('input').val();
var resmas = $(t.rows[i].cells[10]).find('input').val();
var rollos = $(t.rows[i].cells[11]).find('input').val();
if($.trim(codigo_cliente)!='' && $.trim(nombre_cliente)!='' && $.trim(bultos)!=''){
objeto = {
codigo_cliente: codigo_cliente,
nombre_cliente: nombre_cliente,
factura: factura,
forma_pago: forma_pago,
valor_factura: valor_factura,
telefono: telefono,
direccion: direccion,
zona: zona,
vendedor_cod: vendedor_cod,
bultos: bultos,
resmas: resmas,
rollos: rollos
};
array_hojaruta_detalle.push(objeto);
}else{
alert('Por favor complete los campos.');
return false;
}
i++;
});
array_hojaruta_detalle = JSON.stringify(array_hojaruta_detalle);
params = {
fecha_entrega: fecha_entrega,
fecha_registro: fecha_registro,
driver_cod: driver_cod,
hoja_ruta: hoja_ruta,
sucursal: sucursal,
token: token,
array_hojaruta_detalle: array_hojaruta_detalle
}
callAPI('asignarRuta', params);
}
//////////////////////////////////////////////
Respuesta de la API: devuelve el ID de la hoja de ruta asignada al conductor en Seller Manager y un mensaje de confirmación.
if (data.code == 1) {
var idhojaruta = data.details.idhojaruta;
alert('La hoja de ruta ha sido asignada al conductor con éxito.');
}else{
alert(data.msg);
}
Ejemplo:
Asignar una hoja de ruta al Conductor: El ejemplo ha sido preparado para enviar la información de una hoja de ruta con una factura para cobranza. El método devuelve el ID de la hoja de ruta como confirmación de que ha sido recibida en Seller Manager
Usar de ejemplo el código de cliente:00001 y código de Conductor: ETG
<form id="frm-entrega" method="POST" onsubmit="return false;">
<div class="form-group">
<label for="fecha_entrega"> Fecha de Entrega</label>
<input id="fecha_entrega" type="text" placeholder="Ej. 2019-07-20" class="form-control">
</div>
<div class="form-group">
<label for="fecha_registro"> Fecha de Registro</label>
<input id="fecha_registro" type="text" placeholder="Ej. 2019-07-20" class="form-control">
</div>
<div class="form-group">
<label for="driver_cod">Código del Conductor</label>
<input type="text" id="driver_cod" required placeholder="Ej: ETG" class="form-control" >
</div>
<div class="form-group">
<label for="hoja_ruta">Hoja de Ruta</label>
<input id="hoja_ruta" type="text" placeholder="Ej: 000125" required class="form-control">
</div>
<div class="form-group">
<label for="sucursal">Sucursal</label>
<input type="text" id="sucursal" required placeholder="Ej: Almacén 9 de octubre" class="form-control" >
</div>
<hr style="border-bottom: 4px solid #369;">
<h4 class="text-primary">Detalle de la Hoja de Ruta:</h4>
<div class="form-group table-responsive">
<table id="hojaruta_detalle" class="table table-bordered table-info">
<thead>
<tr class="bg-info">
<th >Código Cliente</th>
<th >Nombre Cliente</th>
<th >Factura</th>
<th >Forma pago</th>
<th >Valor factura</th>
<th >Teléfono</th>
<th >Dirección</th>
<th >Zona</th>
<th >Vendedor cod</th>
<th >Bultos</th>
<th >Resmas</th>
<th >Rollos</th>
<th> </th>
</tr>
</thead>
<tbody>
<tr >
<td >
<div class="form-group">
<input class="fdetalle_codprod form-control" placeholder="cod cliente" type="text">
</div>
</td>
<td >
<div class="form-group">
<input class="fdetalle_desc form-control" placeholder="Cliente" type="text">
</div>
</td>
<td >
<div class="form-group">
<input class="fdetalle_cant form-control" placeholder="N° Factura" type="text">
</div>
</td>
<td >
<div class="form-group">
<input class="fdetalle_precio form-control" placeholder="Forma pago" type="text">
</div>
</td>
<td >
<div class="form-group">
<input class="fdetalle_desc form-control" placeholder="Valor factura" type="text">
</div>
</td>
<td >
<div class="form-group">
<input class="fdetalle_subt form-control" placeholder="teléfono" type="text">
</div>
</td>
<td >
<div class="form-group">
<input class="fdetalle_subtiva form-control" placeholder="direccion" type="text">
</div>
</td>
<td >
<div class="form-group">
<input class="fdetalle_subtiva form-control" placeholder="zona" type="text">
</div>
</td>
<td >
<div class="form-group">
<input class="fdetalle_subtiva form-control" placeholder="codigo vendedor" type="text">
</div>
</td>
<td >
<div class="form-group">
<input class="fdetalle_subtiva form-control" placeholder="bultos" type="text">
</div>
</td>
<td >
<div class="form-group">
<input class="fdetalle_subtiva form-control" placeholder="resmas" type="text">
</div>
</td>
<td >
<div class="form-group">
<input class="fdetalle_subtiva form-control" placeholder="rollos" type="text">
</div>
</td>
<td>
<img style="cursor: pointer;" src="assets/img/plus.png" title="agregar más..." onclick="add_ruta_detalle(this);">
</td>
</tr>
</tbody>
</table>
</div>
<div class="form-group text-right m-b-0">
<button onclick="asignarRuta();" class="btn btn-primary waves-effect waves-light" >
Asignar Ruta
</button>
</div>
</form>
//function asignarRuta
function asignarRuta(){
var fecha_entrega = $('#fecha_entrega').val(); //Fecha de entrega.
var fecha_registro = $('#fecha_registro').val(); //Fecha de registro
var driver_cod = $('#driver_cod').val(); //Código del Conductor
var hoja_ruta = $('#hoja_ruta').val(); //Número de hoja de ruta
var sucursal = $('#sucursal').val(); //Sucursal
//Campos del detalle
var i = 0;
var array_hojaruta_detalle = [];
var t = document.getElementById('hojaruta_detalle').getElementsByTagName('tbody')[0];
$("#hojaruta_detalle tbody tr").each(function() {
var codigo_cliente = $(t.rows[i].cells[0]).find('input').val();
var nombre_cliente = $(t.rows[i].cells[1]).find('input').val();
var factura = $(t.rows[i].cells[2]).find('input').val();
var forma_pago = $(t.rows[i].cells[3]).find('input').val();
var valor_factura = $(t.rows[i].cells[4]).find('input').val();
var telefono = $(t.rows[i].cells[5]).find('input').val();
var direccion = $(t.rows[i].cells[6]).find('input').val();
var zona = $(t.rows[i].cells[7]).find('input').val();
var vendedor_cod = $(t.rows[i].cells[8]).find('input').val();
var bultos = $(t.rows[i].cells[9]).find('input').val();
var resmas = $(t.rows[i].cells[10]).find('input').val();
var rollos = $(t.rows[i].cells[11]).find('input').val();
if($.trim(codigo_cliente)!='' && $.trim(nombre_cliente)!='' && $.trim(bultos)!=''){
objeto = {
codigo_cliente: codigo_cliente,
nombre_cliente: nombre_cliente,
factura: factura,
forma_pago: forma_pago,
valor_factura: valor_factura,
telefono: telefono,
direccion: direccion,
zona: zona,
vendedor_cod: vendedor_cod,
bultos: bultos,
resmas: resmas,
rollos: rollos
};
array_hojaruta_detalle.push(objeto);
}else{
alert('Por favor complete los campos.');
return false;
}
i++;
});
array_hojaruta_detalle = JSON.stringify(array_hojaruta_detalle);
params = {
fecha_entrega: fecha_entrega,
fecha_registro: fecha_registro,
driver_cod: driver_cod,
hoja_ruta: hoja_ruta,
sucursal: sucursal,
token: token,
array_hojaruta_detalle: array_hojaruta_detalle
}
callAPI('asignarRuta', params);
}
//////////////////////////////////////////////
Respuesta de la API: devuelve el ID de la hoja de ruta asignada al conductor en Seller Manager y un mensaje de confirmación.
if (data.code == 1) {
var idhojaruta = data.details.idhojaruta;
alert('La hoja de ruta ha sido asignada al conductor con éxito.');
}else{
alert(data.msg);
}