Newer
Older
dxcgt / app / src / main / java / com / smartdot / cgt / activity / FrmAnalysis.java
wangxitong on 6 Apr 2021 6 KB first commit
package com.smartdot.cgt.activity;

import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.RelativeLayout;

import com.smartdot.cgt.R;
import com.smartdot.cgt.request.ApiClent;
import com.smartdot.cgt.util.BaseThread;
import com.smartdot.cgt.util.HandlerStatus;
import com.smartdot.cgt.util.Msg;
import com.smartdot.cgt.util.StringUtils;
import com.smartdot.cgt.view.TitleBar;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

/**
 * Created by W530 on 2019/10/23.
 */

public class FrmAnalysis extends BaseActivity{

    private RelativeLayout rl_source,rl_state,rl_question,rl_street,rl_handle,rl_trend;
    private EditText txtUpdateTime;
    private EditText txtEndTime;
    private BaseThread thread;
    private String requesturl;

    @Override
    protected void setLayout()
    {
        initActivity();

        setContentView(R.layout.problemanalysis);

        TitleBar titlebar = (TitleBar) this.findViewById(R.id.titlebar);

        titlebar.setTitleText("统计分析");

        rl_source = (RelativeLayout) findViewById(R.id.rl_source);
        rl_state = (RelativeLayout) findViewById(R.id.rl_state);
        rl_question = (RelativeLayout) findViewById(R.id.rl_question);
        rl_street = (RelativeLayout) findViewById(R.id.rl_street);
        rl_handle = (RelativeLayout) findViewById(R.id.rl_handle);
        rl_trend = (RelativeLayout) findViewById(R.id.rl_trend);
        txtUpdateTime = (EditText) findViewById(R.id.txtUpdateTime);
        txtEndTime = (EditText) findViewById(R.id.txtEndTime);

    }
    @Override
    protected void addEventListener() {
        rl_source.setOnClickListener(btnOnClick);
        rl_state.setOnClickListener(btnOnClick);
        rl_question.setOnClickListener(btnOnClick);
        rl_street.setOnClickListener(btnOnClick);
        rl_handle.setOnClickListener(btnOnClick);
        rl_trend.setOnClickListener(btnOnClick);
    }

    private View.OnClickListener btnOnClick = new View.OnClickListener()
    {
        @Override
        public void onClick(View v){
            switch (v.getId()) {
                case R.id.rl_source:
                    requesturl = "/departmentAssess/sourceList";
                    casequery("/departmentAssess/sourceList");
                    break;
                case R.id.rl_question:
                    requesturl = "/departmentAssess/highEventList";
                    casequery("/departmentAssess/highEventList");
                    break;
                default:
                    break;
            }
        }
    };

    public void casequery(final String url){
        final String starttime;
        final String endtime;
        if (StringUtils.isNullOrEmpty(txtUpdateTime.getText().toString())){
            starttime = "nostarttime";
        }else{
            starttime = txtUpdateTime.getText().toString();
        }
        if (StringUtils.isNullOrEmpty(txtEndTime.getText().toString())){
            endtime = "noendtime";
        }else{
            endtime = txtEndTime.getText().toString();
        }
        thread = new BaseThread(baseHandler)
        {
            @Override
            public void runThread()
            {
                final Message msg = thread.obtainMessage();
                if (msg != null)
                {
                    msg.what = HandlerStatus.REQUEST_LIST;
                    ApiClent.casequery(url,starttime,endtime, new ApiClent.ClientCallback() {
                        @Override
                        public void onSuccess(Object data)
                        {
                            try {
                                JSONObject jsonObject = new JSONObject(data.toString());
                                JSONArray jsonarr = jsonObject.getJSONArray("data");
                                msg.obj = jsonarr;
                                msg.arg1 = HandlerStatus.HANDLE_OK;
                            } catch (JSONException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                                Log.i("list_error", e.getMessage());
                                msg.arg1 = HandlerStatus.HANDLE_FAIL;
                            }
                        }
                        @Override
                        public void onFailure(String message) {
                            msg.arg1 = HandlerStatus.HANDLE_FAIL;
                        }
                        @Override
                        public void onError(Exception e) {
                            msg.arg1 = HandlerStatus.HANDLE_ERROR;
                        }
                    });
                    this.sendMessage(msg);
                }
            }
        };
        thread.start();
    }
    @Override
    protected void handleMessage(Message msg) {
        if(msg.what ==HandlerStatus.REQUEST_LIST){
            if (msg.arg1 == HandlerStatus.HANDLE_OK) {
                JSONArray jsonArray = (JSONArray) msg.obj;
                String jsonstr = jsonArray.toString();
                Intent intent = new Intent();
                intent.setClass(FrmAnalysis.this, FrmAnalysisDetail.class);
                Bundle bundle = new Bundle();
                bundle.putString("jsonstr", jsonstr);
                bundle.putString("begTime",txtUpdateTime.getText().toString());
                bundle.putString("endTime",txtEndTime.getText().toString());
                if(requesturl.equals("/departmentAssess/highEventList")){
                    bundle.putString("title","高发问题");
                }else if(requesturl.equals("/departmentAssess/sourceList")){
                    bundle.putString("title","问题来源");
                }
                intent.putExtras(bundle);
                startActivity(intent);
            }
            else if (msg.arg1 == HandlerStatus.HANDLE_FAIL) {
                Msg.showInfo(FrmAnalysis.this, "获取统计信息失败!");
            }
            else {
                Msg.showInfo(FrmAnalysis.this, "获取统计信息时出现错误!");
            }
            closeProgress();
        }
    }

    @Override
    protected void onCancelProgress(DialogInterface arg0) {
    }

}