Commit 1e1dee0d by 宁斌

1、新增沽清管理

2、新增賬單小數
parent 28b1c416
...@@ -60,7 +60,7 @@ public abstract class BaseFragment<P extends IPresenter> extends Fragment implem ...@@ -60,7 +60,7 @@ public abstract class BaseFragment<P extends IPresenter> extends Fragment implem
@Override @Override
public synchronized Cache<String, Object> provideCache() { public synchronized Cache<String, Object> provideCache() {
if (mCache == null) { if (mCache == null) {
mCache = ArmsUtils.obtainAppComponentFromContext(getActivity()).cacheFactory().build(CacheType.FRAGMENT_CACHE); mCache = ArmsUtils.obtainAppComponentFromContext(mContext).cacheFactory().build(CacheType.FRAGMENT_CACHE);
} }
return mCache; return mCache;
} }
...@@ -74,10 +74,15 @@ public abstract class BaseFragment<P extends IPresenter> extends Fragment implem ...@@ -74,10 +74,15 @@ public abstract class BaseFragment<P extends IPresenter> extends Fragment implem
private View view; private View view;
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
mContext = getActivity();
}
@Nullable @Nullable
@Override @Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
mContext = getActivity();
if (view != null) { if (view != null) {
ViewGroup viewGroup = (ViewGroup) view.getRootView(); ViewGroup viewGroup = (ViewGroup) view.getRootView();
if (viewGroup != null) { if (viewGroup != null) {
......
...@@ -10,5 +10,11 @@ ...@@ -10,5 +10,11 @@
<meta-data <meta-data
android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration" android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
android:value="ConfigModule" /> android:value="ConfigModule" />
<meta-data
android:name="design_width_in_dp"
android:value="360"/>
<meta-data
android:name="design_height_in_dp"
android:value="640"/>
</application> </application>
</manifest> </manifest>
...@@ -28,10 +28,10 @@ ...@@ -28,10 +28,10 @@
<meta-data <meta-data
android:name="design_width_in_dp" android:name="design_width_in_dp"
android:value="360" /> android:value="360"/>
<meta-data <meta-data
android:name="design_height_in_dp" android:name="design_height_in_dp"
android:value="540" /> android:value="640"/>
</application> </application>
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH" />
......
...@@ -14,5 +14,12 @@ ...@@ -14,5 +14,12 @@
<meta-data <meta-data
android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration" android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
android:value="ConfigModule" /> android:value="ConfigModule" />
<meta-data
android:name="design_width_in_dp"
android:value="360"/>
<meta-data
android:name="design_height_in_dp"
android:value="640"/>
</application> </application>
</manifest> </manifest>
...@@ -31,10 +31,10 @@ ...@@ -31,10 +31,10 @@
android:value="ConfigModule" /> android:value="ConfigModule" />
<meta-data <meta-data
android:name="design_width_in_dp" android:name="design_width_in_dp"
android:value="360" /> android:value="360"/>
<meta-data <meta-data
android:name="design_height_in_dp" android:name="design_height_in_dp"
android:value="540" /> android:value="640"/>
</application> </application>
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WAKE_LOCK" />
......
...@@ -6,11 +6,40 @@ import com.billy.cc.core.component.CC; ...@@ -6,11 +6,40 @@ import com.billy.cc.core.component.CC;
import com.billy.cc.core.component.CCResult; import com.billy.cc.core.component.CCResult;
import com.billy.cc.core.component.CCUtil; import com.billy.cc.core.component.CCUtil;
import com.billy.cc.core.component.IComponent; import com.billy.cc.core.component.IComponent;
import com.gingersoft.gsa.cloud.function.FModule;
import com.gingersoft.gsa.cloud.main.mvp.ui.activity.MainActivity; import com.gingersoft.gsa.cloud.main.mvp.ui.activity.MainActivity;
import com.gingersoft.gsa.cloud.main.mvp.ui.activity.NewMainActivity; import com.gingersoft.gsa.cloud.main.mvp.ui.activity.NewMainActivity;
public class ComponentMain implements IComponent { public class ComponentMain implements IComponent {
public static final class Function{
/**首頁- 點餐*/
public static final FModule[] order = {
new FModule("main/order", 0,0) ,
new FModule("main/order/table", R.drawable.ic_dining_table_mode,R.drawable.ic_dining_table_mode_close) ,
new FModule("main/order/delivery", R.drawable.ic_delivery_mode,R.drawable.ic_delivery_mode_close) ,
new FModule("main/order/takeaway", R.drawable.ic_outsourcing_model,R.drawable.ic_outsourcing_model_close),
new FModule("main/order/preorder", R.drawable.ic_pre_order_mode,R.drawable.ic_pre_order_mode_close),
};
/**首頁- 管理*/
public static final FModule [] manager = {
new FModule("main/manager", 0,0) ,
new FModule("main/manager/bill", R.drawable.ic_meals_menu_management, R.drawable.ic_meals_menu_management_close) ,
new FModule("main/manager/table", R.drawable.ic_dining_table_management,R.drawable.ic_dining_table_management_close) ,
new FModule("main/manager/printer",R.drawable.ic_print_management,R.drawable.ic_print_management_close),
new FModule("main/manager/pay", R.drawable.ic_pay_management,R.drawable.ic_pay_management_close),
new FModule("main/manager/discout",R.drawable.ic_discount_management,R.drawable.ic_discount_management_close),
new FModule("main/manager/soldoutCtr",R.drawable.ic_discount_management,R.drawable.ic_discount_management_close)
};
/**首頁- 員工管理*/
public static final FModule [] employee = {
new FModule("main/employee", 0,0) ,
new FModule("main/employee/management",R.drawable.ic_staff_management,R.drawable.ic_staff_management_close) ,
new FModule("main/employee/delivery", R.drawable.ic_authority_management,R.drawable.ic_authority_management_close) ,
new FModule("main/employee/operationRecord", R.drawable.ic_operation_record,R.drawable.ic_operation_record_close)
};
}
@Override @Override
public String getName() { public String getName() {
......
...@@ -24,7 +24,10 @@ import com.gingersoft.gsa.cloud.base.utils.JsonUtils; ...@@ -24,7 +24,10 @@ import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.base.utils.RestaurantInfoUtils; import com.gingersoft.gsa.cloud.base.utils.RestaurantInfoUtils;
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils; import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils;
import com.gingersoft.gsa.cloud.database.bean.Function; import com.gingersoft.gsa.cloud.database.bean.Function;
import com.gingersoft.gsa.cloud.database.utils.FunctionDaoUtils;
import com.gingersoft.gsa.cloud.function.FunctionManager;
import com.gingersoft.gsa.cloud.main.BuildConfig; import com.gingersoft.gsa.cloud.main.BuildConfig;
import com.gingersoft.gsa.cloud.main.ComponentMain;
import com.gingersoft.gsa.cloud.main.R; import com.gingersoft.gsa.cloud.main.R;
import com.gingersoft.gsa.cloud.main.R2; import com.gingersoft.gsa.cloud.main.R2;
import com.gingersoft.gsa.cloud.main.di.component.DaggerNewMainComponent; import com.gingersoft.gsa.cloud.main.di.component.DaggerNewMainComponent;
...@@ -201,12 +204,15 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N ...@@ -201,12 +204,15 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
// return; // return;
// } // }
List<Function> functions = new ArrayList<>(); List<Function> functions = new ArrayList<>();
// functions.addAll(FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.Function.class, ComponentMain.Function.order,"order"));
functions.add(new Function((long) 150, 0, 5, "點餐", 0, 0)); 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_close, 1)); functions.add(new Function((long) 139, 150, 5, "外送模式", R.drawable.ic_delivery_mode_close, 0));
functions.add(new Function((long) 140, 150, 5, "外賣模式", R.drawable.ic_outsourcing_model_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) 141, 150, 5, "預點餐模式", R.drawable.ic_pre_order_mode_close, 1));
// functions.addAll(FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.Function.class, ComponentMain.Function.manager,"manager"));
functions.add(new Function((long) 151, 0, 5, "管理", 0, 0)); functions.add(new Function((long) 151, 0, 5, "管理", 0, 0));
// functions.add(new Function((long) 142, 151, 5, "餐牌管理", R.drawable.ic_meals_menu_management)); // functions.add(new Function((long) 142, 151, 5, "餐牌管理", R.drawable.ic_meals_menu_management));
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));
...@@ -217,10 +223,12 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N ...@@ -217,10 +223,12 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
functions.add(new Function((long) 146, 151, 5, "折扣管理", R.drawable.ic_discount_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_meals_menu_management, 0)); functions.add(new Function((long) 147, 151, 5, "沽清管理", R.drawable.ic_meals_menu_management, 0));
// functions.addAll(FunctionManager.getDefault().getFunctionByResModule(this, ComponentMain.Function.class, ComponentMain.Function.employee,"employee"));
functions.add(new Function((long) 152, 0, 5, "員工", 0, 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)); functions.add(new Function((long) 147, 152, 5, "員工管理", R.drawable.ic_staff_management_close, 1));
functions.add(new Function((long) 148, 152, 5, "權限管理", R.drawable.ic_authority_management_close, 1)); functions.add(new Function((long) 148, 152, 5, "權限管理", R.drawable.ic_authority_management_close, 1));
functions.add(new Function((long) 149, 152, 5, "操作記錄", R.drawable.ic_operation_record_close, 1)); functions.add(new Function((long) 149, 152, 5, "操作記錄", R.drawable.ic_operation_record_close, 1));
//將功能列表數據分組 //將功能列表數據分組
SparseArray<String> parents = new SparseArray<>(); SparseArray<String> parents = new SparseArray<>();
SparseArray<List<Function>> funMap = new SparseArray<>(); SparseArray<List<Function>> funMap = new SparseArray<>();
......
...@@ -43,7 +43,7 @@ android { ...@@ -43,7 +43,7 @@ android {
/** /**
* 版本号 * 版本号
*/ */
schemaVersion 4 schemaVersion 5
/** /**
* greendao输出dao的数据库操作实体类文件夹(相对路径 包名+自定义路径名称,包将创建于包名的直接路径下) * greendao输出dao的数据库操作实体类文件夹(相对路径 包名+自定义路径名称,包将创建于包名的直接路径下)
*/ */
...@@ -73,6 +73,7 @@ dependencies { ...@@ -73,6 +73,7 @@ dependencies {
implementation rootProject.ext.dependencies["fastjson"] implementation rootProject.ext.dependencies["fastjson"]
implementation rootProject.ext.dependencies["zxing"] implementation rootProject.ext.dependencies["zxing"]
implementation rootProject.ext.dependencies["progressmanager"] implementation rootProject.ext.dependencies["progressmanager"]
implementation rootProject.ext.dependencies["autosize"]
// test // test
testImplementation 'junit:junit:4.12' testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0' androidTestImplementation 'androidx.test:runner:1.2.0'
......
...@@ -25,6 +25,7 @@ import com.gingersoft.gsa.cloud.constans.HttpsConstans; ...@@ -25,6 +25,7 @@ import com.gingersoft.gsa.cloud.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.constans.UserConstans; import com.gingersoft.gsa.cloud.constans.UserConstans;
import com.gingersoft.gsa.cloud.base.utils.crash.AppCrashHandler; import com.gingersoft.gsa.cloud.base.utils.crash.AppCrashHandler;
import com.gingersoft.gsa.cloud.base.utils.file.FileUtils; import com.gingersoft.gsa.cloud.base.utils.file.FileUtils;
import com.gingersoft.gsa.cloud.base.utils.log.LogUtil;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils; import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
import com.gingersoft.gsa.cloud.base.utils.xlog.MyBackupStrategy; import com.gingersoft.gsa.cloud.base.utils.xlog.MyBackupStrategy;
import com.gingersoft.gsa.cloud.database.DaoManager; import com.gingersoft.gsa.cloud.database.DaoManager;
...@@ -40,6 +41,11 @@ import com.scwang.smartrefresh.layout.api.RefreshLayout; ...@@ -40,6 +41,11 @@ import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.footer.ClassicsFooter; import com.scwang.smartrefresh.layout.footer.ClassicsFooter;
import com.scwang.smartrefresh.layout.header.ClassicsHeader; import com.scwang.smartrefresh.layout.header.ClassicsHeader;
import java.util.Locale;
import me.jessyan.autosize.AutoSize;
import me.jessyan.autosize.AutoSizeConfig;
import me.jessyan.autosize.onAdaptListener;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager; import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
/** /**
...@@ -97,12 +103,16 @@ public class GsaCloudApplication extends BaseApplication { ...@@ -97,12 +103,16 @@ public class GsaCloudApplication extends BaseApplication {
CC.enableRemoteCC(true); CC.enableRemoteCC(true);
//初始化上下拉刷新 //初始化上下拉刷新
initRefresh(); initRefresh();
//初始化日誌管理庫 //初始化今日頭條適配方案
initXLog(); initAutoSize();
//初始化數據庫框架 //初始化數據庫框架
initGreenDao(); initGreenDao();
//初始化打印相關 //初始化打印相關
initPrint(); initPrint();
//初始化日誌管理庫
initXLog();
initDomainUrl();
//初始化crash記錄 //初始化crash記錄
AppCrashHandler.getInstance().init(this); AppCrashHandler.getInstance().init(this);
...@@ -117,6 +127,7 @@ public class GsaCloudApplication extends BaseApplication { ...@@ -117,6 +127,7 @@ public class GsaCloudApplication extends BaseApplication {
this.mCurrentActivity = mCurrentActivity; this.mCurrentActivity = mCurrentActivity;
} }
private void initRefresh() { private void initRefresh() {
ClassicsHeader.REFRESH_HEADER_PULLING = getString(R.string.srl_header_pulling);//"下拉可以刷新"; ClassicsHeader.REFRESH_HEADER_PULLING = getString(R.string.srl_header_pulling);//"下拉可以刷新";
ClassicsHeader.REFRESH_HEADER_REFRESHING = getString(R.string.srl_header_refreshing);//"正在刷新..."; ClassicsHeader.REFRESH_HEADER_REFRESHING = getString(R.string.srl_header_refreshing);//"正在刷新...";
...@@ -137,6 +148,19 @@ public class GsaCloudApplication extends BaseApplication { ...@@ -137,6 +148,19 @@ public class GsaCloudApplication extends BaseApplication {
ClassicsFooter.REFRESH_FOOTER_NOTHING = getString(R.string.srl_footer_nothing);//"全部加载完成"; ClassicsFooter.REFRESH_FOOTER_NOTHING = getString(R.string.srl_footer_nothing);//"全部加载完成";
} }
private void initDomainUrl() {
//需要單獨配置域名URL的,在接口上添加@Headers({"Domain-Name: settlement_report_server"}),不添加則是使用默認域名
setGlobalDomain();
//清機報表請求地址
RetrofitUrlManager.getInstance().putDomain("settlement_report_server", HttpsConstans.ROOT_SETTLEMENT_REPORT_SERVER_ADDRESS_FORMAL);
//gsa報表請求地址
RetrofitUrlManager.getInstance().putDomain("gsa_report", HttpsConstans.REPORT_SERVER_ADDRESS);
//微信報表請求地址
RetrofitUrlManager.getInstance().putDomain("wechat_report", HttpsConstans.WECHAR_REPORT_SERVER_ADDRESS);
//沽清控制請求地址
RetrofitUrlManager.getInstance().putDomain("soldoutctrl", HttpsConstans._SERVER_ADDRESS);
}
private void initPrint() { private void initPrint() {
if (GsaCloudApplication.mV2.contains(Build.MODEL)) { if (GsaCloudApplication.mV2.contains(Build.MODEL)) {
//商米打印 //商米打印
...@@ -152,14 +176,6 @@ public class GsaCloudApplication extends BaseApplication { ...@@ -152,14 +176,6 @@ public class GsaCloudApplication extends BaseApplication {
//如果當前機型不是上面兩種,那麼設置默認打印為ip打印 //如果當前機型不是上面兩種,那麼設置默認打印為ip打印
SPUtils.put(this, Constans.DEFAULT_PRINT_METHOD, Constans.IP_PRINT); SPUtils.put(this, Constans.DEFAULT_PRINT_METHOD, Constans.IP_PRINT);
} }
//需要單獨配置域名URL的,在接口上添加@Headers({"Domain-Name: settlement_report_server"}),不添加則是使用默認域名
setGlobalDomain();
//清機報表請求地址
RetrofitUrlManager.getInstance().putDomain("settlement_report_server", HttpsConstans.ROOT_SETTLEMENT_REPORT_SERVER_ADDRESS_FORMAL);
//gsa報表請求地址
RetrofitUrlManager.getInstance().putDomain("gsa_report", HttpsConstans.REPORT_SERVER_ADDRESS);
//微信報表請求地址
RetrofitUrlManager.getInstance().putDomain("wechat_report", HttpsConstans.WECHAR_REPORT_SERVER_ADDRESS);
} }
public static void setGlobalDomain() { public static void setGlobalDomain() {
...@@ -192,6 +208,98 @@ public class GsaCloudApplication extends BaseApplication { ...@@ -192,6 +208,98 @@ public class GsaCloudApplication extends BaseApplication {
filePrinter); filePrinter);
} }
private void initAutoSize(){
//当 App 中出现多进程, 并且您需要适配所有的进程, 就需要在 App 初始化时调用 initCompatMultiProcess()
//在 Demo 中跳转的三方库中的 DefaultErrorActivity 就是在另外一个进程中, 所以要想适配这个 Activity 就需要调用 initCompatMultiProcess()
AutoSize.initCompatMultiProcess(this);
//如果在某些特殊情况下出现 InitProvider 未能正常实例化, 导致 AndroidAutoSize 未能完成初始化
//可以主动调用 AutoSize.checkAndInit(this) 方法, 完成 AndroidAutoSize 的初始化后即可正常使用
// AutoSize.checkAndInit(this);
// 如何控制 AndroidAutoSize 的初始化,让 AndroidAutoSize 在某些设备上不自动启动?https://github.com/JessYanCoding/AndroidAutoSize/issues/249
/**
* 以下是 AndroidAutoSize 可以自定义的参数, {@link AutoSizeConfig} 的每个方法的注释都写的很详细
* 使用前请一定记得跳进源码,查看方法的注释, 下面的注释只是简单描述!!!
*/
AutoSizeConfig.getInstance()
//是否让框架支持自定义 Fragment 的适配参数, 由于这个需求是比较少见的, 所以须要使用者手动开启
//如果没有这个需求建议不开启
.setCustomFragment(true)
//是否屏蔽系统字体大小对 AndroidAutoSize 的影响, 如果为 true, App 内的字体的大小将不会跟随系统设置中字体大小的改变
//如果为 false, 则会跟随系统设置中字体大小的改变, 默认为 false
// .setExcludeFontScale(true)
//区别于系统字体大小的放大比例, AndroidAutoSize 允许 APP 内部可以独立于系统字体大小之外,独自拥有全局调节 APP 字体大小的能力
//当然, 在 APP 内您必须使用 sp 来作为字体的单位, 否则此功能无效, 不设置或将此值设为 0 则取消此功能
// .setPrivateFontScale(0.8f)
//屏幕适配监听器
.setOnAdaptListener(new onAdaptListener() {
@Override
public void onAdaptBefore(Object target, Activity activity) {
//使用以下代码, 可以解决横竖屏切换时的屏幕适配问题
//使用以下代码, 可支持 Android 的分屏或缩放模式, 但前提是在分屏或缩放模式下当用户改变您 App 的窗口大小时
//系统会重绘当前的页面, 经测试在某些机型, 某些情况下系统不会重绘当前页面, ScreenUtils.getScreenSize(activity) 的参数一定要不要传 Application!!!
// AutoSizeConfig.getInstance().setScreenWidth(ScreenUtils.getScreenSize(activity)[0]);
// AutoSizeConfig.getInstance().setScreenHeight(ScreenUtils.getScreenSize(activity)[1]);
LogUtil.d(String.format(Locale.ENGLISH, "%s onAdaptBefore!", target.getClass().getName()));
}
@Override
public void onAdaptAfter(Object target, Activity activity) {
LogUtil.d(String.format(Locale.ENGLISH, "%s onAdaptAfter!", target.getClass().getName()));
}
});
//是否打印 AutoSize 的内部日志, 默认为 true, 如果您不想 AutoSize 打印日志, 则请设置为 false
// .setLog(false)
//是否使用设备的实际尺寸做适配, 默认为 false, 如果设置为 false, 在以屏幕高度为基准进行适配时
//AutoSize 会将屏幕总高度减去状态栏高度来做适配
//设置为 true 则使用设备的实际屏幕高度, 不会减去状态栏高度
//在全面屏或刘海屏幕设备中, 获取到的屏幕高度可能不包含状态栏高度, 所以在全面屏设备中不需要减去状态栏高度,所以可以 setUseDeviceSize(true)
// .setUseDeviceSize(true)
//是否全局按照宽度进行等比例适配, 默认为 true, 如果设置为 false, AutoSize 会全局按照高度进行适配
// .setBaseOnWidth(false)
//设置屏幕适配逻辑策略类, 一般不用设置, 使用框架默认的就好
// .setAutoAdaptStrategy(new AutoAdaptStrategy())
customAdaptForExternal();
}
/**
* 给外部的三方库 {@link Activity} 自定义适配参数, 因为三方库的 {@link Activity} 并不能通过实现
* {@link CustomAdapt} 接口的方式来提供自定义适配参数 (因为远程依赖改不了源码)
* 所以使用 {@link ExternalAdaptManager} 来替代实现接口的方式, 来提供自定义适配参数
*/
private void customAdaptForExternal() {
/**
* {@link ExternalAdaptManager} 是一个管理外部三方库的适配信息和状态的管理类, 详细介绍请看 {@link ExternalAdaptManager} 的类注释
*/
AutoSizeConfig.getInstance().getExternalAdaptManager();
//加入的 Activity 将会放弃屏幕适配, 一般用于三方库的 Activity, 详情请看方法注释
//如果不想放弃三方库页面的适配, 请用 addExternalAdaptInfoOfActivity 方法, 建议对三方库页面进行适配, 让自己的 App 更完美一点
// .addCancelAdaptOfActivity(DefaultErrorActivity.class)
//为指定的 Activity 提供自定义适配参数, AndroidAutoSize 将会按照提供的适配参数进行适配, 详情请看方法注释
//一般用于三方库的 Activity, 因为三方库的设计图尺寸可能和项目自身的设计图尺寸不一致, 所以要想完美适配三方库的页面
//就需要提供三方库的设计图尺寸, 以及适配的方向 (以宽为基准还是高为基准?)
//三方库页面的设计图尺寸可能无法获知, 所以如果想让三方库的适配效果达到最好, 只有靠不断的尝试
//由于 AndroidAutoSize 可以让布局在所有设备上都等比例缩放, 所以只要您在一个设备上测试出了一个最完美的设计图尺寸
//那这个三方库页面在其他设备上也会呈现出同样的适配效果, 等比例缩放, 所以也就完成了三方库页面的屏幕适配
//即使在不改三方库源码的情况下也可以完美适配三方库的页面, 这就是 AndroidAutoSize 的优势
//但前提是三方库页面的布局使用的是 dp 和 sp, 如果布局全部使用的 px, 那 AndroidAutoSize 也将无能为力
//经过测试 DefaultErrorActivity 的设计图宽度在 380dp - 400dp 显示效果都是比较舒服的
// .addExternalAdaptInfoOfActivity(DefaultErrorActivity.class, new ExternalAdaptInfo(true, 400));
}
private void initGreenDao() { private void initGreenDao() {
DaoManager mManager = DaoManager.getInstance(); DaoManager mManager = DaoManager.getInstance();
mManager.init(this); mManager.init(this);
......
...@@ -26,6 +26,7 @@ public class BillOrderMoney { ...@@ -26,6 +26,7 @@ public class BillOrderMoney {
private byte type = DISCOUNT_TYPE; private byte type = DISCOUNT_TYPE;
public static final byte DISCOUNT_TYPE = 1; public static final byte DISCOUNT_TYPE = 1;
public static final byte SERVERCHARGE_TYPE = 2; public static final byte SERVERCHARGE_TYPE = 2;
public static final byte ROUNDING_TYPE = 3;
private Discount discount; private Discount discount;
......
...@@ -33,7 +33,7 @@ public class CurrentAndroidSetting { ...@@ -33,7 +33,7 @@ public class CurrentAndroidSetting {
private int ModFontSize = 14; private int ModFontSize = 14;
private int BillListFontSize = 12; private int BillListFontSize = 12;
private int BillTotalFontSize = 12; private int BillTotalFontSize = 12;
private int FoodlListFontSize = 12; private int FoodlListFontSize = 18;
private int LayoutBillListHeight = 40; private int LayoutBillListHeight = 40;
private int LayoutQtyHeight = 40; private int LayoutQtyHeight = 40;
private int LayoutQuitHeight = 40; private int LayoutQuitHeight = 40;
......
...@@ -160,21 +160,21 @@ public class OrderDetail implements Serializable { ...@@ -160,21 +160,21 @@ public class OrderDetail implements Serializable {
*/ */
private long ablediscount; private long ablediscount;
/** /**
* 食品組 * 折扣實體
*/ */
private String ftName; private Discount discount;
/** /**
* 自定義組 * 折扣狀態#0:沒有折扣;1:折扣未送單;2:折扣已送單;
*/ */
private String majorName; private int discountStatus;
/** /**
* 折扣實體 * 食品組
*/ */
private Discount discount; private String ftName;
/** /**
* 折扣狀態#0:未送單;1:已送單; * 自定義組
*/ */
private int discountStatus; private String majorName;
/** /**
* 状态#0:正常;1:删除; * 状态#0:正常;1:删除;
*/ */
...@@ -629,7 +629,7 @@ public class OrderDetail implements Serializable { ...@@ -629,7 +629,7 @@ public class OrderDetail implements Serializable {
//累加折扣總額 //累加折扣總額
discountSourcePrice = MoneyUtil.sum(discountSourcePrice, orderDetail.getPrice()); discountSourcePrice = MoneyUtil.sum(discountSourcePrice, orderDetail.getPrice());
//食品折扣狀態為已送單 //食品折扣狀態為已送單
orderDetail.setDiscountStatus(1); orderDetail.setDiscountStatus(2);
//往下找 //往下找
int nextIndex = i + 1; int nextIndex = i + 1;
if (orderList.size() == nextIndex || orderList.get(nextIndex).getParentId() == 0) { if (orderList.size() == nextIndex || orderList.get(nextIndex).getParentId() == 0) {
...@@ -639,6 +639,8 @@ public class OrderDetail implements Serializable { ...@@ -639,6 +639,8 @@ public class OrderDetail implements Serializable {
orderDetailList.add(discountTransOrderDetail(discount, false, parentId, discountSourcePrice)); orderDetailList.add(discountTransOrderDetail(discount, false, parentId, discountSourcePrice));
} }
} }
}else {
orderDetail.setDiscountStatus(0);
} }
if (orderDetail.isIsfood()) { if (orderDetail.isIsfood()) {
...@@ -658,8 +660,7 @@ public class OrderDetail implements Serializable { ...@@ -658,8 +660,7 @@ public class OrderDetail implements Serializable {
return discount; return discount;
} }
public static int getItemType(OrderBean.OrderDetailsBean orderDetailsBean, OrderDetail public static int getItemType(OrderBean.OrderDetailsBean orderDetailsBean, OrderDetail parentOrderDetail) {
parentOrderDetail) {
if (orderDetailsBean != null) { if (orderDetailsBean != null) {
if (orderDetailsBean.getParentId() == 0) { if (orderDetailsBean.getParentId() == 0) {
return 1; return 1;
......
...@@ -55,7 +55,7 @@ public class CommonConfiguration { ...@@ -55,7 +55,7 @@ public class CommonConfiguration {
*/ */
public void saveModifierTopIdConfiguration(List<Modifier> datas) { public void saveModifierTopIdConfiguration(List<Modifier> datas) {
for (Modifier datasBean : datas) { for (Modifier datasBean : datas) {
if (datasBean.getMid() != null && datasBean.getTopId() != null && datasBean.getMid() != 0 && datasBean.getTopId() != 0) { if (datasBean.getTopId() != null && datasBean.getMid() != 0 && datasBean.getTopId() != 0) {
mModifierTopIdList.put(Integer.parseInt(datasBean.getMid() + ""), datasBean.getTopId()); mModifierTopIdList.put(Integer.parseInt(datasBean.getMid() + ""), datasBean.getTopId());
} }
} }
......
...@@ -15,7 +15,7 @@ import static java.math.BigDecimal.ROUND_HALF_UP; ...@@ -15,7 +15,7 @@ import static java.math.BigDecimal.ROUND_HALF_UP;
public class MoneyUtil { public class MoneyUtil {
// 總金額小數位 // 總金額小數位
public static int rounding, RoundingDecimal; public static int rounding = 0, RoundingDecimal = 1;
// (直接截取) : 食品 細項 折扣 會員折扣 合計 服務費 // (直接截取) : 食品 細項 折扣 會員折扣 合計 服務費
public static int ItemDecimals = 2; public static int ItemDecimals = 2;
...@@ -30,220 +30,117 @@ public class MoneyUtil { ...@@ -30,220 +30,117 @@ public class MoneyUtil {
return rMoney; return rMoney;
} }
public static double get_Count_money(double countmoney) { public static double getOrderRounding(double vprice) {
//计算并返回最后的符合规定的取值 int vNum = 0, x, y;
XLog.tag("MoneyUtil").d("计算账单小数前金额get_Count_money: " + countmoney); double xvPrice = vprice;
double Result = vprice;
//帐单小数
//Sys_AndroidSetting \Rounding 帳單小數算法 if (RoundingDecimal > 0) {
//例如: e.g vNum = (int) (Math.floor(vprice * (Math.pow(10, RoundingDecimal))) - Math.floor(vprice * (Math.pow(10, RoundingDecimal)) / 10) * 10);
//Rounding=0 0.1-0.9=0.0 / } else if (RoundingDecimal < 0) {
//Rounding=1 0.1-0.9=1.0 / x = (int) Math.floor(vprice * (Math.pow(10, RoundingDecimal)) * 10);
//Rounding=2 0.1-0.4=0.0 and 0.5-0.9=1.0 即 4 捨 5 入 y = (int) Math.floor(vprice * (Math.pow(10, RoundingDecimal)) * 10);
//Rounding=3 0.1-0.5=0.5 and 0.6-0.9=1.0 vNum = x - y;
}
//Sys_AndroidSetting \RoundingDecimal 整單的小數位
//例如:帳單總金額 13.456 // //帐单小数
//RoundingDecimal=1 小數後1個位進行四捨五入, 總金額結果= 13.00 // //Sys_AndroidSetting \Rounding 帳單小數算法
//RoundingDecimal=2 小數後2個位進行四捨五入, 總金額結果= 13.50 // //例如: e.g
// //Rounding=0 0.1-0.9=0.0 /
//12.25 RoundingDecimal=1 RoundingDecimal=2 RoundingDecimal=3 // //Rounding=1 0.1-0.9=1.0 /
//Rounding=0(0.1-0.9=0.0) 12.00 12.20 12.25 // //Rounding=2 0.1-0.4=0.0 and 0.5-0.9=1.0 即 4 捨 5 入
//Rounding=1(0.1-0.9=1.0) 13.00 12.30 12.25 // //Rounding=3 0.1-0.5=0.5 and 0.6-0.9=1.0
//Rounding=2(0.1-0.4=0.0 and 0.5-0.9=1.0) 12.00 12.30 12.25 //
//Rounding=3(0.1-0.5=0.0 and 0.6-0.9=1.0) 12.00 12.20 12.25 // //Sys_AndroidSetting \RoundingDecimal 整單的小數位
// //例如:帳單總金額 13.456
// //RoundingDecimal=1 小數後1個位進行四捨五入, 總金額結果= 13.00
double dMoney = 0.00; // //RoundingDecimal=2 小數後2個位進行四捨五入, 總金額結果= 13.50
//Locale.setDefault(Locale.GERMAN); //
// //12.25 RoundingDecimal=1 RoundingDecimal=2
// countmoney=round(countmoney, RoundingDecimal+1);//首先产生包含了正确的数值 // //Rounding=0(0.1-0.9=0.0) 12.00 12.20
DecimalFormat df = new DecimalFormat("#.000000000"); // //Rounding=1(0.1-0.9=1.0) 13.00 12.30
// //Rounding=2(0.1-0.4=0.0 and 0.5-0.9=1.0) 12.00 12.30
if (countmoney < 1) { // //Rounding=3(0.1-0.5=0.5 and 0.6-0.9=1.0) 12.50 12.25
countmoney = Math.round(countmoney);
}
String cm = df.format(countmoney);
String[] stringarray = cm.split("[.]");
String Int_v = stringarray[0]; //整数部分
String litt_v = stringarray[1];//小数部分
if (Int_v.length() == 0) {
return 0.00;
}
int endIndex = RoundingDecimal - 1;
if (litt_v.length() <= endIndex) {
return countmoney;
}
String midd = litt_v.substring(0, RoundingDecimal - 1);
String mid = litt_v.substring(RoundingDecimal - 1, RoundingDecimal);
switch (rounding) { switch (rounding) {
case 0: case 0:
//计算出countmoney的值
mid = "0";
mid = Int_v + "." + midd + mid;
dMoney = Double.parseDouble(mid);
break;
case 1://取出来的位置如果大于0,则需要在前面加1
if (!mid.equals("0")) {
if (RoundingDecimal == 1) { if (RoundingDecimal == 1) {
Int_v = String.valueOf(Integer.parseInt(Int_v) + 1); xvPrice = Math.floor(vprice);
mid = "0"; } else if (RoundingDecimal > 0) {
xvPrice = Math.floor(vprice * (Math.pow(10, RoundingDecimal - 1))) / (Math.pow(10, RoundingDecimal - 1));
} else { } else {
midd = String.valueOf(Integer.parseInt(midd) + 1); xvPrice = Math.floor(vprice * (Math.pow(10, RoundingDecimal))) / (Math.pow(10, RoundingDecimal));
mid = "0";
} }
}
mid = Int_v + "." + midd + mid;
dMoney = Double.parseDouble(mid);
break; break;
case 2: case 1:
if (!mid.equals("0")) {
if (Integer.parseInt(mid) > 4) {
if (RoundingDecimal == 1) { if (RoundingDecimal == 1) {
Int_v = String.valueOf(Integer.parseInt(Int_v) + 1); if (vNum > 0) {
mid = "0"; xvPrice = Math.floor(vprice) + 1;
} else { } else {
midd = String.valueOf(Integer.parseInt(midd) + 1); xvPrice = Math.floor(vprice);
mid = "0";
} }
} else { } else {
//小于4不进位 if (vNum > 0) {
mid = "0"; if (RoundingDecimal > 0) {
} xvPrice = (Math.floor(vprice * (Math.pow(10, RoundingDecimal - 1))) + 1) / (Math.pow(10, RoundingDecimal - 1));
}
mid = Int_v + "." + midd + mid;
dMoney = Double.parseDouble(mid);
break;
case 3:
if (!mid.equals("0")) {
if (Integer.parseInt(mid) > 5) {
if (RoundingDecimal == 1) {
Int_v = String.valueOf(Integer.parseInt(Int_v) + 1);
mid = "0";
} else { } else {
midd = String.valueOf(Integer.parseInt(midd) + 1); xvPrice = (Math.floor(vprice * (Math.pow(10, RoundingDecimal))) + 1) / (Math.pow(10, RoundingDecimal));
mid = "0";
} }
} else { } else {
//小于5不进位 xvPrice = Math.floor(vprice * (Math.pow(10, RoundingDecimal))) / (Math.pow(10, RoundingDecimal));
mid = "5";
} }
} }
mid = Int_v + "." + midd + mid;
dMoney = Double.parseDouble(mid);
break;
default:
dMoney = Double.parseDouble(new DecimalFormat("#.00").format(countmoney));
break; break;
} case 2:
XLog.tag("MoneyUtil").d("计算账单小数后金额get_Count_money: " + dMoney);
return dMoney;
}
public static double get_Count_money2(double countmoney) {
//计算并返回最后的符合规定的取值
XLog.tag("MoneyUtil").d("计算账单小数前金额get_Count_money: " + countmoney);
double dMoney = 0.00;
DecimalFormat df = new DecimalFormat("#.000000000");
if (countmoney < 1) {
countmoney = Math.round(countmoney);
}
String cm = df.format(countmoney);
String[] stringarray = cm.split("[.]");
String Int_v = stringarray[0]; //整数部分
String litt_v = stringarray[1];//小数部分
if (Int_v.length() == 0) {
return 0.00;
}
int endIndex = RoundingDecimal - 1;
if (litt_v.length() <= endIndex) {
return countmoney;
}
String midd = litt_v.substring(0, RoundingDecimal - 1);
String mid = litt_v.substring(RoundingDecimal - 1, RoundingDecimal);
switch (rounding) {
case 0:
//计算出countmoney的值
mid = "0";
mid = Int_v + "." + midd + mid;
dMoney = Double.parseDouble(mid);
break;
case 1://取出来的位置如果大于0,则需要在前面加1
if (!mid.equals("0")) {
if (RoundingDecimal == 1) { if (RoundingDecimal == 1) {
Int_v = String.valueOf(Integer.parseInt(Int_v) + 1); if (vNum > 4) {
mid = "0"; xvPrice = Math.floor(vprice) + 1;
} else { } else {
midd = String.valueOf(Integer.parseInt(midd) + 1); xvPrice = Math.floor(vprice);
mid = "0";
} }
}
mid = Int_v + "." + midd + mid;
dMoney = Double.parseDouble(mid);
break;
case 2:
if (!mid.equals("0")) {
if (Integer.parseInt(mid) > 4) {
if (RoundingDecimal == 1) {
Int_v = String.valueOf(Integer.parseInt(Int_v) + 1);
mid = "0";
} else { } else {
midd = String.valueOf(Integer.parseInt(midd) + 1); if (vNum > 4) {
mid = "0"; if (RoundingDecimal > 0) {
xvPrice = (Math.floor(vprice * (Math.pow(10, RoundingDecimal - 1))) + 1) / (Math.pow(10, RoundingDecimal - 1));
} else {
xvPrice = (Math.floor(vprice * (Math.pow(10, RoundingDecimal))) + 1) / (Math.pow(10, RoundingDecimal));
} }
} else { } else {
//小于4不进位 if (RoundingDecimal > 0) {
mid = "0"; xvPrice = (Math.floor(vprice * (Math.pow(10, RoundingDecimal - 1)))) / (Math.pow(10, RoundingDecimal - 1));
} else {
xvPrice = (Math.floor(vprice * (Math.pow(10, RoundingDecimal)))) / (Math.pow(10, RoundingDecimal));
}
} }
} }
mid = Int_v + "." + midd + mid;
dMoney = Double.parseDouble(mid);
break; break;
case 3: case 3:
if (!mid.equals("0")) { if (vNum > 5) {
if (Integer.parseInt(mid) > 5) {
if (RoundingDecimal == 1) { if (RoundingDecimal == 1) {
Int_v = String.valueOf(Integer.parseInt(Int_v) + 1); xvPrice = Math.floor(vprice) + 1;
mid = "0"; } else if (RoundingDecimal > 0) {
xvPrice = Math.floor(vprice * (Math.pow(10, (RoundingDecimal - 1))) + 1) / (Math.pow(10, RoundingDecimal - 1));
} else { } else {
midd = String.valueOf(Integer.parseInt(midd) + 1); xvPrice = Math.floor(vprice * (Math.pow(10, (RoundingDecimal))) + 1) / (Math.pow(10, RoundingDecimal));
mid = "0";
} }
} else { } else {
//小于5不进位 if (RoundingDecimal == 1) {
mid = "5"; if (vNum == 0) {
xvPrice = Math.floor(vprice);
} else {
xvPrice = (Math.floor(vprice) * 10 + 5) / 10;
}
} else if (RoundingDecimal > 0) {
xvPrice = (Math.floor(vprice * (Math.pow(10, RoundingDecimal - 1))) * 10 + 5) / (Math.pow(10, RoundingDecimal));
} else {
xvPrice = (Math.floor(vprice * (Math.pow(10, RoundingDecimal))) * 10 + 5) / (Math.pow(10, RoundingDecimal + 1));
} }
} }
mid = Int_v + "." + midd + mid;
dMoney = Double.parseDouble(mid);
break; break;
} }
Result = getDecimalMoney(xvPrice, 2);
XLog.tag("MoneyUtil").d("计算账单小数后金额get_Count_money: " + dMoney); return Result;
return dMoney;
} }
public static double getDecimalMoney(double money, int decimal) { public static double getDecimalMoney(double money, int decimal) {
......
...@@ -6,14 +6,14 @@ package com.gingersoft.gsa.cloud.constans; ...@@ -6,14 +6,14 @@ package com.gingersoft.gsa.cloud.constans;
public class HttpsConstans { public class HttpsConstans {
//默認為香港 //默認為香港
public static String ROOT_SERVER_ADDRESS_FORMAL = "http://a.ricepon.com:58201/ricepon-cloud-gsa/api/"; public static String ROOT_SERVER_ADDRESS_FORMAL = "http://a.ricepon.com:58201/ricepon-cloud-gsa/api/";
public static final String ROOT_SERVER_ADDRESS_FORMAL_SZ = "http://gingersoft.tpddns.cn:58201/ricepon-cloud-gsa/api/";// 深圳服务器 public static final String ROOT_SERVER_ADDRESS_FORMAL_SZ = "http://gingersoft.tpddns.cn:58201/ricepon-cloud-gsa/api/";//深圳服务器
public static final String ROOT_SERVER_ADDRESS_FORMAL_HK = "http://a.ricepon.com:58201/ricepon-cloud-gsa/api/";// 香港服务器 public static final String ROOT_SERVER_ADDRESS_FORMAL_HK = "http://a.ricepon.com:58201/ricepon-cloud-gsa/api/";//香港服务器
public static String ROOT_SERVER_YOU_CHANG_HK = "http://192.168.1.142:9012/api/"; //友常本地 public static String ROOT_SERVER_YOU_CHANG_HK = "http://192.168.1.142:9012/api/"; //友常本地
public static String ROOT_SERVER_ADDRESS_FORMAL2 = "http://gingersoft.tpddns.cn:53000/mock/49/ricepon-cloud-gsa/api/";//測試服務器
public static String ROOT_SETTLEMENT_REPORT_SERVER_ADDRESS_FORMAL = "http://a.ricepon.com:58201/";//清機接口地址 public static String ROOT_SETTLEMENT_REPORT_SERVER_ADDRESS_FORMAL = "http://a.ricepon.com:58201/";//清機接口地址
public static String REPORT_SERVER_ADDRESS = "http://a.ricepon.com:58201/ricepon-report/api/";//報表地址 public static String REPORT_SERVER_ADDRESS = "http://a.ricepon.com:58201/ricepon-report/api/";//報表地址
public static String WECHAR_REPORT_SERVER_ADDRESS = "http://a.ricepon.com:61177/member-web/api/";//微信公眾號報表地址:首頁曲線圖數據,支付分析報表數據 public static String WECHAR_REPORT_SERVER_ADDRESS = "http://a.ricepon.com:61177/member-web/api/";//微信公眾號報表地址:首頁曲線圖數據,支付分析報表數據
public static String _SERVER_ADDRESS = "http://a.ricepon.com:61177/member-web/api/";//報表地址
} }
...@@ -28,7 +28,7 @@ public interface MealConstant { ...@@ -28,7 +28,7 @@ public interface MealConstant {
String ADD_FOOD_MODIFIER = "add_food_modifier"; String ADD_FOOD_MODIFIER = "add_food_modifier";
String UPDATE_MODIFIER_MAX_QTY = "update_modifier_max_qty"; String SOLDOUT_MODIFIER = "soldout_modifier";
String EXIT_IS_PLU_MODE = "ExitIsPluMode"; String EXIT_IS_PLU_MODE = "ExitIsPluMode";
......
...@@ -68,6 +68,8 @@ public class DaoManager { ...@@ -68,6 +68,8 @@ public class DaoManager {
} }
sDaoSession = sDaoMaster.newSession(); sDaoSession = sDaoMaster.newSession();
} }
//清除Greendao緩存
sDaoSession.clear();
return sDaoSession; return sDaoSession;
} }
......
package com.gingersoft.gsa.cloud.database.bean;
import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.Property;
import org.greenrobot.greendao.annotation.Generated;
import java.util.Date;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-05-08
* 修订历史:2020-05-08
* 描述:餐廳擴展設置表
*/
@Entity
public class ExpandInfo {
@Property(nameInDb = "_id")
@Id(autoincrement = true)
private Long id;
private int restaurant_id;
/**功能建名称*/
private String settingName;
/**功能值*/
private Integer valueInt;
private String valueChar;
private Date valueDatetime;
/**功能说明*/
private String remark;
@Generated(hash = 1943112611)
public ExpandInfo(Long id, int restaurant_id, String settingName,
Integer valueInt, String valueChar, Date valueDatetime, String remark) {
this.id = id;
this.restaurant_id = restaurant_id;
this.settingName = settingName;
this.valueInt = valueInt;
this.valueChar = valueChar;
this.valueDatetime = valueDatetime;
this.remark = remark;
}
@Generated(hash = 9429432)
public ExpandInfo() {
}
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
public int getRestaurant_id() {
return restaurant_id;
}
public void setRestaurant_id(int restaurant_id) {
this.restaurant_id = restaurant_id;
}
public String getSettingName() {
return settingName;
}
public void setSettingName(String settingName) {
this.settingName = settingName;
}
public Integer getValueInt() {
return valueInt;
}
public void setValueInt(Integer valueInt) {
this.valueInt = valueInt;
}
public String getValueChar() {
return valueChar;
}
public void setValueChar(String valueChar) {
this.valueChar = valueChar;
}
public Date getValueDatetime() {
return valueDatetime;
}
public void setValueDatetime(Date valueDatetime) {
this.valueDatetime = valueDatetime;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
...@@ -573,26 +573,29 @@ public class Food { ...@@ -573,26 +573,29 @@ public class Food {
* 自定義字段 * 自定義字段
*/ */
@Transient
/**選中數量*/ /**選中數量*/
@Transient
private int number; private int number;
/**食品組ID*/ /**食品組ID*/
@Transient @Transient
private long topId; private long topId;
@Transient
/**背景顏色*/ /**背景顏色*/
private int bgColor = Color.parseColor("#03a9f4");
@Transient @Transient
private int bgColor = Color.parseColor("#03a9f4");
/**字體顏色*/ /**字體顏色*/
private int fontColor = Color.parseColor("#FFFFFF");
@Transient @Transient
private int fontColor = Color.parseColor("#FFFFFF");
/**最大選中數*/ /**最大選中數*/
private int maxNumber = 99;
@Transient @Transient
private String maxNumber = "";
/**動態的最大選中數*/
@Transient
private String currentMaxNumber= "";
/**是否選中*/ /**是否選中*/
private boolean selected;
@Transient @Transient
private boolean selected;
/**是否组合食品*/ /**是否组合食品*/
@Transient
private boolean isComboFood = false; private boolean isComboFood = false;
...@@ -1257,14 +1260,22 @@ public class Food { ...@@ -1257,14 +1260,22 @@ public class Food {
this.fontColor = fontColor; this.fontColor = fontColor;
} }
public int getMaxNumber() { public String getMaxNumber() {
return maxNumber; return maxNumber;
} }
public void setMaxNumber(int maxNumber) { public void setMaxNumber(String maxNumber) {
this.maxNumber = maxNumber; this.maxNumber = maxNumber;
} }
public String getCurrentMaxNumber() {
return currentMaxNumber;
}
public void setCurrentMaxNumber(String currentMaxNumber) {
this.currentMaxNumber = currentMaxNumber;
}
public boolean isSelected() { public boolean isSelected() {
return selected; return selected;
} }
......
...@@ -57,6 +57,9 @@ public class Function { ...@@ -57,6 +57,9 @@ public class Function {
@Transient @Transient
private int iconRes; private int iconRes;
@Transient
private String lable;
@Generated(hash = 816556116) @Generated(hash = 816556116)
public Function(Long dbid, @NotNull Long id, int parentId, int groupId, int status, public Function(Long dbid, @NotNull Long id, int parentId, int groupId, int status,
long effectiveTime, String resName, String resUrl, String imageURL, int icRes) { long effectiveTime, String resName, String resUrl, String imageURL, int icRes) {
...@@ -256,6 +259,14 @@ public class Function { ...@@ -256,6 +259,14 @@ public class Function {
this.icRes = icRes; this.icRes = icRes;
} }
public String getLable() {
return lable;
}
public void setLable(String lable) {
this.lable = lable;
}
@Override @Override
public String toString() { public String toString() {
return "Function{" + return "Function{" +
...@@ -277,6 +288,7 @@ public class Function { ...@@ -277,6 +288,7 @@ public class Function {
", backgroundColorRes=" + backgroundColorRes + ", backgroundColorRes=" + backgroundColorRes +
", textSizeRes=" + textSizeRes + ", textSizeRes=" + textSizeRes +
", iconRes=" + iconRes + ", iconRes=" + iconRes +
", lable='" + lable + '\'' +
'}'; '}';
} }
} }
...@@ -389,9 +389,7 @@ public class Modifier { ...@@ -389,9 +389,7 @@ public class Modifier {
/** /**
* 自定義字段 * 自定義字段
*/ */
/** /** 當前食品ID*/
* 當前食品ID
*/
@Transient @Transient
private long fid; private long fid;
@Transient @Transient
...@@ -405,13 +403,14 @@ public class Modifier { ...@@ -405,13 +403,14 @@ public class Modifier {
private int fontColor = Color.parseColor("#FFFFFF"); private int fontColor = Color.parseColor("#FFFFFF");
@Transient @Transient
/**最大選中數*/ /**最大選中數*/
private int maxNumber = 99; private String maxNumber = "";
/**動態的最大選中數*/
@Transient @Transient
/**最小選中數*/ private String currentMaxNumber= "";
private int minNumber = 1; /**是否售罄*/
/** @Transient
* 默認選中數 private boolean isSoldout = false;
*/ /** 默認選中數*/
@Transient @Transient
private String defmodifier = "0"; private String defmodifier = "0";
@Transient @Transient
...@@ -428,8 +427,6 @@ public class Modifier { ...@@ -428,8 +427,6 @@ public class Modifier {
} }
@Generated(hash = 1490458360) @Generated(hash = 1490458360)
public Modifier(Long dbid, long mid, long topId, long restaurantId, public Modifier(Long dbid, long mid, long topId, long restaurantId,
String modifierName, long seqNo, double marketPrice, double price, String modifierName, long seqNo, double marketPrice, double price,
...@@ -496,13 +493,11 @@ public class Modifier { ...@@ -496,13 +493,11 @@ public class Modifier {
} }
public Long getDbid() { public Long getDbid() {
return dbid; return dbid;
} }
public Long getMid() { public long getMid() {
return mid; return mid;
} }
...@@ -717,10 +712,18 @@ public class Modifier { ...@@ -717,10 +712,18 @@ public class Modifier {
return fontColor; return fontColor;
} }
public int getMaxNumber() { public String getMaxNumber() {
return maxNumber; return maxNumber;
} }
public String getCurrentMaxNumber() {
return currentMaxNumber;
}
public void setCurrentMaxNumber(String currentMaxNumber) {
this.currentMaxNumber = currentMaxNumber;
}
public boolean isSelected() { public boolean isSelected() {
return selected; return selected;
} }
...@@ -733,10 +736,6 @@ public class Modifier { ...@@ -733,10 +736,6 @@ public class Modifier {
this.dbid = dbid; this.dbid = dbid;
} }
public void setMid(Long mid) {
this.mid = mid;
}
public void setTopId(Long topId) { public void setTopId(Long topId) {
this.topId = topId; this.topId = topId;
} }
...@@ -941,16 +940,16 @@ public class Modifier { ...@@ -941,16 +940,16 @@ public class Modifier {
this.fontColor = fontColor; this.fontColor = fontColor;
} }
public void setMaxNumber(int maxNumber) { public void setMaxNumber(String maxNumber) {
this.maxNumber = maxNumber; this.maxNumber = maxNumber;
} }
public int getMinNumber() { public boolean isSoldout() {
return minNumber; return isSoldout;
} }
public void setMinNumber(int minNumber) { public void setSoldout(boolean soldout) {
this.minNumber = minNumber; isSoldout = soldout;
} }
public void setSelected(boolean selected) { public void setSelected(boolean selected) {
......
...@@ -14,10 +14,10 @@ import org.greenrobot.greendao.identityscope.IdentityScopeType; ...@@ -14,10 +14,10 @@ import org.greenrobot.greendao.identityscope.IdentityScopeType;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. // THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/** /**
* Master of DAO (schema version 4): knows all DAOs. * Master of DAO (schema version 5): knows all DAOs.
*/ */
public class DaoMaster extends AbstractDaoMaster { public class DaoMaster extends AbstractDaoMaster {
public static final int SCHEMA_VERSION = 4; public static final int SCHEMA_VERSION = 5;
/** Creates underlying database table using DAOs. */ /** Creates underlying database table using DAOs. */
public static void createAllTables(Database db, boolean ifNotExists) { public static void createAllTables(Database db, boolean ifNotExists) {
...@@ -29,6 +29,7 @@ public class DaoMaster extends AbstractDaoMaster { ...@@ -29,6 +29,7 @@ public class DaoMaster extends AbstractDaoMaster {
FunctionDao.createTable(db, ifNotExists); FunctionDao.createTable(db, ifNotExists);
ModifierDao.createTable(db, ifNotExists); ModifierDao.createTable(db, ifNotExists);
PrinterDeviceBeanDao.createTable(db, ifNotExists); PrinterDeviceBeanDao.createTable(db, ifNotExists);
ExpandInfoDao.createTable(db, ifNotExists);
} }
/** Drops underlying database table using DAOs. */ /** Drops underlying database table using DAOs. */
...@@ -41,6 +42,7 @@ public class DaoMaster extends AbstractDaoMaster { ...@@ -41,6 +42,7 @@ public class DaoMaster extends AbstractDaoMaster {
FunctionDao.dropTable(db, ifExists); FunctionDao.dropTable(db, ifExists);
ModifierDao.dropTable(db, ifExists); ModifierDao.dropTable(db, ifExists);
PrinterDeviceBeanDao.dropTable(db, ifExists); PrinterDeviceBeanDao.dropTable(db, ifExists);
ExpandInfoDao.dropTable(db, ifExists);
} }
/** /**
...@@ -67,6 +69,7 @@ public class DaoMaster extends AbstractDaoMaster { ...@@ -67,6 +69,7 @@ public class DaoMaster extends AbstractDaoMaster {
registerDaoClass(FunctionDao.class); registerDaoClass(FunctionDao.class);
registerDaoClass(ModifierDao.class); registerDaoClass(ModifierDao.class);
registerDaoClass(PrinterDeviceBeanDao.class); registerDaoClass(PrinterDeviceBeanDao.class);
registerDaoClass(ExpandInfoDao.class);
} }
public DaoSession newSession() { public DaoSession newSession() {
......
...@@ -16,6 +16,7 @@ import com.gingersoft.gsa.cloud.database.bean.FoodModifier; ...@@ -16,6 +16,7 @@ import com.gingersoft.gsa.cloud.database.bean.FoodModifier;
import com.gingersoft.gsa.cloud.database.bean.Function; import com.gingersoft.gsa.cloud.database.bean.Function;
import com.gingersoft.gsa.cloud.database.bean.Modifier; import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean; import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.database.bean.ExpandInfo;
import com.gingersoft.gsa.cloud.database.greendao.ComboItemDao; import com.gingersoft.gsa.cloud.database.greendao.ComboItemDao;
import com.gingersoft.gsa.cloud.database.greendao.DiscountDao; import com.gingersoft.gsa.cloud.database.greendao.DiscountDao;
...@@ -25,6 +26,7 @@ import com.gingersoft.gsa.cloud.database.greendao.FoodModifierDao; ...@@ -25,6 +26,7 @@ import com.gingersoft.gsa.cloud.database.greendao.FoodModifierDao;
import com.gingersoft.gsa.cloud.database.greendao.FunctionDao; import com.gingersoft.gsa.cloud.database.greendao.FunctionDao;
import com.gingersoft.gsa.cloud.database.greendao.ModifierDao; import com.gingersoft.gsa.cloud.database.greendao.ModifierDao;
import com.gingersoft.gsa.cloud.database.greendao.PrinterDeviceBeanDao; import com.gingersoft.gsa.cloud.database.greendao.PrinterDeviceBeanDao;
import com.gingersoft.gsa.cloud.database.greendao.ExpandInfoDao;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. // THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
...@@ -43,6 +45,7 @@ public class DaoSession extends AbstractDaoSession { ...@@ -43,6 +45,7 @@ public class DaoSession extends AbstractDaoSession {
private final DaoConfig functionDaoConfig; private final DaoConfig functionDaoConfig;
private final DaoConfig modifierDaoConfig; private final DaoConfig modifierDaoConfig;
private final DaoConfig printerDeviceBeanDaoConfig; private final DaoConfig printerDeviceBeanDaoConfig;
private final DaoConfig expandInfoDaoConfig;
private final ComboItemDao comboItemDao; private final ComboItemDao comboItemDao;
private final DiscountDao discountDao; private final DiscountDao discountDao;
...@@ -52,6 +55,7 @@ public class DaoSession extends AbstractDaoSession { ...@@ -52,6 +55,7 @@ public class DaoSession extends AbstractDaoSession {
private final FunctionDao functionDao; private final FunctionDao functionDao;
private final ModifierDao modifierDao; private final ModifierDao modifierDao;
private final PrinterDeviceBeanDao printerDeviceBeanDao; private final PrinterDeviceBeanDao printerDeviceBeanDao;
private final ExpandInfoDao expandInfoDao;
public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig> public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
daoConfigMap) { daoConfigMap) {
...@@ -81,6 +85,9 @@ public class DaoSession extends AbstractDaoSession { ...@@ -81,6 +85,9 @@ public class DaoSession extends AbstractDaoSession {
printerDeviceBeanDaoConfig = daoConfigMap.get(PrinterDeviceBeanDao.class).clone(); printerDeviceBeanDaoConfig = daoConfigMap.get(PrinterDeviceBeanDao.class).clone();
printerDeviceBeanDaoConfig.initIdentityScope(type); printerDeviceBeanDaoConfig.initIdentityScope(type);
expandInfoDaoConfig = daoConfigMap.get(ExpandInfoDao.class).clone();
expandInfoDaoConfig.initIdentityScope(type);
comboItemDao = new ComboItemDao(comboItemDaoConfig, this); comboItemDao = new ComboItemDao(comboItemDaoConfig, this);
discountDao = new DiscountDao(discountDaoConfig, this); discountDao = new DiscountDao(discountDaoConfig, this);
foodDao = new FoodDao(foodDaoConfig, this); foodDao = new FoodDao(foodDaoConfig, this);
...@@ -89,6 +96,7 @@ public class DaoSession extends AbstractDaoSession { ...@@ -89,6 +96,7 @@ public class DaoSession extends AbstractDaoSession {
functionDao = new FunctionDao(functionDaoConfig, this); functionDao = new FunctionDao(functionDaoConfig, this);
modifierDao = new ModifierDao(modifierDaoConfig, this); modifierDao = new ModifierDao(modifierDaoConfig, this);
printerDeviceBeanDao = new PrinterDeviceBeanDao(printerDeviceBeanDaoConfig, this); printerDeviceBeanDao = new PrinterDeviceBeanDao(printerDeviceBeanDaoConfig, this);
expandInfoDao = new ExpandInfoDao(expandInfoDaoConfig, this);
registerDao(ComboItem.class, comboItemDao); registerDao(ComboItem.class, comboItemDao);
registerDao(Discount.class, discountDao); registerDao(Discount.class, discountDao);
...@@ -98,6 +106,7 @@ public class DaoSession extends AbstractDaoSession { ...@@ -98,6 +106,7 @@ public class DaoSession extends AbstractDaoSession {
registerDao(Function.class, functionDao); registerDao(Function.class, functionDao);
registerDao(Modifier.class, modifierDao); registerDao(Modifier.class, modifierDao);
registerDao(PrinterDeviceBean.class, printerDeviceBeanDao); registerDao(PrinterDeviceBean.class, printerDeviceBeanDao);
registerDao(ExpandInfo.class, expandInfoDao);
} }
public void clear() { public void clear() {
...@@ -109,6 +118,7 @@ public class DaoSession extends AbstractDaoSession { ...@@ -109,6 +118,7 @@ public class DaoSession extends AbstractDaoSession {
functionDaoConfig.clearIdentityScope(); functionDaoConfig.clearIdentityScope();
modifierDaoConfig.clearIdentityScope(); modifierDaoConfig.clearIdentityScope();
printerDeviceBeanDaoConfig.clearIdentityScope(); printerDeviceBeanDaoConfig.clearIdentityScope();
expandInfoDaoConfig.clearIdentityScope();
} }
public ComboItemDao getComboItemDao() { public ComboItemDao getComboItemDao() {
...@@ -143,4 +153,8 @@ public class DaoSession extends AbstractDaoSession { ...@@ -143,4 +153,8 @@ public class DaoSession extends AbstractDaoSession {
return printerDeviceBeanDao; return printerDeviceBeanDao;
} }
public ExpandInfoDao getExpandInfoDao() {
return expandInfoDao;
}
} }
...@@ -392,8 +392,7 @@ public class ModifierDaoUtils { ...@@ -392,8 +392,7 @@ public class ModifierDaoUtils {
order.setMultiple(c.getDouble(c.getColumnIndex("MULTIPLE"))); order.setMultiple(c.getDouble(c.getColumnIndex("MULTIPLE")));
if (fid != 0) { if (fid != 0) {
//非公共細項 //非公共細項
order.setMaxNumber(c.getInt(c.getColumnIndex("MAX_QTY"))); order.setMaxNumber(String.valueOf(c.getInt(c.getColumnIndex("MAX_QTY"))));
order.setMinNumber(c.getInt(c.getColumnIndex("MIN_QTY")));
String defmodifier = c.getString(c.getColumnIndex("DEFMODIFIER")); String defmodifier = c.getString(c.getColumnIndex("DEFMODIFIER"));
if (!TextUtils.isEmpty(defmodifier) && !", ".equals(defmodifier)) { if (!TextUtils.isEmpty(defmodifier) && !", ".equals(defmodifier)) {
order.setDefmodifier(defmodifier); order.setDefmodifier(defmodifier);
......
...@@ -29,20 +29,30 @@ public class FunctionManager { ...@@ -29,20 +29,30 @@ public class FunctionManager {
} }
public List<Function> getFunctionByResModule(Context context, Class c, String specific) { public List<Function> getFunctionByResModule(Context context, Class c, FModule[] fModules, String specific) {
String resLoction = c.getSimpleName().toLowerCase() + "/" + specific; String resLoction = c.getSimpleName().toLowerCase() + "/" + specific;
FunctionDaoUtils daoUtils = new FunctionDaoUtils(context); FunctionDaoUtils daoUtils = new FunctionDaoUtils(context);
List<Function> functionList = daoUtils.queryAllFunction(); List<Function> functionList = daoUtils.queryAllFunction();
return filterFunctionByResLoction(functionList, resLoction); return filterFunctionByResLoction(functionList, fModules, resLoction);
} }
private List<Function> filterFunctionByResLoction(List<Function> functionList, String resLoction) { private List<Function> filterFunctionByResLoction(List<Function> functionList, FModule[] fModules, String resLoction) {
List<Function> functions = new ArrayList<>(); List<Function> functions = new ArrayList<>();
for (int i = 0; i < functionList.size(); i++) { for (int i = 0; i < functionList.size(); i++) {
Function function = functionList.get(i); Function function = functionList.get(i);
if (function.getResUrl().startsWith(resLoction)) { if (function.getResUrl().startsWith(resLoction)) {
for (int j = 0; j < fModules.length; j++) {
FModule module = fModules[j];
if(function.getResUrl().equals(module.getKeyRes())){
if (function.getStatus() == 0) {
function.setIconRes(module.getOpenIconRes());
} else {
function.setIconRes(module.getDisableIconRes());
}
}
}
functions.add(function); functions.add(function);
} }
} }
......
package com.gingersoft.gsa.cloud.function;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.database.bean.Function;
/**
* 作者:ELEGANT_BIN
* 版本:1/6/0
* 创建日期:2020-04-10
* 修订历史:2020-04-10
* 描述:每個功能模塊對應的key
*/
public class FunctionModule {
public static final class Main{
/**首頁- 點餐*/
public static final FModule [] order = {
new FModule("main/order/table", R.drawable.table_splite,0) ,
new FModule("main/order/delivery", R.drawable.table_paper,0) ,
new FModule("main/order/takeaway", R.drawable.table_skyorder,0),
new FModule("main/order/preorder", R.drawable.table_skyorder,0),
};
/**首頁- 管理*/
public static final FModule [] manager = {
new FModule("main/manager/bill", R.drawable.table_splite,0) ,
new FModule("main/manager/table", R.drawable.table_paper,0) ,
new FModule("main/manager/printer", R.drawable.table_skyorder,0),
new FModule("main/manager/pay", R.drawable.table_skyorder,0),
new FModule("main/manager/discout", R.drawable.table_skyorder,0)
};
/**首頁- 員工管理*/
public static final FModule [] employee = {
new FModule("main/employee/management", R.drawable.table_splite,0) ,
new FModule("main/employee/delivery", R.drawable.table_paper,0) ,
new FModule("main/employee/takeaway", R.drawable.table_skyorder,0)
};
}
public static final class Table{
/**餐檯頁*/
public static final FModule [] bottom = {
new FModule("table/bottom/init", R.drawable.table_init,0) ,
new FModule("table/bottom/move", R.drawable.table_move,0) ,
new FModule("table/bottom/splite", R.drawable.table_splite,0) ,
new FModule("table/bottom/parper", R.drawable.table_paper,0) ,
new FModule("table/bottom/skyorder", R.drawable.table_skyorder,0)
};
/**餐牌頁*/
public static final FModule [] meal = {
new FModule("table/meal/plu", R.drawable.table_paper,0) ,
new FModule("table/meal/discount", R.drawable.table_skyorder,0)
};
/**賬單內容頁*/
public static final FModule [] order = {
new FModule("table/order/send", 0,0) ,
new FModule("table/order/print", 0,0) ,
new FModule("table/order/pay", 0,0) ,
new FModule("table/order/transfer", 0,0) ,
new FModule("table/order/discount", 0,0)
};
}
}
...@@ -21,11 +21,14 @@ import android.content.Context; ...@@ -21,11 +21,14 @@ import android.content.Context;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.Matrix; import android.graphics.Matrix;
import android.widget.Adapter;
import com.gingersoft.gsa.cloud.base.R; import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.constans.Constans; import com.gingersoft.gsa.cloud.constans.Constans;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils; import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
import com.gingersoft.gsa.cloud.base.widget.DialogUtils; import com.gingersoft.gsa.cloud.base.widget.DialogUtils;
import com.gingersoft.gsa.cloud.database.bean.Function;
import com.jess.arms.base.DefaultAdapter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -43,6 +46,8 @@ public class PrinterUtils { ...@@ -43,6 +46,8 @@ public class PrinterUtils {
"0100", "0101", "0110", "0111", "1000", "1001", "1010", "1011", "0100", "0101", "0110", "0111", "1000", "1001", "1010", "1011",
"1100", "1101", "1110", "1111"}; "1100", "1101", "1110", "1111"};
public static String printMachineCode;
/** /**
* 初始化打印机 * 初始化打印机
* *
...@@ -451,18 +456,29 @@ public class PrinterUtils { ...@@ -451,18 +456,29 @@ public class PrinterUtils {
/** /**
* 顯示修改打印方式的彈窗 * 顯示修改打印方式的彈窗
*
* @param context * @param context
*/ */
public static void switchPrintMethod(Context context){ public static void switchPrintMethod(Context context, Function function, DefaultAdapter orderTopFunctionAdapter) {
// 顯示切換打印方式的彈窗 // 顯示切換打印方式的彈窗
new DialogUtils(context, R.layout.print_select_print_method) { new DialogUtils(context, R.layout.print_select_print_method) {
@Override @Override
public void initLayout(ViewHepler hepler, Dialog dialog) { public void initLayout(ViewHepler hepler, Dialog dialog) {
hepler.setViewClick(R.id.local_print, v -> { hepler.setViewClick(R.id.local_print, v -> {
if (function != null) {
PrinterUtils.printMachineCode = "本機";
function.setLable("本機");
orderTopFunctionAdapter.notifyDataSetChanged();
}
SPUtils.put(dialog.getContext(), Constans.DEFAULT_PRINT_METHOD, Constans.LOCAL_PRINT); SPUtils.put(dialog.getContext(), Constans.DEFAULT_PRINT_METHOD, Constans.LOCAL_PRINT);
dialog.dismiss(); dialog.dismiss();
}); });
hepler.setViewClick(R.id.internet_print, v -> { hepler.setViewClick(R.id.internet_print, v -> {
if (function != null) {
PrinterUtils.printMachineCode = "網絡";
function.setLable("網絡");
orderTopFunctionAdapter.notifyDataSetChanged();
}
SPUtils.put(dialog.getContext(), Constans.DEFAULT_PRINT_METHOD, Constans.IP_PRINT); SPUtils.put(dialog.getContext(), Constans.DEFAULT_PRINT_METHOD, Constans.IP_PRINT);
dialog.dismiss(); dialog.dismiss();
}); });
......
...@@ -16,19 +16,8 @@ ...@@ -16,19 +16,8 @@
package com.qmuiteam.qmui.lint; package com.qmuiteam.qmui.lint;
import com.android.tools.lint.detector.api.Category;
import com.android.tools.lint.detector.api.Detector; import android.icu.util.ULocale;
import com.android.tools.lint.detector.api.Implementation;
import com.android.tools.lint.detector.api.Issue;
import com.android.tools.lint.detector.api.JavaContext;
import com.android.tools.lint.detector.api.Project;
import com.android.tools.lint.detector.api.Scope;
import com.android.tools.lint.detector.api.Severity;
import com.intellij.psi.JavaElementVisitor;
import com.intellij.psi.PsiExpression;
import com.intellij.psi.PsiExpressionList;
import com.intellij.psi.PsiMethod;
import com.intellij.psi.PsiMethodCallExpression;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
...@@ -40,6 +29,8 @@ import java.io.InputStreamReader; ...@@ -40,6 +29,8 @@ import java.io.InputStreamReader;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import javax.inject.Scope;
/** /**
* 检测是否在 getDrawable 方法中传入了 Vector Drawable,在 4.0 及以下版本的系统中会导致 Crash * 检测是否在 getDrawable 方法中传入了 Vector Drawable,在 4.0 及以下版本的系统中会导致 Crash
* Created by Kayo on 2017/8/24. * Created by Kayo on 2017/8/24.
...@@ -51,7 +42,7 @@ public class QMUIJavaVectorDrawableDetector extends Detector implements Detector ...@@ -51,7 +42,7 @@ public class QMUIJavaVectorDrawableDetector extends Detector implements Detector
Issue.create("QMUIGetVectorDrawableWithWrongFunction", Issue.create("QMUIGetVectorDrawableWithWrongFunction",
"Should use the corresponding method to get vector drawable.", "Should use the corresponding method to get vector drawable.",
"Using the normal method to get the vector drawable will cause a crash on Android versions below 4.0", "Using the normal method to get the vector drawable will cause a crash on Android versions below 4.0",
Category.CORRECTNESS, 8, Severity.ERROR, ULocale.Category.CORRECTNESS, 8, Severity.ERROR,
new Implementation(QMUIJavaVectorDrawableDetector.class, Scope.JAVA_FILE_SCOPE)); new Implementation(QMUIJavaVectorDrawableDetector.class, Scope.JAVA_FILE_SCOPE));
@Override @Override
......
...@@ -14,5 +14,12 @@ ...@@ -14,5 +14,12 @@
<meta-data <meta-data
android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration" android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
android:value="ConfigModule" /> android:value="ConfigModule" />
<meta-data
android:name="design_width_in_dp"
android:value="360"/>
<meta-data
android:name="design_height_in_dp"
android:value="640"/>
</application> </application>
</manifest> </manifest>
...@@ -28,10 +28,10 @@ ...@@ -28,10 +28,10 @@
android:value="ConfigModule" /> android:value="ConfigModule" />
<meta-data <meta-data
android:name="design_width_in_dp" android:name="design_width_in_dp"
android:value="360" /> android:value="360"/>
<meta-data <meta-data
android:name="design_height_in_dp" android:name="design_height_in_dp"
android:value="540" /> android:value="640"/>
</application> </application>
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" /> <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
......
...@@ -4,6 +4,7 @@ import com.billy.cc.core.component.CC; ...@@ -4,6 +4,7 @@ import com.billy.cc.core.component.CC;
import com.billy.cc.core.component.CCResult; import com.billy.cc.core.component.CCResult;
import com.billy.cc.core.component.CCUtil; import com.billy.cc.core.component.CCUtil;
import com.billy.cc.core.component.IComponent; import com.billy.cc.core.component.IComponent;
import com.gingersoft.gsa.cloud.function.FModule;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity; import com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderCenterActivity; import com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderCenterActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderPayActivity; import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderPayActivity;
...@@ -11,6 +12,29 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity; ...@@ -11,6 +12,29 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity;
public class ComponentTable implements IComponent { public class ComponentTable implements IComponent {
public static final class Function{
/**餐檯頁*/
public static final FModule[] bottom = {
new FModule("table/bottom/init", R.mipmap.table_init,0) ,
new FModule("table/bottom/move", R.mipmap.table_move,0) ,
new FModule("table/bottom/splite", R.mipmap.table_splite,0) ,
new FModule("table/bottom/parper", R.mipmap.table_paper,0) ,
new FModule("table/bottom/skyorder", R.mipmap.table_skyorder,0)
};
/**餐牌頁*/
public static final FModule [] meal = {
new FModule("table/meal/plu", R.mipmap.table_paper,0) ,
new FModule("table/meal/discount", R.mipmap.table_skyorder,0)
};
/**賬單內容頁*/
public static final FModule [] order = {
new FModule("table/order/send", 0,0) ,
new FModule("table/order/print", 0,0) ,
new FModule("table/order/pay", 0,0) ,
new FModule("table/order/transfer", 0,0) ,
new FModule("table/order/discount", 0,0)
};
}
@Override @Override
public String getName() { public String getName() {
......
...@@ -109,6 +109,8 @@ public interface MealStandContract { ...@@ -109,6 +109,8 @@ public interface MealStandContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存 //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends BaseOrderContract.Model { interface Model extends BaseOrderContract.Model {
Observable<BaseResult> getCurrentSoldoutFood(RequestBody requestBody);
Observable<BaseRespose> loadOrder(long orderId); Observable<BaseRespose> loadOrder(long orderId);
// Observable<BaseRespose> deleteFood(List<Map<Byte, DeleteOrderRequest>> mapsDelete, long orderId, byte type, int reasonId); // Observable<BaseRespose> deleteFood(List<Map<Byte, DeleteOrderRequest>> mapsDelete, long orderId, byte type, int reasonId);
......
package com.gingersoft.gsa.cloud.table.mvp.contract; package com.gingersoft.gsa.cloud.table.mvp.contract;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.database.bean.ComboItem; import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Food; import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.mvp.IModel; import com.jess.arms.mvp.IModel;
import com.jess.arms.mvp.IView; import com.jess.arms.mvp.IView;
...@@ -9,6 +11,11 @@ import com.jess.arms.mvp.IView; ...@@ -9,6 +11,11 @@ import com.jess.arms.mvp.IView;
import java.util.List; import java.util.List;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import io.reactivex.Observable;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.POST;
/** /**
...@@ -66,5 +73,12 @@ public interface SoldoutCtrlContract { ...@@ -66,5 +73,12 @@ public interface SoldoutCtrlContract {
List<Food> queryDB_FoodList(long parentId); List<Food> queryDB_FoodList(long parentId);
List<ComboItem> queryDB_ComboList(long fid); List<ComboItem> queryDB_ComboList(long fid);
Observable<BaseResult> getCurrentSoldoutFood(RequestBody requestBody);
Observable<BaseResult> insertSoldoutCtrl( RequestBody requestBody);
Observable<BaseResult> restoreSoldoutCtrl( RequestBody requestBody);
} }
} }
...@@ -110,6 +110,12 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model ...@@ -110,6 +110,12 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model
} }
@Override @Override
public Observable<BaseResult> getCurrentSoldoutFood(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.getCurrentSoldoutFood(requestBody);
}
@Override
public Observable<BaseRespose> loadOrder(long orderId) { public Observable<BaseRespose> loadOrder(long orderId) {
return mRepositoryManager.obtainRetrofitService(MealService.class) return mRepositoryManager.obtainRetrofitService(MealService.class)
.loadOrder(orderId); .loadOrder(orderId);
......
...@@ -2,11 +2,13 @@ package com.gingersoft.gsa.cloud.table.mvp.model; ...@@ -2,11 +2,13 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application; import android.app.Application;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.database.bean.ComboItem; import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Food; import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils; import com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils; import com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils;
import com.gingersoft.gsa.cloud.table.mvp.contract.SoldoutCtrlContract; import com.gingersoft.gsa.cloud.table.mvp.contract.SoldoutCtrlContract;
import com.gingersoft.gsa.cloud.table.mvp.model.service.MealService;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.jess.arms.di.scope.ActivityScope; import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.integration.IRepositoryManager; import com.jess.arms.integration.IRepositoryManager;
...@@ -16,6 +18,9 @@ import java.util.List; ...@@ -16,6 +18,9 @@ import java.util.List;
import javax.inject.Inject; import javax.inject.Inject;
import io.reactivex.Observable;
import okhttp3.RequestBody;
/** /**
* ================================================ * ================================================
...@@ -69,4 +74,22 @@ public class SoldoutCtrlModel extends BaseModel implements SoldoutCtrlContract.M ...@@ -69,4 +74,22 @@ public class SoldoutCtrlModel extends BaseModel implements SoldoutCtrlContract.M
return foodCombo; return foodCombo;
} }
@Override
public Observable<BaseResult> getCurrentSoldoutFood(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.getCurrentSoldoutFood(requestBody);
}
@Override
public Observable<BaseResult> insertSoldoutCtrl(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.insertSoldoutCtrl(requestBody);
}
@Override
public Observable<BaseResult> restoreSoldoutCtrl(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.restoreSoldoutCtrl(requestBody);
}
} }
\ No newline at end of file
package com.gingersoft.gsa.cloud.table.mvp.model.bean;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-04-30
* 修订历史:2020-04-30
* 描述:
*/
public class SoldoutCtrFood {
private long id;
private int restaurantId;
private long brandId;
private Long foodId;
private Long modifierId;
private byte type;
private int remainingNumber = -999999999;
private int useNumber = -999999999;
private String foodName;
private String foodName1;
private String foodName2;
private int selected;
public String getQtyName() {
if (remainingNumber == -999999999) {
return "";
}
if (useNumber == -999999999) {
useNumber = 0;
}
if (remainingNumber == 0) {
return "暫停";
}
if (remainingNumber - useNumber > 0) {
return String.valueOf(remainingNumber - useNumber);
}
if (remainingNumber - useNumber == 0) {
return "售罄";
}
return "";
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName(){
return foodName;
}
public String getFoodName() {
return foodName;
}
public void setFoodName(String foodName) {
this.foodName = foodName;
}
public String getFoodName1() {
return foodName1;
}
public void setFoodName1(String foodName1) {
this.foodName1 = foodName1;
}
public String getFoodName2() {
return foodName2;
}
public void setFoodName2(String foodName2) {
this.foodName2 = foodName2;
}
public int getRestaurantId() {
return restaurantId;
}
public void setRestaurantId(int restaurantId) {
this.restaurantId = restaurantId;
}
public long getBrandId() {
return brandId;
}
public void setBrandId(long brandId) {
this.brandId = brandId;
}
public Long getFoodId() {
return foodId;
}
public void setFoodId(Long foodId) {
this.foodId = foodId;
}
public Long getModifierId() {
return modifierId;
}
public void setModifierId(Long modifierId) {
this.modifierId = modifierId;
}
public byte getType() {
return type;
}
public void setType(byte type) {
this.type = type;
}
public int getRemainingNumber() {
return remainingNumber;
}
public void setRemainingNumber(int remainingNumber) {
this.remainingNumber = remainingNumber;
}
public int getUseNumber() {
return useNumber;
}
public void setUseNumber(int useNumber) {
this.useNumber = useNumber;
}
public int getSelected() {
return selected;
}
public void setSelected(int selected) {
this.selected = selected;
}
}
package com.gingersoft.gsa.cloud.table.mvp.model.bean.request;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-05-06
* 修订历史:2020-05-06
* 描述:
*/
public class SoldoutRequest {
public static class Insert {
private long brandId;
private int restaurantId;
private Long foodId;
private Long modifierId;
private int type;
private int remainingNumber;
private long uid;
public long getBrandId() {
return brandId;
}
public void setBrandId(long brandId) {
this.brandId = brandId;
}
public int getRestaurantId() {
return restaurantId;
}
public void setRestaurantId(int restaurantId) {
this.restaurantId = restaurantId;
}
public long getFoodId() {
return foodId;
}
public void setFoodId(long foodId) {
this.foodId = foodId;
}
public long getModifierId() {
return modifierId;
}
public void setModifierId(long modifierId) {
this.modifierId = modifierId;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public int getRemainingNumber() {
return remainingNumber;
}
public void setRemainingNumber(int remainingNumber) {
this.remainingNumber = remainingNumber;
}
public long getUid() {
return uid;
}
public void setUid(long uid) {
this.uid = uid;
}
}
public static class update {
private long id;
/**是否刪除 0 正常 1 刪除*/
private int deletes;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public int getDeletes() {
return deletes;
}
public void setDeletes(int deletes) {
this.deletes = deletes;
}
}
}
...@@ -15,6 +15,7 @@ import retrofit2.http.Body; ...@@ -15,6 +15,7 @@ import retrofit2.http.Body;
import retrofit2.http.Field; import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded; import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET; import retrofit2.http.GET;
import retrofit2.http.Headers;
import retrofit2.http.POST; import retrofit2.http.POST;
import retrofit2.http.Query; import retrofit2.http.Query;
...@@ -27,6 +28,17 @@ import retrofit2.http.Query; ...@@ -27,6 +28,17 @@ import retrofit2.http.Query;
*/ */
public interface MealService { public interface MealService {
@Headers({"Domain-Name: soldoutctrl"})
@POST("foodChecklist/list" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> getCurrentSoldoutFood(@Body RequestBody requestBody);
@Headers({"Domain-Name: soldoutctrl"})
@POST("foodChecklist/insert" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> insertSoldoutCtrl(@Body RequestBody requestBody);
@Headers({"Domain-Name: soldoutctrl"})
@POST("foodChecklist/updatePrg" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> restoreSoldoutCtrl(@Body RequestBody requestBody);
@POST("order/send" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @POST("order/send" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> createOrder(@Body RequestBody requestBody); Observable<BaseResult> createOrder(@Body RequestBody requestBody);
......
...@@ -64,7 +64,7 @@ public class AllTablePresenter extends BasePresenter<AllTableContract.Model, All ...@@ -64,7 +64,7 @@ public class AllTablePresenter extends BasePresenter<AllTableContract.Model, All
super(model, rootView); super(model, rootView);
this.IView = (AllTableFragment) rootView; this.IView = (AllTableFragment) rootView;
Activity activity = IView.getActivity(); Activity activity = IView.getCurrentActivity();
if (activity instanceof TableActivity) { if (activity instanceof TableActivity) {
mTableActivity = (TableActivity) activity; mTableActivity = (TableActivity) activity;
} else if (activity instanceof OrderContentActivity) { } else if (activity instanceof OrderContentActivity) {
......
...@@ -128,6 +128,10 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -128,6 +128,10 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
resetSelected(); resetSelected();
initOrderAdapter(); initOrderAdapter();
initItemClickListener();
addSentOrderMoney();
addOrderRounding();
} }
@Override @Override
...@@ -139,44 +143,6 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -139,44 +143,6 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
this.mApplication = null; this.mApplication = null;
} }
protected List<Discount> getDiscountList() {
List<Discount> discountList = new ArrayList<>();
Discount discount = new Discount();
discount.setId((long) 1);
discount.setDiscount_value((double) 10);
discount.setType(1);
discount.setStatus(0);
discount.setRemark("9折");
discountList.add(discount);
Discount discount2 = new Discount();
discount2.setId((long) 2);
discount2.setDiscount_value((double) 20);
discount2.setType(1);
discount2.setStatus(0);
discount2.setRemark("8折");
discountList.add(discount2);
Discount discount3 = new Discount();
discount3.setId((long) 3);
discount3.setDiscount_value((double) 30);
discount3.setType(1);
discount3.setStatus(0);
discount3.setRemark("7折");
discountList.add(discount3);
Discount discount4 = new Discount();
discount4.setId((long) 4);
discount4.setAmount((double) 20);
discount4.setType(0);
discount4.setStatus(0);
discount4.setRemark("立減20");
discountList.add(discount4);
return discountList;
}
private void initOrderAdapter() { private void initOrderAdapter() {
if (mSelectMealAdapter == null) { if (mSelectMealAdapter == null) {
mSelectMealAdapter = new SelectMealAdapter(IActivity, mOrderFoodList, this); mSelectMealAdapter = new SelectMealAdapter(IActivity, mOrderFoodList, this);
...@@ -186,8 +152,6 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -186,8 +152,6 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
if (mOrderMoneyAdapter == null) { if (mOrderMoneyAdapter == null) {
mOrderMoneyAdapter = new OrderMoneyAdapter(IActivity, mOrderMoneyList, cashStr); mOrderMoneyAdapter = new OrderMoneyAdapter(IActivity, mOrderMoneyList, cashStr);
} }
addSentOrderMoney();
initItemClickListener();
} }
private void initItemClickListener() { private void initItemClickListener() {
...@@ -213,7 +177,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -213,7 +177,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
mOrderContentActivity.initOrderDetail(); mOrderContentActivity.initOrderDetail();
} }
//更新折扣 //更新折扣
updateDiscountItem(); updateOrderMoneyItem();
} }
@Override @Override
...@@ -224,7 +188,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -224,7 +188,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
mOrderContentActivity.initOrderDetail(); mOrderContentActivity.initOrderDetail();
} }
//更新折扣 //更新折扣
updateDiscountItem(); updateOrderMoneyItem();
} }
@Override @Override
...@@ -241,7 +205,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -241,7 +205,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
if (mMealStandPresenter != null) { if (mMealStandPresenter != null) {
mMealStandPresenter.updateOrderFoodNumber(); mMealStandPresenter.updateOrderFoodNumber();
} }
updateDiscountItem(); updateOrderMoneyItem();
mSelectMealAdapter.notifyDataSetChanged(); mSelectMealAdapter.notifyDataSetChanged();
} }
...@@ -329,6 +293,14 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -329,6 +293,14 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
} }
/** /**
* 更新賬單金額
*/
protected void updateOrderMoneyItem(){
updateOrderDiscount();
updateOrderRounding();
}
/**
* 添加賬單折扣 * 添加賬單折扣
* *
* @param discount * @param discount
...@@ -361,7 +333,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -361,7 +333,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
/** /**
* 更新折扣金額 * 更新折扣金額
*/ */
protected void updateDiscountItem() { protected void updateOrderDiscount() {
boolean updateData = false; boolean updateData = false;
double totalMoney = 0; double totalMoney = 0;
...@@ -393,16 +365,62 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -393,16 +365,62 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
} }
//參與折扣 //參與折扣
orderDetailsBean.setAblediscount(1); orderDetailsBean.setAblediscount(1);
if (!orderDetailsBean.isNew()) {
if (orderDetailsBean.getDiscountStatus() == 0) {
//此食品新增折扣
orderDetailsBean.setDiscountStatus(1);
} }
} }
} }
} }
}
} else {
for (int i = 0; i < orderDetailList.size(); i++) {
if (start_position <= i && i <= end_position) {
OrderDetail orderDetailsBean = orderDetailList.get(i);
orderDetailsBean.setAblediscount(0);
orderDetailsBean.setDiscountStatus(0);
}
}
}
if (updateData) { if (updateData) {
mSelectMealAdapter.notifyDataSetChanged(); mSelectMealAdapter.notifyDataSetChanged();
} }
} }
/** /**
* 添加賬單小數行
*/
protected void addOrderRounding() {
double m1 = getTotalAmount();
double m2 = MoneyUtil.getOrderRounding(m1);
double roundingMoney = 0.0;
if (m2 != 0) {
roundingMoney = m2 - MoneyUtil.get_ItemDecimals_money(m1);
}
if (roundingMoney != 0.00) {
BillOrderMoney roundingItem = new BillOrderMoney();
roundingItem.setMoney(MoneyUtil.getDecimalMoney(roundingMoney,MoneyUtil.ItemDecimals));
roundingItem.setTitle("賬單小數");
roundingItem.setType(BillOrderMoney.ROUNDING_TYPE);
mOrderMoneyList.add(roundingItem);
mOrderMoneyAdapter.notifyDataSetChanged();
}
}
/**
* 更新賬單小數
*/
protected void updateOrderRounding(){
for (BillOrderMoney orderMoney: mOrderMoneyList) {
if(orderMoney.getType() == BillOrderMoney.ROUNDING_TYPE){
mOrderMoneyList.remove(orderMoney);
addOrderRounding();
}
}
}
/**
* 創建訂單后保存OrderId * 創建訂單后保存OrderId
* *
* @param orderId * @param orderId
...@@ -419,7 +437,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -419,7 +437,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
OrderDetail datasBean = mOrderFoodList.get(i); OrderDetail datasBean = mOrderFoodList.get(i);
datasBean.setSelected(0); datasBean.setSelected(0);
} }
if(mSelectMealAdapter != null) { if (mSelectMealAdapter != null) {
mSelectMealAdapter.notifyDataSetChanged(); mSelectMealAdapter.notifyDataSetChanged();
} }
} }
...@@ -489,7 +507,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -489,7 +507,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
for (int i = orderDetails.size() - 1; i >= 0; i--) { for (int i = orderDetails.size() - 1; i >= 0; i--) {
if (start_position <= i && i <= end_position) { if (start_position <= i && i <= end_position) {
OrderDetail orderDetail1 = orderDetails.get(i); OrderDetail orderDetail1 = orderDetails.get(i);
if(orderDetail1.getType() != DISCOUNT_TYPE){ if (orderDetail1.getType() != DISCOUNT_TYPE) {
builder.append(orderDetail1.getId()); builder.append(orderDetail1.getId());
builder.append(","); builder.append(",");
} }
...@@ -670,7 +688,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -670,7 +688,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
request.setAblediscount(item.getAblediscount()); request.setAblediscount(item.getAblediscount());
request.setDiscountId(getDiscountIdByParentId(foodList, mainParentId)); request.setDiscountId(getDiscountIdByParentId(foodList, mainParentId));
request.setLunchboxPrice(0); request.setLunchboxPrice(0);
if (item.isNew() || item.getDiscountStatus() == 0) { if (item.isNew() || item.getDiscountStatus() == 1) {
//這裡只添加新食品或有新折扣食品 //這裡只添加新食品或有新折扣食品
orderItems.add(request); orderItems.add(request);
//保存新食品,打印用到 //保存新食品,打印用到
......
...@@ -3,16 +3,20 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter; ...@@ -3,16 +3,20 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter;
import android.app.Activity; import android.app.Activity;
import android.app.Application; import android.app.Application;
import android.content.Context; import android.content.Context;
import android.text.TextUtils;
import android.view.View; import android.view.View;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.base.utils.VibratorUtils; import com.gingersoft.gsa.cloud.base.utils.VibratorUtils;
import com.gingersoft.gsa.cloud.database.bean.Modifier; import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils; import com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils;
import com.gingersoft.gsa.cloud.constans.MealConstant; import com.gingersoft.gsa.cloud.constans.MealConstant;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity; import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.FineItemOneAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.FineItemOneAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.FineItemTwoAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.FineItemTwoAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.widget.ChooseNumberDialog; import com.gingersoft.gsa.cloud.table.mvp.ui.widget.ChooseNumberDialog;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
import com.jess.arms.integration.AppManager; import com.jess.arms.integration.AppManager;
import com.jess.arms.di.scope.FragmentScope; import com.jess.arms.di.scope.FragmentScope;
import com.jess.arms.mvp.BasePresenter; import com.jess.arms.mvp.BasePresenter;
...@@ -60,7 +64,7 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode ...@@ -60,7 +64,7 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
private List<Modifier> mFineItemTwoList = new ArrayList<>(); private List<Modifier> mFineItemTwoList = new ArrayList<>();
//所有沽清数据 //所有沽清数据
// private List<CurrentSoldoutFood.DatasBean> mCurrentSlodoutFoodList_Full = null; private List<SoldoutCtrFood> mCurrentSlodoutFoodList_Full = null;
//记录第一层细项上次选中的食品种类 //记录第一层细项上次选中的食品种类
private int mFineItemOneLastPosition = -1; private int mFineItemOneLastPosition = -1;
...@@ -98,7 +102,6 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode ...@@ -98,7 +102,6 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
public void initItemListener(Context context) { public void initItemListener(Context context) {
mFineItemAllAdapter.setOnItemClickListener(new FineItemOneAdapter.OnItemClickListener() { mFineItemAllAdapter.setOnItemClickListener(new FineItemOneAdapter.OnItemClickListener() {
@Override @Override
public void onItemClick(Modifier datasBean, int position) { public void onItemClick(Modifier datasBean, int position) {
...@@ -111,21 +114,7 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode ...@@ -111,21 +114,7 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
MealStandActivity mealStandActivity = (MealStandActivity) context; MealStandActivity mealStandActivity = (MealStandActivity) context;
if (datasBean.isParent()) { if (datasBean.isParent()) {
// if (datasBean.isModKeyboard()) {
// //获取细项备注数据,这里为了拿到最大最小数
//// List<Modifier> modifierList = mealStandActivity.getMealStandModel().queryDB_ComboSelfDetailList(datasBean.getFid(), MealStandModel.modifierMode_Add);
//// for (int i = 0; i < modifierList.size(); i++) {
//// String fid1 = modifierList.get(i).getFid();
//// String fid2 = datasBean.getFid();
//// if (fid1.equals(fid2)) {
// mealStandActivity.getMealStandPresenter().addModalKeyBoardModfier(datasBean);
// mealStandActivity.getMealStandPresenter().displayModalKeyBoardDialog();
//// break;
//// }
//// }
// } else {
initChildFineItemItemData(datasBean.getMid()); initChildFineItemItemData(datasBean.getMid());
// }
} else { } else {
addModifierItem(datasBean); addModifierItem(datasBean);
} }
...@@ -158,26 +147,21 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode ...@@ -158,26 +147,21 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
} }
private void addModifierItem(Modifier datasBean) { private void addModifierItem(Modifier datasBean) {
int OR_Qty = datasBean.getMaxNumber(); String OR_Qty = datasBean.getMaxNumber();
int Qty = datasBean.getNumber(); int Qty = datasBean.getNumber();
boolean isSoldout = false; boolean isSoldout = false;
// if (datasBean.isSoldout() || OR_Qty.equalsIgnoreCase("售罄") || OR_Qty.equalsIgnoreCase("暫停")) { if (datasBean.isSoldout() || OR_Qty.equalsIgnoreCase("售罄") || OR_Qty.equalsIgnoreCase("暫停")) {
// isSoldout = true; isSoldout = true;
// } else if (!TextUtils.isEmpty(OR_Qty)) { } else if (!TextUtils.isEmpty(OR_Qty)) {
// isSoldout = Integer.parseInt(OR_Qty) <= Qty; isSoldout = Integer.parseInt(OR_Qty) <= Qty;
// } }
if (isSoldout) {
// if (isSoldout) { String msg = LanguageUtils.get_language_system(mApplication, "meal.Qty.short", "["+datasBean+"]數量不足(meal.Qty.short)");
// String Showtile = LanguageUtils.get_language_system(mApplication, "meal.Qty.short", "%s數量不足(meal.Qty.short)"); CommonTipDialog.showSurpisedDialog(IActivity,msg,null,null,null,null,null);
// Showtile = Showtile.format(Showtile, AndroidSettingUtils.getDataLanguage(datasBean.getDesc1(), datasBean.getDesc2(), datasBean.getDesc3())); } else {
// TitleDialog.showTitledialog(IActivity, Showtile,
// LanguageUtils.get_language_system(mApplication, "comm.title", "qmui_icon_dialog_surprised"),
// LanguageUtils.get_language_system(mApplication, "comm.BtnOk", "ok"),
// "", null);
// } else {
EventBus.getDefault().post(datasBean, MealConstant.ADD_FOOD_MODIFIER); EventBus.getDefault().post(datasBean, MealConstant.ADD_FOOD_MODIFIER);
// } }
mFineItemAllAdapter.notifyDataSetChanged(); mFineItemAllAdapter.notifyDataSetChanged();
} }
...@@ -187,48 +171,49 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode ...@@ -187,48 +171,49 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
if (datasBean.isParent()) { if (datasBean.isParent()) {
initChildFineItemItemData(datasBean.getMid()); initChildFineItemItemData(datasBean.getMid());
} else { } else {
//操作類型(暂停操作、恢复操作) // //操作類型(暂停操作、恢复操作)
if (!isStopOpeart(datasBean)) { // if (!isStopOpeart(datasBean)) {
showInputNumberDialog(datasBean, context); // showInputNumberDialog(datasBean, context);
} // }
} EventBus.getDefault().post(datasBean, MealConstant.SOLDOUT_MODIFIER);
} }
private void showInputNumberDialog(Modifier datasBean, Context context) {
//选择沽清的数量
ChooseNumberDialog inputNumberDialog = new ChooseNumberDialog(context);
inputNumberDialog.builder();
inputNumberDialog.setOnClickListener(new ChooseNumberDialog.OnClickListener() {
@Override
public void onComfirmClick(String number) {
// EventBus.getDefault().post(new InsertSoldoutCtrlEvent(datasBean.getMID(), number), "InsertSoldoutCtrlEvent");
} }
@Override // private void showInputNumberDialog(Modifier datasBean, Context context) {
public void onBackPage() { // //选择沽清的数量
// ChooseNumberDialog inputNumberDialog = new ChooseNumberDialog(context);
} // inputNumberDialog.builder();
}); // inputNumberDialog.setOnClickListener(new ChooseNumberDialog.OnClickListener() {
inputNumberDialog.setType(2); // @Override
inputNumberDialog.setCancelable(true); // public void onComfirmClick(String number) {
inputNumberDialog.show(); //// EventBus.getDefault().post(new InsertSoldoutCtrlEvent(datasBean.getMID(), number), "InsertSoldoutCtrlEvent");
}
private boolean isStopOpeart(Modifier datasBean) {
boolean isStopOpeart = false;
// if (mCurrentSlodoutFoodList_Full != null && mCurrentSlodoutFoodList_Full.size() > 0) {
// for (CurrentSoldoutFood.DatasBean csf : mCurrentSlodoutFoodList_Full) {
// if (csf.getItemID().equals(datasBean.getMID()) && csf.getType().equals("M")) {
// if (!TextUtils.isEmpty(csf.get_QtyName())) {
// isStopOpeart = true;
// //暂停或者售罄直接提示恢复
// EventBus.getDefault().post(csf, "toRestoreBeforeEvent");
// } // }
//
// @Override
// public void onBackPage() {
//
// } // }
// });
// inputNumberDialog.setType(2);
// inputNumberDialog.setCancelable(true);
// inputNumberDialog.show();
// } // }
// private boolean isStopOpeart(Modifier datasBean) {
// boolean isStopOpeart = false;
//// if (mCurrentSlodoutFoodList_Full != null && mCurrentSlodoutFoodList_Full.size() > 0) {
//// for (SoldoutCtrFood.DatasBean csf : mCurrentSlodoutFoodList_Full) {
//// if (csf.getItemID().equals(datasBean.getMID()) && csf.getType().equals("M")) {
//// if (!TextUtils.isEmpty(csf.get_QtyName())) {
//// isStopOpeart = true;
//// //暂停或者售罄直接提示恢复
//// EventBus.getDefault().post(csf, "toRestoreBeforeEvent");
//// }
//// }
//// }
//// }
// return isStopOpeart;
// } // }
return isStopOpeart;
}
public void initModMsgFineItemData(long mid) { public void initModMsgFineItemData(long mid) {
...@@ -244,7 +229,7 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode ...@@ -244,7 +229,7 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
return; return;
} }
setFid(modifierList,mid); setFid(modifierList, mid);
mFineItemOneList.clear(); mFineItemOneList.clear();
mFineItemOneList.addAll(modifierList); mFineItemOneList.addAll(modifierList);
...@@ -313,7 +298,7 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode ...@@ -313,7 +298,7 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
datasBean.setBgColor(android.graphics.Color.parseColor("#FFFF0000")); datasBean.setBgColor(android.graphics.Color.parseColor("#FFFF0000"));
modifierList.add(0, datasBean); modifierList.add(0, datasBean);
setFid(modifierList,fid); setFid(modifierList, fid);
mFineItemTwoList.clear(); mFineItemTwoList.clear();
mFineItemTwoList.addAll(modifierList); mFineItemTwoList.addAll(modifierList);
...@@ -324,14 +309,14 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode ...@@ -324,14 +309,14 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
mRootView.getRecycle_fine_adll().setVisibility(View.INVISIBLE); mRootView.getRecycle_fine_adll().setVisibility(View.INVISIBLE);
} }
// public void updateCurrentSlodoutFoodList_Full(List<CurrentSoldoutFood.DatasBean> event) { public void updateCurrentSlodoutFoodList_Full(List<SoldoutCtrFood> event) {
// this.mCurrentSlodoutFoodList_Full = event; this.mCurrentSlodoutFoodList_Full = event;
// mFineItemAllAdapter.setmCurrentSlodoutFoodList_Full(event); mFineItemAllAdapter.setCurrentSlodoutFoodList_Full(event);
// mFineItemAllAdapter.notifyDataSetChanged(); mFineItemAllAdapter.notifyDataSetChanged();
//
//// mFineItemTwoAdapter.setmCurrentSlodoutFoodList_Full(event); mFineItemTwoAdapter.setCurrentSlodoutFoodList_Full(event);
// mFineItemTwoAdapter.notifyDataSetChanged(); mFineItemTwoAdapter.notifyDataSetChanged();
// } }
private void setFid(List<Modifier> fineItemList, long fid) { private void setFid(List<Modifier> fineItemList, long fid) {
if (fineItemList == null) if (fineItemList == null)
......
...@@ -57,7 +57,7 @@ public class FineItemKindPresenter extends BasePresenter<FineItemKindContract.Mo ...@@ -57,7 +57,7 @@ public class FineItemKindPresenter extends BasePresenter<FineItemKindContract.Mo
private FineItemTwoAdapter mFineItemTwoAdapter; private FineItemTwoAdapter mFineItemTwoAdapter;
//所有沽清数据 //所有沽清数据
// private List<CurrentSoldoutFood.DatasBean> mCurrentSlodoutFoodList_Full = null; // private List<SoldoutCtrFood.DatasBean> mCurrentSlodoutFoodList_Full = null;
private List<Modifier> mFineItemOneList = new ArrayList<>(); private List<Modifier> mFineItemOneList = new ArrayList<>();
private List<Modifier> mFineItemTwoList = new ArrayList<>(); private List<Modifier> mFineItemTwoList = new ArrayList<>();
...@@ -171,7 +171,7 @@ public class FineItemKindPresenter extends BasePresenter<FineItemKindContract.Mo ...@@ -171,7 +171,7 @@ public class FineItemKindPresenter extends BasePresenter<FineItemKindContract.Mo
private void addModifierItem(Modifier datasBean) { private void addModifierItem(Modifier datasBean) {
int OR_Qty = datasBean.getMaxNumber(); String OR_Qty = datasBean.getMaxNumber();
int Qty = datasBean.getNumber(); int Qty = datasBean.getNumber();
boolean isSoldout = false; boolean isSoldout = false;
...@@ -219,7 +219,7 @@ public class FineItemKindPresenter extends BasePresenter<FineItemKindContract.Mo ...@@ -219,7 +219,7 @@ public class FineItemKindPresenter extends BasePresenter<FineItemKindContract.Mo
private boolean isStopOpeart(Modifier datasBean) { private boolean isStopOpeart(Modifier datasBean) {
boolean isStopOpeart = false; boolean isStopOpeart = false;
// if (mCurrentSlodoutFoodList_Full != null && mCurrentSlodoutFoodList_Full.size() > 0) { // if (mCurrentSlodoutFoodList_Full != null && mCurrentSlodoutFoodList_Full.size() > 0) {
// for (CurrentSoldoutFood.DatasBean csf : mCurrentSlodoutFoodList_Full) { // for (SoldoutCtrFood.DatasBean csf : mCurrentSlodoutFoodList_Full) {
// if (csf.getItemID().equals(datasBean.getMID()) && csf.getType().equals("M")) { // if (csf.getItemID().equals(datasBean.getMID()) && csf.getType().equals("M")) {
// if (!TextUtils.isEmpty(csf.get_QtyName())) { // if (!TextUtils.isEmpty(csf.get_QtyName())) {
// isStopOpeart = true; // isStopOpeart = true;
...@@ -294,13 +294,13 @@ public class FineItemKindPresenter extends BasePresenter<FineItemKindContract.Mo ...@@ -294,13 +294,13 @@ public class FineItemKindPresenter extends BasePresenter<FineItemKindContract.Mo
modifier.setFid(fid); modifier.setFid(fid);
} }
} }
// public void updateCurrentSlodoutFoodList_Full1(List<CurrentSoldoutFood.DatasBean> event) { // public void updateCurrentSlodoutFoodList_Full1(List<SoldoutCtrFood.DatasBean> event) {
// this.mCurrentSlodoutFoodList_Full = event; // this.mCurrentSlodoutFoodList_Full = event;
// mFineItemOneAdapter.setmCurrentSlodoutFoodList_Full(event); // mFineItemOneAdapter.setmCurrentSlodoutFoodList_Full(event);
// mFineItemOneAdapter.notifyDataSetChanged(); // mFineItemOneAdapter.notifyDataSetChanged();
// } // }
// //
// public void updateCurrentSlodoutFoodList_Full2(List<CurrentSoldoutFood.DatasBean> event) { // public void updateCurrentSlodoutFoodList_Full2(List<SoldoutCtrFood.DatasBean> event) {
// mFineItemTwoAdapter.setmCurrentSlodoutFoodList_Full(event); // mFineItemTwoAdapter.setmCurrentSlodoutFoodList_Full(event);
// mFineItemTwoAdapter.notifyDataSetChanged(); // mFineItemTwoAdapter.notifyDataSetChanged();
// } // }
......
...@@ -13,6 +13,8 @@ import com.gingersoft.gsa.cloud.base.common.bean.OrderBean; ...@@ -13,6 +13,8 @@ import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail; import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage; import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage; import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
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.gson.GsonUtils; import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.database.bean.ComboItem; import com.gingersoft.gsa.cloud.database.bean.ComboItem;
...@@ -26,6 +28,7 @@ import com.gingersoft.gsa.cloud.table.R; ...@@ -26,6 +28,7 @@ import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract; import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose; import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason; import com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest; import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest; import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.DeleteOrderRequest; import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.DeleteOrderRequest;
...@@ -35,15 +38,17 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity; ...@@ -35,15 +38,17 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.DiscountAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.DiscountAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.widget.CancelFoodDialog; import com.gingersoft.gsa.cloud.table.mvp.ui.widget.CancelFoodDialog;
import com.gingersoft.gsa.cloud.ui.adapter.meal.ComboAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter;
import com.gingersoft.gsa.cloud.ui.adapter.meal.FoodAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodAdapter;
import com.gingersoft.gsa.cloud.ui.adapter.meal.FoodGroupAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter;
import com.gingersoft.gsa.cloud.ui.adapter.meal.ModifierAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.di.scope.ActivityScope; import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader; import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager; import com.jess.arms.integration.AppManager;
import com.jess.arms.utils.RxLifecycleUtils; import com.jess.arms.utils.RxLifecycleUtils;
import com.jess.arms.utils.ZipHelper;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog; import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction; import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
...@@ -63,9 +68,13 @@ import io.reactivex.disposables.Disposable; ...@@ -63,9 +68,13 @@ import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import me.jessyan.rxerrorhandler.core.RxErrorHandler; import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber; import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
import okhttp3.FormBody;
import okhttp3.MediaType; import okhttp3.MediaType;
import okhttp3.RequestBody; import okhttp3.RequestBody;
import static com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity.FOOD_GROUP_TYPE;
import static com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity.FOOD_TYPE;
/** /**
* ================================================ * ================================================
...@@ -119,6 +128,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -119,6 +128,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
//折扣数据 //折扣数据
private List<Discount> mDiscountList = new ArrayList<>(); private List<Discount> mDiscountList = new ArrayList<>();
//沽清食品數據
private List<SoldoutCtrFood> mSoldoutCtrList = new ArrayList<>();
private boolean RvMealClicked; private boolean RvMealClicked;
@Inject @Inject
...@@ -153,6 +165,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -153,6 +165,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
} }
} }
public void initAdapter() { public void initAdapter() {
if (mSelectMealAdapter != null) { if (mSelectMealAdapter != null) {
mRootView.setSelectFoodAdapter(mSelectMealAdapter); mRootView.setSelectFoodAdapter(mSelectMealAdapter);
...@@ -163,7 +176,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -163,7 +176,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
// mRootView.setFoodGroupAdapter(mFoodGroupAdapter); // mRootView.setFoodGroupAdapter(mFoodGroupAdapter);
// } // }
if (mFoodAdapter == null) { if (mFoodAdapter == null) {
mFoodAdapter = new FoodAdapter(IActivity, mFoodList); mFoodAdapter = new FoodAdapter(IActivity, mFoodList, 1);
mRootView.setFoodAdapter(mFoodAdapter); mRootView.setFoodAdapter(mFoodAdapter);
} }
if (mComboAdapter == null) { if (mComboAdapter == null) {
...@@ -225,6 +238,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -225,6 +238,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
} }
RvMealClicked = false; RvMealClicked = false;
mCurrentOrderDetailBean = OrderDetail.foodTransOrderDetails(datasBean, 1); mCurrentOrderDetailBean = OrderDetail.foodTransOrderDetails(datasBean, 1);
//更新最大可選數
setFoodMaxQty(datasBean,true);
//加載套餐食品
loadComboData(mCurrentOrderDetailBean, false); loadComboData(mCurrentOrderDetailBean, false);
addFoodItemBefore(mCurrentOrderDetailBean); addFoodItemBefore(mCurrentOrderDetailBean);
updateOrderFoodNumber(); updateOrderFoodNumber();
...@@ -252,8 +268,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -252,8 +268,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
mCurrentOrderDetailBean = OrderDetail.comboTransOrderDetail(datasBean, id, 1, OrderDetail.COMBO_PROP, RvMealClicked); mCurrentOrderDetailBean = OrderDetail.comboTransOrderDetail(datasBean, id, 1, OrderDetail.COMBO_PROP, RvMealClicked);
//添加子项 //添加子项
addComboItem(mCurrentOrderDetailBean); addComboItem(mCurrentOrderDetailBean);
//更新折扣 //更新賬單金額
updateDiscountItem(); updateOrderMoneyItem();
} }
}); });
mModifierAdapter.setOnItemClickListener(new ModifierAdapter.OnItemClickListener() { mModifierAdapter.setOnItemClickListener(new ModifierAdapter.OnItemClickListener() {
...@@ -280,8 +296,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -280,8 +296,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
// loadModifierData(mCurrentOrderDetailBean.getProductId()); // loadModifierData(mCurrentOrderDetailBean.getProductId());
// } else { // } else {
addModifierItem(datasBean); addModifierItem(datasBean);
//更新折扣 //更新賬單金額
updateDiscountItem(); updateOrderMoneyItem();
// } // }
} }
}); });
...@@ -356,6 +372,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -356,6 +372,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
} else { } else {
addPosition = mSelectMealAdapter.addFoodItem(mCurrentOrderDetailBean); addPosition = mSelectMealAdapter.addFoodItem(mCurrentOrderDetailBean);
} }
setModifierMaxQty(datasBean,true);
mRootView.setMealRvScrollToPosition(addPosition); mRootView.setMealRvScrollToPosition(addPosition);
} }
...@@ -400,7 +419,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -400,7 +419,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
mRootView.setModifierTop(0); mRootView.setModifierTop(0);
} }
isSelectedMeal = isSelectedMeal && (comboItemList.size() > 0 || modifierList.size() > 0); // isSelectedMeal = isSelectedMeal && (comboItemList.size() > 0 || modifierList.size() > 0);
boolean autoMod = food.getAutoMod() == 1 && (comboItemList.size() > 0 || modifierList.size() > 0); boolean autoMod = food.getAutoMod() == 1 && (comboItemList.size() > 0 || modifierList.size() > 0);
if (isSelectedMeal || autoMod) { if (isSelectedMeal || autoMod) {
mRootView.showViewModeVisibility(MealConstant.combo_ViewMode, MealConstant.modifier_ViewMode); mRootView.showViewModeVisibility(MealConstant.combo_ViewMode, MealConstant.modifier_ViewMode);
...@@ -412,6 +431,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -412,6 +431,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
updateModifierData(modifierList); updateModifierData(modifierList);
} }
/** /**
* 裁減掉已超出的細項 * 裁減掉已超出的細項
* *
...@@ -485,7 +505,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -485,7 +505,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
for (int i = 0; i < numberAndCutPositionMap.size(); i++) { for (int i = 0; i < numberAndCutPositionMap.size(); i++) {
String[] numberAndCutPositionStr = numberAndCutPositionMap.valueAt(i).split("_"); String[] numberAndCutPositionStr = numberAndCutPositionMap.valueAt(i).split("_");
int number = Integer.parseInt(numberAndCutPositionStr[0]); int number = Integer.parseInt(numberAndCutPositionStr[0]);
int maxQty = modifier.getMaxNumber(); int maxQty = Integer.parseInt(modifier.getMaxNumber());
if (numberAndCutPositionStr.length > 1 && !TextUtils.isEmpty(numberAndCutPositionStr[1])) { if (numberAndCutPositionStr.length > 1 && !TextUtils.isEmpty(numberAndCutPositionStr[1])) {
int cutPosition = Integer.parseInt(numberAndCutPositionStr[1]); int cutPosition = Integer.parseInt(numberAndCutPositionStr[1]);
if (maxQty <= number && cutPosition < mOrderFoodList.size()) { if (maxQty <= number && cutPosition < mOrderFoodList.size()) {
...@@ -560,6 +580,142 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -560,6 +580,142 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
return -1; return -1;
} }
/**
* 設置食品沽清數據
*/
public void setFoodSoldoutCtrData(){
clearFoodSoldoutCtrData();
for (SoldoutCtrFood scc : mSoldoutCtrList) {
for (Food foodGroupBean : mFoodGroupList) {
if (scc.getType() == FOOD_GROUP_TYPE && scc.getFoodId() != null && foodGroupBean.getId() != null && foodGroupBean.getId().equals(scc.getFoodId())) {
String qty = scc.getQtyName();
foodGroupBean.setMaxNumber(qty);
foodGroupBean.setCurrentMaxNumber(qty);
}
}
for (Food foodBean : mFoodList) {
if (scc.getType() == FOOD_TYPE && scc.getFoodId() != null && foodBean.getId() != null && foodBean.getId().equals(scc.getFoodId())) {
String qty = scc.getQtyName();
foodBean.setMaxNumber(qty);
foodBean.setCurrentMaxNumber(qty);
}
}
}
IActivity.getFoodGroupGridViewAdapter().notifyDataSetChanged();
mFoodAdapter.notifyDataSetChanged();
}
private void clearFoodSoldoutCtrData() {
for (Food foodGroupBean : mFoodGroupList) {
foodGroupBean.setMaxNumber("");
foodGroupBean.setCurrentMaxNumber("");
}
for (Food foodBean : mFoodList) {
foodBean.setMaxNumber("");
foodBean.setCurrentMaxNumber("");
}
}
/**
* 设置当前食品还可最多选几份
*
* @param foodBean
*/
public boolean setFoodMaxQty(Food foodBean,boolean isAdd) {
int currentSelectNumber;
if(isAdd){
currentSelectNumber = 1;
}else {
currentSelectNumber = 0;
}
for (int i = 0; i < getNewOrderFoodLists().size(); i++) {
OrderDetail orderFood = getNewOrderFoodLists().get(i);
if (orderFood.getProductId() == foodBean.getId()) {
currentSelectNumber += orderFood.getNumber();
}
}
String User_Qty = foodBean.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) {
foodBean.setCurrentMaxNumber("售罄");
return false;
} else {
foodBean.setCurrentMaxNumber(Currrent_OR__Qty + "");
}
}
}
return true;
}
public void setModifierMaxQty(Modifier modfier,boolean isAdd) {
int currentSelectNumber;
if(isAdd){
currentSelectNumber = 1;
}else {
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 + "");
}
}
}
}
public void getCurrentSoldoutFood() {
long restaurantId = GsaCloudApplication.getRestaurantId(mApplication);
RequestBody requestBody = new FormBody.Builder()
.add("restaurantId", String.valueOf(restaurantId))
.build();
mModel.getCurrentSoldoutFood(requestBody)
.subscribeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onNext(@NonNull BaseResult info) {
if (info != null && info.isSuccess() && info.getData() != null) {
List<SoldoutCtrFood> soldoutCtrFoods = JsonUtils.parseArray(info.getData(), SoldoutCtrFood.class);
if (soldoutCtrFoods != null && soldoutCtrFoods.size() > 0) {
if (mSoldoutCtrList.size() > 0) {
mSoldoutCtrList.clear();
}
mSoldoutCtrList.addAll(soldoutCtrFoods);
setFoodSoldoutCtrData();
} else {
if (mSoldoutCtrList.size() > 0) {
mSoldoutCtrList.clear();
}
}
}else {
if (mSoldoutCtrList.size() > 0) {
mSoldoutCtrList.clear();
}
}
}
});
}
public void createOrder() { public void createOrder() {
CreateOrderRequest request = getCreateOrderRequest(getOrderFoodLists()); CreateOrderRequest request = getCreateOrderRequest(getOrderFoodLists());
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(request)); RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(request));
...@@ -734,10 +890,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -734,10 +890,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
int type = 1; int type = 1;
mModel.getRestaurantFoodReason(restaurantId, type) mModel.getRestaurantFoodReason(restaurantId, type)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
// .doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread()) .subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
// .doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView)) .compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<FoodReason>(mErrorHandler) { .subscribe(new ErrorHandleSubscriber<FoodReason>(mErrorHandler) {
...@@ -781,6 +935,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -781,6 +935,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
dialog.dismiss(); dialog.dismiss();
if (mCancelFoodDialog != null) { if (mCancelFoodDialog != null) {
mCancelFoodDialog.build().dismiss(); mCancelFoodDialog.build().dismiss();
mCancelFoodDialog = null;
} }
deleteFood(maxNumber, deleteNumber, reasonId); deleteFood(maxNumber, deleteNumber, reasonId);
}); });
...@@ -837,6 +992,13 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -837,6 +992,13 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
} else { } else {
int deletePosition = mSelectMealAdapter.removeFoodItem(); int deletePosition = mSelectMealAdapter.removeFoodItem();
mRootView.setMealRvScrollToPosition(deletePosition); mRootView.setMealRvScrollToPosition(deletePosition);
//更新最大可選數
if (deleteFood != null) {
Food orderBean = getOrderByOrderDetail(deleteFood);
if (orderBean != null) {
setFoodMaxQty(orderBean,false);
}
}
} }
} }
updateOrderFoodNumber(); updateOrderFoodNumber();
...@@ -857,8 +1019,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -857,8 +1019,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
} }
if (getOrderFoodLists().get(mSelectMealAdapter.getSelect_position()) != null) { if (getOrderFoodLists().get(mSelectMealAdapter.getSelect_position()) != null) {
mSelectMealAdapter.removeChildItem(); mSelectMealAdapter.removeChildItem();
//更新折扣 //更新賬單金額
updateDiscountItem(); updateOrderMoneyItem();
updateOrderFoodNumber(); updateOrderFoodNumber();
} }
...@@ -930,36 +1092,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -930,36 +1092,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
updateOrderFoodNumber(); updateOrderFoodNumber();
} }
/**
* 设置当前食品还可最多选几份
*
* @param foodBean
*/
public boolean setUserMaxQty(Food foodBean) {
int currentSelectNumber = 0;
for (int i = 0; i < getOrderFoodLists().size(); i++) {
OrderDetail orderFood = getOrderFoodLists().get(i);
if (orderFood.getId() == foodBean.getId()) {
currentSelectNumber += orderFood.getNumber();
}
}
// String User_Qty = foodBean.getOR_Qty();
// 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) {
// foodBean.setCurrrent_OR_Qty("售罄");
// return false;
// } else {
// foodBean.setCurrrent_OR_Qty(Currrent_OR__Qty + "");
// }
// }
// }
return true;
}
/** /**
* 添加食品条件过滤 * 添加食品条件过滤
...@@ -973,13 +1105,12 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -973,13 +1105,12 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
return true; return true;
} }
// String User_Qty = foodBean.getOR_Qty(); String User_Qty = foodBean.getCurrentMaxNumber();
// if (!TextUtils.isEmpty(User_Qty)) { if (!TextUtils.isEmpty(User_Qty)) {
// TitleDialog.showTitledialog(IActivity, foodBean.getName() String msg = "["+foodBean.getFoodName() +"]" + LanguageUtils.get_language_system(IActivity, "Comm.pause", "已暫停");
// + LanguageUtils.get_language_system(IActivity, "Comm.pause", "已暫停(Comm.pause)"), CommonTipDialog.showSurpisedDialog(IActivity,msg,null,null,null,null,null);
// "", LanguageUtils.get_language_system(IActivity, "comm.ok", "ok(comm.ok)"), "", null); return false;
// return false; }
// }
return true; return true;
} }
...@@ -993,35 +1124,14 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -993,35 +1124,14 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
return false; return false;
} }
// String User_Qty = foodBean.getCurrrent_OR_Qty(); String User_Qty = foodBean.getCurrentMaxNumber();
// if (!TextUtils.isEmpty(User_Qty)) {
// if (!TextUtils.isEmpty(User_Qty)) { if (User_Qty.equals("售罄") || User_Qty.equals("暫停")) {
// if (User_Qty.equals("售罄") || User_Qty.equals("暫停")) { String msg = "["+foodBean.getFoodName() +"]"+ LanguageUtils.get_language_system(IActivity, "Comm.pause", "已暫停");
// TitleDialog.showTitledialog(IActivity, foodBean.getName() CommonTipDialog.showSurpisedDialog(IActivity,msg,null,null,null,null,null);
// + LanguageUtils.get_language_system(IActivity, "Comm.pause", "已暫停(Comm.pause)"), return false;
// "", LanguageUtils.get_language_system(IActivity, "comm.ok", "ok(comm.ok)"), "", null); }
// return false; }
// }
// }
//
// if (GSAApplication.tableContract.getMember() == null) {
// //当前食品需要会员积分
// if (foodBean.getPointsRedeem() > 0) {
// mRootView.showMessage(LanguageUtils.get_language_system(mApplication, "unused_members_can.not.order.food", "積分食品,未使用會員,不可點選") + "\"" + foodBean.getName() + "\"");
// return false;
// }
// } else {
// if (GSAApplication.tableContract.getMember().getDatas() != null) {
// //如果没有会员,则pointsadd=5是加5分 pointsredeem=5是減5分
// //當一張臺號沒有會員登錄時判定積分為0 不能為負數
// // 此時call pointsredeem=5 的食物 不給過
// //點選pointsadd=5的食物 0+5 是正數 這個給過
// if (foodBean.getPointsRedeem() > 0 && GSAApplication.tableContract.getMember().getDatas().getData().getMemberPoint() < foodBean.getPointsRedeem()) {
// mRootView.showMessage(LanguageUtils.get_language_system(mApplication, "insufficient.points.can.not.selected", "積分食品,會員積分不足,不可點選") + "\"" + foodBean.getName() + "\"");
// return false;
// }
// }
// }
return true; return true;
} }
...@@ -1097,6 +1207,16 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -1097,6 +1207,16 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
return null; return null;
} }
public Food getOrderByOrderDetail(OrderDetail orderFood) {
for (int i = 0; i < mFoodList.size(); i++) {
Food foodBean = mFoodList.get(i);
if (orderFood.getProductId() == foodBean.getId()) {
return foodBean;
}
}
return null;
}
/** /**
* 標識食品是否为组合食品 * 標識食品是否为组合食品
* *
...@@ -1240,7 +1360,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -1240,7 +1360,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
/** /**
* 全選 * 全選
*
*/ */
public void setSelectAll() { public void setSelectAll() {
for (OrderDetail item : mOrderFoodList) { for (OrderDetail item : mOrderFoodList) {
...@@ -1256,7 +1375,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -1256,7 +1375,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
for (OrderDetail item : mOrderFoodList) { for (OrderDetail item : mOrderFoodList) {
if (item.getSelected() == 0) { if (item.getSelected() == 0) {
item.setSelected(1); item.setSelected(1);
}else { } else {
item.setSelected(0); item.setSelected(0);
} }
} }
...@@ -1272,7 +1391,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -1272,7 +1391,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
if (item.getSelected() != 0) { if (item.getSelected() != 0) {
//往下找 //往下找
int nextIndex = i + 1; int nextIndex = i + 1;
if(item.getItemType() == 1){ if (item.getItemType() == 1) {
mOrderFoodList.add(i + 1, new OrderDetail(modifierItem)); mOrderFoodList.add(i + 1, new OrderDetail(modifierItem));
} }
} }
...@@ -1314,15 +1433,21 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -1314,15 +1433,21 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
int end_position = mSelectMealAdapter.getSelect_full_end_position(); int end_position = mSelectMealAdapter.getSelect_full_end_position();
for (int i = 0; i < mOrderFoodList.size(); i++) { for (int i = 0; i < mOrderFoodList.size(); i++) {
if (start_position <= i && i <= end_position) { if (start_position <= i && i <= end_position) {
OrderDetail orderDetail1 = mOrderFoodList.get(i); OrderDetail orderDetailsBean = mOrderFoodList.get(i);
if (orderDetail1.getProp() == OrderDetail.DISCOUNT_PROP) { if (orderDetailsBean.getProp() == OrderDetail.DISCOUNT_PROP) {
//折上折減去以折扣金額 //折上折減去以折扣金額
discount = MoneyUtil.sub(discount, orderDetail1.getPrice()); discount = MoneyUtil.sub(discount, orderDetailsBean.getPrice());
} else { } else {
discount = MoneyUtil.sum(discount, orderDetail1.getPrice()); discount = MoneyUtil.sum(discount, orderDetailsBean.getPrice());
} }
//參與折扣 //參與折扣
orderDetail1.setAblediscount(1); orderDetailsBean.setAblediscount(1);
if (!orderDetailsBean.isNew()) {
if (orderDetailsBean.getDiscountStatus() == 0) {
//此食品新增折扣
orderDetailsBean.setDiscountStatus(1);
}
}
} }
} }
return discount; return discount;
...@@ -1417,4 +1542,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -1417,4 +1542,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
public SelectMealAdapter getSelectMealAdapter() { public SelectMealAdapter getSelectMealAdapter() {
return mSelectMealAdapter; return mSelectMealAdapter;
} }
public List<SoldoutCtrFood> getSoldoutCtrList() {
return mSoldoutCtrList;
}
} }
...@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter; ...@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter;
import android.app.Application; import android.app.Application;
import android.graphics.Color; import android.graphics.Color;
import android.os.CountDownTimer; import android.os.CountDownTimer;
import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.TextView; import android.widget.TextView;
...@@ -121,18 +122,18 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -121,18 +122,18 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mRootView.setOrderDetailAdapter(mOrderMoneyAdapter); mRootView.setOrderDetailAdapter(mOrderMoneyAdapter);
} }
mRootView.setFoodAdapter(mSelectMealAdapter); mRootView.setFoodAdapter(mSelectMealAdapter);
setPrinterMachineName();
} }
public void initItemListener() { public void initItemListener() {
mOrderTopFunctionAdapter.setOnItemClickListener(new DefaultAdapter.OnRecyclerViewItemClickListener() { mOrderTopFunctionAdapter.setOnClickListener(new OrderTopFunctionAdapter.OnClickListener() {
@Override @Override
public void onItemClick(View view, int viewType, Object data, int position) { public void onItemClick(View v, Function function) {
mRootView.recordOperat(true); mRootView.recordOperat(true);
if (XClickUtil.isFastDoubleClick(view, 1000)) { if (XClickUtil.isFastDoubleClick(v, 1000)) {
return; return;
} }
Function function = (Function) data;
switch (function.getResName()) { switch (function.getResName()) {
case "送單": case "送單":
sendOrder(false); sendOrder(false);
...@@ -168,6 +169,14 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -168,6 +169,14 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
break; break;
} }
} }
@Override
public boolean onItemLongClick(View v, Function datasBean) {
if (datasBean.getResName().equals("印單") || datasBean.getResName().equals("送單")) {
PrinterUtils.switchPrintMethod(IActivity,datasBean, mOrderTopFunctionAdapter);
}
return false;
}
}); });
mOrderMoneyAdapter.setOnItemClickListener(new OrderMoneyAdapter.OnItemClickListener() { mOrderMoneyAdapter.setOnItemClickListener(new OrderMoneyAdapter.OnItemClickListener() {
...@@ -181,14 +190,6 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -181,14 +190,6 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
removeOrderDetailItem(position); removeOrderDetailItem(position);
} }
}); });
mOrderTopFunctionAdapter.setmOnLongClickListener((v, position) -> {
if (mFunctionList != null) {
if (mFunctionList.get(position).getResName().equals("印單") || mFunctionList.get(position).getResName().equals("送單")) {
PrinterUtils.switchPrintMethod(v.getContext());
}
}
return false;
});
} }
public void initTopFunctionData() { public void initTopFunctionData() {
...@@ -211,6 +212,18 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -211,6 +212,18 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
} }
} }
public void setPrinterMachineName() {
if (!TextUtils.isEmpty(PrinterUtils.printMachineCode)) {
for (Function function : mFunctionList) {
if (function.getResName().equals("印單")) {
function.setLable(PrinterUtils.printMachineCode);
mOrderTopFunctionAdapter.notifyDataSetChanged();
break;
}
}
}
}
protected void createOrder(boolean isPrint) { protected void createOrder(boolean isPrint) {
CreateOrderRequest request = getCreateOrderRequest(getOrderFoodLists()); CreateOrderRequest request = getCreateOrderRequest(getOrderFoodLists());
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(request)); RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(request));
...@@ -562,7 +575,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -562,7 +575,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mDiscountDialog.setOnClickListener(new DiscountDialog.Builder.OnClickListener() { mDiscountDialog.setOnClickListener(new DiscountDialog.Builder.OnClickListener() {
@Override @Override
public void onItemClick(Discount item, int position) { public void onItemClick(Discount item, int position) {
addOrderDiscount(item,0,false); addOrderDiscount(item, 0, false);
} }
}); });
} }
......
package com.gingersoft.gsa.cloud.table.mvp.presenter; package com.gingersoft.gsa.cloud.table.mvp.presenter;
import android.app.Application; import android.app.Application;
import android.text.TextUtils;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.base.utils.VibratorUtils;
import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.constans.MealConstant; import com.gingersoft.gsa.cloud.constans.MealConstant;
import com.gingersoft.gsa.cloud.database.bean.ComboItem; import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Food; import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.Modifier; import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.mvp.contract.SoldoutCtrlContract; import com.gingersoft.gsa.cloud.table.mvp.contract.SoldoutCtrlContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.SoldoutRequest;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity; import com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.CurrentSlodoutFoodAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.CurrentSlodoutFoodAdapter;
import com.gingersoft.gsa.cloud.ui.adapter.meal.ComboAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter;
import com.gingersoft.gsa.cloud.ui.adapter.meal.FoodAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodAdapter;
import com.gingersoft.gsa.cloud.ui.adapter.meal.FoodGroupAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.widget.ChooseNumberDialog;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
import com.jess.arms.di.scope.ActivityScope; import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader; import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager; import com.jess.arms.integration.AppManager;
import com.jess.arms.mvp.BasePresenter; import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.utils.RxLifecycleUtils;
import org.simple.eventbus.EventBus;
import org.simple.eventbus.Subscriber;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.inject.Inject; import javax.inject.Inject;
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.core.RxErrorHandler;
import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
import okhttp3.FormBody;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import static com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity.FOOD_GROUP_TYPE;
import static com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity.FOOD_TYPE;
import static com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity.MODIFIER_TYPE;
/** /**
...@@ -51,16 +78,29 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode ...@@ -51,16 +78,29 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
private SoldoutCtrlActivity IActivity; private SoldoutCtrlActivity IActivity;
private CurrentSlodoutFoodAdapter mCurrentSlodoutFoodAdapter; private CurrentSlodoutFoodAdapter mCurrentSlodoutFoodAdapter;
private FoodGroupAdapter mFoodGroupAdapter;
private FoodAdapter mFoodAdapter; private FoodAdapter mFoodAdapter;
private ComboAdapter mComboAdapter;
//所有沽清数据
private List<SoldoutCtrFood> mCurrentSlodoutFoodList_Full = new ArrayList<>();
//当前沽清类型
private List<SoldoutCtrFood> mCurrentSlodoutFoodList = new ArrayList<>();
//食品数据 //食品数据
private List<Food> mFoodGroupList = new ArrayList<>(); private List<Food> mFoodGroupList = new ArrayList<>();
private List<Food> mFoodList = new ArrayList<>(); private List<Food> mFoodList = new ArrayList<>();
private List<ComboItem> mFoodComboList = new ArrayList<>();
//细项数据 //记录已沽清选中的Item(默认第一个)
private List<Modifier> mModifierList = new ArrayList<>(); private int mCurrentSlodoutFoodPosition_FoodKind = 0;
private int mCurrentSlodoutFoodPosition_Food = 0;
private int mCurrentSlodoutFoodPosition_FoodFine = 0;
//记录种类上次选中的食品种类
private int mFoodKindLastPosition = -1;
//当前操作类型({0=暂停,1=沽清},2=恢复)
private int mOperatTtpe = -1;
private boolean isInsertSoldoutOperat = false;
@Inject @Inject
public SoldoutCtrlPresenter(SoldoutCtrlContract.Model model, SoldoutCtrlContract.View rootView) { public SoldoutCtrlPresenter(SoldoutCtrlContract.Model model, SoldoutCtrlContract.View rootView) {
...@@ -78,41 +118,135 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode ...@@ -78,41 +118,135 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
} }
public void initAdapter() { public void initAdapter() {
// if (mCurrentSlodoutFoodAdapter == null) { if (mCurrentSlodoutFoodAdapter == null) {
// mCurrentSlodoutFoodAdapter = new CurrentSlodoutFoodAdapter(mApplication, mCurrentSlodoutFoodList, GSAApplication.androidSetting.getFoodlListFontSize()); mCurrentSlodoutFoodAdapter = new CurrentSlodoutFoodAdapter(mApplication, mCurrentSlodoutFoodList);
// mRootView.setCurrentSoldoutFoodAdapter(mCurrentSlodoutFoodAdapter); mRootView.setCurrentSoldoutFoodAdapter(mCurrentSlodoutFoodAdapter);
// }
if (mFoodGroupAdapter == null) {
mFoodGroupAdapter = new FoodGroupAdapter(mApplication, mFoodGroupList);
mRootView.setFoodGroupAdapter(mFoodGroupAdapter);
} }
if (mFoodAdapter == null) { if (mFoodAdapter == null) {
mFoodAdapter = new FoodAdapter(mApplication, mFoodList); mFoodAdapter = new FoodAdapter(mApplication, mFoodList, 2);
mRootView.setFoodAdapter(mFoodAdapter); mRootView.setFoodAdapter(mFoodAdapter);
} }
if (mComboAdapter == null) {
mComboAdapter = new ComboAdapter(IActivity, mFoodComboList);
mRootView.setComboAdapter(mComboAdapter);
}
} }
public void initFoodListener() { public void initFoodListener() {
mCurrentSlodoutFoodAdapter.setOnItemClickListener(new CurrentSlodoutFoodAdapter.OnItemClickListener() {
@Override
public void onItemClick(SoldoutCtrFood datasBean, int position) {
VibratorUtils.pressButtonSound(mApplication);
if (mCurrentSlodoutFoodList.size() < 1) {
return;
}
switch (mRootView.getSoldoutType()) {
case FOOD_GROUP_TYPE:
mCurrentSlodoutFoodPosition_FoodKind = position;
break;
case FOOD_TYPE:
mCurrentSlodoutFoodPosition_Food = position;
break;
case MODIFIER_TYPE:
mCurrentSlodoutFoodPosition_FoodFine = position;
break;
default:
break;
}
mCurrentSlodoutFoodAdapter.setSelectPosition(position);
mCurrentSlodoutFoodAdapter.notifyDataSetChanged();
String msg = LanguageUtils.get_language_system(mApplication, "whether.recover", "是否恢復[") + datasBean.getName() + "]";
Class[] parameterTypes = {long.class};
Object[] parameters = {datasBean.getId()};
CommonTipDialog.showDoubtDialog(IActivity, msg, SoldoutCtrlPresenter.class, SoldoutCtrlPresenter.this, "restoreSoldoutCtrl", parameterTypes, parameters);
}
});
mFoodAdapter.setOnItemClickListener(new FoodAdapter.OnItemClickListener() { mFoodAdapter.setOnItemClickListener(new FoodAdapter.OnItemClickListener() {
@Override @Override
public void onItemClick(Food datasBean, int position) { public void onItemClick(Food datasBean, int position) {
// loadComboData(datasBean); VibratorUtils.pressButtonSound(mApplication);
if (mRootView.getSoldoutType() == FOOD_TYPE) {
if (!foodStopOpeart(datasBean)) {
showSoldoutNumberDialog(datasBean.getId(), null);
}
}
} }
}); });
mComboAdapter.setOnItemClickListener(new ComboAdapter.OnItemClickListener() { }
@Subscriber(tag = MealConstant.SOLDOUT_MODIFIER)
private void soldoutModifierItem(Modifier datasBean) {
if (!modifierStopOpeart(datasBean)) {
showSoldoutNumberDialog(null, datasBean.getMid());
}
}
public boolean foodStopOpeart(Food datasBean) {
boolean isStopOpeart = false;
if (mCurrentSlodoutFoodList_Full != null) {
for (SoldoutCtrFood csf : mCurrentSlodoutFoodList_Full) {
if (csf.getFoodId() != null && datasBean.getId() != null &&
csf.getFoodId().equals(datasBean.getId()) && csf.getType() == FOOD_TYPE) {
if (!TextUtils.isEmpty(csf.getQtyName())) {
isStopOpeart = true;
//暂停或者售罄直接提示恢复
String msg = LanguageUtils.get_language_system(IActivity, "whether.recover", "是否恢復[") + datasBean.getFoodName() + "]";
Class[] parameterTypes = {long.class};
Object[] parameters = {csf.getId()};
CommonTipDialog.showDoubtDialog(IActivity, msg, SoldoutCtrlPresenter.class, this, "restoreSoldoutCtrl", parameterTypes, parameters);
break;
}
}
}
}
return isStopOpeart;
}
private boolean modifierStopOpeart(Modifier datasBean) {
boolean isStopOpeart = false;
if (mCurrentSlodoutFoodList_Full != null) {
for (SoldoutCtrFood csf : mCurrentSlodoutFoodList_Full) {
if (csf.getModifierId() != null) {
if (csf.getModifierId() == datasBean.getMid() && csf.getType() == MODIFIER_TYPE) {
if (!TextUtils.isEmpty(csf.getQtyName())) {
isStopOpeart = true;
//暂停或者售罄直接提示恢复
String msg = LanguageUtils.get_language_system(IActivity, "whether.recover", "是否恢復[") + datasBean.getModifierName() + "]";
Class[] parameterTypes = {long.class};
Object[] parameters = {csf.getId()};
CommonTipDialog.showDoubtDialog(IActivity, msg, SoldoutCtrlPresenter.class, this, "restoreSoldoutCtrl", parameterTypes, parameters);
break;
}
}
}
}
}
return isStopOpeart;
}
public void showSoldoutNumberDialog(Long foodId, Long modifierId) {
//选择沽清的数量
ChooseNumberDialog chooseNumberDialog = new ChooseNumberDialog(IActivity);
chooseNumberDialog.builder();
chooseNumberDialog.setOnClickListener(new ChooseNumberDialog.OnClickListener() {
@Override @Override
public void onItemClick(ComboItem datasBean, int position) { public void onComfirmClick(String number) {
insertSoldoutCtrl(foodId, modifierId, Integer.parseInt(number), Integer.parseInt(number) == 0 ? 0 : 1);
}
@Override
public void onBackPage() {
} }
}); });
chooseNumberDialog.setType(2);
chooseNumberDialog.setCancelable(true);
chooseNumberDialog.show();
} }
public void initFoodData() { public void initFoodData() {
...@@ -122,8 +256,10 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode ...@@ -122,8 +256,10 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
//默認選中第一組 //默認選中第一組
mFoodGroupList.get(0).setSelected(true); mFoodGroupList.get(0).setSelected(true);
IActivity.initFoodGroupView(mFoodGroupList); IActivity.initFoodGroupView(mFoodGroupList);
changedMealByParentId(mFoodGroupList.get(0).getId()); changedMealByParentId(mFoodGroupList.get(0).getId());
} }
getCurrentSoldoutFood();
} }
public void changedMealByParentId(long parentId) { public void changedMealByParentId(long parentId) {
...@@ -134,18 +270,6 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode ...@@ -134,18 +270,6 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
} }
} }
private void loadComboData(Food food) {
long fid = food.getId();
//获取套餐细项数据
List<ComboItem> comboItems = mModel.queryDB_ComboList(fid);
//更新套餐数据
updateComboData(comboItems);
mRootView.showViewModeVisibility(MealConstant.combo_ViewMode);
}
/** /**
* 更新食品數據 * 更新食品數據
* *
...@@ -160,14 +284,268 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode ...@@ -160,14 +284,268 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
} }
/** /**
* 更新套餐數據 * 設置食品沽清數據
*/
public void setFoodSoldoutCtrData() {
clearFoodSoldoutCtrData();
for (SoldoutCtrFood scc : mCurrentSlodoutFoodList_Full) {
for (Food foodGroupBean : mFoodGroupList) {
if (scc.getType() == FOOD_GROUP_TYPE && scc.getFoodId() != null && foodGroupBean.getId() != null && foodGroupBean.getId().equals(scc.getFoodId())) {
String qty = scc.getQtyName();
foodGroupBean.setMaxNumber(qty);
foodGroupBean.setCurrentMaxNumber(qty);
}
}
for (Food foodBean : mFoodList) {
if (scc.getType() == FOOD_TYPE && scc.getFoodId() != null && foodBean.getId() != null && foodBean.getId().equals(scc.getFoodId())) {
String qty = scc.getQtyName();
foodBean.setMaxNumber(qty);
foodBean.setCurrentMaxNumber(qty);
}
}
}
IActivity.getFoodGroupAdapter().notifyDataSetChanged();
mFoodAdapter.notifyDataSetChanged();
}
private void clearFoodSoldoutCtrData() {
for (Food foodGroupBean : mFoodGroupList) {
foodGroupBean.setMaxNumber("");
foodGroupBean.setCurrentMaxNumber("");
}
for (Food foodBean : mFoodList) {
foodBean.setMaxNumber("");
foodBean.setCurrentMaxNumber("");
}
}
/**
* 过滤沽清数据
*/
public void filterSlodoutData(boolean init) {
if (mCurrentSlodoutFoodList_Full == null)
return;
if (mCurrentSlodoutFoodList.size() > 0)
mCurrentSlodoutFoodList.clear();
switch (mRootView.getSoldoutType()) {
case FOOD_GROUP_TYPE:
for (SoldoutCtrFood scc : mCurrentSlodoutFoodList_Full) {
if (scc.getType() == FOOD_GROUP_TYPE) {
mCurrentSlodoutFoodList.add(scc);
}
}
break;
case FOOD_TYPE:
for (SoldoutCtrFood scc : mCurrentSlodoutFoodList_Full) {
if (scc.getType() == FOOD_TYPE) {
mCurrentSlodoutFoodList.add(scc);
}
}
break;
case MODIFIER_TYPE:
for (SoldoutCtrFood scc : mCurrentSlodoutFoodList_Full) {
if (scc.getType() == MODIFIER_TYPE) {
mCurrentSlodoutFoodList.add(scc);
}
}
break;
default:
break;
}
if (!init) {
//沽清完重新获取数据
if (isInsertSoldoutOperat) {
isInsertSoldoutOperat = false;
mCurrentSlodoutFoodAdapter.setSelectPosition(mCurrentSlodoutFoodList.size() - 1);
mRootView.getRecycleCurrentSoldoutFood().smoothScrollToPosition(mCurrentSlodoutFoodList.size() - 1);
} else {
switch (mRootView.getSoldoutType()) {
case FOOD_GROUP_TYPE:
if (mCurrentSlodoutFoodPosition_FoodKind != 0 && mCurrentSlodoutFoodList.size() > 1) {
if (mOperatTtpe != -1) {
if (mOperatTtpe == 0 || mOperatTtpe == 1) {
mCurrentSlodoutFoodPosition_FoodKind = mCurrentSlodoutFoodList.size() - 1; //暂停、沽清选中当前操作的
} else {
mCurrentSlodoutFoodPosition_FoodKind--; //恢复选中上面一个
}
}
}
mCurrentSlodoutFoodAdapter.setSelectPosition(mCurrentSlodoutFoodPosition_FoodKind);
break;
case FOOD_TYPE:
if (mCurrentSlodoutFoodPosition_Food != 0 && mCurrentSlodoutFoodList.size() > 1) {
if (mOperatTtpe != -1) {
if (mOperatTtpe == 0 || mOperatTtpe == 1) {
mCurrentSlodoutFoodPosition_Food = mCurrentSlodoutFoodList.size() - 1; //暂停、沽清选中当前操作的
} else {
mCurrentSlodoutFoodPosition_Food--; //恢复选中上面一个
}
}
}
mCurrentSlodoutFoodAdapter.setSelectPosition(mCurrentSlodoutFoodPosition_Food);
break;
case MODIFIER_TYPE:
if (mCurrentSlodoutFoodPosition_FoodFine != 0 && mCurrentSlodoutFoodList.size() > 1) {
if (mOperatTtpe != -1) {
if (mOperatTtpe == 0 || mOperatTtpe == 1) {
mCurrentSlodoutFoodPosition_FoodFine = mCurrentSlodoutFoodList.size() - 1; //暂停、沽清选中当前操作的
} else {
mCurrentSlodoutFoodPosition_FoodFine--; //恢复选中上面一个
}
}
}
mCurrentSlodoutFoodAdapter.setSelectPosition(mCurrentSlodoutFoodPosition_FoodFine);
break;
}
}
}
mCurrentSlodoutFoodAdapter.notifyDataSetChanged();
}
public void getCurrentSoldoutFood() {
long restaurantId = GsaCloudApplication.getRestaurantId(mApplication);
RequestBody requestBody = new FormBody.Builder()
.add("restaurantId", String.valueOf(restaurantId))
.build();
mModel.getCurrentSoldoutFood(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 info) {
if (info != null && info.isSuccess() && info.getData() != null) {
List<SoldoutCtrFood> soldoutCtrFoods = JsonUtils.parseArray(info.getData(), SoldoutCtrFood.class);
if (soldoutCtrFoods != null && soldoutCtrFoods.size() > 0) {
if (mCurrentSlodoutFoodList_Full.size() > 0) {
mCurrentSlodoutFoodList_Full.clear();
}
mCurrentSlodoutFoodList_Full.addAll(soldoutCtrFoods);
filterSlodoutData(false);
//更新細項沽清數據
IActivity.updateCurrentSlodoutFoodList_Full(mCurrentSlodoutFoodList_Full);
} else {
if (mCurrentSlodoutFoodList_Full.size() > 0) {
mCurrentSlodoutFoodList_Full.clear();
}
//更新細項沽清數據
IActivity.updateCurrentSlodoutFoodList_Full(mCurrentSlodoutFoodList_Full);
if (mCurrentSlodoutFoodList.size() > 0) {
mCurrentSlodoutFoodList.clear();
}
mCurrentSlodoutFoodAdapter.notifyDataSetChanged();
}
setFoodSoldoutCtrData();
}
}
});
}
/**
* 插入沽清控制
* *
* @param foodComboList * @param foodId
* @param modifierId
* @param remainingNumber
* @param operatTtpe 0= 暂停,1=改变食品沽清数量
*/ */
private void updateComboData(List<ComboItem> foodComboList) { public void insertSoldoutCtrl(Long foodId, Long modifierId, int remainingNumber, int operatTtpe) {
mFoodComboList.clear(); SoldoutRequest.Insert request = getInsertSoldoutRequest(foodId, modifierId, remainingNumber);
mFoodComboList.addAll(foodComboList); RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(request));
mComboAdapter.notifyDataSetChanged(); String json = GsonUtils.GsonString(request);
mModel.insertSoldoutCtrl(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 info) {
if (info != null && info.isSuccess()) {
//记录操作类型
mOperatTtpe = operatTtpe;
if (mOperatTtpe == 1) {
isInsertSoldoutOperat = true;
}
//重新获取沽清数据
getCurrentSoldoutFood();
} else {
if (operatTtpe == 0)
mRootView.showMessage(LanguageUtils.get_language_system(mApplication, "pause.failed", "暫停失敗!"));
else
mRootView.showMessage(LanguageUtils.get_language_system(mApplication, "soldout.failure", "沽清失敗!"));
}
}
});
}
public void restoreSoldoutCtrl(long id) {
SoldoutRequest.update request = getDeleteRequest(id);
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(request));
String json = GsonUtils.GsonString(request);
mModel.restoreSoldoutCtrl(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 info) {
if (info != null && info.isSuccess()) {
//记录恢复操作类型
mOperatTtpe = 2;
//重新获取沽清数据
getCurrentSoldoutFood();
} else {
mRootView.showMessage(LanguageUtils.get_language_system(mApplication, "recovery.failure", "恢復失敗!"));
}
}
});
} }
private SoldoutRequest.Insert getInsertSoldoutRequest(Long foodId, Long modifierId, int remainingNumber) {
SoldoutRequest.Insert request = new SoldoutRequest.Insert();
request.setBrandId(GsaCloudApplication.getBrandId(mApplication));
request.setRestaurantId(GsaCloudApplication.getRestaurantId(mApplication));
if (foodId != null) {
request.setFoodId(foodId);
}
if (modifierId != null) {
request.setModifierId(modifierId);
}
request.setType(mRootView.getSoldoutType());
request.setRemainingNumber(remainingNumber);
request.setUid(GsaCloudApplication.getMemberId(mApplication));
return request;
}
private SoldoutRequest.update getDeleteRequest(long id) {
SoldoutRequest.update request = new SoldoutRequest.update();
request.setId(id);
request.setDeletes(1);
return request;
}
public List<SoldoutCtrFood> getCurrentSlodoutFoodList_Full() {
return mCurrentSlodoutFoodList_Full;
}
} }
...@@ -65,7 +65,7 @@ public class StateTablePresenter extends BasePresenter<StateTableContract.Model, ...@@ -65,7 +65,7 @@ public class StateTablePresenter extends BasePresenter<StateTableContract.Model,
super(model, rootView); super(model, rootView);
this.IView = (StateTableFragment) rootView; this.IView = (StateTableFragment) rootView;
Activity activity = IView.getActivity(); Activity activity = IView.getCurrentActivity();
if (activity instanceof TableActivity) { if (activity instanceof TableActivity) {
mTableActivity = (TableActivity) activity; mTableActivity = (TableActivity) activity;
} else if (activity instanceof OrderContentActivity) { } else if (activity instanceof OrderContentActivity) {
......
...@@ -6,7 +6,6 @@ import android.view.View; ...@@ -6,7 +6,6 @@ import android.view.View;
import com.billy.cc.core.component.CC; import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.common.bean.OrderBean; import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail; import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean; import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
...@@ -15,13 +14,11 @@ import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage; ...@@ -15,13 +14,11 @@ import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
import com.gingersoft.gsa.cloud.base.utils.CommonConfiguration; import com.gingersoft.gsa.cloud.base.utils.CommonConfiguration;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils; import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.constans.GoldConstants; import com.gingersoft.gsa.cloud.constans.GoldConstants;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.bean.FoodCombo; import com.gingersoft.gsa.cloud.database.bean.FoodCombo;
import com.gingersoft.gsa.cloud.database.bean.Function; import com.gingersoft.gsa.cloud.database.bean.Function;
import com.gingersoft.gsa.cloud.database.utils.FoodComboDaoUtils; import com.gingersoft.gsa.cloud.database.utils.FoodComboDaoUtils;
import com.gingersoft.gsa.cloud.function.FModule;
import com.gingersoft.gsa.cloud.function.FunctionManager; import com.gingersoft.gsa.cloud.function.FunctionManager;
import com.gingersoft.gsa.cloud.function.FunctionModule; import com.gingersoft.gsa.cloud.table.ComponentTable;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.app.TableOperatTypeConstant; import com.gingersoft.gsa.cloud.table.app.TableOperatTypeConstant;
import com.gingersoft.gsa.cloud.table.mvp.contract.TableContract; import com.gingersoft.gsa.cloud.table.mvp.contract.TableContract;
...@@ -151,50 +148,64 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -151,50 +148,64 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
@Override @Override
public void onItemClick(View view, int viewType, Object data, int position) { public void onItemClick(View view, int viewType, Object data, int position) {
if (mBottomFunctionList.get(position).getResUrl().equals(FunctionModule.Table.bottom[0].getKeyRes())) { switch (position) {
case 0:
//重置 //重置
mRootView.setCurrentOperatType(TableOperatTypeConstant.init_table_3); mRootView.setCurrentOperatType(TableOperatTypeConstant.init_table_3);
return; break;
} case 1:
if (mBottomFunctionList.get(position).getResUrl().equals(FunctionModule.Table.bottom[1].getKeyRes())) {
//轉檯 //轉檯
mRootView.setCurrentOperatType(TableOperatTypeConstant.move_table_4); mRootView.setCurrentOperatType(TableOperatTypeConstant.move_table_4);
return; break;
} case 2:
if (mBottomFunctionList.get(position).getResUrl().equals(FunctionModule.Table.bottom[2].getKeyRes())) {
//分檯
return;
}
if (mBottomFunctionList.get(position).getResUrl().equals(FunctionModule.Table.bottom[3].getKeyRes())) {
//上菜紙 //上菜紙
CC.obtainBuilder("Component.Print") mRootView.setCurrentOperatType(TableOperatTypeConstant.print_parper_2);
.setActionName("printActivity") break;
.addParam("type", 0)
.build()
.callAsync((cc, result) -> {
if (result.isSuccess()) {
//打印成功
}
});
return;
} }
// if (mBottomFunctionList.get(position).getResUrl().equals(ComponentTable.Function.bottom[0].getKeyRes())) {
// //重置
// mRootView.setCurrentOperatType(TableOperatTypeConstant.init_table_3);
// return;
// }
// if (mBottomFunctionList.get(position).getResUrl().equals(ComponentTable.Function.bottom[1].getKeyRes())) {
// //轉檯
// mRootView.setCurrentOperatType(TableOperatTypeConstant.move_table_4);
// return;
// }
// if (mBottomFunctionList.get(position).getResUrl().equals(ComponentTable.Function.bottom[2].getKeyRes())) {
// //分檯
// return;
// }
// if (mBottomFunctionList.get(position).getResUrl().equals(ComponentTable.Function.bottom[3].getKeyRes())) {
// //上菜紙
// CC.obtainBuilder("Component.Print")
// .setActionName("printActivity")
// .addParam("type", 0)
// .build()
// .callAsync((cc, result) -> {
// if (result.isSuccess()) {
// //打印成功
// }
// });
// return;
// }
} }
}); });
} }
public void initBottomFunctionItem() { public void initBottomFunctionItem() {
List<Function> functions = FunctionManager.getDefault().getFunctionByResModule(IActivity, FunctionModule.Table.class, "bottom"); // List<Function> functions = FunctionManager.getDefault().getFunctionByResModule(IActivity, ComponentTable.Function.class, ComponentTable.Function.bottom,"bottom");
for (int i = 0; i < functions.size(); i++) { // for (int i = 0; i < functions.size(); i++) {
functions.get(i).setTextSize(ArmsUtils.getDimens(IActivity, R.dimen.sp_14)); // functions.get(i).setTextSize(ArmsUtils.getDimens(IActivity, R.dimen.sp_14));
functions.get(i).setTextColor(ArmsUtils.getColor(IActivity, R.color.theme_black)); // functions.get(i).setTextColor(ArmsUtils.getColor(IActivity, R.color.theme_black));
functions.get(i).setIconRes(FunctionModule.Table.bottom[i].getOpenIconRes()); // functions.get(i).setIconRes(ComponentTable.Function.bottom[i].getOpenIconRes());
} // }
mBottomFunctionList.addAll(functions); // mBottomFunctionList.addAll(functions);
// mBottomFunctionList.add(new Function((long) 1, "重置檯號", ArmsUtils.getColor(IActivity, R.color.theme_black), ArmsUtils.getDimens(IActivity, R.dimen.sp_14), R.mipmap.table_init)); mBottomFunctionList.add(new Function((long) 1, "重置檯號", ArmsUtils.getColor(IActivity, R.color.theme_black), ArmsUtils.getDimens(IActivity, R.dimen.sp_14), R.mipmap.table_init));
// mBottomFunctionList.add(new Function((long) 2, "轉檯", ArmsUtils.getColor(IActivity, R.color.theme_black), ArmsUtils.getDimens(IActivity, R.dimen.sp_14), R.mipmap.table_move)); mBottomFunctionList.add(new Function((long) 2, "轉檯", ArmsUtils.getColor(IActivity, R.color.theme_black), ArmsUtils.getDimens(IActivity, R.dimen.sp_14), R.mipmap.table_move));
// mBottomFunctionList.add(new Function((long) 3, "分檯", ArmsUtils.getColor(IActivity, R.color.theme_black), ArmsUtils.getDimens(IActivity, R.dimen.sp_14), R.mipmap.table_splite)); // mBottomFunctionList.add(new Function((long) 3, "分檯", ArmsUtils.getColor(IActivity, R.color.theme_black), ArmsUtils.getDimens(IActivity, R.dimen.sp_14), R.mipmap.table_splite));
// mBottomFunctionList.add(new Function((long) 4, "skyorder", ArmsUtils.getColor(IActivity, R.color.theme_black), ArmsUtils.getDimens(IActivity, R.dimen.sp_14), R.mipmap.table_skyorder)); // mBottomFunctionList.add(new Function((long) 4, "skyorder", ArmsUtils.getColor(IActivity, R.color.theme_black), ArmsUtils.getDimens(IActivity, R.dimen.sp_14), R.mipmap.table_skyorder));
// mBottomFunctionList.add(new Function((long) 5, "上菜紙", ArmsUtils.getColor(IActivity,R.color.theme_black), ArmsUtils.getDimens(IActivity,R.dimen.sp_14), R.mipmap.table_paper)); mBottomFunctionList.add(new Function((long) 5, "上菜紙", ArmsUtils.getColor(IActivity, R.color.theme_black), ArmsUtils.getDimens(IActivity, R.dimen.sp_14), R.mipmap.table_paper));
} }
public void getTables(boolean show, RefreshLayout refreshLayout) { public void getTables(boolean show, RefreshLayout refreshLayout) {
...@@ -326,7 +337,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -326,7 +337,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
OpenTableManage.getDefault().setTableBean(openTableBean); OpenTableManage.getDefault().setTableBean(openTableBean);
mRootView.startMealStandActivity(); mRootView.startMealStandActivity();
} else { } else {
CommonTipDialog.showSurpisedDialog(IActivity,respose.getErrMsg(),null,null,null,null,null); CommonTipDialog.showSurpisedDialog(IActivity, respose.getErrMsg(), null, null, null, null, null);
} }
} }
}); });
...@@ -456,7 +467,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -456,7 +467,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
.subscribeOn(AndroidSchedulers.mainThread()) .subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> { .doAfterTerminate(() -> {
if(showMessage) if (showMessage)
mRootView.hideLoading(); mRootView.hideLoading();
}) })
.compose(RxLifecycleUtils.bindToLifecycle(mRootView)) .compose(RxLifecycleUtils.bindToLifecycle(mRootView))
...@@ -487,6 +498,41 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -487,6 +498,41 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
}); });
} }
public void loadOrderList(long orderId, boolean isPrintParper) {
RequestBody requestBody = new FormBody.Builder()
.add("orderId", orderId + "")
.build();
mModel.initTable(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseRespose>(mErrorHandler) {
@Override
public void onNext(@NonNull BaseRespose respose) {
if (respose.isSuccess()) {
if (isPrintParper) {
//打印上菜紙
startPrintParper();
}
} else {
mRootView.showMessage(respose.getErrMsg());
}
}
});
}
private void startPrintParper() {
}
/** /**
* 根据操作类型过滤一遍餐台 * 根据操作类型过滤一遍餐台
*/ */
...@@ -541,7 +587,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -541,7 +587,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
break; break;
case TableOperatTypeConstant.print_parper_2: case TableOperatTypeConstant.print_parper_2:
dialogBuilder.setMessage("是否確認打印");
break; break;
case TableOperatTypeConstant.init_table_3: case TableOperatTypeConstant.init_table_3:
dialogBuilder.setMessage("是否確認重置" + dataBean.getTableName() + "號檯?"); dialogBuilder.setMessage("是否確認重置" + dataBean.getTableName() + "號檯?");
......
...@@ -68,7 +68,7 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -68,7 +68,7 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
public AllOrderPresenter(AllOrderContract.Model model, AllOrderContract.View rootView) { public AllOrderPresenter(AllOrderContract.Model model, AllOrderContract.View rootView) {
super(model, rootView); super(model, rootView);
AllOrderFragment allOrderFragment = (AllOrderFragment) rootView; AllOrderFragment allOrderFragment = (AllOrderFragment) rootView;
this.IActivity = (OrderCenterActivity) allOrderFragment.getActivity(); this.IActivity = (OrderCenterActivity) allOrderFragment.getCurrentActivity();
} }
@Override @Override
......
...@@ -51,12 +51,13 @@ import com.gingersoft.gsa.cloud.constans.GoldConstants; ...@@ -51,12 +51,13 @@ import com.gingersoft.gsa.cloud.constans.GoldConstants;
import com.gingersoft.gsa.cloud.table.di.component.DaggerMealStandComponent; import com.gingersoft.gsa.cloud.table.di.component.DaggerMealStandComponent;
import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract; import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract;
import com.gingersoft.gsa.cloud.constans.MealConstant; import com.gingersoft.gsa.cloud.constans.MealConstant;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.presenter.MealStandPresenter; import com.gingersoft.gsa.cloud.table.mvp.presenter.MealStandPresenter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BaseFragmentAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BaseFragmentAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.FineItemAllFragment; import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.FineItemAllFragment;
import com.gingersoft.gsa.cloud.table.mvp.ui.widget.ChooseNumberDialog; import com.gingersoft.gsa.cloud.table.mvp.ui.widget.ChooseNumberDialog;
import com.gingersoft.gsa.cloud.ui.adapter.meal.FoodGroupAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter;
import com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerConfig; import com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerConfig;
import com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridLayoutManager; import com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridLayoutManager;
import com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridSnapHelper; import com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridSnapHelper;
...@@ -258,15 +259,6 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen ...@@ -258,15 +259,6 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
EventBus.getDefault().registerSticky(this); EventBus.getDefault().registerSticky(this);
//清除Greendao食品緩存
FoodDaoUtils foodDaoUtils = new FoodDaoUtils(this);
foodDaoUtils.detachAll();
FoodComboDaoUtils foodComboDaoUtils = new FoodComboDaoUtils(this);
foodComboDaoUtils.detachAll();
FoodModifierDaoUtils foodModifierDaoUtils = new FoodModifierDaoUtils(this);
foodModifierDaoUtils.detachAll();
ComboItemDaoUtils comboItemDaoUtils = new ComboItemDaoUtils(this);
comboItemDaoUtils.detachAll();
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
} }
...@@ -277,6 +269,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen ...@@ -277,6 +269,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
@Override @Override
public void initData(@Nullable Bundle savedInstanceState) { public void initData(@Nullable Bundle savedInstanceState) {
initViewMap(); initViewMap();
//初始化Plu模式 //初始化Plu模式
setPluMode(); setPluMode();
...@@ -284,7 +277,6 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen ...@@ -284,7 +277,6 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
mPresenter.initItemClickListener(); mPresenter.initItemClickListener();
//初始化默认食品组 //初始化默认食品组
mPresenter.initMealData(); mPresenter.initMealData();
setViewDrawableColor();
//搜索 //搜索
keyView.setOnConfirmCallBack(inputText -> { keyView.setOnConfirmCallBack(inputText -> {
if (TextUtils.isEmpty(inputText)) if (TextUtils.isEmpty(inputText))
...@@ -295,6 +287,9 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen ...@@ -295,6 +287,9 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
//根据倒计时时间自动退出当前页面 //根据倒计时时间自动退出当前页面
initAutoQuit(); initAutoQuit();
} }
mPresenter.getCurrentSoldoutFood();
setViewDrawableColor();
initTableDetail(); initTableDetail();
} }
...@@ -333,7 +328,8 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen ...@@ -333,7 +328,8 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
mLayoutManager = new PagerGridLayoutManager(Rows, GoldConstants.foodGriupColumns, PagerGridLayoutManager.HORIZONTAL); mLayoutManager = new PagerGridLayoutManager(Rows, GoldConstants.foodGriupColumns, PagerGridLayoutManager.HORIZONTAL);
// 水平分页布局管理器 // 水平分页布局管理器
mLayoutManager.setPageListener(this); //设置页面变化监听器 mLayoutManager.setPageListener(this);
//设置页面变化监听器
rv_food_group.setLayoutManager(mLayoutManager); rv_food_group.setLayoutManager(mLayoutManager);
// 设置滚动辅助工具 // 设置滚动辅助工具
...@@ -344,26 +340,18 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen ...@@ -344,26 +340,18 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
PagerConfig.setShowLog(true); PagerConfig.setShowLog(true);
// 使用原生的 Adapter 即可 // 使用原生的 Adapter 即可
mFoodGroupAdapter = new FoodGroupAdapter(this, foodGroupList); mFoodGroupAdapter = new FoodGroupAdapter(this, foodGroupList,1);
mFoodGroupAdapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
@Override
public void onChanged() {
super.onChanged();
int count = mFoodGroupAdapter.getItemCount();
}
});
rv_food_group.setAdapter(mFoodGroupAdapter); rv_food_group.setAdapter(mFoodGroupAdapter);
mFoodGroupAdapter.setOnItemClickListener(new FoodGroupAdapter.OnItemClickListener() { mFoodGroupAdapter.setOnItemClickListener(new FoodGroupAdapter.OnItemClickListener() {
@Override @Override
public void onItemClick(Food datasBean, int position) { public void onItemClick(Food datasBean, int position) {
recordOperat(true); recordOperat(true);
if (!foodGroupConditionFilter(datasBean, false)) { if (!mPresenter.foodGroupConditionFilter(datasBean, false)) {
return; return;
} }
mPresenter.setRvMealClicked(false); mPresenter.setRvMealClicked(false);
mPresenter.changedMealByParentId(datasBean.getId()); mPresenter.changedMealByParentId(datasBean.getId());
mPresenter.setFoodSoldoutCtrData();
} }
}); });
...@@ -399,27 +387,6 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen ...@@ -399,27 +387,6 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
} }
} }
/**
* 添加食品条件过滤
* 1:售罄、最大选择数
*/
public boolean foodGroupConditionFilter(Food foodBean, boolean init) {
if (init) {
return true;
}
long Invisible = foodBean.getInvisible();
if (Invisible == 2) {
new QMUITipDialog.Builder(this)
.setTipWord("已售罄(Comm.sold)")
.create(true);
return false;
}
return true;
}
@Override @Override
public boolean isInitFineItemLayout() { public boolean isInitFineItemLayout() {
return initFineItemLayout; return initFineItemLayout;
...@@ -444,7 +411,6 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen ...@@ -444,7 +411,6 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
String[] tabTitles = new String[3]; String[] tabTitles = new String[3];
tabTitles[0] = "口味"; tabTitles[0] = "口味";
tabTitles[1] = "特別信息"; tabTitles[1] = "特別信息";
// tabTitles[2] = "多選";
BaseFragmentAdapter adapter = new BaseFragmentAdapter(this, fm, fragmentList, Arrays.asList(tabTitles)); BaseFragmentAdapter adapter = new BaseFragmentAdapter(this, fm, fragmentList, Arrays.asList(tabTitles));
pager_fine.setAdapter(adapter); pager_fine.setAdapter(adapter);
...@@ -758,7 +724,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen ...@@ -758,7 +724,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
@Override @Override
public void setFoodGroupAdapter(DefaultAdapter adapter) { public void setFoodGroupAdapter(DefaultAdapter adapter) {
rv_food_group.addItemDecoration(new GridDividerItemDecoration(QMUIDisplayHelper.dpToPx(1), ArmsUtils.getColor(getActivity(), R.color.black))); rv_food_group.addItemDecoration(new GridDividerItemDecoration(QMUIDisplayHelper.dpToPx(1), ArmsUtils.getColor(mContext, R.color.black)));
rv_food_group.setAdapter(adapter); rv_food_group.setAdapter(adapter);
} }
...@@ -1023,30 +989,36 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen ...@@ -1023,30 +989,36 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
initFineItemTabBarViewPage(); initFineItemTabBarViewPage();
modMsgFineItemFragment.onModMsgMidEvent(mPresenter.getCurrentOrderDetailBean().getProductId()); setFineItemSlodoutListFull(mPresenter.getSoldoutCtrList());
// EventBus.getDefault().post(mSoldoutList_full, "FineItemAllFragment_onCurrentSlodoutFoodList_FullEvent");
// EventBus.getDefault().post(mPresenter.getCurrentOrderDetailBean().getFid(), "FineItemAllFragment_onMidEvent");
modMsgFineItemFragment.onModMsgMidEvent(mPresenter.getCurrentOrderDetailBean().getProductId());
modSasteFineItemFragment.onModSasteEvent(mPresenter.getCurrentOrderDetailBean().getProductId()); modSasteFineItemFragment.onModSasteEvent(mPresenter.getCurrentOrderDetailBean().getProductId());
// EventBus.getDefault().post(mSoldoutList_full, "FineItemKindFragment_onCurrentSlodoutFoodList_FullEvent");
// EventBus.getDefault().post(mPresenter.getCurrentOrderDetailBean().getFid(), "FineItemKindFragment_onMidEvent");
// modCommFineItemFragment.onModCommEvent(mPresenter.getCurrentOrderDetailBean().getProductId());
} else { } else {
modMsgFineItemFragment.onModMsgMidEvent(mPresenter.getCurrentOrderDetailBean().getProductId()); modMsgFineItemFragment.onModMsgMidEvent(mPresenter.getCurrentOrderDetailBean().getProductId());
modSasteFineItemFragment.onModSasteEvent(mPresenter.getCurrentOrderDetailBean().getProductId()); modSasteFineItemFragment.onModSasteEvent(mPresenter.getCurrentOrderDetailBean().getProductId());
// modCommFineItemFragment.onModCommEvent(mPresenter.getCurrentOrderDetailBean().getProductId());
setCurrentFinePage(); setCurrentFinePage();
showViewModeVisibility(MealConstant.fine_ViewMode, MealConstant.fine_tabs_ViewMode); showViewModeVisibility(MealConstant.fine_ViewMode, MealConstant.fine_tabs_ViewMode);
} }
} }
/**
* 設置細項沽清數據
* @param slodoutListFull
*/
public void setFineItemSlodoutListFull(List<SoldoutCtrFood> slodoutListFull) {
if (modMsgFineItemFragment != null) {
modMsgFineItemFragment.updateCurrentSlodoutFoodList_Full(slodoutListFull);
}
if (modSasteFineItemFragment != null) {
modSasteFineItemFragment.updateCurrentSlodoutFoodList_Full(slodoutListFull);
}
}
private void initViewMap() { private void initViewMap() {
map.put(MealConstant.food_group_ViewMode, ll_food_group); map.put(MealConstant.food_group_ViewMode, ll_food_group);
map.put(MealConstant.food_ViewMode, rv_food); map.put(MealConstant.food_ViewMode, rv_food);
...@@ -1059,7 +1031,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen ...@@ -1059,7 +1031,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
// @SwitchPrintMethod // @SwitchPrintMethod
btn_send_order.setOnLongClickListener(v -> { btn_send_order.setOnLongClickListener(v -> {
PrinterUtils.switchPrintMethod(mContext); PrinterUtils.switchPrintMethod(mContext,null,null);
return false; return false;
}); });
} }
......
...@@ -248,7 +248,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -248,7 +248,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
if (difference == 0) if (difference == 0)
tv_difference_money.setText("$" + Math.abs(difference)); tv_difference_money.setText("$" + Math.abs(difference));
else else
tv_difference_money.setText("$-" + Math.abs(difference)); tv_difference_money.setText("-$" + Math.abs(difference));
} }
} }
...@@ -291,7 +291,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -291,7 +291,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
@OnLongClick({R2.id.btn_sure_pay}) @OnLongClick({R2.id.btn_sure_pay})
public boolean onLongClick(View v) { public boolean onLongClick(View v) {
if (v.getId() == R.id.btn_sure_pay) { if (v.getId() == R.id.btn_sure_pay) {
PrinterUtils.switchPrintMethod(mContext); PrinterUtils.switchPrintMethod(mContext, null, null);
} }
return false; return false;
} }
......
...@@ -4,6 +4,7 @@ import android.app.AlertDialog; ...@@ -4,6 +4,7 @@ import android.app.AlertDialog;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils;
import android.util.SparseArray; import android.util.SparseArray;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
...@@ -14,6 +15,7 @@ import android.widget.TextView; ...@@ -14,6 +15,7 @@ import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.qmui.arch.QMUIFragmentPagerAdapter; import com.gingersoft.gsa.cloud.base.qmui.arch.QMUIFragmentPagerAdapter;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils; import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.base.utils.VibratorUtils;
import com.gingersoft.gsa.cloud.base.utils.log.LogUtil; import com.gingersoft.gsa.cloud.base.utils.log.LogUtil;
import com.gingersoft.gsa.cloud.constans.GoldConstants; import com.gingersoft.gsa.cloud.constans.GoldConstants;
import com.gingersoft.gsa.cloud.constans.MealConstant; import com.gingersoft.gsa.cloud.constans.MealConstant;
...@@ -26,12 +28,14 @@ import com.gingersoft.gsa.cloud.table.R; ...@@ -26,12 +28,14 @@ import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2; import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.di.component.DaggerSoldoutCtrlComponent; import com.gingersoft.gsa.cloud.table.di.component.DaggerSoldoutCtrlComponent;
import com.gingersoft.gsa.cloud.table.mvp.contract.SoldoutCtrlContract; import com.gingersoft.gsa.cloud.table.mvp.contract.SoldoutCtrlContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.presenter.SoldoutCtrlPresenter; import com.gingersoft.gsa.cloud.table.mvp.presenter.SoldoutCtrlPresenter;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.FineItemAllFragment; import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.FineItemAllFragment;
import com.gingersoft.gsa.cloud.ui.adapter.meal.FoodGroupAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter;
import com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridLayoutManager; import com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridLayoutManager;
import com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridSnapHelper; import com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridSnapHelper;
import com.gingersoft.gsa.cloud.ui.view.RecyclerViewNoBugLinearLayoutManager; import com.gingersoft.gsa.cloud.ui.view.RecyclerViewNoBugLinearLayoutManager;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog; import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
import com.jess.arms.base.BaseActivity; import com.jess.arms.base.BaseActivity;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
...@@ -118,8 +122,16 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl ...@@ -118,8 +122,16 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
private int mCurrentViewMode; private int mCurrentViewMode;
private String[] mTypeItem = {"沽清控制-食品組", "沽清控制-食品", "沽清控制-細項"}; private String[] mTypeItem = {"沽清控制-食品組", "沽清控制-食品", "沽清控制-細項"};
// 0-食品組 1--食品 2--細項 默認為食品 /**
private int mSoldoutType = 1; * 1-食品組
* 2-食品
* 3-細項
* 默認為食品
*/
private int mSoldoutType = 2;
public static final int FOOD_GROUP_TYPE = 1;
public static final int FOOD_TYPE = 2;
public static final int MODIFIER_TYPE = 3;
private FineItemAllFragment modMsgFineItemFragment, modSasteFineItemFragment; private FineItemAllFragment modMsgFineItemFragment, modSasteFineItemFragment;
private String[] mFineTabTitles = {"口味", "特別信息"}; private String[] mFineTabTitles = {"口味", "特別信息"};
...@@ -150,15 +162,6 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl ...@@ -150,15 +162,6 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
//清除Greendao食品緩存
FoodDaoUtils foodDaoUtils = new FoodDaoUtils(this);
foodDaoUtils.detachAll();
FoodComboDaoUtils foodComboDaoUtils = new FoodComboDaoUtils(this);
foodComboDaoUtils.detachAll();
FoodModifierDaoUtils foodModifierDaoUtils = new FoodModifierDaoUtils(this);
foodModifierDaoUtils.detachAll();
ComboItemDaoUtils comboItemDaoUtils = new ComboItemDaoUtils(this);
comboItemDaoUtils.detachAll();
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
} }
...@@ -201,8 +204,7 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl ...@@ -201,8 +204,7 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
@Override @Override
public void initLanguage() { public void initLanguage() {
tv_sold_hmmc.setText(LanguageUtils.get_language_system(this, "soldout_head_name", "項目名稱")); tv_sold_hmmc.setText(LanguageUtils.get_language_system(this, "soldout_head_name", "項目名稱"));
tv_sold_hmsl.setText(LanguageUtils.get_language_system(this, "soldout_head_number", "項目名稱")); tv_sold_hmsl.setText(LanguageUtils.get_language_system(this, "soldout_head_number", "數量"));
} }
@Override @Override
...@@ -214,10 +216,10 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl ...@@ -214,10 +216,10 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
} }
private void initRecyclerHeight() { private void initRecyclerHeight() {
// int screenHeidth = ArmsUtils.getScreenHeidth(this); int screenHeidth = ArmsUtils.getScreenHeidth(this);
// LinearLayout.LayoutParams para1 = (LinearLayout.LayoutParams) recycle_current_soldout_food.getLayoutParams(); LinearLayout.LayoutParams para1 = (LinearLayout.LayoutParams) recycle_current_soldout_food.getLayoutParams();
// para1.height = screenHeidth * 33 / 100; para1.height = screenHeidth * 33 / 100;
// recycle_current_soldout_food.setLayoutParams(para1); recycle_current_soldout_food.setLayoutParams(para1);
mParentRowCount = GsaCloudApplication.androidSetting.getFoodTypeRow(); mParentRowCount = GsaCloudApplication.androidSetting.getFoodTypeRow();
mParentColCount = GsaCloudApplication.androidSetting.getFoodTypeCol(); mParentColCount = GsaCloudApplication.androidSetting.getFoodTypeCol();
...@@ -236,7 +238,8 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl ...@@ -236,7 +238,8 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
mLayoutManager = new PagerGridLayoutManager(Rows, GoldConstants.foodGriupColumns, PagerGridLayoutManager.HORIZONTAL); mLayoutManager = new PagerGridLayoutManager(Rows, GoldConstants.foodGriupColumns, PagerGridLayoutManager.HORIZONTAL);
// 水平分页布局管理器 // 水平分页布局管理器
mLayoutManager.setPageListener(this); //设置页面变化监听器 mLayoutManager.setPageListener(this);
//设置页面变化监听器
recycle_food_group.setLayoutManager(mLayoutManager); recycle_food_group.setLayoutManager(mLayoutManager);
// 设置滚动辅助工具 // 设置滚动辅助工具
...@@ -244,7 +247,7 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl ...@@ -244,7 +247,7 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
pageSnapHelper.attachToRecyclerView(recycle_food_group); pageSnapHelper.attachToRecyclerView(recycle_food_group);
// 使用原生的 Adapter 即可 // 使用原生的 Adapter 即可
mFoodGroupAdapter = new FoodGroupAdapter(this, foodGroupList); mFoodGroupAdapter = new FoodGroupAdapter(this, foodGroupList, 2);
mFoodGroupAdapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() { mFoodGroupAdapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
@Override @Override
public void onChanged() { public void onChanged() {
...@@ -258,12 +261,37 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl ...@@ -258,12 +261,37 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
mFoodGroupAdapter.setOnItemClickListener(new FoodGroupAdapter.OnItemClickListener() { mFoodGroupAdapter.setOnItemClickListener(new FoodGroupAdapter.OnItemClickListener() {
@Override @Override
public void onItemClick(Food datasBean, int position) { public void onItemClick(Food datasBean, int position) {
// recordOperat(true);
// if (!foodGroupConditionFilter(datasBean, false)) { VibratorUtils.pressButtonSound(SoldoutCtrlActivity.this);
// return;
// } if (mSoldoutType == FOOD_GROUP_TYPE) {
// mPresenter.setRvMealClicked(false); //操作類型(暂停操作、恢复操作)
boolean isStopOpeart = false;
for (SoldoutCtrFood csf : mPresenter.getCurrentSlodoutFoodList_Full()) {
if (csf.getType() == FOOD_GROUP_TYPE &&
csf.getFoodId() != null && datasBean.getId() != null &&
csf.getFoodId().equals(datasBean.getId())) {
if (!TextUtils.isEmpty(csf.getQtyName())) {
isStopOpeart = true;
//暂停或者售罄直接提示恢复
String msg = LanguageUtils.get_language_system(SoldoutCtrlActivity.this, "whether.recover", "是否恢復\"") + datasBean.getFoodName() + "\"?";
Class[] parameterTypes = {long.class};
Object[] parameters = {csf.getId()};
CommonTipDialog.showDoubtDialog(SoldoutCtrlActivity.this, msg, SoldoutCtrlPresenter.class, mPresenter, "restoreSoldoutCtrl", parameterTypes, parameters);
break;
}
}
}
if (!isStopOpeart) {
String msg = LanguageUtils.get_language_system(SoldoutCtrlActivity.this, "whether.suspend.group", "是否暫停組別?") + datasBean.getFoodName() + "\"?";
Class[] parameterTypes = {Long.class, Long.class, int.class, int.class};
Object[] parameters = {datasBean.getId(), null, 0, 0};
CommonTipDialog.showDoubtDialog(SoldoutCtrlActivity.this, msg, SoldoutCtrlPresenter.class, mPresenter, "insertSoldoutCtrl", parameterTypes, parameters);
}
} else {
mPresenter.changedMealByParentId(datasBean.getId()); mPresenter.changedMealByParentId(datasBean.getId());
mPresenter.setFoodSoldoutCtrData();
}
} }
}); });
...@@ -304,8 +332,8 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl ...@@ -304,8 +332,8 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
int id = v.getId(); int id = v.getId();
if (id == R.id.tv_return) { if (id == R.id.tv_return) {
if (mCurrentViewMode == MealConstant.fine_ViewMode) { if (mCurrentViewMode == MealConstant.fine_ViewMode) {
mSoldoutType = 1; mSoldoutType = FOOD_TYPE;
tv_soldout.setText(mTypeItem[mSoldoutType]); tv_soldout.setText(mTypeItem[1]);
showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode); showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode);
} else { } else {
killMyself(); killMyself();
...@@ -323,20 +351,20 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl ...@@ -323,20 +351,20 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
private void showClearControlDialog() { private void showClearControlDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this); AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("沽清控制"); builder.setTitle("沽清控制");
builder.setSingleChoiceItems(mTypeItem, mSoldoutType, new DialogInterface.OnClickListener() { builder.setSingleChoiceItems(mTypeItem, (mSoldoutType - 1), new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
mSoldoutType = which; tv_soldout.setText(mTypeItem[which]);
tv_soldout.setText(mTypeItem[mSoldoutType]); mSoldoutType = which + 1;
//选择食品组需要收起食品、细项显示数据 //选择食品组需要收起食品、细项显示数据
switch (mSoldoutType) { switch (mSoldoutType) {
case 0: case FOOD_GROUP_TYPE:
showViewModeVisibility(MealConstant.food_group_ViewMode); showViewModeVisibility(MealConstant.food_group_ViewMode);
break; break;
case 1: case FOOD_TYPE:
showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode); showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode);
break; break;
case 2: case MODIFIER_TYPE:
if (!mInitModData) { if (!mInitModData) {
modSasteFineItemFragment.onModSasteEvent(0); modSasteFineItemFragment.onModSasteEvent(0);
modMsgFineItemFragment.onModMsgMidEvent(0); modMsgFineItemFragment.onModMsgMidEvent(0);
...@@ -345,6 +373,9 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl ...@@ -345,6 +373,9 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
showViewModeVisibility(MealConstant.fine_ViewMode); showViewModeVisibility(MealConstant.fine_ViewMode);
break; break;
} }
mPresenter.filterSlodoutData(true);
dialog.dismiss(); dialog.dismiss();
} }
}); });
...@@ -383,7 +414,6 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl ...@@ -383,7 +414,6 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
@Override @Override
public void setCurrentSoldoutFoodAdapter(DefaultAdapter adapter) { public void setCurrentSoldoutFoodAdapter(DefaultAdapter adapter) {
initCurrentSoldoutFoodLayoutManager();
recycle_current_soldout_food.setAdapter(adapter); recycle_current_soldout_food.setAdapter(adapter);
} }
...@@ -402,13 +432,7 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl ...@@ -402,13 +432,7 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
recycle_combo.setAdapter(adapter); recycle_combo.setAdapter(adapter);
} }
private GridLayoutManager foodRecycleLayoutManager, comboRecycleLayoutManager; private GridLayoutManager foodRecycleLayoutManager;
public void initCurrentSoldoutFoodLayoutManager() {
RecyclerViewNoBugLinearLayoutManager selectFoodRecycleLayoutManager = new RecyclerViewNoBugLinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
recycle_current_soldout_food.setLayoutManager(selectFoodRecycleLayoutManager);
// rv_select_meal.setItemAnimator(new DefaultItemAnimator());
}
public void initFoodLayoutManager(int orientation) { public void initFoodLayoutManager(int orientation) {
foodRecycleLayoutManager = new GridLayoutManager(this, 1, orientation, false); foodRecycleLayoutManager = new GridLayoutManager(this, 1, orientation, false);
...@@ -507,7 +531,6 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl ...@@ -507,7 +531,6 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
} }
} }
private void initTabAndPager() { private void initTabAndPager() {
QMUIFragmentPagerAdapter pagerAdapter = new QMUIFragmentPagerAdapter(getSupportFragmentManager()) { QMUIFragmentPagerAdapter pagerAdapter = new QMUIFragmentPagerAdapter(getSupportFragmentManager()) {
...@@ -587,4 +610,16 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl ...@@ -587,4 +610,16 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
}); });
} }
public void updateCurrentSlodoutFoodList_Full(List<SoldoutCtrFood> currentSlodoutFoodListc_Full) {
if (modMsgFineItemFragment != null) {
modMsgFineItemFragment.updateCurrentSlodoutFoodList_Full(currentSlodoutFoodListc_Full);
}
if (modSasteFineItemFragment != null) {
modSasteFineItemFragment.updateCurrentSlodoutFoodList_Full(currentSlodoutFoodListc_Full);
}
}
public FoodGroupAdapter getFoodGroupAdapter() {
return mFoodGroupAdapter;
}
} }
...@@ -148,11 +148,6 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table ...@@ -148,11 +148,6 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
public void initData(@Nullable Bundle savedInstanceState) { public void initData(@Nullable Bundle savedInstanceState) {
tv_show_popup.setWidth(ArmsUtils.getScreenWidth(this) / 3); tv_show_popup.setWidth(ArmsUtils.getScreenWidth(this) / 3);
// Drawable mNormalIconDrawable = ArmsUtils.getDrawablebyResource(this, R.drawable.meal_change_language_index_1);
// QMUIDrawableHelper.setDrawableTintColor(mNormalIconDrawable, ArmsUtils.getColor(mContext,R.color.theme_grey_color));
// mNormalIconDrawable.invalidateSelf();
// iv_tab_icon.setImageDrawable(mNormalIconDrawable);
initTabAndPager(); initTabAndPager();
mPresenter.initBottomFunction(); mPresenter.initBottomFunction();
getTables(true, null); getTables(true, null);
...@@ -289,7 +284,8 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table ...@@ -289,7 +284,8 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
break; break;
case TableOperatTypeConstant.print_parper_2: case TableOperatTypeConstant.print_parper_2:
setOperatContentText(dataBean.getTableName());
mPresenter.showOperatTipDialog(dataBean);
break; break;
case TableOperatTypeConstant.init_table_3: case TableOperatTypeConstant.init_table_3:
setOperatContentText(dataBean.getTableName()); setOperatContentText(dataBean.getTableName());
...@@ -337,7 +333,9 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table ...@@ -337,7 +333,9 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
break; break;
case TableOperatTypeConstant.print_parper_2: case TableOperatTypeConstant.print_parper_2:
tv_operat_hint.setText("請選擇檯號");
tv_operat_content.setText("");
mTopBar.setTitle("上菜紙");
break; break;
case TableOperatTypeConstant.init_table_3: case TableOperatTypeConstant.init_table_3:
tv_operat_hint.setText("請選擇需要重置的檯號"); tv_operat_hint.setText("請選擇需要重置的檯號");
......
...@@ -33,7 +33,12 @@ public class BillMoneyAdapter extends BaseQuickAdapter<PayMethod, BaseViewHolder ...@@ -33,7 +33,12 @@ public class BillMoneyAdapter extends BaseQuickAdapter<PayMethod, BaseViewHolder
TextView tv_bill_money = helper.getView(R.id.tv_bill_money); TextView tv_bill_money = helper.getView(R.id.tv_bill_money);
tv_bill_method_name.setText(datasBean.getPayName()); tv_bill_method_name.setText(datasBean.getPayName());
if (datasBean.getPayMoney() < 0) {
tv_bill_money.setText("-" + cashStr + Math.abs(datasBean.getPayMoney()));
} else {
tv_bill_money.setText(cashStr + datasBean.getPayMoney()); tv_bill_money.setText(cashStr + datasBean.getPayMoney());
}
tv_bill_method_name.setTextSize(datasBean.getPayMoneySize()); tv_bill_method_name.setTextSize(datasBean.getPayMoneySize());
tv_bill_money.setTextSize(datasBean.getPayMoneySize()); tv_bill_money.setTextSize(datasBean.getPayMoneySize());
......
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter; package com.gingersoft.gsa.cloud.table.mvp.ui.adapter;
import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import android.view.View; import android.view.View;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.qmui.arch.QMUIActivity;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.jess.arms.base.BaseHolder; import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.List; import java.util.List;
import butterknife.BindView;
/** /**
* 作者:ELEGANT_BIN * 作者:ELEGANT_BIN
* 版本:1.6.0 * 版本:1.6.0
...@@ -15,173 +31,162 @@ import java.util.List; ...@@ -15,173 +31,162 @@ import java.util.List;
* 描述: * 描述:
*/ */
public class CurrentSlodoutFoodAdapter extends DefaultAdapter<Object> { public class CurrentSlodoutFoodAdapter extends DefaultAdapter<SoldoutCtrFood> {
public CurrentSlodoutFoodAdapter(List<Object> infos) { private Context mContext;
super(infos); private View convertView;
} //字体大小
private int mFoodlListFontSize;
@Override private int select_position = 0;
public BaseHolder<Object> getHolder(View v, int viewType) {
return null;
}
@Override
public int getLayoutId(int viewType) { public CurrentSlodoutFoodAdapter(Context context, List<SoldoutCtrFood> infos) {
return 0; super(infos);
} this.mContext = context;
// this.mFoodlListFontSize = GsaCloudApplication.androidSetting.getFoodlListFontSize();
// private Context mContext;
// private View convertView; // Object mInstanceProxy = Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), new Class[]{QMUIActivity.class}, new InvocationHandler() {
// //字体大小
// private int mFoodlListFontSize;
//
// private int select_position = 0;
//
// public void setSelectPosition(int select_position) {
// this.select_position = select_position;
// set_SelectPosition();
// }
//
// private void set_SelectPosition() {
//
// //查找自己的
// if (select_position == -1 || mInfos == null || mInfos.size() < 1) {
// return;
// }
//
// List<CurrentSoldoutFood.DatasBean> datasBeans = mInfos;
//
// for (int i = 0; i < datasBeans.size(); i++) {
// if (i == select_position) {
// datasBeans.get(i).setSelected(2);
// } else {
// datasBeans.get(i).setSelected(0);
// }
// }
// }
//
// public CurrentSlodoutFoodAdapter(Context context, List<CurrentSoldoutFood.DatasBean> infos, int foodlListFontSize) {
// super(infos);
// this.mContext = context;
// this.mFoodlListFontSize = foodlListFontSize;
// }
//
// @Override
// public int getItemCount() {
// return mInfos.size();
// }
//
// @Override
// public BaseHolder<CurrentSoldoutFood.DatasBean> getHolder(View v, int viewType) {
// convertView = v;
// return new DateTimeItemHolder(v);
// }
//
// @Override
// public int getLayoutId(int viewType) {
// return R.layout.item_current_soldout_food;
// }
//
// class DateTimeItemHolder extends BaseHolder<CurrentSoldoutFood.DatasBean> {
//
// @BindView(R.id.rl_select)
// RelativeLayout rl_select;
// @BindView(R.id.tv_number)
// TextView tv_number;
// @BindView(R.id.tv_name)
// TextView tv_name;
// @BindView(R.id.tv_value)
// TextView tv_value;
//
// public DateTimeItemHolder(View itemView) {
// super(itemView);
// }
// //
// @Override // @Override
// public void setData(CurrentSoldoutFood.DatasBean datasBean, int position) { // public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
// // // 当执行的方法是 startActivity 时作处理
// String name = datasBean.getName(); // if ("startActivity".equals(method.getName())) {
// if (name != null) { // int index = 0;
// tv_name.setText(name); // // 获取 Intent 参数在 args 数组中的index值
// } // for (int i = 0; i < args.length; i++) {
// // if (args[i] instanceof Intent) {
// if (datasBean.getItemdesc1() == null || datasBean.getItemdesc1().equals("0")) { // index = i;
// tv_number.setText("");
// } else {
// tv_number.setText("1");
// }
//
// String qtyValue = String.valueOf(datasBean.getOR_Qty());
//
// if (datasBean.getOR_Qty() == 0) {
// qtyValue = "暫停";
// } else {
// if (datasBean.getOR_Qty() - datasBean.getUsed_Qty() == 0) {
// qtyValue = "售罄";
// }
// }
//
// tv_value.setText(qtyValue);
//
// //显示
// convertView.setBackgroundColor(mContext.getResources().getColor(R.color.black));
// rl_select.setBackgroundColor(mContext.getResources().getColor(R.color.black));
// tv_number.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// tv_name.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// tv_value.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// int selected = datasBean.getSelected();
// switch (selected) {
// case 0://未选 中。黑底白字
// rl_select.setBackgroundColor(mContext.getResources().getColor(R.color.black));
// tv_number.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// tv_name.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// tv_value.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// break;
// case 1://选中,第一层选中.
// rl_select.setBackgroundColor(mContext.getResources().getColor(R.color.theme_color));
// tv_number.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// tv_name.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// tv_value.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// break; // break;
// case 2://选中,作为主体被选中
// rl_select.setBackgroundColor(mContext.getResources().getColor(R.color.colorAccent));
// tv_number.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// tv_name.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// tv_value.setTextColor(mContext.getResources().getColor(R.color.theme_white_color));
// break;
// }
//
// //设置字体
// tv_value.setTextSize(mFoodlListFontSize);
// tv_name.setTextSize(mFoodlListFontSize);
// tv_number.setTextSize(mFoodlListFontSize);
//
// rl_select.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// if (mOnItemClickListener != null)
// mOnItemClickListener.onItemClick(datasBean, position);
// }
// });
// } // }
// } // }
// // 得到原始的 Intent 对象 -- 唐僧(插件)的Intent
// Intent intent = (Intent) args[index];
// //
// // // 生成代理proxyIntent -- 孙悟空(代理)的Intent
// public int getSelectPosition() { // Intent proxyIntent = new Intent();
// return this.select_position; // proxyIntent.setClassName("com.enjoy.pluginactivity", ProxyActivity.class.getName());
// } // // 保存原始的Intent对象
// // proxyIntent.putExtra(TARGET_INTENT, intent);
// private OnItemClickListener mOnItemClickListener; // // 使用proxyIntent替换数组中的Intent
// // args[index] = proxyIntent;
// public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
// mOnItemClickListener = onItemClickListener;
// } // }
// // return method.invoke(mInstance, args);
// public interface OnItemClickListener {
//
// void onItemClick(CurrentSoldoutFood.DatasBean datasBean, int position);
//
// } // }
// // });
}
public void setSelectPosition(int select_position) {
this.select_position = select_position;
set_SelectPosition();
}
private void set_SelectPosition() {
//查找自己的
if (select_position == -1 || mInfos == null || mInfos.size() < 1) {
return;
}
List<SoldoutCtrFood> datasBeans = mInfos;
for (int i = 0; i < datasBeans.size(); i++) {
if (i == select_position) {
datasBeans.get(i).setSelected(1);
} else {
datasBeans.get(i).setSelected(0);
}
}
}
@Override
public int getItemCount() {
return mInfos.size();
}
@Override
public BaseHolder<SoldoutCtrFood> getHolder(View v, int viewType) {
convertView = v;
return new CurrentSlodoutItemHolder(v);
}
@Override
public int getLayoutId(int viewType) {
return R.layout.meal_item_current_soldout_food;
}
class CurrentSlodoutItemHolder extends BaseHolder<SoldoutCtrFood> {
@BindView(R2.id.rl_select)
RelativeLayout rl_select;
@BindView(R2.id.tv_number)
TextView tv_number;
@BindView(R2.id.tv_name)
TextView tv_name;
@BindView(R2.id.tv_value)
TextView tv_value;
public CurrentSlodoutItemHolder(View itemView) {
super(itemView);
}
@Override
public void setData(SoldoutCtrFood datasBean, int position) {
String name = datasBean.getName();
if (!TextUtils.isEmpty(name)) {
tv_name.setText(name);
} else {
tv_name.setText("");
}
tv_number.setText(String.valueOf(position+1));
tv_value.setText(datasBean.getQtyName());
//设置字体
tv_value.setTextSize(mFoodlListFontSize);
tv_name.setTextSize(mFoodlListFontSize);
tv_number.setTextSize(mFoodlListFontSize);
int selected = datasBean.getSelected();
switch (selected) {
case 1://选中,第一层选中.
rl_select.setBackgroundColor(mContext.getResources().getColor(R.color.theme_background_color));
tv_number.setTextColor(mContext.getResources().getColor(R.color.theme_black));
tv_name.setTextColor(mContext.getResources().getColor(R.color.theme_black));
tv_value.setTextColor(mContext.getResources().getColor(R.color.theme_black));
break;
default://未选 中。黑底白字
rl_select.setBackgroundColor(mContext.getResources().getColor(R.color.theme_white_color));
tv_number.setTextColor(mContext.getResources().getColor(R.color.theme_black));
tv_name.setTextColor(mContext.getResources().getColor(R.color.theme_black));
tv_value.setTextColor(mContext.getResources().getColor(R.color.theme_black));
break;
}
rl_select.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mOnItemClickListener != null) {
mOnItemClickListener.onItemClick(datasBean, position);
}
}
});
}
}
public int getSelectPosition() {
return this.select_position;
}
private OnItemClickListener mOnItemClickListener;
public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
mOnItemClickListener = onItemClickListener;
}
public interface OnItemClickListener {
void onItemClick(SoldoutCtrFood datasBean, int position);
}
} }
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter; package com.gingersoft.gsa.cloud.table.mvp.ui.adapter;
import android.content.Context; import android.content.Context;
import android.graphics.Color;
import android.view.Gravity; import android.view.Gravity;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
...@@ -13,11 +14,14 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; ...@@ -13,11 +14,14 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.database.bean.Modifier; import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2; import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity;
import com.jess.arms.base.BaseHolder; import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.ArmsUtils; import com.jess.arms.utils.ArmsUtils;
import com.jess.arms.utils.DeviceUtils; import com.jess.arms.utils.DeviceUtils;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.GridLayoutManager;
...@@ -36,9 +40,9 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> { ...@@ -36,9 +40,9 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
private Context mContext; private Context mContext;
//所有沽清类型 //所有沽清类型
// private List<CurrentSoldoutFood.DatasBean> mCurrentSlodoutFoodList_Full = new ArrayList<>(); private List<SoldoutCtrFood> mCurrentSlodoutFoodList_Full = new ArrayList<>();
// private List<Color.DatasBean> mColorList; // private List<Color.DatasBean> mColorList;
private int mOrderNumberShowSize; private int mOrderNumberShowSize;
private int mOrderNumberFontSize; private int mOrderNumberFontSize;
private int mModFontSize; private int mModFontSize;
...@@ -77,7 +81,7 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> { ...@@ -77,7 +81,7 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
@Override @Override
public int getLayoutId(int viewType) { public int getLayoutId(int viewType) {
return R.layout.ui_meal_item_food; return R.layout.meal_item_food;
} }
class DateTimeItemHolder extends BaseHolder<Modifier> { class DateTimeItemHolder extends BaseHolder<Modifier> {
...@@ -90,6 +94,8 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> { ...@@ -90,6 +94,8 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
TextView tv_number; TextView tv_number;
// @BindView(R.id.tv_status) // @BindView(R.id.tv_status)
// TextView tv_status; // TextView tv_status;
@BindView(R2.id.tv_soldout)
TextView tv_soldout;
@BindView(R2.id.iv_qtySold) @BindView(R2.id.iv_qtySold)
ImageView iv_qtySold; ImageView iv_qtySold;
...@@ -109,8 +115,8 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> { ...@@ -109,8 +115,8 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
@Override @Override
public void onViewClick(View view, int position) { public void onViewClick(View view, int position) {
if(XClickUtil.isFastDoubleClick(view,200)){ if (XClickUtil.isFastDoubleClick(view, 200)) {
return ; return;
} }
if (mOnItemClickListener != null) { if (mOnItemClickListener != null) {
// //设置当前选中item颜色 // //设置当前选中item颜色
...@@ -220,42 +226,45 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> { ...@@ -220,42 +226,45 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
} }
private void setStatus(Modifier datasBean) { private void setStatus(Modifier datasBean) {
tv_soldout.setMaxHeight(mOrderNumberShowSize);
// datasBean.setSoldout(false); tv_soldout.setMinHeight(mOrderNumberShowSize);
tv_soldout.setTextSize(mOrderNumberFontSize);
tv_soldout.setTextColor(Color.parseColor("#000000"));
tv_soldout.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.ui_selector_white_rect));
tv_soldout.setMinWidth(20);
tv_soldout.setTextSize(10);
tv_soldout.setGravity(Gravity.CENTER);
iv_qtySold.setVisibility(View.INVISIBLE); iv_qtySold.setVisibility(View.INVISIBLE);
/** /**
* 设置当前状态 * 设置当前状态
*/ */
// if (mCurrentSlodoutFoodList_Full != null) { for (SoldoutCtrFood sc : mCurrentSlodoutFoodList_Full) {
// for (CurrentSoldoutFood.DatasBean sc : mCurrentSlodoutFoodList_Full) { if (sc.getType() == SoldoutCtrlActivity.MODIFIER_TYPE && sc.getModifierId().equals(datasBean.getMid())) {
// if (sc.getItemID().equals(datasBean.getMID()) && sc.getType().equals("M")) { String name = sc.getQtyName();
// String name = sc.get_QtyName(); if (name.equals("")) {
// if (name.equals("")) { tv_soldout.setVisibility(View.INVISIBLE);
// tv_number.setVisibility(View.INVISIBLE); } else {
// } else { if (sc.getQtyName().equalsIgnoreCase("售罄")) {
// if (sc.get_QtyName().equalsIgnoreCase("售罄")) { iv_qtySold.setVisibility(View.VISIBLE);
// iv_qtySold.setVisibility(View.VISIBLE); datasBean.setSoldout(true);
// datasBean.setSoldout(true); } else if (sc.getQtyName().equalsIgnoreCase("暫停")) {
// } else { tv_soldout.setVisibility(View.VISIBLE);
// tv_number.setVisibility(View.VISIBLE); tv_soldout.setText(name);
// tv_number.setText(name); } else {
// datasBean.setOR_Qty(name); tv_soldout.setVisibility(View.VISIBLE);
// } tv_soldout.setText(name);
// } datasBean.setMaxNumber(name);
// } }
// } }
// } }
}
} }
} }
// public List<CurrentSoldoutFood.DatasBean> getCurrentSlodoutFoodList_Full() { public void setCurrentSlodoutFoodList_Full(List<SoldoutCtrFood> currentSlodoutFoodList_Full) {
// return mCurrentSlodoutFoodList_Full; this.mCurrentSlodoutFoodList_Full = currentSlodoutFoodList_Full;
// } }
//
// public void setmCurrentSlodoutFoodList_Full(List<CurrentSoldoutFood.DatasBean> mCurrentSlodoutFoodList_Full) {
// this.mCurrentSlodoutFoodList_Full = mCurrentSlodoutFoodList_Full;
// }
public int getUser_qty() { public int getUser_qty() {
return user_qty; return user_qty;
......
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter; package com.gingersoft.gsa.cloud.table.mvp.ui.adapter;
import android.content.Context; import android.content.Context;
import android.graphics.Color;
import android.view.Gravity; import android.view.Gravity;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
...@@ -13,11 +14,14 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; ...@@ -13,11 +14,14 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.database.bean.Modifier; import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2; import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity;
import com.jess.arms.base.BaseHolder; import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.ArmsUtils; import com.jess.arms.utils.ArmsUtils;
import com.jess.arms.utils.DeviceUtils; import com.jess.arms.utils.DeviceUtils;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.GridLayoutManager;
...@@ -36,7 +40,7 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> { ...@@ -36,7 +40,7 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
private Context mContext; private Context mContext;
//所有沽清类型 //所有沽清类型
// private List<CurrentSoldoutFood.DatasBean> mCurrentSlodoutFoodList_Full = new ArrayList<>(); private List<SoldoutCtrFood> mCurrentSlodoutFoodList_Full = new ArrayList<>();
// private List<Color.DatasBean> mColorList; // private List<Color.DatasBean> mColorList;
private int mOrderNumberShowSize; private int mOrderNumberShowSize;
...@@ -77,7 +81,7 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> { ...@@ -77,7 +81,7 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
@Override @Override
public int getLayoutId(int viewType) { public int getLayoutId(int viewType) {
return R.layout.ui_meal_item_food; return R.layout.meal_item_food;
} }
class FineItemHolder extends BaseHolder<Modifier> { class FineItemHolder extends BaseHolder<Modifier> {
...@@ -90,6 +94,8 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> { ...@@ -90,6 +94,8 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
TextView tv_number; TextView tv_number;
// @BindView(R.id.tv_status) // @BindView(R.id.tv_status)
// TextView tv_status; // TextView tv_status;
@BindView(R2.id.tv_soldout)
TextView tv_soldout;
@BindView(R2.id.iv_qtySold) @BindView(R2.id.iv_qtySold)
ImageView iv_qtySold; ImageView iv_qtySold;
...@@ -250,20 +256,14 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> { ...@@ -250,20 +256,14 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
} }
private void setStatus(Modifier datasBean) { private void setStatus(Modifier datasBean) {
// tv_status.setMaxHeight(mOrderNumberShowSize); tv_soldout.setMaxHeight(mOrderNumberShowSize);
// tv_status.setMinHeight(mOrderNumberShowSize); tv_soldout.setMinHeight(mOrderNumberShowSize);
// tv_status.setTextSize(mOrderNumberFontSize); tv_soldout.setTextSize(mOrderNumberFontSize);
// tv_status.setMinWidth(20); tv_soldout.setTextColor(Color.parseColor("#000000"));
// tv_status.setGravity(Gravity.CENTER); tv_soldout.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.ui_selector_white_rect));
// tv_status.setText(""); tv_soldout.setMinWidth(20);
// tv_status.setVisibility(View.INVISIBLE); tv_soldout.setTextSize(10);
tv_number.setMaxHeight(mOrderNumberShowSize); tv_soldout.setGravity(Gravity.CENTER);
tv_number.setMinHeight(mOrderNumberShowSize);
tv_number.setTextSize(mOrderNumberFontSize);
tv_number.setMinWidth(20);
tv_number.setTextColor(android.graphics.Color.parseColor("#000000"));
tv_number.setBackgroundColor(ArmsUtils.getColor(mContext, R.color.theme_white_color));
tv_number.setGravity(Gravity.CENTER);
ViewGroup.MarginLayoutParams mp = new ViewGroup.MarginLayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); //item的宽高 ViewGroup.MarginLayoutParams mp = new ViewGroup.MarginLayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); //item的宽高
mp.setMargins(0, 0, 0, 0);//分别是margin_top那四个属性 mp.setMargins(0, 0, 0, 0);//分别是margin_top那四个属性
...@@ -273,39 +273,36 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> { ...@@ -273,39 +273,36 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
tv_number.setLayoutParams(lp); tv_number.setLayoutParams(lp);
tv_number.setVisibility(View.INVISIBLE); tv_number.setVisibility(View.INVISIBLE);
iv_qtySold.setVisibility(View.INVISIBLE); iv_qtySold.setVisibility(View.INVISIBLE);
/** /**
* 设置当前状态 * 设置当前状态
*/ */
// if (mCurrentSlodoutFoodList_Full != null) { for (SoldoutCtrFood sc : mCurrentSlodoutFoodList_Full) {
// for (CurrentSoldoutFood.DatasBean sc : mCurrentSlodoutFoodList_Full) { if (sc.getType() == SoldoutCtrlActivity.MODIFIER_TYPE && sc.getModifierId().equals(datasBean.getMid())) {
// if (sc.getItemID().equals(datasBean.getMID()) && sc.getType().equals("M")) { String name = sc.getQtyName();
// String name = sc.get_QtyName(); if (name.equals("")) {
// if (name.equals("")) { tv_soldout.setVisibility(View.INVISIBLE);
// tv_number.setVisibility(View.INVISIBLE); } else {
// } else { if (sc.getQtyName().equalsIgnoreCase("售罄")) {
// if (sc.get_QtyName().equalsIgnoreCase("售罄")) { iv_qtySold.setVisibility(View.VISIBLE);
// iv_qtySold.setVisibility(View.VISIBLE); datasBean.setSoldout(true);
// } else { } else if (sc.getQtyName().equalsIgnoreCase("暫停")) {
// tv_number.setVisibility(View.VISIBLE); tv_soldout.setVisibility(View.VISIBLE);
// tv_number.setText(name); tv_soldout.setText(name);
// } } else {
// } tv_soldout.setVisibility(View.VISIBLE);
// } tv_soldout.setText(name);
// } datasBean.setMaxNumber(name);
// } }
}
}
}
} }
} }
// public List<CurrentSoldoutFood.DatasBean> getmCurrentSlodoutFoodList_Full() {
// return mCurrentSlodoutFoodList_Full;
// }
// //
// public void setmCurrentSlodoutFoodList_Full(List<CurrentSoldoutFood.DatasBean> mCurrentSlodoutFoodList_Full) { public void setCurrentSlodoutFoodList_Full(List<SoldoutCtrFood> currentSlodoutFoodList_Full) {
// this.mCurrentSlodoutFoodList_Full = mCurrentSlodoutFoodList_Full; this.mCurrentSlodoutFoodList_Full = currentSlodoutFoodList_Full;
// } }
public int getUser_qty() { public int getUser_qty() {
return user_qty; return user_qty;
......
...@@ -75,7 +75,12 @@ public class OrderMoneyAdapter extends DefaultAdapter<BillOrderMoney> { ...@@ -75,7 +75,12 @@ public class OrderMoneyAdapter extends DefaultAdapter<BillOrderMoney> {
public void setData(BillOrderMoney datasBean, int position) { public void setData(BillOrderMoney datasBean, int position) {
tv_title.setText(datasBean.getTitle()); tv_title.setText(datasBean.getTitle());
if (datasBean.getMoney() < 0) {
tv_money.setText("-" + cashStr + Math.abs(datasBean.getMoney()));
} else {
tv_money.setText(cashStr + datasBean.getMoney()); tv_money.setText(cashStr + datasBean.getMoney());
}
tv_title.setTextSize(BillTotalFontSize); tv_title.setTextSize(BillTotalFontSize);
tv_money.setTextSize(BillTotalFontSize); tv_money.setTextSize(BillTotalFontSize);
......
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter; package com.gingersoft.gsa.cloud.table.mvp.ui.adapter;
import android.content.Context; import android.content.Context;
import android.text.TextUtils;
import android.view.View; import android.view.View;
import android.widget.Button;
import android.widget.FrameLayout;
import com.gingersoft.gsa.cloud.database.bean.Function; import com.gingersoft.gsa.cloud.database.bean.Function;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
...@@ -50,7 +53,9 @@ public class OrderTopFunctionAdapter extends DefaultAdapter<Function> { ...@@ -50,7 +53,9 @@ public class OrderTopFunctionAdapter extends DefaultAdapter<Function> {
class TopFunctionItemHolder extends BaseHolder<Function> { class TopFunctionItemHolder extends BaseHolder<Function> {
@BindView(R2.id.btn_name) @BindView(R2.id.btn_name)
QMUIAlphaButton btn_name; Button btn_name;
@BindView(R2.id.btn_lable)
Button btn_lable;
public TopFunctionItemHolder(View itemView) { public TopFunctionItemHolder(View itemView) {
super(itemView); super(itemView);
...@@ -63,7 +68,43 @@ public class OrderTopFunctionAdapter extends DefaultAdapter<Function> { ...@@ -63,7 +68,43 @@ public class OrderTopFunctionAdapter extends DefaultAdapter<Function> {
btn_name.setTextColor(datasBean.getTextColor()); btn_name.setTextColor(datasBean.getTextColor());
btn_name.setBackgroundColor(datasBean.getBackgroundColor()); btn_name.setBackgroundColor(datasBean.getBackgroundColor());
btn_name.setTextSize(datasBean.getTextSize()); btn_name.setTextSize(datasBean.getTextSize());
if (!TextUtils.isEmpty(datasBean.getLable())) {
btn_lable.setText(datasBean.getLable());
btn_lable.setVisibility(View.VISIBLE);
} else {
btn_lable.setVisibility(View.INVISIBLE);
}
btn_name.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (onClickListener != null)
onClickListener.onItemClick(v, datasBean);
}
});
btn_name.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
if (onClickListener != null)
onClickListener.onItemLongClick(v, datasBean);
return false;
}
});
} }
} }
private OnClickListener onClickListener;
public void setOnClickListener(OnClickListener onClickListener) {
this.onClickListener = onClickListener;
}
public interface OnClickListener {
void onItemClick(View v, Function function);
boolean onItemLongClick(View v, Function function);
}
} }
package com.gingersoft.gsa.cloud.ui.adapter.meal; package com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal;
import android.content.Context; import android.content.Context;
import android.graphics.drawable.GradientDrawable; import android.graphics.drawable.GradientDrawable;
...@@ -7,11 +7,11 @@ import android.view.View; ...@@ -7,11 +7,11 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.R2;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.database.bean.ComboItem; import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Modifier; import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.jess.arms.base.BaseHolder; import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.ArmsUtils; import com.jess.arms.utils.ArmsUtils;
...@@ -66,7 +66,7 @@ public class ComboAdapter extends DefaultAdapter<ComboItem> { ...@@ -66,7 +66,7 @@ public class ComboAdapter extends DefaultAdapter<ComboItem> {
@Override @Override
public int getLayoutId(int viewType) { public int getLayoutId(int viewType) {
return R.layout.ui_meal_item_combo; return R.layout.meal_item_combo;
} }
class ComboItemHolder extends BaseHolder<ComboItem> { class ComboItemHolder extends BaseHolder<ComboItem> {
...@@ -157,13 +157,20 @@ public class ComboAdapter extends DefaultAdapter<ComboItem> { ...@@ -157,13 +157,20 @@ public class ComboAdapter extends DefaultAdapter<ComboItem> {
// iv_qty_sold.setVisibility(View.INVISIBLE); // iv_qty_sold.setVisibility(View.INVISIBLE);
// } // }
int maxNumber = datasBean.getMaxNumber(); // int maxNumber = datasBean.getMaxNumber();
int number = datasBean.getNumber(); // int number = datasBean.getNumber();
if (number >= maxNumber) { // if (number >= maxNumber) {
tv_soldout.setVisibility(View.VISIBLE); // tv_soldout.setVisibility(View.VISIBLE);
tv_soldout.setText(maxNumber); // tv_soldout.setText(maxNumber);
} else { // } else {
// tv_soldout.setVisibility(View.INVISIBLE);
// }
String qty = datasBean.getMaxNumber();
if (qty.equals("")) {
tv_soldout.setVisibility(View.INVISIBLE); tv_soldout.setVisibility(View.INVISIBLE);
} else {
tv_soldout.setVisibility(View.VISIBLE);
tv_soldout.setText(datasBean.getMaxNumber());
} }
tv_soldout.setMaxHeight(OrderNumberChildShowSize); tv_soldout.setMaxHeight(OrderNumberChildShowSize);
......
package com.gingersoft.gsa.cloud.ui.adapter.meal; package com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal;
import android.content.Context; import android.content.Context;
import android.graphics.Color; import android.graphics.Color;
import android.text.TextUtils;
import android.view.Gravity; import android.view.Gravity;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.TextView; import android.widget.TextView;
import com.gingersoft.gsa.cloud.aspectj.XClickUtil; import com.gingersoft.gsa.cloud.aspectj.XClickUtil;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.R2;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.database.bean.Food; import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity;
import com.jess.arms.base.BaseHolder; import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.ArmsUtils; import com.jess.arms.utils.ArmsUtils;
import com.jess.arms.utils.DeviceUtils; import com.jess.arms.utils.DeviceUtils;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.GridLayoutManager;
...@@ -35,9 +40,12 @@ public class FoodAdapter extends DefaultAdapter<Food> { ...@@ -35,9 +40,12 @@ public class FoodAdapter extends DefaultAdapter<Food> {
private Context mContext; private Context mContext;
private int mOrderNumberShowSize = 14; //所有沽清类型
private int mOrderNumberFontSize = 14; private List<SoldoutCtrFood> mCurrentSlodoutFoodList_Full = new ArrayList<>();
private int mFoodFontSize = 14;
private int mOrderNumberShowSize;
private int mOrderNumberFontSize;
private int mFoodFontSize;
private int mColwidth; private int mColwidth;
private int mColHeight; private int mColHeight;
...@@ -48,9 +56,15 @@ public class FoodAdapter extends DefaultAdapter<Food> { ...@@ -48,9 +56,15 @@ public class FoodAdapter extends DefaultAdapter<Food> {
private int user_qty;//在进入的的数量 private int user_qty;//在进入的的数量
public boolean check_qty = false;//是否检查数理 public boolean check_qty = false;//是否检查数理
public FoodAdapter(Context context, List<Food> infos) { /**
* 作為那個頁面的適配器:1=餐牌頁;2=沽清頁
*/
private int mFromType = 1;
public FoodAdapter(Context context, List<Food> infos, int fromType) {
super(infos); super(infos);
this.mContext = context; this.mContext = context;
this.mFromType = fromType;
this.mOrderNumberShowSize = GsaCloudApplication.androidSetting.getOrderNumberChildShowSize(); this.mOrderNumberShowSize = GsaCloudApplication.androidSetting.getOrderNumberChildShowSize();
this.mOrderNumberFontSize = GsaCloudApplication.androidSetting.getOrderNumberChildFontSize(); this.mOrderNumberFontSize = GsaCloudApplication.androidSetting.getOrderNumberChildFontSize();
this.mFoodFontSize = GsaCloudApplication.androidSetting.getFoodFontSize(); this.mFoodFontSize = GsaCloudApplication.androidSetting.getFoodFontSize();
...@@ -71,7 +85,7 @@ public class FoodAdapter extends DefaultAdapter<Food> { ...@@ -71,7 +85,7 @@ public class FoodAdapter extends DefaultAdapter<Food> {
@Override @Override
public int getLayoutId(int viewType) { public int getLayoutId(int viewType) {
return R.layout.ui_meal_item_food; return R.layout.meal_item_food;
} }
class FoodItemHolder extends BaseHolder<Food> { class FoodItemHolder extends BaseHolder<Food> {
...@@ -101,7 +115,7 @@ public class FoodAdapter extends DefaultAdapter<Food> { ...@@ -101,7 +115,7 @@ public class FoodAdapter extends DefaultAdapter<Food> {
setStatus(datasBean); setStatus(datasBean);
setOnItemClickListener((view, position1) -> { setOnItemClickListener((view, position1) -> {
if(XClickUtil.isFastDoubleClick(view,200)){ if (XClickUtil.isFastDoubleClick(view, 200)) {
return; return;
} }
resetSelect(position1, datasBean); resetSelect(position1, datasBean);
...@@ -165,7 +179,7 @@ public class FoodAdapter extends DefaultAdapter<Food> { ...@@ -165,7 +179,7 @@ public class FoodAdapter extends DefaultAdapter<Food> {
tv_soldout.setMaxHeight(mOrderNumberShowSize); tv_soldout.setMaxHeight(mOrderNumberShowSize);
tv_soldout.setMinHeight(mOrderNumberShowSize); tv_soldout.setMinHeight(mOrderNumberShowSize);
tv_soldout.setTextSize(mOrderNumberShowSize); tv_soldout.setTextSize(mOrderNumberFontSize);
tv_soldout.setTextColor(Color.parseColor("#000000")); tv_soldout.setTextColor(Color.parseColor("#000000"));
tv_soldout.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.ui_selector_white_rect)); tv_soldout.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.ui_selector_white_rect));
tv_soldout.setMinWidth(20); tv_soldout.setMinWidth(20);
...@@ -180,11 +194,16 @@ public class FoodAdapter extends DefaultAdapter<Food> { ...@@ -180,11 +194,16 @@ public class FoodAdapter extends DefaultAdapter<Food> {
tv_soldout.setVisibility(View.INVISIBLE); tv_soldout.setVisibility(View.INVISIBLE);
iv_qtySold.setVisibility(View.INVISIBLE); iv_qtySold.setVisibility(View.INVISIBLE);
long Invisible = datasBean.getInvisible(); String qty = datasBean.getCurrentMaxNumber();
if (Invisible == 2) { if (TextUtils.isEmpty(qty)) {
tv_soldout.setVisibility(View.INVISIBLE);
} else {
if (qty.equalsIgnoreCase("售罄")) {
iv_qtySold.setVisibility(View.VISIBLE); iv_qtySold.setVisibility(View.VISIBLE);
} else { } else {
iv_qtySold.setVisibility(View.INVISIBLE); tv_soldout.setVisibility(View.VISIBLE);
tv_soldout.setText(qty);
}
} }
} }
...@@ -232,6 +251,13 @@ public class FoodAdapter extends DefaultAdapter<Food> { ...@@ -232,6 +251,13 @@ public class FoodAdapter extends DefaultAdapter<Food> {
mOnItemClickListener.onItemClick(mInfos.get(position), position); mOnItemClickListener.onItemClick(mInfos.get(position), position);
} }
public List<SoldoutCtrFood> getCurrentSlodoutFoodList_Full() {
return mCurrentSlodoutFoodList_Full;
}
public void setCurrentSlodoutFoodList_Full(List<SoldoutCtrFood> mCurrentSlodoutFoodList_Full) {
this.mCurrentSlodoutFoodList_Full = mCurrentSlodoutFoodList_Full;
}
public int getCurrentSelectPosition() { public int getCurrentSelectPosition() {
return currentSelectPosition; return currentSelectPosition;
......
package com.gingersoft.gsa.cloud.ui.adapter.meal; package com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal;
import android.content.Context; import android.content.Context;
import android.graphics.Color;
import android.text.TextUtils;
import android.view.Gravity; import android.view.Gravity;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.TextView; import android.widget.TextView;
import com.gingersoft.gsa.cloud.aspectj.XClickUtil; import com.gingersoft.gsa.cloud.aspectj.XClickUtil;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.R2;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.database.bean.Food; import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity;
import com.jess.arms.base.BaseHolder; import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.ArmsUtils; import com.jess.arms.utils.ArmsUtils;
import com.jess.arms.utils.DeviceUtils; import com.jess.arms.utils.DeviceUtils;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import butterknife.BindView; import butterknife.BindView;
...@@ -32,6 +38,8 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> { ...@@ -32,6 +38,8 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
private Context mContext; private Context mContext;
//所有沽清类型
private List<SoldoutCtrFood> mCurrentSlodoutFoodList_Full = new ArrayList<>();
// private List<Color.DatasBean> mColorList; // private List<Color.DatasBean> mColorList;
private int mOrderNumberShowSize; private int mOrderNumberShowSize;
private int mOrderNumberFontSize; private int mOrderNumberFontSize;
...@@ -44,9 +52,15 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> { ...@@ -44,9 +52,15 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
private int currentSelectPosition = 0; private int currentSelectPosition = 0;
public FoodGroupAdapter(Context context, List<Food> infos) { /**
* 作為那個頁面的適配器:1=餐牌頁;2=沽清頁
*/
private int mFromType = 1;
public FoodGroupAdapter(Context context, List<Food> infos, int fromType) {
super(infos); super(infos);
this.mContext = context; this.mContext = context;
this.mFromType = fromType;
this.mOrderNumberShowSize = GsaCloudApplication.androidSetting.getOrderNumberShowSize(); this.mOrderNumberShowSize = GsaCloudApplication.androidSetting.getOrderNumberShowSize();
this.mOrderNumberFontSize = GsaCloudApplication.androidSetting.getOrderNumberFontSize(); this.mOrderNumberFontSize = GsaCloudApplication.androidSetting.getOrderNumberFontSize();
...@@ -69,15 +83,15 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> { ...@@ -69,15 +83,15 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
@Override @Override
public BaseHolder<Food> getHolder(View v, int viewType) { public BaseHolder<Food> getHolder(View v, int viewType) {
return new FoodlKindItemHolder(v); return new FoodlGroupItemHolder(v);
} }
@Override @Override
public int getLayoutId(int viewType) { public int getLayoutId(int viewType) {
return R.layout.ui_meal_item_food_group; return R.layout.meal_item_food_group;
} }
class FoodlKindItemHolder extends BaseHolder<Food> { class FoodlGroupItemHolder extends BaseHolder<Food> {
@BindView(R2.id.rl_container) @BindView(R2.id.rl_container)
RelativeLayout rl_container; RelativeLayout rl_container;
...@@ -88,7 +102,7 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> { ...@@ -88,7 +102,7 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
@BindView(R2.id.tv_soldout) @BindView(R2.id.tv_soldout)
TextView tv_soldout; TextView tv_soldout;
public FoodlKindItemHolder(View itemView) { public FoodlGroupItemHolder(View itemView) {
super(itemView); super(itemView);
} }
...@@ -103,7 +117,7 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> { ...@@ -103,7 +117,7 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
@Override @Override
public void onViewClick(View view, int position) { public void onViewClick(View view, int position) {
if(XClickUtil.isFastDoubleClick(view,200)){ if (XClickUtil.isFastDoubleClick(view, 200)) {
return; return;
} }
if (mOnItemClickListener != null) { if (mOnItemClickListener != null) {
...@@ -221,32 +235,20 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> { ...@@ -221,32 +235,20 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
tv_soldout.setMinHeight(mOrderNumberShowSize); tv_soldout.setMinHeight(mOrderNumberShowSize);
tv_soldout.setTextSize(mOrderNumberFontSize); tv_soldout.setTextSize(mOrderNumberFontSize);
// String qty = datasBean.getOR_Qty(); String qty = datasBean.getMaxNumber();
// if (TextUtils.isEmpty(qty)) { if (qty.equals("")) {
// tv_soldout.setVisibility(View.INVISIBLE); tv_soldout.setVisibility(View.INVISIBLE);
// } else { } else {
// tv_soldout.setVisibility(View.VISIBLE); tv_soldout.setVisibility(View.VISIBLE);
// tv_soldout.setText(datasBean.getNumber()); tv_soldout.setText(datasBean.getMaxNumber());
// } }
/**
* 设置当前状态
*/
// if (mCurrentSlodoutFoodList_Full != null) {
// for (CurrentSoldoutFood.DatasBean sc : mCurrentSlodoutFoodList_Full) {
// if (sc.getItemID().equals(datasBean.getFID()) && sc.getType().equals("G")) {
// if (sc.get_QtyName().equals("")) {
// tv_soldout.setVisibility(View.INVISIBLE);
// } else {
// tv_soldout.setVisibility(View.VISIBLE);
// tv_soldout.setText(sc.get_QtyName());
// }
// }
// }
// }
} }
} }
public void setCurrentSlodoutFoodList_Full(List<SoldoutCtrFood> currentSlodoutFoodList_Full) {
this.mCurrentSlodoutFoodList_Full = currentSlodoutFoodList_Full;
}
private OnItemClickListener mOnItemClickListener; private OnItemClickListener mOnItemClickListener;
public void setOnItemClickListener(OnItemClickListener onItemClickListener) { public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
......
package com.gingersoft.gsa.cloud.ui.adapter.meal; package com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal;
import android.content.Context; import android.content.Context;
import android.view.Gravity; import android.view.Gravity;
...@@ -6,11 +6,10 @@ import android.view.View; ...@@ -6,11 +6,10 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.R2;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.database.bean.Modifier; import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.jess.arms.base.BaseHolder; import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.ArmsUtils; import com.jess.arms.utils.ArmsUtils;
...@@ -65,7 +64,7 @@ public class ModifierAdapter extends DefaultAdapter<Modifier> { ...@@ -65,7 +64,7 @@ public class ModifierAdapter extends DefaultAdapter<Modifier> {
@Override @Override
public int getLayoutId(int viewType) { public int getLayoutId(int viewType) {
return R.layout.ui_meal_item_combo; return R.layout.meal_item_combo;
} }
class ComboItemHolder extends BaseHolder<Modifier> { class ComboItemHolder extends BaseHolder<Modifier> {
...@@ -152,13 +151,21 @@ public class ModifierAdapter extends DefaultAdapter<Modifier> { ...@@ -152,13 +151,21 @@ public class ModifierAdapter extends DefaultAdapter<Modifier> {
// iv_qty_sold.setVisibility(View.INVISIBLE); // iv_qty_sold.setVisibility(View.INVISIBLE);
// } // }
int maxNumber = datasBean.getMaxNumber(); // int maxNumber = datasBean.getMaxNumber();
int number = datasBean.getNumber(); // int number = datasBean.getNumber();
if (number >= maxNumber) { // if (number >= maxNumber) {
tv_soldout.setVisibility(View.VISIBLE); // tv_soldout.setVisibility(View.VISIBLE);
tv_soldout.setText(maxNumber); // tv_soldout.setText(maxNumber);
} else { // } else {
// tv_soldout.setVisibility(View.INVISIBLE);
// }
String qty = datasBean.getMaxNumber();
if (qty.equals("")) {
tv_soldout.setVisibility(View.INVISIBLE); tv_soldout.setVisibility(View.INVISIBLE);
} else {
tv_soldout.setVisibility(View.VISIBLE);
tv_soldout.setText(datasBean.getMaxNumber());
} }
tv_soldout.setMaxHeight(OrderNumberChildShowSize); tv_soldout.setMaxHeight(OrderNumberChildShowSize);
......
...@@ -404,7 +404,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -404,7 +404,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
notifyItemChanged(i); notifyItemChanged(i);
Food orderBean = mMealStandPresenter.getOrderFoodById(orderItem.getId()); Food orderBean = mMealStandPresenter.getOrderFoodById(orderItem.getId());
if (orderBean != null) { if (orderBean != null) {
mMealStandPresenter.setUserMaxQty(orderBean); mMealStandPresenter.setFoodMaxQty(orderBean,false);
} }
} }
} }
......
package com.gingersoft.gsa.cloud.table.mvp.ui.fragment; package com.gingersoft.gsa.cloud.table.mvp.ui.fragment;
import android.app.Activity;
import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.net.ParseException; import android.net.ParseException;
import android.os.Bundle; import android.os.Bundle;
...@@ -92,9 +94,9 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements ...@@ -92,9 +94,9 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements
@Override @Override
public void initData(@Nullable Bundle savedInstanceState) { public void initData(@Nullable Bundle savedInstanceState) {
currentPageIndex = getArguments().getInt("currentPageIndex", 0); currentPageIndex = getArguments().getInt("currentPageIndex", 0);
orderCenterActivity = (OrderCenterActivity) getActivity(); orderCenterActivity = (OrderCenterActivity) mContext;
mPresenter.initOrderAdapter(getActivity()); mPresenter.initOrderAdapter(mContext);
initRefreshLayout(); initRefreshLayout();
} }
...@@ -169,6 +171,10 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements ...@@ -169,6 +171,10 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements
} }
public Activity getCurrentActivity() {
return (Activity) mContext;
}
private View.OnClickListener onRetryClickListener = new View.OnClickListener() { private View.OnClickListener onRetryClickListener = new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
...@@ -218,7 +224,7 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements ...@@ -218,7 +224,7 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements
} }
private void initAllOrderRecycleViewLayout() { private void initAllOrderRecycleViewLayout() {
LinearLayoutManager mAllOrderRecycleLayoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false); LinearLayoutManager mAllOrderRecycleLayoutManager = new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false);
recycle_order.setLayoutManager(mAllOrderRecycleLayoutManager); recycle_order.setLayoutManager(mAllOrderRecycleLayoutManager);
recycle_order.addItemDecoration(new DividerItemDecoration(orderCenterActivity, LinearLayoutManager.VERTICAL)); recycle_order.addItemDecoration(new DividerItemDecoration(orderCenterActivity, LinearLayoutManager.VERTICAL));
} }
......
...@@ -108,11 +108,10 @@ public class AllTableFragment extends BaseFragment<AllTablePresenter> implements ...@@ -108,11 +108,10 @@ public class AllTableFragment extends BaseFragment<AllTablePresenter> implements
@Override @Override
public void initData(@Nullable Bundle savedInstanceState) { public void initData(@Nullable Bundle savedInstanceState) {
currentPageIndex = getArguments().getInt("currentPageIndex", TableActivity.FUNCTION_ALL_TABLE); currentPageIndex = getArguments().getInt("currentPageIndex", TableActivity.FUNCTION_ALL_TABLE);
Activity activity = getActivity(); if (mContext instanceof TableActivity) {
if (activity instanceof TableActivity) { mTableActivity = (TableActivity) mContext;
mTableActivity = (TableActivity) activity; } else if(mContext instanceof OrderContentActivity){
} else if(activity instanceof OrderContentActivity){ mOrderContentActivity = (OrderContentActivity) mContext;
mOrderContentActivity = (OrderContentActivity) activity;
} }
initRefreshLayout(); initRefreshLayout();
initRecycleScrollListener(); initRecycleScrollListener();
...@@ -266,6 +265,10 @@ public class AllTableFragment extends BaseFragment<AllTablePresenter> implements ...@@ -266,6 +265,10 @@ public class AllTableFragment extends BaseFragment<AllTablePresenter> implements
} }
public Activity getCurrentActivity() {
return (Activity) mContext;
}
private View.OnClickListener onRetryClickListener = new View.OnClickListener() { private View.OnClickListener onRetryClickListener = new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
...@@ -326,7 +329,7 @@ public class AllTableFragment extends BaseFragment<AllTablePresenter> implements ...@@ -326,7 +329,7 @@ public class AllTableFragment extends BaseFragment<AllTablePresenter> implements
// recycle_all_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.VERTICAL)); // recycle_all_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.VERTICAL));
// recycle_all_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.HORIZONTAL)); // recycle_all_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.HORIZONTAL));
// } else { // } else {
mAllTableRecycleLayoutManager = new GridLayoutManager(getActivity(), 4, LinearLayoutManager.VERTICAL, false); mAllTableRecycleLayoutManager = new GridLayoutManager(mContext, 4, LinearLayoutManager.VERTICAL, false);
recycle_all_table.setLayoutManager(mAllTableRecycleLayoutManager); recycle_all_table.setLayoutManager(mAllTableRecycleLayoutManager);
// recycle_all_table.addItemDecoration(new GridDividerItemDecoration(ArmsUtils.dip2px(getActivity(),1), ArmsUtils.getColor(getActivity(), R.color.theme_grey_color))); // recycle_all_table.addItemDecoration(new GridDividerItemDecoration(ArmsUtils.dip2px(getActivity(),1), ArmsUtils.getColor(getActivity(), R.color.theme_grey_color)));
// recycle_all_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.HORIZONTAL)); // recycle_all_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.HORIZONTAL));
......
...@@ -12,6 +12,7 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; ...@@ -12,6 +12,7 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2; import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.di.component.DaggerFineItemAllComponent; import com.gingersoft.gsa.cloud.table.di.component.DaggerFineItemAllComponent;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.jess.arms.base.BaseFragment; import com.jess.arms.base.BaseFragment;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.di.component.AppComponent; import com.jess.arms.di.component.AppComponent;
...@@ -23,6 +24,8 @@ import com.gingersoft.gsa.cloud.table.mvp.presenter.FineItemAllPresenter; ...@@ -23,6 +24,8 @@ import com.gingersoft.gsa.cloud.table.mvp.presenter.FineItemAllPresenter;
import org.simple.eventbus.Subscriber; import org.simple.eventbus.Subscriber;
import java.util.List;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.recyclerview.widget.DefaultItemAnimator; import androidx.recyclerview.widget.DefaultItemAnimator;
...@@ -83,13 +86,19 @@ public class FineItemAllFragment extends BaseFragment<FineItemAllPresenter> impl ...@@ -83,13 +86,19 @@ public class FineItemAllFragment extends BaseFragment<FineItemAllPresenter> impl
modCol = GsaCloudApplication.androidSetting.getModCol(); modCol = GsaCloudApplication.androidSetting.getModCol();
mPresenter.initAdapter(); mPresenter.initAdapter();
mPresenter.initItemListener(getActivity()); mPresenter.initItemListener(mContext);
} }
@Override @Override
public void setData(@Nullable Object data) { public void setData(@Nullable Object data) {
}
public void updateCurrentSlodoutFoodList_Full(List<SoldoutCtrFood> event) {
if (event == null) {
return;
}
mPresenter.updateCurrentSlodoutFoodList_Full(event);
} }
public void onModSasteEvent(long mid) { public void onModSasteEvent(long mid) {
...@@ -149,25 +158,25 @@ public class FineItemAllFragment extends BaseFragment<FineItemAllPresenter> impl ...@@ -149,25 +158,25 @@ public class FineItemAllFragment extends BaseFragment<FineItemAllPresenter> impl
private GridLayoutManager mFineItemTwoRecycleLayoutManager; private GridLayoutManager mFineItemTwoRecycleLayoutManager;
public void initFineItemTwoRecycleView() { public void initFineItemTwoRecycleView() {
mFineItemTwoRecycleLayoutManager = new GridLayoutManager(getActivity(), 1, LinearLayoutManager.VERTICAL, false); mFineItemTwoRecycleLayoutManager = new GridLayoutManager(mContext, 1, LinearLayoutManager.VERTICAL, false);
recycle_fine_item_kind_item.setLayoutManager(mFineItemTwoRecycleLayoutManager); recycle_fine_item_kind_item.setLayoutManager(mFineItemTwoRecycleLayoutManager);
recycle_fine_item_kind_item.setItemAnimator(new DefaultItemAnimator()); recycle_fine_item_kind_item.setItemAnimator(new DefaultItemAnimator());
} }
public void initFineItemTwoRecycleView2() { public void initFineItemTwoRecycleView2() {
mFineItemTwoRecycleLayoutManager = new GridLayoutManager(getActivity(), 1, LinearLayoutManager.HORIZONTAL, false); mFineItemTwoRecycleLayoutManager = new GridLayoutManager(mContext, 1, LinearLayoutManager.HORIZONTAL, false);
recycle_fine_item_kind_item.setLayoutManager(mFineItemTwoRecycleLayoutManager); recycle_fine_item_kind_item.setLayoutManager(mFineItemTwoRecycleLayoutManager);
recycle_fine_item_kind_item.setItemAnimator(new DefaultItemAnimator()); recycle_fine_item_kind_item.setItemAnimator(new DefaultItemAnimator());
} }
public void initFineItemAllRecycleView() { public void initFineItemAllRecycleView() {
mFineItemAllRecycleLayoutManager = new GridLayoutManager(getActivity(), 1, LinearLayoutManager.VERTICAL, false); mFineItemAllRecycleLayoutManager = new GridLayoutManager(mContext, 1, LinearLayoutManager.VERTICAL, false);
recycle_fine_item_all.setLayoutManager(mFineItemAllRecycleLayoutManager); recycle_fine_item_all.setLayoutManager(mFineItemAllRecycleLayoutManager);
recycle_fine_item_all.setItemAnimator(new DefaultItemAnimator()); recycle_fine_item_all.setItemAnimator(new DefaultItemAnimator());
} }
public void initFineItemAllRecycleView2() { public void initFineItemAllRecycleView2() {
mFineItemAllRecycleLayoutManager = new GridLayoutManager(getActivity(), 1, LinearLayoutManager.HORIZONTAL, false); mFineItemAllRecycleLayoutManager = new GridLayoutManager(mContext, 1, LinearLayoutManager.HORIZONTAL, false);
recycle_fine_item_all.setLayoutManager(mFineItemAllRecycleLayoutManager); recycle_fine_item_all.setLayoutManager(mFineItemAllRecycleLayoutManager);
recycle_fine_item_all.setItemAnimator(new DefaultItemAnimator()); recycle_fine_item_all.setItemAnimator(new DefaultItemAnimator());
} }
...@@ -208,7 +217,7 @@ public class FineItemAllFragment extends BaseFragment<FineItemAllPresenter> impl ...@@ -208,7 +217,7 @@ public class FineItemAllFragment extends BaseFragment<FineItemAllPresenter> impl
@Override @Override
public Activity getCurrentActivity() { public Activity getCurrentActivity() {
return getActivity(); return (Activity) mContext;
} }
@Override @Override
......
...@@ -79,11 +79,11 @@ public class FineItemKindFragment extends BaseFragment<FineItemKindPresenter> im ...@@ -79,11 +79,11 @@ public class FineItemKindFragment extends BaseFragment<FineItemKindPresenter> im
modCol = GsaCloudApplication.androidSetting.getModCol(); modCol = GsaCloudApplication.androidSetting.getModCol();
mPresenter.initAdapter(); mPresenter.initAdapter();
mPresenter.initItemListener(getActivity()); mPresenter.initItemListener(mContext);
} }
// @Subscriber(tag = "FineItemKindFragment_onCurrentSlodoutFoodList_FullEvent") // @Subscriber(tag = "FineItemKindFragment_onCurrentSlodoutFoodList_FullEvent")
// public void onCurrentSlodoutFoodList_FullEvent(List<CurrentSoldoutFood.DatasBean> event) { // public void onCurrentSlodoutFoodList_FullEvent(List<SoldoutCtrFood.DatasBean> event) {
// if (event == null) { // if (event == null) {
// return; // return;
// } // }
...@@ -157,25 +157,25 @@ public class FineItemKindFragment extends BaseFragment<FineItemKindPresenter> im ...@@ -157,25 +157,25 @@ public class FineItemKindFragment extends BaseFragment<FineItemKindPresenter> im
private GridLayoutManager mFineItemTwoRecycleLayoutManager; private GridLayoutManager mFineItemTwoRecycleLayoutManager;
public void initFineItemOneRecycleView() { public void initFineItemOneRecycleView() {
mFineItemOneRecycleLayoutManager = new GridLayoutManager(getActivity(), 1, LinearLayoutManager.VERTICAL, false); mFineItemOneRecycleLayoutManager = new GridLayoutManager(mContext, 1, LinearLayoutManager.VERTICAL, false);
recycle_fine_item_kind.setLayoutManager(mFineItemOneRecycleLayoutManager); recycle_fine_item_kind.setLayoutManager(mFineItemOneRecycleLayoutManager);
recycle_fine_item_kind.setItemAnimator(new DefaultItemAnimator()); recycle_fine_item_kind.setItemAnimator(new DefaultItemAnimator());
} }
public void initFineItemOneRecycleView2() { public void initFineItemOneRecycleView2() {
mFineItemOneRecycleLayoutManager = new GridLayoutManager(getActivity(), 1, LinearLayoutManager.HORIZONTAL, false); mFineItemOneRecycleLayoutManager = new GridLayoutManager(mContext, 1, LinearLayoutManager.HORIZONTAL, false);
recycle_fine_item_kind.setLayoutManager(mFineItemOneRecycleLayoutManager); recycle_fine_item_kind.setLayoutManager(mFineItemOneRecycleLayoutManager);
recycle_fine_item_kind.setItemAnimator(new DefaultItemAnimator()); recycle_fine_item_kind.setItemAnimator(new DefaultItemAnimator());
} }
public void initFineItemTwoRecycleView() { public void initFineItemTwoRecycleView() {
mFineItemTwoRecycleLayoutManager = new GridLayoutManager(getActivity(), 1, LinearLayoutManager.VERTICAL, false); mFineItemTwoRecycleLayoutManager = new GridLayoutManager(mContext, 1, LinearLayoutManager.VERTICAL, false);
recycle_fine_item_kind_item.setLayoutManager(mFineItemTwoRecycleLayoutManager); recycle_fine_item_kind_item.setLayoutManager(mFineItemTwoRecycleLayoutManager);
recycle_fine_item_kind_item.setItemAnimator(new DefaultItemAnimator()); recycle_fine_item_kind_item.setItemAnimator(new DefaultItemAnimator());
} }
public void initFineItemTwoRecycleView2() { public void initFineItemTwoRecycleView2() {
mFineItemTwoRecycleLayoutManager = new GridLayoutManager(getActivity(), 1, LinearLayoutManager.HORIZONTAL, false); mFineItemTwoRecycleLayoutManager = new GridLayoutManager(mContext, 1, LinearLayoutManager.HORIZONTAL, false);
recycle_fine_item_kind_item.setLayoutManager(mFineItemTwoRecycleLayoutManager); recycle_fine_item_kind_item.setLayoutManager(mFineItemTwoRecycleLayoutManager);
recycle_fine_item_kind_item.setItemAnimator(new DefaultItemAnimator()); recycle_fine_item_kind_item.setItemAnimator(new DefaultItemAnimator());
} }
...@@ -206,7 +206,7 @@ public class FineItemKindFragment extends BaseFragment<FineItemKindPresenter> im ...@@ -206,7 +206,7 @@ public class FineItemKindFragment extends BaseFragment<FineItemKindPresenter> im
@Override @Override
public Activity getCurrentActivity() { public Activity getCurrentActivity() {
return getActivity(); return (Activity) mContext;
} }
@Override @Override
......
...@@ -136,11 +136,10 @@ public class InputTableFragment extends BaseFragment<InputTablePresenter> implem ...@@ -136,11 +136,10 @@ public class InputTableFragment extends BaseFragment<InputTablePresenter> implem
@Override @Override
public void initData(@Nullable Bundle savedInstanceState) { public void initData(@Nullable Bundle savedInstanceState) {
Activity activity = getActivity(); if (mContext instanceof TableActivity) {
if (activity instanceof TableActivity) { mTableActivity = (TableActivity) mContext;
mTableActivity = (TableActivity) activity; } else if(mContext instanceof OrderContentActivity){
} else if(activity instanceof OrderContentActivity){ mOrderContentActivity = (OrderContentActivity) mContext;
mOrderContentActivity = (OrderContentActivity) activity;
} }
ed_value.addTextChangedListener(new TextWatcher() { ed_value.addTextChangedListener(new TextWatcher() {
......
...@@ -88,11 +88,10 @@ public class StateTableFragment extends BaseFragment<StateTablePresenter> implem ...@@ -88,11 +88,10 @@ public class StateTableFragment extends BaseFragment<StateTablePresenter> implem
@Override @Override
public void initData(@Nullable Bundle savedInstanceState) { public void initData(@Nullable Bundle savedInstanceState) {
Activity activity = getActivity(); if (mContext instanceof TableActivity) {
if (activity instanceof TableActivity) { mTableActivity = (TableActivity) mContext;
mTableActivity = (TableActivity) activity; } else if(mContext instanceof OrderContentActivity){
} else if(activity instanceof OrderContentActivity){ mOrderContentActivity = (OrderContentActivity) mContext;
mOrderContentActivity = (OrderContentActivity) activity;
} }
initRecycleScrollListener(); initRecycleScrollListener();
...@@ -213,6 +212,9 @@ public class StateTableFragment extends BaseFragment<StateTablePresenter> implem ...@@ -213,6 +212,9 @@ public class StateTableFragment extends BaseFragment<StateTablePresenter> implem
} }
public Activity getCurrentActivity() {
return (Activity) mContext;
}
@Override @Override
public void setStateTableAdapter(DefaultAdapter adapter) { public void setStateTableAdapter(DefaultAdapter adapter) {
...@@ -230,7 +232,7 @@ public class StateTableFragment extends BaseFragment<StateTablePresenter> implem ...@@ -230,7 +232,7 @@ public class StateTableFragment extends BaseFragment<StateTablePresenter> implem
// recycle_state_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.HORIZONTAL)); // recycle_state_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.HORIZONTAL));
// recycle_state_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.VERTICAL)); // recycle_state_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.VERTICAL));
// } else { // } else {
mStateTableRecycleLayoutManager = new GridLayoutManager(getActivity(), 4, LinearLayoutManager.VERTICAL, false); mStateTableRecycleLayoutManager = new GridLayoutManager(mContext, 4, LinearLayoutManager.VERTICAL, false);
recycle_state_table.setLayoutManager(mStateTableRecycleLayoutManager); recycle_state_table.setLayoutManager(mStateTableRecycleLayoutManager);
// recycle_state_table.addItemDecoration(new GridDividerItemDecoration(ArmsUtils.dip2px(getActivity(),1), ArmsUtils.getColor(getActivity(), R.color.theme_grey_color))); // recycle_state_table.addItemDecoration(new GridDividerItemDecoration(ArmsUtils.dip2px(getActivity(),1), ArmsUtils.getColor(getActivity(), R.color.theme_grey_color)));
// recycle_state_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.HORIZONTAL)); // recycle_state_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.HORIZONTAL));
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<LinearLayout <LinearLayout
android:id="@+id/ll_meals" android:id="@+id/ll_meals"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_220" android:layout_height="@dimen/dp_250"
android:orientation="vertical"> android:orientation="vertical">
<RelativeLayout <RelativeLayout
...@@ -37,7 +37,6 @@ ...@@ -37,7 +37,6 @@
android:text="數量" android:text="數量"
android:textAppearance="?android:attr/textAppearanceMedium" android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/theme_white_color" /> android:textColor="@color/theme_white_color" />
</RelativeLayout> </RelativeLayout>
<LinearLayout <LinearLayout
...@@ -51,7 +50,9 @@ ...@@ -51,7 +50,9 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:divider="@null" android:divider="@null"
android:fadeScrollbars="false" /> android:fadeScrollbars="false"
app:spanCount="1"
app:layoutManager="com.gingersoft.gsa.cloud.ui.recylcler.RecyclerViewNoBugLinearLayoutManager"/>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
......
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rl_select"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/normal_space5"
android:paddingBottom="@dimen/normal_space5"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_10"
android:text="1"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/theme_black"
android:textSize="@dimen/sp_16"/>
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginRight="@dimen/dp_5"
android:layout_toLeftOf="@+id/tv_value"
android:layout_toRightOf="@+id/tv_number"
android:text=""
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/theme_black"
android:textSize="@dimen/sp_16" />
<TextView
android:id="@+id/tv_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="@dimen/dp_20"
android:text=""
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/theme_black"
android:textSize="@dimen/sp_16" />
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton xmlns:android="http://schemas.android.com/apk/res/android" <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fl_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="1px">
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id="@+id/btn_name" android:id="@+id/btn_name"
android:orientation="vertical" android:orientation="vertical"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_60" android:layout_height="wrap_content"
android:gravity="center" android:gravity="center"
android:background="@color/theme_color" android:background="@color/theme_color"
android:textColor="@color/theme_white_color" android:textColor="@color/theme_white_color"
android:text="送單" android:text="送單"
android:textSize="@dimen/font_large" android:textSize="@dimen/font_large">
android:layout_margin="1px"> </com.qmuiteam.qmui.alpha.QMUIAlphaButton>
</com.qmuiteam.qmui.alpha.QMUIAlphaButton> <Button
\ No newline at end of file android:id="@+id/btn_lable"
style="@style/ButtonBorderless"
android:layout_width="40dp"
android:layout_height="20dp"
android:layout_gravity="right|bottom"
android:background="@drawable/ui_shape_red_oval"
android:gravity="center"
android:visibility="visible"
android:singleLine="true"
android:layout_margin="@dimen/dp_2"
android:textColor="@color/theme_white_color" />
</FrameLayout>
\ No newline at end of file
...@@ -43,10 +43,10 @@ ...@@ -43,10 +43,10 @@
android:value="ConfigModule" /> android:value="ConfigModule" />
<meta-data <meta-data
android:name="design_width_in_dp" android:name="design_width_in_dp"
android:value="360" /> android:value="360"/>
<meta-data <meta-data
android:name="design_height_in_dp" android:name="design_height_in_dp"
android:value="540" /> android:value="640"/>
</application> </application>
</manifest> </manifest>
...@@ -36,10 +36,10 @@ ...@@ -36,10 +36,10 @@
android:value="ConfigModule" /> android:value="ConfigModule" />
<meta-data <meta-data
android:name="design_width_in_dp" android:name="design_width_in_dp"
android:value="360" /> android:value="360"/>
<meta-data <meta-data
android:name="design_height_in_dp" android:name="design_height_in_dp"
android:value="540" /> android:value="640"/>
</application> </application>
</manifest> </manifest>
\ No newline at end of file
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