package com.yeetou.xinyongkaguanjia.ui;
/**
* 功能:收支分析页面
*/
import java.util.List;
import com.yeetou.xinyongkaguanjia.R;
import com.yeetou.xinyongkaguanjia.adapter.ExpandableAdapter_CActivity;
import com.yeetou.xinyongkaguanjia.db.service.DbStreamService;
import com.yeetou.xinyongkaguanjia.info.MonthPayments;
import com.yeetou.xinyongkaguanjia.info.YearMonthPayments;
import com.yeetou.xinyongkaguanjia.util.NumberFormateUtil;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ExpandableListView;
import android.widget.LinearLayout;
import android.widget.TextView;
public class CActivity extends AbstractActivity {
/*
* 头部
*/
private LinearLayout LinearLayout_Ab_Left_Indicator; // 用于返回
private TextView TextView_Ab_Title; // 设置标题 “信用卡详情”OR“储蓄卡详情”
private DbStreamService dbss;
private List<YearMonthPayments> yearMonthPayments;
private ExpandableAdapter_CActivity adapter;
private TextView c_expend_text1;
private TextView c_expend_text2;
private TextView c_income_text1;
private TextView c_income_text2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_c);
init();
initHead("收支分析");
}
public void init(){
dbss = new DbStreamService(this);
yearMonthPayments = dbss.getMonthPayments();
c_expend_text1 = (TextView) findViewById(R.id.c_expend_text1);
c_expend_text2 = (TextView) findViewById(R.id.c_expend_text2);
c_income_text1 = (TextView) findViewById(R.id.c_income_text1);
c_income_text2 = (TextView) findViewById(R.id.c_income_text2);
if(yearMonthPayments!=null&&yearMonthPayments.size()!=0){
adapter = new ExpandableAdapter_CActivity(this, yearMonthPayments);
ExpandableListView expandableListView = (ExpandableListView) findViewById(R.id.c_list);
expandableListView.setAdapter(adapter);
expandableListView.expandGroup(0);//设置第一组张开
expandableListView.setGroupIndicator(null);//除去自带的箭头
int size = 0;
float expend = 0;
float income = 0;
for(YearMonthPayments y:yearMonthPayments){
size+=y.getMonthPayments().size();
for(MonthPayments m:y.getMonthPayments()){
expend += m.getExpand();
income += m.getIncome();
}
}
if(size!=0){
expend = expend/size;
income = income/size;
}
double expendper = 0;
double incomeper = 0;
if(expend<500){
expendper= expend/500*0.04;
}else if(expend>21000){
expendper = 0.9999;
}else{
expendper = Math.log(expend);
expendper=(Math.log(expendper)-1.82)*2+0.04;
}
if(income<100){
incomeper = 0.00;
}else if(100<=income&&income<=4000){
incomeper=(income-100)/3900*0.5;
}else if(4000<=income&&income<=10000){
incomeper=(income-4000)/6000*0.3+0.5;
}else if(10000<income&&income<=50000){
incomeper=(income-10000)/40000*0.15+0.8;
}else if(1000000>=income&&income>50000){
incomeper=(Math.log(income)-10.816)/3*0.05+0.95;
}else{
incomeper=0.9999;
}
c_expend_text1.setText(NumberFormateUtil.Fromate2ex(expend));
c_income_text1.setText(NumberFormateUtil.Fromate2ex(income));
c_expend_text2.setText(NumberFormateUtil.Fromate4(expendper));
c_income_text2.setText(NumberFormateUtil.Fromate4(incomeper));
}else{
c_expend_text1.setText("¥0.00");
c_income_text1.setText("¥0.00");
c_expend_text2.setText("0%");
c_income_text2.setText("0%");
}
}
private void initHead(String title) {
LinearLayout_Ab_Left_Indicator = (LinearLayout) this.findViewById(R.id.LinearLayout_Ab_Left_Indicator);
TextView_Ab_Title = (TextView) this.findViewById(R.id.TextView_Ab_Title);
TextView_Ab_Title.setText(title);
this.findViewById(R.id.ImageView_Ab_Left_Indicator).setVisibility(View.INVISIBLE);
}
}