Commit b3a9216f by 宁斌

1、點1個單點食物>正常

  點1個有細項/套餐的食物>再點單點食物>單點食物會自帶了上面有細項/套餐 的食物
2、0元總金額/0元食品,不能打折扣
3、新增ToPrintQRCode字段控制結賬打印積分碼
parent d2117b69
...@@ -17,6 +17,12 @@ android { ...@@ -17,6 +17,12 @@ android {
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles 'consumer-rules.pro' consumerProguardFiles 'consumer-rules.pro'
multiDexEnabled true multiDexEnabled true
//配置注解处理器
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath true
}
}
} }
compileOptions { compileOptions {
...@@ -124,10 +130,11 @@ dependencies { ...@@ -124,10 +130,11 @@ dependencies {
implementation 'cn.bingoogolapple:bga-baseadapter:1.2.9@aar' implementation 'cn.bingoogolapple:bga-baseadapter:1.2.9@aar'
implementation 'cn.bingoogolapple:bga-flowlayout:1.0.0@aar' implementation 'cn.bingoogolapple:bga-flowlayout:1.0.0@aar'
api 'androidx.core:core-ktx:+' api 'androidx.core:core-ktx:+'
implementation 'org.projectlombok:lombok:1.18.8' //1、lombok依赖
annotationProcessor 'org.projectlombok:lombok:1.18.8' implementation 'org.projectlombok:lombok:1.18.10'
annotationProcessor 'org.projectlombok:lombok:1.18.10'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
api 'com.github.huangyanbin:SmartTable:2.2.0' api 'com.github.huangyanbin:SmartTable:2.2.0'
api rootProject.ext.dependencies["permissionx"] api rootProject.ext.dependencies["permissionx"]
......
package com.gingersoft.gsa.cloud.base.adapter.print; package com.gingersoft.gsa.cloud.base.adapter.print;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder; import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.gingersoft.gsa.cloud.base.R; import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod; import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import java.util.List; import java.util.List;
/** /**
......
...@@ -36,7 +36,7 @@ import com.gingersoft.gsa.cloud.constans.UserConstans; ...@@ -36,7 +36,7 @@ import com.gingersoft.gsa.cloud.constans.UserConstans;
import com.gingersoft.gsa.cloud.database.DaoManager; import com.gingersoft.gsa.cloud.database.DaoManager;
import com.gingersoft.gsa.cloud.database.bean.ExpandInfo; import com.gingersoft.gsa.cloud.database.bean.ExpandInfo;
import com.gingersoft.gsa.cloud.database.utils.ExpandInfoDaoUtils; import com.gingersoft.gsa.cloud.database.utils.ExpandInfoDaoUtils;
import com.gingersoft.gsa.cloud.function.FunctionStyleUtils; import com.gingersoft.gsa.cloud.bean.StyleSettingUtils;
import com.hyweb.n5.lib.exception.NoInitPrinterException; import com.hyweb.n5.lib.exception.NoInitPrinterException;
import com.hyweb.n5.lib.util.PrinterUtil; import com.hyweb.n5.lib.util.PrinterUtil;
import com.jess.arms.base.BaseApplication; import com.jess.arms.base.BaseApplication;
...@@ -67,7 +67,7 @@ public class GsaCloudApplication extends BaseApplication { ...@@ -67,7 +67,7 @@ public class GsaCloudApplication extends BaseApplication {
private static GsaCloudApplication mAppContext; private static GsaCloudApplication mAppContext;
private Activity mCurrentActivity; private Activity mCurrentActivity;
public static FunctionStyleUtils androidSetting; public static StyleSettingUtils androidSetting;
/** /**
* 是否開啟皮膚切換 * 是否開啟皮膚切換
*/ */
...@@ -127,7 +127,7 @@ public class GsaCloudApplication extends BaseApplication { ...@@ -127,7 +127,7 @@ public class GsaCloudApplication extends BaseApplication {
//初始化crash記錄 //初始化crash記錄
AppCrashHandler.getInstance().init(this); AppCrashHandler.getInstance().init(this);
androidSetting = new FunctionStyleUtils(); androidSetting = new StyleSettingUtils();
isLogin = (boolean) SPUtils.get(this, PrintConstans.IS_LOGIN, false); isLogin = (boolean) SPUtils.get(this, PrintConstans.IS_LOGIN, false);
initExpandInfo(); initExpandInfo();
......
package com.gingersoft.gsa.cloud.base.utils; package com.gingersoft.gsa.cloud.base.utils;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.constans.ExpandConstant; import com.gingersoft.gsa.cloud.constans.ExpandConstant;
import com.gingersoft.gsa.cloud.database.bean.ExpandInfo; import com.gingersoft.gsa.cloud.database.bean.ExpandInfo;
...@@ -43,12 +42,9 @@ public class RestaurantExpandInfoUtils { ...@@ -43,12 +42,9 @@ public class RestaurantExpandInfoUtils {
case ExpandConstant.ItemDecimals: case ExpandConstant.ItemDecimals:
MoneyUtil.ItemDecimals = expandInfo.getValueInt(); MoneyUtil.ItemDecimals = expandInfo.getValueInt();
break; break;
case ExpandConstant.ToPrintQRCode:
case ExpandConstant.MergeSendFood: case ExpandConstant.MergeSendFood:
GsaCloudApplication.androidSetting.setMergeSendFood(expandInfo.getValueInt() == 1);
break;
case ExpandConstant.AutoPrinterPaper: case ExpandConstant.AutoPrinterPaper:
GsaCloudApplication.androidSetting.setAutoPrinterParper(expandInfo.getValueInt() == 1);
break;
case ExpandConstant.PrintMemberInfo: case ExpandConstant.PrintMemberInfo:
case ExpandConstant.PrintPage: case ExpandConstant.PrintPage:
case ExpandConstant.PrintMergerFood: case ExpandConstant.PrintMergerFood:
......
...@@ -21,7 +21,9 @@ public class ExpandConstant { ...@@ -21,7 +21,9 @@ public class ExpandConstant {
public final static String RoundingDecimal = "RoundingDecimal"; public final static String RoundingDecimal = "RoundingDecimal";
public final static String ItemDecimals = "ItemDecimals"; public final static String ItemDecimals = "ItemDecimals";
public final static String MergeSendFood = "MergeSendFood"; public final static String MergeSendFood = "MergeSendFood";
/**送單自動打印上菜紙*/
public final static String AutoPrinterPaper = "AutoPrinterParper"; public final static String AutoPrinterPaper = "AutoPrinterParper";
/**結賬是否打印積分二維碼*/
public final static String ToPrintQRCode = "ToPrintQRCode";
} }
...@@ -20,7 +20,7 @@ public class MyAppLifecycles implements AppLifecycles { ...@@ -20,7 +20,7 @@ public class MyAppLifecycles implements AppLifecycles {
@Override @Override
public void onCreate(Application application) { public void onCreate(Application application) {
// initTimber(); // initTimber();
// initLeakCanary(application); initLeakCanary(application);
initFragmentation(); initFragmentation();
// initARouter(application); // initARouter(application);
} }
......
...@@ -9,6 +9,6 @@ package com.gingersoft.gsa.cloud.patterns; ...@@ -9,6 +9,6 @@ package com.gingersoft.gsa.cloud.patterns;
*/ */
public interface Strategy<T> { public interface Strategy<T> {
/**具體操作行為實現方法*/ /**具體行為實現方法*/
void action(T t); void action(T t);
} }
// Top-level build file where you can add configuration options common to all sub-projects/modules. // Top-level build file where you can add configuration options common to all sub-projects/modules.
apply from: "config.gradle" apply from: "config.gradle"
buildscript { buildscript {
ext.kotlin_version = '1.4.10' ext.kotlin_version = '1.3.50'
//1.3.50
repositories { repositories {
google() google()
jcenter() jcenter()
...@@ -12,6 +12,8 @@ buildscript { ...@@ -12,6 +12,8 @@ buildscript {
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:3.5.2' classpath 'com.android.tools.build:gradle:3.5.2'
// classpath 'com.android.tools.build:gradle:3.0.1' // classpath 'com.android.tools.build:gradle:3.0.1'
// classpath "com.android.tools.build:gradle:4.0.1"
classpath 'com.android.tools:r8:2.1.67'
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0' classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4'
...@@ -41,12 +43,15 @@ allprojects { ...@@ -41,12 +43,15 @@ allprojects {
maven { url "https://maven.google.com" }//Support-library 需要 Google 仓库 maven { url "https://maven.google.com" }//Support-library 需要 Google 仓库
maven { url 'https://dl.bintray.com/poldz123/maven/' } maven { url 'https://dl.bintray.com/poldz123/maven/' }
maven { url 'http://www.idescout.com/maven/repo/' } maven { url 'http://www.idescout.com/maven/repo/' }
//阿里云仓库
maven { url "http://maven.aliyun.com/nexus/content/repositories/releases" }
// 私有仓库地址 // 私有仓库地址
maven { url "http://lib.gcssloop.com/repository/gcssloop-central/" } maven { url "http://lib.gcssloop.com/repository/gcssloop-central/" }
maven { url 'https://maven.aliyun.com/repository/google' } maven {url 'https://storage.googleapis.com/r8-releases/raw'}
maven { url 'https://maven.aliyun.com/repository/jcenter' } //阿里云仓库
maven { url "http://maven.aliyun.com/nexus/content/repositories/releases" }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/gradle-plugin' }
} }
} }
......
ext { ext {
android = [ android = [
compileSdkVersion: 28, compileSdkVersion: 29,
buildToolsVersion: '28.0.3', buildToolsVersion: '29.0.3',
minSdkVersion : 19, //N5收銀機應用安卓開發環境要求Android OS Version: 5.1Android SDK Min Version: 19 minSdkVersion : 19, //N5收銀機應用安卓開發環境要求Android OS Version: 5.1Android SDK Min Version: 19
targetSdkVersion : 28, targetSdkVersion : 29,
//正式版: 1.0.3 3 //正式版: 1.0.3 3
//內部測試版:1.2.0 20 //內部測試版:1.2.0 20
versionCode : 8, versionCode : 8,
...@@ -12,7 +12,7 @@ ext { ...@@ -12,7 +12,7 @@ ext {
] ]
version = [ version = [
androidSupportSdkVersion: "28+", androidSupportSdkVersion: "29+",
retrofitSdkVersion : '2.3.0', retrofitSdkVersion : '2.3.0',
dagger2SdkVersion : "2.19", dagger2SdkVersion : "2.19",
glideSdkVersion : "4.9.0", glideSdkVersion : "4.9.0",
......
...@@ -17,6 +17,7 @@ org.gradle.jvmargs=-Xmx1536m ...@@ -17,6 +17,7 @@ org.gradle.jvmargs=-Xmx1536m
android.useAndroidX=true android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX # Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true android.enableJetifier=true
android.injected.testOnly=false
GROUP=com.qmuiteam GROUP=com.qmuiteam
QMUI_VERSION=2.0.0-alpha05 QMUI_VERSION=2.0.0-alpha05
...@@ -25,6 +26,6 @@ QMUI_LINT_VERSION = 1.1.0 ...@@ -25,6 +26,6 @@ QMUI_LINT_VERSION = 1.1.0
QMUI_SKIN_MAKER_VERSION = 0.0.1 QMUI_SKIN_MAKER_VERSION = 0.0.1
POM_GIT_URL=https://github.com/Tencent/QMUI_Android/ POM_GIT_URL=https://github.com/Tencent/QMUI_Android/
POM_SITE_URL=https://qmuiteam.com/android POM_SITE_URL=https://qmuiteam.com/android
android.injected.testOnly=false
BUILD_TYPE = release BUILD_TYPE = release
...@@ -23,6 +23,12 @@ android { ...@@ -23,6 +23,12 @@ android {
versionCode rootProject.ext.android["versionCode"] versionCode rootProject.ext.android["versionCode"]
versionName rootProject.ext.android["versionName"] versionName rootProject.ext.android["versionName"]
multiDexEnabled true multiDexEnabled true
//配置注解处理器
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath true
}
}
} }
resourcePrefix "main" resourcePrefix "main"
...@@ -63,8 +69,8 @@ dependencies { ...@@ -63,8 +69,8 @@ dependencies {
implementation "androidx.core:core-ktx:+" implementation "androidx.core:core-ktx:+"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'org.projectlombok:lombok:1.18.8' implementation 'org.projectlombok:lombok:1.18.10'
annotationProcessor 'org.projectlombok:lombok:1.18.8' annotationProcessor 'org.projectlombok:lombok:1.18.10'
} }
repositories { repositories {
......
...@@ -25,6 +25,12 @@ android { ...@@ -25,6 +25,12 @@ android {
versionName rootProject.ext.android["versionName"] versionName rootProject.ext.android["versionName"]
multiDexEnabled true multiDexEnabled true
//配置注解处理器
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath true
}
}
} }
dataBinding { dataBinding {
enabled = true enabled = true
......
...@@ -21,6 +21,12 @@ android { ...@@ -21,6 +21,12 @@ android {
versionCode rootProject.ext.android["versionCode"] versionCode rootProject.ext.android["versionCode"]
versionName rootProject.ext.android["versionName"] versionName rootProject.ext.android["versionName"]
multiDexEnabled true multiDexEnabled true
//配置注解处理器
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath true
}
}
} }
resourcePrefix "order_base" resourcePrefix "order_base"
...@@ -51,6 +57,6 @@ dependencies { ...@@ -51,6 +57,6 @@ dependencies {
testImplementation rootProject.ext.dependencies["canary-release"] testImplementation rootProject.ext.dependencies["canary-release"]
testImplementation rootProject.ext.dependencies["junit"] testImplementation rootProject.ext.dependencies["junit"]
implementation 'org.projectlombok:lombok:1.18.8' implementation 'org.projectlombok:lombok:1.18.10'
annotationProcessor 'org.projectlombok:lombok:1.18.8' annotationProcessor 'org.projectlombok:lombok:1.18.10'
} }
...@@ -693,7 +693,8 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis ...@@ -693,7 +693,8 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
ll_member_info.setVisibility(View.GONE); ll_member_info.setVisibility(View.GONE);
} }
//生成積分QRCode碼(飯糰APP掃碼獲得積分) //生成積分QRCode碼(飯糰APP掃碼獲得積分)
if (TextUtils.isEmpty(integralQrcode)) { if (TextUtils.isEmpty(integralQrcode) ||
(boolean)RestaurantExpandInfoUtils.getValue(ExpandConstant.ToPrintQRCode,false) == false) {
llIntegralQrcode.setVisibility(View.GONE); llIntegralQrcode.setVisibility(View.GONE);
} else { } else {
llIntegralQrcode.setVisibility(View.VISIBLE); llIntegralQrcode.setVisibility(View.VISIBLE);
......
...@@ -51,6 +51,6 @@ dependencies { ...@@ -51,6 +51,6 @@ dependencies {
testImplementation rootProject.ext.dependencies["canary-release"] testImplementation rootProject.ext.dependencies["canary-release"]
testImplementation rootProject.ext.dependencies["junit"] testImplementation rootProject.ext.dependencies["junit"]
implementation 'org.projectlombok:lombok:1.18.8' implementation 'org.projectlombok:lombok:1.18.10'
annotationProcessor 'org.projectlombok:lombok:1.18.8' annotationProcessor 'org.projectlombok:lombok:1.18.10'
} }
...@@ -20,13 +20,13 @@ android { ...@@ -20,13 +20,13 @@ android {
targetSdkVersion rootProject.ext.android["targetSdkVersion"] targetSdkVersion rootProject.ext.android["targetSdkVersion"]
versionCode rootProject.ext.android["versionCode"] versionCode rootProject.ext.android["versionCode"]
versionName rootProject.ext.android["versionName"] versionName rootProject.ext.android["versionName"]
multiDexEnabled true
//配置注解处理器
javaCompileOptions { javaCompileOptions {
annotationProcessorOptions { annotationProcessorOptions {
arguments = [AROUTER_MODULE_NAME: project.getName()]
includeCompileClasspath true includeCompileClasspath true
} }
} }
multiDexEnabled true
} }
resourcePrefix "table" resourcePrefix "table"
...@@ -67,6 +67,6 @@ dependencies { ...@@ -67,6 +67,6 @@ dependencies {
testImplementation rootProject.ext.dependencies["junit"] testImplementation rootProject.ext.dependencies["junit"]
implementation rootProject.ext.dependencies["BaseRecyclerViewAdapter"] implementation rootProject.ext.dependencies["BaseRecyclerViewAdapter"]
implementation 'org.projectlombok:lombok:1.18.8' implementation 'org.projectlombok:lombok:1.18.10'
annotationProcessor 'org.projectlombok:lombok:1.18.8' annotationProcessor 'org.projectlombok:lombok:1.18.10'
} }
...@@ -18,6 +18,7 @@ import com.gingersoft.gsa.cloud.base.order.bean.mealManger.OpenTableManage; ...@@ -18,6 +18,7 @@ import com.gingersoft.gsa.cloud.base.order.bean.mealManger.OpenTableManage;
import com.gingersoft.gsa.cloud.base.table.bean.TableBean; import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils; import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil; import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils; import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.bean.R; import com.gingersoft.gsa.cloud.bean.R;
import com.gingersoft.gsa.cloud.bean.mvp.contract.BaseOrderContract; import com.gingersoft.gsa.cloud.bean.mvp.contract.BaseOrderContract;
...@@ -27,6 +28,7 @@ import com.gingersoft.gsa.cloud.bean.mvp.ui.activity.MealStandActivity; ...@@ -27,6 +28,7 @@ import com.gingersoft.gsa.cloud.bean.mvp.ui.activity.MealStandActivity;
import com.gingersoft.gsa.cloud.bean.mvp.ui.activity.OrderContentActivity; import com.gingersoft.gsa.cloud.bean.mvp.ui.activity.OrderContentActivity;
import com.gingersoft.gsa.cloud.bean.mvp.ui.adapter.OrderMoneyAdapter; import com.gingersoft.gsa.cloud.bean.mvp.ui.adapter.OrderMoneyAdapter;
import com.gingersoft.gsa.cloud.bean.mvp.ui.adapter.meal.SelectMealAdapter; import com.gingersoft.gsa.cloud.bean.mvp.ui.adapter.meal.SelectMealAdapter;
import com.gingersoft.gsa.cloud.constans.ExpandConstant;
import com.gingersoft.gsa.cloud.database.bean.Discount; import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog; import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
import com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity; import com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity;
...@@ -1126,7 +1128,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1126,7 +1128,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
protected CreateOrderRequest getCreateOrderRequest(List<OrderDetail> foodList) { protected CreateOrderRequest getCreateOrderRequest(List<OrderDetail> foodList) {
List<OrderDetail> newFoodList = OrderDetail.transNewOrderDetails(foodList); List<OrderDetail> newFoodList = OrderDetail.transNewOrderDetails(foodList);
if (GsaCloudApplication.androidSetting.isMergeSendFood()) { if (RestaurantExpandInfoUtils.getValue(ExpandConstant.MergeSendFood, true)) {
//合并未送单主食品 //合并未送单主食品
mergeMainFoodNumber(newFoodList); mergeMainFoodNumber(newFoodList);
} }
...@@ -1152,7 +1154,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1152,7 +1154,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
protected AddOrderRequest getAddOrderRequest(List<OrderDetail> foodList) { protected AddOrderRequest getAddOrderRequest(List<OrderDetail> foodList) {
List<OrderDetail> newFoodList = OrderDetail.transNewOrderDetails(foodList); List<OrderDetail> newFoodList = OrderDetail.transNewOrderDetails(foodList);
if (GsaCloudApplication.androidSetting.isMergeSendFood()) { if (RestaurantExpandInfoUtils.getValue(ExpandConstant.MergeSendFood, true)) {
//合并未送单主食品 //合并未送单主食品
mergeMainFoodNumber(newFoodList); mergeMainFoodNumber(newFoodList);
} }
...@@ -1462,15 +1464,32 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1462,15 +1464,32 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
* @return * @return
*/ */
private boolean hasChildFood(List<OrderDetail> orderDetailList, OrderDetail orderDetail) { private boolean hasChildFood(List<OrderDetail> orderDetailList, OrderDetail orderDetail) {
if (orderDetail.getItemType() == 3) { List<OrderDetail> orderList = getChildFoods(orderDetailList, orderDetail);
if (orderList.size() == 0) {
return false; return false;
} else {
return true;
}
}
/**
* 獲取食品下所有子項
*
* @param orderDetailList
* @param orderDetail
* @return
*/
protected List<OrderDetail> getChildFoods(List<OrderDetail> orderDetailList, OrderDetail orderDetail) {
List<OrderDetail> orderList = new ArrayList<>();
if (orderDetail.getItemType() == 3) {
return orderList;
} }
for (int i = 0; i < orderDetailList.size(); i++) { for (int i = 0; i < orderDetailList.size(); i++) {
if (orderDetailList.get(i).getParentIndex() == orderDetail.getMyIndex()) { if (orderDetailList.get(i).getParentIndex() == orderDetail.getMyIndex()) {
return true; orderList.add(orderDetailList.get(i));
} }
} }
return false; return orderList;
} }
/** /**
...@@ -1514,7 +1533,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1514,7 +1533,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
for (BillOrderMoney item : mOrderMoneyList) { for (BillOrderMoney item : mOrderMoneyList) {
if (item.getStatus() == 0 && if (item.getStatus() == 0 &&
(item.getType() == BillOrderMoney.ORDER_DISCOUNT_TYPE || (item.getType() == BillOrderMoney.ORDER_DISCOUNT_TYPE ||
item.getType() == BillOrderMoney.MEMBER_DISCOUNT_TYPE|| item.getType() == BillOrderMoney.MEMBER_DISCOUNT_TYPE ||
item.getType() == BillOrderMoney.COUPON_DISCOUNT_TYPE)) { item.getType() == BillOrderMoney.COUPON_DISCOUNT_TYPE)) {
return item; return item;
} }
......
...@@ -18,6 +18,7 @@ import com.gingersoft.gsa.cloud.base.order.bean.mealManger.OpenTableManage; ...@@ -18,6 +18,7 @@ import com.gingersoft.gsa.cloud.base.order.bean.mealManger.OpenTableManage;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils; import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils; import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil; import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils;
import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils; import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.bean.R; import com.gingersoft.gsa.cloud.bean.R;
import com.gingersoft.gsa.cloud.bean.mvp.contract.MealStandContract; import com.gingersoft.gsa.cloud.bean.mvp.contract.MealStandContract;
...@@ -33,6 +34,7 @@ import com.gingersoft.gsa.cloud.bean.mvp.ui.adapter.meal.FoodGroupAdapter; ...@@ -33,6 +34,7 @@ import com.gingersoft.gsa.cloud.bean.mvp.ui.adapter.meal.FoodGroupAdapter;
import com.gingersoft.gsa.cloud.bean.mvp.ui.adapter.meal.ModifierAdapter; import com.gingersoft.gsa.cloud.bean.mvp.ui.adapter.meal.ModifierAdapter;
import com.gingersoft.gsa.cloud.bean.mvp.ui.adapter.meal.SelectMealAdapter; import com.gingersoft.gsa.cloud.bean.mvp.ui.adapter.meal.SelectMealAdapter;
import com.gingersoft.gsa.cloud.bean.mvp.ui.widget.CancelFoodDialog; import com.gingersoft.gsa.cloud.bean.mvp.ui.widget.CancelFoodDialog;
import com.gingersoft.gsa.cloud.constans.ExpandConstant;
import com.gingersoft.gsa.cloud.constans.MealConstant; import com.gingersoft.gsa.cloud.constans.MealConstant;
import com.gingersoft.gsa.cloud.constans.PrintConstans; import com.gingersoft.gsa.cloud.constans.PrintConstans;
import com.gingersoft.gsa.cloud.database.bean.ComboItem; import com.gingersoft.gsa.cloud.database.bean.ComboItem;
...@@ -67,6 +69,9 @@ import io.reactivex.android.schedulers.AndroidSchedulers; ...@@ -67,6 +69,9 @@ import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull; import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import me.jessyan.rxerrorhandler.core.RxErrorHandler; import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber; import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
import okhttp3.FormBody; import okhttp3.FormBody;
...@@ -90,6 +95,7 @@ import static com.gingersoft.gsa.cloud.bean.mvp.ui.activity.SoldoutCtrlActivity. ...@@ -90,6 +95,7 @@ import static com.gingersoft.gsa.cloud.bean.mvp.ui.activity.SoldoutCtrlActivity.
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a> * <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================ * ================================================
*/ */
@Data
@ActivityScope @ActivityScope
public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Model, MealStandContract.View> { public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Model, MealStandContract.View> {
@Inject @Inject
...@@ -270,13 +276,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -270,13 +276,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
mCurrentOrderDetailBean = OrderDetail.foodTransOrderDetails(datasBean, 1); mCurrentOrderDetailBean = OrderDetail.foodTransOrderDetails(datasBean, 1);
//加載套餐食品 //加載套餐食品
loadComboData(mCurrentOrderDetailBean, false); loadComboData(mCurrentOrderDetailBean, false);
// //新增食品
// addFoodItemBefore(mCurrentOrderDetailBean);
// //更新沽清食品數量
// updateFoodSoldoutCtrData();
// //更新賬單金額
// updateBillOrderItem();
// updateOrderFoodNumber();
} }
}); });
mComboAdapter.setOnItemClickListener(new ComboAdapter.OnItemClickListener() { mComboAdapter.setOnItemClickListener(new ComboAdapter.OnItemClickListener() {
...@@ -353,9 +352,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -353,9 +352,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
if (XClickUtil.isFastDoubleClick(view, 1000)) { if (XClickUtil.isFastDoubleClick(view, 1000)) {
return; return;
} }
// if (!discountConditionFilter(datasBean)) { if (!discountConditionFilter(datasBean)) {
// return; return;
// } }
if (cutOutDiscount() == -100) { if (cutOutDiscount() == -100) {
return; return;
} }
...@@ -390,8 +389,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -390,8 +389,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
long id = mCurrentOrderDetailBean.isNew() ? mCurrentOrderDetailBean.getProductId() : mCurrentOrderDetailBean.getId(); long id = mCurrentOrderDetailBean.isNew() ? mCurrentOrderDetailBean.getProductId() : mCurrentOrderDetailBean.getId();
mCurrentOrderDetailBean = OrderDetail.comboTransOrderDetail(comboItem, id, mCurrentOrderDetailBean.getProductId(), defNumber, OrderDetail.COMBO_PROP, RvMealClicked); mCurrentOrderDetailBean = OrderDetail.comboTransOrderDetail(comboItem, id, mCurrentOrderDetailBean.getProductId(), defNumber, OrderDetail.COMBO_PROP, RvMealClicked);
addPosition = addComboItem(mCurrentOrderDetailBean); addPosition = addComboItem(mCurrentOrderDetailBean);
} }
} }
} }
...@@ -480,23 +477,25 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -480,23 +477,25 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
.observeOn(AndroidSchedulers.mainThread())//在UI线程 .observeOn(AndroidSchedulers.mainThread())//在UI线程
.subscribe(new Observer<List>() { .subscribe(new Observer<List>() {
private int nextCount = 0;
private List<ComboItem> comboItemList; private List<ComboItem> comboItemList;
private List<Modifier> modifierList; private List<Modifier> modifierList;
@Override @Override
public void onSubscribe(Disposable d) { public void onSubscribe(Disposable d) {
nextCount = 0;
} }
@Override @Override
public void onNext(List list) { public void onNext(List list) {
if (list != null && list.size() > 0) { nextCount++;
if (list.get(0) instanceof ComboItem) { if (nextCount == 1) {
comboItemList = list; comboItemList = list;
//設置默認選中套餐食品 //設置默認選中套餐食品
setComboDefModifier(comboItemList); setComboDefModifier(comboItemList);
//更新套餐数据 //更新套餐数据
updateComboData(comboItemList); updateComboData(comboItemList);
} else if (list.get(0) instanceof Modifier) { } else {
modifierList = list; modifierList = list;
//設置默認選中細項 //設置默認選中細項
setModifierDefModifier(modifierList); setModifierDefModifier(modifierList);
...@@ -504,7 +503,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -504,7 +503,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
updateModifierData(modifierList); updateModifierData(modifierList);
} }
} }
}
@Override @Override
public void onError(Throwable e) { public void onError(Throwable e) {
...@@ -525,11 +524,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -525,11 +524,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
autoMod = food.getAutoMod() == 1 && comboItemList.size() > 0; autoMod = food.getAutoMod() == 1 && comboItemList.size() > 0;
} }
} }
// isSelectedMeal = isSelectedMeal && (comboItemList.size() > 0 || modifierList.size() > 0);
if (IActivity.getCurrentViewMode() != MealConstant.fine_ViewMode && isSelectedMeal || autoMod) { if (IActivity.getCurrentViewMode() != MealConstant.fine_ViewMode && isSelectedMeal || autoMod) {
mRootView.showViewModeVisibility(MealConstant.combo_ViewMode, MealConstant.modifier_ViewMode); mRootView.showViewModeVisibility(MealConstant.combo_ViewMode, MealConstant.modifier_ViewMode);
} }
if (!RvMealClicked) { if (!RvMealClicked) {
//新增食品 //新增食品
addFoodItemBefore(mCurrentOrderDetailBean); addFoodItemBefore(mCurrentOrderDetailBean);
...@@ -866,7 +863,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -866,7 +863,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
* @param initTable 是否是開台 * @param initTable 是否是開台
*/ */
private void printSendOrder(boolean initTable) { private void printSendOrder(boolean initTable) {
if (GsaCloudApplication.androidSetting.isAutoPrinterParper()) { if (RestaurantExpandInfoUtils.getValue(ExpandConstant.AutoPrinterPaper, true)) {
CC.obtainBuilder("Component.Print") CC.obtainBuilder("Component.Print")
.setActionName("printActivity") .setActionName("printActivity")
.addParam(PrintConstans.PRINT_TYPE, PrintConstans.PRINT_SERVE) .addParam(PrintConstans.PRINT_TYPE, PrintConstans.PRINT_SERVE)
...@@ -1610,6 +1607,16 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -1610,6 +1607,16 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
return true; return true;
} }
private boolean discountConditionFilter(Discount datasBean) {
//折扣金額是否>0
if (Double.doubleToLongBits(getDisountSourcePrice()) == 0) {
return false;
}
return true;
}
public void updateOrderFoodNumber() { public void updateOrderFoodNumber() {
setFoodBtnNumber(); setFoodBtnNumber();
setFoodGroupBtnNumber(IActivity.getFoodGroupGridViewAdapter(), mFoodGroupList); setFoodGroupBtnNumber(IActivity.getFoodGroupGridViewAdapter(), mFoodGroupList);
......
...@@ -22,6 +22,7 @@ import com.gingersoft.gsa.cloud.base.order.bean.mealManger.OpenTableManage; ...@@ -22,6 +22,7 @@ import com.gingersoft.gsa.cloud.base.order.bean.mealManger.OpenTableManage;
import com.gingersoft.gsa.cloud.base.table.bean.TableBean; import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import com.gingersoft.gsa.cloud.base.table.bean.TableExtBean; import com.gingersoft.gsa.cloud.base.table.bean.TableExtBean;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils; import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils;
import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils; import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.bean.ComponentTable; import com.gingersoft.gsa.cloud.bean.ComponentTable;
import com.gingersoft.gsa.cloud.bean.R; import com.gingersoft.gsa.cloud.bean.R;
...@@ -40,6 +41,7 @@ import com.gingersoft.gsa.cloud.bean.mvp.ui.adapter.OrderTopFunctionAdapter; ...@@ -40,6 +41,7 @@ import com.gingersoft.gsa.cloud.bean.mvp.ui.adapter.OrderTopFunctionAdapter;
import com.gingersoft.gsa.cloud.bean.mvp.ui.adapter.meal.SelectMealAdapter; import com.gingersoft.gsa.cloud.bean.mvp.ui.adapter.meal.SelectMealAdapter;
import com.gingersoft.gsa.cloud.bean.mvp.ui.widget.DiscountDialog; import com.gingersoft.gsa.cloud.bean.mvp.ui.widget.DiscountDialog;
import com.gingersoft.gsa.cloud.bean.mvp.ui.widget.SplitTableDialog; import com.gingersoft.gsa.cloud.bean.mvp.ui.widget.SplitTableDialog;
import com.gingersoft.gsa.cloud.constans.ExpandConstant;
import com.gingersoft.gsa.cloud.constans.GoldConstants; import com.gingersoft.gsa.cloud.constans.GoldConstants;
import com.gingersoft.gsa.cloud.constans.PrintConstans; import com.gingersoft.gsa.cloud.constans.PrintConstans;
import com.gingersoft.gsa.cloud.database.bean.Discount; import com.gingersoft.gsa.cloud.database.bean.Discount;
...@@ -376,7 +378,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -376,7 +378,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
if (afterToActivity != null) { if (afterToActivity != null) {
mRootView.startActivityForResult(OrderContentActivity.BILL_CODE, afterToActivity, null); mRootView.startActivityForResult(OrderContentActivity.BILL_CODE, afterToActivity, null);
} }
if (GsaCloudApplication.androidSetting.isAutoPrinterParper()) { if (RestaurantExpandInfoUtils.getValue(ExpandConstant.AutoPrinterPaper, true)) {
CC.obtainBuilder("Component.Print") CC.obtainBuilder("Component.Print")
.setActionName("printActivity") .setActionName("printActivity")
.addParam(PrintConstans.PRINT_TYPE, PrintConstans.PRINT_SERVE) .addParam(PrintConstans.PRINT_TYPE, PrintConstans.PRINT_SERVE)
......
...@@ -767,11 +767,6 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -767,11 +767,6 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
} }
} }
// @Override
// protected void doOnBackPressed() {
// super.doOnBackPressed();
// returnBeforeActivity(true);
// }
@Override @Override
public void onBackPressedSupport() { public void onBackPressedSupport() {
...@@ -779,11 +774,6 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -779,11 +774,6 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
returnBeforeActivity(true); returnBeforeActivity(true);
} }
// @Override
// public void onBackPressed() {
// super.onBackPressed();
// returnBeforeActivity(true);
// }
public void returnBeforeActivity(boolean initTable) { public void returnBeforeActivity(boolean initTable) {
SPUtils.put(this, MealConstant.EXIT_IS_PLU_MODE, isPluMode); SPUtils.put(this, MealConstant.EXIT_IS_PLU_MODE, isPluMode);
......
...@@ -67,10 +67,7 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> { ...@@ -67,10 +67,7 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
this.mParentColHeight = GsaCloudApplication.androidSetting.getLayoutFoodTypeHeight() / GsaCloudApplication.androidSetting.getFoodTypeRow(); this.mParentColHeight = GsaCloudApplication.androidSetting.getLayoutFoodTypeHeight() / GsaCloudApplication.androidSetting.getFoodTypeRow();
this.mLayoutQtyHeight = GsaCloudApplication.androidSetting.getLayoutQtyHeight(); this.mLayoutQtyHeight = GsaCloudApplication.androidSetting.getLayoutQtyHeight();
//
// Db_Color dc = new Db_Color(context);
// mColorList = dc.query("");
// dc.closeDb();
} }
@Override @Override
......
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