mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
trabajando en los envios
This commit is contained in:
@ -371,7 +371,9 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
|
||||
$this->viewData['serviciosPreimpresionList'] = (new PresupuestoPreimpresionesModel())->getResource($id)->get()->getResultObject();
|
||||
|
||||
// Direciones presupuesto
|
||||
$this->getLineasDirecciones($presupuestoEntity);
|
||||
$this->viewData['presupuestoDirecciones'] = (new PresupuestoDireccionesModel())->getResource("", $id)->get()->getResultObject();
|
||||
|
||||
|
||||
$this->viewData['POD'] = $this->getPOD();
|
||||
|
||||
@ -1379,4 +1381,13 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
|
||||
|
||||
return PresupuestoService::checkLineasServicios($input_data, $serviciosPresupuesto);
|
||||
}
|
||||
|
||||
protected function getLineasDirecciones($presupuestoEntity){
|
||||
|
||||
$direccionesEnvio = (new PresupuestoDireccionesModel())->getResource("", $presupuestoEntity->id)->get()->getResultObject();
|
||||
|
||||
$nuevasDirecciones = PresupuestoService::checkLineasEnvios($direccionesEnvio);
|
||||
|
||||
return $direccionesEnvio;
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,7 +18,8 @@ use App\Models\Presupuestos\PresupuestoAcabadosModel;
|
||||
use App\Models\Presupuestos\PresupuestoManipuladosModel;
|
||||
use App\Models\Presupuestos\PresupuestoEncuadernacionesModel;
|
||||
|
||||
use App\Models\Tarifas\TarifaEncuadernacionModel;
|
||||
use App\Models\Tarifas\TarifaEnvioModel;
|
||||
|
||||
|
||||
class PresupuestoService extends BaseService
|
||||
{
|
||||
@ -1171,7 +1172,7 @@ class PresupuestoService extends BaseService
|
||||
|
||||
$model = new PresupuestoAcabadosModel();
|
||||
foreach ($servicios as $servicio) {
|
||||
$count = 0;
|
||||
|
||||
$nueva_tarifa = $model->getPrecioTarifa($servicio->tarifa_acabado_id, $input_data['tirada'], $input_data['POD']);
|
||||
if($nueva_tarifa && count($nueva_tarifa)>0){
|
||||
if(round($nueva_tarifa[0]->precio_unidad, 2) != $servicio->precio_unidad ||
|
||||
@ -1313,6 +1314,56 @@ class PresupuestoService extends BaseService
|
||||
return [$cambio, $serviciosUpdated];
|
||||
}
|
||||
|
||||
|
||||
public static function checkLineasEnvios($envios){
|
||||
|
||||
$cambio = false;
|
||||
|
||||
if(count($envios)>0){
|
||||
$model = new TarifaEnvioModel();
|
||||
foreach ($envios as $envio) {
|
||||
$paisId = $envio->pais_id;
|
||||
$cp= $envio->cp;
|
||||
$peso= $envio->peso;
|
||||
$tipo_envio= $envio->entregaPieCalle==1?'palets':'cajas';
|
||||
|
||||
$nueva_tarifa = $model->getTarifaEnvio($paisId, $cp, $peso, $tipo_envio);
|
||||
|
||||
//$nueva_tarifa = $model->getPrecioTarifa($envio->tarifa_envio_id, $input_data['tirada'], $input_data['POD']);
|
||||
if($nueva_tarifa && count($nueva_tarifa)>0){
|
||||
$coste = 0;
|
||||
$margen = 0;
|
||||
if($peso>$nueva_tarifa[0]->peso_max){
|
||||
$coste += floatval($nueva_tarifa[0]->peso_min) + ($peso-floatval($nueva_tarifa[0]->peso_min))*floatval($nueva_tarifa[0]->precio_adicional);
|
||||
}
|
||||
// si no se calcula linealmente
|
||||
else{
|
||||
$m=(floatval($nueva_tarifa[0]->precio_max)-floatval($nueva_tarifa[0]->precio_min)) / ((floatval($nueva_tarifa[0]->peso_max)-floatval($nueva_tarifa[0]->peso_min)));
|
||||
$b=floatval($nueva_tarifa[0]->precio_max)-$m*floatval($nueva_tarifa[0]->peso_max);
|
||||
$coste += floatval($m*$peso+$b);
|
||||
}
|
||||
$margen += $coste*floatval($nueva_tarifa[0]->margen)/100.0;
|
||||
|
||||
if(round($coste, 2) != $envio->precio ||
|
||||
$margen != $envio->margen){
|
||||
|
||||
$envio->precio = round($coste, 2);
|
||||
$envio->margen = $margen;
|
||||
$envio->tarifa_id = $nueva_tarifa[0]->id;
|
||||
$cambio = true;
|
||||
}
|
||||
//$model->updateTarifas($input_data['presupuesto_id'], array($envio_temp));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return [$cambio, $envios];
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// Funcion que comprueba si existe una maquina
|
||||
private static function checkMaquina($maquina_id){
|
||||
|
||||
|
||||
Reference in New Issue
Block a user