Subversion-Projekte lars-tiefland.laravel_shop

Revision

Revision 574 | Revision 580 | Zur aktuellen Revision | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
233 lars 1
<?php
2
 
260 lars 3
    namespace App\Console\Commands;
233 lars 4
 
445 lars 5
    use App\Models\Address;
260 lars 6
    use App\Models\Directory;
7
    use App\Models\Item;
8
    use App\Models\Action;
272 lars 9
    use App\Models\Medium;
454 lars 10
    use App\Models\Order;
453 lars 11
    use App\Models\OrderAddress;
507 lars 12
    use App\Models\OrderType;
482 lars 13
    use App\Models\PaymentMethod;
263 lars 14
    use App\Models\Price;
551 lars 15
    use App\Models\PriceAgency;
260 lars 16
    use App\Models\ActionMedium;
17
    use App\Models\ItemMedium;
18
    use App\Models\DirectoryMedium;
527 lars 19
    use App\Models\SalesPortal;
540 lars 20
    use App\Models\SalesPortalItem;
529 lars 21
    use App\Models\SalesPortalType;
509 lars 22
    use App\Models\Shipping;
510 lars 23
    use App\Models\ShippingGroup;
465 lars 24
    use App\Models\Shop;
437 lars 25
    use App\Models\User;
561 lars 26
    use App\Models\OrderItem;
260 lars 27
    use Illuminate\Console\Command;
28
    use Illuminate\Support\Facades\DB;
233 lars 29
 
260 lars 30
    class convertDB extends Command
31
    {
32
        /**
33
         * The name and signature of the console command.
34
         *
35
         * @var string
36
         */
37
        protected $signature = 'command:convertDB';
233 lars 38
 
260 lars 39
        /**
40
         * The console command description.
41
         *
42
         * @var string
43
         */
44
        protected $description = 'Converts the old webanOS-DB to laravel';
233 lars 45
 
260 lars 46
        /**
47
         * Execute the console command.
48
         *
49
         * @return void
50
         */
51
 
52
        public function handle(): void
238 lars 53
        {
294 lars 54
            $this->info( date( "d.m.Y H:i:s" ) . ": Verarbeitung gestartet" );
496 lars 55
            $this->migrateShops();
505 lars 56
            $this->migrateOrderTypes();
496 lars 57
            $this->migratePaymentMethods();
508 lars 58
            $this->migrateShippingGroups();
517 lars 59
            $this->migrateShippings();
578 lars 60
            $this->migrateActions();
61
            $this->migrateDirs();
62
            $this->migrateItems();
465 lars 63
            if ( env( 'site' ) == env( 'shop' ) )
64
            {
538 lars 65
                $this->migratePriceAgencies();
465 lars 66
                $this->migrateUsers();
67
                $this->migrateAddresses();
68
                $this->migrateOrderAddresses();
69
                $this->migrateOrders();
70
                $this->migrateOrderItems();
535 lars 71
                $this->migrateSalesPortalTypes();
465 lars 72
            }
536 lars 73
            $this->migrateSalesPortals();
538 lars 74
            $this->migrateSalesPortalItems();
578 lars 75
            $this->migrateMedia();
76
            $this->migrateActionMedia();
77
            $this->migrateDirMedia();
78
            $this->migrateItemMedia();
294 lars 79
            $this->info( date( "d.m.Y H:i:s" ) . ": Verarbeitung beendet" );
234 lars 80
        }
260 lars 81
 
527 lars 82
        private function migrateShops()
433 lars 83
        {
527 lars 84
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Shops" );
486 lars 85
            $start = 0;
527 lars 86
            $sql = "
87
                SELECT
486 lars 88
                    MAX(id) AS start
89
                FROM
527 lars 90
                    shops
486 lars 91
            ";
527 lars 92
            $row = DB::connection( 'mysql' )->select( $sql );
93
            if ( $row[0]->start )
486 lars 94
            {
527 lars 95
                $start = $row[0]->start;
486 lars 96
            }
527 lars 97
            $sql = "SELECT
433 lars 98
                    *
99
                FROM
527 lars 100
                    shops
486 lars 101
                WHERE
102
                    id>" . $start . "
433 lars 103
            ";
527 lars 104
            $shops = DB::connection( 'old' )->select( $sql );
105
            foreach ( $shops as $oldShop )
433 lars 106
            {
527 lars 107
                $shop = new Shop();
108
                $shop->id = $oldShop->ID;
109
                $shop->name = $oldShop->Name;
110
                $shop->short = $oldShop->short;
111
                $shop->re_short = '';
112
                if ( isset( $oldShop->re_short ) && $oldShop->re_short )
433 lars 113
                {
527 lars 114
                    $shop->re_short = $oldShop->re_short;
433 lars 115
                }
527 lars 116
                if ( isset( $oldShop->preisindex_ek ) && $oldShop->preisindex_ek )
433 lars 117
                {
527 lars 118
                    $shop->preisindex_ek = $oldShop->preisindex_ek;
433 lars 119
                }
527 lars 120
                $shop->ebay = $oldShop->ebay;
121
                $shop->erfassung = $oldShop->erfassung;
122
                if ( isset( $oldShop->status ) && $oldShop->status )
433 lars 123
                {
527 lars 124
                    $shop->status = $oldShop->status;
433 lars 125
                }
527 lars 126
                if ( isset( $oldShop->rang ) && $oldShop->rang )
127
                {
128
                    $shop->rank = $oldShop->rang;
129
                }
130
                $shop->klonziel = $oldShop->klonziel;
131
                $shop->konroot = $oldShop->konroot;
132
                if ( isset( $oldShop->home ) && $oldShop->home )
133
                {
134
                    $shop->home = $oldShop->home;
135
                }
136
                $shop->database = $oldShop->database;
137
                $shop->domain = $oldShop->domain;
138
                $shop->mail_server = $oldShop->mail_server;
139
                $shop->mail_user = $oldShop->mail_user;
140
                $shop->mail_password = $oldShop->mail_passwort;
141
                $shop->save();
142
            }
143
 
144
        }
145
 
146
        private function migrateOrderTypes()
147
        {
148
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Bestellarten" );
149
            $start = 0;
150
            $sql = "SELECT
151
                    MAX(id) AS start
152
                FROM
153
                    order_types
154
            ";
155
            $row = DB::connection( "mysql" )->select( $sql );
156
            if ( $row[0]->start )
157
            {
158
                $start = $row[0]->start;
159
            }
160
            $sql = "SELECT
161
                    *
162
                FROM
163
                    bestellart
164
                WHERE
165
                    id>" . $start . "
166
            ";
167
            $methods = DB::connection( 'old' )->select( $sql );
168
            foreach ( $methods as $method )
169
            {
170
                OrderType::factory()->create( [
171
                    "id"            => $method->id,
172
                    "internal_name" => $method->rufname,
173
                    "name"          => $method->name,
174
                    "short"         => $method->short,
175
                ] );
176
            }
177
        }
178
 
179
        private function migratePaymentMethods()
180
        {
181
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Zahlungsmethoden" );
182
            $start = 0;
183
            $sql = "SELECT
184
                    MAX(id) AS start
185
                FROM
186
                    payment_methods
187
            ";
188
            $row = DB::connection( "mysql" )->select( $sql );
189
            if ( $row[0]->start )
190
            {
191
                $start = $row[0]->start;
192
            }
193
            $sql = "SELECT
194
                    *
195
                FROM
196
                    zahlungsarten
197
                WHERE
198
                    id>" . $start . "
199
            ";
200
            $methods = DB::connection( 'old' )->select( $sql );
201
            foreach ( $methods as $method )
202
            {
203
                PaymentMethod::factory()->create( [
204
                    "id"            => $method->id,
205
                    "name"          => $method->name,
206
                    "discount"      => $method->abschlag,
207
                    "internal_name" => $method->interner_name,
208
                    "info_in_shop"  => $method->info_im_shop,
209
                    "shipping_text" => $method->versandtextbaustein,
210
                ] );
211
            }
212
        }
213
 
214
        private function migrateShippingGroups()
215
        {
216
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Versandgruppen" );
217
            $start = 0;
218
            $sql = "SELECT
219
                    MAX(id) AS start
220
                FROM
221
                    shipping_groups
222
            ";
223
            $row = DB::connection( "mysql" )->select( $sql );
224
            if ( $row[0]->start )
225
            {
226
                $start = $row[0]->start;
227
            }
228
            $sql = "SELECT
229
                    *
230
                FROM
231
                    versandgruppen
232
                WHERE
233
                    id>" . $start . "
234
            ";
235
            $methods = DB::connection( 'old' )->select( $sql );
236
            foreach ( $methods as $group )
237
            {
238
                ShippingGroup::factory()->create( [
239
                    "id"            => $group->id,
240
                    "name"          => $group->name,
241
                    "conditions"    => $group->bedingungen,
242
                    "icon"          => $group->icon,
243
                    "rank"          => $group->rang,
244
                    "shipping_text" => $group->versandtextbaustein,
245
                    "created_by"    => $group->erstellt_von,
246
                    "updated_by"    => $group->geaendert_von,
247
                    "updated_at"    => $group->geaendert_am,
248
                    "created_at"    => $group->erstellt_am,
249
                ] );
250
            }
251
        }
252
 
253
        private function migrateShippings()
254
        {
255
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Versandoptionen" );
256
            $start = 0;
257
            $sql = "SELECT
258
                    MAX(id) AS start
259
                FROM
260
                    shippings
261
            ";
262
            $row = DB::connection( "mysql" )->select( $sql );
263
            if ( $row[0]->start )
264
            {
265
                $start = $row[0]->start;
266
            }
267
            $sql = "SELECT
268
                    *
269
                FROM
270
                    versand
271
                WHERE
272
                    id>" . $start . "
273
            ";
274
            $methods = DB::connection( 'old' )->select( $sql );
275
            foreach ( $methods as $group )
276
            {
277
                Shipping::factory()->create( [
278
                    "id"                => $group->id,
279
                    "rank"              => $group->rang,
280
                    "shipping_group_id" => $group->versandgruppen_id,
281
                    "name"              => $group->name,
282
                    "info_shop"         => $group->info_shop,
283
                    "info_mail"         => $group->info_mail,
284
                    "info_internal"     => $group->info_intern,
285
                    "island_shipping"   => $group->inselversand,
286
                    "additions"         => $group->zusaetze,
287
                    "status"            => $group->status,
288
                    "price"             => $group->preis,
289
                    "calc_weight_from"  => $group->berechnung_kg_von,
290
                    "calc_weight_to"    => $group->berechnung_kg_bis,
291
                    "calc_price_from"   => $group->berechnung_preis_von,
292
                    "calc_price_to"     => $group->berechnung_preis_bis,
293
                    "conditions"        => $group->bedingungen,
294
                    "tax_rate"          => $group->steuersatz,
295
                    "created_by"        => $group->erstellt_von,
296
                    "updated_by"        => $group->geaendert_von,
297
                    "updated_at"        => $group->geaendert_am,
298
                    "created_at"        => $group->erstellt_am,
299
                ] );
300
            }
301
        }
302
 
303
        private function migrateActions()
304
        {
305
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Aktionen" );
306
            $start = 0;
307
            $sql = "SELECT
308
                    MAX(id) AS start
309
                FROM
310
                    actions
311
            ";
312
            $row = DB::connection( "mysql" )->select( $sql );
313
            if ( $row[0]->start )
314
            {
315
                $start = $row[0]->start;
316
            }
317
            $sql = "
318
                SELECT
319
                    *
320
                FROM
321
                    Aktionen
322
                WHERE
323
                    id>" . $start . "
324
            ";
325
            $actions = DB::connection( 'old' )->select( $sql );
326
            $progressbar = $this->output->createProgressBar( count( $actions ) );
327
            $progressbar->start();
328
            foreach ( $actions as $action )
329
            {
330
                $actionDB = new Action();
331
                $actionDB->id = $action->ID;
332
                $actionDB->headline = $action->headline;
333
                $actionDB->text = $action->text;
334
                $actionDB->rang = $action->rang;
335
                $actionDB->config = $action->config;
336
                $actionDB->category = $action->Kategorie;
337
                $actionDB->notes = $action->notizen;
338
                $actionDB->valid_from = $action->von;
339
                $actionDB->valid_to = $action->bis;
340
                $actionDB->created_by = "WebanOS Laravel Upgrade";
341
                $actionDB->updated_by = "WebanOS Laravel Upgrade";
342
                $actionDB->save();
433 lars 343
                $progressbar->advance();
344
            }
345
            $progressbar->finish();
346
            $progressbar->clear();
347
        }
348
 
260 lars 349
        private function migrateDirs()
350
        {
294 lars 351
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Kategorien" );
486 lars 352
            $start = 0;
353
            $sql = "SELECT
354
                    MAX(id) AS start
355
                FROM
356
                    directories
357
            ";
358
            $row = DB::connection( "mysql" )->select( $sql );
527 lars 359
            if ( $row[0]->start )
486 lars 360
            {
527 lars 361
                $start = $row[0]->start;
486 lars 362
            }
260 lars 363
            $sql = '
364
                SELECT
365
                    *
366
                FROM
367
                    directory
486 lars 368
                WHERE id>' . $start . '
260 lars 369
            ';
370
            $dirs = DB::connection( 'old' )->select( $sql );
301 lars 371
            $progressbar = $this->output->createProgressBar( count( $dirs ) );
372
            $progressbar->start();
260 lars 373
            foreach ( $dirs as $row )
374
            {
284 lars 375
                $ersteller = $row->erstellt_von;
376
                if ( !$ersteller )
377
                {
378
                    $ersteller = "WebanOS Laravel Upgrade";
379
                }
285 lars 380
                $bearbeiter = $row->letzte_Aenderung_von;
284 lars 381
                if ( !$bearbeiter )
382
                {
383
                    $bearbeiter = "WebanOS Laravel Upgrade";
384
                }
303 lars 385
                $dir = new Directory();
386
                $dir->id = $row->ID;
304 lars 387
                $dir->directory_id = $row->Father;
303 lars 388
                $dir->name = $row->Name;
432 lars 389
                $dir->articlemaster = $row->Artikelstamm;
304 lars 390
                $dir->status = $row->status;
303 lars 391
                $dir->kennung = $row->Kennung;
304 lars 392
                $dir->description = $row->Beschreibung;
393
                $dir->short_line_1 = $row->short_line_1;
303 lars 394
                $dir->url = $row->url;
395
                $dir->created_at = $row->erstellt_am;
396
                $dir->created_by = $ersteller;
397
                $dir->updated_by = $bearbeiter;
398
                $dir->updated_at = $row->letzte_Aenderung_am;
399
                $dir->save();
301 lars 400
                $progressbar->advance();
260 lars 401
            }
301 lars 402
            $progressbar->finish();
302 lars 403
            $progressbar->clear();
260 lars 404
        }
405
 
406
        private function migrateItems()
407
        {
294 lars 408
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Artikel" );
486 lars 409
            $start = 0;
410
            $sql = "SELECT
411
                    MAX(id) AS start
412
                FROM
413
                    items
414
            ";
415
            $row = DB::connection( "mysql" )->select( $sql );
527 lars 416
            if ( $row[0]->start )
486 lars 417
            {
527 lars 418
                $start = $row[0]->start;
486 lars 419
            }
260 lars 420
            $sql = '
421
                SELECT
422
                    *
423
                FROM
424
                    artikel
425
                WHERE
491 lars 426
                    father >= -1
486 lars 427
                AND
490 lars 428
                    id>' . $start . '
260 lars 429
            ';
430
            $dirs = DB::connection( 'old' )->select( $sql );
301 lars 431
            $progressbar = $this->output->createProgressBar( count( $dirs ) );
432
            $progressbar->start();
260 lars 433
            foreach ( $dirs as $row )
434
            {
284 lars 435
                $item = new Item();
436
                $item->id = $row->ID;
437
                $item->directory_id = $row->Father;
438
                $item->name = $row->kurzbezeichnung;
439
                $item->status = $row->status;
440
                $item->kennung = $row->kennung;
441
                $item->description = $row->beschreibung;
442
                $item->created_at = $row->erstellt_am;
443
                $item->updated_at = $row->letzte_Aenderung_am;
283 lars 444
                $ersteller = $row->erstellt_von;
282 lars 445
                if ( !$ersteller )
281 lars 446
                {
282 lars 447
                    $ersteller = "WebanOS Laravel Upgrade";
281 lars 448
                }
287 lars 449
                $bearbeiter = $row->letzte_Aenderung_von;
282 lars 450
                if ( !$bearbeiter )
281 lars 451
                {
282 lars 452
                    $bearbeiter = "WebanOS Laravel Upgrade";
281 lars 453
                }
284 lars 454
                $item->created_by = $ersteller;
455
                $item->updated_by = $bearbeiter;
456
                $item->save();
301 lars 457
                $progressbar->advance();
260 lars 458
            }
301 lars 459
            $progressbar->finish();
302 lars 460
            $progressbar->clear();
294 lars 461
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Preise" );
494 lars 462
            $start = 0;
492 lars 463
            $sql = "SELECT
464
                    MAX(id) AS start
465
                FROM
466
                    prices
467
            ";
468
            $row = DB::connection( "mysql" )->select( $sql );
527 lars 469
            if ( $row[0]->start )
492 lars 470
            {
527 lars 471
                $start = $row[0]->start;
492 lars 472
            }
260 lars 473
            $sql = "
474
                SELECT
475
                    p.*
476
                FROM
477
                    preise p
478
                JOIN
479
                    artikel a
480
                ON
481
                    a.id=p.artikel_id
482
                WHERE
483
                    a.father >=-1
492 lars 484
                AND
485
                    p.id>" . $start . "
260 lars 486
            ";
487
            $prices = DB::connection( 'old' )->select( $sql );
301 lars 488
            $progressbar = $this->output->createProgressBar( count( $prices ) );
489
            $progressbar->start();
260 lars 490
            foreach ( $prices as $price )
491
            {
492
                Price::factory()->createQuietly( [
493 lars 493
                    "id"          => $price->id,
260 lars 494
                    "item_id"     => $price->artikel_id,
495
                    "preis_index" => $price->preis_index,
496
                    "preis"       => $price->preis,
497
                    "staffel"     => $price->staffel,
498
                    "created_at"  => $price->geaendert_am,
288 lars 499
                    "created_by"  => $price->geaendert_von,
500
                    "updated_by"  => $price->geaendert_von,
260 lars 501
                    "updated_at"  => $price->geaendert_am
502
                ] );
301 lars 503
                $progressbar->advance();
260 lars 504
            }
301 lars 505
            $progressbar->finish();
302 lars 506
            $progressbar->clear();
260 lars 507
        }
508
 
527 lars 509
        public function migrateMedia()
433 lars 510
        {
527 lars 511
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Medien" );
486 lars 512
            $start = 0;
433 lars 513
            $sql = "SELECT
527 lars 514
                    MAX(id) AS start
486 lars 515
                FROM
527 lars 516
                    media
486 lars 517
            ";
518
            $row = DB::connection( "mysql" )->select( $sql );
527 lars 519
            if ( $row[0]->start )
486 lars 520
            {
527 lars 521
                $start = $row[0]->start;
486 lars 522
            }
527 lars 523
            $sql = "
524
                SELECT
525
                    *
526
                FROM
527
                    medien
528
                WHERE
529
                    id>" . $start . "
530
            ";
531
            $media = DB::connection( 'old' )->select( $sql );
532
            $progressbar = $this->output->createProgressBar( count( $media ) );
533
            $progressbar->start();
534
            foreach ( $media as $medium )
535
            {
536
                $mediumDB = new Medium();
537
                $mediumDB->id = $medium->id;
538
                $mediumDB->name = $medium->name;
539
                $mediumDB->folder = $medium->folder;
540
                $mediumDB->medium_type_id = $medium->typ;
541
                $mediumDB->description = $medium->beschreibung;
542
                if ( $medium->erstellt_am )
543
                {
544
                    $mediumDB->created_at = date( "Y-m-d H:i:s", $medium->erstellt_am );
545
                }
546
                $ersteller = $medium->erstellt_von;
547
                if ( !$ersteller )
548
                {
549
                    $ersteller = "WebanOS Laravel Upgrade";
550
                }
551
                $bearbeiter = $medium->letzte_aenderung_von;
552
                if ( !$bearbeiter )
553
                {
554
                    $bearbeiter = "WebanOS Laravel Upgrade";
555
                }
556
                $mediumDB->created_by = $ersteller;
557
                $mediumDB->updated_by = $bearbeiter;
558
                $mediumDB->save();
559
                $progressbar->advance();
560
            }
561
            $progressbar->finish();
562
            $progressbar->clear();
563
        }
564
 
565
        public function migrateActionMedia()
566
        {
567
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Aktions-Bilder" );
568
            $start = 0;
486 lars 569
            $sql = "SELECT
527 lars 570
                    MAX(id) AS start
571
                FROM
572
                    action_media
573
            ";
574
            $row = DB::connection( "mysql" )->select( $sql );
575
            if ( $row[0]->start )
576
            {
577
                $start = $row[0]->start;
578
            }
579
            $sql = "SELECT
433 lars 580
                    *
581
                FROM
527 lars 582
                    aktionen_medien
486 lars 583
                WHERE
527 lars 584
                    id>" . $start . "
433 lars 585
            ";
586
            $media = DB::connection( 'old' )->select( $sql );
587
            $progressbar = $this->output->createProgressBar( count( $media ) );
588
            $progressbar->start();
589
            foreach ( $media as $row )
590
            {
527 lars 591
                $medium = new ActionMedium();
592
                $medium->action_id = $row->aktionen_id;
433 lars 593
                $medium->medium_id = $row->medien_id;
594
                $medium->rank = $row->rang;
595
                $medium->created_by = "WebanOS Laravel Upgrade";
596
                $medium->updated_by = "WebanOS Laravel Upgrade";
597
                $medium->save();
598
                $progressbar->advance();
599
            }
600
            $progressbar->finish();
601
            $progressbar->clear();
602
        }
603
 
527 lars 604
        public function migrateDirMedia()
260 lars 605
        {
527 lars 606
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Kategorie-Bilder" );
486 lars 607
            $start = 0;
608
            $sql = "SELECT
527 lars 609
                    MAX(medium_id) AS start
486 lars 610
                FROM
527 lars 611
                    directory_media
486 lars 612
            ";
613
            $row = DB::connection( "mysql" )->select( $sql );
527 lars 614
            if ( $row[0]->start )
486 lars 615
            {
527 lars 616
                $start = $row[0]->start;
486 lars 617
            }
527 lars 618
            $sql = "SELECT
260 lars 619
                    *
620
                FROM
527 lars 621
                    directory_medien
486 lars 622
                WHERE
527 lars 623
                    medien_id>" . $start . "
260 lars 624
            ";
527 lars 625
            $media = DB::connection( 'old' )->select( $sql );
626
            $progressbar = $this->output->createProgressBar( count( $media ) );
301 lars 627
            $progressbar->start();
527 lars 628
            foreach ( $media as $row )
260 lars 629
            {
527 lars 630
                $medium = new DirectoryMedium();
631
                $medium->directory_id = $row->directory_id;
632
                $medium->medium_id = $row->medien_id;
633
                $medium->rank = $row->rang;
634
                $medium->similar = $row->aehnlich;
635
                $medium->created_at = $row->zugeordnet_am;
636
                $medium->updated_at = $row->zugeordnet_am;
637
                $medium->created_by = "WebanOS Laravel Upgrade";
638
                $medium->updated_by = "WebanOS Laravel Upgrade";
639
                $medium->save();
301 lars 640
                $progressbar->advance();
260 lars 641
            }
301 lars 642
            $progressbar->finish();
302 lars 643
            $progressbar->clear();
260 lars 644
        }
272 lars 645
 
527 lars 646
        public function migrateItemMedia()
272 lars 647
        {
527 lars 648
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Artikel-Bilder" );
486 lars 649
            $start = 0;
433 lars 650
            $sql = "SELECT
527 lars 651
                    MAX(medium_id) AS start
486 lars 652
                FROM
527 lars 653
                    item_media
486 lars 654
            ";
655
            $row = DB::connection( "mysql" )->select( $sql );
527 lars 656
            if ( $row[0]->start )
486 lars 657
            {
527 lars 658
                $start = $row[0]->start;
486 lars 659
            }
660
            $sql = "SELECT
272 lars 661
                    *
662
                FROM
527 lars 663
                    artikel_medien
486 lars 664
                WHERE
527 lars 665
                    medien_id>" . $start . "
272 lars 666
            ";
667
            $media = DB::connection( 'old' )->select( $sql );
301 lars 668
            $progressbar = $this->output->createProgressBar( count( $media ) );
669
            $progressbar->start();
433 lars 670
            foreach ( $media as $row )
272 lars 671
            {
527 lars 672
                $medium = new ItemMedium();
673
                $medium->item_id = $row->artikel_id;
433 lars 674
                $medium->medium_id = $row->medien_id;
675
                $medium->rank = $row->rang;
527 lars 676
                $medium->similar = $row->aehnlich;
677
                $medium->created_at = $row->zugeordnet_am;
678
                $medium->updated_at = $row->zugeordnet_am;
433 lars 679
                $medium->created_by = "WebanOS Laravel Upgrade";
680
                $medium->updated_by = "WebanOS Laravel Upgrade";
681
                $medium->save();
301 lars 682
                $progressbar->advance();
272 lars 683
            }
301 lars 684
            $progressbar->finish();
302 lars 685
            $progressbar->clear();
272 lars 686
        }
304 lars 687
 
688
        private function migrateUsers()
689
        {
690
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere User" );
433 lars 691
            $start = 0;
692
            $sql = "SELECT
693
                    MAX(id) AS start
694
                FROM
434 lars 695
                    users
433 lars 696
            ";
697
            $row = DB::connection( "order" )->select( $sql );
527 lars 698
            if ( $row[0]->start )
433 lars 699
            {
527 lars 700
                $start = $row[0]->start;
433 lars 701
            }
702
            $sql = "SELECT
703
                    *
704
                FROM
434 lars 705
                    Logins
433 lars 706
                WHERE
707
                    id>" . $start . "
708
            ";
437 lars 709
            $users = DB::connection( "oldOrder" )->select( $sql );
710
            $progressbar = $this->output->createProgressBar( count( $users ) );
448 lars 711
            $progressbar->start();
437 lars 712
            foreach ( $users as $oldUser )
433 lars 713
            {
443 lars 714
                $ersteller = $oldUser->erstellt_von;
442 lars 715
                if ( !$ersteller )
716
                {
717
                    $ersteller = "WebanOS Laravel Upgrade";
718
                }
443 lars 719
                $bearbeiter = $oldUser->letzte_Aenderung_von;
442 lars 720
                if ( !$bearbeiter )
721
                {
722
                    $bearbeiter = "WebanOS Laravel Upgrade";
723
                }
437 lars 724
                $user = new User();
438 lars 725
                $user->id = $oldUser->ID;
437 lars 726
                $user->email = $oldUser->E_Mail;
727
                $user->created_at = $oldUser->erstellt_am;
442 lars 728
                $user->created_by = $ersteller;
729
                $user->updated_by = $bearbeiter;
437 lars 730
                $user->updated_at = $oldUser->letzte_Aenderung_am;
731
                $user->save();
441 lars 732
                $progressbar->advance();
433 lars 733
            }
441 lars 734
            $progressbar->finish();
735
            $progressbar->clear();
304 lars 736
        }
737
 
445 lars 738
        private function migrateAddresses( bool $isOrder = false )
304 lars 739
        {
445 lars 740
            $typ = "Adressen";
741
            $table = "addresses";
742
            $oldTable = "adresse";
743
            if ( $isOrder === true )
744
            {
745
                $typ = "Bestelladressen";
746
                $table = "order_addresses";
747
                $oldTable = "bestelladresse";
748
            }
749
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere " . $typ );
750
            $start = 0;
751
            $sql = "SELECT
752
                    MAX(id) AS start
753
                FROM
754
                    " . $table . "
755
            ";
756
            $row = DB::connection( "order" )->select( $sql );
527 lars 757
            if ( $row[0]->start )
445 lars 758
            {
527 lars 759
                $start = $row[0]->start;
445 lars 760
            }
761
            $sql = "SELECT
762
                    *
763
                FROM
764
                    " . $oldTable . "
765
                WHERE
766
                    id>" . $start . "
767
            ";
768
            $addresses = DB::connection( "oldOrder" )->select( $sql );
769
            $progressbar = $this->output->createProgressBar( count( $addresses ) );
447 lars 770
            $progressbar->start();
445 lars 771
            foreach ( $addresses as $oldAddress )
772
            {
773
                $ersteller = "WebanOS Laravel Upgrade";
774
                $bearbeiter = "WebanOS Laravel Upgrade";
458 lars 775
                if ( $isOrder === true )
452 lars 776
                {
777
                    $address = new OrderAddress();
778
                }
779
                else
780
                {
781
                    $address = new Address();
782
                }
445 lars 783
                $address->id = $oldAddress->id;
784
                $address->user_id = $oldAddress->logins_id;
785
                $address->salutation = $oldAddress->anrede;
786
                $address->pro_title = $oldAddress->pro_title;
787
                $address->name = $oldAddress->vorname;
788
                $address->lastname = $oldAddress->nachname;
789
                $address->company = $oldAddress->firma;
790
                $address->company2 = $oldAddress->firma2;
791
                $address->street = $oldAddress->strasse1;
792
                $address->houseno = $oldAddress->str_nr1;
793
                $address->street2 = $oldAddress->strasse2;
794
                $address->zip = $oldAddress->plz;
795
                $address->city = $oldAddress->ort;
796
                $address->country_id = $oldAddress->land;
797
                $address->state_id = $oldAddress->state;
798
                $address->phone = $oldAddress->telefon;
799
                $address->fax = $oldAddress->fax;
800
                $address->email = $oldAddress->email;
801
                $address->nettocalculation = $oldAddress->nettoberechnung;
450 lars 802
                $address->hr_nr = $oldAddress->hr_nr;
445 lars 803
                $address->vat_id = $oldAddress->vat_id;
804
                $address->vat_free = $oldAddress->mwst_befreiung;
805
                $address->legal_form = $oldAddress->legal_form;
806
                $address->comment = $oldAddress->comment;
451 lars 807
                $address->created_at = $oldAddress->letzte_aenderung_am;
445 lars 808
                $address->created_by = $ersteller;
809
                $address->updated_by = $bearbeiter;
810
                $address->updated_at = $oldAddress->letzte_aenderung_am;
811
                $address->save();
812
                $progressbar->advance();
813
            }
814
            $progressbar->finish();
815
            $progressbar->clear();
304 lars 816
        }
817
 
818
        private function migrateOrderAddresses()
819
        {
445 lars 820
            $this->migrateAddresses( true );
304 lars 821
        }
822
 
823
        private function migrateOrders()
824
        {
825
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Bestellungen" );
454 lars 826
            $start = 0;
827
            $sql = "SELECT
828
                    MAX(id) AS start
829
                FROM
830
                    orders
831
            ";
832
            $row = DB::connection( "order" )->select( $sql );
527 lars 833
            if ( $row[0]->start )
454 lars 834
            {
527 lars 835
                $start = $row[0]->start;
454 lars 836
            }
837
            $sql = "SELECT
838
                    *
839
                FROM
840
                    Bestellung
841
                WHERE
842
                    id>" . $start . "
843
            ";
844
            $orders = DB::connection( "oldOrder" )->select( $sql );
845
            $progressbar = $this->output->createProgressBar( count( $orders ) );
846
            $progressbar->start();
847
            foreach ( $orders as $oldOrder )
848
            {
501 lars 849
                $paidAt = $oldOrder->bezahlt_am;
850
                if ( $paidAt == "0000-00-00 00:00:00" )
851
                {
502 lars 852
                    $paidAt = null;
501 lars 853
                }
454 lars 854
                $order = new Order();
855
                $order->id = $oldOrder->ID;
481 lars 856
                $order->shop_id = $oldOrder->shops_ID;
459 lars 857
                $order->order_type_id = $oldOrder->bestellart_id;
458 lars 858
                $order->payment_method_id = $oldOrder->zahlart_id;
859
                $order->user_id = $oldOrder->Login;
860
                $order->ship_addr_id = $oldOrder->ship_addr_id;
861
                $order->bill_addr_id = $oldOrder->bill_addr_id;
862
                $order->paid = $oldOrder->bezahlt;
501 lars 863
                $order->paid_at = $paidAt;
458 lars 864
                $order->paid_comment = $oldOrder->bezahlt_bemerkung;
865
                $order->foreign_id = $oldOrder->fremd_id;
866
                $order->foreign_payment_id = $oldOrder->bezahlt_fremdid;
867
                $order->status = $oldOrder->status;
868
                $order->total_amount_buffer = $oldOrder->gesamtsumme_buffer;
869
                $order->item_status_buffer = $oldOrder->artikelstatus_buffer;
870
                $order->invoice_status_buffer = $oldOrder->rechnungsstatus_buffer;
504 lars 871
                $order->delivery_note_status_buffer = $oldOrder->lieferscheinStatus_buffer;
458 lars 872
                $order->tax = $oldOrder->tax;
873
                $order->comment = $oldOrder->Bemerkung;
874
                $order->external_comment = $oldOrder->Bemerkung_extern;
875
                $order->note = $oldOrder->notiz;
460 lars 876
                $order->additional_info = $oldOrder->zusatzInfo;
458 lars 877
                $order->shipping_group_id = $oldOrder->versandgruppen_id;
878
                $order->kk_info = $oldOrder->kk_info;
879
                $order->created_by = $oldOrder->erstellt_von;
880
                $order->updated_by = $oldOrder->letzte_Aenderung_von;
881
                $order->updated_at = $oldOrder->letzte_Aenderung_am;
882
                $order->created_at = $oldOrder->erstellt_am;
454 lars 883
                $order->save();
884
                $progressbar->advance();
885
            }
886
            $progressbar->finish();
887
            $progressbar->clear();
304 lars 888
        }
889
 
890
        private function migrateOrderItems()
891
        {
578 lars 892
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Artikel in Bestellungen" );
454 lars 893
            $start = 0;
894
            $sql = "SELECT
895
                    MAX(id) AS start
896
                FROM
897
                    order_items
898
            ";
899
            $row = DB::connection( "order" )->select( $sql );
527 lars 900
            if ( $row[0]->start )
454 lars 901
            {
527 lars 902
                $start = $row[0]->start;
454 lars 903
            }
904
            $sql = "SELECT
905
                    *
906
                FROM
907
                    artikel_to_Bestellung
908
                WHERE
909
                    id>" . $start . "
910
            ";
911
            $orderItems = DB::connection( "oldOrder" )->select( $sql );
912
            $progressbar = $this->output->createProgressBar( count( $orderItems ) );
913
            $progressbar->start();
914
            foreach ( $orderItems as $oldOrderItem )
915
            {
573 lars 916
                $exported = $oldOrderItem->exported;
917
                if ( $exported == "0000-00-00 00:00:00" )
918
                {
919
                    $exported = null;
920
                }
921
                $exported_invoice = $oldOrderItem->exported_rechnung;
922
                if ( $exported_invoice == "0000-00-00 00:00:00" )
923
                {
924
                    $exported_invoice = null;
925
                }
926
                $exported_delivery_note = $oldOrderItem->exported_lieferschein;
927
                if ( $exported_delivery_note == "0000-00-00 00:00:00" )
928
                {
929
                    $exported_delivery_note = null;
930
                }
561 lars 931
                OrderItem::factory()->create( [
567 lars 932
                    "id"                     => $oldOrderItem->ID,
933
                    "item_id"                => $oldOrderItem->artikel,
934
                    "order_id"               => $oldOrderItem->Bestellung,
568 lars 935
                    "name"                   => $oldOrderItem->Bezeichnung,
567 lars 936
                    "amount"                 => $oldOrderItem->Menge,
937
                    "price"                  => $oldOrderItem->Preis_pro_Stueck,
938
                    "father"                 => $oldOrderItem->father,
939
                    "status"                 => $oldOrderItem->status,
940
                    "delivery_status"        => $oldOrderItem->lieferstatus,
569 lars 941
                    "invoice_status"         => $oldOrderItem->rechnungStatus,
567 lars 942
                    "delivery_note_status"   => $oldOrderItem->lieferscheinStatus,
943
                    "foreign_id"             => $oldOrderItem->fremd_id,
570 lars 944
                    "option_input"           => $oldOrderItem->option_eingabe,
567 lars 945
                    "description"            => $oldOrderItem->beschreibung,
569 lars 946
                    "rank"                   => $oldOrderItem->Rang,
567 lars 947
                    "tax"                    => $oldOrderItem->mwst,
948
                    "orig_value"             => $oldOrderItem->orig_value,
949
                    "orig_currency"          => $oldOrderItem->orig_currency,
950
                    "hash"                   => $oldOrderItem->hash,
573 lars 951
                    "exported"               => $exported,
574 lars 952
                    "exported_invoice"       => $exported_invoice,
953
                    "exported_delivery_note" => $exported_delivery_note,
567 lars 954
 
561 lars 955
                ] );
454 lars 956
                $progressbar->advance();
957
            }
958
            $progressbar->finish();
959
            $progressbar->clear();
304 lars 960
        }
535 lars 961
 
962
        private function migrateSalesPortalTypes()
963
        {
964
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Verkaufsportalarten" );
965
            $start = 0;
966
            $sql = "SELECT
967
                    MAX(id) start
968
                FROM
969
                    sales_portal_types
970
            ";
971
            $row = DB::connection( 'cms' )->select( $sql );
972
            if ( $row[0]->start )
973
            {
974
                $start = $row[0]->start;
975
            }
976
            $sql = "SELECT
977
                    *
978
                FROM
979
                    vportale_art
980
                WHERE
981
                    id>" . $start . "
982
            ";
983
            $portals = DB::connection( 'cms' )->select( $sql );
552 lars 984
            $progressbar = $this->output->createProgressBar( count( $portals ) );
985
            $progressbar->start();
535 lars 986
            foreach ( $portals as $portal )
987
            {
988
                SalesPortalType::factory()->create( [
989
                    "id"                   => $portal->id,
990
                    "type"                 => $portal->art,
991
                    "name"                 => $portal->bezeichnung,
992
                    "max_categories"       => $portal->max_categories,
993
                    "min_depth_category"   => $portal->min_depth_category,
994
                    "only_end_category"    => $portal->only_end_category,
995
                    "script"               => $portal->skript,
996
                    "script_folder"        => $portal->script_folder,
997
                    "commit_possibilities" => $portal->commit_posibilities,
998
                    "revokeable"           => $portal->stornierbar,
999
                ] );
552 lars 1000
                $progressbar->advance();
535 lars 1001
            }
552 lars 1002
            $progressbar->finish();
1003
            $progressbar->clear();
535 lars 1004
        }
1005
 
1006
        private function migrateSalesPortals()
1007
        {
1008
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Verkaufsportale" );
1009
            $start = 0;
1010
            $sql = "SELECT
1011
                    MAX(id) start
1012
                FROM
1013
                    sales_portals
1014
            ";
1015
            $row = DB::connection( 'mysql' )->select( $sql );
1016
            if ( $row[0]->start )
1017
            {
1018
                $start = $row[0]->start;
1019
            }
1020
            $sql = "SELECT
1021
                    *
1022
                FROM
1023
                    vportale
1024
                WHERE
1025
                    id>" . $start . "
1026
            ";
1027
            $portals = DB::connection( 'old' )->select( $sql );
552 lars 1028
            $progressbar = $this->output->createProgressBar( count( $portals ) );
1029
            $progressbar->start();
535 lars 1030
            foreach ( $portals as $portal )
538 lars 1031
            {
1032
                $max_preis = 0;
1033
                $anrede = 1;
1034
                if ( isset( $portal->anrede ) )
1035
                {
1036
                    $anrede = $portal->anrede;
1037
                }
1038
                if ( isset( $portal->max_preis ) )
1039
                {
1040
                    $max_preis = $portal->max_preis;
1041
                }
535 lars 1042
                SalesPortal::factory()->create( [
538 lars 1043
                    "id"                   => $portal->id,
1044
                    "name"                 => $portal->name,
1045
                    "template"             => $portal->template,
1046
                    "sales_portal_type_id" => $portal->art,
1047
                    "sku_prefix"           => $portal->sku_prefix,
1048
                    "price_number"         => $portal->preis_nummer,
1049
                    "base_price"           => $portal->basis_preis,
1050
                    "min_price"            => $portal->min_preis,
1051
                    "max_price"            => $max_preis,
1052
                    "digits"               => $portal->runden,
1053
                    "standard_amount"      => $portal->standard_menge,
1054
                    "item_url"             => $portal->artikel_url,
1055
                    "currency"             => $portal->currency,
1056
                    "shipping_state"       => $portal->lieferstatus,
1057
                    "delivery"             => $portal->delivery,
1058
                    "shipping_cost"        => $portal->shipping_cost,
1059
                    "afterbuy"             => $portal->afterbuy,
1060
                    "salutation"           => $anrede,
1061
                    "commit_fields"        => $portal->commit_fields,
1062
                    "zip"                  => $portal->plz,
1063
                    "location"             => $portal->location,
1064
                    "created_by"           => $portal->erstellt_von,
1065
                    "updated_by"           => $portal->geaendert_von,
1066
                    "created_at"           => $portal->erstellt_am,
1067
                    "updated_at"           => $portal->geaendert_am,
535 lars 1068
                ] );
552 lars 1069
                $progressbar->advance();
535 lars 1070
            }
552 lars 1071
            $progressbar->finish();
1072
            $progressbar->clear();
535 lars 1073
        }
538 lars 1074
 
1075
        private function migrateSalesPortalItems()
1076
        {
1077
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Verkaufsportalartikel" );
1078
            $start = 0;
1079
            $sql = "SELECT
1080
                    MAX(id) start
1081
                FROM
1082
                    sales_portal_items
1083
            ";
1084
            $row = DB::connection( 'mysql' )->select( $sql );
1085
            if ( $row[0]->start )
1086
            {
1087
                $start = $row[0]->start;
1088
            }
1089
            $sql = "SELECT
1090
                    *
1091
                FROM
1092
                    artikel_vportale
1093
                WHERE
1094
                    id>" . $start . "
1095
            ";
1096
            $items = DB::connection( 'old' )->select( $sql );
552 lars 1097
            $progressbar = $this->output->createProgressBar( count( $items ) );
1098
            $progressbar->start();
538 lars 1099
            foreach ( $items as $item )
1100
            {
544 lars 1101
                $pickup = 0;
1102
                if ( isset( $item->pickup ) )
1103
                {
1104
                    $pickup = $item->pickup;
1105
                }
549 lars 1106
                $start = $item->start;
1107
                if ( $start == "0000-00-00 00:00:00" )
1108
                {
1109
                    $start = null;
1110
                }
547 lars 1111
                $erstellt_am = $item->erstellt_am;
1112
                if ( $erstellt_am == "0000-00-00 00:00:00" )
1113
                {
1114
                    $erstellt_am = null;
1115
                }
548 lars 1116
                $geaendert_am = $item->geaendert_am;
1117
                if ( $geaendert_am == "0000-00-00 00:00:00" )
547 lars 1118
                {
548 lars 1119
                    $geaendert_am = null;
547 lars 1120
                }
538 lars 1121
                SalesPortalItem::factory()->create( [
1122
                    "id"                              => $item->id,
1123
                    "sales_portal_id"                 => $item->vportale_id,
1124
                    "item_id"                         => $item->artikel_id,
1125
                    "sales_portal_template_id"        => $item->template_id,
1126
                    "sku"                             => $item->sku,
1127
                    "additions"                       => $item->zusaetze,
1128
                    "foreign_item_id"                 => $item->fremdartikel_id,
1129
                    "name"                            => $item->name,
1130
                    "autochange_name"                 => $item->autochange_name,
1131
                    "name_bold"                       => $item->name_fett,
1132
                    "highlight"                       => $item->highlight,
1133
                    "sub_name"                        => $item->sub_name,
1134
                    "manufacturer"                    => $item->hersteller,
1135
                    "autochange_manufacturer"         => $item->autochange_hersteller,
1136
                    "ean"                             => $item->ean,
1137
                    "autochange_ean"                  => $item->autochange_ean,
1138
                    "mpn"                             => $item->mpn,
1139
                    "autochange_mpn"                  => $item->autochange_mpn,
1140
                    "description"                     => $item->beschreibung,
1141
                    "autochange_description"          => $item->autochange_beschreibung,
541 lars 1142
                    "description_addition"            => $item->beschreibung_zusatz,
542 lars 1143
                    "autochange_description_addition" => $item->autochange_beschreibung_zusatz,
538 lars 1144
                    "price"                           => $item->preis,
1145
                    "autochange_price"                => $item->autochange_preis,
543 lars 1146
                    "currency"                        => $item->currency,
538 lars 1147
                    "tax"                             => $item->tax,
1148
                    "price_type"                      => $item->preisart,
1149
                    "amount"                          => $item->menge,
1150
                    "carrier"                         => $item->carrier,
1151
                    "carrier_cost"                    => $item->carrier_cost,
549 lars 1152
                    "start"                           => $start,
538 lars 1153
                    "duration"                        => $item->dauer,
1154
                    "category_1"                      => $item->kategorie_1,
1155
                    "category_2"                      => $item->kategorie_2,
1156
                    "category_3"                      => $item->kategorie_3,
1157
                    "bp1"                             => $item->bp1,
1158
                    "bp2"                             => $item->bp2,
1159
                    "bp3"                             => $item->bp3,
1160
                    "bp4"                             => $item->bp4,
1161
                    "bp5"                             => $item->bp5,
1162
                    "platin_search_1"                 => $item->platin_search_1,
1163
                    "platin_search_2"                 => $item->platin_search_2,
1164
                    "platin_search_3"                 => $item->platin_search_3,
1165
                    "platin_search_4"                 => $item->platin_search_4,
1166
                    "platin_search_5"                 => $item->platin_search_5,
1167
                    "search_1"                        => $item->search_1,
1168
                    "search_2"                        => $item->search_2,
1169
                    "search_3"                        => $item->search_3,
1170
                    "search_4"                        => $item->search_4,
1171
                    "search_5"                        => $item->search_5,
1172
                    "status"                          => $item->status,
1173
                    "online_status"                   => $item->online_status,
1174
                    "delivery_time"                   => $item->lieferzeit,
544 lars 1175
                    "pickup"                          => $pickup,
538 lars 1176
                    "last_feedback"                   => $item->last_feedback,
1177
                    "created_by"                      => $item->erstellt_von,
1178
                    "updated_by"                      => $item->geaendert_von,
547 lars 1179
                    "created_at"                      => $erstellt_am,
1180
                    "updated_at"                      => $geaendert_am,
538 lars 1181
                ] );
552 lars 1182
                $progressbar->advance();
538 lars 1183
            }
552 lars 1184
            $progressbar->finish();
1185
            $progressbar->clear();
555 lars 1186
        }
551 lars 1187
 
555 lars 1188
        private function migratePriceAgencies()
1189
        {
552 lars 1190
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Preisagenturen" );
551 lars 1191
            $start = 0;
1192
            $sql = "SELECT
1193
                    MAX(id) start
1194
                FROM
1195
                    price_agencies
1196
            ";
1197
            $row = DB::connection( 'mysql' )->select( $sql );
1198
            if ( $row[0]->start )
1199
            {
1200
                $start = $row[0]->start;
1201
            }
1202
            $sql = "SELECT
1203
                    *
1204
                FROM
1205
                    Preisagentur
1206
                WHERE
1207
                    id>" . $start . "
1208
            ";
555 lars 1209
            $agencies = DB::connection( 'old' )->select( $sql );
552 lars 1210
            $progressbar = $this->output->createProgressBar( count( $agencies ) );
1211
            $progressbar->start();
555 lars 1212
            foreach ( $agencies as $agency )
1213
            {
1214
                $letzter_Abruf_am = $agency->letzter_Abruf_am;
1215
                if ( $letzter_Abruf_am == "0000-00-00 00:00:00" )
1216
                {
1217
                    $letzter_Abruf_am = null;
1218
                }
1219
                $letzte_Aktualisierung_am = $agency->letzte_Aktualisierung_am;
1220
                if ( $letzte_Aktualisierung_am == "0000-00-00 00:00:00" )
1221
                {
1222
                    $letzte_Aktualisierung_am = null;
1223
                }
1224
                PriceAgency::factory()->create( [
1225
                    "id"                   => $agency->ID,
1226
                    "shop_id"              => $agency->shops_ID,
1227
                    "name"                 => $agency->Titel,
1228
                    "logo_url"             => $agency->logo_url,
1229
                    "home_url"             => $agency->home_url,
1230
                    "csv_url"              => $agency->csv_url,
1231
                    "trigger_url"          => $agency->trigger_URL,
1232
                    "voting_url"           => $agency->bewertungs_URL,
1233
                    "records"              => $agency->datensaetze,
1234
                    "access_url"           => $agency->Zugang_URL,
1235
                    "access_user"          => $agency->Zugang_Benutzer,
1236
                    "access_password"      => $agency->Zugang_Passwort,
1237
                    "comment"              => $agency->Bemerkung,
1238
                    "locked_manufacturers" => $agency->gesperrte_hersteller,
1239
                    "config"               => $agency->config,
1240
                    "status"               => $agency->status,
1241
                    "only_deliverable"     => $agency->nur_lieferbar,
1242
                    "min_price"            => $agency->min_preis,
1243
                    "last_updated_at"      => $letzte_Aktualisierung_am,
1244
                    "last_access_at"       => $letzter_Abruf_am,
1245
                    "last_access_by"       => $agency->letzter_Abruf_von,
1246
                    "updated_at"           => $agency->letzte_Aenderung_am,
1247
                    "updated_by"           => $agency->letzte_Aenderung_von,
1248
                ] );
552 lars 1249
                $progressbar->advance();
1250
            }
1251
            $progressbar->finish();
1252
            $progressbar->clear();
555 lars 1253
        }
233 lars 1254
    }