Browse Source

Add bag size information to AUCO report.

Neal Wilson 10 years ago
parent
commit
6c1ff99133
1 changed files with 19 additions and 4 deletions
  1. 19
    4
      config/Reports/auco.xml

+ 19
- 4
config/Reports/auco.xml View File

65
                 output.writeStartElement("thead");
65
                 output.writeStartElement("thead");
66
                 output.writeStartElement("tr");
66
                 output.writeStartElement("tr");
67
                 output.writeStartElement("th");
67
                 output.writeStartElement("th");
68
-                output.writeAttribute("colspan", "5");
68
+                output.writeAttribute("colspan", "8");
69
                 output.writeCharacters("Regular Coffees");
69
                 output.writeCharacters("Regular Coffees");
70
                 output.writeEndElement();
70
                 output.writeEndElement();
71
                 output.writeEndElement();
71
                 output.writeEndElement();
75
                 output.writeTextElement("th", "Avg. Cost");
75
                 output.writeTextElement("th", "Avg. Cost");
76
 				output.writeTextElement("th", "Last Cost");
76
 				output.writeTextElement("th", "Last Cost");
77
 				output.writeTextElement("th", "Last Purchase Date");
77
 				output.writeTextElement("th", "Last Purchase Date");
78
+				output.writeTextElement("th", "Bag Size (min)");
79
+				output.writeTextElement("th", "Bag Size (max)");
80
+				output.writeTextElement("th", "Bag Size (mean)");
78
                 output.writeEndElement();
81
                 output.writeEndElement();
79
                 output.writeEndElement();
82
                 output.writeEndElement();
80
                 output.writeStartElement("tbody");
83
                 output.writeStartElement("tbody");
105
 						orderClause = "cost DESC";
108
 						orderClause = "cost DESC";
106
 						break;
109
 						break;
107
 				}
110
 				}
108
-				query.prepare("SELECT DISTINCT origin, (avg(rate)/:conversion)::numeric(10,2) AS rate, (SELECT avg(cost)*:conversion2 FROM purchase WHERE item IN (SELECT id FROM regular_coffees WHERE origin = coffee_history.origin))::numeric(10,2) AS cost, (SELECT avg(cost)*:conversion3 FROM purchase WHERE item IN (SELECT id FROM regular_coffees WHERE origin = coffee_history.origin) AND time = (SELECT max(time) FROM purchase WHERE item IN (SELECT id FROM regular_coffees WHERE origin = coffee_history.origin))), (SELECT max(time)::date FROM purchase WHERE item IN (SELECT id FROM regular_coffees WHERE origin = coffee_history.origin)) FROM coffee_history WHERE id IN (SELECT id FROM regular_coffees) GROUP BY origin ORDER BY " + orderClause);
111
+				query.prepare("SELECT DISTINCT origin, (avg(rate)/:conversion)::numeric(10,2) AS rate, (SELECT avg(cost)*:conversion2 FROM purchase WHERE item IN (SELECT id FROM regular_coffees WHERE origin = coffee_history.origin))::numeric(10,2) AS cost, (SELECT avg(cost)*:conversion3 FROM purchase WHERE item IN (SELECT id FROM regular_coffees WHERE origin = coffee_history.origin) AND time = (SELECT max(time) FROM purchase WHERE item IN (SELECT id FROM regular_coffees WHERE origin = coffee_history.origin))), (SELECT max(time)::date FROM purchase WHERE item IN (SELECT id FROM regular_coffees WHERE origin = coffee_history.origin)), (SELECT min(conversion)/:conversion4 FROM lb_bag_conversion WHERE item IN (SELECT id FROM regular_coffees WHERE origin = coffee_history.origin))::numeric(10,2) AS minbag, (SELECT max(conversion)/:conversion5 FROM lb_bag_conversion WHERE item IN (SELECT id FROM regular_coffees WHERE origin = coffee_history.origin))::numeric(10,2) AS maxbag, (SELECT avg(conversion)/:conversion6 FROM lb_bag_conversion WHERE item IN (SELECT id FROM regular_coffees WHERE origin = coffee_history.origin))::numeric(10,2) AS meanbag FROM coffee_history WHERE id IN (SELECT id FROM regular_coffees) GROUP BY origin ORDER BY " + orderClause);
109
 				query.bind(":conversion", conversion);
112
 				query.bind(":conversion", conversion);
110
 				query.bind(":conversion2", conversion);
113
 				query.bind(":conversion2", conversion);
111
 				query.bind(":conversion3", conversion);
114
 				query.bind(":conversion3", conversion);
115
+				query.bind(":conversion4", conversion);
116
+				query.bind(":conversion5", conversion);
117
+				query.bind(":conversion6", conversion);
112
 				query.exec();
118
 				query.exec();
113
                 while(query.next())
119
                 while(query.next())
