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

库存清点

parent 3d1f1ef8
......@@ -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
public void showDateFragment() {
......@@ -52,17 +46,17 @@ public class InventoryActivity extends BaseActivity<InventoryPresenter, Activity
@Override
public void addInventoryDetailItem(CsDetail csDetail, Sssku sssku) {
// mInventoryAddFragment.addInventoryDetailItem(csDetail, sssku);
mInventoryAddFragment.addInventoryDetailItem(csDetail, sssku);
}
@Override
public void addInventoryGoodsItem(List<Sssku> ssskuList) {
// mInventoryAddFragment.addInventoryGoodsItem(ssskuList);
mInventoryAddFragment.addInventoryGoodsItem(ssskuList);
}
@Override
public void addInventoryGoodsItem(Sssku sssku) {
// mInventoryAddFragment.addInventoryGoodsItem(sssku);
mInventoryAddFragment.addInventoryGoodsItem(sssku);
}
@Override
......
......@@ -24,15 +24,10 @@ public interface InventoryContract {
void isShowLoading(Boolean is);
/**
* 添加盘库商品条目
*/
void addCsGoodItem(String key);
/**
* 跳转日期搜索
*/
void showDateFragment( );
void showDateFragment();
/**
* 设置盘库记录条目数量
......@@ -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 {
/**
* 跳转日期搜索
*/
public abstract void clickDate( );
public abstract void clickDate();
/**
* 盘库添加页面 - 取消退出这次盘库的记录
......@@ -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> {
mViewBinding.tvName.setText(item.getOperName());
mViewBinding.tvPhone.setText(item.getOper_mobile());
mViewBinding.tvDate.setText(TimeUtils.millis2String(item.getCreateTime()) + "");
mViewBinding.tvNum.setText(item.getCsdetailCount() + "");
mViewBinding.tvNum.setText(item.getCount() + "");
switch (item.getCsResultFlag()) {
case 0:
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;
import android.support.v7.widget.LinearLayoutManager;
import android.view.KeyEvent;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.widget.TextView;
import com.blankj.utilcode.util.KeyboardUtils;
import com.blankj.utilcode.util.TimeUtils;
......@@ -14,10 +16,13 @@ import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentInventoryAddBinding;
import com.xingdata.zzdpos.model.Cs;
import com.xingdata.zzdpos.model.CsDetail;
import com.xingdata.zzdpos.model.Saledetail;
import com.xingdata.zzdpos.model.Sssku;
import com.xingdata.zzdpos.ui.dialog.PromptDialog;
import com.xingdata.zzdpos.ui.manage.inventory.InventoryPresenter;
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;
......@@ -29,9 +34,14 @@ import java.util.List;
*/
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 CsCartDialog mCartDialog = new CsCartDialog();
/**
* 当前购物车信息
*/
private List<CsDetail> bottomCsList = new ArrayList<>();
// private InventoryDetailAdapter mInventoryDetailAdapter;
private Cs mCs;
private boolean isResult = true;
......@@ -43,19 +53,28 @@ public class InventoryAddFragment extends BaseFragment<InventoryPresenter, Fragm
@Override
public void initView() {
initData();
initLeftRecycler();
initRightRecycler();
mViewBinding.setCartCount(0);
initRecycler();
mViewBinding.setCartCount(0);
mViewBinding.icTitle.edTitle.setOnKeyListener((v, keyCode, event) -> {
if (keyCode == KeyEvent.KEYCODE_ENTER)
if (mViewBinding.icTitle.edTitle.getText().toString().trim().length() != 0) {
mViewBinding.icTitle.edTitle.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
if (i == EditorInfo.IME_ACTION_SEARCH) {
mPresenter.getProductByBarcode(mViewBinding.icTitle.edTitle.getText().toString());
hideSoftInput();
}
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 -> {
// mPresenter.exitInventoryAdd();
......@@ -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()));
mInventoryGoodsAdapter = new InventoryGoodsAdapter(rightCsList);
mInventoryGoodsAdapter = new InventoryGoodsAdapter(topCsList);
mInventoryGoodsAdapter.setOnItemLongClickListener((adapter, view, position) -> {
PromptDialog delDialog = new PromptDialog();
delDialog.setDialogType(PromptDialog.PROMPTDIALOG_SELECT, "是否删除").setClick(new View.OnClickListener() {
......@@ -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) {
for (Sssku s : list) {
if (rightCsList.contains(s)) {
if (topCsList.contains(s)) {
ToastUtils.showShort("商品已存在");
} else {
if (leftCsList.contains(s)) {
if (bottomCsList.contains(s)) {
ToastUtils.showShort("商品已盘点");
} else {
rightCsList.add(s);
topCsList.add(s);
}
}
}
// mInventoryGoodsAdapter.notifyDataSetChanged();
mInventoryGoodsAdapter.notifyDataSetChanged();
}
public void addInventoryGoodsItem(Sssku sssku) {
if (!rightCsList.contains(sssku)) {
if (leftCsList.contains(sssku)) {
if (!topCsList.contains(sssku)) {
if (bottomCsList.contains(sssku)) {
ToastUtils.showShort("商品已盘点");
} else {
rightCsList.add(sssku);
topCsList.add(sssku);
}
} else {
......@@ -168,35 +172,38 @@ public class InventoryAddFragment extends BaseFragment<InventoryPresenter, Fragm
}
// mInventoryGoodsAdapter.notifyDataSetChanged();
mInventoryGoodsAdapter.notifyDataSetChanged();
}
public void addInventoryDetailItem(CsDetail csDetail, Sssku sssku) {
// if (csDetail.getCsResultFlag() != 0) {
// isResult = false;
// }
// leftCsList.add(csDetail);
// mInventoryDetailAdapter.notifyDataSetChanged();
// mViewBinding.setSumNum(leftCsList.size() + "");
// rightCsList.remove(sssku);
// mInventoryGoodsAdapter.notifyDataSetChanged();
// if (isResult) {
// mViewBinding.setFinallyResult("相符");
// } else {
// mViewBinding.setFinallyResult("不相符");
// }
if (csDetail.getCsResultFlag() != 0) {
isResult = false;
}
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) {
mCs = cs;
mCs.setCsdetailList(leftCsList);
mCs.setCsdetailList(bottomCsList);
}
public void addCsGoodItem(String key) {
// mViewBinding.etKeyword.setText(key);
// mViewBinding.btnSearch.performClick();
}
public void searchGoodsSuc() {
// mViewBinding.etKeyword.setText("");
......
......@@ -121,7 +121,7 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
@Override
public void showCartDialog(Saleorder saleorder, List<Saledetail> saledetails) {
mCartDialog.setSaleorder(saleorder).setSaledetails(saledetails).show(this);
}
}
@Override
public void showMsDialog(List<Ms> mss) {
......
......@@ -9,6 +9,10 @@
<variable
name="cartCount"
type="int" />
<variable
name="result"
type="String" />
</data>
<android.support.constraint.ConstraintLayout
......@@ -78,6 +82,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="@color/red_guanyu"
android:text="@{result}"
android:textSize="@dimen/all_sub_title_size"
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 @@
android:textColor="@color/store_product_price"
android:textSize="@dimen/big_text_size"
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_constraintTop_toTopOf="@id/tv_price_hint" />
app:layout_constraintTop_toTopOf="@id/tv_price_hint"
/>
<TextView
android:id="@+id/tv_rmb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="2dp"
android:layout_marginBottom="@dimen/dp_4"
android:text="@string/money_rmb"
android:textColor="@color/store_product_price"
android:textSize="@dimen/all_text_size_small"
app:layout_constraintBottom_toBottomOf="@id/tv_price_hint"
app:layout_constraintStart_toEndOf="@+id/tv_price_hint"
app:layout_constraintTop_toTopOf="@id/tv_price_hint" />
/>
<LinearLayout
......@@ -153,6 +154,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/all_padding"
android:layout_marginStart="@dimen/all_padding_left_right"
android:text="系统库存:"
android:textStyle="bold"
app:layout_constraintStart_toEndOf="@id/tv_goods_price"
......@@ -182,7 +184,7 @@
app:layout_constraintTop_toBottomOf="@id/tv_goods_code_hint" />
<TextView
android:id="@+id/tv_settle"
android:id="@+id/btn_ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
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