Commit c53d86cf authored by 陈前's avatar 陈前

订单分组

parent 44998473
...@@ -49,7 +49,7 @@ public class StatisticsPresenter extends StatisticsContract.Presenter { ...@@ -49,7 +49,7 @@ public class StatisticsPresenter extends StatisticsContract.Presenter {
}) })
.subscribe(orderlist -> { .subscribe(orderlist -> {
fragment.setData(orderlist, orderlist.isFirstPage()); fragment.setData(orderlist);
}, throwable -> { }, throwable -> {
ToastUtils.showShort(throwable.getMessage()); ToastUtils.showShort(throwable.getMessage());
}); });
......
package com.xingdata.zzdpos.ui.statistics.adapter;
import android.widget.ImageView;
import com.blankj.utilcode.util.TimeUtils;
import com.chad.library.adapter.base.BaseSectionQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.model.VipRechargeOrder;
import com.xingdata.zzdpos.util.ConvertUtil;
import com.xingdata.zzdpos.util.StringUtil;
import java.text.SimpleDateFormat;
import java.util.List;
/**
* Created by Administrator on 2017/12/26.
*/
public class StatisticsOrderGroupAdapter extends BaseSectionQuickAdapter<Saleorder, BaseViewHolder> {
public StatisticsOrderGroupAdapter(List<Saleorder> data) {
super(R.layout.item_statistics, R.layout.item_string_head, data);
}
@Override
protected void convertHead(BaseViewHolder helper, Saleorder item) {
helper.setText(R.id.item_tv, item.header);
}
@Override
protected void convert(BaseViewHolder helper, Saleorder item) {
if (item.getFirstName() != null) {
helper.setText(R.id.tv_left_top, item.getFirstName());
} else {
helper.setText(R.id.tv_left_top, item.getOrderNo());
}
if (item.getOrderPayAmt() > 0) {
helper.setText(R.id.tv_right_top, "+" + item.getPayAmt());
} else {
helper.setText(R.id.tv_right_top, item.getPayAmt());
}
helper.setText(R.id.tv_left_bottom, com.blankj.utilcode.util.TimeUtils.millis2String(item.getCreateTime(), new SimpleDateFormat(StringUtil.mmddhhmmmDatePattern)));
switch (item.getPayType()) {
case C.PAY_CHANNEL.CASH:
((ImageView) helper.getView(R.id.img_left)).setImageResource(R.mipmap.pay_cash);
break;
case C.PAY_CHANNEL.WECHAT:
((ImageView) helper.getView(R.id.img_left)).setImageResource(R.mipmap.pay_wechat);
break;
case C.PAY_CHANNEL.ALI:
((ImageView) helper.getView(R.id.img_left)).setImageResource(R.mipmap.pay_alipay);
break;
case C.PAY_CHANNEL.BANK:
((ImageView) helper.getView(R.id.img_left)).setImageResource(R.mipmap.pay_card);
break;
case C.PAY_CHANNEL.CARD:
((ImageView) helper.getView(R.id.img_left)).setImageResource(R.mipmap.pay_membershipcard);
break;
case C.PAY_CHANNEL.TALLY:
((ImageView) helper.getView(R.id.img_left)).setImageResource(R.mipmap.pay_credit);
break;
}
}
}
\ No newline at end of file
...@@ -10,7 +10,9 @@ import com.xingdata.zzdpos.R; ...@@ -10,7 +10,9 @@ import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.model.Saleorder; import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.model.VipRechargeOrder; import com.xingdata.zzdpos.model.VipRechargeOrder;
import com.xingdata.zzdpos.util.ConvertUtil; import com.xingdata.zzdpos.util.ConvertUtil;
import com.xingdata.zzdpos.util.StringUtil;
import java.text.SimpleDateFormat;
import java.util.List; import java.util.List;
/** /**
...@@ -34,7 +36,7 @@ public class StatisticsRechargeGroupAdapter extends BaseSectionQuickAdapter<VipR ...@@ -34,7 +36,7 @@ public class StatisticsRechargeGroupAdapter extends BaseSectionQuickAdapter<VipR
@Override @Override
protected void convert(BaseViewHolder helper, VipRechargeOrder item) { protected void convert(BaseViewHolder helper, VipRechargeOrder item) {
helper.setText(R.id.tv_left_top,item.getUserName()); helper.setText(R.id.tv_left_top,item.getUserName());
helper.setText(R.id.tv_left_bottom,com.blankj.utilcode.util.TimeUtils.millis2String(item.getCreateTime())); helper.setText(R.id.tv_left_bottom,com.blankj.utilcode.util.TimeUtils.millis2String(item.getCreateTime(),new SimpleDateFormat(StringUtil.mmddhhmmmDatePattern)));
helper.setText(R.id.tv_right_top,"+"+ ConvertUtil.fenToYuan(item.getCardAmtPay(),false)); helper.setText(R.id.tv_right_top,"+"+ ConvertUtil.fenToYuan(item.getCardAmtPay(),false));
((ImageView)helper.getView(R.id.img_left)).setImageResource(R.mipmap.ic_text_recharge); ((ImageView)helper.getView(R.id.img_left)).setImageResource(R.mipmap.ic_text_recharge);
......
...@@ -9,7 +9,9 @@ import com.xingdata.zzdpos.R; ...@@ -9,7 +9,9 @@ import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.model.Ticket; import com.xingdata.zzdpos.model.Ticket;
import com.xingdata.zzdpos.model.VipRechargeOrder; import com.xingdata.zzdpos.model.VipRechargeOrder;
import com.xingdata.zzdpos.util.ConvertUtil; import com.xingdata.zzdpos.util.ConvertUtil;
import com.xingdata.zzdpos.util.StringUtil;
import java.text.SimpleDateFormat;
import java.util.List; import java.util.List;
/** /**
...@@ -32,7 +34,7 @@ public class StatisticsTicketGroupAdapter extends BaseSectionQuickAdapter<Ticket ...@@ -32,7 +34,7 @@ public class StatisticsTicketGroupAdapter extends BaseSectionQuickAdapter<Ticket
@Override @Override
protected void convert(BaseViewHolder helper, Ticket item) { protected void convert(BaseViewHolder helper, Ticket item) {
helper.setText(R.id.tv_left_top, ConvertUtil.fenToYuanNoZero(item.getTicketValAmt()) + "元优惠券"); helper.setText(R.id.tv_left_top, ConvertUtil.fenToYuanNoZero(item.getTicketValAmt()) + "元优惠券");
helper.setText(R.id.tv_left_bottom, TimeUtils.date2String(item.getCreateTime())); helper.setText(R.id.tv_left_bottom, TimeUtils.date2String(item.getCreateTime(),new SimpleDateFormat(StringUtil.mmddhhmmmDatePattern)));
((ImageView) helper.getView(R.id.img_left)).setImageResource(R.mipmap.ic_text_ticket); ((ImageView) helper.getView(R.id.img_left)).setImageResource(R.mipmap.ic_text_ticket);
......
...@@ -8,6 +8,7 @@ import android.view.View; ...@@ -8,6 +8,7 @@ import android.view.View;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.blankj.utilcode.util.ActivityUtils; import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.TimeUtils;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment; import com.xingdata.zzdpos.base.BaseFragment;
...@@ -21,18 +22,29 @@ import com.xingdata.zzdpos.ui.statistics.StatisticsDetailActivity; ...@@ -21,18 +22,29 @@ import com.xingdata.zzdpos.ui.statistics.StatisticsDetailActivity;
import com.xingdata.zzdpos.ui.statistics.StatisticsPresenter; import com.xingdata.zzdpos.ui.statistics.StatisticsPresenter;
import com.xingdata.zzdpos.ui.statistics.adapter.StatisticsOrderAdapter; import com.xingdata.zzdpos.ui.statistics.adapter.StatisticsOrderAdapter;
import com.xingdata.zzdpos.ui.statistics.adapter.StatisticsOrderGroupAdapter;
import com.xingdata.zzdpos.util.OnClickListener; import com.xingdata.zzdpos.util.OnClickListener;
import com.xingdata.zzdpos.util.StringUtil;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.List; import java.util.List;
import io.reactivex.ObservableEmitter;
import io.reactivex.ObservableOnSubscribe;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Action;
import io.reactivex.schedulers.Schedulers;
public class OrderListFragment extends BaseFragment<StatisticsPresenter, FragmentOrderListBinding> { public class OrderListFragment extends BaseFragment<StatisticsPresenter, FragmentOrderListBinding> {
private StatisticsOrderAdapter mStatisticsAdapter; private StatisticsOrderGroupAdapter mStatisticsAdapter;
private Long monthDateStart; private Long monthDateStart;
private Long monthDateEnd; private Long monthDateEnd;
private int pagerNum ; private int pagerNum ;
private String monthDate;
public OrderListFragment setDate(Long end, Long start) { public OrderListFragment setDate(Long end, Long start) {
monthDateStart = start; monthDateStart = start;
...@@ -49,27 +61,27 @@ public class OrderListFragment extends BaseFragment<StatisticsPresenter, Fragmen ...@@ -49,27 +61,27 @@ public class OrderListFragment extends BaseFragment<StatisticsPresenter, Fragmen
@Override @Override
public void initView() { public void initView() {
pagerNum=1; pagerNum=1;
Calendar calendar = Calendar.getInstance(); // Calendar calendar = Calendar.getInstance();
//获得当前时间的月份,月份从0开始所以结果要加1 ////获得当前时间的月份,月份从0开始所以结果要加1
int monthNow = calendar.get(Calendar.MONTH) + 1; // int monthNow = calendar.get(Calendar.MONTH) + 1;
calendar.setTimeInMillis(monthDateStart); // calendar.setTimeInMillis(monthDateStart);
int monthStart = calendar.get(Calendar.MONTH) + 1; // int monthStart = calendar.get(Calendar.MONTH) + 1;
if (monthStart == monthNow) { // if (monthStart == monthNow) {
mViewBinding.setMonth("本月"); // mViewBinding.setMonth("本月");
} else { // } else {
mViewBinding.setMonth(monthStart + "月"); // mViewBinding.setMonth(monthStart + "月");
} // }
mViewBinding.setAmt("收入:¥230.00"); // mViewBinding.setAmt("收入:¥230.00");
mViewBinding.llTitle.setOnClickListener(new OnClickListener() { // mViewBinding.llTitle.setOnClickListener(new OnClickListener() {
@Override // @Override
protected void myOnClickListener(View v) { // protected void myOnClickListener(View v) {
pop(); // pop();
} // }
}); // });
mViewBinding.tvEmpty.setText(R.string.statistics_search_empty); mViewBinding.tvEmpty.setText(R.string.statistics_search_empty);
if (mStatisticsAdapter == null) { if (mStatisticsAdapter == null) {
mStatisticsAdapter = new StatisticsOrderAdapter(new ArrayList<>()); mStatisticsAdapter = new StatisticsOrderGroupAdapter(new ArrayList<>());
mViewBinding.statisticsRecycler.setLayoutManager(new LinearLayoutManager(getActivity())); mViewBinding.statisticsRecycler.setLayoutManager(new LinearLayoutManager(getActivity()));
mViewBinding.statisticsRecycler.setAdapter(mStatisticsAdapter); mViewBinding.statisticsRecycler.setAdapter(mStatisticsAdapter);
...@@ -128,4 +140,36 @@ public class OrderListFragment extends BaseFragment<StatisticsPresenter, Fragmen ...@@ -128,4 +140,36 @@ public class OrderListFragment extends BaseFragment<StatisticsPresenter, Fragmen
mViewBinding.statisticsRecycler.setVisibility(View.VISIBLE); mViewBinding.statisticsRecycler.setVisibility(View.VISIBLE);
} }
} }
public void setData(Pager<Saleorder> pager) {
if (pager.isFirstPage()) {
monthDate = "";
}
io.reactivex.Observable.create(new ObservableOnSubscribe<Pager<Saleorder>>() {
@Override
public void subscribe(ObservableEmitter<Pager<Saleorder>> e) throws Exception {
for (int i = 0; i < pager.getList().size(); i++) {
String m = TimeUtils.millis2String(pager.getList().get(i).getCreateTime(), new SimpleDateFormat(StringUtil.defaultDatePattern));
if (!m.equals(monthDate)) {
monthDate = m;
pager.getList().add(i, new Saleorder(true, monthDate + ""));
i++;
}
}
e.onComplete();
}
}).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()).doOnComplete(new Action() {
@Override
public void run() throws Exception {
setData(pager, pager.isFirstPage());
}
}).subscribe();
}
} }
...@@ -16,6 +16,7 @@ import java.util.Date; ...@@ -16,6 +16,7 @@ import java.util.Date;
public class StringUtil { public class StringUtil {
public static String defaultDatePattern = "yyyy-MM-dd"; public static String defaultDatePattern = "yyyy-MM-dd";
public static String mmddhhmmmDatePattern = "MM-dd HH:mm";
/** /**
......
...@@ -24,33 +24,33 @@ ...@@ -24,33 +24,33 @@
<!-- TODO: Update blank fragmfragment_integral_indexyout --> <!-- TODO: Update blank fragmfragment_integral_indexyout -->
<LinearLayout <!--<LinearLayout-->
android:id="@+id/ll_title" <!--android:id="@+id/ll_title"-->
android:layout_width="match_parent" <!--android:layout_width="match_parent"-->
android:layout_height="wrap_content" <!--android:layout_height="wrap_content"-->
android:orientation="horizontal" <!--android:orientation="horizontal"-->
android:weightSum="2" <!--android:weightSum="2"-->
app:layout_constraintEnd_toEndOf="parent" <!--app:layout_constraintEnd_toEndOf="parent"-->
app:layout_constraintStart_toStartOf="parent" <!--app:layout_constraintStart_toStartOf="parent"-->
app:layout_constraintTop_toTopOf="parent"> <!--app:layout_constraintTop_toTopOf="parent">-->
<TextView <!--<TextView-->
android:layout_width="0dp" <!--android:layout_width="0dp"-->
android:layout_height="wrap_content" <!--android:layout_height="wrap_content"-->
android:layout_weight="1" <!--android:layout_weight="1"-->
android:gravity="left" <!--android:gravity="left"-->
android:padding="@dimen/all_padding" <!--android:padding="@dimen/all_padding"-->
android:text="@{month}" /> <!--android:text="@{month}" />-->
<TextView <!--<TextView-->
android:layout_width="0dp" <!--android:layout_width="0dp"-->
android:layout_height="wrap_content" <!--android:layout_height="wrap_content"-->
android:layout_weight="1" <!--android:layout_weight="1"-->
android:gravity="right" <!--android:gravity="right"-->
android:padding="@dimen/all_padding" <!--android:padding="@dimen/all_padding"-->
android:text="@{amt}" <!--android:text="@{amt}"-->
android:visibility="invisible" /> <!--android:visibility="invisible" />-->
</LinearLayout> <!--</LinearLayout>-->
<android.support.v4.widget.SwipeRefreshLayout <android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/srl_product" android:id="@+id/srl_product"
......
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