|
|
@@ -1,18 +1,17 @@
|
|
|
package com.uas.appworks.OA.platform.activity;
|
|
|
|
|
|
import android.content.Intent;
|
|
|
-import android.support.v7.widget.DividerItemDecoration;
|
|
|
import android.support.v7.widget.LinearLayoutManager;
|
|
|
import android.support.v7.widget.RecyclerView;
|
|
|
import android.text.TextUtils;
|
|
|
import android.view.KeyEvent;
|
|
|
import android.view.MenuItem;
|
|
|
-import android.widget.LinearLayout;
|
|
|
import android.widget.Toast;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.common.LogUtil;
|
|
|
import com.common.data.DateFormatUtil;
|
|
|
import com.common.data.JSONUtil;
|
|
|
import com.common.data.ListUtils;
|
|
|
@@ -21,12 +20,14 @@ import com.common.thread.ThreadPool;
|
|
|
import com.core.app.Constants;
|
|
|
import com.core.app.MyApplication;
|
|
|
import com.core.net.http.http.OAHttpHelper;
|
|
|
+import com.core.utils.CommonUtil;
|
|
|
import com.core.utils.ToastUtil;
|
|
|
import com.me.network.app.http.Method;
|
|
|
import com.modular.apputils.activity.BaseNetActivity;
|
|
|
import com.modular.apputils.listener.OnSmartHttpListener;
|
|
|
import com.modular.apputils.network.Parameter;
|
|
|
import com.modular.apputils.network.Tags;
|
|
|
+import com.modular.apputils.utils.RecyclerItemDecoration;
|
|
|
import com.uas.appworks.OA.platform.adapter.PurchaseDetailsAdapter;
|
|
|
import com.uas.appworks.OA.platform.model.Purchase;
|
|
|
import com.uas.appworks.R;
|
|
|
@@ -45,6 +46,7 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
|
|
|
private String varId;
|
|
|
private String varStatus;
|
|
|
+ private String enUU;
|
|
|
|
|
|
private RecyclerView mRecyclerView;
|
|
|
private PurchaseDetailsAdapter mAdapter;
|
|
|
@@ -66,8 +68,12 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
protected void init() throws Exception {
|
|
|
Intent intent = getIntent();
|
|
|
if (intent != null) {
|
|
|
- varId = intent.getStringExtra(Constants.FLAG.KEY_PURCHASE_ID);
|
|
|
- varStatus = intent.getStringExtra(Constants.FLAG.KEY_PURCHASE_STATUS);
|
|
|
+ varId = intent.getStringExtra(Constants.FLAG.EXTRA_B2B_LIST_ID);
|
|
|
+ varStatus = intent.getStringExtra(Constants.FLAG.EXTRA_B2B_LIST_STATE);
|
|
|
+ enUU = intent.getStringExtra(Constants.FLAG.EXTRA_B2B_LIST_ENUU);
|
|
|
+ if (TextUtils.isEmpty(enUU)) {
|
|
|
+ enUU = CommonUtil.getSharedPreferences(mContext, Constants.CACHE.B2B_BUSINESS_ENUU);
|
|
|
+ }
|
|
|
}
|
|
|
if (varStatus == null) {
|
|
|
varStatus = "";
|
|
|
@@ -97,7 +103,7 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
private void initView() {
|
|
|
mRecyclerView = findViewById(R.id.mRecyclerView);
|
|
|
mRecyclerView.setLayoutManager(new LinearLayoutManager(ct));
|
|
|
- mRecyclerView.addItemDecoration(new DividerItemDecoration(ct, LinearLayout.VERTICAL));
|
|
|
+ mRecyclerView.addItemDecoration(new RecyclerItemDecoration(1));
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -107,8 +113,8 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
|
|
|
|
|
|
private void loadData() {
|
|
|
- int enuu = 10041559;
|
|
|
- String phone = "15671616315";
|
|
|
+ showProgress();
|
|
|
+ String phone = MyApplication.getInstance().mLoginUser.getTelephone();
|
|
|
Parameter.Builder builder = new Parameter.Builder();
|
|
|
String url = "mobile/sale/orders/" + varId + "/info";//卖方
|
|
|
builder.mode(Method.GET)
|
|
|
@@ -116,15 +122,14 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
.record(0x11)
|
|
|
.showLog(true)
|
|
|
.autoProgress(true)
|
|
|
- .addParams("en_uu", enuu)
|
|
|
+ .addParams("en_uu", enUU)
|
|
|
.addParams("user_tel", phone);
|
|
|
requestHttp(builder, this);
|
|
|
}
|
|
|
|
|
|
- private int replyNumber;
|
|
|
+ private boolean replyed;
|
|
|
|
|
|
private void verifiReply(List<Purchase> purchases) {
|
|
|
- replyNumber = 0;
|
|
|
List<Map<String, Object>> mapList = new ArrayList<>();
|
|
|
for (int i = 1; i < purchases.size(); i++) {
|
|
|
Purchase purchase = purchases.get(i);
|
|
|
@@ -141,18 +146,16 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
String json = JSONUtil.map2JSON(mapList);
|
|
|
reply(json);
|
|
|
} else {
|
|
|
- ToastUtil.showToast(ct,"没有可以提交的明细表单");
|
|
|
+ ToastUtil.showToast(ct, "没有可以提交的明细表单");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void reply(String json) {
|
|
|
- replyNumber++;
|
|
|
- int enuu = 10041559;
|
|
|
- String phone = "15671616315";
|
|
|
+ String phone = MyApplication.getInstance().mLoginUser.getTelephone();
|
|
|
Parameter.Builder builder = new Parameter.Builder();
|
|
|
builder.mode(Method.POST)
|
|
|
.url("mobile/sale/orders/reply")
|
|
|
- .addParams("en_uu", enuu)
|
|
|
+ .addParams("en_uu", enUU)
|
|
|
.addParams("json", json)
|
|
|
.addParams("user_tel", phone)
|
|
|
.record(0x12)
|
|
|
@@ -181,15 +184,13 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
handleMessage(message);
|
|
|
break;
|
|
|
case 0x12:
|
|
|
- replyNumber--;
|
|
|
- if (replyNumber == 0) {
|
|
|
- Toast.makeText(MyApplication.getInstance(), "回复成功", Toast.LENGTH_SHORT).show();
|
|
|
- if (!this.isFinishing()) {
|
|
|
- loadData();
|
|
|
- }
|
|
|
+ if (!this.isFinishing()) {
|
|
|
+ replyed = true;
|
|
|
+ loadData();
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
+ dismissProgress();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -208,18 +209,34 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
JSONObject object = JSON.parseObject(message);
|
|
|
setVarStatus(object);
|
|
|
final List<Purchase> dataList = new ArrayList<>();
|
|
|
- dataList.add(getPurchase(true, object));
|
|
|
JSONArray orderItems = JSONUtil.getJSONArray(object, "orderItems");
|
|
|
+
|
|
|
+ Purchase mainPurchase = getPurchase(true, object);
|
|
|
+ float top = 0;
|
|
|
if (!ListUtils.isEmpty(orderItems)) {
|
|
|
+ Purchase purchase = null;
|
|
|
for (int i = 0; i < orderItems.size(); i++) {
|
|
|
- dataList.add(getPurchase(false, orderItems.getJSONObject(i)));
|
|
|
+ purchase = getPurchase(false, orderItems.getJSONObject(i));
|
|
|
+ dataList.add(purchase);
|
|
|
+ try {
|
|
|
+ top += Float.valueOf(purchase.getAmount());
|
|
|
+ } catch (Exception e) {
|
|
|
+ LogUtil.i("e=" + e.getMessage());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ mainPurchase.setTotal(String.valueOf(top));
|
|
|
+ dataList.add(0, mainPurchase);
|
|
|
OAHttpHelper.getInstance().post(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
setStatus();
|
|
|
- setData2Adapter(dataList);
|
|
|
+ if (replyed) {
|
|
|
+ Toast.makeText(MyApplication.getInstance(), "回复成功", Toast.LENGTH_SHORT).show();
|
|
|
+ finish();
|
|
|
+ } else {
|
|
|
+ setData2Adapter(dataList);
|
|
|
+ }
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
@@ -254,38 +271,45 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
private Purchase getPurchase(boolean first, JSONObject object) {
|
|
|
Purchase purchase = new Purchase();
|
|
|
int id = JSONUtil.getInt(object, "id");
|
|
|
- String client = JSONUtil.getText(object, "receiveName");//客户
|
|
|
String address = JSONUtil.getText(object, "shipAddress");//收货地址
|
|
|
- String time = DateFormatUtil.long2Str(JSONUtil.getLong(object, "erpDate", "date"), DateFormatUtil.YMD_HMS);//单据时间
|
|
|
- String number = JSONUtil.getText(object, "qty");//数量
|
|
|
+ String time = DateFormatUtil.long2Str(JSONUtil.getLong(object, "erpDate", "date"), DateFormatUtil.YMD);//单据时间
|
|
|
String date = DateFormatUtil.long2Str(JSONUtil.getLong(object, "replyDelivery", "delivery"), DateFormatUtil.YMD);//交货日期
|
|
|
String replyRemark = JSONUtil.getText(object, "replyRemark");//采购单号
|
|
|
int status = JSONUtil.getInt(object, "status");//状态
|
|
|
-
|
|
|
-
|
|
|
String code;//采购单号
|
|
|
String remarks;//备注|产品
|
|
|
String alls;//总额|产品规格
|
|
|
if (first) {
|
|
|
+ String currency = JSONUtil.getText(object, "currency");//采购单号
|
|
|
code = JSONUtil.getText(object, "code");//采购单号
|
|
|
remarks = JSONUtil.getText(object, "remark");//备注
|
|
|
alls = JSONUtil.getText(object, "amount");//总额
|
|
|
+ JSONObject enterprise = JSONUtil.getJSONObject(object, "enterprise");//客户
|
|
|
+ String client = JSONUtil.getText(enterprise, "enName");
|
|
|
+ purchase.setCurrency(currency);
|
|
|
+ purchase.setCustomer(client);
|
|
|
} else {
|
|
|
JSONObject product = JSONUtil.getJSONObject(object, "product");
|
|
|
- code = JSONUtil.getText(product, "cmpCode");
|
|
|
+ code = JSONUtil.getText(product, "code");
|
|
|
remarks = JSONUtil.getText(product, "title");
|
|
|
alls = JSONUtil.getText(product, "spec");
|
|
|
+ String unit = JSONUtil.getText(product, "unit");
|
|
|
+ String amount = JSONUtil.getText(object, "amount");
|
|
|
+ String price = JSONUtil.getText(object, "price");
|
|
|
+ String number = JSONUtil.getText(object, "qty");//数量
|
|
|
+ purchase.setNumber(number);
|
|
|
+ purchase.setAmount(amount);
|
|
|
+ purchase.setPrice(price);
|
|
|
+ purchase.setUnit(unit);
|
|
|
}
|
|
|
purchase.setCanInput(status == 200);
|
|
|
purchase.setId(id);
|
|
|
purchase.setCode(code);
|
|
|
- purchase.setCustomer(client);
|
|
|
purchase.setAddress(address);
|
|
|
purchase.setTime(time);
|
|
|
purchase.setRemarks(remarks);
|
|
|
purchase.setTotal(alls);
|
|
|
purchase.setDate(date);
|
|
|
- purchase.setNumber(number);
|
|
|
purchase.setRemarksInput(replyRemark);
|
|
|
return purchase;
|
|
|
}
|
|
|
@@ -295,7 +319,7 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
public boolean onOptionsItemSelected(MenuItem item) {
|
|
|
if (item.getItemId() == android.R.id.home) {
|
|
|
if (changeStatus) {
|
|
|
- setResult(Constants.FLAG.RESULT_PURCHASE_ORDER, new Intent().putExtra(Constants.FLAG.KEY_PURCHASE_STATUS, varStatus));
|
|
|
+ setResult(Constants.FLAG.RESULT_PURCHASE_ORDER, new Intent().putExtra(Constants.FLAG.EXTRA_B2B_LIST_STATE, varStatus));
|
|
|
}
|
|
|
}
|
|
|
return super.onOptionsItemSelected(item);
|
|
|
@@ -304,7 +328,7 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
@Override
|
|
|
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
|
|
if (keyCode == KeyEvent.KEYCODE_BACK && changeStatus) {
|
|
|
- setResult(Constants.FLAG.RESULT_PURCHASE_ORDER, new Intent().putExtra(Constants.FLAG.KEY_PURCHASE_STATUS, varStatus));
|
|
|
+ setResult(Constants.FLAG.RESULT_PURCHASE_ORDER, new Intent().putExtra(Constants.FLAG.EXTRA_B2B_LIST_STATE, varStatus));
|
|
|
}
|
|
|
return super.onKeyDown(keyCode, event);
|
|
|
}
|