package com.jiuqi.njt.widget;
import java.lang.reflect.UndeclaredThrowableException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import android.annotation.SuppressLint;
import android.app.Dialog;
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 android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
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.mobile.nigo.comeclose.manager.app.SelectNewsParam;
import com.jiuqi.mobile.nigo.comeclose.manager.app.SelectPoiKey;
import com.jiuqi.mobile.nigo.comeclose.manager.base.IKindsOfCarManager;
import com.jiuqi.mobile.nigo.comeclose.manager.base.SelectAllCarKey;
import com.jiuqi.mobile.nigo.comeclose.manager.master.SelectRepairsFileKey;
import com.jiuqi.mobile.nigo.comeclose.ws.client.ClientContext;
import com.jiuqi.njt.R;
import com.jiuqi.njt.data.Optdb_interfce;
import com.jiuqi.njt.data.OptsharepreInterface;
import com.jiuqi.njt.model.ModuleType;
import com.jiuqi.njt.son.MyState;
import com.jiuqi.njt.ui.AbstractNjtActivity01;
import com.jiuqi.njt.ui.PoiSearchResultActivity;
import com.jiuqi.njt.util.Constants;
import com.jiuqi.njt.util.TitleBarUtil;
import com.jiuqi.njt.util.UIUtil;
import com.jqyd.android.module.lbs.util.CheckState_interface;
/**
* 查询筛选功能
* 根据页面的ModuleType提供不同的筛选并将结果返回
* @author
*
*/
@SuppressLint("NewApi")
public class QueryContionActivity extends AbstractNjtActivity01 implements
OnClickListener {
private String tag = this.getClass().getName();
protected AdminAreaBean xzqh;
private ModuleType moduleType;
private Button address; // 地址
private TextView btnPrice; // 价格
private TextView btnMachineCategory; // 农机类别
private TextView btnCropCategory; // 作物类别
private TextView btnGoodsCategory; // 商品种类
private TextView btnDistance; // 距离范围
private TextView btnJiJudl; // 机具大类
private TextView btnJiJuxl; // 机具小类
private TextView btnJiJupm; // 机具品目
private TextView btnPxfs; // 排序方式
private TextView btnSsfw; // 搜素范围
private TextView btnClzt; // 处理状态
private TextView btnDalx;// 档案类型
private LinearLayout priceLayout,PriceLayoutNew; // 地址
private LinearLayout dalxLayout;
private LinearLayout clztLayout;
private LinearLayout pxfsLayout;
private LinearLayout ssfwLayout;
private View addressLayout;
private LinearLayout machineCategoryLayout;
private LinearLayout cropCategoryLayout;
private LinearLayout goodsCategoryLayout;
private LinearLayout jijudlLayout;
private LinearLayout jijuxlLayout;
private LinearLayout jijupmLayout;
private LinearLayout distanceLayout;
private EditText EtPriceNew;
private SelectNewsKey key = new SelectNewsKey(Constants.PAGE_SIZE);
private int infoType;
private long machineType; // 农机类别
private Integer cropType; // 作物类别
private Integer goodsType; // 商品类别
private int distanceType; // 距离类别
// 新添加的
private long jijuBigType;// 机具大类
private long jijuSmallType;// 机具小类
private long jijuKindsType;// 机具品目
private String[] strArrayJJdl;// 机具大类名字
private String[] strArrayJJxl;// 机具小类名字
private String[] strArrayJJpm;// 机具品目名字
private Optdb_interfce database;
private ArrayList<KindsOfCarBean> dlList1 = new ArrayList<KindsOfCarBean>(); // 农机大类
private ArrayList<KindsOfCarBean> xlList1 = new ArrayList<KindsOfCarBean>(); // 农机小类
private ArrayList<KindsOfCarBean> pmList1 = new ArrayList<KindsOfCarBean>(); // 农机品目
private GetCarTypeTaskNew getCarTypeTaskNew;
private List<String> dlStrList;
private List<String> xlStrList;
private List<String> pmStrList;
private KindsOfCarBean[] maps1;
private SelectAllCarKey keyBTYL;
// 新添加的
private int jiju ;
private Double minPrice = null;// 空值代表查全部
private Double maxPrice = null;// 空值代表查全部
private Long code = null; // 省市县CODE,空值代表查全部
private KindsOfCarBean[] MACHINE_TYPE_DictionaryBeans; // 农机类别
private DataDictionaryBean[] CROP_TYPE_dataDictionaryBeans; // 作物类别
private DataDictionaryBean[] goodsTypeDictionaryBeans; // 商品类别
private String[] strArrayGoodsType; // 农机类别名称
private String[] strArrayCrop; // 作物类别名称
private String[] strArrayMachine; // 商品类别名称
private String[] strArrayDistance; // 距离范围
private ClickType type; // 筛选条件标示
private int idxRange = 0; // 搜索范围下标
private int idxSortType = 0;// 排序方式下标
private String dealStatus = "-1"; // 处理状态 全部、已处理、未处理 -1、1、0
private String fileType = "2"; // 档案类型 报修档案、维修档案 1、2
private OptsharepreInterface sharePre;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
protected void doinit() {
// TODO Auto-generated method stub
initParam();
initWidgets();
initListeners();
initUI();
}
protected void initParam() {
// TODO Auto-generated method stub
sharePre = new OptsharepreInterface(QueryContionActivity.this);
Intent in = getIntent();
xzqh = (AdminAreaBean) in.getSerializableExtra(Constants.PARAM_XZQH);
moduleType = (ModuleType) in.getSerializableExtra("ModuleType");
}
protected void initWidgets() {
// TODO Auto-generated method stub
setContentView(R.layout.activity_query_contion);
ViewStub rlTitleBar = (ViewStub) findViewById(R.id.titleBarStub);
TitleBarUtil.createTitleBar(this, rlTitleBar, UIUtil.convertModuleTypeToString(moduleType) + "-筛选",
new OnClickListener() {
@Override
public void onClick(View v) {
QueryContionActivity.this.finish();
}
}, "确定", new OnClickListener() {
@SuppressLint("NewApi")
@Override
public void onClick(View v) {
//zyg确定按钮
sendData();
}
});
address = (Button) findViewById(R.id.address);
btnPrice = (TextView) findViewById(R.id.btnPrice);
EtPriceNew = (EditText) findViewById(R.id.etPriceNew);
btnMachineCategory = (TextView) findViewById(R.id.btnMachineCategory);
btnCropCategory = (TextView) findViewById(R.id.btnCropCategory);
btnGoodsCategory = (TextView) findViewById(R.id.btnGoodsCategory);
btnDistance = (TextView) findViewById(R.id.btnDistance);
btnJiJudl = (TextView) findViewById(R.id.jijudl);
btnJiJuxl = (TextView) findViewById(R.id.jijuxl);
btnJiJupm = (TextView) findViewById(R.id.jijupm);
btnPxfs = (TextView) findViewById(R.id.btnPxfs);
btnSsfw = (TextView) findViewById(R.id.btnSsfw);
btnDalx = (TextView) findViewById(R.id.btnDalx);
btnClzt = (TextView) findViewById(R.id.btnClzt);
addressLayout = findViewById(R.id.addressLayout);
priceLayout = (LinearLayout)findViewById(R.id.PriceLayout);
PriceLayoutNew = (LinearLayout) findViewById(R.id.PriceLayoutNew);
machineCategoryLayout = (LinearLayout)findViewById(R.id.MachineCategoryLayout);
cropCategoryLayout = (LinearLayout)findViewById(R.id.CropCategoryLayout);
goodsCategoryLayout =(LinearLayout) findViewById(R.id.GoodsCategoryLayout);
distanceLayout = (LinearLayout)findViewById(R.id.distanceLayout);
pxfsLayout = (LinearLayout)findViewById(R.id.pxfsLayout);
ssfwLayout = (LinearLayout)findViewById(R.id.ssfwLayout);
dalxLayout = (LinearLayout)findViewById(R.id.dalxLayout);
clztLayout = (LinearLayout)findViewById(R.id.clztLayout);
jijudlLayout = (LinearLayout)findViewById(R.id.jijudlLayout);
jijuxlLayout = (LinearLayout)findViewById(R.id.jijuxlLayout);
jijupmLayout = (LinearLayout)findViewById(R.id.jijupmLayout);
// 根据类型控制筛选条件显示和隐藏
switch (moduleType) {
case nyjnj:
initQuery();
goodsCategoryLayout.setVisibility(View.GONE);
cropCategoryLayout.setVisibility(View.VISIBLE);
machineCategoryLayout.setVisibility(View.VISIBLE);
break;
case npcnj:
initQuery();
goodsCategoryLayout.setVisibility(View.GONE);
cropCategoryLayout.setVisibility(View.VISIBLE);
machineCategoryLayout.setVisibility(View.VISIBLE);
break;
case jsxx://机收信息查询
initQuery();
PriceLayoutNew.setVisibility(View.VISIBLE);
machineCategoryLayout.setVisibility(View.GONE);
goodsCategoryLayout.setVisibility(View.GONE);
cropCategoryLayout.setVisibility(View.VISIBLE);
break;
case jgxx:
initQuery();
PriceLayoutNew.setVisibility(View.VISIBLE);
machineCategoryLayout.setVisibility(View.GONE);
goodsCategoryLayout.setVisibility(View.GONE);
cropCategoryLayout.setVisibility(View.VISIBLE);
break;
case jbxx:
initQuery();
PriceLayoutNew.setVisibility(View.VISIBLE);
machineCategoryLayout.setVisibility(View.GONE);
goodsCategoryLayout.setVisibility(View.GONE);
cropCategoryLayout.setVisibility(View.VISIBLE);
break;
case ssxx:
initQuery();
PriceLayoutNew.setVisibility(View.VISIBLE);
machineCategoryLayout.setVisibility(View.GONE);
goodsCategoryLayout.setVisibility(View.GONE);
cropCategoryLayout.setVisibility(View.VISIBLE);
break;
case jghtxxcx:
initQuery();
PriceLayoutNew.setVisibility(View.VISIBLE);
machineCategoryLayout.setVisibility(View.GONE);
goodsCategoryLayout.setVisibility(View.GONE);
cropCategoryLayout.setVisibility(View.VISIBLE);
break;
case khxxcx:
initQuery();
PriceLayoutNew.setVisibility(View.VISIBLE);
machineCategoryLayout.setVisibility(View.GONE);
goodsCategoryLayout.setVisibility(View.GONE);
cropCategoryLayout.setVisibility(View.VISIBLE);
break;
case zbxxcx://植保信息查询
initQuery();
PriceLayoutNew.setVisibility(View.VISIBLE);
machineCategoryLayout.setVisibility(View.GONE);
goodsCategoryLayout.setVisibility(View.GONE);
cropCategoryLayout.setVisibility(View.VISIBLE);
break;
case gyxx:
initQuery();
priceLayout.setVisibility(View.GONE);
cropCategoryLayout.setVisibility(View.GONE);
machineCategoryLayout.setVisibility(View.GONE);
goodsCategoryLayout.setVisibility(View.VISIBLE);
break;
case qxxx:
initQuery();
priceLayout.setVisibility(View.GONE);
cropCategoryLayout.setVisibility(View.GONE);
machineCategoryLayout.setVisibility(View.GONE);
goodsCategoryLayout.setVisibility(View.VISIBLE);
break;
case btyl:
initParamBTYL();
cropCategoryLayout.setVisibility(View.GONE);
priceLayout.setVisibility(View.GONE);
machineCategoryLayout.setVisibility(View.GONE);
goodsCategoryLayout.setVisibility(View.GONE);
distanceLayout.setVisibility(View.GONE);
jijudlLayout.setVisibility(View.VISIBLE);
jijuxlLayout.setVisibility(View.VISIBLE);
jijupmLayout.setVisibility(View.VISIBLE);
break;
case wxd:
// pxfsLayout.setVisibility(View.VISIBLE);
// ssfwLayout.setVisibility(View.VISIBLE);
break;
case wxgl:
addressLayout.setVisibility(View.GONE);
dalxLayout.setVisibility(View.VISIBLE);
clztLayout.setVisibility(View.VISIBLE);
break;
case jstg:
break;
case zlts:
break;
case syjd:
break;
case aqjl:
break;
case pxjg:
break;
case njjx:
break;
case wxjg:
break;
case njj:
break;
case jyz:
break;
case jxs:
break;
case hzs:
break;
default:
cropCategoryLayout.setVisibility(View.GONE);
priceLayout.setVisibility(View.GONE);
machineCategoryLayout.setVisibility(View.GONE);
goodsCategoryLayout.setVisibility(View.GONE);
distanceLayout.setVisibility(View.GONE);
jijudlLayout.setVisibility(View.GONE);
jijuxlLayout.setVisibility(View.GONE);
jijupmLayout.setVisibility(View.GONE);
break;
}
}
protected void sendData() {
// TODO Auto-generated method stub
// mark code name
// 10101 1 拟引进
// 10101 2 拟派出
// 10401 1 机播信息
// 10401 2 机收信息
// 10401 3 机耕信息
// 10301 1 供应信息
// 10301 2 求需信息
if (null != xzqh) {
code = xzqh.getCode();
if("全国".equals(xzqh.getFullName())){
code = null;
}
} else {
if (!TextUtils.isEmpty(application.getProvinceCode())) {
code = Long.parseLong(application.getProvinceCode());
}
}
switch (moduleType) {
case nyjnj:
infoType = 1;
key.setCarTaskNewsParams(infoType, machineType, cropType, minPrice,
maxPrice, code);
break;
case npcnj:
infoType = 2;
key.setCarTaskNewsParams(infoType, machineType, cropType, minPrice,
maxPrice, code);
break;
case jsxx://机收信息查询
infoType = 2;
// key.setWorkTaskNewsParams(infoType, cropType, 0.0, Double.parseDouble(EtPriceNew.getText().toString():null),
// code);
key.setWorkTaskNewsParamsNew(infoType, cropType, EtPriceNew.getText().toString().equals("")?0.0:(Double.parseDouble(EtPriceNew.getText().toString())),
code);
break;
case jgxx:
infoType = 3;
// key.setWorkTaskNewsParams(infoType, cropType, minPrice, maxPrice,
// code);
key.setWorkTaskNewsParamsNew(infoType, cropType, EtPriceNew.getText().toString().equals("")?0.0:(Double.parseDouble(EtPriceNew.getText().toString())),
code);
break;
case jbxx:
infoType = 1;
// key.setWorkTaskNewsParams(infoType, cropType, minPrice, maxPrice,
// code);
key.setWorkTaskNewsParamsNew(infoType, cropType, EtPriceNew.getText().toString().equals("")?0.0:(Double.parseDouble(EtPriceNew.getText().toString())),
code);
Log.e(tag, "省市县 "+code);
break;
case ssxx:
infoType = 4;
// key.setWorkTaskNewsParams(infoType, cropType, minPrice, maxPrice,
// code);
key.setWorkTaskNewsParamsNew(infoType, cropType, EtPriceNew.getText().toString().equals("")?0.0:(Double.parseDouble(EtPriceNew.getText().toString())),
code);
Log.e(tag, "省市县 "+code);
break;
case jghtxxcx:
infoType = 5;
// key.setWorkTaskNewsParams(infoType, cropType, minPrice, maxPrice,
// code);
key.setWorkTaskNewsParamsNew(infoType, cropType, EtPriceNew.getText().toString().equals("")?0.0:(Double.parseDouble(EtPriceNew.getText().toString())),
code);
Log.e(tag, "省市县 "+code);
break;
case khxxcx:
infoType = 6;
// key.setWorkTaskNewsParams(infoType, cropType, minPrice, maxPrice,
// code);
key.setWorkTaskNewsParamsNew(infoType, cropType, EtPriceNew.getText().toString().equals("")?0.0:(Double.parseDouble(EtPriceNew.getText().toString())),
code);
Log.e(tag, "省市县 "+code);
break;
case zbxxcx://植保信息查询
infoType = 7;
// key.setWorkTaskNewsParams(infoType, cropType, minPrice, maxPrice,
// code);
key.setWorkTaskNewsParamsNew(infoType, cropType, EtPriceNew.getText().toString().equals("")?0.0:(Double.parseDouble(EtPriceNew.getText().toString())),
code);
Log.e(tag, "省市县 "+code);
break;
case gyxx:
infoType = 1;
key.setSupplyAndDemandTaskNewsParams(infoType, goodsType, null,
code);
break;
case qxxx:
infoType = 2;
key.setSupplyAndDemandTaskNewsParams(infoType, goodsType, null,
code);
break;
case btyl:
if (jijuKindsType == 0) {
if (null != dlList1) {
long dlcode = dlList1.get(0).getCode();
long xlcode = xlList1.get(0).getCode();
long pmcode = pmList1.get(0).getCode();
if (pmcode == 0) {
if (xlcode == 0) {
pmcode = dlcode;
} else {
pmcode = xlcode;
}
} else {
jijuKindsType = pmcode;//410000000000 1020010000000000 1020060000000000
}
}
}
keyBTYL = new SelectAllCarKey();
if(null==code){
keyBTYL.setAreaCode(0);
}else{
//z
keyBTYL.setAreaCode(code);
}
keyBTYL.setCarCode(jijuKindsType);
keyBTYL.setStartIndex(0);
keyBTYL.setSize(Constants.PAGE_SIZE);
break;
case wxd:
SelectPoiKey key = new SelectPoiKey();
key.setSize(Constants.PAGE_SIZE);// 每页记录数
key.setLatitude(application.getLat());
key.setLongitude(application.getLon());
key.setRange_kilometer(Constants.poiRangeValues[idxRange]);
// key.setUserType(UIUtil.getUserTypes()[idxPoiType]);
// key.setRoleCodes(new int[] {
// UIUtil.getRoleCodes()[idxPoiType] });
key.setPoiSortType(PoiSearchResultActivity.poiSortTypeValues[idxSortType]);
key.setStartIndex(0);
Intent data = new Intent();
data.putExtra("SelectPoiKey", key);
data.putExtra(Constants.PARAM_XZQH, xzqh);
setResult(RESULT_OK, data);
finish();
return;
case wxgl:
SelectRepairsFileKey selectRepairsFileKey = new SelectRepairsFileKey();
selectRepairsFileKey.setSize(Constants.PAGE_SIZE);// 每页记录数
selectRepairsFileKey.setStartIndex(0);
selectRepairsFileKey.setRoleCode(Integer.parseInt(sharePre
.getPres("role")));
selectRepairsFileKey
.setSelfMobile(sharePre.getPres("mobileNumber"));
selectRepairsFileKey.setRepairManMobile(sharePre
.getPres("mobileNumber"));
selectRepairsFileKey.setRepairGuid(sharePre.getPres("guid"));
selectRepairsFileKey.setFileType(fileType);
selectRepairsFileKey.setDealStatus(dealStatus);
Intent data1 = new Intent();
data1.putExtra("SelectRepairsFileKey", selectRepairsFileKey);
data1.putExtra("dealStatus", dealStatus);
setResult(RESULT_OK, data1);
finish();
return;
default:
break;
}
// SelectNewsParam paramK = new SelectNewsParam("distance");
// paramK.setRange_kilometer((distanceType + 1) * 10);
// paramK.setLatitude(application.getLat());
// paramK.setLongitude(application.getLon());
// key.addParams(paramK);
Intent data = new Intent();
data.putExtra(Constants.PARAM_XZQH, xzqh);
if (moduleType == ModuleType.btyl) {
data.putExtra("key", keyBTYL);
} else {
data.putExtra("key", key);
}
setResult(RESULT_OK, data);
finish();
}
protected void initListeners() {
// TODO Auto-generated method stub
// address.setOnClickListener(this);
// btnPrice.setOnClickListener(this);
// cropCategoryLayout.setOnClickListener(this);
// btnMachineCategory.setOnClickListener(this);
// btnGoodsCategory.setOnClickListener(this);
// btnJiJudl.setOnClickListener(this);
// btnJiJuxl.setOnClickListener(this);
// btnJiJupm.setOnClickListener(this);
// btnDistance.setOnClickListener(this);
// btnPxfs.setOnClickListener(this);
// btnSsfw.setOnClickListener(this);
// btnDalx.setOnClickListener(this);
// btnClzt.setOnClickListener(this);
address.setOnClickListener(this);//android:hint="所在地"
priceLayout.setOnClickListener(this);//android:text="价格范围"
cropCategoryLayout.setOnClickListener(this);// android:text="作物类别"
machineCategoryLayout.setOnClickListener(this);//android:text="农机类别"
goodsCategoryLayout.setOnClickListener(this);//android:text="商品类别"
jijudlLayout.setOnClickListener(this);//android:text="机具大类"
jijuxlLayout.setOnClickListener(this);//android:text="机具小类"
jijupmLayout.setOnClickListener(this);//android:text="机具品目"
distanceLayout.setOnClickListener(this);//android:text="距离范围"
pxfsLayout.setOnClickListener(this);//android:text="排序方式"
ssfwLayout.setOnClickListener(this); //android:text="搜索范围"
dalxLayout.setOnClickListener(this);//android:text="档案类型"
clztLayout.setOnClickListener(this);//android:text="处理状态"
}
protected void initUI() {
// TODO Auto-generated method stub
if (null != xzqh && !TextUtils.isEmpty(xzqh.getFullName())) {
address.setText(xzqh.getFullName());
} else {
address.setText(application.getProvince());
}
}
@Override
protected void onQueryComplete(HashMap<Integer, DataDictionaryBean[]> result) {
// TODO Auto-generated method stub
CROP_TYPE_dataDictionaryBeans = result.get(CROP_TYPE_MARK);
goodsTypeDictionaryBeans = result.get(GOODS_TYPE_MARK);
MACHINE_TYPE_DictionaryBeans = MACHINE_TYPE_DictionaryNewBeans;
strArrayGoodsType = getNames(goodsTypeDictionaryBeans);
strArrayCrop = getNames(result.get(CROP_TYPE_MARK));
strArrayMachine = getNamesNew(MACHINE_TYPE_DictionaryBeans);
strArrayDistance = getNamesDistance();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == Constants.REQUEST_XZQH_CODE) {
if (resultCode == RESULT_OK) {
AdminAreaBean xzqh = (AdminAreaBean) data
.getSerializableExtra(Constants.PARAM_XZQH);
this.xzqh = xzqh;
if (null != xzqh && !TextUtils.isEmpty(xzqh.getFullName())) {
address.setText(xzqh.getFullName());
}
}
}
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case (R.id.address):
if (moduleType.equals(moduleType.zbjs)) {
UIUtil.requestXzqh(QueryContionActivity.this, null,3);
}else {
UIUtil.requestXzqh(QueryContionActivity.this, xzqh,5);
}
break;
case (R.id.PriceLayout):
doPopWindow(btnPrice, AbstractNjtActivity01.strArrayContent_Price,
"价格范围");
type = ClickType.价格范围;
break;
case (R.id.MachineCategoryLayout):
doPopWindow(btnMachineCategory, strArrayMachine, "农机类别");
type = ClickType.农机类别;
break;
case (R.id.CropCategoryLayout):
doPopWindow(btnCropCategory, strArrayCrop, "作物类型");
type = ClickType.作物类型;
break;
case (R.id.GoodsCategoryLayout):
doPopWindow(btnGoodsCategory, strArrayGoodsType, "商品类别");
type = ClickType.商品类别;
break;
case (R.id.distanceLayout):
doPopWindow(btnDistance, strArrayDistance, "距离范围");
type = ClickType.距离范围;
break;
case (R.id.jijudlLayout):
doPopWindow(btnJiJudl, strArrayJJdl, "机具大类");
type = ClickType.机具大类;
break;
case (R.id.jijuxlLayout):
doPopWindow(btnJiJuxl, strArrayJJxl, "机具小类");
type = ClickType.机具小类;
break;
case (R.id.jijupmLayout):
doPopWindow(btnJiJupm, strArrayJJpm, "机具品目");
type = ClickType.机具品目;
break;
case (R.id.pxfsLayout):
type = ClickType.排序方式;
doPopWindow(btnPxfs, Constants.strPoiSortType, "" + type);
break;
case (R.id.ssfwLayout):
type = ClickType.搜索范围;
doPopWindow(btnSsfw, Constants.strPoiRange, "" + type);
break;
case (R.id.dalxLayout):
type = ClickType.档案类型;
doPopWindow(btnDalx, Constants.strFileType, "" + type);
break;
case (R.id.clztLayout):
type = ClickType.处理状态;
doPopWindow(btnClzt, Constants.strDealStatus, "" + type);
break;
default:
break;
}
}
enum ClickType {
价格范围, 农机类别, 作物类型, 商品类别, 距离范围, 机具大类, 机具小类, 机具品目, 排序方式, 搜索范围, 档案类型, 处理状态
}
/**
* 弹出筛选条件
*
* @param items
* 筛选内容
* @param btnDistance2
* 返回筛选结果
* @param title
* 弹出框标题
*/
private void doPopWindow(final TextView btnDistance2, final String[] items,
String title) {
//在dialog中添加 ListView控件显示出items
DialogWithList.Builder dialog = null;
dialog = new DialogWithList.Builder(this);
dialog.setTitle(title);
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(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
btnDistance2.setText(items[which]);
switch (type) {
case 价格范围:
maxPrice = numArrayContent_price[which];
break;
case 农机类别:
machineType = MACHINE_TYPE_DictionaryBeans[which]
.getCode();
break;
case 作物类型:
cropType = CROP_TYPE_dataDictionaryBeans[which]
.getCode();
break;
case 商品类别:
goodsType = goodsTypeDictionaryBeans[which]
.getCode();
break;
case 距离范围:
distanceType = which;
break;
case 机具大类:
xlList1 = database.getSmallKindsOfCarBeanInfo(
MyState.CAR_SMALL_TYPE_MARK + "", dlList1
.get(which).getBigClassName());
if (xlList1.size() != 0) {
pmList1 = database
.getSmallKindsOfCarBeanPMInfo(
MyState.CAR_TYPE_MARK + "",
xlList1.get(0)
.getSmallClassName());
}
dlStrList = getNames(dlList1);// 获取大类的名字
xlStrList = getNames(xlList1);
pmStrList = getNames(pmList1);
GetSzFromList(dlStrList, xlStrList, pmStrList);
btnJiJudl.setText(dlStrList.get(which).toString());
System.out.println(xlStrList.size());
if(xlStrList!=null && xlStrList.size()>0)
{
btnJiJuxl.setText(xlStrList.get(0));
btnJiJupm.setText(pmStrList.get(0));
jijuBigType = dlList1.get(which).getCode();
jijuxlLayout.setVisibility(View.VISIBLE);
jijupmLayout.setVisibility(View.VISIBLE);
}else{
jijuxlLayout.setVisibility(View.GONE);
jijupmLayout.setVisibility(View.GONE);
jijuBigType = dlList1.get(which).getCode();
jijuKindsType=jijuBigType;
}
break;
case 机具小类:
pmList1 = database.getSmallKindsOfCarBeanPMInfo(MyState.CAR_TYPE_MARK + "",
xlList1.get(which).getSmallClassName());
pmStrList = getNames(pmList1);
GetSzFromList(dlStrList, xlStrList, pmStrList);
btnJiJuxl.setText(xlStrList.get(which).toString());
btnJiJupm.setText(pmStrList.get(0));
jijuSmallType = xlList1.get(which).getCode();
break;
case 机具品目:
btnJiJupm.setText(pmStrList.get(which).toString());
jijuKindsType = pmList1.get(which).getCode();
break;
case 排序方式:
idxSortType = which;
break;
case 搜索范围:
idxRange = which;
break;
case 处理状态:
dealStatus = which - 1 + "";// 处理状态 全部 -1、已处理1、未处理 0
break;
case 档案类型:
fileType = which + 1 + "";// 档案类型 报修档案、维修档案 1、2
break;
default:
break;
}
dialog.dismiss();
}
});
dialog.create().show();
}
// 补贴一览首数据获取
protected void initParamBTYL() {
application = (com.jiuqi.njt.data.MyApp) getApplication();
database = new Optdb_interfce(QueryContionActivity.this);
database.createNJTable(); // 创建数据库表(表存在时不执行)
dlList1 = database
.getKindsOfCarBeanInfo(MyState.CAR_BIG_TYPE_MARK + ""); // 从数据库中查询数据如果有数据则不再从网络端获取
if (dlList1.size() != 0) {
xlList1 = database.getSmallKindsOfCarBeanInfo(
MyState.CAR_SMALL_TYPE_MARK + "", dlList1.get(0)
.getBigClassName());
if (xlList1.size() != 0) {
pmList1 = database.getSmallKindsOfCarBeanPMInfo(
MyState.CAR_TYPE_MARK + "", xlList1.get(0)
.getSmallClassName());
}
initUIBTYL();
} else {
if (new CheckState_interface(QueryContionActivity.this)
.checkConnection()) {
getCarTypeTaskNew = new GetCarTypeTaskNew();
getCarTypeTaskNew.execute();
} else {
UIUtil.showMsg(QueryContionActivity.this,
Constants.NETWORK_STATE_ERROR);
}
}
}
public class GetCarTypeTaskNew extends AsyncTask<Void, Void, String> {// 如果数据库没有则从网上获取,需要
Dialog pd = null;
protected void onPreExecute() {
pd = ProgressDialogStyle.createLoadingDialog(
QueryContionActivity.this, "正在加载数据,请稍候...");
pd.show();
}
protected String doInBackground(Void... params) {
String msg = "";
ClientContext context = application.getClientContext();
try {
if (null == context) {
context = ClientContext.getClientContext(
Constants.SERVER_URL, Constants.ANONYMOUS,
Constants.ANONYMOUS);
application.setClientContext(context);
}
IKindsOfCarManager ddm = context
.getManager(IKindsOfCarManager.class);
maps1 = ddm.getChildren(0L);
getKindsOfCarBean(maps1, ddm);
} catch (Exception e) {
pd.dismiss();
if (e instanceof UndeclaredThrowableException) {
msg = e.getCause().getMessage();
e.printStackTrace();
} else {
msg = "失败";
e.printStackTrace();
}
}
return msg;
}
protected void onPostExecute(String result) {
if (!"".equals(result)) {
UIUtil.showMsg(QueryContionActivity.this, result);
} else {
// initUIBTYL();
}
pd.dismiss();
}
}
public void getKindsOfCarBean(KindsOfCarBean[] mapsNJ_Dl,
IKindsOfCarManager ddm) {
dlList1 = new ArrayList<KindsOfCarBean>();
xlList1 = new ArrayList<KindsOfCarBean>();
pmList1 = new ArrayList<KindsOfCarBean>();
try {
for (int j = 0; j < mapsNJ_Dl.length; j++) {
dlList1.add(mapsNJ_Dl[j]);
KindsOfCarBean[] mapsNJ_XL = ddm.getChildren(mapsNJ_Dl[j]
.getCode());
for (int i = 0; i < mapsNJ_XL.length; i++) {
if (null != mapsNJ_XL[i]) {
xlList1.add(mapsNJ_XL[i]);
KindsOfCarBean[] mapsNJ_PM = ddm
.getChildren(mapsNJ_XL[i].getCode());
for (int k = 0; k < mapsNJ_PM.length; k++) {
if (null != mapsNJ_PM[k]) {
pmList1.add(mapsNJ_PM[k]);
}
}
}
}
}
database.InsertToDb(Optdb_interfce.TABLE_NJLEIBIE, dlList1);
database.InsertToDb(Optdb_interfce.TABLE_NJLEIBIE, xlList1);
database.InsertToDb(Optdb_interfce.TABLE_NJLEIBIE, pmList1);
if (dlList1.size() != 0) {
xlList1 = database.getSmallKindsOfCarBeanInfo(
MyState.CAR_SMALL_TYPE_MARK + "", dlList1.get(0)
.getBigClassName());
if (xlList1.size() != 0) {
pmList1 = database.getSmallKindsOfCarBeanPMInfo(
MyState.CAR_TYPE_MARK + "", xlList1.get(0)
.getSmallClassName());
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@SuppressLint("NewApi")
protected void initUIBTYL() {
dlStrList = getNames(dlList1);// 获取大类的名字
xlStrList = getNames(xlList1);
pmStrList = getNames(pmList1);
btnJiJudl.setText(dlStrList.get(0));
btnJiJuxl.setText(xlStrList.get(0));
btnJiJupm.setText(pmStrList.get(0));
GetSzFromList(dlStrList, xlStrList, pmStrList);
}
private ArrayList<String> getNames(List<KindsOfCarBean> dlList12) {
// TODO Auto-generated method stub
ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < dlList12.size(); i++) {
list.add(dlList12.get(i).getName());
}
return list;
}
private void GetSzFromList(List<String> dlStrList, List<String> xlStrList,
List<String> pmStrList) {
strArrayJJdl = new String[dlStrList.size()];
dlStrList.toArray(strArrayJJdl);
strArrayJJxl = new String[xlStrList.size()];
xlStrList.toArray(strArrayJJxl);
strArrayJJpm = new String[pmStrList.size()];
pmStrList.toArray(strArrayJJpm);
}
}