X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=lib%2FNDWeb%2FController%2FStats.pm;h=63ad6d781dc6828ac64b6296d9723d35114eaf66;hb=c66b1b9074d880fb13a825bc75c1bc842ec65f75;hp=25798595b155bffa8ccf6730ffde551c0b61c772;hpb=5d49b3579d2ad39f6ae9bc2dba37ebbf0334e0da;p=ndwebbie.git diff --git a/lib/NDWeb/Controller/Stats.pm b/lib/NDWeb/Controller/Stats.pm index 2579859..63ad6d7 100644 --- a/lib/NDWeb/Controller/Stats.pm +++ b/lib/NDWeb/Controller/Stats.pm @@ -67,13 +67,14 @@ sub galaxy : Local { $extra_columns .= q{ ,gov, p.value - p.size*200 - COALESCE(ps.metal+ps.crystal+ps.eonium,0)/150 - - COALESCE(ss.total ,(SELECT COALESCE(avg(total),0) - FROM structure_scans)::int)*1500 AS fleetvalue + COALESCE(ds.total ,(SELECT COALESCE(avg(total),0) + FROM current_development_scans)::int)*1500 AS fleetvalue ,(metal+crystal+eonium)/100 AS resvalue }; } - $query = $dbh->prepare(qq{SELECT p.id,coords(x,y,z), ruler, p.planet,race, + $query = $dbh->prepare(qq{SELECT DISTINCT ON (x,y,z,p.id) + p.id,coords(x,y,z), ruler, p.planet,race, size, size_gain, size_gain_day, score,score_gain,score_gain_day, value,value_gain,value_gain_day, @@ -83,10 +84,11 @@ sub galaxy : Local { valuerank,valuerank_gain,valuerank_gain_day, xprank,xprank_gain,xprank_gain_day $extra_columns - FROM current_planet_stats_full p + FROM current_planet_stats_full p LEFT OUTER JOIN planet_scans ps ON p.id = ps.planet - LEFT OUTER JOIN structure_scans ss ON p.id = ss.planet - WHERE x = ? AND y = ? AND COALESCE(z = ?,TRUE) ORDER BY x,y,z ASC + LEFT OUTER JOIN current_development_scans ds ON p.id = ds.planet + WHERE x = ? AND y = ? AND COALESCE(z = ?,TRUE) + ORDER BY x,y,z,p.id,ps.tick DESC, ps.id DESC, ds.tick DESC, ds.id DESC }); $query->execute($x,$y,$z); @@ -177,12 +179,10 @@ sub planet : Local { } if ($c->check_user_roles(qw/stats_planetdata/)){ - my $query = $dbh->prepare(q{SELECT DISTINCT ON(rid) tick,category,name,amount - FROM planet_data pd JOIN planet_data_types pdt ON pd.rid = pdt.id - WHERE pd.id = $1 ORDER BY rid,tick DESC - }); - $query->execute($id); - $c->stash(planetdata => $query->fetchall_arrayref({}) ); + $c->stash(planetscan => $dbh->selectrow_hashref(q{SELECT * + FROM current_planet_scans WHERE planet = $1},undef,$id)); + $c->stash(devscan => $dbh->selectrow_hashref(q{SELECT * + FROM current_development_scans WHERE planet = $1},undef,$id)); } my $query = $dbh->prepare(q{SELECT value,value_gain AS gain,tick FROM planet_stats