/**============================================================
* 版权: 久其软件 版权所有 (c)
* 包: com.jiuqi.njt.ui
* 修改记录:
* 日期 作者 内容
* =============================================================
* 2013-6-28 liyue
* ============================================================*/
package com.jiuqi.njt.ui;
import java.util.HashMap;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewStub;
import android.widget.Button;
import com.jqyd.android.module.lbs.util.CheckState_interface;
import com.jiuqi.mobile.nigo.comeclose.bean.base.AdminAreaBean;
import com.jiuqi.mobile.nigo.comeclose.bean.base.DataDictionaryBean;
import com.jiuqi.mobile.nigo.comeclose.bean.base.KindsOfCarBean;
import com.jiuqi.mobile.nigo.comeclose.manager.app.SelectNewsKey;
import com.jiuqi.njt.R;
import com.jiuqi.njt.model.CModuleBean;
import com.jiuqi.njt.model.ModuleType;
import com.jiuqi.njt.util.Constants;
import com.jiuqi.njt.util.TitleBarUtil;
import com.jiuqi.njt.util.UIUtil;
import com.jiuqi.njt.widget.DialogWithList;
/**
* <p>
* 农机信息查询
* </p>
*
* <p>
* Copyright: 版权所有 (c)<br>
* Company: 久其
* </p>
*
* @author liyue
* @version 2013-6-28
*/
public class QueryMachinesActivity extends AbstractNjtActivity01 implements
OnClickListener {
private Button btnInfoCategory;
private Button btnMachineCategory;
private Button btnCropCategory;
private Button btnPrice;
private Button btnProvince;
// private EditText etXianShi;
private Button btnQuery;
private DataDictionaryBean[] MACHINE_INFO_TYPE_DictionaryBeans;
//private DataDictionaryBean[] MACHINE_TYPE_DictionaryBeans;
private KindsOfCarBean[] MACHINE_TYPE_DictionaryNewBeans1;
private DataDictionaryBean[] CROP_TYPE_dataDictionaryBeans;
private CModuleBean moduleBean;
@Override
protected void onCreate(Bundle savedInstanceState) {
isPostinfo = false;
super.onCreate(savedInstanceState);
}
@Override
protected void onQueryComplete(HashMap<Integer, DataDictionaryBean[]> result) {
Log.v(Constants.TAG, "JobsQueryActivity onQueryComplete()");
if(null!=xzqh){
btnProvince.setText(xzqh.getFullName());
}
MACHINE_INFO_TYPE_DictionaryBeans = result.get(MACHINE_INFO_TYPE_MARK);
// MACHINE_TYPE_DictionaryBeans = result.get(MACHINE_TYPE_MARK);
CROP_TYPE_dataDictionaryBeans = result.get(CROP_TYPE_MARK);
MACHINE_TYPE_DictionaryNewBeans1 = MACHINE_TYPE_DictionaryNewBeans;
final String[] strArrayContentA = getNames(result
.get(MACHINE_INFO_TYPE_MARK));
final String[] strArrayContentB = getNames(result.get(CROP_TYPE_MARK));
// final String[] strArrayContentC = getNames(result
// .get(MACHINE_TYPE_MARK));
final String[] strArrayContentC = getNamesNew(MACHINE_TYPE_DictionaryNewBeans1);
if(null!=moduleBean&&moduleBean.getModuleFlag()!=ModuleType.njcx){
btnInfoCategory.setText(moduleBean.getModuleFlag().toString().replace("农机", ""));
}else{
if (strArrayContentA.length > 0) {
btnInfoCategory.setText(strArrayContentA[0]);
}
btnInfoCategory.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
DialogWithList.Builder dialog = new DialogWithList.Builder(QueryMachinesActivity.this);
dialog.setTitle("信息类别");
dialog.setPositiveButton(Constants.CANCEL_TEXT, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
dialog.setItems(strArrayContentA, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
btnInfoCategory.setText(strArrayContentA[which]);
dialog.dismiss();
}
});
dialog.create().show();
}
});
}
if (strArrayContentB.length > 0) {
btnCropCategory.setText(strArrayContentB[0]);
}
btnCropCategory.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
DialogWithList.Builder dialog = new DialogWithList.Builder(QueryMachinesActivity.this);
dialog.setTitle("作物种类");
dialog.setPositiveButton(Constants.CANCEL_TEXT, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
dialog.setItems(strArrayContentB, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
btnCropCategory.setText(strArrayContentB[which]);
dialog.dismiss();
}
});
dialog.create().show();
}
});
if (strArrayContentC.length > 0) {
btnMachineCategory.setText(strArrayContentC[0]);
}
btnMachineCategory.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
DialogWithList.Builder dialog = new DialogWithList.Builder(QueryMachinesActivity.this);
dialog.setTitle("农机类别");
dialog.setPositiveButton(Constants.CANCEL_TEXT, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
dialog.setItems(strArrayContentC, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
btnMachineCategory.setText(strArrayContentC[which]);
dialog.dismiss();
}
});
dialog.create().show();
}
});
}
@Override
protected void initParam() {
// TODO Auto-generated method stub
moduleBean = (CModuleBean) getIntent().getSerializableExtra(Constants.PARAM_MODULEBEAN);
}
protected void initWidgets() {
setContentView(R.layout.query_machines_activity);
ViewStub rlTitleBar = (ViewStub) findViewById(R.id.titleBarStub);
String title = "";
if(null!=moduleBean){
title =UIUtil.convertModuleTypeToString(moduleBean.getModuleFlag());
}else{
title = "农机信息查询";
}
TitleBarUtil.createTitleBar(this, rlTitleBar, title,
new OnClickListener() {
@Override
public void onClick(View v) {
QueryMachinesActivity.this.finish();
}
});
btnInfoCategory = (Button) findViewById(R.id.btnInfoCategory);
btnMachineCategory = (Button) findViewById(R.id.btnMachineCategory);
btnCropCategory = (Button) findViewById(R.id.btnCropCategory);
btnPrice = (Button) findViewById(R.id.btnPrice);
btnProvince = (Button) findViewById(R.id.btnProvince);
btnQuery = (Button) findViewById(R.id.btnQuery);
}
protected void initListeners() {
btnPrice.setOnClickListener(this);
btnProvince.setOnClickListener(this);
btnQuery.setOnClickListener(this);
}
protected void initUI() {
if(!TextUtils.isEmpty(application.getProvince())){
btnProvince.setText(application.getProvince());
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnPrice:
// UIUtil.showMsg(this, "R.id.btnPrice");
doPopPrice();
break;
case R.id.btnProvince:
UIUtil.requestXzqh(this,xzqh);
break;
case R.id.btnQuery:
if(UIUtil.isFastDoubleClick()){
return;
}
if (doValidate()) {
if(new CheckState_interface(QueryMachinesActivity.this).checkConnection()){
new SubmitQueryAsyncTask().execute();
}else{
UIUtil.showMsg(QueryMachinesActivity.this, Constants.NETWORK_STATE_ERROR);
}
}
break;
default:
break;
}
}
private void doPopPrice() {
DialogWithList.Builder dialog = new DialogWithList.Builder(this);
dialog.setTitle("价格范围");
dialog.setPositiveButton(Constants.CANCEL_TEXT, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
dialog.setItems(strArrayContent_Price, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
btnPrice.setText(strArrayContent_Price[which]);
dialog.dismiss();
}
});
dialog.create().show();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
if(requestCode == Constants.REQUEST_XZQH_CODE){
if(resultCode == RESULT_OK){
AdminAreaBean xzqh = (AdminAreaBean)data.getSerializableExtra(Constants.PARAM_XZQH);
Log.v(Constants.TAG, xzqh.toString());
this.xzqh = xzqh;
if(null!=xzqh){
btnProvince.setText(null==xzqh.getFullName()?"":xzqh.getFullName());
}
}
}
}
private boolean doValidate() {
// 条件都可以为空,代表查询全部内容;
return true;
}
/**
* 提交信息,访问网络时必须变成异步任务才可以提交,2.3规则。
*/
private class SubmitQueryAsyncTask extends
AsyncTask<Void, Void, SelectNewsKey> {
@Override
protected SelectNewsKey doInBackground(Void... params) {
CharSequence btnInfoCategoryText = btnInfoCategory.getText();
CharSequence btnCropCategoryText = btnCropCategory.getText();
CharSequence btnMachineCategoryText = btnMachineCategory.getText();
CharSequence etPriceText = btnPrice.getText();
// CharSequence btnProvinceText = btnProvince.getText();
Double minPrice = null;//空值代表查全部
Double maxPrice = null;
int infoType = 0;
int cropType = 0;
long machineType = 0;
// 信息类别
if (null != MACHINE_INFO_TYPE_DictionaryBeans
&& MACHINE_INFO_TYPE_DictionaryBeans.length > 0) {
for (DataDictionaryBean i : MACHINE_INFO_TYPE_DictionaryBeans) {
if (i.getMark() == MACHINE_INFO_TYPE_MARK
&& i.getName().equalsIgnoreCase(
btnInfoCategoryText.toString())) {
infoType = i.getCode();
break;
}
}
}
// 农机类别
// if (null != MACHINE_TYPE_DictionaryBeans
// && MACHINE_TYPE_DictionaryBeans.length > 0) {
// for (DataDictionaryBean i : MACHINE_TYPE_DictionaryBeans) {
// if (i.getMark() == MACHINE_TYPE_MARK
// && i.getName().equalsIgnoreCase(
// btnMachineCategoryText.toString())) {
// machineType = i.getCode();
// break;
// }
// }
// }
if (null != MACHINE_TYPE_DictionaryNewBeans
&& MACHINE_TYPE_DictionaryNewBeans.length > 0) {
for (KindsOfCarBean i : MACHINE_TYPE_DictionaryNewBeans) {
if (i.getName().equalsIgnoreCase(
btnMachineCategoryText.toString())) {
machineType = i.getCode();
break;
}
}
}
// 作物种类
if (null != CROP_TYPE_dataDictionaryBeans
&& CROP_TYPE_dataDictionaryBeans.length > 0) {
for (DataDictionaryBean i : CROP_TYPE_dataDictionaryBeans) {
if (i.getMark() == CROP_TYPE_MARK
&& i.getName().equalsIgnoreCase(
btnCropCategoryText.toString())) {
cropType = i.getCode();
break;
}
}
}
// 获得选择的价格范围
for (int i = 0; i < strArrayContent_Price.length; i++) {
if (strArrayContent_Price[i].equals(etPriceText.toString())) {
maxPrice = numArrayContent_price[i];
break;
}
}
SelectNewsKey key = new SelectNewsKey(Constants.PAGE_SIZE);
Long code = null;
if(null != xzqh){
code = xzqh.getCode();
}else{
if(!TextUtils.isEmpty(application.getProvinceCode())){
code = Long.parseLong(application.getProvinceCode());
}
}
key.setCarTaskNewsParams(infoType, machineType, cropType, minPrice,
maxPrice, code);
return key;
}
@Override
protected void onPostExecute(SelectNewsKey key) {
Intent intent = new Intent(QueryMachinesActivity.this,
SearchResultActivity.class);
intent.putExtra("key", key);
intent.putExtra("flag", "machine");
startActivity(intent);
}
}
}