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){
if(err)
cc.innerHTML='Error-#1';
});
connection.query('select * from calllog_month order by date DESC limit 6;',function(err,rows,fields){
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){
if(!err){
for(vari=0;i<rows.length;i++){
logcount_6nu.push(rows[i].logcount);
callcount_6nu.push(rows[i].callcount);
smscount_6nu.push(rows[i].smscount);
durationsum_6nu.push(rows[i].durationsum);
}
}
else
cc.innerHTML='Error-#3';
});
connection.query('select * from calllog_month order by date;',function(err,rows,fields){
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){
if(!err){
for(vari=0;i<rows.length;i++){
logcount_nu.push(rows[i].logcount);
callcount_nu.push(rows[i].callcount);
smscount_nu.push(rows[i].smscount);
durationsum_nu.push(rows[i].durationsum);
}
}
else
cc.innerHTML='Error-#5';
});
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){
if(err)
cc.innerHTML='Error-#8';
})
connection.query('select name, number, callcount, smscount from calllog_user order by callcount+smscount desc',function(err,rows,fields){
connection.query('select name, number, callcount from calllog_user order by callcount desc',function(err,rows,fields){
if(!err){
for(vari=0;i<rows.length;i++){
varname=rows[i].name;
if(!name)
ranking_rnuc.push(rows[i].number);
else
ranking_rnuc.push(rows[i].number+" ("+name+")");
callcount_rnuc.push(rows[i].callcount);
}
}
else
cc.innerHTML='Error-#8-2';
});
connection.query('select name, number, smscount from calllog_user order by smscount desc',function(err,rows,fields){
if(!err){
for(vari=0;i<rows.length;i++){
varname=rows[i].name;
if(!name)
ranking_rnus.push(rows[i].number);
else
ranking_rnus.push(rows[i].number+" ("+name+")");
smscount_rnus.push(rows[i].smscount);
}
}
else
cc.innerHTML='Error-#8-3';
});
connection.query('select name, number, durationsum from calllog_user order by durationsum desc',function(err,rows,fields){
if(!err){
for(vari=0;i<rows.length;i++){
varname=rows[i].name;
if(!name)
ranking_rnud.push(rows[i].number);
else
ranking_rnud.push(rows[i].number+" ("+name+")");
durationsum_rnud.push(rows[i].durationsum);
}
}
else
cc.innerHTML='Error-#8-4';
});
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){
if(err)
cc.innerHTML='Error-#8';
})
connection.query('select * from calllog_hour order by hour;',function(err,rows,fields){
changeLabelText(month_6,"연락 수",logcount_6,"통화 수",callcount_6,"문자 수",smscount_6,"통화 시간",durationsum_6,"누적 연락 수",logcount_6nu,"누적 통화 수",callcount_6nu,"누적 문자 수",smscount_6nu,"누적 통화 시간",durationsum_6nu,"최근 6개월의 통계");
changeLabelText(month,"연락 수",logcount,"통화 수",callcount,"문자 수",smscount,"통화 시간",durationsum,"누적 연락 수",logcount_nu,"누적 통화 수",callcount_nu,"누적 문자 수",smscount_nu,"누적 통화 시간",durationsum_nu,"전체 기간의 통계");
changeLabelText(month_b,"연락 수",logcount_b,"통화 수",callcount_b,"문자 수",smscount_b,"통화 시간",durationsum_b,"누적 연락 수",logcount_bnu,"누적 통화 수",callcount_bnu,"누적 문자 수",smscount_bnu,"누적 통화 시간",durationsum_bnu,"특정 기간의 통계");
changeLabelText(month_w,"연락 수",logcount_w,"통화 수",callcount_w,"문자 수",smscount_w,"통화 시간",durationsum_w,"누적 연락 수",logcount_wnu,"누적 통화 수",callcount_wnu,"누적 문자 수",smscount_wnu,"누적 통화 시간",durationsum_wnu,"특정 연락처와의 통계");
changeLabelText2(ranking_rnu,"누적 연락 수",logcount_rnu,"누적 통화 수",callcount_rnu,"누적 문자 수",smscount_rnu,ranking_rnuc,"누적 통화 수",callcount_rnuc,ranking_rnus,"누적 문자 수",smscount_rnus,ranking_rnud,"누적 통화 시간",durationsum_rnud,[],"전체 기간의 연락 순위");
changeLabelText2(ranking_brnu,"누적 연락 수",logcount_brnu,"누적 통화 수",callcount_brnu,"누적 문자 수",smscount_brnu,ranking_brnuc,"누적 통화 수",callcount_brnuc,ranking_brnus,"누적 문자 수",smscount_brnus,ranking_brnud,"누적 통화 시간",durationsum_brnud,[],"특정 기간의 연락 순위");
connection.query('drop table IF EXISTS calllog_between; create table calllog_between(date datetime not null, logcount int, callcount int, smscount int, durationsum int, primary key(date)); insert into calllog_between(date, callcount, durationsum) (select date_format(date, "%Y-%m-02 00:00:00"), count(*), sum(duration) from calllog where type in (1,2,3) and date between ? and ? group by date_format(date, "%Y-%m-02 00:00:00")); update calllog_between cb left join (select date_format(date, "%Y-%m-02 00:00:00") "date", count(*) "count" from calllog where date between ? and ? group by date_format(date, "%Y-%m-02 00:00:00")) temp on cb.date=temp.date set cb.logcount=temp.count, cb.smscount=cb.logcount-cb.callcount;',[date_start,date_end,date_start,date_end],function(err,rows){
if(!err){
connection.query('select * from calllog_between order by date;',function(err,rows,fields){
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){
if(!err){
logcount_bnu.length=0;
callcount_bnu.length=0;
smscount_bnu.length=0;
durationsum_bnu.length=0;
for(vari=0;i<rows.length;i++){
logcount_bnu.push(rows[i].logcount);
callcount_bnu.push(rows[i].callcount);
smscount_bnu.push(rows[i].smscount);
durationsum_bnu.push(rows[i].durationsum);
}
}
else
cc.innerHTML='Error-#6-2';
});
}
else
cc.innerHTML='Error-#6'+err;
});
changeLabelText(month_b,"연락 수",logcount_b,"통화 수",callcount_b,"문자 수",smscount_b,"통화 시간",durationsum_b,"누적 연락 수",logcount_bnu,"누적 통화 수",callcount_bnu,"누적 문자 수",smscount_bnu,"누적 통화 시간",durationsum_bnu,"특정 기간의 통계");
connection.query('drop table IF EXISTS calllog_with; create table calllog_with(date datetime not null, logcount int, callcount int, smscount int, durationsum int, primary key(date)); insert into calllog_with(date, callcount, durationsum) (select date_format(date, "%Y-%m-02 00:00:00"), count(*), sum(duration) from calllog where type in (1,2,3) and number in (?) group by date_format(date, "%Y-%m-02 00:00:00")); update calllog_with cw left join (select date_format(date, "%Y-%m-02 00:00:00") "date", count(*) "count" from calllog where number in (?) group by date_format(date, "%Y-%m-02 00:00:00")) temp on cw.date=temp.date set cw.logcount=temp.count, cw.smscount=cw.logcount-cw.callcount;',[number,number],function(err,rows){
if(!err){
connection.query('select * from calllog_with order by date;',function(err,rows,fields){
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){
if(!err){
logcount_wnu.length=0;
callcount_wnu.length=0;
smscount_wnu.length=0;
durationsum_wnu.length=0;
for(vari=0;i<rows.length;i++){
logcount_wnu.push(rows[i].logcount);
callcount_wnu.push(rows[i].callcount);
smscount_wnu.push(rows[i].smscount);
durationsum_wnu.push(rows[i].durationsum);
}
}
else
cc.innerHTML='Error-#7-2';
});
}
else
cc.innerHTML='Error-#7'+err;
});
changeLabelText(month_w,"연락 수",logcount_w,"통화 수",callcount_w,"문자 수",smscount_w,"통화 시간",durationsum_w,"누적 연락 수",logcount_wnu,"누적 통화 수",callcount_wnu,"누적 문자 수",smscount_wnu,"누적 통화 시간",durationsum_wnu,"특정 연락처와의 통계");
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){
if(err)
cc.innerHTML='Error-#9';
})
connection.query('select name, number, callcount, smscount from calllog_user_between order by callcount+smscount desc',function(err,rows,fields){
connection.query('select name, number, callcount from calllog_user_between order by callcount desc',function(err,rows,fields){
if(!err){
ranking_brnuc.length=0;
callcount_brnuc.length=0;
for(vari=0;i<rows.length;i++){
varname=rows[i].name;
if(!name)
ranking_brnuc.push(rows[i].number);
else
ranking_brnuc.push(rows[i].number+" ("+name+")");
callcount_brnuc.push(rows[i].callcount);
}
}
else
cc.innerHTML='Error-#9-2';
});
connection.query('select name, number, smscount from calllog_user_between order by smscount desc',function(err,rows,fields){
if(!err){
ranking_brnus.length=0;
smscount_brnus.length=0;
for(vari=0;i<rows.length;i++){
varname=rows[i].name;
if(!name)
ranking_brnus.push(rows[i].number);
else
ranking_brnus.push(rows[i].number+" ("+name+")");
smscount_brnus.push(rows[i].smscount);
}
}
else
cc.innerHTML='Error-#9-3';
});
connection.query('select name, number, durationsum from calllog_user_between order by durationsum desc',function(err,rows,fields){
if(!err){
ranking_brnud.length=0;
durationsum_brnud.length=0;
for(vari=0;i<rows.length;i++){
varname=rows[i].name;
if(!name)
ranking_brnud.push(rows[i].number);
else
ranking_brnud.push(rows[i].number+" ("+name+")");
durationsum_brnud.push(rows[i].durationsum);
}
}
else
cc.innerHTML='Error-#9-4';
});
changeLabelText2(ranking_brnu,"누적 연락 수",logcount_brnu,"누적 통화 수",callcount_brnu,"누적 문자 수",smscount_brnu,ranking_brnuc,"누적 통화 수",callcount_brnuc,ranking_brnus,"누적 문자 수",smscount_brnus,ranking_brnud,"누적 통화 시간",durationsum_brnud,[],"특정 기간의 연락 순위");
connection.query('drop table if exists calllog_hour_between; create table calllog_hour_between(hour int not null, callcount int, smscount int, primary key(hour)); set @hour:=-1; insert into calllog_hour_between(hour, callcount) (select (@hour:=@hour+1) "hour", (select count(*) from calllog where type in (1,2,3) and date between ? and ? and hour(date)=@hour) "count" from calllog where @hour<23); update calllog_hour_between ch left join (select hour(date) "hour", count(*) "count" from calllog where type not in (1,2,3) and date between ? and ? group by hour(date)) calllog on ch.hour=calllog.hour set ch.smscount=ifnull(calllog.count,0);',[timeline_date_start,timeline_date_end,timeline_date_start,timeline_date_end],function(err,rows){
if(!err){
connection.query('select * from calllog_hour_between order by hour',function(err,rows){
connection.query('drop table if exists calllog_hour_with; create table calllog_hour_with(hour int not null, callcount int, smscount int, primary key(hour)); set @hour:=-1; insert into calllog_hour_with(hour, callcount) (select (@hour:=@hour+1) "hour", (select count(*) from calllog where type in (1,2,3) and number in (?) and hour(date)=@hour) "count" from calllog where @hour<23); update calllog_hour_with ch left join (select hour(date) "hour", count(*) "count" from calllog where type not in (1,2,3) and number in (?) group by hour(date)) calllog on ch.hour=calllog.hour set ch.smscount=ifnull(calllog.count,0);',[timeline_number,timeline_number],function(err,rows){
if(!err){
connection.query('select * from calllog_hour_with order by hour',function(err,rows){
connection.query('select calllog.type, calllog.number, calllog.name, calllog.date, calllog.duration, sms.body, sms.read_c from calllog left join sms on calllog.number=sms.address and timestampdiff(second,calllog.date, sms.date) between -5 and 0 where timestampdiff(month,now(),calllog.date)>-1;',function(err,rows){
connection.query('select calllog.type, calllog.number, calllog.name, calllog.date, calllog.duration, sms.body, sms.read_c from calllog left join sms on calllog.number=sms.address and timestampdiff(second,calllog.date, sms.date) between -5 and 0 ;',function(err,rows){
connection.query('select calllog.type, calllog.number, calllog.name, calllog.date, calllog.duration, sms.body, sms.read_c from calllog left join sms on calllog.number=sms.address and timestampdiff(second,calllog.date, sms.date) between -5 and 0 where calllog.date between ? and ?;',[list_date_start,list_date_end],function(err,rows){