Commit c53d86cf authored by 陈前's avatar 陈前

订单分组

parent 44998473
......@@ -49,7 +49,7 @@ public class StatisticsPresenter extends StatisticsContract.Presenter {
})
.subscribe(orderlist -> {
fragment.setData(orderlist, orderlist.isFirstPage());
fragment.setData(orderlist);
}, throwable -> {
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;
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;
/**
......@@ -34,7 +36,7 @@ public class StatisticsRechargeGroupAdapter extends BaseSectionQuickAdapter<VipR
@Override
protected void convert(BaseViewHolder helper, VipRechargeOrder item) {
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));
((ImageView)helper.getView(R.id.img_left)).setImageResource(R.mipmap.ic_text_recharge);
......
......@@ -9,7 +9,9 @@ import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.model.Ticket;
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;
/**
......@@ -32,7 +34,7 @@ public class StatisticsTicketGroupAdapter extends BaseSectionQuickAdapter<Ticket
@Override
protected void convert(BaseViewHolder helper, Ticket item) {
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);
......
......@@ -8,6 +8,7 @@ import android.view.View;
import com.alibaba.fastjson.JSON;
import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.TimeUtils;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
......@@ -21,18 +22,29 @@ import com.xingdata.zzdpos.ui.statistics.StatisticsDetailActivity;
import com.xingdata.zzdpos.ui.statistics.StatisticsPresenter;
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.StringUtil;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
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> {
private StatisticsOrderAdapter mStatisticsAdapter;
private StatisticsOrderGroupAdapter mStatisticsAdapter;
private Long monthDateStart;
private Long monthDateEnd;
private int pagerNum ;
private String monthDate;
public OrderListFragment setDate(Long end, Long start) {
monthDateStart = start;
......@@ -49,27 +61,27 @@ public class OrderListFragment extends BaseFragment<StatisticsPresenter, Fragmen
@Override
public void initView() {
pagerNum=1;
Calendar calendar = Calendar.getInstance();
//获得当前时间的月份,月份从0开始所以结果要加1
int monthNow = calendar.get(Calendar.MONTH) + 1;
calendar.setTimeInMillis(monthDateStart);
int monthStart = calendar.get(Calendar.MONTH) + 1;
if (monthStart == monthNow) {
mViewBinding.setMonth("本月");
} else {
mViewBinding.setMonth(monthStart + "月");
}
mViewBinding.setAmt("收入:¥230.00");
mViewBinding.llTitle.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
pop();
}
});
// Calendar calendar = Calendar.getInstance();
////获得当前时间的月份,月份从0开始所以结果要加1
// int monthNow = calendar.get(Calendar.MONTH) + 1;
// calendar.setTimeInMillis(monthDateStart);
// int monthStart = calendar.get(Calendar.MONTH) + 1;
// if (monthStart == monthNow) {
// mViewBinding.setMonth("本月");
// } else {
// mViewBinding.setMonth(monthStart + "月");
// }
// mViewBinding.setAmt("收入:¥230.00");
// mViewBinding.llTitle.setOnClickListener(new OnClickListener() {
// @Override
// protected void myOnClickListener(View v) {
// pop();
// }
// });
mViewBinding.tvEmpty.setText(R.string.statistics_search_empty);
if (mStatisticsAdapter == null) {
mStatisticsAdapter = new StatisticsOrderAdapter(new ArrayList<>());
mStatisticsAdapter = new StatisticsOrderGroupAdapter(new ArrayList<>());
mViewBinding.statisticsRecycler.setLayoutManager(new LinearLayoutManager(getActivity()));
mViewBinding.statisticsRecycler.setAdapter(mStatisticsAdapter);
......@@ -128,4 +140,36 @@ public class OrderListFragment extends BaseFragment<StatisticsPresenter, Fragmen
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;
public class StringUtil {
public static String defaultDatePattern = "yyyy-MM-dd";
public static String mmddhhmmmDatePattern = "MM-dd HH:mm";
/**
......
......@@ -24,33 +24,33 @@
<!-- TODO: Update blank fragmfragment_integral_indexyout -->
<LinearLayout
android:id="@+id/ll_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="left"
android:padding="@dimen/all_padding"
android:text="@{month}" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:padding="@dimen/all_padding"
android:text="@{amt}"
android:visibility="invisible" />
</LinearLayout>
<!--<LinearLayout-->
<!--android:id="@+id/ll_title"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--android:orientation="horizontal"-->
<!--android:weightSum="2"-->
<!--app:layout_constraintEnd_toEndOf="parent"-->
<!--app:layout_constraintStart_toStartOf="parent"-->
<!--app:layout_constraintTop_toTopOf="parent">-->
<!--<TextView-->
<!--android:layout_width="0dp"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_weight="1"-->
<!--android:gravity="left"-->
<!--android:padding="@dimen/all_padding"-->
<!--android:text="@{month}" />-->
<!--<TextView-->
<!--android:layout_width="0dp"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_weight="1"-->
<!--android:gravity="right"-->
<!--android:padding="@dimen/all_padding"-->
<!--android:text="@{amt}"-->
<!--android:visibility="invisible" />-->
<!--</LinearLayout>-->
<android.support.v4.widget.SwipeRefreshLayout
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