유희정

history tab

...@@ -3,37 +3,43 @@ import { View, Text, StyleSheet,ScrollView, RefreshControl } from 'react-native' ...@@ -3,37 +3,43 @@ import { View, Text, StyleSheet,ScrollView, RefreshControl } from 'react-native'
3 import { BarChart, Grid } from 'react-native-svg-charts' 3 import { BarChart, Grid } from 'react-native-svg-charts'
4 import HistoryGraph from '../component/HistoryGraph' 4 import HistoryGraph from '../component/HistoryGraph'
5 import SegmentedControlTab from "react-native-segmented-control-tab"; 5 import SegmentedControlTab from "react-native-segmented-control-tab";
6 -import {add_data} from'../component/DBhelper.js'; 6 +import {add_data, get_week_data, get_today_data, get_month_data, get_year_data} from'../component/DBhelper.js';
7 +var list1 = get_week_data();
8 +var list2 = get_month_data();
9 +var list3 = get_year_data();
10 +//var today = new Date();
11 +//today.setHours(today.getHours()+9);
12 +var week = ['SUN','MON','TUE', 'WED', 'THU', 'FRI', 'SAT'];
7 13
8 const data1 = [ 14 const data1 = [
9 - { label: 'MON', value: 1.8 }, 15 + { label: week[list1[1][0]], value: list1[0][0] },
10 - { label: 'TUE', value: 4.2 }, 16 + { label: week[list1[1][1]], value: list1[0][1] },
11 - { label: 'WEN', value: 1.6 }, 17 + { label: week[list1[1][2]], value: list1[0][2] },
12 - { label: 'THU', value: 0 }, 18 + { label: week[list1[1][3]], value: list1[0][3] },
13 - { label: 'FRI', value: 2.0 }, 19 + { label: week[list1[1][4]], value: list1[0][4] },
14 - { label: 'SAT', value: 3.3 }, 20 + { label: week[list1[1][5]], value: list1[0][5] },
15 - { label: 'SUN', value: 1.3 } 21 + { label: week[list1[1][6]], value: list1[0][6] }
16 ] 22 ]
17 const data2 = [ 23 const data2 = [
18 - { label: '1', value: 4.6 }, 24 + { label: '1', value: list2[0] },
19 - { label: '8', value: 3.7 }, 25 + { label: '7', value: list2[1] },
20 - { label: '15', value: 3.0 }, 26 + { label: '14', value: list2[2]},
21 - { label: '22', value: 5.2 }, 27 + { label: '21', value: list2[3] },
22 - { label: '29', value: 3.1 } 28 + { label: '28', value: list2[4] }
23 ] 29 ]
24 const data3 = [ 30 const data3 = [
25 - { label: 'Jan', value: 500 }, 31 + { label: 'Jan', value: list3[0] },
26 - { label: 'Feb', value: 312 }, 32 + { label: 'Feb', value: list3[1] },
27 - { label: 'Mar', value: 424 }, 33 + { label: 'Mar', value: list3[2] },
28 - { label: 'Apr', value: 745 }, 34 + { label: 'Apr', value: list3[3] },
29 - { label: 'May', value: 89 }, 35 + { label: 'May', value: list3[4] },
30 - { label: 'Jun', value: 434 }, 36 + { label: 'Jun', value: list3[5] },
31 - { label: 'Jul', value: 650 }, 37 + { label: 'Jul', value: list3[6] },
32 - { label: 'Aug', value: 980 }, 38 + { label: 'Aug', value: list3[7] },
33 - { label: 'Sep', value: 123 }, 39 + { label: 'Sep', value: list3[8] },
34 - { label: 'Oct', value: 186 }, 40 + { label: 'Oct', value: list3[9] },
35 - { label: 'Nov', value: 689 }, 41 + { label: 'Nov', value: list3[10] },
36 - { label: 'Dec', value: 643 } 42 + { label: 'Dec', value: list3[11] }
37 ] 43 ]
38 44
39 const data4 = [ 45 const data4 = [
...@@ -45,9 +51,16 @@ const data4 = [ ...@@ -45,9 +51,16 @@ const data4 = [
45 { label: 'E', value: 434 } 51 { label: 'E', value: 434 }
46 ] 52 ]
47 53
48 -const kg1 = "총 3.5kg" 54 +function total(list){
49 -const kg2 = "총 9,6kg" 55 + var total=0;
50 -const kg3 = "총 21.3kg" 56 + for(var i =0; i< list.length; i++)
57 + total += list[i]
58 + return total
59 +}
60 +
61 +const kg1 = "총 " + total(list1[0]) + "kg"
62 +const kg2 = "총 " + total(list2) + "kg"
63 +const kg3 = "총 " + total(list3) + "kg"
51 64
52 export default class HomeTab extends Component { 65 export default class HomeTab extends Component {
53 constructor(){ 66 constructor(){
...@@ -55,7 +68,7 @@ export default class HomeTab extends Component { ...@@ -55,7 +68,7 @@ export default class HomeTab extends Component {
55 this.state = { 68 this.state = {
56 selectedIndex: 0, 69 selectedIndex: 0,
57 data: data1, 70 data: data1,
58 - title: "총 3.5kg", 71 + title: "총 " + total(list1[0]) + "kg",
59 spane: "", 72 spane: "",
60 refreshing: false 73 refreshing: false
61 } 74 }
......
...@@ -47,7 +47,7 @@ export default class MainScreen extends Component { ...@@ -47,7 +47,7 @@ export default class MainScreen extends Component {
47 title: 'FW IOT' } 47 title: 'FW IOT' }
48 48
49 render() { 49 render() {
50 - //registerID(this.state.ID); 50 + registerID(this.state.ID);
51 return <AppTabContainet/>; // AppTabContainet 컴포넌트를 리턴한다. 51 return <AppTabContainet/>; // AppTabContainet 컴포넌트를 리턴한다.
52 } 52 }
53 } 53 }
......
...@@ -112,6 +112,199 @@ export function get_today_data(){ ...@@ -112,6 +112,199 @@ export function get_today_data(){
112 return list; 112 return list;
113 } 113 }
114 114
115 +export function get_week_data(){
116 + var today = new Date();
117 + var daybefore1 = new Date();
118 + daybefore1.setDate(today.getDate()-1);
119 + var daybefore2 = new Date();
120 + daybefore2.setDate(today.getDate()-2);
121 + var daybefore3 = new Date();
122 + daybefore3.setDate(today.getDate()-3);
123 + var daybefore4 = new Date();
124 + daybefore4.setDate(today.getDate()-4);
125 + var daybefore5 = new Date();
126 + daybefore5.setDate(today.getDate()-5);
127 + var daybefore6 = new Date();
128 + daybefore6.setDate(today.getDate()-6);
129 + var day = [daybefore6.getDay(), daybefore5.getDay(),daybefore4.getDay(),
130 + daybefore3.getDay(),daybefore2.getDay(),daybefore1.getDay(), today.getDay()]
131 + today = today.getTime();
132 + daybefore1 = daybefore1.getTime();
133 + daybefore2 = daybefore2.getTime();
134 + daybefore3 = daybefore3.getTime();
135 + daybefore4 = daybefore4.getTime();
136 + daybefore5 = daybefore5.getTime();
137 + daybefore6 = daybefore6.getTime();
138 +
139 + let wastes1 = realm.objects('Waste').filtered('date >= $0 && date <$1', daybefore6, daybefore5);
140 + let wastes2 = realm.objects('Waste').filtered('date >= $0 && date <$1', daybefore5, daybefore4);
141 + let wastes3 = realm.objects('Waste').filtered('date >= $0 && date <$1', daybefore4, daybefore3);
142 + let wastes4 = realm.objects('Waste').filtered('date >= $0 && date <$1', daybefore3, daybefore2);
143 + let wastes5 = realm.objects('Waste').filtered('date >= $0 && date <$1', daybefore2, daybefore1);
144 + let wastes6 = realm.objects('Waste').filtered('date >= $0 && date <$1', daybefore1, today);
145 + let wastes7 = realm.objects('Waste').filtered('date >= $0', today);
146 + var list = [];
147 + var total1 =0, total2=0, total3=0, total4=0, total5=0, total6=0, total7 = 0;
148 +
149 + for(var i = 0; i< wastes1.length; i++){
150 + total1 += wastes1[i].diff;
151 + }
152 + for(var i = 0; i< wastes2.length; i++){
153 + total2 += wastes2[i].diff;
154 + }
155 + for(var i = 0; i< wastes3.length; i++){
156 + total3 += wastes3[i].diff;
157 + }
158 + for(var i = 0; i< wastes4.length; i++){
159 + total4 += wastes4[i].diff;
160 + }
161 + for(var i = 0; i< wastes5.length; i++){
162 + total5 += wastes5[i].diff;
163 + }
164 + for(var i = 0; i< wastes6.length; i++){
165 + total6 += wastes6[i].diff;
166 + }
167 + for(var i = 0; i< wastes7.length; i++){
168 + total7 += wastes7[i].diff;
169 + }
170 + list = [[total1, total2, total3, total4, total5, total6, total7],day]
171 + return list;
172 +}
173 +
174 +export function get_month_data(){
175 + var today = new Date();
176 + var sep1 = new Date(today.getFullYear(), today.getMonth()-1, 1);
177 + var sep2 = new Date(today.getFullYear(), today.getMonth()-1, 7);
178 + var sep3 = new Date(today.getFullYear(), today.getMonth()-1, 14);
179 + var sep4 = new Date(today.getFullYear(), today.getMonth()-1, 21);
180 + var sep5 = new Date(today.getFullYear(), today.getMonth()-1, 28);
181 + var sep6 = new Date(today.getFullYear(), today.getMonth(), 1)
182 +
183 + sep1 = sep1.getTime();
184 + sep2 = sep2.getTime();
185 + sep3 = sep3.getTime();
186 + sep4 = sep4.getTime();
187 + sep5 = sep5.getTime();
188 + sep6 = sep6.getTime();
189 +
190 + let wastes1 = realm.objects('Waste').filtered('date >= $0 && date <$1', sep1, sep2);
191 + let wastes2 = realm.objects('Waste').filtered('date >= $0 && date <$1', sep2, sep3);
192 + let wastes3 = realm.objects('Waste').filtered('date >= $0 && date <$1', sep3, sep4);
193 + let wastes4 = realm.objects('Waste').filtered('date >= $0 && date <$1', sep4, sep5);
194 + let wastes5 = realm.objects('Waste').filtered('date >= $0 && date <$1', sep5, sep6);
195 +
196 + var list = [];
197 + var total1 =0, total2=0, total3=0, total4=0, total5=0;
198 +
199 + for(var i = 0; i< wastes1.length; i++){
200 + total1 += wastes1[i].diff;
201 + }
202 + for(var i = 0; i< wastes2.length; i++){
203 + total2 += wastes2[i].diff;
204 + }
205 + for(var i = 0; i< wastes3.length; i++){
206 + total3 += wastes3[i].diff;
207 + }
208 + for(var i = 0; i< wastes4.length; i++){
209 + total4 += wastes4[i].diff;
210 + }
211 + for(var i = 0; i< wastes5.length; i++){
212 + total5 += wastes5[i].diff;
213 + }
214 + list = [total1, total2, total3, total4, total5]
215 + return list;
216 +}
217 +
218 +export function get_year_data(){
219 + var today = new Date();
220 + var mon1 = new Date(today.getFullYear()-1, 0, 1);
221 + var mon2 = new Date(today.getFullYear()-1, 1, 1);
222 + var mon3 = new Date(today.getFullYear()-1, 2, 1);
223 + var mon4 = new Date(today.getFullYear()-1, 3, 1);
224 + var mon5 = new Date(today.getFullYear()-1, 4, 1);
225 + var mon6 = new Date(today.getFullYear()-1, 5, 1);
226 + var mon7 = new Date(today.getFullYear()-1, 6, 1);
227 + var mon8 = new Date(today.getFullYear()-1, 7, 1);
228 + var mon9 = new Date(today.getFullYear()-1, 8, 1);
229 + var mon10 = new Date(today.getFullYear()-1, 9, 1);
230 + var mon11 = new Date(today.getFullYear()-1, 10, 1);
231 + var mon12 = new Date(today.getFullYear()-1, 11, 1);
232 + var nYear = new Date(today.getFullYear(), 0, 1);
233 +
234 + mon1 = mon1.getTime();
235 + mon2 = mon2.getTime();
236 + mon3 = mon3.getTime();
237 + mon4 = mon4.getTime();
238 + mon5 = mon5.getTime();
239 + mon6 = mon6.getTime();
240 + mon7 = mon7.getTime();
241 + mon8 = mon8.getTime();
242 + mon9 = mon9.getTime();
243 + mon10 = mon10.getTime();
244 + mon11 = mon11.getTime();
245 + mon12 = mon12.getTime();
246 + nYear = nYear.getTime();
247 +
248 +
249 + let wastes1 = realm.objects('Waste').filtered('date >= $0 && date <$1', mon1, mon2);
250 + let wastes2 = realm.objects('Waste').filtered('date >= $0 && date <$1', mon2, mon3);
251 + let wastes3 = realm.objects('Waste').filtered('date >= $0 && date <$1', mon3, mon4);
252 + let wastes4 = realm.objects('Waste').filtered('date >= $0 && date <$1', mon4, mon5);
253 + let wastes5 = realm.objects('Waste').filtered('date >= $0 && date <$1', mon5, mon6);
254 + let wastes6 = realm.objects('Waste').filtered('date >= $0 && date <$1', mon6, mon7);
255 + let wastes7 = realm.objects('Waste').filtered('date >= $0 && date <$1', mon7, mon8);
256 + let wastes8 = realm.objects('Waste').filtered('date >= $0 && date <$1', mon8, mon9);
257 + let wastes9 = realm.objects('Waste').filtered('date >= $0 && date <$1', mon9, mon10);
258 + let wastes10 = realm.objects('Waste').filtered('date >= $0 && date <$1', mon10, mon11);
259 + let wastes11 = realm.objects('Waste').filtered('date >= $0 && date <$1', mon11, mon12);
260 + let wastes12 = realm.objects('Waste').filtered('date >= $0 && date <$1', mon12, nYear);
261 +
262 + var list = [];
263 + var total1 =0, total2=0, total3=0, total4=0, total5=0,
264 + total6 =0, total7=0, total8=0, total9=0, total10=0,
265 + total11 =0, total12=0;
266 +
267 + for(var i = 0; i< wastes1.length; i++){
268 + total1 += wastes1[i].diff;
269 + }
270 + for(var i = 0; i< wastes2.length; i++){
271 + total2 += wastes2[i].diff;
272 + }
273 + for(var i = 0; i< wastes3.length; i++){
274 + total3 += wastes3[i].diff;
275 + }
276 + for(var i = 0; i< wastes4.length; i++){
277 + total4 += wastes4[i].diff;
278 + }
279 + for(var i = 0; i< wastes5.length; i++){
280 + total5 += wastes5[i].diff;
281 + }
282 + for(var i = 0; i< wastes6.length; i++){
283 + total6 += wastes6[i].diff;
284 + }
285 + for(var i = 0; i< wastes7.length; i++){
286 + total7 += wastes7[i].diff;
287 + }
288 + for(var i = 0; i< wastes8.length; i++){
289 + total8 += wastes8[i].diff;
290 + }
291 + for(var i = 0; i< wastes9.length; i++){
292 + total9 += wastes9[i].diff;
293 + }
294 + for(var i = 0; i< wastes10.length; i++){
295 + total10 += wastes10[i].diff;
296 + }
297 + for(var i = 0; i< wastes11.length; i++){
298 + total11 += wastes11[i].diff;
299 + }
300 + for(var i = 0; i< wastes12.length; i++){
301 + total12 += wastes12[i].diff;
302 + }
303 +
304 + list = [total1, total2, total3, total4, total5,total6, total7, total8, total9, total10,total11, total12]
305 + return list;
306 +}
307 +
115 export function delete_all_data(today){ 308 export function delete_all_data(today){
116 let all_wastes = realm.objects('Waste'); 309 let all_wastes = realm.objects('Waste');
117 realm.write(() => { 310 realm.write(() => {
......