/**============================================================
* 版权: 久其软件 版权所有 (c)
* 包: com.jiuqi.njt.ui
* 修改记录:
* 日期 作者 内容
* =============================================================
* 2013-6-28 liyue
* ============================================================*/
package com.jiuqi.njt.ui;
import java.util.HashMap;
import android.content.Context;
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.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 QueryJobsActivity extends AbstractNjtActivity01 implements
OnClickListener {
private Context context = this;
private String TAG = this.getClass().getName();
private Button btnInfoCategory;
private Button btnCropCategory;
private Button btnPrice;
private Button btnProvince;
// private EditText etXianShi;
private Button btnQuery;
private String[] strArrayContent_JOB_INFO_TYPE;
private String[] strArrayContent_CROP_TYPE;
private int idx_JOB_INFO_TYPE = -1;
private int idx_CROP_TYPE = -1;
private int idx_Price = -1;
private DataDictionaryBean[] JOB_INFO_TYPE_dataDictionaryBeans;
private DataDictionaryBean[] CROP_TYPE_dataDictionaryBeans;
private CModuleBean moduleBean;
@Override
protected void onCreate(Bundle savedInstanceState) {
// Log.v(Constants.TAG, "JobsQueryActivity onCreate()");
isPostinfo = false;
super.onCreate(savedInstanceState);
}
@Override
protected void onQueryComplete(HashMap<Integer, DataDictionaryBean[]> result) {
// Log.v(Constants.TAG, "JobsQueryActivity onQueryComplete()");
strArrayContent_JOB_INFO_TYPE = getNames(result.get(JOB_INFO_TYPE_MARK));
strArrayContent_CROP_TYPE = getNames(result.get(CROP_TYPE_MARK));
JOB_INFO_TYPE_dataDictionaryBeans = result.get(JOB_INFO_TYPE_MARK);
CROP_TYPE_dataDictionaryBeans = result.get(CROP_TYPE_MARK);
if (null != xzqh) {
btnProvince.setText(xzqh.getFullName());
}
if (null != moduleBean && moduleBean.getModuleFlag() != ModuleType.zycx) {
btnInfoCategory.setText(moduleBean.getModuleFlag().toString());
} else {
if (strArrayContent_JOB_INFO_TYPE.length > 0) {
btnInfoCategory.setText(strArrayContent_JOB_INFO_TYPE[0]);
}
btnInfoCategory.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
DialogWithList.Builder dialog = new DialogWithList.Builder(
QueryJobsActivity.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_JOB_INFO_TYPE,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
// TODO Auto-generated method stub
btnInfoCategory
.setText(strArrayContent_JOB_INFO_TYPE[which]);
dialog.dismiss();
}
});
dialog.create().show();
}
});
}
if (strArrayContent_CROP_TYPE.length > 0) {
btnCropCategory.setText(strArrayContent_CROP_TYPE[0]);
}
btnCropCategory.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
DialogWithList.Builder dialog = new DialogWithList.Builder(
QueryJobsActivity.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_CROP_TYPE,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
// TODO Auto-generated method stub
btnCropCategory
.setText(strArrayContent_CROP_TYPE[which]);
dialog.dismiss();
}
});
dialog.create().show();
}
});
}
@Override
protected void doinit() {
// Log.v(Constants.TAG, "JobsQueryActivity doinit()");
super.doinit();
}
@Override
protected void initParam() {
moduleBean = (CModuleBean) getIntent().getSerializableExtra(
Constants.PARAM_MODULEBEAN);
}
@Override
protected void initWidgets() {
// Log.v(Constants.TAG, "JobsQueryActivity initWidgets()");
setContentView(R.layout.query_jobs_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) {
QueryJobsActivity.this.finish();
}
});
btnInfoCategory = (Button) findViewById(R.id.btnInfoCategory);
btnCropCategory = (Button) findViewById(R.id.btnCropCategory);
btnPrice = (Button) findViewById(R.id.btnPrice);
btnProvince = (Button) findViewById(R.id.btnProvince);
btnQuery = (Button) findViewById(R.id.btnQuery);
}
@Override
protected void initListeners() {
// Log.v(Constants.TAG, "JobsQueryActivity initListeners()");
// btnInfoCategory.setOnClickListener(this);
// btnCropCategory.setOnClickListener(this);
btnPrice.setOnClickListener(this);
btnProvince.setOnClickListener(this);
btnQuery.setOnClickListener(this);
}
@Override
protected void initUI() {
// Log.v(Constants.TAG, "JobsQueryActivity 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(QueryJobsActivity.this)
.checkConnection()) {
new SubmitQueryAsyncTask().execute();
} else {
UIUtil.showMsg(QueryJobsActivity.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
idx_Price = which;
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;
btnProvince.setText(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 etPriceText = btnPrice.getText();
CharSequence btnProvinceText = btnProvince.getText();
Double minPrice = null;// 空值代表查全部
Double maxPrice = null;
int infoType = 0;
int cropType = 0;
// 信息类别
if (null != JOB_INFO_TYPE_dataDictionaryBeans
&& JOB_INFO_TYPE_dataDictionaryBeans.length > 0) {
for (DataDictionaryBean i : JOB_INFO_TYPE_dataDictionaryBeans) {
if (i.getMark() == JOB_INFO_TYPE_MARK
&& i.getName().equalsIgnoreCase(
btnInfoCategoryText.toString())) {
infoType = 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())) {
minPrice = 0.0;
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.setWorkTaskNewsParams(infoType, cropType, minPrice, maxPrice,
code);
return key;
}
@Override
protected void onPostExecute(SelectNewsKey key) {
Intent intent = new Intent(QueryJobsActivity.this,
SearchResultActivity.class);
intent.putExtra("key", key);
intent.putExtra("flag", "job");
startActivity(intent);
}
}
}