Commit f2fd9308 by Wyh

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/MealStandPresenter.java
#	table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
#	table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderPayActivity.java
parents dad8710e 82e6ac03
...@@ -7,8 +7,8 @@ import com.gingersoft.gsa.cloud.main.R; ...@@ -7,8 +7,8 @@ import com.gingersoft.gsa.cloud.main.R;
import com.gingersoft.gsa.cloud.main.mvp.contract.SettlementReportContract; import com.gingersoft.gsa.cloud.main.mvp.contract.SettlementReportContract;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.SendSettlement; import com.gingersoft.gsa.cloud.main.mvp.model.bean.SendSettlement;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.SettlementReport; import com.gingersoft.gsa.cloud.main.mvp.model.bean.SettlementReport;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.SettlementReportItem; import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem3;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.SettlementReportItem5; import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem5;
import com.gingersoft.gsa.cloud.main.mvp.ui.activity.SettlementReportActivity; import com.gingersoft.gsa.cloud.main.mvp.ui.activity.SettlementReportActivity;
import com.gingersoft.gsa.cloud.main.mvp.ui.adapter.SettlementReportItem5Adapter; import com.gingersoft.gsa.cloud.main.mvp.ui.adapter.SettlementReportItem5Adapter;
import com.gingersoft.gsa.cloud.main.mvp.ui.adapter.SettlementReportItemAdapter; import com.gingersoft.gsa.cloud.main.mvp.ui.adapter.SettlementReportItemAdapter;
...@@ -60,10 +60,10 @@ public class SettlementReportPresenter extends BasePresenter<SettlementReportCon ...@@ -60,10 +60,10 @@ public class SettlementReportPresenter extends BasePresenter<SettlementReportCon
private SettlementReportActivity IActivity; private SettlementReportActivity IActivity;
private SettlementReportItemAdapter mSettlementReportItemAdapter; private SettlementReportItemAdapter mSettlementReportItemAdapter;
private List<SettlementReportItem> mSettlementReportItemList= new ArrayList<>(); private List<SectionTextItem3> mSettlementReportItemList= new ArrayList<>();
private SettlementReportItem5Adapter mSettlementReportItem5Adapter; private SettlementReportItem5Adapter mSettlementReportItem5Adapter;
private List<SettlementReportItem5> mSettlementReportItem5List= new ArrayList<>(); private List<SectionTextItem5> mSettlementReportItem5List= new ArrayList<>();
@Inject @Inject
public SettlementReportPresenter(SettlementReportContract.Model model, SettlementReportContract.View rootView) { public SettlementReportPresenter(SettlementReportContract.Model model, SettlementReportContract.View rootView) {
...@@ -91,13 +91,13 @@ public class SettlementReportPresenter extends BasePresenter<SettlementReportCon ...@@ -91,13 +91,13 @@ public class SettlementReportPresenter extends BasePresenter<SettlementReportCon
} }
} }
public void notifyReportItemAdapter(List<SettlementReportItem> settlementReportItems) { public void notifyReportItemAdapter(List<SectionTextItem3> settlementReportItems) {
mSettlementReportItemList.clear(); mSettlementReportItemList.clear();
mSettlementReportItemList.addAll(settlementReportItems); mSettlementReportItemList.addAll(settlementReportItems);
mSettlementReportItemAdapter.notifyDataSetChanged(); mSettlementReportItemAdapter.notifyDataSetChanged();
} }
public void notifyReportItem5Adapter(List<SettlementReportItem5> settlementReportItems) { public void notifyReportItem5Adapter(List<SectionTextItem5> settlementReportItems) {
mSettlementReportItem5List.clear(); mSettlementReportItem5List.clear();
mSettlementReportItem5List.addAll(settlementReportItems); mSettlementReportItem5List.addAll(settlementReportItems);
mSettlementReportItem5Adapter.notifyDataSetChanged(); mSettlementReportItem5Adapter.notifyDataSetChanged();
......
...@@ -205,7 +205,8 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N ...@@ -205,7 +205,8 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
functions.add(new Function((long) 141, 150, 5, "預點餐模式", R.drawable.ic_pre_order_mode)); functions.add(new Function((long) 141, 150, 5, "預點餐模式", R.drawable.ic_pre_order_mode));
functions.add(new Function((long) 151, 0, 5, "管理", 0)); functions.add(new Function((long) 151, 0, 5, "管理", 0));
functions.add(new Function((long) 142, 151, 5, "餐牌管理", R.drawable.ic_meals_menu_management)); // functions.add(new Function((long) 142, 151, 5, "餐牌管理", R.drawable.ic_meals_menu_management));
functions.add(new Function((long) 142, 151, 5, "賬單管理", R.drawable.ic_meals_menu_management));
functions.add(new Function((long) 143, 151, 5, "餐臺管理", R.drawable.ic_dining_table_management)); functions.add(new Function((long) 143, 151, 5, "餐臺管理", R.drawable.ic_dining_table_management));
functions.add(new Function((long) 144, 151, 5, "打印管理", R.drawable.ic_print_management)); functions.add(new Function((long) 144, 151, 5, "打印管理", R.drawable.ic_print_management));
functions.add(new Function((long) 145, 151, 5, "支付管理", R.drawable.ic_pay_management)); functions.add(new Function((long) 145, 151, 5, "支付管理", R.drawable.ic_pay_management));
...@@ -264,7 +265,7 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N ...@@ -264,7 +265,7 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
.setActionName("showPrintActivity") .setActionName("showPrintActivity")
.build() .build()
.call(); .call();
}else if (name.equals("餐牌管理")) { }else if (name.equals("賬單管理")) {
CC.obtainBuilder("Component.Table") CC.obtainBuilder("Component.Table")
.setActionName("showOrderCenterActivity") .setActionName("showOrderCenterActivity")
.build() .build()
......
...@@ -7,13 +7,12 @@ import android.widget.TextView; ...@@ -7,13 +7,12 @@ import android.widget.TextView;
import com.gingersoft.gsa.cloud.main.R; import com.gingersoft.gsa.cloud.main.R;
import com.gingersoft.gsa.cloud.main.R2; import com.gingersoft.gsa.cloud.main.R2;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.SettlementReportItem5; import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem5;
import com.jess.arms.base.BaseHolder; import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
import java.util.List; import java.util.List;
import butterknife.BindView;
import butterknife.BindViews; import butterknife.BindViews;
/** /**
...@@ -24,11 +23,11 @@ import butterknife.BindViews; ...@@ -24,11 +23,11 @@ import butterknife.BindViews;
* 描述: * 描述:
*/ */
public class SettlementReportItem5Adapter extends DefaultAdapter<SettlementReportItem5> { public class SettlementReportItem5Adapter extends DefaultAdapter<SectionTextItem5> {
private Context mContext; private Context mContext;
public SettlementReportItem5Adapter(Context context, List<SettlementReportItem5> infos) { public SettlementReportItem5Adapter(Context context, List<SectionTextItem5> infos) {
super(infos); super(infos);
this.mContext = context; this.mContext = context;
} }
...@@ -39,7 +38,7 @@ public class SettlementReportItem5Adapter extends DefaultAdapter<SettlementRepor ...@@ -39,7 +38,7 @@ public class SettlementReportItem5Adapter extends DefaultAdapter<SettlementRepor
} }
@Override @Override
public BaseHolder<SettlementReportItem5> getHolder(View v, int viewType) { public BaseHolder<SectionTextItem5> getHolder(View v, int viewType) {
return new SettlementReportItemHolder(v); return new SettlementReportItemHolder(v);
} }
...@@ -48,7 +47,7 @@ public class SettlementReportItem5Adapter extends DefaultAdapter<SettlementRepor ...@@ -48,7 +47,7 @@ public class SettlementReportItem5Adapter extends DefaultAdapter<SettlementRepor
return R.layout.item_settlement_report5; return R.layout.item_settlement_report5;
} }
class SettlementReportItemHolder extends BaseHolder<SettlementReportItem5> { class SettlementReportItemHolder extends BaseHolder<SectionTextItem5> {
@BindViews({R2.id.tv_item1, R2.id.tv_item2, R2.id.tv_item3, R2.id.tv_item4, R2.id.tv_item5}) @BindViews({R2.id.tv_item1, R2.id.tv_item2, R2.id.tv_item3, R2.id.tv_item4, R2.id.tv_item5})
TextView[] tv_items; TextView[] tv_items;
...@@ -58,7 +57,7 @@ public class SettlementReportItem5Adapter extends DefaultAdapter<SettlementRepor ...@@ -58,7 +57,7 @@ public class SettlementReportItem5Adapter extends DefaultAdapter<SettlementRepor
} }
@Override @Override
public void setData(SettlementReportItem5 reportItem, int position) { public void setData(SectionTextItem5 reportItem, int position) {
if(!TextUtils.isEmpty(reportItem.getItem1())){ if(!TextUtils.isEmpty(reportItem.getItem1())){
tv_items[0].setText(reportItem.getItem1()); tv_items[0].setText(reportItem.getItem1());
tv_items[0].setVisibility(View.VISIBLE); tv_items[0].setVisibility(View.VISIBLE);
......
...@@ -6,7 +6,7 @@ import android.widget.TextView; ...@@ -6,7 +6,7 @@ import android.widget.TextView;
import com.gingersoft.gsa.cloud.main.R; import com.gingersoft.gsa.cloud.main.R;
import com.gingersoft.gsa.cloud.main.R2; import com.gingersoft.gsa.cloud.main.R2;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.SettlementReportItem; import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem3;
import com.jess.arms.base.BaseHolder; import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
import java.util.List; import java.util.List;
...@@ -20,11 +20,11 @@ import butterknife.BindView; ...@@ -20,11 +20,11 @@ import butterknife.BindView;
* 描述: * 描述:
*/ */
public class SettlementReportItemAdapter extends DefaultAdapter<SettlementReportItem> { public class SettlementReportItemAdapter extends DefaultAdapter<SectionTextItem3> {
private Context mContext; private Context mContext;
public SettlementReportItemAdapter(Context context, List<SettlementReportItem> infos) { public SettlementReportItemAdapter(Context context, List<SectionTextItem3> infos) {
super(infos); super(infos);
this.mContext = context; this.mContext = context;
} }
...@@ -35,7 +35,7 @@ public class SettlementReportItemAdapter extends DefaultAdapter<SettlementReport ...@@ -35,7 +35,7 @@ public class SettlementReportItemAdapter extends DefaultAdapter<SettlementReport
} }
@Override @Override
public BaseHolder<SettlementReportItem> getHolder(View v, int viewType) { public BaseHolder<SectionTextItem3> getHolder(View v, int viewType) {
return new SettlementReportItemHolder(v); return new SettlementReportItemHolder(v);
} }
...@@ -44,7 +44,7 @@ public class SettlementReportItemAdapter extends DefaultAdapter<SettlementReport ...@@ -44,7 +44,7 @@ public class SettlementReportItemAdapter extends DefaultAdapter<SettlementReport
return R.layout.item_settlement_report; return R.layout.item_settlement_report;
} }
class SettlementReportItemHolder extends BaseHolder<SettlementReportItem> { class SettlementReportItemHolder extends BaseHolder<SectionTextItem3> {
@BindView(R2.id.tv_left) @BindView(R2.id.tv_left)
TextView tv_left; TextView tv_left;
...@@ -58,7 +58,7 @@ public class SettlementReportItemAdapter extends DefaultAdapter<SettlementReport ...@@ -58,7 +58,7 @@ public class SettlementReportItemAdapter extends DefaultAdapter<SettlementReport
} }
@Override @Override
public void setData(SettlementReportItem reportItem, int position) { public void setData(SectionTextItem3 reportItem, int position) {
tv_left.setText(reportItem.getLeftText()); tv_left.setText(reportItem.getLeftText());
tv_center.setText(reportItem.getCenterText()); tv_center.setText(reportItem.getCenterText());
......
...@@ -21,21 +21,18 @@ public class OrderBean { ...@@ -21,21 +21,18 @@ public class OrderBean {
* orderDetails : [{"id":1621502,"productName":"胡椒排骨涼瓜煲","productId":"4257","price":58,"lunchboxPrice":0,"number":1,"createTime":"Jan 14, 2020 8:00:11 PM","status":0},{"id":1621503,"productName":"海南雞(例牌)","productId":"4258","price":83,"lunchboxPrice":0,"number":1,"createTime":"Jan 14, 2020 8:00:11 PM","status":0}] * orderDetails : [{"id":1621502,"productName":"胡椒排骨涼瓜煲","productId":"4257","price":58,"lunchboxPrice":0,"number":1,"createTime":"Jan 14, 2020 8:00:11 PM","status":0},{"id":1621503,"productName":"海南雞(例牌)","productId":"4258","price":83,"lunchboxPrice":0,"number":1,"createTime":"Jan 14, 2020 8:00:11 PM","status":0}]
*/ */
private int id; private long id;
private String orderNo; private String orderNo;
private int status; private int status;
private int person; private int person;
private double totalAmount; private double totalAmount;
private double totalPoints; private double totalPoints;
/**生成訂單時間*/
private String createTime; private String createTime;
private List<OrderDetailsBean> orderDetails; private List<OrderDetailsBean> orderDetails;
public OrderBean() { public OrderBean() {
} }
public OrderBean(int orderId) {
this.id = orderId;
}
public OrderBean(OrderBean orderBean) { public OrderBean(OrderBean orderBean) {
this.id = orderBean.id; this.id = orderBean.id;
this.status = orderBean.status; this.status = orderBean.status;
...@@ -44,11 +41,14 @@ public class OrderBean { ...@@ -44,11 +41,14 @@ public class OrderBean {
this.createTime = orderBean.createTime; this.createTime = orderBean.createTime;
} }
public int getId() { public OrderBean(int orderId) {
this.id = orderId;
}
public long getId() {
return id; return id;
} }
public void setId(int id) { public void setId(long id) {
this.id = id; this.id = id;
} }
...@@ -128,7 +128,7 @@ public class OrderBean { ...@@ -128,7 +128,7 @@ public class OrderBean {
private double price; private double price;
private double lunchboxPrice; private double lunchboxPrice;
private int number; private int number;
// private String createTime; private String createTime;
private int status; private int status;
private byte type; private byte type;
...@@ -217,13 +217,13 @@ public class OrderBean { ...@@ -217,13 +217,13 @@ public class OrderBean {
this.number = number; this.number = number;
} }
// public String getCreateTime() { public String getCreateTime() {
// return createTime; return createTime;
// } }
//
// public void setCreateTime(String createTime) { public void setCreateTime(String createTime) {
// this.createTime = createTime; this.createTime = createTime;
// } }
public int getStatus() { public int getStatus() {
return status; return status;
......
...@@ -48,25 +48,17 @@ public class MyOrderManage { ...@@ -48,25 +48,17 @@ public class MyOrderManage {
private int mseq = 0;//三级序 private int mseq = 0;//三级序
private OrderBean orderBean; private OrderBean orderBean;
//食品列表 /**食品列表*/
private List<OrderDetail> orderFoodList = new ArrayList<>(); private List<OrderDetail> orderFoodList = new ArrayList<>();
//本次送單食品,用於打印 /**本次送單食品,用於打印*/
private List<OrderDetail> newFoodList = new ArrayList<>(); private List<OrderDetail> newFoodList = new ArrayList<>();
// private List<DatasBean> comboOrders = new ArrayList<>(); /**本次支付方式,用於打印*/
// private List<MixOldOrder> MixOldOrders = new ArrayList<>();
// private List<MixComboGroupDiscount.DatasBean> mixComboGroup_Discounts;
// private List<MixComboGroup.DatasBean> MixComboGroups;
private List<PayMethod> billMoney = new ArrayList<>(); private List<PayMethod> billMoney = new ArrayList<>();
private int lastTimeChangeNumber = 1; /**是不是修改訂單操作*/
private boolean modifyOrder=false;
private boolean allowAddAutoDiscount = false;
public static final int ADD_OPERAT = 1; public long getOrderId() {
public static final int DELETE_OPERAT = 2;
public int getOrderId() {
if (orderBean != null) { if (orderBean != null) {
return orderBean.getId(); return orderBean.getId();
} }
...@@ -99,7 +91,7 @@ public class MyOrderManage { ...@@ -99,7 +91,7 @@ public class MyOrderManage {
orderBean = new OrderBean(); orderBean = new OrderBean();
} }
if (orderBean != null) { if (orderBean != null) {
orderBean.setId((int) orderId); orderBean.setId((long) orderId);
} }
} }
...@@ -1016,6 +1008,14 @@ public class MyOrderManage { ...@@ -1016,6 +1008,14 @@ public class MyOrderManage {
if (orderFoodList != null) { if (orderFoodList != null) {
orderFoodList.clear(); orderFoodList.clear();
} }
if (newFoodList != null) {
newFoodList.clear();
}
if (billMoney != null) {
billMoney.clear();
}
orderBean = null;
modifyOrder = false;
} }
public boolean isOverMaxQty() { public boolean isOverMaxQty() {
...@@ -1123,6 +1123,9 @@ public class MyOrderManage { ...@@ -1123,6 +1123,9 @@ public class MyOrderManage {
} }
public List<OrderDetail> getOrderFoodList() { public List<OrderDetail> getOrderFoodList() {
if (orderFoodList == null) {
orderFoodList = new ArrayList<>();
}
return orderFoodList; return orderFoodList;
} }
...@@ -1174,12 +1177,13 @@ public class MyOrderManage { ...@@ -1174,12 +1177,13 @@ public class MyOrderManage {
// this.selectMealAdapter = selectMealAdapter; // this.selectMealAdapter = selectMealAdapter;
// } // }
public boolean isAllowAddAutoDiscount() {
return allowAddAutoDiscount; public boolean isModifyOrder() {
return modifyOrder;
} }
public void setAllowAddAutoDiscount(boolean allowAddAutoDiscount) { public void setModifyOrder(boolean modifyOrder) {
this.allowAddAutoDiscount = allowAddAutoDiscount; this.modifyOrder = modifyOrder;
} }
public List<PayMethod> getBillMoney() { public List<PayMethod> getBillMoney() {
......
...@@ -176,8 +176,8 @@ public class AppCrashHandler implements UncaughtExceptionHandler { ...@@ -176,8 +176,8 @@ public class AppCrashHandler implements UncaughtExceptionHandler {
System.arraycopy(trace, 0, trace2, 0, trace.length); System.arraycopy(trace, 0, trace2, 0, trace.length);
trace2[trace.length + 0] = new StackTraceElement("Android", "MODEL", Build.MODEL, -1); trace2[trace.length + 0] = new StackTraceElement("Android", "MODEL", Build.MODEL, -1);
trace2[trace.length + 1] = new StackTraceElement("Android", "VERSION", Build.VERSION.RELEASE, -1); trace2[trace.length + 1] = new StackTraceElement("Android", "VERSION", Build.VERSION.RELEASE, -1);
trace2[trace.length + 2] = new StackTraceElement("GSA-SUPER", "APP_VERSION_CODE", AppUtils.getVerCode(mContext) + "", -1); trace2[trace.length + 2] = new StackTraceElement("Gsa-Could", "APP_VERSION_CODE", AppUtils.getVerCode(mContext) + "", -1);
trace2[trace.length + 3] = new StackTraceElement("GSA-SUPER", "APP_VERSION_NAME", AppUtils.getVerName(mContext), -1); trace2[trace.length + 3] = new StackTraceElement("Gsa-Could", "APP_VERSION_NAME", AppUtils.getVerName(mContext), -1);
trace2[trace.length + 4] = new StackTraceElement("Android", "FINGERPRINT", Build.FINGERPRINT, -1); trace2[trace.length + 4] = new StackTraceElement("Android", "FINGERPRINT", Build.FINGERPRINT, -1);
// 追加信息,因为后面会回调默认的处理方法 // 追加信息,因为后面会回调默认的处理方法
ex.setStackTrace(trace2); ex.setStackTrace(trace2);
......
package com.gingersoft.gsa.cloud.main.mvp.model.bean; package com.gingersoft.gsa.cloud.ui.bean.view;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import java.util.ArrayList;
import java.util.List;
/** /**
* 作者:ELEGANT_BIN * 作者:ELEGANT_BIN
...@@ -7,14 +13,16 @@ package com.gingersoft.gsa.cloud.main.mvp.model.bean; ...@@ -7,14 +13,16 @@ package com.gingersoft.gsa.cloud.main.mvp.model.bean;
* 修订历史:2020-03-04 * 修订历史:2020-03-04
* 描述: * 描述:
*/ */
public class SettlementReportItem { public class SectionTextItem3 {
private String leftText; private String leftText;
private String centerText; private String centerText;
private String rightText; private String rightText;
public SectionTextItem3() {
}
public SettlementReportItem(String leftText, String centerText, String rightText) { public SectionTextItem3(String leftText, String centerText, String rightText) {
this.leftText = leftText; this.leftText = leftText;
this.centerText = centerText; this.centerText = centerText;
this.rightText = rightText; this.rightText = rightText;
...@@ -43,4 +51,42 @@ public class SettlementReportItem { ...@@ -43,4 +51,42 @@ public class SettlementReportItem {
public void setRightText(String rightText) { public void setRightText(String rightText) {
this.rightText = rightText; this.rightText = rightText;
} }
public static List<SectionTextItem3> orderDetailTransSectionTextItem3(List<OrderDetail> orderDetailList) {
List<SectionTextItem3> sectionTextItem3List = new ArrayList<>();
for (OrderDetail orderDetail : orderDetailList) {
SectionTextItem3 sectionTextItem3 = new SectionTextItem3();
String foodName;
switch (orderDetail.getItemType()) {
case 2:
foodName = " " + orderDetail.getProductName();
break;
case 3:
foodName = " " + orderDetail.getProductName();
break;
default:
foodName = orderDetail.getProductName();
break;
}
sectionTextItem3.setLeftText(foodName);
sectionTextItem3.setCenterText(String.valueOf(orderDetail.getNumber()));
sectionTextItem3.setRightText(String.valueOf(orderDetail.getPrice() * orderDetail.getNumber()));
sectionTextItem3List.add(sectionTextItem3);
}
return sectionTextItem3List;
}
public static List<SectionTextItem3> orderPayMethodTransSectionTextItem3(List<PayMethod> payMethodList) {
List<SectionTextItem3> sectionTextItem3List = new ArrayList<>();
for (PayMethod payMethod : payMethodList) {
SectionTextItem3 sectionTextItem3 = new SectionTextItem3();
sectionTextItem3.setLeftText(payMethod.getPayName());
sectionTextItem3.setCenterText(String.valueOf(0));
sectionTextItem3.setRightText(String.valueOf(payMethod.getPayMoney()));
sectionTextItem3List.add(sectionTextItem3);
}
return sectionTextItem3List;
}
} }
package com.gingersoft.gsa.cloud.main.mvp.model.bean; package com.gingersoft.gsa.cloud.ui.bean.view;
/** /**
* 作者:ELEGANT_BIN * 作者:ELEGANT_BIN
...@@ -7,7 +7,7 @@ package com.gingersoft.gsa.cloud.main.mvp.model.bean; ...@@ -7,7 +7,7 @@ package com.gingersoft.gsa.cloud.main.mvp.model.bean;
* 修订历史:2020-03-04 * 修订历史:2020-03-04
* 描述: * 描述:
*/ */
public class SettlementReportItem5 { public class SectionTextItem5 {
private String item1; private String item1;
private String item2; private String item2;
...@@ -15,7 +15,7 @@ public class SettlementReportItem5 { ...@@ -15,7 +15,7 @@ public class SettlementReportItem5 {
private String item4; private String item4;
private String item5; private String item5;
public SettlementReportItem5(String item1, String item2, String item3, String item4, String item5) { public SectionTextItem5(String item1, String item2, String item3, String item4, String item5) {
this.item1 = item1; this.item1 = item1;
this.item2 = item2; this.item2 = item2;
this.item3 = item3; this.item3 = item3;
......
...@@ -21,8 +21,11 @@ public interface AllOrderContract { ...@@ -21,8 +21,11 @@ public interface AllOrderContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息 //对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView { interface View extends IView {
void showEmptyView(boolean isSuccess, int size, Throwable t);
void setAllOrderAdapter(DefaultAdapter adapter); void setAllOrderAdapter(DefaultAdapter adapter);
byte getStatus();
} }
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存 //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
......
...@@ -104,7 +104,7 @@ public interface MealStandContract { ...@@ -104,7 +104,7 @@ public interface MealStandContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存 //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends BaseOrderContract.Model { interface Model extends BaseOrderContract.Model {
Observable<BaseRespose> loadOrder(int orderId); Observable<BaseRespose> loadOrder(long orderId);
// Observable<BaseResult> createOrder(RequestBody requestBody); // Observable<BaseResult> createOrder(RequestBody requestBody);
// //
......
...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.table.mvp.contract; ...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.table.mvp.contract;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult; import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem; import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.AllOrderFragment;
import com.jess.arms.mvp.IView; import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel; import com.jess.arms.mvp.IModel;
...@@ -34,6 +35,8 @@ public interface OrderCenterContract { ...@@ -34,6 +35,8 @@ public interface OrderCenterContract {
int getPageIndex(); int getPageIndex();
AllOrderFragment getCurrentOrderFragment();
int getPageSize(); int getPageSize();
} }
...@@ -41,6 +44,9 @@ public interface OrderCenterContract { ...@@ -41,6 +44,9 @@ public interface OrderCenterContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存 //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel { interface Model extends IModel {
Observable<BaseResult> loadOrderList(int restaurantId, int pageIndex, int pageSize); Observable<BaseResult> loadOrderList(int restaurantId,byte status, int pageIndex, int pageSize);
Observable<BaseResult> cancelOrder(long orderId,int restaurantId,byte status);
} }
} }
...@@ -51,7 +51,7 @@ public interface OrderContentContract { ...@@ -51,7 +51,7 @@ public interface OrderContentContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存 //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends BaseOrderContract.Model { interface Model extends BaseOrderContract.Model {
Observable<BaseRespose> loadOrder(int orderId); Observable<BaseRespose> loadOrder(long orderId);
// Observable<BaseResult> createOrder(RequestBody requestBody); // Observable<BaseResult> createOrder(RequestBody requestBody);
// //
......
package com.gingersoft.gsa.cloud.table.mvp.contract; package com.gingersoft.gsa.cloud.table.mvp.contract;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem;
import com.jess.arms.mvp.IView; import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel; import com.jess.arms.mvp.IModel;
import io.reactivex.Observable;
/** /**
* ================================================ * ================================================
...@@ -20,10 +24,15 @@ public interface OrderDetailContract { ...@@ -20,10 +24,15 @@ public interface OrderDetailContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息 //对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView { interface View extends IView {
void returnOrderDetail(OrderDetailItem orderDetailItem);
} }
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存 //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel { interface Model extends IModel {
Observable<BaseResult> getOrderDetailItem(long orderId);
Observable<BaseResult> cancelOrder(long orderId);
} }
} }
...@@ -104,7 +104,7 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model ...@@ -104,7 +104,7 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model
} }
@Override @Override
public Observable<BaseRespose> loadOrder(int orderId) { public Observable<BaseRespose> loadOrder(long orderId) {
return mRepositoryManager.obtainRetrofitService(MealService.class) return mRepositoryManager.obtainRetrofitService(MealService.class)
.loadOrder(orderId); .loadOrder(orderId);
} }
......
...@@ -16,6 +16,7 @@ import javax.inject.Inject; ...@@ -16,6 +16,7 @@ import javax.inject.Inject;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderCenterContract; import com.gingersoft.gsa.cloud.table.mvp.contract.OrderCenterContract;
import io.reactivex.Observable; import io.reactivex.Observable;
import io.reactivex.functions.Function;
/** /**
...@@ -50,8 +51,23 @@ public class OrderCenterModel extends BaseModel implements OrderCenterContract.M ...@@ -50,8 +51,23 @@ public class OrderCenterModel extends BaseModel implements OrderCenterContract.M
} }
@Override @Override
public Observable<BaseResult> loadOrderList(int restaurantId, int pageIndex, int pageSize) { public Observable<BaseResult> loadOrderList(int restaurantId,byte status, int pageIndex, int pageSize) {
return mRepositoryManager.obtainRetrofitService(OrderService.class) return mRepositoryManager.obtainRetrofitService(OrderService.class)
.loadOrderList(restaurantId,pageIndex,pageSize); .loadOrderList(restaurantId, status,pageIndex, pageSize);
}
@Override
public Observable<BaseResult> cancelOrder(long orderId, int restaurantId,byte status) {
return mRepositoryManager.obtainRetrofitService(OrderService.class)
.cancelOrder(orderId)
.flatMap(new Function<BaseResult, Observable<BaseResult>>() {
@Override
public Observable<BaseResult> apply(BaseResult info) throws Exception {
if (info != null && info.isSuccess()) {
return loadOrderList(restaurantId, status,0, 10);
}
return null;
}
});
} }
} }
\ No newline at end of file
...@@ -50,7 +50,7 @@ public class OrderContentModel extends BaseModel implements OrderContentContract ...@@ -50,7 +50,7 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
} }
@Override @Override
public Observable<BaseRespose> loadOrder(int orderId) { public Observable<BaseRespose> loadOrder(long orderId) {
return mRepositoryManager.obtainRetrofitService(MealService.class) return mRepositoryManager.obtainRetrofitService(MealService.class)
.loadOrder(orderId); .loadOrder(orderId);
} }
......
...@@ -2,6 +2,10 @@ package com.gingersoft.gsa.cloud.table.mvp.model; ...@@ -2,6 +2,10 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application; import android.app.Application;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
import com.gingersoft.gsa.cloud.table.mvp.model.service.OrderService;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.jess.arms.integration.IRepositoryManager; import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel; import com.jess.arms.mvp.BaseModel;
...@@ -12,6 +16,9 @@ import javax.inject.Inject; ...@@ -12,6 +16,9 @@ import javax.inject.Inject;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderDetailContract; import com.gingersoft.gsa.cloud.table.mvp.contract.OrderDetailContract;
import io.reactivex.Observable;
import io.reactivex.functions.Function;
/** /**
* ================================================ * ================================================
...@@ -43,4 +50,25 @@ public class OrderDetailModel extends BaseModel implements OrderDetailContract.M ...@@ -43,4 +50,25 @@ public class OrderDetailModel extends BaseModel implements OrderDetailContract.M
this.mGson = null; this.mGson = null;
this.mApplication = null; this.mApplication = null;
} }
@Override
public Observable<BaseResult> getOrderDetailItem(long orderId) {
return mRepositoryManager.obtainRetrofitService(OrderService.class)
.getOrderDetail(orderId);
}
@Override
public Observable<BaseResult> cancelOrder(long orderId) {
return mRepositoryManager.obtainRetrofitService(OrderService.class)
.cancelOrder(orderId)
.flatMap(new Function<BaseResult, Observable<BaseResult>>() {
@Override
public Observable<BaseResult> apply(BaseResult info) throws Exception {
if (info != null && info.isSuccess()) {
return getOrderDetailItem(orderId);
}
return null;
}
});
}
} }
\ No newline at end of file
...@@ -22,23 +22,42 @@ public class OrderDetailItem implements Serializable { ...@@ -22,23 +22,42 @@ public class OrderDetailItem implements Serializable {
/** /**
* id : 47040 * id : 47040
* tableName : 4
* orderNo : gs200371144969589 * orderNo : gs200371144969589
* status : 0 * status : 0
* totalAmount : 10 * totalAmount : 10
* totalPoints : 0 * totalPoints : 0
* createTime : Mar 14, 2020 1:24:12 PM * createTime : Mar 14, 2020 1:24:12 PM
* endTime : Mar 14, 2020 1:24:12 PM
* person : 2 * person : 2
* payName : 支付寶
* orderDetails : [{"id":1639952,"orderId":47040,"parentId":0,"productName":"包子","productId":"14520","price":5,"lunchboxPrice":0,"number":1,"type":3,"createTime":"Mar 14, 2020 2:55:02 PM","status":0},{"id":1639953,"orderId":47040,"parentId":0,"productName":"燒麥","productId":"14522","price":5,"lunchboxPrice":0,"number":1,"type":3,"createTime":"Mar 14, 2020 2:55:02 PM","status":0}] * orderDetails : [{"id":1639952,"orderId":47040,"parentId":0,"productName":"包子","productId":"14520","price":5,"lunchboxPrice":0,"number":1,"type":3,"createTime":"Mar 14, 2020 2:55:02 PM","status":0},{"id":1639953,"orderId":47040,"parentId":0,"productName":"燒麥","productId":"14522","price":5,"lunchboxPrice":0,"number":1,"type":3,"createTime":"Mar 14, 2020 2:55:02 PM","status":0}]
*/ */
private long id; private long id;
private String tableName;
private String orderNo; private String orderNo;
private int status; private int status;
private double totalAmount; private double totalAmount;
private int totalPoints; private int totalPoints;
private String payName;
/**生成訂單時間*/
private String createTime; private String createTime;
/**結賬時間*/
private String endTime;
private int person; private int person;
private List<OrderBean.OrderDetailsBean> orderDetails; private List<OrderBean.OrderDetailsBean> orderDetails;
/**
* 訂單狀態:0:未支付;1:待確認(已支付, 待餐廳確認);2:制作中(餐厅确认);3:派送中;4:确认收货(完成);5:是否评论;6:取消;
*/
public static final byte STATUS_UNPAID = 0;
public static final byte STATUS_NOT_CONFIRM = 1;
public static final byte STATUS_Making = 2;
public static final byte STATUS_Dispatching = 3;
public static final byte STATUS_CONFIRM = 4;
public static final byte STATUS_COMMENT = 5;
public static final byte STATUS_CANCEL = 6;
public long getId() { public long getId() {
return id; return id;
} }
...@@ -47,6 +66,14 @@ public class OrderDetailItem implements Serializable { ...@@ -47,6 +66,14 @@ public class OrderDetailItem implements Serializable {
this.id = id; this.id = id;
} }
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
public String getOrderNo() { public String getOrderNo() {
return orderNo; return orderNo;
} }
...@@ -55,6 +82,14 @@ public class OrderDetailItem implements Serializable { ...@@ -55,6 +82,14 @@ public class OrderDetailItem implements Serializable {
this.orderNo = orderNo; this.orderNo = orderNo;
} }
public String getPayName() {
return payName;
}
public void setPayName(String payName) {
this.payName = payName;
}
public int getStatus() { public int getStatus() {
return status; return status;
} }
...@@ -87,6 +122,14 @@ public class OrderDetailItem implements Serializable { ...@@ -87,6 +122,14 @@ public class OrderDetailItem implements Serializable {
this.createTime = createTime; this.createTime = createTime;
} }
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
public int getPerson() { public int getPerson() {
return person; return person;
} }
......
...@@ -15,14 +15,14 @@ import java.util.Map; ...@@ -15,14 +15,14 @@ import java.util.Map;
public class AddOrderRequest { public class AddOrderRequest {
private int orderId; private long orderId;
private Map<String, List<OrderBean.OrderDetailsBean>> maps; private Map<String, List<OrderBean.OrderDetailsBean>> maps;
public int getOrderId() { public long getOrderId() {
return orderId; return orderId;
} }
public void setOrderId(int orderId) { public void setOrderId(long orderId) {
this.orderId = orderId; this.orderId = orderId;
} }
......
...@@ -17,6 +17,7 @@ public class CreateOrderRequest { ...@@ -17,6 +17,7 @@ public class CreateOrderRequest {
private int person; private int person;
private int tableId; private int tableId;
private String tableName;
private int restaurantId; private int restaurantId;
private Map<Long, List<OrderBean.OrderDetailsBean>> orderDetails; private Map<Long, List<OrderBean.OrderDetailsBean>> orderDetails;
...@@ -36,6 +37,14 @@ public class CreateOrderRequest { ...@@ -36,6 +37,14 @@ public class CreateOrderRequest {
this.tableId = tableId; this.tableId = tableId;
} }
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
public int getRestaurantId() { public int getRestaurantId() {
return restaurantId; return restaurantId;
} }
......
...@@ -28,7 +28,7 @@ public interface MealService { ...@@ -28,7 +28,7 @@ public interface MealService {
@FormUrlEncoded @FormUrlEncoded
@POST("order/get" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @POST("order/get" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseRespose> loadOrder(@Field("orderId") int orderId); Observable<BaseRespose> loadOrder(@Field("orderId") long orderId);
@POST("orderDetails/delete" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @POST("orderDetails/delete" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> deleteFood(@Body RequestBody requestBody); Observable<BaseResult> deleteFood(@Body RequestBody requestBody);
......
...@@ -6,6 +6,8 @@ import io.reactivex.Observable; ...@@ -6,6 +6,8 @@ import io.reactivex.Observable;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager; import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
import okhttp3.RequestBody; import okhttp3.RequestBody;
import retrofit2.http.Body; import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET; import retrofit2.http.GET;
import retrofit2.http.POST; import retrofit2.http.POST;
import retrofit2.http.Query; import retrofit2.http.Query;
...@@ -15,8 +17,14 @@ import retrofit2.http.Query; ...@@ -15,8 +17,14 @@ import retrofit2.http.Query;
*/ */
public interface OrderService { public interface OrderService {
@FormUrlEncoded
@POST("order/list" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @POST("order/list" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> loadOrderList(@Query("restaurantId") int restaurantId, @Query("pageIndex") int pageIndex, @Query("pageSize") int pageSize); Observable<BaseResult> loadOrderList(@Field("restaurantId") int restaurantId, @Field("status") byte status, @Field("pageIndex") int pageIndex, @Field("pageSize") int pageSize);
@GET("order/pay/success" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> getOrderDetail(@Query("orderId") long orderId);
@FormUrlEncoded
@POST("order/cancel" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> cancelOrder(@Field("orderId") long orderId);
} }
...@@ -3,9 +3,19 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter; ...@@ -3,9 +3,19 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter;
import android.app.Application; import android.app.Application;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.util.Log;
import android.view.View; import android.view.View;
import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem; import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem;
import com.gingersoft.gsa.cloud.table.mvp.model.utils.OrderAssemblyUtil;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderCenterActivity; import com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderCenterActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderDetailActivity; import com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderDetailActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderCenterAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderCenterAdapter;
...@@ -21,6 +31,8 @@ import me.jessyan.rxerrorhandler.core.RxErrorHandler; ...@@ -21,6 +31,8 @@ import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import javax.inject.Inject; import javax.inject.Inject;
import com.gingersoft.gsa.cloud.table.mvp.contract.AllOrderContract; import com.gingersoft.gsa.cloud.table.mvp.contract.AllOrderContract;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -74,13 +86,79 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -74,13 +86,79 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
mOrderCenterAdapter = new OrderCenterAdapter(context, mOrderItemList); mOrderCenterAdapter = new OrderCenterAdapter(context, mOrderItemList);
mRootView.setAllOrderAdapter(mOrderCenterAdapter); mRootView.setAllOrderAdapter(mOrderCenterAdapter);
} }
mOrderCenterAdapter.setOnItemClickListener(new DefaultAdapter.OnRecyclerViewItemClickListener() { mOrderCenterAdapter.setOnItemClickListener(new OrderCenterAdapter.OnItemClickListener() {
@Override @Override
public void onItemClick(View view, int viewType, Object data, int position) { public void onItemClick(OrderDetailItem datasBean, int position) {
Intent intent = new Intent(IActivity, OrderDetailActivity.class); Intent intent = new Intent(IActivity, OrderDetailActivity.class);
intent.putExtra("orderDetailItem", (OrderDetailItem) data); intent.putExtra("orderDetailItem", datasBean);
mRootView.launchActivity(intent); mRootView.launchActivity(intent);
} }
@Override
public void onPrintClick(OrderDetailItem datasBean, int position) {
List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(datasBean.getOrderDetails()));
startPrintOrder(datasBean, orderDetailList);
}
@Override
public void onModifyClick(OrderDetailItem datasBean, int position) {
//設置為修改訂單操作
MyOrderManage.getInstance().setModifyOrder(true);
/**
* 緩存訂單信息
*/
OrderBean orderBean = new OrderBean();
orderBean.setId(datasBean.getId());
orderBean.setStatus(datasBean.getStatus());
orderBean.setOrderNo(datasBean.getOrderNo());
orderBean.setPerson(datasBean.getPerson());
orderBean.setCreateTime(datasBean.getCreateTime());
MyOrderManage.getInstance().setOrderBean(orderBean);
OpenTableManage.getDefault().setPeopleNumber(datasBean.getPerson());
List<OrderBean.OrderDetailsBean> orderDetailsBeans = datasBean.getOrderDetails();
List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(orderDetailsBeans));
MyOrderManage.getInstance().setOrderFoodList(orderDetailList);
mRootView.launchActivity(new Intent(IActivity, MealStandActivity.class));
}
@Override
public void onCancelClick(OrderDetailItem datasBean, int position) {
showCancelDialog(datasBean.getId());
}
});
}
private void showCancelDialog(long orderId) {
QMUIDialog.MessageDialogBuilder dialogBuilder = new QMUIDialog.MessageDialogBuilder(IActivity);
dialogBuilder.setTitle("溫馨提示");
dialogBuilder.setMessage("是否取消訂單?");
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> {
dialog.dismiss();
IActivity.cancelOrder(orderId,mRootView.getStatus());
});
dialogBuilder.create(R.style.MyDialogTheme2).show();
}
private void startPrintOrder(OrderDetailItem orderDetailItem, List<OrderDetail> orderDetailList) {
MyOrderManage.getInstance().setOrderFoodList(orderDetailList);
MyOrderManage.getInstance().setOrderId(orderDetailItem.getId());
OpenTableManage.getDefault().setPeopleNumber(orderDetailItem.getPerson());
TableBean.DataBean dataBean = new TableBean.DataBean();
dataBean.setTableName(orderDetailItem.getTableName());
dataBean.setCreateTime(orderDetailItem.getCreateTime());
OpenTableManage.getDefault().setTableBean(dataBean);
CC.obtainBuilder("Component.Print")
.setActionName("printActivity")
.addParam("type", 2)
.build()
.callAsyncCallbackOnMainThread((cc, result) -> {
Log.e("error", "是否成功打印:" + result.isSuccess());
MyOrderManage.getInstance().clear();
OpenTableManage.getDefault().setPeopleNumber(0);
OpenTableManage.getDefault().setTableBean(null);
}); });
} }
......
...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter; ...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter;
import android.app.Activity; import android.app.Activity;
import android.app.Application; import android.app.Application;
import android.view.View;
import android.widget.TextView; import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
...@@ -20,6 +21,7 @@ import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest; ...@@ -20,6 +21,7 @@ import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity; import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderMoneyAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderMoneyAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.widget.ChooseNumberDialog;
import com.jess.arms.di.scope.ActivityScope; import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader; import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager; import com.jess.arms.integration.AppManager;
...@@ -245,7 +247,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -245,7 +247,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
return false; return false;
} }
//旧食品不可以修改数量 //旧食品不可以修改数量
if (i != 0 && myOrderManage.getOrderFoodList().get(mSelectMealAdapter.getSelect_start_position()).isNew() == false) { if (myOrderManage.isModifyOrder() || myOrderManage.getOrderFoodList().get(mSelectMealAdapter.getSelect_start_position()).isNew() == false && i != 0) {
return false; return false;
} }
if (mSelectMealAdapter.getSelect_position() == -1) { if (mSelectMealAdapter.getSelect_position() == -1) {
...@@ -344,6 +346,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -344,6 +346,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
request.setOrderDetails(orderDetailBeanToFoodRequest(foodList)); request.setOrderDetails(orderDetailBeanToFoodRequest(foodList));
request.setPerson(OpenTableManage.getDefault().getPeopleNumber()); request.setPerson(OpenTableManage.getDefault().getPeopleNumber());
request.setTableId(OpenTableManage.getDefault().getTableBean().getId()); request.setTableId(OpenTableManage.getDefault().getTableBean().getId());
request.setTableName(OpenTableManage.getDefault().getTableBean().getTableName());
request.setRestaurantId(restaurantId); request.setRestaurantId(restaurantId);
return request; return request;
} }
......
...@@ -29,6 +29,7 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodAdapter; ...@@ -29,6 +29,7 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.widget.ChooseNumberDialog;
import com.jess.arms.di.scope.ActivityScope; import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader; import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager; import com.jess.arms.integration.AppManager;
...@@ -39,6 +40,7 @@ import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction; ...@@ -39,6 +40,7 @@ import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
import org.simple.eventbus.EventBus; import org.simple.eventbus.EventBus;
import org.simple.eventbus.Subscriber; import org.simple.eventbus.Subscriber;
import java.lang.reflect.Method;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -323,7 +325,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -323,7 +325,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
// } // }
} }
private void loadModifierData(long fid) { private void loadModifierData(long fid) {
List<Modifier> modifierList = mModel.queryDB_ModifierList(fid, ModifierDaoUtils.modifierMode_Child); List<Modifier> modifierList = mModel.queryDB_ModifierList(fid, ModifierDaoUtils.modifierMode_Child);
updateModifierData(modifierList); updateModifierData(modifierList);
...@@ -345,8 +346,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -345,8 +346,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
@Override @Override
public void onNext(@NonNull BaseResult info) { public void onNext(@NonNull BaseResult info) {
if (info != null && info.isSuccess()) { if (info != null && info.isSuccess()) {
saveCreateTime(info.getSysTime());
//創建訂單成功,保存訂單創建時間到開台信息中
if (info.getData() != null) { if (info.getData() != null) {
setOrderId((Double) info.getData()); setOrderId((Double) info.getData());
} }
...@@ -403,19 +402,19 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -403,19 +402,19 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
} }
/** /**
* 打印 * 打印上菜紙
* @param initTable 是否是開台 * @param initTable 是否是開台
*/ */
private void printSendOrder(boolean initTable) { private void printSendOrder(boolean initTable) {
CC.obtainBuilder("Component.Print") CC.obtainBuilder("Component.Print")
.setActionName("printActivity") .setActionName("printActivity")
.addParam("type", 3)//廚房單 .addParam("type", 3)
.build() .build()
.callAsyncCallbackOnMainThread((cc, result) -> { .callAsyncCallbackOnMainThread((cc, result) -> {
// if (result.isSuccess()) { // if (result.isSuccess()) {
//打印成功 //打印成功
if (initTable) { if (initTable) {
IActivity.returnTableActivity(initTable); IActivity.returnBeforeActivity(initTable);
} else { } else {
mRootView.killMyself(); mRootView.killMyself();
} }
...@@ -483,7 +482,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -483,7 +482,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
mSelectMealAdapter.notifyDataSetChanged(); mSelectMealAdapter.notifyDataSetChanged();
mSelectMealAdapter.setIndex(); mSelectMealAdapter.setIndex();
mRootView.showViewModeVisibility(MealConstant.food_group_ViewMode,MealConstant.food_ViewMode); mRootView.showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode);
} else { } else {
mRootView.showMessage("刪除失敗"); mRootView.showMessage("刪除失敗");
} }
...@@ -491,16 +490,47 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -491,16 +490,47 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}); });
} }
private void deleteWithOrderedFoodById() { public void showInputNumberDialog(OrderDetail datasBean) {
ChooseNumberDialog chooseNumberDialog = new ChooseNumberDialog(IActivity);
chooseNumberDialog.builder();
chooseNumberDialog.setValueHint("請輸入數量");
chooseNumberDialog.setOnBackClickListener(new ChooseNumberDialog.OnBackClickListener() {
@Override
public void OnBackClick() {
}
});
chooseNumberDialog.setOnClickListener(new ChooseNumberDialog.OnClickListener() {
@Override
public void onComfirmClick(String number) {
changeNumber(datasBean.getNumber() - 1);
}
@Override
public void onBackPage() {
}
});
chooseNumberDialog.setCancelable(true);
chooseNumberDialog.show();
}
private void deleteWithOrderedFoodById(OrderDetail deleteFood) {
QMUIDialog.MessageDialogBuilder dialogBuilder = new QMUIDialog.MessageDialogBuilder(IActivity); QMUIDialog.MessageDialogBuilder dialogBuilder = new QMUIDialog.MessageDialogBuilder(IActivity);
dialogBuilder.setTitle("溫馨提示"); dialogBuilder.setTitle("溫馨提示");
dialogBuilder.setMessage("是否確認刪除該食品?"); dialogBuilder.setMessage("是否確認刪除該食品?");
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss()); dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> { dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> {
dialog.dismiss(); dialog.dismiss();
// int deletePosition = mSelectMealAdapter.removeFoodItem(); if (myOrderManage.isModifyOrder()) {
// mRootView.setMealRvScrollToPosition(deletePosition); if (deleteFood.getNumber() < 1) {
changeNumber(0);
} else {
showInputNumberDialog(deleteFood);
}
} else {
deleteFood(); deleteFood();
}
}); });
dialogBuilder.create(R.style.QMUI_Dialog).show(); dialogBuilder.create(R.style.QMUI_Dialog).show();
} }
...@@ -525,7 +555,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -525,7 +555,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
if (!deleteFood.isNew()) { if (!deleteFood.isNew()) {
//TODO 刪除已下單食品 //TODO 刪除已下單食品
deleteWithOrderedFoodById(); deleteWithOrderedFoodById(deleteFood);
} else { } else {
if (deleteStyle == 2) { if (deleteStyle == 2) {
mSelectMealAdapter.removeAllNewFoodItem(); mSelectMealAdapter.removeAllNewFoodItem();
......
...@@ -14,6 +14,7 @@ import com.jess.arms.http.imageloader.ImageLoader; ...@@ -14,6 +14,7 @@ import com.jess.arms.http.imageloader.ImageLoader;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull; import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import me.jessyan.rxerrorhandler.core.RxErrorHandler; import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber; import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
...@@ -51,6 +52,9 @@ public class OrderCenterPresenter extends BasePresenter<OrderCenterContract.Mode ...@@ -51,6 +52,9 @@ public class OrderCenterPresenter extends BasePresenter<OrderCenterContract.Mode
AppManager mAppManager; AppManager mAppManager;
private OrderCenterActivity IActivity; private OrderCenterActivity IActivity;
//是否可以繼續上拉刷新
private boolean noMoreData = false;
@Inject @Inject
public OrderCenterPresenter(OrderCenterContract.Model model, OrderCenterContract.View rootView) { public OrderCenterPresenter(OrderCenterContract.Model model, OrderCenterContract.View rootView) {
...@@ -68,17 +72,17 @@ public class OrderCenterPresenter extends BasePresenter<OrderCenterContract.Mode ...@@ -68,17 +72,17 @@ public class OrderCenterPresenter extends BasePresenter<OrderCenterContract.Mode
this.mApplication = null; this.mApplication = null;
} }
/** /***
* 獲取訂單列表 * 獲取訂單列表
* * @param status
* @param pageIndex * @param pageIndex
* @param pageSize * @param pageSize
* @param refreshLayout * @param refreshLayout
* @param isLoadMore * @param isLoadMore
*/ */
public void loadOrderList(int pageIndex, int pageSize, RefreshLayout refreshLayout, boolean isLoadMore) { public void loadOrderList(byte status, int pageIndex, int pageSize, RefreshLayout refreshLayout, boolean isLoadMore) {
int restaurantId = GsaCloudApplication.getRestaurantId(mApplication); int restaurantId = GsaCloudApplication.getRestaurantId(mApplication);
mModel.loadOrderList(restaurantId, pageIndex, pageSize) mModel.loadOrderList(restaurantId, status, pageIndex, pageSize)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> { .doOnSubscribe(disposable -> {
if (refreshLayout == null) { if (refreshLayout == null) {
...@@ -92,36 +96,56 @@ public class OrderCenterPresenter extends BasePresenter<OrderCenterContract.Mode ...@@ -92,36 +96,56 @@ public class OrderCenterPresenter extends BasePresenter<OrderCenterContract.Mode
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) { .subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
@Override @Override
public void onSubscribe(Disposable d) {
super.onSubscribe(d);
if (!isLoadMore) {
//初始化或下拉刷新,重置上拉加載標誌
noMoreData = false;
}
}
@Override
public void onNext(@NonNull BaseResult result) { public void onNext(@NonNull BaseResult result) {
if (result.isSuccess()) { if (result.isSuccess()) {
if (result.getData() != null) { if (result.getData() != null) {
List<OrderDetailItem> orderItemList = JsonUtils.parseArray(result.getData(), OrderDetailItem.class); List<OrderDetailItem> orderItemList = JsonUtils.parseArray(result.getData(), OrderDetailItem.class);
if (orderItemList.size() > 0) { if (orderItemList.size() > 0) {
if (!noMoreData) {
mRootView.returnOrderItemList(orderItemList); mRootView.returnOrderItemList(orderItemList);
//每次更新完數據,頁碼+1 //每次更新完數據,頁碼+1
mRootView.setPageIndex(mRootView.getPageIndex() + 1); mRootView.setPageIndex(mRootView.getPageIndex() + 1);
}
if (orderItemList.size() < pageSize) {
//沒有更多數據不能上拉刷新
noMoreData = true;
} else {
noMoreData = false;
}
} else { } else {
mRootView.showEmptyView(true,0, null); mRootView.showEmptyView(true, 0, null);
} }
} else { } else {
mRootView.showEmptyView(true,0, null); mRootView.showEmptyView(true, 0, null);
} }
} else { } else {
mRootView.showEmptyView(false,0, null); mRootView.showEmptyView(false, 0, null);
} }
resetRefreshLayout(); resetRefreshLayout(noMoreData);
} }
@Override @Override
public void onError(Throwable t) { public void onError(Throwable t) {
super.onError(t); super.onError(t);
mRootView.showEmptyView(false,0, t); mRootView.showEmptyView(false, 0, t);
resetRefreshLayout(); resetRefreshLayout(false);
} }
private void resetRefreshLayout() { private void resetRefreshLayout(boolean noMoreData) {
if (refreshLayout != null) { if (refreshLayout != null) {
if (isLoadMore) { if (isLoadMore) {
if (noMoreData) {
refreshLayout.setNoMoreData(true);
}
refreshLayout.finishLoadMore(); refreshLayout.finishLoadMore();
} else { } else {
refreshLayout.finishRefresh(); refreshLayout.finishRefresh();
...@@ -132,4 +156,56 @@ public class OrderCenterPresenter extends BasePresenter<OrderCenterContract.Mode ...@@ -132,4 +156,56 @@ public class OrderCenterPresenter extends BasePresenter<OrderCenterContract.Mode
}); });
} }
/**
* 取消訂單
*
* @param orderId
*/
public void cancelOrder(long orderId, byte status) {
int restaurantId = GsaCloudApplication.getRestaurantId(mApplication);
mModel.cancelOrder(orderId, restaurantId, status)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onNext(@NonNull BaseResult result) {
if (result.isSuccess()) {
if (result.getData() != null) {
List<OrderDetailItem> orderItemList = JsonUtils.parseArray(result.getData(), OrderDetailItem.class);
if (orderItemList.size() > 0) {
mRootView.returnOrderItemList(orderItemList);
//每次更新完數據,頁碼+1
mRootView.setPageIndex(mRootView.getPageIndex() + 1);
} else {
mRootView.showEmptyView(true, 0, null);
}
} else {
mRootView.showEmptyView(true, 0, null);
}
} else {
mRootView.showEmptyView(false, 0, null);
}
}
@Override
public void onError(Throwable t) {
super.onError(t);
mRootView.showEmptyView(false, 0, t);
}
});
}
public boolean isNoMoreData() {
return noMoreData;
}
public void setNoMoreData(boolean noMoreData) {
this.noMoreData = noMoreData;
}
} }
...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter; ...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter;
import android.app.Application; import android.app.Application;
import android.graphics.Color; import android.graphics.Color;
import android.util.Log;
import android.view.View; import android.view.View;
import com.billy.cc.core.component.CC; import com.billy.cc.core.component.CC;
...@@ -104,6 +105,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -104,6 +105,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
public void initOrderTopFunctionListener() { public void initOrderTopFunctionListener() {
mOrderTopFunctionAdapter.setOnItemClickListener(new DefaultAdapter.OnRecyclerViewItemClickListener() { mOrderTopFunctionAdapter.setOnItemClickListener(new DefaultAdapter.OnRecyclerViewItemClickListener() {
@Override @Override
public void onItemClick(View view, int viewType, Object data, int position) { public void onItemClick(View view, int viewType, Object data, int position) {
if (XClickUtil.isFastDoubleClick(view, 1000)) { if (XClickUtil.isFastDoubleClick(view, 1000)) {
...@@ -124,8 +126,6 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -124,8 +126,6 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
//有未送單食品先送單 //有未送單食品先送單
sendOrder(true); sendOrder(true);
} else { } else {
// 沒有未送單食品,將之前的食品列表清空
MyOrderManage.getInstance().getNewFoodList().clear();
printOrder(OpenTableManage.getDefault().getTableBean().getId(), false); printOrder(OpenTableManage.getDefault().getTableBean().getId(), false);
} }
break; break;
...@@ -142,6 +142,14 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -142,6 +142,14 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
} }
public void initTopFunctionData() { public void initTopFunctionData() {
if (MyOrderManage.getInstance().isModifyOrder()) {
//修改訂單隱藏送單,印單功能
functions[0] = new Function("結賬", Color.parseColor("#FFFFFF"), Color.parseColor("#DC0000"), 24);
} else {
functions[0] = new Function("送單", Color.parseColor("#FFFFFF"), Color.parseColor("#008131"), 24);
functions[1] = new Function("印單", Color.parseColor("#FFFFFF"), Color.parseColor("#FF8E04"), 24);
functions[2] = new Function("結賬", Color.parseColor("#FFFFFF"), Color.parseColor("#DC0000"), 24);
}
mFunctionList.addAll(Arrays.asList(functions)); mFunctionList.addAll(Arrays.asList(functions));
} }
...@@ -160,7 +168,6 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -160,7 +168,6 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
@Override @Override
public void onNext(@NonNull BaseResult info) { public void onNext(@NonNull BaseResult info) {
if (info != null && info.isSuccess()) { if (info != null && info.isSuccess()) {
saveCreateTime(info.getSysTime());
if (info.getData() != null) { if (info.getData() != null) {
setOrderId((Double) info.getData()); setOrderId((Double) info.getData());
} }
...@@ -237,6 +244,11 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -237,6 +244,11 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
.addParam("type", 3) .addParam("type", 3)
.build() .build()
.callAsyncCallbackOnMainThread((cc, result) -> { .callAsyncCallbackOnMainThread((cc, result) -> {
Log.e("error", "是否成功打印:" + result.isSuccess());
// if (result.isSuccess()) {
// //打印成功
//
// }
mRootView.sendSuccess(); mRootView.sendSuccess();
}); });
...@@ -271,28 +283,14 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -271,28 +283,14 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
@Override @Override
public void onNext(@NonNull BaseRespose info) { public void onNext(@NonNull BaseRespose info) {
if (info != null && info.isSuccess()) { if (info != null && info.isSuccess()) {
//打印
printOrder();
} else {
mRootView.showMessage("印單失敗!");
if (isSend) {
//印單失敗但提交新食品成功,更新一遍訂單數據
loadOrder(MyOrderManage.getInstance().getOrderId());
}
}
}
});
}
private void printOrder() {
CC.obtainBuilder("Component.Print") CC.obtainBuilder("Component.Print")
.addParam("type", 1)//印單 .addParam("type", 1)//印單
.setActionName("printActivity") .setActionName("printActivity")
.build() .build()
.callAsyncCallbackOnMainThread((cc, result) -> { .callAsyncCallbackOnMainThread((cc, result) -> {
Log.e("error", "是否成功打印:" + result.isSuccess());
if (result.isSuccess()) { if (result.isSuccess()) {
//打印成功,接著打印廚房單 //打印成功
mRootView.showMessage("打印成功!"); mRootView.showMessage("打印成功!");
} else { } else {
mRootView.showMessage("打印失敗!"); mRootView.showMessage("打印失敗!");
...@@ -300,9 +298,20 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -300,9 +298,20 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
//不管打印是否成功,都需要退出當前頁面 //不管打印是否成功,都需要退出當前頁面
mRootView.printSuccess(); mRootView.printSuccess();
}); });
//打印
} else {
mRootView.showMessage("印單失敗!");
if (isSend) {
//印單失敗但提交新食品成功,更新一遍訂單數據
loadOrder(MyOrderManage.getInstance().getOrderId());
}
}
} }
});
}
public void loadOrder(int orderId) { public void loadOrder(long orderId) {
mModel.loadOrder(orderId) mModel.loadOrder(orderId)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null)) .doOnSubscribe(disposable -> mRootView.showLoading(null))
......
...@@ -2,16 +2,24 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter; ...@@ -2,16 +2,24 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter;
import android.app.Application; import android.app.Application;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem;
import com.jess.arms.integration.AppManager; import com.jess.arms.integration.AppManager;
import com.jess.arms.di.scope.ActivityScope; import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.mvp.BasePresenter; import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.http.imageloader.ImageLoader; import com.jess.arms.http.imageloader.ImageLoader;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.schedulers.Schedulers;
import me.jessyan.rxerrorhandler.core.RxErrorHandler; import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
import javax.inject.Inject; import javax.inject.Inject;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderDetailContract; import com.gingersoft.gsa.cloud.table.mvp.contract.OrderDetailContract;
import com.jess.arms.utils.RxLifecycleUtils;
/** /**
...@@ -50,4 +58,30 @@ public class OrderDetailPresenter extends BasePresenter<OrderDetailContract.Mode ...@@ -50,4 +58,30 @@ public class OrderDetailPresenter extends BasePresenter<OrderDetailContract.Mode
this.mImageLoader = null; this.mImageLoader = null;
this.mApplication = null; this.mApplication = null;
} }
public void cancelOrder(long orderId) {
mModel.cancelOrder(orderId)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onNext(@NonNull BaseResult result) {
if (result.isSuccess()) {
if (result.getData() != null) {
OrderDetailItem orderDetailItem = JsonUtils.parseObject((String) result.getData(), OrderDetailItem.class);
mRootView.returnOrderDetail(orderDetailItem);
} else {
mRootView.showMessage("獲取賬單失敗");
}
} else {
mRootView.showMessage("獲取賬單失敗");
}
}
});
}
} }
...@@ -82,15 +82,15 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -82,15 +82,15 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
/** /**
* 当前选择的操作: * 当前选择的操作:
* 1分台 * 1#分台
* 2上菜纸 * 2#上菜纸
* 3重置 * 3#重置
* 4转台 * 4#转台
* 5sky_order * 5#sky_order
* 6結賬、 * 6#結賬、
* 10餐檯模式 * 10#餐檯模式
*/ */
private int currentChooseOperatType = -1; private int mCurrentOperatType = -1;
/** /**
* 选中操作的台名、id * 选中操作的台名、id
*/ */
...@@ -387,7 +387,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -387,7 +387,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
} }
List<TableBean.DataBean> filterTableBeanList = new ArrayList<>(); List<TableBean.DataBean> filterTableBeanList = new ArrayList<>();
//如果是餐檯操作過一遍筛选 //如果是餐檯操作過一遍筛选
switch (currentChooseOperatType) { switch (mCurrentOperatType) {
// case TableOperatTypeConstant.splite_table_1: // case TableOperatTypeConstant.splite_table_1:
// for (int i = 0; i < datasBeans.size(); i++) { // for (int i = 0; i < datasBeans.size(); i++) {
// if (datasBeans.get(i).getStatus() != 0 || datasBeans.get(i).getSplitStatus() == 1 ? true : false) { // if (datasBeans.get(i).getStatus() != 0 || datasBeans.get(i).getSplitStatus() == 1 ? true : false) {
...@@ -427,7 +427,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -427,7 +427,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
dialogBuilder.setTitle("溫馨提示"); dialogBuilder.setTitle("溫馨提示");
//是否合併檯 //是否合併檯
boolean isMergeTable = false; boolean isMergeTable = false;
switch (currentChooseOperatType) { switch (mCurrentOperatType) {
case TableOperatTypeConstant.splite_table_1: case TableOperatTypeConstant.splite_table_1:
break; break;
...@@ -462,7 +462,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -462,7 +462,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
@Override @Override
public void onClick(QMUIDialog dialog, int index) { public void onClick(QMUIDialog dialog, int index) {
dialog.dismiss(); dialog.dismiss();
switch (currentChooseOperatType) { switch (mCurrentOperatType) {
case TableOperatTypeConstant.splite_table_1: case TableOperatTypeConstant.splite_table_1:
break; break;
...@@ -551,11 +551,11 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -551,11 +551,11 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
} }
public int getCurrentChooseOperatType() { public int getCurrentChooseOperatType() {
return currentChooseOperatType; return mCurrentOperatType;
} }
public void setCurrentChooseOperatType(int currentChooseOperatType) { public void setCurrentChooseOperatType(int mCurrentOperatType) {
this.currentChooseOperatType = currentChooseOperatType; this.mCurrentOperatType = mCurrentOperatType;
} }
public String getOriginalTableName() { public String getOriginalTableName() {
......
...@@ -34,6 +34,7 @@ import androidx.viewpager.widget.ViewPager; ...@@ -34,6 +34,7 @@ import androidx.viewpager.widget.ViewPager;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean; import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage; import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
import com.gingersoft.gsa.cloud.base.utils.VibratorUtils; import com.gingersoft.gsa.cloud.base.utils.VibratorUtils;
import com.gingersoft.gsa.cloud.base.utils.constans.Constans; import com.gingersoft.gsa.cloud.base.utils.constans.Constans;
...@@ -49,6 +50,7 @@ import com.gingersoft.gsa.cloud.table.R2; ...@@ -49,6 +50,7 @@ import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.app.GoldConstants; import com.gingersoft.gsa.cloud.table.app.GoldConstants;
import com.gingersoft.gsa.cloud.table.di.component.DaggerMealStandComponent; import com.gingersoft.gsa.cloud.table.di.component.DaggerMealStandComponent;
import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract; import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem;
import com.gingersoft.gsa.cloud.table.mvp.model.constant.MealConstant; import com.gingersoft.gsa.cloud.table.mvp.model.constant.MealConstant;
import com.gingersoft.gsa.cloud.table.mvp.presenter.MealStandPresenter; import com.gingersoft.gsa.cloud.table.mvp.presenter.MealStandPresenter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BaseFragmentAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BaseFragmentAdapter;
...@@ -96,8 +98,7 @@ import static com.jess.arms.utils.Preconditions.checkNotNull; ...@@ -96,8 +98,7 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a> * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================ * ================================================
*/ */
public class MealStandActivity extends BaseActivity<MealStandPresenter> implements MealStandContract.View, PagerGridLayoutManager public class MealStandActivity extends BaseActivity<MealStandPresenter> implements MealStandContract.View, PagerGridLayoutManager.PageListener {
.PageListener {
private SparseArray<View> map = new SparseArray<>(); private SparseArray<View> map = new SparseArray<>();
...@@ -254,7 +255,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen ...@@ -254,7 +255,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
EventBus.getDefault().registerSticky(this); EventBus.getDefault().registerSticky(this);
//清除食品緩存 //清除Greendao食品緩存
FoodDaoUtils foodDaoUtils = new FoodDaoUtils(this); FoodDaoUtils foodDaoUtils = new FoodDaoUtils(this);
foodDaoUtils.detachAll(); foodDaoUtils.detachAll();
FoodComboDaoUtils foodComboDaoUtils = new FoodComboDaoUtils(this); FoodComboDaoUtils foodComboDaoUtils = new FoodComboDaoUtils(this);
...@@ -543,7 +544,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen ...@@ -543,7 +544,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
Intent intent = new Intent(this, OrderContentActivity.class); Intent intent = new Intent(this, OrderContentActivity.class);
startActivityForResult(intent, ORDER_CONTENT_CODE);//如果打印成功會回調 startActivityForResult(intent, ORDER_CONTENT_CODE);//如果打印成功會回調
} else if (id == R.id.tv_no_save_return) { } else if (id == R.id.tv_no_save_return) {
returnTableActivity(true); returnBeforeActivity(true);
} else if (id == R.id.btn_add_delete) { } else if (id == R.id.btn_add_delete) {
showFinePage = 1; showFinePage = 1;
showRemarkInfo(); showRemarkInfo();
...@@ -596,16 +597,15 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen ...@@ -596,16 +597,15 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
@Override @Override
public void onBackPressed() { public void onBackPressed() {
super.onBackPressed(); super.onBackPressed();
returnTableActivity(true); returnBeforeActivity(true);
} }
public void returnTableActivity(boolean initTable) { public void returnBeforeActivity(boolean initTable) {
SPUtils.put(this, MealConstant.EXIT_IS_PLU_MODE, isPluMode); SPUtils.put(this, MealConstant.EXIT_IS_PLU_MODE, isPluMode);
if (initTable && OpenTableManage.getDefault() != null) { if (initTable && OpenTableManage.getDefault().getTableBean() != null) {
//通知更新餐台状态 //通知更新餐台状态
EventBus.getDefault().post(OpenTableManage.getDefault().getTableBean().getId(), "initTable_status_event"); EventBus.getDefault().post(OpenTableManage.getDefault().getTableBean().getId(), "initTable_status_event");
} }
//返回餐台页面
killMyself(); killMyself();
} }
...@@ -638,7 +638,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen ...@@ -638,7 +638,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
@Override @Override
public void OnBackClick() { public void OnBackClick() {
recordOperat(true); recordOperat(true);
returnTableActivity(true); returnBeforeActivity(true);
} }
}); });
int backPageBtnVisibility; int backPageBtnVisibility;
...@@ -658,7 +658,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen ...@@ -658,7 +658,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
@Override @Override
public void onBackPage() { public void onBackPage() {
returnTableActivity(true); returnBeforeActivity(true);
} }
}); });
chooseNumberDialog.setCancelable(isNeedCancel); chooseNumberDialog.setCancelable(isNeedCancel);
...@@ -871,6 +871,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen ...@@ -871,6 +871,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
@Override @Override
public void initIntent() { public void initIntent() {
} }
@Override @Override
...@@ -890,7 +891,10 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen ...@@ -890,7 +891,10 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
@Override @Override
public void initLayoutVisible() { public void initLayoutVisible() {
if(MyOrderManage.getInstance().isModifyOrder()){
//修改訂單隱藏送單功能
fl_send_order.setVisibility(View.GONE);
}
} }
@Override @Override
......
...@@ -6,6 +6,7 @@ import android.content.Intent; ...@@ -6,6 +6,7 @@ import android.content.Intent;
import android.graphics.Color; import android.graphics.Color;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.TextView; import android.widget.TextView;
...@@ -512,6 +513,11 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -512,6 +513,11 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
.addParam("type", 2) .addParam("type", 2)
.build() .build()
.callAsyncCallbackOnMainThread((cc, result) -> { .callAsyncCallbackOnMainThread((cc, result) -> {
Log.e("error", "是否成功打印:" + result.isSuccess());
// if (result.isSuccess()) {
// //打印成功
// }
MyOrderManage.getInstance().clear();
setResult(Activity.RESULT_OK, null); setResult(Activity.RESULT_OK, null);
killMyself(); killMyself();
}); });
......
...@@ -6,6 +6,7 @@ import android.os.Bundle; ...@@ -6,6 +6,7 @@ import android.os.Bundle;
import android.os.Message; import android.os.Message;
import android.view.View; import android.view.View;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.qmui.arch.QMUIFragmentPagerAdapter; import com.gingersoft.gsa.cloud.base.qmui.arch.QMUIFragmentPagerAdapter;
import com.gingersoft.gsa.cloud.table.R2; import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem; import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem;
...@@ -63,14 +64,12 @@ public class OrderCenterActivity extends BaseActivity<OrderCenterPresenter> impl ...@@ -63,14 +64,12 @@ public class OrderCenterActivity extends BaseActivity<OrderCenterPresenter> impl
QMUITabSegment mTabSegment; QMUITabSegment mTabSegment;
@BindView(R2.id.contentViewPager) @BindView(R2.id.contentViewPager)
ViewPager mContentViewPager; ViewPager mContentViewPager;
@BindView(R2.id.emptyView)
QMUIEmptyView mEmptyView;
private AllOrderFragment allOrderFragment, cancelOrderFragment, voidOrderFragment; private AllOrderFragment allOrderFragment, cancelOrderFragment, voidOrderFragment;
//當前顯示頁下標 //當前顯示頁下標
private int currentPageIndex = 0; private int currentPageIndex = 0;
//標題 //標題
private String[] tabTitles = {"全部", "已取消", "已退款"}; private String[] tabTitles = {"已付款", "已取消"};
//是否已經初始化數據,默認初始化第一個頁面 //是否已經初始化數據,默認初始化第一個頁面
private boolean[] pageDataInit = {true, false, false}; private boolean[] pageDataInit = {true, false, false};
...@@ -93,7 +92,7 @@ public class OrderCenterActivity extends BaseActivity<OrderCenterPresenter> impl ...@@ -93,7 +92,7 @@ public class OrderCenterActivity extends BaseActivity<OrderCenterPresenter> impl
public void initData(@Nullable Bundle savedInstanceState) { public void initData(@Nullable Bundle savedInstanceState) {
initTabAndPager(); initTabAndPager();
mPresenter.loadOrderList(1, 10, null, false); mPresenter.loadOrderList(OrderDetailItem.STATUS_CONFIRM, 0, 15, null, false);
} }
private void initTabAndPager() { private void initTabAndPager() {
...@@ -156,13 +155,13 @@ public class OrderCenterActivity extends BaseActivity<OrderCenterPresenter> impl ...@@ -156,13 +155,13 @@ public class OrderCenterActivity extends BaseActivity<OrderCenterPresenter> impl
@Override @Override
public void onTabSelected(int index) { public void onTabSelected(int index) {
currentPageIndex = index;
//頁面切換 //頁面切換
pagerAdapter.createFragment(index); pagerAdapter.createFragment(index);
if (!pageDataInit[index]) { if (!pageDataInit[index]) {
//未初始化數據,獲取數據 //未初始化數據,獲取數據
loadOrderList(null, false); loadOrderList(getCurrentOrderFragment().getStatus(),null, false);
} }
currentPageIndex = index;
pageDataInit[currentPageIndex] = true; pageDataInit[currentPageIndex] = true;
} }
...@@ -210,7 +209,6 @@ public class OrderCenterActivity extends BaseActivity<OrderCenterPresenter> impl ...@@ -210,7 +209,6 @@ public class OrderCenterActivity extends BaseActivity<OrderCenterPresenter> impl
@Override @Override
public void initLayoutVisible() { public void initLayoutVisible() {
} }
@Override @Override
...@@ -243,116 +241,58 @@ public class OrderCenterActivity extends BaseActivity<OrderCenterPresenter> impl ...@@ -243,116 +241,58 @@ public class OrderCenterActivity extends BaseActivity<OrderCenterPresenter> impl
finish(); finish();
} }
private View.OnClickListener onRetryClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
//重新加載
setPageIndex(1);
loadOrderList(null, false);
}
};
@Override @Override
public void showEmptyView(boolean isSuccess, int size, Throwable t) { public void showEmptyView(boolean isSuccess, int size, Throwable t) {
if (t != null) { getCurrentOrderFragment().showEmptyView(isSuccess, size, t);
if (t instanceof UnknownHostException) {
//沒有網絡
mEmptyView.show(false, getResources().getString(R.string.emptyView_mode_desc_fail_title), getResources().getString(R.string.emptyView_mode_desc_fail_desc), getResources().getString(R.string.emptyView_mode_desc_retry), onRetryClickListener);
} else if (t instanceof SocketTimeoutException) {
//請求超時
mEmptyView.show(false, getResources().getString(R.string.emptyView_mode_desc_fail_title), getResources().getString(R.string.emptyView_mode_desc_fail_desc), getResources().getString(R.string.emptyView_mode_desc_retry), onRetryClickListener);
} else if (t instanceof JsonParseException || t instanceof ParseException || t instanceof JSONException || t instanceof JsonIOException) {
//數據解析錯誤
mEmptyView.show(false, getResources().getString(R.string.response_error_data_parsing_error), null, getResources().getString(R.string.emptyView_mode_desc_retry), onRetryClickListener);
} else {
//其他error
mEmptyView.show(false, getResources().getString(R.string.emptyView_mode_desc_fail_title), null, getResources().getString(R.string.emptyView_mode_desc_retry), onRetryClickListener);
}
mContentViewPager.setVisibility(View.INVISIBLE);
return;
}
if (!isSuccess) {
mEmptyView.show(false, getResources().getString(R.string.emptyView_mode_desc_fail_title), null, getResources().getString(R.string.emptyView_mode_desc_retry), onRetryClickListener);
mContentViewPager.setVisibility(View.INVISIBLE);
return;
}
if (size == 0) {
mEmptyView.show(getResources().getString(R.string.emptyView_mode_desc_double), null);
mContentViewPager.setVisibility(View.INVISIBLE);
return;
}
mEmptyView.hide();
mContentViewPager.setVisibility(View.VISIBLE);
} }
@Override @Override
public void returnOrderItemList(List<OrderDetailItem> orderItemList) { public void returnOrderItemList(List<OrderDetailItem> orderItemList) {
Message message = Message.obtain(); Message message = Message.obtain();
message.obj = orderItemList; message.obj = orderItemList;
if (getPageIndex() == 1) { if (getPageIndex() == 0) {
//刷新一頁數據 //刷新一頁數據
message.what = 0; message.what = 0;
} else { } else {
//加載更多數據 //加載更多數據
message.what = 1; message.what = 1;
} }
switch (currentPageIndex) { getCurrentOrderFragment().setData(message);
case 0:
allOrderFragment.setData(message);
break;
case 1:
cancelOrderFragment.setData(message);
break;
case 2:
voidOrderFragment.setData(message);
break;
} }
mEmptyView.hide();
mContentViewPager.setVisibility(View.VISIBLE); public void loadOrderList(byte status, RefreshLayout refreshLayout, boolean isLoadMore) {
mPresenter.loadOrderList(status, getPageIndex(), getPageSize(), refreshLayout, isLoadMore);
} }
public void loadOrderList(RefreshLayout refreshLayout, boolean isLoadMore) { public void cancelOrder(long orderId, byte status) {
mPresenter.loadOrderList(getPageIndex(), getPageSize(), refreshLayout, isLoadMore); mPresenter.cancelOrder(orderId, status);
} }
@Override @Override
public void setPageIndex(int index) { public void setPageIndex(int index) {
switch (currentPageIndex) { getCurrentOrderFragment().setPageIndex(index);
case 1:
cancelOrderFragment.setPageIndex(index);
break;
case 2:
voidOrderFragment.setPageIndex(index);
break;
default:
allOrderFragment.setPageIndex(index);
break;
}
} }
@Override @Override
public int getPageIndex() { public int getPageIndex() {
switch (currentPageIndex) { return getCurrentOrderFragment().getPageIndex();
case 1:
return cancelOrderFragment.getPageIndex();
case 2:
return voidOrderFragment.getPageIndex();
default:
return allOrderFragment.getPageIndex();
}
} }
@Override @Override
public int getPageSize() { public int getPageSize() {
return getCurrentOrderFragment().getPageSize();
}
@Override
public AllOrderFragment getCurrentOrderFragment() {
switch (currentPageIndex) { switch (currentPageIndex) {
case 1: case 1:
return cancelOrderFragment.getPageSize(); return cancelOrderFragment;
case 2: case 2:
return voidOrderFragment.getPageSize(); return voidOrderFragment;
default: default:
return allOrderFragment.getPageSize(); return allOrderFragment;
} }
} }
} }
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter; package com.gingersoft.gsa.cloud.table.mvp.ui.adapter;
import android.content.Context; import android.content.Context;
import android.text.TextUtils;
import android.view.View; import android.view.View;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils; import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtil;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2; import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem; import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter;
import com.jess.arms.base.BaseHolder; import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
import com.qmuiteam.qmui.alpha.QMUIAlphaButton; import com.qmuiteam.qmui.alpha.QMUIAlphaButton;
import java.util.Date;
import java.util.List; import java.util.List;
import butterknife.BindView; import butterknife.BindView;
...@@ -85,26 +90,93 @@ public class OrderCenterAdapter extends DefaultAdapter<OrderDetailItem> { ...@@ -85,26 +90,93 @@ public class OrderCenterAdapter extends DefaultAdapter<OrderDetailItem> {
} }
@Override @Override
public void setData(OrderDetailItem datasBean, int position) { public void setData(OrderDetailItem item, int position) {
String tableName = LanguageUtils.get_language_system(mContext, "table.number", "檯號") + ":"; String tableName = LanguageUtils.get_language_system(mContext, "table.number", "檯號") + ":";
String pax = LanguageUtils.get_language_system(mContext, "Meal.Mannumber", "人數") + ":"; String pax = LanguageUtils.get_language_system(mContext, "Meal.Mannumber", "人數") + ":";
String orderNumber = LanguageUtils.get_language_system(mContext, "order.number", "訂單號") + ":"; String orderNumber = LanguageUtils.get_language_system(mContext, "order.number", "訂單號") + ":";
String openTable = LanguageUtils.get_language_system(mContext, "open.table", "開台") + ":"; String openTable = LanguageUtils.get_language_system(mContext, "open.table", "開台") + ":";
String payTable = LanguageUtils.get_language_system(mContext, "open.table", "結賬") + ":";
String amount = LanguageUtils.get_language_system(mContext, "amount", "金額") + ":$"; String amount = LanguageUtils.get_language_system(mContext, "amount", "金額") + ":$";
tv_table_name.setText(tableName + datasBean.getId()); tv_table_name.setText(tableName + item.getTableName());
tv_order_num.setText(orderNumber + datasBean.getOrderNo()); tv_order_num.setText(orderNumber + item.getId());
tv_people_num.setText(pax + datasBean.getPerson()); tv_people_num.setText(pax + item.getPerson());
tv_open_time.setText(openTable + datasBean.getCreateTime()); tv_open_time.setText(openTable + TimeUtil.getStringByFormat(new Date(item.getCreateTime()), TimeUtil.dateFormatYMDHM));
tv_pay_money.setText(amount + datasBean.getTotalAmount()); if (!TextUtils.isEmpty(item.getEndTime())) {
tv_pay_time.setText(payTable + TimeUtil.getStringByFormat(new Date(item.getEndTime()), TimeUtil.dateFormatYMDHM));
}
tv_pay_money.setText(amount + item.getTotalAmount());
setOrderStatus(item,position);
ll_root_container.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mOnItemClickListener != null) {
mOnItemClickListener.onItemClick(item, position);
}
}
});
}
private void setOrderStatus(OrderDetailItem item,int position) {
if(item.getStatus() == 6){
btn_print_order.setVisibility(View.GONE);
btn_modify_order.setVisibility(View.GONE);
btn_cancel_order.setVisibility(View.GONE);
btn_order_status.setVisibility(View.VISIBLE);
}else {
btn_print_order.setText(LanguageUtils.get_language_system(mContext, "print.order", "打印賬單")); btn_print_order.setText(LanguageUtils.get_language_system(mContext, "print.order", "打印賬單"));
btn_tips.setText(LanguageUtils.get_language_system(mContext, "public.tips", "貼士")); btn_tips.setText(LanguageUtils.get_language_system(mContext, "public.tips", "貼士"));
btn_modify_order.setText(LanguageUtils.get_language_system(mContext, "modify.order", "修改訂單")); btn_modify_order.setText(LanguageUtils.get_language_system(mContext, "modify.order", "修改訂單"));
btn_cancel_order.setText(LanguageUtils.get_language_system(mContext, "cancel.order", "取消訂單")); btn_cancel_order.setText(LanguageUtils.get_language_system(mContext, "cancel.order", "取消訂單"));
btn_print_order.setVisibility(View.VISIBLE);
btn_modify_order.setVisibility(View.VISIBLE);
btn_cancel_order.setVisibility(View.VISIBLE);
btn_order_status.setVisibility(View.GONE);
btn_print_order.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mOnItemClickListener != null) {
mOnItemClickListener.onPrintClick(item, position);
}
}
});
btn_modify_order.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mOnItemClickListener != null) {
mOnItemClickListener.onModifyClick(item, position);
}
}
});
btn_cancel_order.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mOnItemClickListener != null) {
mOnItemClickListener.onCancelClick(item, position);
}
}
});
} }
} }
}
private OnItemClickListener mOnItemClickListener;
public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
mOnItemClickListener = onItemClickListener;
}
public interface OnItemClickListener {
void onItemClick(OrderDetailItem datasBean, int position);
void onPrintClick(OrderDetailItem datasBean, int position);
void onModifyClick(OrderDetailItem datasBean, int position);
void onCancelClick(OrderDetailItem datasBean, int position);
}
} }
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter; package com.gingersoft.gsa.cloud.table.mvp.ui.adapter;
import android.view.Gravity; import android.view.Gravity;
import android.view.View;
import android.widget.TextView; import android.widget.TextView;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
...@@ -11,38 +12,28 @@ import com.gingersoft.gsa.cloud.base.common.bean.PayMethod; ...@@ -11,38 +12,28 @@ import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil; import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem; import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem3;
import java.util.List; import java.util.List;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
public class OrderDetailFoodAdapter extends BaseQuickAdapter<OrderDetail, BaseViewHolder> { public class OrderDetailItemAdapter extends BaseQuickAdapter<SectionTextItem3, BaseViewHolder> {
public OrderDetailFoodAdapter(@Nullable List<OrderDetail> data) { public OrderDetailItemAdapter(@Nullable List<SectionTextItem3> data) {
super(R.layout.item_order_detail_food, data); super(R.layout.item_order_detail_food, data);
} }
@Override @Override
protected void convert(BaseViewHolder helper, OrderDetail item) { protected void convert(BaseViewHolder helper, SectionTextItem3 item) {
TextView tv_food_name = helper.getView(R.id.tv_food_name); helper.setText(R.id.tv_left, item.getLeftText());
int flevel = item.getItemType(); if (!item.getCenterText().equals("0")) {
String productName = item.getProductName(); helper.setText(R.id.tv_center, String.valueOf(item.getCenterText()));
switch (flevel) { helper.setVisible(R.id.tv_center, true);
case 1: } else {
tv_food_name.setGravity(Gravity.LEFT); helper.setVisible(R.id.tv_center, false);
break;
case 2:
productName = " " + productName;
tv_food_name.setGravity(Gravity.CENTER);
break;
case 3:
productName = " " + productName;
tv_food_name.setGravity(Gravity.RIGHT);
break;
} }
tv_food_name.setText(productName); helper.setText(R.id.tv_right, "$" + item.getRightText());
helper.setText(R.id.tv_food_number, String.valueOf(item.getNumber()));
helper.setText(R.id.tv_food_total, "$" + item.getPrice() * item.getNumber());
} }
} }
...@@ -7,21 +7,22 @@ import com.chad.library.adapter.base.BaseQuickAdapter; ...@@ -7,21 +7,22 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder; import com.chad.library.adapter.base.BaseViewHolder;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail; import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem3;
import java.util.List; import java.util.List;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
public class OrderDetailPayMethodAdapter extends BaseQuickAdapter<OrderDetail, BaseViewHolder> { public class OrderDetailPayMethodAdapter extends BaseQuickAdapter<SectionTextItem3, BaseViewHolder> {
public OrderDetailPayMethodAdapter(@Nullable List<OrderDetail> data) { public OrderDetailPayMethodAdapter(@Nullable List<SectionTextItem3> data) {
super(R.layout.item_order_detail_pay_method, data); super(R.layout.item_order_detail_pay_method, data);
} }
@Override @Override
protected void convert(BaseViewHolder helper, OrderDetail item) { protected void convert(BaseViewHolder helper, SectionTextItem3 item) {
helper.setText(R.id.tv_name, String.valueOf(item.getNumber())); helper.setText(R.id.tv_name, String.valueOf(item.getLeftText()));
helper.setText(R.id.tv_money, "$" + item.getPrice() * item.getNumber()); helper.setText(R.id.tv_money, "$" + item.getRightText());
} }
} }
...@@ -259,12 +259,12 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -259,12 +259,12 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
private void setNumber(OrderDetail datasBean) { private void setNumber(OrderDetail datasBean) {
int number = datasBean.getNumber(); int number = datasBean.getNumber();
if (number == 0) { // if (number == 0) {
//细项、折扣不需要显示数量 // //细项、折扣不需要显示数量
tv_number.setText(""); // tv_number.setText("0");
} else { // } else {
tv_number.setText(String.valueOf(number)); tv_number.setText(String.valueOf(number));
} // }
} }
private void setMoney(OrderDetail datasBean) { private void setMoney(OrderDetail datasBean) {
...@@ -300,9 +300,16 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -300,9 +300,16 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
//设置Item选中颜色 //设置Item选中颜色
if (datasBean.isNew() == false) { if (datasBean.isNew() == false) {
iv_lock.setVisibility(View.INVISIBLE); iv_lock.setVisibility(View.INVISIBLE);
int number = datasBean.getNumber();
if (number == 0) {
tv_name.setTextColor(ArmsUtils.getColor(mContext,R.color.theme_red_color));
tv_number.setTextColor(ArmsUtils.getColor(mContext,R.color.theme_red_color));
tv_money.setTextColor(ArmsUtils.getColor(mContext,R.color.theme_red_color));
} else {
tv_name.setTextColor(ArmsUtils.getColor(mContext, R.color.Grass_green)); tv_name.setTextColor(ArmsUtils.getColor(mContext, R.color.Grass_green));
tv_number.setTextColor(ArmsUtils.getColor(mContext, R.color.Grass_green)); tv_number.setTextColor(ArmsUtils.getColor(mContext, R.color.Grass_green));
tv_money.setTextColor(ArmsUtils.getColor(mContext, R.color.Grass_green)); tv_money.setTextColor(ArmsUtils.getColor(mContext, R.color.Grass_green));
}
} else { } else {
iv_lock.setVisibility(View.INVISIBLE); iv_lock.setVisibility(View.INVISIBLE);
tv_number.setTextColor(ArmsUtils.getColor(mContext, R.color.black)); tv_number.setTextColor(ArmsUtils.getColor(mContext, R.color.black));
......
package com.gingersoft.gsa.cloud.table.mvp.ui.fragment; package com.gingersoft.gsa.cloud.table.mvp.ui.fragment;
import android.content.Intent; import android.content.Intent;
import android.net.ParseException;
import android.os.Bundle; import android.os.Bundle;
import android.os.Message; import android.os.Message;
import android.view.LayoutInflater; import android.view.LayoutInflater;
...@@ -11,6 +12,8 @@ import com.gingersoft.gsa.cloud.table.R2; ...@@ -11,6 +12,8 @@ import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem; import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderCenterActivity; import com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderCenterActivity;
import com.gingersoft.gsa.cloud.ui.recylcler.decorator.DividerItemDecoration; import com.gingersoft.gsa.cloud.ui.recylcler.decorator.DividerItemDecoration;
import com.google.gson.JsonIOException;
import com.google.gson.JsonParseException;
import com.jess.arms.base.BaseFragment; import com.jess.arms.base.BaseFragment;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.di.component.AppComponent; import com.jess.arms.di.component.AppComponent;
...@@ -19,10 +22,15 @@ import com.gingersoft.gsa.cloud.table.di.component.DaggerAllOrderComponent; ...@@ -19,10 +22,15 @@ import com.gingersoft.gsa.cloud.table.di.component.DaggerAllOrderComponent;
import com.gingersoft.gsa.cloud.table.mvp.contract.AllOrderContract; import com.gingersoft.gsa.cloud.table.mvp.contract.AllOrderContract;
import com.gingersoft.gsa.cloud.table.mvp.presenter.AllOrderPresenter; import com.gingersoft.gsa.cloud.table.mvp.presenter.AllOrderPresenter;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
import com.qmuiteam.qmui.widget.QMUIEmptyView;
import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener; import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
import com.scwang.smartrefresh.layout.listener.OnRefreshListener; import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
import org.json.JSONException;
import java.net.SocketTimeoutException;
import java.net.UnknownHostException;
import java.util.List; import java.util.List;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
...@@ -52,11 +60,13 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements ...@@ -52,11 +60,13 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements
RefreshLayout refreshLayout; RefreshLayout refreshLayout;
@BindView(R2.id.recycle_order) @BindView(R2.id.recycle_order)
RecyclerView recycle_order; RecyclerView recycle_order;
@BindView(R2.id.emptyView)
QMUIEmptyView mEmptyView;
private OrderCenterActivity orderCenterActivity; private OrderCenterActivity orderCenterActivity;
private int currentPageIndex; private int currentPageIndex;
private int pageIndex = 1; private int pageIndex = 0;
private int pageSize = 10; private int pageSize = 10;
public static AllOrderFragment newInstance() { public static AllOrderFragment newInstance() {
...@@ -93,14 +103,14 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements ...@@ -93,14 +103,14 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements
@Override @Override
public void onRefresh(@NonNull final RefreshLayout refreshLayout) { public void onRefresh(@NonNull final RefreshLayout refreshLayout) {
//重新獲取第一頁數據 //重新獲取第一頁數據
pageIndex = 1; pageIndex = 0;
orderCenterActivity.loadOrderList(refreshLayout, false); orderCenterActivity.loadOrderList(getStatus(),refreshLayout, false);
} }
}); });
refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() { refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
@Override @Override
public void onLoadMore(@NonNull final RefreshLayout refreshLayout) { public void onLoadMore(@NonNull final RefreshLayout refreshLayout) {
orderCenterActivity.loadOrderList(refreshLayout, true); orderCenterActivity.loadOrderList(getStatus(),refreshLayout, true);
} }
}); });
} }
...@@ -114,12 +124,16 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements ...@@ -114,12 +124,16 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements
if (mPresenter != null) { if (mPresenter != null) {
mPresenter.updateOrderData(datasBeans); mPresenter.updateOrderData(datasBeans);
} }
mEmptyView.hide();
recycle_order.setVisibility(View.VISIBLE);
break; break;
case 1: case 1:
List<OrderDetailItem> addDataItem = (List<OrderDetailItem>) ((Message) data).obj; List<OrderDetailItem> addDataItem = (List<OrderDetailItem>) ((Message) data).obj;
if (mPresenter != null) { if (mPresenter != null) {
mPresenter.addOrderData(addDataItem); mPresenter.addOrderData(addDataItem);
} }
mEmptyView.hide();
recycle_order.setVisibility(View.VISIBLE);
break; break;
default: default:
//do something //do something
...@@ -155,6 +169,48 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements ...@@ -155,6 +169,48 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements
} }
private View.OnClickListener onRetryClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
//重新加載
setPageIndex(0);
orderCenterActivity.loadOrderList(getStatus(),null, false);
}
};
@Override
public void showEmptyView(boolean isSuccess, int size, Throwable t) {
if (t != null) {
if (t instanceof UnknownHostException) {
//沒有網絡
mEmptyView.show(false, getResources().getString(R.string.emptyView_mode_desc_fail_title), getResources().getString(R.string.emptyView_mode_desc_fail_desc), getResources().getString(R.string.emptyView_mode_desc_retry), onRetryClickListener);
} else if (t instanceof SocketTimeoutException) {
//請求超時
mEmptyView.show(false, getResources().getString(R.string.emptyView_mode_desc_fail_title), getResources().getString(R.string.emptyView_mode_desc_fail_desc), getResources().getString(R.string.emptyView_mode_desc_retry), onRetryClickListener);
} else if (t instanceof JsonParseException || t instanceof ParseException || t instanceof JSONException || t instanceof JsonIOException) {
//數據解析錯誤
mEmptyView.show(false, getResources().getString(R.string.response_error_data_parsing_error), null, getResources().getString(R.string.emptyView_mode_desc_retry), onRetryClickListener);
} else {
//其他error
mEmptyView.show(false, getResources().getString(R.string.emptyView_mode_desc_fail_title), null, getResources().getString(R.string.emptyView_mode_desc_retry), onRetryClickListener);
}
recycle_order.setVisibility(View.INVISIBLE);
return;
}
if (!isSuccess) {
mEmptyView.show(false, getResources().getString(R.string.emptyView_mode_desc_fail_title), null, getResources().getString(R.string.emptyView_mode_desc_retry), onRetryClickListener);
recycle_order.setVisibility(View.INVISIBLE);
return;
}
if (size == 0) {
mEmptyView.show(getResources().getString(R.string.emptyView_mode_desc_double), null);
recycle_order.setVisibility(View.INVISIBLE);
return;
}
mEmptyView.hide();
recycle_order.setVisibility(View.VISIBLE);
}
@Override @Override
public void setAllOrderAdapter(DefaultAdapter adapter) { public void setAllOrderAdapter(DefaultAdapter adapter) {
recycle_order.setAdapter(adapter); recycle_order.setAdapter(adapter);
...@@ -167,6 +223,15 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements ...@@ -167,6 +223,15 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements
recycle_order.addItemDecoration(new DividerItemDecoration(orderCenterActivity, LinearLayoutManager.VERTICAL)); recycle_order.addItemDecoration(new DividerItemDecoration(orderCenterActivity, LinearLayoutManager.VERTICAL));
} }
@Override
public byte getStatus() {
switch (currentPageIndex) {
case 1:
return OrderDetailItem.STATUS_CANCEL;
default:
return OrderDetailItem.STATUS_CONFIRM;
}
}
public int getPageIndex() { public int getPageIndex() {
return pageIndex; return pageIndex;
...@@ -183,4 +248,5 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements ...@@ -183,4 +248,5 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements
public void setPageSize(int pageSize) { public void setPageSize(int pageSize) {
this.pageSize = pageSize; this.pageSize = pageSize;
} }
} }
...@@ -33,11 +33,5 @@ ...@@ -33,11 +33,5 @@
android:fitsSystemWindows="true"/> android:fitsSystemWindows="true"/>
</LinearLayout> </LinearLayout>
<com.qmuiteam.qmui.widget.QMUIEmptyView
android:id="@+id/emptyView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="?attr/qmui_topbar_height"
android:fitsSystemWindows="true"/>
</com.qmuiteam.qmui.widget.QMUIWindowInsetLayout> </com.qmuiteam.qmui.widget.QMUIWindowInsetLayout>
\ No newline at end of file
...@@ -94,13 +94,11 @@ ...@@ -94,13 +94,11 @@
android:layout_marginBottom="@dimen/dp_40" android:layout_marginBottom="@dimen/dp_40"
android:layout_marginTop="?attr/qmui_topbar_height" android:layout_marginTop="?attr/qmui_topbar_height"
android:background="@color/qmui_config_color_white" android:background="@color/qmui_config_color_white"
android:fillViewport="true" android:fillViewport="true">
android:fitsSystemWindows="true"
android:focusable="true">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
android:padding="@dimen/dp_8"> android:padding="@dimen/dp_8">
...@@ -173,8 +171,9 @@ ...@@ -173,8 +171,9 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@+id/tv_open_time" android:layout_below="@+id/tv_open_time"
android:layout_marginTop="@dimen/dp_10" android:layout_marginTop="@dimen/dp_10"
android:text="" android:text="食品詳情"
android:textColor="@color/black" android:textColor="@color/black"
android:textStyle="bold"
android:textSize="@dimen/sp_16" /> android:textSize="@dimen/sp_16" />
<com.gingersoft.gsa.cloud.base.widget.NoScrollRecyclerView <com.gingersoft.gsa.cloud.base.widget.NoScrollRecyclerView
......
...@@ -17,6 +17,11 @@ ...@@ -17,6 +17,11 @@
android:overScrollMode="never" android:overScrollMode="never"
android:background="@color/theme_background_color"/> android:background="@color/theme_background_color"/>
</com.scwang.smartrefresh.layout.SmartRefreshLayout> </com.scwang.smartrefresh.layout.SmartRefreshLayout>
<com.qmuiteam.qmui.widget.QMUIEmptyView
android:id="@+id/emptyView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"/>
</FrameLayout> </FrameLayout>
</com.qmuiteam.qmui.widget.QMUIWindowInsetLayout> </com.qmuiteam.qmui.widget.QMUIWindowInsetLayout>
\ No newline at end of file
...@@ -115,6 +115,17 @@ ...@@ -115,6 +115,17 @@
android:textSize="@dimen/sp_13" /> android:textSize="@dimen/sp_13" />
<com.qmuiteam.qmui.alpha.QMUIAlphaButton <com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id="@+id/btn_modify_order"
android:layout_width="@dimen/dp_65"
android:layout_height="@dimen/dp_35"
android:background="@color/blue_300"
android:text="修改訂單"
android:layout_marginRight="@dimen/dp_10"
android:textColor="@color/theme_white_color"
android:textSize="@dimen/sp_13"
android:visibility="visible" />
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id="@+id/btn_tips" android:id="@+id/btn_tips"
android:layout_width="@dimen/dp_65" android:layout_width="@dimen/dp_65"
android:layout_height="@dimen/dp_35" android:layout_height="@dimen/dp_35"
...@@ -147,16 +158,6 @@ ...@@ -147,16 +158,6 @@
android:visibility="gone" /> android:visibility="gone" />
<com.qmuiteam.qmui.alpha.QMUIAlphaButton <com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id="@+id/btn_modify_order"
android:layout_width="@dimen/dp_65"
android:layout_height="@dimen/dp_35"
android:background="@color/blue_300"
android:text="修改訂單"
android:textColor="@color/theme_white_color"
android:textSize="@dimen/sp_13"
android:visibility="gone" />
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id="@+id/btn_order_status" android:id="@+id/btn_order_status"
android:layout_width="@dimen/dp_65" android:layout_width="@dimen/dp_65"
android:layout_height="@dimen/dp_35" android:layout_height="@dimen/dp_35"
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll_item_layout" android:id="@+id/ll_item_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/white" android:orientation="vertical">
android:orientation="vertical"
android:paddingLeft="@dimen/dp_10"
android:paddingTop="@dimen/dp_5"
android:paddingBottom="@dimen/dp_5">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingLeft="@dimen/dp_10"
android:paddingTop="@dimen/dp_5"
android:paddingBottom="@dimen/dp_5"
android:weightSum="6"> android:weightSum="6">
<TextView <TextView
android:id="@+id/tv_food_name" android:id="@+id/tv_left"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="3" android:layout_weight="3"
...@@ -30,7 +24,7 @@ ...@@ -30,7 +24,7 @@
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="@dimen/sp_14" android:textSize="@dimen/sp_14"
android:maxLines="1" android:maxLines="1"
android:text="" /> android:text="牛肉拉麵" />
<RelativeLayout <RelativeLayout
android:layout_width="0dp" android:layout_width="0dp"
...@@ -39,31 +33,23 @@ ...@@ -39,31 +33,23 @@
android:orientation="horizontal"> android:orientation="horizontal">
<TextView <TextView
android:id="@+id/tv_food_number" android:id="@+id/tv_center"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:text="" android:text="1"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="@dimen/sp_14" /> android:textSize="@dimen/sp_14" />
<TextView <TextView
android:id="@+id/tv_food_total" android:id="@+id/tv_right"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:text="" android:text="$15"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="@dimen/sp_14" /> android:textSize="@dimen/sp_14" />
</RelativeLayout> </RelativeLayout>
</LinearLayout> </LinearLayout>
<LinearLayout
android:id="@+id/ll_content_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
</LinearLayout>
</LinearLayout> </LinearLayout>
\ No newline at end of file
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
android:layout_marginTop="@dimen/dp_10" android:layout_marginTop="@dimen/dp_10"
android:text="" android:text=""
android:textColor="@color/black" android:textColor="@color/black"
android:textStyle="bold"
android:textSize="@dimen/sp_16" /> android:textSize="@dimen/sp_16" />
<TextView <TextView
...@@ -20,6 +21,7 @@ ...@@ -20,6 +21,7 @@
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_marginTop="@dimen/dp_10" android:layout_marginTop="@dimen/dp_10"
android:text="" android:text=""
android:textStyle="bold"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="@dimen/sp_16" /> android:textSize="@dimen/sp_16" />
......
...@@ -16,17 +16,17 @@ ...@@ -16,17 +16,17 @@
android:layout_above="@+id/rv_bottom_function" android:layout_above="@+id/rv_bottom_function"
android:layout_marginTop="?attr/qmui_topbar_height"> android:layout_marginTop="?attr/qmui_topbar_height">
<androidx.viewpager.widget.ViewPager <com.qmuiteam.qmui.widget.tab.QMUITabSegment
android:id="@+id/vp_table_type" android:id="@+id/tabSegment"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="@dimen/dp_45"
android:layout_marginTop="?attr/qmui_topbar_height" /> android:background="@drawable/shape_tab_panel_bg"/>
<com.gingersoft.gsa.cloud.ui.view.PagerSlidingTabStrip <androidx.viewpager.widget.ViewPager
android:id="@+id/pts_table_type" android:id="@+id/contentViewPager"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="?attr/qmui_topbar_height" android:layout_height="match_parent"
android:background="@color/theme_white_color" /> android:layout_marginTop="@dimen/dp_45"/>
<LinearLayout <LinearLayout
android:id="@+id/ll_table_operat_content" android:id="@+id/ll_table_operat_content"
......
package com.gingersoft.gsa.cloud.user.login.mvp.presenter; package com.gingersoft.gsa.cloud.user.login.mvp.presenter;
import android.app.Activity;
import android.app.Application; import android.app.Application;
import android.content.Intent;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils; import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.ui.bean.mode.LoginBean; import com.gingersoft.gsa.cloud.ui.bean.mode.LoginBean;
import com.gingersoft.gsa.cloud.user.login.R; import com.gingersoft.gsa.cloud.user.login.R;
import com.gingersoft.gsa.cloud.user.login.mvp.contract.BaseLoginContract; import com.gingersoft.gsa.cloud.user.login.mvp.contract.BaseLoginContract;
import com.gingersoft.gsa.cloud.user.login.mvp.ui.activity.LoginActivity;
import com.jess.arms.di.scope.ActivityScope; import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader; import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager; import com.jess.arms.integration.AppManager;
...@@ -38,9 +41,13 @@ public class BaseLoginPresenter<M extends BaseLoginContract.Model, V extends Bas ...@@ -38,9 +41,13 @@ public class BaseLoginPresenter<M extends BaseLoginContract.Model, V extends Bas
@Inject @Inject
AppManager mAppManager; AppManager mAppManager;
private Activity IAcitivity;
@Inject @Inject
public BaseLoginPresenter(BaseLoginContract.Model model, BaseLoginContract.View rootView) { public BaseLoginPresenter(BaseLoginContract.Model model, BaseLoginContract.View rootView) {
super(model, rootView); super(model, rootView);
IAcitivity = (Activity) rootView;
} }
@Override @Override
...@@ -83,6 +90,15 @@ public class BaseLoginPresenter<M extends BaseLoginContract.Model, V extends Bas ...@@ -83,6 +90,15 @@ public class BaseLoginPresenter<M extends BaseLoginContract.Model, V extends Bas
mRootView.showMessage(info.getErrMsg()); mRootView.showMessage(info.getErrMsg());
} }
} }
@Override
public void onError(Throwable t) {
super.onError(t);
if (IAcitivity instanceof LoginActivity) {
} else {
mRootView.launchActivity(new Intent(IAcitivity, LoginActivity.class));
}
}
}); });
} }
} }
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