/**============================================================
* 版权: 久其软件 版权所有 (c)
* 包: com.jiuqi.njt.ui
* 修改记录:
* 日期 作者 内容
* =============================================================
* 2013-7-23 liyue
* ============================================================*/
package com.jiuqi.njt.ui;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Dialog;
import android.os.AsyncTask;
import android.os.Bundle;
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.bean.base.UserBean;
import com.jiuqi.mobile.nigo.comeclose.exception.LoginException;
import com.jiuqi.mobile.nigo.comeclose.manager.app.INewsManager;
import com.jiuqi.mobile.nigo.comeclose.manager.app.IPositionManager;
import com.jiuqi.mobile.nigo.comeclose.manager.base.IDataDictionaryManager;
import com.jiuqi.mobile.nigo.comeclose.manager.base.IKindsOfCarManager;
import com.jiuqi.mobile.nigo.comeclose.ws.client.ClientContext;
import com.jiuqi.njt.data.MyApp;
import com.jiuqi.njt.data.OptsharepreInterface;
import com.jiuqi.njt.util.Constants;
import com.jiuqi.njt.util.UIUtil;
import com.jiuqi.njt.util.login.AutoLoginUtil;
import com.jiuqi.njt.widget.ProgressDialogStyle;
/**
* <p>
* 抽象界面,提供发布、查询等页面的抽象
* </p>
*
* <p>
* Copyright: 版权所有 (c)<br>
* Company: 久其
* </p>
*
* @author liyue
* @version 2013-7-23
*/
@SuppressLint("UseSparseArrays")
public class AbstractNjtActivity01 extends Activity {
// mark值见 com.jiuqi.mobile.nigo.comeclose.bean.app.news.CarTaskNewsBean
/**
* 作业信息类别:"机播发布","机收发布","机耕发布"
*/
public static final int JOB_INFO_TYPE_MARK = 10401; // 莫迪的类里面给出的mark值
/**
* 供需信息类别:"供应发布","求需发布"
*/
public static final int SUPPLY_DEMAND_INFO_TYPE_MARK = 10301; // 莫迪的类里面给出的mark值
/**
* 车辆信息类别:"拟引进","拟调出"
*/
public static final int MACHINE_INFO_TYPE_MARK = 10101; // 莫迪的类里面给出的mark值
/**
* 农机类别:"收获机械","种植机械","耕整机械","深松机械","植保机械","烘干机械","秸秆还田机械"
*/
public static final int MACHINE_TYPE_MARK = 1; // 莫迪的类里面给出的mark值
/**
* 商品类别:"农业机械","粮食作物","瓜果蔬菜","化肥农药","农业物资"
*/
public static final int GOODS_TYPE_MARK = 10302; // 莫迪的类里面给出的mark值
/**
* 单位:"个","瓶","箱","袋","辆","亩","斤"
*/
public static final int UNIT_MARK = 10303; // 莫迪的类里面给出的mark值
/**
* 农作物类别:"小麦","水稻","玉米","花生","大豆","大麦"
*/
public static final int CROP_TYPE_MARK = 10103; // 莫迪的类里面给出的mark值
/**
* 价格区间<br />
* String[]{"不限,"50元以下/亩","100元以下/亩","150元以下/亩","200元以下/亩","300元以下/亩","500
* 元以下/亩","800元以下/亩","1000元以下/亩"}
*/
public static final String[] strArrayContent_Price = new String[] { "不限",
"50元以下/亩", "100元以下/亩", "150元以下/亩", "200元以下/亩", "300元以下/亩",
"500元以下/亩", "800元以下/亩", "1000元以下/亩" };
public static final Double[] numArrayContent_price = new Double[] { null,
50.0, 100.0, 150.0, 200.0, 300.0, 500.0, 800.0, 1000.0 };
protected Calendar calendar = Calendar.getInstance();
protected MyApp application;
protected QueryInfoCategoryAsyncTask queryInfoCategoryAsyncTask = null;
protected UserBean user;
private DataDictionaryBean[] JOB_INFO_TYPE_DictionaryBeans;
private DataDictionaryBean[] MACHINE_TYPE_DictionaryBeans;
private DataDictionaryBean[] CROP_TYPE_MARK_DictionaryBeans;
private DataDictionaryBean[] UNIT_DictionaryBeans;
private DataDictionaryBean[] GOODS_TYPE_DictionaryBeans;
private DataDictionaryBean[] MACHINE_INFO_TYPE_DictionaryBeans;
private DataDictionaryBean[] SUPPLY_DEMAND_INFO_TYPE_DictionaryBeans;
protected KindsOfCarBean[] MACHINE_TYPE_DictionaryNewBeans;
protected INewsManager inewsmanager;
protected IPositionManager position = null;
protected double longitude =0;
protected double latitude = 0;
protected AdminAreaBean xzqh;
protected OptsharepreInterface sharePre;
protected boolean isPostinfo;
private boolean login ;
// private boolean islogin ;
/**
* 根据字典得所有名称的数组
*
* @param beans
* @return String[]
*/
protected String[] getNames(DataDictionaryBean[] beans) {
if (null == beans || beans.length == 0) {
return new String[] {};
}
ArrayList<String> names = new ArrayList<String>();
for (DataDictionaryBean b : beans) {
names.add(b.getName());
}
return names.toArray(new String[names.size()]);
}
protected String[] getNamesNew(KindsOfCarBean[] beans) {
if (null == beans || beans.length == 0) {
return new String[] {};
}
ArrayList<String> names = new ArrayList<String>();
for (KindsOfCarBean b : beans) {
names.add(b.getName());
}
return names.toArray(new String[names.size()]);
}
protected String[] getNamesDistance(){
ArrayList<String> names = new ArrayList<String>();
for (int i= 10; i<=100 ;i=i+10) {
names.add(i+"公里以内");
}
return names.toArray(new String[names.size()]);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
application = (MyApp) getApplication();
doinit();
}
protected void onQueryComplete(HashMap<Integer, DataDictionaryBean[]> result) {
}
protected void doinit() {
initParam();
initWidgets();
initListeners();
initUI();
initQuery();
}
protected void initQuery() {
if(new CheckState_interface(AbstractNjtActivity01.this).checkConnection()){
queryInfoCategoryAsyncTask = new QueryInfoCategoryAsyncTask();
queryInfoCategoryAsyncTask.execute();
}else{
UIUtil.showMsg(AbstractNjtActivity01.this, Constants.NETWORK_STATE_ERROR);
}
}
protected void initUI() {
}
protected void initListeners() {
}
protected void initWidgets() {
}
protected void initParam() {
sharePre = new OptsharepreInterface(AbstractNjtActivity01.this);
// getInItData();
}
private void getInItData() {
// TODO Auto-generated method stub
try {
JOB_INFO_TYPE_DictionaryBeans = new DataDictionaryBean[3];
DataDictionaryBean jbxx = new DataDictionaryBean();
jbxx.setCode(1);
jbxx.setMark(10401);
jbxx.setName("机播信息");
DataDictionaryBean jsxx = new DataDictionaryBean();
jsxx.setCode(2);
jsxx.setMark(10401);
jsxx.setName("机收信息");
DataDictionaryBean jgxx = new DataDictionaryBean();
jgxx.setCode(3);
jgxx.setMark(10401);
jgxx.setName("机耕信息");
JOB_INFO_TYPE_DictionaryBeans[0] = jbxx;
JOB_INFO_TYPE_DictionaryBeans[1] = jsxx;
JOB_INFO_TYPE_DictionaryBeans[2] = jgxx;
MACHINE_INFO_TYPE_DictionaryBeans = new DataDictionaryBean[2];
DataDictionaryBean nyj = new DataDictionaryBean();
nyj.setCode(1);
nyj.setMark(10101);
nyj.setName(" 拟引进");
DataDictionaryBean npc = new DataDictionaryBean();
npc.setCode(2);
npc.setMark(10101);
npc.setName("拟派出");
MACHINE_INFO_TYPE_DictionaryBeans[0]= nyj;
MACHINE_INFO_TYPE_DictionaryBeans[1]= npc;
SUPPLY_DEMAND_INFO_TYPE_DictionaryBeans = new DataDictionaryBean[2];
DataDictionaryBean gyxx = new DataDictionaryBean();
gyxx.setCode(1);
gyxx.setMark(10301);
gyxx.setName(" 供应信息");
DataDictionaryBean qxxx = new DataDictionaryBean();
qxxx.setCode(2);
qxxx.setMark(10301);
qxxx.setName("求需信息");
SUPPLY_DEMAND_INFO_TYPE_DictionaryBeans[0] = gyxx;
SUPPLY_DEMAND_INFO_TYPE_DictionaryBeans[1] = qxxx;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 查询信息类别和作物种类字段
*/
protected class QueryInfoCategoryAsyncTask extends
AsyncTask<Void, Void, HashMap<Integer, DataDictionaryBean[]>> {
Dialog pd = null;
@Override
protected void onPreExecute() {
pd = ProgressDialogStyle .createLoadingDialog(AbstractNjtActivity01.this,null);
pd.show();
}
@Override
protected HashMap<Integer, DataDictionaryBean[]> doInBackground(
Void... params) {
try {
ClientContext context = application.getClientContext();
if(null==context){
context = ClientContext.getClientContext(
Constants.SERVER_URL, Constants.ANONYMOUS,
Constants.ANONYMOUS);
application.setClientContext(context);
}
user = context.getUser();
// if (user != null) {
// xzqh = user.getAdminArea();
// }
if(isPostinfo&&user.getAccount().equals(Constants.ANONYMOUS)){
throw new LoginException("您的登录信息已过期,请重新登录!");
}
inewsmanager = context.getManager(INewsManager.class);
position = context.getManager(IPositionManager.class);
IDataDictionaryManager manager = context
.getManager(IDataDictionaryManager.class);
JOB_INFO_TYPE_DictionaryBeans = manager.get(JOB_INFO_TYPE_MARK);
MACHINE_INFO_TYPE_DictionaryBeans = manager
.get(MACHINE_INFO_TYPE_MARK);
SUPPLY_DEMAND_INFO_TYPE_DictionaryBeans = manager
.get(SUPPLY_DEMAND_INFO_TYPE_MARK);
CROP_TYPE_MARK_DictionaryBeans = manager.get(CROP_TYPE_MARK);
MACHINE_TYPE_DictionaryBeans = manager.get(MACHINE_TYPE_MARK);
//新的农机类别获取方式
IKindsOfCarManager newManager= context.getManager(IKindsOfCarManager.class);
MACHINE_TYPE_DictionaryNewBeans = newManager.getChildren(0L);
GOODS_TYPE_DictionaryBeans = manager.get(GOODS_TYPE_MARK);
UNIT_DictionaryBeans = manager.get(UNIT_MARK);
//测试
// if(!login&&!islogin){
// islogin = true;
// throw new LoginException("您的登录信息已过期,请重新登录!");
// }
} catch (Exception e) {
// login = new AutoLoginUtil(AbstractNjtActivity01.this, e).getNewSession();
e.printStackTrace();
}
HashMap<Integer, DataDictionaryBean[]> hm = new HashMap<Integer, DataDictionaryBean[]>();
hm.put(JOB_INFO_TYPE_MARK, JOB_INFO_TYPE_DictionaryBeans);
hm.put(MACHINE_INFO_TYPE_MARK, MACHINE_INFO_TYPE_DictionaryBeans);
hm.put(SUPPLY_DEMAND_INFO_TYPE_MARK,
SUPPLY_DEMAND_INFO_TYPE_DictionaryBeans);
hm.put(CROP_TYPE_MARK, CROP_TYPE_MARK_DictionaryBeans);
hm.put(MACHINE_TYPE_MARK, MACHINE_TYPE_DictionaryBeans);
hm.put(GOODS_TYPE_MARK, GOODS_TYPE_DictionaryBeans);
hm.put(UNIT_MARK, UNIT_DictionaryBeans);
return hm;
}
@Override
protected void onCancelled() {
super.onCancelled();
}
@Override
protected void onPostExecute(
HashMap<Integer, DataDictionaryBean[]> result) {
onQueryComplete(result);
if(pd!=null){
pd.dismiss();
}
// if(login){
// login =false;
// new QueryInfoCategoryAsyncTask().execute();
// }
}
}
}