Showing
2 changed files
with
263 additions
and
255 deletions
... | @@ -16,7 +16,7 @@ | ... | @@ -16,7 +16,7 @@ |
16 | <div id="menu_bar"> | 16 | <div id="menu_bar"> |
17 | <ul id="menu"> | 17 | <ul id="menu"> |
18 | <li class="menu1">통계 분석</li> | 18 | <li class="menu1">통계 분석</li> |
19 | - <li class="menu2" id="analysis1">최근 통계</li> | 19 | + <li class="menu2" id="analysis1">최근 6개월 통계</li> |
20 | <li class="menu2" id="analysis2">전체 통계</li> | 20 | <li class="menu2" id="analysis2">전체 통계</li> |
21 | <li class="menu2" id="analysis3">특정 기간 통계</li> | 21 | <li class="menu2" id="analysis3">특정 기간 통계</li> |
22 | <form name="dateForm" method="post" id="dateForm"> | 22 | <form name="dateForm" method="post" id="dateForm"> |
... | @@ -34,7 +34,7 @@ | ... | @@ -34,7 +34,7 @@ |
34 | </form> | 34 | </form> |
35 | <li class="menu2" id="analysis4_list"></li> | 35 | <li class="menu2" id="analysis4_list"></li> |
36 | <li class="menu1">목록 분석</li> | 36 | <li class="menu1">목록 분석</li> |
37 | - <li class="menu2" id="list1">최근 목록</li> | 37 | + <li class="menu2" id="list1">최근 1달 목록</li> |
38 | <li class="menu2" id="list2">전체 목록</li> | 38 | <li class="menu2" id="list2">전체 목록</li> |
39 | <li class="menu2" id="list4">특정 기간 목록</li> | 39 | <li class="menu2" id="list4">특정 기간 목록</li> |
40 | <form name="dateForm" method="post" id="dateForm"> | 40 | <form name="dateForm" method="post" id="dateForm"> | ... | ... |
... | @@ -144,146 +144,151 @@ connection.query('select MIN(date) "min", MAX(date) "max" from calllog;', functi | ... | @@ -144,146 +144,151 @@ connection.query('select MIN(date) "min", MAX(date) "max" from calllog;', functi |
144 | connection.query('drop table if exists calllog_month; create table calllog_month(date datetime not null, logcount int, callcount int, smscount int, durationsum int, primary key(date)); insert into calllog_month(date, callcount, durationsum) (select date_format(date, "%Y-%m-02 00:00:00"), count(*), sum(duration) from calllog where type in (1,2,3) group by date_format(date, "%Y-%m-02 00:00:00")); update calllog_month cm left join (select date_format(date, "%Y-%m-02 00:00:00") "date", count(*) "count" from calllog group by date_format(date, "%Y-%m-02 00:00:00")) temp on cm.date=temp.date set cm.logcount=temp.count, cm.smscount=cm.logcount-cm.callcount;', function(err, rows, fields){ | 144 | connection.query('drop table if exists calllog_month; create table calllog_month(date datetime not null, logcount int, callcount int, smscount int, durationsum int, primary key(date)); insert into calllog_month(date, callcount, durationsum) (select date_format(date, "%Y-%m-02 00:00:00"), count(*), sum(duration) from calllog where type in (1,2,3) group by date_format(date, "%Y-%m-02 00:00:00")); update calllog_month cm left join (select date_format(date, "%Y-%m-02 00:00:00") "date", count(*) "count" from calllog group by date_format(date, "%Y-%m-02 00:00:00")) temp on cm.date=temp.date set cm.logcount=temp.count, cm.smscount=cm.logcount-cm.callcount;', function(err, rows, fields){ |
145 | if(err) | 145 | if(err) |
146 | cc.innerHTML='Error-#1'; | 146 | cc.innerHTML='Error-#1'; |
147 | -}); | 147 | + else{ |
148 | - | 148 | + connection.query('select * from calllog_month order by date DESC limit 6;', function(err, rows, fields){ |
149 | -connection.query('select * from calllog_month order by date DESC limit 6;', function(err, rows, fields){ | 149 | + if(!err){ |
150 | - if(!err){ | 150 | + for(var i=0;i<rows.length;i++){ |
151 | - for(var i=0;i<rows.length;i++){ | 151 | + month_6.unshift(rows[i].date.toISOString().slice(0,7)); |
152 | - month_6.unshift(rows[i].date.toISOString().slice(0,7)); | 152 | + logcount_6.unshift(rows[i].logcount); |
153 | - logcount_6.unshift(rows[i].logcount); | 153 | + callcount_6.unshift(rows[i].callcount); |
154 | - callcount_6.unshift(rows[i].callcount); | 154 | + smscount_6.unshift(rows[i].smscount); |
155 | - smscount_6.unshift(rows[i].smscount); | 155 | + durationsum_6.unshift(rows[i].durationsum); |
156 | - durationsum_6.unshift(rows[i].durationsum); | 156 | + } |
157 | - } | 157 | + } |
158 | - } | 158 | + else |
159 | - else | 159 | + cc.innerHTML='Error-#2'; |
160 | - cc.innerHTML='Error-#2'; | 160 | + }); |
161 | -}); | 161 | + |
162 | - | 162 | + connection.query('select a.date, sum(b.logcount) "logcount", sum(b.callcount) "callcount", sum(b.smscount) "smscount", sum(b.durationsum) "durationsum" from (select * from calllog_month order by date DESC limit 6) a, (select * from calllog_month order by date DESC limit 6) b where a.date>=b.date group by date order by a.date;', function(err, rows, fields){ |
163 | -connection.query('select a.date, sum(b.logcount) "logcount", sum(b.callcount) "callcount", sum(b.smscount) "smscount", sum(b.durationsum) "durationsum" from (select * from calllog_month order by date DESC limit 6) a, (select * from calllog_month order by date DESC limit 6) b where a.date>=b.date group by date order by a.date;', function(err, rows, fields){ | 163 | + if(!err){ |
164 | - if(!err){ | 164 | + for(var i=0;i<rows.length;i++){ |
165 | - for(var i=0;i<rows.length;i++){ | 165 | + logcount_6nu.push(rows[i].logcount); |
166 | - logcount_6nu.push(rows[i].logcount); | 166 | + callcount_6nu.push(rows[i].callcount); |
167 | - callcount_6nu.push(rows[i].callcount); | 167 | + smscount_6nu.push(rows[i].smscount); |
168 | - smscount_6nu.push(rows[i].smscount); | 168 | + durationsum_6nu.push(rows[i].durationsum); |
169 | - durationsum_6nu.push(rows[i].durationsum); | 169 | + } |
170 | - } | 170 | + } |
171 | - } | 171 | + else |
172 | - else | 172 | + cc.innerHTML='Error-#3'; |
173 | - cc.innerHTML='Error-#3'; | 173 | + }); |
174 | -}); | 174 | + |
175 | - | 175 | + connection.query('select * from calllog_month order by date;', function(err, rows, fields){ |
176 | -connection.query('select * from calllog_month order by date;', function(err, rows, fields){ | 176 | + if(!err){ |
177 | - if(!err){ | 177 | + for(var i=0;i<rows.length;i++){ |
178 | - for(var i=0;i<rows.length;i++){ | 178 | + month.push(rows[i].date.toISOString().slice(0,7)); |
179 | - month.push(rows[i].date.toISOString().slice(0,7)); | 179 | + logcount.push(rows[i].logcount); |
180 | - logcount.push(rows[i].logcount); | 180 | + callcount.push(rows[i].callcount); |
181 | - callcount.push(rows[i].callcount); | 181 | + smscount.push(rows[i].smscount); |
182 | - smscount.push(rows[i].smscount); | 182 | + durationsum.push(rows[i].durationsum); |
183 | - durationsum.push(rows[i].durationsum); | 183 | + } |
184 | - } | 184 | + } |
185 | - } | 185 | + else |
186 | - else | 186 | + cc.innerHTML='Error-#4'; |
187 | - cc.innerHTML='Error-#4'; | 187 | + }); |
188 | -}); | 188 | + |
189 | - | 189 | + connection.query('select a.date, sum(b.logcount) "logcount", sum(b.callcount) "callcount", sum(b.smscount) "smscount", sum(b.durationsum) "durationsum" from calllog_month a, calllog_month b where a.date>=b.date group by date order by a.date;', function(err, rows, fields){ |
190 | -connection.query('select a.date, sum(b.logcount) "logcount", sum(b.callcount) "callcount", sum(b.smscount) "smscount", sum(b.durationsum) "durationsum" from calllog_month a, calllog_month b where a.date>=b.date group by date order by a.date;', function(err, rows, fields){ | 190 | + if(!err){ |
191 | - if(!err){ | 191 | + for(var i=0;i<rows.length;i++){ |
192 | - for(var i=0;i<rows.length;i++){ | 192 | + logcount_nu.push(rows[i].logcount); |
193 | - logcount_nu.push(rows[i].logcount); | 193 | + callcount_nu.push(rows[i].callcount); |
194 | - callcount_nu.push(rows[i].callcount); | 194 | + smscount_nu.push(rows[i].smscount); |
195 | - smscount_nu.push(rows[i].smscount); | 195 | + durationsum_nu.push(rows[i].durationsum); |
196 | - durationsum_nu.push(rows[i].durationsum); | 196 | + } |
197 | - } | 197 | + } |
198 | + else | ||
199 | + cc.innerHTML='Error-#5'; | ||
200 | + }); | ||
198 | } | 201 | } |
199 | - else | ||
200 | - cc.innerHTML='Error-#5'; | ||
201 | }); | 202 | }); |
202 | 203 | ||
203 | connection.query('drop table calllog_user; create table calllog_user(name varchar(255), number varchar(20) not null, callcount int, smscount int, durationsum int, primary key(number)); insert into calllog_user(name, number, callcount, durationsum) (select name, number, count(*), sum(duration) from calllog where type in (1,2,3) group by number); update calllog_user cu left join (select number, count(*) "count" from calllog where type not in (1,2,3) group by number) calllog on cu.number=calllog.number set cu.smscount=ifnull(calllog.count,0);', function(err, rows, fields){ | 204 | connection.query('drop table calllog_user; create table calllog_user(name varchar(255), number varchar(20) not null, callcount int, smscount int, durationsum int, primary key(number)); insert into calllog_user(name, number, callcount, durationsum) (select name, number, count(*), sum(duration) from calllog where type in (1,2,3) group by number); update calllog_user cu left join (select number, count(*) "count" from calllog where type not in (1,2,3) group by number) calllog on cu.number=calllog.number set cu.smscount=ifnull(calllog.count,0);', function(err, rows, fields){ |
204 | if(err) | 205 | if(err) |
205 | - cc.innerHTML='Error-#8'; | 206 | + cc.innerHTML='Error-#6'; |
206 | -}) | 207 | + else{ |
207 | - | 208 | + connection.query('select name, number, callcount, smscount from calllog_user order by callcount+smscount desc', function(err, rows, fields){ |
208 | -connection.query('select name, number, callcount, smscount from calllog_user order by callcount+smscount desc', function(err, rows, fields){ | 209 | + if(!err){ |
209 | - if(!err){ | 210 | + for(var i=0;i<rows.length;i++){ |
210 | - for(var i=0;i<rows.length;i++){ | 211 | + var name=rows[i].name; |
211 | - var name=rows[i].name; | 212 | + if(!name) |
212 | - if(!name) | 213 | + ranking_rnu.push(rows[i].number+" ( - )"); |
213 | - ranking_rnu.push(rows[i].number+" ( - )"); | 214 | + else |
215 | + ranking_rnu.push(rows[i].number+" ("+name+")"); | ||
216 | + logcount_rnu.push(rows[i].callcount+rows[i].smscount); | ||
217 | + callcount_rnu.push(rows[i].callcount); | ||
218 | + smscount_rnu.push(rows[i].smscount); | ||
219 | + } | ||
220 | + } | ||
214 | else | 221 | else |
215 | - ranking_rnu.push(rows[i].number+" ("+name+")"); | 222 | + cc.innerHTML='Error-#7'; |
216 | - logcount_rnu.push(rows[i].callcount+rows[i].smscount); | 223 | + }); |
217 | - callcount_rnu.push(rows[i].callcount); | 224 | + |
218 | - smscount_rnu.push(rows[i].smscount); | 225 | + connection.query('select name, number, callcount from calllog_user order by callcount desc', function(err, rows, fields){ |
219 | - } | 226 | + if(!err){ |
220 | - } | 227 | + for(var i=0;i<rows.length;i++){ |
221 | - else | 228 | + var name=rows[i].name; |
222 | - cc.innerHTML='Error-#8-1'; | 229 | + if(!name) |
223 | -}); | 230 | + ranking_rnuc.push(rows[i].number); |
224 | - | 231 | + else |
225 | -connection.query('select name, number, callcount from calllog_user order by callcount desc', function(err, rows, fields){ | 232 | + ranking_rnuc.push(rows[i].number+" ("+name+")"); |
226 | - if(!err){ | 233 | + callcount_rnuc.push(rows[i].callcount); |
227 | - for(var i=0;i<rows.length;i++){ | 234 | + } |
228 | - var name=rows[i].name; | 235 | + } |
229 | - if(!name) | ||
230 | - ranking_rnuc.push(rows[i].number); | ||
231 | else | 236 | else |
232 | - ranking_rnuc.push(rows[i].number+" ("+name+")"); | 237 | + cc.innerHTML='Error-#8'; |
233 | - callcount_rnuc.push(rows[i].callcount); | 238 | + }); |
234 | - } | 239 | + |
235 | - } | 240 | + connection.query('select name, number, smscount from calllog_user order by smscount desc', function(err, rows, fields){ |
236 | - else | 241 | + if(!err){ |
237 | - cc.innerHTML='Error-#8-2'; | 242 | + for(var i=0;i<rows.length;i++){ |
238 | -}); | 243 | + var name=rows[i].name; |
239 | - | 244 | + if(!name) |
240 | -connection.query('select name, number, smscount from calllog_user order by smscount desc', function(err, rows, fields){ | 245 | + ranking_rnus.push(rows[i].number); |
241 | - if(!err){ | 246 | + else |
242 | - for(var i=0;i<rows.length;i++){ | 247 | + ranking_rnus.push(rows[i].number+" ("+name+")"); |
243 | - var name=rows[i].name; | 248 | + smscount_rnus.push(rows[i].smscount); |
244 | - if(!name) | 249 | + } |
245 | - ranking_rnus.push(rows[i].number); | 250 | + } |
246 | else | 251 | else |
247 | - ranking_rnus.push(rows[i].number+" ("+name+")"); | 252 | + cc.innerHTML='Error-#9'; |
248 | - smscount_rnus.push(rows[i].smscount); | 253 | + }); |
249 | - } | 254 | + |
250 | - } | 255 | + connection.query('select name, number, durationsum from calllog_user order by durationsum desc', function(err, rows, fields){ |
251 | - else | 256 | + if(!err){ |
252 | - cc.innerHTML='Error-#8-3'; | 257 | + for(var i=0;i<rows.length;i++){ |
253 | -}); | 258 | + var name=rows[i].name; |
254 | - | 259 | + if(!name) |
255 | -connection.query('select name, number, durationsum from calllog_user order by durationsum desc', function(err, rows, fields){ | 260 | + ranking_rnud.push(rows[i].number); |
256 | - if(!err){ | 261 | + else |
257 | - for(var i=0;i<rows.length;i++){ | 262 | + ranking_rnud.push(rows[i].number+" ("+name+")"); |
258 | - var name=rows[i].name; | 263 | + durationsum_rnud.push(rows[i].durationsum); |
259 | - if(!name) | 264 | + } |
260 | - ranking_rnud.push(rows[i].number); | 265 | + } |
261 | else | 266 | else |
262 | - ranking_rnud.push(rows[i].number+" ("+name+")"); | 267 | + cc.innerHTML='Error-#10'; |
263 | - durationsum_rnud.push(rows[i].durationsum); | 268 | + }); |
264 | - } | ||
265 | } | 269 | } |
266 | - else | 270 | +}) |
267 | - cc.innerHTML='Error-#8-4'; | 271 | + |
268 | -}); | 272 | + |
269 | 273 | ||
270 | connection.query('drop table calllog_hour; create table calllog_hour(hour int not null, callcount int, smscount int, primary key(hour)); set @hour:=-1; insert into calllog_hour(hour, callcount) (select (@hour:=@hour+1) "hour", (select count(*) from calllog where type in (1,2,3) and hour(date)=@hour) "count" from calllog where @hour<23); update calllog_hour ch left join (select hour(date) "hour", count(*) "count" from calllog where type not in (1,2,3) group by hour(date)) calllog on ch.hour=calllog.hour set ch.smscount=ifnull(calllog.count,0);', function(err, rows, fields){ | 274 | connection.query('drop table calllog_hour; create table calllog_hour(hour int not null, callcount int, smscount int, primary key(hour)); set @hour:=-1; insert into calllog_hour(hour, callcount) (select (@hour:=@hour+1) "hour", (select count(*) from calllog where type in (1,2,3) and hour(date)=@hour) "count" from calllog where @hour<23); update calllog_hour ch left join (select hour(date) "hour", count(*) "count" from calllog where type not in (1,2,3) group by hour(date)) calllog on ch.hour=calllog.hour set ch.smscount=ifnull(calllog.count,0);', function(err, rows, fields){ |
271 | if(err) | 275 | if(err) |
272 | - cc.innerHTML='Error-#8'; | 276 | + cc.innerHTML='Error-#11'; |
273 | -}) | 277 | + else{ |
274 | - | 278 | + connection.query('select * from calllog_hour order by hour;', function(err, rows, fields){ |
275 | -connection.query('select * from calllog_hour order by hour;', function(err, rows, fields){ | 279 | + if(!err){ |
276 | - if(!err){ | 280 | + for(var i=0;i<rows.length;i++){ |
277 | - for(var i=0;i<rows.length;i++){ | 281 | + timeline.push(rows[i].hour); |
278 | - timeline.push(rows[i].hour); | 282 | + callcount_t.push(rows[i].callcount); |
279 | - callcount_t.push(rows[i].callcount); | 283 | + smscount_t.push(rows[i].smscount); |
280 | - smscount_t.push(rows[i].smscount); | 284 | + logcount_t.push(rows[i].callcount+rows[i].smscount); |
281 | - logcount_t.push(rows[i].callcount+rows[i].smscount); | 285 | + } |
282 | - } | 286 | + } |
287 | + else | ||
288 | + cc.innerHTML='Error-#12'+err; | ||
289 | + }); | ||
283 | } | 290 | } |
284 | - else | 291 | +}) |
285 | - cc.innerHTML='Error-#10'+err; | ||
286 | -}); | ||
287 | 292 | ||
288 | var options = { | 293 | var options = { |
289 | title:{ | 294 | title:{ |
... | @@ -872,7 +877,7 @@ function get_date_analysis(){ | ... | @@ -872,7 +877,7 @@ function get_date_analysis(){ |
872 | } | 877 | } |
873 | } | 878 | } |
874 | else | 879 | else |
875 | - cc.innerHTML='Error-#6-1'+err; | 880 | + cc.innerHTML='Error-#14'+err; |
876 | }); | 881 | }); |
877 | connection.query('select a.date, sum(b.logcount) "logcount", sum(b.callcount) "callcount", sum(b.smscount) "smscount", sum(b.durationsum) "durationsum" from calllog_between a, calllog_between b where a.date>=b.date group by date order by a.date;', function(err, rows, fields){ | 882 | connection.query('select a.date, sum(b.logcount) "logcount", sum(b.callcount) "callcount", sum(b.smscount) "smscount", sum(b.durationsum) "durationsum" from calllog_between a, calllog_between b where a.date>=b.date group by date order by a.date;', function(err, rows, fields){ |
878 | if(!err){ | 883 | if(!err){ |
... | @@ -889,11 +894,11 @@ function get_date_analysis(){ | ... | @@ -889,11 +894,11 @@ function get_date_analysis(){ |
889 | } | 894 | } |
890 | } | 895 | } |
891 | else | 896 | else |
892 | - cc.innerHTML='Error-#6-2'; | 897 | + cc.innerHTML='Error-#15'; |
893 | }); | 898 | }); |
894 | } | 899 | } |
895 | else | 900 | else |
896 | - cc.innerHTML='Error-#6'+err; | 901 | + cc.innerHTML='Error-#13'+err; |
897 | }); | 902 | }); |
898 | 903 | ||
899 | changeLabelText(month_b, "연락 수", logcount_b, "통화 수", callcount_b, "문자 수", smscount_b, "통화 시간", durationsum_b, "누적 연락 수", logcount_bnu, "누적 통화 수", callcount_bnu, "누적 문자 수",smscount_bnu, "누적 통화 시간", durationsum_bnu,"특정 기간의 통계"); | 904 | changeLabelText(month_b, "연락 수", logcount_b, "통화 수", callcount_b, "문자 수", smscount_b, "통화 시간", durationsum_b, "누적 연락 수", logcount_bnu, "누적 통화 수", callcount_bnu, "누적 문자 수",smscount_bnu, "누적 통화 시간", durationsum_bnu,"특정 기간의 통계"); |
... | @@ -934,7 +939,7 @@ function get_number_analysis(){ | ... | @@ -934,7 +939,7 @@ function get_number_analysis(){ |
934 | } | 939 | } |
935 | } | 940 | } |
936 | else | 941 | else |
937 | - cc.innerHTML='Error-#7-1'+err; | 942 | + cc.innerHTML='Error-#17'+err; |
938 | }); | 943 | }); |
939 | connection.query('select a.date, sum(b.logcount) "logcount", sum(b.callcount) "callcount", sum(b.smscount) "smscount", sum(b.durationsum) "durationsum" from calllog_with a, calllog_with b where a.date>=b.date group by date order by a.date;', function(err, rows, fields){ | 944 | connection.query('select a.date, sum(b.logcount) "logcount", sum(b.callcount) "callcount", sum(b.smscount) "smscount", sum(b.durationsum) "durationsum" from calllog_with a, calllog_with b where a.date>=b.date group by date order by a.date;', function(err, rows, fields){ |
940 | if(!err){ | 945 | if(!err){ |
... | @@ -951,11 +956,11 @@ function get_number_analysis(){ | ... | @@ -951,11 +956,11 @@ function get_number_analysis(){ |
951 | } | 956 | } |
952 | } | 957 | } |
953 | else | 958 | else |
954 | - cc.innerHTML='Error-#7-2'; | 959 | + cc.innerHTML='Error-#18'; |
955 | }); | 960 | }); |
956 | } | 961 | } |
957 | else | 962 | else |
958 | - cc.innerHTML='Error-#7'+err; | 963 | + cc.innerHTML='Error-#16'+err; |
959 | }); | 964 | }); |
960 | 965 | ||
961 | changeLabelText(month_w, "연락 수", logcount_w, "통화 수", callcount_w, "문자 수", smscount_w, "통화 시간", durationsum_w, "누적 연락 수", logcount_wnu, "누적 통화 수", callcount_wnu, "누적 문자 수",smscount_wnu, "누적 통화 시간", durationsum_wnu,"특정 연락처와의 통계"); | 966 | changeLabelText(month_w, "연락 수", logcount_w, "통화 수", callcount_w, "문자 수", smscount_w, "통화 시간", durationsum_w, "누적 연락 수", logcount_wnu, "누적 통화 수", callcount_wnu, "누적 문자 수",smscount_wnu, "누적 통화 시간", durationsum_wnu,"특정 연락처와의 통계"); |
... | @@ -973,85 +978,85 @@ function get_date_rank(){ | ... | @@ -973,85 +978,85 @@ function get_date_rank(){ |
973 | 978 | ||
974 | connection.query('drop table IF EXISTS calllog_user_between; create table calllog_user_between(name varchar(255), number varchar(20) not null, callcount int, smscount int, durationsum int, primary key(number)); insert into calllog_user_between(name, number, callcount, durationsum) (select name, number, count(*), sum(duration) from calllog where type in (1,2,3) and date between ? and ? group by number); update calllog_user_between cu left join (select number, count(*) "count" from calllog where type not in (1,2,3) and date between ? and ? group by number) calllog on cu.number=calllog.number set cu.smscount=ifnull(calllog.count,0);', [rank_date_start,rank_date_end,rank_date_start,rank_date_end], function(err, rows, fields){ | 979 | connection.query('drop table IF EXISTS calllog_user_between; create table calllog_user_between(name varchar(255), number varchar(20) not null, callcount int, smscount int, durationsum int, primary key(number)); insert into calllog_user_between(name, number, callcount, durationsum) (select name, number, count(*), sum(duration) from calllog where type in (1,2,3) and date between ? and ? group by number); update calllog_user_between cu left join (select number, count(*) "count" from calllog where type not in (1,2,3) and date between ? and ? group by number) calllog on cu.number=calllog.number set cu.smscount=ifnull(calllog.count,0);', [rank_date_start,rank_date_end,rank_date_start,rank_date_end], function(err, rows, fields){ |
975 | if(err) | 980 | if(err) |
976 | - cc.innerHTML='Error-#9'; | 981 | + cc.innerHTML='Error-#19'; |
977 | - }) | 982 | + else{ |
978 | - | 983 | + connection.query('select name, number, callcount, smscount from calllog_user_between order by callcount+smscount desc', function(err, rows, fields){ |
979 | - connection.query('select name, number, callcount, smscount from calllog_user_between order by callcount+smscount desc', function(err, rows, fields){ | 984 | + if(!err){ |
980 | - if(!err){ | 985 | + ranking_brnu.length=0; |
981 | - ranking_brnu.length=0; | 986 | + logcount_brnu.length=0; |
982 | - logcount_brnu.length=0; | 987 | + callcount_brnu.length=0; |
983 | - callcount_brnu.length=0; | 988 | + smscount_brnu.length=0; |
984 | - smscount_brnu.length=0; | 989 | + |
985 | - | 990 | + for(var i=0;i<rows.length;i++){ |
986 | - for(var i=0;i<rows.length;i++){ | 991 | + var name=rows[i].name; |
987 | - var name=rows[i].name; | 992 | + if(!name) |
988 | - if(!name) | 993 | + ranking_brnu.push(rows[i].number+" ( - )"); |
989 | - ranking_brnu.push(rows[i].number+" ( - )"); | 994 | + else |
990 | - else | 995 | + ranking_brnu.push(rows[i].number+" ("+name+")"); |
991 | - ranking_brnu.push(rows[i].number+" ("+name+")"); | 996 | + logcount_brnu.push(rows[i].callcount+rows[i].smscount); |
992 | - logcount_brnu.push(rows[i].callcount+rows[i].smscount); | 997 | + callcount_brnu.push(rows[i].callcount); |
993 | - callcount_brnu.push(rows[i].callcount); | 998 | + smscount_brnu.push(rows[i].smscount); |
994 | - smscount_brnu.push(rows[i].smscount); | 999 | + } |
995 | } | 1000 | } |
996 | - } | 1001 | + else |
997 | - else | 1002 | + cc.innerHTML='Error-#20'; |
998 | - cc.innerHTML='Error-#9-1'; | 1003 | + }); |
999 | - }); | 1004 | + |
1000 | - | 1005 | + connection.query('select name, number, callcount from calllog_user_between order by callcount desc', function(err, rows, fields){ |
1001 | - connection.query('select name, number, callcount from calllog_user_between order by callcount desc', function(err, rows, fields){ | 1006 | + if(!err){ |
1002 | - if(!err){ | 1007 | + ranking_brnuc.length=0; |
1003 | - ranking_brnuc.length=0; | 1008 | + callcount_brnuc.length=0; |
1004 | - callcount_brnuc.length=0; | 1009 | + |
1005 | - | 1010 | + for(var i=0;i<rows.length;i++){ |
1006 | - for(var i=0;i<rows.length;i++){ | 1011 | + var name=rows[i].name; |
1007 | - var name=rows[i].name; | 1012 | + if(!name) |
1008 | - if(!name) | 1013 | + ranking_brnuc.push(rows[i].number); |
1009 | - ranking_brnuc.push(rows[i].number); | 1014 | + else |
1010 | - else | 1015 | + ranking_brnuc.push(rows[i].number+" ("+name+")"); |
1011 | - ranking_brnuc.push(rows[i].number+" ("+name+")"); | 1016 | + callcount_brnuc.push(rows[i].callcount); |
1012 | - callcount_brnuc.push(rows[i].callcount); | 1017 | + } |
1013 | } | 1018 | } |
1014 | - } | 1019 | + else |
1015 | - else | 1020 | + cc.innerHTML='Error-#21'; |
1016 | - cc.innerHTML='Error-#9-2'; | 1021 | + }); |
1017 | - }); | 1022 | + |
1018 | - | 1023 | + connection.query('select name, number, smscount from calllog_user_between order by smscount desc', function(err, rows, fields){ |
1019 | - connection.query('select name, number, smscount from calllog_user_between order by smscount desc', function(err, rows, fields){ | 1024 | + if(!err){ |
1020 | - if(!err){ | 1025 | + ranking_brnus.length=0; |
1021 | - ranking_brnus.length=0; | 1026 | + smscount_brnus.length=0; |
1022 | - smscount_brnus.length=0; | 1027 | + |
1023 | - | 1028 | + for(var i=0;i<rows.length;i++){ |
1024 | - for(var i=0;i<rows.length;i++){ | 1029 | + var name=rows[i].name; |
1025 | - var name=rows[i].name; | 1030 | + if(!name) |
1026 | - if(!name) | 1031 | + ranking_brnus.push(rows[i].number); |
1027 | - ranking_brnus.push(rows[i].number); | 1032 | + else |
1028 | - else | 1033 | + ranking_brnus.push(rows[i].number+" ("+name+")"); |
1029 | - ranking_brnus.push(rows[i].number+" ("+name+")"); | 1034 | + smscount_brnus.push(rows[i].smscount); |
1030 | - smscount_brnus.push(rows[i].smscount); | 1035 | + } |
1031 | } | 1036 | } |
1032 | - } | 1037 | + else |
1033 | - else | 1038 | + cc.innerHTML='Error-#22'; |
1034 | - cc.innerHTML='Error-#9-3'; | 1039 | + }); |
1035 | - }); | 1040 | + |
1036 | - | 1041 | + connection.query('select name, number, durationsum from calllog_user_between order by durationsum desc', function(err, rows, fields){ |
1037 | - connection.query('select name, number, durationsum from calllog_user_between order by durationsum desc', function(err, rows, fields){ | 1042 | + if(!err){ |
1038 | - if(!err){ | 1043 | + ranking_brnud.length=0; |
1039 | - ranking_brnud.length=0; | 1044 | + durationsum_brnud.length=0; |
1040 | - durationsum_brnud.length=0; | 1045 | + |
1041 | - | 1046 | + for(var i=0;i<rows.length;i++){ |
1042 | - for(var i=0;i<rows.length;i++){ | 1047 | + var name=rows[i].name; |
1043 | - var name=rows[i].name; | 1048 | + if(!name) |
1044 | - if(!name) | 1049 | + ranking_brnud.push(rows[i].number); |
1045 | - ranking_brnud.push(rows[i].number); | 1050 | + else |
1046 | - else | 1051 | + ranking_brnud.push(rows[i].number+" ("+name+")"); |
1047 | - ranking_brnud.push(rows[i].number+" ("+name+")"); | 1052 | + durationsum_brnud.push(rows[i].durationsum); |
1048 | - durationsum_brnud.push(rows[i].durationsum); | 1053 | + } |
1049 | } | 1054 | } |
1055 | + else | ||
1056 | + cc.innerHTML='Error-#23'; | ||
1057 | + }); | ||
1050 | } | 1058 | } |
1051 | - else | 1059 | + }) |
1052 | - cc.innerHTML='Error-#9-4'; | ||
1053 | - }); | ||
1054 | - | ||
1055 | changeLabelText2(ranking_brnu, "누적 연락 수", logcount_brnu, "누적 통화 수", callcount_brnu, "누적 문자 수", smscount_brnu, ranking_brnuc, "누적 통화 수", callcount_brnuc, ranking_brnus, "누적 문자 수", smscount_brnus, ranking_brnud, "누적 통화 시간", durationsum_brnud, [],"특정 기간의 연락 순위"); | 1060 | changeLabelText2(ranking_brnu, "누적 연락 수", logcount_brnu, "누적 통화 수", callcount_brnu, "누적 문자 수", smscount_brnu, ranking_brnuc, "누적 통화 수", callcount_brnuc, ranking_brnus, "누적 문자 수", smscount_brnus, ranking_brnud, "누적 통화 시간", durationsum_brnud, [],"특정 기간의 연락 순위"); |
1056 | window.myChart.destroy(); | 1061 | window.myChart.destroy(); |
1057 | //connection.end(); | 1062 | //connection.end(); |
... | @@ -1080,11 +1085,11 @@ function get_date_timeline(){ | ... | @@ -1080,11 +1085,11 @@ function get_date_timeline(){ |
1080 | } | 1085 | } |
1081 | } | 1086 | } |
1082 | else | 1087 | else |
1083 | - cc.innerHTML='Error-#11-1'; | 1088 | + cc.innerHTML='Error-#25'; |
1084 | }); | 1089 | }); |
1085 | } | 1090 | } |
1086 | else | 1091 | else |
1087 | - cc.innerHTML='Error-#11'+err; | 1092 | + cc.innerHTML='Error-#24'+err; |
1088 | }); | 1093 | }); |
1089 | 1094 | ||
1090 | changeLabelText(timeline, "누적 연락 수", logcount_tb, "누적 통화 수", callcount_tb, "누적 문자 수", smscount_tb, "수", [], "수", [], "수",[] , "수",[], "수", [],"특정 기간의 선호 연락 시간대"); | 1095 | changeLabelText(timeline, "누적 연락 수", logcount_tb, "누적 통화 수", callcount_tb, "누적 문자 수", smscount_tb, "수", [], "수", [], "수",[] , "수",[], "수", [],"특정 기간의 선호 연락 시간대"); |
... | @@ -1120,11 +1125,11 @@ function get_number_timeline(){ | ... | @@ -1120,11 +1125,11 @@ function get_number_timeline(){ |
1120 | } | 1125 | } |
1121 | } | 1126 | } |
1122 | else | 1127 | else |
1123 | - cc.innerHTML='Error-#12-1'; | 1128 | + cc.innerHTML='Error-#27'; |
1124 | }); | 1129 | }); |
1125 | } | 1130 | } |
1126 | else | 1131 | else |
1127 | - cc.innerHTML='Error-#12'+err; | 1132 | + cc.innerHTML='Error-#26'+err; |
1128 | }); | 1133 | }); |
1129 | 1134 | ||
1130 | changeLabelText(timeline, "누적 연락 수", logcount_tw, "누적 통화 수", callcount_tw, "누적 문자 수", smscount_tw, "수", [], "수", [], "수",[] , "수",[], "수", [],"특정 연락처와의 선호 연락 시간대"); | 1135 | changeLabelText(timeline, "누적 연락 수", logcount_tw, "누적 통화 수", callcount_tw, "누적 문자 수", smscount_tw, "수", [], "수", [], "수",[] , "수",[], "수", [],"특정 연락처와의 선호 연락 시간대"); |
... | @@ -1562,49 +1567,52 @@ more7.addEventListener('click', function(){ | ... | @@ -1562,49 +1567,52 @@ more7.addEventListener('click', function(){ |
1562 | 1567 | ||
1563 | connection.query('drop table sms_response; create table sms_response (number text, got_date datetime, got_body text, send_date datetime, send_body text, time int); insert into sms_response SELECT sms1.address, sms1.date,sms1.body, sms2.date, sms2.body,timestampdiff(second, sms1.date, sms2.date) FROM sms sms1, sms sms2 where sms1.tid=sms2.tid and sms1.type=1 and sms2.type=2 and timestampdiff(second, sms1.date, sms2.date) >0 and timestampdiff(day,sms2.date, sms1.date)< 2; delete sms1 from sms_response sms1, sms_response sms2 where sms1.send_date=sms2.send_date and timestampdiff(second, sms2.got_date,sms1.got_date)<0; delete sms1 from sms_response sms1, sms_response sms2 where sms1.got_date=sms2.got_date and timestampdiff(second, sms2.send_date,sms1.send_date)>0;', function(err, rows, fields){ | 1568 | connection.query('drop table sms_response; create table sms_response (number text, got_date datetime, got_body text, send_date datetime, send_body text, time int); insert into sms_response SELECT sms1.address, sms1.date,sms1.body, sms2.date, sms2.body,timestampdiff(second, sms1.date, sms2.date) FROM sms sms1, sms sms2 where sms1.tid=sms2.tid and sms1.type=1 and sms2.type=2 and timestampdiff(second, sms1.date, sms2.date) >0 and timestampdiff(day,sms2.date, sms1.date)< 2; delete sms1 from sms_response sms1, sms_response sms2 where sms1.send_date=sms2.send_date and timestampdiff(second, sms2.got_date,sms1.got_date)<0; delete sms1 from sms_response sms1, sms_response sms2 where sms1.got_date=sms2.got_date and timestampdiff(second, sms2.send_date,sms1.send_date)>0;', function(err, rows, fields){ |
1564 | if(err) | 1569 | if(err) |
1565 | - cc.innerHTML='Error-#13'; | 1570 | + cc.innerHTML='Error-#27'; |
1566 | -}) | 1571 | + else{ |
1567 | - | 1572 | + connection.query('select avg(time) "avg" from sms_response;', function(err, rows, fields){ |
1568 | -connection.query('select avg(time) "avg" from sms_response;', function(err, rows, fields){ | 1573 | + if(!err){ |
1569 | - if(!err){ | 1574 | + var tttt=rows[0].avg; |
1570 | - var tttt=rows[0].avg; | 1575 | + var avg_temp=""; |
1571 | - var avg_temp=""; | 1576 | + if(tttt>=3600) |
1572 | - if(tttt>=3600) | 1577 | + avg_temp=Math.floor(tttt/3600)+"시간 "+Math.floor((tttt%3600)/60)+"분 "+Math.floor(tttt%60)+"초"; |
1573 | - avg_temp=Math.floor(tttt/3600)+"시간 "+Math.floor((tttt%3600)/60)+"분 "+Math.floor(tttt%60)+"초"; | 1578 | + else if(tttt>=60) |
1574 | - else if(tttt>=60) | 1579 | + avg_temp=Math.floor(tttt/60)+"분 "+Math.floor(tttt%60)+"초"; |
1575 | - avg_temp=Math.floor(tttt/60)+"분 "+Math.floor(tttt%60)+"초"; | 1580 | + else |
1576 | - else | 1581 | + avg_temp=tttt+"초"; |
1577 | - avg_temp=tttt+"초"; | 1582 | + values_list_res.push({get_body:"해당 기간의 평균 답장 시간", send_body:avg_temp}); |
1578 | - values_list_res.push({get_body:"해당 기간의 평균 답장 시간", send_body:avg_temp}); | 1583 | + } |
1579 | - } | ||
1580 | - else | ||
1581 | - cc.innerHTML='Error-#13-11'+err; | ||
1582 | -}); | ||
1583 | - | ||
1584 | -connection.query('select * from sms_response;', function(err, rows, fields){ | ||
1585 | - if(!err){ | ||
1586 | - for(var i=0;i<rows.length;i++){ | ||
1587 | - var number_temp=rows[i].number; | ||
1588 | - var get_body_temp=rows[i].got_body; | ||
1589 | - var get_date_temp=rows[i].got_date.toISOString().split("T")[0]+" "+rows[i].got_date.toISOString().split("T")[1].slice(0,8); | ||
1590 | - var send_body_temp=rows[i].send_body; | ||
1591 | - var send_date_temp=rows[i].send_date.toISOString().split("T")[0]+" "+rows[i].send_date.toISOString().split("T")[1].slice(0,8); | ||
1592 | - var tttt=rows[i].time; | ||
1593 | - var timediff_temp=""; | ||
1594 | - if(tttt>=3600) | ||
1595 | - timediff_temp=Math.floor(tttt/3600)+"시간 "+Math.floor((tttt%3600)/60)+"분 "+(tttt%60)+"초"; | ||
1596 | - else if(tttt>=60) | ||
1597 | - timediff_temp=Math.floor(tttt/60)+"분 "+(tttt%60)+"초"; | ||
1598 | else | 1584 | else |
1599 | - timediff_temp=tttt+"초"; | 1585 | + cc.innerHTML='Error-#28'+err; |
1600 | - | 1586 | + }); |
1601 | - values_list_res.push({number:number_temp, get_body:get_body_temp, get_date:get_date_temp, send_body:send_body_temp, send_date:send_date_temp, timediff:timediff_temp}); | 1587 | + |
1602 | - } | 1588 | + connection.query('select * from sms_response;', function(err, rows, fields){ |
1603 | - myList4 = new List('listspace4', options_list_res, values_list_res); | 1589 | + if(!err){ |
1590 | + for(var i=0;i<rows.length;i++){ | ||
1591 | + var number_temp=rows[i].number; | ||
1592 | + var get_body_temp=rows[i].got_body; | ||
1593 | + var get_date_temp=rows[i].got_date.toISOString().split("T")[0]+" "+rows[i].got_date.toISOString().split("T")[1].slice(0,8); | ||
1594 | + var send_body_temp=rows[i].send_body; | ||
1595 | + var send_date_temp=rows[i].send_date.toISOString().split("T")[0]+" "+rows[i].send_date.toISOString().split("T")[1].slice(0,8); | ||
1596 | + var tttt=rows[i].time; | ||
1597 | + var timediff_temp=""; | ||
1598 | + if(tttt>=3600) | ||
1599 | + timediff_temp=Math.floor(tttt/3600)+"시간 "+Math.floor((tttt%3600)/60)+"분 "+(tttt%60)+"초"; | ||
1600 | + else if(tttt>=60) | ||
1601 | + timediff_temp=Math.floor(tttt/60)+"분 "+(tttt%60)+"초"; | ||
1602 | + else | ||
1603 | + timediff_temp=tttt+"초"; | ||
1604 | + | ||
1605 | + values_list_res.push({number:number_temp, get_body:get_body_temp, get_date:get_date_temp, send_body:send_body_temp, send_date:send_date_temp, timediff:timediff_temp}); | ||
1606 | + } | ||
1607 | + myList4 = new List('listspace4', options_list_res, values_list_res); | ||
1608 | + } | ||
1609 | + else | ||
1610 | + cc.innerHTML='Error-#29'+err; | ||
1611 | + }); | ||
1604 | } | 1612 | } |
1605 | - else | 1613 | +}) |
1606 | - cc.innerHTML='Error-#13-1'+err; | 1614 | + |
1607 | -}); | 1615 | + |
1608 | 1616 | ||
1609 | 1617 | ||
1610 | function get_number_restime_push(){ | 1618 | function get_number_restime_push(){ |
... | @@ -1640,7 +1648,7 @@ function get_number_restime(){ | ... | @@ -1640,7 +1648,7 @@ function get_number_restime(){ |
1640 | values_list_res_with.push({get_body:"해당 기간의 평균 답장 시간", send_body:avg_temp}); | 1648 | values_list_res_with.push({get_body:"해당 기간의 평균 답장 시간", send_body:avg_temp}); |
1641 | } | 1649 | } |
1642 | else | 1650 | else |
1643 | - cc.innerHTML='Error-#13-21'+err; | 1651 | + cc.innerHTML='Error-#30'+err; |
1644 | }); | 1652 | }); |
1645 | 1653 | ||
1646 | connection.query('select * from sms_response where number in (?);',[restime_number], function(err, rows, fields){ | 1654 | connection.query('select * from sms_response where number in (?);',[restime_number], function(err, rows, fields){ |
... | @@ -1665,7 +1673,7 @@ function get_number_restime(){ | ... | @@ -1665,7 +1673,7 @@ function get_number_restime(){ |
1665 | myList5 = new List('listspace5', options_list_res, values_list_res_with); | 1673 | myList5 = new List('listspace5', options_list_res, values_list_res_with); |
1666 | } | 1674 | } |
1667 | else | 1675 | else |
1668 | - cc.innerHTML='Error-#13-2'+err; | 1676 | + cc.innerHTML='Error-#31'+err; |
1669 | }); | 1677 | }); |
1670 | //connection.end(); | 1678 | //connection.end(); |
1671 | } | 1679 | } | ... | ... |
-
Please register or login to post a comment