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