提交 5c3b17ff authored 作者: lgd's avatar lgd

1.bat页面商店 两步下单

2.//TODO erp用户激活,忘记密码测试,bat,mes,消息,我的,刷新token
上级 b56d982b
......@@ -161,6 +161,14 @@
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.bat.StoreTradingActivity"
android:configChanges="keyboardHidden|orientation"
android:label="下单"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Work.Base"
android:windowSoftInputMode="adjustPan" />
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="com.wd.workoffice.fileprovider"
......
......@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.bean.DepBean;
import com.wd.workoffice.bean.ProcessBean;
import com.wd.workoffice.bean.StockBean;
import com.wd.workoffice.contract.BatSaleContract;
import com.wd.workoffice.model.BatSaleModel;
import com.wd.workoffice.retrofit.WorkObserver;
......@@ -102,7 +103,7 @@ public class BatSalePresenter extends BasePresenter<BatSaleContract.View, BatSal
mView.onError(data.getMessage());
return;
}
// mView.getStock(JSON.parseArray(data.getData().toString(), DepBean.class));
mView.getStock(JSON.parseArray(data.getData().toString(), StockBean.class));
}
});
}
......
......@@ -252,11 +252,21 @@ public interface ApiService {
* @param deptId
* @param customerId
* @param sign 固定值send
* 内部交易和供应一样的 一个参数 deptId
* 坩埚的话参数是3个
* 供应 参数是3个
* 坩埚的话 内部交易一个参数 deptId
* @return
*/
@GET("/stock/search-list")
Observable<BaseBean> getStock(@QueryMap Map<String, Object> param);
/**
* 用户信息
*
* @return
*/
@GET("/sys/user/userInfo")
Observable<BaseBean> userInfo();
}
......@@ -17,6 +17,7 @@ import com.wd.workoffice.bean.workEnum.PermissionType;
import com.wd.workoffice.contract.BatSaleContract;
import com.wd.workoffice.presenter.BatSalePresenter;
import com.wd.workoffice.util.DialogUtils;
import com.wd.workoffice.util.UserKeeper;
import com.wd.workoffice.util.WorkUtils;
import java.util.ArrayList;
......@@ -53,10 +54,9 @@ public class StoreCrucibleActivity extends WorkToolBarActivity implements BatSal
private List<DepBean> depList;
List<String> depNameList = new ArrayList<>();
private DepBean chooseDep;
private Integer supplierId;
private Map<String, Object> stockParam;
private List<StockBean> stockList;
private List<String> stockNameList;
private List<String> stockNameList=new ArrayList<>();
private StockBean chooseStock;
@Override
......@@ -70,8 +70,12 @@ public class StoreCrucibleActivity extends WorkToolBarActivity implements BatSal
@Override
protected void initData() {
batSalePresenter.getDep(PermissionType.PROCESS_CRUCIBLE.getCode());
batSalePresenter.getDep(PermissionType.CRUCIBLE_SELL.getCode());
stockParam = WorkUtils.simpleParam();
stockParam.put("deptId", UserKeeper.getInstance().getUserDepId());
batSalePresenter.getStock(stockParam);
// stockParam.put("sign","send");
// stockParam.put("customerId", UserKeeper.getInstance().getUserId());
}
@Override
......@@ -91,10 +95,6 @@ public class StoreCrucibleActivity extends WorkToolBarActivity implements BatSal
depDialog.show();
break;
case R.id.rl_warehouse:
if (supplierId == null) {
toast("请先选择供应商");
return;
}
stockDialog.show();
break;
case R.id.rl_product:
......@@ -102,16 +102,12 @@ public class StoreCrucibleActivity extends WorkToolBarActivity implements BatSal
toast("请先选择接单部门");
return;
}
if (supplierId == null) {
toast("请先选择供应商");
return;
}
if (chooseStock == null) {
toast("请选择入库仓库");
return;
}
startActivity(StoreSaleProductActivity.class, "depId", chooseDep.getId() + "",
"depName", chooseDep.getName(), "transitPartId", supplierId.toString(), "code", PermissionType.PROCESS_SUPPLY.getCode());
"depName", chooseDep.getName(), "code", PermissionType.PROCESS_CRUCIBLE.getCode());
break;
}
}
......@@ -133,8 +129,6 @@ public class StoreCrucibleActivity extends WorkToolBarActivity implements BatSal
chooseDep = depList.get(which);
tvDep.setText(depNameList.get(which));
dialog.dismiss();
stockParam.put("deptId", chooseDep.getId());
batSalePresenter.getStock(stockParam);
}
});
}
......@@ -149,7 +143,7 @@ public class StoreCrucibleActivity extends WorkToolBarActivity implements BatSal
@Override
public void onClick(DialogInterface dialog, int which) {
chooseStock = stockList.get(which);
tvWarehouse.setText(depNameList.get(which));
tvWarehouse.setText(stockNameList.get(which));
dialog.dismiss();
}
});
......
......@@ -99,7 +99,11 @@ public class StoreOutsourcingActivity extends WorkToolBarActivity implements Bat
depDialog.show();
break;
case R.id.rl_supplier:
startActivityForResult(StoreSaleClientActivity.class, 10002,"code","SUPPLIER");
if (clientId == null) {
toast("请先选择客户");
return;
}
startActivityForResult(StoreSaleClientActivity.class, 10002,"code","SUPPLIER","supplier","选择供应商");
break;
case R.id.rl_process:
if (clientId == null) {
......
......@@ -28,6 +28,7 @@ import butterknife.ButterKnife;
import butterknife.OnClick;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import io.reactivex.disposables.Disposable;
/**
* 商店-销售-选择客户/供应商
* author : flexible
......@@ -56,6 +57,9 @@ public class StoreSaleClientActivity extends WorkToolBarActivity {
@Override
protected void initData() {
if (!TextUtils.isEmpty(getIntent().getStringExtra("supplier"))) {
setTitle(getIntent().getStringExtra("supplier"));
}
clientList = new ArrayList<>();
clientAdapter = new StoreClientAdapter(R.layout.item_store_client, clientList);
clientAdapter.bindToRecyclerView(rvClient);
......@@ -115,12 +119,12 @@ public class StoreSaleClientActivity extends WorkToolBarActivity {
clientAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
if (TextUtils.equals(getIntent().getStringExtra("code"),"CUSTOMER")){
if (TextUtils.equals(getIntent().getStringExtra("code"), "CUSTOMER")) {
Intent intent = new Intent();
intent.putExtra("clientName", clientList.get(position).getName());
intent.putExtra("id", clientList.get(position).getId());
setResult(10001, intent);
}else {
} else {
Intent intent = new Intent();
intent.putExtra("clientName", clientList.get(position).getName());
intent.putExtra("id", clientList.get(position).getId());
......@@ -141,7 +145,7 @@ public class StoreSaleClientActivity extends WorkToolBarActivity {
public void onViewClicked() {
param.put("name", etKey.getText().toString());
param.put("current", 1);
page=1;
page = 1;
getData();
}
}
......@@ -16,6 +16,7 @@ import com.wd.workoffice.bean.workEnum.PermissionType;
import com.wd.workoffice.contract.BatSaleContract;
import com.wd.workoffice.presenter.BatSalePresenter;
import com.wd.workoffice.util.DialogUtils;
import com.wd.workoffice.util.UserKeeper;
import com.wd.workoffice.util.WorkUtils;
import java.util.ArrayList;
......@@ -76,6 +77,8 @@ public class StoreSupplierActivity extends WorkToolBarActivity implements BatSal
protected void initData() {
batSalePresenter.getDep(PermissionType.SUPPLY_SELL.getCode());
stockParam = WorkUtils.simpleParam();
stockParam.put("sign", "SEND");
stockParam.put("deptId", UserKeeper.getInstance().getUserDepId());
}
@Override
......@@ -92,11 +95,11 @@ public class StoreSupplierActivity extends WorkToolBarActivity implements BatSal
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.rl_supplier:
if (supplierId == null) {
if (chooseDep == null) {
toast("请先选择接单部门");
return;
}
startActivityForResult(StoreSaleClientActivity.class, 10002,"code","SUPPLIER");
startActivityForResult(StoreSaleClientActivity.class, 10002, "code", "SUPPLIER", "supplier", "选择供应商");
break;
case R.id.rl_dep:
depDialog.show();
......@@ -144,8 +147,6 @@ public class StoreSupplierActivity extends WorkToolBarActivity implements BatSal
chooseDep = depList.get(which);
tvDep.setText(depNameList.get(which));
dialog.dismiss();
stockParam.put("deptId",chooseDep.getId());
batSalePresenter.getStock(stockParam);
}
});
}
......@@ -160,7 +161,7 @@ public class StoreSupplierActivity extends WorkToolBarActivity implements BatSal
@Override
public void onClick(DialogInterface dialog, int which) {
chooseStock = stockList.get(which);
tvWarehouse.setText(depNameList.get(which));
tvWarehouse.setText(stockNameList.get(which));
dialog.dismiss();
}
});
......@@ -169,10 +170,12 @@ public class StoreSupplierActivity extends WorkToolBarActivity implements BatSal
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 10002 && resultCode == 10002){
if (requestCode == 10002 && resultCode == 10002) {
String clientName = data.getStringExtra("clientName");
supplierId = data.getIntExtra("id", 0);
tvSupplier.setText(clientName);
stockParam.put("customerId", supplierId);
batSalePresenter.getStock(stockParam);
}
}
......
package com.wd.workoffice.ui.activity.bat;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.wd.workoffice.R;
import com.wd.workoffice.app.WorkToolBarActivity;
import com.wd.workoffice.bean.DepBean;
import com.wd.workoffice.bean.ProcessBean;
import com.wd.workoffice.bean.StockBean;
import com.wd.workoffice.bean.workEnum.PermissionType;
import com.wd.workoffice.contract.BatSaleContract;
import com.wd.workoffice.presenter.BatSalePresenter;
import com.wd.workoffice.util.DialogUtils;
import com.wd.workoffice.util.UserKeeper;
import com.wd.workoffice.util.WorkUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
/**
* 商店-坩埚
* author : flexible
* email : lgd19940421@163.com
* github: https://github.com/FlexibleXd
**/
public class StoreTradingActivity extends WorkToolBarActivity implements BatSaleContract.View {
@BindView(R.id.tv_dep)
TextView tvDep;
@BindView(R.id.rl_dep)
RelativeLayout rlDep;
@BindView(R.id.tv_warehouse)
TextView tvWarehouse;
@BindView(R.id.rl_warehouse)
RelativeLayout rlWarehouse;
@BindView(R.id.tv_product)
TextView tvProduct;
@BindView(R.id.rl_product)
RelativeLayout rlProduct;
private BatSalePresenter batSalePresenter;
private QMUIDialog.MenuDialogBuilder depDialog;
private QMUIDialog.MenuDialogBuilder stockDialog;
private List<DepBean> depList;
List<String> depNameList = new ArrayList<>();
private DepBean chooseDep;
private Map<String, Object> stockParam;
private List<StockBean> stockList;
private List<String> stockNameList = new ArrayList<>();
private StockBean chooseStock;
@Override
protected void initView() {
ButterKnife.bind(this);
batSalePresenter = new BatSalePresenter();
batSalePresenter.onAttach(this);
depDialog = DialogUtils.listDialog(this);
stockDialog = DialogUtils.listDialog(this);
}
@Override
protected void initData() {
batSalePresenter.getDep(PermissionType.INSIDE_SELL.getCode());
stockParam = WorkUtils.simpleParam();
stockParam.put("deptId", UserKeeper.getInstance().getUserDepId());
batSalePresenter.getStock(stockParam);
// stockParam.put("sign","send");
// stockParam.put("customerId", UserKeeper.getInstance().getUserId());
}
@Override
protected void initEvent() {
}
@Override
protected int layoutId() {
return R.layout.activity_bat_trading;
}
@OnClick({R.id.rl_product, R.id.rl_warehouse, R.id.rl_dep})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.rl_dep:
depDialog.show();
break;
case R.id.rl_warehouse:
stockDialog.show();
break;
case R.id.rl_product:
if (chooseDep == null) {
toast("请先选择接单部门");
return;
}
if (chooseStock == null) {
toast("请选择入库仓库");
return;
}
startActivity(StoreSaleProductActivity.class, "depId", chooseDep.getId() + "",
"depName", chooseDep.getName(), "code", PermissionType.PROCESS_INSIDE.getCode());
break;
}
}
@Override
public void processList(List<ProcessBean> dataList) {
}
@Override
public void depList(List<DepBean> dataList) {
depList = dataList;
for (DepBean dep : dataList) {
depNameList.add(dep.getName());
}
depDialog.addItems(depNameList.toArray(new String[depNameList.size()]), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
chooseDep = depList.get(which);
tvDep.setText(depNameList.get(which));
dialog.dismiss();
}
});
}
@Override
public void getStock(List<StockBean> dataList) {
stockList = dataList;
for (StockBean dep : dataList) {
stockNameList.add(dep.getName());
}
stockDialog.addItems(stockNameList.toArray(new String[stockNameList.size()]), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
chooseStock = stockList.get(which);
tvWarehouse.setText(stockNameList.get(which));
dialog.dismiss();
}
});
}
}
......@@ -3,16 +3,24 @@ package com.wd.workoffice.ui.fg;
import android.view.View;
import android.widget.TextView;
import com.alibaba.fastjson.JSON;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.wd.workoffice.R;
import com.wd.workoffice.app.BaseBean;
import com.wd.workoffice.app.WorkBaseFg;
import com.wd.workoffice.bean.StockBean;
import com.wd.workoffice.bean.UserInfoBean;
import com.wd.workoffice.bean.vo.BatLayoutVo;
import com.wd.workoffice.retrofit.RtfUtils;
import com.wd.workoffice.retrofit.WorkObserver;
import com.wd.workoffice.ui.activity.bat.StoreCrucibleActivity;
import com.wd.workoffice.ui.activity.bat.StoreOutsourcingActivity;
import com.wd.workoffice.ui.activity.bat.StoreSaleActivity;
import com.wd.workoffice.ui.activity.bat.StoreSupplierActivity;
import com.wd.workoffice.ui.activity.bat.StoreTradingActivity;
import com.wd.workoffice.ui.adapter.BatLayoutAdapter;
import com.wd.workoffice.util.UserKeeper;
import java.util.ArrayList;
import java.util.List;
......@@ -21,6 +29,8 @@ import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
import flexible.xd.android_base.network.rtfhttp.Transformer;
import io.reactivex.disposables.Disposable;
/**
......@@ -86,6 +96,23 @@ public class MainFragment extends WorkBaseFg {
@Override
protected void initData() {
RtfUtils.getRtf().userInfo().compose(Transformer.schedule()).subscribe(new WorkObserver<BaseBean>() {
@Override
public void doOnSubscribe(Disposable d) {
}
@Override
public void onFail(String errorMsg) {
}
@Override
public void onSuccess(BaseBean data) {
if (data.getCode() != 0) {
return;
}
UserKeeper.getInstance().keepUserInfo(data.getData().toString());
}
});
}
......@@ -156,6 +183,7 @@ public class MainFragment extends WorkBaseFg {
startActivity(StoreCrucibleActivity.class);
break;
case 6:
startActivity(StoreTradingActivity.class);
break;
}
......
......@@ -5,6 +5,7 @@ import android.text.TextUtils;
import com.alibaba.fastjson.JSON;
import com.wd.workoffice.bean.TokenBean;
import com.wd.workoffice.bean.UserInfoBean;
import flexible.xd.android_base.utils.SPUtils;
......@@ -16,7 +17,7 @@ public class UserKeeper {
private volatile static UserKeeper keeper;
private SPUtils sp = SPUtils.getInstance("UserKeeper");
private final String LOGIN_INFO = "_LOGIN_INFO";
private final String IS_LOGIN = "_IS_LOGIN";
private final String USER_INFO = "_USER_INFO";
private final String ACCOUNT = "_ACCOUNT";
private UserKeeper() {
......@@ -56,20 +57,44 @@ public class UserKeeper {
}
return tokenBean.getAccess_token();
}
public String getUserId() {
if (TextUtils.isEmpty(sp.getString(LOGIN_INFO))) {
return "";
}
TokenBean tokenBean = JSON.parseObject(sp.getString(LOGIN_INFO), TokenBean.class);
if (tokenBean == null || tokenBean.getUserId()==0) {
if (tokenBean == null || tokenBean.getUserId() == 0) {
return "";
}
return tokenBean.getUserId() + "";
}
public void keepUserInfo(String info) {
sp.put(USER_INFO, info);
}
public String getUserInfo() {
return sp.getString(USER_INFO);
}
public void clearUserInfo() {
sp.put(USER_INFO, "");
}
public String getUserDepId() {
if (TextUtils.isEmpty(sp.getString(USER_INFO))) {
return "";
}
UserInfoBean infoBean = JSON.parseObject(sp.getString(USER_INFO), UserInfoBean.class);
if (infoBean == null || infoBean.getOfDept() == null) {
return "";
}
return tokenBean.getUserId()+"";
return infoBean.getOfDept().getId() + "";
}
public void clearAll() {
clearLoginInfo();
// clearLogin();
clearUserInfo();
// clearAccount();
}
}
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="60mm"
android:layout_centerInParent="true"
android:gravity="center"
android:text="第一步"
android:textColor="#ff9eaab1"
android:textSize="16sp" />
<RelativeLayout
android:id="@+id/rl_dep"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="22mm">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:gravity="center_vertical">
<View
android:layout_width="12mm"
android:layout_height="12mm"
android:background="#ff3f617f" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10mm"
android:text="选择接单部门"
android:textSize="16sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:gravity="center_vertical">
<TextView
android:id="@+id/tv_dep"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10mm"
android:text="请选择接单部门"
android:textSize="16sp"
android:textStyle="bold" />
<ImageView
android:layout_width="6mm"
android:layout_height="10mm"
android:background="@mipmap/arrow_right_blue" />
</LinearLayout>
</RelativeLayout>
<RelativeLayout
android:id="@+id/rl_warehouse"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="22mm">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:gravity="center_vertical">
<View
android:layout_width="12mm"
android:layout_height="12mm"
android:layout_centerVertical="true"
android:background="#E3AD6E" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10mm"
android:text="选择入库仓库"
android:textSize="16sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:gravity="center_vertical">
<TextView
android:id="@+id/tv_warehouse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10mm"
android:text="请选择入库仓库"
android:textSize="16sp"
android:textStyle="bold" />
<ImageView
android:layout_width="6mm"
android:layout_height="10mm"
android:background="@mipmap/arrow_right_blue" />
</LinearLayout>
</RelativeLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="60mm"
android:layout_centerInParent="true"
android:gravity="center"
android:text="第二步"
android:textColor="#ff9eaab1"
android:textSize="16sp" />
<!--Product selection-->
<RelativeLayout
android:id="@+id/rl_product"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/white"
android:gravity="center"
android:paddingHorizontal="20mm"
android:paddingVertical="22mm">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:gravity="center_vertical">
<View
android:layout_width="12mm"
android:layout_height="12mm"
android:background="#359486" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10mm"
android:text="选择产品"
android:textSize="16sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:gravity="center_vertical">
<TextView
android:id="@+id/tv_product"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10mm"
android:textSize="16sp"
android:textStyle="bold" />
<ImageView
android:layout_width="6mm"
android:layout_height="10mm"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="@mipmap/arrow_right_blue" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论