-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patharkistoi.php
executable file
·1138 lines (939 loc) · 44.1 KB
/
arkistoi.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?php
// Kutsutaanko CLI:stä
$php_cli = (php_sapi_name() == 'cli') ? true : false;
if ($php_cli) {
// Pupesoft root include_pathiin
ini_set("include_path", ini_get("include_path").PATH_SEPARATOR.dirname(__FILE__));
// Otetaan tietokanta connect
require "inc/connect.inc";
require "inc/functions.inc";
// Logitetaan ajo
cron_log();
if (!isset($argv[1])) {
echo "Anna yhtio!\n";
die;
}
if (!isset($argv[2])) {
echo "Anna pvm vvvv-kk-pp\n";
die;
}
// Tehdään parametrit
list($vv, $kk, $pp) = explode("-", $argv[2]);
$teearkistointi = "joo";
// Haetaan yhtiörow ja kukarow
$yhtio = pupesoft_cleanstring($argv[1]);
$yhtiorow = hae_yhtion_parametrit($yhtio);
$kukarow = hae_kukarow('admin', $yhtiorow['yhtio']);
}
else {
require "inc/parametrit.inc";
}
// Tämä vaatii paljon muistia
error_reporting(E_ALL);
ini_set("memory_limit", "5G");
ini_set("display_errors", 1);
unset($pupe_query_debug);
function is_log($str) {
global $php_cli;
$lf = ($php_cli) ? "\n" : "<br>";
echo date("d.m.Y @ G:i:s") . ": {$str}{$lf}";
}
if (!isset($kk))
$kk = 12;
if (!isset($vv))
$vv = date("Y")-2;
if (!isset($pp))
$pp = 31;
if (!checkdate($kk, $pp, $vv)) {
echo "Virheellinen päivämäärä!";
exit;
}
if ($php_cli) {
echo "\n";
is_log("Poistetaan vanhaa dataa tietokannasta");
}
else {
echo "<font class='head'>".t("Poistetaan vanhaa dataa tietokannasta")."</font><hr><br>";
echo "<br>";
echo t("Poista kaikki tapahtumat kannasta ennen tätä päivää");
echo "<br>";
echo "<table><form method='post'>";
echo "<input type='hidden' name='teearkistointi' value='joo'>";
echo "<tr><th>".t("Syötä päivämäärä (pp-kk-vvvv)")."</th>
<td><input type='text' name='pp' value='$pp' size='3'></td>
<td><input type='text' name='kk' value='$kk' size='3'></td>
<td><input type='text' name='vv' value='$vv' size='5'></td>";
echo "<td class='back'><input type='submit' value='".t("Arkistoi")."'></td></tr></table>";
echo "</form><br><br>";
}
if (isset($teearkistointi) and $teearkistointi != "") {
$dellataan = TRUE;
//#################################################################################################################################
//OSTORESKONTRA
//#################################################################################################################################
if ($dellataan) {
// Maksetut ostolaskut
$query = "DELETE lasku
FROM lasku
LEFT JOIN tiliointi ON (lasku.yhtio = tiliointi.yhtio and lasku.tunnus = tiliointi.ltunnus and tiliointi.tapvm > '$vv-$kk-$pp')
WHERE lasku.yhtio = '$kukarow[yhtio]'
AND lasku.tila in ('H','Y','M','P','Q')
AND lasku.mapvm > 0
AND lasku.mapvm <= '$vv-$kk-$pp'
AND tiliointi.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del ostolaskua.");
}
//#################################################################################################################################
//OSTOHISTORIA
//#################################################################################################################################
if ($dellataan) {
// Saapumiset
$query = "DELETE lasku
FROM lasku
WHERE yhtio = '$kukarow[yhtio]'
AND tila = 'K'
AND alatila = 'X'
AND mapvm > 0
AND mapvm <= '$vv-$kk-$pp'
AND vanhatunnus = 0";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del saapumista.");
// Saapumisen liitosotsikot
$query = "DELETE lasku
FROM lasku
LEFT JOIN lasku AS saapuminen ON (lasku.yhtio = saapuminen.yhtio and saapuminen.laskunro = lasku.laskunro and saapuminen.tila = 'K' and saapuminen.vanhatunnus = 0 )
WHERE lasku.yhtio = '$kukarow[yhtio]'
AND lasku.tila = 'K'
AND lasku.vanhatunnus > 0
AND saapuminen.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del saapumisen liitosotsikkoa.");
// Ostotilaukset
$query = "DELETE lasku
FROM lasku
WHERE yhtio = '$kukarow[yhtio]'
AND tila = 'O'
AND alatila = 'X'
AND luontiaika <= '$vv-$kk-$pp 23:59:59'";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del ostotilausta.");
// ASN-sanomat
$query = "DELETE asn_sanomat
FROM asn_sanomat
WHERE yhtio = '$kukarow[yhtio]'
AND luontiaika > 0
AND luontiaika <= '$vv-$kk-$pp 23:59:59'";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del ASN-sanomaa.");
}
//#################################################################################################################################
//MYYNTIHISTORIA
//#################################################################################################################################
if ($dellataan) {
// Maksetut myyntilaskut
$query = "DELETE lasku FROM lasku
LEFT JOIN tiliointi ON (lasku.yhtio = tiliointi.yhtio and lasku.tunnus = tiliointi.ltunnus and tiliointi.tapvm > '$vv-$kk-$pp')
WHERE lasku.yhtio = '$kukarow[yhtio]'
AND lasku.tila = 'U'
AND lasku.alatila = 'X'
AND lasku.mapvm > 0
AND lasku.tapvm <= '$vv-$kk-$pp'
AND tiliointi.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del myyntilaskua.");
// Myyntitilaukset
$query = "DELETE lasku FROM lasku
WHERE yhtio = '$kukarow[yhtio]'
AND tila = 'L'
AND alatila = 'X'
AND tapvm <= '$vv-$kk-$pp'";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del laskutettua myyntitilausta.");
// Poistetut myyntitilaukset
$query = "DELETE lasku FROM lasku
WHERE yhtio = '$kukarow[yhtio]'
AND tila = 'D'
AND luontiaika <= '$vv-$kk-$pp'";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del poistettua myyntitilausta.");
// Tallennettu web-tilaus/tarjoukset
$query = "DELETE lasku FROM lasku
WHERE yhtio = '$kukarow[yhtio]'
AND tila = 'F'
AND luontiaika <= '$vv-$kk-$pp'";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del tallennettua web-tilaus/tarjousta.");
// Tapahtumat
$query = "SELECT group_concat(distinct concat('\'',laji,'\'')) lajit
FROM tapahtuma
WHERE yhtio = '$kukarow[yhtio]'";
$result = pupe_query($query);
$row = mysqli_fetch_assoc($result);
if ($row['lajit'] != "") {
$query = "DELETE tapahtuma
FROM tapahtuma
WHERE yhtio = '$kukarow[yhtio]'
AND laji in ({$row['lajit']})
AND laadittu <= '$vv-$kk-$pp 23:59:59'";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del tapahtumaa.");
// Orvot tapahtumat
$query = "DELETE tapahtuma
FROM tapahtuma
LEFT JOIN tilausrivi ON (tilausrivi.yhtio = tapahtuma.yhtio and tilausrivi.tunnus = tapahtuma.rivitunnus)
WHERE tapahtuma.yhtio = '{$kukarow["yhtio"]}'
AND tapahtuma.rivitunnus > 0
AND tapahtuma.laji != 'korjaus'
AND tilausrivi.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del orpoa-tapahtumariviä.");
}
// Sahkoisen_lahetteen_rivit
$query = "DELETE sahkoisen_lahetteen_rivit
FROM sahkoisen_lahetteen_rivit
LEFT JOIN lasku ON (lasku.yhtio = sahkoisen_lahetteen_rivit.yhtio and lasku.tunnus = sahkoisen_lahetteen_rivit.otunnus)
WHERE sahkoisen_lahetteen_rivit.yhtio = '$kukarow[yhtio]'
AND lasku.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del sähköisen lähetteen riviä.");
// Laskujen/tilausten liitetiedostot
$query = "DELETE liitetiedostot
FROM liitetiedostot
LEFT JOIN lasku ON (lasku.yhtio = liitetiedostot.yhtio and lasku.tunnus = liitetiedostot.liitostunnus)
WHERE liitetiedostot.yhtio = '$kukarow[yhtio]'
AND liitetiedostot.liitos = 'lasku'
AND lasku.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del liitetiedostoa.");
// Maksupositio
$query = "DELETE maksupositio
FROM maksupositio
LEFT JOIN lasku ON (lasku.yhtio = maksupositio.yhtio and lasku.tunnus = maksupositio.otunnus)
WHERE maksupositio.yhtio = '$kukarow[yhtio]'
AND lasku.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del laskun maksusopimusta.");
// Rahtikirjat
$query = "DELETE rahtikirjat
FROM rahtikirjat
LEFT JOIN lasku ON (lasku.yhtio = rahtikirjat.yhtio and lasku.tunnus = rahtikirjat.otsikkonro)
WHERE rahtikirjat.yhtio = '$kukarow[yhtio]'
AND rahtikirjat.otsikkonro > 0
AND lasku.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del rahtikirjaa.");
// Työmääräykset
$query = "DELETE tyomaarays
FROM tyomaarays
LEFT JOIN lasku ON (lasku.yhtio = tyomaarays.yhtio and lasku.tunnus = tyomaarays.otunnus)
WHERE tyomaarays.yhtio = '$kukarow[yhtio]'
AND lasku.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del työmääräystä.");
}
//#################################################################################################################################
//KIRJANPITO
//#################################################################################################################################
if ($dellataan) {
// Tositteet
$query = "DELETE lasku
FROM lasku
LEFT JOIN tiliointi ON (lasku.yhtio = tiliointi.yhtio and lasku.tunnus = tiliointi.ltunnus and tiliointi.tapvm > '$vv-$kk-$pp')
WHERE lasku.yhtio = '$kukarow[yhtio]'
AND lasku.tila = 'X'
AND lasku.tapvm <= '$vv-$kk-$pp'
AND tiliointi.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del tositetta.");
// Tiliöinnit
$query = "DELETE tiliointi
FROM tiliointi
LEFT JOIN lasku ON (lasku.yhtio = tiliointi.yhtio and lasku.tunnus = tiliointi.ltunnus)
WHERE tiliointi.yhtio = '$kukarow[yhtio]'
AND tiliointi.tapvm <= '$vv-$kk-$pp'
AND lasku.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del tiliöintiä.");
// Tiliotteet
$query = "DELETE tiliotedata
FROM tiliotedata
WHERE yhtio = '$kukarow[yhtio]'
AND alku <= '$vv-$kk-$pp'
AND loppu <= '$vv-$kk-$pp'";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del tiliotetta.");
// Vastaanotetut siirtolistat
$query = "DELETE lasku
FROM lasku
LEFT JOIN tiliointi ON (lasku.yhtio = tiliointi.yhtio and lasku.tunnus = tiliointi.ltunnus and tiliointi.tapvm > '$vv-$kk-$pp')
WHERE lasku.yhtio = '$kukarow[yhtio]'
AND lasku.tila = 'G'
and lasku.alatila in ('V','X')
AND lasku.tapvm <= '$vv-$kk-$pp'
AND lasku.tapvm != '0000-00-00'
AND tiliointi.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del vastaanotettua siirtolistaa.");
// Laskun lisätiedot
$query = "DELETE laskun_lisatiedot
FROM laskun_lisatiedot
LEFT JOIN lasku ON (lasku.yhtio = laskun_lisatiedot.yhtio and lasku.tunnus = laskun_lisatiedot.otunnus)
WHERE laskun_lisatiedot.yhtio = '$kukarow[yhtio]'
AND lasku.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del laskun lisätietoriviä.");
// Tilausrivit
$query = "DELETE tilausrivi
FROM tilausrivi
LEFT JOIN lasku ON (lasku.yhtio = tilausrivi.yhtio and lasku.tunnus = tilausrivi.otunnus)
WHERE tilausrivi.yhtio = '$kukarow[yhtio]'
AND lasku.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del tilausriviä.");
// Tilausrivin_lisatiedot
$query = "DELETE tilausrivin_lisatiedot
FROM tilausrivin_lisatiedot
LEFT JOIN tilausrivi ON (tilausrivi.yhtio = tilausrivin_lisatiedot.yhtio and tilausrivi.tunnus = tilausrivin_lisatiedot.tilausrivitunnus)
WHERE tilausrivin_lisatiedot.yhtio = '$kukarow[yhtio]'
AND tilausrivi.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del tilausrivin lisätietoriviä.");
}
//#################################################################################################################################
//MYYNTIRESKONTRA
//#################################################################################################################################
if ($dellataan) {
// Suoritukset
$query = "DELETE suoritus
FROM suoritus
WHERE yhtio = '$kukarow[yhtio]'
AND kohdpvm > 0
AND kohdpvm <= '$vv-$kk-$pp'";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del suoritusta.");
// Karhukirjeet
$query = "DELETE karhu_lasku
FROM karhu_lasku
LEFT JOIN lasku ON (lasku.tunnus = karhu_lasku.ltunnus)
WHERE lasku.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del maksukehotusta.");
// Karhukierrokset
$query = "DELETE karhukierros
FROM karhukierros
LEFT JOIN karhu_lasku ON (karhukierros.tunnus = karhu_lasku.ktunnus)
WHERE karhu_lasku.ktunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del maksukehotuskierrosta.");
}
//#################################################################################################################################
//ASIAKASTIEDOT
//#################################################################################################################################
if ($dellataan) {
// Poistetaan "P" asiakkaita joilla ei ole laskutusta
$query = "DELETE asiakas
FROM asiakas
LEFT JOIN lasku ON (asiakas.yhtio=lasku.yhtio and asiakas.tunnus=lasku.liitostunnus)
WHERE asiakas.yhtio = '{$kukarow["yhtio"]}'
AND asiakas.laji = 'P'
AND lasku.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del 'P'-asiakasta joilla ei ollut yhtään myyntiä!");
// Poistetaan asiakasalet joiden asiakkaat dellattu
$query = "DELETE asiakasalennus
FROM asiakasalennus
LEFT JOIN asiakas ON (asiakasalennus.yhtio=asiakas.yhtio and asiakasalennus.asiakas=asiakas.tunnus)
WHERE asiakasalennus.yhtio = '{$kukarow["yhtio"]}'
AND asiakasalennus.asiakas > 0
AND asiakas.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del asiakasalennusta joiden asiakas oli poistettu (asiakas)!");
// Poistetaan asiakasalet joiden asiakkaat dellattu
$query = "DELETE asiakasalennus
FROM asiakasalennus
LEFT JOIN asiakas ON (asiakasalennus.yhtio=asiakas.yhtio and asiakasalennus.ytunnus=asiakas.ytunnus)
WHERE asiakasalennus.yhtio = '{$kukarow["yhtio"]}'
AND asiakasalennus.ytunnus not in ('','0')
AND asiakas.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del asiakasalennusta joiden asiakas oli poistettu (ytunnus)!");
// Poistetaan asiakashinnat joiden asiakkaat dellattu
$query = "DELETE asiakashinta
FROM asiakashinta
LEFT JOIN asiakas ON (asiakashinta.yhtio=asiakas.yhtio and asiakashinta.asiakas=asiakas.tunnus)
WHERE asiakashinta.yhtio = '{$kukarow["yhtio"]}'
AND asiakashinta.asiakas > 0
AND asiakas.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del asiakashintaa joiden asiakas oli poistettu (asiakas)!");
// Poistetaan asiakashinnat joiden asiakkaat dellattu
$query = "DELETE asiakashinta
FROM asiakashinta
LEFT JOIN asiakas ON (asiakashinta.yhtio=asiakas.yhtio and asiakashinta.ytunnus=asiakas.ytunnus)
WHERE asiakashinta.yhtio = '{$kukarow["yhtio"]}'
AND asiakashinta.ytunnus not in ('','0')
AND asiakas.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del asiakashintaa joiden asiakas oli poistettu (ytunnus)!");
// Poistetaan asiakaskommentit joiden asiakkaat dellattu
$query = "DELETE asiakaskommentti
FROM asiakaskommentti
LEFT JOIN asiakas ON (asiakaskommentti.yhtio=asiakas.yhtio and asiakaskommentti.ytunnus=asiakas.ytunnus)
WHERE asiakaskommentti.yhtio = '{$kukarow["yhtio"]}'
AND asiakas.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del asiakaskommenttia joiden asiakas oli poistettu!");
// Poistetaan asiakkaan_avainsanat joiden asiakkaat dellattu
$query = "DELETE asiakkaan_avainsanat
FROM asiakkaan_avainsanat
LEFT JOIN asiakas ON (asiakkaan_avainsanat.yhtio=asiakas.yhtio and asiakkaan_avainsanat.liitostunnus=asiakas.tunnus)
WHERE asiakkaan_avainsanat.yhtio = '{$kukarow["yhtio"]}'
AND asiakas.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del asiakkaan_avainsanaa joiden asiakas oli poistettu!");
// Poistetaan budjetti_asiakaat joiden asiakkaat dellattu
$query = "DELETE budjetti_asiakas
FROM budjetti_asiakas
LEFT JOIN asiakas ON (budjetti_asiakas.yhtio=asiakas.yhtio and budjetti_asiakas.asiakkaan_tunnus=asiakas.tunnus)
WHERE budjetti_asiakas.yhtio = '{$kukarow["yhtio"]}'
AND asiakas.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del asiakasbudjettia joiden asiakas oli poistettu!");
// Poistetaan yhteyshenkilo joiden asiakkaat dellattu
$query = "DELETE yhteyshenkilo
FROM yhteyshenkilo
LEFT JOIN asiakas ON (yhteyshenkilo.yhtio=asiakas.yhtio and yhteyshenkilo.liitostunnus=asiakas.tunnus)
WHERE yhteyshenkilo.yhtio = '{$kukarow["yhtio"]}'
AND yhteyshenkilo.tyyppi = 'A'
AND asiakas.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del yhteyshenkilöä joiden asiakas oli poistettu!");
// Poistetaan rahtisopimukset joiden asiakkaat dellattu
$query = "DELETE rahtisopimukset
FROM rahtisopimukset
LEFT JOIN asiakas ON (rahtisopimukset.yhtio=asiakas.yhtio and rahtisopimukset.asiakas=asiakas.tunnus)
WHERE rahtisopimukset.yhtio = '{$kukarow["yhtio"]}'
AND rahtisopimukset.asiakas > 0
AND asiakas.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del rahtisopimusta joiden asiakas oli poistettu (asiakas)!");
// Poistetaan rahtisopimukset joiden asiakkaat dellattu
$query = "DELETE rahtisopimukset
FROM rahtisopimukset
LEFT JOIN asiakas ON (rahtisopimukset.yhtio=asiakas.yhtio and rahtisopimukset.ytunnus=asiakas.ytunnus)
WHERE rahtisopimukset.yhtio = '{$kukarow["yhtio"]}'
AND rahtisopimukset.ytunnus not in ('','0')
AND asiakas.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del rahtisopimusta joiden asiakas oli poistettu (ytunnus)!");
// Poistetaan liitetiedostot joiden asiakkaat dellattu
$query = "DELETE liitetiedostot
FROM liitetiedostot
LEFT JOIN asiakas ON (liitetiedostot.yhtio=asiakas.yhtio and liitetiedostot.liitostunnus=asiakas.tunnus)
WHERE liitetiedostot.yhtio = '{$kukarow["yhtio"]}'
AND liitetiedostot.liitos = 'asiakas'
AND asiakas.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del liitetiedostoa joiden asiakas oli poistettu!");
// Poistetaan korvaavat_kiellot joiden asiakkaat dellattu
$query = "DELETE korvaavat_kiellot
FROM korvaavat_kiellot
LEFT JOIN asiakas ON (korvaavat_kiellot.yhtio=asiakas.yhtio and korvaavat_kiellot.ytunnus=asiakas.ytunnus)
WHERE korvaavat_kiellot.yhtio = '{$kukarow["yhtio"]}'
AND korvaavat_kiellot.ytunnus not in ('','0')
AND asiakas.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del korvaavuuskieltoa joiden asiakas oli poistettu!");
// Poistetaan kohteet joiden asiakkaat dellattu
$query = "DELETE kohde
FROM kohde
LEFT JOIN asiakas ON (kohde.yhtio=asiakas.yhtio and kohde.asiakas=asiakas.tunnus)
WHERE kohde.yhtio = '{$kukarow["yhtio"]}'
AND kohde.asiakas > 0
AND kohde.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del kohdetta joiden asiakas oli poistettu!");
// Poistetaan synclogit joiden asiakkaat dellattu
$query = "DELETE synclog
FROM synclog
LEFT JOIN asiakas ON (synclog.yhtio=asiakas.yhtio and synclog.tauluntunnus=asiakas.tunnus)
WHERE synclog.yhtio = '{$kukarow["yhtio"]}'
AND synclog.taulu = 'asiakas'
AND asiakas.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del synclogia joiden asiakas oli poistettu!");
}
//#################################################################################################################################
//TUOTETIEDOT
//#################################################################################################################################
if ($dellataan) {
/* poistetaan tämä toistaiseksi, on liian hidas
// Poistetaan "P" tuotteita joilla ei ole laskutusta eikä saldoa
$query = "SELECT tuoteno
FROM tuote
WHERE yhtio = '{$kukarow["yhtio"]}'
AND status = 'P'";
$result = pupe_query($query);
$del = 0;
while ($row = mysqli_fetch_assoc($result)) {
$poistolukko = "ON";
onkotapahtumajariveja($row["tuoteno"]);
if ($poistolukko == "") {
$query = "DELETE tuote
FROM tuote
WHERE yhtio = '{$kukarow["yhtio"]}'
and tuoteno = '{$row["tuoteno"]}'";
$sdtres = pupe_query($query);
$del++;
}
}
is_log("Poistettiin $del 'P'-tuotetta joilla ei ollut yhtään tapahtumaa!");
*/
// Poistetaan tuotepaikat joiden tuotteet dellattu
$query = "DELETE tuotepaikat
FROM tuotepaikat
LEFT JOIN tuote ON (tuotepaikat.yhtio=tuote.yhtio and tuotepaikat.tuoteno=tuote.tuoteno)
WHERE tuotepaikat.yhtio = '{$kukarow["yhtio"]}'
AND tuotepaikat.saldo = 0
AND tuote.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del tuotepaikkaa joiden tuote oli poistettu!");
// Poistetaan tuoteperheiden lapset joiden tuotteet dellattu
$query = "DELETE tuoteperhe
FROM tuoteperhe
LEFT JOIN tuote ON (tuoteperhe.yhtio=tuote.yhtio and tuoteperhe.tuoteno=tuote.tuoteno)
WHERE tuoteperhe.yhtio = '{$kukarow["yhtio"]}'
AND tuote.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del tuoteperheiden lasta joiden tuote oli poistettu!");
// Poistetaan tuoteperheet joiden isätuotteet dellattu
$query = "DELETE tuoteperhe
FROM tuoteperhe
LEFT JOIN tuote ON (tuoteperhe.yhtio=tuote.yhtio and tuoteperhe.isatuoteno=tuote.tuoteno)
WHERE tuoteperhe.yhtio = '{$kukarow["yhtio"]}'
AND tuote.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del tuoteperhettä joiden isätuote oli poistettu!");
// Poistetaan tuotteen_alvit joiden tuotteet dellattu
$query = "DELETE tuotteen_alv
FROM tuotteen_alv
LEFT JOIN tuote ON (tuotteen_alv.yhtio=tuote.yhtio and tuotteen_alv.tuoteno=tuote.tuoteno)
WHERE tuotteen_alv.yhtio = '{$kukarow["yhtio"]}'
AND tuote.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del tuotteen alvia joiden tuote oli poistettu!");
// Poistetaan tuotteen_avainsanat joiden tuotteet dellattu
$query = "DELETE tuotteen_avainsanat
FROM tuotteen_avainsanat
LEFT JOIN tuote ON (tuotteen_avainsanat.yhtio=tuote.yhtio and tuotteen_avainsanat.tuoteno=tuote.tuoteno)
WHERE tuotteen_avainsanat.yhtio = '{$kukarow["yhtio"]}'
AND tuote.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del tuotteen avainsanaa joiden tuote oli poistettu!");
if (table_exists("tuotteen_orginaalit")) {
// Poistetaan tuotteen_orginaalit joiden tuotteet dellattu
$query = "DELETE tuotteen_orginaalit
FROM tuotteen_orginaalit
LEFT JOIN tuote ON (tuotteen_orginaalit.yhtio=tuote.yhtio and tuotteen_orginaalit.tuoteno=tuote.tuoteno)
WHERE tuotteen_orginaalit.yhtio = '{$kukarow["yhtio"]}'
AND tuote.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del tuotteen_orginaalit joiden tuote oli poistettu!");
}
// Poistetaan tuotteen_toimittajat joiden tuotteet dellattu
$query = "DELETE tuotteen_toimittajat
FROM tuotteen_toimittajat
LEFT JOIN tuote ON (tuotteen_toimittajat.yhtio=tuote.yhtio and tuotteen_toimittajat.tuoteno=tuote.tuoteno)
WHERE tuotteen_toimittajat.yhtio = '{$kukarow["yhtio"]}'
AND tuote.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del tuotteen toimittajaa joiden tuote oli poistettu!");
// Poistetaan vastaavat joiden tuotteet dellattu
$query = "DELETE vastaavat
FROM vastaavat
LEFT JOIN tuote ON (vastaavat.yhtio=tuote.yhtio and vastaavat.tuoteno=tuote.tuoteno)
WHERE vastaavat.yhtio = '{$kukarow["yhtio"]}'
AND tuote.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del vastaavat joiden tuote oli poistettu!");
// Poistetaan vastaavat joiden ketjussa on vain yksi tuote
$query = "SELECT id, count(*) maara, group_concat(tunnus) tunnari
FROM vastaavat
WHERE yhtio = '{$kukarow["yhtio"]}'
GROUP BY id
HAVING count(*) = 1";
$result = pupe_query($query);
$del = 0;
while ($row = mysqli_fetch_assoc($result)) {
$query = "DELETE vastaavat
FROM vastaavat
WHERE yhtio = '{$kukarow["yhtio"]}'
AND tunnus = '{$row["tunnari"]}'";
$sdtres = pupe_query($query);
$del++;
}
is_log("Poistettiin $del vastaavaketjua joissa oli vain yksi tuote!");
// Poistetaan korvaavat joiden tuotteet dellattu
$query = "DELETE korvaavat
FROM korvaavat
LEFT JOIN tuote ON (korvaavat.yhtio=tuote.yhtio and korvaavat.tuoteno=tuote.tuoteno)
WHERE korvaavat.yhtio = '{$kukarow["yhtio"]}'
AND tuote.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del korvaavat joiden tuote oli poistettu!");
// Korvaavat joiden ketjussa on vain yksi tuote
$query = "SELECT id, count(*) maara, group_concat(tunnus) tunnari
FROM korvaavat
WHERE yhtio = '{$kukarow["yhtio"]}'
GROUP BY id
HAVING count(*) = 1";
$result = pupe_query($query);
$del = 0;
while ($row = mysqli_fetch_assoc($result)) {
$query = "DELETE korvaavat
FROM korvaavat
WHERE yhtio = '{$kukarow["yhtio"]}'
AND tunnus = '{$row["tunnari"]}'";
$sdtres = pupe_query($query);
$del++;
}
is_log("Poistettiin $del korvaavuusketjua joissa oli vain yksi tuote!");
if (table_exists("yhteensopivuus_tuote")) {
// Poistetaan yhteensopivuus_tuotteet joiden tuotteet dellattu
$query = "DELETE yhteensopivuus_tuote
FROM yhteensopivuus_tuote
LEFT JOIN tuote ON (yhteensopivuus_tuote.yhtio=tuote.yhtio and yhteensopivuus_tuote.tuoteno=tuote.tuoteno)
WHERE yhteensopivuus_tuote.yhtio = '{$kukarow["yhtio"]}'
AND tuote.tunnus is null";
$result = pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del yhteensopivuus_tuoteetta joiden tuote oli poistettu!");
// Poistetaan yhteensopivuus_tuote_lisatiedot joiden tuotteet dellattu
$query = "DELETE yhteensopivuus_tuote_lisatiedot
FROM yhteensopivuus_tuote_lisatiedot
LEFT JOIN yhteensopivuus_tuote ON (yhteensopivuus_tuote_lisatiedot.yhtio=yhteensopivuus_tuote.yhtio and yhteensopivuus_tuote_lisatiedot.yhteensopivuus_tuote_tunnus=yhteensopivuus_tuote.tunnus)
WHERE yhteensopivuus_tuote_lisatiedot.yhtio = '{$kukarow["yhtio"]}'
AND yhteensopivuus_tuote.tunnus is null";
$result = pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del yhteensopivuus_tuote_lisatietoa joiden tuote oli poistettu!");
}
// Poistetaan synclogit joiden tuotteet dellattu
$query = "DELETE synclog
FROM synclog
LEFT JOIN tuote ON (synclog.yhtio=tuote.yhtio and synclog.tauluntunnus=tuote.tunnus)
WHERE synclog.yhtio = '{$kukarow["yhtio"]}'
AND synclog.taulu = 'tuote'
AND tuote.tunnus is null";
$result = pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del synclogia joiden tuote oli poistettu!");
// Poistetaan liitetiedostot joiden tuotteet dellattu
$query = "DELETE liitetiedostot
FROM liitetiedostot
LEFT JOIN tuote ON (liitetiedostot.yhtio=tuote.yhtio and liitetiedostot.liitostunnus=tuote.tunnus)
WHERE liitetiedostot.yhtio = '{$kukarow["yhtio"]}'
AND liitetiedostot.liitos = 'tuote'
AND tuote.tunnus is null";
$result = pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del liitetiedostoa joiden tuote oli poistettu!");
// Poistetaan hinnastot joiden tuotteet dellattu
$query = "DELETE hinnasto
FROM hinnasto
LEFT JOIN tuote ON (hinnasto.yhtio=tuote.yhtio and hinnasto.tuoteno=tuote.tuoteno)
WHERE hinnasto.yhtio = '{$kukarow["yhtio"]}'
AND tuote.tunnus is null";
$result = pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del hinnastoa joiden tuote oli poistettu!");
// Poistetaan budjetti_tuotteet joiden tuotteet dellattu
$query = "DELETE budjetti_tuote
FROM budjetti_tuote
LEFT JOIN tuote ON (budjetti_tuote.yhtio=tuote.yhtio and budjetti_tuote.tuoteno=tuote.tuoteno)
WHERE budjetti_tuote.yhtio = '{$kukarow["yhtio"]}'
AND tuote.tunnus is null";
$result = pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del budjetti_tuotetta joiden tuote oli poistettu!");
// Poistetaan asiakashinnat joiden tuotteet dellattu
$query = "DELETE asiakashinta
FROM asiakashinta
LEFT JOIN tuote ON (asiakashinta.yhtio=tuote.yhtio and asiakashinta.tuoteno=tuote.tuoteno)
WHERE asiakashinta.yhtio = '{$kukarow["yhtio"]}'
AND asiakashinta.tuoteno != ''
AND tuote.tuoteno is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del asiakashintaa joiden tuote oli poistettu!");
// Poistetaan asiakasalennukset joiden tuotteet dellattu
$query = "DELETE asiakasalennus
FROM asiakasalennus
LEFT JOIN tuote ON (asiakasalennus.yhtio=tuote.yhtio and asiakasalennus.tuoteno=tuote.tuoteno)
WHERE asiakasalennus.yhtio = '{$kukarow["yhtio"]}'
AND asiakasalennus.tuoteno != ''
AND tuote.tuoteno is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del asiakasalennusta joiden tuote oli poistettu!");
// Poistetaan toimittajahinnat joiden tuotteet dellattu
$query = "DELETE toimittajahinta
FROM toimittajahinta
LEFT JOIN tuote ON (toimittajahinta.yhtio=tuote.yhtio and toimittajahinta.tuoteno=tuote.tuoteno)
WHERE toimittajahinta.yhtio = '{$kukarow["yhtio"]}'
AND toimittajahinta.tuoteno != ''
AND tuote.tuoteno is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del toimittajahintaa joiden tuote oli poistettu!");
// Poistetaan toimittaja-alennukset joiden tuotteet dellattu
$query = "DELETE toimittajaalennus
FROM toimittajaalennus
LEFT JOIN tuote ON (toimittajaalennus.yhtio=tuote.yhtio and toimittajaalennus.tuoteno=tuote.tuoteno)
WHERE toimittajaalennus.yhtio = '{$kukarow["yhtio"]}'
AND toimittajaalennus.tuoteno != ''
AND tuote.tuoteno is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del toimittaja-alennusta joiden tuote oli poistettu!");
}
//#################################################################################################################################
//TOIMITTAJATIEDOT
//#################################################################################################################################
if ($dellataan) {
// Poistetaan "P" toimittajat joilla ei ole laskua
$query = "DELETE toimi
FROM toimi
LEFT JOIN lasku ON (toimi.yhtio=lasku.yhtio and toimi.tunnus=lasku.liitostunnus)
WHERE toimi.yhtio = '{$kukarow["yhtio"]}'
AND toimi.tyyppi = 'P'
AND lasku.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del 'P'-toimittajaa joilla ei ollut yhtään laskua!");
// Poistetaan yhteyshenkilöt joiden toimittajat dellattu
$query = "DELETE yhteyshenkilo
FROM yhteyshenkilo
LEFT JOIN toimi ON (yhteyshenkilo.yhtio=toimi.yhtio and yhteyshenkilo.liitostunnus=toimi.tunnus)
WHERE yhteyshenkilo.yhtio = '{$kukarow["yhtio"]}'
AND yhteyshenkilo.tyyppi = 'T'
AND toimi.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del yhteyshenkilöä joiden toimittaja oli poistettu!");
// Poistetaan budjetti_toimittaja joiden toimittajat dellattu
$query = "DELETE budjetti_toimittaja
FROM budjetti_toimittaja
LEFT JOIN toimi ON (budjetti_toimittaja.yhtio=toimi.yhtio and budjetti_toimittaja.toimittajan_tunnus=toimi.tunnus)
WHERE budjetti_toimittaja.yhtio = '{$kukarow["yhtio"]}'
AND toimi.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del toimittajabudjettia joiden toimittaja oli poistettu!");
// Poistetaan liitetiedostot joiden toimittajat dellattu
$query = "DELETE liitetiedostot
FROM liitetiedostot
LEFT JOIN toimi ON (liitetiedostot.yhtio=toimi.yhtio and liitetiedostot.liitostunnus=toimi.tunnus)
WHERE liitetiedostot.yhtio = '{$kukarow["yhtio"]}'
AND liitetiedostot.liitos = 'toimi'
AND toimi.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del liitetiedostoa joiden toimittaja oli poistettu!");
// Poistetaan tuotteen_toimittajat joiden tuotteet dellattu
$query = "DELETE tuotteen_toimittajat
FROM tuotteen_toimittajat
LEFT JOIN toimi ON (tuotteen_toimittajat.yhtio=toimi.yhtio and tuotteen_toimittajat.liitostunnus=toimi.tunnus)
WHERE tuotteen_toimittajat.yhtio = '{$kukarow["yhtio"]}'
AND toimi.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del tuotteen toimittajaa joiden toimittaja oli poistettu!");
// Poistetaan toimittajaalet joiden asiakkaat dellattu
$query = "DELETE toimittajaalennus
FROM toimittajaalennus
LEFT JOIN toimi ON (toimittajaalennus.yhtio=toimi.yhtio and toimittajaalennus.toimittaja=toimi.tunnus)
WHERE toimittajaalennus.yhtio = '{$kukarow["yhtio"]}'
AND toimittajaalennus.toimittaja > 0
AND toimi.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del toimittajaalennusta joiden toimittaja oli poistettu (toimittaja)!");
// Poistetaan toimittajaalet joiden asiakkaat dellattu
$query = "DELETE toimittajaalennus
FROM toimittajaalennus
LEFT JOIN toimi ON (toimittajaalennus.yhtio=toimi.yhtio and toimittajaalennus.ytunnus=toimi.ytunnus)
WHERE toimittajaalennus.yhtio = '{$kukarow["yhtio"]}'
AND toimittajaalennus.ytunnus not in ('','0')
AND toimi.tunnus is null";
pupe_query($query);
$del = mysqli_affected_rows($link);
is_log("Poistettiin $del toimittajaalennusta joiden toimittaja oli poistettu (ytunnus)!");
// Poistetaan toimittajahinnat joiden asiakkaat dellattu
$query = "DELETE toimittajahinta
FROM toimittajahinta
LEFT JOIN toimi ON (toimittajahinta.yhtio=toimi.yhtio and toimittajahinta.toimittaja=toimi.tunnus)