Skip to content

Commit 77c1515

Browse files
author
Daniel Fernández Giménez
committed
Refactoriza método para calcular precio en TrabajoAT
Se elimina el método getRate y se implementa la lógica para calcular el precio utilizando la clase PresupuestoCliente, mejorando la claridad y eficiencia del código.
1 parent 2ced3ea commit 77c1515

1 file changed

Lines changed: 6 additions & 23 deletions

File tree

Model/TrabajoAT.php

Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,14 @@
1919

2020
namespace FacturaScripts\Plugins\Servicios\Model;
2121

22-
use FacturaScripts\Core\Model\Agente;
2322
use FacturaScripts\Core\Template\ModelClass;
2423
use FacturaScripts\Core\Template\ModelTrait;
2524
use FacturaScripts\Core\Tools;
2625
use FacturaScripts\Core\Where;
27-
use FacturaScripts\Dinamic\Model\GrupoClientes;
26+
use FacturaScripts\Dinamic\Agente;
27+
use FacturaScripts\Dinamic\Model\PresupuestoCliente;
2828
use FacturaScripts\Dinamic\Model\ServicioAT as DinServicioAT;
2929
use FacturaScripts\Dinamic\Model\Stock;
30-
use FacturaScripts\Dinamic\Model\Tarifa;
3130
use FacturaScripts\Dinamic\Model\Variante;
3231

3332
/**
@@ -160,10 +159,10 @@ public function test(): bool
160159
}
161160

162161
if ($this->referencia) {
163-
$variant = $this->getVariante();
164-
$product = $variant->getProducto();
165-
$this->descripcion = empty($this->descripcion) ? $variant->description() : $this->descripcion;
166-
$this->precio = empty($this->precio) ? $this->getRate()->applyTo($variant, $product) : $this->precio;
162+
// guardamos el precio que le asignaríamos si le hacemos un presupuesto al cliente
163+
$doc = new PresupuestoCliente();
164+
$doc->setSubject($this->getServicio()->getSubject());
165+
$this->precio = $doc->getNewProductLine($this->referencia)->pvpunitario;
167166
}
168167

169168
return parent::test();
@@ -174,22 +173,6 @@ public function url(string $type = 'auto', string $list = 'ListServicioAT'): str
174173
return empty($this->idservicio) ? parent::url($type, $list) : $this->getServicio()->url();
175174
}
176175

177-
protected function getRate(): Tarifa
178-
{
179-
$rate = new Tarifa();
180-
$customer = $this->getServicio()->getCustomer();
181-
if ($customer->codtarifa && $rate->load($customer->codtarifa)) {
182-
return $rate;
183-
}
184-
185-
$group = new GrupoClientes();
186-
if ($customer->codgrupo && $group->load($customer->codgrupo) && $group->codtarifa) {
187-
$rate->load($group->codtarifa);
188-
}
189-
190-
return $rate;
191-
}
192-
193176
protected function onChange(string $field): bool
194177
{
195178
switch ($field) {

0 commit comments

Comments
 (0)