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