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) {
......
...@@ -48,7 +48,7 @@ public class FunctionManager { ...@@ -48,7 +48,7 @@ public class FunctionManager {
if (function.getResUrl().equals(module.getKeyRes())) { if (function.getResUrl().equals(module.getKeyRes())) {
// switch (function.getStatus()) { // switch (function.getStatus()) {
// case Function.STATUS_NONAL: // case Function.STATUS_NONAL:
function.setIcRes(module.getOpenIconRes()); function.setIcRes(module.getOpenIconRes());
// break; // break;
// case Function.STATUS_TIME_LIMIT: // case Function.STATUS_TIME_LIMIT:
// long currentTime = System.currentTimeMillis(); // long currentTime = System.currentTimeMillis();
...@@ -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;
......
...@@ -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());
tableBean.setTableName(tableBean.getTableName() + "-" + tableBean.getTableNumber()); if (!TextUtils.isEmpty(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");
} }
......
...@@ -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());
tableBean.setTableName(tableBean.getTableName() + "-" + tableBean.getTableNumber()); if (!TextUtils.isEmpty(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);
...@@ -89,7 +116,7 @@ public class OrderMoneyAdapter extends DefaultAdapter<BillOrderMoney> { ...@@ -89,7 +116,7 @@ public class OrderMoneyAdapter extends DefaultAdapter<BillOrderMoney> {
tv_money.setTextColor(datasBean.getTextColor()); tv_money.setTextColor(datasBean.getTextColor());
if (mContext instanceof OrderContentActivity && if (mContext instanceof OrderContentActivity &&
datasBean.getType() == BillOrderMoney.ORDER_DISCOUNT_TYPE && datasBean.getType() == BillOrderMoney.ORDER_DISCOUNT_TYPE &&
datasBean.getType() != BillOrderMoney.MEMBER_DISCOUNT_TYPE && datasBean.getType() != BillOrderMoney.MEMBER_DISCOUNT_TYPE &&
datasBean.getStatus() == 0) { datasBean.getStatus() == 0) {
iv_delete.setVisibility(View.VISIBLE); iv_delete.setVisibility(View.VISIBLE);
......
...@@ -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