|
|
@@ -8,7 +8,9 @@ import android.support.v7.widget.LinearLayoutManager;
|
|
|
import android.support.v7.widget.RecyclerView;
|
|
|
import android.text.Editable;
|
|
|
import android.text.TextUtils;
|
|
|
+import android.view.KeyEvent;
|
|
|
import android.view.LayoutInflater;
|
|
|
+import android.view.MenuItem;
|
|
|
import android.view.View;
|
|
|
import android.view.ViewGroup;
|
|
|
import android.widget.BaseAdapter;
|
|
|
@@ -44,7 +46,6 @@ 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.TestStr;
|
|
|
import com.uas.appworks.OA.platform.adapter.PurchaseDetailsAdapter;
|
|
|
import com.uas.appworks.OA.platform.model.Purchase;
|
|
|
import com.uas.appworks.R;
|
|
|
@@ -62,12 +63,14 @@ import java.util.Map;
|
|
|
|
|
|
public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartHttpListener {
|
|
|
|
|
|
- private long varId;
|
|
|
+ private String varId;
|
|
|
private String varStatus;
|
|
|
|
|
|
private RecyclerView mRecyclerView;
|
|
|
private PurchaseDetailsAdapter mAdapter;
|
|
|
|
|
|
+ private boolean changeStatus;
|
|
|
+
|
|
|
@Override
|
|
|
protected int getLayoutId() {
|
|
|
return R.layout.activity_purchase_details;
|
|
|
@@ -83,17 +86,34 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
protected void init() throws Exception {
|
|
|
Intent intent = getIntent();
|
|
|
if (intent != null) {
|
|
|
- varId = intent.getLongExtra(Constants.FLAG.KEY_PURCHASE_ID, 0);
|
|
|
+ varId = intent.getStringExtra(Constants.FLAG.KEY_PURCHASE_ID);
|
|
|
varStatus = intent.getStringExtra(Constants.FLAG.KEY_PURCHASE_STATUS);
|
|
|
}
|
|
|
if (varStatus == null) {
|
|
|
varStatus = "";
|
|
|
}
|
|
|
- getSupportActionBar().setTitle(varStatus);
|
|
|
+ changeStatus = false;
|
|
|
+ setStatus();
|
|
|
initView();
|
|
|
initData();
|
|
|
}
|
|
|
|
|
|
+ private void setStatus() {
|
|
|
+ String title = "";
|
|
|
+ switch (varStatus) {
|
|
|
+ case Constants.FLAG.STATE_CUSTOMER_INQUIRY_END:
|
|
|
+ title = "已结案";
|
|
|
+ break;
|
|
|
+ case Constants.FLAG.STATE_CUSTOMER_INQUIRY_DONE:
|
|
|
+ title = "已回复";
|
|
|
+ break;
|
|
|
+ case Constants.FLAG.STATE_CUSTOMER_INQUIRY_TODO:
|
|
|
+ title = "待回复";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ getSupportActionBar().setTitle(title);
|
|
|
+ }
|
|
|
+
|
|
|
private void initView() {
|
|
|
mRecyclerView = findViewById(R.id.mRecyclerView);
|
|
|
mRecyclerView.setLayoutManager(new LinearLayoutManager(ct));
|
|
|
@@ -107,7 +127,6 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
|
|
|
|
|
|
private void loadData() {
|
|
|
- varId = 937370;
|
|
|
int enuu = 10041559;
|
|
|
String phone = "15671616315";
|
|
|
Parameter.Builder builder = new Parameter.Builder();
|
|
|
@@ -126,34 +145,40 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
|
|
|
private void verifiReply(List<Purchase> purchases) {
|
|
|
replyNumber = 0;
|
|
|
- for (Purchase purchase : purchases) {
|
|
|
- if (!TextUtils.isEmpty(purchase.getDate()) &&
|
|
|
- !TextUtils.isEmpty(purchase.getNumber()) &&
|
|
|
- !TextUtils.isEmpty(purchase.getRemarksInput())) {
|
|
|
- reply(purchase);
|
|
|
+ List<Map<String, Object>> mapList = new ArrayList<>();
|
|
|
+ for (int i = 1; i < purchases.size(); i++) {
|
|
|
+ Purchase purchase = purchases.get(i);
|
|
|
+ if (!TextUtils.isEmpty(purchase.getDate()) && purchase.isCanInput()) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("qty", StringUtil.getFirstInt(purchase.getNumber(), 0));
|
|
|
+ map.put("delivery", DateFormatUtil.str2Long(purchase.getDate(), DateFormatUtil.YMD));//
|
|
|
+ map.put("remark", purchase.getRemarksInput());
|
|
|
+ map.put("pdId", purchase.getId());
|
|
|
+ mapList.add(map);
|
|
|
}
|
|
|
}
|
|
|
+ if (!ListUtils.isEmpty(mapList)) {
|
|
|
+ String json = JSONUtil.map2JSON(mapList);
|
|
|
+ reply(json);
|
|
|
+ } else {
|
|
|
+ LogUtil.i("没有可以提交的明细表单");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- private void reply(Purchase purchases) {
|
|
|
+ private void reply(String json) {
|
|
|
replyNumber++;
|
|
|
int enuu = 10041559;
|
|
|
String phone = "15671616315";
|
|
|
Parameter.Builder builder = new Parameter.Builder();
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("qty", purchases.getNumber());
|
|
|
- map.put("delivery", DateFormatUtil.str2Long(purchases.getDate(), DateFormatUtil.YMD));//
|
|
|
- map.put("remark", purchases.getRemarksInput());
|
|
|
- String json = JSONUtil.map2JSON(map);
|
|
|
LogUtil.i("json=" + json);
|
|
|
builder.mode(Method.POST)
|
|
|
- .url("mobile/sale/orders/items/" + purchases.getId() + "/reply")
|
|
|
+ .url("mobile/sale/orders/reply")
|
|
|
.addParams("en_uu", enuu)
|
|
|
.addParams("json", json)
|
|
|
+ .addParams("user_tel", phone)
|
|
|
.record(0x12)
|
|
|
.showLog(true)
|
|
|
- .autoProgress(true)
|
|
|
- .addParams("user_tel", phone);
|
|
|
+ .autoProgress(true);
|
|
|
requestHttp(builder, this);
|
|
|
}
|
|
|
|
|
|
@@ -182,7 +207,7 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
if (replyNumber == 0) {
|
|
|
Toast.makeText(MyApplication.getInstance(), "回复成功", Toast.LENGTH_SHORT).show();
|
|
|
if (this != null) {
|
|
|
- this.finish();
|
|
|
+ loadData();
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
@@ -192,6 +217,11 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
@Override
|
|
|
public void onFailure(int what, String message, Tags tag) throws Exception {
|
|
|
ToastUtil.showToast(ct, message);
|
|
|
+ if (0x12 == what && StringUtil.isEmpty(message) && this != null) {
|
|
|
+ loadData();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -200,6 +230,7 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
@Override
|
|
|
public void run() {
|
|
|
JSONObject object = JSON.parseObject(message);
|
|
|
+ setVarStatus(object);
|
|
|
final List<Purchase> dataList = new ArrayList<>();
|
|
|
dataList.add(getPurchase(true, object));
|
|
|
JSONArray orderItems = JSONUtil.getJSONArray(object, "orderItems");
|
|
|
@@ -211,6 +242,7 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
OAHttpHelper.getInstance().post(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
+ setStatus();
|
|
|
setData2Adapter(dataList);
|
|
|
}
|
|
|
});
|
|
|
@@ -218,6 +250,30 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ private void setVarStatus(JSONObject object) {
|
|
|
+ String end = JSONUtil.getText(object, "end");
|
|
|
+ if (!TextUtils.isEmpty(end) && "1".equals(end)) {
|
|
|
+ if (!varStatus.equals(Constants.FLAG.STATE_PURCHASE_ORDER_END)) {
|
|
|
+ changeStatus = true;
|
|
|
+ varStatus = Constants.FLAG.STATE_PURCHASE_ORDER_END;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ String status = JSONUtil.getText(object, "status");
|
|
|
+ String reply = JSONUtil.getText(object, "reply");
|
|
|
+ if ("200".equals(status)) {
|
|
|
+ if (!varStatus.equals(Constants.FLAG.STATE_PURCHASE_ORDER_TODO)) {
|
|
|
+ changeStatus = true;
|
|
|
+ varStatus = Constants.FLAG.STATE_PURCHASE_ORDER_TODO;
|
|
|
+ }
|
|
|
+ } else if ("201".equals(status) && "1".equals(reply)) {
|
|
|
+ if (!varStatus.equals(Constants.FLAG.STATE_PURCHASE_ORDER_DONE)) {
|
|
|
+ changeStatus = true;
|
|
|
+ varStatus = Constants.FLAG.STATE_PURCHASE_ORDER_DONE;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
private Purchase getPurchase(boolean first, JSONObject object) {
|
|
|
Purchase purchase = new Purchase();
|
|
|
@@ -228,11 +284,12 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
String number = JSONUtil.getText(object, "qty");//数量
|
|
|
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 ;//总额|产品规格
|
|
|
+ String alls;//总额|产品规格
|
|
|
if (first) {
|
|
|
code = JSONUtil.getText(object, "code");//采购单号
|
|
|
remarks = JSONUtil.getText(object, "remark");//备注
|
|
|
@@ -243,6 +300,7 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
remarks = JSONUtil.getText(product, "title");
|
|
|
alls = JSONUtil.getText(product, "spec");
|
|
|
}
|
|
|
+ purchase.setCanInput(status == 200);
|
|
|
purchase.setId(id);
|
|
|
purchase.setCode(code);
|
|
|
purchase.setCustomer(client);
|
|
|
@@ -255,4 +313,23 @@ public class PurchaseDetailsActivity extends BaseNetActivity implements OnSmartH
|
|
|
purchase.setRemarksInput(replyRemark);
|
|
|
return purchase;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean onOptionsItemSelected(MenuItem item) {
|
|
|
+ if (item.getItemId() == android.R.id.home) {
|
|
|
+ if (changeStatus) {
|
|
|
+ setResult(0x12, new Intent().putExtra(Constants.FLAG.KEY_PURCHASE_STATUS, varStatus));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return super.onOptionsItemSelected(item);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean onKeyDown(int keyCode, KeyEvent event) {
|
|
|
+ if (keyCode == KeyEvent.KEYCODE_BACK && changeStatus) {
|
|
|
+ setResult(0x12, new Intent().putExtra(Constants.FLAG.KEY_PURCHASE_STATUS, varStatus));
|
|
|
+ }
|
|
|
+ return super.onKeyDown(keyCode, event);
|
|
|
+ }
|
|
|
}
|