/**============================================================ * 版权: 久其软件 版权所有 (c) * 包: com.jiuqi.njt.ui * 修改记录: * 日期 作者 内容 * ============================================================= * 2013-6-28 liyue * ============================================================*/ package com.jiuqi.njt.ui; import java.lang.reflect.UndeclaredThrowableException; import java.text.SimpleDateFormat; import java.util.Calendar; import android.annotation.SuppressLint; import android.annotation.TargetApi; import android.app.Activity; import android.app.DatePickerDialog; import android.app.Dialog; import android.content.DialogInterface; import android.content.Intent; import android.os.AsyncTask; import android.os.Build; 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.DatePicker; import android.widget.EditText; import android.widget.TextView; import com.jiuqi.mobile.nigo.comeclose.bean.app.news.CarTaskNewsBean; 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.ws.client.ClientContext; import com.jiuqi.njt.R; import com.jiuqi.njt.data.CheckStateInterface; import com.jiuqi.njt.data.MyApp; import com.jiuqi.njt.data.OptsharepreInterface; import com.jiuqi.njt.data.WorkTaskBeanLocal; import com.jiuqi.njt.db.WorkTaskNewsBeanDBHelper; import com.jiuqi.njt.model.CModuleBean; import com.jiuqi.njt.model.ModuleType; import com.jiuqi.njt.util.Constants; import com.jiuqi.njt.util.DateUtil; import com.jiuqi.njt.util.ReturnObject; import com.jiuqi.njt.util.TitleBarUtil; import com.jiuqi.njt.util.UIUtil; import com.jiuqi.njt.util.ValidateRule; import com.jiuqi.njt.util.Validator; import com.jiuqi.njt.widget.DialogWithList; import com.jiuqi.njt.widget.ProgressDialogStyle; /** * <p> * 农机信息发布 * </p> * * <p> * Copyright: 版权所有 (c)<br> * Company: 久其 * </p> * * @author liyue * @version 2013-6-28 */ @TargetApi(Build.VERSION_CODES.FROYO) public class PostInfoMachinesActivity extends Activity implements OnClickListener { private String tag = this.getClass().getName(); private Button btnInfoCategory; private Button btnMachineCategory; private Button btnCropCategory; private EditText etAmount; private Button btnStartDate; private Button btnEndDate; private EditText etContacts; private EditText etPhone; private Button btnProvince; private EditText etXianShi; private EditText etComments; private Button btnMap; private Button btnSubmit; private SubmitInfoAsyncTask submitInfoAsyncTask; private boolean isStartDateValidate, isEndDateValidate; private EditText min_etPrice; private EditText max_etPrice; long machineType = 0; private CModuleBean moduleBean; // new private UserBean user; private AdminAreaBean xzqh; private double longitude = 0; private double latitude = 0; private OptsharepreInterface sharePre; private Calendar calendar = Calendar.getInstance(); private MyApp application; private INewsManager inewsmanager; /** * 车辆信息类别:"拟引进","拟调出" */ public static final int MACHINE_INFO_TYPE_MARK = 10101; // 莫迪的类里面给出的mark值 private DataDictionaryBean[] MACHINE_INFO_TYPE_DictionaryBeans; /** * 农机类别:"收获机械","种植机械","耕整机械","深松机械","植保机械","烘干机械","秸秆还田机械" */ public static final int MACHINE_TYPE_MARK = 1; // 莫迪的类里面给出的mark值 private KindsOfCarBean[] MACHINE_TYPE_DictionaryBeans; /** * 农作物类别:"小麦","水稻","玉米","花生","大豆","大麦" */ public static final int CROP_TYPE_MARK = 10103; // 莫迪的类里面给出的mark值 private DataDictionaryBean[] CROP_TYPE_dataDictionaryBeans; private String cllb;// 车辆类别, private String njlb;// 农机类别 private String zwlb;// 作物类别 private String titleStr = ""; // 保存 private boolean clickBtn = false; private int stateQB = 0; private String[] strArrayContentB; private String[] strArrayContentC; private WorkTaskBeanLocal Intentlocal; private WorkTaskNewsBeanDBHelper workDbHelper; private CarTaskNewsBean carBean; private WorkTaskBeanLocal wBeanLo; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); application = (MyApp) getApplication(); sharePre = new OptsharepreInterface(PostInfoMachinesActivity.this); Intentlocal = (WorkTaskBeanLocal) getIntent().getSerializableExtra( "localbean"); if (null == workDbHelper) { workDbHelper = new WorkTaskNewsBeanDBHelper( PostInfoMachinesActivity.this); } doinit(); } private void doinit() { initWidgets(); initParam(); initListeners(); if (null == Intentlocal) { initUI(); } } @SuppressLint("NewApi") private void initParam() { // 车辆信息类别 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; // 作物类别 CROP_TYPE_dataDictionaryBeans = new DataDictionaryBean[6]; DataDictionaryBean xm = new DataDictionaryBean(); xm.setCode(1); xm.setMark(10103); xm.setName("小麦"); DataDictionaryBean sd = new DataDictionaryBean(); sd.setCode(2); sd.setMark(10103); sd.setName("水稻"); DataDictionaryBean ym = new DataDictionaryBean(); ym.setCode(3); ym.setMark(10103); ym.setName("玉米"); DataDictionaryBean hs = new DataDictionaryBean(); hs.setCode(4); hs.setMark(10103); hs.setName("花生"); DataDictionaryBean dd = new DataDictionaryBean(); dd.setCode(5); dd.setMark(10103); dd.setName("大豆"); DataDictionaryBean dm = new DataDictionaryBean(); dm.setCode(6); dm.setMark(10103); dm.setName("大麦"); CROP_TYPE_dataDictionaryBeans[0] = xm; CROP_TYPE_dataDictionaryBeans[1] = sd; CROP_TYPE_dataDictionaryBeans[2] = ym; CROP_TYPE_dataDictionaryBeans[3] = hs; CROP_TYPE_dataDictionaryBeans[4] = dd; CROP_TYPE_dataDictionaryBeans[5] = dm; // 农机类别 MACHINE_TYPE_DictionaryBeans = new KindsOfCarBean[15]; KindsOfCarBean gzdjx = new KindsOfCarBean(); gzdjx.setCode(1000000000000000L); gzdjx.setName("耕整地机械"); KindsOfCarBean zzsfjx = new KindsOfCarBean(); zzsfjx.setCode(2000000000000000L); zzsfjx.setName("种植施肥机械"); KindsOfCarBean tjgljx = new KindsOfCarBean(); tjgljx.setCode(3000000000000000L); tjgljx.setName("田间管理机械"); KindsOfCarBean shjx = new KindsOfCarBean(); shjx.setCode(4000000000000000L); shjx.setName("收获机械"); KindsOfCarBean shhcljx = new KindsOfCarBean(); shhcljx.setCode(5000000000000000L); shhcljx.setName("收获后处理机械"); KindsOfCarBean ncpcjgjx = new KindsOfCarBean(); ncpcjgjx.setCode(6000000000000000L); ncpcjgjx.setName("农产品初加工机械"); KindsOfCarBean pgjx = new KindsOfCarBean(); pgjx.setCode(7000000000000000L); pgjx.setName("排灌机械"); KindsOfCarBean xmscyzjc = new KindsOfCarBean(); xmscyzjc.setCode(8000000000000000L); xmscyzjc.setName("畜牧水产养殖机械"); KindsOfCarBean dljx = new KindsOfCarBean(); dljx.setCode(9000000000000000L); dljx.setName("动力机械"); KindsOfCarBean ntjbjsj = new KindsOfCarBean(); ntjbjsj.setCode(10000000000000000L); ntjbjsj.setName("农田基本建设机"); KindsOfCarBean sbnysb = new KindsOfCarBean(); sbnysb.setCode(11000000000000000L); sbnysb.setName("设施农业设备"); KindsOfCarBean qtjx = new KindsOfCarBean(); qtjx.setCode(12000000000000000L); qtjx.setName("农村可再生能源利用设备"); KindsOfCarBean nybyjx = new KindsOfCarBean(); nybyjx.setCode(13000000000000000L); nybyjx.setName("农用搬运机械"); KindsOfCarBean nzwjgzhlysb = new KindsOfCarBean(); nzwjgzhlysb.setCode(14000000000000000L); nzwjgzhlysb.setName("农作物秸秆综合利用设备"); KindsOfCarBean gxssnyzyjx = new KindsOfCarBean(); gxssnyzyjx.setCode(15000000000000000L); gxssnyzyjx.setName("高效设施农业作业机械"); MACHINE_TYPE_DictionaryBeans[0] = gzdjx; MACHINE_TYPE_DictionaryBeans[1] = zzsfjx; MACHINE_TYPE_DictionaryBeans[2] = tjgljx; MACHINE_TYPE_DictionaryBeans[3] = shjx; MACHINE_TYPE_DictionaryBeans[4] = shhcljx; MACHINE_TYPE_DictionaryBeans[5] = ncpcjgjx; MACHINE_TYPE_DictionaryBeans[6] = pgjx; MACHINE_TYPE_DictionaryBeans[7] = xmscyzjc; MACHINE_TYPE_DictionaryBeans[8] = dljx; MACHINE_TYPE_DictionaryBeans[9] = ntjbjsj; MACHINE_TYPE_DictionaryBeans[10] = sbnysb; MACHINE_TYPE_DictionaryBeans[11] = qtjx; MACHINE_TYPE_DictionaryBeans[12] = nybyjx; MACHINE_TYPE_DictionaryBeans[13] = nzwjgzhlysb; MACHINE_TYPE_DictionaryBeans[14] = gxssnyzyjx; // final String[] strArrayContentA = Constants // .getNames(MACHINE_INFO_TYPE_DictionaryBeans); strArrayContentB = Constants .getNamesForNjlb(MACHINE_TYPE_DictionaryBeans); strArrayContentC = Constants .getNames(CROP_TYPE_dataDictionaryBeans); if (null != moduleBean && moduleBean.getModuleFlag() != ModuleType.njfb) { switch (moduleBean.getModuleFlag()) { case npcxxfb: btnInfoCategory.setText("拟派出信息"); break; case nyjxxfb: btnInfoCategory.setText("拟引进信息"); break; default: break; } } if (null == Intentlocal) { // 农机类别 if (strArrayContentB.length > 0) { njlb = strArrayContentB[0]; btnMachineCategory.setText(strArrayContentB[0]); } if (strArrayContentC.length > 0) { zwlb = strArrayContentC[0]; btnCropCategory.setText(strArrayContentC[0]); } try { ClientContext context = application.getClientContext(); user = context.getUser(); if (user != null) { xzqh = user.getAdminArea(); Log.wtf("xzqh", xzqh.getCityName()); } // 登录之后获取 if (null != xzqh) { btnProvince.setText(xzqh.getFullName()); } } catch (Exception e) { e.printStackTrace(); } } else { //表示从上传页面过来 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");// 小写的mm表示的是分钟 carBean = workDbHelper.getLocalToBeanForCar(Intentlocal); if (Intentlocal.getState() == 1) { clickEnable(false); } if (null != carBean) { titleStr = carBean.getNewsType().getName();// 车辆类别,即机播/拟引进等 njlb = carBean.getCarTypeNew().getName();//农机类别 zwlb = carBean.getCropType().getName();// 小麦 xzqh = carBean.getAdminAreaCode();// 地区 btnMachineCategory.setText(njlb); btnCropCategory.setText(zwlb); btnProvince.setText(carBean.getAdminAreaCode() .getFullName());// 省市县 etAmount.setText(carBean.getCount() == 0 ?"":carBean.getCount()+"" ); min_etPrice.setText(carBean.getMinPrice() == 0.0 ? "" : carBean.getMinPrice() + ""); max_etPrice.setText(carBean.getMaxPrice() == 0.0 ? "" : carBean.getMaxPrice() + ""); btnStartDate.setText(sdf.format(carBean.getStartDate())); btnEndDate.setText(sdf.format(carBean.getEndDate())); etContacts.setText(carBean.getContactor()); etPhone.setText(carBean.getContactMobileNumber()); etXianShi.setText(carBean.getAddress()); if (carBean.getLatitude() != 0 && carBean.getLongitude() != 0) { btnMap.setText("已标记"); } etComments.setText(carBean.getComments() == null ? "" : carBean.getComments()); } } btnMachineCategory.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { DialogWithList.Builder dialog = new DialogWithList.Builder( PostInfoMachinesActivity.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(strArrayContentB, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub njlb = strArrayContentB[which]; btnMachineCategory .setText(strArrayContentB[which]); dialog.dismiss(); } }); dialog.create().show(); } }); btnCropCategory.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { DialogWithList.Builder dialog = new DialogWithList.Builder( PostInfoMachinesActivity.this); dialog.setTitle("作物种类"); dialog.setPositiveButton(Constants.CANCEL_TEXT, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); dialog.setItems(strArrayContentC, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub zwlb = strArrayContentC[which]; btnCropCategory .setText(strArrayContentC[which]); dialog.dismiss(); } }); dialog.create().show(); } }); } protected void initWidgets() { setContentView(R.layout.post_info_machines_activity); moduleBean = (CModuleBean) getIntent().getSerializableExtra( Constants.PARAM_MODULEBEAN); ViewStub rlTitleBar = (ViewStub) findViewById(R.id.titleBarStub); if (null != moduleBean) { titleStr = UIUtil.convertModuleTypeToString(moduleBean .getModuleFlag()); } else { // titleStr = "农机信息发布"; if (null == Intentlocal) { titleStr = "农机信息发布"; } else { //注意 要再加入判断,看看是不是商品信息的发布 titleStr = Intentlocal.getNewsType().getName() + "发布"; Log.wtf("不为空guid", Intentlocal.getGuid()); } } TitleBarUtil.createTitleBar(this, rlTitleBar, titleStr, new OnClickListener() { @Override public void onClick(View v) { PostInfoMachinesActivity.this.finish(); } }); btnInfoCategory = (Button) findViewById(R.id.btnInfoCategory); btnMachineCategory = (Button) findViewById(R.id.btnMachineCategory); btnCropCategory = (Button) findViewById(R.id.btnCropCategory); etAmount = (EditText) findViewById(R.id.etAmount); min_etPrice = (EditText) findViewById(R.id.min_etPrice); max_etPrice = (EditText) findViewById(R.id.max_etPrice); btnStartDate = (Button) findViewById(R.id.btnStartDate); btnEndDate = (Button) findViewById(R.id.btnEndDate); etContacts = (EditText) findViewById(R.id.etContacts); etPhone = (EditText) findViewById(R.id.etPhone); btnProvince = (Button) findViewById(R.id.btnProvince); etXianShi = (EditText) findViewById(R.id.etXianShi); btnMap = (Button) findViewById(R.id.btnMap); etComments = (EditText) findViewById(R.id.etComments); btnSubmit = (Button) findViewById(R.id.btnSubmit); } protected void initListeners() { btnSubmit.setOnClickListener(this); btnStartDate.setOnClickListener(this); btnEndDate.setOnClickListener(this); btnMap.setOnClickListener(this); btnProvince.setOnClickListener(this); } protected void initUI() { // btnStartDate.setText(calendar.get(Calendar.YEAR) + "-" // + (calendar.get(Calendar.MONTH) + 1) + "-" // + calendar.get(Calendar.DAY_OF_MONTH)); // // 结束时间默认为开始时间第七天 // btnEndDate // .setText(calendar.get(Calendar.YEAR) // + "-" // + (calendar.get(Calendar.MONTH) + 1) // + "-" // + (calendar.get(Calendar.DAY_OF_MONTH) + Constants.ENDDATE_MORE_THAN_STARTDATE)); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = Calendar.getInstance(); btnStartDate.setText(format.format(calendar.getTime())); System.out.println("当前时间 : " + format.format(calendar.getTime())); calendar.add(Calendar.DAY_OF_MONTH, 7); System.out.println("7天后时间 : " + format.format(calendar.getTime())); btnEndDate.setText(format.format(calendar.getTime())); etContacts.setText(sharePre.getPres("username")); etPhone.setText(sharePre.getPres("mobileNumber")); } @Override public void onClick(View v) { Dialog dialog = null; switch (v.getId()) { case R.id.btnStartDate: dialog = UIUtil.createDatePickerDialog(this, new DatePickerDialog.OnDateSetListener() { public void onDateSet(DatePicker dp, int year, int month, int dayOfMonth) { isStartDateValidate = DateUtil .compareDateIsLessThanNow(year, month, dayOfMonth); String monthstr = String.valueOf(month + 1); if(monthstr.length()<2){ monthstr = "0"+monthstr; } String dateStr = String.valueOf(dayOfMonth); if(dateStr.length()<2){ dateStr = "0"+dateStr; } btnStartDate.setText(year + "-" + monthstr + "-" + dateStr); } }); dialog.show(); break; case R.id.btnEndDate: dialog = UIUtil.createDatePickerDialog(this, Calendar.MONTH, Calendar.DAY_OF_MONTH, new DatePickerDialog.OnDateSetListener() { public void onDateSet(DatePicker dp, int year, int month, int dayOfMonth) { isEndDateValidate = DateUtil .compareDateIsLessThanNow(year, month, dayOfMonth); String monthstr = String.valueOf(month + 1); if(monthstr.length()<2){ monthstr = "0"+monthstr; } String dateStr = String.valueOf(dayOfMonth); if(dateStr.length()<2){ dateStr = "0"+dateStr; } btnEndDate.setText(year + "-" + monthstr + "-" + dateStr); } }); dialog.show(); break; // 省市那个对话框还得讨论下,再给出来。 case R.id.btnProvince: clickBtn = true; UIUtil.requestXzqh(this, xzqh); break; case R.id.btnMap: clickBtn = true; Intent intent = new Intent(this, PoiLocateActivity.class); startActivityForResult(intent, Constants.REQUEST_MAP_LOCATE_CODE); break; case R.id.btnSubmit: if (doValidate()) { if (UIUtil.isCheckPhone(etPhone.getText().toString())) { if (new CheckStateInterface(PostInfoMachinesActivity.this).checkConnection()) { stateQB = 1; submitInfoAsyncTask = new SubmitInfoAsyncTask(); submitInfoAsyncTask.execute(); }else { saveLocalRecord(1);// 4、离线提交 clearData(); } } else { UIUtil.showMsg(PostInfoMachinesActivity.this, "请输入正确的联系方式"); } } break; default: break; } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { clickBtn = false; if (requestCode == Constants.REQUEST_MAP_LOCATE_CODE) { if (resultCode == RESULT_OK) { longitude = data.getDoubleExtra("longitude", 0); latitude = data.getDoubleExtra("latitude", 0); Log.v(Constants.TAG, "longitude: " + longitude + " latitude: " + latitude); btnMap.setText("已标记"); } } else 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()); } } } /** * 验证界面上的录入项 * * @return boolean */ private boolean doValidate() { Validator validator = null; ReturnObject ro = null; // 验证这些控件是不是都有内容了 TextView[] widgets = new TextView[] { btnMachineCategory, btnCropCategory, etAmount, min_etPrice, max_etPrice, btnStartDate, btnEndDate, etContacts, etPhone }; // btnProvince validator = new Validator(); validator.addRules(ValidateRule.IS_NOT_EMPTY, ValidateRule.IS_REACH_MAX_LENGTH); for (TextView w : widgets) { ro = validator.val(w.getText()); if (!ro.isSuccess) { UIUtil.showMsg(this, w.getHint().toString()); w.requestFocus(); return false; } } // // 验证这些控件是不是都是纯数字 // validator.clearRules(); // validator.addRules(ValidateRule.IS_DIGITS_ONLY); // widgets = new TextView[] { etAmount, min_etPrice }; // for (TextView w : widgets) { // ro = validator.val(w.getText()); // if (!ro.isSuccess) { // UIUtil.showMsg(this, ro.getErrorMessage()); // w.requestFocus(); // return false; // } // } // validator.clearRules(); // validator.addRules(ValidateRule.IS_DIGITS_ONLY); // widgets = new TextView[] { etAmount, max_etPrice }; // for (TextView w : widgets) { // ro = validator.val(w.getText()); // if (!ro.isSuccess) { // UIUtil.showMsg(this, ro.getErrorMessage()); // w.requestFocus(); // return false; // } // } int min = 0, max = 0; try { min = Integer.parseInt(min_etPrice.getText().toString()); max = Integer.parseInt(max_etPrice.getText().toString()); } catch (NumberFormatException e) { // TODO Auto-generated catch block e.printStackTrace(); } if (min > max) { UIUtil.showMsg(this, "请确认你的作业价格"); return false; } if (isStartDateValidate) { UIUtil.showMsg(this, "开始日期不能小于当天"); return false; } if (isEndDateValidate) { UIUtil.showMsg(this, "截止日期不能小于当天"); return false; } if (DateUtil.isEndDateBeforeStartDate(btnStartDate.getText().toString() .replace("-", ""), btnEndDate.getText().toString().replace("-", ""))) { UIUtil.showMsg(this, "截止日期不能小于开始时间"); return false; } if (null != xzqh) { if (xzqh.getProvinceCode() == 0 || xzqh.getCityCode() == 0 || xzqh.getCountryCode() == 0) { btnProvince.requestFocus(); UIUtil.showMsg(this, "请选择省市县(详细到县级)"); return false; } } return true; } /** * 提交信息,访问网络时必须变成异步任务才可以提交,2.3规则。 */ private class SubmitInfoAsyncTask extends AsyncTask<Void, Void, String> { Dialog pd = null; CarTaskNewsBean job = null; protected void onPreExecute() { pd = ProgressDialogStyle.createLoadingDialog( PostInfoMachinesActivity.this, "发布中,请稍后"); pd.show(); } @SuppressLint("NewApi") @Override protected String doInBackground(Void... params) { String msg = ""; CharSequence btnInfoCategoryText = btnInfoCategory.getText(); CharSequence btnMachineCategoryText = btnMachineCategory.getText(); CharSequence btnCropCategoryText = btnCropCategory.getText(); CharSequence etAmountText = etAmount.getText(); CharSequence min_etPriceText = min_etPrice.getText(); CharSequence max_etPriceText = max_etPrice.getText(); CharSequence btnStartDateText = btnStartDate.getText(); CharSequence btnEndDateText = btnEndDate.getText(); CharSequence etContactsText = etContacts.getText(); CharSequence etPhoneText = etPhone.getText(); CharSequence btnProvinceText = btnProvince.getText(); CharSequence etXianShiText = etXianShi.getText(); CharSequence etCommentsText = etComments.getText(); if (0 == latitude && 0 == longitude) { latitude = application.getLat(); longitude = application.getLon(); } job = new CarTaskNewsBean(); if (null == Intentlocal) { job.setAddPersonGuid(user.getGuid()); job.setAddPersonName(user.getUserName()); job.setAddPersonMobileNumber(user.getMobileNumber()); job.setAdminAreaCode(xzqh); job.setCreateDate(); job.setGuid(); }else { job.setGuid(Intentlocal.getGuid()); job.setAddPersonGuid(Intentlocal.getAddPersonGuid()); job.setAddPersonName(Intentlocal.getAddPersonName()); job.setAddPersonMobileNumber(Intentlocal .getAddPersonMobileNumber()); job.setAdminAreaCode(workDbHelper .getAdminLocalToBean(Intentlocal.getAdminAreaCode())); job.setCreateDate(Intentlocal.getCreateDate()); } for (int j = 0; j < MACHINE_INFO_TYPE_DictionaryBeans.length; j++) { if (titleStr.replaceAll("信息发布", "").equals( MACHINE_INFO_TYPE_DictionaryBeans[j].getName())) { job.setNewsType(MACHINE_INFO_TYPE_DictionaryBeans[j]);// 信息类别 } } for (int j = 0; j < MACHINE_TYPE_DictionaryBeans.length; j++) { if (njlb.equals(MACHINE_TYPE_DictionaryBeans[j].getName())) { job.setCarTypeNew(MACHINE_TYPE_DictionaryBeans[j]);// } } for (int j = 0; j < CROP_TYPE_dataDictionaryBeans.length; j++) { if (zwlb.equals(CROP_TYPE_dataDictionaryBeans[j].getName())) { job.setCropType(CROP_TYPE_dataDictionaryBeans[j]);// } } job.setCount(UIUtil.tryToInteger(etAmountText.toString())); job.setMinPrice(UIUtil.tryToDouble(min_etPriceText.toString())); job.setMaxPrice(UIUtil.tryToDouble(max_etPriceText.toString())); job.setStartDate(DateUtil.parseDate(btnStartDateText.toString())); job.setEndDate(DateUtil.parseDate(btnEndDateText.toString())); job.setContactor(etContactsText.toString()); job.setContactMobileNumber(etPhoneText.toString()); job.setAddress(etXianShiText.toString()); job.setLatitude(latitude); job.setLongitude(longitude); job.setComments(etCommentsText == null ? "" : etCommentsText .toString()); 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.getAccount().equals(Constants.ANONYMOUS)) { throw new LoginException("您的登录信息已过期,请重新登录!"); } inewsmanager = context.getManager(INewsManager.class); inewsmanager.publish(job, user); msg = "信息已发布"; } catch (Exception e) { if (e instanceof UndeclaredThrowableException) { msg = e.getMessage(); } else { msg = "信息发布失败"; } e.printStackTrace(); } return msg; } @Override protected void onPostExecute(String result) { pd.dismiss(); if (null == Intentlocal) { } else { workDbHelper.deleteByGuid(Intentlocal.getGuid()); } if (!TextUtils.isEmpty(result.trim())) {// UIUtil.showMsg(PostInfoMachinesActivity.this, result); if (!result.equals("信息已发布")) { WorkTaskBeanLocal wBeLocal = workDbHelper .getBeanToLocalForCar(job); wBeLocal.setState(1); wBeLocal.setPublishType(3); workDbHelper.create(wBeLocal); } } else { WorkTaskBeanLocal wBeLocal = workDbHelper.getBeanToLocalForCar(job); wBeLocal.setState(1); wBeLocal.setPublishType(3); workDbHelper.create(wBeLocal); } PostInfoMachinesActivity.this.finish(); } } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); if (!clickBtn) { if (null == Intentlocal) {// 第一次进入发布页面,如果直接保存ok,但如果直接发布的话则还是保存了 if (stateQB == 0) { saveLocalRecord(0); } } else { if (Intentlocal.getState() == 0 && stateQB == 0) {// 第二次进入发布页面 saveLocalRecord(0); } } } } /** * 根据state状态,先查本地是否有本条数据, * @param showMsg * @param state */ public void saveLocalRecord(int state) {// 保存地图标记均标记 if (!TextUtils.isEmpty(etAmount.getText().toString())) { CarTaskNewsBean job = new CarTaskNewsBean(); if (null == Intentlocal) {// 证明bu是第一次进入发布页面 job.setGuid(); job.setAddPersonGuid(user.getGuid()); job.setAddPersonName(user.getUserName()); job.setAddPersonMobileNumber(user.getMobileNumber()); job.setAdminAreaCode(xzqh); if (0 == latitude && 0 == longitude) { latitude = application.getLat(); longitude = application.getLon(); } job.setLatitude(latitude);// latitude = biaoji = 31 job.setLongitude(longitude);// longitude = biaoji = 31 job.setCreateDate(); } else { workDbHelper.deleteByGuid(carBean.getGuid()); job.setGuid(carBean.getGuid()); job.setAddPersonGuid(carBean.getAddPersonGuid()); job.setAddPersonName(carBean.getAddPersonName()); job.setAddPersonMobileNumber(carBean.getAddPersonMobileNumber()); job.setAdminAreaCode(carBean.getAdminAreaCode()); job.setLatitude(carBean.getLatitude());// latitude = biaoji job.setLongitude(carBean.getLongitude());// longitude = job.setCreateDate(carBean.getCreateDate()); } for (int j = 0; j < MACHINE_INFO_TYPE_DictionaryBeans.length; j++) { if (titleStr.replaceAll("信息发布", "").equals( MACHINE_INFO_TYPE_DictionaryBeans[j].getName())) { job.setNewsType(MACHINE_INFO_TYPE_DictionaryBeans[j]);// 信息类别 } } for (int j = 0; j < MACHINE_TYPE_DictionaryBeans.length; j++) { if (njlb.equals(MACHINE_TYPE_DictionaryBeans[j].getName())) { job.setCarTypeNew(MACHINE_TYPE_DictionaryBeans[j]);// } } for (int j = 0; j < CROP_TYPE_dataDictionaryBeans.length; j++) { if (zwlb.equals(CROP_TYPE_dataDictionaryBeans[j].getName())) { job.setCropType(CROP_TYPE_dataDictionaryBeans[j]);// } } job.setCount(Integer.parseInt(etAmount.getText().toString())); job.setMaxPrice(max_etPrice.getText().toString() == ""?0.0:UIUtil.tryToDouble(max_etPrice.getText().toString())); job.setMinPrice(min_etPrice.getText().toString() == ""?0.0:UIUtil.tryToDouble(min_etPrice.getText().toString())); job.setStartDate(DateUtil.parseDate(btnStartDate.getText() .toString())); job.setEndDate(DateUtil.parseDate(btnEndDate.getText().toString())); job.setContactor(TextUtils.isEmpty(etContacts.getText().toString()) ? "" : etContacts.getText().toString()); job.setContactMobileNumber(TextUtils.isEmpty(etPhone.getText() .toString()) ? "" : etPhone.getText().toString()); job.setAddress(TextUtils.isEmpty(etXianShi.getText().toString()) ? "" : etXianShi.getText().toString()); job.setComments(etComments.getText().toString() == null ? "" : etComments.getText().toString()); wBeanLo = workDbHelper.getBeanToLocalForCar(job); wBeanLo.setState(state); wBeanLo.setPublishType(3);//1表示作业面积发布,2表示商品信息发布3表示农机信息发布 workDbHelper.create(wBeanLo); workDbHelper.queryAll(); UIUtil.showMsg(PostInfoMachinesActivity.this, "数据已保存"); } } public void clearData() { etAmount.setText(""); min_etPrice.setText(""); max_etPrice.setText(""); etComments.setText(""); btnMap.setText(""); etXianShi.setText(""); njlb = strArrayContentB[0]; btnMachineCategory.setText(strArrayContentB[0]); zwlb = strArrayContentC[0]; btnCropCategory.setText(strArrayContentC[0]); clickEnable(true); initUI(); } private void clickEnable(boolean bool) { UIUtil.setWidgetEnabled(btnMachineCategory, bool); UIUtil.setWidgetEnabled(btnCropCategory, bool);// 不可编辑 UIUtil.setWidgetEnabled(etAmount, bool); UIUtil.setWidgetEnabled(min_etPrice, bool); UIUtil.setWidgetEnabled(max_etPrice, bool); UIUtil.setWidgetEnabled(btnStartDate, bool); UIUtil.setWidgetEnabled(btnEndDate, bool); UIUtil.setWidgetEnabled(etContacts, bool); UIUtil.setWidgetEnabled(etPhone, bool); UIUtil.setWidgetEnabled(btnProvince, bool); UIUtil.setWidgetEnabled(etXianShi, bool); UIUtil.setWidgetEnabled(btnMap, bool); UIUtil.setWidgetEnabled(etComments, bool); } }