summaryrefslogtreecommitdiff
path: root/httemplate/graph/money_time.cgi
blob: 874f58b095de8b52677dfbf6358af48b02a30a78 (plain)
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
<!-- mason kludge -->
<%

#my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
my ($curmon,$curyear) = (localtime(time))[4,5];

#find first month
my $syear = $cgi->param('syear') || 1899+$curyear;
my $smonth = $cgi->param('smonth') || $curmon+1;

#find last month
my $eyear = $cgi->param('eyear') || 1900+$curyear;
my $emonth = $cgi->param('emonth') || $curmon+1;

#XXX or virtual
my( $agentnum, $agent ) = ('', '');
if ( $cgi->param('agentnum') =~ /^(\d+)$/ ) {
  $agentnum = $1;
  $agent = qsearchs('agent', { 'agentnum' => $agentnum } );
  die "agentnum $agentnum not found!" unless $agent;
}
my $agentname = $agent ? $agent->agent.' ' : '';
warn $agentname;

%>

<%= include('/elements/header.html',
              $agentname. 'Sales, Credits and Receipts Summary'
           )
%>

<IMG SRC="money_time-graph.cgi?<%= $cgi->query_string %>" WIDTH="976" HEIGHT="384">
<BR>

<%= table('e8e8e8') %>
<%

my @items = qw( invoiced netsales credits payments receipts );
my %label = (
  'invoiced' => 'Gross Sales',
  'netsales' => 'Net Sales',
  'credits'  => 'Credits',
  'payments' => 'Gross Receipts',
  'receipts' => 'Net Receipts',
);
my %color = (
  'invoiced' => '9999ff', #light blue
  'netsales' => '0000cc', #blue
  'credits'  => 'cc0000', #red
  'payments' => '99cc99', #light green
  'receipts' => '00cc00', #green
);
my %link = (
  'invoiced' => "${p}search/cust_bill.html?agentnum=$agentnum;",
  'credits'  => "${p}search/cust_credit.html?agentnum=$agentnum;",
  'payments' => "${p}search/cust_pay.cgi?magic=_date;agentnum=$agentnum;",
);

my $report = new FS::Report::Table::Monthly (
  'items' => \@items,
  'start_month' => $smonth,
  'start_year'  => $syear,
  'end_month'   => $emonth,
  'end_year'    => $eyear,
  'agentnum'    => $agentnum,
);
my $data = $report->data;

my @mon = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);

%>

<TR><TD></TD>
<% foreach my $column ( @{$data->{label}} ) {
     #$column =~ s/^(\d+)\//$mon[$1-1]<BR>/e;
     $column =~ s/^(\d+)\//$mon[$1-1]<BR>/;
     %>
     <TH><%= $column %></TH>
<% } %>
</TR>

<% foreach my $row (@items) { %>
  <TR><TH><FONT COLOR="#<%= $color{$row} %>"><%= $label{$row} %></FONT></TH>
  <% my $link = exists($link{$row})
       ? qq(<A HREF="$link{$row})
       : '';
     my @speriod = @{$data->{speriod}};
     my @eperiod = @{$data->{eperiod}};
  %>
  <% foreach my $column ( @{$data->{$row}} ) { %>
    <TD ALIGN="right" BGCOLOR="#ffffff">
      <%= $link ? $link. 'begin='. shift(@speriod). ';end='. shift(@eperiod). '">' : '' %><FONT COLOR="#<%= $color{$row} %>">$<%= sprintf("%.2f", $column) %></FONT><%= $link ? '</A>' : '' %>
    </TD>
  <% } %>
  </TR>
<% } %>
</TABLE>

<BR>
<FORM METHOD="POST">
<!--
<INPUT TYPE="checkbox" NAME="ar">
  Accounts receivable (invoices - applied credits)<BR>
<INPUT TYPE="checkbox" NAME="charged">
  Just Invoices<BR>
<INPUT TYPE="checkbox" NAME="defer">
  Accounts receivable, with deferred revenue (invoices - applied credits, with charges for annual/semi-annual/quarterly/etc. services deferred over applicable time period) (there has got to be a shorter description for this)<BR>
<INPUT TYPE="checkbox" NAME="cash">
  Cashflow (payments - refunds)<BR>
<BR>
-->
From <SELECT NAME="smonth">
<% foreach my $mon ( 1..12 ) { %>
<OPTION VALUE="<%= $mon %>"<%= $mon == $smonth ? ' SELECTED' : '' %>><%= $mon[$mon-1] %>
<% } %>
</SELECT>
<SELECT NAME="syear">
<% foreach my $y ( 1999 .. 2010 ) { %>
<OPTION VALUE="<%= $y %>"<%= $y == $syear ? ' SELECTED' : '' %>><%= $y %>
<% } %>
</SELECT>
 to <SELECT NAME="emonth">
<% foreach my $mon ( 1..12 ) { %>
<OPTION VALUE="<%= $mon %>"<%= $mon == $emonth ? ' SELECTED' : '' %>><%= $mon[$mon-1] %>
<% } %>
</SELECT>
<SELECT NAME="eyear">
<% foreach my $y ( 1999 .. 2010 ) { %>
<OPTION VALUE="<%= $y %>"<%= $y == $eyear ? ' SELECTED' : '' %>><%= $y %>
<% } %>
</SELECT>

for agent: <%= include('/elements/select-agent.html', $agentnum) %>

<INPUT TYPE="submit" VALUE="Redisplay">
</FORM>
</BODY>
</HTML>