Commit 5ff6e716 by 宁斌

1、部分文檔bug处理

parent 77361964
...@@ -601,7 +601,7 @@ public class TimeUtil { ...@@ -601,7 +601,7 @@ public class TimeUtil {
// if (hour != 0) { // if (hour != 0) {
// min += hour * 60; // min += hour * 60;
// } // }
long[] times = {hour, min, sec}; long[] times = {day, hour, min};
return times; return times;
} }
......
...@@ -74,6 +74,8 @@ public class RecyItemTouchHelperCallback<H extends QMUISection.Model<H>, T exten ...@@ -74,6 +74,8 @@ public class RecyItemTouchHelperCallback<H extends QMUISection.Model<H>, T exten
int fromIndex = sectionAdapter.getItemIndex(fromPosition); int fromIndex = sectionAdapter.getItemIndex(fromPosition);
int toIndex = sectionAdapter.getItemIndex(toPosition); int toIndex = sectionAdapter.getItemIndex(toPosition);
if(toIndex < 0 || fromIndex < 0)
return false;
if ((fromIndex + 1) == list.size()) if ((fromIndex + 1) == list.size())
return false; return false;
...@@ -95,6 +97,8 @@ public class RecyItemTouchHelperCallback<H extends QMUISection.Model<H>, T exten ...@@ -95,6 +97,8 @@ public class RecyItemTouchHelperCallback<H extends QMUISection.Model<H>, T exten
int fromIndex = sectionAdapter.getItemIndex(fromPosition); int fromIndex = sectionAdapter.getItemIndex(fromPosition);
int toIndex = sectionAdapter.getItemIndex(toPosition); int toIndex = sectionAdapter.getItemIndex(toPosition);
if(toIndex < 0 || fromIndex < 0)
return false;
if ((fromIndex + 1) == list.size()) if ((fromIndex + 1) == list.size())
return false; return false;
......
...@@ -6,6 +6,8 @@ import com.jess.arms.base.DefaultAdapter; ...@@ -6,6 +6,8 @@ import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.mvp.IModel; import com.jess.arms.mvp.IModel;
import com.jess.arms.mvp.IView; import com.jess.arms.mvp.IView;
import java.util.List;
import io.reactivex.Observable; import io.reactivex.Observable;
import okhttp3.RequestBody; import okhttp3.RequestBody;
...@@ -34,6 +36,9 @@ public interface SettlementReportContract { ...@@ -34,6 +36,9 @@ public interface SettlementReportContract {
//打印清機報表 //打印清機報表
void printRepore(); void printRepore();
void showCrossDaysLayout(boolean show);
void setOrderConditionList(List<SendSettlement.DataBean.DateNumBean> dateNum, String type1, String type2, String type3);
} }
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存 //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel{ interface Model extends IModel{
......
package com.gingersoft.gsa.cloud.main.mvp.model.bean; package com.gingersoft.gsa.cloud.main.mvp.model.bean;
import java.io.Serializable;
import java.util.List; import java.util.List;
/** /**
...@@ -73,6 +74,46 @@ public class SendSettlement { ...@@ -73,6 +74,46 @@ public class SendSettlement {
private String msg; private String msg;
private List<String> table; private List<String> table;
private String type1;
private String type2;
private String type3;
private List<DateNumBean> dateNum;
private String errCode;
public String getType1() {
return type1;
}
public void setType1(String type1) {
this.type1 = type1;
}
public String getType2() {
return type2;
}
public void setType2(String type2) {
this.type2 = type2;
}
public String getType3() {
return type3;
}
public void setType3(String type3) {
this.type3 = type3;
}
public List<DateNumBean> getDateNum() {
return dateNum;
}
public void setDateNum(List<DateNumBean> dateNum) {
this.dateNum = dateNum;
}
public String getMsg() { public String getMsg() {
return msg; return msg;
} }
...@@ -88,5 +129,35 @@ public class SendSettlement { ...@@ -88,5 +129,35 @@ public class SendSettlement {
public void setTable(List<String> table) { public void setTable(List<String> table) {
this.table = table; this.table = table;
} }
public String getErrCode() {
return errCode;
}
public void setErrCode(String errCode) {
this.errCode = errCode;
}
public static class DateNumBean implements Serializable {
private String date;
private int num;
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
}
} }
} }
...@@ -64,6 +64,8 @@ public class SettlementReport { ...@@ -64,6 +64,8 @@ public class SettlementReport {
private String currentTime; private String currentTime;
private String startTime; private String startTime;
public String getCurrentTime() { public String getCurrentTime() {
return currentTime; return currentTime;
} }
...@@ -120,6 +122,7 @@ public class SettlementReport { ...@@ -120,6 +122,7 @@ public class SettlementReport {
this.cash = cash; this.cash = cash;
} }
public static class VoBean implements Serializable{ public static class VoBean implements Serializable{
/** /**
* prices : 256 * prices : 256
......
package com.gingersoft.gsa.cloud.main.mvp.presenter; package com.gingersoft.gsa.cloud.main.mvp.presenter;
import android.app.Application; import android.app.Application;
import android.text.TextUtils;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.main.R; import com.gingersoft.gsa.cloud.main.R;
...@@ -61,10 +62,10 @@ public class SettlementReportPresenter extends BasePresenter<SettlementReportCon ...@@ -61,10 +62,10 @@ public class SettlementReportPresenter extends BasePresenter<SettlementReportCon
private SettlementReportActivity IActivity; private SettlementReportActivity IActivity;
private SettlementReportItemAdapter mSettlementReportItemAdapter; private SettlementReportItemAdapter mSettlementReportItemAdapter;
private List<SectionTextItem3> mSettlementReportItemList= new ArrayList<>(); private List<SectionTextItem3> mSettlementReportItemList = new ArrayList<>();
private SettlementReportItem5Adapter mSettlementReportItem5Adapter; private SettlementReportItem5Adapter mSettlementReportItem5Adapter;
private List<SectionTextItem5> mSettlementReportItem5List= new ArrayList<>(); private List<SectionTextItem5> mSettlementReportItem5List = new ArrayList<>();
public SettlementReportItem5Adapter mPrintAdapter; public SettlementReportItem5Adapter mPrintAdapter;
...@@ -92,7 +93,7 @@ public class SettlementReportPresenter extends BasePresenter<SettlementReportCon ...@@ -92,7 +93,7 @@ public class SettlementReportPresenter extends BasePresenter<SettlementReportCon
mSettlementReportItem5Adapter = new SettlementReportItem5Adapter(IActivity, mSettlementReportItem5List); mSettlementReportItem5Adapter = new SettlementReportItem5Adapter(IActivity, mSettlementReportItem5List);
mRootView.setSettlementReportItem5Adapter(mSettlementReportItem5Adapter); mRootView.setSettlementReportItem5Adapter(mSettlementReportItem5Adapter);
} }
if(mPrintAdapter == null){ if (mPrintAdapter == null) {
mPrintAdapter = new SettlementReportItem5Adapter(IActivity, mSettlementReportItem5List, 24); mPrintAdapter = new SettlementReportItem5Adapter(IActivity, mSettlementReportItem5List, 24);
} }
} }
...@@ -110,11 +111,19 @@ public class SettlementReportPresenter extends BasePresenter<SettlementReportCon ...@@ -110,11 +111,19 @@ public class SettlementReportPresenter extends BasePresenter<SettlementReportCon
mPrintAdapter.notifyDataSetChanged(); mPrintAdapter.notifyDataSetChanged();
} }
public void sendSettlement() { public void sendSettlement(int type) {
int restaurantId = GsaCloudApplication.getRestaurantId(mApplication); int restaurantId = GsaCloudApplication.getRestaurantId(mApplication);
RequestBody requestBody = new FormBody.Builder() RequestBody requestBody;
.add("restaurantId", String.valueOf(restaurantId)) if (type != 0) {
.build(); requestBody = new FormBody.Builder()
.add("restaurantId", String.valueOf(restaurantId))
.add("type", String.valueOf(type))
.build();
} else {
requestBody = new FormBody.Builder()
.add("restaurantId", String.valueOf(restaurantId))
.build();
}
mModel.sendSettlement(requestBody) mModel.sendSettlement(requestBody)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null)) .doOnSubscribe(disposable -> mRootView.showLoading(null))
...@@ -127,33 +136,52 @@ public class SettlementReportPresenter extends BasePresenter<SettlementReportCon ...@@ -127,33 +136,52 @@ public class SettlementReportPresenter extends BasePresenter<SettlementReportCon
@Override @Override
public void onNext(@NonNull SendSettlement info) { public void onNext(@NonNull SendSettlement info) {
if (info != null && info.isSuccess()) { if (info != null && info.isSuccess()) {
SendSettlement.DataBean dataBean = info.getData(); SendSettlement.DataBean dataBean = info.getData();
if (dataBean != null) {
if (dataBean.getTable() == null || (dataBean.getTable() != null && dataBean.getTable().size() == 0)) { if (dataBean != null
&& !TextUtils.isEmpty(dataBean.getErrCode())
&& dataBean.getErrCode().equals("restaurant.operation.0005")) {
//跨天清機提示
mRootView.showCrossDaysLayout(true);
if (dataBean.getDateNum() != null) {
mRootView.setOrderConditionList(info.getData().getDateNum(), dataBean.getType1(), dataBean.getType2(), dataBean.getType3());
}
} else {
if (dataBean != null) {
if (dataBean.getTable() == null || (dataBean.getTable() != null && dataBean.getTable().size() == 0)) {
mRootView.showMessage("清機成功");
//打印清機報表
mRootView.printRepore();
} else {
//還有檯未結賬
showSettlementErrorDialog("仍有臺號未結賬,請先結賬;" + "\n" + getTables(dataBean.getTable()));
}
} else {
mRootView.showMessage("清機成功"); mRootView.showMessage("清機成功");
//打印清機報表 //打印清機報表
mRootView.printRepore(); mRootView.printRepore();
} else {
//還有檯未結賬
showSettlementErrorDialog("仍有臺號未結賬,請先結賬;" + "\n" + getTables(dataBean.getTable()));
} }
} else {
mRootView.showMessage("清機成功");
//打印清機報表
mRootView.printRepore();
} }
} else if(info.getErrCode().equals("restaurant.operation.0003")){ } else if (info.getErrCode().equals("restaurant.operation.0003")) {
//一天多次清機提示
Class[] parameterTypes = {}; Class[] parameterTypes = {};
Object[] parameters = {}; Object[] parameters = {};
CommonTipDialog.showDoubtDialog(IActivity,"今天已清機過,是否繼續清機", SettlementReportPresenter.class, SettlementReportPresenter.this, CommonTipDialog.showDoubtDialog(IActivity, "今天已清機過,是否繼續清機", SettlementReportPresenter.class, SettlementReportPresenter.this,
"sendSettlement", parameterTypes, parameters); "sendSettlement", parameterTypes, parameters);
}else if(info.getErrCode().equals("restaurant.operation.0004")){ } else if (info.getErrCode().equals("restaurant.operation.0004")) {
Class[] parameterTypes = {}; Class[] parameterTypes = {};
Object[] parameters = {}; Object[] parameters = {};
CommonTipDialog.showDoubtDialog(IActivity,"仍有外送訂單未結賬,請先結賬!", SettlementReportPresenter.class, SettlementReportPresenter.this, CommonTipDialog.showDoubtDialog(IActivity, "仍有外送訂單未結賬,請先結賬!", SettlementReportPresenter.class, SettlementReportPresenter.this,
"", parameterTypes, parameters); "", parameterTypes, parameters);
} else { } else {
mRootView.showMessage("清機失敗"); if (!TextUtils.isEmpty(info.getErrMsg())) {
mRootView.showMessage(info.getErrMsg()+",清機失敗");
} else {
mRootView.showMessage("清機失敗");
}
} }
} }
}); });
......
...@@ -7,8 +7,16 @@ import android.os.Handler; ...@@ -7,8 +7,16 @@ import android.os.Handler;
import android.os.Message; import android.os.Message;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.View; import android.view.View;
import android.view.animation.AnimationUtils;
import android.widget.Button; import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.LinearLayout;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.ScrollView; import android.widget.ScrollView;
import android.widget.SimpleAdapter;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
...@@ -33,10 +41,12 @@ import com.gingersoft.gsa.cloud.main.R; ...@@ -33,10 +41,12 @@ 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.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.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.presenter.SettlementReportPresenter; import com.gingersoft.gsa.cloud.main.mvp.presenter.SettlementReportPresenter;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem3; import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem3;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem5; import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem5;
import com.gingersoft.gsa.cloud.ui.utils.AnimateUtils;
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.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
...@@ -98,10 +108,21 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese ...@@ -98,10 +108,21 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese
@BindView(R2.id.scrollView) @BindView(R2.id.scrollView)
NestedScrollView scrollView; NestedScrollView scrollView;
@BindView(R2.id.ll_cross_days)
LinearLayout ll_cross_days;
@BindView(R2.id.lv_order_condition)
ListView lv_order_info;
@BindView(R2.id.rb_condition)
RadioGroup rb_condition;
// @BindView(R2.id.rv_settlement_report_item) // @BindView(R2.id.rv_settlement_report_item)
// RecyclerView rv_settlement_report_item; // RecyclerView rv_settlement_report_item;
@BindView(R2.id.rv_settlement_report_item2) @BindView(R2.id.rv_settlement_report_item2)
RecyclerView rv_settlement_report_item2; RecyclerView rv_settlement_report_item2;
private Button rightBtn;
private int type;
//币種 //币種
public String cashStr = "$"; public String cashStr = "$";
protected String dfformat = "#0.00"; protected String dfformat = "#0.00";
...@@ -150,7 +171,7 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese ...@@ -150,7 +171,7 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese
killMyself(); killMyself();
// overridePendingTransition(R.anim.slide_still, R.anim.slide_out_right); // overridePendingTransition(R.anim.slide_still, R.anim.slide_out_right);
}); });
Button rightBtn = mTopBar.addRightTextButton("打印", R.id.tv_right); rightBtn = mTopBar.addRightTextButton("打印", R.id.tv_right);
rightBtn.setTextColor(ArmsUtils.getColor(this, R.color.theme_white_color)); rightBtn.setTextColor(ArmsUtils.getColor(this, R.color.theme_white_color));
rightBtn.setOnClickListener(v -> { rightBtn.setOnClickListener(v -> {
String settlementReportJson = (String) SPUtils.get(mContext, PrintConstans.SETTLEMENT_REPORT, ""); String settlementReportJson = (String) SPUtils.get(mContext, PrintConstans.SETTLEMENT_REPORT, "");
...@@ -170,17 +191,34 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese ...@@ -170,17 +191,34 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese
@OnClick({R2.id.btn_send_settlement}) @OnClick({R2.id.btn_send_settlement})
public void onClick(View v) { public void onClick(View v) {
if (v.getId() == R.id.btn_send_settlement) { if (v.getId() == R.id.btn_send_settlement) {
type = 0;
showSendSettlementDialog();
}
}
@OnClick({R2.id.btn_sure_cross_days})
public void onClickSure(View v) {
if (v.getId() == R.id.btn_sure_cross_days) {
showSendSettlementDialog(); showSendSettlementDialog();
} }
} }
@OnClick({R2.id.btn_cancel_cross_days})
public void onClickCancel(View v) {
if (v.getId() == R.id.btn_cancel_cross_days) {
AnimateUtils.animateDown(ll_cross_days, 500);
ll_cross_days.setVisibility(View.GONE);
}
}
private void showSendSettlementDialog() { private void showSendSettlementDialog() {
QMUIDialog.MessageDialogBuilder dialogBuilder = new QMUIDialog.MessageDialogBuilder(this); QMUIDialog.MessageDialogBuilder dialogBuilder = new QMUIDialog.MessageDialogBuilder(this);
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) -> {
mPresenter.sendSettlement(); mPresenter.sendSettlement(type);
dialog.dismiss(); dialog.dismiss();
}); });
dialogBuilder.create(com.gingersoft.gsa.cloud.base.R.style.MyDialogTheme2).show(); dialogBuilder.create(com.gingersoft.gsa.cloud.base.R.style.MyDialogTheme2).show();
...@@ -300,7 +338,7 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese ...@@ -300,7 +338,7 @@ 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 SectionTextItem5(projectTotalSalesText, null, null, null, cashStr + df.format(voBean.getPrices()))); settlementReportItem5s.add(new SectionTextItem5(projectTotalSalesText, null, null, null, cashStr + df.format(voBean.getPrices())));
settlementReportItem5s.add(new SectionTextItem5(discountText, null, null, null, "-"+cashStr + df.format(voBean.getDisamount()))); settlementReportItem5s.add(new SectionTextItem5(discountText, null, null, null, "-" + cashStr + df.format(voBean.getDisamount())));
settlementReportItem5s.add(new SectionTextItem5(serviceFeeText, null, null, null, cashStr + df.format(voBean.getScamount()))); settlementReportItem5s.add(new SectionTextItem5(serviceFeeText, null, null, null, cashStr + df.format(voBean.getScamount())));
settlementReportItem5s.add(new SectionTextItem5(deliveryFeeText, null, null, null, cashStr + df.format(voBean.getDeliverycharge()))); settlementReportItem5s.add(new SectionTextItem5(deliveryFeeText, null, null, null, cashStr + df.format(voBean.getDeliverycharge())));
settlementReportItem5s.add(new SectionTextItem5(netTurnoverText, null, null, null, cashStr + df.format(voBean.getTotamount()))); settlementReportItem5s.add(new SectionTextItem5(netTurnoverText, null, null, null, cashStr + df.format(voBean.getTotamount())));
...@@ -539,6 +577,119 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese ...@@ -539,6 +577,119 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese
}); });
} }
@Override
public void showCrossDaysLayout(boolean show) {
if (show) {
AnimateUtils.animateUp(ll_cross_days, 500);
ll_cross_days.setVisibility(View.VISIBLE);
rightBtn.setVisibility(View.INVISIBLE);
} else {
AnimateUtils.animateDown(ll_cross_days, 500);
ll_cross_days.setVisibility(View.GONE);
rightBtn.setVisibility(View.VISIBLE);
}
}
private RadioButton type1Button, type2Button, type3Button;
@Override
public void setOrderConditionList(List<SendSettlement.DataBean.DateNumBean> dateNum, String type1, String type2, String type3) {
int rbIndex = 0;
if (!TextUtils.isEmpty(type1)) {
type1Button = new RadioButton(this);
type1Button.setText(type1);
//默認選中第一個
// type = 1;
// type1Button.setChecked(true);
rb_condition.addView(type1Button, rbIndex);
rbIndex++;
}
if (!TextUtils.isEmpty(type2)) {
type2Button = new RadioButton(this);
type2Button.setText(type2);
rb_condition.addView(type2Button, rbIndex);
rbIndex++;
}
if (!TextUtils.isEmpty(type3)) {
type3Button = new RadioButton(this);
type3Button.setText(type3);
rb_condition.addView(type3Button, rbIndex);
}
List<Map<String, Object>> lists = new ArrayList<>();
for (int i = 0; i < dateNum.size(); i++) {
SendSettlement.DataBean.DateNumBean dateNumBean = dateNum.get(i);
Map<String, Object> map = new HashMap<>();
map.put("date", TimeUtil.getStringByFormat(dateNumBean.getDate(),TimeUtil.dateFormatM_D));
map.put("num", dateNumBean.getNum());
lists.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(this, lists, R.layout.item_settlement_cross_days_date_num
, new String[]{"date", "num"}
, new int[]{R.id.tv_date, R.id.tv_num});
lv_order_info.setAdapter(adapter);
rb_condition.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// if (type1Button != null) {
// type1Button.setChecked(false);
// }
// if (type2Button != null) {
// type2Button.setChecked(false);
// }
// if (type3Button != null) {
// type3Button.setChecked(false);
// }
//
if (type1Button != null && type1Button.getId() == checkedId) {
// type1Button.setChecked(true);
type = 1;
}
if (type2Button != null && type2Button.getId() == checkedId) {
// type2Button.setChecked(true);
type = 2;
}
if (type3Button != null && type3Button.getId() == checkedId) {
// type3Button.setChecked(true);
type = 3;
}
}
});
}
private void setTypeRadioButton(int type) {
if (type1Button != null) {
type1Button.setChecked(false);
}
if (type2Button != null) {
type2Button.setChecked(false);
}
if (type3Button != null) {
type3Button.setChecked(false);
}
switch (type) {
case 1:
if (type1Button != null) {
type1Button.toggle();
}
break;
case 2:
if (type2Button != null) {
type2Button.toggle();
}
break;
case 3:
if (type3Button != null) {
type3Button.toggle();
}
break;
}
}
@NotNull @NotNull
private View initPrintView() { private View initPrintView() {
View view = View.inflate(mContext, R.layout.layout_settlement_report, null); View view = View.inflate(mContext, R.layout.layout_settlement_report, null);
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<com.qmuiteam.qmui.widget.QMUIWindowInsetLayout xmlns:android="http://schemas.android.com/apk/res/android" <com.qmuiteam.qmui.widget.QMUIWindowInsetLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
...@@ -20,4 +22,99 @@ ...@@ -20,4 +22,99 @@
android:text="去清機" android:text="去清機"
android:textColor="@color/theme_white_color" android:textColor="@color/theme_white_color"
android:textSize="@dimen/dp_15" /> android:textSize="@dimen/dp_15" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="?attr/qmui_topbar_height"
android:background="@color/theme_white_color"
android:fillViewport="true">
<LinearLayout
android:id="@+id/ll_cross_days"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="@dimen/dp_10"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/qmui_icon_dialog_surprised"
android:textColor="@color/theme_black"
android:textSize="@dimen/sp_16"
android:text="檢測到您有跨天訂單未清機,請選擇清機類型"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/theme_black"
android:textSize="@dimen/sp_14"
android:text="包含:"
android:layout_marginTop="@dimen/dp_5"/>
<com.gingersoft.gsa.cloud.base.widget.NoScrollListview
android:id="@+id/lv_order_condition"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:divider="@null"
android:layout_marginTop="@dimen/dp_10"
android:padding="@dimen/dp_10"
android:layout_margin="@dimen/dp_10"
android:background="@drawable/shape_delivery_item_btn_normal"/>
<RadioGroup
android:id="@+id/rb_condition"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginLeft="@dimen/dp_10">
<!-- <RadioButton-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:text="全部計入到10號清機數據"/>-->
<!-- <RadioButton-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:text="全部計入到12號清機數據"/>-->
<!-- <RadioButton-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:text="分別按天結算"/>-->
</RadioGroup>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
android:id="@+id/btn_sure_cross_days"
android:layout_width="@dimen/dp_100"
android:layout_height="@dimen/dp_50"
android:layout_alignParentBottom="true"
android:layout_marginLeft="@dimen/dp_50"
android:textColor="@color/theme_white_color"
android:text="確認"
app:qmui_backgroundColor="@color/theme_color"
app:qmui_radius="@dimen/dp_5" />
<com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
android:id="@+id/btn_cancel_cross_days"
android:layout_width="@dimen/dp_100"
android:layout_height="@dimen/dp_50"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginRight="@dimen/dp_50"
android:textColor="@color/theme_black"
android:text="取消"
app:qmui_backgroundColor="@color/theme_white_color"
app:qmui_borderColor="@color/theme_hint_color"
app:qmui_radius="@dimen/dp_5"/>
</RelativeLayout>
</LinearLayout>
</ScrollView>
</com.qmuiteam.qmui.widget.QMUIWindowInsetLayout> </com.qmuiteam.qmui.widget.QMUIWindowInsetLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/dp_10">
<TextView
android:id="@+id/tv_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/theme_black"
android:textSize="@dimen/sp_16"
android:text="7-18"/>
<TextView
android:id="@+id/tv_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_150"
android:textColor="@color/theme_black"
android:textSize="@dimen/sp_16"
android:text="7-18"/>
</LinearLayout>
\ No newline at end of file
...@@ -98,7 +98,7 @@ public class TableListPresenter extends BasePresenter<TableListContract.Model, T ...@@ -98,7 +98,7 @@ public class TableListPresenter extends BasePresenter<TableListContract.Model, T
//將沒有區域的檯 放到其他下面 //將沒有區域的檯 放到其他下面
TableArea newArea = new TableArea(); TableArea newArea = new TableArea();
newArea.setId(-1); newArea.setId(-1);
newArea.setRegionName("其他"); newArea.setRegionName("默認");
areaList.add(newArea); areaList.add(newArea);
break; break;
} }
...@@ -122,7 +122,7 @@ public class TableListPresenter extends BasePresenter<TableListContract.Model, T ...@@ -122,7 +122,7 @@ public class TableListPresenter extends BasePresenter<TableListContract.Model, T
//將沒有區域的檯 放到其他下面 //將沒有區域的檯 放到其他下面
TableArea newArea = new TableArea(); TableArea newArea = new TableArea();
newArea.setId(-1); newArea.setId(-1);
newArea.setRegionName("其他"); newArea.setRegionName("默認");
areaList.add(newArea); areaList.add(newArea);
} }
return areaList; return areaList;
...@@ -139,7 +139,7 @@ public class TableListPresenter extends BasePresenter<TableListContract.Model, T ...@@ -139,7 +139,7 @@ public class TableListPresenter extends BasePresenter<TableListContract.Model, T
private void removeOtherAreaItem(List<TableArea> areaList) { private void removeOtherAreaItem(List<TableArea> areaList) {
for (int i = areaList.size() - 1; i >= 0; i--) { for (int i = areaList.size() - 1; i >= 0; i--) {
if (areaList.get(i).getRegionName().equals("其他")) { if (areaList.get(i).getRegionName().equals("默認")) {
areaList.remove(i); areaList.remove(i);
} }
} }
......
...@@ -223,9 +223,9 @@ public class TableManageActivity extends BaseFragmentActivity<TableManagePresent ...@@ -223,9 +223,9 @@ public class TableManageActivity extends BaseFragmentActivity<TableManagePresent
if (fragment != null) { if (fragment != null) {
if (fragment instanceof AreaListFragment) { if (fragment instanceof AreaListFragment) {
AreaListFragment areaListFragment = (AreaListFragment) fragment; AreaListFragment areaListFragment = (AreaListFragment) fragment;
if (!areaListFragment.isRadioEdit()) { // if (!areaListFragment.isRadioEdit()) {
areaListFragment.updateAreaData(areas); areaListFragment.updateAreaData(areas);
} // }
} else if (fragment instanceof TableListFragment) { } else if (fragment instanceof TableListFragment) {
TableListFragment tableListFragment = (TableListFragment) fragment; TableListFragment tableListFragment = (TableListFragment) fragment;
tableListFragment.updateAreaData(areas); tableListFragment.updateAreaData(areas);
...@@ -245,7 +245,10 @@ public class TableManageActivity extends BaseFragmentActivity<TableManagePresent ...@@ -245,7 +245,10 @@ public class TableManageActivity extends BaseFragmentActivity<TableManagePresent
} }
break; break;
case DELETE_AREA_SUCCESS: case DELETE_AREA_SUCCESS:
areaListFragment = (AreaListFragment) fragment;
if (areaListFragment != null) {
areaListFragment.deleteSuccess();
}
break; break;
case QUERY_AREA_SUCCESS: case QUERY_AREA_SUCCESS:
......
...@@ -162,6 +162,16 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements ...@@ -162,6 +162,16 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements
tableNameEditText.setBackgroundColor(ContextCompat.getColor(mContext, R.color.trans)); tableNameEditText.setBackgroundColor(ContextCompat.getColor(mContext, R.color.trans));
tableNameItemView.addAccessoryCustomView(tableNameEditText); tableNameItemView.addAccessoryCustomView(tableNameEditText);
FrameLayout.LayoutParams tableNameEditTextParams = (FrameLayout.LayoutParams) tableNameEditText.getLayoutParams();
tableNameEditTextParams.width = QMUIDisplayHelper.dp2px(mContext,200);
tableNameEditText.setLayoutParams(tableNameEditTextParams);
// 如下是内容为空的配置,需要两个属性结合使用;如果有默认值,进行相反的配置
// 设置文字的对齐方式
tableNameEditText.setGravity(Gravity.START | Gravity.CENTER_VERTICAL);
// 设置文本的显示方向
tableNameEditText.setTextDirection(View.TEXT_DIRECTION_RTL);
int size = QMUIDisplayHelper.dp2px(mContext, 20); int size = QMUIDisplayHelper.dp2px(mContext, 20);
QMUIGroupListView.newSection(mContext) QMUIGroupListView.newSection(mContext)
.setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT) .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
...@@ -203,26 +213,26 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements ...@@ -203,26 +213,26 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements
peopleMaxNumberEditText.setBackgroundColor(ContextCompat.getColor(mContext, R.color.trans)); peopleMaxNumberEditText.setBackgroundColor(ContextCompat.getColor(mContext, R.color.trans));
peopleMaxNumberEditText.setInputType(EditorInfo.TYPE_CLASS_NUMBER); peopleMaxNumberEditText.setInputType(EditorInfo.TYPE_CLASS_NUMBER);
peopleMaxNumberEditText.setBackground(ArmsUtils.getDrawablebyResource(mContext, R.drawable.shape_delivery_item_btn_normal)); peopleMaxNumberEditText.setBackground(ArmsUtils.getDrawablebyResource(mContext, R.drawable.shape_delivery_item_btn_normal));
peopleNumberItemView.addAccessoryCustomView(peopleMixNumberEditText);
peopleNumberItemView.addAccessoryCustomView(tv_line);
peopleNumberItemView.addAccessoryCustomView(peopleMaxNumberEditText); peopleNumberItemView.addAccessoryCustomView(peopleMaxNumberEditText);
peopleNumberItemView.addAccessoryCustomView(tv_line);
peopleNumberItemView.addAccessoryCustomView(peopleMixNumberEditText);
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.MATCH_PARENT); FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.MATCH_PARENT);
params.gravity = Gravity.CENTER | Gravity.RIGHT; params.gravity = Gravity.CENTER | Gravity.RIGHT;
params.width = 150; params.width = 180;
peopleMixNumberEditText.setLayoutParams(params); peopleMaxNumberEditText.setLayoutParams(params);
FrameLayout.LayoutParams params2 = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.MATCH_PARENT); FrameLayout.LayoutParams params2 = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.MATCH_PARENT);
params2.gravity = Gravity.CENTER | Gravity.RIGHT; params2.gravity = Gravity.CENTER | Gravity.RIGHT;
params2.width = 30; params2.width = 30;
params2.rightMargin = 170; params2.rightMargin = 190;
tv_line.setLayoutParams(params2); tv_line.setLayoutParams(params2);
FrameLayout.LayoutParams params3 = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.MATCH_PARENT); FrameLayout.LayoutParams params3 = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.MATCH_PARENT);
params3.gravity = Gravity.CENTER | Gravity.RIGHT; params3.gravity = Gravity.CENTER | Gravity.RIGHT;
params3.width = 150; params3.width = 180;
params3.rightMargin = 220; params3.rightMargin = 250;
peopleMaxNumberEditText.setLayoutParams(params3); peopleMixNumberEditText.setLayoutParams(params3);
QMUICommonListItemView defalutPeopleNumberItemView = mGroupListView.createItemView("默認人數"); QMUICommonListItemView defalutPeopleNumberItemView = mGroupListView.createItemView("默認人數");
...@@ -249,9 +259,15 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements ...@@ -249,9 +259,15 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements
tv_people.setLayoutParams(params5); tv_people.setLayoutParams(params5);
FrameLayout.LayoutParams params6 = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.MATCH_PARENT); FrameLayout.LayoutParams params6 = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.MATCH_PARENT);
params6.width = 100;
params6.gravity = Gravity.CENTER_VERTICAL | Gravity.RIGHT; params6.gravity = Gravity.CENTER_VERTICAL | Gravity.RIGHT;
params6.rightMargin = 60; params6.rightMargin = 60;
defalutPeopleNumberEditText.setLayoutParams(params6); defalutPeopleNumberEditText.setLayoutParams(params6);
// 如下是内容为空的配置,需要两个属性结合使用;如果有默认值,进行相反的配置
// 设置文字的对齐方式
defalutPeopleNumberEditText.setGravity(Gravity.START | Gravity.CENTER_VERTICAL);
// 设置文本的显示方向
defalutPeopleNumberEditText.setTextDirection(View.TEXT_DIRECTION_RTL);
QMUIGroupListView.newSection(getContext()) QMUIGroupListView.newSection(getContext())
.setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT) .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
...@@ -298,6 +314,11 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements ...@@ -298,6 +314,11 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements
serverchargeEditText.setBackgroundColor(ContextCompat.getColor(mContext, R.color.trans)); serverchargeEditText.setBackgroundColor(ContextCompat.getColor(mContext, R.color.trans));
serverchargeEditText.setInputType(EditorInfo.TYPE_CLASS_NUMBER); serverchargeEditText.setInputType(EditorInfo.TYPE_CLASS_NUMBER);
serverchargeItemView.addAccessoryCustomView(serverchargeEditText); serverchargeItemView.addAccessoryCustomView(serverchargeEditText);
// 如下是内容为空的配置,需要两个属性结合使用;如果有默认值,进行相反的配置
// 设置文字的对齐方式
serverchargeEditText.setGravity(Gravity.START | Gravity.CENTER_VERTICAL);
// 设置文本的显示方向
serverchargeEditText.setTextDirection(View.TEXT_DIRECTION_RTL);
QMUIGroupListView.newSection(getContext()) QMUIGroupListView.newSection(getContext())
.setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT) .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
......
...@@ -103,6 +103,8 @@ public class AreaListFragment extends BaseFragment<AreaListPresenter> implements ...@@ -103,6 +103,8 @@ public class AreaListFragment extends BaseFragment<AreaListPresenter> implements
private AreaManageAdapter mAreaManageAdapter; private AreaManageAdapter mAreaManageAdapter;
private List<TableArea> mTableAreaList = new ArrayList<>(); private List<TableArea> mTableAreaList = new ArrayList<>();
private Button rightButton;
private boolean isSave = false; private boolean isSave = false;
private boolean isRadioEdit; private boolean isRadioEdit;
...@@ -176,7 +178,7 @@ public class AreaListFragment extends BaseFragment<AreaListPresenter> implements ...@@ -176,7 +178,7 @@ public class AreaListFragment extends BaseFragment<AreaListPresenter> implements
mTopBar.addLeftBackImageButton().setOnClickListener(v -> killMyself()); mTopBar.addLeftBackImageButton().setOnClickListener(v -> killMyself());
mTopBar.setBackgroundResource(R.color.theme_color); mTopBar.setBackgroundResource(R.color.theme_color);
mTopBar.setTitle("區域").setTextColor(ContextCompat.getColor(mContext, R.color.theme_white_color)); mTopBar.setTitle("區域").setTextColor(ContextCompat.getColor(mContext, R.color.theme_white_color));
Button rightButton = mTopBar.addRightTextButton("編輯", R.id.qmui_dialog_edit_right_icon); rightButton = mTopBar.addRightTextButton("編輯", R.id.qmui_dialog_edit_right_icon);
rightButton.setTextColor(ContextCompat.getColor(mContext, R.color.theme_white_color)); rightButton.setTextColor(ContextCompat.getColor(mContext, R.color.theme_white_color));
rightButton.setOnClickListener(v -> { rightButton.setOnClickListener(v -> {
clickEdit(rightButton); clickEdit(rightButton);
...@@ -273,6 +275,10 @@ public class AreaListFragment extends BaseFragment<AreaListPresenter> implements ...@@ -273,6 +275,10 @@ public class AreaListFragment extends BaseFragment<AreaListPresenter> implements
ed_area_name.setText(""); ed_area_name.setText("");
} }
public void deleteSuccess() {
clickEdit(rightButton);
}
@Override @Override
public void setData(@Nullable Object data) { public void setData(@Nullable Object data) {
} }
...@@ -414,6 +420,13 @@ public class AreaListFragment extends BaseFragment<AreaListPresenter> implements ...@@ -414,6 +420,13 @@ public class AreaListFragment extends BaseFragment<AreaListPresenter> implements
showMessage("請輸入區域名稱"); showMessage("請輸入區域名稱");
return false; return false;
} }
for (int i = 0; i < mTableAreaList.size(); i++) {
TableArea tableArea = mTableAreaList.get(i);
if (tableArea.getRegionName().equals(ed_area_name.getText().toString())) {
showMessage("已有相同區域!");
return false;
}
}
return true; return true;
} }
......
...@@ -98,8 +98,8 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen ...@@ -98,8 +98,8 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
@BindView(R2.id.emptyView) @BindView(R2.id.emptyView)
QMUIEmptyView mEmptyView; QMUIEmptyView mEmptyView;
@BindView(R2.id.fl_add_table) @BindView(R2.id.tv_add_table)
QMUIAlphaFrameLayout fl_add_table; TextView tv_add_table;
@BindView(R2.id.ll_bottom_operat) @BindView(R2.id.ll_bottom_operat)
LinearLayout ll_bottom_operat; LinearLayout ll_bottom_operat;
...@@ -164,7 +164,7 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen ...@@ -164,7 +164,7 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
initRecycleScrollListener(); initRecycleScrollListener();
mActivity.queryAreas(null); mActivity.queryAreas(null);
mActivity.queryTables(null); mActivity.queryTables(null);
mActivity.initGetTableTimer(); // mActivity.initGetTableTimer();
cb_all_select.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { cb_all_select.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override @Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
...@@ -268,7 +268,11 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen ...@@ -268,7 +268,11 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
item.setChecked(!item.isChecked()); item.setChecked(!item.isChecked());
mAdapter.notifyDataSetChanged(); mAdapter.notifyDataSetChanged();
} else { } else {
start(AddTableFragment.newInstance(item)); if (item.getStatus() == 0) {
start(AddTableFragment.newInstance(item));
} else {
CommonTipDialog.showSurpisedDialog(mActivity, item.getTableName() + "檯正在使用中", null, null, null, null, null);
}
} }
} }
} }
...@@ -357,7 +361,7 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen ...@@ -357,7 +361,7 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
mTableAreaSectionList.addAll(mPresenter.tableAreaTransformToSection(mPresenter.assembleTableArea(mPresenter.assembleAreaList(tableAreaList, mTableList), mTableList))); mTableAreaSectionList.addAll(mPresenter.tableAreaTransformToSection(mPresenter.assembleTableArea(mPresenter.assembleAreaList(tableAreaList, mTableList), mTableList)));
// if (!initLoad) { // if (!initLoad) {
mAdapter.setData(mTableAreaSectionList); mAdapter.setData(mTableAreaSectionList);
// } else { // } else {
// mAdapter.getCurrentData().clear(); // mAdapter.getCurrentData().clear();
// mAdapter.getCurrentData().addAll(mTableAreaSectionList); // mAdapter.getCurrentData().addAll(mTableAreaSectionList);
...@@ -378,7 +382,7 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen ...@@ -378,7 +382,7 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
if (mAreaList.size() > 0) { if (mAreaList.size() > 0) {
mAreaList.clear(); mAreaList.clear();
} }
if (mTableAreaSectionList != null) { if (mTableAreaSectionList.size() > 0) {
mTableAreaSectionList.clear(); mTableAreaSectionList.clear();
} }
} }
...@@ -397,7 +401,7 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen ...@@ -397,7 +401,7 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
} }
@OnClick(R2.id.fl_add_table) @OnClick(R2.id.tv_add_table)
void onClickAddTable() { void onClickAddTable() {
startForResult(AreaListFragment.newInstance(), ADD_AREA_RESULT_SUCCESS); startForResult(AreaListFragment.newInstance(), ADD_AREA_RESULT_SUCCESS);
} }
...@@ -552,13 +556,13 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen ...@@ -552,13 +556,13 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
@Override @Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) { public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
if(isRadioEdit){ if (isRadioEdit) {
mActivity.onPauseRefreshTableData(); mActivity.onPauseRefreshTableData();
return; return;
} }
switch (newState) { switch (newState) {
case SCROLL_STATE_IDLE://停止滚动 case SCROLL_STATE_IDLE://停止滚动
if (mActivity != null ) { if (mActivity != null) {
mActivity.onStartRefreshTableData(); mActivity.onStartRefreshTableData();
} }
break; break;
...@@ -575,7 +579,7 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen ...@@ -575,7 +579,7 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
@Override @Override
public boolean onTouch(View v, MotionEvent event) { public boolean onTouch(View v, MotionEvent event) {
if(isRadioEdit){ if (isRadioEdit) {
mActivity.onPauseRefreshTableData(); mActivity.onPauseRefreshTableData();
return false; return false;
} }
...@@ -602,10 +606,10 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen ...@@ -602,10 +606,10 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
private void showRadioEdit() { private void showRadioEdit() {
if (isRadioEdit) { if (isRadioEdit) {
fl_add_table.setVisibility(View.GONE); tv_add_table.setVisibility(View.GONE);
ll_bottom_operat.setVisibility(View.VISIBLE); ll_bottom_operat.setVisibility(View.VISIBLE);
} else { } else {
fl_add_table.setVisibility(View.VISIBLE); tv_add_table.setVisibility(View.VISIBLE);
ll_bottom_operat.setVisibility(View.GONE); ll_bottom_operat.setVisibility(View.GONE);
} }
} }
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
android:layout_height="@dimen/dp_48" android:layout_height="@dimen/dp_48"
android:layout_weight="1" android:layout_weight="1"
android:background="@null" android:background="@null"
android:hint="請輸入區域名稱" android:hint="請輸入區域名稱"
android:maxLength="20" android:maxLength="20"
android:paddingLeft="@dimen/dp_10" android:paddingLeft="@dimen/dp_10"
android:paddingRight="@dimen/dp_10" android:paddingRight="@dimen/dp_10"
......
...@@ -36,22 +36,26 @@ ...@@ -36,22 +36,26 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:fitsSystemWindows="true" /> android:fitsSystemWindows="true" />
<com.qmuiteam.qmui.alpha.QMUIAlphaFrameLayout <TextView
android:id="@+id/fl_add_table" android:id="@+id/tv_add_table"
android:layout_width="@dimen/dp_65" android:layout_width="@dimen/dp_65"
android:layout_height="@dimen/dp_65" android:layout_height="@dimen/dp_65"
android:layout_alignParentBottom="true" android:layout_alignParentBottom="true"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:gravity="center"
android:layout_marginBottom="@dimen/dp_15" android:layout_marginBottom="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_20" android:layout_marginRight="@dimen/dp_20"
android:background="@drawable/manage_shape_add_btn_oval"> android:background="@drawable/manage_shape_add_btn_oval"
android:text="區域"
android:textSize="@dimen/sp_16"
android:textColor="@color/theme_white_color">
<ImageView <!-- <ImageView-->
android:layout_width="wrap_content" <!-- android:layout_width="wrap_content"-->
android:layout_height="wrap_content" <!-- android:layout_height="wrap_content"-->
android:layout_gravity="center" <!-- android:layout_gravity="center"-->
android:src="@drawable/add_white" /> <!-- android:src="@drawable/add_white" />-->
</com.qmuiteam.qmui.alpha.QMUIAlphaFrameLayout> </TextView>
<LinearLayout <LinearLayout
android:id="@+id/ll_bottom_operat" android:id="@+id/ll_bottom_operat"
......
...@@ -783,4 +783,9 @@ public class QMUITopBar extends QMUIRelativeLayout implements IQMUISkinHandlerVi ...@@ -783,4 +783,9 @@ public class QMUITopBar extends QMUIRelativeLayout implements IQMUISkinHandlerVi
public SimpleArrayMap<String, Integer> getDefaultSkinAttrs() { public SimpleArrayMap<String, Integer> getDefaultSkinAttrs() {
return sDefaultSkinAttrs; return sDefaultSkinAttrs;
} }
public List<View> getLeftViewList() {
return mLeftViewList;
}
} }
...@@ -64,6 +64,8 @@ public interface SoldoutCtrlContract { ...@@ -64,6 +64,8 @@ public interface SoldoutCtrlContract {
void showFineItemLayoutVisibility(); void showFineItemLayoutVisibility();
void showTvRestore(boolean show);
void showViewModeVisibility(int... viewMode); void showViewModeVisibility(int... viewMode);
} }
...@@ -76,12 +78,16 @@ public interface SoldoutCtrlContract { ...@@ -76,12 +78,16 @@ public interface SoldoutCtrlContract {
List<Food> queryDB_FoodList(long parentId); List<Food> queryDB_FoodList(long parentId);
List<Food> queryDB_FoodListByIds(String [] ids);
Observable<BaseResult> getCurrentSoldoutFood(RequestBody requestBody); Observable<BaseResult> getCurrentSoldoutFood(RequestBody requestBody);
Observable<BaseResult> insertSoldoutCtrl(RequestBody requestBody, int operatTtpe, int type); Observable<BaseResult> insertSoldoutCtrl(RequestBody requestBody, int operatTtpe, int type);
Observable<BaseResult> restoreSoldoutCtrl( RequestBody requestBody); Observable<BaseResult> restoreSoldoutCtrl( RequestBody requestBody);
Observable<BaseResult> batchRestoreSoldoutCtrl( RequestBody requestBody);
Observable<BaseResult> updateInvisible( RequestBody requestBody); Observable<BaseResult> updateInvisible( RequestBody requestBody);
Observable<FoodBean> downFoodList(int restaurantId); Observable<FoodBean> downFoodList(int restaurantId);
......
...@@ -86,6 +86,7 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model ...@@ -86,6 +86,7 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model
return foods; return foods;
} }
@Override @Override
public List<Modifier> queryDB_ModifierList(long fid, int mode) { public List<Modifier> queryDB_ModifierList(long fid, int mode) {
ModifierDaoUtils daoUtils = new ModifierDaoUtils(mApplication); ModifierDaoUtils daoUtils = new ModifierDaoUtils(mApplication);
......
...@@ -59,6 +59,14 @@ public class SoldoutCtrlModel extends BaseModel implements SoldoutCtrlContract.M ...@@ -59,6 +59,14 @@ public class SoldoutCtrlModel extends BaseModel implements SoldoutCtrlContract.M
} }
@Override @Override
public List<Food> queryDB_FoodListByIds(String[] ids) {
String sql = "SELECT * FROM FOOD WHERE id IN ( ?, ? );";
FoodDaoUtils foodDaoUtils = new FoodDaoUtils(mApplication);
List<Food> foods = foodDaoUtils.queryFoodByNativeSql(sql,ids);
return foods;
}
@Override
public List<Food> queryDB_AllFoodList() { public List<Food> queryDB_AllFoodList() {
FoodDaoUtils foodDaoUtils = new FoodDaoUtils(mApplication); FoodDaoUtils foodDaoUtils = new FoodDaoUtils(mApplication);
List<Food> foods = foodDaoUtils.queryAllFoodByQueryBuilder(); List<Food> foods = foodDaoUtils.queryAllFoodByQueryBuilder();
...@@ -118,6 +126,12 @@ public class SoldoutCtrlModel extends BaseModel implements SoldoutCtrlContract.M ...@@ -118,6 +126,12 @@ public class SoldoutCtrlModel extends BaseModel implements SoldoutCtrlContract.M
} }
@Override @Override
public Observable<BaseResult> batchRestoreSoldoutCtrl(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.batchRestoreSoldoutCtrl(requestBody);
}
@Override
public Observable<BaseResult> updateInvisible(RequestBody requestBody) { public Observable<BaseResult> updateInvisible(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class) return mRepositoryManager.obtainRetrofitService(MealService.class)
.updateInvisible(requestBody); .updateInvisible(requestBody);
......
...@@ -99,5 +99,50 @@ public class SoldoutRequest { ...@@ -99,5 +99,50 @@ public class SoldoutRequest {
this.deletes = deletes; this.deletes = deletes;
} }
} }
public static class batchUpdate {
private String ids;
public String getIds() {
return ids;
}
public void setIds(String ids) {
this.ids = ids;
}
}
public static class updateInvisible {
private int type;
private String[] ids;
private int invisible;
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String[] getIds() {
return ids;
}
public void setIds(String[] ids) {
this.ids = ids;
}
public int getInvisible() {
return invisible;
}
public void setInvisible(int invisible) {
this.invisible = invisible;
}
}
} }
...@@ -43,6 +43,10 @@ public interface MealService { ...@@ -43,6 +43,10 @@ public interface MealService {
@POST("foodChecklist/updatePrg" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @POST("foodChecklist/updatePrg" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> restoreSoldoutCtrl(@Body RequestBody requestBody); Observable<BaseResult> restoreSoldoutCtrl(@Body RequestBody requestBody);
@Headers({"Domain-Name: soldoutctrl"})
@POST("foodChecklist/batchUpdatePrg" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> batchRestoreSoldoutCtrl(@Body RequestBody requestBody);
@POST("food/updateInvisible" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @POST("food/updateInvisible" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> updateInvisible(@Body RequestBody requestBody); Observable<BaseResult> updateInvisible(@Body RequestBody requestBody);
......
...@@ -352,8 +352,10 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -352,8 +352,10 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
double serviceAmount = getTotalAmountFilterByType(BillOrderMoney.SERVERCHARGE_TYPE, BillOrderMoney.DISCOUNT_TYPE, BillOrderMoney.ROUNDING_TYPE) * dataBean.getServiceCharge() / 100; double serviceAmount = getTotalAmountFilterByType(BillOrderMoney.SERVERCHARGE_TYPE, BillOrderMoney.DISCOUNT_TYPE, BillOrderMoney.ROUNDING_TYPE) * dataBean.getServiceCharge() / 100;
if (serviceAmount > 0) { if (serviceAmount > 0) {
billOrderMoney.setMoney(serviceAmount); billOrderMoney.setMoney(serviceAmount);
mOrderMoneyAdapter.notifyDataSetChanged(); }else {
mOrderMoneyList.remove(billOrderMoney);
} }
mOrderMoneyAdapter.notifyDataSetChanged();
} }
} }
......
...@@ -17,6 +17,7 @@ import com.gingersoft.gsa.cloud.base.utils.JsonUtils; ...@@ -17,6 +17,7 @@ import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils; import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil; import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils; import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.constans.MealConstant;
import com.gingersoft.gsa.cloud.constans.PrintConstans; import com.gingersoft.gsa.cloud.constans.PrintConstans;
import com.gingersoft.gsa.cloud.database.bean.ComboItem; import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Discount; import com.gingersoft.gsa.cloud.database.bean.Discount;
...@@ -33,23 +34,21 @@ import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood; ...@@ -33,23 +34,21 @@ import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest; import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest; import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.DeleteOrderRequest; import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.DeleteOrderRequest;
import com.gingersoft.gsa.cloud.constans.MealConstant;
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.ui.activity.MealStandActivity; import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.DiscountAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.widget.CancelFoodDialog;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.DiscountAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodAdapter; 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.widget.CancelFoodDialog;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog; import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
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;
import com.jess.arms.utils.RxLifecycleUtils; import com.jess.arms.utils.RxLifecycleUtils;
import com.jess.arms.utils.ZipHelper;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog; import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction; import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
...@@ -75,6 +74,7 @@ import okhttp3.RequestBody; ...@@ -75,6 +74,7 @@ import okhttp3.RequestBody;
import static com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity.FOOD_GROUP_TYPE; import static com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity.FOOD_GROUP_TYPE;
import static com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity.FOOD_TYPE; import static com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity.FOOD_TYPE;
import static com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity.MODIFIER_TYPE;
/** /**
...@@ -1053,45 +1053,44 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -1053,45 +1053,44 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
updateOrderFoodNumber(); updateOrderFoodNumber();
} }
private void setComboItemSoldoutCtrData(List<ComboItem> comboItemList, List<SoldoutCtrFood> soldoutCtrFoods) { private void setComboItemSoldoutCtrData(List<ComboItem> comboItemList, List<SoldoutCtrFood> soldoutCtrFoods) {
addFoodSoldoutCtrItem(soldoutCtrFoods); addFoodSoldoutCtrItem(soldoutCtrFoods);
for (SoldoutCtrFood scc : soldoutCtrFoods) { for (SoldoutCtrFood scc : soldoutCtrFoods) {
for (ComboItem comboItem : comboItemList) { for (ComboItem comboItem : comboItemList) {
if (scc.getType() == FOOD_TYPE && scc.getFoodId() != null && comboItem.getFid() != null && comboItem.getFid().equals(scc.getFoodId())) { if (scc.getType() == FOOD_TYPE && scc.getFoodId() != null && comboItem.getFid() != null && comboItem.getFid().equals(scc.getFoodId())) {
String qtyName; String qtyName = scc.getQtyName();
if (comboItem.getInvisible() == 2) { comboItem.setMaxNumber(qtyName);
qtyName = "暫停"; comboItem.setCurrentMaxNumber(qtyName);
comboItem.setMaxNumber(qtyName);
comboItem.setCurrentMaxNumber(qtyName);
} else {
qtyName = scc.getQtyName();
comboItem.setMaxNumber(qtyName);
comboItem.setCurrentMaxNumber(qtyName);
}
} }
} }
} }
for (ComboItem comboItem : comboItemList) {
if (comboItem.getInvisible() == 2) {
String qtyName = "暫停";
comboItem.setMaxNumber(qtyName);
comboItem.setCurrentMaxNumber(qtyName);
}
}
} }
private void setModifierSoldoutCtrData(List<Modifier> modifierList, List<SoldoutCtrFood> soldoutCtrFoods) { private void setModifierSoldoutCtrData(List<Modifier> modifierList, List<SoldoutCtrFood> soldoutCtrFoods) {
addFoodSoldoutCtrItem(soldoutCtrFoods); addFoodSoldoutCtrItem(soldoutCtrFoods);
for (SoldoutCtrFood scc : soldoutCtrFoods) { for (SoldoutCtrFood scc : soldoutCtrFoods) {
for (Modifier modifier : modifierList) { for (Modifier modifier : modifierList) {
if (scc.getType() == FOOD_TYPE && scc.getFoodId() != null && modifier.getMid() != 0 && modifier.getMid() == scc.getFoodId()) { if (scc.getType() == MODIFIER_TYPE && scc.getModifierId() != null && modifier.getMid() != 0 && modifier.getMid() == scc.getModifierId()) {
String qtyName; String qtyName = scc.getQtyName();
if (modifier.getInvisible() == 2) { modifier.setMaxNumber(qtyName);
qtyName = "暫停"; modifier.setCurrentMaxNumber(qtyName);
modifier.setMaxNumber(qtyName);
modifier.setCurrentMaxNumber(qtyName);
} else {
qtyName = scc.getQtyName();
modifier.setMaxNumber(qtyName);
modifier.setCurrentMaxNumber(qtyName);
}
} }
} }
} }
for (Modifier modifier : modifierList) {
if (modifier.getInvisible() == 2) {
String qtyName = "暫停";
modifier.setMaxNumber(qtyName);
modifier.setCurrentMaxNumber(qtyName);
}
}
} }
/** /**
......
...@@ -18,11 +18,16 @@ import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail; ...@@ -18,11 +18,16 @@ 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.TableBean;
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.common.bean.mealManage.OpenTableManage; 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.gson.GsonUtils; import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.constans.GoldConstants; import com.gingersoft.gsa.cloud.constans.GoldConstants;
import com.gingersoft.gsa.cloud.constans.PrintConstans; import com.gingersoft.gsa.cloud.constans.PrintConstans;
import com.gingersoft.gsa.cloud.database.bean.Discount; import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.Function; import com.gingersoft.gsa.cloud.database.bean.Function;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils;
import com.gingersoft.gsa.cloud.function.FunctionManager; import com.gingersoft.gsa.cloud.function.FunctionManager;
import com.gingersoft.gsa.cloud.print.PrinterUtils; import com.gingersoft.gsa.cloud.print.PrinterUtils;
import com.gingersoft.gsa.cloud.table.ComponentTable; import com.gingersoft.gsa.cloud.table.ComponentTable;
...@@ -33,6 +38,7 @@ import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose; ...@@ -33,6 +38,7 @@ import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.TableDetail; import com.gingersoft.gsa.cloud.table.mvp.model.bean.TableDetail;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest; import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest; import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.SoldoutRequest;
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.ui.activity.MealStandActivity; import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity; import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity;
...@@ -102,6 +108,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -102,6 +108,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
private DiscountDialog.Builder mDiscountDialog; private DiscountDialog.Builder mDiscountDialog;
@Inject @Inject
public OrderContentPresenter(OrderContentContract.Model model, OrderContentContract.View rootView) { public OrderContentPresenter(OrderContentContract.Model model, OrderContentContract.View rootView) {
super(model, rootView); super(model, rootView);
......
package com.gingersoft.gsa.cloud.table.mvp.ui.activity; package com.gingersoft.gsa.cloud.table.mvp.ui.activity;
import android.app.Activity;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
...@@ -49,11 +50,16 @@ import com.jess.arms.di.component.AppComponent; ...@@ -49,11 +50,16 @@ import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils; import com.jess.arms.utils.ArmsUtils;
import com.qmuiteam.qmui.arch.QMUIFragmentPagerAdapter; import com.qmuiteam.qmui.arch.QMUIFragmentPagerAdapter;
import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
import com.qmuiteam.qmui.widget.tab.QMUITab; import com.qmuiteam.qmui.widget.tab.QMUITab;
import com.qmuiteam.qmui.widget.tab.QMUITabBuilder; import com.qmuiteam.qmui.widget.tab.QMUITabBuilder;
import com.qmuiteam.qmui.widget.tab.QMUITabIndicator; import com.qmuiteam.qmui.widget.tab.QMUITabIndicator;
import com.qmuiteam.qmui.widget.tab.QMUITabSegment; import com.qmuiteam.qmui.widget.tab.QMUITabSegment;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
...@@ -115,6 +121,8 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent ...@@ -115,6 +121,8 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent
@BindView(R2.id.tv_soldout) @BindView(R2.id.tv_soldout)
TextView tv_soldout; TextView tv_soldout;
@BindView(R2.id.tv_restore)
TextView tv_restore;
@BindView(R2.id.tv_return) @BindView(R2.id.tv_return)
TextView tv_return; TextView tv_return;
// @BindView(R2.id.btn_adddelete) // @BindView(R2.id.btn_adddelete)
...@@ -336,7 +344,7 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent ...@@ -336,7 +344,7 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent
} }
} }
@OnClick({R2.id.tv_return, R2.id.iv_fine_item_back, R2.id.tv_soldout}) @OnClick({R2.id.tv_restore, R2.id.tv_return, R2.id.iv_fine_item_back, R2.id.tv_soldout})
public void onClick(View v) { public void onClick(View v) {
int id = v.getId(); int id = v.getId();
if (id == R.id.tv_return) { if (id == R.id.tv_return) {
...@@ -351,11 +359,140 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent ...@@ -351,11 +359,140 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent
} else if (id == R.id.tv_soldout) { } else if (id == R.id.tv_soldout) {
showClearControlDialog(); showClearControlDialog();
} else if (id == R.id.iv_fine_item_back) { } else if (id == R.id.iv_fine_item_back) {
ll_fine_item.setVisibility(View.INVISIBLE); ll_fine_item.setVisibility(View.INVISIBLE);
recycle_food_group.setVisibility(View.VISIBLE); recycle_food_group.setVisibility(View.VISIBLE);
recycle_food.setVisibility(View.VISIBLE); recycle_food.setVisibility(View.VISIBLE);
} else if (id == R.id.tv_restore) {
List<SoldoutCtrFood> soldoutCtrFoodList = getSoldoutCtrFoodList();
if (soldoutCtrFoodList.size() == 0) {
return;
}
if (soldoutCtrFoodList.size() == 1) {
executeSingleRestore(soldoutCtrFoodList.get(0));
} else {
executeMultipleRestore(soldoutCtrFoodList);
}
}
}
private List<SoldoutCtrFood> getSoldoutCtrFoodList() {
List<SoldoutCtrFood> selectSoldoutCtrFoodList = new ArrayList<>();
List<SoldoutCtrFood> soldoutCtrFoodList = mPresenter.getCurrentSlodoutFoodList();
for (int i = 0; i < soldoutCtrFoodList.size(); i++) {
SoldoutCtrFood soldoutCtrFood = soldoutCtrFoodList.get(i);
if (soldoutCtrFood.getSelected() == 1) {
selectSoldoutCtrFoodList.add(soldoutCtrFood);
}
}
return selectSoldoutCtrFoodList;
}
private void executeSingleRestore(SoldoutCtrFood datasBean) {
if (datasBean.isStop()) {
long id;
if (datasBean.getType() == MODIFIER_TYPE) {
id = datasBean.getModifierId();
} else {
id = datasBean.getFoodId();
} //恢復暫停數量
String msg = LanguageUtils.get_language_system(this, "whether.recover", "是否恢復[") + datasBean.getFoodName() + "]";
Class[] parameterTypes = {Long.class, int.class, int.class};
Object[] parameters = {id, datasBean.getType(), 0};
CommonTipDialog.showDoubtDialog(this, msg, SoldoutCtrlPresenter.class, mPresenter, "updateInvisible", parameterTypes, parameters);
} else {
//恢復沽清數量
String msg = LanguageUtils.get_language_system(this, "whether.recover", "是否恢復[") + datasBean.getName() + "]";
Class[] parameterTypes = {long.class};
Object[] parameters = {datasBean.getId()};
CommonTipDialog.showDoubtDialog(this, msg, SoldoutCtrlPresenter.class, mPresenter, "restoreSoldoutCtrl", parameterTypes, parameters);
}
}
private void executeMultipleRestore(List<SoldoutCtrFood> selectSoldoutCtrFoodList) {
showMultipleSoldoutDialog(this, "是否恢復選中食品", selectSoldoutCtrFoodList);
}
/**
* 獲取需要恢復的暫停食品數據
*
* @return
*/
private String[] getStopSoldoutCtrFoodIds(List<SoldoutCtrFood> selectSoldoutCtrFoodList) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < selectSoldoutCtrFoodList.size(); i++) {
SoldoutCtrFood soldoutCtrFood = selectSoldoutCtrFoodList.get(i);
if (soldoutCtrFood.isStop() && soldoutCtrFood.getFoodId() != null) {
builder.append(soldoutCtrFood.getId());
builder.append(",");
}
} }
String str = builder.toString();
if (str.endsWith(",")) {
str = str.substring(0, str.length() - 1);
}
return str.split(",");
}
/**
* 獲取需要恢復的暫停食品數據
*
* @return
*/
private String[] getStopSoldoutCtrModifierIds(List<SoldoutCtrFood> selectSoldoutCtrModifierList) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < selectSoldoutCtrModifierList.size(); i++) {
SoldoutCtrFood soldoutCtrModifier = selectSoldoutCtrModifierList.get(i);
if (soldoutCtrModifier.isStop() && soldoutCtrModifier.getModifierId() != null) {
builder.append(soldoutCtrModifier.getId());
builder.append(",");
}
}
String str = builder.toString();
if (str.endsWith(",")) {
str = str.substring(0, str.length() - 1);
}
return str.split(",");
}
/**
* 獲取需要恢復的庫存數據
*
* @return
*/
private String getNumberSoldoutIds(List<SoldoutCtrFood> selectSoldoutCtrFoodList) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < selectSoldoutCtrFoodList.size(); i++) {
SoldoutCtrFood soldoutCtrFood = selectSoldoutCtrFoodList.get(i);
if (!soldoutCtrFood.isStop()) {
builder.append(soldoutCtrFood.getId());
builder.append(",");
}
}
String str = builder.toString();
if (str.endsWith(",")) {
str = str.substring(0, str.length() - 1);
}
return str;
}
private void showMultipleSoldoutDialog(Activity context, String msg, List<SoldoutCtrFood> selectSoldoutCtrFoodList) {
QMUIDialog.MessageDialogBuilder dialogBuilder = new QMUIDialog.MessageDialogBuilder(context);
dialogBuilder.setTitleIcon(com.gingersoft.gsa.cloud.base.R.drawable.qmui_icon_dialog_doubt);
dialogBuilder.setMessage(msg);
dialogBuilder.addAction(com.gingersoft.gsa.cloud.base.R.drawable.shape_3c_cancel_btn_bg, "取消", (dialog, index) -> dialog.dismiss());
dialogBuilder.addAction(com.gingersoft.gsa.cloud.base.R.drawable.shape_red_five_radius_bg, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> {
dialog.dismiss();
String[] foodIds = getStopSoldoutCtrFoodIds(selectSoldoutCtrFoodList);
String[] modifierIds = getStopSoldoutCtrModifierIds(selectSoldoutCtrFoodList);
String ids = getNumberSoldoutIds(selectSoldoutCtrFoodList);
if (!TextUtils.isEmpty(foodIds[0]) || !TextUtils.isEmpty(modifierIds[0])) {
mPresenter.batchUpdateInvisible(foodIds, modifierIds, 2);
}
if (ids.length() > 0) {
mPresenter.batchRestoreSoldoutCtrl(ids);
}
});
dialogBuilder.create(com.gingersoft.gsa.cloud.base.R.style.MyDialogTheme2).show();
} }
private void showClearControlDialog() { private void showClearControlDialog() {
...@@ -550,6 +687,17 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent ...@@ -550,6 +687,17 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent
} }
@Override @Override
public void showTvRestore(boolean show) {
// if (show) {
// tv_restore.setVisibility(View.VISIBLE);
// tv_soldout.setVisibility(View.GONE);
// } else {
// tv_restore.setVisibility(View.GONE);
// tv_soldout.setVisibility(View.VISIBLE);
// }
}
@Override
public void showViewModeVisibility(int... viewMode) { public void showViewModeVisibility(int... viewMode) {
//將所有的view隱藏 //將所有的view隱藏
for (int i = 0; i < map.size(); i++) { for (int i = 0; i < map.size(); i++) {
......
...@@ -347,6 +347,8 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen ...@@ -347,6 +347,8 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
break; break;
} }
//移除back鍵
mTopBar.removeAllLeftViews();
} }
@Override @Override
...@@ -359,9 +361,17 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen ...@@ -359,9 +361,17 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
tv_operat_hint.setText(""); tv_operat_hint.setText("");
tv_operat_content.setText(""); tv_operat_content.setText("");
mTopBar.setTitle("餐檯模式"); mTopBar.setTitle("餐檯模式");
//添加back鍵
mTopBar.addLeftBackImageButton().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
killMyself();
}
});
mPresenter.initTableParameter(); mPresenter.initTableParameter();
mPresenter.filterTableByOperatType(); mPresenter.filterTableByOperatType();
} }
@Override @Override
......
...@@ -93,6 +93,21 @@ public class CurrentSlodoutFoodAdapter extends DefaultAdapter<SoldoutCtrFood> { ...@@ -93,6 +93,21 @@ public class CurrentSlodoutFoodAdapter extends DefaultAdapter<SoldoutCtrFood> {
datasBeans.get(i).setSelected(0); datasBeans.get(i).setSelected(0);
} }
} }
// for (int i = 0; i < datasBeans.size(); i++) {
// if (i == select_position) {
//// datasBeans.get(i).setSelected(1);
// if (datasBeans.get(i).getSelected() == 1) {
// datasBeans.get(i).setSelected(0);
// } else {
// datasBeans.get(i).setSelected(1);
// }
// } else {
// if (datasBeans.get(i).getSelected() == 0) {
// datasBeans.get(i).setSelected(0);
// }
// }
// }
} }
@Override @Override
......
...@@ -154,7 +154,7 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> { ...@@ -154,7 +154,7 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> {
// tv_service_fee.setText(item.getServiceCharge() + "%"); // tv_service_fee.setText(item.getServiceCharge() + "%");
// tv_service_fee.setVisibility(View.VISIBLE); // tv_service_fee.setVisibility(View.VISIBLE);
// } else { // } else {
tv_service_fee.setVisibility(View.GONE); tv_service_fee.setVisibility(View.GONE);
// } // }
if (item.getStatus() != 0) { if (item.getStatus() != 0) {
int person = 0; int person = 0;
...@@ -172,8 +172,12 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> { ...@@ -172,8 +172,12 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> {
long[] difference = TimeUtil.getDistanceTimes2(createTime, currentTime); long[] difference = TimeUtil.getDistanceTimes2(createTime, currentTime);
if (difference[0] != 0) { if (difference[0] != 0) {
tv_open_duration.setText(difference[0] + ":" + difference[1] + ":" + difference[2]); tv_open_duration.setText(difference[0] + ":" + difference[1] + ":" + difference[2]);
} else { } else if (difference[1] != 0) {
tv_open_duration.setText(difference[1] + ":" + difference[2]); tv_open_duration.setText(difference[1] + ":" + difference[2]);
} else if (difference[2] != 0) {
tv_open_duration.setText(String.valueOf(difference[2]));
} else {
tv_open_duration.setText("");
} }
tv_open_duration.setVisibility(View.VISIBLE); tv_open_duration.setVisibility(View.VISIBLE);
} else { } else {
...@@ -217,7 +221,7 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> { ...@@ -217,7 +221,7 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> {
ll_container.setBackgroundColor(Color.parseColor("#FFFFFFFF")); ll_container.setBackgroundColor(Color.parseColor("#FFFFFFFF"));
if (item.getUseStatus() == 1) { if (item.getUseStatus() == 1) {
setBackGroundWork(item, Color.parseColor("#FFD14141"), R.color.theme_white_color,R.color.theme_black); setBackGroundWork(item, Color.parseColor("#FFD14141"), R.color.theme_white_color, R.color.theme_black);
} else { } else {
// switch (item.getStatus()) { // switch (item.getStatus()) {
// case 0: // case 0:
...@@ -243,20 +247,20 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> { ...@@ -243,20 +247,20 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> {
// } // }
switch (item.getStatus()) { switch (item.getStatus()) {
case 0: case 0:
setBackGroundWork(item, Color.parseColor("#FFFFFFFF"), R.color.black,R.color.theme_black); setBackGroundWork(item, Color.parseColor("#FFFFFFFF"), R.color.black, R.color.theme_black);
break; break;
case 1: case 1:
// setBackGroundWork(item, "2", R.drawable.table_shape_table_send, R.drawable.tablebutton_glassgreen_new, R.color.theme_white_color); break; // setBackGroundWork(item, "2", R.drawable.table_shape_table_send, R.drawable.tablebutton_glassgreen_new, R.color.theme_white_color); break;
case 2: case 2:
setBackGroundWork(item, Color.parseColor("#FF249B65"), R.color.theme_white_color,R.color.theme_white_color); setBackGroundWork(item, Color.parseColor("#FF249B65"), R.color.theme_white_color, R.color.theme_white_color);
break; break;
case 3: case 3:
setBackGroundWork(item, Color.parseColor("#FFE5AC00"), R.color.theme_white_color,R.color.theme_white_color); setBackGroundWork(item, Color.parseColor("#FFE5AC00"), R.color.theme_white_color, R.color.theme_white_color);
break; break;
case 4: case 4:
case 5: case 5:
case 6: case 6:
setBackGroundWork(item, ContextCompat.getColor(mContext, R.color.Violet), R.color.theme_white_color,R.color.theme_white_color); setBackGroundWork(item, ContextCompat.getColor(mContext, R.color.Violet), R.color.theme_white_color, R.color.theme_white_color);
break; break;
} }
} }
...@@ -306,7 +310,7 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> { ...@@ -306,7 +310,7 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> {
//// btn_showMain.setTextColor(mContext.getResources().getColor(defaultFontColor)); //// btn_showMain.setTextColor(mContext.getResources().getColor(defaultFontColor));
// } // }
private void setBackGroundWork(TableBean.DataBean item, int defaultMainback, int defaultFontColor,int serviceFeeFontColor) { private void setBackGroundWork(TableBean.DataBean item, int defaultMainback, int defaultFontColor, int serviceFeeFontColor) {
if (defaultMainback != -1) { if (defaultMainback != -1) {
ll_container.setBackgroundColor(defaultMainback); ll_container.setBackgroundColor(defaultMainback);
} }
......
...@@ -164,6 +164,20 @@ ...@@ -164,6 +164,20 @@
android:textSize="@dimen/sp_20" /> android:textSize="@dimen/sp_20" />
<com.qmuiteam.qmui.alpha.QMUIAlphaTextView <com.qmuiteam.qmui.alpha.QMUIAlphaTextView
android:id="@+id/tv_restore"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_weight="1"
android:background="@color/theme_color"
android:gravity="center"
android:text="恢復 "
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/theme_white_color"
android:textSize="@dimen/sp_20"
android:visibility="gone"/>
<com.qmuiteam.qmui.alpha.QMUIAlphaTextView
android:id="@+id/tv_return" android:id="@+id/tv_return"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
......
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