/**============================================================ * 版权: 久其软件 版权所有 (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); } } }