con totales

This commit is contained in:
2025-03-31 17:31:56 +02:00
parent c5feb39e8b
commit fb2d12e318
4 changed files with 113 additions and 79 deletions

View File

@ -10,6 +10,7 @@ use App\Services\PedidoXMLService;
use App\Services\ProductionService;
use Hermawan\DataTables\DataTable;
use CodeIgniter\I18n\Time;
use Error;
class Pedido extends \App\Controllers\BaseResourceController
{
@ -441,6 +442,29 @@ class Pedido extends \App\Controllers\BaseResourceController
return $result->toJson(returnAsObject: true) ;
}
public function obtenerTotalPedidosCliente($cliente_id){
$error = false;
$result = [
'total_impresion' => 0,
'total_maquetacion' => 0,
];
$data = $this->model
->where('presupuestos.cliente_id', $cliente_id)->whereNotIn('pedidos.estado', ['cancelado'])
->select('SUM(pedidos.total_precio) as total')
->join('pedidos_linea', 'pedidos_linea.pedido_id = pedidos.id')
->join('presupuestos', 'presupuestos.id = pedidos_linea.presupuesto_id')
->groupBy('presupuestos.cliente_id')->get()->getResultObject();
if(count($data) > 0){
$result['total_impresion'] = round(floatval($data[0]->total), 2);
}
else{
$error = true;
}
$result['total'] = $result['total_impresion'] + $result['total_maquetacion'];
return $this->respond(['status' => $error?'error':'success', 'totales' => $result]);
}
public function obtenerPedidosForFacturas(){
if ($this->request->isAJAX()) {