Commit 82e6ac03 by 宁斌

1、添加訂單管理(列表,詳情,取消,重印)

2、啟動頁訪問服務器異常一直停留不動
parent b5dd920f
...@@ -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()
......
...@@ -24,8 +24,8 @@ import com.gingersoft.gsa.cloud.main.R2; ...@@ -24,8 +24,8 @@ import com.gingersoft.gsa.cloud.main.R2;
import com.gingersoft.gsa.cloud.main.di.component.DaggerSettlementReportComponent; import com.gingersoft.gsa.cloud.main.di.component.DaggerSettlementReportComponent;
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.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.presenter.SettlementReportPresenter; import com.gingersoft.gsa.cloud.main.mvp.presenter.SettlementReportPresenter;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog; import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
import com.jess.arms.base.BaseActivity; import com.jess.arms.base.BaseActivity;
...@@ -226,8 +226,8 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese ...@@ -226,8 +226,8 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese
@Override @Override
public void returnSettlementData(SettlementReport.DataBean datasBean) { public void returnSettlementData(SettlementReport.DataBean datasBean) {
List<SettlementReportItem> settlementReportItems = new ArrayList<>(); List<SectionTextItem3> settlementReportItems = new ArrayList<>();
List<SettlementReportItem5> settlementReportItem5s = new ArrayList<>(); List<SectionTextItem5> settlementReportItem5s = new ArrayList<>();
String lastSettlementText = LanguageUtils.get_language_system(this, "", "上次清機時間:"); String lastSettlementText = LanguageUtils.get_language_system(this, "", "上次清機時間:");
String dailyBusinessReportText = LanguageUtils.get_language_system(this, "", "每日營業報表"); String dailyBusinessReportText = LanguageUtils.get_language_system(this, "", "每日營業報表");
...@@ -266,21 +266,21 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese ...@@ -266,21 +266,21 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese
SettlementReport.DataBean.VoBean voBean = datasBean.getVo(); SettlementReport.DataBean.VoBean voBean = datasBean.getVo();
if (voBean != null) { if (voBean != null) {
settlementReportItem5s.add(new SettlementReportItem5(projectTotalSalesText, " ", " ", " ", "$" + df.format(voBean.getPrices()))); settlementReportItem5s.add(new SectionTextItem5(projectTotalSalesText, " ", " ", " ", "$" + df.format(voBean.getPrices())));
settlementReportItem5s.add(new SettlementReportItem5(netTurnoverText, " ", " ", " ", "$" + df.format(voBean.getTotamount()))); settlementReportItem5s.add(new SectionTextItem5(netTurnoverText, " ", " ", " ", "$" + df.format(voBean.getTotamount())));
// if (voBean.getPayNum() > 0) { // if (voBean.getPayNum() > 0) {
// String creditCardText = LanguageUtils.get_language_system(this, "credit.card", "信用卡"); // String creditCardText = LanguageUtils.get_language_system(this, "credit.card", "信用卡");
// SettlementReportItem5 printItem = new SettlementReportItem5(creditCardText, String.valueOf(voBean.getPayNum()), " "," ","$" + df.format(voBean.getPayamount())); // SectionTextItem5 printItem = new SectionTextItem5(creditCardText, String.valueOf(voBean.getPayNum()), " "," ","$" + df.format(voBean.getPayamount()));
// settlementReportItem5s.add(printItem); // settlementReportItem5s.add(printItem);
// } // }
settlementReportItem5s.add(new SettlementReportItem5(" ", " ", " ", " ", " ")); settlementReportItem5s.add(new SectionTextItem5(" ", " ", " ", " ", " "));
settlementReportItem5s.add(new SettlementReportItem5(cashAuditText, " ", " ", " ", " ")); settlementReportItem5s.add(new SectionTextItem5(cashAuditText, " ", " ", " ", " "));
settlementReportItem5s.add(new SettlementReportItem5(netTurnoverText, " ", " ", " ", "$" + df.format(voBean.getPrices()))); settlementReportItem5s.add(new SectionTextItem5(netTurnoverText, " ", " ", " ", "$" + df.format(voBean.getPrices())));
List<SettlementReport.DataBean.CashBean> cashList = datasBean.getCash(); List<SettlementReport.DataBean.CashBean> cashList = datasBean.getCash();
if (cashList != null && cashList.size() > 0) { if (cashList != null && cashList.size() > 0) {
for (int i = 0; i < cashList.size(); i++) { for (int i = 0; i < cashList.size(); i++) {
SettlementReport.DataBean.CashBean cashBean = cashList.get(i); SettlementReport.DataBean.CashBean cashBean = cashList.get(i);
settlementReportItem5s.add(new SettlementReportItem5(cashBean.getPayName(), " ", String.valueOf(cashBean.getPayNum()), " ", "$" + df.format(cashBean.getPayAmount()))); settlementReportItem5s.add(new SectionTextItem5(cashBean.getPayName(), " ", String.valueOf(cashBean.getPayNum()), " ", "$" + df.format(cashBean.getPayAmount())));
} }
} }
} }
...@@ -291,34 +291,34 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese ...@@ -291,34 +291,34 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese
/**現金詳情*/ /**現金詳情*/
String cashDetailText = LanguageUtils.get_language_system(this, "credit.cash.detail", "現金詳情"); String cashDetailText = LanguageUtils.get_language_system(this, "credit.cash.detail", "現金詳情");
String cashText = LanguageUtils.get_language_system(this, "credit.cash", "現金"); String cashText = LanguageUtils.get_language_system(this, "credit.cash", "現金");
settlementReportItem5s.add(new SettlementReportItem5("==============================================================", "", "", "", "")); settlementReportItem5s.add(new SectionTextItem5("==============================================================", "", "", "", ""));
settlementReportItem5s.add(new SettlementReportItem5(" ", " ", cashDetailText, " ", " ")); settlementReportItem5s.add(new SectionTextItem5(" ", " ", cashDetailText, " ", " "));
settlementReportItem5s.add(new SettlementReportItem5(cashText, " ", String.valueOf(cashBean.getPayNum()), " ", "$" + df.format(cashBean.getPayAmount()))); settlementReportItem5s.add(new SectionTextItem5(cashText, " ", String.valueOf(cashBean.getPayNum()), " ", "$" + df.format(cashBean.getPayAmount())));
//統計 //統計
settlementReportItem5s.add(new SettlementReportItem5(headcountOrAverageConsumptionText, " ", " ", " ", "$" + df.format(cashBean.getPayAmount()))); settlementReportItem5s.add(new SectionTextItem5(headcountOrAverageConsumptionText, " ", " ", " ", "$" + df.format(cashBean.getPayAmount())));
} }
if (voBean != null) { if (voBean != null) {
/**分析統計*/ /**分析統計*/
settlementReportItem5s.add(new SettlementReportItem5("==============================================================", "", "", "", "")); settlementReportItem5s.add(new SectionTextItem5("==============================================================", "", "", "", ""));
settlementReportItem5s.add(new SettlementReportItem5("", "", analysisStatisticsText, "", "")); settlementReportItem5s.add(new SectionTextItem5("", "", analysisStatisticsText, "", ""));
//帳單金額總數 //帳單金額總數
settlementReportItem5s.add(new SettlementReportItem5(totalbillAmountText, " ", " ", " ", "$" + df.format(voBean.getTotamount()))); settlementReportItem5s.add(new SectionTextItem5(totalbillAmountText, " ", " ", " ", "$" + df.format(voBean.getTotamount())));
//帳單數目 / 平均 //帳單數目 / 平均
String averagePrice = df.format(voBean.getPrices() / voBean.getNum()); String averagePrice = df.format(voBean.getPrices() / voBean.getNum());
settlementReportItem5s.add(new SettlementReportItem5(numberBillsOrAverageText, " ", String.valueOf(voBean.getNum()), " ", "$" + averagePrice)); settlementReportItem5s.add(new SectionTextItem5(numberBillsOrAverageText, " ", String.valueOf(voBean.getNum()), " ", "$" + averagePrice));
//人數 / 平均消費 //人數 / 平均消費
String averageConsumption = df.format(voBean.getPrices() / voBean.getPerson()); String averageConsumption = df.format(voBean.getPrices() / voBean.getPerson());
settlementReportItem5s.add(new SettlementReportItem5(headcountAndAverageConsumptionText, " ", String.valueOf(voBean.getPerson()), " ", "$" + averageConsumption)); settlementReportItem5s.add(new SectionTextItem5(headcountAndAverageConsumptionText, " ", String.valueOf(voBean.getPerson()), " ", "$" + averageConsumption));
/** 帳單統計*/ /** 帳單統計*/
settlementReportItem5s.add(new SettlementReportItem5("==============================================================", "", "", "", "")); settlementReportItem5s.add(new SectionTextItem5("==============================================================", "", "", "", ""));
settlementReportItem5s.add(new SettlementReportItem5("", "", "帳單統計", "", "")); settlementReportItem5s.add(new SectionTextItem5("", "", "帳單統計", "", ""));
settlementReportItem5s.add(new SettlementReportItem5("類別", "帳單", "金額", "平均", "金額%")); settlementReportItem5s.add(new SectionTextItem5("類別", "帳單", "金額", "平均", "金額%"));
// settlementReportItem5s.add(new SettlementReportItem5("--------------------------------------------------------------------------------", "", "", "", "")); // settlementReportItem5s.add(new SectionTextItem5("--------------------------------------------------------------------------------", "", "", "", ""));
//總計 //總計
String averagePrice2 = df.format(voBean.getTotamount() / voBean.getNum()); String averagePrice2 = df.format(voBean.getTotamount() / voBean.getNum());
settlementReportItem5s.add(new SettlementReportItem5(totalText, String.valueOf(voBean.getNum()), "$" + df.format(voBean.getTotamount()), "$" + averagePrice2, " ")); settlementReportItem5s.add(new SectionTextItem5(totalText, String.valueOf(voBean.getNum()), "$" + df.format(voBean.getTotamount()), "$" + averagePrice2, " "));
} }
List<SettlementReport.DataBean.AnalysisBean> analysisBeanList = datasBean.getAnalysis(); List<SettlementReport.DataBean.AnalysisBean> analysisBeanList = datasBean.getAnalysis();
...@@ -327,18 +327,18 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese ...@@ -327,18 +327,18 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese
Map<String, SettlementReport.DataBean.AnalysisBean> analysisBeanMap = getAnalysisBeanMap(analysisBeanList); Map<String, SettlementReport.DataBean.AnalysisBean> analysisBeanMap = getAnalysisBeanMap(analysisBeanList);
/**賬單現況*/ /**賬單現況*/
settlementReportItem5s.add(new SettlementReportItem5("", "", "", "", "")); settlementReportItem5s.add(new SectionTextItem5("", "", "", "", ""));
settlementReportItem5s.add(new SettlementReportItem5("==============================================================", "", "", "", "")); settlementReportItem5s.add(new SectionTextItem5("==============================================================", "", "", "", ""));
settlementReportItem5s.add(new SettlementReportItem5("", "", "賬單現況", "", "")); settlementReportItem5s.add(new SectionTextItem5("", "", "賬單現況", "", ""));
settlementReportItem5s.add(new SettlementReportItem5("項目", "帳單", "人數", " ", "金額")); settlementReportItem5s.add(new SectionTextItem5("項目", "帳單", "人數", " ", "金額"));
// settlementReportItem5s.add(new SettlementReportItem5("--------------------------------------------------------------------------------", "", "", "", "")); // settlementReportItem5s.add(new SectionTextItem5("--------------------------------------------------------------------------------", "", "", "", ""));
//未完成帳單 //未完成帳單
double item5Amount = 0.0; double item5Amount = 0.0;
int item5num = 0; int item5num = 0;
int item5PeopleNum = 0; int item5PeopleNum = 0;
if (analysisBeanMap.containsKey(outstandingBillText)) { if (analysisBeanMap.containsKey(outstandingBillText)) {
SettlementReport.DataBean.AnalysisBean analysisBean = analysisBeanMap.get(outstandingBillText); SettlementReport.DataBean.AnalysisBean analysisBean = analysisBeanMap.get(outstandingBillText);
settlementReportItem5s.add(new SettlementReportItem5(analysisBean.getTypeName(), String.valueOf(analysisBean.getNum()), String.valueOf(analysisBean.getNum()), " ", "$" + df.format(analysisBean.getAmount()))); settlementReportItem5s.add(new SectionTextItem5(analysisBean.getTypeName(), String.valueOf(analysisBean.getNum()), String.valueOf(analysisBean.getNum()), " ", "$" + df.format(analysisBean.getAmount())));
item5Amount += analysisBean.getAmount(); item5Amount += analysisBean.getAmount();
item5num += analysisBean.getNum(); item5num += analysisBean.getNum();
item5PeopleNum += analysisBean.getNum(); item5PeopleNum += analysisBean.getNum();
...@@ -346,13 +346,13 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese ...@@ -346,13 +346,13 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese
//已收款帳單 //已收款帳單
if (analysisBeanMap.containsKey(billsReceivedText)) { if (analysisBeanMap.containsKey(billsReceivedText)) {
SettlementReport.DataBean.AnalysisBean analysisBean = analysisBeanMap.get(billsReceivedText); SettlementReport.DataBean.AnalysisBean analysisBean = analysisBeanMap.get(billsReceivedText);
settlementReportItem5s.add(new SettlementReportItem5(analysisBean.getTypeName(), String.valueOf(analysisBean.getNum()), String.valueOf(analysisBean.getNum()), " ", "$" + df.format(analysisBean.getAmount()))); settlementReportItem5s.add(new SectionTextItem5(analysisBean.getTypeName(), String.valueOf(analysisBean.getNum()), String.valueOf(analysisBean.getNum()), " ", "$" + df.format(analysisBean.getAmount())));
item5Amount += analysisBean.getAmount(); item5Amount += analysisBean.getAmount();
item5num += analysisBean.getNum(); item5num += analysisBean.getNum();
item5PeopleNum += analysisBean.getNum(); item5PeopleNum += analysisBean.getNum();
} }
//總計 //總計
settlementReportItem5s.add(new SettlementReportItem5(totalText, String.valueOf(item5PeopleNum), String.valueOf(item5num), " ", "$" + df.format(item5Amount))); settlementReportItem5s.add(new SectionTextItem5(totalText, String.valueOf(item5PeopleNum), String.valueOf(item5num), " ", "$" + df.format(item5Amount)));
/**本月累計營業額*/ /**本月累計營業額*/
...@@ -360,23 +360,23 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese ...@@ -360,23 +360,23 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese
SettlementReport.DataBean.AnalysisBean analysisBean = analysisBeanMap.get(cumulativeTurnoverMonthText); SettlementReport.DataBean.AnalysisBean analysisBean = analysisBeanMap.get(cumulativeTurnoverMonthText);
String firstDayOfMonth = TimeUtil.getFirstDayOfMonth(TimeUtil.dateFormatYMD) + "00:00:00"; String firstDayOfMonth = TimeUtil.getFirstDayOfMonth(TimeUtil.dateFormatYMD) + "00:00:00";
String currentDate = TimeUtil.getCurrentDate(TimeUtil.dateFormatYMDHMS); String currentDate = TimeUtil.getCurrentDate(TimeUtil.dateFormatYMDHMS);
settlementReportItem5s.add(new SettlementReportItem5("", "", "", "", "")); settlementReportItem5s.add(new SectionTextItem5("", "", "", "", ""));
settlementReportItem5s.add(new SettlementReportItem5("==============================================================", "", "", "", "")); settlementReportItem5s.add(new SectionTextItem5("==============================================================", "", "", "", ""));
settlementReportItem5s.add(new SettlementReportItem5(cumulativeTurnoverMonthText, "", "", "", "")); settlementReportItem5s.add(new SectionTextItem5(cumulativeTurnoverMonthText, "", "", "", ""));
settlementReportItem5s.add(new SettlementReportItem5(byBusinessDateText + firstDayOfMonth, "", "", "", "")); settlementReportItem5s.add(new SectionTextItem5(byBusinessDateText + firstDayOfMonth, "", "", "", ""));
settlementReportItem5s.add(new SettlementReportItem5(toBusinessDateText + currentDate, "", "", "", "")); settlementReportItem5s.add(new SectionTextItem5(toBusinessDateText + currentDate, "", "", "", ""));
settlementReportItem5s.add(new SettlementReportItem5(netTurnoverText, " " + " ", " ", " ", "$" + df.format(analysisBean.getAmount()))); settlementReportItem5s.add(new SectionTextItem5(netTurnoverText, " " + " ", " ", " ", "$" + df.format(analysisBean.getAmount())));
} }
/**報表完結*/ /**報表完結*/
String memberName = GsaCloudApplication.getMemberName(this); String memberName = GsaCloudApplication.getMemberName(this);
String currentDate = TimeUtils.getCurrentDate(TimeUtils.dateFormatYMDHMS); String currentDate = TimeUtils.getCurrentDate(TimeUtils.dateFormatYMDHMS);
settlementReportItem5s.add(new SettlementReportItem5("", "", "", "", "")); settlementReportItem5s.add(new SectionTextItem5("", "", "", "", ""));
settlementReportItem5s.add(new SettlementReportItem5("==============================================================", "", "", "", "")); settlementReportItem5s.add(new SectionTextItem5("==============================================================", "", "", "", ""));
settlementReportItem5s.add(new SettlementReportItem5("報表完結", "", "", "", "")); settlementReportItem5s.add(new SectionTextItem5("報表完結", "", "", "", ""));
settlementReportItem5s.add(new SettlementReportItem5("讀取人員 " + memberName, "", "", "", "")); settlementReportItem5s.add(new SectionTextItem5("讀取人員 " + memberName, "", "", "", ""));
settlementReportItem5s.add(new SettlementReportItem5(currentDate + " v" + DeviceUtils.getVersionName(this), "", "", "", "")); settlementReportItem5s.add(new SectionTextItem5(currentDate + " v" + DeviceUtils.getVersionName(this), "", "", "", ""));
settlementReportItem5s.add(new SettlementReportItem5("", "", "", "", "")); settlementReportItem5s.add(new SectionTextItem5("", "", "", "", ""));
} }
mPresenter.notifyReportItem5Adapter(settlementReportItem5s); mPresenter.notifyReportItem5Adapter(settlementReportItem5s);
......
...@@ -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.billy.cc.core.component.CC; import com.billy.cc.core.component.CC;
...@@ -19,6 +20,7 @@ import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest; ...@@ -19,6 +20,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;
...@@ -239,7 +241,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -239,7 +241,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) {
...@@ -250,12 +252,13 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -250,12 +252,13 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
/** /**
* 送單 * 送單
*
* @param isPrint 是否印單 * @param isPrint 是否印單
*/ */
public void sendOrder(boolean isPrint) { public void sendOrder(boolean isPrint) {
if (MyOrderManage.getInstance().getOrderId() == -1) { if (MyOrderManage.getInstance().getOrderId() == -1) {
if (getFoodCount() == 0) { if (getFoodCount() == 0) {
showTip2Dialog(IActivity, noFoodDeliveryTip,isPrint); showTip2Dialog(IActivity, noFoodDeliveryTip, isPrint);
} else { } else {
if (mMealStandPresenter != null) { if (mMealStandPresenter != null) {
mMealStandPresenter.createOrder(); mMealStandPresenter.createOrder();
...@@ -337,6 +340,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -337,6 +340,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;
} }
...@@ -531,7 +535,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -531,7 +535,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
dialogBuilder.create(R.style.MyDialogTheme2).show(); dialogBuilder.create(R.style.MyDialogTheme2).show();
} }
protected void showTip2Dialog(Activity context, String msg,boolean isPrint) { protected void showTip2Dialog(Activity context, String msg, boolean isPrint) {
QMUIDialog.MessageDialogBuilder dialogBuilder = new QMUIDialog.MessageDialogBuilder(context); QMUIDialog.MessageDialogBuilder dialogBuilder = new QMUIDialog.MessageDialogBuilder(context);
dialogBuilder.setTitle("溫馨提示"); dialogBuilder.setTitle("溫馨提示");
dialogBuilder.setMessage(msg); dialogBuilder.setMessage(msg);
......
...@@ -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;
...@@ -324,7 +325,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -324,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);
...@@ -403,6 +403,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -403,6 +403,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
/** /**
* 打印上菜紙 * 打印上菜紙
*
* @param initTable 是否是開台 * @param initTable 是否是開台
*/ */
private void printSendOrder(boolean initTable) { private void printSendOrder(boolean initTable) {
...@@ -414,7 +415,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -414,7 +415,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
// if (result.isSuccess()) { // if (result.isSuccess()) {
//打印成功 //打印成功
if (initTable) { if (initTable) {
IActivity.returnTableActivity(initTable); IActivity.returnBeforeActivity(initTable);
} else { } else {
mRootView.killMyself(); mRootView.killMyself();
} }
...@@ -482,7 +483,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -482,7 +483,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("刪除失敗");
} }
...@@ -490,16 +491,47 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -490,16 +491,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();
} }
...@@ -524,7 +556,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -524,7 +556,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;
}
} }
...@@ -105,6 +105,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -105,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)) {
...@@ -141,6 +142,14 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -141,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));
} }
...@@ -302,7 +311,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -302,7 +311,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
} }
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
*/ */
...@@ -388,7 +388,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -388,7 +388,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) {
...@@ -428,7 +428,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -428,7 +428,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;
...@@ -463,7 +463,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -463,7 +463,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;
...@@ -552,11 +552,11 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -552,11 +552,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
......
...@@ -516,8 +516,8 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -516,8 +516,8 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
Log.e("error", "是否成功打印:" + result.isSuccess()); Log.e("error", "是否成功打印:" + result.isSuccess());
// if (result.isSuccess()) { // if (result.isSuccess()) {
// //打印成功 // //打印成功
//
// } // }
MyOrderManage.getInstance().clear();
setResult(Activity.RESULT_OK, null); setResult(Activity.RESULT_OK, null);
killMyself(); killMyself();
}); });
......
...@@ -13,6 +13,7 @@ import android.widget.TextView; ...@@ -13,6 +13,7 @@ import android.widget.TextView;
import com.billy.cc.core.component.CC; import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage; 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.utils.log.LogUtil; import com.gingersoft.gsa.cloud.base.utils.log.LogUtil;
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;
...@@ -21,6 +22,7 @@ import com.gingersoft.gsa.cloud.table.app.TableOperatTypeConstant; ...@@ -21,6 +22,7 @@ import com.gingersoft.gsa.cloud.table.app.TableOperatTypeConstant;
import com.gingersoft.gsa.cloud.table.di.component.DaggerTableComponent; import com.gingersoft.gsa.cloud.table.di.component.DaggerTableComponent;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean; import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BaseFragmentAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BaseFragmentAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.AllOrderFragment;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.AllTableFragment; import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.AllTableFragment;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.InputTableFragment; import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.InputTableFragment;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.StateTableFragment; import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.StateTableFragment;
...@@ -34,7 +36,10 @@ import com.gingersoft.gsa.cloud.table.mvp.contract.TableContract; ...@@ -34,7 +36,10 @@ import com.gingersoft.gsa.cloud.table.mvp.contract.TableContract;
import com.gingersoft.gsa.cloud.table.mvp.presenter.TablePresenter; import com.gingersoft.gsa.cloud.table.mvp.presenter.TablePresenter;
import com.qmuiteam.qmui.alpha.QMUIAlphaImageButton; import com.qmuiteam.qmui.alpha.QMUIAlphaImageButton;
import com.qmuiteam.qmui.layout.QMUIButton; import com.qmuiteam.qmui.layout.QMUIButton;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import com.qmuiteam.qmui.widget.QMUITopBar; import com.qmuiteam.qmui.widget.QMUITopBar;
import com.qmuiteam.qmui.widget.tab.QMUITabIndicator;
import com.qmuiteam.qmui.widget.tab.QMUITabSegment;
import org.simple.eventbus.Subscriber; import org.simple.eventbus.Subscriber;
...@@ -75,10 +80,10 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table ...@@ -75,10 +80,10 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
@BindView(R2.id.topbar) @BindView(R2.id.topbar)
QMUITopBar mTopBar; QMUITopBar mTopBar;
@BindView(R2.id.pts_table_type) @BindView(R2.id.tabSegment)
PagerSlidingTabStrip tabs; QMUITabSegment mTabSegment;
@BindView(R2.id.vp_table_type) @BindView(R2.id.contentViewPager)
ViewPager pager_content; ViewPager mContentViewPager;
@BindView(R2.id.rv_bottom_function) @BindView(R2.id.rv_bottom_function)
RecyclerView rv_bottom_function; RecyclerView rv_bottom_function;
...@@ -98,20 +103,14 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table ...@@ -98,20 +103,14 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
public static final int FUNCTION_ALL_TABLE = 1; public static final int FUNCTION_ALL_TABLE = 1;
public static final int FUNCTION_STATE_TABLE = 2; public static final int FUNCTION_STATE_TABLE = 2;
private FragmentManager fm;
private InputTableFragment inputTableFragment; private InputTableFragment inputTableFragment;
private AllTableFragment allTableFragment; private AllTableFragment allTableFragment;
private StateTableFragment stateTableFragment; private StateTableFragment stateTableFragment;
private String[] tabTitles; private String[] tabTitles = {"編號", "全部", "狀態"};
private final int[] icon0 = {0, 0, 0};
private final int[] icon1 = {0, 0, 0};
//默认显示页下标
private int mDefaultPosition = 1;
//记录当前页面下标
private int mPosition = 1;
//當前顯示頁下標
private int mCurrentPageIndex = 1;
@Override @Override
public void setupActivityComponent(@NonNull AppComponent appComponent) { public void setupActivityComponent(@NonNull AppComponent appComponent) {
...@@ -130,7 +129,7 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table ...@@ -130,7 +129,7 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
@Override @Override
public void initData(@Nullable Bundle savedInstanceState) { public void initData(@Nullable Bundle savedInstanceState) {
initTabBarViewPage(); initTabAndPager();
mPresenter.initBottomFunction(); mPresenter.initBottomFunction();
mPresenter.getTables(true); mPresenter.getTables(true);
} }
...@@ -142,7 +141,6 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table ...@@ -142,7 +141,6 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
@Override @Override
public void initIntent() { public void initIntent() {
} }
@Override @Override
...@@ -375,128 +373,210 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table ...@@ -375,128 +373,210 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
} }
} }
private void initTabBarViewPage() { private void initTabAndPager() {
QMUIFragmentPagerAdapter pagerAdapter = new QMUIFragmentPagerAdapter(getSupportFragmentManager()) {
fm = getSupportFragmentManager(); @Override
List<Fragment> fragmentList = new ArrayList<>(); public Fragment createFragment(int position) {
// Fragment标签 switch (position) {
inputTableFragment = InputTableFragment.newInstance(); case 1:
allTableFragment = AllTableFragment.newInstance(); if (stateTableFragment != null) {
stateTableFragment = StateTableFragment.newInstance(); return stateTableFragment;
fragmentList.add(inputTableFragment); }
fragmentList.add(allTableFragment); stateTableFragment = new StateTableFragment();
fragmentList.add(stateTableFragment); return stateTableFragment;
// tab title case 2:
tabTitles = new String[3]; if (allTableFragment != null) {
tabTitles[0] = "編號"; return allTableFragment;
tabTitles[1] = "全部"; }
tabTitles[2] = "狀態"; allTableFragment = new AllTableFragment();
return allTableFragment;
BaseFragmentAdapter adapter = new BaseFragmentAdapter(this, fm, fragmentList, Arrays.asList(tabTitles)); default:
pager_content.setAdapter(adapter); if (inputTableFragment != null) {
return inputTableFragment;
DisplayMetrics dm = getResources().getDisplayMetrics(); }
// 设置Tab底部选中的指示器Indicator的高度 inputTableFragment = new InputTableFragment();
tabs.setIndicatorHeight((int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 2.5f, dm)); return inputTableFragment;
// 设置Tab底部选中的指示器 Indicator的颜色 }
tabs.setIndicatorColor(ArmsUtils.getColor(this, R.color.theme_color)); }
//设置Tab标题文字的颜色
tabs.setTextColor(ArmsUtils.getColor(this, R.color.theme_text_color)); @Override
//设置选中的Tab文字的颜色 public int getCount() {
tabs.setSelectedTextColor(ArmsUtils.getColor(this, R.color.theme_color)); return tabTitles.length;
//设置Tab底部分割线的颜色 }
tabs.setUnderlineColor(Color.TRANSPARENT);
// 设置点击某个Tab时的背景色,设置为0时取消背景色 @Override
tabs.setTabBackground(0); public CharSequence getPageTitle(int position) {
// 设置Tab是自动填充满屏幕的 switch (position) {
tabs.setShouldExpand(true); case 1:
//设置布局样式 return tabTitles[1];
tabs.setIconAndText(PagerSlidingTabStrip.TABICONTEXT); case 2:
//设置未选择的图标 return tabTitles[2];
tabs.setNormalIconRes(icon0); default:
//设置已选择的图标 return tabTitles[0];
tabs.setLightIconRes(icon1); }
// 设置Tab标题文字的大小 }
// tabs.setTextSize(GSAApplication.androidSetting.getTableFunctionTopFontSize()); };
tabs.setTextSize(16); mContentViewPager.setAdapter(pagerAdapter);
//设置文本 mContentViewPager.setCurrentItem(mCurrentPageIndex);
tabs.setTabTexts(tabTitles); int space = QMUIDisplayHelper.dp2px(this, 16);
//tab间的分割线 mTabSegment.setIndicator(new QMUITabIndicator(QMUIDisplayHelper.dp2px(this, 2), false, true));
tabs.setDividerColor(Color.TRANSPARENT); mTabSegment.setDefaultTextSize(QMUIDisplayHelper.dp2px(this, 16), QMUIDisplayHelper.dp2px(this, 16));
//底部横线与字体宽度一致 mTabSegment.setPadding(space, 0, space, 0);
tabs.setIndicatorinFollower(false); mTabSegment.setupWithViewPager(mContentViewPager);
//与ViewPager关联,这样指示器就可以和ViewPager联动 mTabSegment.addOnTabSelectedListener(new QMUITabSegment.OnTabSelectedListener() {
tabs.setViewPager(pager_content);
@Override
//设置当前现在的页面 默认输入页 public void onTabSelected(int index) {
pager_content.setCurrentItem(mDefaultPosition); if (index == 0) {
//设置当前默认显示Fragment页面 //标号输入页面 暂停刷新餐台数据
// mPresenter.setCurrentShowFragment(fragmentList.get(mDefaultPosition));
pager_content.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if (!firstFlag) {
//防止滑动页面 滑动的过程中不让刷新数据
TableActivity.isRefreshData = false;
LogUtil.d(TAG, "position: " + position + " positionOffset: " + positionOffset + " positionOffsetPixels: " + positionOffsetPixels);
}
firstFlag = false;
}
@Override
public void onPageSelected(int position) {
if (position == 0) {
//标号输入页面 暂停获取餐台数据
onPauseRefreshTableData(); onPauseRefreshTableData();
} else { } else {
//页面切换完成区域,状态页面恢复获取餐台数据 //页面切换完成区域,状态页面恢复获取餐台数据
if (mPosition == 0) {
//是从输入编号页面回到全部,使用状态页面 直接刷新餐台数据
onStartRefreshTableData(); onStartRefreshTableData();
} else {
TableActivity.isRefreshData = true;
}
} }
mPosition = position; mCurrentPageIndex = index;
// //设置当前显示Fragment页面 // //设置当前显示Fragment页面
// mPresenter.setCurrentShowFragment(fragmentList.get(position)); // mPresenter.setCurrentShowFragment(fragmentList.get(position));
} }
@Override @Override
public void onPageScrollStateChanged(int state) { public void onTabUnselected(int index) {
//滑動過程中先 暫停刷新數據
onPauseRefreshTableData();
}
@Override
public void onTabReselected(int index) {
}
@Override
public void onDoubleTap(int index) {
} }
}); });
tabs.setOnItemTagClickListener(new PagerSlidingTabStrip.OnItemTagClickListener() { }
@Override
public void onItemTagClick(int position, View tab) { // private void initTabBarViewPage() {
// initTableStatusPopup(); //
// switch (position) { // fm = getSupportFragmentManager();
// case 0: // List<Fragment> fragmentList = new ArrayList<>();
// break; // // Fragment标签
// case 1: // inputTableFragment = InputTableFragment.newInstance();
// if (mPosition == position) { // allTableFragment = AllTableFragment.newInstance();
// initViewPageListener(); // stateTableFragment = StateTableFragment.newInstance();
// fragmentList.add(inputTableFragment);
// fragmentList.add(allTableFragment);
// fragmentList.add(stateTableFragment);
// // tab title
// tabTitles = new String[3];
// tabTitles[0] = "編號";
// tabTitles[1] = "全部";
// tabTitles[2] = "狀態";
//
// BaseFragmentAdapter adapter = new BaseFragmentAdapter(this, fm, fragmentList, Arrays.asList(tabTitles));
// pager_content.setAdapter(adapter);
//
// DisplayMetrics dm = getResources().getDisplayMetrics();
// // 设置Tab底部选中的指示器Indicator的高度
// tabs.setIndicatorHeight((int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 2.5f, dm));
// // 设置Tab底部选中的指示器 Indicator的颜色
// tabs.setIndicatorColor(ArmsUtils.getColor(this, R.color.theme_color));
// //设置Tab标题文字的颜色
// tabs.setTextColor(ArmsUtils.getColor(this, R.color.theme_text_color));
// //设置选中的Tab文字的颜色
// tabs.setSelectedTextColor(ArmsUtils.getColor(this, R.color.theme_color));
// //设置Tab底部分割线的颜色
// tabs.setUnderlineColor(Color.TRANSPARENT);
// // 设置点击某个Tab时的背景色,设置为0时取消背景色
// tabs.setTabBackground(0);
// // 设置Tab是自动填充满屏幕的
// tabs.setShouldExpand(true);
// //设置布局样式
// tabs.setIconAndText(PagerSlidingTabStrip.TABICONTEXT);
// //设置未选择的图标
// tabs.setNormalIconRes(icon0);
// //设置已选择的图标
// tabs.setLightIconRes(icon1);
// // 设置Tab标题文字的大小
//// tabs.setTextSize(GSAApplication.androidSetting.getTableFunctionTopFontSize());
// tabs.setTextSize(16);
// //设置文本
// tabs.setTabTexts(tabTitles);
// //tab间的分割线
// tabs.setDividerColor(Color.TRANSPARENT);
// //底部横线与字体宽度一致
// tabs.setIndicatorinFollower(false);
// //与ViewPager关联,这样指示器就可以和ViewPager联动
// tabs.setViewPager(pager_content);
//
// //设置当前现在的页面 默认输入页
// pager_content.setCurrentItem(mDefaultPosition);
// //设置当前默认显示Fragment页面
//// mPresenter.setCurrentShowFragment(fragmentList.get(mDefaultPosition));
// pager_content.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
//
// @Override
// public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
// if (!firstFlag) {
// //防止滑动页面 滑动的过程中不让刷新数据
// TableActivity.isRefreshData = false;
// LogUtil.d(TAG, "position: " + position + " positionOffset: " + positionOffset + " positionOffsetPixels: " + positionOffsetPixels);
// }
// firstFlag = false;
// } // }
// break; //
// case 2: // @Override
// if (mPosition == position) { // public void onPageSelected(int position) {
// //显示下拉框停止刷新餐台数据 // if (position == 0) {
// GSAApplication.isRefreshData = false; // //标号输入页面 暂停获取餐台数据
// //处于当前tab页面 再次点击tab // onPauseRefreshTableData();
// mTableStatusPopup.setAnimStyle(QMUIPopup.ANIM_GROW_FROM_CENTER); // } else {
// mTableStatusPopup.setPreferredDirection(QMUIPopup.DIRECTION_BOTTOM); // //页面切换完成区域,状态页面恢复获取餐台数据
// mTableStatusPopup.show(tab); // if (mPosition == 0) {
// //是从输入编号页面回到全部,使用状态页面 直接刷新餐台数据
// onStartRefreshTableData();
// } else {
// TableActivity.isRefreshData = true;
// } // }
// break;
// } // }
// mPosition = position; // mPosition = position;
// //设置当前显示Fragment页面 //// //设置当前显示Fragment页面
// mPresenter.setCurrentShowFragment(fragmentList.get(position)); //// mPresenter.setCurrentShowFragment(fragmentList.get(position));
} // }
}); //
} // @Override
// public void onPageScrollStateChanged(int state) {
//
// }
// });
// tabs.setOnItemTagClickListener(new PagerSlidingTabStrip.OnItemTagClickListener() {
// @Override
// public void onItemTagClick(int position, View tab) {
//// initTableStatusPopup();
//// switch (position) {
//// case 0:
//// break;
//// case 1:
//// if (mPosition == position) {
//// initViewPageListener();
//// }
//// break;
//// case 2:
//// if (mPosition == position) {
//// //显示下拉框停止刷新餐台数据
//// GSAApplication.isRefreshData = false;
//// //处于当前tab页面 再次点击tab
//// mTableStatusPopup.setAnimStyle(QMUIPopup.ANIM_GROW_FROM_CENTER);
//// mTableStatusPopup.setPreferredDirection(QMUIPopup.DIRECTION_BOTTOM);
//// mTableStatusPopup.show(tab);
//// }
//// break;
//// }
//// mPosition = position;
//// //设置当前显示Fragment页面
//// mPresenter.setCurrentShowFragment(fragmentList.get(position));
// }
// });
// }
public static class SortTableByName implements Comparator { public static class SortTableByName implements Comparator {
...@@ -535,6 +615,7 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table ...@@ -535,6 +615,7 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
onStartRefreshTableData(); onStartRefreshTableData();
//清空食品數據 //清空食品數據
MyOrderManage.getInstance().clear(); MyOrderManage.getInstance().clear();
} }
@Override @Override
......
...@@ -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;
} }
} }
} }
...@@ -2,20 +2,30 @@ package com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager; ...@@ -2,20 +2,30 @@ package com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.ScrollView; import android.widget.ScrollView;
import android.widget.TextView; import android.widget.TextView;
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.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
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.utils.LanguageUtils; import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtil;
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.model.utils.OrderAssemblyUtil; import com.gingersoft.gsa.cloud.table.mvp.model.utils.OrderAssemblyUtil;
import com.gingersoft.gsa.cloud.table.mvp.presenter.OrderDetailPresenter; import com.gingersoft.gsa.cloud.table.mvp.presenter.OrderDetailPresenter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderDetailFoodAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderDetailItemAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderDetailPayMethodAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderDetailPayMethodAdapter;
import com.gingersoft.gsa.cloud.ui.recylcler.decorator.DividerItemDecoration; import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem3;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog; import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
import com.jess.arms.base.BaseActivity; import com.jess.arms.base.BaseActivity;
import com.jess.arms.di.component.AppComponent; import com.jess.arms.di.component.AppComponent;
...@@ -25,8 +35,11 @@ import com.gingersoft.gsa.cloud.table.mvp.contract.OrderDetailContract; ...@@ -25,8 +35,11 @@ import com.gingersoft.gsa.cloud.table.mvp.contract.OrderDetailContract;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
import com.qmuiteam.qmui.alpha.QMUIAlphaButton; import com.qmuiteam.qmui.alpha.QMUIAlphaButton;
import com.qmuiteam.qmui.widget.QMUITopBar; import com.qmuiteam.qmui.widget.QMUITopBar;
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.Date;
import java.util.List; import java.util.List;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
...@@ -35,6 +48,7 @@ import androidx.core.content.ContextCompat; ...@@ -35,6 +48,7 @@ import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView; import butterknife.BindView;
import butterknife.OnClick;
import static com.jess.arms.utils.Preconditions.checkNotNull; import static com.jess.arms.utils.Preconditions.checkNotNull;
...@@ -110,11 +124,12 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl ...@@ -110,11 +124,12 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
private OrderDetailItem mOrderDetailItem; private OrderDetailItem mOrderDetailItem;
private OrderDetailFoodAdapter mOrderDetailFoodAdapter; private OrderDetailItemAdapter mOrderDetailFoodAdapter;
private List<OrderDetail> mOrderDetailList = new ArrayList<>(); private List<SectionTextItem3> mSectionTextItem3FoodList = new ArrayList<>();
private List<OrderDetail> mOrderDetailList;
private OrderDetailPayMethodAdapter MOrderDetailPayMethodAdapter; private OrderDetailPayMethodAdapter mOrderDetailPayMethodAdapter;
// private List<Object> mOrderDetailList; private List<SectionTextItem3> mSectionTextItem3PayMethodList = new ArrayList<>();
@Override @Override
public void setupActivityComponent(@NonNull AppComponent appComponent) { public void setupActivityComponent(@NonNull AppComponent appComponent) {
...@@ -137,38 +152,172 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl ...@@ -137,38 +152,172 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
initOrderDetail(mOrderDetailItem); initOrderDetail(mOrderDetailItem);
} }
private void initOrderDetail(OrderDetailItem mOrderDetailItem) { private void initOrderDetail(OrderDetailItem orderDetailItem) {
if (mOrderDetailItem != null) { if (orderDetailItem != null) {
String payBill = LanguageUtils.get_language_system(this, "opentable.paybill", "結賬") + ":"; String payBill = LanguageUtils.get_language_system(this, "opentable.paybill", "結賬") + ":";
String tableName = LanguageUtils.get_language_system(this, "table.number", "檯號̖") + ":"; String tableName = LanguageUtils.get_language_system(this, "table.number", "檯號̖") + ":";
String pax = LanguageUtils.get_language_system(this, "Meal.Mannumber", "人數") + ":"; String pax = LanguageUtils.get_language_system(this, "Meal.Mannumber", "人數") + ":";
String orderNumber = LanguageUtils.get_language_system(this, "order.number", "訂單號") + ":"; String orderNumber = LanguageUtils.get_language_system(this, "order.number", "訂單號") + ":";
String openTable = LanguageUtils.get_language_system(this, "open.table", "開台") + ":"; String openTable = LanguageUtils.get_language_system(this, "open.table", "開台") + ":";
tv_pay_time.setText(payBill + mOrderDetailItem.getCreateTime()); tv_table_name.setText(tableName + orderDetailItem.getTableName());
tv_table_name.setText(tableName + mOrderDetailItem.getId()); tv_people_num.setText(pax + orderDetailItem.getPerson());
tv_people_num.setText(pax + mOrderDetailItem.getPerson()); tv_order_num.setText(orderNumber + orderDetailItem.getId());
tv_order_num.setText(orderNumber + mOrderDetailItem.getOrderNo()); tv_open_time.setText(openTable + TimeUtil.getStringByFormat(new Date(orderDetailItem.getCreateTime()), TimeUtil.dateFormatYMDHM));
tv_open_time.setText(openTable + mOrderDetailItem.getCreateTime()); if (!TextUtils.isEmpty(orderDetailItem.getEndTime())) {
tv_total.setText("$" + mOrderDetailItem.getTotalAmount()); tv_pay_time.setText(payBill + TimeUtil.getStringByFormat(new Date(orderDetailItem.getEndTime()), TimeUtil.dateFormatYMDHM));
}
// if (datasBean.getOrderMember().get(0).getSCAMOUNT() != 0) { tv_total.setText("$" + orderDetailItem.getTotalAmount());
// tv_server_money.setText("$" + datasBean.getOrderMember().get(0).getSCAMOUNT()); tv_total_money.setText("$" + orderDetailItem.getTotalAmount());
// } else {
tv_server_money.setVisibility(View.GONE); tv_server_money.setVisibility(View.GONE);
tv_server_money_text.setVisibility(View.GONE); tv_server_money_text.setVisibility(View.GONE);
// }
tv_total_money.setText("$" + mOrderDetailItem.getTotalAmount());
List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(mOrderDetailItem.getOrderDetails())); setOrderStatus(orderDetailItem);
mOrderDetailList.addAll(orderDetailList);
mOrderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(orderDetailItem.getOrderDetails()));
setOrderDetailFoodAdapter(mOrderDetailList);
setOrderPayMethodAdapter(orderDetailItem);
}
}
/**
* 設置訂單狀態
*
* @param item
*/
private void setOrderStatus(OrderDetailItem item) {
if (item.getStatus() == 6) {
btn_print_order.setVisibility(View.GONE);
btn_modify_order.setVisibility(View.GONE);
btn_cancel_order.setVisibility(View.GONE);
tv_order_status.setVisibility(View.VISIBLE);
} else {
btn_print_order.setVisibility(View.VISIBLE);
btn_modify_order.setVisibility(View.VISIBLE);
btn_cancel_order.setVisibility(View.VISIBLE);
tv_order_status.setVisibility(View.GONE);
}
}
mOrderDetailFoodAdapter = new OrderDetailFoodAdapter(mOrderDetailList);
recycler_food.setAdapter(mOrderDetailFoodAdapter);
private void setOrderDetailFoodAdapter(List<OrderDetail> orderDetailList) {
if (mOrderDetailFoodAdapter == null) {
mSectionTextItem3FoodList.addAll(SectionTextItem3.orderDetailTransSectionTextItem3(orderDetailList));
mOrderDetailFoodAdapter = new OrderDetailItemAdapter(mSectionTextItem3FoodList);
recycler_food.setAdapter(mOrderDetailFoodAdapter);
LinearLayoutManager mAllOrderRecycleLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false); LinearLayoutManager mAllOrderRecycleLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
recycler_food.setLayoutManager(mAllOrderRecycleLayoutManager); recycler_food.setLayoutManager(mAllOrderRecycleLayoutManager);
recycler_food.addItemDecoration(new DividerItemDecoration(this, LinearLayoutManager.VERTICAL)); } else {
mSectionTextItem3FoodList.clear();
mSectionTextItem3FoodList.addAll(SectionTextItem3.orderDetailTransSectionTextItem3(orderDetailList));
mOrderDetailFoodAdapter.notifyDataSetChanged();
}
}
private void setOrderPayMethodAdapter(OrderDetailItem orderDetailItem) {
List<PayMethod> payMethodList = getPayMethodList(orderDetailItem);
List<SectionTextItem3> sectionTextItem3List = SectionTextItem3.orderPayMethodTransSectionTextItem3(payMethodList);
if (mOrderDetailPayMethodAdapter == null) {
mSectionTextItem3PayMethodList.addAll(sectionTextItem3List);
mOrderDetailPayMethodAdapter = new OrderDetailPayMethodAdapter(mSectionTextItem3PayMethodList);
recycler_pay_method.setAdapter(mOrderDetailPayMethodAdapter);
LinearLayoutManager mAllOrderRecycleLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
recycler_pay_method.setLayoutManager(mAllOrderRecycleLayoutManager);
} else {
mSectionTextItem3PayMethodList.clear();
mSectionTextItem3PayMethodList.addAll(sectionTextItem3List);
mOrderDetailPayMethodAdapter.notifyDataSetChanged();
} }
//設置打印所需支付方式
MyOrderManage.getInstance().setBillMoney(payMethodList);
}
/**
* 獲取支付方式
*
* @param orderDetailItem
* @return
*/
private List<PayMethod> getPayMethodList(OrderDetailItem orderDetailItem) {
List<PayMethod> payMethodList = new ArrayList<>();
PayMethod payMethod = new PayMethod();
payMethod.setPayName(orderDetailItem.getPayName());
payMethod.setPayMoney(orderDetailItem.getTotalAmount());
payMethodList.add(payMethod);
return payMethodList;
}
@OnClick({R2.id.btn_print_order, R2.id.btn_cancel_order, R2.id.btn_modify_order})
public void onClick(View v) {
int id = v.getId();
if (id == R.id.btn_print_order) {
startPrintOrder(mOrderDetailItem, mOrderDetailList);
} else if (id == R.id.btn_cancel_order) {
showCancelDialog();
} else if (id == R.id.btn_modify_order) {
startModifyOrder(mOrderDetailItem);
}
}
private void startModifyOrder(OrderDetailItem datasBean) {
//設置為修改訂單操作
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);
launchActivity(new Intent(this, MealStandActivity.class));
}
/**
* 打印賬單
*
* @param orderDetailItem
* @param orderDetailList
*/
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);
});
}
private void showCancelDialog() {
QMUIDialog.MessageDialogBuilder dialogBuilder = new QMUIDialog.MessageDialogBuilder(this);
dialogBuilder.setTitle("溫馨提示");
dialogBuilder.setMessage("是否取消訂單?");
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> {
dialog.dismiss();
mPresenter.cancelOrder(mOrderDetailItem.getId());
});
dialogBuilder.create(R.style.MyDialogTheme2).show();
} }
@Override @Override
...@@ -187,12 +336,20 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl ...@@ -187,12 +336,20 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
// overridePendingTransition(R.anim.slide_still, R.anim.slide_out_right); // overridePendingTransition(R.anim.slide_still, R.anim.slide_out_right);
} }
}); });
mTopBar.setTitle(LanguageUtils.get_language_system(this, "function.order.detail", "賬單詳情")).setTextColor(ArmsUtils.getColor(this,R.color.theme_white_color)); mTopBar.setTitle(LanguageUtils.get_language_system(this, "function.order.detail", "賬單詳情")).setTextColor(ArmsUtils.getColor(this, R.color.theme_white_color));
} }
@Override @Override
public void initLanguage() { public void initLanguage() {
tv_food_detail_text.setText(LanguageUtils.get_language_system(this, "food.detail.text", "食品詳情"));
tv_total_text.setText(LanguageUtils.get_language_system(this, "total.text", "合計"));
tv_server_money_text.setText(LanguageUtils.get_language_system(this, "service.fee.text", "服務費"));
tv_total_money_text.setText(LanguageUtils.get_language_system(this, "order.countall_all", "總金額"));
btn_print_order.setText(LanguageUtils.get_language_system(this, "print.order", "打印賬單"));
btn_tips.setText(LanguageUtils.get_language_system(this, "public.tips", "貼士"));
btn_modify_order.setText(LanguageUtils.get_language_system(this, "modify.order", "修改訂單"));
} }
@Override @Override
...@@ -236,4 +393,10 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl ...@@ -236,4 +393,10 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
} }
@Override
public void returnOrderDetail(OrderDetailItem orderDetailItem) {
this.mOrderDetailItem = orderDetailItem;
initOrderDetail(orderDetailItem);
}
} }
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