Commit 7112ce13 authored by 陈前's avatar 陈前

库存清点

parent 3d1f1ef8
...@@ -38,12 +38,6 @@ public class InventoryActivity extends BaseActivity<InventoryPresenter, Activity ...@@ -38,12 +38,6 @@ public class InventoryActivity extends BaseActivity<InventoryPresenter, Activity
} }
@Override
public void addCsGoodItem(String key) {
// if (ActivityUtils.getTopActivity().equals(this) && FragmentUtils.getTopShow(getSupportFragmentManager()).equals(mInventoryAddFragment)) {
// mInventoryAddFragment.addCsGoodItem(key);
// }
}
@Override @Override
public void showDateFragment() { public void showDateFragment() {
...@@ -52,17 +46,17 @@ public class InventoryActivity extends BaseActivity<InventoryPresenter, Activity ...@@ -52,17 +46,17 @@ public class InventoryActivity extends BaseActivity<InventoryPresenter, Activity
@Override @Override
public void addInventoryDetailItem(CsDetail csDetail, Sssku sssku) { public void addInventoryDetailItem(CsDetail csDetail, Sssku sssku) {
// mInventoryAddFragment.addInventoryDetailItem(csDetail, sssku); mInventoryAddFragment.addInventoryDetailItem(csDetail, sssku);
} }
@Override @Override
public void addInventoryGoodsItem(List<Sssku> ssskuList) { public void addInventoryGoodsItem(List<Sssku> ssskuList) {
// mInventoryAddFragment.addInventoryGoodsItem(ssskuList); mInventoryAddFragment.addInventoryGoodsItem(ssskuList);
} }
@Override @Override
public void addInventoryGoodsItem(Sssku sssku) { public void addInventoryGoodsItem(Sssku sssku) {
// mInventoryAddFragment.addInventoryGoodsItem(sssku); mInventoryAddFragment.addInventoryGoodsItem(sssku);
} }
@Override @Override
......
...@@ -24,15 +24,10 @@ public interface InventoryContract { ...@@ -24,15 +24,10 @@ public interface InventoryContract {
void isShowLoading(Boolean is); void isShowLoading(Boolean is);
/**
* 添加盘库商品条目
*/
void addCsGoodItem(String key);
/** /**
* 跳转日期搜索 * 跳转日期搜索
*/ */
void showDateFragment( ); void showDateFragment();
/** /**
* 设置盘库记录条目数量 * 设置盘库记录条目数量
...@@ -76,7 +71,7 @@ public interface InventoryContract { ...@@ -76,7 +71,7 @@ public interface InventoryContract {
/** /**
* 加载列表 * 加载列表
*/ */
void loadCs(Pager<Cs> csList,long start,long end); void loadCs(Pager<Cs> csList, long start, long end);
/** /**
...@@ -95,7 +90,7 @@ public interface InventoryContract { ...@@ -95,7 +90,7 @@ public interface InventoryContract {
/** /**
* 跳转日期搜索 * 跳转日期搜索
*/ */
public abstract void clickDate( ); public abstract void clickDate();
/** /**
* 盘库添加页面 - 取消退出这次盘库的记录 * 盘库添加页面 - 取消退出这次盘库的记录
...@@ -153,7 +148,7 @@ public interface InventoryContract { ...@@ -153,7 +148,7 @@ public interface InventoryContract {
/** /**
* 获取盘库列表 * 获取盘库列表
*/ */
public abstract void getInventoryList(int pageNum,long start, long end); public abstract void getInventoryList(int pageNum, long start, long end);
/** /**
......
...@@ -34,7 +34,7 @@ public class InventoryAdapter extends BaseAdapter<Cs, ItemInventoryBinding> { ...@@ -34,7 +34,7 @@ public class InventoryAdapter extends BaseAdapter<Cs, ItemInventoryBinding> {
mViewBinding.tvName.setText(item.getOperName()); mViewBinding.tvName.setText(item.getOperName());
mViewBinding.tvPhone.setText(item.getOper_mobile()); mViewBinding.tvPhone.setText(item.getOper_mobile());
mViewBinding.tvDate.setText(TimeUtils.millis2String(item.getCreateTime()) + ""); mViewBinding.tvDate.setText(TimeUtils.millis2String(item.getCreateTime()) + "");
mViewBinding.tvNum.setText(item.getCsdetailCount() + ""); mViewBinding.tvNum.setText(item.getCount() + "");
switch (item.getCsResultFlag()) { switch (item.getCsResultFlag()) {
case 0: case 0:
mViewBinding.tvResult.setText("相符"); mViewBinding.tvResult.setText("相符");
......
package com.xingdata.zzdpos.ui.manage.inventory.adpter;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseAdapter;
import com.xingdata.zzdpos.base.BaseViewHolder;
import com.xingdata.zzdpos.databinding.ItemInventoryCartBinding;
import com.xingdata.zzdpos.databinding.ItemStoreSaledetailBinding;
import com.xingdata.zzdpos.model.CsDetail;
import com.xingdata.zzdpos.model.Saledetail;
import com.xingdata.zzdpos.ui.store.dialog.CartDialog;
import com.xingdata.zzdpos.util.ConvertUtil;
import java.util.List;
public class InventoryCartAdapter extends BaseAdapter<CsDetail, ItemInventoryCartBinding> {
public InventoryCartAdapter(List<CsDetail> csDetailList) {
super(R.layout.item_inventory_cart, csDetailList);
}
private CartDialog.OnCountChangeListener mOnCountChangeListener;
public void setOnCountChangeListener(CartDialog.OnCountChangeListener onCountChangeListener) {
this.mOnCountChangeListener = onCountChangeListener;
}
@Override
protected void convert(ItemInventoryCartBinding mViewBinding, CsDetail item) {
mViewBinding.tvName.setText(item.getSpuName());
mViewBinding.setCount(item.getCsCnt());
}
@Override
protected void convert(BaseViewHolder helper, CsDetail item) {
super.convert(helper, item);
}
}
package com.xingdata.zzdpos.ui.manage.inventory.dialog;
import android.support.design.widget.BottomSheetBehavior;
import android.support.v7.widget.LinearLayoutManager;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseSheetDialog;
import com.xingdata.zzdpos.databinding.DialogStoreCartBinding;
import com.xingdata.zzdpos.model.CsDetail;
import com.xingdata.zzdpos.model.Saledetail;
import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.ui.manage.inventory.adpter.InventoryCartAdapter;
import com.xingdata.zzdpos.ui.store.StorePresenter;
import com.xingdata.zzdpos.ui.store.adapter.SaledetailAdapter;
import java.util.List;
public class CsCartDialog extends BaseSheetDialog<StorePresenter, DialogStoreCartBinding> {
private List<CsDetail> mCsDetails;
public interface OnCountChangeListener {
void onCountChange(Saledetail saledetail, int value);
}
@Override
protected boolean isTransparentBackground() {
return true;
}
@Override
public int getLayoutId() {
return R.layout.dialog_store_cart;
}
@Override
public void initView() {
;
// init C
InventoryCartAdapter mInventoryCartAdapter = new InventoryCartAdapter(mCsDetails);
mViewBinding.rlCart.setAdapter(mInventoryCartAdapter);
mViewBinding.rlCart.setLayoutManager(new LinearLayoutManager(mContext));
// set Other listener
mViewBinding.tvSettle.setOnClickListener(view -> mPresenter.clickSettle());
mViewBinding.tvClear.setOnClickListener(view -> mPresenter.clearCart());
}
@Override
public void onStart() {
super.onStart();
//默认全屏展开
mBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
}
public CsCartDialog setSaledetails(List<CsDetail> csDetailList) {
this.mCsDetails = csDetailList;
return this;
}
@Override
public void onDestroyView() {
mPresenter.exitCartDialog();
super.onDestroyView();
}
}
...@@ -3,6 +3,8 @@ package com.xingdata.zzdpos.ui.manage.inventory.fragment; ...@@ -3,6 +3,8 @@ package com.xingdata.zzdpos.ui.manage.inventory.fragment;
import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.LinearLayoutManager;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.View; import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.widget.TextView;
import com.blankj.utilcode.util.KeyboardUtils; import com.blankj.utilcode.util.KeyboardUtils;
import com.blankj.utilcode.util.TimeUtils; import com.blankj.utilcode.util.TimeUtils;
...@@ -14,10 +16,13 @@ import com.xingdata.zzdpos.base.BaseFragment; ...@@ -14,10 +16,13 @@ import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentInventoryAddBinding; import com.xingdata.zzdpos.databinding.FragmentInventoryAddBinding;
import com.xingdata.zzdpos.model.Cs; import com.xingdata.zzdpos.model.Cs;
import com.xingdata.zzdpos.model.CsDetail; import com.xingdata.zzdpos.model.CsDetail;
import com.xingdata.zzdpos.model.Saledetail;
import com.xingdata.zzdpos.model.Sssku; import com.xingdata.zzdpos.model.Sssku;
import com.xingdata.zzdpos.ui.dialog.PromptDialog; import com.xingdata.zzdpos.ui.dialog.PromptDialog;
import com.xingdata.zzdpos.ui.manage.inventory.InventoryPresenter; import com.xingdata.zzdpos.ui.manage.inventory.InventoryPresenter;
import com.xingdata.zzdpos.ui.manage.inventory.adpter.InventoryGoodsAdapter; import com.xingdata.zzdpos.ui.manage.inventory.adpter.InventoryGoodsAdapter;
import com.xingdata.zzdpos.ui.manage.inventory.dialog.CsCartDialog;
import com.xingdata.zzdpos.util.OnClickListener;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -29,9 +34,14 @@ import java.util.List; ...@@ -29,9 +34,14 @@ import java.util.List;
*/ */
public class InventoryAddFragment extends BaseFragment<InventoryPresenter, FragmentInventoryAddBinding> { public class InventoryAddFragment extends BaseFragment<InventoryPresenter, FragmentInventoryAddBinding> {
private List<CsDetail> leftCsList = new ArrayList<>();
private List<Sssku> rightCsList = new ArrayList<>(); private List<Sssku> topCsList = new ArrayList<>();
private InventoryGoodsAdapter mInventoryGoodsAdapter; private InventoryGoodsAdapter mInventoryGoodsAdapter;
private CsCartDialog mCartDialog = new CsCartDialog();
/**
* 当前购物车信息
*/
private List<CsDetail> bottomCsList = new ArrayList<>();
// private InventoryDetailAdapter mInventoryDetailAdapter; // private InventoryDetailAdapter mInventoryDetailAdapter;
private Cs mCs; private Cs mCs;
private boolean isResult = true; private boolean isResult = true;
...@@ -43,19 +53,28 @@ public class InventoryAddFragment extends BaseFragment<InventoryPresenter, Fragm ...@@ -43,19 +53,28 @@ public class InventoryAddFragment extends BaseFragment<InventoryPresenter, Fragm
@Override @Override
public void initView() { public void initView() {
initData();
initLeftRecycler();
initRightRecycler();
mViewBinding.setCartCount(0);
initRecycler();
mViewBinding.setCartCount(0);
mViewBinding.icTitle.edTitle.setOnKeyListener((v, keyCode, event) -> { mViewBinding.icTitle.edTitle.setOnEditorActionListener(new TextView.OnEditorActionListener() {
if (keyCode == KeyEvent.KEYCODE_ENTER) @Override
if (mViewBinding.icTitle.edTitle.getText().toString().trim().length() != 0) { public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
if (i == EditorInfo.IME_ACTION_SEARCH) {
mPresenter.getProductByBarcode(mViewBinding.icTitle.edTitle.getText().toString()); mPresenter.getProductByBarcode(mViewBinding.icTitle.edTitle.getText().toString());
hideSoftInput(); hideSoftInput();
} }
return false; return false;
}
});
mViewBinding.ivCart.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
if (bottomCsList.size() == 0) {
return;
}
mCartDialog.setSaledetails(bottomCsList).show((BaseActivity) getActivity());
}
}); });
// mViewBinding.btnEnd.setOnClickListener(view -> { // mViewBinding.btnEnd.setOnClickListener(view -> {
// mPresenter.exitInventoryAdd(); // mPresenter.exitInventoryAdd();
...@@ -82,19 +101,10 @@ public class InventoryAddFragment extends BaseFragment<InventoryPresenter, Fragm ...@@ -82,19 +101,10 @@ public class InventoryAddFragment extends BaseFragment<InventoryPresenter, Fragm
} }
private void initLeftRecycler() {
// leftCsList.clear();
// mViewBinding.replenishmentLeftRecycler.setLayoutManager(new LinearLayoutManager(getActivity()));
// mInventoryDetailAdapter = new InventoryDetailAdapter(leftCsList);
// mViewBinding.replenishmentLeftRecycler.setAdapter(mInventoryDetailAdapter);
//
// mViewBinding.setSumNum("0");
// mViewBinding.setFinallyResult("暂无");
}
private void initRightRecycler() { private void initRecycler() {
mViewBinding.recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); mViewBinding.recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
mInventoryGoodsAdapter = new InventoryGoodsAdapter(rightCsList); mInventoryGoodsAdapter = new InventoryGoodsAdapter(topCsList);
mInventoryGoodsAdapter.setOnItemLongClickListener((adapter, view, position) -> { mInventoryGoodsAdapter.setOnItemLongClickListener((adapter, view, position) -> {
PromptDialog delDialog = new PromptDialog(); PromptDialog delDialog = new PromptDialog();
delDialog.setDialogType(PromptDialog.PROMPTDIALOG_SELECT, "是否删除").setClick(new View.OnClickListener() { delDialog.setDialogType(PromptDialog.PROMPTDIALOG_SELECT, "是否删除").setClick(new View.OnClickListener() {
...@@ -132,35 +142,29 @@ public class InventoryAddFragment extends BaseFragment<InventoryPresenter, Fragm ...@@ -132,35 +142,29 @@ public class InventoryAddFragment extends BaseFragment<InventoryPresenter, Fragm
} }
private void initData() {
// if (mCs != null) {
// mViewBinding.setOperName(mCs.getOperName());
// mViewBinding.setDate(TimeUtils.millis2String(mCs.getCreateTime()));
// }
}
public void addInventoryGoodsItem(List<Sssku> list) { public void addInventoryGoodsItem(List<Sssku> list) {
for (Sssku s : list) { for (Sssku s : list) {
if (rightCsList.contains(s)) { if (topCsList.contains(s)) {
ToastUtils.showShort("商品已存在"); ToastUtils.showShort("商品已存在");
} else { } else {
if (leftCsList.contains(s)) { if (bottomCsList.contains(s)) {
ToastUtils.showShort("商品已盘点"); ToastUtils.showShort("商品已盘点");
} else { } else {
rightCsList.add(s); topCsList.add(s);
} }
} }
} }
// mInventoryGoodsAdapter.notifyDataSetChanged(); mInventoryGoodsAdapter.notifyDataSetChanged();
} }
public void addInventoryGoodsItem(Sssku sssku) { public void addInventoryGoodsItem(Sssku sssku) {
if (!rightCsList.contains(sssku)) { if (!topCsList.contains(sssku)) {
if (leftCsList.contains(sssku)) { if (bottomCsList.contains(sssku)) {
ToastUtils.showShort("商品已盘点"); ToastUtils.showShort("商品已盘点");
} else { } else {
rightCsList.add(sssku); topCsList.add(sssku);
} }
} else { } else {
...@@ -168,35 +172,38 @@ public class InventoryAddFragment extends BaseFragment<InventoryPresenter, Fragm ...@@ -168,35 +172,38 @@ public class InventoryAddFragment extends BaseFragment<InventoryPresenter, Fragm
} }
// mInventoryGoodsAdapter.notifyDataSetChanged(); mInventoryGoodsAdapter.notifyDataSetChanged();
} }
public void addInventoryDetailItem(CsDetail csDetail, Sssku sssku) { public void addInventoryDetailItem(CsDetail csDetail, Sssku sssku) {
// if (csDetail.getCsResultFlag() != 0) { if (csDetail.getCsResultFlag() != 0) {
// isResult = false; isResult = false;
// }
// leftCsList.add(csDetail);
// mInventoryDetailAdapter.notifyDataSetChanged();
// mViewBinding.setSumNum(leftCsList.size() + "");
// rightCsList.remove(sssku);
// mInventoryGoodsAdapter.notifyDataSetChanged();
// if (isResult) {
// mViewBinding.setFinallyResult("相符");
// } else {
// mViewBinding.setFinallyResult("不相符");
// }
} }
bottomCsList.add(csDetail);
mViewBinding.setCartCount(getSumNum());
topCsList.remove(sssku);
mInventoryGoodsAdapter.notifyDataSetChanged();
if (isResult) {
mViewBinding.setResult("相符");
} else {
mViewBinding.setResult("不相符");
}
}
private int getSumNum() {
long i = 0;
for (CsDetail csDetail : bottomCsList) {
i = i + csDetail.getCsCnt();
}
return (int) i;
}
public void setCs(Cs cs) { public void setCs(Cs cs) {
mCs = cs; mCs = cs;
mCs.setCsdetailList(leftCsList); mCs.setCsdetailList(bottomCsList);
} }
public void addCsGoodItem(String key) {
// mViewBinding.etKeyword.setText(key);
// mViewBinding.btnSearch.performClick();
}
public void searchGoodsSuc() { public void searchGoodsSuc() {
// mViewBinding.etKeyword.setText(""); // mViewBinding.etKeyword.setText("");
......
...@@ -121,7 +121,7 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin ...@@ -121,7 +121,7 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
@Override @Override
public void showCartDialog(Saleorder saleorder, List<Saledetail> saledetails) { public void showCartDialog(Saleorder saleorder, List<Saledetail> saledetails) {
mCartDialog.setSaleorder(saleorder).setSaledetails(saledetails).show(this); mCartDialog.setSaleorder(saleorder).setSaledetails(saledetails).show(this);
} }
@Override @Override
public void showMsDialog(List<Ms> mss) { public void showMsDialog(List<Ms> mss) {
......
...@@ -9,6 +9,10 @@ ...@@ -9,6 +9,10 @@
<variable <variable
name="cartCount" name="cartCount"
type="int" /> type="int" />
<variable
name="result"
type="String" />
</data> </data>
<android.support.constraint.ConstraintLayout <android.support.constraint.ConstraintLayout
...@@ -78,6 +82,7 @@ ...@@ -78,6 +82,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:textColor="@color/red_guanyu" android:textColor="@color/red_guanyu"
android:text="@{result}"
android:textSize="@dimen/all_sub_title_size" android:textSize="@dimen/all_sub_title_size"
android:textStyle="bold" /> android:textStyle="bold" />
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<import type="android.view.View" />
<variable
name="count"
type="long" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white_caocao"
android:gravity="center"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@dimen/all_margin">
<TextView
android:id="@+id/tv_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:singleLine="true"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
<TextView
android:id="@+id/tv_price"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_marginEnd="@dimen/all_margin"
android:layout_marginStart="@dimen/all_margin"
android:background="@color/gray_kongming" />
</LinearLayout>
</layout>
...@@ -74,21 +74,22 @@ ...@@ -74,21 +74,22 @@
android:textColor="@color/store_product_price" android:textColor="@color/store_product_price"
android:textSize="@dimen/big_text_size" android:textSize="@dimen/big_text_size"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@id/tv_rmb" app:layout_constraintBottom_toBottomOf="@id/tv_price_hint"
app:layout_constraintStart_toEndOf="@id/tv_rmb" app:layout_constraintStart_toEndOf="@id/tv_rmb"
app:layout_constraintTop_toTopOf="@id/tv_price_hint" /> app:layout_constraintTop_toTopOf="@id/tv_price_hint"
/>
<TextView <TextView
android:id="@+id/tv_rmb" android:id="@+id/tv_rmb"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="2dp" android:layout_marginBottom="@dimen/dp_4"
android:text="@string/money_rmb" android:text="@string/money_rmb"
android:textColor="@color/store_product_price" android:textColor="@color/store_product_price"
android:textSize="@dimen/all_text_size_small" android:textSize="@dimen/all_text_size_small"
app:layout_constraintBottom_toBottomOf="@id/tv_price_hint" app:layout_constraintBottom_toBottomOf="@id/tv_price_hint"
app:layout_constraintStart_toEndOf="@+id/tv_price_hint" app:layout_constraintStart_toEndOf="@+id/tv_price_hint"
app:layout_constraintTop_toTopOf="@id/tv_price_hint" /> />
<LinearLayout <LinearLayout
...@@ -153,6 +154,7 @@ ...@@ -153,6 +154,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/all_padding" android:layout_marginTop="@dimen/all_padding"
android:layout_marginStart="@dimen/all_padding_left_right"
android:text="系统库存:" android:text="系统库存:"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintStart_toEndOf="@id/tv_goods_price" app:layout_constraintStart_toEndOf="@id/tv_goods_price"
...@@ -182,7 +184,7 @@ ...@@ -182,7 +184,7 @@
app:layout_constraintTop_toBottomOf="@id/tv_goods_code_hint" /> app:layout_constraintTop_toBottomOf="@id/tv_goods_code_hint" />
<TextView <TextView
android:id="@+id/tv_settle" android:id="@+id/btn_ok"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/shape_red_round_rectangle_more_round" android:background="@drawable/shape_red_round_rectangle_more_round"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment