#!/usr/bin/perl

use Data::Dumper;
use Text::CSV;

# Godt og gøy -- engangsscript for å endre butikkdata

# Kolonne S - Vekt skal deles på «antall i display» (kolonne BR)
# Kolonne Z - Ordinær pris skal deles på «antall i display» (kolonne BR)
# Kolonne BG – Extra_Leker Price skal på «antall i display» (kolonne BR)
# Kolonne By – Attributt 3 navn skal byttes ut med «Totalpris per display»
# Kolonne BZ – Attributt 3 verdi(er) skal byttes ut med Kolonne Z - Ordinær pris (NB! Prisen i denne kolonnen skrives med \ etter hovedtallet og før desimaltallene – slik: Kr 39\,90)
# Kolonne CU - Meta: _alg_wc_pq_min skal byttes ut med «antall i display» (kolonne BR)
# Kolonne CU - Meta: _alg_wc_pq_step skal byttes ut med «antall i display» (kolonne BR)
#  

my $csv = Text::CSV->new({ binary => 1, eol => $/ });

open my $fh, "<:encoding(utf8)", "./wc-product-export-28-1-2023-1674936654333.csv" or die "$!";
#open my $fh, "<", "./wc-product-export-28-1-2023-1674936654333.csv" or die "$!";

my @rows;

my $topp = $csv->getline($fh);
my $tick = 0;

push @rows, $topp;

foreach $verdi (@{$topp}) {
#	print "Verdi: $verdi, tick: $tick\n";
	$k{$verdi} = $tick ++;
	}

# print Dumper %k;

my $tick = 1;

while ( my $row = $csv->getline( $fh ) ) {

	my $antall = $row->[$k{"Attributt 1 verdi(er)"}];
	
	if ($antall !~ m/^\d+$/) { 
		print qq!Linje $tick ($row->[3]) har mistenkelig format for antall i display ($antall)\n!;
		$antall = 1;
		}
	
	if (! int($antall)) { 
		print qq!Linje $tick ($row->[3]) mangler antall i display ($antall)\n!;
		$antall = 1; 
		}


#	print "Antall: $antall\n";

	# Vekt
	$row->[$k{"Vekt (g)"}] = int($row->[$k{"Vekt (g)"}] /  $antall);

	# Ordinær pris
	$gammel = $row->[25];
	$gammel =~ s/\,/\./;
	$gammel = 0.0 + $gammel;
	if ($gammel == 0) {
		$gammel = "";
		}
	else {
		$gammel = $gammel /  $antall;
		}
	$gammel =~ s/\./\,/;
	$row->[25] = $gammel;

	# Extra-leker pris
	$col = $k{"Extra_Leker Price"};
	
	$gammel = $row->[$col];
	$orig   = $gammel;
	$gammel =~ s/\,/\./;
	$gammel = 0.0 + $gammel;
#	if ($gammel == 0) {
#		$gammel = "";
#		}
#	else {
	if ($antall) {
		$gammel = $gammel /  $antall;
		$gammel =~ s/\./\,/;
#		print "Deler på $antall\n";
		}

	$row->[$col] = $gammel;
	
#	print "EkstraLeker: $orig / $antall = $gammel, lagret: $row->[$col]\n";
	

	# Kolonne By – Attributt 3 navn skal byttes ut med «Totalpris per display»
	$col = 76;
#	$col2 = $k{"Attributt 3 navn"};
	
#	print qq!- $col, $row[$col], $col2, $row[$col2]\n!;
	
	if ($row->[$col] eq "Nettopris per stk:") {
		$row->[$col] = "Totalpris per display";
		}
	else {
		print qq!Linje $tick ($row->[3]) har ikke -Nettopris per stk:- i kolonnen Attributt 3 navn ($row->[$col])\n!;
		}

	# Kolonne BZ – Attributt 3 verdi(er) skal byttes ut med Kolonne Z - Ordinær pris (NB! Prisen i denne kolonnen skrives med \ etter hovedtallet og før desimaltallene – slik: Kr 39\,90)
	# OBS: Gang med antall!
	$col = $k{"Attributt 3 verdi(er)"};
	$a3v  = $row->[25];
	$was  = $row->[25];
	$a3v  =~ s/\,/\./;
	$a3v = 0.00 + $a3v;
	$ganger = "$antall.00";
	$res = $a3v * $ganger;
	$res =~ s/\./\\\,/;

	$row->[$col] = $res;
	
	print "Antall: $ganger, Pris: $a3v ($was), Resultat: $row->[$col]\n";
	
	# Kolonne CU - Meta: _alg_wc_pq_min skal byttes ut med «antall i display» (kolonne BR)
	$col = $k{"Meta: _alg_wc_pq_min"};
	$row->[$col] = $antall;
	
	# Kolonne CU - Meta: _alg_wc_pq_step skal byttes ut med «antall i display» (kolonne BR)
	$col = $k{"Meta: _alg_wc_pq_step"};
	$row->[$col] = $antall;
	
#	print qq!Nye verdier: $row->[$k{"Vekt (g)"}], $row->[25], $row[$k{"Extra_Leker Price"}], $row->[25], $row[$k{"Attributt 3 navn"}], $row[$k{"Meta: _alg_wc_pq_min"}], $row[$k{"Meta: _alg_wc_pq_step"}]\n!; 
	
	$tick ++;
    push @rows, $row;
	}

close $fh;

# exit;
# Utfil

open $fh, ">:encoding(utf8)", "new8.csv" or die "new.csv: $!";
$csv->print ($fh, $_) for @rows;
close $fh or die "new8.csv: $!";



	
