Commit 183a3d74 by 宁斌

1、相同食品主食品數量合併

parent 67a1c0bc
...@@ -22,6 +22,7 @@ import com.elvishew.xlog.printer.file.clean.FileLastModifiedCleanStrategy; ...@@ -22,6 +22,7 @@ import com.elvishew.xlog.printer.file.clean.FileLastModifiedCleanStrategy;
import com.elvishew.xlog.printer.file.naming.DateFileNameGenerator; import com.elvishew.xlog.printer.file.naming.DateFileNameGenerator;
import com.gingersoft.gsa.cloud.base.BuildConfig; import com.gingersoft.gsa.cloud.base.BuildConfig;
import com.gingersoft.gsa.cloud.base.R; import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.common.bean.RestaurantExpandInfo;
import com.gingersoft.gsa.cloud.base.utils.AidlUtil; import com.gingersoft.gsa.cloud.base.utils.AidlUtil;
import com.gingersoft.gsa.cloud.base.utils.crash.AppCrashHandler; import com.gingersoft.gsa.cloud.base.utils.crash.AppCrashHandler;
import com.gingersoft.gsa.cloud.base.utils.file.FileUtils; import com.gingersoft.gsa.cloud.base.utils.file.FileUtils;
...@@ -58,6 +59,10 @@ public class GsaCloudApplication extends BaseApplication { ...@@ -58,6 +59,10 @@ public class GsaCloudApplication extends BaseApplication {
private static GsaCloudApplication mAppContext; private static GsaCloudApplication mAppContext;
private Activity mCurrentActivity; private Activity mCurrentActivity;
/**餐廳擴展信息*/
public static RestaurantExpandInfo restaurantExpandInfo;
public static FunctionStyleUtils androidSetting;
/**是否開啟皮膚切換*/ /**是否開啟皮膚切換*/
public static boolean openSkinMake = false; public static boolean openSkinMake = false;
/** /**
...@@ -66,7 +71,6 @@ public class GsaCloudApplication extends BaseApplication { ...@@ -66,7 +71,6 @@ public class GsaCloudApplication extends BaseApplication {
public static int REQUEST_TIMEOUT = 15; public static int REQUEST_TIMEOUT = 15;
public static boolean isLogin = false; public static boolean isLogin = false;
public static FunctionStyleUtils androidSetting;
public static String userName = ""; public static String userName = "";
/** /**
* 商米:V2、V2_PRO N5:N5 * 商米:V2、V2_PRO N5:N5
......
...@@ -23,6 +23,7 @@ public class OrderPayRequest { ...@@ -23,6 +23,7 @@ public class OrderPayRequest {
private long orderId; private long orderId;
private int linePayType; private int linePayType;
private int orderPayType; private int orderPayType;
private String tableNumber;
private List<orderPay> orderPays = new ArrayList<>(); private List<orderPay> orderPays = new ArrayList<>();
@Data @Data
......
package com.gingersoft.gsa.cloud.base.common.bean;
import lombok.Data;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-07-28
* 修订历史:2020-07-28
* 描述:
*/
@Data
public class RestaurantExpandInfo {
}
package com.gingersoft.gsa.cloud.base.common.bean; package com.gingersoft.gsa.cloud.base.common.bean;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil; import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.database.bean.ExpandInfo; import com.gingersoft.gsa.cloud.database.bean.ExpandInfo;
...@@ -17,9 +18,10 @@ public class RestaurantExpandInfoUtils { ...@@ -17,9 +18,10 @@ public class RestaurantExpandInfoUtils {
/** /**
* 保存常用信息 * 保存常用信息
*
* @param expandInfoList * @param expandInfoList
*/ */
public static void setCommonExpandInfo(List<ExpandInfo> expandInfoList){ public static void setCommonExpandInfo(List<ExpandInfo> expandInfoList) {
for (ExpandInfo expandInfo : expandInfoList) { for (ExpandInfo expandInfo : expandInfoList) {
if (expandInfo.getSettingName().equals("Rounding")) { if (expandInfo.getSettingName().equals("Rounding")) {
MoneyUtil.rounding = expandInfo.getValueInt(); MoneyUtil.rounding = expandInfo.getValueInt();
...@@ -30,10 +32,12 @@ public class RestaurantExpandInfoUtils { ...@@ -30,10 +32,12 @@ public class RestaurantExpandInfoUtils {
if (expandInfo.getSettingName().equals("ItemDecimals")) { if (expandInfo.getSettingName().equals("ItemDecimals")) {
MoneyUtil.ItemDecimals = expandInfo.getValueInt(); MoneyUtil.ItemDecimals = expandInfo.getValueInt();
} }
if (expandInfo.getSettingName().equals("MergeSendFood")) {
GsaCloudApplication.androidSetting.setMergeSendFood(Boolean.parseBoolean(expandInfo.getValueChar()));
}
} }
} }
} }
...@@ -2,6 +2,8 @@ package com.gingersoft.gsa.cloud.base.common.bean; ...@@ -2,6 +2,8 @@ package com.gingersoft.gsa.cloud.base.common.bean;
import java.util.List; import java.util.List;
import lombok.Data;
/** /**
* 作者:ELEGANT_BIN * 作者:ELEGANT_BIN
* 版本:1.6.0 * 版本:1.6.0
...@@ -55,6 +57,7 @@ public class TableBean { ...@@ -55,6 +57,7 @@ public class TableBean {
this.data = data; this.data = data;
} }
@Data
public static class DataBean { public static class DataBean {
/** /**
* id : 25839 * id : 25839
...@@ -77,15 +80,19 @@ public class TableBean { ...@@ -77,15 +80,19 @@ public class TableBean {
* maxSeatCount : 8 * maxSeatCount : 8
*/ */
private int id; private long id;
private String tableName; private String tableName;
private int restaurantId; private int restaurantId;
private Long orderId; private Long orderId;
private String qrCode; private String qrCode;
private int seatCount; private int seatCount;
/**最大就餐人數*/ /**
* 最大就餐人數
*/
private Integer maxSeatCount; private Integer maxSeatCount;
/**最小就餐人數*/ /**
* 最小就餐人數
*/
private Integer minSeatCount; private Integer minSeatCount;
private String createTime; private String createTime;
private String createBy; private String createBy;
...@@ -98,6 +105,7 @@ public class TableBean { ...@@ -98,6 +105,7 @@ public class TableBean {
* 已開檯 1 * 已開檯 1
* 已送單 2 * 已送單 2
* 已印单 3 * 已印单 3
* 已分檯 4
*/ */
private int status; private int status;
/** /**
...@@ -106,8 +114,8 @@ public class TableBean { ...@@ -106,8 +114,8 @@ public class TableBean {
private int person; private int person;
/** /**
* 使用狀態: * 使用狀態:
* 未使用 0 * 未使用 0
* 已使用 1 * 已使用 1
*/ */
private int useStatus; private int useStatus;
/** /**
...@@ -115,12 +123,17 @@ public class TableBean { ...@@ -115,12 +123,17 @@ public class TableBean {
*/ */
private int sort; private int sort;
/** /**
0#堂食 * 0#堂食
1#外賣 * 1#外賣
2#自取 * 2#自取
*/ */
private int type; private int type;
/**
* 分檯编号
*/
private String tableNumber;
public DataBean() { public DataBean() {
} }
...@@ -145,158 +158,23 @@ public class TableBean { ...@@ -145,158 +158,23 @@ public class TableBean {
this.useStatus = dataBean.useStatus; this.useStatus = dataBean.useStatus;
this.sort = dataBean.sort; this.sort = dataBean.sort;
this.type = dataBean.type; this.type = dataBean.type;
this.tableNumber = dataBean.tableNumber;
} }
public int getPerson() { }
return person;
}
public void setPerson(int person) {
this.person = person;
}
public int getUseStatus() {
return useStatus;
}
public void setUseStatus(int useStatus) {
this.useStatus = useStatus;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
public Long getOrderId() {
return orderId;
}
public void setOrderId(Long orderId) {
this.orderId = orderId;
}
public int getRestaurantId() {
return restaurantId;
}
public void setRestaurantId(int restaurantId) {
this.restaurantId = restaurantId;
}
public String getQrCode() {
return qrCode;
}
public void setQrCode(String qrCode) {
this.qrCode = qrCode;
}
public int getSeatCount() {
return seatCount;
}
public void setSeatCount(int seatCount) {
this.seatCount = seatCount;
}
public Integer getMaxSeatCount() {
return maxSeatCount;
}
public void setMaxSeatCount(Integer maxSeatCount) {
this.maxSeatCount = maxSeatCount;
}
public Integer getMinSeatCount() {
return minSeatCount;
}
public void setMinSeatCount(Integer minSeatCount) {
this.minSeatCount = minSeatCount;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public String getQrCodeImg() {
return qrCodeImg;
}
public void setQrCodeImg(String qrCodeImg) {
this.qrCodeImg = qrCodeImg;
}
public int getPosTableId() {
return posTableId;
}
public void setPosTableId(int posTableId) {
this.posTableId = posTableId;
}
public long getServiceCharge() {
return serviceCharge;
}
public void setServiceCharge(long serviceCharge) {
this.serviceCharge = serviceCharge;
}
public long getMemberId() {
return memberId;
}
public void setMemberId(long memberId) {
this.memberId = memberId;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public int getSort() {
return sort;
}
public void setSort(int sort) {
this.sort = sort;
}
public int getType() {
return type;
}
public void setType(int type) { public static TableBean.DataBean splitTableTransformTable(TableBean.DataBean mainTable, TableExtBean.DataBean dataBean) {
this.type = type; TableBean.DataBean tableBean = new TableBean.DataBean();
} tableBean.setId(dataBean.getId());
tableBean.setTableName(mainTable.getTableName() + "-" + dataBean.getTableNumber());
tableBean.setOrderId(dataBean.getOrderId());
// tableBean.setRestaurantId();
// tableBean.setQrCode();
// tableBean.setQrCodeImg();
// tableBean.setSeatCount();
// tableBean.setMaxSeatCount();
tableBean.setStatus(dataBean.getTableStatus());
tableBean.setUseStatus(dataBean.getInUse());
return tableBean;
} }
} }
package com.gingersoft.gsa.cloud.base.common.bean;
import java.util.List;
import lombok.Data;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-07-29
* 修订历史:2020-07-29
* 描述:
*/
@Data
public class TableExtBean {
private TableBean.DataBean restaurantTable;
private List<DataBean> restaurantTableExtList;
@Data
public static class DataBean{
private long id;
private long tableId;
private long orderId;
private int inUse;
private int tableStatus;
private long updateTime;
private long createTime;
private String deviceName;
private String tableNumber;
}
}
package com.gingersoft.gsa.cloud.ui.widget.dialog;
import android.app.Dialog;
import android.content.Context;
import android.net.ParseException;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.google.gson.JsonIOException;
import com.google.gson.JsonParseException;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.DeviceUtils;
import com.qmuiteam.qmui.layout.QMUILinearLayout;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import com.qmuiteam.qmui.widget.QMUIEmptyView;
import com.qmuiteam.qmui.widget.QMUITopBar;
import org.json.JSONException;
import java.net.SocketTimeoutException;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-07-29
* 修订历史:2020-07-29
* 描述:
*/
public abstract class BaseRetryDialog extends Dialog {
private static final String TAG = "BaseRetryDialog";
private Context mContext;
public BaseRetryDialog(@NonNull Context context) {
super(context, R.style.MyDialogTheme2);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = getContext();
setCanceledOnTouchOutside(true);
}
@Override
public void show() {
super.show();
}
@Override
public void dismiss() {
super.dismiss();
}
protected void showEmptyView(boolean isSuccess, int size, Throwable t, QMUIEmptyView emptyView, RecyclerView recyclerView) {
if (t != null) {
if (t instanceof UnknownHostException) {
//沒有網絡
emptyView.show(false, mContext.getResources().getString(R.string.emptyView_mode_desc_fail_title), mContext.getResources().getString(R.string.emptyView_mode_desc_fail_desc), mContext.getResources().getString(R.string.emptyView_mode_desc_retry), onRetryClickListener);
} else if (t instanceof SocketTimeoutException) {
//請求超時
emptyView.show(false, mContext.getResources().getString(R.string.emptyView_mode_desc_fail_title), mContext.getResources().getString(R.string.emptyView_mode_desc_fail_desc), mContext.getResources().getString(R.string.emptyView_mode_desc_retry), onRetryClickListener);
} else if (t instanceof JsonParseException || t instanceof ParseException || t instanceof JSONException || t instanceof JsonIOException) {
//數據解析錯誤
emptyView.show(false, mContext.getResources().getString(R.string.response_error_data_parsing_error), null, mContext.getResources().getString(R.string.emptyView_mode_desc_retry), onRetryClickListener);
} else {
//其他error
emptyView.show(false, mContext.getResources().getString(R.string.emptyView_mode_desc_fail_title), null, mContext.getResources().getString(R.string.emptyView_mode_desc_retry), onRetryClickListener);
}
recyclerView.setVisibility(View.INVISIBLE);
return;
}
if (!isSuccess) {
emptyView.show(false, mContext.getResources().getString(R.string.emptyView_mode_desc_fail_title), null, mContext.getResources().getString(R.string.emptyView_mode_desc_retry), onRetryClickListener);
recyclerView.setVisibility(View.INVISIBLE);
return;
}
if (size == 0) {
emptyView.show(mContext.getResources().getString(R.string.emptyView_mode_desc_double), null);
recyclerView.setVisibility(View.INVISIBLE);
return;
}
emptyView.hide();
recyclerView.setVisibility(View.VISIBLE);
return;
}
private View.OnClickListener onRetryClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
//重新加載
if (onRetryListener != null) {
onRetryListener.onRetryClick();
}
}
};
private OnRetryListener onRetryListener;
public void setOnRetryListener(OnRetryListener onRetryListener) {
this.onRetryListener = onRetryListener;
}
public interface OnRetryListener {
void onRetryClick();
}
}
...@@ -471,6 +471,10 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements ...@@ -471,6 +471,10 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements
showMessage("請輸入餐檯名稱"); showMessage("請輸入餐檯名稱");
return false; return false;
} }
if (Integer.parseInt(peopleMixNumberEditText.getText().toString()) > Integer.parseInt(peopleMaxNumberEditText.getText().toString())) {
showMessage("最少人数不能大于最小人数!");
return false;
}
// if (TextUtils.isEmpty(defalutPeopleNumberEditText.getText().toString())) { // if (TextUtils.isEmpty(defalutPeopleNumberEditText.getText().toString())) {
// showMessage("請輸入就餐人數"); // showMessage("請輸入就餐人數");
// return false; // return false;
......
...@@ -270,7 +270,8 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen ...@@ -270,7 +270,8 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
} else { } else {
if (isRadioEdit) { if (isRadioEdit) {
item.setChecked(!item.isChecked()); item.setChecked(!item.isChecked());
mAdapter.notifyDataSetChanged(); mAdapter.notifyItemChanged(position);
// mAdapter.notifyDataSetChanged();
} else { } else {
if (item.getStatus() == 0) { if (item.getStatus() == 0) {
start(AddTableFragment.newInstance(item)); start(AddTableFragment.newInstance(item));
......
...@@ -35,6 +35,8 @@ public interface TableContract { ...@@ -35,6 +35,8 @@ public interface TableContract {
void returnTableList(List<TableBean.DataBean> dataBeanList); void returnTableList(List<TableBean.DataBean> dataBeanList);
void returnSplitTableList(List<TableBean.DataBean> dataBeanList);
AllTableFragment getCurrentTableFragment(); AllTableFragment getCurrentTableFragment();
void clickTableItem(TableBean.DataBean dataBean); void clickTableItem(TableBean.DataBean dataBean);
...@@ -68,7 +70,7 @@ public interface TableContract { ...@@ -68,7 +70,7 @@ public interface TableContract {
Observable<TableBean> getTables(int restaurantId); Observable<TableBean> getTables(int restaurantId);
Observable<TableDetail> getTable(int tableId); Observable<TableDetail> getTable(long tableId);
Observable<BaseRespose> getOrderById(long orderId); Observable<BaseRespose> getOrderById(long orderId);
...@@ -77,5 +79,9 @@ public interface TableContract { ...@@ -77,5 +79,9 @@ public interface TableContract {
Observable<BaseRespose> turnTable(RequestBody requestBody); Observable<BaseRespose> turnTable(RequestBody requestBody);
Observable<BaseRespose> initTable(RequestBody requestBody); Observable<BaseRespose> initTable(RequestBody requestBody);
Observable<BaseResult> getSplitTables(long tableId);
Observable<BaseResult> splitTable(long tableId);
} }
} }
...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.table.mvp.model; ...@@ -2,6 +2,7 @@ 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.database.bean.ComboItem; import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Modifier; import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils; import com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils;
...@@ -71,7 +72,7 @@ public class TableModel extends BaseModel implements TableContract.Model { ...@@ -71,7 +72,7 @@ public class TableModel extends BaseModel implements TableContract.Model {
} }
@Override @Override
public Observable<TableDetail> getTable(int tableId) { public Observable<TableDetail> getTable(long tableId) {
return mRepositoryManager.obtainRetrofitService(TableService.class) return mRepositoryManager.obtainRetrofitService(TableService.class)
.getTable(tableId); .getTable(tableId);
} }
...@@ -100,5 +101,17 @@ public class TableModel extends BaseModel implements TableContract.Model { ...@@ -100,5 +101,17 @@ public class TableModel extends BaseModel implements TableContract.Model {
.initTable(requestBody); .initTable(requestBody);
} }
@Override
public Observable<BaseResult> getSplitTables(long tableId) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.getSplitTables(tableId);
}
@Override
public Observable<BaseResult> splitTable(long tableId) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.splitTable(tableId);
}
} }
\ No newline at end of file
package com.gingersoft.gsa.cloud.table.mvp.model.bean;
import lombok.Data;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-07-29
* 修订历史:2020-07-29
* 描述:
*/
@Data
public class SplitTableNumber {
/**
* id : 1
* tableNumber : A
*/
private int id;
private String tableNumber;
}
...@@ -5,6 +5,8 @@ import com.gingersoft.gsa.cloud.base.common.bean.OrderBean; ...@@ -5,6 +5,8 @@ import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import lombok.Data;
/** /**
* 作者:ELEGANT_BIN * 作者:ELEGANT_BIN
* 版本:1.6.0 * 版本:1.6.0
...@@ -12,65 +14,17 @@ import java.util.Map; ...@@ -12,65 +14,17 @@ import java.util.Map;
* 修订历史:2020-01-06 * 修订历史:2020-01-06
* 描述: * 描述:
*/ */
@Data
public class AddOrderRequest { public class AddOrderRequest {
private long orderId; private long orderId;
private int tableId; private long tableId;
private String tableNumber;
/**賬單小數*/ /**賬單小數*/
private Double rounding; private Double rounding;
/**整單折扣ID*/ /**整單折扣ID*/
private Long discountId; private Long discountId;
private Map<String, List<OrderBean.OrderDetailsBean>> maps; private Map<String, List<OrderBean.OrderDetailsBean>> maps;
public long getOrderId() {
return orderId;
}
public void setOrderId(long orderId) {
this.orderId = orderId;
}
public int getTableId() {
return tableId;
}
public void setTableId(int tableId) {
this.tableId = tableId;
}
public Double getRounding() {
return rounding;
}
public void setRounding(Double rounding) {
this.rounding = rounding;
}
public Long getDiscountId() {
return discountId;
}
public void setDiscountId(Long discountId) {
this.discountId = discountId;
}
public Map<String, List<OrderBean.OrderDetailsBean>> getMaps() {
return maps;
}
public void setMaps(Map<String, List<OrderBean.OrderDetailsBean>> maps) {
this.maps = maps;
}
@Override
public String toString() {
return "AddOrderRequest{" +
"orderId=" + orderId +
", rounding=" + rounding +
", discountId=" + discountId +
", maps=" + maps +
'}';
}
} }
...@@ -5,6 +5,8 @@ import com.gingersoft.gsa.cloud.base.common.bean.OrderBean; ...@@ -5,6 +5,8 @@ import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import lombok.Data;
/** /**
* 作者:ELEGANT_BIN * 作者:ELEGANT_BIN
* 版本:1.6.0 * 版本:1.6.0
...@@ -12,11 +14,12 @@ import java.util.Map; ...@@ -12,11 +14,12 @@ import java.util.Map;
* 修订历史:2020-01-06 * 修订历史:2020-01-06
* 描述: * 描述:
*/ */
@Data
public class CreateOrderRequest { public class CreateOrderRequest {
private int person; private int person;
private int tableId; private long tableId;
private String tableNumber;
private String tableName; private String tableName;
private int restaurantId; private int restaurantId;
/**賬單小數*/ /**賬單小數*/
...@@ -25,62 +28,6 @@ public class CreateOrderRequest { ...@@ -25,62 +28,6 @@ public class CreateOrderRequest {
private Long discountId; private Long discountId;
private Map<Long, List<OrderBean.OrderDetailsBean>> orderDetails; private Map<Long, List<OrderBean.OrderDetailsBean>> orderDetails;
public int getPerson() {
return person;
}
public void setPerson(int person) {
this.person = person;
}
public int getTableId() {
return tableId;
}
public void setTableId(int tableId) {
this.tableId = tableId;
}
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
public int getRestaurantId() {
return restaurantId;
}
public void setRestaurantId(int restaurantId) {
this.restaurantId = restaurantId;
}
public Double getRounding() {
return rounding;
}
public void setRounding(Double rounding) {
this.rounding = rounding;
}
public Long getDiscountId() {
return discountId;
}
public void setDiscountId(Long discountId) {
this.discountId = discountId;
}
public Map<Long, List<OrderBean.OrderDetailsBean>> getOrderDetails() {
return orderDetails;
}
public void setOrderDetails(Map<Long, List<OrderBean.OrderDetailsBean>> orderDetails) {
this.orderDetails = orderDetails;
}
// public static class Request { // public static class Request {
// private long productId; // private long productId;
...@@ -152,18 +99,5 @@ public class CreateOrderRequest { ...@@ -152,18 +99,5 @@ public class CreateOrderRequest {
// } // }
// } // }
@Override
public String toString() {
return "CreateOrderRequest{" +
"person=" + person +
", tableId=" + tableId +
", tableName='" + tableName + '\'' +
", restaurantId=" + restaurantId +
", rounding=" + rounding +
", discountId=" + discountId +
", orderDetails=" + orderDetails +
'}';
}
} }
...@@ -18,7 +18,7 @@ public class DeleteOrderRequest { ...@@ -18,7 +18,7 @@ public class DeleteOrderRequest {
private List<Map<Byte, DeleteOrderRequest.DeleteBean>> mapsDelete; private List<Map<Byte, DeleteOrderRequest.DeleteBean>> mapsDelete;
private long orderId ; private long orderId ;
private int tableId; private long tableId;
private byte type; private byte type;
private long reasonId; private long reasonId;
...@@ -38,11 +38,11 @@ public class DeleteOrderRequest { ...@@ -38,11 +38,11 @@ public class DeleteOrderRequest {
this.orderId = orderId; this.orderId = orderId;
} }
public int getTableId() { public long getTableId() {
return tableId; return tableId;
} }
public void setTableId(int tableId) { public void setTableId(long tableId) {
this.tableId = tableId; this.tableId = tableId;
} }
......
...@@ -26,7 +26,7 @@ public interface TableService { ...@@ -26,7 +26,7 @@ public interface TableService {
Observable<TableBean> getTables(@Query("restaurantId") int restaurantId); Observable<TableBean> getTables(@Query("restaurantId") int restaurantId);
@GET("restaurantTable/get" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @GET("restaurantTable/get" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<TableDetail> getTable(@Query("id") int table); Observable<TableDetail> getTable(@Query("id") long table);
@POST("restaurantTable/kickOff" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @POST("restaurantTable/kickOff" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseRespose> openTable(@Body RequestBody requestBody); Observable<BaseRespose> openTable(@Body RequestBody requestBody);
...@@ -36,4 +36,10 @@ public interface TableService { ...@@ -36,4 +36,10 @@ public interface TableService {
@POST("restaurantTable/set/status" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @POST("restaurantTable/set/status" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseRespose> initTable(@Body RequestBody requestBody); Observable<BaseRespose> initTable(@Body RequestBody requestBody);
@GET("restaurantTable/getSplitTableAvailable" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> getSplitTables(@Query("tableId") long tableId);
@GET("restaurantTable/getSplitTable" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> splitTable(@Query("tableId") long tableId);
} }
...@@ -324,7 +324,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -324,7 +324,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
/** /**
* 添加會員項 * 添加會員項
*/ */
private void addOrderMember(){ private void addOrderMember() {
} }
...@@ -729,9 +729,16 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -729,9 +729,16 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
} }
protected CreateOrderRequest getCreateOrderRequest(List<OrderDetail> foodList) { protected CreateOrderRequest getCreateOrderRequest(List<OrderDetail> foodList) {
List<OrderDetail> newFoodList = new ArrayList<>();
newFoodList.addAll(foodList);
if (GsaCloudApplication.androidSetting.isMergeSendFood()) {
//合并未送单主食品
mergeMainFoodNumber(newFoodList);
}
int restaurantId = GsaCloudApplication.getRestaurantId(mApplication); int restaurantId = GsaCloudApplication.getRestaurantId(mApplication);
CreateOrderRequest request = new CreateOrderRequest(); CreateOrderRequest request = new CreateOrderRequest();
request.setOrderDetails(orderDetailBeanToFoodRequest(foodList)); request.setOrderDetails(orderDetailBeanToFoodRequest(newFoodList));
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.setTableName(OpenTableManage.getDefault().getTableBean().getTableName());
...@@ -745,8 +752,15 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -745,8 +752,15 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
} }
protected AddOrderRequest getAddOrderRequest(List<OrderDetail> foodList) { protected AddOrderRequest getAddOrderRequest(List<OrderDetail> foodList) {
List<OrderDetail> newFoodList = new ArrayList<>();
newFoodList.addAll(foodList);
if (GsaCloudApplication.androidSetting.isMergeSendFood()) {
//合并未送单主食品
mergeMainFoodNumber(newFoodList);
}
AddOrderRequest request = new AddOrderRequest(); AddOrderRequest request = new AddOrderRequest();
request.setMaps(orderDetailBeanToAddFoodRequest(foodList)); request.setMaps(orderDetailBeanToAddFoodRequest(newFoodList));
request.setOrderId(MyOrderManage.getInstance().getOrderId()); request.setOrderId(MyOrderManage.getInstance().getOrderId());
request.setTableId(OpenTableManage.getDefault().getTableBean().getId()); request.setTableId(OpenTableManage.getDefault().getTableBean().getId());
Double rounding = getRounding(); Double rounding = getRounding();
...@@ -758,6 +772,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -758,6 +772,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
return request; return request;
} }
protected Map<Long, List<OrderBean.OrderDetailsBean>> orderDetailBeanToFoodRequest(List<OrderDetail> foodList) { protected Map<Long, List<OrderBean.OrderDetailsBean>> orderDetailBeanToFoodRequest(List<OrderDetail> foodList) {
Map<Long, List<OrderBean.OrderDetailsBean>> orderDetails = new HashMap<>(); Map<Long, List<OrderBean.OrderDetailsBean>> orderDetails = new HashMap<>();
if (foodList != null) { if (foodList != null) {
...@@ -906,6 +921,54 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -906,6 +921,54 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
} }
/** /**
* 合并新下单主食品数量
*
* @param foodList
*/
private void mergeMainFoodNumber(List<OrderDetail> foodList) {
for (int i = 0; i < foodList.size(); i++) {
OrderDetail orderFood = foodList.get(i);
if (!orderFood.isNew() || orderFood.getItemType() != 1)
continue;
if (hasChildFood(foodList, orderFood))
continue;
//合并总数量
int mergeNum = orderFood.getNumber();
for (int j = i; j < foodList.size(); j++) {
if (!orderFood.isNew() || i == j)
continue;
OrderDetail mergeFood = foodList.get(j);
boolean canMerge = mergeFood.getItemType() == 1 && mergeFood.getProductId() == orderFood.getProductId() && !hasChildFood(foodList, mergeFood);
if (canMerge) {
//合并数量
mergeNum += mergeFood.getNumber();
//移除已合并的食品
foodList.remove(j);
}
}
orderFood.setNumber(mergeNum);
}
}
/**
* 是否包含子项
*
* @param orderDetailList
* @param orderDetail
* @return
*/
private boolean hasChildFood(List<OrderDetail> orderDetailList, OrderDetail orderDetail) {
if (orderDetail.getItemType() == 3)
return false;
for (int i = 0; i < orderDetailList.size(); i++) {
if (orderDetailList.get(i).getParentIndex() == orderDetail.getMyIndex()) {
return true;
}
}
return false;
}
/**
* 根據主食品ID獲取對應折扣ID * 根據主食品ID獲取對應折扣ID
* *
* @param orderItems * @param orderItems
......
...@@ -385,7 +385,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -385,7 +385,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
// }); // });
} }
public void printOrder(int tableId, boolean isSend) { public void printOrder(long tableId, boolean isSend) {
RequestBody requestBody = new FormBody.Builder() RequestBody requestBody = new FormBody.Builder()
.add("tableId", tableId + "") .add("tableId", tableId + "")
.build(); .build();
...@@ -530,7 +530,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -530,7 +530,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
}); });
} }
public void getTable(int tableId, TextView tv_table_name) { public void getTable(long tableId, TextView tv_table_name) {
mModel.getTable(tableId) mModel.getTable(tableId)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null)) .doOnSubscribe(disposable -> mRootView.showLoading(null))
......
...@@ -345,7 +345,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -345,7 +345,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
private void initOrderDetail() { private void initOrderDetail() {
TableBean.DataBean dataBean = OpenTableManage.getDefault().getTableBean(); TableBean.DataBean dataBean = OpenTableManage.getDefault().getTableBean();
if (dataBean != null) { if (dataBean != null) {
btn_table.setText(dataBean.getTableName()); if (TextUtils.isEmpty(dataBean.getTableNumber())) {
btn_table.setText(dataBean.getTableName());
} else {
btn_table.setText(dataBean.getTableName());
}
btn_numberman.setText("人數:" + OpenTableManage.getDefault().getPeopleNumber() + ""); btn_numberman.setText("人數:" + OpenTableManage.getDefault().getPeopleNumber() + "");
} }
} }
...@@ -676,6 +680,10 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -676,6 +680,10 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
if (mPresenter.getSelectMealAdapter().getSelectedMode() == SelectMealAdapter.MULTIPLE_SELECTED) if (mPresenter.getSelectMealAdapter().getSelectedMode() == SelectMealAdapter.MULTIPLE_SELECTED)
return; return;
mPresenter.deleteFoodItem(1); mPresenter.deleteFoodItem(1);
showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode);
SPUtils.put(this, MealConstant.EXIT_IS_PLU_MODE, false);
setPluMode();
} else if (id == R.id.btn_send_order) { } else if (id == R.id.btn_send_order) {
mPresenter.sendOrder(false); mPresenter.sendOrder(false);
} else if (id == R.id.fl_order_content) { } else if (id == R.id.fl_order_content) {
......
...@@ -9,6 +9,7 @@ import android.widget.ImageView; ...@@ -9,6 +9,7 @@ import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.SimpleAdapter; import android.widget.SimpleAdapter;
import android.widget.TextView; 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.common.bean.mealManage.OpenTableManage; import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
...@@ -22,6 +23,8 @@ import com.gingersoft.gsa.cloud.base.common.bean.TableBean; ...@@ -22,6 +23,8 @@ import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.table.mvp.presenter.OrderContentPresenter; import com.gingersoft.gsa.cloud.table.mvp.presenter.OrderContentPresenter;
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.widget.SplitTableDialog;
import com.gingersoft.gsa.cloud.ui.widget.dialog.BaseRetryDialog;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog; import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
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;
...@@ -118,6 +121,10 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen ...@@ -118,6 +121,10 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
private String[] mTabTitles = {"編號", "全部", "狀態:全部"}; private String[] mTabTitles = {"編號", "全部", "狀態:全部"};
/** /**
* 分檯弹窗
*/
private SplitTableDialog mSplitTableDialog;
/**
* 切換餐檯狀態下拉框 * 切換餐檯狀態下拉框
*/ */
private QMUIPopup mTableStatusPopup; private QMUIPopup mTableStatusPopup;
...@@ -265,6 +272,11 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen ...@@ -265,6 +272,11 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
} }
@Override @Override
public void returnSplitTableList(List<TableBean.DataBean> dataBeanList) {
}
@Override
public AllTableFragment getCurrentTableFragment() { public AllTableFragment getCurrentTableFragment() {
switch (mCurrentPageIndex) { switch (mCurrentPageIndex) {
case FUNCTION_STATE_TABLE: case FUNCTION_STATE_TABLE:
...@@ -280,7 +292,8 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen ...@@ -280,7 +292,8 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
return; return;
switch (mPresenter.getCurrentChooseOperatType()) { switch (mPresenter.getCurrentChooseOperatType()) {
case TableOperatTypeConstant.splite_table_1: case TableOperatTypeConstant.splite_table_1:
setOperatContentText(dataBean.getTableName());
mPresenter.splitTable(dataBean.getId());
break; break;
case TableOperatTypeConstant.print_parper_2: case TableOperatTypeConstant.print_parper_2:
setOperatContentText(dataBean.getTableName()); setOperatContentText(dataBean.getTableName());
...@@ -291,7 +304,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen ...@@ -291,7 +304,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
mPresenter.showOperatTipDialog(dataBean); mPresenter.showOperatTipDialog(dataBean);
break; break;
case TableOperatTypeConstant.move_table_4: case TableOperatTypeConstant.move_table_4:
if(mPresenter.getOriginalTableId() == dataBean.getId()){ if (mPresenter.getOriginalTableId() == dataBean.getId()) {
CommonTipDialog.showCancelDialog(this, "相同檯不能转檯", OrderContentPresenter.class, mPresenter, "", null, null); CommonTipDialog.showCancelDialog(this, "相同檯不能转檯", OrderContentPresenter.class, mPresenter, "", null, null);
return; return;
} }
...@@ -302,7 +315,11 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen ...@@ -302,7 +315,11 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
break; break;
default: default:
mPresenter.openTable(dataBean.getId()); if (dataBean.getStatus() == 4) {
showSplitTableDialog(dataBean.getId());
} else {
mPresenter.openTable(dataBean.getId(), "");
}
break; break;
} }
} }
...@@ -378,10 +395,29 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen ...@@ -378,10 +395,29 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
killMyself(); killMyself();
} }
}); });
mPresenter.initTableParameter(); mPresenter.initTableParameter();
mPresenter.filterTableByOperatType(); mPresenter.filterTableByOperatType();
}
private void showSplitTableDialog(long tableId) {
if (mSplitTableDialog == null) {
mSplitTableDialog = new SplitTableDialog(this);
mSplitTableDialog.setOnClickListener(new SplitTableDialog.OnClickListener() {
@Override
public void onItemClick(SplitTableDialog dialog,TableBean.DataBean item, int position) {
dialog.dismiss();
mPresenter.openTable(item.getId(),item.getTableNumber());
}
});
mSplitTableDialog.setOnRetryListener(new BaseRetryDialog.OnRetryListener() {
@Override
public void onRetryClick() {
mPresenter.getSplitTables(tableId);
}
});
}
mSplitTableDialog.show();
mPresenter.getSplitTables(tableId);
} }
@Override @Override
...@@ -629,4 +665,8 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen ...@@ -629,4 +665,8 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
public void setCurrentSelectTableStatus(int mCurrentSelectTableStatus) { public void setCurrentSelectTableStatus(int mCurrentSelectTableStatus) {
this.mCurrentSelectTableStatus = mCurrentSelectTableStatus; this.mCurrentSelectTableStatus = mCurrentSelectTableStatus;
} }
public SplitTableDialog getSplitTableDialog() {
return mSplitTableDialog;
}
} }
...@@ -647,7 +647,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -647,7 +647,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
return false; return false;
} }
private boolean hasChildFood(OrderDetail orderDetail) { public boolean hasChildFood(OrderDetail orderDetail) {
if (orderDetail.getItemType() == 3) if (orderDetail.getItemType() == 3)
return false; return false;
for (int i = 0; i < mInfos.size(); i++) { for (int i = 0; i < mInfos.size(); i++) {
......
package com.gingersoft.gsa.cloud.table.mvp.ui.widget;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.TableAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.DiscountAdapter;
import com.gingersoft.gsa.cloud.ui.widget.dialog.BaseRetryDialog;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.DeviceUtils;
import com.qmuiteam.qmui.layout.QMUILinearLayout;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import com.qmuiteam.qmui.widget.QMUIEmptyView;
import com.qmuiteam.qmui.widget.QMUITopBar;
import java.util.ArrayList;
import java.util.List;
import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-07-29
* 修订历史:2020-07-29
* 描述:
*/
public class SplitTableDialog extends BaseRetryDialog {
private static final String TAG = "SplitTableDialog";
private Context mContext;
private SplitTableDialog mDialog;
private int spanCount = 3;
private int mRadius;
private float mShadowAlpha = 0.25f;
private int mShadowElevationDp = 14;
private int mBagcolor;
private List<TableBean.DataBean> mItems;
private TableAdapter mAdapter;
private QMUITopBar mTopBar;
private QMUILinearLayout ll_container;
private QMUIEmptyView mEmptyView;
private ProgressBar progress;
private RecyclerView recycler_table;
private ImageView btn_close;
public SplitTableDialog(@NonNull Context context) {
super(context);
mContext = context;
mItems = new ArrayList<>();
mRadius = QMUIDisplayHelper.dp2px(mContext, 8);
}
public void addItem(TableBean.DataBean item) {
mItems.add(item);
}
public void addItems(List<TableBean.DataBean> items) {
if (mItems.size() > 0)
mItems.clear();
mItems.addAll(items);
}
public void notifyDataSetChanged(){
mAdapter.notifyDataSetChanged();
}
public SplitTableDialog build() {
if (mDialog != null) {
return mDialog;
}
mDialog = new SplitTableDialog(mContext);
View contentView = buildViews();
int screenHeight = (int) (QMUIDisplayHelper.getScreenHeight(mContext) * 0.7);
mDialog.setContentView(contentView, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, screenHeight));
return mDialog;
}
private View buildViews() {
View view = View.inflate(mContext, getContentViewLayoutId(), null);
mTopBar = view.findViewById(R.id.topbar);
recycler_table = view.findViewById(R.id.recycler_table);
ll_container = view.findViewById(R.id.ll_container);
mEmptyView = view.findViewById(R.id.emptyView);
progress = view.findViewById(R.id.progress);
// btn_close = view.findViewById(R.id.btn_close);
// btn_close.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// closeDialog() ;
// }
// });
ll_container.setRadiusAndShadow(mRadius, QMUIDisplayHelper.dp2px(mContext, mShadowElevationDp), mShadowAlpha);
initTopbar();
initTableRecycleView();
return view;
}
private void initTopbar() {
if (mBagcolor != 0) {
mTopBar.setBackgroundColor(mBagcolor);
} else {
mTopBar.setBackgroundColor(ContextCompat.getColor(mContext, R.color.theme_color));
}
mTopBar.setTitle("分檯");
}
private void initTableRecycleView() {
if (mAdapter == null) {
mAdapter = new TableAdapter(mContext, mItems, DeviceUtils.getScreenHeight(mContext), TableActivity.FUNCTION_ALL_TABLE);
}
mAdapter.setOnItemClickListener(new DefaultAdapter.OnRecyclerViewItemClickListener() {
@Override
public void onItemClick(View view, int viewType, Object data, int position) {
if (onClickListener != null) {
onClickListener.onItemClick(SplitTableDialog.this,(TableBean.DataBean) data, position);
}
// closeDialog();
}
});
recycler_table.setLayoutManager(createLayoutManager());
recycler_table.setAdapter(mAdapter);
}
private RecyclerView.LayoutManager createLayoutManager() {
return new GridLayoutManager(mContext, spanCount, LinearLayoutManager.VERTICAL, false) {
@Override
public RecyclerView.LayoutParams generateDefaultLayoutParams() {
return new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
}
};
}
public void showEmptyView(boolean isSuccess, int size, Throwable t) {
showEmptyView(isSuccess, size, t,mEmptyView,recycler_table);
}
public void setProgressVisibility(boolean show) {
progress.setVisibility(show ? View.VISIBLE : View.INVISIBLE);
}
public void closeDialog() {
mDialog.dismiss();
}
public void setTopBarBagcolor(int mBagcolor) {
this.mBagcolor = mBagcolor;
}
protected int getContentViewLayoutId() {
return R.layout.table_dialog_split;
}
private SplitTableDialog.OnClickListener onClickListener;
public void setOnClickListener(SplitTableDialog.OnClickListener onClickListener) {
this.onClickListener = onClickListener;
}
public interface OnClickListener {
void onItemClick(SplitTableDialog dialog,TableBean.DataBean item, int position);
}
}
<?xml version="1.0" encoding="utf-8"?>
<com.qmuiteam.qmui.layout.QMUILinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/ll_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/theme_white_color"
android:orientation="vertical">
<com.qmuiteam.qmui.widget.QMUITopBar
android:id="@+id/topbar"
android:layout_width="match_parent"
android:layout_height="?attr/qmui_topbar_height"
app:qmui_topbar_title_color="@color/theme_white_color" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.qmuiteam.qmui.widget.QMUIEmptyView
android:id="@+id/emptyView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true" />
<ProgressBar
android:id="@+id/progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:visibility="invisible"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_table"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="3" />
</FrameLayout>
<!-- <ImageView-->
<!-- android:id="@+id/btn_close"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_margin="@dimen/dp_20"-->
<!-- android:src="@drawable/icon_dialog_close" />-->
</com.qmuiteam.qmui.layout.QMUILinearLayout>
\ No newline at end of file
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