Commit 06df82a1 authored by 陈前's avatar 陈前

盘库记录

parent 2f7add72
......@@ -761,6 +761,21 @@ public final class ApiFactory {
ErrorFilter<>()).map(new ResultFilter<>()).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
/**
* 库存盘点记录查询接口
*
* @param pageNulmber
* @param pageSize
* @return
*/
public static Observable<Pager<com.xingdata.zzdpos.model.Cs>> querCsList(int pageNulmber,
int pageSize
) {
return Api.getInstance().service.querCsList(pageNulmber, pageSize).onErrorReturn(new
ErrorFilter<>()).map(new ResultFilter<>()).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
}
public static class Notice {
......
......@@ -181,6 +181,10 @@ interface ApiService {
("pageSize") int pageSize, @Query("startDate") long startDate, @Query("endDate") long
endDate);
@POST(C.URL.CS.query)
Observable<HttpMessage<Pager<Cs>>> querCsList(@Query("pageNumber") int pageNum, @Query
("pageSize") int pageSize);
@POST(C.URL.NOTICE.query)
Observable<HttpMessage<Pager<Notice>>> queryNotice(@Query("pageNumber") int pageNum, @Query
("pageSize") int pageSize);
......@@ -245,7 +249,6 @@ interface ApiService {
("pageNumber") int pageNum, @Query("pageSize") int pageSize);
@POST(C.URL.USER.query)
Observable<HttpMessage<Pager<Vip>>> queryDetailByWD(@Query("wd") String keyword, @Query
("pageNumber") int pageNum, @Query("pageSize") int pageSize);
......
......@@ -4,6 +4,7 @@ import com.xingdata.api.print.entity.BaseGoodPrint;
import com.xingdata.api.print.entity.BaseOrderPrint;
import com.xingdata.zzdpos.db.DB;
import com.xingdata.zzdpos.ui.login.LoginPresenter;
import com.xingdata.zzdpos.ui.main.MainPresenter;
import java.util.ArrayList;
import java.util.List;
......@@ -255,6 +256,14 @@ public class Cs implements BaseOrderPrint {
return baseGoodPrints;
}
public String getOperName() {
if (operName == null) {
operName = DB.getInstance().get(MainPresenter.class).where(Oper.class)
.equalTo("operId", getCreateOperId())
.findFirst().getOperName();
}
return operName;
}
@Override
public String getDRAW_URL() {
return null;
......
......@@ -8,19 +8,22 @@ import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.databinding.ActivityInventoryBinding;
import com.xingdata.zzdpos.model.Cs;
import com.xingdata.zzdpos.model.CsDetail;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Sssku;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.manage.inventory.fragment.InventoryFragment;
import com.xingdata.zzdpos.ui.manage.manageMenu.ManageDateFragment;
import com.xingdata.zzdpos.ui.statistics.fragment.StatisticsDateFragment;
import java.util.List;
public class InventoryActivity extends BaseActivity<InventoryPresenter, ActivityInventoryBinding> implements InventoryContract.View {
private InventoryFragment mInventoryFragment = new InventoryFragment();
// private InventoryAddFragment mInventoryAddFragment = new InventoryAddFragment();
// private InventoryDetailDialog mInventoryDetailDialog = new InventoryDetailDialog();
private ManageDateFragment mManageDateFragment = new ManageDateFragment();
// private InventoryAddFragment mInventoryAddFragment = new InventoryAddFragment();
// private InventoryDetailDialog mInventoryDetailDialog = new InventoryDetailDialog();
LoadingDialog mLoadingDialog = new LoadingDialog();
@Override
......@@ -41,6 +44,11 @@ public class InventoryActivity extends BaseActivity<InventoryPresenter, Activity
// }
}
@Override
public void showDateFragment() {
start(mManageDateFragment);
}
@Override
public void addInventoryDetailItem(CsDetail csDetail, Sssku sssku) {
// mInventoryAddFragment.addInventoryDetailItem(csDetail, sssku);
......@@ -62,26 +70,40 @@ public class InventoryActivity extends BaseActivity<InventoryPresenter, Activity
// mInventoryDetailDialog.setData(cs).show(this);
}
@Override
public void loadCs(Pager<Cs> csList) {
mInventoryFragment.setData(csList, csList.isFirstPage());
}
@Override
public void loadCs(Pager<Cs> csList, long start, long end) {
if (mManageDateFragment.isAdded()) {
mManageDateFragment.pop();
}
mInventoryFragment.setDate(start, end);
mInventoryFragment.setData(csList, csList.isFirstPage());
}
@Override
public void disInventoryDetailFragment(Boolean idChange) {
if (idChange) {
// mInventoryAddFragment.pop();
mPresenter.refreshCs();
// mPresenter.refreshCs();
} else {
// mInventoryAddFragment.pop();
}
}
@Override
public void loadCs(List<Cs> csList, boolean isRefresh, boolean isLastPage) {
mInventoryFragment.setData(csList, isRefresh, isLastPage);
public void setInventoryCount(int count) {
mInventoryFragment.setCount(count);
}
@Override
public void setInventoryCount(int count) {
// mInventoryFragment.setCount(count);
public void setInventoryCount(String s) {
mInventoryFragment.setCount(s);
}
@Override
......
......@@ -5,6 +5,7 @@ import com.xingdata.zzdpos.base.BasePresenter;
import com.xingdata.zzdpos.base.BaseView;
import com.xingdata.zzdpos.model.Cs;
import com.xingdata.zzdpos.model.CsDetail;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Sssku;
import java.util.List;
......@@ -28,12 +29,21 @@ public interface InventoryContract {
*/
void addCsGoodItem(String key);
/**
* 跳转日期搜索
*/
void showDateFragment( );
/**
* 设置盘库记录条目数量
*/
void setInventoryCount(int count);
/**
* 设置盘库记录条目数量
*/
void setInventoryCount(String s);
/**
* 关闭添加盘库详情界面
*/
......@@ -61,7 +71,12 @@ public interface InventoryContract {
/**
* 加载列表
*/
void loadCs(List<Cs> csList, boolean isRefresh, boolean isLastPage);
void loadCs(Pager<Cs> csList);
/**
* 加载列表
*/
void loadCs(Pager<Cs> csList,long start,long end);
/**
......@@ -77,6 +92,10 @@ public interface InventoryContract {
}
abstract class Presenter extends BasePresenter<View> {
/**
* 跳转日期搜索
*/
public abstract void clickDate( );
/**
* 盘库添加页面 - 取消退出这次盘库的记录
......@@ -124,7 +143,7 @@ public interface InventoryContract {
* @param dateStart 起始时间
* @param dateEnd 终止时间
*/
public abstract void inspectDate(String dateStart, String dateEnd, int pageSize);
public abstract void inspectDate(String dateStart, String dateEnd);
/**
* 盘库列表页面-点击开始盘库
......@@ -134,7 +153,7 @@ public interface InventoryContract {
/**
* 获取盘库列表
*/
public abstract void getInventoryList(long start, long end);
public abstract void getInventoryList(int pageNum,long start, long end);
/**
......@@ -144,14 +163,10 @@ public interface InventoryContract {
/**
* 盘库列表页面 - 加载更多
* 获取盘库列表
*/
public abstract void loadMoreCs();
public abstract void getInventoryList(int PageNumber);
/**
* 盘库列表页面 - 刷新
*/
public abstract void refreshCs();
}
}
......@@ -4,7 +4,7 @@ package com.xingdata.zzdpos.ui.manage.inventory;
import com.blankj.utilcode.util.TimeUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.api.ApiFactory;
import com.xingdata.zzdpos.db.DBFactory;
import com.xingdata.zzdpos.model.Cs;
import com.xingdata.zzdpos.model.CsDetail;
import com.xingdata.zzdpos.model.Sssku;
......@@ -14,8 +14,8 @@ import com.xingdata.zzdpos.util.StringUtil;
import java.text.SimpleDateFormat;
public class InventoryPresenter extends InventoryContract.Presenter {
private int nowPageNumber = 1;
private int nowPageSize = 1;
private int nowPageSize = 20;
private long start;
private long end;
......@@ -57,7 +57,7 @@ public class InventoryPresenter extends InventoryContract.Presenter {
@Override
public void getProductByBarcode(String barcode) {
}
......@@ -77,12 +77,17 @@ public class InventoryPresenter extends InventoryContract.Presenter {
public void delInventoryItem(Cs cs) {
ApiFactory.Cs.delCsDetail(cs.getId(), cs.getCsNo())
.subscribe(object -> {
refreshCs();
}, throwable -> {
ToastUtils.showShort(throwable.getMessage());
});
}
@Override
public void clickDate() {
mView.showDateFragment();
}
@Override
public void cancelInventoryAdd(Cs cs) {
......@@ -100,7 +105,7 @@ public class InventoryPresenter extends InventoryContract.Presenter {
}
@Override
public void inspectDate(String dateStart, String dateEnd, int pageSize) {
public void inspectDate(String dateStart, String dateEnd) {
long longStart = TimeUtils.string2Millis(dateStart, new SimpleDateFormat(StringUtil.defaultDatePattern));
long longEnd = TimeUtils.string2Millis(dateEnd, new SimpleDateFormat(StringUtil.defaultDatePattern)) + 86400000L;
if (longStart > longEnd) {
......@@ -108,7 +113,7 @@ public class InventoryPresenter extends InventoryContract.Presenter {
mView.showDateAlert(true);
} else {
mView.showDateAlert(false);
getInventoryList(longStart, longEnd, 1, pageSize);
getInventoryList(longStart, longEnd, 1, nowPageSize);
}
}
......@@ -130,13 +135,15 @@ public class InventoryPresenter extends InventoryContract.Presenter {
}
@Override
public void getInventoryList(long start, long end) {
public void getInventoryList(int pageNum, long start, long end) {
ApiFactory.Cs.querCsList(nowPageNumber, nowPageSize, start, end)
ApiFactory.Cs.querCsList(pageNum, nowPageSize, start, end)
.subscribe(csPager -> {
//判断是否能加载更多
mView.loadCs(csPager.getList(), nowPageNumber == 1, csPager.isLastPage());
mView.setInventoryCount(csPager.getTotalRow());
mView.loadCs(csPager, start, end);
mView.setInventoryCount(com.blankj.utilcode.util.TimeUtils.millis2String(start, new SimpleDateFormat(StringUtil.defaultDatePattern)) + " ~ " +
com.blankj.utilcode.util.TimeUtils.millis2String(end, new SimpleDateFormat(StringUtil.defaultDatePattern)));
}, throwable -> {
ToastUtils.showShort(throwable.getMessage());
});
......@@ -145,22 +152,23 @@ public class InventoryPresenter extends InventoryContract.Presenter {
@Override
public void getInventoryList(long startdate, long enddate, int pageNumber, int pageSize) {
this.nowPageNumber = pageNumber;
this.start = startdate;
this.end = enddate;
this.nowPageSize = pageSize;
getInventoryList(start, end);
getInventoryList(pageNumber, start, end);
}
@Override
public void loadMoreCs() {
this.nowPageNumber++;
getInventoryList(start, end);
public void getInventoryList(int PageNumber) {
ApiFactory.Cs.querCsList(PageNumber, nowPageSize)
.subscribe(csPager -> {
//判断是否能加载更多
mView.loadCs(csPager);
mView.setInventoryCount(csPager.getTotalRow());
}, throwable -> {
ToastUtils.showShort(throwable.getMessage());
});
}
@Override
public void refreshCs() {
this.nowPageNumber = 1;
getInventoryList(start, end);
}
}
//package com.xingdata.zzdpos.ui.manage.inventory.adpter;
//
//
//import android.graphics.drawable.Drawable;
//import android.support.annotation.Nullable;
//import android.view.View;
//import android.view.ViewGroup;
//
//import com.blankj.utilcode.util.TimeUtils;
//import com.xingdata.zzdpos.R;
//import com.xingdata.zzdpos.model.Cs;
//
//import java.util.List;
//
//
//public class InventoryAdapter extends BaseAdapter<Cs, ItemInventoryBinding> {
//
//
// public InventoryAdapter(@Nullable List<Cs> data) {
// super(R.layout.item_inventory, data);
//
// }
//
//
// @Override
// protected void convert(ItemInventoryBinding mViewBinding, Cs item) {
// Drawable drawable=mContext.getResources().getDrawable(R.mipmap.icon_time);
// drawable.setBounds(0,0,(int)mViewBinding.tvDate.getTextSize(),(int)mViewBinding.tvDate.getTextSize());
//
// mViewBinding.tvDate.setCompoundDrawablesRelative(drawable,null,null,null);
// mViewBinding.tvDate.setCompoundDrawablePadding(10);
// mViewBinding.tvName.setText(item.getOperName());
// mViewBinding.tvDate.setText(TimeUtils.millis2String(item.getCreateTime())+"");
// mViewBinding.tvNum.setText(item.getCsdetailCount()+"");
// switch (item.getCsResultFlag()){
// case 0:
// mViewBinding.tvResult.setText("相符");
// mViewBinding.imgInventory.setImageResource(R.mipmap.icon_consistent);
// break;
// case 1:
// mViewBinding.tvResult.setText("不相符");
// mViewBinding.imgInventory.setImageResource(R.mipmap.icon_no_consistent);
// break;
// }
//
//
// }
//
// @Override
// protected View getItemView(int layoutResId, ViewGroup parent) {
// return super.getItemView(layoutResId, parent);
// }
//
//
//}
package com.xingdata.zzdpos.ui.manage.inventory.adpter;
import android.graphics.drawable.Drawable;
import android.support.annotation.Nullable;
import android.view.View;
import android.view.ViewGroup;
import com.blankj.utilcode.util.TimeUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseAdapter;
import com.xingdata.zzdpos.databinding.ItemInventoryBinding;
import com.xingdata.zzdpos.model.Cs;
import java.util.List;
public class InventoryAdapter extends BaseAdapter<Cs, ItemInventoryBinding> {
public InventoryAdapter(@Nullable List<Cs> data) {
super(R.layout.item_inventory, data);
}
@Override
protected void convert(ItemInventoryBinding mViewBinding, Cs item) {
Drawable drawable = mContext.getResources().getDrawable(R.mipmap.icon_time);
drawable.setBounds(0, 0, (int) mViewBinding.tvDate.getTextSize(), (int) mViewBinding.tvDate.getTextSize());
mViewBinding.tvDate.setCompoundDrawablesRelative(drawable, null, null, null);
mViewBinding.tvDate.setCompoundDrawablePadding(10);
mViewBinding.tvName.setText(item.getOperName());
mViewBinding.tvPhone.setText(item.getOper_mobile());
mViewBinding.tvDate.setText(TimeUtils.millis2String(item.getCreateTime()) + "");
mViewBinding.tvNum.setText(item.getCsdetailCount() + "");
switch (item.getCsResultFlag()) {
case 0:
mViewBinding.tvResult.setText("相符");
mViewBinding.imgInventory.setImageResource(R.mipmap.ic_consistent);
break;
case 1:
mViewBinding.tvResult.setText("不相符");
mViewBinding.imgInventory.setImageResource(R.mipmap.ic_not_consistent);
break;
}
}
@Override
protected View getItemView(int layoutResId, ViewGroup parent) {
return super.getItemView(layoutResId, parent);
}
}
......@@ -3,7 +3,9 @@ package com.xingdata.zzdpos.ui.manage.inventory.fragment;
import android.databinding.DataBindingUtil;
import android.graphics.drawable.ColorDrawable;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.text.Html;
import android.util.TimeUtils;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.View;
......@@ -17,8 +19,15 @@ import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentInventoryBinding;
import com.xingdata.zzdpos.model.Cs;
import com.xingdata.zzdpos.model.Ossku;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.dialog.PromptDialog;
import com.xingdata.zzdpos.ui.manage.inventory.InventoryPresenter;
import com.xingdata.zzdpos.ui.manage.inventory.adpter.InventoryAdapter;
import com.xingdata.zzdpos.util.OnClickListener;
import com.xingdata.zzdpos.util.StringUtil;
import java.text.SimpleDateFormat;
......@@ -31,11 +40,11 @@ import java.util.List;
*/
public class InventoryFragment extends BaseFragment<InventoryPresenter, FragmentInventoryBinding> {
// private InventoryAdapter mInventoryAdapter;
private PopupWindow mDateStartWindow;
private PopupWindow mDateEndWindow;
private String dateStart, dateEnd;
private float textSize;
private InventoryAdapter mInventoryAdapter;
private int pageNum;
private Long start;
private Long end;
LoadingDialog mLoadingDialog = new LoadingDialog();
@Override
......@@ -45,86 +54,101 @@ public class InventoryFragment extends BaseFragment<InventoryPresenter, Fragment
@Override
public void initView() {
// initData();
// initEditAndPopup();
// mViewBinding.rlProduct.setLayoutManager(new GridLayoutManager(getActivity(), 4));
// mInventoryAdapter = new InventoryAdapter(new ArrayList<>());
// mInventoryAdapter.setEmptyView(getEmptyView());
// mViewBinding.rlProduct.setAdapter(mInventoryAdapter);
// mViewBinding.srlProduct.setOnRefreshListener(this::onRefresh);
// mInventoryAdapter.setOnLoadMoreListener(this::onLoadMore, mViewBinding.rlProduct);
// mInventoryAdapter.setOnItemClickListener((adapter, view, position) -> {
// mPresenter.clickInventoryItem(mInventoryAdapter.getData().get(position));
// });
// mViewBinding.btnAdd.setOnClickListener(new OnClickListener() {
// @Override
// protected void myOnClickListener(View v) {
// isShowLoading(true);
// mPresenter.clickStartInventory();
// }
// }
// );
// mInventoryAdapter.setOnItemLongClickListener((adapter, view, position) -> {
// PromptDialog promptDialog = new PromptDialog();
// promptDialog.setDialogType(PromptDialog.PROMPTDIALOG_SELECT, "请确认删除此记录").setClick(view1 -> {
// mPresenter.delInventoryItem(mInventoryAdapter.getData().get(position));
// promptDialog.dismiss();
// }, view1 -> {
// promptDialog.dismiss();
// }).setCancelables(false).show((BaseActivity) mContext);
// return false;
// });
start = null;
end = null;
pageNum = 1;
mViewBinding.icTitle.edTitle.setVisibility(View.GONE);
mViewBinding.icTitle.tvTitle.setText("盘库记录");
mViewBinding.icTitle.tvTitle.setVisibility(View.VISIBLE);
mViewBinding.icTitle.ivRight.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
mPresenter.clickDate();
}
});
mViewBinding.icTitle.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
getActivity().finish();
}
});
mViewBinding.recyclerInventory.setLayoutManager(new LinearLayoutManager(getActivity()));
mInventoryAdapter = new InventoryAdapter(new ArrayList<>());
mInventoryAdapter.setEmptyView(getEmptyView());
mViewBinding.recyclerInventory.setAdapter(mInventoryAdapter);
mViewBinding.srlProduct.setOnRefreshListener(this::onRefresh);
mInventoryAdapter.setOnLoadMoreListener(this::onLoadMore, mViewBinding.recyclerInventory);
mInventoryAdapter.setOnItemClickListener((adapter, view, position) -> {
mPresenter.clickInventoryItem(mInventoryAdapter.getData().get(position));
});
mViewBinding.btnAdd.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
isShowLoading(true);
mPresenter.clickStartInventory();
}
}
);
mInventoryAdapter.setOnItemLongClickListener((adapter, view, position) -> {
PromptDialog promptDialog = new PromptDialog();
promptDialog.setDialogType(PromptDialog.PROMPTDIALOG_SELECT, "请确认删除此记录").setClick(view1 -> {
mPresenter.delInventoryItem(mInventoryAdapter.getData().get(position));
promptDialog.dismiss();
}, view1 -> {
promptDialog.dismiss();
}).setCancelables(false).show((BaseActivity) mContext);
return false;
});
mPresenter.getInventoryList(pageNum);
}
//
public void setCount(int count) {
mViewBinding.tvCount.setText("共" + count + "人次盘库记录");
}
public void setCount(String count) {
mViewBinding.tvCount.setText( count);
}
private void onRefresh() {
start = null;
end = null;
pageNum = 1;
mPresenter.getInventoryList(pageNum);
}
private void onLoadMore() {
pageNum++;
if (start != null) {
mPresenter.getInventoryList(pageNum, start, end);
} else {
mPresenter.getInventoryList(pageNum);
}
// public void initData() {
// dateStart = StringUtil.monthStart();
// mViewBinding.dateStart.setText(dateStart);
// dateEnd = com.blankj.utilcode.util.TimeUtils.getNowString(new SimpleDateFormat(StringUtil.defaultDatePattern));
// mViewBinding.dateEnd.setText(dateEnd);
// mViewBinding.btnAdd.setText(R.string.inventory_add);
// setCount(0);
// mPresenter.inspectDate(mViewBinding.dateStart.getText().toString(), mViewBinding.dateEnd.getText().toString(), getPageSize());
//
// }
//
// public void setCount(int count) {
// mViewBinding.tvCount.setText(Html.fromHtml(getString(R.string.inventory_order, "<font color='#1f7bdb'><big> " + count + " </big></font>")));
// }
//
// private void onRefresh() {
// mPresenter.refreshCs();
// }
//
// private void onLoadMore() {
// mPresenter.loadMoreCs();
// }
}
/**
* 设置数据
*
* @param list 数据
* @param pager 数据
* @param isRefresh 是否刷新
*/
public void setData(List list, boolean isRefresh, boolean lastPage) {
// if (isRefresh) {
// mInventoryAdapter.setEnableLoadMore(true);
// mViewBinding.srlProduct.setRefreshing(false);
// }
// if (isRefresh) mInventoryAdapter.setNewData(list);
// else if (list.size() > 0) mInventoryAdapter.addData(list);
// if (lastPage) mInventoryAdapter.loadMoreEnd(isRefresh);
// else mInventoryAdapter.loadMoreComplete();
public void setData(Pager<Cs> pager, boolean isRefresh) {
if (isRefresh) {
mInventoryAdapter.setEnableLoadMore(true);
mViewBinding.srlProduct.setRefreshing(false);
pageNum = 1;
}
if (isRefresh) mInventoryAdapter.setNewData(pager.getList());
else if (pager.getList().size() > 0) mInventoryAdapter.addData(pager.getList());
if (pager.isLastPage()) mInventoryAdapter.loadMoreEnd(isRefresh);
else mInventoryAdapter.loadMoreComplete();
}
protected int getPageSize() {
return 4;
}
private View getEmptyView() {
View view = getLayoutInflater().inflate(R.layout.view_empty, null);
......@@ -145,4 +169,9 @@ public class InventoryFragment extends BaseFragment<InventoryPresenter, Fragment
}
public void setDate(long start, long end) {
this.start = start;
this.end = end;
}
}
package com.xingdata.zzdpos.ui.manage.manageMenu;
import android.util.TypedValue;
import android.view.View;
import android.widget.DatePicker;
import android.widget.TextView;
import com.blankj.utilcode.util.TimeUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentStatisticsDateBinding;
import com.xingdata.zzdpos.ui.manage.inventory.InventoryPresenter;
import com.xingdata.zzdpos.ui.statistics.StatisticsPresenter;
import com.xingdata.zzdpos.util.OnClickListener;
import com.xingdata.zzdpos.util.StringUtil;
import java.text.SimpleDateFormat;
public class ManageDateFragment extends BaseFragment<InventoryPresenter, FragmentStatisticsDateBinding> {
private float textSize;
private View.OnFocusChangeListener mOnFocusChangeListener;
private View.OnClickListener mOnClickListener;
@Override
public int getLayoutId() {
return R.layout.fragment_statistics_date;
}
@Override
public void initView() {
initListener();
textSize = mViewBinding.editStart.getTextSize();
mViewBinding.editStart.setOnFocusChangeListener(mOnFocusChangeListener);
mViewBinding.editEnd.setOnFocusChangeListener(mOnFocusChangeListener);
mViewBinding.editStart.setOnClickListener(mOnClickListener);
mViewBinding.editEnd.setOnClickListener(mOnClickListener);
String startAll = StringUtil.monthStart();
String[] stringsStart = startAll.split("-");
mViewBinding.datePickerStart.setMaxDate(System.currentTimeMillis());
mViewBinding.datePickerStart.init(2000, 0, 0, new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker datePicker, int i, int i1, int i2) {
String month = String.valueOf(i1 + 1).length() >= 2 ? String.valueOf(i1 + 1) : "0" + String.valueOf(i1 + 1);
String day = String.valueOf(i2).length() >= 2 ? String.valueOf(i2) : "0" + String.valueOf(i2);
mViewBinding.editStart.setText(i + "-" + month + "-" + day);
}
});
String endAll = TimeUtils.millis2String(System.currentTimeMillis(), new SimpleDateFormat(StringUtil.defaultDatePattern));
String[] stringsEnd = endAll.split("-");
mViewBinding.datePickerEnd.setMaxDate(System.currentTimeMillis());
mViewBinding.datePickerEnd.init(2000, 0, 0, new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker datePicker, int i, int i1, int i2) {
String month = String.valueOf(i1 + 1).length() >= 2 ? String.valueOf(i1 + 1) : "0" + String.valueOf(i1 + 1);
String day = String.valueOf(i2).length() >= 2 ? String.valueOf(i2) : "0" + String.valueOf(i2);
mViewBinding.editEnd.setText(i + "-" + month + "-" + day);
}
});
mViewBinding.tvOk.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
mPresenter.inspectDate(mViewBinding.editStart.getText().toString(), mViewBinding.editEnd.getText().toString());
}
});
mViewBinding.tvCancel.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
pop();
}
});
new android.os.Handler().postDelayed(new Runnable() {
@Override
public void run() {
mViewBinding.datePickerStart.updateDate(Integer.valueOf(stringsStart[0]), Integer.valueOf(stringsStart[1]) - 1, Integer.valueOf(stringsStart[2]));
mViewBinding.datePickerEnd.updateDate(Integer.valueOf(stringsEnd[0]), Integer.valueOf(stringsEnd[1]) - 1, Integer.valueOf(stringsEnd[2]));
mViewBinding.editStart.performClick();
mViewBinding.editStart.setText(startAll);
mViewBinding.editEnd.setText(endAll);
}
}, 10);
}
public void showDateAlert(Boolean f) {
if (f) {
mViewBinding.imgAlert.setVisibility(View.VISIBLE);
} else {
mViewBinding.imgAlert.setVisibility(View.GONE);
}
}
private void initListener() {
mOnFocusChangeListener = new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean b) {
if (b) {
((TextView) view).setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize + 5);
((TextView) view).setTextColor(getResources().getColor(R.color.red_guanyu));
String[] strings = ((TextView) view).getText().toString().split("-");
if (mViewBinding.datePickerStart.getVisibility() == View.GONE) {
mViewBinding.datePickerStart.setVisibility(View.VISIBLE);
mViewBinding.datePickerEnd.setVisibility(View.GONE);
} else {
mViewBinding.datePickerStart.setVisibility(View.GONE);
mViewBinding.datePickerEnd.setVisibility(View.VISIBLE);
}
} else {
((TextView) view).setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize);
((TextView) view).setTextColor(getResources().getColor(R.color.gray_kongming));
}
}
};
mOnClickListener = new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
if (v.isFocused()) {
} else {
v.setFocusable(true);
v.setFocusableInTouchMode(true);
v.requestFocus();
}
}
};
}
}
......@@ -54,6 +54,7 @@ public class ReplenishmentDetailFragment extends BaseFragment<ReplenishmentPrese
@Override
public void initView() {
mViewBinding.lyTitle.edTitle.setHint(R.string.inventory_add_et_hint);
mViewBinding.lyTitle.edTitle.setText("");
Drawable drawableTop = getResources().getDrawable(R.mipmap.but_up);
Drawable drawableBottom = getResources().getDrawable(R.mipmap.but_unfurled);
drawableTop.setBounds(0, 0, (int) mViewBinding.tvShopTitle.getTextSize() - 10, (int) mViewBinding.tvShopTitle.getTextSize() - 10);
......
......@@ -51,6 +51,7 @@
<TextView
android:id="@+id/tv_count"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/gray_zhouyu"
......@@ -62,11 +63,20 @@
android:textSize="@dimen/all_text_size_low"
android:textStyle="bold" />
<android.support.v4.view.ViewPager
android:id="@+id/fragment_container"
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/srl_product"
android:layout_width="match_parent"
android:layout_height="match_parent" />
android:layout_height="match_parent"
android:layout_below="@id/ll_title">
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_inventory"
android:background="@color/gray_zhouyu"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v7.widget.RecyclerView>
</android.support.v4.widget.SwipeRefreshLayout>
</LinearLayout>
</layout>
\ No newline at end of file
<?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>
</data>
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/all_padding_left_right"
android:background="@color/white_caocao"
android:padding="@dimen/all_padding_left_right">
<ImageView
android:id="@+id/img"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@mipmap/img_boss"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/all_padding_left_right"
android:text=""
android:textColor="@color/black"
android:textSize="@dimen/all_text_size"
app:layout_constraintBottom_toBottomOf="@id/img"
app:layout_constraintStart_toEndOf="@id/img"
app:layout_constraintTop_toTopOf="@id/img" />
<TextView
android:id="@+id/tv_phone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="@dimen/all_padding_left_right"
android:text=""
android:textColor="@color/black"
android:textSize="@dimen/all_text_size_low"
app:layout_constraintBottom_toBottomOf="@id/tv_name"
app:layout_constraintStart_toEndOf="@id/tv_name" />
<View
android:id="@+id/view_line"
android:layout_width="match_parent"
android:layout_height="@dimen/view_line_L050"
android:layout_marginTop="@dimen/all_padding_left_right"
android:background="@color/gray_kongming"
app:layout_constraintTop_toBottomOf="@id/img" />
<TextView
android:id="@+id/tv_unit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/singleline_white_gray"
android:padding="@dimen/all_padding"
android:text="件"
android:textColor="@color/black"
android:textSize="@dimen/sp_14"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/view_line" />
<TextView
android:id="@+id/tv_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="0dp"
android:paddingEnd="@dimen/all_padding"
android:text=""
android:textColor="@color/black"
android:textSize="@dimen/all_text_size_low"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@id/tv_unit"
app:layout_constraintEnd_toStartOf="@id/tv_unit"
app:layout_constraintTop_toTopOf="@id/tv_unit" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/singleline_white_gray"
android:padding="@dimen/all_padding"
android:text="盘点件数:"
android:textColor="@color/black"
android:textSize="@dimen/all_text_size_low"
app:layout_constraintBottom_toBottomOf="@id/tv_unit"
app:layout_constraintEnd_toStartOf="@id/tv_unit"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/singleline_white_gray"
android:padding="@dimen/all_padding"
android:text="盘点结果:"
android:textColor="@color/black"
android:textSize="@dimen/all_text_size_low"
app:layout_constraintEnd_toStartOf="@id/tv_result"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_unit" />
<TextView
android:id="@+id/tv_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/singleline_white_gray"
android:padding="@dimen/all_padding"
android:paddingEnd="@dimen/all_margin"
android:text="不相符"
android:textColor="@color/black"
android:textSize="@dimen/all_text_size_low"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_unit" />
<TextView
android:id="@+id/tv_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/all_padding"
android:text="2017-10-01 12:25"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size_low"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_result" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/all_padding"
android:text="盘点时间"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size_low"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_result" />
<ImageView
android:id="@+id/img_inventory"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_not_consistent"
app:layout_constraintBottom_toBottomOf="@id/tv_result"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_result" />
</android.support.constraint.ConstraintLayout>
</layout>
\ No newline at end of file
......@@ -22,7 +22,7 @@
<dimen name="all_tiny_size">9sp</dimen>
<dimen name="all_title_size">26sp</dimen>
<dimen name="all_padding">10dp</dimen>
<dimen name="all_padding_left_right">15dp</dimen>
<dimen name="all_padding_left_right">16dp</dimen>
<dimen name="all_text_size_big">22sp</dimen>
<dimen name="all_text_size_big_big">30sp</dimen>
<dimen name="all_text_size_super_big">25sp</dimen>
......
......@@ -263,8 +263,8 @@
<string name="title_activity_splash">SplashActivity</string>
<!--库查询界面-->
<string name="other_selcet_meun">库查询</string>
<!--库查询界面-->
<string name="other_selcet_meun">库查询</string>
<string name="other_selcet_edit_hint">商品名称/商品条码/商品助记码</string>
<string name="other_selcet_shop">共%s个门店库存</string>
......@@ -496,7 +496,7 @@
<string name="menu_manager_goods">商品维护</string>
<string name="menu_manager_bale">商品组合</string>
<string name="menu_manager_replenishment">补货订货</string>
<string name="menu_manager_other">库查询</string>
<string name="menu_manager_other">库查询</string>
<string name="menu_manager_inventory">库存盘点</string>
<string name="menu_announcement">公告通知</string>
......
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