提交 d8a61489 authored 作者: lgd's avatar lgd

1.修改内部交易分页问题

上级 55a83884
......@@ -28,7 +28,7 @@ public interface BatChooseInfoContract {
Observable<BaseBean> getStock(Map<String,Object> param);
Observable<BaseBean> getTradingPro(String code);
Observable<BaseBean> getTradingPro(Map<String, Object> param );
Observable<BaseBean> getTradingProList(Map<String,Object> param);
}
......@@ -55,7 +55,7 @@ public interface BatChooseInfoContract {
void getStock(Map<String,Object> param);
void getTradingPro(String code);
void getTradingPro(Map<String, Object> param );
void getTradingProList(Map<String,Object> param);
}
......
......@@ -7,6 +7,7 @@ import com.wd.workoffice.retrofit.RtfUtils;
import java.util.Map;
import io.reactivex.Observable;
import retrofit2.http.QueryMap;
/**
* author : flexible
......@@ -33,8 +34,8 @@ public class BatChooseInfoModel implements BatChooseInfoContract.Model {
}
@Override
public Observable<BaseBean> getTradingPro(String code) {
return RtfUtils.getRtf().tradingProDialog(code);
public Observable<BaseBean> getTradingPro( Map<String, Object> param ) {
return RtfUtils.getRtf().tradingProDialog(param);
}
@Override
......
package com.wd.workoffice.presenter;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.bean.ProcessBean;
import com.wd.workoffice.bean.ProductBean;
......@@ -114,9 +115,9 @@ public class BatChooseInfoPresenter extends BasePresenter<BatChooseInfoContract.
}
@Override
public void getTradingPro(String code) {
public void getTradingPro(Map<String, Object> param) {
mView.showLoading();
mModel.getTradingPro(code).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseBean>() {
mModel.getTradingPro(param).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseBean>() {
@Override
public void doOnSubscribe(Disposable d) {
mDisposable.add(d);
......@@ -135,7 +136,8 @@ public class BatChooseInfoPresenter extends BasePresenter<BatChooseInfoContract.
mView.onError(data.getMessage());
return;
}
mView.getTradingPro(JSON.parseArray(data.getData().toString(), ProductBean.RecordsBean.class));
ProductBean jsonData = JSON.parseObject(data.getData().toString(), ProductBean.class);
mView.getTradingPro(jsonData.getRecords());
}
});
}
......
......@@ -1176,13 +1176,20 @@ public interface ApiService {
@GET("/stockQuantity/return-stock/page/list")
Observable<BaseBean> tradingPro(@QueryMap Map<String, Object> param);
// /**
// * 获取产品去向(搜索置换产品)
// *
// * @return
// */
// @GET("/product/search-list")
// Observable<BaseBean> tradingProDialog(@QueryMap Map<String, Object> param);
/**
* 获取产品去向(搜索置换产品)
*
* @return
*/
@GET("/product/search-list")
Observable<BaseBean> tradingProDialog(@Query("soleCode") String soleCode);
@GET("/product/page/list")
Observable<BaseBean> tradingProDialog(@QueryMap Map<String, Object> param);
/**
* 获取产品去向(搜索置换产品)
......
......@@ -100,6 +100,7 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose
private List<ProductBean.RecordsBean> proList;
private StoreProductAdapter proAdapter;
private int page = 1;
private int insidePage = 1;
private String type;
private Integer clientId;
private BatChooseInfoPresenter batChooseInfoPresenter;
......@@ -119,6 +120,7 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose
private List<TradingBean.RecordsBean> tradingProductList;
private TradingProductAdapter tradingProductAdapter;
private Map<String, Object> tradeParam;
private Map<String, Object> insideParam;
private StockBean chooseSendStock;
private BadgeCarProvider mActionProvider;
private TradingProDetailAdapter tradingProDetailAdapter;
......@@ -135,43 +137,6 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose
changeView();
}
private void changeView() {
switch (type) {
case "1":
permissionCode = PermissionType.PROCESS_SALE.getCode();
llSupplier.setVisibility(View.GONE);
break;
case "2":
permissionCode = PermissionType.PROCESS_PURCHASE.getCode();
break;
case "3":
permissionCode = PermissionType.PROCESS_SUPPLY.getCode();
llClient.setVisibility(View.GONE);
llSendStock.setVisibility(View.GONE);
tvCommonDesc.setText("入库仓库");
tvCommonContent.setHint("请选择入库仓库");
break;
case "4":
break;
case "5":
permissionCode = PermissionType.PROCESS_CRUCIBLE.getCode();
llClient.setVisibility(View.GONE);
llSupplier.setVisibility(View.GONE);
llSendStock.setVisibility(View.GONE);
tvCommonDesc.setText("入库仓库");
tvCommonContent.setHint("请选择入库仓库");
break;
case "6":
permissionCode = PermissionType.PROCESS_INSIDE.getCode();
llClient.setVisibility(View.GONE);
llSupplier.setVisibility(View.GONE);
llSendStock.setVisibility(View.GONE);
tvCommonDesc.setText("入库仓库");
tvCommonContent.setHint("请选择入库仓库");
break;
}
}
@Override
protected void initData() {
proList = new ArrayList<>();
......@@ -185,6 +150,8 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose
proAdapter.setEmptyView(R.layout.view_empty_order, rvData);
param = WorkUtils.pageKey();
tradeParam = WorkUtils.pageKey();
insideParam = WorkUtils.pageKey();
insideParam.put("current", 1);
param.put("current", 1);
param.put("processType", permissionCode);
param.put("outDeptId", getIntent().getStringExtra("deptId"));
......@@ -239,6 +206,7 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_store_cart, menu);
......@@ -263,103 +231,6 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose
return super.onOptionsItemSelected(item);
}
private boolean goCar() {
if (TextUtils.equals("6", type)) {
if (chooseStock == null) {
toast("请选择入库仓库");
return true;
}
if (tradingCarList.size() == 0) {
toast("购物车没有产品");
return true;
}
startActivity(StoreTradingCarActivity.class,
"pro", JSON.toJSONString(tradingCarList),
"supplierId", supplyId == null ? "" : supplyId.toString(),
"subProcess", chooseProcess == null ? "" : chooseProcess.getName(),
"subProcessId", chooseProcess == null ? "" : chooseProcess.getId() + "",
"inStockId", chooseStock == null ? "" : chooseStock.getId() + "",
"customerId", clientId == null ? "" : clientId.toString(),
"receiveDeptId", getIntent().getStringExtra("deptId"),
"code", permissionCode);
} else {
if (carList.size() == 0) {
toast("购物车没有产品");
return true;
}
switch (type) {
case "1":
if (clientId == null) {
toast("请选择客户");
return true;
}
if (chooseStock == null) {
toast("请选择入库仓库");
return true;
}
if (chooseSendStock == null) {
toast("请选择发货仓库");
return true;
}
break;
case "2":
if (clientId == null) {
toast("请选择客户");
return true;
}
if (supplyId == null) {
toast("请选择供应商");
return true;
}
if (chooseStock == null) {
toast("请选择入库仓库");
return true;
}
if (chooseSendStock == null) {
toast("请选择发货仓库");
return true;
}
break;
case "3":
if (supplyId == null) {
toast("请先选择供应商");
return true;
}
if (chooseStock == null) {
toast("请选择入库仓库");
return true;
}
break;
case "4":
break;
case "5":
if (chooseStock == null) {
toast("请选择入库仓库");
return true;
}
break;
case "6":
if (chooseStock == null) {
toast("请选择入库仓库");
return true;
}
break;
}
startActivity(StoreSaleCarActivity.class,
"pro", JSON.toJSONString(carList),
"supplierId", supplyId == null ? "" : supplyId.toString(),
"subProcess", chooseProcess == null ? "" : chooseProcess.getName(),
"subProcessId", chooseProcess == null ? "" : chooseProcess.getId() + "",
"inStockId", chooseStock == null ? "" : chooseStock.getId() + "",
"intoStore", chooseStock == null ? "" : chooseStock.getId() + "",
"outerStore", chooseSendStock == null ? "" : chooseSendStock.getId() + "",
"customerId", clientId == null ? "" : clientId.toString(),
"receiveDeptId", getIntent().getStringExtra("deptId"),
"code", permissionCode);
}
return false;
}
@Override
protected int layoutId() {
return R.layout.activity_main_choose_info;
......@@ -631,10 +502,26 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose
@Override
public void getTradingPro(List<ProductBean.RecordsBean> list) {
toast("搜索完成");
// toast("搜索完成");
// changeProList.clear();
// changeProList.addAll(list);
// tradingProDetailAdapter.notifyDataSetChanged();
if (insidePage == 1) {
changeProList.clear();
changeProList.addAll(list);
tradingProDetailAdapter.notifyDataSetChanged();
tradingProDetailAdapter.loadMoreComplete();
} else {
tradingProDetailAdapter.loadMoreComplete();
changeProList.addAll(list);
tradingProDetailAdapter.notifyDataSetChanged();
}
if (list.size() == 0) {
tradingProDetailAdapter.loadMoreEnd();
} else {
insidePage++;
}
}
@Override
......@@ -694,62 +581,141 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose
}
}
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
private void changeView() {
switch (type) {
case "1":
permissionCode = PermissionType.PROCESS_SALE.getCode();
llSupplier.setVisibility(View.GONE);
break;
case "2":
permissionCode = PermissionType.PROCESS_PURCHASE.getCode();
break;
case "3":
permissionCode = PermissionType.PROCESS_SUPPLY.getCode();
llClient.setVisibility(View.GONE);
llSendStock.setVisibility(View.GONE);
tvCommonDesc.setText("入库仓库");
tvCommonContent.setHint("请选择入库仓库");
break;
case "4":
break;
case "5":
permissionCode = PermissionType.PROCESS_CRUCIBLE.getCode();
llClient.setVisibility(View.GONE);
llSupplier.setVisibility(View.GONE);
llSendStock.setVisibility(View.GONE);
tvCommonDesc.setText("入库仓库");
tvCommonContent.setHint("请选择入库仓库");
break;
case "6":
permissionCode = PermissionType.PROCESS_INSIDE.getCode();
llClient.setVisibility(View.GONE);
llSupplier.setVisibility(View.GONE);
llSendStock.setVisibility(View.GONE);
tvCommonDesc.setText("入库仓库");
tvCommonContent.setHint("请选择入库仓库");
break;
}
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(ModifyCarEvent event) {
String pro = event.getPro();
private boolean goCar() {
if (TextUtils.equals("6", type)) {
tradingCarList.clear();
tradingCarList.addAll(JSON.parseArray(pro, TradingBean.RecordsBean.class));
for (TradingBean.RecordsBean tradingPro : tradingProductList) {//购物车信息置空
tradingPro.setChooseNum(null);
tradingPro.setChooseName(null);
tradingPro.setChangePro(null);
if (chooseStock == null) {
toast("请选择入库仓库");
return true;
}
for (TradingBean.RecordsBean recordsBean : tradingCarList) {//判断购物车信息,添加信息
for (TradingBean.RecordsBean bean : tradingProductList) {
if (bean.getId() == recordsBean.getId()) {
bean.setChooseNum(recordsBean.getChooseNum());
bean.setChooseName(recordsBean.getChooseName());
bean.setChangePro(recordsBean.getChangePro());
if (tradingCarList.size() == 0) {
toast("购物车没有产品");
return true;
}
startActivity(StoreTradingCarActivity.class,
"pro", JSON.toJSONString(tradingCarList),
"supplierId", supplyId == null ? "" : supplyId.toString(),
"subProcess", chooseProcess == null ? "" : chooseProcess.getName(),
"subProcessId", chooseProcess == null ? "" : chooseProcess.getId() + "",
"inStockId", chooseStock == null ? "" : chooseStock.getId() + "",
"customerId", clientId == null ? "" : clientId.toString(),
"receiveDeptId", getIntent().getStringExtra("deptId"),
"code", permissionCode);
} else {
if (carList.size() == 0) {
toast("购物车没有产品");
return true;
}
switch (type) {
case "1":
if (clientId == null) {
toast("请选择客户");
return true;
}
tradingProductAdapter.notifyDataSetChanged();
} else {
carList.clear();
carList.addAll(JSON.parseArray(pro, ProductBean.RecordsBean.class));
for (ProductBean.RecordsBean proInfo : proList) {//购物车信息置空
proInfo.setCarNum(null);
proInfo.setCarPrice(null);
if (chooseStock == null) {
toast("请选择入库仓库");
return true;
}
for (ProductBean.RecordsBean recordsBean : carList) {
for (ProductBean.RecordsBean bean : proList) {
if (bean.getId() == recordsBean.getId()) {
bean.setCarNum(recordsBean.getCarNum());
bean.setCarPrice(recordsBean.getCarPrice());
if (chooseSendStock == null) {
toast("请选择发货仓库");
return true;
}
break;
case "2":
if (clientId == null) {
toast("请选择客户");
return true;
}
if (supplyId == null) {
toast("请选择供应商");
return true;
}
proAdapter.notifyDataSetChanged();
if (chooseStock == null) {
toast("请选择入库仓库");
return true;
}
changeCarBadge();
if (chooseSendStock == null) {
toast("请选择发货仓库");
return true;
}
break;
case "3":
if (supplyId == null) {
toast("请先选择供应商");
return true;
}
if (chooseStock == null) {
toast("请选择入库仓库");
return true;
}
break;
case "4":
break;
case "5":
if (chooseStock == null) {
toast("请选择入库仓库");
return true;
}
break;
case "6":
if (chooseStock == null) {
toast("请选择入库仓库");
return true;
}
break;
}
startActivity(StoreSaleCarActivity.class,
"pro", JSON.toJSONString(carList),
"supplierId", supplyId == null ? "" : supplyId.toString(),
"subProcess", chooseProcess == null ? "" : chooseProcess.getName(),
"subProcessId", chooseProcess == null ? "" : chooseProcess.getId() + "",
"inStockId", chooseStock == null ? "" : chooseStock.getId() + "",
"intoStore", chooseStock == null ? "" : chooseStock.getId() + "",
"outerStore", chooseSendStock == null ? "" : chooseSendStock.getId() + "",
"customerId", clientId == null ? "" : clientId.toString(),
"receiveDeptId", getIntent().getStringExtra("deptId"),
"code", permissionCode);
}
return false;
}
/**
* 普通选择产品
*
......@@ -764,7 +730,7 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose
AddAndReduceView num = view.findViewById(R.id.ar_num);
EditText etPrice = view.findViewById(R.id.et_price);
WorkUtils.addDecimalsListener(etPrice);
etPrice.setText(MathUtils.converData(data.getInternalPrice(),3));
etPrice.setText(MathUtils.converData(data.getInternalPrice(), 3));
if (TextUtils.equals(permissionCode, PermissionType.PROCESS_SUPPLY.getCode())) {
llPrice.setVisibility(View.GONE);
} else {
......@@ -848,7 +814,13 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose
changeProList = new ArrayList<>();
tradingProDetailAdapter = new TradingProDetailAdapter(R.layout.item_trading_product_dialog, changeProList);
tradingProDetailAdapter.bindToRecyclerView(rvProduct);
tradingProDetailAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
@Override
public void onLoadMoreRequested() {
insideParam.put("current", insidePage);
batChooseInfoPresenter.getTradingPro(insideParam);
}
}, rvProduct);
builder.setView(view);
AlertDialog addCartDialog = builder.create();
tvSearch.setOnClickListener(new View.OnClickListener() {
......@@ -858,7 +830,10 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose
toast("请输入搜索关键字");
return;
}
batChooseInfoPresenter.getTradingPro(tvKey.getText().toString());
insidePage = 1;
insideParam.put("current", insidePage);
insideParam.put("name", tvKey.getText().toString());
batChooseInfoPresenter.getTradingPro(insideParam);
}
});
tvOk.setOnClickListener(new View.OnClickListener() {
......@@ -889,6 +864,13 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose
addCartDialog.show();
}
/**
* 內部添加购物车
*
* @param quantity
* @param data
* @param number
*/
private void addCartInside(TradingBean.RecordsBean quantity, List<ProductBean.RecordsBean> data, String number) {
for (ProductBean.RecordsBean bean : data) {
bean.setCarNum(number);
......@@ -924,4 +906,59 @@ public class ChooseInfoActivity extends WorkToolBarActivity implements BatChoose
mActionProvider.setBadgeVisibility(View.GONE);
}
}
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(ModifyCarEvent event) {
String pro = event.getPro();
if (TextUtils.equals("6", type)) {
tradingCarList.clear();
tradingCarList.addAll(JSON.parseArray(pro, TradingBean.RecordsBean.class));
for (TradingBean.RecordsBean tradingPro : tradingProductList) {//购物车信息置空
tradingPro.setChooseNum(null);
tradingPro.setChooseName(null);
tradingPro.setChangePro(null);
}
for (TradingBean.RecordsBean recordsBean : tradingCarList) {//判断购物车信息,添加信息
for (TradingBean.RecordsBean bean : tradingProductList) {
if (bean.getId() == recordsBean.getId()) {
bean.setChooseNum(recordsBean.getChooseNum());
bean.setChooseName(recordsBean.getChooseName());
bean.setChangePro(recordsBean.getChangePro());
}
}
}
tradingProductAdapter.notifyDataSetChanged();
} else {
carList.clear();
carList.addAll(JSON.parseArray(pro, ProductBean.RecordsBean.class));
for (ProductBean.RecordsBean proInfo : proList) {//购物车信息置空
proInfo.setCarNum(null);
proInfo.setCarPrice(null);
}
for (ProductBean.RecordsBean recordsBean : carList) {
for (ProductBean.RecordsBean bean : proList) {
if (bean.getId() == recordsBean.getId()) {
bean.setCarNum(recordsBean.getCarNum());
bean.setCarPrice(recordsBean.getCarPrice());
}
}
}
proAdapter.notifyDataSetChanged();
}
changeCarBadge();
}
}
......@@ -220,28 +220,28 @@ public class StoreTradingProductActivity extends WorkToolBarActivity {
private void getDialogDetail(TradingBean.RecordsBean soleCode) {
showLoading();
RtfUtils.getRtf().tradingProDialog(soleCode.getProductSoleCode()).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
hideLoading();
toast(errorMsg);
}
@Override
public void onSuccess(BaseBean data) {
hideLoading();
if (data.getCode() != 0) {
toast(data.getMessage());
return;
}
List<ProductBean.RecordsBean> productBean = JSON.parseArray(data.getData().toString(), ProductBean.RecordsBean.class);
openDialog(soleCode, productBean);
}
});
// RtfUtils.getRtf().tradingProDialog(soleCode.getProductSoleCode()).compose(Transformer.schedule()).subscribe(new WorkObserver<BaseBean>() {
// @Override
// public void doOnSubscribe(Disposable d) {
// }
//
// @Override
// public void onFail(String errorMsg) {
// hideLoading();
// toast(errorMsg);
// }
//
// @Override
// public void onSuccess(BaseBean data) {
// hideLoading();
// if (data.getCode() != 0) {
// toast(data.getMessage());
// return;
// }
// List<ProductBean.RecordsBean> productBean = JSON.parseArray(data.getData().toString(), ProductBean.RecordsBean.class);
// openDialog(soleCode, productBean);
// }
// });
}
@Override
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论