commods.commodid commodid,
commods.unitmass unitmass,
commods.unitvolume unitvolume,
+ commods.ordval ordval,
+ commods.posinclass posinclass,
+ commods.commodclassid commodclassid,
dist dist,
buy.price - sell.price unitprofit
FROM commods
%
% foreach my $i (0..$#islandids) {
<% $tbody->(1) %>
-<tr><td colspan=4>
+<tr>
% $iquery->execute($islandids[$i]);
% my ($islandname) = $iquery->fetchrow_array();
% if (!$i) {
+<td colspan=2>
<strong>Start at <% $islandname |h %></strong>
+<td><a href="docs#posinclass">[?]</a>
+<td colspan=2>
% } else {
% my $this_dist= $distance->($islandids[$i-1],$islandids[$i]);
% $total_dist += $this_dist;
+<td colspan=5>
<%perl>
my $total_value= 0;
foreach my $sf (@subflows) {
<%perl>
my $age_reported= 0;
my %flowlists;
- #print "<tr><td colspan=6>" if $qa->{'debug'};
+ #print "<tr><td colspan=7>" if $qa->{'debug'};
foreach my $od (qw(org dst)) {
#print " [[ i $i od $od " if $qa->{'debug'};
foreach my $sf (@subflows) {
my $price= $f->{"${od}_price"};
my $stallname= $f->{"${od}_stallname"};
my $todo= \$flowlists{$od}{
+ (sprintf "%010d", $f->{'ordval'}),
$f->{'commodname'},
(sprintf "%07d", ($od eq 'dst' ?
9999999-$price : $price)),
dstArbitrage => 0,
} unless $$todo;
$$todo->{'commodname'}= $f->{'commodname'};
+ $$todo->{'posinclass'}= '';
+ my $incl= $f->{'posinclass'};
+
+ my $findclass= $dbh->prepare(<<END);
+SELECT commodclass, maxposinclass FROM commodclasses WHERE commodclassid = ?
+END
+ $findclass->execute($f->{'commodclassid'});
+ my $classinfo= $findclass->fetchrow_hashref();
+ if ($classinfo) {
+ my $clname= $classinfo->{'commodclass'};
+ my $desc= encode_entities(sprintf "%s is under %s",
+ $f->{'commodname'}, $clname);
+ my $abbrev= substr($clname,0,1);
+ if ($incl) {
+ my $maxpic= $classinfo->{'maxposinclass'};
+ $desc.= (sprintf ", commodity %d of %d",
+ $incl, $maxpic);
+ if ($classinfo->{'maxposinclass'} >= 8) {
+ my @tmbs= qw(tt t m b bb);
+ my $tmbi= ($incl+0.5)*$#tmbs/$maxpic;
+ $abbrev.= " ".$tmbs[$tmbi];
+ }
+ }
+ $$todo->{'posinclass'}=
+ "<div class=mouseover title=\"$desc\">"
+ .$abbrev."</div>";
+ }
$$todo->{'stallname'}= $stallname;
$$todo->{Price}= $price;
$$todo->{Timestamp}= $f->{"${od}_timestamp"};
</%perl>
<tr>
<td colspan=1>
-<td colspan=2><% $xinfo %>
+<td colspan=3><% $xinfo %>
<td colspan=2 align=right><% $totaldesc %>
<td align=right><% $totalwas |h %> total
<%perl>
% tr_datarow($m,$dline);
<<% $td %>><% $collectdeliver %>
<<% $td %>><% $t->{'commodname'} |h %>
+<<% $td %>><% $t->{'posinclass'} %>
%
% my @stalls= sort keys %{ $t->{Stalls} };
% my $pstall= sub {
}
</%perl><a name="summary"></a>
<% $tbody->(1) %><tr>
-<td colspan=2>Total distance: <% $total_dist %> leagues.
+<td colspan=3>Total distance: <% $total_dist %> leagues.
<td colspan=3 align=right>Overall net cash flow
<td align=right><strong><%
$total_total < 0 ? -$total_total." loss" : $total_total." gain"