@extends('layouts.reporte2')
@section('php')
@php
$cliente = config('app.CLIENTE');
$display = 'block';
$display_ = 'none';
$tipoStock2 = json_encode(['1' => __('messages.catalogado'), '0' => __('messages.no-catalogado'), '2' => __('messages.no-informado'), '' => __('messages.todos')]);
$pareto = json_encode(['100' => '100% de la Venta', '80' => '80% de la Venta']);
$periodo = json_encode(['sem' => __('messages.semanas'), 'mes' => __('messages.meses')]);
$display_grafico = '';
$display_tabla = '';
$arr_mdlzlatam = ['mdlzcolombia', 'mdlzcostarica', 'mdlzguatemala', 'mdlzhonduras', 'mdlznicaragua', 'mdlzperu', 'mdlzsalvador'];
$instock_formula = asset('images/mdlzlatam/mdlzlatam_instock_formula.png');
$osa_formula = asset('images/mdlzlatam/mdlzlatam_osa_formula.png');
$osamotivo_tabla = asset('images/mdlzlatam/mdlzlatam_osamotivo_tabla.png');
$stocknegativo_formula = asset('images/mdlzlatam/mdlzlatam_stocknegativo_formula.png');
$bloqueocomercial_formula = asset('images/mdlzlatam/mdlzlatam_bloqueocomercial_formula.png');
$quiebrefillrate_formula = asset('images/mdlzlatam/mdlzlatam_quiebrefillrate_formula.png');
$articulosinpronostico_formula = asset('images/mdlzlatam/mdlzlatam_articulosinpronostico_formula.png');
$quiebreforecast_formula = asset('images/mdlzlatam/mdlzlatam_quiebreforecast_formula.png');
$stockbodega_formula = asset('images/mdlzlatam/mdlzlatam_stockbodega_formula.png');
$stockfantasma_formula = asset('images/mdlzlatam/mdlzlatam_stockfantasma_formula.png');
$vtaperdidau_formula = asset('images/mdlzlatam/vta_perdida_u_formula.png');
$vtaperdida_formula = asset('images/mdlzlatam/vta_perdida_formula.png');
$vtaperdidadisponible_formula = asset('images/mdlzlatam/vta_perdida_disponible_formula.png');
$dias_inv_instock = 'un día';
if(config('app.CLIENTE') == 'mdlzcolombia') $dias_inv_instock = '5 días';
$definiciones_mdlzlatam = "
Instock
Inicialmente, casos con Stock positivo y al menos $dias_inv_instock de inventario.
OSA
Disponibildiad del producto en los exhibidores. Casos que son Instock = 1 y la Venta en los últimos 30 días es positiva.
Motivos
Se identifica un motivo por cada combinación donde OSA = 0. Por defecto el listado es:
DISPONIBLE: Combinaciones productos en sala cuyo OSA = 1.
STOCK NEGATIVO: Indica que no hay disponibillidad del producto debido a que su stock es negativo.
BLOQUEO COMERCIAL: Según lo reportado por el B2B, el estado del producto en la sala es una combinación no válida. Se excluyen los casos reconocidos en los motivos anteriores.
QUIEBRE POR FILLRATE: A través de una base enviada por el cliente, se calcula el Fill Rate por producto. El umbral debe ser definido según cliente, por defecto se usa el 70%. Se excluyen los casos reconocidos en los motivos anteriores.
ARTICULO SIN PRONOSTICO: El instock es cero y el forecast es negativo o no definido. Se excluyen los casos reconocidos en los motivos anteriores.
QUIEBRE POR FORECAST: Combinaciones donde el Instock = 0, además, el B2B reporta forecast (en el archivo de inventario) y este es menor a la Venta en los últimos 7 días (Venta_7). Se excluyen los casos reconocidos en los motivos anteriores.
REVISAR PARAMETRO DE ABASTECIMIENTO: Son las combinaciones que no fueron identificadas en los casos anteriores.
STOCK EN BODEGA: Combinaciones con Instock = 1, su Venta en los últimos 30 días es cero y ha presentado variación de stock respecto al inventario anterior.
STOCK FANTASMA: Combinaciones con Instock = 1, su Venta en los últimos 30 días es cero y no ha presentado variación de stock respecto al inventario anterior.
NUEVO PRODUCTO: Si el producto se ha identificado con estado 'NUEVO'. Por defecto, mantenemos el estado 'NUEVO' hasta que el cliente indique su cambio de estado.
Venta Perdida
Considerando los últimos 30 días, se calcula un promedio de unidades vendidas y precio por producto en la sala.
Se determina la última fecha que tuvo venta.
Se obtiene la diferencia de días entre ayer y el último día de venta.
Depende si la diferencia de días es menor a 7 o caso contrario.
Luego, la Venta Perdida valorada es el Venta Perdida (U) multiplicado por el precio promedio en ese periodo.
La Venta Perdida es cero si el motivo es DISPONIBLE.
";
$instock_formula = asset('images/kunafoods/instock_formula.png');
$osa_formula = asset('images/kunafoods/osa_formula.png');
$osamotivo_tabla = asset('images/kunafoods/osamotivo_tabla.png');
$stocknegativo_formula = asset('images/kunafoods/stocknegativo_formula.png');
$stockcero_formula = asset('images/kunafoods/stockcero_formula.png');
$problemaabastecimiento_formula = asset('images/kunafoods/problemaabastecimiento_formula.png');
$stockinsuficiente_formula = asset('images/kunafoods/stockinsuficiente_formula.png');
$oportunidadpdv_formula = asset('images/kunafoods/oportunidadpdv_formula.png');
$stockdesajustado_formula = asset('images/kunafoods/stockdesajustado_formula.png');
$nuevoproducto_formula = asset('images/kunafoods/nuevoproducto_formula.png');
$arr_kunafoods = ['kunafoods'];
$definiciones_kunafoods = "Instock
Casos con Stock positivo y al menos 1 día de inventario o bien que tengan Stock y no hayan tenido venta en los últimos 30 días.
OSA
Disponibildiad del producto en los exhibidores. Casos que son Instock = 1 y la Venta 1 día sea mayor a la venta promedio (venta_30/30). También los productos en sala que no tengan historia (venta_periodo nulo, siendo el máximo periodo con venta)
Motivos
El listado de motivos con sus respectivos responsables es:
DISPONIBLE: Combinaciones productos en sala cuyo OSA = 1.
STOCK NEGATIVO: Indica que no hay disponibillidad del producto debido a que su stock es negativo. Independiente si ha tenido venta ayer o no.
STOCK CERO: El stock es cero y no ha vendido ayer.
PROBLEMA DE ABASTECIMIENTO: Los casos restantes para Instock = 0.
STOCK INSUFICIENTE: Vendió ayer, pero no cumplía con el stock para el día de inventario.
OPORTUNIDAD PDV: No vendió ayer y ni cumplía con el stock suficiente para el día de inventario. También abarca los casos donde ayer no vendió la venta promedio de los últimos 30 días.
STOCK DESAJUSTADO: Sin venta los últimos 7 y 30 días, y tiene venta periodo (el último mes donde ha vendido) no nulo.
NUEVO PRODUCTO: Si el producto se ha identificado con estado 'NUEVO', cuenta con stock y no ha vendido en los últimos 30 días.
";
$paretoDefault = '80';
if(in_array($cliente, ['mdlzchile', 'mdlzcolombia', 'mdlzcostarica', 'mdlzguatemala', 'mdlzhonduras', 'mdlznicaragua', 'mdlzsalvador'])){
$paretoDefault = '100';
}
@endphp
@endsection
@if(count($selectores_grafico)>0)
@section('grafico')
@if(isset($selectores_grafico['grafmotivo']))
{{__('messages.selector-generico-texto-stock')}}
{{__('messages.selector-generico-texto-pareto')}}
Muestra la distribución de motivos por el cual OSA es cero.
Consultas sobre el gráfico: Para utilizar el gráfico; definir los parámetros en los selectore. Se actualizará automáticamente al hacer cambios.
- Selector Tipo Stock: Definir el tipo de stock del reporte, pudiendo ser entre Catalogado o No Catalogado.
Filtros Rápidos: Marcar las opciones a filtrar en cada selector.
- Selector Cliente: Filtrar por Cliente.
Exportar: Descargar una imagen del gráfico.
@if(in_array($cliente, $arr_mdlzlatam))
{!!$definiciones_mdlzlatam!!}
@endif
@if(in_array($cliente, $arr_kunafoods))
{!!$definiciones_kunafoods!!}
@endif
@php $display_grafico = 'display: none;'; @endphp
@endif
@if(isset($selectores_grafico['grafevo']))
{{__('messages.selector-generico-texto-stock')}}
{{__('messages.selector-generico-texto-pareto')}}
{{__('messages.selector-generico-texto-periodo')}}
{{__('messages.selector-semanas-meses-texto-desde')}}
{{__('messages.selector-semanas-meses-texto-hasta')}}
{{__('messages.selector-semanas-meses-texto-desde')}}
{{__('messages.selector-semanas-meses-texto-hasta')}}
Consultas sobre el gráfico: Para utilizar el gráfico; definir los parámetros en los selectores y presionar "Actualizar".
- Selector Catalogado: Selecciona tipo de stock sobre el cual se consulta.
- Selector Tipo Periodo: Definir el tipo de periodo que se consulta.
- Selector Periodo: Definir el rango de fechas que se consulta.
- Selector Tipo gráfico: Define el diseño del gráfico para representar los datos.
Filtros Rápidos: Marcar las opciones a filtrar en cada selector.
- Selector Cliente: Filtrar por cliente.
- Selector Categoría: Filtrar por Categoría .
- Selector KAM: Filtrar por Key Account Manager.
Exportar: Descargar una imagen del gráfico.
@if(in_array($cliente, $arr_mdlzlatam))
{!!$definiciones_mdlzlatam!!}
@endif
@php $display_grafico = 'display: none;'; @endphp
@endif
@endsection
@endif
@if(count($selectores_tabla)>0)
@section('tabla')
@if(isset($selectores_tabla['motivo']))
{{__('messages.selector-generico-texto-stock')}}
{{__('messages.selector-generico-texto-pareto')}}
Consultas sobre la tabla: Para utilizar la tabla; definir los parámetros en los selectores y presionar "Actualizar".
- Selector Tipo Stock: Definir el tipo de stock del reporte, pudiendo ser entre Catalogado o No Catalogado.
Ordenar: Clickear en los encabezados de las columnas ordenará los registros de la tabla en orden descendiente según lo que representa esa columna. Clickear nuevamente ordenará los registros en orden ascendente.
Filtros Rápidos: Marcar las opciones a filtrar en cada selector.
- Selector Cliente: Filtrar por Cliente.
Exportar: Descargar datos de la tabla.
- Columa Motivo: Razón del OSA si es cero. Definido por el cliente por criterios para analizar el inventario de una cadena.
- Columa Responsable: Rol/Cargo que desempeña la persona encargada del departamento que debe gestionar la alerta.
- Columa Porcentaje (%): Porcentaje del total.
- Columa Venta Perdida ($): Venta Perdida en ($).
- Columa Venta Perdida (%): Porcentaje de Venta Perdida.
- Columa Cantidad de Registros: Cantidad de registros encontrados.
@if(in_array($cliente, $arr_mdlzlatam))
{!!$definiciones_mdlzlatam!!}
@endif
@php $display_tabla = ' display: none;'; @endphp
@endif
@if(isset($selectores_tabla['evo']))
{{__('messages.selector-generico-texto-stock')}}
{{__('messages.selector-generico-texto-pareto')}}
{{__('messages.selector-generico-texto-periodo')}}
{{__('messages.selector-semanas-meses-texto-desde')}}
{{__('messages.selector-semanas-meses-texto-hasta')}}
{{__('messages.selector-semanas-meses-texto-desde')}}
{{__('messages.selector-semanas-meses-texto-hasta')}}
Consultas sobre la tabla: Para utilizar la tabla; definir los parámetros en los selectores y presionar "Actualizar".
- Selector Catalogado: Selecciona tipo de stock sobre el cual se consulta.
- Selector Tipo Periodo: Definir el tipo de periodo que se consulta.
- Selector Periodo: Definir el rango de fechas que se consulta.
Ordenar: Clickear en los encabezados de las columnas ordenará los registros de la tabla en orden descendiente según lo que representa esa columna. Clickear nuevamente ordenará los registros en orden ascendente.
Fila y Columna Total (Títulos de variables seleccionadas): Valores calculados tomando todos los registros.
Filtros Rápidos: Marcar las opciones a filtrar en cada selector.
- Selector Cliente: Filtrar por cliente.
- Selector Categoría: Filtrar por Categoría .
- Selector KAM: Filtrar por Key Account Manager.
Exportar: Descargar datos de las tabla.
@if(in_array($cliente, $arr_mdlzlatam))
{!!$definiciones_mdlzlatam!!}
@endif
@php $display_tabla = 'display: none;'; @endphp
@endif
@endsection
@endif
@section('right-bar')
@endsection
@section('js_aft')
@endsection