Commit 11b05961 by 宁斌

1、套餐食品數量數量變動不對

2、餐檯管理,刪除餐檯,最下面一列無法選擇到
3、餐檯管理,光標在前面,輸入的字卻是在後面
4、點餐套餐A-》後台刪除飲料套餐-》GSA下載數據飲料套餐卻還在
5、已暫停的細項可以點,然後報錯閃退
parent 4a8fc677
......@@ -4,6 +4,7 @@ apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-android'
apply plugin: 'com.jakewharton.butterknife'
apply plugin: 'org.greenrobot.greendao'
android {
compileSdkVersion rootProject.ext.android["compileSdkVersion"]
......@@ -94,7 +95,12 @@ dependencies {
//上下拉刷新
api 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0'
compile "androidx.core:core-ktx:+"
implementation 'org.projectlombok:lombok:1.18.8'
annotationProcessor 'org.projectlombok:lombok:1.18.8'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
repositories {
mavenCentral()
......
......@@ -52,20 +52,34 @@ public class MyOrderManage {
private int mseq = 0;//三级序
private OrderBean orderBean;
/**食品列表*/
/**
* 食品列表
*/
private List<OrderDetail> orderFoodList = new ArrayList<>();
/**本次送單食品,用於打印*/
/**
* 本次送單食品,用於打印
*/
private List<OrderDetail> newFoodList = new ArrayList<>();
/**整單折扣,服務費*/
/**
* 整單折扣,服務費
*/
protected List<BillOrderMoney> orderMoneyList = new ArrayList<>();
/**本次支付方式,用於打印*/
/**
* 本次支付方式,用於打印
*/
private List<PayMethod> billMoney = new ArrayList<>();
/**合計*/
/**
* 合計
*/
private double wholeAmount = 0.0;
/**總金額*/
/**
* 總金額
*/
private double totalAmount = 0.0;
/**記錄修改訂單操作*/
/**
* 記錄修改訂單操作
*/
private boolean modifyOrder = false;
public long getOrderId() {
......@@ -122,35 +136,16 @@ public class MyOrderManage {
return;
}
// OrderDetail orderFood = orderFoodList.get(this.select_Full_start_position);
OrderDetail orderFood = orderFoodList.get(this.select_Full_start_position);
// OrderDetail orderFood = orderFoodList.get(this.selmainstartpositon);
// CurrentSoldoutFood.DatasBean scClass;
// Db_SoldoutCtrl db = new Db_SoldoutCtrl(GSAApplication.getAppContext());
// if (orderFood.isIsfood()) {
// scClass = db.getSoldoutCtrl("F", orderFood.getItemno());
// } else {
// scClass = db.getSoldoutCtrl("M", orderFood.getItemno());
// }
// db.closeDb();
//
// int OR_Qty = scClass.getOR_Qty();
// int Used_Qty = scClass.getUsed_Qty();
// if (OR_Qty == -999999999 && Used_Qty == -999999999) {
//
// } else {
// int countNumber = getCountNumber(orderFood.getItemno());
// if (OR_Qty - Used_Qty - countNumber - number < 0) {
// return;
// }
// }
OrderDetail orderMainFood = orderFoodList.get(this.selmainstartpositon);
int qty = orderFood.getNumber();
boolean intQty = number == 1 || qty == 1 || number < qty;
change_food_number(orderFood, number);
change_child_number(orderFood, number);
change_child_number(orderFood, orderMainFood, number);
if (intQty) {
// if (number != 1 && number < qty) {
......@@ -168,13 +163,27 @@ public class MyOrderManage {
setCalculatePrice(orderFood);
}
private void change_child_number(OrderDetail orderFood, int number) {
private void change_child_number(OrderDetail orderFood, OrderDetail orderMainFood, int number) {
int parentIndex = orderFood.getMyIndex();
for (int i = 0; i < orderFoodList.size(); i++) {
OrderDetail datasBean = orderFoodList.get(i);
if (datasBean.getParentIndex() == parentIndex) {
datasBean.setNumber(number);
setCalculatePrice(datasBean);
int mainNumber = orderMainFood.getNumber();
if (orderMainFood.getItemType() == 1 && mainNumber == 1) {
//主食品金额为1 子食品金额也为1
for (int i = select_Full_start_position; i <= select_Full_end_position; i++) {
OrderDetail datasBean = orderFoodList.get(i);
if (datasBean.getParentIndex() == parentIndex) {
datasBean.setNumber(1);
setCalculatePrice(datasBean);
}
}
} else {
for (int i = select_Full_start_position; i <= select_Full_end_position; i++) {
OrderDetail datasBean = orderFoodList.get(i);
if (datasBean.getParentIndex() == parentIndex) {
// if (datasBean.getNumber() == 1) {
datasBean.setNumber(number);
setCalculatePrice(datasBean);
// }
}
}
}
}
......
......@@ -15,4 +15,9 @@ public class AppConstans {
public static final String CARSH_STR = "$";
public static final String CLEAR_ORDER_RECEIVING_HEART ="CLEAR_ORDER_RECEIVING_HEART";
/**語言下標*/
public static final String LANGUAGE_INDEX = "language_index";
}
package com.gingersoft.gsa.cloud.database.bean;
import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.NotNull;
import org.greenrobot.greendao.annotation.Property;
import lombok.Data;
import lombok.extern.log4j.Log4j;
import org.greenrobot.greendao.annotation.Generated;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-07-10
* 修订历史:2020-07-10
* 描述:
*/
@Entity
@Data
public class Language {
@Property(nameInDb = "_id")
@Id(autoincrement = true)
private Long id;
@NotNull
/**功能名稱*/
private String functionName;
/**語言id對應的功能名稱*/
private String languageName;
@Generated(hash = 2090158990)
public Language(Long id, @NotNull String functionName, String languageName) {
this.id = id;
this.functionName = functionName;
this.languageName = languageName;
}
@Generated(hash = 1478671802)
public Language() {
}
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
public String getFunctionName() {
return this.functionName;
}
public void setFunctionName(String functionName) {
this.functionName = functionName;
}
public String getLanguageName() {
return this.languageName;
}
public void setLanguageName(String languageName) {
this.languageName = languageName;
}
}
......@@ -493,6 +493,10 @@ public class Modifier {
return dbid;
}
public String getName(){
return modifierName;
}
public long getMid() {
return mid;
}
......
......@@ -28,6 +28,7 @@ public class DaoMaster extends AbstractDaoMaster {
FoodComboDao.createTable(db, ifNotExists);
FoodModifierDao.createTable(db, ifNotExists);
FunctionDao.createTable(db, ifNotExists);
LanguageDao.createTable(db, ifNotExists);
ModifierDao.createTable(db, ifNotExists);
PrinterDeviceBeanDao.createTable(db, ifNotExists);
PrintModelBeanDao.createTable(db, ifNotExists);
......@@ -42,6 +43,7 @@ public class DaoMaster extends AbstractDaoMaster {
FoodComboDao.dropTable(db, ifExists);
FoodModifierDao.dropTable(db, ifExists);
FunctionDao.dropTable(db, ifExists);
LanguageDao.dropTable(db, ifExists);
ModifierDao.dropTable(db, ifExists);
PrinterDeviceBeanDao.dropTable(db, ifExists);
PrintModelBeanDao.dropTable(db, ifExists);
......@@ -70,6 +72,7 @@ public class DaoMaster extends AbstractDaoMaster {
registerDaoClass(FoodComboDao.class);
registerDaoClass(FoodModifierDao.class);
registerDaoClass(FunctionDao.class);
registerDaoClass(LanguageDao.class);
registerDaoClass(ModifierDao.class);
registerDaoClass(PrinterDeviceBeanDao.class);
registerDaoClass(PrintModelBeanDao.class);
......
......@@ -15,6 +15,7 @@ import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.FoodCombo;
import com.gingersoft.gsa.cloud.database.bean.FoodModifier;
import com.gingersoft.gsa.cloud.database.bean.Function;
import com.gingersoft.gsa.cloud.database.bean.Language;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.database.bean.PrintModelBean;
......@@ -26,6 +27,7 @@ import com.gingersoft.gsa.cloud.database.greendao.FoodDao;
import com.gingersoft.gsa.cloud.database.greendao.FoodComboDao;
import com.gingersoft.gsa.cloud.database.greendao.FoodModifierDao;
import com.gingersoft.gsa.cloud.database.greendao.FunctionDao;
import com.gingersoft.gsa.cloud.database.greendao.LanguageDao;
import com.gingersoft.gsa.cloud.database.greendao.ModifierDao;
import com.gingersoft.gsa.cloud.database.greendao.PrinterDeviceBeanDao;
import com.gingersoft.gsa.cloud.database.greendao.PrintModelBeanDao;
......@@ -46,6 +48,7 @@ public class DaoSession extends AbstractDaoSession {
private final DaoConfig foodComboDaoConfig;
private final DaoConfig foodModifierDaoConfig;
private final DaoConfig functionDaoConfig;
private final DaoConfig languageDaoConfig;
private final DaoConfig modifierDaoConfig;
private final DaoConfig printerDeviceBeanDaoConfig;
private final DaoConfig printModelBeanDaoConfig;
......@@ -57,6 +60,7 @@ public class DaoSession extends AbstractDaoSession {
private final FoodComboDao foodComboDao;
private final FoodModifierDao foodModifierDao;
private final FunctionDao functionDao;
private final LanguageDao languageDao;
private final ModifierDao modifierDao;
private final PrinterDeviceBeanDao printerDeviceBeanDao;
private final PrintModelBeanDao printModelBeanDao;
......@@ -86,6 +90,9 @@ public class DaoSession extends AbstractDaoSession {
functionDaoConfig = daoConfigMap.get(FunctionDao.class).clone();
functionDaoConfig.initIdentityScope(type);
languageDaoConfig = daoConfigMap.get(LanguageDao.class).clone();
languageDaoConfig.initIdentityScope(type);
modifierDaoConfig = daoConfigMap.get(ModifierDao.class).clone();
modifierDaoConfig.initIdentityScope(type);
......@@ -102,6 +109,7 @@ public class DaoSession extends AbstractDaoSession {
foodComboDao = new FoodComboDao(foodComboDaoConfig, this);
foodModifierDao = new FoodModifierDao(foodModifierDaoConfig, this);
functionDao = new FunctionDao(functionDaoConfig, this);
languageDao = new LanguageDao(languageDaoConfig, this);
modifierDao = new ModifierDao(modifierDaoConfig, this);
printerDeviceBeanDao = new PrinterDeviceBeanDao(printerDeviceBeanDaoConfig, this);
printModelBeanDao = new PrintModelBeanDao(printModelBeanDaoConfig, this);
......@@ -113,6 +121,7 @@ public class DaoSession extends AbstractDaoSession {
registerDao(FoodCombo.class, foodComboDao);
registerDao(FoodModifier.class, foodModifierDao);
registerDao(Function.class, functionDao);
registerDao(Language.class, languageDao);
registerDao(Modifier.class, modifierDao);
registerDao(PrinterDeviceBean.class, printerDeviceBeanDao);
registerDao(PrintModelBean.class, printModelBeanDao);
......@@ -126,6 +135,7 @@ public class DaoSession extends AbstractDaoSession {
foodComboDaoConfig.clearIdentityScope();
foodModifierDaoConfig.clearIdentityScope();
functionDaoConfig.clearIdentityScope();
languageDaoConfig.clearIdentityScope();
modifierDaoConfig.clearIdentityScope();
printerDeviceBeanDaoConfig.clearIdentityScope();
printModelBeanDaoConfig.clearIdentityScope();
......@@ -159,6 +169,10 @@ public class DaoSession extends AbstractDaoSession {
return functionDao;
}
public LanguageDao getLanguageDao() {
return languageDao;
}
public ModifierDao getModifierDao() {
return modifierDao;
}
......
......@@ -162,7 +162,7 @@ public class ComboItemDaoUtils {
ArrayList<ComboItem> comboItems = new ArrayList<>();
// String sql = "SELECT c.*,f.FOOD_NAME,f.FOOD_NAME1,f.FOOD_NAME2,f.PRICE,f.AUTO_MOD FROM COMBO_ITEM c join FOOD f on c.FID=f.FID and f.INVISIBLE=0 join FOOD_COMBO r on r.COM_ID=c.COM_ID ";
String sql = "SELECT c.*,f.FOOD_NAME,f.FOOD_NAME1,f.FOOD_NAME2,f.PRICE,f.AUTO_MOD,DEF_MODIFIER,SELECT_QTY,INVISIBLE FROM COMBO_ITEM c join FOOD f on c.FID=f.FID and f.INVISIBLE!=1 join FOOD_COMBO r on r.COM_ID=c.COM_ID ";
String sql = "SELECT c.*,f.FOOD_NAME,f.FOOD_NAME1,f.FOOD_NAME2,f.PRICE,f.AUTO_MOD,SELECT_QTY,DEF_MODIFIER,INVISIBLE FROM COMBO_ITEM c join FOOD f on c.FID=f.FID and f.INVISIBLE!=1 join FOOD_COMBO r on r.COM_ID=c.COM_ID and r.DELETES!=1";
if (fid > 0) {
sql = sql + " where r.FID='" + fid + "'";
......@@ -182,6 +182,7 @@ public class ComboItemDaoUtils {
order.setAutoMode(c.getInt(c.getColumnIndex("AUTO_MOD")));
order.setSelectQty(c.getInt(c.getColumnIndex("SELECT_QTY")));
order.setInvisible(c.getLong(c.getColumnIndex("INVISIBLE")));
int deletes = c.getInt(c.getColumnIndex("DELETES"));
String defmodifier = c.getString(c.getColumnIndex("DEF_MODIFIER"));
if (!TextUtils.isEmpty(defmodifier) && !", ".equals(defmodifier)) {
order.setDefmodifier(defmodifier);
......
......@@ -156,6 +156,7 @@ public class FoodComboDaoUtils {
return mManager.getDaoSession().queryRaw(FoodCombo.class, sql, conditions);
}
/**
* 使用queryBuilder进行查询食品
*
......
package com.gingersoft.gsa.cloud.database.utils;
import android.content.Context;
import android.database.Cursor;
import android.text.TextUtils;
import android.util.Log;
import com.gingersoft.gsa.cloud.database.DaoManager;
import com.gingersoft.gsa.cloud.database.bean.Language;
import com.gingersoft.gsa.cloud.database.greendao.LanguageDao;
import org.greenrobot.greendao.query.QueryBuilder;
import java.util.ArrayList;
import java.util.List;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-01-02
* 修订历史:2020-01-02
* 描述:
*/
public class LanguageDaoUtils {
private static final String TAG = LanguageDaoUtils.class.getSimpleName();
private DaoManager mManager;
private Context mContext;
public LanguageDaoUtils(Context context) {
mManager = DaoManager.getInstance();
mManager.init(context);
this.mContext = context;
}
/**
* 清除緩存
*/
public void detachAll() {
LanguageDao languageDao = DaoManager.getInstance().getDaoSession().getLanguageDao();
languageDao.detachAll();
}
/**
* 完成Food记录的插入,如果表未创建,先创建Food表
*
* @param language
* @return
*/
public boolean insertLanguage(Language language) {
boolean flag = false;
flag = mManager.getDaoSession().getLanguageDao().insert(language) == -1 ? false : true;
Log.i(TAG, "insert LanguageItem :" + flag + "-->" + language.toString());
return flag;
}
/**
* 插入多条数据,在子线程操作
*
* @param foodList
* @return
*/
public boolean insertMultLanguage(final List<Language> foodList) {
boolean flag = false;
try {
mManager.getDaoSession().runInTx(new Runnable() {
@Override
public void run() {
for (Language Food : foodList) {
mManager.getDaoSession().insertOrReplace(Food);
}
}
});
flag = true;
} catch (Exception e) {
e.printStackTrace();
}
return flag;
}
/**
* 修改一条数据
*
* @param Language
* @return
*/
public boolean updateLanguage(Language Language) {
boolean flag = false;
try {
mManager.getDaoSession().update(Language);
flag = true;
} catch (Exception e) {
e.printStackTrace();
}
return flag;
}
/**
* 删除单条记录
*
* @param food
* @return
*/
public boolean deleteLanguage(Language food) {
boolean flag = false;
try {
//按照id删除
mManager.getDaoSession().delete(food);
flag = true;
} catch (Exception e) {
e.printStackTrace();
}
return flag;
}
/**
* 删除所有记录
*
* @return
*/
public boolean deleteAll() {
boolean flag = false;
try {
//按照id删除
mManager.getDaoSession().deleteAll(Language.class);
flag = true;
} catch (Exception e) {
e.printStackTrace();
}
return flag;
}
/**
* 查询所有记录
*
* @return
*/
public List<Language> queryAllLanguage() {
return mManager.getDaoSession().loadAll(Language.class);
}
/**
* 根据主键id查询记录
*
* @param key
* @return
*/
public Language queryLanguageById(long key) {
return mManager.getDaoSession().load(Language.class, key);
}
/**
* 使用native sql进行查询操作
*/
public List<Language> queryLanguageByNativeSql(String sql, String[] conditions) {
return mManager.getDaoSession().queryRaw(Language.class, sql, conditions);
}
}
......@@ -5,10 +5,10 @@ ext {
buildToolsVersion: '28.0.3',
minSdkVersion : 19, //N5收銀機應用安卓開發環境要求Android OS Version: 5.1Android SDK Min Version: 19
targetSdkVersion : 28,
//正式版: 1.0.1 1
//內部測試版:1.1.1 11
versionCode : 18,
versionName : "1.2.3"
//正式版: 1.0.2 2
//內部測試版:1.1.2 12
versionCode : 13,
versionName : "1.1.3"
]
version = [
......
......@@ -64,6 +64,10 @@ dependencies {
implementation files('libs/nineoldandroids-2.4.0.jar')
implementation "androidx.core:core-ktx:+"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'org.projectlombok:lombok:1.18.8'
annotationProcessor 'org.projectlombok:lombok:1.18.8'
}
repositories {
mavenCentral()
......
......@@ -10,6 +10,7 @@
<activity android:name=".mvp.ui.activity.SettlementActivity" />
<activity android:name=".mvp.ui.activity.SettlementReportActivity" />
<activity android:name=".mvp.ui.activity.LookLogActivity" />
<activity android:name=".mvp.ui.activity.LanguageActivity" />
<!-- arms配置 -->
<meta-data
android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
......
......@@ -2,13 +2,6 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gingersoft.gsa.cloud.main">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<application
android:name="com.gingersoft.gsa.cloud.base.application.GsaCloudApplication"
android:allowBackup="true"
......@@ -17,11 +10,12 @@
android:networkSecurityConfig="@xml/network_android"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".mvp.ui.activity.LookLogActivity"></activity>
<activity android:name=".mvp.ui.activity.LanguageActivity"></activity>
<activity android:name=".mvp.ui.activity.ReportActivity" />
<activity android:name=".mvp.ui.activity.MainActivity" />
<activity android:name=".mvp.ui.activity.SettlementActivity" />
<activity android:name=".mvp.ui.activity.SettlementReportActivity" />
<activity android:name=".mvp.ui.activity.LookLogActivity" />
<activity
android:name=".mvp.ui.activity.NewMainActivity"
android:theme="@style/MainTheme">
......@@ -43,5 +37,12 @@
android:name="design_height_in_dp"
android:value="640" />
</application>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
</manifest>
\ No newline at end of file
package com.gingersoft.gsa.cloud.main.di.component;
import dagger.BindsInstance;
import dagger.Component;
import com.jess.arms.di.component.AppComponent;
import com.gingersoft.gsa.cloud.main.di.module.LanguageModule;
import com.gingersoft.gsa.cloud.main.mvp.contract.LanguageContract;
import com.jess.arms.di.scope.ActivityScope;
import com.gingersoft.gsa.cloud.main.mvp.ui.activity.LanguageActivity;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 07/11/2020 14:51
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
@Component(modules = LanguageModule.class, dependencies = AppComponent.class)
public interface LanguageComponent {
void inject(LanguageActivity activity);
@Component.Builder
interface Builder {
@BindsInstance
LanguageComponent.Builder view(LanguageContract.View view);
LanguageComponent.Builder appComponent(AppComponent appComponent);
LanguageComponent build();
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.main.di.module;
import com.jess.arms.di.scope.ActivityScope;
import dagger.Binds;
import dagger.Module;
import dagger.Provides;
import com.gingersoft.gsa.cloud.main.mvp.contract.LanguageContract;
import com.gingersoft.gsa.cloud.main.mvp.model.LanguageModel;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 07/11/2020 14:51
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@Module
public abstract class LanguageModule {
@Binds
abstract LanguageContract.Model bindLanguageModel(LanguageModel model);
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.main.mvp.contract;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.database.bean.Language;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.LanguageType;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.PaymentMethodBean;
import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel;
import java.util.List;
import io.reactivex.Observable;
import okhttp3.RequestBody;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 07/11/2020 14:51
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public interface LanguageContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView {
void returnLanguageData(List<LanguageType> languageList);
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
Observable<BaseResult> getLanguageByBrandId(RequestBody requestBody);
Observable<BaseResult> getByLanguageId(RequestBody requestBody);
}
}
package com.gingersoft.gsa.cloud.main.mvp.model;
import android.app.Application;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.main.mvp.model.service.LanguageService;
import com.gingersoft.gsa.cloud.main.mvp.model.service.MainReportService;
import com.google.gson.Gson;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
import com.jess.arms.di.scope.ActivityScope;
import javax.inject.Inject;
import com.gingersoft.gsa.cloud.main.mvp.contract.LanguageContract;
import io.reactivex.Observable;
import okhttp3.RequestBody;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 07/11/2020 14:51
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
public class LanguageModel extends BaseModel implements LanguageContract.Model {
@Inject
Gson mGson;
@Inject
Application mApplication;
@Inject
public LanguageModel(IRepositoryManager repositoryManager) {
super(repositoryManager);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mGson = null;
this.mApplication = null;
}
@Override
public Observable<BaseResult> getLanguageByBrandId(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(LanguageService.class)
.getLanguageByBrandId(requestBody);
}
@Override
public Observable<BaseResult> getByLanguageId(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(LanguageService.class)
.getByLanguageId(requestBody);
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.main.mvp.model.bean;
import lombok.Data;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-07-11
* 修订历史:2020-07-11
* 描述:
*/
@Data
public class LanguageType {
private int id;
private String languageInfo;
/**自定义字段*/
private boolean selected = false;
}
package com.gingersoft.gsa.cloud.main.mvp.model.service;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import io.reactivex.Observable;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.Headers;
import retrofit2.http.POST;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-07-11
* 修订历史:2020-07-11
* 描述:
*/
public interface LanguageService {
@Headers({"Domain-Name: system_url"})
@POST("SystemButtonLanguage/getLanguageByBrandId" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> getLanguageByBrandId(@Body RequestBody requestBody);
@Headers({"Domain-Name: system_url"})
@POST("SystemButtonLanguage/getByLanguageId" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> getByLanguageId(@Body RequestBody requestBody);
}
package com.gingersoft.gsa.cloud.main.mvp.presenter;
import android.app.Application;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.database.bean.Language;
import com.gingersoft.gsa.cloud.database.greendao.LanguageDao;
import com.gingersoft.gsa.cloud.database.utils.LanguageDaoUtils;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.LanguageType;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.MainBusinessBean;
import com.jess.arms.integration.AppManager;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.http.imageloader.ImageLoader;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.schedulers.Schedulers;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
import okhttp3.FormBody;
import okhttp3.RequestBody;
import javax.inject.Inject;
import com.gingersoft.gsa.cloud.main.mvp.contract.LanguageContract;
import com.jess.arms.utils.RxLifecycleUtils;
import java.util.List;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 07/11/2020 14:51
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
public class LanguagePresenter extends BasePresenter<LanguageContract.Model, LanguageContract.View> {
@Inject
RxErrorHandler mErrorHandler;
@Inject
Application mApplication;
@Inject
ImageLoader mImageLoader;
@Inject
AppManager mAppManager;
@Inject
public LanguagePresenter(LanguageContract.Model model, LanguageContract.View rootView) {
super(model, rootView);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mErrorHandler = null;
this.mAppManager = null;
this.mImageLoader = null;
this.mApplication = null;
}
public void getLanguageByBrandId(long brandId) {
RequestBody requestBody = new FormBody.Builder()
.add("brandId", String.valueOf(brandId))
.build();
mModel.getLanguageByBrandId(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onNext(@NonNull BaseResult result) {
if (result != null && result.isSuccess()) {
if (result.getData() != null) {
List<LanguageType> languageList = JsonUtils.parseArray(result.getData(), LanguageType.class);
if (languageList != null) {
mRootView.returnLanguageData(languageList);
}
}
} else {
mRootView.showMessage(result.getErrMsg());
}
}
});
}
public void getByLanguageId(List<LanguageType> languageTypeList, int position, int systemType, BaseQuickAdapter adapter) {
RequestBody requestBody = new FormBody.Builder()
.add("languageId", String.valueOf(languageTypeList.get(position).getId()))
.add("systemType", String.valueOf(systemType))
.build();
mModel.getByLanguageId(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onNext(@NonNull BaseResult result) {
if (result != null && result.isSuccess()) {
if (result.getData() != null) {
List<Language> languageList = JsonUtils.parseArray(result.getData(), Language.class);
if (languageList != null) {
for (LanguageType item : languageTypeList) {
item.setSelected(false);
}
languageTypeList.get(position).setSelected(true);
adapter.notifyDataSetChanged();
LanguageDaoUtils daoUtils = new LanguageDaoUtils(mApplication);
boolean status =daoUtils.insertMultLanguage(languageList);
if(status){
mRootView.showMessage("插入語言表成功");
}else {
mRootView.showMessage("插入語言表失敗");
}
}
}
} else {
mRootView.showMessage(result.getErrMsg());
}
}
});
}
}
......@@ -183,12 +183,12 @@ public class NewMainPresenter extends BasePresenter<NewMainContract.Model, NewMa
isForce = true;
}
UpdateAppUtils.from(IActivity)
.checkBy(UpdateAppUtils.CHECK_BY_VERSION_CODE) //更新检测方式,默认为VersionCode
.serverVersionCode(DeviceUtils.getVersionCode(mApplication))
.serverVersionName(DeviceUtils.getVersionName(mApplication))
.checkBy(UpdateAppUtils.DOWNLOAD_BY_APP) //更新检测方式,默认为VersionCode
// .serverVersionCode(DeviceUtils.getVersionCode(mApplication))
// .serverVersionName(DeviceUtils.getVersionName(mApplication))
.apkPath(downApkURL)
.showNotification(false) //是否显示下载进度到通知栏,默认为true
.updateInfo("發現新版本,點擊下載更新") //更新日志信息 String
// .updateInfo("發現新版本,點擊下載更新") //更新日志信息 String
.downloadBy(UpdateAppUtils.DOWNLOAD_BY_APP) //下载方式:app下载、手机浏览器下载(DOWNLOAD_BY_BROWSER)。默认app下载
.isForce(isForce) //是否强制更新,默认false 强制更新情况下用户不同意更新则不能使用app
.update();
......
......@@ -240,14 +240,14 @@ public class SettlementReportPresenter extends BasePresenter<SettlementReportCon
dialogBuilder.setTitleIcon(com.gingersoft.gsa.cloud.base.R.drawable.qmui_icon_dialog_doubt);
dialogBuilder.setMessage(msg);
dialogBuilder.setCancelable(true);
dialogBuilder.addAction(com.gingersoft.gsa.cloud.base.R.drawable.shape_3c_cancel_btn_bg, "否", (dialog, index) -> {
dialog.dismiss();
sendSettlement(SettlementReportActivity.merge_settlement_type_3);
});
dialogBuilder.addAction(com.gingersoft.gsa.cloud.base.R.drawable.shape_red_five_radius_bg, "是", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> {
dialog.dismiss();
sendSettlement(SettlementReportActivity.merge_settlement_type_2);
});
dialogBuilder.addAction(com.gingersoft.gsa.cloud.base.R.drawable.shape_3c_cancel_btn_bg, "否", (dialog, index) -> {
dialog.dismiss();
sendSettlement(SettlementReportActivity.merge_settlement_type_3);
});
dialogBuilder.create(com.gingersoft.gsa.cloud.base.R.style.MyDialogTheme2).show();
}
......
package com.gingersoft.gsa.cloud.main.mvp.ui.activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.listener.OnItemClickListener;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.database.bean.Language;
import com.gingersoft.gsa.cloud.main.R2;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.LanguageType;
import com.gingersoft.gsa.cloud.main.mvp.ui.adapter.LanguageAdapter;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
import com.jess.arms.base.BaseActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.gingersoft.gsa.cloud.main.di.component.DaggerLanguageComponent;
import com.gingersoft.gsa.cloud.main.mvp.contract.LanguageContract;
import com.gingersoft.gsa.cloud.main.mvp.presenter.LanguagePresenter;
import com.gingersoft.gsa.cloud.main.R;
import com.qmuiteam.qmui.widget.QMUITopBar;
import java.util.ArrayList;
import java.util.List;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import static com.jess.arms.utils.Preconditions.checkNotNull;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 07/11/2020 14:51
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public class LanguageActivity extends BaseActivity<LanguagePresenter> implements LanguageContract.View {
@BindView(R2.id.topbar_language)
QMUITopBar mTopBar;
@BindView(R2.id.recycler_language)
RecyclerView recycler_language;
private LanguageAdapter mLanguageAdapter;
private List<LanguageType> mLanguageTypeList = new ArrayList<>();
private LanguageType mCurrentLanguageType;
/**
* 系統類型
* 0:gsa
* 1:gsa(平板)
*/
private int systemType = 0;
@Override
public void setupActivityComponent(@NonNull AppComponent appComponent) {
DaggerLanguageComponent //如找不到该类,请编译一下项目
.builder()
.appComponent(appComponent)
.view(this)
.build()
.inject(this);
}
@Override
public int initView(@Nullable Bundle savedInstanceState) {
return R.layout.main_activity_language; //如果你不需要框架帮你设置 setContentView(id) 需要自行设置,请返回 0
}
@Override
public void initData(@Nullable Bundle savedInstanceState) {
initAdapter();
initItemListener();
mPresenter.getLanguageByBrandId(GsaCloudApplication.getBrandId(this));
}
private void initAdapter() {
if (mLanguageAdapter == null) {
mLanguageAdapter = new LanguageAdapter(mLanguageTypeList);
recycler_language.setAdapter(mLanguageAdapter);
}
}
private void initItemListener() {
mLanguageAdapter.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
mPresenter.getByLanguageId(mLanguageTypeList, position, systemType, adapter);
}
});
}
@Override
public void initIntent() {
}
@Override
public void initTopBar() {
mTopBar.setBackgroundColor(ContextCompat.getColor(this, R.color.theme_color));
mTopBar.addLeftBackImageButton().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
killMyself();
}
});
mTopBar.setTitle(LanguageUtils.get_language_system(this, "funcSelect.settlement", "語言")).setTextColor(ArmsUtils.getColor(this, R.color.theme_white_color));
}
@Override
public void initLanguage() {
}
@Override
public void initLayoutParams() {
}
@Override
public void initLayoutVisible() {
}
@Override
public void showLoading(String message) {
if (message != null)
LoadingDialog.showDialogForLoading(this, message, true);
else
LoadingDialog.showDialogForLoading(this);
}
@Override
public void hideLoading() {
LoadingDialog.cancelDialogForLoading();
}
@Override
public void showMessage(@NonNull String message) {
checkNotNull(message);
ArmsUtils.snackbarText(message);
}
@Override
public void launchActivity(@NonNull Intent intent) {
checkNotNull(intent);
ArmsUtils.startActivity(intent);
}
@Override
public void killMyself() {
finish();
}
@Override
public void returnLanguageData(List<LanguageType> languageList) {
if (mLanguageTypeList.size() != 0)
mLanguageTypeList.clear();
mLanguageTypeList.addAll(languageList);
mLanguageAdapter.notifyDataSetChanged();
}
}
......@@ -189,7 +189,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
if (BuildConfig.DEBUG) {
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "複製Token"));
// mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "查看日誌"));
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "查看日誌"));
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_mall_center, "商城中心"));
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_about_us, "關於我們"));
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_password, "修改密碼"));
......@@ -249,19 +249,19 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
// if (!BuildConfig.DEBUG) {
functions.add(new Function((long) 150, 0, 5, "點餐", 0, 0));
// functions.add(new Function((long) 138, 150, 5, "餐檯模式", R.drawable.ic_dining_table_mode, 0));
functions.add(new Function((long) 138, 150, 5, "餐檯模式", R.drawable.ic_dining_table_mode, 0));
functions.add(new Function((long) 139, 150, 5, "外送/自取", R.drawable.ic_delivery_mode, 0));
// functions.add(new Function((long) 140, 150, 5, "外賣模式", R.drawable.ic_outsourcing_model_close, 0));
// functions.add(new Function((long) 141, 150, 5, "預點餐模式", R.drawable.ic_pre_order_mode_close, 1));
functions.add(new Function((long) 140, 150, 5, "外賣模式", R.drawable.ic_outsourcing_model_close, 0));
functions.add(new Function((long) 141, 150, 5, "預點餐模式", R.drawable.ic_pre_order_mode_close, 1));
functions.add(new Function((long) 151, 0, 5, "管理", 0, 0));
// functions.add(new Function((long) 142, 151, 5, "賬單管理", R.drawable.ic_meals_menu_management, 0));
functions.add(new Function((long) 142, 151, 5, "賬單管理", R.drawable.ic_meals_menu_management, 0));
// functions.add(new Function((long) 142, 151, 5, "外賣接單", R.drawable.ic_takeaway_orders, 0));
// functions.add(new Function((long) 143, 151, 5, "餐檯管理", R.drawable.ic_dining_table_management, 0));
functions.add(new Function((long) 143, 151, 5, "餐檯管理", R.drawable.ic_dining_table_management, 0));
functions.add(new Function((long) 144, 151, 5, "打印管理", R.drawable.ic_print_management, 0));
//// functions.add(new Function((long) 145, 151, 5, "支付管理", R.drawable.ic_pay_management_close, 1));
//// functions.add(new Function((long) 146, 151, 5, "折扣管理", R.drawable.ic_discount_management_close, 1));
// functions.add(new Function((long) 147, 151, 5, "沽清管理", R.drawable.ic_sell_off_manger, 0));
functions.add(new Function((long) 147, 151, 5, "沽清管理", R.drawable.ic_sell_off_manger, 0));
functions.add(new Function((long) 152, 0, 5, "員工", 0, 0));
functions.add(new Function((long) 147, 152, 5, "員工管理", R.drawable.ic_staff_management_close, 1));
......
......@@ -230,11 +230,11 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese
QMUIDialog.MessageDialogBuilder dialogBuilder = new QMUIDialog.MessageDialogBuilder(this);
dialogBuilder.setTitle("溫馨提示");
dialogBuilder.setMessage("是否確認清機");
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> {
mPresenter.sendSettlement(type);
dialog.dismiss();
});
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
dialogBuilder.create(com.gingersoft.gsa.cloud.base.R.style.MyDialogTheme2).show();
}
......
package com.gingersoft.gsa.cloud.main.mvp.ui.adapter;
import android.view.View;
import android.widget.CompoundButton;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.listener.OnItemClickListener;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.bean.Language;
import com.gingersoft.gsa.cloud.main.R;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.LanguageType;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.MainSideMenuBean;
import java.util.List;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
/**
* Created by Wyh on 2020/3/7.
*/
public class LanguageAdapter extends BaseQuickAdapter<LanguageType, BaseViewHolder> {
public LanguageAdapter(@Nullable List<LanguageType> data) {
super(R.layout.main_item_language, data);
}
@Override
protected void convert(BaseViewHolder helper, LanguageType item) {
helper.setText(R.id.tv_language_name, item.getLanguageInfo());
RadioButton rb_selected = helper.getView(R.id.rb_selected);
// setOnItemClickListener(new com.chad.library.adapter.base.listener.OnItemClickListener() {
// @Override
// public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
// List<LanguageType> data = getData();
// for (LanguageType item : data) {
// item.setSelected(false);
// }
// data.get(position).setSelected(true);
// }
// });
rb_selected.setChecked(item.isSelected());
}
private OnItemClickListener mOnItemClickListener;
public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
mOnItemClickListener = onItemClickListener;
}
public interface OnItemClickListener {
void onItemClick(LanguageType item,int position,BaseQuickAdapter adapter);
}
}
......@@ -277,6 +277,4 @@
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
</LinearLayout>
</LinearLayout>
</com.gingersoft.gsa.cloud.main.mvp.ui.view.SlidingMenu>
</com.gingersoft.gsa.cloud.main.mvp.ui.view.SlidingMenu>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:descendantFocusability="afterDescendants"
android:orientation="vertical"
tools:context="com.gingersoft.gsa.cloud.main.mvp.ui.activity.LanguageActivity">
<com.qmuiteam.qmui.widget.QMUITopBar
android:id="@+id/topbar_language"
android:layout_width="match_parent"
android:layout_height="?attr/qmui_topbar_height"
app:qmui_topbar_title_color="@color/theme_white_color" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_language"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:spanCount="1"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"/>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll_container"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/dp_10">
<TextView
android:id="@+id/tv_language_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="繁體"
android:textSize="@dimen/sp_16"
android:textColor="@color/theme_black"/>
<RadioButton
android:id="@+id/rb_selected"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:layout_gravity="right|center_vertical"/>
</LinearLayout>
\ No newline at end of file
......@@ -325,8 +325,8 @@ public class TableManagePresenter extends BasePresenter<TableManageContract.Mode
if (info != null && info.isSuccess()) {
if (info.getData() != null) {
List<TableItem> tableItems = JsonUtils.parseArray(info.getData(), TableItem.class);
mRootView.queryTablesSuccess(tableItems, TableManageActivity.QUERY_TABLE_SUCCESS);
if (tableItems.size() > 0) {
mRootView.queryTablesSuccess(tableItems, TableManageActivity.QUERY_TABLE_SUCCESS);
} else {
mRootView.showEmptyView(true, 0, null);
}
......@@ -524,4 +524,6 @@ public class TableManagePresenter extends BasePresenter<TableManageContract.Mode
public Disposable getGetTablesDataDisposable() {
return mGetTablesDataDisposable;
}
}
......@@ -228,7 +228,7 @@ public class TableManageActivity extends BaseFragmentActivity<TableManagePresent
// }
} else if (fragment instanceof TableListFragment) {
TableListFragment tableListFragment = (TableListFragment) fragment;
tableListFragment.updateAreaData(areas);
tableListFragment.setAreaData(areas);
}
switch (type) {
case ADD_AREA_SUCCESS:
......@@ -302,6 +302,7 @@ public class TableManageActivity extends BaseFragmentActivity<TableManagePresent
@Override
public void showEmptyView(boolean isSuccess, int size, Throwable t) {
ISupportFragment fragment = getTopFragment();
size = mTableList.size() != 0 ? mTableList.size() : mTableAreaList.size();
if (fragment instanceof TableListFragment) {
TableListFragment tableListFragment = (TableListFragment) fragment;
tableListFragment.showEmptyView(isSuccess, size, t);
......
......@@ -160,6 +160,7 @@ public class TableManageSectiontAdapter extends QMUIDefaultStickySectionAdapter<
} else {
//未開檯空間足夠可換行顯示
viewHolder.tv_table.setMaxLines(2);
viewHolder.tv_table.setTextSize(16);
viewHolder.tv_people.setVisibility(View.GONE);
}
......
......@@ -160,7 +160,7 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements
}
InputFilter[] filters = {new InputFilter.LengthFilter(15)};
tableNameEditText.setFilters(filters);
// tableNameEditText.setWidth(QMUIDisplayHelper.dp2px(mActivity, 75));
tableNameEditText.setWidth(QMUIDisplayHelper.dp2px(mActivity, 75));
tableNameEditText.setTextSize(16);
tableNameEditText.setBackgroundColor(ContextCompat.getColor(mContext, R.color.trans));
tableNameItemView.addAccessoryCustomView(tableNameEditText);
......@@ -170,9 +170,9 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements
tableNameEditText.setLayoutParams(tableNameEditTextParams);
// 如下是内容为空的配置,需要两个属性结合使用;如果有默认值,进行相反的配置
// 设置文字的对齐方式
tableNameEditText.setGravity(Gravity.START | Gravity.CENTER_VERTICAL);
tableNameEditText.setGravity(Gravity.CENTER | Gravity.RIGHT);
// 设置文本的显示方向
tableNameEditText.setTextDirection(View.TEXT_DIRECTION_RTL);
// tableNameEditText.setTextDirection(View.TEXT_DIRECTION_RTL);
int size = QMUIDisplayHelper.dp2px(mContext, 20);
......@@ -194,6 +194,8 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements
if (mTableItem.getLayoutType() == 0) {
peopleMixNumberEditText.setText(mTableItem.getMinSeatCount() + "");
}
InputFilter[] defalutPeopleNumberFilters = {new InputFilter.LengthFilter(2)};
peopleMixNumberEditText.setFilters(defalutPeopleNumberFilters);
peopleMixNumberEditText.setGravity(Gravity.CENTER);
peopleMixNumberEditText.setTextSize(13);
peopleMixNumberEditText.setBackgroundColor(ContextCompat.getColor(mContext, R.color.trans));
......@@ -211,6 +213,8 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements
if (mTableItem.getLayoutType() == 0) {
peopleMaxNumberEditText.setText(mTableItem.getMaxSeatCount() + "");
}
InputFilter[] peopleMaxNumberFilters = {new InputFilter.LengthFilter(2)};
peopleMaxNumberEditText.setFilters(peopleMaxNumberFilters);
peopleMaxNumberEditText.setGravity(Gravity.CENTER);
peopleMaxNumberEditText.setTextSize(13);
peopleMaxNumberEditText.setBackgroundColor(ContextCompat.getColor(mContext, R.color.trans));
......@@ -272,7 +276,7 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements
// 设置文字的对齐方式
defalutPeopleNumberEditText.setGravity(Gravity.START | Gravity.CENTER_VERTICAL);
// 设置文本的显示方向
defalutPeopleNumberEditText.setTextDirection(View.TEXT_DIRECTION_RTL);
// defalutPeopleNumberEditText.setTextDirection(View.TEXT_DIRECTION_RTL);
QMUIGroupListView.newSection(getContext())
.setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
......@@ -323,9 +327,9 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements
serverchargeItemView.addAccessoryCustomView(serverchargeEditText);
// 如下是内容为空的配置,需要两个属性结合使用;如果有默认值,进行相反的配置
// 设置文字的对齐方式
serverchargeEditText.setGravity(Gravity.START | Gravity.CENTER_VERTICAL);
serverchargeEditText.setGravity(Gravity.CENTER | Gravity.RIGHT);
// 设置文本的显示方向
serverchargeEditText.setTextDirection(View.TEXT_DIRECTION_RTL);
// serverchargeEditText.setTextDirection(View.TEXT_DIRECTION_RTL);
QMUIGroupListView.newSection(getContext())
.setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
......
......@@ -175,7 +175,10 @@ public class AreaListFragment extends BaseFragment<AreaListPresenter> implements
}
private void initTopbar() {
mTopBar.addLeftBackImageButton().setOnClickListener(v -> killMyself());
mTopBar.addLeftBackImageButton().setOnClickListener(v ->{
mAreaManageAdapter.addTextChangedListener(null);
killMyself();
});
mTopBar.setBackgroundResource(R.color.theme_color);
mTopBar.setTitle("區域").setTextColor(ContextCompat.getColor(mContext, R.color.theme_white_color));
rightButton = mTopBar.addRightTextButton("編輯", R.id.qmui_dialog_edit_right_icon);
......@@ -191,9 +194,11 @@ public class AreaListFragment extends BaseFragment<AreaListPresenter> implements
fl_add_area.setVisibility(View.INVISIBLE);
initCheckedStatus();
rightButton.setText("取消");
mAreaManageAdapter.addTextChangedListener(textChangedListener);
} else {
fl_add_area.setVisibility(View.VISIBLE);
rightButton.setText("編輯");
mAreaManageAdapter.addTextChangedListener(null);
}
showRadioEdit();
mAreaManageAdapter.setRadioEdit(isRadioEdit);
......@@ -251,15 +256,17 @@ public class AreaListFragment extends BaseFragment<AreaListPresenter> implements
public void onItemClick(View view, int viewType, Object data, int position) {
}
});
mAreaManageAdapter.addTextChangedListener(new AreaManageAdapter.OnTextChangedListener() {
@Override
public void afterTextChanged(TableArea datasBean, String name) {
mActivity.updateArea(createUpateAreaRequest(datasBean.getId(), name));
}
});
mAreaManageAdapter.addTextChangedListener(textChangedListener);
}
private AreaManageAdapter.OnTextChangedListener textChangedListener = new AreaManageAdapter.OnTextChangedListener(){
@Override
public void afterTextChanged(TableArea datasBean, String s) {
mActivity.updateArea(createUpateAreaRequest(datasBean.getId(), s));
}
};
public void updateAreaData(List<TableArea> tableAreaList) {
if (mTableAreaList.size() > 0) {
mTableAreaList.clear();
......
......@@ -14,7 +14,9 @@ import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.common.bean.TableItem;
......@@ -91,6 +93,8 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
@BindView(R2.id.topbar)
QMUITopBarLayout mTopBar;
@BindView(R2.id.fl_section_layout)
FrameLayout fl_section_layout;
@BindView(R2.id.section_table)
QMUIStickySectionLayout mSectionLayout;
@BindView(R2.id.refreshLayout)
......@@ -184,14 +188,14 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
super.onResume();
hideSoftInput();
//開始刷新餐檯數據
mActivity.onStartRefreshTableData();
// mActivity.onStartRefreshTableData();
}
@Override
public void onPause() {
super.onPause();
//停止刷新餐檯數據
mActivity.onPauseRefreshTableData();
// mActivity.onPauseRefreshTableData();
}
@Override
......@@ -339,11 +343,31 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
return layoutManager;
}
public void updateAreaData(List<TableArea> tableAreaList) {
public void setAreaData(List<TableArea> tableAreaList){
initParms();
if (mAreaList.size() > 0) {
mAreaList.clear();
}
mAreaList.addAll(tableAreaList);
for (TableItem item : mTableList) {
if (item.getRegionId() == 0) {
item.setRegionId(-1);
}
}
}
public void updateAreaData(List<TableArea> tableAreaList) {
mTableAreaSectionList.addAll(mPresenter.tableAreaTransformToSection(mPresenter.assembleTableArea(mPresenter.assembleAreaList(tableAreaList, mTableList), mTableList)));
mAdapter.setData(mTableAreaSectionList);
mEmptyView.hide();
mSectionLayout.setVisibility(View.VISIBLE);
initLoad = true;
}
public void updateTableData(List<TableArea> tableAreaList, List<TableItem> tableItemList) {
......@@ -370,7 +394,6 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
mEmptyView.hide();
mSectionLayout.setVisibility(View.VISIBLE);
initLoad = true;
}
......@@ -465,7 +488,6 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
dialogBuilder.setTitle(title);
dialogBuilder.setPlaceholder(placeholder);
dialogBuilder.setInputType(InputType.TYPE_CLASS_NUMBER);
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> {
dialog.dismiss();
CharSequence text = dialogBuilder.getEditText().getText();
......@@ -475,6 +497,7 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
showMessage("請輸入服務費比例");
}
});
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
dialogBuilder.create(R.style.MyDialogTheme2).show();
}
......@@ -608,9 +631,18 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
if (isRadioEdit) {
tv_add_table.setVisibility(View.GONE);
ll_bottom_operat.setVisibility(View.VISIBLE);
RelativeLayout.LayoutParams layoutParam = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
layoutParam.setMargins(0, 0, 0, ArmsUtils.getDimens(mActivity,R.dimen.dp_48));
fl_section_layout.setLayoutParams(layoutParam);
} else {
tv_add_table.setVisibility(View.VISIBLE);
ll_bottom_operat.setVisibility(View.GONE);
RelativeLayout.LayoutParams layoutParam = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
layoutParam.setMargins(0, 0, 0, 0);
fl_section_layout.setLayoutParams(layoutParam);
}
}
......
......@@ -12,7 +12,7 @@
android:background="@color/theme_background_color">
<FrameLayout
android:id="@+id/frameLayout"
android:id="@+id/fl_section_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
......
......@@ -286,6 +286,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
mCurrentOrderDetailBean = OrderDetail.comboTransOrderDetail(datasBean, id, mCurrentOrderDetailBean.getProductId(), 1, OrderDetail.COMBO_PROP, RvMealClicked);
//添加子项
addComboItem(mCurrentOrderDetailBean);
setComboItemMaxQty(datasBean);
//更新賬單金額
updateOrderMoneyItem();
}
......@@ -302,6 +304,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
// if (orderBean != null && !foodConditionFilter(orderBean)) {
// return;
// }
if (!modifierConditionFilter(datasBean)) {
return;
}
if (cutOutModifier(datasBean) == -100) {
//已送單數量已等於最大數,不能繼續添加
return;
......@@ -314,6 +319,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
// loadModifierData(mCurrentOrderDetailBean.getProductId());
// } else {
addModifierItem(datasBean);
setModifierMaxQty(datasBean);
//更新賬單金額
updateOrderMoneyItem();
// }
......@@ -896,7 +902,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
QMUIDialog.MessageDialogBuilder dialogBuilder = new QMUIDialog.MessageDialogBuilder(IActivity);
dialogBuilder.setTitleIcon(R.drawable.qmui_icon_dialog_doubt);
dialogBuilder.setMessage("是否確認取消該食品?" + "\n取消原因 [" + reason + "]");
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> {
dialog.dismiss();
if (mCancelFoodDialog != null) {
......@@ -905,6 +910,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
deleteFood(maxNumber, deleteNumber, reasonId);
});
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
dialogBuilder.create(R.style.MyDialogTheme2).show();
}
......@@ -1061,6 +1067,56 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
updateOrderFoodNumber();
}
/**
* 更新細項組沽清數據
*/
public void updateComboItemSoldoutFoodList_Full() {
clearParentModifierSoldoutCtrData();
// addStopSoldoutCtrItem(mSoldoutCtrList);
// setSoldoutCtrItem(mSoldoutCtrList);
mComboAdapter.notifyDataSetChanged();
}
private void clearParentModifierSoldoutCtrData() {
for (ComboItem comboItem : mFoodComboList) {
comboItem.setMaxNumber("");
comboItem.setCurrentMaxNumber("");
}
}
// private void addStopSoldoutCtrItem(List<SoldoutCtrFood> soldoutCtrFoods) {
// for (ComboItem comboItem : mFoodComboList) {
// if (comboItem.getInvisible() == 2) {
// SoldoutCtrFood soldoutCtrFood = new SoldoutCtrFood();
// soldoutCtrFood.setType((byte) MODIFIER_TYPE);
// soldoutCtrFood.setStop(true);
// soldoutCtrFood.setFoodName(comboItem.getName());
// soldoutCtrFood.setFoodName1(comboItem.getName1());
// soldoutCtrFood.setFoodName2(comboItem.getName2());
// if (!isContainsModifier(soldoutCtrFoods, modifier)) {
// soldoutCtrFoods.add(soldoutCtrFood);
// }
// }
// }
// for (Modifier modifier : mFineItemTwoList) {
// if (modifier.getInvisible() == 2) {
// SoldoutCtrFood soldoutCtrFood = new SoldoutCtrFood();
// soldoutCtrFood.setType((byte) MODIFIER_TYPE);
// soldoutCtrFood.setStop(true);
// soldoutCtrFood.setFoodName(modifier.getModifierName());
// soldoutCtrFood.setFoodName1(modifier.getModifierName1());
// soldoutCtrFood.setFoodName2(modifier.getModifierName2());
// soldoutCtrFood.setModifierId(modifier.getMid());
// if (!isContainsModifier(soldoutCtrFoods, modifier)) {
// soldoutCtrFoods.add(soldoutCtrFood);
// }
// }
// }
// }
private void setComboItemSoldoutCtrData(List<ComboItem> comboItemList, List<SoldoutCtrFood> soldoutCtrFoods) {
addFoodSoldoutCtrItem(soldoutCtrFoods);
for (SoldoutCtrFood scc : soldoutCtrFoods) {
......@@ -1227,6 +1283,56 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
return true;
}
public void setComboItemMaxQty(ComboItem comboItem) {
int currentSelectNumber = 0;
for (int i = 0; i < getNewOrderFoodLists().size(); i++) {
OrderDetail orderFood = getNewOrderFoodLists().get(i);
if (orderFood.getProductId() == comboItem.getFid()) {
currentSelectNumber += orderFood.getNumber();
}
}
String User_Qty = comboItem.getMaxNumber();
if (!User_Qty.equals("") && !User_Qty.equals("售罄") && !User_Qty.equals("暫停")) {
int maxQty = Integer.parseInt(User_Qty);
if (maxQty > 0) {
int Currrent_OR_Qty = maxQty - currentSelectNumber;
if (Currrent_OR_Qty < 1) {
comboItem.setCurrentMaxNumber("售罄");
} else {
comboItem.setCurrentMaxNumber(Currrent_OR_Qty + "");
}
}
}
mComboAdapter.notifyDataSetChanged();
}
public void setModifierMaxQty(Modifier modfier) {
int currentSelectNumber = 0;
for (int i = 0; i < getNewOrderFoodLists().size(); i++) {
OrderDetail orderFood = getNewOrderFoodLists().get(i);
if (orderFood.getMid() == modfier.getMid()) {
currentSelectNumber += orderFood.getNumber();
}
}
String User_Qty = modfier.getMaxNumber();
if (!User_Qty.equals("") && !User_Qty.equals("售罄") && !User_Qty.equals("暫停")) {
int maxQty = Integer.parseInt(User_Qty);
if (maxQty > 0) {
int Currrent_OR_Qty = maxQty - currentSelectNumber;
if (Currrent_OR_Qty < 1) {
modfier.setCurrentMaxNumber("售罄");
} else {
modfier.setCurrentMaxNumber(Currrent_OR_Qty + "");
}
}
}
mModifierAdapter.notifyDataSetChanged();
}
/**
* 添加食品条件过滤
* 1:售罄、最大选择数
......@@ -1285,6 +1391,24 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
return true;
}
private boolean modifierConditionFilter(Modifier modifier) {
long Invisible = modifier.getInvisible();
if (Invisible == 2) {
String msg = "[" + modifier.getName() + "]" + LanguageUtils.get_language_system(IActivity, "Comm.pause", "已暫停");
CommonTipDialog.showSurpisedDialog(IActivity, msg, null, null, null, null, null);
return false;
}
String User_Qty = modifier.getCurrentMaxNumber();
if (!TextUtils.isEmpty(User_Qty)) {
if (User_Qty.equals("售罄") || User_Qty.equals("暫停")) {
String msg = "[" + modifier.getName() + "]" + User_Qty;
CommonTipDialog.showSurpisedDialog(IActivity, msg, null, null, null, null, null);
return false;
}
}
return true;
}
public void updateOrderFoodNumber() {
setFoodBtnNumber();
setFoodGroupBtnNumber(IActivity.getFoodGroupGridViewAdapter(), mFoodGroupList);
......
......@@ -693,15 +693,6 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
break;
}
dialogBuilder.addAction("取消", new QMUIDialogAction.ActionListener() {
@Override
public void onClick(QMUIDialog dialog, int index) {
//重置之前選的餐檯數據
initTableParameter();
mRootView.setOperatTitle();
dialog.dismiss();
}
});
boolean finalIsMergeTable = isMergeTable;
dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, new QMUIDialogAction.ActionListener() {
@Override
......@@ -726,6 +717,15 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
}
}
});
dialogBuilder.addAction("取消", new QMUIDialogAction.ActionListener() {
@Override
public void onClick(QMUIDialog dialog, int index) {
//重置之前選的餐檯數據
initTableParameter();
mRootView.setOperatTitle();
dialog.dismiss();
}
});
dialogBuilder.create(R.style.MyDialogTheme2).show();
}
......
......@@ -142,11 +142,11 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
dialogBuilder.setTitle("溫馨提示");
dialogBuilder.setTitleIcon(R.drawable.qmui_icon_dialog_doubt);
dialogBuilder.setMessage("是否取消訂單?");
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> {
dialog.dismiss();
IActivity.cancelOrder(orderId, mRootView.getStatus());
});
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
dialogBuilder.create(R.style.MyDialogTheme2).show();
}
......
......@@ -444,17 +444,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
dialogBuilder.setTitle(" order ");
dialogBuilder.setMessage(msg);
dialogBuilder.setCancelable(false);
if (btnCancelInfo.length() == 0)
btnCancelInfo = " cancel ";
dialogBuilder.addAction(btnCancelInfo, new QMUIDialogAction.ActionListener() {
@Override
public void onClick(QMUIDialog dialog, int index) {
dialog.dismiss();
recordOperat(true);
}
});
if (!TextUtils.isEmpty(btnOkInfo)) {
dialogBuilder.addAction(0, btnOkInfo, QMUIDialogAction.ACTION_PROP_NEGATIVE, new QMUIDialogAction.ActionListener() {
......@@ -466,6 +455,17 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
}
});
}
if (btnCancelInfo.length() == 0)
btnCancelInfo = " cancel ";
dialogBuilder.addAction(btnCancelInfo, new QMUIDialogAction.ActionListener() {
@Override
public void onClick(QMUIDialog dialog, int index) {
dialog.dismiss();
recordOperat(true);
}
});
dialogBuilder.create(R.style.QMUI_Dialog).show();
}
......
......@@ -479,7 +479,6 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent
QMUIDialog.MessageDialogBuilder dialogBuilder = new QMUIDialog.MessageDialogBuilder(context);
dialogBuilder.setTitleIcon(com.gingersoft.gsa.cloud.base.R.drawable.qmui_icon_dialog_doubt);
dialogBuilder.setMessage(msg);
dialogBuilder.addAction(com.gingersoft.gsa.cloud.base.R.drawable.shape_3c_cancel_btn_bg, "取消", (dialog, index) -> dialog.dismiss());
dialogBuilder.addAction(com.gingersoft.gsa.cloud.base.R.drawable.shape_red_five_radius_bg, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> {
dialog.dismiss();
String[] foodIds = getStopSoldoutCtrFoodIds(selectSoldoutCtrFoodList);
......@@ -492,6 +491,7 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent
mPresenter.batchRestoreSoldoutCtrl(ids);
}
});
dialogBuilder.addAction(com.gingersoft.gsa.cloud.base.R.drawable.shape_3c_cancel_btn_bg, "取消", (dialog, index) -> dialog.dismiss());
dialogBuilder.create(com.gingersoft.gsa.cloud.base.R.style.MyDialogTheme2).show();
}
......
......@@ -427,11 +427,11 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
dialogBuilder.setTitle("溫馨提示");
dialogBuilder.setTitleIcon(R.drawable.qmui_icon_dialog_doubt);
dialogBuilder.setMessage("是否取消訂單?");
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> {
dialog.dismiss();
mPresenter.cancelOrder(mOrderDetailItem.getId());
});
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
dialogBuilder.create(R.style.MyDialogTheme2).show();
}
......
......@@ -172,14 +172,24 @@ public class ComboAdapter extends DefaultAdapter<ComboItem> {
// } else {
// tv_soldout.setVisibility(View.INVISIBLE);
// }
String qty = datasBean.getMaxNumber();
if (qty.equals("")) {
// String qty = datasBean.getMaxNumber();
// if (qty.equals("")) {
// tv_soldout.setVisibility(View.INVISIBLE);
// } else {
// tv_soldout.setVisibility(View.VISIBLE);
// tv_soldout.setText(datasBean.getMaxNumber());
// }
String qty = datasBean.getCurrentMaxNumber();
if (TextUtils.isEmpty(qty)) {
tv_soldout.setVisibility(View.INVISIBLE);
} else {
tv_soldout.setVisibility(View.VISIBLE);
tv_soldout.setText(datasBean.getMaxNumber());
if (qty.equalsIgnoreCase("售罄")) {
iv_qty_sold.setVisibility(View.VISIBLE);
} else {
tv_soldout.setVisibility(View.VISIBLE);
tv_soldout.setText(qty);
}
}
tv_soldout.setMaxHeight(OrderNumberChildShowSize);
tv_soldout.setMinHeight(OrderNumberChildShowSize);
tv_soldout.setTextSize(OrderNumberChildFontSize);
......
......@@ -11,6 +11,7 @@ import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.Language;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
......@@ -440,6 +441,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
select_position -= 1;
}
}
setIndex();
setSelectPosition(select_position);
setMyOrderManageSelectPosition();
......@@ -602,6 +604,8 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
}
public void setMyOrderManageSelectPosition() {
MyOrderManage.getInstance().setSelect_Full_start_position(select_full_start_position);
MyOrderManage.getInstance().setSelect_Full_end_position(select_full_end_position);
MyOrderManage.getInstance().setSelstartpostion(select_start_position);
MyOrderManage.getInstance().setSelendpostion(select_end_position);
MyOrderManage.getInstance().setSelmainendpostion(mainEndPos);
......@@ -956,6 +960,8 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
mOnItemClickListener.onCurrentOrderDetail(mInfos.get(select_position), select_position);
}
notifyDataSetChanged();
setMyOrderManageSelectPosition();
}
/**
......
......@@ -50,7 +50,6 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null"
android:fadeScrollbars="false"
app:spanCount="1"
app:layoutManager="com.gingersoft.gsa.cloud.ui.recylcler.RecyclerViewNoBugLinearLayoutManager"/>
</LinearLayout>
......
......@@ -104,23 +104,23 @@ public class UpdateAppUtils {
*/
public void update() {
switch (updateBean.getCheckBy()) {
case CHECK_BY_VERSION_CODE:
if (updateBean.getServerVersionCode() > updateBean.getLocalVersionCode()) {
// switch (updateBean.getCheckBy()) {
// case CHECK_BY_VERSION_CODE:
// if (updateBean.getServerVersionCode() > updateBean.getLocalVersionCode()) {
toUpdate();
} else {
Log.i(TAG, "当前版本是最新版本" + updateBean.getServerVersionCode() + "/" + updateBean.getServerVersionName());
}
break;
case CHECK_BY_VERSION_NAME:
if (!updateBean.getServerVersionName().equals(updateBean.getLocalVersionName())) {
toUpdate();
} else {
Log.i(TAG, "当前版本是最新版本" + updateBean.getServerVersionCode() + "/" + updateBean.getServerVersionName());
}
break;
}
// } else {
// Log.i(TAG, "当前版本是最新版本" + updateBean.getServerVersionCode() + "/" + updateBean.getServerVersionName());
// }
// break;
//
// case CHECK_BY_VERSION_NAME:
// if (!updateBean.getServerVersionName().equals(updateBean.getLocalVersionName())) {
// toUpdate();
// } else {
// Log.i(TAG, "当前版本是最新版本" + updateBean.getServerVersionCode() + "/" + updateBean.getServerVersionName());
// }
// break;
// }
}
/**
......
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