114
                 {
120
                 {
118
                     output.writeTextElement("td", query.value(2));
124
                     output.writeTextElement("td", query.value(2));
119
 					output.writeTextElement("td", query.value(3));
125
 					output.writeTextElement("td", query.value(3));
120
 					output.writeTextElement("td", query.value(4));
126
 					output.writeTextElement("td", query.value(4));
127
+					output.writeTextElement("td", query.value(5));
128
+					output.writeTextElement("td", query.value(6));
129
+					output.writeTextElement("td", query.value(7));
121
                     output.writeEndElement();
130
                     output.writeEndElement();
122
                 }
131
                 }
123
                 output.writeStartElement("tr");
132
                 output.writeStartElement("tr");
124
                 output.writeStartElement("th");
133
                 output.writeStartElement("th");
125
-                output.writeAttribute("colspan", "5");
134
+                output.writeAttribute("colspan", "8");
126
                 output.writeCharacters("Decaffeinated Coffees");
135
                 output.writeCharacters("Decaffeinated Coffees");
127
                 output.writeEndElement();
136
                 output.writeEndElement();
128
                 output.writeEndElement();
137
                 output.writeEndElement();
129
-				query.prepare("SELECT DISTINCT origin, (avg(rate)/:conversion)::numeric(10,2) AS rate, (SELECT avg(cost)*:conversion2 FROM purchase WHERE item IN (SELECT id FROM decaf_coffees WHERE origin = coffee_history.origin))::numeric(10,2) AS cost, (SELECT avg(cost)*:conversion3 FROM purchase WHERE item IN (SELECT id FROM decaf_coffees WHERE origin = coffee_history.origin) AND time = (SELECT max(time) FROM purchase WHERE item IN (SELECT id FROM decaf_coffees WHERE origin = coffee_history.origin))), (SELECT max(time)::date FROM purchase WHERE item IN (SELECT id FROM decaf_coffees WHERE origin = coffee_history.origin)) FROM coffee_history WHERE id IN (SELECT id FROM decaf_coffees) GROUP BY origin ORDER BY " + orderClause);
138
+				query.prepare("SELECT DISTINCT origin, (avg(rate)/:conversion)::numeric(10,2) AS rate, (SELECT avg(cost)*:conversion2 FROM purchase WHERE item IN (SELECT id FROM decaf_coffees WHERE origin = coffee_history.origin))::numeric(10,2) AS cost, (SELECT avg(cost)*:conversion3 FROM purchase WHERE item IN (SELECT id FROM decaf_coffees WHERE origin = coffee_history.origin) AND time = (SELECT max(time) FROM purchase WHERE item IN (SELECT id FROM decaf_coffees WHERE origin = coffee_history.origin))), (SELECT max(time)::date FROM purchase WHERE item IN (SELECT id FROM decaf_coffees WHERE origin = coffee_history.origin)), (SELECT min(conversion)/:conversion4 FROM lb_bag_conversion WHERE item IN (SELECT id FROM decaf_coffees WHERE origin = coffee_history.origin))::numeric(10,2) AS minbag, (SELECT max(conversion)/:conversion5 FROM lb_bag_conversion WHERE item IN (SELECT id FROM decaf_coffees WHERE origin = coffee_history.origin))::numeric(10,2) AS maxbag, (SELECT avg(conversion)/:conversion6 FROM lb_bag_conversion WHERE item IN (SELECT id FROM decaf_coffees WHERE origin = coffee_history.origin))::numeric(10,2) AS meanbag FROM coffee_history WHERE id IN (SELECT id FROM decaf_coffees) GROUP BY origin ORDER BY " + orderClause);
130
 				query.bind(":conversion", conversion);
139
 				query.bind(":conversion", conversion);
131
 				query.bind(":conversion2", conversion);
140
 				query.bind(":conversion2", conversion);
132
 				query.bind(":conversion3", conversion);
141
 				query.bind(":conversion3", conversion);
142
+				query.bind(":conversion4", conversion);
143
+				query.bind(":conversion5", conversion);
144
+				query.bind(":conversion6", conversion);
133
 				query.exec();
145
 				query.exec();
134
                 while(query.next())
146
                 while(query.next())
135
                 {
147
                 {
139
                     output.writeTextElement("td", query.value(2));
151
                     output.writeTextElement("td", query.value(2));
140
 					output.writeTextElement("td", query.value(3));
152
 					output.writeTextElement("td", query.value(3));
141
 					output.writeTextElement("td", query.value(4));
153
 					output.writeTextElement("td", query.value(4));
154
+					output.writeTextElement("td", query.value(5));
155
+					output.writeTextElement("td", query.value(6));
156
+					output.writeTextElement("td", query.value(7));
142
                     output.writeEndElement();
157
                     output.writeEndElement();
143
                 }
158
                 }
144
 				query = query.invalidate();
159
 				query = query.invalidate();

Loading…
Cancel
Save