package com.jiuqi.njt.ui;
import java.lang.reflect.UndeclaredThrowableException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import android.annotation.SuppressLint;
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.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewStub;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TextView;
import com.jiuqi.mobile.nigo.comeclose.bean.app.news.WorkTaskNewsBean;
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.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;
@SuppressLint("NewApi")
public class PostInfoJobsActivityNew extends Activity implements
OnClickListener {
private String tag = this.getClass().getName();
// mark值见 com.jiuqi.mobile.nigo.comeclose.bean.app.news.WorkTaskNewsBean
// private Button btnInfoCategory;
private Button btnCropCategory;
private EditText etScope;
private EditText min_etPrice;
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 CheckBox send_job_to_driver;
private EditText max_etPrice;
private CModuleBean moduleBean;
private MyApp application;
private DataDictionaryBean[] JOB_INFO_TYPE_DictionaryBeans;
private DataDictionaryBean[] CROP_TYPE_dataDictionaryBeans;
private Calendar calendar = Calendar.getInstance();
private UserBean user;
private AdminAreaBean xzqh;
private double longitude = 0;
private double latitude = 0;
private OptsharepreInterface sharePre;
private INewsManager inewsmanager;
private String titleStr = "";
private String zwlb = "";// 作物类别
private WorkTaskNewsBeanDBHelper workDbHelper;
private WorkTaskBeanLocal Intentlocal;
private WorkTaskNewsBean beanNewsBean;
private boolean clickBtn = false;
private WorkTaskBeanLocal wBeanLo = null;
private int stateQB = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
application = (MyApp) getApplication();
sharePre = new OptsharepreInterface(PostInfoJobsActivityNew.this);
Intentlocal = (WorkTaskBeanLocal) getIntent().getSerializableExtra(
"localbean");
if (null == workDbHelper) {
workDbHelper = new WorkTaskNewsBeanDBHelper(
PostInfoJobsActivityNew.this);
}
doinit();
}
private void doinit() {
initWidgets();
initParam();
initListeners();
if (null == Intentlocal) {
initUI();
}
}
private void initWidgets() {
setContentView(R.layout.post_info_jobs_activity);
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE
| WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
ViewStub rlTitleBar = (ViewStub) findViewById(R.id.titleBarStub);
String title = "";
moduleBean = (CModuleBean) getIntent().getSerializableExtra(
Constants.PARAM_MODULEBEAN);
if (null != moduleBean) {
title = UIUtil
.convertModuleTypeToString(moduleBean.getModuleFlag());
} else {
if (null == Intentlocal) {
title = "作业面积发布";
} else {
//注意 要再加入判断,看看是不是商品信息的发布
title = Intentlocal.getNewsType().getName() + "发布";
Log.wtf("不为空guid", Intentlocal.getGuid());
}
}
TitleBarUtil.createTitleBar(this, rlTitleBar, title,
new OnClickListener() {
@Override
public void onClick(View v) {
// 返回键保存监听
// saveLocalRecord(0);
PostInfoJobsActivityNew.this.finish();
}
});
// btnInfoCategory = (Button) findViewById(R.id.btnInfoCategory);
btnCropCategory = (Button) findViewById(R.id.btnCropCategory);
etScope = (EditText) findViewById(R.id.etScope);
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);
etComments = (EditText) findViewById(R.id.etComments);
btnMap = (Button) findViewById(R.id.btnMap);
btnSubmit = (Button) findViewById(R.id.btnSubmit);
send_job_to_driver = (CheckBox) findViewById(R.id.send_job_to_driver);
}
void initParam() {
// 信息类别
JOB_INFO_TYPE_DictionaryBeans = new DataDictionaryBean[7];
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("机耕信息");
DataDictionaryBean ssxx = new DataDictionaryBean();
ssxx.setCode(4);
ssxx.setMark(10401);
ssxx.setName("深松信息");
DataDictionaryBean jghtxx = new DataDictionaryBean();
jghtxx.setCode(5);
jghtxx.setMark(10401);
jghtxx.setName("秸秆还田");
DataDictionaryBean khxx = new DataDictionaryBean();
khxx.setCode(6);
khxx.setMark(10401);
khxx.setName("抗旱信息");
DataDictionaryBean zbxx = new DataDictionaryBean();
zbxx.setCode(7);
zbxx.setMark(10401);
zbxx.setName("植保信息");
JOB_INFO_TYPE_DictionaryBeans[0] = jbxx;
JOB_INFO_TYPE_DictionaryBeans[1] = jsxx;
JOB_INFO_TYPE_DictionaryBeans[2] = jgxx;
JOB_INFO_TYPE_DictionaryBeans[3] = ssxx;
JOB_INFO_TYPE_DictionaryBeans[4] = jghtxx;
JOB_INFO_TYPE_DictionaryBeans[5] = khxx;
JOB_INFO_TYPE_DictionaryBeans[6] = zbxx;
// 作物类别
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;
// final String[] strArrayContentA = Constants.getNames(JOB_INFO_TYPE_DictionaryBeans);
final String[] strArrayContentB = Constants.getNames(CROP_TYPE_dataDictionaryBeans);
if (null != moduleBean && moduleBean.getModuleFlag() != ModuleType.zyfb) {
switch (moduleBean.getModuleFlag()) {
case jbxxfb:
titleStr = "机播信息";
break;
case jsxxfb:
titleStr = "机收信息";
break;
case jgxxfb:
titleStr = "机耕信息";
break;
case ssfb:
titleStr = "深松信息";
break;
case jghtxxfb:
titleStr = "秸秆还田";
break;
case khxxfb:
titleStr = "抗旱信息";
break;
case zbxxfb:
titleStr = "植保信息";
break;
default:
break;
}
// btnInfoCategory.setText(titleStr);
if (strArrayContentB.length > 0) {
zwlb = strArrayContentB[0];
btnCropCategory.setText(strArrayContentB[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表示的是分钟
beanNewsBean = workDbHelper.getLocalToBean(Intentlocal);
if (Intentlocal.getState() == 1) {
clickEnable(false);
}
if (null != beanNewsBean) {
zwlb = beanNewsBean.getWorkType().getName();// 小麦
titleStr = beanNewsBean.getNewsType().getName();// 机收
xzqh = beanNewsBean.getAdminAreaCode();// 地区
btnProvince.setText(beanNewsBean.getAdminAreaCode()
.getFullName());// 省市县
btnCropCategory.setText(zwlb);
etScope.setText(beanNewsBean.getMus() == 0 ? "" : beanNewsBean
.getMus() + "");
min_etPrice.setText(beanNewsBean.getMinPrice() == 0.0 ? ""
: beanNewsBean.getMinPrice() + "");
max_etPrice.setText(beanNewsBean.getMaxPrice() == 0.0 ? ""
: beanNewsBean.getMaxPrice() + "");
btnStartDate.setText(sdf.format(beanNewsBean.getStartDate()));
btnEndDate.setText(sdf.format(beanNewsBean.getEndDate()));
etContacts.setText(beanNewsBean.getContactor());
etPhone.setText(beanNewsBean.getContactMobileNumber());
etXianShi.setText(beanNewsBean.getAddress());
if (beanNewsBean.getLatitude() != 0
&& beanNewsBean.getLongitude() != 0) {
btnMap.setText("已标记");
}
etComments.setText(beanNewsBean.getComments() == null ? ""
: beanNewsBean.getComments());
}
}
btnCropCategory.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
DialogWithList.Builder dialog = new DialogWithList.Builder(
PostInfoJobsActivityNew.this);
dialog.setTitle("作物种类");
dialog.setPositiveButton(Constants.CANCEL_TEXT,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
dialog.dismiss();
}
});
dialog.setItems(strArrayContentB,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
btnCropCategory
.setText(strArrayContentB[which]);
zwlb = strArrayContentB[which];
dialog.dismiss();
}
});
dialog.create().show();
}
});
}
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();
intent.setClass(this, PoiLocateActivity.class);
startActivityForResult(intent, Constants.REQUEST_MAP_LOCATE_CODE);
break;
case R.id.btnSubmit:
if (UIUtil.isFastDoubleClick()) {
return;
}
if (doValidate()) {
if (UIUtil.isCheckPhone(etPhone.getText().toString())) {
if (new CheckStateInterface(PostInfoJobsActivityNew.this).checkConnection()) {
stateQB = 1;
submitInfoAsyncTask = new SubmitInfoAsyncTask();
submitInfoAsyncTask.execute();
} else {
saveLocalRecord(1);// 4、离线保存
clearData();
}
}else {
UIUtil.showMsg(PostInfoJobsActivityNew.this, "请输入正确的联系方式");
}
}
break;
default:
break;
}
}
@Override
protected void onPause() {
super.onPause();
if (!clickBtn) {
if (null == Intentlocal) {// 第一次进入发布页面,如果直接保存ok,但如果直接发布的话则还是保存了
if (stateQB == 0) {
saveLocalRecord(0);
}
} else {
if (Intentlocal.getState() == 0 && stateQB == 0) {// 第二次进入发布页面
saveLocalRecord(0);
}
}
}
}
@Override
protected void onStop() {
super.onStop();
}
@Override
protected void onDestroy() {
super.onDestroy();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
clickBtn = false;
if (requestCode == Constants.REQUEST_MAP_LOCATE_CODE) {
if (resultCode == RESULT_OK) {
longitude = data.getDoubleExtra("longitude", 0);// 91、31
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[] { btnCropCategory, etScope,
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[] { etScope, min_etPrice };
widgets = new TextView[] { etScope };
for (TextView w : widgets) {
ro = validator.val(w.getText());
if (!ro.isSuccess) {
UIUtil.showMsg(this, ro.getErrorMessage());
w.requestFocus();
return false;
}
}
// widgets = new TextView[] { etScope, max_etPrice };
widgets = new TextView[] { etScope };
for (TextView w : widgets) {
ro = validator.val(w.getText());
if (!ro.isSuccess) {
UIUtil.showMsg(this, ro.getErrorMessage());
w.requestFocus();
return false;
}
}
// 经纬度不能为空,所在地必须到省市县
// if(latitude==0.0 && longitude==0.0){
// UIUtil.showMsg(this, "请在地图上标记");
// 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;
}
Log.e("时间参数:", btnStartDate.getText().toString().replace("-", "")
+ " " + btnEndDate.getText().toString().replace("-", ""));
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;
WorkTaskNewsBean job;
protected void onPreExecute() {
pd = ProgressDialogStyle.createLoadingDialog(
PostInfoJobsActivityNew.this, "发布中,请稍后");
pd.show();
}
@SuppressLint("NewApi")
@Override
protected String doInBackground(Void... params) {
String msg = "";
// CharSequence btnInfoCategoryText = btnInfoCategory.getText();
CharSequence btnCropCategoryText = btnCropCategory.getText();
CharSequence etScopeText = etScope.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();
job = new WorkTaskNewsBean();
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 < JOB_INFO_TYPE_DictionaryBeans.length; j++) {
if (titleStr.equals(JOB_INFO_TYPE_DictionaryBeans[j].getName())) {
job.setNewsType(JOB_INFO_TYPE_DictionaryBeans[j]);// 信息类别
}
}
for (int j = 0; j < CROP_TYPE_dataDictionaryBeans.length; j++) {
if (zwlb.endsWith(CROP_TYPE_dataDictionaryBeans[j].getName())) {
job.setWorkType(CROP_TYPE_dataDictionaryBeans[j]);//
}
}
job.setMus(UIUtil.tryToInteger(etScopeText.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());
if (0 == latitude && 0 == longitude) {
latitude = application.getLat();
longitude = application.getLon();
}
job.setLatitude(latitude);// latitude = biaoji = 31
int temp = 1;
if (!send_job_to_driver.isChecked()) {
temp = 0;
}
job.setIsPush(temp);
job.setLongitude(longitude);// longitude = biaoji = 31
job.setComments(etCommentsText == null ? "" : etCommentsText
.toString());
Log.e(tag, job.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(PostInfoJobsActivityNew.this, result);
if (!result.equals("信息已发布")) {
WorkTaskBeanLocal wBeLocal = workDbHelper
.getBeanToLocal(job);
wBeLocal.setState(1);
wBeLocal.setPublishType(1);
workDbHelper.create(wBeLocal);
}
} else {
WorkTaskBeanLocal wBeLocal = workDbHelper.getBeanToLocal(job);
wBeLocal.setState(1);
wBeLocal.setPublishType(1);
workDbHelper.create(wBeLocal);
}
PostInfoJobsActivityNew.this.finish();
}
}
/**
* 根据state状态,先查本地是否有本条数据,
* @param showMsg
* @param state
*/
public void saveLocalRecord(int state) {// 保存地图标记均标记
if (!TextUtils.isEmpty(etScope.getText().toString())) {
WorkTaskNewsBean job = new WorkTaskNewsBean();
if (null == Intentlocal) {// 证明bu是第一次进入发布页面
job.setGuid();
job.setAddPersonGuid(user.getGuid());
job.setAddPersonName(user.getUserName());
job.setAddPersonMobileNumber(user.getMobileNumber());
job.setAdminAreaCode(xzqh);
// if (state == 1) {
if (0 == latitude && 0 == longitude) {
latitude = application.getLat();
longitude = application.getLon();
}
// }
int temp = 1;
if (!send_job_to_driver.isChecked()) {
temp = 0;
}
job.setIsPush(temp);
job.setLatitude(latitude);// latitude = biaoji = 31
job.setLongitude(longitude);// longitude = biaoji = 31
job.setCreateDate();
} else {
workDbHelper.deleteByGuid(beanNewsBean.getGuid());
job.setGuid(beanNewsBean.getGuid());
job.setAddPersonGuid(beanNewsBean.getAddPersonGuid());
job.setAddPersonName(beanNewsBean.getAddPersonName());
job.setAddPersonMobileNumber(beanNewsBean
.getAddPersonMobileNumber());
job.setAdminAreaCode(beanNewsBean.getAdminAreaCode());
job.setLatitude(beanNewsBean.getLatitude());// latitude = biaoji
// = 31
job.setIsPush(beanNewsBean.getIsPush());
job.setLongitude(beanNewsBean.getLongitude());// longitude =
// biaoji = 31
job.setCreateDate(beanNewsBean.getCreateDate());
}
for (int j = 0; j < JOB_INFO_TYPE_DictionaryBeans.length; j++) {
if (titleStr.equals(JOB_INFO_TYPE_DictionaryBeans[j].getName())) {
job.setNewsType(JOB_INFO_TYPE_DictionaryBeans[j]);// 信息类别
}
}
for (int j = 0; j < CROP_TYPE_dataDictionaryBeans.length; j++) {
if (zwlb.endsWith(CROP_TYPE_dataDictionaryBeans[j].getName())) {
job.setWorkType(CROP_TYPE_dataDictionaryBeans[j]);//
}
}
job.setMus(TextUtils.isEmpty(etScope.getText().toString()) ? 0
: UIUtil.tryToInteger(etScope.getText().toString()));
job.setMinPrice(TextUtils.isEmpty(min_etPrice.getText().toString()) ? 0.0
: UIUtil.tryToDouble(min_etPrice.getText().toString()));
job.setMaxPrice(TextUtils.isEmpty(max_etPrice.getText().toString()) ? 0.0
: UIUtil.tryToDouble(max_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.getBeanToLocal(job);
wBeanLo.setState(state);
wBeanLo.setPublishType(1);//1表示作业面积发布,2表示商品信息发布3表示农机信息发布
workDbHelper.create(wBeanLo);
workDbHelper.queryAll();
UIUtil.showMsg(PostInfoJobsActivityNew.this, "数据已保存");
}
}
public void clearData() {
etScope.setText("");
min_etPrice.setText("");
max_etPrice.setText("");
etComments.setText("");
btnMap.setText("");
clickEnable(true);
initUI();
}
public interface TaskFinished {
void whenTaskFinish();
}
private void clickEnable(boolean bool) {
UIUtil.setWidgetEnabled(btnCropCategory, bool);// 不可编辑
UIUtil.setWidgetEnabled(etScope, 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);
}
}