Commit f99df214 by 宁斌

餐檯輪訓調整

parent 2abd64bd
...@@ -13,7 +13,7 @@ public class LogUtil { ...@@ -13,7 +13,7 @@ public class LogUtil {
//可以全局控制是否打印log日志 //可以全局控制是否打印log日志
private static boolean isPrintLog = true; private static boolean isPrintLog = true;
private static int LOG_MAXLENGTH = 5000; private static int LOG_MAXLENGTH = 10000;
private final static String TAG = "LogUtil"; private final static String TAG = "LogUtil";
public static void v(String msg) { public static void v(String msg) {
......
...@@ -114,6 +114,11 @@ public class ExpandInfoSetting { ...@@ -114,6 +114,11 @@ public class ExpandInfoSetting {
} }
/**
* 掃碼獲取擴展類信息
* @param obj
* @return
*/
private static List<ExpandInfoSetting> scanExtendedConfiguration(Object obj) { private static List<ExpandInfoSetting> scanExtendedConfiguration(Object obj) {
List<ExpandInfoSetting> expandInfoList = new ArrayList<>(); List<ExpandInfoSetting> expandInfoList = new ArrayList<>();
......
...@@ -74,15 +74,15 @@ public class MyResponseErrorListener implements ResponseErrorListener { ...@@ -74,15 +74,15 @@ public class MyResponseErrorListener implements ResponseErrorListener {
showloggedDialog(activity, ArmsUtils.getString(context, R.string.response_error_request_logged)); showloggedDialog(activity, ArmsUtils.getString(context, R.string.response_error_request_logged));
} }
} else { } else {
if (httpException.code() == 400) { // if (httpException.code() == 400) {
//Bad Request // //Bad Request
Activity activity = GsaCloudApplication.getAppContext().getCurrentActivity(); // Activity activity = GsaCloudApplication.getAppContext().getCurrentActivity();
if (activity == null || !activity.getClass().getSimpleName().equals("LoginActivity")) { // if (activity == null || !activity.getClass().getSimpleName().equals("LoginActivity")) {
//不处于登录页面 返回到登录页 // //不处于登录页面 返回到登录页
ArmsUtils.killAll(); // ArmsUtils.killAll();
toLoginActivity(activity); // toLoginActivity(activity);
} // }
} // }
msg = httpException.message(); msg = httpException.message();
} }
return msg; return msg;
......
...@@ -37,7 +37,7 @@ public class HttpsConstans { ...@@ -37,7 +37,7 @@ public class HttpsConstans {
private static String HTTP_ADDRESS_URL_FORMAL = "https://m.ricepon.com:8444";//正式服務器 private static String HTTP_ADDRESS_URL_FORMAL = "https://m.ricepon.com:8444";//正式服務器
private static String HTTP_ADDRESS_URL_SZ = "http://gingersoft.tpddns.cn:58201";//深圳測試 private static String HTTP_ADDRESS_URL_SZ = "http://gingersoft.tpddns.cn:58201";//深圳測試
private static String HTTP_ADDRESS_URL_HK = "http://a.ricepon.com:58201";//香港測試 private static String HTTP_ADDRESS_URL_HK = "http://a.ricepon.com:58201";//香港測試
private static String HTTP_ADDRESS_URL_PRE = "http://prf-m.ricepon.com/";//預發佈 private static String HTTP_ADDRESS_URL_PRE = "http://prf-m.ricepon.com";//預發佈
public static String CLOUD_GSA_API_PATH = "/ricepon-cloud-gsa/api/";//雲端GSA路徑 public static String CLOUD_GSA_API_PATH = "/ricepon-cloud-gsa/api/";//雲端GSA路徑
public static String RESTAURANT_API_PATH = "/ricepon-restaurant/api/";//餐廳模塊路徑 public static String RESTAURANT_API_PATH = "/ricepon-restaurant/api/";//餐廳模塊路徑
...@@ -77,8 +77,9 @@ public class HttpsConstans { ...@@ -77,8 +77,9 @@ public class HttpsConstans {
public static String API_RICEPON_MEMBER = "/ricepon-member/api/"; public static String API_RICEPON_MEMBER = "/ricepon-member/api/";
//---------------------------------------打印skyorder QRCode---------------------------------------------------------------------------------- //---------------------------------------打印skyorder QRCode----------------------------------------------------------------------------------
public static final String PRINT_QRCODE_ADDRESS_URL_FORMAL = "http://m.ricepon.com";
public static final String PRINT_QRCODE_SUFFIX = "/member-web/qrcode/qrcode.html?WMP0&?arg="; public static final String PRINT_QRCODE_SUFFIX = "/member-web/qrcode/qrcode.html?WMP0&?arg=";
public static String PRINT_QRCODE_ADDRESS = HTTP_ADDRESS_URL_HK + PRINT_QRCODE_SUFFIX; public static String PRINT_QRCODE_ADDRESS = PRINT_QRCODE_ADDRESS_URL_FORMAL + PRINT_QRCODE_SUFFIX;
//--------------------------------------配置----------------------------------------------------------------------------------- //--------------------------------------配置-----------------------------------------------------------------------------------
...@@ -207,7 +208,7 @@ public class HttpsConstans { ...@@ -207,7 +208,7 @@ public class HttpsConstans {
ricepon_cloud_gsa = HttpsConstans.ROOT_URL + HttpsConstans.CLOUD_GSA_API_PATH; ricepon_cloud_gsa = HttpsConstans.ROOT_URL + HttpsConstans.CLOUD_GSA_API_PATH;
ricepon_member = HttpsConstans.ROOT_URL + API_RICEPON_MEMBER; ricepon_member = HttpsConstans.ROOT_URL + API_RICEPON_MEMBER;
PRINT_QRCODE_ADDRESS = ROOT_SERVER + PRINT_QRCODE_SUFFIX; // PRINT_QRCODE_ADDRESS = PRINT_QRCODE_ADDRESS_URL_FORMAL + PRINT_QRCODE_SUFFIX;
} }
public static String ricepon_wechat; public static String ricepon_wechat;
......
...@@ -8,5 +8,4 @@ package com.gingersoft.gsa.cloud.print.bean; ...@@ -8,5 +8,4 @@ package com.gingersoft.gsa.cloud.print.bean;
* */ * */
public interface PrintContent { public interface PrintContent {
} }
package com.gingersoft.gsa.cloud.database.bean; package com.gingersoft.gsa.cloud.database.bean;
import androidx.annotation.NonNull;
import org.greenrobot.greendao.annotation.Entity; import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Id; import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.Property; import org.greenrobot.greendao.annotation.Property;
...@@ -18,7 +20,7 @@ import org.greenrobot.greendao.annotation.Generated; ...@@ -18,7 +20,7 @@ import org.greenrobot.greendao.annotation.Generated;
*/ */
@Data @Data
@Entity @Entity
public class Discount { public class Discount implements Cloneable {
/** /**
...@@ -180,10 +182,40 @@ public class Discount { ...@@ -180,10 +182,40 @@ public class Discount {
this.endTime = endTime; this.endTime = endTime;
} }
@Generated(hash = 1777606421) @Generated(hash = 1777606421)
public Discount() { public Discount() {
} }
public Discount(Discount discount) {
this.id = discount.id;
this.restaurantId = discount.restaurantId;
this.amount = discount.amount;
this.discountValue = discount.discountValue;
this.type = discount.type;
this.discountType = discount.discountType;
this.status = discount.status;
this.remark = discount.remark;
this.freeServiceCharge = discount.freeServiceCharge;
this.managerApproval = discount.managerApproval;
this.color = discount.color;
this.placeOrderType = discount.placeOrderType;
this.discountCap = discount.discountCap;
this.salesAmount = discount.salesAmount;
this.taxFree = discount.taxFree;
this.exclusive = discount.exclusive;
this.pause = discount.pause;
this.additionalDiscount = discount.additionalDiscount;
this.onlyOnce = discount.onlyOnce;
this.minBillAmount = discount.minBillAmount;
this.pointsDeduction = discount.pointsDeduction;
this.wholeFreePoints = discount.wholeFreePoints;
this.amountTypeMin = discount.amountTypeMin;
this.beginTime = discount.beginTime;
this.endTime = discount.endTime;
this.memberId = discount.memberId;
this.discountRecordId = discount.discountRecordId;
}
public Long getId() { public Long getId() {
return this.id; return this.id;
...@@ -390,6 +422,14 @@ public class Discount { ...@@ -390,6 +422,14 @@ public class Discount {
} }
@NonNull
@Override
public Discount clone() {
try {
return (Discount) super.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new Discount(this);
}
} }
...@@ -18,7 +18,7 @@ public class PrintCurrencyBean implements Serializable { ...@@ -18,7 +18,7 @@ public class PrintCurrencyBean implements Serializable {
private String name; private String name;
private Integer restaurantId; private Integer restaurantId;
private int type;//1堂食,2外賣 private int type;//1堂食,2外賣,3skyorder
private int foodComplexion;//食品顔色 0 黑色 2 紅色 private int foodComplexion;//食品顔色 0 黑色 2 紅色
private int modifierComplexion;//細項顔色 0 黑色 2 紅色 private int modifierComplexion;//細項顔色 0 黑色 2 紅色
private int deletes;//是否刪除 0 正常 1 刪除 private int deletes;//是否刪除 0 正常 1 刪除
......
...@@ -8,7 +8,6 @@ import com.gingersoft.gsa.cloud.constans.AppConstans ...@@ -8,7 +8,6 @@ import com.gingersoft.gsa.cloud.constans.AppConstans
import com.gingersoft.gsa.cloud.constans.HttpsConstans import com.gingersoft.gsa.cloud.constans.HttpsConstans
import com.gingersoft.gsa.cloud.constans.HttpsConstans.ROOT_SERVER import com.gingersoft.gsa.cloud.constans.HttpsConstans.ROOT_SERVER
import com.gingersoft.gsa.cloud.constans.HttpsConstans.URK_RICEPON_GSA import com.gingersoft.gsa.cloud.constans.HttpsConstans.URK_RICEPON_GSA
import com.gingersoft.gsa.cloud.config.globalconfig.applyOptions.intercept.LoggingInterceptor
import com.jess.arms.utils.DeviceUtils import com.jess.arms.utils.DeviceUtils
import okhttp3.Headers import okhttp3.Headers
import okhttp3.Interceptor import okhttp3.Interceptor
......
...@@ -206,7 +206,7 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() { ...@@ -206,7 +206,7 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
} }
} }
} }
confirmOrder(orderDetail, 2, trafficType, restaurantId, isPrintPrj = true, isPrintBill = false) { confirmOrder(orderDetail, 2, trafficType, restaurantId, isPrintPrj = true, isPrintBill = true) {
//確認之後,刷新列表 //確認之後,刷新列表
refreshState.postValue(0) refreshState.postValue(0)
} }
...@@ -390,7 +390,6 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() { ...@@ -390,7 +390,6 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
}) })
} }
fun confirmOrder(dataBean: OrderDetails.DataBean, status: Int, trafficType: String = "", restaurantId: Int, isPrintPrj: Boolean = true, isPrintBill: Boolean = true, listener: (MessageBean) -> Unit) { fun confirmOrder(dataBean: OrderDetails.DataBean, status: Int, trafficType: String = "", restaurantId: Int, isPrintPrj: Boolean = true, isPrintBill: Boolean = true, listener: (MessageBean) -> Unit) {
launch({ launch({
when (dataBean.companyType) { when (dataBean.companyType) {
......
...@@ -59,7 +59,6 @@ ...@@ -59,7 +59,6 @@
<meta-data <meta-data
android:name="design_height_in_dp" android:name="design_height_in_dp"
android:value="640" /> android:value="640" />
<meta-data <meta-data
android:name="android.max_aspect" android:name="android.max_aspect"
android:value="2.4" /> android:value="2.4" />
......
package com.gingersoft.gsa.cloud.base.order.bean.response; package com.gingersoft.gsa.cloud.base.order.bean.response;
import android.os.Parcel;
import android.os.Parcelable;
import java.io.Serializable;
import lombok.Data; import lombok.Data;
/** /**
...@@ -12,7 +11,7 @@ import lombok.Data; ...@@ -12,7 +11,7 @@ import lombok.Data;
* @description: * @description:
*/ */
@Data @Data
public class OrderDiscountResponse implements Parcelable { public class OrderDiscountResponse implements Serializable {
/** /**
* 餐廳折扣ID * 餐廳折扣ID
...@@ -42,55 +41,13 @@ public class OrderDiscountResponse implements Parcelable { ...@@ -42,55 +41,13 @@ public class OrderDiscountResponse implements Parcelable {
/** /**
* 优惠券折扣相关 * 优惠券折扣相关
*/ */
// 消費滿 /**
* 消費滿
*/
private Double spend; private Double spend;
/** /**
* 是否累計滿減:0否,1是 * 是否累計滿減:0否,1是
*/ */
private Byte accumulate; private Byte accumulate;
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeValue(this.discountId);
dest.writeDouble(this.discountAmount);
dest.writeInt(this.discountValue);
dest.writeInt(this.type);
dest.writeByte(this.discountType);
dest.writeString(this.remark);
dest.writeString(this.remark2);
dest.writeString(this.remark3);
dest.writeValue(this.spend);
dest.writeValue(this.accumulate);
}
protected OrderDiscountResponse(Parcel in) {
this.discountId = (Long) in.readValue(Long.class.getClassLoader());
this.discountAmount = in.readDouble();
this.discountValue = in.readInt();
this.type = in.readInt();
this.discountType = in.readByte();
this.remark = in.readString();
this.remark2 = in.readString();
this.remark3 = in.readString();
this.spend = (Double) in.readValue(Double.class.getClassLoader());
this.accumulate = (Byte) in.readValue(Byte.class.getClassLoader());
}
public static final Creator<OrderDiscountResponse> CREATOR = new Creator<OrderDiscountResponse>() {
@Override
public OrderDiscountResponse createFromParcel(Parcel source) {
return new OrderDiscountResponse(source);
}
@Override
public OrderDiscountResponse[] newArray(int size) {
return new OrderDiscountResponse[size];
}
};
} }
...@@ -1222,7 +1222,7 @@ public class OrderDetail implements Commodity, Serializable { ...@@ -1222,7 +1222,7 @@ public class OrderDetail implements Commodity, Serializable {
public static OrderDetail modifierTransOrderDetail(Modifier modifier, long id, long productId, int number) { public static OrderDetail modifierTransOrderDetail(Modifier modifier, long id, long productId, int number) {
OrderDetail orderDetail = new OrderDetail(); OrderDetail orderDetail = new OrderDetail();
orderDetail.setProductName(modifier.getModifierName()); orderDetail.setProductName(modifier.getModifierName());
modifier.getKtPrintMainItem(); orderDetail.setKtPrintMainItem(modifier.getKtPrintMainItem());
orderDetail.setTopId(modifier.getTopId()); orderDetail.setTopId(modifier.getTopId());
orderDetail.setParentId(id); orderDetail.setParentId(id);
orderDetail.setProductId(modifier.getMid()); orderDetail.setProductId(modifier.getMid());
......
...@@ -152,7 +152,18 @@ public class PrintPrjKitchen extends PrinterRoot { ...@@ -152,7 +152,18 @@ public class PrintPrjKitchen extends PrinterRoot {
} }
if (TextUtil.isEmptyOrNullOrUndefined(prjBean.getTableName())) { if (TextUtil.isEmptyOrNullOrUndefined(prjBean.getTableName())) {
layoutOpenTableTime.setVisibility(View.GONE); layoutOpenTableTime.setVisibility(View.GONE);
if (prjBean.getOrderType() == 7) { switch (prjBean.getOrderType()) {
case 1:
case 3:
tvTableNumber.setText("堂食");
tvTableNumber2.setText("堂食");
if (!TextUtil.isEmptyOrNullOrUndefined(prjBean.getTakeFoodCode())) {
tvTakeCodeText.setVisibility(View.VISIBLE);
tvTakeCode.setVisibility(View.VISIBLE);
tvTakeCode.setText(prjBean.getTakeFoodCode());
}
break;
case 7:
tvTableNumber.setText("自取"); tvTableNumber.setText("自取");
tvTableNumber2.setText("自取"); tvTableNumber2.setText("自取");
if (!TextUtil.isEmptyOrNullOrUndefined(prjBean.getTakeFoodCode())) { if (!TextUtil.isEmptyOrNullOrUndefined(prjBean.getTakeFoodCode())) {
...@@ -160,11 +171,13 @@ public class PrintPrjKitchen extends PrinterRoot { ...@@ -160,11 +171,13 @@ public class PrintPrjKitchen extends PrinterRoot {
tvTakeCode.setVisibility(View.VISIBLE); tvTakeCode.setVisibility(View.VISIBLE);
tvTakeCode.setText(prjBean.getTakeFoodCode()); tvTakeCode.setText(prjBean.getTakeFoodCode());
} }
} else { break;
default:
tvTableNumber.setText("外賣"); tvTableNumber.setText("外賣");
tvTableNumber2.setText("外賣"); tvTableNumber2.setText("外賣");
tvOrderNumberText.setText("訂單碼:"); tvOrderNumberText.setText("訂單碼:");
tvOrderNumber.setText(prjBean.getTakeFoodCode()); tvOrderNumber.setText(prjBean.getTakeFoodCode());
break;
} }
} else { } else {
tvTableNumber.setText(prjBean.getTableName()); tvTableNumber.setText(prjBean.getTableName());
......
...@@ -462,8 +462,8 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -462,8 +462,8 @@ public class PrjService extends Service implements ReceiveListener {
private PrintCurrencyBean getPrintCurrencyBean(List<PrjBean.DataBean.Bean> beans) { private PrintCurrencyBean getPrintCurrencyBean(List<PrjBean.DataBean.Bean> beans) {
PrintCurrencyBean printCurrencyBean = null; PrintCurrencyBean printCurrencyBean = null;
if (beans != null && beans.size() > 0) { if (beans != null && beans.size() > 0) {
if (beans.get(0).getOrderType() == 1) { if (beans.get(0).getOrderType() == 1 || beans.get(0).getOrderType() == 3 ) {
//堂食 //堂食,skyorder
printCurrencyBean = MyPrintUtils.getPrintCurrencyBeanByType(mContext, 1); printCurrencyBean = MyPrintUtils.getPrintCurrencyBeanByType(mContext, 1);
} else { } else {
//外賣 //外賣
......
...@@ -33,7 +33,7 @@ public class MyPrintUtils { ...@@ -33,7 +33,7 @@ public class MyPrintUtils {
* 通過類型獲取打印通用配置 * 通過類型獲取打印通用配置
* *
* @param context * @param context
* @param type 1:堂食,2:外送 * @param type 1:堂食,2:外送,3:skyorder下單
* @return * @return
*/ */
public static PrintCurrencyBean getPrintCurrencyBeanByType(Context context, int type) { public static PrintCurrencyBean getPrintCurrencyBeanByType(Context context, int type) {
......
...@@ -155,8 +155,14 @@ public class TableBean { ...@@ -155,8 +155,14 @@ public class TableBean {
*/ */
private long summaryId; private long summaryId;
/**
* scan表ID
*/
private Long scanId;
public DataBean() { public DataBean() {
} }
public DataBean(DataBean dataBean) { public DataBean(DataBean dataBean) {
...@@ -183,6 +189,7 @@ public class TableBean { ...@@ -183,6 +189,7 @@ public class TableBean {
this.tableNumber = dataBean.tableNumber; this.tableNumber = dataBean.tableNumber;
this.skyQrCode = dataBean.skyQrCode; this.skyQrCode = dataBean.skyQrCode;
this.summaryId = dataBean.summaryId; this.summaryId = dataBean.summaryId;
this.scanId = dataBean.scanId;
} }
} }
......
...@@ -11,6 +11,7 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderCenterAc ...@@ -11,6 +11,7 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderCenterAc
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderPayActivity; import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderPayActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity; import com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity;
public class ComponentTable implements IComponent { public class ComponentTable implements IComponent {
public static final class table { public static final class table {
...@@ -19,6 +20,7 @@ public class ComponentTable implements IComponent { ...@@ -19,6 +20,7 @@ public class ComponentTable implements IComponent {
*/ */
public static final FModule[] bottom = { public static final FModule[] bottom = {
new FModule("table/bottom/init", R.mipmap.table_init, 0), new FModule("table/bottom/init", R.mipmap.table_init, 0),
new FModule("table/bottom/initSkyorder", R.mipmap.table_paper, 0),
new FModule("table/bottom/move", R.mipmap.table_move, 0), new FModule("table/bottom/move", R.mipmap.table_move, 0),
new FModule("table/bottom/skyorder", 0, 0), new FModule("table/bottom/skyorder", 0, 0),
new FModule("table/bottom/splite", R.mipmap.table_splite, 0), new FModule("table/bottom/splite", R.mipmap.table_splite, 0),
......
...@@ -64,6 +64,8 @@ public interface TableContract { ...@@ -64,6 +64,8 @@ public interface TableContract {
void setBottomFunctionVisibility(boolean show); void setBottomFunctionVisibility(boolean show);
void setLockVisibility(boolean show); void setLockVisibility(boolean show);
void setCenterContentMarginBottom(int bottomMargin);
} }
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存 //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
...@@ -85,6 +87,8 @@ public interface TableContract { ...@@ -85,6 +87,8 @@ public interface TableContract {
Observable<BaseOrderResponse> initTable(RequestBody requestBody); Observable<BaseOrderResponse> initTable(RequestBody requestBody);
Observable<BaseResult> resetSkyorder(RequestBody requestBody);
Observable<BaseResult> getSplitTables(int tableId); Observable<BaseResult> getSplitTables(int tableId);
Observable<BaseResult> splitTable(int tableId); Observable<BaseResult> splitTable(int tableId);
......
...@@ -101,7 +101,8 @@ public class OrderContentModel extends BaseModel implements OrderContentContract ...@@ -101,7 +101,8 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
for (Object o : tm.keySet()) { for (Object o : tm.keySet()) {
String key = (String) o; String key = (String) o;
if (key.equals("id")) { if (key.equals("id")) {
DoshokuOrder.getInstance().setOrderId((long) tm.get(key)); double orderId = (double) tm.get(key);
DoshokuOrder.getInstance().setOrderId((long) orderId);
} else if (key.equals("orderNo")) { } else if (key.equals("orderNo")) {
DoshokuOrder.getInstance().setOrderNo((String) tm.get(key)); DoshokuOrder.getInstance().setOrderNo((String) tm.get(key));
} }
......
...@@ -107,6 +107,12 @@ public class TableModel extends BaseModel implements TableContract.Model { ...@@ -107,6 +107,12 @@ public class TableModel extends BaseModel implements TableContract.Model {
} }
@Override @Override
public Observable<BaseResult> resetSkyorder(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.resetSkyorder(requestBody);
}
@Override
public Observable<BaseResult> getSplitTables(int tableId) { public Observable<BaseResult> getSplitTables(int tableId) {
return mRepositoryManager.obtainRetrofitService(TableService.class) return mRepositoryManager.obtainRetrofitService(TableService.class)
.getSplitTables(tableId); .getSplitTables(tableId);
......
...@@ -25,7 +25,7 @@ public class FoodSummary { ...@@ -25,7 +25,7 @@ public class FoodSummary {
/** /**
* 用餐時長 * 用餐時長
*/ */
private int mealLength = 120; private long diningTime = 120;
public static final byte BUSINESS_TYPE_TAKEWAY = 1; public static final byte BUSINESS_TYPE_TAKEWAY = 1;
public static final byte BUSINESS_TYPE_SKYORDER = 2; public static final byte BUSINESS_TYPE_SKYORDER = 2;
......
...@@ -27,9 +27,19 @@ public class AddOrderRequest { ...@@ -27,9 +27,19 @@ public class AddOrderRequest {
private long tableId; private long tableId;
private String tableNumber; private String tableNumber;
/** /**
* 合計金額
*/
/**
* 服務費
*/
/**
* 賬單小數 * 賬單小數
*/ */
private Double rounding; private Double rounding;
/**
* 總金額
*/
private List<OrderDiscountRequest> discountDetails; private List<OrderDiscountRequest> discountDetails;
private Map<String, List<OrderResponse.OrderDetailsBean>> maps; private Map<String, List<OrderResponse.OrderDetailsBean>> maps;
private List<DeleteOrderRequest> deleteOrders; private List<DeleteOrderRequest> deleteOrders;
......
...@@ -25,6 +25,8 @@ public class CreateOrderRequest { ...@@ -25,6 +25,8 @@ public class CreateOrderRequest {
private int restaurantId; private int restaurantId;
/**賬單小數*/ /**賬單小數*/
private Double rounding; private Double rounding;
/**scan表ID*/
private Long scanId;
private List<OrderDiscountRequest> discountDetails; private List<OrderDiscountRequest> discountDetails;
private Map<String, List<OrderResponse.OrderDetailsBean>> orderDetails; private Map<String, List<OrderResponse.OrderDetailsBean>> orderDetails;
......
...@@ -74,7 +74,7 @@ public class BillDiscountAction implements Strategy<Discount> { ...@@ -74,7 +74,7 @@ public class BillDiscountAction implements Strategy<Discount> {
exclusiveDiscount(discount); exclusiveDiscount(discount);
return; return;
} else { } else {
if (discount.getExclusive() == 1 && mNomalDiscountList.size()>0) { if (discount.getExclusive() == 1 && mNomalDiscountList.size() > 0) {
//獨佔折扣 //獨佔折扣
exclusiveDiscount(discount); exclusiveDiscount(discount);
return; return;
...@@ -91,7 +91,7 @@ public class BillDiscountAction implements Strategy<Discount> { ...@@ -91,7 +91,7 @@ public class BillDiscountAction implements Strategy<Discount> {
// //
// break; // break;
default: default:
mListener.preformAddDiscount(discount); mListener.preformAddDiscount(discount.clone());
break; break;
} }
} }
...@@ -149,7 +149,7 @@ public class BillDiscountAction implements Strategy<Discount> { ...@@ -149,7 +149,7 @@ public class BillDiscountAction implements Strategy<Discount> {
if (exclusiveReplace) { if (exclusiveReplace) {
mListener.exclusiveRemoveOthers(mNomalDiscountList); mListener.exclusiveRemoveOthers(mNomalDiscountList);
} }
mListener.preformAddDiscount(discount); mListener.preformAddDiscount(discount.clone());
} }
} }
}); });
...@@ -171,7 +171,7 @@ public class BillDiscountAction implements Strategy<Discount> { ...@@ -171,7 +171,7 @@ public class BillDiscountAction implements Strategy<Discount> {
if (exclusiveReplace) { if (exclusiveReplace) {
mListener.exclusiveRemoveOthers(mNomalDiscountList); mListener.exclusiveRemoveOthers(mNomalDiscountList);
} }
mListener.preformAddDiscount(discount); mListener.preformAddDiscount(discount.clone());
} }
} }
}) })
...@@ -199,7 +199,7 @@ public class BillDiscountAction implements Strategy<Discount> { ...@@ -199,7 +199,7 @@ public class BillDiscountAction implements Strategy<Discount> {
// break; // break;
default: default:
mListener.exclusiveRemoveOthers(mNomalDiscountList); mListener.exclusiveRemoveOthers(mNomalDiscountList);
mListener.preformAddDiscount(discount); mListener.preformAddDiscount(discount.clone());
break; break;
} }
} }
......
...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.table.mvp.model.discount; ...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.table.mvp.model.discount;
import android.app.Activity; import android.app.Activity;
import android.text.InputType; import android.text.InputType;
import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail; import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.base.order.discount.MultyDiscount; import com.gingersoft.gsa.cloud.base.order.discount.MultyDiscount;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil; import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
...@@ -10,6 +11,7 @@ import com.gingersoft.gsa.cloud.patterns.Strategy; ...@@ -10,6 +11,7 @@ import com.gingersoft.gsa.cloud.patterns.Strategy;
import com.gingersoft.gsa.cloud.table.mvp.ui.widget.KeyboardDialog; import com.gingersoft.gsa.cloud.table.mvp.ui.widget.KeyboardDialog;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog; import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
import com.jess.arms.utils.ArmsUtils; import com.jess.arms.utils.ArmsUtils;
import java.util.List; import java.util.List;
/** /**
...@@ -75,13 +77,13 @@ public class MealDiscountAction implements Strategy<Discount> { ...@@ -75,13 +77,13 @@ public class MealDiscountAction implements Strategy<Discount> {
showCustomAmountDialog(discount, false); showCustomAmountDialog(discount, false);
break; break;
case Discount.DISCOUNT_TYPE_KEYBOARD: case Discount.DISCOUNT_TYPE_KEYBOARD:
showKeyboardDialog(discount,false); showKeyboardDialog(discount, false);
break; break;
// case Discount.DISCOUNT_TYPE_FREE_SERVICE_CHARGE: // case Discount.DISCOUNT_TYPE_FREE_SERVICE_CHARGE:
// //
// break; // break;
default: default:
mListener.preformAddDiscount(discount); mListener.preformAddDiscount(discount.clone());
break; break;
} }
} }
...@@ -140,7 +142,7 @@ public class MealDiscountAction implements Strategy<Discount> { ...@@ -140,7 +142,7 @@ public class MealDiscountAction implements Strategy<Discount> {
if (exclusiveReplace) { if (exclusiveReplace) {
mListener.exclusiveRemoveOthers(); mListener.exclusiveRemoveOthers();
} }
mListener.preformAddDiscount(discount); mListener.preformAddDiscount(discount.clone());
} }
} }
}); });
...@@ -162,7 +164,7 @@ public class MealDiscountAction implements Strategy<Discount> { ...@@ -162,7 +164,7 @@ public class MealDiscountAction implements Strategy<Discount> {
if (exclusiveReplace) { if (exclusiveReplace) {
mListener.exclusiveRemoveOthers(); mListener.exclusiveRemoveOthers();
} }
mListener.preformAddDiscount(discount); mListener.preformAddDiscount(discount.clone());
} }
} }
}) })
...@@ -190,7 +192,7 @@ public class MealDiscountAction implements Strategy<Discount> { ...@@ -190,7 +192,7 @@ public class MealDiscountAction implements Strategy<Discount> {
// break; // break;
default: default:
mListener.exclusiveRemoveOthers(); mListener.exclusiveRemoveOthers();
mListener.preformAddDiscount(discount); mListener.preformAddDiscount(discount.clone());
break; break;
} }
} }
......
...@@ -36,6 +36,9 @@ public interface TableService { ...@@ -36,6 +36,9 @@ public interface TableService {
@POST("restaurantTable/set/status" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @POST("restaurantTable/set/status" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseOrderResponse> initTable(@Body RequestBody requestBody); Observable<BaseOrderResponse> initTable(@Body RequestBody requestBody);
@POST("restaurantTable/skyOrderReset" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> resetSkyorder(@Body RequestBody requestBody);
@GET("restaurantTable/getSplitTableAvailable" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @GET("restaurantTable/getSplitTableAvailable" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> getSplitTables(@Query("tableId") int tableId); Observable<BaseResult> getSplitTables(@Query("tableId") int tableId);
......
...@@ -31,14 +31,14 @@ import java.util.List; ...@@ -31,14 +31,14 @@ import java.util.List;
* 修订历史:2020-09-23 * 修订历史:2020-09-23
* 描述:餐檯模式-打印skyorder碼{@link com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity} * 描述:餐檯模式-打印skyorder碼{@link com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity}
*/ */
public class PrintSkyOrderAction extends TableAction { public class PrintSkyorderAction extends TableAction {
private TablePresenter mTablePresenter; private TablePresenter mTablePresenter;
private SkyOrderDialog mSkyOrderDialog; private SkyOrderDialog mSkyOrderDialog;
private static final byte PRINT_type = 2; private static final byte PRINT_type = 2;
public PrintSkyOrderAction(Activity context, TablePresenter tablePresenter) { public PrintSkyorderAction(Activity context, TablePresenter tablePresenter) {
super(context, "打印skyorder", "請選擇檯號", ""); super(context, "打印skyorder", "請選擇檯號", "");
this.mTablePresenter = tablePresenter; this.mTablePresenter = tablePresenter;
} }
...@@ -122,6 +122,7 @@ public class PrintSkyOrderAction extends TableAction { ...@@ -122,6 +122,7 @@ public class PrintSkyOrderAction extends TableAction {
.build() .build()
.callAsyncCallbackOnMainThread((cc, result) -> { .callAsyncCallbackOnMainThread((cc, result) -> {
if (result.isSuccess()) { if (result.isSuccess()) {
printSkyorderSuccess();
} else { } else {
ArmsUtils.makeText(mContext, "打印失敗"); ArmsUtils.makeText(mContext, "打印失敗");
} }
......
package com.gingersoft.gsa.cloud.table.mvp.model.table.action;
import android.app.Activity;
import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import com.gingersoft.gsa.cloud.table.R;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-09-23
* 修订历史:2020-09-23
* 描述:餐檯模式-重置skyorder餐檯{@link com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity}
*/
public class ResetSkyorderAction extends TableAction {
public ResetSkyorderAction(Activity context) {
super(context, "重置Skyorder", "請選擇需要重置的檯號", "");
}
@Override
public void action(TableBean.DataBean dataBean) {
setOperatContentText(dataBean.getTableName());
if (dataBean.getSplitStatus() == 1) {
showSplitTableDialogAction();
} else {
showActionTipDialog(dataBean);
}
}
@Override
public boolean filterTableCondition(TableBean.DataBean dataBean) {
return dataBean.getStatus() != 0;
}
@Override
public void destroy() {
}
public void showActionTipDialog(TableBean.DataBean dataBean) {
QMUIDialog.MessageDialogBuilder dialogBuilder = new QMUIDialog.MessageDialogBuilder(mContext);
dialogBuilder.setTitleIcon(R.drawable.qmui_icon_dialog_doubt);
dialogBuilder.setMessage("是否確認重置" + dataBean.getTableName() + "號檯Skyorder?");
dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, new QMUIDialogAction.ActionListener() {
@Override
public void onClick(QMUIDialog dialog, int index) {
dialog.dismiss();
resetSkyTable(dataBean);
}
});
dialogBuilder.addAction("取消", new QMUIDialogAction.ActionListener() {
@Override
public void onClick(QMUIDialog dialog, int index) {
dialog.dismiss();
cancel();
}
});
dialogBuilder.create(R.style.MyDialogTheme2).show();
}
}
...@@ -53,27 +53,33 @@ public abstract class TableAction implements Strategy<TableBean.DataBean> { ...@@ -53,27 +53,33 @@ public abstract class TableAction implements Strategy<TableBean.DataBean> {
} }
} }
protected void resetSkyTable(TableBean.DataBean tableBean) {
if (actionListener != null) {
actionListener.resetSkyTable(tableBean);
}
}
protected void moveTable(TableBean.DataBean tableBean) { protected void moveTable(TableBean.DataBean tableBean) {
if (actionListener != null) { if (actionListener != null) {
actionListener.moveTable(tableBean); actionListener.moveTable(tableBean);
} }
} }
protected void showSplitTableDialogAction() { protected void printSkyorderSuccess() {
if (actionListener != null) { if (actionListener != null) {
actionListener.showSplitTableDialogAction(); actionListener.printSkyorderSuccess();
} }
} }
protected void splitTableAction(TableBean.DataBean tableBean) { protected void showSplitTableDialogAction() {
if (actionListener != null) { if (actionListener != null) {
actionListener.splitTableAction(tableBean); actionListener.showSplitTableDialogAction();
} }
} }
protected void printQRCodeSuccess() { protected void splitTableAction(TableBean.DataBean tableBean) {
if (actionListener != null) { if (actionListener != null) {
actionListener.printQRCodeSuccess(); actionListener.splitTableAction(tableBean);
} }
} }
...@@ -94,11 +100,13 @@ public abstract class TableAction implements Strategy<TableBean.DataBean> { ...@@ -94,11 +100,13 @@ public abstract class TableAction implements Strategy<TableBean.DataBean> {
void resetTable(TableBean.DataBean tableBean); void resetTable(TableBean.DataBean tableBean);
void resetSkyTable(TableBean.DataBean tableBean);
void moveTable(TableBean.DataBean tableBean); void moveTable(TableBean.DataBean tableBean);
void splitTableAction(TableBean.DataBean tableBean); void splitTableAction(TableBean.DataBean tableBean);
void printQRCodeSuccess(); void printSkyorderSuccess();
void showSplitTableDialogAction(); void showSplitTableDialogAction();
......
...@@ -48,12 +48,15 @@ import com.jess.arms.utils.PermissionUtil; ...@@ -48,12 +48,15 @@ import com.jess.arms.utils.PermissionUtil;
import com.jess.arms.utils.RxLifecycleUtils; import com.jess.arms.utils.RxLifecycleUtils;
import com.tbruyelle.rxpermissions2.RxPermissions; import com.tbruyelle.rxpermissions2.RxPermissions;
import org.json.JSONObject;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import javax.inject.Inject; import javax.inject.Inject;
import javax.xml.xpath.XPathFunction;
import io.reactivex.Observable; import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
...@@ -364,7 +367,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -364,7 +367,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
return totalAmount; return totalAmount;
} }
}) })
// .subscribeOn(AndroidSchedulers.mainThread()) .subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<Double>() { .subscribe(new Consumer<Double>() {
@Override @Override
...@@ -938,13 +941,16 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -938,13 +941,16 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
setChildScAbleByMainAble(newFoodList); setChildScAbleByMainAble(newFoodList);
setChildDiscountByMainAblediscount(newFoodList); setChildDiscountByMainAblediscount(newFoodList);
TableBean.DataBean tableBean = mDoshokuOrder.getOpenTableInfo();
int restaurantId = GsaCloudApplication.getRestaurantId(); int restaurantId = GsaCloudApplication.getRestaurantId();
CreateOrderRequest request = new CreateOrderRequest(); CreateOrderRequest request = new CreateOrderRequest();
request.setTableNumber(mDoshokuOrder.getOpenTableInfo().getTableNumber()); request.setTableNumber(tableBean.getTableNumber());
request.setOrderDetails(orderDetailBeanToFoodRequest(newFoodList)); request.setOrderDetails(orderDetailBeanToFoodRequest(newFoodList));
request.setPerson(mDoshokuOrder.getOpenTableInfo().getPerson()); request.setPerson(tableBean.getPerson());
request.setTableId(mDoshokuOrder.getOpenTableInfo().getId()); request.setTableId(tableBean.getId());
request.setTableName(mDoshokuOrder.getOpenTableInfo().getTableName()); request.setTableName(tableBean.getTableName());
request.setScanId(tableBean.getScanId());
request.setRounding(getRounding()); request.setRounding(getRounding());
request.setRestaurantId(restaurantId); request.setRestaurantId(restaurantId);
......
...@@ -579,34 +579,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -579,34 +579,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}); });
} }
/**
* 暂时食品折扣只能有一个
*
* @return
*/
private int cutOutDiscount() {
OrderDetail mainOrderDetail1 = mSelectMealAdapter.getCurrentMainOrderDetail();
if (mainOrderDetail1 != null) {
if (mainOrderDetail1.getItemType() == 1) {
for (int i = 0; i < mOrderMealList.size(); i++) {
OrderDetail orderDetail = mOrderMealList.get(i);
if (orderDetail.getParentIndex() == mainOrderDetail1.getMyIndex() && orderDetail.getType() == OrderDetail.DISCOUNT_TYPE) {
if (!orderDetail.isNew()) {
//已送单折扣不可替换
return -100;
}
if (mOrderMealList.get(mSelectMealAdapter.getSelect_position()).getType() == OrderDetail.DISCOUNT_TYPE) {
//选中折扣 替换原有折扣防止将折扣添加到下面一个食品
mSelectMealAdapter.setSelect_position(mSelectMealAdapter.getSelect_position() - 1);
}
mSelectMealAdapter.removeItemByPosition(i);
break;
}
}
}
}
return 0;
}
/** /**
* 裁減掉已超出的細項 * 裁減掉已超出的細項
...@@ -1179,34 +1151,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -1179,34 +1151,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
} }
} }
public void deleteOldFood() {
List<Integer> removeFoodIndex = new ArrayList<>();
//記錄删除所有已下单食品
for (int i = 0; i < getOrderFoodLists().size(); i++) {
OrderDetail myOrder = getOrderFoodLists().get(i);
if (!myOrder.isNew()) {
removeFoodIndex.add(myOrder.getMyIndex());
} else {
//未下單单食品下新加的子项 一起删除
if (removeFoodIndex.indexOf(myOrder.getParentIndex()) != -1) {
removeFoodIndex.add(myOrder.getMyIndex());
}
}
}
List<OrderDetail> orderFoodList = getOrderFoodLists();
//删除所有已下单食品下子食品
for (int i = removeFoodIndex.size() - 1; i >= 0; i--) {
int removeIndex = removeFoodIndex.get(i) - 1;
if (removeIndex > -1 && removeIndex < orderFoodList.size()) {
orderFoodList.remove(removeIndex);
}
}
if (removeFoodIndex.size() > 0) {
removeFoodIndex.clear();
mSelectMealAdapter.notifyDataSetChanged();
}
}
public void changedMealByParentId(long parentId) { public void changedMealByParentId(long parentId) {
List<Food> foodList = mModel.queryDB_FoodList(parentId, BaseOrder.orderType); List<Food> foodList = mModel.queryDB_FoodList(parentId, BaseOrder.orderType);
mFoodAdapter.resetSelect(-1, null); mFoodAdapter.resetSelect(-1, null);
...@@ -1364,7 +1308,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -1364,7 +1308,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
} }
} }
} }
if (IActivity.getFoodGroupGridViewAdapter() != null) { if (IActivity.getFoodGroupGridViewAdapter() != null) {
IActivity.getFoodGroupGridViewAdapter().notifyDataSetChanged(); IActivity.getFoodGroupGridViewAdapter().notifyDataSetChanged();
} }
...@@ -1612,6 +1555,10 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -1612,6 +1555,10 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
* @return * @return
*/ */
public boolean memberPointsCondition(double pointsRedeem, String foodName) { public boolean memberPointsCondition(double pointsRedeem, String foodName) {
if (mTakeawayOrder != null) {
//外賣新訂單 不需要驗證
return true;
}
MemberInfo memberInfo = mDoshokuOrder.getMemberInfo(); MemberInfo memberInfo = mDoshokuOrder.getMemberInfo();
if (memberInfo == null) { if (memberInfo == null) {
//当前食品需要会员积分 //当前食品需要会员积分
...@@ -1930,8 +1877,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -1930,8 +1877,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
public int addMultipleModifierItems(Modifier modifierItem, int addPosition) { public int addMultipleModifierItems(Modifier modifierItem, int addPosition) {
int overIndex = 0; int overIndex = 0;
for (int i = 0; i < mOrderMealList.size(); i++) { for (int i = 0; i < mOrderMealList.size(); i++) {
if (overIndex > i) if (overIndex > i) {
continue; continue;
}
OrderDetail item = mOrderMealList.get(i); OrderDetail item = mOrderMealList.get(i);
if (item.getSelected() != 0) { if (item.getSelected() != 0) {
if (item.getItemType() == 1) { if (item.getItemType() == 1) {
......
...@@ -58,6 +58,8 @@ import com.jess.arms.integration.AppManager; ...@@ -58,6 +58,8 @@ import com.jess.arms.integration.AppManager;
import com.jess.arms.utils.ArmsUtils; import com.jess.arms.utils.ArmsUtils;
import com.jess.arms.utils.RxLifecycleUtils; import com.jess.arms.utils.RxLifecycleUtils;
import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.xuexiang.rxutil2.rxjava.RxJavaUtils;
import com.xuexiang.rxutil2.rxjava.task.RxAsyncTask;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
...@@ -69,6 +71,7 @@ import javax.inject.Inject; ...@@ -69,6 +71,7 @@ import javax.inject.Inject;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull; import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Consumer;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import me.jessyan.rxerrorhandler.core.RxErrorHandler; import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber; import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
...@@ -106,12 +109,6 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -106,12 +109,6 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
private List<Function> mFunctionList = new ArrayList<>(); private List<Function> mFunctionList = new ArrayList<>();
/** /**
* 定时获取餐台 定时器
*/
private GetTableTimer tableTimer;
private Disposable mGetTablesDataDisposable;
/**
* 分檯弹窗 * 分檯弹窗
*/ */
private SplitTableDialog mSplitTableDialog; private SplitTableDialog mSplitTableDialog;
...@@ -121,11 +118,14 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -121,11 +118,14 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
*/ */
private BillDiscountAction mNomalDiscountAction; private BillDiscountAction mNomalDiscountAction;
private Disposable mGetTablesDataDisposable;
private Disposable mTablesPollingDisposable;
@Inject @Inject
public OrderContentPresenter(OrderContentContract.Model model, OrderContentContract.View rootView) { public OrderContentPresenter(OrderContentContract.Model model, OrderContentContract.View rootView) {
super(model, rootView); super(model, rootView);
this.IActivity = (OrderContentActivity) rootView; this.IActivity = (OrderContentActivity) rootView;
if (!mDoshokuOrder.isModifyOrder()) { if (mDoshokuOrder != null && !mDoshokuOrder.isModifyOrder()) {
//转移食品可多选 //转移食品可多选
mSelectMealAdapter.setSelectedMode(SelectMealAdapter.MULTIPLE_SELECTED); mSelectMealAdapter.setSelectedMode(SelectMealAdapter.MULTIPLE_SELECTED);
} }
...@@ -151,6 +151,8 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -151,6 +151,8 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
this.mAppManager = null; this.mAppManager = null;
this.mImageLoader = null; this.mImageLoader = null;
this.mApplication = null; this.mApplication = null;
stopTablePolling();
} }
public void initAdapter() { public void initAdapter() {
...@@ -181,6 +183,11 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -181,6 +183,11 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
if (!canPrint()) { if (!canPrint()) {
return; return;
} }
if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.TAKEAWAY_TYPE)) {
//TODO 外賣新訂單印單
printOrder(DoshokuOrder.getInstance().getOpenTableInfo().getId(), false);
return;
}
if (hasNesOrderFoods() || getNewDiscount() != null) { if (hasNesOrderFoods() || getNewDiscount() != null) {
//有未送單食品先送單 //有未送單食品先送單
sendOrder(true, null); sendOrder(true, null);
...@@ -250,33 +257,33 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -250,33 +257,33 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
if (mFunctionList.size() > 0) { if (mFunctionList.size() > 0) {
mFunctionList.clear(); mFunctionList.clear();
} }
if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.RESTAURANT_MODE) && mDoshokuOrder.isModifyOrder()) { if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.RESTAURANT_MODE)) {
if (mDoshokuOrder.isModifyOrder()) {
//修改訂單隱藏送單,印單功能 //修改訂單隱藏送單,印單功能
mFunctionList.add(new Function("結賬", Color.parseColor("#FFFFFF"), Color.parseColor("#DC0000"), 24)); mFunctionList.add(new Function("結賬", Color.parseColor("#FFFFFF"), Color.parseColor("#DC0000"), 24));
mFunctionList.add(new Function("折扣", Color.parseColor("#FFFFFF"), Color.parseColor("#008577"), 24)); mFunctionList.add(new Function("折扣", Color.parseColor("#FFFFFF"), Color.parseColor("#008577"), 24));
} else { } else {
List<Function> functions = FunctionManager.getDefault().getFunctionByResModule(GsaCloudApplication.getAppContext(), ComponentTable.table.class, ComponentTable.table.order, "order"); // List<Function> functions = FunctionManager.getDefault().getFunctionByResModule(GsaCloudApplication.getAppContext(), ComponentTable.table.class, ComponentTable.table.order, "order");
for (int i = 0; i < functions.size(); i++) { // for (int i = 0; i < functions.size(); i++) {
if (functions.get(i).getParentId() == 0) { // if (functions.get(i).getParentId() == 0) {
functions.remove(i); // functions.remove(i);
} // }
} // }
// if (functions.size() > 0) { // if (functions.size() > 0) {
// mFunctionList.addAll(functions); // mFunctionList.addAll(functions);
// } else { // } else {
if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.TAKEAWAY_TYPE)) {
mFunctionList.add(new Function("折扣", Color.parseColor("#FFFFFF"), Color.parseColor("#008577"), 24));
mFunctionList.add(new Function("印單", Color.parseColor("#FFFFFF"), Color.parseColor("#FF8E04"), 24));
mFunctionList.add(new Function("送單信息", Color.parseColor("#FFFFFF"), Color.parseColor("#008131"), 24));
} else {
mFunctionList.add(new Function("送單", Color.parseColor("#FFFFFF"), Color.parseColor("#008131"), 24)); mFunctionList.add(new Function("送單", Color.parseColor("#FFFFFF"), Color.parseColor("#008131"), 24));
mFunctionList.add(new Function("印單", Color.parseColor("#FFFFFF"), Color.parseColor("#FF8E04"), 24)); mFunctionList.add(new Function("印單", Color.parseColor("#FFFFFF"), Color.parseColor("#FF8E04"), 24));
mFunctionList.add(new Function("結賬", Color.parseColor("#FFFFFF"), Color.parseColor("#DC0000"), 24)); mFunctionList.add(new Function("結賬", Color.parseColor("#FFFFFF"), Color.parseColor("#DC0000"), 24));
mFunctionList.add(new Function("轉移", Color.parseColor("#FFFFFF"), Color.parseColor("#FF4B9DFA"), 24)); mFunctionList.add(new Function("轉移", Color.parseColor("#FFFFFF"), Color.parseColor("#FF4B9DFA"), 24));
mFunctionList.add(new Function("折扣", Color.parseColor("#FFFFFF"), Color.parseColor("#008577"), 24)); mFunctionList.add(new Function("折扣", Color.parseColor("#FFFFFF"), Color.parseColor("#008577"), 24));
}
// } // }
} }
} else if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.TAKEAWAY_TYPE)) {
mFunctionList.add(new Function("折扣", Color.parseColor("#FFFFFF"), Color.parseColor("#008577"), 24));
mFunctionList.add(new Function("印單", Color.parseColor("#FFFFFF"), Color.parseColor("#FF8E04"), 24));
mFunctionList.add(new Function("送單信息", Color.parseColor("#FFFFFF"), Color.parseColor("#008131"), 24));
}
} }
public void setPrinterMachineName() { public void setPrinterMachineName() {
...@@ -604,7 +611,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -604,7 +611,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
@Override @Override
public void onNext(@NonNull BaseResult result) { public void onNext(@NonNull BaseResult result) {
if (result.isSuccess()) { if (result.isSuccess()) {
TableBean.DataBean tableBean = JsonUtils.parseObject(result.getData(),TableBean.DataBean.class); TableBean.DataBean tableBean = JsonUtils.parseObject(result.getData(), TableBean.DataBean.class);
if (tableBean != null) { if (tableBean != null) {
if (tableBean.getUseStatus() == 0) { if (tableBean.getUseStatus() == 0) {
String msg = "轉移到" + tableBean.getTableName() + "號檯?"; String msg = "轉移到" + tableBean.getTableName() + "號檯?";
...@@ -792,7 +799,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -792,7 +799,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
* @param info * @param info
*/ */
private void updateOrderDetails(BaseOrderResponse info) { private void updateOrderDetails(BaseOrderResponse info) {
if (info.getData() != null) { if (mDoshokuOrder != null && info.getData() != null) {
if (info.getData().getOrderDetails() != null) { if (info.getData().getOrderDetails() != null) {
...@@ -906,45 +913,25 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -906,45 +913,25 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
return true; return true;
} }
public void initGetTableTimer() { public void startTablePolling() {
if (tableTimer == null) { if (mTablesPollingDisposable == null) {
tableTimer = new GetTableTimer(GoldConstants.refreshTime * 1000, GoldConstants.refreshTime * 1000); mTablesPollingDisposable = RxJavaUtils.polling(GoldConstants.refreshTime)
} .compose(RxLifecycleUtils.bindToLifecycle(mRootView))
TableActivity.isRefreshData = true; .subscribe(new Consumer<Long>() {
}
public void startTableTimer() {
initGetTableTimer();
if (tableTimer != null) {
tableTimer.start();
}
}
public void cancelTableTimer() {
if (tableTimer != null) {
tableTimer.cancel();
}
}
/**
* 计时器类 定時更新餐台数据
*/
private class GetTableTimer extends CountDownTimer {
public GetTableTimer(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);// 参数依次为总时长,和计时的时间间隔
}
@Override @Override
public void onFinish() {// 计时完毕时触发 public void accept(Long aLong) throws Exception {
if (IActivity.isRefreshData()) { if (TableActivity.isRefreshData) {
getTables(false, null); getTables(false, null);
} }
this.start(); }
});
}
} }
@Override public void stopTablePolling() {
public void onTick(long millisUntilFinished) {// 计时过程显示 if (mTablesPollingDisposable != null && !mTablesPollingDisposable.isDisposed()) {
mTablesPollingDisposable.dispose();
mTablesPollingDisposable = null;
} }
} }
......
...@@ -121,12 +121,12 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model ...@@ -121,12 +121,12 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
if (payMethods.get(i) == null) { if (payMethods.get(i) == null) {
payMethods.remove(i); payMethods.remove(i);
} }
if (BuildConfig.DEBUG) { // if (BuildConfig.DEBUG) {
if (i == 0) { // if (i == 0) {
payMethods.get(i).setPayType(PayMethod.PAY_TYPE_INTEGRAL); // payMethods.get(i).setPayType(PayMethod.PAY_TYPE_INTEGRAL);
payMethods.get(i).setPayName("測試積分支付"); // payMethods.get(i).setPayName("測試積分支付");
} // }
} // }
} }
mRootView.loadPayMethodsSuccess(payMethods); mRootView.loadPayMethodsSuccess(payMethods);
} }
......
...@@ -619,7 +619,10 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -619,7 +619,10 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
dialog.dismiss(); dialog.dismiss();
DoshokuOrder.getInstance().setMemberInfo(mMemberInfo); DoshokuOrder.getInstance().setMemberInfo(mMemberInfo);
//添加会员折扣行 //添加会员折扣行
mPresenter.getShoppingCart().addMultyDiscount(mPresenter.getShoppingCart().createMemberDiscount(mMemberInfo, BillItem.BILL_ITEM_NO_ORDER_STATUS)); mPresenter.getShoppingCart()
.addMultyDiscount(mPresenter.getShoppingCart()
.createMemberDiscount(mMemberInfo, BillItem.BILL_ITEM_NO_ORDER_STATUS));
useMember(); useMember();
if (DoshokuOrder.getInstance().needUpdateMemberInfo()) { if (DoshokuOrder.getInstance().needUpdateMemberInfo()) {
......
...@@ -14,6 +14,7 @@ import android.widget.Button; ...@@ -14,6 +14,7 @@ import android.widget.Button;
import android.widget.Chronometer; import android.widget.Chronometer;
import android.widget.SimpleAdapter; import android.widget.SimpleAdapter;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
...@@ -22,13 +23,17 @@ import androidx.recyclerview.widget.DefaultItemAnimator; ...@@ -22,13 +23,17 @@ import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager.widget.ViewPager; import androidx.viewpager.widget.ViewPager;
import com.gingersoft.gsa.cloud.app.GsaCloudApplication; import com.gingersoft.gsa.cloud.app.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart; import com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart;
import com.gingersoft.gsa.cloud.base.order.order.BaseOrder;
import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder; import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.base.table.bean.TableBean; import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import com.gingersoft.gsa.cloud.base.utils.VibratorUtils; import com.gingersoft.gsa.cloud.base.utils.VibratorUtils;
import com.gingersoft.gsa.cloud.base.utils.encryption.DESUtil; import com.gingersoft.gsa.cloud.base.utils.encryption.DESUtil;
import com.gingersoft.gsa.cloud.base.utils.log.LogUtil; import com.gingersoft.gsa.cloud.base.utils.log.LogUtil;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.constans.FoodSummaryConstans;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2; import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.di.component.DaggerOrderContentComponent; import com.gingersoft.gsa.cloud.table.di.component.DaggerOrderContentComponent;
...@@ -187,18 +192,18 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese ...@@ -187,18 +192,18 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
@Override @Override
public void initData(@Nullable Bundle savedInstanceState) { public void initData(@Nullable Bundle savedInstanceState) {
initTopInfo();
initOrderBill(mPresenter.getFoodTotal(),mPresenter.getTotalAmount());
mPresenter.initTopFunctionData(); mPresenter.initTopFunctionData();
mPresenter.initAdapter(); mPresenter.initAdapter();
mPresenter.initItemListener(); mPresenter.initItemListener();
if (!mDoshokuOrder.isModifyOrder()) { initTopInfo(BaseOrder.orderType);
initOrderBill(mPresenter.getFoodTotal(), mPresenter.getTotalAmount());
if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.RESTAURANT_MODE) && !DoshokuOrder.getInstance().isModifyOrder()) {
//根据倒计时时间自动退出当前页面 //根据倒计时时间自动退出当前页面
initAutoQuit(); initAutoQuit();
} }
} }
public void initOrderBill(double wholeAmount,double totalAmount) { public void initOrderBill(double wholeAmount, double totalAmount) {
int foodCount = mPresenter.getFoodCount(); int foodCount = mPresenter.getFoodCount();
if (foodCount > 0) { if (foodCount > 0) {
btn_order_count.setText(String.valueOf(foodCount)); btn_order_count.setText(String.valueOf(foodCount));
...@@ -210,23 +215,27 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese ...@@ -210,23 +215,27 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
tv_total.setText("$" + totalAmount); tv_total.setText("$" + totalAmount);
} }
private void initTopInfo() { private void initTopInfo(int orderType) {
if (orderType == FoodSummaryConstans.RESTAURANT_MODE) {
TableBean.DataBean tableInfo = mDoshokuOrder.getOpenTableInfo(); TableBean.DataBean tableInfo = mDoshokuOrder.getOpenTableInfo();
Date dd = mDoshokuOrder.getOpenTableTime(); Date dd = mDoshokuOrder.getOpenTableTime();
String openTime = String.format("%tH:%tM", dd, dd); String openTime = String.format("%tH:%tM", dd, dd);
String tableno;
String tableno = "";
if (tableInfo.getSplitStatus() != 0) { if (tableInfo.getSplitStatus() != 0) {
tableno = tableInfo.getTableName().trim() + "-" + tableInfo.getTableNumber().trim(); tableno = tableInfo.getTableName().trim() + "-" + tableInfo.getTableNumber().trim();
} else { } else {
tableno = tableInfo.getTableName(); tableno = tableInfo.getTableName();
} }
btn_table.setText(tableno); btn_table.setText(tableno);
tv_time.setText("時間:" + openTime);
btn_people_num.setText(tableInfo.getPerson() + ""); btn_people_num.setText(tableInfo.getPerson() + "");
tv_time.setText("時間:" + openTime);
tv_server_main.setText(GsaCloudApplication.getMemberName()); tv_server_main.setText(GsaCloudApplication.getMemberName());
} else if (orderType == FoodSummaryConstans.TAKEAWAY_TYPE) {
btn_table.setText("外賣");
btn_people_num.setText("1");
tv_time.setText("時間:" + TimeUtils.getCurrentDate(TimeUtils.DATE_FORMAT_DATE_HM));
tv_server_main.setText("");
}
} }
private void useMember() { private void useMember() {
...@@ -356,14 +365,14 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese ...@@ -356,14 +365,14 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
@Override @Override
public void onStartRefreshTableData() { public void onStartRefreshTableData() {
isRefreshData = true; isRefreshData = true;
mPresenter.startTableTimer(); mPresenter.startTablePolling();
getTables(false, null); getTables(false, null);
} }
@Override @Override
public void onPauseRefreshTableData() { public void onPauseRefreshTableData() {
isRefreshData = false; isRefreshData = false;
mPresenter.cancelTableTimer(); mPresenter.stopTablePolling();
//立刻停止獲取餐檯接口 //立刻停止獲取餐檯接口
if (mPresenter.getGetTablesDataDisposable() != null && !mPresenter.getGetTablesDataDisposable().isDisposed()) { if (mPresenter.getGetTablesDataDisposable() != null && !mPresenter.getGetTablesDataDisposable().isDisposed()) {
mPresenter.getGetTablesDataDisposable().dispose(); mPresenter.getGetTablesDataDisposable().dispose();
...@@ -484,7 +493,7 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese ...@@ -484,7 +493,7 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
TableBean.DataBean tableInfo = DoshokuOrder.getInstance().getOpenTableInfo(); TableBean.DataBean tableInfo = DoshokuOrder.getInstance().getOpenTableInfo();
if (initTable && tableInfo != null && !mDoshokuOrder.isModifyOrder()) { if (initTable && tableInfo != null && !mDoshokuOrder.isModifyOrder()) {
//通知更新餐台状态 //通知更新餐台状态
EventBus.getDefault().post(new InitTableEvent(tableInfo.getId(),tableInfo.getTableNumber()), "initTable_status_event"); EventBus.getDefault().post(new InitTableEvent(tableInfo.getId(), tableInfo.getTableNumber()), "initTable_status_event");
} }
mAppManager.killActivity(MealStandActivity.class); mAppManager.killActivity(MealStandActivity.class);
killMyself(); killMyself();
...@@ -551,7 +560,7 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese ...@@ -551,7 +560,7 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
// 设置返回码和返回携带的数据 // 设置返回码和返回携带的数据
if (tableInfo != null) { if (tableInfo != null) {
//通知更新餐台状态 //通知更新餐台状态
EventBus.getDefault().post(new InitTableEvent(tableInfo.getId(),tableInfo.getTableNumber()), "initTable_status_event"); EventBus.getDefault().post(new InitTableEvent(tableInfo.getId(), tableInfo.getTableNumber()), "initTable_status_event");
} }
setResult(Activity.RESULT_OK, null); setResult(Activity.RESULT_OK, null);
killMyself(); killMyself();
...@@ -562,7 +571,7 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese ...@@ -562,7 +571,7 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
TableBean.DataBean tableInfo = DoshokuOrder.getInstance().getOpenTableInfo(); TableBean.DataBean tableInfo = DoshokuOrder.getInstance().getOpenTableInfo();
if (tableInfo != null) { if (tableInfo != null) {
//通知更新餐台状态 //通知更新餐台状态
EventBus.getDefault().post(new InitTableEvent(tableInfo.getId(),tableInfo.getTableNumber()), "initTable_status_event"); EventBus.getDefault().post(new InitTableEvent(tableInfo.getId(), tableInfo.getTableNumber()), "initTable_status_event");
} }
setResult(Activity.RESULT_OK, null); setResult(Activity.RESULT_OK, null);
killMyself(); killMyself();
......
...@@ -4,6 +4,7 @@ import android.content.Intent; ...@@ -4,6 +4,7 @@ import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.os.Message; import android.os.Message;
import android.view.View; import android.view.View;
import android.view.ViewTreeObserver;
import android.widget.AdapterView; import android.widget.AdapterView;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
...@@ -22,7 +23,7 @@ import com.gingersoft.gsa.cloud.table.di.component.DaggerTableComponent; ...@@ -22,7 +23,7 @@ import com.gingersoft.gsa.cloud.table.di.component.DaggerTableComponent;
import com.gingersoft.gsa.cloud.table.mvp.contract.TableContract; import com.gingersoft.gsa.cloud.table.mvp.contract.TableContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.event.InitTableEvent; import com.gingersoft.gsa.cloud.table.mvp.model.bean.event.InitTableEvent;
import com.gingersoft.gsa.cloud.table.mvp.model.constant.TableActionConstant; import com.gingersoft.gsa.cloud.table.mvp.model.constant.TableActionConstant;
import com.gingersoft.gsa.cloud.table.mvp.model.table.action.PrintSkyOrderAction; import com.gingersoft.gsa.cloud.table.mvp.model.table.action.PrintSkyorderAction;
import com.gingersoft.gsa.cloud.table.mvp.model.table.action.TableAction; import com.gingersoft.gsa.cloud.table.mvp.model.table.action.TableAction;
import com.gingersoft.gsa.cloud.table.mvp.presenter.TablePresenter; import com.gingersoft.gsa.cloud.table.mvp.presenter.TablePresenter;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.AllTableFragment; import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.AllTableFragment;
...@@ -57,6 +58,7 @@ import java.util.Map; ...@@ -57,6 +58,7 @@ import java.util.Map;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.DefaultItemAnimator; import androidx.recyclerview.widget.DefaultItemAnimator;
...@@ -95,6 +97,9 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen ...@@ -95,6 +97,9 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
@BindView(R2.id.tv_show_popup) @BindView(R2.id.tv_show_popup)
TextView tv_show_popup; TextView tv_show_popup;
@BindView(R2.id.rl_center_content)
RelativeLayout rl_center_content;
@BindView(R2.id.rv_bottom_function) @BindView(R2.id.rv_bottom_function)
RecyclerView rv_bottom_function; RecyclerView rv_bottom_function;
@BindView(R2.id.btn_cancel_operat) @BindView(R2.id.btn_cancel_operat)
...@@ -166,7 +171,6 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen ...@@ -166,7 +171,6 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
// getTables(true, null); // getTables(true, null);
// } // }
// }); // });
View view = getWindow().getDecorView();
initTabAndPager(); initTabAndPager();
getTables(true, null); getTables(true, null);
} }
...@@ -324,7 +328,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen ...@@ -324,7 +328,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
@OnClick(R2.id.rl_skyorder) @OnClick(R2.id.rl_skyorder)
public void clickSkyorder() { public void clickSkyorder() {
TableAction tableAction = mPresenter.getTableActionByClass(PrintSkyOrderAction.class); TableAction tableAction = mPresenter.getTableActionByClass(PrintSkyorderAction.class);
if (tableAction != null) { if (tableAction != null) {
mPresenter.setTableAction(tableAction); mPresenter.setTableAction(tableAction);
setCurrentTableAction(tableAction); setCurrentTableAction(tableAction);
...@@ -396,14 +400,14 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen ...@@ -396,14 +400,14 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
@Override @Override
public void onStartRefreshTableData() { public void onStartRefreshTableData() {
isRefreshData = true; isRefreshData = true;
mPresenter.startTableTimer(); mPresenter.startTablePolling();
getTables(false, null); getTables(false, null);
} }
@Override @Override
public void onPauseRefreshTableData() { public void onPauseRefreshTableData() {
isRefreshData = false; isRefreshData = false;
mPresenter.cancelTableTimer(); mPresenter.stopTablePolling();
//立刻停止獲取餐檯接口 //立刻停止獲取餐檯接口
if (mPresenter.getGetTablesDataDisposable() != null && !mPresenter.getGetTablesDataDisposable().isDisposed()) { if (mPresenter.getGetTablesDataDisposable() != null && !mPresenter.getGetTablesDataDisposable().isDisposed()) {
mPresenter.getGetTablesDataDisposable().dispose(); mPresenter.getGetTablesDataDisposable().dispose();
...@@ -426,6 +430,14 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen ...@@ -426,6 +430,14 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
@Override @Override
public void setBottomFunctionVisibility(boolean show) { public void setBottomFunctionVisibility(boolean show) {
rv_bottom_function.setVisibility(show == true ? View.VISIBLE : View.GONE); rv_bottom_function.setVisibility(show == true ? View.VISIBLE : View.GONE);
ViewTreeObserver viewTreeObserver = rv_bottom_function.getViewTreeObserver();
viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
rv_bottom_function.getViewTreeObserver().removeOnGlobalLayoutListener(this);
setCenterContentMarginBottom(rv_bottom_function.getHeight());
}
});
} }
@Override @Override
...@@ -433,8 +445,15 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen ...@@ -433,8 +445,15 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
iv_lock.setVisibility(show == true ? View.VISIBLE : View.GONE); iv_lock.setVisibility(show == true ? View.VISIBLE : View.GONE);
} }
@Override
public void setCenterContentMarginBottom(int bottomMargin) {
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) rl_center_content.getLayoutParams();
layoutParams.bottomMargin = bottomMargin;
rl_center_content.setLayoutParams(layoutParams);
}
private boolean showSkyorderLayoutVisibility(boolean show) { private boolean showSkyorderLayoutVisibility(boolean show) {
PrintSkyOrderAction skyOrderAction = (PrintSkyOrderAction) mPresenter.getTableActionByClass(PrintSkyOrderAction.class); PrintSkyorderAction skyOrderAction = (PrintSkyorderAction) mPresenter.getTableActionByClass(PrintSkyorderAction.class);
if (skyOrderAction == null) { if (skyOrderAction == null) {
rl_skyorder.setVisibility(View.GONE); rl_skyorder.setVisibility(View.GONE);
return false; return false;
......
...@@ -107,6 +107,6 @@ public class BottomFunctionAdapter extends DefaultAdapter<Function> { ...@@ -107,6 +107,6 @@ public class BottomFunctionAdapter extends DefaultAdapter<Function> {
tv_name.setText(item.getResName()); tv_name.setText(item.getResName());
} }
} }
} }
...@@ -399,7 +399,7 @@ public class SkyOrderDialog extends BaseRetryDialog implements View.OnClickListe ...@@ -399,7 +399,7 @@ public class SkyOrderDialog extends BaseRetryDialog implements View.OnClickListe
*/ */
long currentTimeMillis = System.currentTimeMillis(); long currentTimeMillis = System.currentTimeMillis();
//设置默认交台时间为当前时间往后推多少分钟(可配置) //设置默认交台时间为当前时间往后推多少分钟(可配置)
long defaultMealLater = currentTimeMillis + (foodSummary.getMealLength() * 60 * 1000); long defaultMealLater = currentTimeMillis + (foodSummary.getDiningTime() * 60 * 1000);
String defaultMealLaterTimes[] = TimeUtils.getStringByFormat(defaultMealLater, TimeUtils.DATE_FORMAT_DATE_HM).split(":"); String defaultMealLaterTimes[] = TimeUtils.getStringByFormat(defaultMealLater, TimeUtils.DATE_FORMAT_DATE_HM).split(":");
for (int i = 0; i < mMealHours.size(); i++) { for (int i = 0; i < mMealHours.size(); i++) {
int hour = mMealHours.get(i); int hour = mMealHours.get(i);
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
android:drawableLeft="@drawable/qmui_icon_topbar_back" android:drawableLeft="@drawable/qmui_icon_topbar_back"
android:gravity="center_vertical" android:gravity="center_vertical"
android:paddingLeft="@dimen/dp_5" android:paddingLeft="@dimen/dp_5"
android:text="105A-2" android:text="外賣"
android:textColor="@color/theme_white_color" android:textColor="@color/theme_white_color"
android:textSize="@dimen/font_large" android:textSize="@dimen/font_large"
android:textStyle="bold" /> android:textStyle="bold" />
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:background="@color/trans" android:background="@color/trans"
android:drawableLeft="@mipmap/meal_people_num_white" android:drawableLeft="@mipmap/meal_people_num_white"
android:text="8" android:text="1"
android:textColor="@color/theme_white_color" android:textColor="@color/theme_white_color"
android:textSize="@dimen/font_large" android:textSize="@dimen/font_large"
android:textStyle="bold"/> android:textStyle="bold"/>
......
...@@ -9,14 +9,14 @@ ...@@ -9,14 +9,14 @@
android:id="@+id/topbar" android:id="@+id/topbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="?attr/qmui_topbar_height" android:layout_height="?attr/qmui_topbar_height"
app:layout_constraintTop_toTopOf="parent"
app:qmui_topbar_title_color="@color/theme_white_color" /> app:qmui_topbar_title_color="@color/theme_white_color" />
<RelativeLayout <RelativeLayout
android:id="@+id/rl_center_content"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_above="@+id/bn_table_function"
android:layout_marginTop="?attr/qmui_topbar_height" android:layout_marginTop="?attr/qmui_topbar_height"
android:layout_marginBottom="@dimen/dp_60"
android:background="#FFE8E8E8"> android:background="#FFE8E8E8">
<TextView <TextView
...@@ -69,14 +69,21 @@ ...@@ -69,14 +69,21 @@
</LinearLayout> </LinearLayout>
</RelativeLayout> </RelativeLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true">
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_bottom_function" android:id="@+id/rv_bottom_function"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_60" android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_alignParentBottom="true" android:layout_alignParentBottom="true"
android:layout_gravity="bottom"
android:background="@drawable/table_shape_table_bottom_function_layout" android:background="@drawable/table_shape_table_bottom_function_layout"
android:orientation="horizontal" /> android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent" />
<include layout="@layout/table_item_skyorder" /> <include layout="@layout/table_item_skyorder" />
...@@ -88,5 +95,7 @@ ...@@ -88,5 +95,7 @@
android:background="@color/transparent" android:background="@color/transparent"
android:text="取消" android:text="取消"
android:textColor="@color/theme_white_color" android:textColor="@color/theme_white_color"
android:visibility="invisible" /> android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</RelativeLayout> </RelativeLayout>
...@@ -9,13 +9,13 @@ ...@@ -9,13 +9,13 @@
android:layout_marginBottom="@dimen/dp_27" android:layout_marginBottom="@dimen/dp_27"
android:gravity="center" android:gravity="center"
android:orientation="vertical" android:orientation="vertical"
app:qmui_backgroundColor="@color/theme_color"> app:qmui_backgroundColor="@color/theme_color"
app:layout_constraintStart_toStartOf="@+id/rv_bottom_function"
app:layout_constraintEnd_toEndOf="@+id/rv_bottom_function"
app:layout_constraintBottom_toBottomOf="@+id/rv_bottom_function"
app:layout_constraintTop_toTopOf="@+id/rv_bottom_function"
app:layout_constraintBottom_toTopOf="@+id/rv_bottom_function">
<!-- app:layout_constraintStart_toStartOf="@+id/rv_bottom_function"-->
<!-- app:layout_constraintEnd_toEndOf="@+id/rv_bottom_function"-->
<!-- app:layout_constraintBottom_toBottomOf="@+id/rv_bottom_function"-->
<!-- app:layout_constraintTop_toTopOf="@+id/rv_bottom_function"-->
<!-- app:layout_constraintBottom_toTopOf="@+id/rv_bottom_function"-->
<ImageView <ImageView
android:id="@+id/iv_skyorder_qrcode" android:id="@+id/iv_skyorder_qrcode"
android:layout_width="wrap_content" android:layout_width="wrap_content"
......
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