Commit 19072f96 by 宁斌

1、餐檯模式使用會員修改

2、删除食品页面, 送单接口调整
3、首页多次登出 再次进入,退出不了应用
parent e3e7e244
...@@ -32,11 +32,15 @@ import com.jess.arms.utils.ArmsUtils; ...@@ -32,11 +32,15 @@ import com.jess.arms.utils.ArmsUtils;
import com.qmuiteam.qmui.arch.QMUIFragment; import com.qmuiteam.qmui.arch.QMUIFragment;
import com.qmuiteam.qmui.skin.QMUISkinMaker; import com.qmuiteam.qmui.skin.QMUISkinMaker;
import com.trello.rxlifecycle2.android.FragmentEvent; import com.trello.rxlifecycle2.android.FragmentEvent;
import java.util.Observable;
import javax.inject.Inject; import javax.inject.Inject;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentActivity;
import io.reactivex.Observer;
import io.reactivex.subjects.BehaviorSubject; import io.reactivex.subjects.BehaviorSubject;
import io.reactivex.subjects.Subject; import io.reactivex.subjects.Subject;
import me.yokeyword.fragmentation.ExtraTransaction; import me.yokeyword.fragmentation.ExtraTransaction;
...@@ -68,6 +72,7 @@ public abstract class BaseFragment<P extends IPresenter> extends Fragment implem ...@@ -68,6 +72,7 @@ public abstract class BaseFragment<P extends IPresenter> extends Fragment implem
final SupportFragmentDelegate mDelegate = new SupportFragmentDelegate(this); final SupportFragmentDelegate mDelegate = new SupportFragmentDelegate(this);
protected BaseFragmentActivity _mActivity; protected BaseFragmentActivity _mActivity;
private Observable mObservable;
@NonNull @NonNull
@Override @Override
......
...@@ -58,7 +58,7 @@ import retrofit2.converter.gson.GsonConverterFactory; ...@@ -58,7 +58,7 @@ import retrofit2.converter.gson.GsonConverterFactory;
*/ */
@Module @Module
public abstract class ClientModule { public abstract class ClientModule {
public static int TIME_OUT = 10; public static int TIME_OUT = 15;
/** /**
* 提供 {@link Retrofit} * 提供 {@link Retrofit}
......
...@@ -10,7 +10,9 @@ ...@@ -10,7 +10,9 @@
android:networkSecurityConfig="@xml/network_android" android:networkSecurityConfig="@xml/network_android"
android:theme="@style/AppTheme"> android:theme="@style/AppTheme">
<activity android:name="com.gingersoft.gsa.cloud.ui.activity.WebActivity"/> <activity android:name="com.gingersoft.gsa.cloud.ui.activity.WebActivity"/>
<activity android:name="com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity" /> <activity
android:name="com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity"
android:launchMode="singleInstance"/>
<meta-data <meta-data
android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration" android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
......
...@@ -10,7 +10,9 @@ ...@@ -10,7 +10,9 @@
android:networkSecurityConfig="@xml/network_android" android:networkSecurityConfig="@xml/network_android"
android:theme="@style/AppTheme"> android:theme="@style/AppTheme">
<activity android:name="com.gingersoft.gsa.cloud.ui.activity.WebActivity"/> <activity android:name="com.gingersoft.gsa.cloud.ui.activity.WebActivity"/>
<activity android:name="com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity" /> <activity
android:name="com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity"
android:launchMode="singleInstance"/>
<meta-data <meta-data
android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration" android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
......
...@@ -364,7 +364,7 @@ public class GsaCloudApplication extends BaseApplication { ...@@ -364,7 +364,7 @@ public class GsaCloudApplication extends BaseApplication {
} }
/** /**
* 获取系统上下文:用于ToastUtil类 * 获取系统上下文
*/ */
public static GsaCloudApplication getAppContext() { public static GsaCloudApplication getAppContext() {
return mAppContext; return mAppContext;
......
...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.base.common.bean; ...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.base.common.bean;
import android.text.TextUtils; import android.text.TextUtils;
import java.io.Serializable;
import java.util.Date; import java.util.Date;
import lombok.Data; import lombok.Data;
...@@ -14,7 +15,7 @@ import lombok.Data; ...@@ -14,7 +15,7 @@ import lombok.Data;
* 描述: * 描述:
*/ */
@Data @Data
public class MemberInfo { public class MemberInfo implements Serializable {
/** /**
* ablediscount : 0 * ablediscount : 0
...@@ -198,7 +199,7 @@ public class MemberInfo { ...@@ -198,7 +199,7 @@ public class MemberInfo {
} }
@Data @Data
public static class CreateTimeBean { public static class CreateTimeBean implements Serializable{
/** /**
* date : 28 * date : 28
* day : 4 * day : 4
...@@ -224,7 +225,7 @@ public class MemberInfo { ...@@ -224,7 +225,7 @@ public class MemberInfo {
} }
@Data @Data
public static class OptTimeBean { public static class OptTimeBean implements Serializable{
/** /**
* date : 25 * date : 25
* day : 6 * day : 6
...@@ -250,7 +251,7 @@ public class MemberInfo { ...@@ -250,7 +251,7 @@ public class MemberInfo {
} }
@Data @Data
public static class UpdateTimeBean { public static class UpdateTimeBean implements Serializable{
/** /**
* date : 23 * date : 23
* day : 4 * day : 4
...@@ -276,7 +277,7 @@ public class MemberInfo { ...@@ -276,7 +277,7 @@ public class MemberInfo {
} }
@Data @Data
public static class MemberExpireDateBean { public static class MemberExpireDateBean implements Serializable{
/** /**
* date : 25 * date : 25
* day : 6 * day : 6
...@@ -302,7 +303,7 @@ public class MemberInfo { ...@@ -302,7 +303,7 @@ public class MemberInfo {
} }
@Data @Data
public static class VaildTimeBean { public static class VaildTimeBean implements Serializable{
/** /**
* date : 25 * date : 25
* day : 6 * day : 6
......
...@@ -67,7 +67,6 @@ public class OrderDetail implements Serializable { ...@@ -67,7 +67,6 @@ public class OrderDetail implements Serializable {
private int bgColor; private int bgColor;
//字體色 //字體色
private int fontColor; private int fontColor;
//是否组合商品 1-组合商品 2-组合商品的子商品 //是否组合商品 1-组合商品 2-组合商品的子商品
private int ComboLevel = 0; private int ComboLevel = 0;
//套餐食品是否自動跟餐 //套餐食品是否自動跟餐
...@@ -76,6 +75,19 @@ public class OrderDetail implements Serializable { ...@@ -76,6 +75,19 @@ public class OrderDetail implements Serializable {
* 動態的最大選中數 * 動態的最大選中數
*/ */
private String currentMaxNumber = ""; private String currentMaxNumber = "";
/**
* 删除食品相关
*/
//该食品是否修改过
private boolean isModify = false;
//修改食品前的数量
private int modifyBeforeNumber = 0;
//取消食品备注
private String cancelReason;
//取消食品原因ID
private int reasonId;
//取消食品数量
private int cancelNumber;
//"food" or "discount" or "modifiy" //"food" or "discount" or "modifiy"
private int prop = FOOD_PROP; private int prop = FOOD_PROP;
/** /**
...@@ -297,6 +309,20 @@ public class OrderDetail implements Serializable { ...@@ -297,6 +309,20 @@ public class OrderDetail implements Serializable {
this.currentMaxNumber = orderDetail.currentMaxNumber; this.currentMaxNumber = orderDetail.currentMaxNumber;
this.pointsAdd = orderDetail.pointsAdd; this.pointsAdd = orderDetail.pointsAdd;
this.pointsRedeem = orderDetail.pointsRedeem; this.pointsRedeem = orderDetail.pointsRedeem;
this.isModify = orderDetail.isModify;
this.modifyBeforeNumber = orderDetail.modifyBeforeNumber;
this.cancelReason = orderDetail.cancelReason;
this.reasonId = orderDetail.reasonId;
this.cancelNumber = orderDetail.cancelNumber;
}
public boolean isModify() {
if (!isNew && modifyBeforeNumber != 0 && number != modifyBeforeNumber) {
isModify = true;
} else {
isModify = false;
}
return isModify;
} }
public int getSelected() { public int getSelected() {
......
package com.gingersoft.gsa.cloud.base.common.bean; package com.gingersoft.gsa.cloud.base.common.bean;
import java.io.Serializable;
import lombok.Data; import lombok.Data;
/** /**
...@@ -69,7 +71,7 @@ public class OrderDiscount { ...@@ -69,7 +71,7 @@ public class OrderDiscount {
} }
@Data @Data
public static class Respose { public static class Respose implements Serializable {
/** /**
* 整單折扣ID * 整單折扣ID
......
...@@ -26,10 +26,14 @@ public class OrderPayRequest { ...@@ -26,10 +26,14 @@ public class OrderPayRequest {
private int tableId; private int tableId;
private String tableNumber; private String tableNumber;
private long memberId; private long memberId;
//當前加的積分 /**當前加的積分*/
private Double pointsAdd; private Double pointsAdd;
//當前減去的積分 /**當前減去的積分*/
private Double pointsUse; private Double pointsUse;
/**
* 是否免服務費(0:否 1:是)
*/
private int whetherFreeService;
private List<orderPay> orderPays = new ArrayList<>(); private List<orderPay> orderPays = new ArrayList<>();
@Data @Data
......
...@@ -37,7 +37,7 @@ public class RestaurantExpandInfoUtils { ...@@ -37,7 +37,7 @@ public class RestaurantExpandInfoUtils {
GsaCloudApplication.androidSetting.setMergeSendFood(expandInfo.getValueInt() == 1?true:false); GsaCloudApplication.androidSetting.setMergeSendFood(expandInfo.getValueInt() == 1?true:false);
} }
if (expandInfo.getSettingName().equals(ExpandConstant.AutoPrinterParper)) { if (expandInfo.getSettingName().equals(ExpandConstant.AutoPrinterParper)) {
GsaCloudApplication.androidSetting.setAutoPrinterParper(expandInfo.getValueInt() == 1?true:false); GsaCloudApplication.androidSetting.setAutoPrinterParper(expandInfo.getValueInt() == 1 ? true:false);
} }
} }
} }
......
...@@ -174,6 +174,7 @@ public class TableBean { ...@@ -174,6 +174,7 @@ public class TableBean {
tableBean.setId(dataBean.getId()); tableBean.setId(dataBean.getId());
tableBean.setTableName(dataBean.getTableName() + "-" + dataBean.getTableNumber()); tableBean.setTableName(dataBean.getTableName() + "-" + dataBean.getTableNumber());
tableBean.setOrderId(dataBean.getOrderId()); tableBean.setOrderId(dataBean.getOrderId());
tableBean.setMemberId(dataBean.getMemberId());
// tableBean.setRestaurantId(); // tableBean.setRestaurantId();
// tableBean.setQrCode(); // tableBean.setQrCode();
// tableBean.setQrCodeImg(); // tableBean.setQrCodeImg();
...@@ -191,6 +192,7 @@ public class TableBean { ...@@ -191,6 +192,7 @@ public class TableBean {
tableBean.setId(dataBean.getId()); tableBean.setId(dataBean.getId());
tableBean.setTableName(mainTable.getTableName() + "-" + dataBean.getTableNumber()); tableBean.setTableName(mainTable.getTableName() + "-" + dataBean.getTableNumber());
tableBean.setOrderId(dataBean.getOrderId()); tableBean.setOrderId(dataBean.getOrderId());
tableBean.setMemberId(dataBean.getMemberId());
// tableBean.setRestaurantId(); // tableBean.setRestaurantId();
// tableBean.setQrCode(); // tableBean.setQrCode();
// tableBean.setQrCodeImg(); // tableBean.setQrCodeImg();
......
...@@ -36,6 +36,7 @@ public class TableExtBean { ...@@ -36,6 +36,7 @@ public class TableExtBean {
private int id; private int id;
private int tableId; private int tableId;
private long orderId; private long orderId;
private long memberId;
private int inUse; private int inUse;
private int tableStatus; private int tableStatus;
private String deviceName; private String deviceName;
......
...@@ -5,6 +5,7 @@ import android.text.TextUtils; ...@@ -5,6 +5,7 @@ import android.text.TextUtils;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney; import com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.common.bean.DeleteOrderRequest;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo; import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.base.common.bean.OrderBean; import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail; import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
...@@ -27,7 +28,9 @@ import java.util.List; ...@@ -27,7 +28,9 @@ import java.util.List;
public class MyOrderManage { public class MyOrderManage {
private static MyOrderManage myOrderManage; private static MyOrderManage myOrderManage;
/**外賣接單*/ /**
* 外賣接單
*/
private static OrderDetails.DataBean dataBean; private static OrderDetails.DataBean dataBean;
public static MyOrderManage getInstance() { public static MyOrderManage getInstance() {
...@@ -37,9 +40,6 @@ public class MyOrderManage { ...@@ -37,9 +40,6 @@ public class MyOrderManage {
return myOrderManage; return myOrderManage;
} }
private Activity context;
// private MealStandPresenter presenter;
private boolean overMaxQty = false; private boolean overMaxQty = false;
private int Languageindex; private int Languageindex;
private boolean Edit_Send = false; private boolean Edit_Send = false;
...@@ -72,6 +72,10 @@ public class MyOrderManage { ...@@ -72,6 +72,10 @@ public class MyOrderManage {
*/ */
private List<OrderDetail> newFoodList = new ArrayList<>(); private List<OrderDetail> newFoodList = new ArrayList<>();
/** /**
* 記錄刪除的食品以及原因
*/
private List<DeleteOrderRequest> deleteOrders;
/**
* 整單折扣,服務費 * 整單折扣,服務費
*/ */
protected List<BillOrderMoney> orderMoneyList = new ArrayList<>(); protected List<BillOrderMoney> orderMoneyList = new ArrayList<>();
...@@ -80,29 +84,31 @@ public class MyOrderManage { ...@@ -80,29 +84,31 @@ public class MyOrderManage {
*/ */
private List<PayMethod> billMoney = new ArrayList<>(); private List<PayMethod> billMoney = new ArrayList<>();
/** /**
* 結賬前積分(堂食結賬) * 合計
*/ */
private Double pointsOld; private double wholeAmount = 0.0;
/** /**
* 結賬后積分(堂食結賬) * 總金額
*/ */
private Double pointsNow; private double totalAmount = 0.0;
/** /**
* 結賬加的積分(堂食結賬) * 本次加多少積分
*/ */
private Double pointsAdd; private float addPoints;
/** /**
* 結賬減去的積分(堂食結賬) * 之前有多少積分
*/ */
private Double pointsUse; private float oldPoints;
/** /**
* 合計 * 現在有多少積分
*/ */
private double wholeAmount = 0.0; private float nowPoint;
/** /**
* 總金額 * 結賬積分QRCode
*/ */
private double totalAmount = 0.0; private String integralQrcode;
/** /**
* 記錄修改訂單操作 * 記錄修改訂單操作
...@@ -164,6 +170,21 @@ public class MyOrderManage { ...@@ -164,6 +170,21 @@ public class MyOrderManage {
this.memberInfo = memberInfo; this.memberInfo = memberInfo;
} }
public List<DeleteOrderRequest> getDeleteOrders() {
if (deleteOrders == null) {
deleteOrders = new ArrayList<>();
}
return deleteOrders;
}
public void setDeleteOrders(List<DeleteOrderRequest> deleteOrders) {
this.deleteOrders = deleteOrders;
}
public void addDeleteOrder(DeleteOrderRequest orderRequest){
getDeleteOrders().add(orderRequest);
}
public void changeNumber(int number) { public void changeNumber(int number) {
if (orderFoodList.size() <= 0) { if (orderFoodList.size() <= 0) {
...@@ -310,18 +331,13 @@ public class MyOrderManage { ...@@ -310,18 +331,13 @@ public class MyOrderManage {
if (billMoney != null) { if (billMoney != null) {
billMoney.clear(); billMoney.clear();
} }
if (pointsOld != null) { if (deleteOrders != null) {
pointsOld = null; deleteOrders.clear();
}
if (pointsNow != null) {
pointsNow = null;
}
if (pointsAdd != null) {
pointsAdd = null;
}
if (pointsUse != null) {
pointsUse = null;
} }
addPoints = 0;
oldPoints = 0;
nowPoint = 0;
integralQrcode = "";
wholeAmount = 0.0; wholeAmount = 0.0;
totalAmount = 0.0; totalAmount = 0.0;
orderBean = null; orderBean = null;
...@@ -440,36 +456,36 @@ public class MyOrderManage { ...@@ -440,36 +456,36 @@ public class MyOrderManage {
this.mseq = mseq; this.mseq = mseq;
} }
public Double getPointsOld() { public float getAddPoints() {
return pointsOld; return addPoints;
} }
public void setPointsOld(Double pointsOld) { public void setAddPoints(float addPoints) {
this.pointsOld = pointsOld; this.addPoints = addPoints;
} }
public Double getPointsNow() { public float getOldPoints() {
return pointsNow; return oldPoints;
} }
public void setPointsNow(Double pointsNow) { public void setOldPoints(float oldPoints) {
this.pointsNow = pointsNow; this.oldPoints = oldPoints;
} }
public Double getPointsAdd() { public float getNowPoint() {
return pointsAdd; return nowPoint;
} }
public void setPointsAdd(Double pointsAdd) { public void setNowPoint(float nowPoint) {
this.pointsAdd = pointsAdd; this.nowPoint = nowPoint;
} }
public Double getPointsUse() { public String getIntegralQrcode() {
return pointsUse; return integralQrcode;
} }
public void setPointsUse(Double pointsUse) { public void setIntegralQrcode(String integralQrcode) {
this.pointsUse = pointsUse; this.integralQrcode = integralQrcode;
} }
public List<OrderDetail> getOrderFoodList() { public List<OrderDetail> getOrderFoodList() {
......
...@@ -5,19 +5,19 @@ import android.graphics.Canvas; ...@@ -5,19 +5,19 @@ import android.graphics.Canvas;
import com.google.zxing.BarcodeFormat; import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType; import com.google.zxing.EncodeHintType;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix; import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter; import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.util.HashMap; import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map; import java.util.Map;
/** /**
* 二维码生成工具类 * 二维码生成工具类
* Created by Alex on 2016/10/10.
*/ */
public class QRCodeUtil { public class QRCodeUtil {
/** /**
* 生成二维码Bitmap * 生成二维码Bitmap
...@@ -73,6 +73,36 @@ public class QRCodeUtil { ...@@ -73,6 +73,36 @@ public class QRCodeUtil {
} }
/** /**
* 根据指定内容生成自定义宽高的二维码图片
*
* @param content 需要生成二维码的内容
* @param width 二维码宽度
* @param height 二维码高度
* @throws WriterException 生成二维码异常
*/
public static Bitmap makeQRImage(String content, int width, int height) throws WriterException {
Hashtable<EncodeHintType, Object> hints = new Hashtable<>();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
hints.put(EncodeHintType.MARGIN, 0); // default is 4
// 图像数据转换,使用了矩阵转换
BitMatrix bitMatrix = new QRCodeWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints);
int[] pixels = new int[width * height];
// 按照二维码的算法,逐个生成二维码的图片,两个for循环是图片横列扫描的结果
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
if (bitMatrix.get(x, y))
pixels[y * width + x] = 0xff000000;
else
pixels[y * width + x] = 0xffffffff;
}
}
// 生成二维码图片的格式,使用ARGB_8888
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
return bitmap;
}
/**
* 在二维码中间添加Logo图案 * 在二维码中间添加Logo图案
*/ */
private static Bitmap addLogo(Bitmap src, Bitmap logo) { private static Bitmap addLogo(Bitmap src, Bitmap logo) {
......
...@@ -73,5 +73,22 @@ public class FunctionManager { ...@@ -73,5 +73,22 @@ public class FunctionManager {
return functions; return functions;
} }
private static boolean ready;
private static int number;
private static class ReaderThread extends Thread {
@Override
public void run() {
while (!ready) {
Thread.yield();
}
System.out.println(number);
}
}
public static void main(String[] args) {
new ReaderThread().start();
number = 42;
ready = true;
}
} }
...@@ -77,11 +77,12 @@ public class MyResponseErrorListener implements ResponseErrorListener { ...@@ -77,11 +77,12 @@ 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(); ArmsUtils.killAll();
// toLoginActivity(activity); Activity activity = GsaCloudApplication.getAppContext().getCurrentActivity();
// } toLoginActivity(activity);
}
msg = httpException.message(); msg = httpException.message();
} }
return msg; return msg;
......
...@@ -7,6 +7,7 @@ import com.jess.arms.di.module.ClientModule; ...@@ -7,6 +7,7 @@ import com.jess.arms.di.module.ClientModule;
import io.rx_cache2.internal.RxCache; import io.rx_cache2.internal.RxCache;
public class MyRxCacheConfiguration implements ClientModule.RxCacheConfiguration { public class MyRxCacheConfiguration implements ClientModule.RxCacheConfiguration {
@Override @Override
public RxCache configRxCache(Context context, RxCache.Builder builder) { public RxCache configRxCache(Context context, RxCache.Builder builder) {
// 当数据无法加载时,使用过期数据 // 当数据无法加载时,使用过期数据
......
...@@ -25,7 +25,6 @@ public class MyActivityLifecycle implements Application.ActivityLifecycleCallbac ...@@ -25,7 +25,6 @@ public class MyActivityLifecycle implements Application.ActivityLifecycleCallbac
activity.getIntent().putExtra("isInitToolbar", true); activity.getIntent().putExtra("isInitToolbar", true);
//这里全局给Activity设置toolbar和title,你想象力有多丰富,这里就有多强大,以前放到BaseActivity的操作都可以放到这里 //这里全局给Activity设置toolbar和title,你想象力有多丰富,这里就有多强大,以前放到BaseActivity的操作都可以放到这里
// new ToolbarUtil(activity).setToolbar(); // new ToolbarUtil(activity).setToolbar();
} }
} }
...@@ -48,6 +47,11 @@ public class MyActivityLifecycle implements Application.ActivityLifecycleCallbac ...@@ -48,6 +47,11 @@ public class MyActivityLifecycle implements Application.ActivityLifecycleCallbac
MyOrderManage.getInstance().clear(); MyOrderManage.getInstance().clear();
//清空開檯數據 //清空開檯數據
OpenTableManage.getDefault().clear(); OpenTableManage.getDefault().clear();
} else if (name.equals("OrderCenterActivity") || name.equals("OrderDetailActivity")) {
//清空賬單數據
MyOrderManage.getInstance().clear();
//清空開檯數據
OpenTableManage.getDefault().clear();
} }
GsaCloudApplication.getAppContext().setCurrentActivity(activity); GsaCloudApplication.getAppContext().setCurrentActivity(activity);
} }
......
...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.ui.bean.view; ...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.ui.bean.view;
import com.gingersoft.gsa.cloud.base.R; import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail; import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDiscount;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod; import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.database.bean.Discount; import com.gingersoft.gsa.cloud.database.bean.Discount;
...@@ -124,16 +125,14 @@ public class SectionTextItem3 { ...@@ -124,16 +125,14 @@ public class SectionTextItem3 {
return sectionTextItem3List; return sectionTextItem3List;
} }
public static List<SectionTextItem3> discountTransSectionTextItem3(Discount discount) { public static SectionTextItem3 discountTransSectionTextItem3(OrderDiscount.Respose discount) {
List<SectionTextItem3> sectionTextItem3List = new ArrayList<>();
SectionTextItem3 sectionTextItem3 = new SectionTextItem3(); SectionTextItem3 sectionTextItem3 = new SectionTextItem3();
sectionTextItem3.setLeftText(discount.getRemark()); sectionTextItem3.setLeftText(discount.getRemark());
sectionTextItem3.setCenterText(String.valueOf(0)); sectionTextItem3.setCenterText(String.valueOf(0));
sectionTextItem3.setRightText(String.valueOf(discount.getAmount())); sectionTextItem3.setRightText(String.valueOf(discount.getDiscountAmount()));
sectionTextItem3.setLeftTextStyle(R.style.order_paymethod_text_style); sectionTextItem3.setLeftTextStyle(R.style.order_paymethod_text_style);
sectionTextItem3.setRightTextStyle(R.style.order_paymethod_text_style); sectionTextItem3.setRightTextStyle(R.style.order_paymethod_text_style);
sectionTextItem3List.add(sectionTextItem3); return sectionTextItem3;
return sectionTextItem3List;
} }
public static SectionTextItem3 roundingTransSectionTextItem3(double amuout) { public static SectionTextItem3 roundingTransSectionTextItem3(double amuout) {
......
...@@ -32,7 +32,7 @@ public class OrderPayView extends LinearLayout { ...@@ -32,7 +32,7 @@ public class OrderPayView extends LinearLayout {
private BillMethodAdapter mBillMethodAdapter; private BillMethodAdapter mBillMethodAdapter;
private int foodCount; private int foodCount;
private OnSureClickLisenter mOnSureClickLisenter; private OnSureClickLisenter mOnSureClickLisenter;
private OnWhetherFreeServiceChangeLisenter mOnWhetherFreeServiceChangeLisenter;
private TextView tvDifferenceName; private TextView tvDifferenceName;
private TextView tvDifferenceMoney; private TextView tvDifferenceMoney;
...@@ -67,6 +67,10 @@ public class OrderPayView extends LinearLayout { ...@@ -67,6 +67,10 @@ public class OrderPayView extends LinearLayout {
super(context, attrs, defStyleAttr); super(context, attrs, defStyleAttr);
} }
public void setTotalAmount(double totalAmount) {
this.totalAmount = totalAmount;
}
public void loadInfo(Context context, List<PayMethod> mBillMethodList, double totalAmount, int foodCount) { public void loadInfo(Context context, List<PayMethod> mBillMethodList, double totalAmount, int foodCount) {
this.totalAmount = totalAmount; this.totalAmount = totalAmount;
this.mBillMoneyList = new ArrayList<>(); this.mBillMoneyList = new ArrayList<>();
...@@ -108,6 +112,9 @@ public class OrderPayView extends LinearLayout { ...@@ -108,6 +112,9 @@ public class OrderPayView extends LinearLayout {
//替换掉第一个 //替换掉第一个
mBillMoneyList.remove(0); mBillMoneyList.remove(0);
} }
setWhetherFreeServiceCallback(method);
//是否同步金額 //是否同步金額
//固定金額 (0:否 1:是) //固定金額 (0:否 1:是)
if (method.getWhetherFixedAmount() == 1) { if (method.getWhetherFixedAmount() == 1) {
...@@ -160,6 +167,8 @@ public class OrderPayView extends LinearLayout { ...@@ -160,6 +167,8 @@ public class OrderPayView extends LinearLayout {
mBillMoneyAdapter.notifyDataSetChanged(); mBillMoneyAdapter.notifyDataSetChanged();
//設置差額狀態 //設置差額狀態
setDifferenceText(context); setDifferenceText(context);
setWhetherFreeServiceCallback(null);
} }
}); });
...@@ -203,6 +212,29 @@ public class OrderPayView extends LinearLayout { ...@@ -203,6 +212,29 @@ public class OrderPayView extends LinearLayout {
this.addView(view); this.addView(view);
} }
/**
* 設置是否免服務費回調
*/
public void setWhetherFreeServiceCallback(PayMethod addPayMethod) {
int whetherFreeService = 0;
if (addPayMethod != null) {
if (addPayMethod.getWhetherFreeService() == 1) {
whetherFreeService = 1;
}
}
if (whetherFreeService == 0) {
for (PayMethod payMethod : mBillMoneyList) {
if (payMethod.getWhetherFreeService() == 1) {
whetherFreeService = 1;
break;
}
}
}
if (mOnWhetherFreeServiceChangeLisenter != null) {
mOnWhetherFreeServiceChangeLisenter.onWhetherFreeServiceChange(whetherFreeService);
}
}
public void notifyBillMethodAdapter(List<PayMethod> mBillMethodList) { public void notifyBillMethodAdapter(List<PayMethod> mBillMethodList) {
if (mBillMethodAdapter != null) if (mBillMethodAdapter != null)
mBillMethodAdapter.setNewData(mBillMethodList); mBillMethodAdapter.setNewData(mBillMethodList);
...@@ -259,6 +291,7 @@ public class OrderPayView extends LinearLayout { ...@@ -259,6 +291,7 @@ public class OrderPayView extends LinearLayout {
return null; return null;
} }
/** /**
* 獲取找零或貼士金額 * 獲取找零或貼士金額
* *
...@@ -356,13 +389,23 @@ public class OrderPayView extends LinearLayout { ...@@ -356,13 +389,23 @@ public class OrderPayView extends LinearLayout {
btn_order_count.setVisibility(View.INVISIBLE); btn_order_count.setVisibility(View.INVISIBLE);
} }
tv_total.setText("$" + totalAmount); tv_total.setText("$" + totalAmount);
} }
public interface OnSureClickLisenter { public void setOnWhetherFreeServiceChangeLisenter(OnWhetherFreeServiceChangeLisenter onWhetherFreeServiceChangeLisenter) {
void onClick(List<PayMethod> mBillMoneyList); this.mOnWhetherFreeServiceChangeLisenter = onWhetherFreeServiceChangeLisenter;
} }
public void setmOnSureClickLisenter(OnSureClickLisenter mOnSureClickLisenter) { public void setmOnSureClickLisenter(OnSureClickLisenter mOnSureClickLisenter) {
this.mOnSureClickLisenter = mOnSureClickLisenter; this.mOnSureClickLisenter = mOnSureClickLisenter;
} }
public interface OnWhetherFreeServiceChangeLisenter {
void onWhetherFreeServiceChange(int whetherFreeService);
}
public interface OnSureClickLisenter {
void onClick(List<PayMethod> mBillMoneyList);
}
} }
...@@ -148,6 +148,9 @@ public class MipcaCaptureActivity extends BaseActivity<BasePresenter> implements ...@@ -148,6 +148,9 @@ public class MipcaCaptureActivity extends BaseActivity<BasePresenter> implements
@Override @Override
public void onClick(View v) { public void onClick(View v) {
Intent intent = new Intent();
intent.putExtra("qrCodeResult","");
setResult(CALL_BACK_QR_RESULT,intent);
killMyself(); killMyself();
} }
}); });
...@@ -155,6 +158,14 @@ public class MipcaCaptureActivity extends BaseActivity<BasePresenter> implements ...@@ -155,6 +158,14 @@ public class MipcaCaptureActivity extends BaseActivity<BasePresenter> implements
} }
@Override @Override
public void onBackPressed() {
Intent intent = new Intent();
intent.putExtra("qrCodeResult","");
setResult(CALL_BACK_QR_RESULT,intent);
killMyself();
}
@Override
public void initLanguage() { public void initLanguage() {
} }
...@@ -241,13 +252,6 @@ public class MipcaCaptureActivity extends BaseActivity<BasePresenter> implements ...@@ -241,13 +252,6 @@ public class MipcaCaptureActivity extends BaseActivity<BasePresenter> implements
} else { } else {
finish(); finish();
} }
// if (resultCode == Activity.RESULT_OK && requestCode == REQUEST_CODE_CHOOSE_QRCODE_FROM_GALLERY) {
// final String picturePath = BGAPhotoPickerActivity.getSelectedPhotos(data).get(0);
// // 本来就用到 QRCodeView 时可直接调 QRCodeView 的方法,走通用的回调
// mZXingView.decodeQRCode(picturePath);
//
// }
} }
@Override @Override
...@@ -283,7 +287,6 @@ public class MipcaCaptureActivity extends BaseActivity<BasePresenter> implements ...@@ -283,7 +287,6 @@ public class MipcaCaptureActivity extends BaseActivity<BasePresenter> implements
@Override @Override
public void onScanQRCodeSuccess(String result) { public void onScanQRCodeSuccess(String result) {
Log.i(TAG, "onScanQRCodeSuccess:" + result); Log.i(TAG, "onScanQRCodeSuccess:" + result);
showMessage("掃描結果: " + result);
vibrate(); vibrate();
mZXingView.startSpot(); mZXingView.startSpot();
...@@ -316,7 +319,6 @@ public class MipcaCaptureActivity extends BaseActivity<BasePresenter> implements ...@@ -316,7 +319,6 @@ public class MipcaCaptureActivity extends BaseActivity<BasePresenter> implements
showMessage("打開相機出錯!"); showMessage("打開相機出錯!");
} }
//解析二维码图片,返回结果封装在Result对象中 //解析二维码图片,返回结果封装在Result对象中
private com.google.zxing.Result parseQRcodeBitmap(Uri uri) { private com.google.zxing.Result parseQRcodeBitmap(Uri uri) {
String path = getPath(mContext, uri); String path = getPath(mContext, uri);
......
package com.gingersoft.gsa.cloud.zxing;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.PointF;
import android.util.AttributeSet;
import android.view.View;
public class PointsOverlayView extends View {
PointF[] points;
private Paint paint;
public PointsOverlayView(Context context) {
super(context);
init();
}
public PointsOverlayView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public PointsOverlayView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
paint = new Paint();
paint.setColor(Color.YELLOW);
paint.setStyle(Paint.Style.FILL);
}
/**
* @param points
*/
public void setPoints(PointF[] points) {
this.points = points;
invalidate();
}
@Override public void draw(Canvas canvas) {
super.draw(canvas);
if (points != null) {
for (PointF pointF : points) {
canvas.drawCircle(pointF.x, pointF.y, 10, paint);
}
}
}
}
...@@ -24,6 +24,7 @@ import com.gingersoft.coldchain_module.mvp.presenter.OrderDetailsPresenter; ...@@ -24,6 +24,7 @@ import com.gingersoft.coldchain_module.mvp.presenter.OrderDetailsPresenter;
import com.gingersoft.coldchain_module.mvp.ui.adapter.MyPrintDocumentAdapter; import com.gingersoft.coldchain_module.mvp.ui.adapter.MyPrintDocumentAdapter;
import com.gingersoft.coldchain_module.mvp.ui.adapter.OrderDetailsBtnAdapter; import com.gingersoft.coldchain_module.mvp.ui.adapter.OrderDetailsBtnAdapter;
import com.gingersoft.coldchain_module.mvp.ui.adapter.OrderDetailsFoodAdapter; import com.gingersoft.coldchain_module.mvp.ui.adapter.OrderDetailsFoodAdapter;
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.base.utils.other.TextUtil; import com.gingersoft.gsa.cloud.base.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils; import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
...@@ -130,7 +131,7 @@ public class OrderDetailsActivity extends BaseActivity<OrderDetailsPresenter> im ...@@ -130,7 +131,7 @@ public class OrderDetailsActivity extends BaseActivity<OrderDetailsPresenter> im
requestPermissions(null); requestPermissions(null);
mPresenter.findOrderDetails(orderId, isRead); mPresenter.findOrderDetails(orderId, isRead);
// mPresenter.download("https://labels.shipany.io/sbx2/325764d7-b2e2-4d8b-9a68-7f4473719f9c/2020-08-27/20200827171831451_SF5805023992121_144ac51b-5370-46db-9e8d-50904e33b1b7.pdf"); // mPresenter.download("https://labels.shipany.io/sbx2/325764d7-b2e2-4d8b-9a68-7f4473719f9c/2020-08-27/20200827171831451_SF5805023992121_144ac51b-5370-46db-9e8d-50904e33b1b7.pdf");
List<Function> functionByResModule = FunctionManager.getDefault().getFunctionByResModule(this, FunctionManagerConstans.takeaway.class, FunctionManagerConstans.takeaway.orderDetails, "orderDetails/btn"); List<Function> functionByResModule = FunctionManager.getDefault().getFunctionByResModule(GsaCloudApplication.getAppContext(), FunctionManagerConstans.takeaway.class, FunctionManagerConstans.takeaway.orderDetails, "orderDetails/btn");
btnBuilder = BtnBuilder.getInstance(functionByResModule); btnBuilder = BtnBuilder.getInstance(functionByResModule);
} }
......
...@@ -29,7 +29,6 @@ public class DownloadManager { ...@@ -29,7 +29,6 @@ public class DownloadManager {
private static DownloadManager downloadManager; private static DownloadManager downloadManager;
private Context context;
//当前请求响应成功数 //当前请求响应成功数
private int responseSuccessCount; private int responseSuccessCount;
//当前请求响应失敗数 //当前请求响应失敗数
...@@ -44,8 +43,7 @@ public class DownloadManager { ...@@ -44,8 +43,7 @@ public class DownloadManager {
return downloadManager; return downloadManager;
} }
public DownloadManager takeRequestExecute(Context context, List<DownloadRequest> requests, DownloadPresenter presenter) { public DownloadManager takeRequestExecute(List<DownloadRequest> requests, DownloadPresenter presenter) {
this.context = context;
this.requestCount = requests.size(); this.requestCount = requests.size();
//重置响应数 //重置响应数
this.responseSuccessCount = 0; this.responseSuccessCount = 0;
......
...@@ -21,24 +21,6 @@ public class DownloadTaskImp implements Runnable { ...@@ -21,24 +21,6 @@ public class DownloadTaskImp implements Runnable {
@Override @Override
public void run() { public void run() {
// DownloadManager.getInstance().download(request);
// switch (request.getDownTag()) {
// case 0:
// presenter.downFun();
// break;
// case 1:
// presenter.downFoodList();
// break;
// case 2:
// presenter.downModifier();
// break;
// case 3:
// presenter.downCombo();
// break;
// case 4:
// presenter.downFoodModifier();
// break;
// }
switch (request.getDownTag()) { switch (request.getDownTag()) {
case 0: case 0:
presenter.downFun(request.getDownTag()); presenter.downFun(request.getDownTag());
......
...@@ -154,7 +154,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow ...@@ -154,7 +154,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
List<DownloadRequest> requests = getDownloadRequests(getDownloadUrls(restaurantId), restaurantId); List<DownloadRequest> requests = getDownloadRequests(getDownloadUrls(restaurantId), restaurantId);
DownloadManager.getInstance().takeRequestExecute(IActivity, requests, this); DownloadManager.getInstance().takeRequestExecute(requests, this);
// .setDownloadResultListener(new DownloadManager.OnDownloadResultListener() { // .setDownloadResultListener(new DownloadManager.OnDownloadResultListener() {
// //
// @Override // @Override
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
<activity <activity
android:name=".mvp.ui.activity.mvp.ui.activity.WelcomeActivity" android:name=".mvp.ui.activity.mvp.ui.activity.WelcomeActivity"
android:launchMode="singleTop"> android:launchMode="singleTask">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.VIEW" />
...@@ -38,9 +38,8 @@ ...@@ -38,9 +38,8 @@
</activity> </activity>
<activity <activity
android:name=".mvp.ui.activity.mvp.ui.activity.LoginActivity" android:name=".mvp.ui.activity.mvp.ui.activity.LoginActivity"
android:launchMode="singleTop" /> android:launchMode="singleTask"/>
<activity android:name=".mvp.ui.activity.mvp.ui.activity.SwitchServerActivity" /> <activity android:name=".mvp.ui.activity.mvp.ui.activity.SwitchServerActivity" />
<activity android:name=".mvp.ui.activity.mvp.ui.activity.RecoverPasswordActivity" /> <activity android:name=".mvp.ui.activity.mvp.ui.activity.RecoverPasswordActivity" />
<activity android:name=".mvp.ui.activity.mvp.ui.activity.ChooseRestaurantActivity"/> <activity android:name=".mvp.ui.activity.mvp.ui.activity.ChooseRestaurantActivity"/>
<meta-data <meta-data
......
...@@ -10,8 +10,10 @@ package="com.gingersoft.gsa.cloud.login"> ...@@ -10,8 +10,10 @@ package="com.gingersoft.gsa.cloud.login">
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/AppTheme"> android:theme="@style/AppTheme">
<activity android:name=".mvp.ui.activity.mvp.ui.activity.LoginActivity" <activity
android:launchMode="singleTop"/> android:name=".mvp.ui.activity.mvp.ui.activity.LoginActivity"
android:launchMode="singleTask"/>
<activity android:name=".mvp.ui.activity.mvp.ui.activity.SwitchServerActivity" /> <activity android:name=".mvp.ui.activity.mvp.ui.activity.SwitchServerActivity" />
<activity android:name=".mvp.ui.activity.mvp.ui.activity.WelcomeActivity"> <activity android:name=".mvp.ui.activity.mvp.ui.activity.WelcomeActivity">
<intent-filter> <intent-filter>
......
...@@ -22,6 +22,7 @@ import com.jess.arms.di.scope.ActivityScope; ...@@ -22,6 +22,7 @@ import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader; import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager; import com.jess.arms.integration.AppManager;
import com.jess.arms.mvp.BasePresenter; import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.utils.DeviceUtils;
import com.jess.arms.utils.RxLifecycleUtils; import com.jess.arms.utils.RxLifecycleUtils;
import java.util.List; import java.util.List;
...@@ -71,8 +72,15 @@ public class BaseLoginPresenter<M extends BaseLoginContract.Model, V extends Bas ...@@ -71,8 +72,15 @@ public class BaseLoginPresenter<M extends BaseLoginContract.Model, V extends Bas
mRootView.startToSwitchServer(); mRootView.startToSwitchServer();
return; return;
} }
RequestBody requestBody; if (!DeviceUtils.netIsConnected(GsaCloudApplication.getAppContext())) {
requestBody = new FormBody.Builder() //防止沒有網絡 請求登錄接口卡在歡迎頁
if (IAcitivity instanceof LoginActivity) {
} else {
mRootView.launchActivity(new Intent(IAcitivity, LoginActivity.class));
return;
}
}
RequestBody requestBody = new FormBody.Builder()
.add("userName", account.trim() + "") .add("userName", account.trim() + "")
.add("passWord", pwd.trim() + "") .add("passWord", pwd.trim() + "")
.build(); .build();
...@@ -130,7 +138,7 @@ public class BaseLoginPresenter<M extends BaseLoginContract.Model, V extends Bas ...@@ -130,7 +138,7 @@ public class BaseLoginPresenter<M extends BaseLoginContract.Model, V extends Bas
@Override @Override
public void onNext(@NonNull BrandsBean info) { public void onNext(@NonNull BrandsBean info) {
if (info != null) { if (info != null) {
if(TextUtil.isNotEmptyOrNullOrUndefined(info.getMessage())){ if (TextUtil.isNotEmptyOrNullOrUndefined(info.getMessage())) {
mRootView.showMessage(info.getMessage()); mRootView.showMessage(info.getMessage());
} }
mRootView.saveRestaurantListInfo(info.getData()); mRootView.saveRestaurantListInfo(info.getData());
...@@ -166,7 +174,8 @@ public class BaseLoginPresenter<M extends BaseLoginContract.Model, V extends Bas ...@@ -166,7 +174,8 @@ public class BaseLoginPresenter<M extends BaseLoginContract.Model, V extends Bas
@Override @Override
public void onNext(PublicBean s) { public void onNext(PublicBean s) {
if (s != null && s.isSuccess()) { if (s != null && s.isSuccess()) {
List<LoginLimitBean> loginLimitBeans = new Gson().fromJson(GsonUtils.GsonString(s.getData()), new TypeToken<List<LoginLimitBean>>() {}.getType()); List<LoginLimitBean> loginLimitBeans = new Gson().fromJson(GsonUtils.GsonString(s.getData()), new TypeToken<List<LoginLimitBean>>() {
}.getType());
// List<LoginLimitBean> logins = GsonUtils.GsonToList("", LoginLimitBean.class); // List<LoginLimitBean> logins = GsonUtils.GsonToList("", LoginLimitBean.class);
if (loginLimitBeans == null || loginLimitBeans.size() <= 0) { if (loginLimitBeans == null || loginLimitBeans.size() <= 0) {
if (isDownload) { if (isDownload) {
......
...@@ -261,13 +261,18 @@ public class ChooseRestaurantActivity extends BaseActivity<ChooseRestaurantPrese ...@@ -261,13 +261,18 @@ public class ChooseRestaurantActivity extends BaseActivity<ChooseRestaurantPrese
} }
@Override @Override
protected void onStop() {
super.onStop();
killMyself();
}
@Override
public void jumpDownloadActivity() { public void jumpDownloadActivity() {
CC.obtainBuilder("Component.Download") CC.obtainBuilder("Component.Download")
.setActionName("showDownloadActivity") .setActionName("showDownloadActivity")
.addParam("fromPage", 1) .addParam("fromPage", 1)
.build() .build()
.call(); .call();
killMyself();
} }
@Override @Override
...@@ -281,7 +286,6 @@ public class ChooseRestaurantActivity extends BaseActivity<ChooseRestaurantPrese ...@@ -281,7 +286,6 @@ public class ChooseRestaurantActivity extends BaseActivity<ChooseRestaurantPrese
.setActionName("showMainActivity") .setActionName("showMainActivity")
.build() .build()
.call(); .call();
killMyself();
} }
@Override @Override
......
...@@ -101,7 +101,6 @@ public class WelcomeActivity extends LoginInterfaceImpl<WelcomePresenter> implem ...@@ -101,7 +101,6 @@ public class WelcomeActivity extends LoginInterfaceImpl<WelcomePresenter> implem
String pwd = Aes.aesDecrypt((String) SPUtils.get(mContext, UserConstans.LOGIN_PASSWORD, "")); String pwd = Aes.aesDecrypt((String) SPUtils.get(mContext, UserConstans.LOGIN_PASSWORD, ""));
mPresenter.login(SPUtils.get(mContext, UserConstans.LOGIN_USERNAME, "") + "", pwd); mPresenter.login(SPUtils.get(mContext, UserConstans.LOGIN_USERNAME, "") + "", pwd);
} else { } else {
killMyself();
startActivity(new Intent(mContext, LoginActivity.class)); startActivity(new Intent(mContext, LoginActivity.class));
} }
} }
...@@ -136,6 +135,12 @@ public class WelcomeActivity extends LoginInterfaceImpl<WelcomePresenter> implem ...@@ -136,6 +135,12 @@ public class WelcomeActivity extends LoginInterfaceImpl<WelcomePresenter> implem
magicIndicator.attachToViewPager(mVpGuide); magicIndicator.attachToViewPager(mVpGuide);
} }
@Override
protected void onStop() {
super.onStop();
killMyself();
}
private void updateUI(int position) { private void updateUI(int position) {
mTvGuideTitle.setText(guideBeanList.get(position).getTitle()); mTvGuideTitle.setText(guideBeanList.get(position).getTitle());
mTvGuideDetails.setText(guideBeanList.get(position).getDetails()); mTvGuideDetails.setText(guideBeanList.get(position).getDetails());
...@@ -274,7 +279,6 @@ public class WelcomeActivity extends LoginInterfaceImpl<WelcomePresenter> implem ...@@ -274,7 +279,6 @@ public class WelcomeActivity extends LoginInterfaceImpl<WelcomePresenter> implem
//立即體驗 //立即體驗
SPUtils.put(mContext, UserConstans.IS_GUIDE, false); SPUtils.put(mContext, UserConstans.IS_GUIDE, false);
startActivity(new Intent(mContext, LoginActivity.class)); startActivity(new Intent(mContext, LoginActivity.class));
killMyself();
} }
} }
} }
...@@ -2,9 +2,10 @@ ...@@ -2,9 +2,10 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gingersoft.gsa.cloud.main"> package="com.gingersoft.gsa.cloud.main">
<uses-permission android:name="android.permission.INTERNET" />
<application> <application>
<activity android:name=".mvp.ui.activity.NewMainActivity" /> <activity
android:name=".mvp.ui.activity.NewMainActivity"
android:launchMode="singleTask" />
<activity android:name=".mvp.ui.activity.MainActivity" /> <activity android:name=".mvp.ui.activity.MainActivity" />
<activity android:name=".mvp.ui.activity.ReportActivity" /> <activity android:name=".mvp.ui.activity.ReportActivity" />
<activity android:name=".mvp.ui.activity.SettlementActivity" /> <activity android:name=".mvp.ui.activity.SettlementActivity" />
...@@ -22,4 +23,5 @@ ...@@ -22,4 +23,5 @@
android:name="design_height_in_dp" android:name="design_height_in_dp"
android:value="640" /> android:value="640" />
</application> </application>
<uses-permission android:name="android.permission.INTERNET" />
</manifest> </manifest>
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
android:networkSecurityConfig="@xml/network_android" android:networkSecurityConfig="@xml/network_android"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/AppTheme"> android:theme="@style/AppTheme">
<activity android:name=".mvp.ui.activity.LanguageActivity"></activity> <activity android:name=".mvp.ui.activity.LanguageActivity"/>
<activity android:name=".mvp.ui.activity.ReportActivity" /> <activity android:name=".mvp.ui.activity.ReportActivity" />
<activity android:name=".mvp.ui.activity.MainActivity" /> <activity android:name=".mvp.ui.activity.MainActivity" />
<activity android:name=".mvp.ui.activity.SettlementActivity" /> <activity android:name=".mvp.ui.activity.SettlementActivity" />
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
<activity android:name=".mvp.ui.activity.LookLogActivity" /> <activity android:name=".mvp.ui.activity.LookLogActivity" />
<activity <activity
android:name=".mvp.ui.activity.NewMainActivity" android:name=".mvp.ui.activity.NewMainActivity"
android:launchMode="singleTask"
android:theme="@style/MainTheme"> android:theme="@style/MainTheme">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
......
...@@ -189,6 +189,12 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl ...@@ -189,6 +189,12 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
.call(); .call();
} }
@Override
protected void onRestart() {
super.onRestart();
tvStoreName.setText(GsaCloudApplication.getRestaurantName(mContext));
}
/** /**
* 初始化側邊欄菜單項 * 初始化側邊欄菜單項
*/ */
...@@ -283,7 +289,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl ...@@ -283,7 +289,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
// functions.add(new Function((long) 149, 152, 5, "操作記錄", R.drawable.ic_operation_record_close, 1)); // functions.add(new Function((long) 149, 152, 5, "操作記錄", R.drawable.ic_operation_record_close, 1));
// } else { // } else {
List<Function> orderFuncations = FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.main.class, ComponentMain.main.order, "order"); List<Function> orderFuncations = FunctionManager.getDefault().getFunctionByResModule(GsaCloudApplication.getAppContext(), ComponentMain.main.class, ComponentMain.main.order, "order");
if (orderFuncations.size() > 0) { if (orderFuncations.size() > 0) {
functions.addAll(orderFuncations); functions.addAll(orderFuncations);
sl_order.setVisibility(View.VISIBLE); sl_order.setVisibility(View.VISIBLE);
...@@ -291,7 +297,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl ...@@ -291,7 +297,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
sl_order.setVisibility(View.INVISIBLE); sl_order.setVisibility(View.INVISIBLE);
} }
List<Function> managerFuncations = FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.main.class, ComponentMain.main.manager, "manager"); List<Function> managerFuncations = FunctionManager.getDefault().getFunctionByResModule(GsaCloudApplication.getAppContext(), ComponentMain.main.class, ComponentMain.main.manager, "manager");
if (managerFuncations.size() > 0) { if (managerFuncations.size() > 0) {
functions.addAll(managerFuncations); functions.addAll(managerFuncations);
ll_management.setVisibility(View.VISIBLE); ll_management.setVisibility(View.VISIBLE);
...@@ -299,7 +305,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl ...@@ -299,7 +305,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
ll_management.setVisibility(View.GONE); ll_management.setVisibility(View.GONE);
} }
List<Function> employeeFuncations = FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.main.class, ComponentMain.main.employee, "employee"); List<Function> employeeFuncations = FunctionManager.getDefault().getFunctionByResModule(GsaCloudApplication.getAppContext(), ComponentMain.main.class, ComponentMain.main.employee, "employee");
if (employeeFuncations.size() > 0) { if (employeeFuncations.size() > 0) {
functions.addAll(employeeFuncations); functions.addAll(employeeFuncations);
ll_staff_management.setVisibility(View.VISIBLE); ll_staff_management.setVisibility(View.VISIBLE);
...@@ -550,12 +556,12 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl ...@@ -550,12 +556,12 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
.setActionName("stopPrintService") .setActionName("stopPrintService")
.build() .build()
.call(); .call();
killMyself();
//跳轉登陸頁面 //跳轉登陸頁面
CC.obtainBuilder("User.Component.Login") CC.obtainBuilder("User.Component.Login")
.setActionName("showActivityA") .setActionName("showActivityA")
.build() .build()
.call(); .call();
finish();
} }
@Override @Override
...@@ -583,8 +589,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl ...@@ -583,8 +589,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
showMessage("再按一次退出應用"); showMessage("再按一次退出應用");
mExitTime = System.currentTimeMillis(); mExitTime = System.currentTimeMillis();
} else { } else {
finish(); ArmsUtils.exitApp();
System.exit(0);
} }
} }
return true; return true;
......
...@@ -221,9 +221,9 @@ public class TableManageActivity extends BaseFragmentActivity<TableManagePresent ...@@ -221,9 +221,9 @@ public class TableManageActivity extends BaseFragmentActivity<TableManagePresent
if (fragment != null) { if (fragment != null) {
if (fragment instanceof AreaListFragment) { if (fragment instanceof AreaListFragment) {
AreaListFragment areaListFragment = (AreaListFragment) fragment; AreaListFragment areaListFragment = (AreaListFragment) fragment;
// if (!areaListFragment.isRadioEdit()) { if (!areaListFragment.isRadioEdit()) {
areaListFragment.updateAreaData(areas); areaListFragment.updateAreaData(areas);
// } }
} else if (fragment instanceof TableListFragment) { } else if (fragment instanceof TableListFragment) {
TableListFragment tableListFragment = (TableListFragment) fragment; TableListFragment tableListFragment = (TableListFragment) fragment;
tableListFragment.setAreaData(areas); tableListFragment.setAreaData(areas);
......
...@@ -85,11 +85,11 @@ public class AreaManageAdapter extends DefaultAdapter<TableArea> { ...@@ -85,11 +85,11 @@ public class AreaManageAdapter extends DefaultAdapter<TableArea> {
// } // }
// }); // });
if (isRadioEdit) { if (isRadioEdit) {
cb_checked.setChecked(datasBean.isChecked());
cb_checked.setVisibility(View.VISIBLE); cb_checked.setVisibility(View.VISIBLE);
cb_checked.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { cb_checked.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override @Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
buttonView.setChecked(isChecked);
datasBean.setChecked(isChecked); datasBean.setChecked(isChecked);
} }
}); });
...@@ -102,6 +102,7 @@ public class AreaManageAdapter extends DefaultAdapter<TableArea> { ...@@ -102,6 +102,7 @@ public class AreaManageAdapter extends DefaultAdapter<TableArea> {
ed_name.setFocusable(false); ed_name.setFocusable(false);
ed_name.setFocusableInTouchMode(false); ed_name.setFocusableInTouchMode(false);
} }
cb_checked.setChecked(datasBean.isChecked());
} }
} }
......
...@@ -177,7 +177,7 @@ public class AddAreaFragment extends BaseFragment<AddAreaPresenter> implements A ...@@ -177,7 +177,7 @@ public class AddAreaFragment extends BaseFragment<AddAreaPresenter> implements A
textView.setLineSpacing(QMUIDisplayHelper.dp2px(mContext, 4), 1.0f); textView.setLineSpacing(QMUIDisplayHelper.dp2px(mContext, 4), 1.0f);
int padding = QMUIDisplayHelper.dp2px(mContext, 20); int padding = QMUIDisplayHelper.dp2px(mContext, 20);
textView.setPadding(padding, padding, padding, padding); textView.setPadding(padding, padding, padding, padding);
textView.setText("默認值為100,數字越小排序\n" + "越靠前"); textView.setText("默認值為100,數字越小排序\n" + "越靠前!");
int color = QMUIResHelper.getAttrColor(mContext, R.attr.app_skin_common_title_text_color); int color = QMUIResHelper.getAttrColor(mContext, R.attr.app_skin_common_title_text_color);
textView.setTextColor(ArmsUtils.getColor(mContext, R.color.theme_black)); textView.setTextColor(ArmsUtils.getColor(mContext, R.color.theme_black));
// QMUISkinValueBuilder builder = QMUISkinValueBuilder.acquire(); // QMUISkinValueBuilder builder = QMUISkinValueBuilder.acquire();
......
...@@ -106,7 +106,6 @@ ...@@ -106,7 +106,6 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:backgroundColor="@color/theme_white_color" app:backgroundColor="@color/theme_white_color"
app:corner="rightBottom" app:corner="rightBottom"
app:primaryText="堂"
app:primaryTextColor="#249B65" app:primaryTextColor="#249B65"
app:primaryTextSize="10sp" /> app:primaryTextSize="10sp" />
......
...@@ -103,7 +103,7 @@ public class PrintBill extends PrinterRoot { ...@@ -103,7 +103,7 @@ public class PrintBill extends PrinterRoot {
layout.addView(getDiningBillPayMethod(mContext, MyOrderManage.getInstance().getBillMoney())); layout.addView(getDiningBillPayMethod(mContext, MyOrderManage.getInstance().getBillMoney()));
layout.addView(getLine(mContext)); layout.addView(getLine(mContext));
layout.addView(getTableMealMemberIntegerView(mContext, getOrderDetail())); layout.addView(getTableMealMemberIntegerView(mContext, getOrderDetail(),MyOrderManage.getInstance().getIntegralQrcode()));
return zoomBitmap(deviceBean, viewToBitmap(mContext, layout)); return zoomBitmap(deviceBean, viewToBitmap(mContext, layout));
} }
...@@ -111,9 +111,9 @@ public class PrintBill extends PrinterRoot { ...@@ -111,9 +111,9 @@ public class PrintBill extends PrinterRoot {
private OrderDetails.DataBean getOrderDetail() { private OrderDetails.DataBean getOrderDetail() {
OrderDetails.DataBean dataBean = new OrderDetails.DataBean(); OrderDetails.DataBean dataBean = new OrderDetails.DataBean();
dataBean.setNowPoints(MyOrderManage.getInstance().getPointsNow()); dataBean.setNowPoints(MyOrderManage.getInstance().getNowPoint());
dataBean.setAddPoints(MyOrderManage.getInstance().getPointsAdd()); dataBean.setAddPoints(MyOrderManage.getInstance().getAddPoints());
dataBean.setOldPoints(MyOrderManage.getInstance().getPointsUse()); dataBean.setOldPoints(MyOrderManage.getInstance().getOldPoints());
MemberInfo memberInfo = MyOrderManage.getInstance().getMemberInfo(); MemberInfo memberInfo = MyOrderManage.getInstance().getMemberInfo();
if (memberInfo != null) { if (memberInfo != null) {
......
...@@ -8,10 +8,12 @@ import android.hardware.usb.UsbManager; ...@@ -8,10 +8,12 @@ import android.hardware.usb.UsbManager;
import android.os.Build; import android.os.Build;
import android.os.IBinder; import android.os.IBinder;
import android.os.RemoteException; import android.os.RemoteException;
import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.Gravity; import android.view.Gravity;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
...@@ -35,14 +37,17 @@ import com.gingersoft.gsa.cloud.base.utils.AidlUtil; ...@@ -35,14 +37,17 @@ import com.gingersoft.gsa.cloud.base.utils.AidlUtil;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil; import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil; import com.gingersoft.gsa.cloud.base.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils; import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.base.utils.view.BitmapUtil;
import com.gingersoft.gsa.cloud.base.utils.view.ImageUtils; import com.gingersoft.gsa.cloud.base.utils.view.ImageUtils;
import com.gingersoft.gsa.cloud.base.utils.view.LayoutToBitmapUtils; import com.gingersoft.gsa.cloud.base.utils.view.LayoutToBitmapUtils;
import com.gingersoft.gsa.cloud.base.utils.view.QRCodeUtil;
import com.gingersoft.gsa.cloud.constans.PrintConstans; import com.gingersoft.gsa.cloud.constans.PrintConstans;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean; import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.print.PrintExecutor; import com.gingersoft.gsa.cloud.print.PrintExecutor;
import com.gingersoft.gsa.cloud.print.PrintSocketHolder; import com.gingersoft.gsa.cloud.print.PrintSocketHolder;
import com.gingersoft.gsa.cloud.print.PrinterWriter58mm; import com.gingersoft.gsa.cloud.print.PrinterWriter58mm;
import com.gingersoft.gsa.cloud.print.bean.OrderDetails; import com.gingersoft.gsa.cloud.print.bean.OrderDetails;
import com.google.zxing.WriterException;
import com.hyweb.n5.lib.constant.PrinterConstant; import com.hyweb.n5.lib.constant.PrinterConstant;
import com.hyweb.n5.lib.util.PrinterUtil; import com.hyweb.n5.lib.util.PrinterUtil;
import com.hyweb.n5.server.aidl.IOnPrintCallback; import com.hyweb.n5.server.aidl.IOnPrintCallback;
...@@ -563,14 +568,18 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis ...@@ -563,14 +568,18 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
return view; return view;
} }
protected View getTableMealMemberIntegerView(Context mContext, OrderDetails.DataBean data) { protected View getTableMealMemberIntegerView(Context mContext, OrderDetails.DataBean data, String integralQrcode) {
View view = View.inflate(mContext, R.layout.print_model_takeaway_member_integer_info, null); View view = View.inflate(mContext, R.layout.print_model_meal_member_integer_info, null);
TextView tvMemberNum = view.findViewById(R.id.tv_print_model_member_number);//會員號碼 TextView tvMemberNum = view.findViewById(R.id.tv_print_model_member_number);//會員號碼
TextView tvMemberName = view.findViewById(R.id.tv_print_model_member_name);//會員名稱 TextView tvMemberName = view.findViewById(R.id.tv_print_model_member_name);//會員名稱
TextView tvMemberPhone = view.findViewById(R.id.tv_print_model_member_phone);//會員電話 TextView tvMemberPhone = view.findViewById(R.id.tv_print_model_member_phone);//會員電話
TextView tvNowPoint = view.findViewById(R.id.tv_print_model_nowPoints);//現在的積分 TextView tvNowPoint = view.findViewById(R.id.tv_print_model_nowPoints);//現在的積分
TextView tvAddPoints = view.findViewById(R.id.tv_print_model_addPoints);//本次添加積分 TextView tvAddPoints = view.findViewById(R.id.tv_print_model_addPoints);//本次添加積分
TextView tvOldPoints = view.findViewById(R.id.tv_print_model_oldPoints);//之前的積分 TextView tvOldPoints = view.findViewById(R.id.tv_print_model_oldPoints);//之前的積分
LinearLayout llIntegralQrcode = view.findViewById(R.id.ll_integral_qrcode);
ImageView ivIntegralQrcode = view.findViewById(R.id.iv_integral_qrcode);
if (data.getAddPoints() != 0 || data.getOldPoints() != 0 || data.getAddPoints() != 0) { if (data.getAddPoints() != 0 || data.getOldPoints() != 0 || data.getAddPoints() != 0) {
tvAddPoints.setText("本次積分:" + data.getAddPoints()); tvAddPoints.setText("本次積分:" + data.getAddPoints());
tvNowPoint.setText("結餘積分:" + data.getNowPoints()); tvNowPoint.setText("結餘積分:" + data.getNowPoints());
...@@ -583,6 +592,18 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis ...@@ -583,6 +592,18 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
tvMemberPhone.setText("會員電話:" + getReplaceAfter(data.getPHONE())); tvMemberPhone.setText("會員電話:" + getReplaceAfter(data.getPHONE()));
} }
} }
//生成積分QRCode碼(飯糰APP掃碼獲得積分)
if (TextUtils.isEmpty(integralQrcode)) {
llIntegralQrcode.setVisibility(View.GONE);
} else {
llIntegralQrcode.setVisibility(View.VISIBLE);
try {
Bitmap QRImage = QRCodeUtil.makeQRImage(integralQrcode, 180, 180);
ivIntegralQrcode.setImageBitmap(QRImage);
} catch (WriterException e) {
e.printStackTrace();
}
}
return view; return view;
} }
...@@ -639,7 +660,7 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis ...@@ -639,7 +660,7 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
return getVerticalRecyclerView(mContext, new BillItemAdapter(data)); return getVerticalRecyclerView(mContext, new BillItemAdapter(data));
} }
protected void addTakeawayPayViews(Context mContext, ViewGroup parent, List<OrderDetails.DataBean.PayMultiple> payMultiples, double payAmount){ protected void addTakeawayPayViews(Context mContext, ViewGroup parent, List<OrderDetails.DataBean.PayMultiple> payMultiples, double payAmount) {
if (payMultiples != null && payMultiples.size() > 0) { if (payMultiples != null && payMultiples.size() > 0) {
for (OrderDetails.DataBean.PayMultiple payMultiple : payMultiples) { for (OrderDetails.DataBean.PayMultiple payMultiple : payMultiples) {
if (!TextUtil.isEmptyOrNullOrUndefined(payMultiple.getPayName())) { if (!TextUtil.isEmptyOrNullOrUndefined(payMultiple.getPayName())) {
......
...@@ -4,7 +4,6 @@ import android.app.Activity; ...@@ -4,7 +4,6 @@ import android.app.Activity;
import android.widget.BaseAdapter; import android.widget.BaseAdapter;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult; import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult2;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo; import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.database.bean.ComboItem; import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Discount; import com.gingersoft.gsa.cloud.database.bean.Discount;
...@@ -14,16 +13,13 @@ import com.gingersoft.gsa.cloud.database.bean.FoodModifier; ...@@ -14,16 +13,13 @@ import com.gingersoft.gsa.cloud.database.bean.FoodModifier;
import com.gingersoft.gsa.cloud.database.bean.Modifier; import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose; import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason; import com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.DeleteOrderRequest;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
import java.util.List; import java.util.List;
import java.util.Map;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import io.reactivex.Observable; import io.reactivex.Observable;
import okhttp3.RequestBody; import okhttp3.RequestBody;
import retrofit2.http.Query;
/** /**
...@@ -102,6 +98,8 @@ public interface MealStandContract { ...@@ -102,6 +98,8 @@ public interface MealStandContract {
void showModifyLayoutVisibility(boolean show); void showModifyLayoutVisibility(boolean show);
void showBtnMealModifyRestoreVisibility(boolean show);
void setOrderFoodCount(String number); void setOrderFoodCount(String number);
void setMealRvScrollToPosition(int position); void setMealRvScrollToPosition(int position);
......
...@@ -28,8 +28,6 @@ import okhttp3.RequestBody; ...@@ -28,8 +28,6 @@ import okhttp3.RequestBody;
public interface OrderPayContract { public interface OrderPayContract {
interface View extends BaseOrderContract.View { interface View extends BaseOrderContract.View {
void setDifferenceText();
void showTipDialog(String msg, String btnCancelInfo, String btnOkInfo); void showTipDialog(String msg, String btnCancelInfo, String btnOkInfo);
void showStatusDialog(int operatType); void showStatusDialog(int operatType);
......
package com.gingersoft.gsa.cloud.table.mvp.model.bean; package com.gingersoft.gsa.cloud.table.mvp.model.bean;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.base.common.bean.OrderBean; import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail; import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDiscount;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean; import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import lombok.Data; import lombok.Data;
...@@ -79,25 +81,35 @@ public class OrderDetailItem implements Serializable { ...@@ -79,25 +81,35 @@ public class OrderDetailItem implements Serializable {
// private double tipsPrice; // private double tipsPrice;
// private byte linePayType; // private byte linePayType;
/**折扣ID*/ // /**折扣ID*/
private Long discountId; // private Long discountId;
/**折扣金額*/ // /**折扣金額*/
private double discountAmount; // private double discountAmount;
/**折扣比例*/ // /**折扣比例*/
private int discountValue; // private int discountValue;
/**折扣名稱*/ // /**折扣名稱*/
private String remark; // private String remark;
/**折扣類型*/ // /**折扣類型*/
private int type; // private int type;
/**生成訂單時間*/ /**生成訂單時間*/
private String createTime; private String createTime;
/**結賬時間*/ /**結賬時間*/
private String endTime; private String endTime;
/**訂單食品詳情*/
private List<OrderBean.OrderDetailsBean> orderDetails; private List<OrderBean.OrderDetailsBean> orderDetails;
/**折扣詳情*/
private List<OrderDiscount.Respose> discountDetails;
/**支付詳情*/
private List<OrderPayBean> orderPays; private List<OrderPayBean> orderPays;
/**餐檯信息*/ /**餐檯信息*/
private TableBean.DataBean restaurantTable; private TableBean.DataBean restaurantTable;
/**會員信息*/
private MemberInfo memberInfo;
/**會員積分碼*/
private String verifyCode;
/** /**
* 訂單狀態:0:未支付;1:待確認(已支付, 待餐廳確認);2:制作中(餐厅确认);3:派送中;4:确认收货(完成);5:是否评论;6:取消; * 訂單狀態:0:未支付;1:待確認(已支付, 待餐廳確認);2:制作中(餐厅确认);3:派送中;4:确认收货(完成);5:是否评论;6:取消;
...@@ -112,7 +124,7 @@ public class OrderDetailItem implements Serializable { ...@@ -112,7 +124,7 @@ public class OrderDetailItem implements Serializable {
@Data @Data
public static class OrderPayBean implements Serializable{ public static final class OrderPayBean implements Serializable{
private long id; private long id;
private long lineOrderId; private long lineOrderId;
private int payType; private int payType;
......
package com.gingersoft.gsa.cloud.table.mvp.model.bean;
import lombok.Data;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-09-02
* 修订历史:2020-09-02
* 描述:
*/
@Data
public class OrderPayRespose {
/**
* verifyCode : 387F9C1D8B2AD91B42982C8E50835A8C
* oldPoints : 0
*/
private String verifyCode;
//本次加多少積分
private float addPoints;
//之前有多少積分
private float oldPoints;
//現在有多少積分
private float nowPoint;
}
package com.gingersoft.gsa.cloud.table.mvp.model.bean.request; package com.gingersoft.gsa.cloud.table.mvp.model.bean.request;
import com.gingersoft.gsa.cloud.base.common.bean.DeleteOrderRequest;
import com.gingersoft.gsa.cloud.base.common.bean.OrderBean; import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDiscount; import com.gingersoft.gsa.cloud.base.common.bean.OrderDiscount;
...@@ -19,12 +20,19 @@ import lombok.Data; ...@@ -19,12 +20,19 @@ import lombok.Data;
public class AddOrderRequest { public class AddOrderRequest {
private long orderId; private long orderId;
/**
* 使用會員ID
*/
private Long memberId;
private long tableId; private long tableId;
private String tableNumber; private String tableNumber;
/**賬單小數*/ /**
* 賬單小數
*/
private Double rounding; private Double rounding;
private List<OrderDiscount.Request> discountDetails; private List<OrderDiscount.Request> discountDetails;
private Map<String, List<OrderBean.OrderDetailsBean>> maps; private Map<String, List<OrderBean.OrderDetailsBean>> maps;
private List<DeleteOrderRequest> deleteOrders;
} }
package com.gingersoft.gsa.cloud.table.mvp.model.bean.request;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import java.util.List;
import java.util.Map;
import lombok.Data;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-02-22
* 修订历史:2020-02-22
* 描述:
*/
public class DeleteOrderRequest {
@Data
public static class Request{
private List<Map<Byte, DeleteOrderRequest.DeleteBean>> mapsDelete;
private long orderId ;
private long tableId;
private String tableNumber;
private byte type;
private long reasonId;
}
@Data
public static class DeleteBean{
private long id;
private int number;
}
}
...@@ -5,14 +5,9 @@ import com.gingersoft.gsa.cloud.base.common.bean.BaseResult; ...@@ -5,14 +5,9 @@ import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.FoodBean; import com.gingersoft.gsa.cloud.base.common.bean.FoodBean;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose; import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason; import com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.DeleteOrderRequest;
import java.util.List;
import java.util.Map;
import io.reactivex.Observable; import io.reactivex.Observable;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager; import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
import okhttp3.FormBody;
import okhttp3.RequestBody; import okhttp3.RequestBody;
import retrofit2.http.Body; import retrofit2.http.Body;
import retrofit2.http.Field; import retrofit2.http.Field;
......
...@@ -138,9 +138,10 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -138,9 +138,10 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
initOrderAdapter(); initOrderAdapter();
initItemClickListener(); initItemClickListener();
// removeBillOrderMoney(); if (!containsTableService()) {
if (this instanceof MealStandPresenter) {
addTableServiceAmount(); addTableServiceAmount();
}
if (this instanceof MealStandPresenter) {
addSentOrderDiscount(); addSentOrderDiscount();
addOrderRounding(); addOrderRounding();
//設置賬單總金額 //設置賬單總金額
...@@ -150,15 +151,14 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -150,15 +151,14 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
} }
} }
private void removeBillOrderMoney() { private boolean containsTableService() {
for (int i = mOrderMoneyList.size() - 1; i >= 0; i--) { for (int i = mOrderMoneyList.size() - 1; i >= 0; i--) {
BillOrderMoney billOrderMoney = mOrderMoneyList.get(i); BillOrderMoney billOrderMoney = mOrderMoneyList.get(i);
if ((billOrderMoney.getType() == BillOrderMoney.ORDER_DISCOUNT_TYPE || billOrderMoney.getType() == BillOrderMoney.MEMBER_DISCOUNT_TYPE) && billOrderMoney.getStatus() == 0) { if (billOrderMoney.getType() == BillOrderMoney.SERVERCHARGE_TYPE) {
//未送單折扣不刪除 return true;
} else {
mOrderMoneyList.remove(i);
} }
} }
return false;
} }
@Override @Override
...@@ -290,6 +290,9 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -290,6 +290,9 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
* @param isPrint 是否印單 * @param isPrint 是否印單
*/ */
public void sendOrder(boolean isPrint) { public void sendOrder(boolean isPrint) {
if (!sendOrderConditionFilter()) {
return;
}
if (MyOrderManage.getInstance().getOrderId() < 1) { if (MyOrderManage.getInstance().getOrderId() < 1) {
if (getFoodSize() == 0) { if (getFoodSize() == 0) {
Class[] parameterTypes = {boolean.class}; Class[] parameterTypes = {boolean.class};
...@@ -325,9 +328,32 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -325,9 +328,32 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
} }
/** /**
* 送單條件過濾
*
* @return
*/
public boolean sendOrderConditionFilter() {
MemberInfo memberInfo = MyOrderManage.getInstance().getMemberInfo();
if (memberInfo == null) {
for (OrderDetail item : getNewOrderFoodLists()) {
if (item.getPointsAdd() != 0 || item.getPointsRedeem() != 0) {
String msg = "有積分食品,請使用會員后結賬!";
CommonTipDialog.showSurpisedDialog(IActivity, msg, BaseOrderPresenter.class, this,
"", null, null);
return false;
}
}
}
return true;
}
/**
* 更新賬單金額 * 更新賬單金額
*/ */
public void updateOrderMoneyItem() { public void updateOrderMoneyItem() {
if (!containsTableService()) {
addTableServiceAmount();
}
updateFoodDiscount(); updateFoodDiscount();
updateTableServiceAmount(); updateTableServiceAmount();
updateOrderDiscount(); updateOrderDiscount();
...@@ -350,17 +376,20 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -350,17 +376,20 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
//整單折扣 //整單折扣
Discount discount = new Discount(); Discount discount = new Discount();
discount.setId(orderDiscount.getDiscountId()); discount.setId(orderDiscount.getDiscountId());
discount.setType(orderDiscount.getType());
discount.setRemark(orderDiscount.getRemark()); discount.setRemark(orderDiscount.getRemark());
if (orderDiscount.getDiscountValue() != 0) { if (orderDiscount.getDiscountValue() != 0) {
//百分比折扣 //百分比折扣
discount.setType(1);
discount.setDiscount_value(orderDiscount.getDiscountValue()); discount.setDiscount_value(orderDiscount.getDiscountValue());
addOrderDiscount(true, discount, 1); addOrderDiscount(true, discount, 1);
continue;
} }
if (orderDiscount.getDiscountAmount() != 0) { if (orderDiscount.getDiscountAmount() != 0) {
//金額折扣 //金額折扣
discount.setType(0);
discount.setAmount(orderDiscount.getDiscountAmount()); discount.setAmount(orderDiscount.getDiscountAmount());
addOrderDiscount(true, discount, 1); addOrderDiscount(true, discount, 1);
continue;
} }
} else if (orderDiscount.getType() == OrderDiscount.MEMBER_DISCOUNT) { } else if (orderDiscount.getType() == OrderDiscount.MEMBER_DISCOUNT) {
//會員折扣 //會員折扣
...@@ -419,7 +448,6 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -419,7 +448,6 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
} }
} }
/** /**
* 添加賬單折扣 * 添加賬單折扣
* *
...@@ -662,6 +690,8 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -662,6 +690,8 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
public double getFoodTotal() { public double getFoodTotal() {
double total = 0.0; double total = 0.0;
for (OrderDetail food : myOrderManage.getOrderFoodList()) { for (OrderDetail food : myOrderManage.getOrderFoodList()) {
if (food.getNumber() == 0)
continue;
if (food.getType() == OrderDetail.DISCOUNT_TYPE) { if (food.getType() == OrderDetail.DISCOUNT_TYPE) {
//折扣金额直接减掉 //折扣金额直接减掉
total = MoneyUtil.sub(total, Math.abs(food.getPrice())); total = MoneyUtil.sub(total, Math.abs(food.getPrice()));
...@@ -685,6 +715,8 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -685,6 +715,8 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
int orderSize = myOrderManage.getOrderFoodList().size(); int orderSize = myOrderManage.getOrderFoodList().size();
for (int i = 0; i < orderSize; i++) { for (int i = 0; i < orderSize; i++) {
OrderDetail food = myOrderManage.getOrderFoodList().get(i); OrderDetail food = myOrderManage.getOrderFoodList().get(i);
if (food.getNumber() == 0)
continue;
if (food.getItemType() == 1) { if (food.getItemType() == 1) {
if (food.getAblediscount() == 1) { if (food.getAblediscount() == 1) {
total = MoneyUtil.sum(total, food.getPrice()); total = MoneyUtil.sum(total, food.getPrice());
...@@ -759,6 +791,8 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -759,6 +791,8 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
int orderSize = myOrderManage.getOrderFoodList().size(); int orderSize = myOrderManage.getOrderFoodList().size();
for (int i = 0; i < orderSize; i++) { for (int i = 0; i < orderSize; i++) {
OrderDetail food = myOrderManage.getOrderFoodList().get(i); OrderDetail food = myOrderManage.getOrderFoodList().get(i);
if (food.getNumber() == 0)
continue;
if (food.getItemType() == 1) { if (food.getItemType() == 1) {
if (food.getScAble() == 1) { if (food.getScAble() == 1) {
total = MoneyUtil.sum(total, food.getPrice()); total = MoneyUtil.sum(total, food.getPrice());
...@@ -792,8 +826,10 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -792,8 +826,10 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
public double getTotalAmountFilterByType(int... filterTypes) { public double getTotalAmountFilterByType(int... filterTypes) {
double foodTotal = getFoodTotal(); double foodTotal = getFoodTotal();
for (BillOrderMoney item : mOrderMoneyList) { for (BillOrderMoney item : mOrderMoneyList) {
// if (item.getType() != BillOrderMoney.ROUNDING_TYPE) {
if (!filterType(item.getType(), filterTypes)) { if (!filterType(item.getType(), filterTypes)) {
if (item.getType() == BillOrderMoney.SERVERCHARGE_TYPE && mOrderMoneyAdapter.getWhetherFreeService() == 1) {
//TODO 免服務費
} else {
foodTotal = MoneyUtil.sum(foodTotal, item.getMoney()); foodTotal = MoneyUtil.sum(foodTotal, item.getMoney());
if (0 > foodTotal) { if (0 > foodTotal) {
//折扣金額不能超出總額 //折扣金額不能超出總額
...@@ -801,6 +837,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -801,6 +837,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
} }
} }
} }
}
if (foodTotal < 0) { if (foodTotal < 0) {
foodTotal = 0; foodTotal = 0;
} }
...@@ -824,12 +861,16 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -824,12 +861,16 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
public double getTotalAmount() { public double getTotalAmount() {
double foodTotal = getFoodTotal(); double foodTotal = getFoodTotal();
for (BillOrderMoney item : mOrderMoneyList) { for (BillOrderMoney item : mOrderMoneyList) {
if (item.getType() == BillOrderMoney.SERVERCHARGE_TYPE && mOrderMoneyAdapter.getWhetherFreeService() == 1) {
//TODO 免服務費
} else {
foodTotal = MoneyUtil.sum(foodTotal, item.getMoney()); foodTotal = MoneyUtil.sum(foodTotal, item.getMoney());
if (0 > foodTotal) { if (0 > foodTotal) {
//折扣金額不能超出總額 //折扣金額不能超出總額
foodTotal = 0; foodTotal = 0;
} }
} }
}
if (foodTotal < 0) { if (foodTotal < 0) {
foodTotal = 0; foodTotal = 0;
} }
...@@ -901,6 +942,47 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -901,6 +942,47 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
return str; return str;
} }
/**
* 返回選中已送單食品
*
* @return
*/
protected List<OrderDetail> getSelectedOldFood() {
List<OrderDetail> selectedOldOrders = new ArrayList<>();
List<OrderDetail> oldOrders = getOldOrderFoodLists();
int start_position = mSelectMealAdapter.getSelect_full_start_position();
int end_position = mSelectMealAdapter.getSelect_full_end_position();
for (int i = oldOrders.size() - 1; i >= 0; i--) {
if (start_position <= i && i <= end_position) {
OrderDetail orderDetail1 = oldOrders.get(i);
if (orderDetail1.getType() != DISCOUNT_TYPE) {
selectedOldOrders.add(orderDetail1);
}
}
}
return selectedOldOrders;
}
/**
* 返回選中已送單食品、折扣
*
* @return
*/
protected List<OrderDetail> getSelectedOldFoodAndDicount() {
List<OrderDetail> selectedOldOrders = new ArrayList<>();
List<OrderDetail> oldOrders = getOldOrderFoodLists();
int start_position = mSelectMealAdapter.getSelect_full_start_position();
int end_position = mSelectMealAdapter.getSelect_full_end_position();
for (int i = oldOrders.size() - 1; i >= 0; i--) {
if (start_position <= i && i <= end_position) {
OrderDetail orderDetail1 = oldOrders.get(i);
selectedOldOrders.add(orderDetail1);
}
}
return selectedOldOrders;
}
/** /**
* 删除已选中的食品 * 删除已选中的食品
*/ */
...@@ -976,10 +1058,17 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -976,10 +1058,17 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
setChildDiscountByMainAblediscount(newFoodList); setChildDiscountByMainAblediscount(newFoodList);
AddOrderRequest request = new AddOrderRequest(); AddOrderRequest request = new AddOrderRequest();
request.setTableNumber(OpenTableManage.getDefault().getTableBean().getTableNumber());
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());
if (MyOrderManage.getInstance().getMemberInfo() != null) {
request.setMemberId(MyOrderManage.getInstance().getMemberInfo().getId());
}
request.setTableNumber(OpenTableManage.getDefault().getTableBean().getTableNumber());
request.setMaps(orderDetailBeanToAddFoodRequest(newFoodList));
if (myOrderManage.getDeleteOrders() != null) {
request.setDeleteOrders(myOrderManage.getDeleteOrders());
}
Double rounding = getRounding(); Double rounding = getRounding();
request.setRounding(rounding != null ? rounding : 0); request.setRounding(rounding != null ? rounding : 0);
...@@ -1291,20 +1380,6 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -1291,20 +1380,6 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
} }
/** /**
* 返回整單折扣
*
* @return
*/
protected BillOrderMoney getOrderDiscount() {
for (BillOrderMoney item : mOrderMoneyList) {
if (item.getType() == BillOrderMoney.ORDER_DISCOUNT_TYPE) {
return item;
}
}
return null;
}
/**
* 返回未送單整單折扣 * 返回未送單整單折扣
* *
* @return * @return
...@@ -1318,21 +1393,6 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -1318,21 +1393,6 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
return null; return null;
} }
/**
* 返回未送單會員折扣
*
* @return
*/
protected BillOrderMoney getMemberDiscount() {
for (BillOrderMoney item : mOrderMoneyList) {
if (item.getType() == BillOrderMoney.MEMBER_DISCOUNT_TYPE) {
return item;
}
}
return null;
}
/** /**
* 返回未送單食品列表 * 返回未送單食品列表
* *
...@@ -1394,6 +1454,10 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -1394,6 +1454,10 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
return myOrderManage.getOrderFoodList(); return myOrderManage.getOrderFoodList();
} }
public OrderMoneyAdapter getOrderMoneyAdapter() {
return mOrderMoneyAdapter;
}
protected void sortSelectMealByIsNew() { protected void sortSelectMealByIsNew() {
List<OrderDetail> orderDetail = mOrderFoodList; List<OrderDetail> orderDetail = mOrderFoodList;
List<OrderDetail> sortOrderList = new ArrayList<>(); List<OrderDetail> sortOrderList = new ArrayList<>();
......
package com.gingersoft.gsa.cloud.table.mvp.presenter; package com.gingersoft.gsa.cloud.table.mvp.presenter;
import android.app.Application; import android.app.Application;
import android.content.Intent;
import android.graphics.Color;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.SparseArray; import android.util.SparseArray;
import android.view.View; import android.view.View;
import android.widget.Button;
import com.billy.cc.core.component.CC; import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.aspectj.XClickUtil; import com.gingersoft.gsa.cloud.aspectj.XClickUtil;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult; import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult2;
import com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney; import com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo; import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.base.common.bean.OrderBean; import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
...@@ -39,7 +35,7 @@ import com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason; ...@@ -39,7 +35,7 @@ import com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood; import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest; import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest; import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.DeleteOrderRequest; import com.gingersoft.gsa.cloud.base.common.bean.DeleteOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.utils.OrderAssemblyUtil; import com.gingersoft.gsa.cloud.table.mvp.model.utils.OrderAssemblyUtil;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity; import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter;
...@@ -50,20 +46,14 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter; ...@@ -50,20 +46,14 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.widget.CancelFoodDialog; import com.gingersoft.gsa.cloud.table.mvp.ui.widget.CancelFoodDialog;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog; import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
import com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.di.scope.ActivityScope; import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader; import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager; import com.jess.arms.integration.AppManager;
import com.jess.arms.utils.ArmsUtils;
import com.jess.arms.utils.DeviceUtils;
import com.jess.arms.utils.PermissionUtil;
import com.jess.arms.utils.RxLifecycleUtils; import com.jess.arms.utils.RxLifecycleUtils;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog; import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction; import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
import com.tbruyelle.rxpermissions2.RxPermissions;
import org.simple.eventbus.EventBus;
import org.simple.eventbus.Subscriber; import org.simple.eventbus.Subscriber;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -816,74 +806,112 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -816,74 +806,112 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
} }
/** /**
* 問題:刪除數量 1.賬單小數未更新 世維調整 * 標記需刪除食品
* 刪除已送單食品
* *
* @param maxNumber * @param maxNumber
* @param deleteNumber * @param deleteNumber
* @param reasonId * @param reasonId
*/ */
public void deleteFood(int maxNumber, int deleteNumber, long reasonId) { public void markDeleteFood(int maxNumber, int deleteNumber, int reasonId, String reason) {
String ids = getSelectedOldFoodIds(); String ids = getSelectedOldFoodIds();
if (TextUtils.isEmpty(ids)) { if (TextUtils.isEmpty(ids)) {
return; return;
} }
List<OrderDetail> oldOrders = getSelectedOldFoodAndDicount();
DeleteOrderRequest.Request request = getDeleteOrderRequest(ids, reasonId, maxNumber, deleteNumber); for (OrderDetail item : oldOrders) {
String deleteOrderRequest = GsonUtils.GsonString(request); //保存取消前的數量
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), deleteOrderRequest); item.setModifyBeforeNumber(item.getNumber());
//將數量標記成已刪除
mModel.deleteFood(requestBody) int afterDeleteNumber = item.getNumber() - deleteNumber;
.subscribeOn(Schedulers.io()) if (afterDeleteNumber > 0) {
.doOnSubscribe(disposable -> mRootView.showLoading(null)) item.setNumber(afterDeleteNumber);
.subscribeOn(AndroidSchedulers.mainThread()) } else {
.observeOn(AndroidSchedulers.mainThread()) item.setNumber(0);
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseRespose>(mErrorHandler) {
@Override
public void onNext(@NonNull BaseRespose info) {
if (info == null) {
mRootView.showMessage("刪除失敗");
return;
} }
item.setCancelReason(reason);
if (info.isSuccess()) { item.setReasonId(reasonId);
item.setCancelNumber(deleteNumber);
mRootView.showMessage("刪除成功");
//删除所有已下单信息
deleteOldFood();
if (info.getData() != null && info.getData().getOrderDetails() != null) {
OpenTableManage.getDefault().setPeopleNumber(info.getData().getPerson());
//緩存訂單信息
MyOrderManage.getInstance().setOrderBean(new OrderBean(info.getData()));
//緩存食品信息
List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(info.getData().getOrderDetails()));
mOrderFoodList.addAll(orderDetailList);
} }
mSelectMealAdapter.notifyDataSetChanged();
//重新排序食品 将已下单食品放到前面 //將取消信息保存到訂單信息類中
sortSelectMealByIsNew(); DeleteOrderRequest request = getDeleteOrderRequest(ids, reasonId, maxNumber, deleteNumber);
myOrderManage.addDeleteOrder(request);
mSelectMealAdapter.notifyDataSetChanged(); mRootView.showBtnMealModifyRestoreVisibility(true);
mSelectMealAdapter.setIndex();
//重新獲取沽清數據 // String deleteOrderRequest = GsonUtils.GsonString(request);
getCurrentSoldoutFood(); // RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), deleteOrderRequest);
//
// mModel.deleteFood(requestBody)
// .subscribeOn(Schedulers.io())
// .doOnSubscribe(disposable -> mRootView.showLoading(null))
// .subscribeOn(AndroidSchedulers.mainThread())
// .observeOn(AndroidSchedulers.mainThread())
// .doAfterTerminate(() -> mRootView.hideLoading())
// .compose(RxLifecycleUtils.bindToLifecycle(mRootView))
// .subscribe(new ErrorHandleSubscriber<BaseRespose>(mErrorHandler) {
//
// @Override
// public void onNext(@NonNull BaseRespose info) {
//
// if (info == null) {
// mRootView.showMessage("刪除失敗");
// return;
// }
//
// if (info.isSuccess()) {
//
// mRootView.showMessage("刪除成功");
//
// //删除所有已下单信息
// deleteOldFood();
//
// if (info.getData() != null && info.getData().getOrderDetails() != null) {
//
// OpenTableManage.getDefault().setPeopleNumber(info.getData().getPerson());
// //緩存訂單信息
// MyOrderManage.getInstance().setOrderBean(new OrderBean(info.getData()));
// //緩存食品信息
// List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(info.getData().getOrderDetails()));
//
// mOrderFoodList.addAll(orderDetailList);
// }
//
// //重新排序食品 将已下单食品放到前面
// sortSelectMealByIsNew();
//
// mSelectMealAdapter.notifyDataSetChanged();
// mSelectMealAdapter.setIndex();
//
// //重新獲取沽清數據
// getCurrentSoldoutFood();
//
// mRootView.showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode);
// } else {
// mRootView.showMessage("獲取訂單數據失敗");
// }
// }
// });
}
mRootView.showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode); /**
} else { * 恢復標記刪除的食品
mRootView.showMessage("獲取訂單數據失敗"); */
public void restoreDeleteFood() {
for (OrderDetail item : mOrderFoodList) {
if(!item.isModify()){
continue;
} }
item.setNumber(item.getModifyBeforeNumber());
item.setModifyBeforeNumber(0);
item.setCancelReason("");
item.setReasonId(0);
item.setCancelNumber(0);
} }
}); myOrderManage.setDeleteOrders(null);
mSelectMealAdapter.notifyDataSetChanged();
} }
public void queryMember(int type, String parm, String shopName, int tableId, String tableNumber) { public void queryMember(int type, String parm, String shopName, int tableId, String tableNumber) {
...@@ -1033,7 +1061,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -1033,7 +1061,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
mCancelFoodDialog.build().dismiss(); mCancelFoodDialog.build().dismiss();
mCancelFoodDialog = null; mCancelFoodDialog = null;
} }
deleteFood(maxNumber, deleteNumber, reasonId); markDeleteFood(maxNumber, deleteNumber, reasonId, reason);
}); });
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss()); dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
dialogBuilder.create(R.style.MyDialogTheme2).show(); dialogBuilder.create(R.style.MyDialogTheme2).show();
...@@ -2056,12 +2084,12 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -2056,12 +2084,12 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
* @param deleteNumber * @param deleteNumber
* @return * @return
*/ */
private DeleteOrderRequest.Request getDeleteOrderRequest(String ids, long reasonId, int maxNumber, int deleteNumber) { private DeleteOrderRequest getDeleteOrderRequest(String ids, long reasonId, int maxNumber, int deleteNumber) {
List<Map<Byte, DeleteOrderRequest.DeleteBean>> mapsDelete = getMapsDelete(ids, maxNumber, deleteNumber); List<DeleteOrderRequest.DeleteBean> mapsDelete = getMapsDelete(ids, maxNumber, deleteNumber);
byte type = (byte) (myOrderManage.isModifyOrder() ? 2 : 1); byte type = (byte) (myOrderManage.isModifyOrder() ? 2 : 1);
long orderId = MyOrderManage.getInstance().getOrderId(); long orderId = MyOrderManage.getInstance().getOrderId();
DeleteOrderRequest.Request request = new DeleteOrderRequest.Request(); DeleteOrderRequest request = new DeleteOrderRequest();
request.setMapsDelete(mapsDelete); request.setMapsDelete(mapsDelete);
request.setOrderId(orderId); request.setOrderId(orderId);
request.setTableId(OpenTableManage.getDefault().getTableBean().getId()); request.setTableId(OpenTableManage.getDefault().getTableBean().getId());
...@@ -2079,21 +2107,20 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -2079,21 +2107,20 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
* @param deleteNumber * @param deleteNumber
* @return * @return
*/ */
private List<Map<Byte, DeleteOrderRequest.DeleteBean>> getMapsDelete(String ids, private List<DeleteOrderRequest.DeleteBean> getMapsDelete(String ids, int maxNumber, int deleteNumber) {
int maxNumber, int deleteNumber) { List<DeleteOrderRequest.DeleteBean> deleteMaps = new ArrayList<>();
List<Map<Byte, DeleteOrderRequest.DeleteBean>> deleteMaps = new ArrayList<>();
//取消食品id //取消食品id
String[] idsArray = ids.split(","); String[] idsArray = ids.split(",");
//取消食品數量 //取消食品數量
String[] quantitys = getQuantitys(idsArray.length, maxNumber, deleteNumber).split(","); String[] quantitys = getQuantitys(idsArray.length, maxNumber, deleteNumber).split(",");
for (int i = 0; i < idsArray.length; i++) { for (int i = 0; i < idsArray.length; i++) {
String[] quantitysStr = quantitys[i].split("_"); String[] quantitysStr = quantitys[i].split("_");
Map<Byte, DeleteOrderRequest.DeleteBean> map = new HashMap<>(); // Map<Byte, DeleteOrderRequest.DeleteBean> map = new HashMap<>();
DeleteOrderRequest.DeleteBean request = new DeleteOrderRequest.DeleteBean(); DeleteOrderRequest.DeleteBean request = new DeleteOrderRequest.DeleteBean();
request.setId(Long.parseLong(idsArray[i])); request.setId(Long.parseLong(idsArray[i]));
request.setNumber(Integer.parseInt(quantitysStr[1])); request.setNumber(Integer.parseInt(quantitysStr[1]));
map.put(Byte.parseByte(quantitysStr[0]), request); // map.put(Byte.parseByte(quantitysStr[0]), request);
deleteMaps.add(map); deleteMaps.add(request);
} }
return deleteMaps; return deleteMaps;
} }
......
...@@ -246,8 +246,9 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -246,8 +246,9 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
if (MyOrderManage.getInstance().isModifyOrder()) { if (MyOrderManage.getInstance().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));
} else { } else {
List<Function> functions = FunctionManager.getDefault().getFunctionByResModule(IActivity, 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);
...@@ -726,6 +727,25 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -726,6 +727,25 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mDiscountDialog.build().show(); mDiscountDialog.build().show();
} }
/**
* 轉移條件過濾
*
* @return
*/
public boolean transferFoodConditionFilter(long memberId) {
List<OrderDetail> oldOrderDetails = getSelectedOldFood();
for (OrderDetail item : oldOrderDetails) {
//積分食品轉移-》目標檯不是會員檯-》提示不可轉移
if ((item.getPointsAdd() != 0 || item.getPointsRedeem() != 0) && memberId == 0) {
String msg = "積分食品轉移,目標檯不是會員檯,不可轉移!";
CommonTipDialog.showSurpisedDialog(IActivity, msg, OrderContentPresenter.class, OrderContentPresenter.this,
"", null, null);
return false;
}
}
return true;
}
public void removeOrderDetailItem(int index) { public void removeOrderDetailItem(int index) {
if (index < mOrderMoneyList.size()) { if (index < mOrderMoneyList.size()) {
mOrderMoneyList.remove(index); mOrderMoneyList.remove(index);
......
...@@ -13,12 +13,13 @@ import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage; ...@@ -13,12 +13,13 @@ import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils; import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil; import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils; import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.table.app.payment.PayConstant;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderPayContract; import com.gingersoft.gsa.cloud.table.mvp.contract.OrderPayContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderPayRespose;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest; import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest; import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderPayActivity; import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderPayActivity;
import com.gingersoft.gsa.cloud.ui.view.OrderPayView; import com.gingersoft.gsa.cloud.ui.view.OrderPayView;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
import com.jess.arms.di.scope.ActivityScope; import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader; import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager; import com.jess.arms.integration.AppManager;
...@@ -189,7 +190,7 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model ...@@ -189,7 +190,7 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
if (baseResult.isSuccess()) { if (baseResult.isSuccess()) {
List<PayMethod> payMethods = JsonUtils.parseArray(baseResult.getData(), PayMethod.class); List<PayMethod> payMethods = JsonUtils.parseArray(baseResult.getData(), PayMethod.class);
for (int i = 0; i < payMethods.size(); i++) { for (int i = 0; i < payMethods.size(); i++) {
//這裡有對象為null的清機 排除掉 //這裡有對象為null的情況 排除掉
if (payMethods.get(i) == null) { if (payMethods.get(i) == null) {
payMethods.remove(i); payMethods.remove(i);
} }
...@@ -234,33 +235,20 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model ...@@ -234,33 +235,20 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
public void onNext(BaseResult baseResult) { public void onNext(BaseResult baseResult) {
mRootView.hideLoading(); mRootView.hideLoading();
if (baseResult.isSuccess()) { if (baseResult.isSuccess()) {
MemberInfo memberInfo = MyOrderManage.getInstance().getMemberInfo(); OrderPayRespose orderPayRespose = JsonUtils.parseObject(baseResult.getData(), OrderPayRespose.class);
if (memberInfo != null) { MyOrderManage.getInstance().setAddPoints(orderPayRespose.getAddPoints());
setPoints(memberInfo); MyOrderManage.getInstance().setNowPoint(orderPayRespose.getNowPoint());
} MyOrderManage.getInstance().setOldPoints(orderPayRespose.getOldPoints());
MyOrderManage.getInstance().setIntegralQrcode(orderPayRespose.getVerifyCode());
// MemberInfo memberInfo = MyOrderManage.getInstance().getMemberInfo();
// if (memberInfo != null) {
// setPoints(memberInfo);
// }
//結賬成功 //結賬成功
mRootView.paySuccess(); mRootView.paySuccess();
} }
} }
private void setPoints(MemberInfo memberInfo) {
double pointsAdd = getPointsAdd();
double pointsUse = getPointsRedeem();
double pointsOld = memberInfo.getMemberPoint();
double pointsNow = pointsOld + (pointsAdd + pointsUse);
MyOrderManage.getInstance().setPointsOld(pointsOld);
MyOrderManage.getInstance().setPointsNow(pointsNow);
if (pointsAdd > 0) {
MyOrderManage.getInstance().setPointsAdd(pointsAdd);
}
if (pointsUse > 0) {
MyOrderManage.getInstance().setPointsUse(pointsUse);
}
}
@Override @Override
public void onError(Throwable t) { public void onError(Throwable t) {
super.onError(t); super.onError(t);
...@@ -278,14 +266,16 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model ...@@ -278,14 +266,16 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
payRequest.setLinePayType(orderPayView.getLinePayType()); payRequest.setLinePayType(orderPayView.getLinePayType());
payRequest.setTableId(OpenTableManage.getDefault().getTableBean().getId()); payRequest.setTableId(OpenTableManage.getDefault().getTableBean().getId());
payRequest.setTableNumber(OpenTableManage.getDefault().getTableBean().getTableNumber()); payRequest.setTableNumber(OpenTableManage.getDefault().getTableBean().getTableNumber());
payRequest.setMemberId(GsaCloudApplication.getMemberId(mApplication)); if (myOrderManage.getMemberInfo() != null) {
payRequest.setMemberId(myOrderManage.getMemberInfo().getId());
}
payRequest.setPointsAdd(getPointsAdd()); payRequest.setPointsAdd(getPointsAdd());
payRequest.setPointsUse(getPointsRedeem()); payRequest.setPointsUse(getPointsRedeem());
for (int i = 0; i < payMethodList.size(); i++) { for (int i = 0; i < payMethodList.size(); i++) {
PayMethod payMethod = payMethodList.get(i); PayMethod payMethod = payMethodList.get(i);
OrderPayRequest.orderPay orderPay = new OrderPayRequest.orderPay(); OrderPayRequest.orderPay orderPay = new OrderPayRequest.orderPay();
orderPay.setPayType(payMethod.getId()); orderPay.setPayType(payMethod.getPayType());
if (payMethodList.size() == 2) { if (payMethodList.size() == 2) {
if (i == 1) { if (i == 1) {
//小费放在第二种支付方式里面 //小费放在第二种支付方式里面
...@@ -398,7 +388,7 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model ...@@ -398,7 +388,7 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
* 結賬前創建訂單或添加食品 * 結賬前創建訂單或添加食品
*/ */
public void sendOrderBefore() { public void sendOrderBefore() {
if (hasNesOrderFoods() || getNesOrderDiscount() != null) { if (hasNesOrderFoods() || getNesOrderDiscount() != null || hasDeleteFood()) {
//有食品或折扣未送單 先送單 //有食品或折扣未送單 先送單
sendOrder(false); sendOrder(false);
} else { } else {
...@@ -407,13 +397,31 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model ...@@ -407,13 +397,31 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
} }
} }
public void pressExact() { /**
// double differenceMoney = getDifferenceMoney(); * 是否修刪除過食品
// PayMethod billMoneyBean = getSelectBillMoney(); *
// if (billMoneyBean != null && differenceMoney > 0) { * @return
// billMoneyBean.setPayMoney(billMoneyBean.getPayMoney() + differenceMoney); */
// mBillMoneyAdapter.notifyDataSetChanged(); private boolean hasDeleteFood() {
// } for (OrderDetail item : mOrderFoodList) {
if (item.isModify()) {
return true;
}
}
return false;
}
public void setWhetherFreeService(int whetherFreeService) {
//更新服務費中劃線
mOrderMoneyAdapter.setWhetherFreeService(whetherFreeService);
//更新總金額
updateOrderMoneyItem();
OrderPayView orderPayView = IActivity.getGsaPayView();
if (orderPayView != null) {
orderPayView.setTotalAmount(getTotalAmount());
orderPayView.initOrderDetail();
orderPayView.setDifferenceText(GsaCloudApplication.getAppContext());
}
} }
/** /**
...@@ -430,20 +438,6 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model ...@@ -430,20 +438,6 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
} }
/** /**
* 是否現金支付
*
* @param datasBean
* @return
*/
private boolean isCashPayMethod(PayMethod datasBean) {
// if (datasBean.getPayType().equals(PayConstant.PAY_WAY_CASH)) {
return true;
// } else {
// return false;
// }
}
/**
* 獲取超出的金額為找零還是貼士: linePayType 1 tipsPrice 为找零 2 tipsPrice为贴上 * 獲取超出的金額為找零還是貼士: linePayType 1 tipsPrice 为找零 2 tipsPrice为贴上
* 現金,掃碼QR = 找零 * 現金,掃碼QR = 找零
* 信用卡 = 貼士 * 信用卡 = 貼士
...@@ -469,17 +463,6 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model ...@@ -469,17 +463,6 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
} }
/** /**
* 獲取食品總金額
*
* @return
*/
private double getAmount() {
//支付總額減去找零或貼士
// return getBillMoney() - getTipsPrice();
return getBillMoney();
}
/**
* 獲取支付差額 * 獲取支付差額
* *
* @return * @return
......
...@@ -207,10 +207,9 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -207,10 +207,9 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
}); });
} }
public void initBottomFunctionItem() { public void initBottomFunctionItem() {
boolean addFuctions = false; boolean addFuctions = false;
List<Function> functions = FunctionManager.getDefault().getFunctionByResModule(IActivity, ComponentTable.table.class, ComponentTable.table.bottom, "bottom"); List<Function> functions = FunctionManager.getDefault().getFunctionByResModule(GsaCloudApplication.getAppContext(), ComponentTable.table.class, ComponentTable.table.bottom, "bottom");
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) {
//有配置餐檯操作模块 //有配置餐檯操作模块
......
...@@ -3,12 +3,14 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter.orderManager; ...@@ -3,12 +3,14 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter.orderManager;
import android.app.Application; import android.app.Application;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import com.billy.cc.core.component.CC; import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney; import com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.common.bean.OrderBean; import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail; import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDiscount;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod; import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean; import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage; import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
...@@ -121,14 +123,17 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -121,14 +123,17 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
orderBean.setOrderNo(datasBean.getOrderNo()); orderBean.setOrderNo(datasBean.getOrderNo());
orderBean.setPerson(datasBean.getPerson()); orderBean.setPerson(datasBean.getPerson());
orderBean.setCreateTime(datasBean.getCreateTime()); orderBean.setCreateTime(datasBean.getCreateTime());
if (datasBean.getDiscountDetails() != null) {
orderBean.setDiscountDetails(datasBean.getDiscountDetails());
}
MyOrderManage.getInstance().setOrderBean(orderBean); MyOrderManage.getInstance().setOrderBean(orderBean);
// TableBean.DataBean openTableBean = new TableBean.DataBean();
// openTableBean.setCreateTime(TimeUtil.getStringByFormat(new Date(datasBean.getCreateTime()), TimeUtil.dateFormatYMDHM));
// openTableBean.setTableName(datasBean.getTableName());
// openTableBean.setId(datasBean.getTableId());
TableBean.DataBean tableBean = new TableBean.DataBean(datasBean.getRestaurantTable()); TableBean.DataBean tableBean = new TableBean.DataBean(datasBean.getRestaurantTable());
if (!TextUtils.isEmpty(tableBean.getTableNumber())) {
tableBean.setTableName(tableBean.getTableName() + "-" + tableBean.getTableNumber()); tableBean.setTableName(tableBean.getTableName() + "-" + tableBean.getTableNumber());
} else {
tableBean.setTableName(tableBean.getTableName());
}
OpenTableManage.getDefault().setTableBean(tableBean); OpenTableManage.getDefault().setTableBean(tableBean);
OpenTableManage.getDefault().setPeopleNumber(datasBean.getPerson()); OpenTableManage.getDefault().setPeopleNumber(datasBean.getPerson());
...@@ -136,6 +141,10 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -136,6 +141,10 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(orderDetailsBeans)); List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(orderDetailsBeans));
MyOrderManage.getInstance().setOrderFoodList(orderDetailList); MyOrderManage.getInstance().setOrderFoodList(orderDetailList);
if (datasBean.getMemberInfo() != null) {
MyOrderManage.getInstance().setMemberInfo(datasBean.getMemberInfo());
}
Intent intent = new Intent(IActivity, MealStandActivity.class); Intent intent = new Intent(IActivity, MealStandActivity.class);
IActivity.startActivityForResult(intent, OrderCenterActivity.MODIFY_ORDER_RETURN_CODE); IActivity.startActivityForResult(intent, OrderCenterActivity.MODIFY_ORDER_RETURN_CODE);
} }
...@@ -164,7 +173,7 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -164,7 +173,7 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
double wholeAmount = getWholeAmount(orderDetailList); double wholeAmount = getWholeAmount(orderDetailList);
MyOrderManage.getInstance().setOrderFoodList(orderDetailList); MyOrderManage.getInstance().setOrderFoodList(orderDetailList);
MyOrderManage.getInstance().setOrderMoneyList(getOrderMoneyList(orderDetailItem,wholeAmount)); MyOrderManage.getInstance().setOrderMoneyList(getOrderMoneyList(orderDetailItem, wholeAmount));
MyOrderManage.getInstance().setOrderId(orderDetailItem.getId()); MyOrderManage.getInstance().setOrderId(orderDetailItem.getId());
MyOrderManage.getInstance().setWholeAmount(wholeAmount); MyOrderManage.getInstance().setWholeAmount(wholeAmount);
MyOrderManage.getInstance().setTotalAmount(orderDetailItem.getTotalAmount()); MyOrderManage.getInstance().setTotalAmount(orderDetailItem.getTotalAmount());
...@@ -191,7 +200,6 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -191,7 +200,6 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
}); });
} }
private List<BillOrderMoney> getOrderMoneyList(OrderDetailItem orderDetailItem, double totalMoney) { private List<BillOrderMoney> getOrderMoneyList(OrderDetailItem orderDetailItem, double totalMoney) {
List<SectionTextItem3> printOrderMoneyList = new ArrayList<>(); List<SectionTextItem3> printOrderMoneyList = new ArrayList<>();
List<BillOrderMoney> printBillOrderMoneyList = new ArrayList<>(); List<BillOrderMoney> printBillOrderMoneyList = new ArrayList<>();
...@@ -199,10 +207,12 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -199,10 +207,12 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
if (serviceAmountSection != null) { if (serviceAmountSection != null) {
printOrderMoneyList.add(serviceAmountSection); printOrderMoneyList.add(serviceAmountSection);
} }
List<SectionTextItem3> discountSections = getOrderDiscountSections(orderDetailItem, totalMoney);
List<SectionTextItem3> discountSections = getOrderDiscountSections(orderDetailItem);
if (discountSections != null) { if (discountSections != null) {
printOrderMoneyList.addAll(discountSections); printOrderMoneyList.addAll(discountSections);
} }
SectionTextItem3 roudingSection = getOrderRoudingSection(orderDetailItem); SectionTextItem3 roudingSection = getOrderRoudingSection(orderDetailItem);
if (roudingSection != null) { if (roudingSection != null) {
printOrderMoneyList.add(roudingSection); printOrderMoneyList.add(roudingSection);
...@@ -234,21 +244,18 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -234,21 +244,18 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
* 獲取賬單折扣列 * 獲取賬單折扣列
* *
* @param orderDetailItem * @param orderDetailItem
* @param totalMoney
* @return * @return
*/ */
private List<SectionTextItem3> getOrderDiscountSections(OrderDetailItem orderDetailItem, double totalMoney) { private List<SectionTextItem3> getOrderDiscountSections(OrderDetailItem orderDetailItem) {
if (orderDetailItem.getRemark() != null) { List<SectionTextItem3> sectionTextItem3s = null;
if (orderDetailItem.getDiscountDetails() != null) {
sectionTextItem3s = new ArrayList<>();
//折扣 //折扣
Discount discount = new Discount(); for (OrderDiscount.Respose discount : orderDetailItem.getDiscountDetails()) {
discount.setType(orderDetailItem.getType()); sectionTextItem3s.add(SectionTextItem3.discountTransSectionTextItem3(discount));
discount.setRemark(orderDetailItem.getRemark());
discount.setDiscount_value(orderDetailItem.getDiscountValue());
double discountPrice = Discount.calculationDiscount(discount, totalMoney);
discount.setAmount(discountPrice);
return SectionTextItem3.discountTransSectionTextItem3(discount);
} }
return null; }
return sectionTextItem3s;
} }
/** /**
......
...@@ -168,7 +168,6 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -168,7 +168,6 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@BindView(R2.id.btn_order_count) @BindView(R2.id.btn_order_count)
Button btn_order_count; Button btn_order_count;
//送单
@BindView(R2.id.fl_send_order) @BindView(R2.id.fl_send_order)
FrameLayout fl_send_order; FrameLayout fl_send_order;
@BindView(R2.id.btn_send_order) @BindView(R2.id.btn_send_order)
...@@ -176,7 +175,6 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -176,7 +175,6 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
// @BindView(R2.id.btn_send_order_machine_name) // @BindView(R2.id.btn_send_order_machine_name)
// TextView btn_send_order_machine_name; // TextView btn_send_order_machine_name;
//印单
@BindView(R2.id.fl_printer_order) @BindView(R2.id.fl_printer_order)
FrameLayout fl_printer_order; FrameLayout fl_printer_order;
@BindView(R2.id.btn_order_printer) @BindView(R2.id.btn_order_printer)
...@@ -203,8 +201,8 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -203,8 +201,8 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
// TextView btn_meal_discount; // TextView btn_meal_discount;
@BindView(R2.id.btn_meal_delete) @BindView(R2.id.btn_meal_delete)
TextView btn_meal_delete; TextView btn_meal_delete;
// @BindView(R2.id.btn_meal_modify_restore) @BindView(R2.id.btn_meal_modify_restore)
// ImageButton btn_meal_modify_restore; TextView btn_meal_modify_restore;
// @BindView(R2.id.btn_change_Language) // @BindView(R2.id.btn_change_Language)
// ImageButton btn_change_Language; // ImageButton btn_change_Language;
// @BindView(R2.id.btn_food_merge) // @BindView(R2.id.btn_food_merge)
...@@ -599,6 +597,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -599,6 +597,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@Override @Override
public void onUseMember(UseMemberDialog dialog) { public void onUseMember(UseMemberDialog dialog) {
if (mMemberInfo != null) { if (mMemberInfo != null) {
mUseMemberDialog.cancel();
MyOrderManage.getInstance().setMemberInfo(mMemberInfo); MyOrderManage.getInstance().setMemberInfo(mMemberInfo);
//添加会员折扣行 //添加会员折扣行
mPresenter.addMemberDiscount(mMemberInfo.getId(), mMemberInfo.getMemberDiscount(), mMemberInfo.getMemberName(), mMemberInfo.getLevelName1()); mPresenter.addMemberDiscount(mMemberInfo.getId(), mMemberInfo.getMemberDiscount(), mMemberInfo.getMemberName(), mMemberInfo.getLevelName1());
...@@ -666,7 +665,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -666,7 +665,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
} }
@OnClick({R2.id.btn_key1, R2.id.btn_key2, R2.id.btn_key3, R2.id.btn_key4, R2.id.btn_key5, R2.id.btn_keys, @OnClick({R2.id.btn_key1, R2.id.btn_key2, R2.id.btn_key3, R2.id.btn_key4, R2.id.btn_key5, R2.id.btn_keys,
R2.id.btn_numberman, R2.id.btn_fid, R2.id.btn_meal_delete, R2.id.btn_send_order, R2.id.tv_no_save_return, R2.id.fl_order_content, R2.id.btn_numberman, R2.id.btn_fid, R2.id.btn_meal_delete, R2.id.btn_meal_modify_restore, R2.id.btn_send_order, R2.id.tv_no_save_return, R2.id.fl_order_content,
R2.id.btn_taste, R2.id.btn_msg, R2.id.btn_delete, R2.id.btn_end, R2.id.iv_fine_back}) R2.id.btn_taste, R2.id.btn_msg, R2.id.btn_delete, R2.id.btn_end, R2.id.iv_fine_back})
public void onClick(View v) { public void onClick(View v) {
...@@ -693,6 +692,9 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -693,6 +692,9 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode); showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode);
SPUtils.put(this, MealConstant.EXIT_IS_PLU_MODE, false); SPUtils.put(this, MealConstant.EXIT_IS_PLU_MODE, false);
setPluMode(); setPluMode();
} else if (id == R.id.btn_meal_modify_restore) {
mPresenter.restoreDeleteFood();
showBtnMealModifyRestoreVisibility(false);
} 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) {
...@@ -758,6 +760,8 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -758,6 +760,8 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
mChooseNumberDialog.setCancelable(true); mChooseNumberDialog.setCancelable(true);
mChooseNumberDialog.show(); mChooseNumberDialog.show();
break; break;
default:
break;
} }
} else if (id == R.id.iv_fine_back) { } else if (id == R.id.iv_fine_back) {
showViewModeVisibility(MealConstant.combo_ViewMode, MealConstant.modifier_ViewMode); showViewModeVisibility(MealConstant.combo_ViewMode, MealConstant.modifier_ViewMode);
...@@ -1056,6 +1060,8 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -1056,6 +1060,8 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
case MealConstant.fine_ViewMode: case MealConstant.fine_ViewMode:
showModifyLayoutVisibility(true); showModifyLayoutVisibility(true);
break; break;
default:
break;
} }
} }
...@@ -1239,6 +1245,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -1239,6 +1245,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
} }
} else if (requestCode == MipcaCaptureActivity.CALL_BACK_QR_RESULT) { } else if (requestCode == MipcaCaptureActivity.CALL_BACK_QR_RESULT) {
String qrCodeResult = data.getStringExtra("qrCodeResult"); String qrCodeResult = data.getStringExtra("qrCodeResult");
mPresenter.queryMember(1, qrCodeResult, GsaCloudApplication.getGsPosShopId(mContext), OpenTableManage.getDefault().getTableBean().getId(), OpenTableManage.getDefault().getTableBean().getTableNumber());
} }
} }
...@@ -1271,6 +1278,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -1271,6 +1278,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
rv_modifier.setLayoutParams(layoutParam); rv_modifier.setLayoutParams(layoutParam);
} }
@Override
public void showBtnMealModifyRestoreVisibility(boolean show) {
btn_meal_modify_restore.setVisibility(show ? View.VISIBLE : View.GONE);
}
private void setSelectFunctionVisibility(int visibility) { private void setSelectFunctionVisibility(int visibility) {
btn_anti_selection.setVisibility(visibility); btn_anti_selection.setVisibility(visibility);
btn_select_all.setVisibility(visibility); btn_select_all.setVisibility(visibility);
......
...@@ -25,6 +25,7 @@ import androidx.recyclerview.widget.GridLayoutManager; ...@@ -25,6 +25,7 @@ import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean; import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage; import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage; import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
...@@ -257,23 +258,12 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese ...@@ -257,23 +258,12 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
tv_action_name.setVisibility(View.GONE); tv_action_name.setVisibility(View.GONE);
} }
// @Override
// protected void doOnBackPressed() {
//// super.doOnBackPressed();
// backPressed();
// }
@Override @Override
public void onBackPressedSupport() { public void onBackPressedSupport() {
super.onBackPressedSupport(); super.onBackPressedSupport();
backPressed(); backPressed();
} }
// @Override
// public void onBackPressed() {
// backPressed();
// }
@Override @Override
public void initIntent() { public void initIntent() {
...@@ -332,6 +322,9 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese ...@@ -332,6 +322,9 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
@Override @Override
public void clickTableItem(TableBean.DataBean dataBean) { public void clickTableItem(TableBean.DataBean dataBean) {
if(!mPresenter.transferFoodConditionFilter(dataBean.getMemberId())){
return;
}
switch (mCurrentOperatType) { switch (mCurrentOperatType) {
case OrderConentOperatTypeConstant.transfer_food_2: case OrderConentOperatTypeConstant.transfer_food_2:
if (dataBean.getSplitStatus() == 1) { if (dataBean.getSplitStatus() == 1) {
...@@ -346,6 +339,7 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese ...@@ -346,6 +339,7 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
} }
} }
@Override @Override
public void onStartRefreshTableData() { public void onStartRefreshTableData() {
isRefreshData = true; isRefreshData = true;
...@@ -577,7 +571,7 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese ...@@ -577,7 +571,7 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
setResult(Activity.RESULT_OK, null); setResult(Activity.RESULT_OK, null);
killMyself(); killMyself();
} }
}else if (requestCode == MipcaCaptureActivity.CALL_BACK_QR_RESULT) { } else if (requestCode == MipcaCaptureActivity.CALL_BACK_QR_RESULT) {
String qrCodeResult = data.getStringExtra("qrCodeResult"); String qrCodeResult = data.getStringExtra("qrCodeResult");
} }
......
...@@ -4,6 +4,7 @@ import android.app.Activity; ...@@ -4,6 +4,7 @@ import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
...@@ -128,8 +129,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -128,8 +129,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
// @BindView(R2.id.btn_order_count) // @BindView(R2.id.btn_order_count)
// Button btn_order_count; // Button btn_order_count;
//支付狀態Dialog
private StatusLoadingDialog mStatusLoadingDialog;
// private QMUITipDialog tipDialog; // private QMUITipDialog tipDialog;
@BindView(R2.id.gsa_pay_view) @BindView(R2.id.gsa_pay_view)
OrderPayView gsaPayView; OrderPayView gsaPayView;
...@@ -156,14 +155,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -156,14 +155,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
private int pointRule; private int pointRule;
/** private int mWhetherFreeService = 0;
* N5相关
*/
private String N5_RESP;
//支付回调数据
private SaleRespose saleRespose;
//退款回调数据
private RefundRespose refundRespose;
public static void startOrderPayActivityFormSale(Context context, String response) { public static void startOrderPayActivityFormSale(Context context, String response) {
Intent intent = new Intent(context, OrderPayActivity.class); Intent intent = new Intent(context, OrderPayActivity.class);
...@@ -200,10 +192,19 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -200,10 +192,19 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
mPresenter.initAdapter(); mPresenter.initAdapter();
// mPresenter.initBillListener(); // mPresenter.initBillListener();
mPresenter.getPayMethods(); mPresenter.getPayMethods();
initOrderPayView();
initTopInfo(); initTopInfo();
initOrderDetail(); initOrderDetail();
initMemberInfo(); initMemberInfo();
initN5RespCallBack(); }
private void initOrderPayView() {
gsaPayView.setOnWhetherFreeServiceChangeLisenter(new OrderPayView.OnWhetherFreeServiceChangeLisenter() {
@Override
public void onWhetherFreeServiceChange(int whetherFreeService) {
mPresenter.setWhetherFreeService(whetherFreeService);
}
});
} }
private void initTopInfo() { private void initTopInfo() {
...@@ -230,20 +231,10 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -230,20 +231,10 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
} }
public void initOrderDetail() { public void initOrderDetail() {
// int foodCount = mPresenter.getFoodCount();
// if (foodCount > 0) {
// btn_order_count.setText(String.valueOf(foodCount));
// btn_order_count.setVisibility(View.VISIBLE);
// } else {
// btn_order_count.setVisibility(View.INVISIBLE);
// }
double wholeAmount = mPresenter.getFoodTotal(); double wholeAmount = mPresenter.getFoodTotal();
tv_whole.setText("合計 $" + wholeAmount); tv_whole.setText("合計 $" + wholeAmount);
MyOrderManage.getInstance().setWholeAmount(wholeAmount); MyOrderManage.getInstance().setWholeAmount(wholeAmount);
// tv_total.setText("$" + mPresenter.getTotalAmount());
// setDifferenceText();
} }
private void initMemberInfo() { private void initMemberInfo() {
...@@ -282,10 +273,9 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -282,10 +273,9 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
showPoints = true; showPoints = true;
} }
} }
if(!showPoints){ if (!showPoints) {
memberInfo = memberInfo + ":" + memberBean.getMemberPoint(); memberInfo = memberInfo + ":" + memberBean.getMemberPoint();
} }
// memberIntegral = memberBean.getMemberPoint(); // memberIntegral = memberBean.getMemberPoint();
// memberPointRedeemCash = memberBean.getPointRedeemCash(); // memberPointRedeemCash = memberBean.getPointRedeemCash();
// //獲取積分支付抵扣金額 // //獲取積分支付抵扣金額
...@@ -299,30 +289,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -299,30 +289,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
return memberInfo; return memberInfo;
} }
@Override
public void setDifferenceText() {
// double difference = mPresenter.getDifferenceMoney();
// if (difference < 0) {
// //貼士
// if (mPresenter.getLinePayType() == 1) {
// tv_difference_name.setText("找零");
// tv_difference_money.setTextColor(ArmsUtils.getColor(this, R.color.red));
// } else {
// tv_difference_name.setText("貼士");
// tv_difference_money.setTextColor(ArmsUtils.getColor(this, R.color.Grass_green));
// }
// tv_difference_money.setText("$" + Math.abs(difference));
// } else {
// //尚欠
// tv_difference_name.setText("尚欠金額");
// tv_difference_money.setTextColor(ArmsUtils.getColor(this, R.color.red));
// if (difference == 0)
// tv_difference_money.setText("$" + Math.abs(difference));
// else
// tv_difference_money.setText("-$" + Math.abs(difference));
// }
}
@OnClick({R2.id.btn_people_num, R2.id.btn_table, R2.id.btn_sure_pay, R2.id.btn_exact}) @OnClick({R2.id.btn_people_num, R2.id.btn_table, R2.id.btn_sure_pay, R2.id.btn_exact})
public void onClick(View v) { public void onClick(View v) {
...@@ -347,8 +313,8 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -347,8 +313,8 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
showMessage("請選擇支付方式"); showMessage("請選擇支付方式");
return; return;
} }
mPresenter.pressExact(); // mPresenter.pressExact();
setDifferenceText(); // setDifferenceText();
} }
// else if (id == R.id.btn_keypad) { // else if (id == R.id.btn_keypad) {
// if (mPresenter.getSelectBillMoney() == null) { // if (mPresenter.getSelectBillMoney() == null) {
...@@ -367,64 +333,18 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -367,64 +333,18 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
} }
return false; return false;
} }
//
// @SwitchPrintMethod
// public void switchPrint(View v) {
//
// PrinterUtils.switchPrintMethod(mContext);
// }
private void backPressed() { private void backPressed() {
// if (isPrepay) {
// //恢復預結賬前的食品
// mPresenter.restorePrepayBeaforeOrderFoodList();
// }
killMyself(); killMyself();
} }
// @Override
// protected void doOnBackPressed() {
//// super.doOnBackPressed();
// backPressed();
// }
@Override @Override
public void onBackPressed() { public void onBackPressed() {
backPressed(); backPressed();
} }
// private void tipMoneyInsufficient() {
// if (tipDialog == null) {
// tipDialog = new QMUITipDialog.Builder(this)
// .setIconType(QMUITipDialog.Builder.ICON_TYPE_INFO)
// .setTipWord("金額不足!")
// .create();
// }
// tipDialog.show();
// btn_order_count.postDelayed(new Runnable() {
// @Override
// public void run() {
// tipDialog.dismiss();
// }
// }, 1500);
// }
@Override @Override
public void initIntent() { public void initIntent() {
Intent intent = getIntent();
N5_RESP = intent.getAction();
LogUtil.d(TAG, "initIntent N5_RESP: " + N5_RESP);
if (!TextUtils.isEmpty(N5_RESP)) {
if (N5_RESP.equals("SALE_RESP")) {
//N5支付回調数据
String saleDataJson = intent.getStringExtra("SALE_DATA");
saleRespose = GsonUtils.GsonToBean(saleDataJson, SaleRespose.class);
} else if (N5_RESP.equals("REFUND_RESP")) {
//N5退款回調数据
String refundDataJson = intent.getStringExtra("REFUND_DATA");
refundRespose = GsonUtils.GsonToBean(refundDataJson, RefundRespose.class);
}
}
} }
@Override @Override
...@@ -479,27 +399,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -479,27 +399,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
@Override @Override
public void showStatusDialog(int operatType) { public void showStatusDialog(int operatType) {
if (mStatusLoadingDialog == null) {
mStatusLoadingDialog = new StatusLoadingDialog(this);
}
switch (operatType) {
case StatusLoadingDialog.SALE_LOADING:
mStatusLoadingDialog.setOpeatType(StatusLoadingDialog.VOID_LOADING);
mStatusLoadingDialog.setLoadingText("支付");
mStatusLoadingDialog.setStatusText("支付中...");
break;
case StatusLoadingDialog.REFUND_LOADING:
mStatusLoadingDialog.setOpeatType(StatusLoadingDialog.VOID_LOADING);
mStatusLoadingDialog.setLoadingText("退款");
mStatusLoadingDialog.setStatusText("退款中...");
break;
case StatusLoadingDialog.VOID_LOADING:
mStatusLoadingDialog.setOpeatType(StatusLoadingDialog.VOID_LOADING);
mStatusLoadingDialog.setLoadingText("取消");
mStatusLoadingDialog.setStatusText("取消...");
break;
}
mStatusLoadingDialog.show();
} }
@Override @Override
...@@ -546,7 +445,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -546,7 +445,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
PayMethod billMoneyBean = mPresenter.getSelectBillMoney(); PayMethod billMoneyBean = mPresenter.getSelectBillMoney();
billMoneyBean.setPayMoney(Double.parseDouble(money)); billMoneyBean.setPayMoney(Double.parseDouble(money));
// mPresenter.getBillMoneyAdapter().notifyDataSetChanged(); // mPresenter.getBillMoneyAdapter().notifyDataSetChanged();
setDifferenceText(); // setDifferenceText();
} }
}) })
.show(); .show();
...@@ -583,13 +482,13 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -583,13 +482,13 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
} }
} }
if (openInstruction) { if (openInstruction) {
CC.obtainBuilder("Component.Print") // CC.obtainBuilder("Component.Print")
.setActionName("printActivity") // .setActionName("printActivity")
.addParam(PrintConstans.PRINT_TYPE, PrintConstans.PRINT_INSTRUCTION) // .addParam(PrintConstans.PRINT_TYPE, PrintConstans.PRINT_INSTRUCTION)
.build() // .build()
.callAsync((cc, result) -> { // .callAsync((cc, result) -> {
// });
printBill(); printBill();
});
} else { } else {
printBill(); printBill();
} }
...@@ -651,38 +550,13 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -651,38 +550,13 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
@Override @Override
public StatusLoadingDialog getStatusLoadingDialog() { public StatusLoadingDialog getStatusLoadingDialog() {
return mStatusLoadingDialog; return null;
} }
@Override @Override
public void showSaleStatusDialog(SaleRespose saleRespose) { public void showSaleStatusDialog(SaleRespose saleRespose) {
//顯示支付成功提示彈窗 //顯示支付成功提示彈窗
showStatusDialog(StatusLoadingDialog.SALE_LOADING); showStatusDialog(StatusLoadingDialog.SALE_LOADING);
// switch (saleRespose.getSTATUS()) {
// case PayConstant.PAY_STATUS_00:
// boolean useExternalPrint = GSAApplication.deviceType != GSAApplication.DEVICE_PHONE && !AndroidSettingUtils.isUseExternalPrint();
// if (PayVariableManage.getInstance().isModifyOrderOperat()) {
// if (useExternalPrint) {
// //支付回传数据(手持設備打印結賬單)
// mPresenter.sumitOrder(SendOrderConstant.send_style_7);
// } else {
// //支付回传数据(外部打印結賬單)
// mPresenter.sumitOrder(SendOrderConstant.send_style_8);
// }
// } else {
// if (useExternalPrint) {
// //支付回传数据(外部打印結賬單)
// mPresenter.sumitOrder(SendOrderConstant.send_style_6);
// } else {
// //支付回传数据(手持設備打印結賬單)
// mPresenter.sumitOrder(SendOrderConstant.send_style_5);
// }
// }
// break;
// default:
// onPayFailure(saleRespose.getSTATUS());
// break;
// }
} }
@Override @Override
...@@ -692,33 +566,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -692,33 +566,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
@Override @Override
public void onPayFailure(String status) { public void onPayFailure(String status) {
mStatusLoadingDialog.loadFailure(status);
mStatusLoadingDialog.setOnLoadStautsListener(new StatusLoadingDialog.OnLoadStautsListener() {
@Override
public void loadSuccessEnd() {
// //只有支付成功才返回到原有页面
// EventBus.getDefault().postSticky(true, EventTagConstant.UPDATE_ORDER_LIST);
//
// mAppManager.killActivity(OrderContentActivity.class);
// mAppManager.killActivity(MealStandActivity.class);
// mAppManager.killActivity(OrderDetailActivity.class);
// mAppManager.killActivity(OrderPayActivity.class);
//// if (variableManage.isModifyOrderOperat()) {
//// mAppManager.killActivity(TableServiceActivity.class);
//// } else {
// mAppManager.killActivity(OrderManagementActivity.class);
//// }
}
@Override
public void loadFailureEnd() {
if (status.equals(PayConstant.PAY_STATUS_00)) {
returnTableActivityBefore();
}
}
});
} }
@Override @Override
...@@ -740,74 +587,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -740,74 +587,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
} }
} }
public SaleRespose getSaleRespose() {
return saleRespose;
}
public void setSaleRespose(SaleRespose saleRespose) {
this.saleRespose = saleRespose;
}
// public boolean isPrepay() {
// return isPrepay;
// }
public void initN5RespCallBack() {
if (!TextUtils.isEmpty(N5_RESP)) {
if (N5_RESP.equals("SALE_RESP") && saleRespose != null) {
LogUtil.d(TAG, "initN5RespCallBack: " + N5_RESP + " " + saleRespose.toString());
showSaleStatusDialog(saleRespose);
} else if (N5_RESP.equals("REFUND_RESP") && refundRespose != null) {
showRefundStatusDialog(refundRespose);
}
}
}
private IN5Callback in5Callback = new IN5Callback() {
@Override
public void onSaleCall(SaleRespose response) {
saleRespose = response;
showMessage("onSaleCall: " + response.toString());
// showSaleStatusDialog(response);
}
@Override
public void onVoidCall(VoidRespose response) {
// showVoidStatusDialog(response);
}
@Override
public void onRefundCall(RefundRespose response) {
// showRefundStatusDialog(response);
}
@Override
public void onRetrievalCall(RetrievalRespose response) {
SaleRespose saleRespose = new SaleRespose();
saleRespose.setSTATUS(response.getSTATUS());
// showSaleStatusDialog(saleRespose);
}
@Override
public void onAdjustCall(AdjustTipRespose response) {
}
@Override
public void onSettleCall(SettlementRespose response) {
}
@Override
public void onPrinterCall(String response) {
}
};
@Override @Override
public void onPointerCaptureChanged(boolean hasCapture) { public void onPointerCaptureChanged(boolean hasCapture) {
......
...@@ -220,8 +220,8 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent ...@@ -220,8 +220,8 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent
@Override @Override
public void initLanguage() { public void initLanguage() {
tv_sold_hmmc.setText(LanguageUtils.get_language_system(this, "soldout_head_name", "項目名稱")); tv_sold_hmmc.setText(LanguageUtils.get_language_system(GsaCloudApplication.getAppContext(), "soldout_head_name", "項目名稱"));
tv_sold_hmsl.setText(LanguageUtils.get_language_system(this, "soldout_head_number", "數量")); tv_sold_hmsl.setText(LanguageUtils.get_language_system(GsaCloudApplication.getAppContext(), "soldout_head_number", "數量"));
} }
@Override @Override
...@@ -233,7 +233,7 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent ...@@ -233,7 +233,7 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent
} }
private void initRecyclerHeight() { private void initRecyclerHeight() {
int screenHeidth = ArmsUtils.getScreenHeidth(this); int screenHeidth = ArmsUtils.getScreenHeidth(GsaCloudApplication.getAppContext());
LinearLayout.LayoutParams para1 = (LinearLayout.LayoutParams) recycle_current_soldout_food.getLayoutParams(); LinearLayout.LayoutParams para1 = (LinearLayout.LayoutParams) recycle_current_soldout_food.getLayoutParams();
para1.height = screenHeidth * 33 / 100; para1.height = screenHeidth * 33 / 100;
recycle_current_soldout_food.setLayoutParams(para1); recycle_current_soldout_food.setLayoutParams(para1);
...@@ -279,7 +279,7 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent ...@@ -279,7 +279,7 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent
@Override @Override
public void onItemClick(Food datasBean, int position) { public void onItemClick(Food datasBean, int position) {
VibratorUtils.pressButtonSound(SoldoutCtrlActivity.this); VibratorUtils.pressButtonSound(GsaCloudApplication.getAppContext());
datasBean.setSelected(true); datasBean.setSelected(true);
...@@ -302,7 +302,7 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent ...@@ -302,7 +302,7 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent
} }
} }
if (!isStopOpeart) { if (!isStopOpeart) {
String msg = LanguageUtils.get_language_system(SoldoutCtrlActivity.this, "whether.suspend.group", "是否暫停組別?") + datasBean.getFoodName() + "\"?"; String msg = LanguageUtils.get_language_system(GsaCloudApplication.getAppContext(), "whether.suspend.group", "是否暫停組別?") + datasBean.getFoodName() + "\"?";
Class[] parameterTypes = {Long.class, int.class, int.class}; Class[] parameterTypes = {Long.class, int.class, int.class};
Object[] parameters = {datasBean.getId(), 1, 2}; Object[] parameters = {datasBean.getId(), 1, 2};
CommonTipDialog.showDoubtDialog(SoldoutCtrlActivity.this, msg, SoldoutCtrlPresenter.class, mPresenter, "updateInvisible", parameterTypes, parameters); CommonTipDialog.showDoubtDialog(SoldoutCtrlActivity.this, msg, SoldoutCtrlPresenter.class, mPresenter, "updateInvisible", parameterTypes, parameters);
...@@ -396,13 +396,13 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent ...@@ -396,13 +396,13 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent
} else { } else {
id = datasBean.getFoodId(); id = datasBean.getFoodId();
} //恢復暫停數量 } //恢復暫停數量
String msg = LanguageUtils.get_language_system(this, "whether.recover", "是否恢復[") + datasBean.getFoodName() + "]"; String msg = LanguageUtils.get_language_system(GsaCloudApplication.getAppContext(), "whether.recover", "是否恢復[") + datasBean.getFoodName() + "]";
Class[] parameterTypes = {Long.class, int.class, int.class}; Class[] parameterTypes = {Long.class, int.class, int.class};
Object[] parameters = {id, datasBean.getType(), 0}; Object[] parameters = {id, datasBean.getType(), 0};
CommonTipDialog.showDoubtDialog(this, msg, SoldoutCtrlPresenter.class, mPresenter, "updateInvisible", parameterTypes, parameters); CommonTipDialog.showDoubtDialog(this, msg, SoldoutCtrlPresenter.class, mPresenter, "updateInvisible", parameterTypes, parameters);
} else { } else {
//恢復沽清數量 //恢復沽清數量
String msg = LanguageUtils.get_language_system(this, "whether.recover", "是否恢復[") + datasBean.getName() + "]"; String msg = LanguageUtils.get_language_system(GsaCloudApplication.getAppContext(), "whether.recover", "是否恢復[") + datasBean.getName() + "]";
Class[] parameterTypes = {long.class}; Class[] parameterTypes = {long.class};
Object[] parameters = {datasBean.getId()}; Object[] parameters = {datasBean.getId()};
CommonTipDialog.showDoubtDialog(this, msg, SoldoutCtrlPresenter.class, mPresenter, "restoreSoldoutCtrl", parameterTypes, parameters); CommonTipDialog.showDoubtDialog(this, msg, SoldoutCtrlPresenter.class, mPresenter, "restoreSoldoutCtrl", parameterTypes, parameters);
......
package com.gingersoft.gsa.cloud.table.mvp.ui.activity; package com.gingersoft.gsa.cloud.table.mvp.ui.activity;
import android.app.ActivityManager;
import android.content.Intent; import android.content.Intent;
import android.os.AsyncTask; import android.os.AsyncTask;
import android.os.Bundle; import android.os.Bundle;
import android.os.Message; import android.os.Message;
import android.os.PersistableBundle;
import android.view.View; import android.view.View;
import android.widget.AdapterView; import android.widget.AdapterView;
import android.widget.ImageView; import android.widget.ImageView;
...@@ -170,9 +172,18 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen ...@@ -170,9 +172,18 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
canceOperat(); canceOperat();
} }
@Override
protected void onRestart() {
super.onRestart();
mPresenter.initBottomFunction();
//開始刷新餐檯數據
onStartRefreshTableData();
}
@Override @Override
protected void onResume() { protected void onStart() {
super.onResume(); super.onStart();
mPresenter.initBottomFunction(); mPresenter.initBottomFunction();
//開始刷新餐檯數據 //開始刷新餐檯數據
onStartRefreshTableData(); onStartRefreshTableData();
......
...@@ -19,6 +19,7 @@ import com.billy.cc.core.component.CC; ...@@ -19,6 +19,7 @@ import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney; import com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.common.bean.OrderBean; import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail; import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDiscount;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod; import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean; import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage; import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
...@@ -197,7 +198,7 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl ...@@ -197,7 +198,7 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
if (serviceAmountSection != null) { if (serviceAmountSection != null) {
mOrderCenterMoneyList.add(serviceAmountSection); mOrderCenterMoneyList.add(serviceAmountSection);
} }
List<SectionTextItem3> discountSections = getOrderDiscountSections(orderDetailItem, totalMoney); List<SectionTextItem3> discountSections = getOrderDiscountSections(orderDetailItem);
if (discountSections != null) { if (discountSections != null) {
mOrderCenterMoneyList.addAll(discountSections); mOrderCenterMoneyList.addAll(discountSections);
} }
...@@ -279,21 +280,18 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl ...@@ -279,21 +280,18 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
* 獲取賬單折扣列 * 獲取賬單折扣列
* *
* @param orderDetailItem * @param orderDetailItem
* @param totalMoney
* @return * @return
*/ */
private List<SectionTextItem3> getOrderDiscountSections(OrderDetailItem orderDetailItem, double totalMoney) { private List<SectionTextItem3> getOrderDiscountSections(OrderDetailItem orderDetailItem) {
if (orderDetailItem.getRemark() != null) { List<SectionTextItem3> sectionTextItem3s = null;
if (orderDetailItem.getDiscountDetails() != null) {
sectionTextItem3s = new ArrayList<>();
//折扣 //折扣
Discount discount = new Discount(); for (OrderDiscount.Respose discount : orderDetailItem.getDiscountDetails()) {
discount.setType(orderDetailItem.getType()); sectionTextItem3s.add(SectionTextItem3.discountTransSectionTextItem3(discount));
discount.setRemark(orderDetailItem.getRemark());
discount.setDiscount_value(orderDetailItem.getDiscountValue());
double discountPrice = Discount.calculationDiscount(discount, totalMoney);
discount.setAmount(discountPrice);
return SectionTextItem3.discountTransSectionTextItem3(discount);
} }
return null; }
return sectionTextItem3s;
} }
/** /**
...@@ -402,21 +400,19 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl ...@@ -402,21 +400,19 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
orderBean.setStatus(datasBean.getStatus()); orderBean.setStatus(datasBean.getStatus());
orderBean.setOrderNo(datasBean.getOrderNo()); orderBean.setOrderNo(datasBean.getOrderNo());
orderBean.setPerson(datasBean.getPerson()); orderBean.setPerson(datasBean.getPerson());
// orderBean.setType(datasBean.getType());
// orderBean.setRemark(datasBean.getRemark());
// orderBean.setDiscountAmount(datasBean.getDiscountAmount());
// orderBean.setDiscountValue(datasBean.getDiscountValue());
orderBean.setCreateTime(datasBean.getCreateTime()); orderBean.setCreateTime(datasBean.getCreateTime());
orderBean.setOrderDetails(datasBean.getOrderDetails()); orderBean.setOrderDetails(datasBean.getOrderDetails());
if (datasBean.getDiscountDetails() != null) {
orderBean.setDiscountDetails(datasBean.getDiscountDetails());
}
MyOrderManage.getInstance().setOrderBean(orderBean); MyOrderManage.getInstance().setOrderBean(orderBean);
// TableBean.DataBean openTableBean = new TableBean.DataBean();
// openTableBean.setCreateTime(TimeUtil.getStringByFormat(new Date(datasBean.getCreateTime()), TimeUtil.dateFormatYMDHM));
// openTableBean.setTableName(datasBean.getTableName());
// openTableBean.setId(datasBean.getTableId());
// OpenTableManage.getDefault().setTableBean(openTableBean);
TableBean.DataBean tableBean = new TableBean.DataBean(datasBean.getRestaurantTable()); TableBean.DataBean tableBean = new TableBean.DataBean(datasBean.getRestaurantTable());
if (!TextUtils.isEmpty(tableBean.getTableNumber())) {
tableBean.setTableName(tableBean.getTableName() + "-" + tableBean.getTableNumber()); tableBean.setTableName(tableBean.getTableName() + "-" + tableBean.getTableNumber());
} else {
tableBean.setTableName(tableBean.getTableName());
}
OpenTableManage.getDefault().setTableBean(tableBean); OpenTableManage.getDefault().setTableBean(tableBean);
OpenTableManage.getDefault().setPeopleNumber(datasBean.getPerson()); OpenTableManage.getDefault().setPeopleNumber(datasBean.getPerson());
...@@ -424,6 +420,10 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl ...@@ -424,6 +420,10 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(orderDetailsBeans)); List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(orderDetailsBeans));
MyOrderManage.getInstance().setOrderFoodList(orderDetailList); MyOrderManage.getInstance().setOrderFoodList(orderDetailList);
if (datasBean.getMemberInfo() != null) {
MyOrderManage.getInstance().setMemberInfo(datasBean.getMemberInfo());
}
Intent intent = new Intent(this, MealStandActivity.class); Intent intent = new Intent(this, MealStandActivity.class);
startActivityForResult(intent, OrderCenterActivity.MODIFY_ORDER_RETURN_CODE); startActivityForResult(intent, OrderCenterActivity.MODIFY_ORDER_RETURN_CODE);
} }
......
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter; package com.gingersoft.gsa.cloud.table.mvp.ui.adapter;
import android.app.Activity; import android.app.Activity;
import android.graphics.Paint;
import android.view.View; import android.view.View;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney; import com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2; import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity; import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity;
...@@ -30,6 +32,10 @@ public class OrderMoneyAdapter extends DefaultAdapter<BillOrderMoney> { ...@@ -30,6 +32,10 @@ public class OrderMoneyAdapter extends DefaultAdapter<BillOrderMoney> {
private Activity mContext; private Activity mContext;
private String cashStr; private String cashStr;
/**
* 是否免服務費(0:否 1:是)
*/
private int whetherFreeService;
private int BillTotalFontSize; private int BillTotalFontSize;
public OrderMoneyAdapter(Activity context, List<BillOrderMoney> infos, String cashStr) { public OrderMoneyAdapter(Activity context, List<BillOrderMoney> infos, String cashStr) {
...@@ -40,6 +46,15 @@ public class OrderMoneyAdapter extends DefaultAdapter<BillOrderMoney> { ...@@ -40,6 +46,15 @@ public class OrderMoneyAdapter extends DefaultAdapter<BillOrderMoney> {
this.BillTotalFontSize = 18; this.BillTotalFontSize = 18;
} }
public void setWhetherFreeService(int whetherFreeService) {
this.whetherFreeService = whetherFreeService;
notifyDataSetChanged();
}
public int getWhetherFreeService() {
return whetherFreeService;
}
@Override @Override
public int getItemCount() { public int getItemCount() {
return mInfos.size(); return mInfos.size();
...@@ -82,6 +97,18 @@ public class OrderMoneyAdapter extends DefaultAdapter<BillOrderMoney> { ...@@ -82,6 +97,18 @@ public class OrderMoneyAdapter extends DefaultAdapter<BillOrderMoney> {
tv_money.setText(cashStr + datasBean.getMoney()); tv_money.setText(cashStr + datasBean.getMoney());
} }
if(datasBean.getType() == BillOrderMoney.SERVERCHARGE_TYPE) {
if (whetherFreeService == 1) {
// 中划线
tv_title.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
tv_money.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
} else {
// 取消设置的的划线
tv_title.getPaint().setFlags(0);
tv_money.getPaint().setFlags(0);
}
}
tv_title.setTextSize(BillTotalFontSize); tv_title.setTextSize(BillTotalFontSize);
tv_money.setTextSize(BillTotalFontSize); tv_money.setTextSize(BillTotalFontSize);
......
...@@ -8,6 +8,7 @@ import android.widget.ImageView; ...@@ -8,6 +8,7 @@ import android.widget.ImageView;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.TextView; import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
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.utils.MoneyUtil; import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.database.bean.Food; import com.gingersoft.gsa.cloud.database.bean.Food;
...@@ -42,7 +43,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -42,7 +43,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
private Context mContext; private Context mContext;
private MealStandActivity mMealStandActivity; private MealStandActivity mMealStandActivity;
private MealStandPresenter mMealStandPresenter;
private OrderContentPresenter mOrderContentPresenter; private OrderContentPresenter mOrderContentPresenter;
private int BillListFontSize = 18; private int BillListFontSize = 18;
...@@ -77,7 +77,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -77,7 +77,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
super(data); super(data);
this.mContext = context; this.mContext = context;
if (presenter instanceof MealStandPresenter) { if (presenter instanceof MealStandPresenter) {
this.mMealStandPresenter = (MealStandPresenter) presenter; // this.mMealStandPresenter = (MealStandPresenter) presenter;
this.mMealStandActivity = (MealStandActivity) context; this.mMealStandActivity = (MealStandActivity) context;
} else if (presenter instanceof OrderContentPresenter) { } else if (presenter instanceof OrderContentPresenter) {
this.mOrderContentPresenter = (OrderContentPresenter) presenter; this.mOrderContentPresenter = (OrderContentPresenter) presenter;
...@@ -194,12 +194,12 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -194,12 +194,12 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
tv_S_1.setVisibility(View.INVISIBLE); tv_S_1.setVisibility(View.INVISIBLE);
tv_discount_money.setVisibility(View.INVISIBLE); tv_discount_money.setVisibility(View.INVISIBLE);
// if (datasBean.isModify()) { if (datasBean.isModify()) {
// tv_modify_before_number.setText(String.valueOf(datasBean.getModifyBeforeNumber())); tv_modify_before_number.setText(String.valueOf(datasBean.getModifyBeforeNumber()));
// tv_modify_before_number.setVisibility(View.VISIBLE); tv_modify_before_number.setVisibility(View.VISIBLE);
// } else { } else {
// tv_modify_before_number.setVisibility(View.INVISIBLE); tv_modify_before_number.setVisibility(View.INVISIBLE);
// } }
// //
// if (datasBean.getMix_DETAIL_ID() > 0) { // if (datasBean.getMix_DETAIL_ID() > 0) {
// tv_mix.setText(String.valueOf(datasBean.getMix_DETAIL_ID())); // tv_mix.setText(String.valueOf(datasBean.getMix_DETAIL_ID()));
...@@ -324,6 +324,11 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -324,6 +324,11 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
tv_name.setTextColor(ArmsUtils.getColor(mContext, R.color.black)); tv_name.setTextColor(ArmsUtils.getColor(mContext, R.color.black));
tv_money.setTextColor(ArmsUtils.getColor(mContext, R.color.black)); tv_money.setTextColor(ArmsUtils.getColor(mContext, R.color.black));
} }
if (datasBean.isModify()) {
//数量为0 说明是修改订单 删除的食品,颜色设置了红色
tv_name.setTextColor(ArmsUtils.getColor(GsaCloudApplication.getAppContext(), R.color.red_500));
}
} }
public void setTextSize() { public void setTextSize() {
......
...@@ -198,23 +198,14 @@ ...@@ -198,23 +198,14 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/tv_number" android:gravity="center"
android:layout_toLeftOf="@+id/rl_select"
android:layout_marginLeft="@dimen/dp_5"
android:text="30" android:text="30"
android:textColor="@color/orange_200" android:textColor="@color/orange_200"
android:textSize="@dimen/sp_14" android:textSize="@dimen/sp_16"
android:visibility="gone" /> android:visibility="gone" />
<!-- <TextView-->
<!-- android:id="@+id/tv_number"-->
<!-- android:layout_width="@dimen/dp_35"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_alignParentTop="true"-->
<!-- android:layout_toRightOf="@+id/rl_food_line"-->
<!-- android:gravity="center"-->
<!-- android:text="20"-->
<!-- android:textColor="@color/theme_black"-->
<!-- android:textSize="@dimen/sp_20" />-->
<TextView <TextView
android:id="@+id/tv_number" android:id="@+id/tv_number"
android:layout_width="@dimen/dp_35" android:layout_width="@dimen/dp_35"
......
...@@ -88,6 +88,21 @@ ...@@ -88,6 +88,21 @@
android:textColor="@color/theme_black" android:textColor="@color/theme_black"
android:textSize="@dimen/sp_12" /> android:textSize="@dimen/sp_12" />
<TextView
android:id="@+id/btn_meal_modify_restore"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_8"
android:background="@drawable/ui_selector_item_background"
android:drawablePadding="@dimen/dp_1"
android:drawableTop="@drawable/meal_modify_restore"
android:gravity="center"
android:text="恢復"
android:textAllCaps="false"
android:textColor="@color/theme_black"
android:textSize="@dimen/sp_12"
android:visibility="gone"/>
<!-- <TextView--> <!-- <TextView-->
<!-- android:id="@+id/btn_food_mode"--> <!-- android:id="@+id/btn_food_mode"-->
<!-- android:layout_width="match_parent"--> <!-- android:layout_width="match_parent"-->
...@@ -153,13 +168,6 @@ ...@@ -153,13 +168,6 @@
<!-- android:textSize="@dimen/sp_12"/>--> <!-- android:textSize="@dimen/sp_12"/>-->
<!-- <ImageButton--> <!-- <ImageButton-->
<!-- android:id="@+id/btn_meal_modify_restore"-->
<!-- style="@style/ButtonBorderless"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:src="@drawable/meal_modify_restore" />-->
<!-- <ImageButton-->
<!-- android:id="@+id/btn_change_Language"--> <!-- android:id="@+id/btn_change_Language"-->
<!-- style="@style/ButtonBorderless"--> <!-- style="@style/ButtonBorderless"-->
<!-- android:layout_width="match_parent"--> <!-- android:layout_width="match_parent"-->
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment