From f6368f63a2934e3203babc87818e54714ec336d7 Mon Sep 17 00:00:00 2001 From: Michael Andreen Date: Fri, 13 Jun 2008 14:53:10 +0200 Subject: [PATCH] Added hidden production and factory usage to raid page --- NDWeb/Pages/Raids.pm | 7 +++++++ database/ndawn.sql | 16 ++++++++++++++-- templates/raids.tmpl | 2 ++ 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/NDWeb/Pages/Raids.pm b/NDWeb/Pages/Raids.pm index 2382a8f..31be782 100644 --- a/NDWeb/Pages/Raids.pm +++ b/NDWeb/Pages/Raids.pm @@ -205,6 +205,7 @@ sub render_body { COALESCE(avg(total),0) FROM structure_scans)::int)*1500 AS fleetvalue ,(metal+crystal+eonium)/100 AS resvalue, comment + , hidden, light, medium, heavy FROM current_planet_stats p JOIN raid_targets r ON p.id = r.planet LEFT OUTER JOIN planet_scans ps ON p.id = ps.planet @@ -214,6 +215,7 @@ sub render_body { ORDER BY size}); $targetquery->execute($raid->{id}); my @targets; + my %production = (0 => 'None', 35 => 'Light', 65 => 'Medium', 100 => 'High'); while (my $target = $targetquery->fetchrow_hashref){ my %target; if ($planet){ @@ -239,6 +241,11 @@ sub render_body { $target{ResValue} = floor($target->{resvalue}/$num)*$num; } $target{comment} = parseMarkup($target->{comment}) if ($target->{comment}); + + $target{Hidden} = int($target->{hidden} / 100); + $target{Light} = $production{$target->{light}}; + $target{Medium} = $production{$target->{medium}}; + $target{Heavy} = $production{$target->{heavy}}; my $unitscans = $DBH->prepare(q{ SELECT DISTINCT ON (name) i.id,i.name, i.tick, i.amount diff --git a/database/ndawn.sql b/database/ndawn.sql index 2b665f0..4096f3c 100644 --- a/database/ndawn.sql +++ b/database/ndawn.sql @@ -524,8 +524,20 @@ CREATE TABLE scans ( -- Name: planet_scans; Type: VIEW; Schema: public; Owner: - -- -CREATE VIEW planet_scans AS - SELECT DISTINCT ON (s.planet) s.id, s.planet, s.tick, m.metal, c.crystal, e.eonium, mr.metal_roids, cr.crystal_roids, er.eonium_roids FROM ((((((scans s JOIN (SELECT planet_data.scan AS id, planet_data.amount AS metal_roids FROM planet_data WHERE (planet_data.rid = 1)) mr USING (id)) JOIN (SELECT planet_data.scan AS id, planet_data.amount AS crystal_roids FROM planet_data WHERE (planet_data.rid = 2)) cr USING (id)) JOIN (SELECT planet_data.scan AS id, planet_data.amount AS eonium_roids FROM planet_data WHERE (planet_data.rid = 3)) er USING (id)) JOIN (SELECT planet_data.scan AS id, planet_data.amount AS metal FROM planet_data WHERE (planet_data.rid = 4)) m USING (id)) JOIN (SELECT planet_data.scan AS id, planet_data.amount AS crystal FROM planet_data WHERE (planet_data.rid = 5)) c USING (id)) JOIN (SELECT planet_data.scan AS id, planet_data.amount AS eonium FROM planet_data WHERE (planet_data.rid = 6)) e USING (id)) ORDER BY s.planet, s.tick DESC, s.id DESC; +CREATE OR REPLACE VIEW planet_scans AS + SELECT DISTINCT ON (s.planet) s.id, s.planet, s.tick, m.metal, c.crystal, e.eonium, mr.metal_roids, cr.crystal_roids, er.eonium_roids, h.hidden, fl.light, fm.medium, fh.heavy + FROM + (scans s JOIN (SELECT planet_data.scan AS id, planet_data.amount AS metal_roids FROM planet_data WHERE (planet_data.rid = 1)) mr USING (id)) + JOIN (SELECT planet_data.scan AS id, planet_data.amount AS crystal_roids FROM planet_data WHERE (planet_data.rid = 2)) cr USING (id) + JOIN (SELECT planet_data.scan AS id, planet_data.amount AS eonium_roids FROM planet_data WHERE (planet_data.rid = 3)) er USING (id) + JOIN (SELECT planet_data.scan AS id, planet_data.amount AS metal FROM planet_data WHERE (planet_data.rid = 4)) m USING (id) + JOIN (SELECT planet_data.scan AS id, planet_data.amount AS crystal FROM planet_data WHERE (planet_data.rid = 5)) c USING (id) + JOIN (SELECT planet_data.scan AS id, planet_data.amount AS eonium FROM planet_data WHERE (planet_data.rid = 6)) e USING (id) + JOIN (SELECT planet_data.scan AS id, planet_data.amount AS hidden FROM planet_data WHERE (planet_data.rid = 25)) h USING (id) + LEFT OUTER JOIN (SELECT planet_data.scan AS id, planet_data.amount AS light FROM planet_data WHERE (planet_data.rid = 26)) fl USING (id) + LEFT OUTER JOIN (SELECT planet_data.scan AS id, planet_data.amount AS medium FROM planet_data WHERE (planet_data.rid = 27)) fm USING (id) + LEFT OUTER JOIN (SELECT planet_data.scan AS id, planet_data.amount AS heavy FROM planet_data WHERE (planet_data.rid = 28)) fh USING (id) + ORDER BY s.planet, s.tick DESC, s.id DESC; -- diff --git a/templates/raids.tmpl b/templates/raids.tmpl index 64f7615..4b88667 100644 --- a/templates/raids.tmpl +++ b/templates/raids.tmpl @@ -74,6 +74,8 @@
  • Value:
  • Fleet value:
  • Resource value:
  • +
  • Hidden value:
  • +
  • Factory Usage: , ,
  • Race:
  • Roids wave : ( xp)
  • -- 2.39.2