/**============================================================
* 版权: 久其软件 版权所有 (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.SupplyAndDemandTaskNewsBean;
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.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;
/**
* 商品供需发布
* Copyright: 版权所有 (c)<br>
* Company: 久其
* @author liyue
* @version 2013-6-28
*/
@TargetApi(Build.VERSION_CODES.FROYO)
public class PostInfoGoodsActivity extends Activity implements OnClickListener {
private String tag = this.getClass().getName();
// mark值见
// com.jiuqi.mobile.nigo.comeclose.bean.app.news.SupplyAndDemandTaskNewsBean
private Button btnInfoCategory;
private Button btnGoodsCategory;
private EditText etGoodsName;
private EditText etAmount;
private Button btnUnit;
private EditText etPrice;
private Button btnStartDate;
private Button btnEndDate;
private EditText etContacts;
private EditText etPhone;
private Button btnProvince;
private EditText etXianShi;
private Button btnMap;
private EditText etComments;
private Button btnSubmit;
private SubmitInfoAsyncTask submitInfoAsyncTask;
private boolean isStartDateValidate, isEndDateValidate;
private CModuleBean moduleBean;
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;
/**
* 供需信息类别:"供应发布","求需发布"
*/
private DataDictionaryBean[] SUPPLY_DEMAND_INFO_TYPE_DictionaryBeans;// 信息类别
/**
* 商品类别:"农业机械","粮食作物","瓜果蔬菜","化肥农药","农业物资"
*/
private DataDictionaryBean[] GOODS_TYPE_DictionaryBeans;// 商品类别
/**
* 单位:"个","瓶","箱","袋","辆","亩","斤"
*/
private DataDictionaryBean[] UNIT_DictionaryBeans;// 单位类别
private String splb, jldw;
private String titleStr = "";
//保存
private boolean clickBtn = false;
private int stateQB = 0;
private String[] strArrayContentB;
private String[] strArrayContentC;
private WorkTaskBeanLocal Intentlocal;
private WorkTaskNewsBeanDBHelper workDbHelper;
private SupplyAndDemandTaskNewsBean sApBean;
private WorkTaskBeanLocal wBeanLo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
application = (MyApp) getApplication();
sharePre = new OptsharepreInterface(PostInfoGoodsActivity.this);
Intentlocal = (WorkTaskBeanLocal) getIntent().getSerializableExtra(
"localbean");
if (null == workDbHelper) {
workDbHelper = new WorkTaskNewsBeanDBHelper(
PostInfoGoodsActivity.this);
}
doinit();
}
private void doinit() {
initWidgets();
initParam();
initListeners();
if (null == Intentlocal) {
initUI();
}
}
@SuppressLint("NewApi")
private void initParam() {
// 信息类别
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;
// 商品类别
GOODS_TYPE_DictionaryBeans = new DataDictionaryBean[6];
DataDictionaryBean nyjx = new DataDictionaryBean();
nyjx.setCode(1);
nyjx.setMark(10302);
nyjx.setName("农业机械");
DataDictionaryBean lszw = new DataDictionaryBean();
lszw.setCode(2);
lszw.setMark(10302);
lszw.setName("粮食作物");
DataDictionaryBean ggsc = new DataDictionaryBean();
ggsc.setCode(3);
ggsc.setMark(10302);
ggsc.setName("瓜果蔬菜");
DataDictionaryBean hfny = new DataDictionaryBean();
hfny.setCode(4);
hfny.setMark(10302);
hfny.setName("化肥农药");
DataDictionaryBean wywz = new DataDictionaryBean();
wywz.setCode(5);
wywz.setMark(10302);
wywz.setName("农业物资");
DataDictionaryBean esnj = new DataDictionaryBean();
esnj.setCode(6);
esnj.setMark(10302);
esnj.setName("二手农机");
GOODS_TYPE_DictionaryBeans[0] = nyjx;
GOODS_TYPE_DictionaryBeans[1] = lszw;
GOODS_TYPE_DictionaryBeans[2] = ggsc;
GOODS_TYPE_DictionaryBeans[3] = hfny;
GOODS_TYPE_DictionaryBeans[4] = wywz;
GOODS_TYPE_DictionaryBeans[5] = esnj;
// 单位类别10303; // 莫迪的类里面给出的mark值
UNIT_DictionaryBeans = new DataDictionaryBean[7];
DataDictionaryBean ge = new DataDictionaryBean();
ge.setCode(1);
ge.setMark(10303);
ge.setName("个");
DataDictionaryBean ping = new DataDictionaryBean();
ping.setCode(2);
ping.setMark(10303);
ping.setName("瓶");
DataDictionaryBean xiang = new DataDictionaryBean();
xiang.setCode(3);
xiang.setMark(10303);
xiang.setName("箱");
DataDictionaryBean dai = new DataDictionaryBean();
dai.setCode(4);
dai.setMark(10303);
dai.setName("袋");
DataDictionaryBean liang = new DataDictionaryBean();
liang.setCode(5);
liang.setMark(10303);
liang.setName("辆");
DataDictionaryBean mu = new DataDictionaryBean();
mu.setCode(6);
mu.setMark(10303);
mu.setName("亩");
DataDictionaryBean jin = new DataDictionaryBean();
jin.setCode(7);
jin.setMark(10303);
jin.setName("斤");
UNIT_DictionaryBeans[0] = ge;
UNIT_DictionaryBeans[1] = ping;
UNIT_DictionaryBeans[2] = xiang;
UNIT_DictionaryBeans[3] = dai;
UNIT_DictionaryBeans[4] = liang;
UNIT_DictionaryBeans[5] = mu;
UNIT_DictionaryBeans[6] = jin;
// final String[] strArrayContentA = Constants
// .getNames(SUPPLY_DEMAND_INFO_TYPE_DictionaryBeans);
strArrayContentB = Constants
.getNames(GOODS_TYPE_DictionaryBeans);
strArrayContentC = Constants
.getNames(UNIT_DictionaryBeans);
if (null == Intentlocal) {
if (strArrayContentB.length > 0) {
splb = strArrayContentB[0];
btnGoodsCategory.setText(strArrayContentB[0]);
}
if (strArrayContentC.length > 0) {
jldw = strArrayContentC[0];
btnUnit.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表示的是分钟
sApBean = workDbHelper.getLocalToBeanForSupply(Intentlocal);
if (Intentlocal.getState() == 1) {
clickEnable(false);
}
if (null != sApBean) {
// zwlb = sApBean.getGoodsType().getName();// 小麦
titleStr = sApBean.getNewsType().getName();// 机收
splb = sApBean.getGoodsType().getName();//商品类别
jldw = sApBean.getGoodsUnit().getName();//计量单位
xzqh = sApBean.getAdminAreaCode();// 地区
btnGoodsCategory.setText(splb);
btnUnit.setText(jldw);
btnProvince.setText(sApBean.getAdminAreaCode()
.getFullName());// 省市县
etGoodsName.setText(sApBean.getGoodsName());
etAmount.setText(sApBean.getCount() == 0 ?"":sApBean.getCount()+""
);
etPrice.setText(sApBean.getPrice()== 0.0 ? ""
: sApBean.getPrice() + "");
btnStartDate.setText(sdf.format(sApBean.getStartDate()));
btnEndDate.setText(sdf.format(sApBean.getEndDate()));
etContacts.setText(sApBean.getContactor());
etPhone.setText(sApBean.getContactMobileNumber());
etXianShi.setText(sApBean.getAddress());
if (sApBean.getLatitude() != 0
&& sApBean.getLongitude() != 0) {
btnMap.setText("已标记");
}
etComments.setText(sApBean.getComments() == null ? ""
: sApBean.getComments());
}
}
btnGoodsCategory.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
DialogWithList.Builder dialog = new DialogWithList.Builder(
PostInfoGoodsActivity.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) {
btnGoodsCategory
.setText(strArrayContentB[which]);
splb = strArrayContentB[which];
dialog.dismiss();
}
});
dialog.create().show();
}
});
btnUnit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
DialogWithList.Builder dialog = new DialogWithList.Builder(
PostInfoGoodsActivity.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) {
btnUnit.setText(strArrayContentC[which]);
jldw = strArrayContentC[which];
dialog.dismiss();
}
});
dialog.create().show();
}
});
}
private void initWidgets() {
setContentView(R.layout.post_info_goods_activity);
ViewStub rlTitleBar = (ViewStub) findViewById(R.id.titleBarStub);
moduleBean = (CModuleBean) getIntent().getSerializableExtra(
Constants.PARAM_MODULEBEAN);
if (null != moduleBean) {
titleStr = UIUtil.convertModuleTypeToString(moduleBean
.getModuleFlag());
} else {
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) {
PostInfoGoodsActivity.this.finish();
}
});
btnInfoCategory = (Button) findViewById(R.id.btnInfoCategory);
btnGoodsCategory = (Button) findViewById(R.id.btnGoodsCategory);
etGoodsName = (EditText) findViewById(R.id.etGoodsName);
etAmount = (EditText) findViewById(R.id.etAmount);
btnUnit = (Button) findViewById(R.id.btnUnit);
etPrice = (EditText) findViewById(R.id.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);
}
private void initListeners() {
btnSubmit.setOnClickListener(this);
btnStartDate.setOnClickListener(this);
btnEndDate.setOnClickListener(this);
btnMap.setOnClickListener(this);
btnProvince.setOnClickListener(this);
}
private 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"));
if (null != xzqh) {
btnProvince.setText(xzqh.getFullName());
}
}
@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 (doValidate()) {
if (UIUtil.isCheckPhone(etPhone.getText().toString())) {
if (new CheckStateInterface(PostInfoGoodsActivity.this).checkConnection()) {
stateQB = 1;
submitInfoAsyncTask = new SubmitInfoAsyncTask();
submitInfoAsyncTask.execute();
}else {
saveLocalRecord(1);// 4、离线提交
clearData();
}
} else {
UIUtil.showMsg(PostInfoGoodsActivity.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[] {
btnGoodsCategory, etGoodsName, etAmount, 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, etPrice };
// for (TextView w : widgets) {
// ro = validator.val(w.getText());
// if (!ro.isSuccess) {
// UIUtil.showMsg(this, ro.getErrorMessage());
// w.requestFocus();
// 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;
}
} else {
UIUtil.showMsg(this, "请选择省市县(详细到县级)");
}
return true;
}
/**
* 提交信息,访问网络时必须变成异步任务才可以提交,2.3规则。
*/
private class SubmitInfoAsyncTask extends AsyncTask<Void, Void, String> {
Dialog pd = null;
SupplyAndDemandTaskNewsBean job;
protected void onPreExecute() {
pd = ProgressDialogStyle.createLoadingDialog(
PostInfoGoodsActivity.this, "发布中,请稍后");
pd.show();
}
@Override
protected String doInBackground(Void... params) {
String msg = "";
CharSequence btnInfoCategoryText = btnInfoCategory.getText();
CharSequence btnGoodsCategoryText = btnGoodsCategory.getText();
CharSequence etGoodsNameText = etGoodsName.getText();
CharSequence etAmountText = etAmount.getText();
CharSequence btnUnitText = btnUnit.getText();
CharSequence etPriceText = 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 SupplyAndDemandTaskNewsBean();
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 < SUPPLY_DEMAND_INFO_TYPE_DictionaryBeans.length; j++) {
if (titleStr.replaceAll("发布", "").equals(SUPPLY_DEMAND_INFO_TYPE_DictionaryBeans[j]
.getName())) {
job.setNewsType(SUPPLY_DEMAND_INFO_TYPE_DictionaryBeans[j]);// 信息类别
}
}
for (int j = 0; j < GOODS_TYPE_DictionaryBeans.length; j++) {
if (splb.equals(GOODS_TYPE_DictionaryBeans[j].getName())) {
job.setGoodsType(GOODS_TYPE_DictionaryBeans[j]);//
}
}
for (int j = 0; j < UNIT_DictionaryBeans.length; j++) {
if (jldw.equals(UNIT_DictionaryBeans[j].getName())) {
job.setGoodsUnit(UNIT_DictionaryBeans[j]);//
}
}
job.setGoodsName(etGoodsNameText.toString());
job.setCount(UIUtil.tryToDouble(etAmountText.toString()));
job.setPrice(UIUtil.tryToDouble(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(PostInfoGoodsActivity.this, result);
if (!result.equals("信息已发布")) {
WorkTaskBeanLocal wBeLocal = workDbHelper
.getBeanToLocalForSupply(job);
wBeLocal.setState(1);
wBeLocal.setPublishType(2);
workDbHelper.create(wBeLocal);
}
} else {
WorkTaskBeanLocal wBeLocal = workDbHelper.getBeanToLocalForSupply(job);
wBeLocal.setState(1);
wBeLocal.setPublishType(2);
workDbHelper.create(wBeLocal);
}
PostInfoGoodsActivity.this.finish();
}
}
@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);
}
}
}
}
/**
* 根据state状态,先查本地是否有本条数据,
* @param showMsg
* @param state
*/
public void saveLocalRecord(int state) {// 保存地图标记均标记
if (!TextUtils.isEmpty(etGoodsName.getText().toString())) {
SupplyAndDemandTaskNewsBean job = new SupplyAndDemandTaskNewsBean();
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(sApBean.getGuid());
job.setGuid(sApBean.getGuid());
job.setAddPersonGuid(sApBean.getAddPersonGuid());
job.setAddPersonName(sApBean.getAddPersonName());
job.setAddPersonMobileNumber(sApBean.getAddPersonMobileNumber());
job.setAdminAreaCode(sApBean.getAdminAreaCode());
job.setLatitude(sApBean.getLatitude());// latitude = biaoji
job.setLongitude(sApBean.getLongitude());// longitude =
job.setCreateDate(sApBean.getCreateDate());
}
for (int j = 0; j < SUPPLY_DEMAND_INFO_TYPE_DictionaryBeans.length; j++) {
if (titleStr.replaceAll("发布", "").equals(SUPPLY_DEMAND_INFO_TYPE_DictionaryBeans[j]
.getName())) {
job.setNewsType(SUPPLY_DEMAND_INFO_TYPE_DictionaryBeans[j]);// 信息类别
}
}
for (int j = 0; j < GOODS_TYPE_DictionaryBeans.length; j++) {
if (splb.equals(GOODS_TYPE_DictionaryBeans[j].getName())) {
job.setGoodsType(GOODS_TYPE_DictionaryBeans[j]);//
}
}
for (int j = 0; j < UNIT_DictionaryBeans.length; j++) {
if (jldw.equals(UNIT_DictionaryBeans[j].getName())) {
job.setGoodsUnit(UNIT_DictionaryBeans[j]);//
}
}
job.setGoodsName(etGoodsName.getText().toString());
job.setCount(UIUtil.tryToDouble(etAmount.getText().toString()));
job.setPrice(UIUtil.tryToDouble(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.getBeanToLocalForSupply(job);
wBeanLo.setState(state);
wBeanLo.setPublishType(2);//1表示作业面积发布,2表示商品信息发布3表示农机信息发布
workDbHelper.create(wBeanLo);
workDbHelper.queryAll();
UIUtil.showMsg(PostInfoGoodsActivity.this, "数据已保存");
}
}
public void clearData() {
etGoodsName.setText("");
etAmount.setText("");
etPrice.setText("");
etComments.setText("");
btnMap.setText("");
etXianShi.setText("");
splb = strArrayContentB[0];
btnGoodsCategory.setText(strArrayContentB[0]);
jldw = strArrayContentC[0];
btnUnit.setText(strArrayContentC[0]);
clickEnable(true);
initUI();
}
private void clickEnable(boolean bool) {
UIUtil.setWidgetEnabled(btnGoodsCategory, bool);
UIUtil.setWidgetEnabled(etGoodsName, bool);// 不可编辑
UIUtil.setWidgetEnabled(etAmount, bool);
UIUtil.setWidgetEnabled(etPrice, bool);
UIUtil.setWidgetEnabled(btnUnit, 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);
}
}