exportar todas las planillas en un formato apto para copiar y pegar a la planilla de compras

This commit is contained in:
nat 2022-09-19 02:18:39 -03:00
parent 098b23b864
commit f0a1a68144
2 changed files with 38 additions and 1 deletions

1
.gitignore vendored
View File

@ -11,3 +11,4 @@ Homestead.yaml
npm-debug.log
yarn-error.log
.idea
/resources/csv/exports/*.csv

View File

@ -4,11 +4,15 @@ namespace App;
use Illuminate\Database\Eloquent\Model;
use Mpdf\Mpdf;
use League\Csv\CannotInsertRecord;
use League\Csv\Writer;
use App\Producto;
use DB;
class GrupoDeCompra extends Model
{
public $timestamps = false;
protected $fillable = [ "nombre","region","telefono","correo","referente_finanzas","cantidad_de_nucleos"];
protected $fillable = [ "nombre","region","telefono","correo","referente_finanzas","cantidad_de_nucleos","fila"];
protected $table = 'grupos_de_compra';
protected $hidden = ['password'];
@ -30,4 +34,36 @@ class GrupoDeCompra extends Model
$mpdf->Output();
}
public function exportarPedidoEnCSV(){
$productos = Producto::pluck('id','fila')->all();
$ultima_fila = end(array_keys($productos));
$productos_en_pedido = DB::table('pedidos_aprobados')->where('grupo_de_compra_id',$this->id)->get()->keyBy('producto_id');
$records = [];
for ($i=1; $i <= $ultima_fila; $i++) {
if ($productos[$i]) {
if ($productos_en_pedido[$productos[$i]]){
$producto_en_pedido = $productos_en_pedido[$productos[$i]];
$records[] = [$producto_en_pedido->producto_nombre,$producto_en_pedido->cantidad_pedida];
} else {
$records[] = ['producto no pedido',0];
}
} else {
$records[] = ['',''];
}
}
try {
$writer = Writer::createFromPath(resource_path('csv/exports/'.$this->nombre.'.csv'), 'w');
$writer->insertAll($records);
} catch (CannotInsertRecord $e) {
var_export($e->getRecords());
}
}
public static function exportarTodosLosPedidosEnCSV(){
$gdcs=GrupoDeCompra::all();
foreach ($gdcs as $gdc){ $gdc->exportarPedidoEnCSV(); }
}
}