Commit 261b3c34 by 宁斌

新增餐檯管理頁,細項多選添加到最後面

parent 77a16245
...@@ -63,5 +63,8 @@ public interface DownloadContract { ...@@ -63,5 +63,8 @@ public interface DownloadContract {
Observable<BaseResult> downDiscount(int restaurantId); Observable<BaseResult> downDiscount(int restaurantId);
Observable<BaseResult> downExpandInfo(int restaurantId);
Observable<BaseResult> downPrinterList(int restaurantId);
} }
} }
...@@ -113,5 +113,17 @@ public class DownloadModel extends BaseModel implements DownloadContract.Model { ...@@ -113,5 +113,17 @@ public class DownloadModel extends BaseModel implements DownloadContract.Model {
.downDiscount(restaurantId); .downDiscount(restaurantId);
} }
@Override
public Observable<BaseResult> downExpandInfo(int restaurantId) {
return mRepositoryManager.obtainRetrofitService(DownloadService.class)
.downExpandInfo(restaurantId);
}
@Override
public Observable<BaseResult> downPrinterList(int restaurantId) {
return mRepositoryManager.obtainRetrofitService(DownloadService.class)
.downPrinterList(restaurantId);
}
} }
\ No newline at end of file
...@@ -39,7 +39,6 @@ public class DownloadTaskImp implements Runnable { ...@@ -39,7 +39,6 @@ public class DownloadTaskImp implements Runnable {
// presenter.downFoodModifier(); // presenter.downFoodModifier();
// break; // break;
// } // }
switch (request.getDownTag()) { switch (request.getDownTag()) {
case 0: case 0:
presenter.downFun(request.getDownTag()); presenter.downFun(request.getDownTag());
...@@ -62,6 +61,12 @@ public class DownloadTaskImp implements Runnable { ...@@ -62,6 +61,12 @@ public class DownloadTaskImp implements Runnable {
case 6: case 6:
presenter.downDiscount(request.getDownTag()); presenter.downDiscount(request.getDownTag());
break; break;
case 7:
presenter.downExpandInfo(request.getDownTag());
break;
case 8:
presenter.downPrinterList(request.getDownTag());
break;
} }
} }
} }
...@@ -40,4 +40,10 @@ public interface DownloadService { ...@@ -40,4 +40,10 @@ public interface DownloadService {
@GET(Api.restaurant_discount + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @GET(Api.restaurant_discount + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> downDiscount(@Query("restaurantId") int restaurantId); Observable<BaseResult> downDiscount(@Query("restaurantId") int restaurantId);
@GET(Api.expand_info + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> downExpandInfo(@Query("restaurantId") int restaurantId);
@GET(Api.printerDevice_list + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> downPrinterList(@Query("restaurantId") int restaurantId);
} }
...@@ -217,7 +217,7 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N ...@@ -217,7 +217,7 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
// 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));
functions.add(new Function((long) 142, 151, 5, "外賣接單", R.drawable.ic_takeaway_orders, 0)); functions.add(new Function((long) 142, 151, 5, "外賣接單", R.drawable.ic_takeaway_orders, 0));
functions.add(new Function((long) 143, 151, 5, "餐臺管理", R.drawable.ic_dining_table_management_close, 1)); functions.add(new Function((long) 143, 151, 5, "餐臺管理", R.drawable.ic_dining_table_management, 0));
functions.add(new Function((long) 144, 151, 5, "打印管理", R.drawable.ic_print_management, 0)); functions.add(new Function((long) 144, 151, 5, "打印管理", R.drawable.ic_print_management, 0));
functions.add(new Function((long) 145, 151, 5, "支付管理", R.drawable.ic_pay_management_close, 1)); functions.add(new Function((long) 145, 151, 5, "支付管理", R.drawable.ic_pay_management_close, 1));
functions.add(new Function((long) 146, 151, 5, "折扣管理", R.drawable.ic_discount_management_close, 1)); functions.add(new Function((long) 146, 151, 5, "折扣管理", R.drawable.ic_discount_management_close, 1));
...@@ -297,6 +297,11 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N ...@@ -297,6 +297,11 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
.setActionName("showSoldoutCtrlActivity") .setActionName("showSoldoutCtrlActivity")
.build() .build()
.call(); .call();
}else if(name.equals("餐臺管理")){
CC.obtainBuilder("Component.Manager")
.setActionName("showTableManageActivity")
.build()
.call();
} }
} }
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.gingersoft.gsa.cloud.manager"> package="com.gingersoft.gsa.cloud.manager">
<application> <application>
<activity android:name=".mvp.ui.activity.TableManageActivity"></activity>
<!-- arms配置 -->
<meta-data
android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
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>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
......
...@@ -2,15 +2,8 @@ ...@@ -2,15 +2,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gingersoft.gsa.cloud.manager"> package="com.gingersoft.gsa.cloud.manager">
<application <application>
android:name="com.gingersoft.gsa.cloud.base.application.GsaCloudApplication" <activity android:name=".mvp.ui.activity.TableManageActivity"></activity>
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:networkSecurityConfig="@xml/network_android"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<!-- arms配置 --> <!-- arms配置 -->
<meta-data <meta-data
android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration" android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
...@@ -20,14 +13,14 @@ ...@@ -20,14 +13,14 @@
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.WAKE_LOCK" /> <uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" /> <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<uses-permission android:name="android.permission.INTERNET" />
</manifest> </manifest>
\ No newline at end of file
...@@ -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.manager.mvp.ui.activity.TableManageActivity;
public class ComponentManager implements IComponent { public class ComponentManager implements IComponent {
...@@ -26,8 +27,8 @@ public class ComponentManager implements IComponent { ...@@ -26,8 +27,8 @@ public class ComponentManager implements IComponent {
public boolean onCall(CC cc) { public boolean onCall(CC cc) {
String actionName = cc.getActionName(); String actionName = cc.getActionName();
switch (actionName) { switch (actionName) {
case "showSoldoutCtrlActivity": case "showTableManageActivity":
openSoldoutCtrlActivity(cc); openTableManageActivity(cc);
break; break;
default: default:
//这个逻辑分支上没有调用CC.sendCCResult(...),是一种错误的示例 //这个逻辑分支上没有调用CC.sendCCResult(...),是一种错误的示例
...@@ -38,9 +39,9 @@ public class ComponentManager implements IComponent { ...@@ -38,9 +39,9 @@ public class ComponentManager implements IComponent {
return false; return false;
} }
private void openSoldoutCtrlActivity(CC cc) { private void openTableManageActivity(CC cc) {
// CCUtil.navigateTo(cc, SoldoutCtrlActivity.class); CCUtil.navigateTo(cc, TableManageActivity.class);
// CC.sendCCResult(cc.getCallId(), CCResult.success()); CC.sendCCResult(cc.getCallId(), CCResult.success());
} }
......
package com.gingersoft.gsa.cloud.manager.di.component;
import dagger.BindsInstance;
import dagger.Component;
import com.jess.arms.di.component.AppComponent;
import com.gingersoft.gsa.cloud.manager.di.module.AddAreaModule;
import com.gingersoft.gsa.cloud.manager.mvp.contract.AddAreaContract;
import com.jess.arms.di.scope.FragmentScope;
import com.gingersoft.gsa.cloud.manager.mvp.ui.fragment.AddAreaFragment;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 05/14/2020 10:16
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@FragmentScope
@Component(modules = AddAreaModule.class, dependencies = AppComponent.class)
public interface AddAreaComponent {
void inject(AddAreaFragment fragment);
@Component.Builder
interface Builder {
@BindsInstance
AddAreaComponent.Builder view(AddAreaContract.View view);
AddAreaComponent.Builder appComponent(AppComponent appComponent);
AddAreaComponent build();
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.manager.di.component;
import dagger.BindsInstance;
import dagger.Component;
import com.jess.arms.di.component.AppComponent;
import com.gingersoft.gsa.cloud.manager.di.module.AddTableModule;
import com.gingersoft.gsa.cloud.manager.mvp.contract.AddTableContract;
import com.jess.arms.di.scope.FragmentScope;
import com.gingersoft.gsa.cloud.manager.mvp.ui.fragment.AddTableFragment;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 05/14/2020 10:16
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@FragmentScope
@Component(modules = AddTableModule.class, dependencies = AppComponent.class)
public interface AddTableComponent {
void inject(AddTableFragment fragment);
@Component.Builder
interface Builder {
@BindsInstance
AddTableComponent.Builder view(AddTableContract.View view);
AddTableComponent.Builder appComponent(AppComponent appComponent);
AddTableComponent build();
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.manager.di.component;
import dagger.BindsInstance;
import dagger.Component;
import com.jess.arms.di.component.AppComponent;
import com.gingersoft.gsa.cloud.manager.di.module.TableManageModule;
import com.gingersoft.gsa.cloud.manager.mvp.contract.TableManageContract;
import com.jess.arms.di.scope.ActivityScope;
import com.gingersoft.gsa.cloud.manager.mvp.ui.activity.TableManageActivity;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 05/13/2020 14:47
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
@Component(modules = TableManageModule.class, dependencies = AppComponent.class)
public interface TableManageComponent {
void inject(TableManageActivity activity);
@Component.Builder
interface Builder {
@BindsInstance
TableManageComponent.Builder view(TableManageContract.View view);
TableManageComponent.Builder appComponent(AppComponent appComponent);
TableManageComponent build();
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.manager.di.module;
import com.jess.arms.di.scope.FragmentScope;
import dagger.Binds;
import dagger.Module;
import dagger.Provides;
import com.gingersoft.gsa.cloud.manager.mvp.contract.AddAreaContract;
import com.gingersoft.gsa.cloud.manager.mvp.model.AddAreaModel;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 05/14/2020 10:16
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@Module
public abstract class AddAreaModule {
@Binds
abstract AddAreaContract.Model bindAddAreaModel(AddAreaModel model);
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.manager.di.module;
import com.jess.arms.di.scope.FragmentScope;
import dagger.Binds;
import dagger.Module;
import dagger.Provides;
import com.gingersoft.gsa.cloud.manager.mvp.contract.AddTableContract;
import com.gingersoft.gsa.cloud.manager.mvp.model.AddTableModel;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 05/14/2020 10:16
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@Module
public abstract class AddTableModule {
@Binds
abstract AddTableContract.Model bindAddTableModel(AddTableModel model);
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.manager.di.module;
import com.jess.arms.di.scope.ActivityScope;
import dagger.Binds;
import dagger.Module;
import dagger.Provides;
import com.gingersoft.gsa.cloud.manager.mvp.contract.TableManageContract;
import com.gingersoft.gsa.cloud.manager.mvp.model.TableManageModel;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 05/13/2020 14:47
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@Module
public abstract class TableManageModule {
@Binds
abstract TableManageContract.Model bindTableManageModel(TableManageModel model);
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.manager.mvp.contract;
import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 05/14/2020 10:16
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public interface AddAreaContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView {
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
}
}
package com.gingersoft.gsa.cloud.manager.mvp.contract;
import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 05/14/2020 10:16
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public interface AddTableContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView {
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
}
}
package com.gingersoft.gsa.cloud.manager.mvp.contract;
import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 05/13/2020 14:47
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public interface TableManageContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView {
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
}
}
package com.gingersoft.gsa.cloud.manager.mvp.model;
import android.app.Application;
import com.google.gson.Gson;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
import com.jess.arms.di.scope.FragmentScope;
import javax.inject.Inject;
import com.gingersoft.gsa.cloud.manager.mvp.contract.AddAreaContract;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 05/14/2020 10:16
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@FragmentScope
public class AddAreaModel extends BaseModel implements AddAreaContract.Model {
@Inject
Gson mGson;
@Inject
Application mApplication;
@Inject
public AddAreaModel(IRepositoryManager repositoryManager) {
super(repositoryManager);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mGson = null;
this.mApplication = null;
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.manager.mvp.model;
import android.app.Application;
import com.google.gson.Gson;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
import com.jess.arms.di.scope.FragmentScope;
import javax.inject.Inject;
import com.gingersoft.gsa.cloud.manager.mvp.contract.AddTableContract;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 05/14/2020 10:16
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@FragmentScope
public class AddTableModel extends BaseModel implements AddTableContract.Model {
@Inject
Gson mGson;
@Inject
Application mApplication;
@Inject
public AddTableModel(IRepositoryManager repositoryManager) {
super(repositoryManager);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mGson = null;
this.mApplication = null;
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.manager.mvp.model;
import android.app.Application;
import com.google.gson.Gson;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
import com.jess.arms.di.scope.ActivityScope;
import javax.inject.Inject;
import com.gingersoft.gsa.cloud.manager.mvp.contract.TableManageContract;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 05/13/2020 14:47
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
public class TableManageModel extends BaseModel implements TableManageContract.Model {
@Inject
Gson mGson;
@Inject
Application mApplication;
@Inject
public TableManageModel(IRepositoryManager repositoryManager) {
super(repositoryManager);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mGson = null;
this.mApplication = null;
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.manager.mvp.presenter;
import android.app.Application;
import com.jess.arms.integration.AppManager;
import com.jess.arms.di.scope.FragmentScope;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.http.imageloader.ImageLoader;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import javax.inject.Inject;
import com.gingersoft.gsa.cloud.manager.mvp.contract.AddAreaContract;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 05/14/2020 10:16
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@FragmentScope
public class AddAreaPresenter extends BasePresenter<AddAreaContract.Model, AddAreaContract.View> {
@Inject
RxErrorHandler mErrorHandler;
@Inject
Application mApplication;
@Inject
ImageLoader mImageLoader;
@Inject
AppManager mAppManager;
@Inject
public AddAreaPresenter(AddAreaContract.Model model, AddAreaContract.View rootView) {
super(model, rootView);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mErrorHandler = null;
this.mAppManager = null;
this.mImageLoader = null;
this.mApplication = null;
}
}
package com.gingersoft.gsa.cloud.manager.mvp.presenter;
import android.app.Application;
import com.jess.arms.integration.AppManager;
import com.jess.arms.di.scope.FragmentScope;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.http.imageloader.ImageLoader;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import javax.inject.Inject;
import com.gingersoft.gsa.cloud.manager.mvp.contract.AddTableContract;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 05/14/2020 10:16
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@FragmentScope
public class AddTablePresenter extends BasePresenter<AddTableContract.Model, AddTableContract.View> {
@Inject
RxErrorHandler mErrorHandler;
@Inject
Application mApplication;
@Inject
ImageLoader mImageLoader;
@Inject
AppManager mAppManager;
@Inject
public AddTablePresenter(AddTableContract.Model model, AddTableContract.View rootView) {
super(model, rootView);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mErrorHandler = null;
this.mAppManager = null;
this.mImageLoader = null;
this.mApplication = null;
}
}
package com.gingersoft.gsa.cloud.manager.mvp.presenter;
import android.app.Application;
import com.jess.arms.integration.AppManager;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.http.imageloader.ImageLoader;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import javax.inject.Inject;
import com.gingersoft.gsa.cloud.manager.mvp.contract.TableManageContract;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 05/13/2020 14:47
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
public class TableManagePresenter extends BasePresenter<TableManageContract.Model, TableManageContract.View> {
@Inject
RxErrorHandler mErrorHandler;
@Inject
Application mApplication;
@Inject
ImageLoader mImageLoader;
@Inject
AppManager mAppManager;
@Inject
public TableManagePresenter(TableManageContract.Model model, TableManageContract.View rootView) {
super(model, rootView);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mErrorHandler = null;
this.mAppManager = null;
this.mImageLoader = null;
this.mApplication = null;
}
}
package com.gingersoft.gsa.cloud.manager.mvp.ui.activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.FrameLayout;
import com.gingersoft.gsa.cloud.constans.MealConstant;
import com.gingersoft.gsa.cloud.manager.R2;
import com.gingersoft.gsa.cloud.manager.mvp.ui.fragment.AddAreaFragment;
import com.gingersoft.gsa.cloud.manager.mvp.ui.fragment.AddTableFragment;
import com.gingersoft.gsa.cloud.ui.utils.AnimateUtils;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
import com.jess.arms.base.BaseActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.gingersoft.gsa.cloud.manager.di.component.DaggerTableManageComponent;
import com.gingersoft.gsa.cloud.manager.mvp.contract.TableManageContract;
import com.gingersoft.gsa.cloud.manager.mvp.presenter.TableManagePresenter;
import com.gingersoft.gsa.cloud.manager.R;
import com.qmuiteam.qmui.alpha.QMUIAlphaTextView;
import com.qmuiteam.qmui.widget.QMUITopBar;
import com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import butterknife.BindView;
import butterknife.OnClick;
import static com.jess.arms.utils.Preconditions.checkNotNull;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 05/13/2020 14:47
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public class TableManageActivity extends BaseActivity<TableManagePresenter> implements TableManageContract.View {
@BindView(R2.id.topbar)
QMUITopBar mTopBar;
@BindView(R2.id.section_layout)
QMUIStickySectionLayout section_layout;
@BindView(R2.id.tv_add_area)
QMUIAlphaTextView tv_add_area;
@BindView(R2.id.tv_add_table)
QMUIAlphaTextView tv_add_table;
@BindView(R2.id.frameLayout)
FrameLayout frameLayout;
private Fragment mCurrentFragment;
private AddAreaFragment mAddAreaFragment;
private AddTableFragment mAddTableFragment;
@Override
public void setupActivityComponent(@NonNull AppComponent appComponent) {
DaggerTableManageComponent //如找不到该类,请编译一下项目
.builder()
.appComponent(appComponent)
.view(this)
.build()
.inject(this);
}
@Override
public int initView(@Nullable Bundle savedInstanceState) {
return R.layout.activity_table_manage; //如果你不需要框架帮你设置 setContentView(id) 需要自行设置,请返回 0
}
@Override
public void initData(@Nullable Bundle savedInstanceState) {
}
@Override
public void initIntent() {
}
@Override
public void initTopBar() {
mTopBar.removeAllLeftViews();
mTopBar.removeAllRightViews();
if (mCurrentFragment == null) {
mTopBar.setBackgroundColor(ContextCompat.getColor(this, R.color.theme_color));
mTopBar.addLeftBackImageButton().setOnClickListener(v -> killMyself());
mTopBar.setTitle("餐檯管理");
} else if (mCurrentFragment instanceof AddAreaFragment) {
Button leftButton = mTopBar.addLeftTextButton("取消", R.id.qmui_topbar_item_left_back);
leftButton.setTextColor(ContextCompat.getColor(this, R.color.theme_white_color));
leftButton.setOnClickListener(v -> {
backTableManage();
});
Button rightButton = mTopBar.addRightTextButton("保存", R.id.qmui_dialog_edit_right_icon);
rightButton.setTextColor(ContextCompat.getColor(this, R.color.theme_white_color));
rightButton.setOnClickListener(v -> {
});
mTopBar.setTitle("添加區域");
} else if (mCurrentFragment instanceof AddTableFragment) {
Button leftButton = mTopBar.addLeftTextButton("取消", R.id.qmui_topbar_item_left_back);
leftButton.setTextColor(ContextCompat.getColor(this, R.color.theme_white_color));
leftButton.setOnClickListener(v -> {
backTableManage();
});
Button rightButton = mTopBar.addRightTextButton("保存", R.id.qmui_dialog_edit_right_icon);
rightButton.setTextColor(ContextCompat.getColor(this, R.color.theme_white_color));
rightButton.setOnClickListener(v -> {
});
mTopBar.setTitle("添加餐檯");
}
}
@Override
public void initLanguage() {
}
@Override
public void initLayoutParams() {
}
@Override
public void initLayoutVisible() {
}
@OnClick(R2.id.tv_add_area)
void onClickAddArea() {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
hideFragment(transaction);
if (mAddAreaFragment == null) {
addAddAreaFragment(transaction);
} else {
showFragment(transaction, mAddAreaFragment);
}
transaction.commit();
initTopBar();
AnimateUtils.animateUp(frameLayout, 300);
}
@OnClick(R2.id.tv_add_table)
void onClickAddTable() {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
hideFragment(transaction);
if (mAddTableFragment == null) {
addAddTableFragment(transaction);
} else {
showFragment(transaction, mAddTableFragment);
}
transaction.commit();
initTopBar();
AnimateUtils.animateUp(frameLayout, 300);
}
private void addAddAreaFragment(FragmentTransaction transaction) {
mAddAreaFragment = AddAreaFragment.newInstance();
mCurrentFragment = mAddAreaFragment;
transaction.add(R.id.frameLayout, mAddAreaFragment, AddAreaFragment.class.getName());
}
private void addAddTableFragment(FragmentTransaction transaction) {
mAddTableFragment = AddTableFragment.newInstance();
mCurrentFragment = mAddTableFragment;
transaction.add(R.id.frameLayout, mAddTableFragment, AddAreaFragment.class.getName());
}
private void hideFragment(FragmentTransaction transaction) {
if (mAddAreaFragment != null) {
transaction.hide(mAddAreaFragment);
AnimateUtils.animateDown(frameLayout, 300);
}
if (mAddTableFragment != null) {
transaction.hide(mAddTableFragment);
AnimateUtils.animateDown(frameLayout, 300);
}
}
private void showFragment(FragmentTransaction transaction, Fragment fragment) {
mCurrentFragment = fragment;
transaction.show(fragment);
}
@Override
public void showLoading(String message) {
if (message != null)
LoadingDialog.showDialogForLoading(this, message, true);
else
LoadingDialog.showDialogForLoading(this);
}
@Override
public void hideLoading() {
LoadingDialog.cancelDialogForLoading();
}
@Override
public void showMessage(@NonNull String message) {
checkNotNull(message);
ArmsUtils.makeText(this, message);
}
@Override
public void launchActivity(@NonNull Intent intent) {
checkNotNull(intent);
ArmsUtils.startActivity(intent);
}
@Override
public void killMyself() {
finish();
}
@Override
public void onBackPressed() {
if (mCurrentFragment == null) {
killMyself();
} else if (mCurrentFragment instanceof AddAreaFragment || mCurrentFragment instanceof AddTableFragment) {
backTableManage();
}
}
private void backTableManage(){
mCurrentFragment = null;
initTopBar();
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
hideFragment(transaction);
}
}
package com.gingersoft.gsa.cloud.manager.mvp.ui.adapter.soldout;
import android.content.Context;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter;
import java.util.List;
import butterknife.BindView;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2018/6/27
* 修订历史:2018/6/27
* 描述:
*/
public class CurrentSlodoutFoodAdapter extends DefaultAdapter<Object> {
public CurrentSlodoutFoodAdapter(List<Object> infos) {
super(infos);
}
@Override
public BaseHolder<Object> getHolder(View v, int viewType) {
return null;
}
@Override
public int getLayoutId(int viewType) {
return 0;
}
//
// private Context mContext;
// private View convertView;
// //字体大小
// 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
// public void setData(CurrentSoldoutFood.DatasBean datasBean, int position) {
//
// String name = datasBean.getName();
// if (name != null) {
// tv_name.setText(name);
// }
//
// if (datasBean.getItemdesc1() == null || datasBean.getItemdesc1().equals("0")) {
// 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;
// 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);
// }
// });
// }
// }
//
//
// public int getSelectPosition() {
// return this.select_position;
// }
//
// private OnItemClickListener mOnItemClickListener;
//
// public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
// mOnItemClickListener = onItemClickListener;
// }
//
// public interface OnItemClickListener {
//
// void onItemClick(CurrentSoldoutFood.DatasBean datasBean, int position);
//
// }
//
}
package com.gingersoft.gsa.cloud.manager.mvp.ui.fragment;
import android.content.Intent;
import android.os.Bundle;
import android.os.Message;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
import com.jess.arms.base.BaseFragment;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.gingersoft.gsa.cloud.manager.di.component.DaggerAddAreaComponent;
import com.gingersoft.gsa.cloud.manager.mvp.contract.AddAreaContract;
import com.gingersoft.gsa.cloud.manager.mvp.presenter.AddAreaPresenter;
import com.gingersoft.gsa.cloud.manager.R;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import static com.jess.arms.utils.Preconditions.checkNotNull;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 05/14/2020 10:16
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public class AddAreaFragment extends BaseFragment<AddAreaPresenter> implements AddAreaContract.View {
public static AddAreaFragment newInstance() {
AddAreaFragment fragment = new AddAreaFragment();
return fragment;
}
@Override
public void setupFragmentComponent(@NonNull AppComponent appComponent) {
DaggerAddAreaComponent //如找不到该类,请编译一下项目
.builder()
.appComponent(appComponent)
.view(this)
.build()
.inject(this);
}
@Override
public View initView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_add_area, container, false);
}
@Override
public void initData(@Nullable Bundle savedInstanceState) {
}
@Override
public void setData(@Nullable Object data) {
}
@Override
public void showLoading(String message) {
if (message != null)
LoadingDialog.showDialogForLoading(mContext, message, true);
else
LoadingDialog.showDialogForLoading(mContext);
}
@Override
public void hideLoading() {
LoadingDialog.cancelDialogForLoading();
}
@Override
public void showMessage(@NonNull String message) {
checkNotNull(message);
ArmsUtils.makeText(mContext, message);
}
@Override
public void launchActivity(@NonNull Intent intent) {
checkNotNull(intent);
ArmsUtils.startActivity(intent);
}
@Override
public void killMyself() {
}
}
package com.gingersoft.gsa.cloud.manager.mvp.ui.fragment;
import android.content.Intent;
import android.os.Bundle;
import android.os.Message;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import com.gingersoft.gsa.cloud.manager.R2;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
import com.jess.arms.base.BaseFragment;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.gingersoft.gsa.cloud.manager.di.component.DaggerAddTableComponent;
import com.gingersoft.gsa.cloud.manager.mvp.contract.AddTableContract;
import com.gingersoft.gsa.cloud.manager.mvp.presenter.AddTablePresenter;
import com.gingersoft.gsa.cloud.manager.R;
import com.qmuiteam.qmui.util.QMUIDeviceHelper;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import com.qmuiteam.qmui.util.QMUIResHelper;
import com.qmuiteam.qmui.widget.QMUILoadingView;
import com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView;
import com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.content.ContextCompat;
import butterknife.BindDimen;
import butterknife.BindView;
import static com.jess.arms.utils.Preconditions.checkNotNull;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 05/14/2020 10:16
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public class AddTableFragment extends BaseFragment<AddTablePresenter> implements AddTableContract.View {
@BindView(R2.id.groupListView)
QMUIGroupListView mGroupListView;
public static AddTableFragment newInstance() {
AddTableFragment fragment = new AddTableFragment();
return fragment;
}
@Override
public void setupFragmentComponent(@NonNull AppComponent appComponent) {
DaggerAddTableComponent //如找不到该类,请编译一下项目
.builder()
.appComponent(appComponent)
.view(this)
.build()
.inject(this);
}
@Override
public View initView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_add_table, container, false);
}
@Override
public void initData(@Nullable Bundle savedInstanceState) {
initGroupListView();
}
private void initGroupListView() {
int height = QMUIResHelper.getAttrDimen(getContext(), com.qmuiteam.qmui.R.attr.qmui_list_item_height);
QMUICommonListItemView itemRedPoint4 = mGroupListView.createItemView(null,
"區域",
"大廳",
QMUICommonListItemView.HORIZONTAL,
QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON,
height);
itemRedPoint4.setTipPosition(QMUICommonListItemView.TIP_POSITION_RIGHT);
QMUICommonListItemView tableNameItemView = mGroupListView.createItemView("餐檯名稱");
tableNameItemView.setAccessoryType(QMUICommonListItemView.ACCESSORY_TYPE_CUSTOM);
EditText tableNameEditText = new EditText(getActivity());
tableNameEditText.setHint("必填");
tableNameEditText.setTextSize(QMUIDisplayHelper.dpToPx(8));
tableNameEditText.setBackgroundColor(ContextCompat.getColor(mContext, R.color.trans));
tableNameItemView.addAccessoryCustomView(tableNameEditText);
QMUICommonListItemView peopleNumberItemView = mGroupListView.createItemView("就餐人數");
peopleNumberItemView.setAccessoryType(QMUICommonListItemView.ACCESSORY_TYPE_CUSTOM);
EditText peopleNumberEditText = new EditText(getActivity());
peopleNumberEditText.setHint("必填");
peopleNumberEditText.setTextSize(QMUIDisplayHelper.dpToPx(8));
peopleNumberEditText.setBackgroundColor(ContextCompat.getColor(mContext, R.color.trans));
peopleNumberItemView.addAccessoryCustomView(peopleNumberEditText);
QMUICommonListItemView serverchargeItemView = mGroupListView.createItemView("服務費");
serverchargeItemView.setAccessoryType(QMUICommonListItemView.ACCESSORY_TYPE_CUSTOM);
EditText serverchargeEditText = new EditText(getActivity());
serverchargeEditText.setHint("0");
serverchargeEditText.setTextSize(QMUIDisplayHelper.dpToPx(8));
serverchargeEditText.setBackgroundColor(ContextCompat.getColor(mContext, R.color.trans));
serverchargeItemView.addAccessoryCustomView(serverchargeEditText);
QMUICommonListItemView tableSortItemView = mGroupListView.createItemView("餐桌排序");
tableSortItemView.setAccessoryType(QMUICommonListItemView.ACCESSORY_TYPE_CUSTOM);
EditText tableSortEditText = new EditText(getActivity());
tableSortEditText.setHint("100");
tableSortEditText.setTextSize(QMUIDisplayHelper.dpToPx(8));
tableSortEditText.setBackgroundColor(ContextCompat.getColor(mContext, R.color.trans));
tableSortItemView.addAccessoryCustomView(tableSortEditText);
int size = QMUIDisplayHelper.dp2px(getContext(), 20);
QMUIGroupListView.newSection(getContext())
.setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
.addItemView(itemRedPoint4, new View.OnClickListener() {
@Override
public void onClick(View v) {
}
})
.addItemView(tableNameItemView, null)
.addItemView(peopleNumberItemView, null)
.addItemView(serverchargeItemView, null)
.addItemView(tableSortItemView, null)
.setMiddleSeparatorInset(QMUIDisplayHelper.dp2px(getContext(), 16), 0)
.addTo(mGroupListView);
}
@Override
public void setData(@Nullable Object data) {
}
@Override
public void showLoading(String message) {
if (message != null)
LoadingDialog.showDialogForLoading(mContext, message, true);
else
LoadingDialog.showDialogForLoading(mContext);
}
@Override
public void hideLoading() {
LoadingDialog.cancelDialogForLoading();
}
@Override
public void showMessage(@NonNull String message) {
checkNotNull(message);
ArmsUtils.makeText(mContext, message);
}
@Override
public void launchActivity(@NonNull Intent intent) {
checkNotNull(intent);
ArmsUtils.startActivity(intent);
}
@Override
public void killMyself() {
}
}
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadiusRatio="3"
android:shape="oval"
android:thicknessRatio="20"
android:useLevel="false">
<solid android:color="#FF3333" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.qmuiteam.qmui.widget.QMUITopBar
android:id="@+id/topbar"
android:layout_width="match_parent"
android:layout_height="?attr/qmui_topbar_height"
app:qmui_topbar_title_color="@color/theme_white_color" />
<com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout
android:id="@+id/section_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="?attr/qmui_topbar_height"/>
<com.qmuiteam.qmui.alpha.QMUIAlphaTextView
android:id="@+id/tv_add_area"
android:layout_width="@dimen/dp_65"
android:layout_height="@dimen/dp_65"
android:layout_toLeftOf="@+id/tv_add_table"
android:layout_marginRight="@dimen/dp_15"
android:layout_marginBottom="@dimen/dp_20"
android:layout_alignParentBottom="true"
android:text="@string/manager_area"
android:textSize="@dimen/sp_14"
android:textColor="@color/theme_white_color"
android:gravity="center"
android:background="@drawable/ui_shape_theme_oval"/>
<com.qmuiteam.qmui.alpha.QMUIAlphaTextView
android:id="@+id/tv_add_table"
android:layout_width="@dimen/dp_65"
android:layout_height="@dimen/dp_65"
android:layout_marginBottom="@dimen/dp_20"
android:layout_marginRight="@dimen/dp_20"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="@string/manager_add"
android:textColor="@color/theme_white_color"
android:textSize="@dimen/sp_14"
android:gravity="center"
android:background="@drawable/manage_shape_add_btn_oval"/>
<FrameLayout
android:id="@+id/frameLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="?attr/qmui_topbar_height" />
</RelativeLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/theme_background_color">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="區域"
android:gravity="center"
android:textSize="@dimen/sp_20"></TextView>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<com.qmuiteam.qmui.widget.QMUIWindowInsetLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/theme_background_color">
<com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView
android:id="@+id/groupListView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.qmuiteam.qmui.widget.QMUIWindowInsetLayout>
\ No newline at end of file
<resources> <resources>
<string name="manager_app_name">GSA-Manager</string> <string name="manager_app_name">GSA-Manager</string>
<string name="manager_area">區域</string>
<string name="manager_add">添加</string>
</resources> </resources>
...@@ -93,12 +93,12 @@ public class PrintServe extends PrinterRoot { ...@@ -93,12 +93,12 @@ public class PrintServe extends PrinterRoot {
orderNum.setText(MyOrderManage.getInstance().getOrderId() + ""); orderNum.setText(MyOrderManage.getInstance().getOrderId() + "");
} }
BigDecimal totalAmount = new BigDecimal(0); // BigDecimal totalAmount = new BigDecimal(0);
for (OrderDetail OrderDetail : foodList) { // for (OrderDetail OrderDetail : foodList) {
totalAmount = MoneyUtil.sum(totalAmount, MoneyUtil.priceCalculation(OrderDetail.getPrice(), OrderDetail.getNumber())); // totalAmount = MoneyUtil.sum(totalAmount, MoneyUtil.priceCalculation(OrderDetail.getPrice(), OrderDetail.getNumber()));
} // }
//總金額 //總金額
mTvTotalAmount.setText(totalAmount + ""); mTvTotalAmount.setText(MyOrderManage.getInstance().getTotalAmount() + "");
//加载条形码 //加载条形码
// ImageView ivBarCode = view.findViewById(R.id.iv_bar_code); // ImageView ivBarCode = view.findViewById(R.id.iv_bar_code);
// ivBarCode.setImageBitmap(BitmapUtil.generateBitmap("12312112131", 2, 450, 150)); // ivBarCode.setImageBitmap(BitmapUtil.generateBitmap("12312112131", 2, 450, 150));
......
...@@ -11,6 +11,8 @@ import androidx.recyclerview.widget.RecyclerView; ...@@ -11,6 +11,8 @@ import androidx.recyclerview.widget.RecyclerView;
import com.gingersoft.gsa.cloud.base.adapter.print.BillAdapter; import com.gingersoft.gsa.cloud.base.adapter.print.BillAdapter;
import com.gingersoft.gsa.cloud.base.adapter.print.FoodAdapter; import com.gingersoft.gsa.cloud.base.adapter.print.FoodAdapter;
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.BillingBean; import com.gingersoft.gsa.cloud.base.common.bean.BillingBean;
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;
...@@ -18,6 +20,7 @@ import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage; ...@@ -18,6 +20,7 @@ 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.MoneyUtil; import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils; import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.constans.AppConstans;
import com.joe.print.R; import com.joe.print.R;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -39,7 +42,11 @@ public class PrintSlip extends PrinterRoot { ...@@ -39,7 +42,11 @@ public class PrintSlip extends PrinterRoot {
//這裡可能還需要加上廚房單的內容,有未送單的食品時。 //這裡可能還需要加上廚房單的內容,有未送單的食品時。
PrintKitchen kitchen = new PrintKitchen(); PrintKitchen kitchen = new PrintKitchen();
Map<String, List<Bitmap>> bitmapMaps = new HashMap<>(kitchen.getPrintBitmap(mContext)); Map<String, List<Bitmap>> bitmapMaps = new HashMap<>(kitchen.getPrintBitmap(mContext));
if (bitmapMaps.size() == 0) {
bitmapMaps.put("", bitmaps);
} else {
merge2ResultMap(bitmapMaps, "", bitmaps); merge2ResultMap(bitmapMaps, "", bitmaps);
}
return bitmapMaps; return bitmapMaps;
} }
...@@ -50,7 +57,7 @@ public class PrintSlip extends PrinterRoot { ...@@ -50,7 +57,7 @@ public class PrintSlip extends PrinterRoot {
* @return * @return
*/ */
private Bitmap getServeBitmap(Context context) { private Bitmap getServeBitmap(Context context) {
List<OrderDetail> foodList = MyOrderManage.getInstance().getNewFoodList(); List<OrderDetail> foodList = MyOrderManage.getInstance().getOrderFoodList();
if (foodList == null || foodList.size() <= 0) { if (foodList == null || foodList.size() <= 0) {
return null; return null;
} }
...@@ -79,6 +86,12 @@ public class PrintSlip extends PrinterRoot { ...@@ -79,6 +86,12 @@ public class PrintSlip extends PrinterRoot {
rvFood.setAdapter(foodAdapter); rvFood.setAdapter(foodAdapter);
List<BillingBean> billingBeans = new ArrayList<>(); List<BillingBean> billingBeans = new ArrayList<>();
if (MyOrderManage.getInstance().getOrderMoneyList().size() > 0) {
for (BillOrderMoney item : MyOrderManage.getInstance().getOrderMoneyList()) {
billingBeans.add(new BillingBean(item.getTitle(), item.getMoney()));
}
}
if (billingBeans.size() <= 0) { if (billingBeans.size() <= 0) {
line_food_info.setVisibility(View.GONE); line_food_info.setVisibility(View.GONE);
} else { } else {
...@@ -95,12 +108,12 @@ public class PrintSlip extends PrinterRoot { ...@@ -95,12 +108,12 @@ public class PrintSlip extends PrinterRoot {
orderNum.setText(MyOrderManage.getInstance().getOrderId() + ""); orderNum.setText(MyOrderManage.getInstance().getOrderId() + "");
} }
BigDecimal totalAmount = new BigDecimal(0); // BigDecimal totalAmount = new BigDecimal(0);
for (OrderDetail OrderDetail : foodList) { // for (OrderDetail OrderDetail : foodList) {
totalAmount = MoneyUtil.sum(totalAmount, MoneyUtil.priceCalculation(OrderDetail.getPrice(), OrderDetail.getNumber())); // totalAmount = MoneyUtil.sum(totalAmount, MoneyUtil.priceCalculation(OrderDetail.getPrice(), OrderDetail.getNumber()));
} // }
//總金額 //總金額
mTvTotalAmount.setText(totalAmount + ""); mTvTotalAmount.setText(MyOrderManage.getInstance().getTotalAmount() + "");
//加载条形码 //加载条形码
// ImageView ivBarCode = view.findViewById(R.id.iv_bar_code); // ImageView ivBarCode = view.findViewById(R.id.iv_bar_code);
// ivBarCode.setImageBitmap(BitmapUtil.generateBitmap("12312112131", 2, 450, 150)); // ivBarCode.setImageBitmap(BitmapUtil.generateBitmap("12312112131", 2, 450, 150));
......
...@@ -15,6 +15,7 @@ import com.gingersoft.gsa.cloud.base.adapter.print.BillTypeAdapter; ...@@ -15,6 +15,7 @@ import com.gingersoft.gsa.cloud.base.adapter.print.BillTypeAdapter;
import com.gingersoft.gsa.cloud.base.adapter.print.FoodAdapter; import com.gingersoft.gsa.cloud.base.adapter.print.FoodAdapter;
import com.gingersoft.gsa.cloud.base.adapter.print.KitChenPrintFoodAdapter; import com.gingersoft.gsa.cloud.base.adapter.print.KitChenPrintFoodAdapter;
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.BillingBean; import com.gingersoft.gsa.cloud.base.common.bean.BillingBean;
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.PayMethod; import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
...@@ -23,10 +24,12 @@ import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage; ...@@ -23,10 +24,12 @@ 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.MoneyUtil; import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.base.utils.PrintTransitUtils; import com.gingersoft.gsa.cloud.base.utils.PrintTransitUtils;
import com.gingersoft.gsa.cloud.base.utils.log.LogUtil;
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil; import com.gingersoft.gsa.cloud.base.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils; import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.base.utils.view.ImageUtils; import com.gingersoft.gsa.cloud.base.utils.view.ImageUtils;
import com.gingersoft.gsa.cloud.base.utils.view.LayoutToBitmapUtils; import com.gingersoft.gsa.cloud.base.utils.view.LayoutToBitmapUtils;
import com.gingersoft.gsa.cloud.base.widget.NoScrollRecyclerView;
import com.joe.print.R; import com.joe.print.R;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -42,6 +45,7 @@ import java.util.Objects; ...@@ -42,6 +45,7 @@ import java.util.Objects;
*/ */
public class PrintUtils { public class PrintUtils {
private static final String TAG = "PrintUtils";
private static int paperWidth = 380; private static int paperWidth = 380;
/** /**
...@@ -226,8 +230,14 @@ public class PrintUtils { ...@@ -226,8 +230,14 @@ public class PrintUtils {
rvFood.setAdapter(foodAdapter); rvFood.setAdapter(foodAdapter);
List<BillingBean> billingBeans = new ArrayList<>(); List<BillingBean> billingBeans = new ArrayList<>();
if (MyOrderManage.getInstance().getOrderMoneyList().size() > 0) {
for (BillOrderMoney item : MyOrderManage.getInstance().getOrderMoneyList()) {
billingBeans.add(new BillingBean(item.getTitle(), item.getMoney()));
}
}
LogUtil.d(TAG,"getPrintBitmap OrderMoneyList size: "+ MyOrderManage.getInstance().getOrderMoneyList().size());
// billingBeans.add(new BillingBean("合計", 58.88)); // billingBeans.add(new BillingBean("合計", 58.88));
// billingBeans.add(new BillingBean("10%服務費", 5.08)); billingBeans.add(new BillingBean("10%服務費", 5.08));
// billingBeans.add(new BillingBean("賬單小數", -0.06)); // billingBeans.add(new BillingBean("賬單小數", -0.06));
if (billingBeans.size() <= 0) { if (billingBeans.size() <= 0) {
line_food_info.setVisibility(View.GONE); line_food_info.setVisibility(View.GONE);
...@@ -297,6 +307,11 @@ public class PrintUtils { ...@@ -297,6 +307,11 @@ public class PrintUtils {
rvFood.setAdapter(foodAdapter); rvFood.setAdapter(foodAdapter);
List<BillingBean> billingBeans = new ArrayList<>(); List<BillingBean> billingBeans = new ArrayList<>();
if (MyOrderManage.getInstance().getOrderMoneyList().size() > 0) {
for (BillOrderMoney item : MyOrderManage.getInstance().getOrderMoneyList()) {
billingBeans.add(new BillingBean(item.getTitle(), item.getMoney()));
}
}
// billingBeans.add(new BillingBean("合計", 58.88)); // billingBeans.add(new BillingBean("合計", 58.88));
// billingBeans.add(new BillingBean("10%服務費", 5.08)); // billingBeans.add(new BillingBean("10%服務費", 5.08));
// billingBeans.add(new BillingBean("賬單小數", -0.06)); // billingBeans.add(new BillingBean("賬單小數", -0.06));
......
...@@ -43,7 +43,7 @@ android { ...@@ -43,7 +43,7 @@ android {
/** /**
* 版本号 * 版本号
*/ */
schemaVersion 5 schemaVersion 7
/** /**
* greendao输出dao的数据库操作实体类文件夹(相对路径 包名+自定义路径名称,包将创建于包名的直接路径下) * greendao输出dao的数据库操作实体类文件夹(相对路径 包名+自定义路径名称,包将创建于包名的直接路径下)
*/ */
......
...@@ -26,6 +26,12 @@ public interface Api { ...@@ -26,6 +26,12 @@ public interface Api {
String food_modifiere_relation = "food/modifierDetail"; String food_modifiere_relation = "food/modifierDetail";
//餐廳折扣 //餐廳折扣
String restaurant_discount = "RestaurantDiscount/list"; String restaurant_discount = "RestaurantDiscount/list";
//獲取餐廳擴展表數據
String expand_info = "restaurant/ext/list";
//獲取餐廳打印機列表
String printerDevice_list = "PrinterDevice/list";
//日誌上傳 //日誌上傳
String upload_app_log = "public/cloud/gsa/upload"; String upload_app_log = "public/cloud/gsa/upload";
} }
...@@ -21,6 +21,10 @@ public class BillAdapter extends BaseQuickAdapter<BillingBean, BaseViewHolder> { ...@@ -21,6 +21,10 @@ public class BillAdapter extends BaseQuickAdapter<BillingBean, BaseViewHolder> {
@Override @Override
protected void convert(BaseViewHolder helper, BillingBean item) { protected void convert(BaseViewHolder helper, BillingBean item) {
helper.setText(R.id.tv_total_text, item.getOptionName()); helper.setText(R.id.tv_total_text, item.getOptionName());
if (item.getTotalAmount() < 0) {
helper.setText(R.id.tv_total, "-$" + Math.abs(item.getTotalAmount()));
} else if(item.getTotalAmount() > 0){
helper.setText(R.id.tv_total, "$" + item.getTotalAmount()); helper.setText(R.id.tv_total, "$" + item.getTotalAmount());
} }
}
} }
...@@ -18,7 +18,7 @@ import com.elvishew.xlog.printer.file.clean.FileLastModifiedCleanStrategy; ...@@ -18,7 +18,7 @@ import com.elvishew.xlog.printer.file.clean.FileLastModifiedCleanStrategy;
import com.elvishew.xlog.printer.file.naming.DateFileNameGenerator; import com.elvishew.xlog.printer.file.naming.DateFileNameGenerator;
import com.gingersoft.gsa.cloud.base.BuildConfig; import com.gingersoft.gsa.cloud.base.BuildConfig;
import com.gingersoft.gsa.cloud.base.R; import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.common.bean.CurrentAndroidSetting; import com.gingersoft.gsa.cloud.function.FunctionStyleUtils;
import com.gingersoft.gsa.cloud.base.utils.AidlUtil; import com.gingersoft.gsa.cloud.base.utils.AidlUtil;
import com.gingersoft.gsa.cloud.constans.Constans; import com.gingersoft.gsa.cloud.constans.Constans;
import com.gingersoft.gsa.cloud.constans.HttpsConstans; import com.gingersoft.gsa.cloud.constans.HttpsConstans;
...@@ -64,7 +64,7 @@ public class GsaCloudApplication extends BaseApplication { ...@@ -64,7 +64,7 @@ public class GsaCloudApplication extends BaseApplication {
public static int REQUEST_TIMEOUT = 15; public static int REQUEST_TIMEOUT = 15;
public static boolean isLogin = false; public static boolean isLogin = false;
public static CurrentAndroidSetting androidSetting; public static FunctionStyleUtils androidSetting;
public static String userName = ""; public static String userName = "";
/** /**
* 商米:V2、V2_PRO N5:N5 * 商米:V2、V2_PRO N5:N5
...@@ -116,7 +116,7 @@ public class GsaCloudApplication extends BaseApplication { ...@@ -116,7 +116,7 @@ public class GsaCloudApplication extends BaseApplication {
//初始化crash記錄 //初始化crash記錄
AppCrashHandler.getInstance().init(this); AppCrashHandler.getInstance().init(this);
androidSetting = new CurrentAndroidSetting(); androidSetting = new FunctionStyleUtils();
} }
public Activity getCurrentActivity() { public Activity getCurrentActivity() {
......
...@@ -104,6 +104,10 @@ public class OrderDetail implements Serializable { ...@@ -104,6 +104,10 @@ public class OrderDetail implements Serializable {
*/ */
private long productId; private long productId;
/** /**
* 父级商品ID
*/
private long parentProductId;
/**
* 商品組id * 商品組id
*/ */
private long topId; private long topId;
...@@ -487,6 +491,14 @@ public class OrderDetail implements Serializable { ...@@ -487,6 +491,14 @@ public class OrderDetail implements Serializable {
this.productId = productId; this.productId = productId;
} }
public long getParentProductId() {
return parentProductId;
}
public void setParentProductId(long parentProductId) {
this.parentProductId = parentProductId;
}
public void setUnit_price(double unit_price) { public void setUnit_price(double unit_price) {
this.unit_price = unit_price; this.unit_price = unit_price;
} }
...@@ -602,10 +614,11 @@ public class OrderDetail implements Serializable { ...@@ -602,10 +614,11 @@ public class OrderDetail implements Serializable {
//已到結尾或者下一個食品是主食品 //已到結尾或者下一個食品是主食品
for (int i = 0; i < orderList.size(); i++) { for (int i = 0; i < orderList.size(); i++) {
OrderBean.OrderDetailsBean orderDetailsBean = orderList.get(i); OrderBean.OrderDetailsBean orderDetailsBean = orderList.get(i);
OrderDetail orderDetail = new OrderDetail(); OrderDetail orderDetail = new OrderDetail();
orderDetail.setOrderId(orderDetailsBean.getOrderId());
orderDetail.setId(orderDetailsBean.getId()); orderDetail.setId(orderDetailsBean.getId());
orderDetail.setProductId(orderDetailsBean.getProductId()); orderDetail.setProductId(orderDetailsBean.getProductId());
orderDetail.setOrderId(orderDetailsBean.getOrderId());
orderDetail.setParentId(orderDetailsBean.getParentId()); orderDetail.setParentId(orderDetailsBean.getParentId());
orderDetail.setTopId(orderDetailsBean.getTopId()); orderDetail.setTopId(orderDetailsBean.getTopId());
orderDetail.setProductName(orderDetailsBean.getProductName()); orderDetail.setProductName(orderDetailsBean.getProductName());
...@@ -620,6 +633,10 @@ public class OrderDetail implements Serializable { ...@@ -620,6 +633,10 @@ public class OrderDetail implements Serializable {
orderDetail.setItemType(getItemType(orderDetailsBean, parentOrderDetail)); orderDetail.setItemType(getItemType(orderDetailsBean, parentOrderDetail));
orderDetailList.add(orderDetail); orderDetailList.add(orderDetail);
// if (orderDetail.isIsfood()) {
// parentOrderDetail = null;
// }
if (orderDetail.getItemType() == 1) { if (orderDetail.getItemType() == 1) {
parentId = orderDetail.getId(); parentId = orderDetail.getId();
discountSourcePrice = 0; discountSourcePrice = 0;
...@@ -639,7 +656,7 @@ public class OrderDetail implements Serializable { ...@@ -639,7 +656,7 @@ public class OrderDetail implements Serializable {
orderDetailList.add(discountTransOrderDetail(discount, false, parentId, discountSourcePrice)); orderDetailList.add(discountTransOrderDetail(discount, false, parentId, discountSourcePrice));
} }
} }
}else { } else {
orderDetail.setDiscountStatus(0); orderDetail.setDiscountStatus(0);
} }
...@@ -733,7 +750,7 @@ public class OrderDetail implements Serializable { ...@@ -733,7 +750,7 @@ public class OrderDetail implements Serializable {
* @param isRvMealClicked * @param isRvMealClicked
* @return * @return
*/ */
public static OrderDetail comboTransOrderDetail(ComboItem foodCombo, long id, int number, public static OrderDetail comboTransOrderDetail(ComboItem foodCombo, long id, long productId, int number,
int prop, boolean isRvMealClicked) { int prop, boolean isRvMealClicked) {
OrderDetail orderDetail = new OrderDetail(); OrderDetail orderDetail = new OrderDetail();
orderDetail.setProductName(foodCombo.getName()); orderDetail.setProductName(foodCombo.getName());
...@@ -745,6 +762,7 @@ public class OrderDetail implements Serializable { ...@@ -745,6 +762,7 @@ public class OrderDetail implements Serializable {
orderDetail.setProductId(foodCombo.getFid()); orderDetail.setProductId(foodCombo.getFid());
} }
orderDetail.setParentId(id); orderDetail.setParentId(id);
orderDetail.setParentProductId(productId);
orderDetail.setUnit_price(foodCombo.getPrice()); orderDetail.setUnit_price(foodCombo.getPrice());
orderDetail.setPrice(number * orderDetail.getUnit_price()); orderDetail.setPrice(number * orderDetail.getUnit_price());
orderDetail.setNumber(number); orderDetail.setNumber(number);
...@@ -773,12 +791,13 @@ public class OrderDetail implements Serializable { ...@@ -773,12 +791,13 @@ public class OrderDetail implements Serializable {
* @param number * @param number
* @return * @return
*/ */
public static OrderDetail modifierTransOrderDetail(Modifier modifier, long id, int number) { public static OrderDetail modifierTransOrderDetail(Modifier modifier, long id, long productId, int number) {
OrderDetail orderDetail = new OrderDetail(); OrderDetail orderDetail = new OrderDetail();
orderDetail.setProductName(modifier.getModifierName()); orderDetail.setProductName(modifier.getModifierName());
orderDetail.setTopId(modifier.getTopId()); orderDetail.setTopId(modifier.getTopId());
orderDetail.setParentId(id); orderDetail.setParentId(id);
orderDetail.setProductId(modifier.getMid()); orderDetail.setProductId(modifier.getMid());
orderDetail.setParentProductId(productId);
orderDetail.setUnit_price(modifier.getPrice()); orderDetail.setUnit_price(modifier.getPrice());
orderDetail.setPrice(number * orderDetail.getUnit_price()); orderDetail.setPrice(number * orderDetail.getUnit_price());
orderDetail.setNumber(number); orderDetail.setNumber(number);
......
package com.gingersoft.gsa.cloud.base.common.bean;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.database.bean.ExpandInfo;
import java.util.List;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-05-11
* 修订历史:2020-05-11
* 描述:餐廳擴展信息工具類
*/
public class RestaurantExpandInfoUtils {
/**
* 保存常用信息
* @param expandInfoList
*/
public static void setCommonExpandInfo(List<ExpandInfo> expandInfoList){
for (ExpandInfo expandInfo : expandInfoList) {
if (expandInfo.getSettingName().equals("Rounding")) {
MoneyUtil.rounding = expandInfo.getValueInt();
}
if (expandInfo.getSettingName().equals("RoundingDecimal")) {
MoneyUtil.RoundingDecimal = expandInfo.getValueInt();
}
if (expandInfo.getSettingName().equals("ItemDecimals")) {
MoneyUtil.ItemDecimals = expandInfo.getValueInt();
}
}
}
}
...@@ -60,6 +60,7 @@ public class TableBean { ...@@ -60,6 +60,7 @@ public class TableBean {
* id : 25839 * id : 25839
* tableName : ceshitai1* * tableName : ceshitai1*
* restaurantId : 26 * restaurantId : 26
* orderId : 21568
* qrCode : d662883361ef0e815f12b7cf46763bba * qrCode : d662883361ef0e815f12b7cf46763bba
* seatCount : 99 * seatCount : 99
* createTime : Dec 28, 2019 3:37:41 PM * createTime : Dec 28, 2019 3:37:41 PM
...@@ -77,6 +78,7 @@ public class TableBean { ...@@ -77,6 +78,7 @@ public class TableBean {
private int id; private int id;
private String tableName; private String tableName;
private int restaurantId; private int restaurantId;
private Long orderId;
private String qrCode; private String qrCode;
private int seatCount; private int seatCount;
private String createTime; private String createTime;
...@@ -114,6 +116,7 @@ public class TableBean { ...@@ -114,6 +116,7 @@ public class TableBean {
public DataBean(DataBean dataBean) { public DataBean(DataBean dataBean) {
this.id = dataBean.id; this.id = dataBean.id;
this.tableName = dataBean.tableName; this.tableName = dataBean.tableName;
this.orderId = dataBean.orderId;
this.restaurantId = dataBean.restaurantId; this.restaurantId = dataBean.restaurantId;
this.qrCode = dataBean.qrCode; this.qrCode = dataBean.qrCode;
this.seatCount = dataBean.seatCount; this.seatCount = dataBean.seatCount;
...@@ -161,6 +164,14 @@ public class TableBean { ...@@ -161,6 +164,14 @@ public class TableBean {
this.tableName = tableName; this.tableName = tableName;
} }
public Long getOrderId() {
return orderId;
}
public void setOrderId(Long orderId) {
this.orderId = orderId;
}
public int getRestaurantId() { public int getRestaurantId() {
return restaurantId; return restaurantId;
} }
......
...@@ -60,6 +60,8 @@ public class MyOrderManage { ...@@ -60,6 +60,8 @@ public class MyOrderManage {
protected List<BillOrderMoney> orderMoneyList = new ArrayList<>(); protected List<BillOrderMoney> orderMoneyList = new ArrayList<>();
/**本次支付方式,用於打印*/ /**本次支付方式,用於打印*/
private List<PayMethod> billMoney = new ArrayList<>(); private List<PayMethod> billMoney = new ArrayList<>();
/**總金額*/
private double totalAmount = 0.0;
/**記錄修改訂單操作*/ /**記錄修改訂單操作*/
private boolean modifyOrder = false; private boolean modifyOrder = false;
...@@ -1026,6 +1028,7 @@ public class MyOrderManage { ...@@ -1026,6 +1028,7 @@ public class MyOrderManage {
if (billMoney != null) { if (billMoney != null) {
billMoney.clear(); billMoney.clear();
} }
totalAmount = 0.0;
orderBean = null; orderBean = null;
modifyOrder = false; modifyOrder = false;
} }
...@@ -1164,6 +1167,14 @@ public class MyOrderManage { ...@@ -1164,6 +1167,14 @@ public class MyOrderManage {
this.orderMoneyList = orderMoneyList; this.orderMoneyList = orderMoneyList;
} }
public double getTotalAmount() {
return totalAmount;
}
public void setTotalAmount(double totalAmount) {
this.totalAmount = totalAmount;
}
// //
// public List<DatasBean> getComboOrders() { // public List<DatasBean> getComboOrders() {
// return comboOrders; // return comboOrders;
......
...@@ -15,9 +15,9 @@ import static java.math.BigDecimal.ROUND_HALF_UP; ...@@ -15,9 +15,9 @@ import static java.math.BigDecimal.ROUND_HALF_UP;
public class MoneyUtil { public class MoneyUtil {
// 總金額小數位 // 總金額小數位
public static int rounding = 0, RoundingDecimal = 1; public static Integer rounding = 0, RoundingDecimal = 1;
// (直接截取) : 食品 細項 折扣 會員折扣 合計 服務費 // (直接截取) : 食品 細項 折扣 會員折扣 合計 服務費
public static int ItemDecimals = 2; public static Integer ItemDecimals = 2;
public static double get_ItemDecimals_money(double money) { public static double get_ItemDecimals_money(double money) {
double rMoney = money; double rMoney = money;
......
...@@ -12,6 +12,5 @@ public class AppConstans { ...@@ -12,6 +12,5 @@ public class AppConstans {
public static final String VIBRATION_PROGRESS = "vibration_progress";//震动强度 public static final String VIBRATION_PROGRESS = "vibration_progress";//震动强度
public static final String PRESSSOUND_PROGRESS = "presssound_progress";//按键音量 public static final String PRESSSOUND_PROGRESS = "presssound_progress";//按键音量
public static final String CARSH_STR = "$";
} }
...@@ -9,6 +9,7 @@ public class HttpsConstans { ...@@ -9,6 +9,7 @@ public class HttpsConstans {
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_SHI_WEI_HK = "http://192.168.1.154:9012/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/";//清機接口地址
......
...@@ -21,22 +21,29 @@ public class ExpandInfo { ...@@ -21,22 +21,29 @@ public class ExpandInfo {
@Id(autoincrement = true) @Id(autoincrement = true)
private Long id; private Long id;
private int restaurant_id; private int restaurantId;
/**功能建名称*/ /**功能建名称*/
private String settingName; private String settingName;
/**功能值*/ /**功能值*/
private Integer valueInt; private Integer valueInt;
private String valueChar; private String valueChar;
private Date valueDatetime; private String valueDatetime;
/**功能说明*/ /**功能说明*/
private String remark; private String remark;
@Generated(hash = 1943112611)
public ExpandInfo(Long id, int restaurant_id, String settingName,
Integer valueInt, String valueChar, Date valueDatetime, String remark) {
@Generated(hash = 1553907136)
public ExpandInfo(Long id, int restaurantId, String settingName,
Integer valueInt, String valueChar, String valueDatetime,
String remark) {
this.id = id; this.id = id;
this.restaurant_id = restaurant_id; this.restaurantId = restaurantId;
this.settingName = settingName; this.settingName = settingName;
this.valueInt = valueInt; this.valueInt = valueInt;
this.valueChar = valueChar; this.valueChar = valueChar;
...@@ -49,6 +56,12 @@ public class ExpandInfo { ...@@ -49,6 +56,12 @@ public class ExpandInfo {
} }
public Long getId() { public Long getId() {
return this.id; return this.id;
} }
...@@ -57,14 +70,15 @@ public class ExpandInfo { ...@@ -57,14 +70,15 @@ public class ExpandInfo {
this.id = id; this.id = id;
} }
public int getRestaurant_id() { public int getRestaurantId() {
return restaurant_id; return restaurantId;
} }
public void setRestaurant_id(int restaurant_id) { public void setRestaurantId(int restaurantId) {
this.restaurant_id = restaurant_id; this.restaurantId = restaurantId;
} }
public String getSettingName() { public String getSettingName() {
return settingName; return settingName;
} }
...@@ -89,14 +103,6 @@ public class ExpandInfo { ...@@ -89,14 +103,6 @@ public class ExpandInfo {
this.valueChar = valueChar; this.valueChar = valueChar;
} }
public Date getValueDatetime() {
return valueDatetime;
}
public void setValueDatetime(Date valueDatetime) {
this.valueDatetime = valueDatetime;
}
public String getRemark() { public String getRemark() {
return remark; return remark;
} }
...@@ -104,4 +110,12 @@ public class ExpandInfo { ...@@ -104,4 +110,12 @@ public class ExpandInfo {
public void setRemark(String remark) { public void setRemark(String remark) {
this.remark = remark; this.remark = remark;
} }
public String getValueDatetime() {
return valueDatetime;
}
public void setValueDatetime(String valueDatetime) {
this.valueDatetime = valueDatetime;
}
} }
...@@ -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 5): knows all DAOs. * Master of DAO (schema version 7): knows all DAOs.
*/ */
public class DaoMaster extends AbstractDaoMaster { public class DaoMaster extends AbstractDaoMaster {
public static final int SCHEMA_VERSION = 5; public static final int SCHEMA_VERSION = 7;
/** 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) {
......
...@@ -25,11 +25,11 @@ public class ExpandInfoDao extends AbstractDao<ExpandInfo, Long> { ...@@ -25,11 +25,11 @@ public class ExpandInfoDao extends AbstractDao<ExpandInfo, Long> {
*/ */
public static class Properties { public static class Properties {
public final static Property Id = new Property(0, Long.class, "id", true, "_id"); public final static Property Id = new Property(0, Long.class, "id", true, "_id");
public final static Property Restaurant_id = new Property(1, int.class, "restaurant_id", false, "RESTAURANT_ID"); public final static Property RestaurantId = new Property(1, int.class, "restaurantId", false, "RESTAURANT_ID");
public final static Property SettingName = new Property(2, String.class, "settingName", false, "SETTING_NAME"); public final static Property SettingName = new Property(2, String.class, "settingName", false, "SETTING_NAME");
public final static Property ValueInt = new Property(3, Integer.class, "valueInt", false, "VALUE_INT"); public final static Property ValueInt = new Property(3, Integer.class, "valueInt", false, "VALUE_INT");
public final static Property ValueChar = new Property(4, String.class, "valueChar", false, "VALUE_CHAR"); public final static Property ValueChar = new Property(4, String.class, "valueChar", false, "VALUE_CHAR");
public final static Property ValueDatetime = new Property(5, java.util.Date.class, "valueDatetime", false, "VALUE_DATETIME"); public final static Property ValueDatetime = new Property(5, String.class, "valueDatetime", false, "VALUE_DATETIME");
public final static Property Remark = new Property(6, String.class, "remark", false, "REMARK"); public final static Property Remark = new Property(6, String.class, "remark", false, "REMARK");
} }
...@@ -47,11 +47,11 @@ public class ExpandInfoDao extends AbstractDao<ExpandInfo, Long> { ...@@ -47,11 +47,11 @@ public class ExpandInfoDao extends AbstractDao<ExpandInfo, Long> {
String constraint = ifNotExists? "IF NOT EXISTS ": ""; String constraint = ifNotExists? "IF NOT EXISTS ": "";
db.execSQL("CREATE TABLE " + constraint + "\"EXPAND_INFO\" (" + // db.execSQL("CREATE TABLE " + constraint + "\"EXPAND_INFO\" (" + //
"\"_id\" INTEGER PRIMARY KEY AUTOINCREMENT ," + // 0: id "\"_id\" INTEGER PRIMARY KEY AUTOINCREMENT ," + // 0: id
"\"RESTAURANT_ID\" INTEGER NOT NULL ," + // 1: restaurant_id "\"RESTAURANT_ID\" INTEGER NOT NULL ," + // 1: restaurantId
"\"SETTING_NAME\" TEXT," + // 2: settingName "\"SETTING_NAME\" TEXT," + // 2: settingName
"\"VALUE_INT\" INTEGER," + // 3: valueInt "\"VALUE_INT\" INTEGER," + // 3: valueInt
"\"VALUE_CHAR\" TEXT," + // 4: valueChar "\"VALUE_CHAR\" TEXT," + // 4: valueChar
"\"VALUE_DATETIME\" INTEGER," + // 5: valueDatetime "\"VALUE_DATETIME\" TEXT," + // 5: valueDatetime
"\"REMARK\" TEXT);"); // 6: remark "\"REMARK\" TEXT);"); // 6: remark
} }
...@@ -69,7 +69,7 @@ public class ExpandInfoDao extends AbstractDao<ExpandInfo, Long> { ...@@ -69,7 +69,7 @@ public class ExpandInfoDao extends AbstractDao<ExpandInfo, Long> {
if (id != null) { if (id != null) {
stmt.bindLong(1, id); stmt.bindLong(1, id);
} }
stmt.bindLong(2, entity.getRestaurant_id()); stmt.bindLong(2, entity.getRestaurantId());
String settingName = entity.getSettingName(); String settingName = entity.getSettingName();
if (settingName != null) { if (settingName != null) {
...@@ -86,9 +86,9 @@ public class ExpandInfoDao extends AbstractDao<ExpandInfo, Long> { ...@@ -86,9 +86,9 @@ public class ExpandInfoDao extends AbstractDao<ExpandInfo, Long> {
stmt.bindString(5, valueChar); stmt.bindString(5, valueChar);
} }
java.util.Date valueDatetime = entity.getValueDatetime(); String valueDatetime = entity.getValueDatetime();
if (valueDatetime != null) { if (valueDatetime != null) {
stmt.bindLong(6, valueDatetime.getTime()); stmt.bindString(6, valueDatetime);
} }
String remark = entity.getRemark(); String remark = entity.getRemark();
...@@ -105,7 +105,7 @@ public class ExpandInfoDao extends AbstractDao<ExpandInfo, Long> { ...@@ -105,7 +105,7 @@ public class ExpandInfoDao extends AbstractDao<ExpandInfo, Long> {
if (id != null) { if (id != null) {
stmt.bindLong(1, id); stmt.bindLong(1, id);
} }
stmt.bindLong(2, entity.getRestaurant_id()); stmt.bindLong(2, entity.getRestaurantId());
String settingName = entity.getSettingName(); String settingName = entity.getSettingName();
if (settingName != null) { if (settingName != null) {
...@@ -122,9 +122,9 @@ public class ExpandInfoDao extends AbstractDao<ExpandInfo, Long> { ...@@ -122,9 +122,9 @@ public class ExpandInfoDao extends AbstractDao<ExpandInfo, Long> {
stmt.bindString(5, valueChar); stmt.bindString(5, valueChar);
} }
java.util.Date valueDatetime = entity.getValueDatetime(); String valueDatetime = entity.getValueDatetime();
if (valueDatetime != null) { if (valueDatetime != null) {
stmt.bindLong(6, valueDatetime.getTime()); stmt.bindString(6, valueDatetime);
} }
String remark = entity.getRemark(); String remark = entity.getRemark();
...@@ -142,11 +142,11 @@ public class ExpandInfoDao extends AbstractDao<ExpandInfo, Long> { ...@@ -142,11 +142,11 @@ public class ExpandInfoDao extends AbstractDao<ExpandInfo, Long> {
public ExpandInfo readEntity(Cursor cursor, int offset) { public ExpandInfo readEntity(Cursor cursor, int offset) {
ExpandInfo entity = new ExpandInfo( // ExpandInfo entity = new ExpandInfo( //
cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0), // id cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0), // id
cursor.getInt(offset + 1), // restaurant_id cursor.getInt(offset + 1), // restaurantId
cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2), // settingName cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2), // settingName
cursor.isNull(offset + 3) ? null : cursor.getInt(offset + 3), // valueInt cursor.isNull(offset + 3) ? null : cursor.getInt(offset + 3), // valueInt
cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4), // valueChar cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4), // valueChar
cursor.isNull(offset + 5) ? null : new java.util.Date(cursor.getLong(offset + 5)), // valueDatetime cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5), // valueDatetime
cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6) // remark cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6) // remark
); );
return entity; return entity;
...@@ -155,11 +155,11 @@ public class ExpandInfoDao extends AbstractDao<ExpandInfo, Long> { ...@@ -155,11 +155,11 @@ public class ExpandInfoDao extends AbstractDao<ExpandInfo, Long> {
@Override @Override
public void readEntity(Cursor cursor, ExpandInfo entity, int offset) { public void readEntity(Cursor cursor, ExpandInfo entity, int offset) {
entity.setId(cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0)); entity.setId(cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0));
entity.setRestaurant_id(cursor.getInt(offset + 1)); entity.setRestaurantId(cursor.getInt(offset + 1));
entity.setSettingName(cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2)); entity.setSettingName(cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2));
entity.setValueInt(cursor.isNull(offset + 3) ? null : cursor.getInt(offset + 3)); entity.setValueInt(cursor.isNull(offset + 3) ? null : cursor.getInt(offset + 3));
entity.setValueChar(cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4)); entity.setValueChar(cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4));
entity.setValueDatetime(cursor.isNull(offset + 5) ? null : new java.util.Date(cursor.getLong(offset + 5))); entity.setValueDatetime(cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5));
entity.setRemark(cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6)); entity.setRemark(cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6));
} }
......
package com.gingersoft.gsa.cloud.database.greendao;
import android.database.Cursor;
import android.database.sqlite.SQLiteStatement;
import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.Property;
import org.greenrobot.greendao.internal.DaoConfig;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.database.DatabaseStatement;
import com.gingersoft.gsa.cloud.database.bean.ExpandInfo;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/**
* DAO for table "EXPAND_SETTING".
*/
public class ExpandSettingDao extends AbstractDao<ExpandInfo, Long> {
public static final String TABLENAME = "EXPAND_SETTING";
/**
* Properties of entity ExpandInfo.<br/>
* Can be used for QueryBuilder and for referencing column names.
*/
public static class Properties {
public final static Property Id = new Property(0, Long.class, "id", true, "_id");
public final static Property Restaurant_id = new Property(1, int.class, "restaurant_id", false, "RESTAURANT_ID");
public final static Property SettingName = new Property(2, String.class, "settingName", false, "SETTING_NAME");
public final static Property ValueInt = new Property(3, Integer.class, "valueInt", false, "VALUE_INT");
public final static Property ValueChar = new Property(4, String.class, "valueChar", false, "VALUE_CHAR");
public final static Property ValueDatetime = new Property(5, java.util.Date.class, "valueDatetime", false, "VALUE_DATETIME");
public final static Property Remark = new Property(6, String.class, "remark", false, "REMARK");
}
public ExpandSettingDao(DaoConfig config) {
super(config);
}
public ExpandSettingDao(DaoConfig config, DaoSession daoSession) {
super(config, daoSession);
}
/** Creates the underlying database table. */
public static void createTable(Database db, boolean ifNotExists) {
String constraint = ifNotExists? "IF NOT EXISTS ": "";
db.execSQL("CREATE TABLE " + constraint + "\"EXPAND_SETTING\" (" + //
"\"_id\" INTEGER PRIMARY KEY AUTOINCREMENT ," + // 0: id
"\"RESTAURANT_ID\" INTEGER NOT NULL ," + // 1: restaurant_id
"\"SETTING_NAME\" TEXT," + // 2: settingName
"\"VALUE_INT\" INTEGER," + // 3: valueInt
"\"VALUE_CHAR\" TEXT," + // 4: valueChar
"\"VALUE_DATETIME\" INTEGER," + // 5: valueDatetime
"\"REMARK\" TEXT);"); // 6: remark
}
/** Drops the underlying database table. */
public static void dropTable(Database db, boolean ifExists) {
String sql = "DROP TABLE " + (ifExists ? "IF EXISTS " : "") + "\"EXPAND_SETTING\"";
db.execSQL(sql);
}
@Override
protected final void bindValues(DatabaseStatement stmt, ExpandInfo entity) {
stmt.clearBindings();
Long id = entity.getId();
if (id != null) {
stmt.bindLong(1, id);
}
stmt.bindLong(2, entity.getRestaurant_id());
String settingName = entity.getSettingName();
if (settingName != null) {
stmt.bindString(3, settingName);
}
Integer valueInt = entity.getValueInt();
if (valueInt != null) {
stmt.bindLong(4, valueInt);
}
String valueChar = entity.getValueChar();
if (valueChar != null) {
stmt.bindString(5, valueChar);
}
java.util.Date valueDatetime = entity.getValueDatetime();
if (valueDatetime != null) {
stmt.bindLong(6, valueDatetime.getTime());
}
String remark = entity.getRemark();
if (remark != null) {
stmt.bindString(7, remark);
}
}
@Override
protected final void bindValues(SQLiteStatement stmt, ExpandInfo entity) {
stmt.clearBindings();
Long id = entity.getId();
if (id != null) {
stmt.bindLong(1, id);
}
stmt.bindLong(2, entity.getRestaurant_id());
String settingName = entity.getSettingName();
if (settingName != null) {
stmt.bindString(3, settingName);
}
Integer valueInt = entity.getValueInt();
if (valueInt != null) {
stmt.bindLong(4, valueInt);
}
String valueChar = entity.getValueChar();
if (valueChar != null) {
stmt.bindString(5, valueChar);
}
java.util.Date valueDatetime = entity.getValueDatetime();
if (valueDatetime != null) {
stmt.bindLong(6, valueDatetime.getTime());
}
String remark = entity.getRemark();
if (remark != null) {
stmt.bindString(7, remark);
}
}
@Override
public Long readKey(Cursor cursor, int offset) {
return cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0);
}
@Override
public ExpandInfo readEntity(Cursor cursor, int offset) {
ExpandInfo entity = new ExpandInfo( //
cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0), // id
cursor.getInt(offset + 1), // restaurant_id
cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2), // settingName
cursor.isNull(offset + 3) ? null : cursor.getInt(offset + 3), // valueInt
cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4), // valueChar
cursor.isNull(offset + 5) ? null : new java.util.Date(cursor.getLong(offset + 5)), // valueDatetime
cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6) // remark
);
return entity;
}
@Override
public void readEntity(Cursor cursor, ExpandInfo entity, int offset) {
entity.setId(cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0));
entity.setRestaurant_id(cursor.getInt(offset + 1));
entity.setSettingName(cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2));
entity.setValueInt(cursor.isNull(offset + 3) ? null : cursor.getInt(offset + 3));
entity.setValueChar(cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4));
entity.setValueDatetime(cursor.isNull(offset + 5) ? null : new java.util.Date(cursor.getLong(offset + 5)));
entity.setRemark(cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6));
}
@Override
protected final Long updateKeyAfterInsert(ExpandInfo entity, long rowId) {
entity.setId(rowId);
return rowId;
}
@Override
public Long getKey(ExpandInfo entity) {
if(entity != null) {
return entity.getId();
} else {
return null;
}
}
@Override
public boolean hasKey(ExpandInfo entity) {
return entity.getId() != null;
}
@Override
protected final boolean isEntityUpdateable() {
return true;
}
}
package com.gingersoft.gsa.cloud.database.utils;
import android.content.Context;
import android.util.Log;
import com.gingersoft.gsa.cloud.database.DaoManager;
import com.gingersoft.gsa.cloud.database.bean.ExpandInfo;
import java.util.List;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-01-02
* 修订历史:2020-01-02
* 描述:
*/
public class ExpandInfoDaoUtils {
private static final String TAG = ExpandInfoDaoUtils.class.getSimpleName();
private DaoManager mManager;
public ExpandInfoDaoUtils(Context context){
mManager = DaoManager.getInstance();
mManager.init(context);
}
/**
* 完成Function记录的插入,如果表未创建,先创建Function表
* @param expandInfo
* @return
*/
public boolean insertExpandInfo(ExpandInfo expandInfo){
boolean flag = false;
flag = mManager.getDaoSession().getExpandInfoDao().insert(expandInfo) == -1 ? false : true;
Log.i(TAG, "insert expandInfo :" + flag + "-->" + expandInfo.toString());
return flag;
}
/**
* 插入多条数据,在子线程操作
* @param expandInfoList
* @return
*/
public boolean insertMultExpandInfo(final List<ExpandInfo> expandInfoList) {
boolean flag = false;
try {
mManager.getDaoSession().runInTx(new Runnable() {
@Override
public void run() {
for (ExpandInfo expandInfo : expandInfoList) {
mManager.getDaoSession().insertOrReplace(expandInfo);
}
}
});
flag = true;
} catch (Exception e) {
e.printStackTrace();
}
return flag;
}
/**
* 修改一条数据
* @param expandInfo
* @return
*/
public boolean updateExpandInfo(ExpandInfo expandInfo){
boolean flag = false;
try {
mManager.getDaoSession().update(expandInfo);
flag = true;
}catch (Exception e){
e.printStackTrace();
}
return flag;
}
/**
* 删除单条记录
* @param expandInfo
* @return
*/
public boolean deleteExpandInfo(ExpandInfo expandInfo){
boolean flag = false;
try {
//按照id删除
mManager.getDaoSession().delete(expandInfo);
flag = true;
}catch (Exception e){
e.printStackTrace();
}
return flag;
}
/**
* 删除所有记录
* @return
*/
public boolean deleteAll(){
boolean flag = false;
try {
//按照id删除
mManager.getDaoSession().deleteAll(ExpandInfo.class);
flag = true;
}catch (Exception e){
e.printStackTrace();
}
return flag;
}
/**
* 查询所有记录
* @return
*/
public List<ExpandInfo> queryAllExpandInfo(){
return mManager.getDaoSession().loadAll(ExpandInfo.class);
}
/**
* 根据主键id查询记录
* @param key
* @return
*/
public ExpandInfo queryExpandInfoById(long key){
return mManager.getDaoSession().load(ExpandInfo.class, key);
}
/**
* 使用native sql进行查询操作
*/
public List<ExpandInfo> queryExpandInfoByNativeSql(String sql, String[] conditions){
return mManager.getDaoSession().queryRaw(ExpandInfo.class, sql, conditions);
}
}
...@@ -247,6 +247,7 @@ public class ModifierDaoUtils { ...@@ -247,6 +247,7 @@ public class ModifierDaoUtils {
/** /**
* 使用queryBuilder进行查询食品 * 使用queryBuilder进行查询食品
*
* @return * @return
*/ */
public List<Modifier> queryModifierByModModCommVisibleQueryBuilder() { public List<Modifier> queryModifierByModModCommVisibleQueryBuilder() {
......
package com.gingersoft.gsa.cloud.database.utils;//package com.gingersoft.gsa.cloud.database.utils; package com.gingersoft.gsa.cloud.database.utils;//package com.gingersoft.gsa.cloud.database.utils;
//
//import android.content.Context; import android.content.Context;
//import android.util.Log; import android.util.Log;
//
//import com.gingersoft.gsa.cloud.database.DaoManager; import com.gingersoft.gsa.cloud.database.DaoManager;
//import com.gingersoft.gsa.cloud.database.greendao.FunctionDao; import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
// import com.gingersoft.gsa.cloud.database.greendao.PrinterDeviceBeanDao;
//import org.greenrobot.greendao.AbstractDao;
// import org.greenrobot.greendao.AbstractDao;
///** import org.greenrobot.greendao.query.QueryBuilder;
// * Created by Wyh on 2020/1/17.
// */ import java.util.List;
//public class PrinterDeviceDaoUtils {
// /**
// private static final String TAG = FunctionDaoUtils.class.getSimpleName(); * Created by Wyh on 2020/1/17.
// private DaoManager mManager; */
// public class PrinterDeviceDaoUtils {
// public PrinterDeviceDaoUtils(Context context) {
// mManager = DaoManager.getInstance(); private static final String TAG = PrinterDeviceDaoUtils.class.getSimpleName();
// mManager.init(context); private DaoManager mManager;
// }
// public PrinterDeviceDaoUtils(Context context) {
// mManager = DaoManager.getInstance();
// /** mManager.init(context);
// * 完成Function记录的插入,如果表未创建,先创建Function表 }
// * @return
// */
// public boolean insertFunction(AbstractDao entity){ /**
// boolean flag = false; * 完成PrinterDeviceBean记录的插入,如果表未创建,先创建PrinterDeviceBean表
// flag = mManager.getDaoSession().getFunctionDao().insert(function) == -1 ? false : true; * @return
// Log.i(TAG, "insert function :" + flag + "-->" + function.toString()); */
// return flag; public boolean insertPrinterDeviceBean(PrinterDeviceBean printerDevice){
// } boolean flag = false;
// flag = mManager.getDaoSession().getPrinterDeviceBeanDao().insert(printerDevice) == -1 ? false : true;
// /** Log.i(TAG, "insert printerDevice :" + flag + "-->" + printerDevice.toString());
// * 插入多条数据,在子线程操作 return flag;
// * @param functionList }
// * @return
// */ /**
// public boolean insertMultFunction(final List<Function> functionList) { * 插入多条数据,在子线程操作
// boolean flag = false; * @param printerDeviceList
// try { * @return
// mManager.getDaoSession().runInTx(new Runnable() { */
// @Override public boolean insertMultPrinterDeviceBean(final List<PrinterDeviceBean> printerDeviceList) {
// public void run() { boolean flag = false;
// for (Function Function : functionList) { try {
// mManager.getDaoSession().insertOrReplace(Function); mManager.getDaoSession().runInTx(new Runnable() {
// } @Override
// } public void run() {
// }); for (PrinterDeviceBean PrinterDeviceBean : printerDeviceList) {
// flag = true; mManager.getDaoSession().insertOrReplace(PrinterDeviceBean);
// } catch (Exception e) { }
// e.printStackTrace(); }
// } });
// return flag; flag = true;
// } } catch (Exception e) {
// e.printStackTrace();
// /** }
// * 修改一条数据 return flag;
// * @param function }
// * @return
// */ /**
// public boolean updateFunction(Function function){ * 修改一条数据
// boolean flag = false; * @param printerDevice
// try { * @return
// mManager.getDaoSession().update(function); */
// flag = true; public boolean updatePrinterDeviceBean(PrinterDeviceBean printerDevice){
// }catch (Exception e){ boolean flag = false;
// e.printStackTrace(); try {
// } mManager.getDaoSession().update(printerDevice);
// return flag; flag = true;
// } }catch (Exception e){
// e.printStackTrace();
// /** }
// * 删除单条记录 return flag;
// * @param function }
// * @return
// */ /**
// public boolean deleteFunction(Function function){ * 删除单条记录
// boolean flag = false; * @param printerDevice
// try { * @return
// //按照id删除 */
// mManager.getDaoSession().delete(function); public boolean deletePrinterDeviceBean(PrinterDeviceBean printerDevice){
// flag = true; boolean flag = false;
// }catch (Exception e){ try {
// e.printStackTrace(); //按照id删除
// } mManager.getDaoSession().delete(printerDevice);
// return flag; flag = true;
// } }catch (Exception e){
// e.printStackTrace();
// /** }
// * 删除所有记录 return flag;
// * @return }
// */
// public boolean deleteAll(){ /**
// boolean flag = false; * 删除所有记录
// try { * @return
// //按照id删除 */
// mManager.getDaoSession().deleteAll(Function.class); public boolean deleteAll(){
// flag = true; boolean flag = false;
// }catch (Exception e){ try {
// e.printStackTrace(); //按照id删除
// } mManager.getDaoSession().deleteAll(PrinterDeviceBean.class);
// return flag; flag = true;
// } }catch (Exception e){
// e.printStackTrace();
// /** }
// * 查询所有记录 return flag;
// * @return }
// */
// public List<Function> queryAllFunction(){ /**
// return mManager.getDaoSession().loadAll(Function.class); * 查询所有记录
// } * @return
// */
// /** public List<PrinterDeviceBean> queryAllPrinterDeviceBean(){
// * 根据主键id查询记录 return mManager.getDaoSession().loadAll(PrinterDeviceBean.class);
// * @param key }
// * @return
// */ /**
// public Function queryFunctionById(long key){ * 根据主键id查询记录
// return mManager.getDaoSession().load(Function.class, key); * @param key
// } * @return
// */
// /** public PrinterDeviceBean queryPrinterDeviceBeanById(long key){
// * 使用native sql进行查询操作 return mManager.getDaoSession().load(PrinterDeviceBean.class, key);
// */ }
// public List<Function> queryFunctionByNativeSql(String sql, String[] conditions){
// return mManager.getDaoSession().queryRaw(Function.class, sql, conditions); /**
// } * 使用native sql进行查询操作
// */
// /** public List<PrinterDeviceBean> queryPrinterDeviceBeanByNativeSql(String sql, String[] conditions){
// * 使用queryBuilder进行查询 return mManager.getDaoSession().queryRaw(PrinterDeviceBean.class, sql, conditions);
// * @return }
// */
// public List<Function> queryFunctionByQueryBuilder(long FunctionId){ /**
// QueryBuilder<Function> queryBuilder = mManager.getDaoSession().queryBuilder(Function.class); * 使用queryBuilder进行查询
// return queryBuilder.where(FunctionDao.Properties.Id.eq(FunctionId)).list(); * @return
//// return queryBuilder.where(FunctionDao.Properties._id.ge(id)).list(); */
// } public List<PrinterDeviceBean> queryPrinterDeviceBeanByQueryBuilder(long PrinterDeviceBeanId){
// QueryBuilder<PrinterDeviceBean> queryBuilder = mManager.getDaoSession().queryBuilder(PrinterDeviceBean.class);
// return queryBuilder.where(PrinterDeviceBeanDao.Properties.Id.eq(PrinterDeviceBeanId)).list();
//} }
}
package com.gingersoft.gsa.cloud.base.common.bean; package com.gingersoft.gsa.cloud.function;
import android.content.Context; import android.content.Context;
import android.util.DisplayMetrics; import android.util.DisplayMetrics;
...@@ -6,9 +6,7 @@ import android.util.Log; ...@@ -6,9 +6,7 @@ import android.util.Log;
import com.jess.arms.utils.DeviceUtils; import com.jess.arms.utils.DeviceUtils;
import java.util.ArrayList;
import java.util.HashSet; import java.util.HashSet;
import java.util.List;
import java.util.Set; import java.util.Set;
/** /**
...@@ -19,7 +17,7 @@ import java.util.Set; ...@@ -19,7 +17,7 @@ import java.util.Set;
* 描述: * 描述:
*/ */
public class CurrentAndroidSetting { public class FunctionStyleUtils {
private int ID; private int ID;
private String TableNumPadChar; private String TableNumPadChar;
...@@ -249,7 +247,7 @@ public class CurrentAndroidSetting { ...@@ -249,7 +247,7 @@ public class CurrentAndroidSetting {
private int screen_h = 1920; private int screen_h = 1920;
private int screen_density_dpi; private int screen_density_dpi;
public void adjustSize(Context context, CurrentAndroidSetting setting) { public void adjustSize(Context context, FunctionStyleUtils setting) {
DisplayMetrics metrics = DeviceUtils.getDisplayMetrics(context); DisplayMetrics metrics = DeviceUtils.getDisplayMetrics(context);
screen_w = metrics.widthPixels; screen_w = metrics.widthPixels;
screen_h = metrics.heightPixels; screen_h = metrics.heightPixels;
......
package com.gingersoft.gsa.cloud.constans; package com.gingersoft.gsa.cloud.function;
/** /**
* 作者:ELEGANT_BIN * 作者:ELEGANT_BIN
...@@ -9,6 +9,8 @@ package com.gingersoft.gsa.cloud.constans; ...@@ -9,6 +9,8 @@ package com.gingersoft.gsa.cloud.constans;
*/ */
public interface StyleConstans { public interface StyleConstans {
String width = "w";
String height = "h";
String front_size = "fs"; String front_size = "fs";
String front_color = "fc"; String front_color = "fc";
String backgroup_color = "bc"; String backgroup_color = "bc";
......
...@@ -6,6 +6,8 @@ import android.app.Application; ...@@ -6,6 +6,8 @@ import android.app.Application;
import android.os.Bundle; import android.os.Bundle;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
import com.gingersoft.gsa.cloud.base.utils.CommonConfiguration; import com.gingersoft.gsa.cloud.base.utils.CommonConfiguration;
import com.gingersoft.gsa.cloud.database.utils.FoodComboDaoUtils; import com.gingersoft.gsa.cloud.database.utils.FoodComboDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils; import com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils;
...@@ -34,13 +36,18 @@ public class MyActivityLifecycle implements Application.ActivityLifecycleCallbac ...@@ -34,13 +36,18 @@ public class MyActivityLifecycle implements Application.ActivityLifecycleCallbac
@Override @Override
public void onActivityResumed(Activity activity) { public void onActivityResumed(Activity activity) {
String name = activity.getClass().getSimpleName(); String name = activity.getClass().getSimpleName();
if(name.equals("NewMainActivity")){ if (name.equals("NewMainActivity")) {
//每次到首頁都更新食品套餐,細項對應ID備用 //每次到首頁都更新食品套餐,細項對應ID備用
FoodComboDaoUtils foodComboDaoUtils = new FoodComboDaoUtils(activity); FoodComboDaoUtils foodComboDaoUtils = new FoodComboDaoUtils(activity);
CommonConfiguration.getInstance().saveComboIdConfiguration(foodComboDaoUtils.queryAllCombo()); CommonConfiguration.getInstance().saveComboIdConfiguration(foodComboDaoUtils.queryAllCombo());
ModifierDaoUtils modifierDaoUtils = new ModifierDaoUtils(activity); ModifierDaoUtils modifierDaoUtils = new ModifierDaoUtils(activity);
CommonConfiguration.getInstance().saveModifierTopIdConfiguration(modifierDaoUtils.queryAllModifier()); CommonConfiguration.getInstance().saveModifierTopIdConfiguration(modifierDaoUtils.queryAllModifier());
} else if (name.equals("TableActivity")) {
//清空賬單數據
MyOrderManage.getInstance().clear();
//清空開檯數據
OpenTableManage.getDefault().clear();
} }
GsaCloudApplication.getAppContext().setCurrentActivity(activity); GsaCloudApplication.getAppContext().setCurrentActivity(activity);
} }
......
package com.gingersoft.gsa.cloud.ui.utils;
import android.util.Log;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.DecelerateInterpolator;
import android.view.animation.TranslateAnimation;
import com.gingersoft.gsa.cloud.ui.widget.dialog.ChooseRestaurantDialog;
import com.qmuiteam.qmui.QMUILog;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-05-14
* 修订历史:2020-05-14
* 描述:動畫相關工具類
*/
public class AnimateUtils {
/**
* 升起动画
* @param contentView
* @param duration
*/
public static void animateUp(View contentView, long duration) {
if (contentView == null) {
return;
}
TranslateAnimation translate = new TranslateAnimation(
Animation.RELATIVE_TO_SELF, 0f, Animation.RELATIVE_TO_SELF, 0f,
Animation.RELATIVE_TO_SELF, 1f, Animation.RELATIVE_TO_SELF, 0f
);
AlphaAnimation alpha = new AlphaAnimation(0, 1);
AnimationSet set = new AnimationSet(true);
set.addAnimation(translate);
set.addAnimation(alpha);
set.setInterpolator(new DecelerateInterpolator());
set.setDuration(duration);
set.setFillAfter(true);
contentView.startAnimation(set);
}
/**
* 降下动画
*
* @param contentView
* @param duration
*/
public static void animateDown(View contentView, long duration) {
if (contentView == null) {
return;
}
TranslateAnimation translate = new TranslateAnimation(
Animation.RELATIVE_TO_SELF, 0f, Animation.RELATIVE_TO_SELF, 0f,
Animation.RELATIVE_TO_SELF, 0f, Animation.RELATIVE_TO_SELF, 1f
);
AlphaAnimation alpha = new AlphaAnimation(1, 0);
AnimationSet set = new AnimationSet(true);
set.addAnimation(translate);
set.addAnimation(alpha);
set.setInterpolator(new DecelerateInterpolator());
set.setDuration(duration);
set.setFillAfter(true);
contentView.startAnimation(set);
}
}
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadiusRatio="3"
android:shape="oval"
android:thicknessRatio="20"
android:useLevel="false">
<solid android:color="@color/theme_color" />
</shape>
\ No newline at end of file
...@@ -118,7 +118,7 @@ public interface MealStandContract { ...@@ -118,7 +118,7 @@ public interface MealStandContract {
Observable<BaseRespose> printOrder(RequestBody requestBody); Observable<BaseRespose> printOrder(RequestBody requestBody);
Observable<FoodReason> getRestaurantFoodReason(int restaurantId, int type); Observable<FoodReason> getRestaurantFoodReason(int brandId ,int restaurantId, int type);
List<Food> queryDB_FoodGroupList(); List<Food> queryDB_FoodGroupList();
......
...@@ -67,6 +67,8 @@ public interface TableContract { ...@@ -67,6 +67,8 @@ public interface TableContract {
Observable<TableDetail> getTable(int tableId); Observable<TableDetail> getTable(int tableId);
Observable<BaseRespose> getOrderById(long orderId);
Observable<BaseRespose> openTable(RequestBody requestBody); Observable<BaseRespose> openTable(RequestBody requestBody);
Observable<BaseRespose> turnTable(RequestBody requestBody); Observable<BaseRespose> turnTable(RequestBody requestBody);
......
...@@ -162,9 +162,9 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model ...@@ -162,9 +162,9 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model
} }
@Override @Override
public Observable<FoodReason> getRestaurantFoodReason(int restaurantId, int type) { public Observable<FoodReason> getRestaurantFoodReason(int brandId,int restaurantId, int type) {
return mRepositoryManager.obtainRetrofitService(MealService.class) return mRepositoryManager.obtainRetrofitService(MealService.class)
.getRestaurantFoodReason(restaurantId,type); .getRestaurantFoodReason(brandId,restaurantId,type);
} }
@Override @Override
......
...@@ -5,6 +5,7 @@ import android.app.Application; ...@@ -5,6 +5,7 @@ import android.app.Application;
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.base.common.bean.TableBean; import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.TableDetail; import com.gingersoft.gsa.cloud.table.mvp.model.bean.TableDetail;
import com.gingersoft.gsa.cloud.table.mvp.model.service.OrderService;
import com.gingersoft.gsa.cloud.table.mvp.model.service.TableService; import com.gingersoft.gsa.cloud.table.mvp.model.service.TableService;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.jess.arms.integration.IRepositoryManager; import com.jess.arms.integration.IRepositoryManager;
...@@ -64,6 +65,12 @@ public class TableModel extends BaseModel implements TableContract.Model { ...@@ -64,6 +65,12 @@ public class TableModel extends BaseModel implements TableContract.Model {
} }
@Override @Override
public Observable<BaseRespose> getOrderById(long orderId) {
return mRepositoryManager.obtainRetrofitService(OrderService.class)
.getOrderById(orderId);
}
@Override
public Observable<BaseRespose> openTable(RequestBody requestBody) { public Observable<BaseRespose> openTable(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(TableService.class) return mRepositoryManager.obtainRetrofitService(TableService.class)
.openTable(requestBody); .openTable(requestBody);
......
...@@ -16,6 +16,8 @@ import java.util.Map; ...@@ -16,6 +16,8 @@ import java.util.Map;
public class AddOrderRequest { public class AddOrderRequest {
private long orderId; private long orderId;
/**賬單小數*/
private Double rounding;
/**整單折扣ID*/ /**整單折扣ID*/
private Long discountId; private Long discountId;
private Map<String, List<OrderBean.OrderDetailsBean>> maps; private Map<String, List<OrderBean.OrderDetailsBean>> maps;
...@@ -28,6 +30,14 @@ public class AddOrderRequest { ...@@ -28,6 +30,14 @@ public class AddOrderRequest {
this.orderId = orderId; this.orderId = orderId;
} }
public Double getRounding() {
return rounding;
}
public void setRounding(Double rounding) {
this.rounding = rounding;
}
public Long getDiscountId() { public Long getDiscountId() {
return discountId; return discountId;
} }
...@@ -48,6 +58,7 @@ public class AddOrderRequest { ...@@ -48,6 +58,7 @@ public class AddOrderRequest {
public String toString() { public String toString() {
return "AddOrderRequest{" + return "AddOrderRequest{" +
"orderId=" + orderId + "orderId=" + orderId +
", rounding=" + rounding +
", discountId=" + discountId + ", discountId=" + discountId +
", maps=" + maps + ", maps=" + maps +
'}'; '}';
......
...@@ -19,6 +19,8 @@ public class CreateOrderRequest { ...@@ -19,6 +19,8 @@ public class CreateOrderRequest {
private int tableId; private int tableId;
private String tableName; private String tableName;
private int restaurantId; private int restaurantId;
/**賬單小數*/
private Double rounding;
/**整單折扣ID*/ /**整單折扣ID*/
private Long discountId; private Long discountId;
private Map<Long, List<OrderBean.OrderDetailsBean>> orderDetails; private Map<Long, List<OrderBean.OrderDetailsBean>> orderDetails;
...@@ -55,6 +57,14 @@ public class CreateOrderRequest { ...@@ -55,6 +57,14 @@ public class CreateOrderRequest {
this.restaurantId = restaurantId; this.restaurantId = restaurantId;
} }
public Double getRounding() {
return rounding;
}
public void setRounding(Double rounding) {
this.rounding = rounding;
}
public Long getDiscountId() { public Long getDiscountId() {
return discountId; return discountId;
} }
...@@ -142,6 +152,7 @@ public class CreateOrderRequest { ...@@ -142,6 +152,7 @@ public class CreateOrderRequest {
// } // }
// } // }
@Override @Override
public String toString() { public String toString() {
return "CreateOrderRequest{" + return "CreateOrderRequest{" +
...@@ -149,6 +160,7 @@ public class CreateOrderRequest { ...@@ -149,6 +160,7 @@ public class CreateOrderRequest {
", tableId=" + tableId + ", tableId=" + tableId +
", tableName='" + tableName + '\'' + ", tableName='" + tableName + '\'' +
", restaurantId=" + restaurantId + ", restaurantId=" + restaurantId +
", rounding=" + rounding +
", discountId=" + discountId + ", discountId=" + discountId +
", orderDetails=" + orderDetails + ", orderDetails=" + orderDetails +
'}'; '}';
......
...@@ -53,7 +53,6 @@ public interface MealService { ...@@ -53,7 +53,6 @@ public interface MealService {
// @FormUrlEncoded // @FormUrlEncoded
@POST("orderDetails/delete" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @POST("orderDetails/delete" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> deleteFood(@Body RequestBody requestBody); Observable<BaseResult> deleteFood(@Body RequestBody requestBody);
// Observable<BaseResult> deleteFood(@Field("mapsDelete") List<Map<Byte, DeleteOrderRequest>> mapsDelete,@Field("orderId") long orderId,@Field("type") byte type,@Field("reasonId") int reasonId);
@FormUrlEncoded @FormUrlEncoded
@POST("order/calculation/price" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @POST("order/calculation/price" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
...@@ -63,7 +62,7 @@ public interface MealService { ...@@ -63,7 +62,7 @@ public interface MealService {
Observable<BaseRespose> printOrder(@Body RequestBody requestBody); Observable<BaseRespose> printOrder(@Body RequestBody requestBody);
@GET("restaurantFoodReason/config/list" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @GET("restaurantFoodReason/config/list" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<FoodReason> getRestaurantFoodReason(@Query("restaurantId") int restaurantId, @Query("type") int type); Observable<FoodReason> getRestaurantFoodReason(@Query("brandId") int brandId , @Query("restaurantId") int restaurantId, @Query("type") int type);
@POST("restaurantTable/transfer" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @POST("restaurantTable/transfer" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseRespose> transferFood(@Body RequestBody requestBody); Observable<BaseRespose> transferFood(@Body RequestBody requestBody);
......
package com.gingersoft.gsa.cloud.table.mvp.model.service; package com.gingersoft.gsa.cloud.table.mvp.model.service;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult; import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
import io.reactivex.Observable; import io.reactivex.Observable;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager; import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
...@@ -24,6 +25,9 @@ public interface OrderService { ...@@ -24,6 +25,9 @@ public interface OrderService {
@GET("order/pay/success" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @GET("order/pay/success" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> getOrderDetail(@Query("orderId") long orderId); Observable<BaseResult> getOrderDetail(@Query("orderId") long orderId);
@GET("order/findOrderById" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseRespose> getOrderById(@Query("orderId") long orderId);
@FormUrlEncoded @FormUrlEncoded
@POST("order/cancel" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @POST("order/cancel" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> cancelOrder(@Field("orderId") long orderId); Observable<BaseResult> cancelOrder(@Field("orderId") long orderId);
......
...@@ -24,17 +24,18 @@ public class OrderAssemblyUtil { ...@@ -24,17 +24,18 @@ public class OrderAssemblyUtil {
OrderDetail order = orderDetails.get(i); OrderDetail order = orderDetails.get(i);
if (order.getItemType() == 1) { if (order.getItemType() == 1) {
newOrderDetails.add(order); newOrderDetails.add(order);
newOrderDetails.addAll(getOrdersItem2ByParentId(orderDetails, order.getId(), i)); newOrderDetails.addAll(getOrdersItem2ByParentId(orderDetails, order.getId(),order.getProductId(), i));
} }
} }
return newOrderDetails; return newOrderDetails;
} }
private static List<OrderDetail> getOrdersItem2ByParentId(List<OrderDetail> orderDetails, long id, int startIndex) { private static List<OrderDetail> getOrdersItem2ByParentId(List<OrderDetail> orderDetails, long id, long productId,int startIndex) {
List<OrderDetail> orders = new ArrayList<>(); List<OrderDetail> orders = new ArrayList<>();
for (int i = startIndex; i < orderDetails.size(); i++) { for (int i = startIndex; i < orderDetails.size(); i++) {
OrderDetail item = orderDetails.get(i); OrderDetail item = orderDetails.get(i);
if (item.getItemType() == 3 && item.getParentId() == id) { if (item.getItemType() == 3 && item.getParentId() == id) {
item.setParentProductId(productId);
//添加主食品細項 //添加主食品細項
orders.add(item); orders.add(item);
} }
...@@ -43,19 +44,21 @@ public class OrderAssemblyUtil { ...@@ -43,19 +44,21 @@ public class OrderAssemblyUtil {
for (int i = startIndex; i < orderDetails.size(); i++) { for (int i = startIndex; i < orderDetails.size(); i++) {
OrderDetail item = orderDetails.get(i); OrderDetail item = orderDetails.get(i);
if (item.getItemType() == 2 && item.getParentId() == id) { if (item.getItemType() == 2 && item.getParentId() == id) {
item.setParentProductId(productId);
//添加子食品 //添加子食品
orders.add(item); orders.add(item);
orders.addAll(getOrdersItem3ByParentId(orderDetails,item.getId(),i)); orders.addAll(getOrdersItem3ByParentId(orderDetails,item.getId(),item.getProductId(),i));
} }
} }
return orders; return orders;
} }
private static List<OrderDetail> getOrdersItem3ByParentId(List<OrderDetail> orderDetails, long id, int startIndex) { private static List<OrderDetail> getOrdersItem3ByParentId(List<OrderDetail> orderDetails, long id, long productId, int startIndex) {
List<OrderDetail> orders = new ArrayList<>(); List<OrderDetail> orders = new ArrayList<>();
for (int i = startIndex; i < orderDetails.size(); i++) { for (int i = startIndex; i < orderDetails.size(); i++) {
OrderDetail item = orderDetails.get(i); OrderDetail item = orderDetails.get(i);
if (item.getItemType() == 3 && item.getParentId() == id) { if (item.getItemType() == 3 && item.getParentId() == id) {
item.setParentProductId(productId);
//添加子食品細項 //添加子食品細項
orders.add(item); orders.add(item);
} }
......
...@@ -132,6 +132,9 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -132,6 +132,9 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
addSentOrderMoney(); addSentOrderMoney();
addOrderRounding(); addOrderRounding();
//設置賬單總金額
myOrderManage.setTotalAmount(getTotalAmount());
} }
@Override @Override
...@@ -409,13 +412,15 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -409,13 +412,15 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
} }
/** /**
* 更新賬單小數 * 更新賬單小數(在最後一行)
*/ */
protected void updateOrderRounding(){ protected void updateOrderRounding(){
for (BillOrderMoney orderMoney: mOrderMoneyList) { for (BillOrderMoney item: mOrderMoneyList) {
if(orderMoney.getType() == BillOrderMoney.ROUNDING_TYPE){ if(item.getType() == BillOrderMoney.ROUNDING_TYPE){
mOrderMoneyList.remove(orderMoney); mOrderMoneyList.remove(item);
mOrderMoneyAdapter.notifyDataSetChanged();
addOrderRounding(); addOrderRounding();
break;
} }
} }
} }
...@@ -473,6 +478,19 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -473,6 +478,19 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
} }
/** /**
* 獲取賬單小數
* @return
*/
private Double getRounding(){
for (BillOrderMoney item: mOrderMoneyList) {
if(item.getType() == BillOrderMoney.ROUNDING_TYPE){
return item.getMoney();
}
}
return null;
}
/**
* 獲取食品總數量 * 獲取食品總數量
* *
* @return * @return
...@@ -549,6 +567,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -549,6 +567,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
request.setPerson(OpenTableManage.getDefault().getPeopleNumber()); request.setPerson(OpenTableManage.getDefault().getPeopleNumber());
request.setTableId(OpenTableManage.getDefault().getTableBean().getId()); request.setTableId(OpenTableManage.getDefault().getTableBean().getId());
request.setTableName(OpenTableManage.getDefault().getTableBean().getTableName()); request.setTableName(OpenTableManage.getDefault().getTableBean().getTableName());
request.setRounding(getRounding());
request.setRestaurantId(restaurantId); request.setRestaurantId(restaurantId);
Discount orderDiscount = getNesOrderDiscount(); Discount orderDiscount = getNesOrderDiscount();
if (orderDiscount != null) { if (orderDiscount != null) {
...@@ -561,6 +580,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -561,6 +580,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
AddOrderRequest request = new AddOrderRequest(); AddOrderRequest request = new AddOrderRequest();
request.setMaps(orderDetailBeanToAddFoodRequest(foodList)); request.setMaps(orderDetailBeanToAddFoodRequest(foodList));
request.setOrderId(MyOrderManage.getInstance().getOrderId()); request.setOrderId(MyOrderManage.getInstance().getOrderId());
request.setRounding(getRounding());
Discount orderDiscount = getNesOrderDiscount(); Discount orderDiscount = getNesOrderDiscount();
if (orderDiscount != null) { if (orderDiscount != null) {
request.setDiscountId(orderDiscount.getId()); request.setDiscountId(orderDiscount.getId());
......
...@@ -6,6 +6,8 @@ import android.content.Context; ...@@ -6,6 +6,8 @@ import android.content.Context;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.View; import android.view.View;
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.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.VibratorUtils;
import com.gingersoft.gsa.cloud.database.bean.Modifier; import com.gingersoft.gsa.cloud.database.bean.Modifier;
...@@ -33,6 +35,8 @@ import org.simple.eventbus.EventBus; ...@@ -33,6 +35,8 @@ import org.simple.eventbus.EventBus;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import static com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity.MODIFIER_TYPE;
/** /**
* ================================================ * ================================================
...@@ -147,7 +151,7 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode ...@@ -147,7 +151,7 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
} }
private void addModifierItem(Modifier datasBean) { private void addModifierItem(Modifier datasBean) {
String OR_Qty = datasBean.getMaxNumber(); String OR_Qty = datasBean.getCurrentMaxNumber();
int Qty = datasBean.getNumber(); int Qty = datasBean.getNumber();
boolean isSoldout = false; boolean isSoldout = false;
...@@ -157,8 +161,8 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode ...@@ -157,8 +161,8 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
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 msg = LanguageUtils.get_language_system(mApplication, "meal.Qty.short", "[" + datasBean.getModifierName() + "]數量不足");
CommonTipDialog.showSurpisedDialog(IActivity,msg,null,null,null,null,null); CommonTipDialog.showSurpisedDialog(IActivity, msg, null, null, null, null, null);
} else { } else {
EventBus.getDefault().post(datasBean, MealConstant.ADD_FOOD_MODIFIER); EventBus.getDefault().post(datasBean, MealConstant.ADD_FOOD_MODIFIER);
} }
...@@ -179,42 +183,6 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode ...@@ -179,42 +183,6 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
} }
} }
// 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
// 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;
// }
public void initModMsgFineItemData(long mid) { public void initModMsgFineItemData(long mid) {
mFineItemOneLastPosition = -1; mFineItemOneLastPosition = -1;
...@@ -303,19 +271,116 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode ...@@ -303,19 +271,116 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
mFineItemTwoList.clear(); mFineItemTwoList.clear();
mFineItemTwoList.addAll(modifierList); mFineItemTwoList.addAll(modifierList);
mRootView.setFineItemKindItemRecycleSpanCount(mFineItemTwoList.size()); mRootView.setFineItemKindItemRecycleSpanCount(mFineItemTwoList.size());
updateChildModifierSlodoutFoodList_Full();
mFineItemTwoAdapter.notifyDataSetChanged(); mFineItemTwoAdapter.notifyDataSetChanged();
mRootView.getRecycle_fine_item_kind_item().setVisibility(View.VISIBLE); mRootView.getRecycle_fine_item_kind_item().setVisibility(View.VISIBLE);
mRootView.getRecycle_fine_adll().setVisibility(View.INVISIBLE); mRootView.getRecycle_fine_adll().setVisibility(View.INVISIBLE);
} }
public void updateCurrentSlodoutFoodList_Full(List<SoldoutCtrFood> event) { /**
this.mCurrentSlodoutFoodList_Full = event; * 更新細項組獲細項沽清數據
mFineItemAllAdapter.setCurrentSlodoutFoodList_Full(event); *
* @param soldoutCtrList
*/
public void updateParentModifierSlodoutFoodList_Full(List<SoldoutCtrFood> soldoutCtrList) {
this.mCurrentSlodoutFoodList_Full = soldoutCtrList;
clearParentModifierSoldoutCtrData();
setParentModifierSoldoutCtrData(soldoutCtrList);
mFineItemAllAdapter.setCurrentSlodoutFoodList_Full(soldoutCtrList);
mFineItemAllAdapter.notifyDataSetChanged(); mFineItemAllAdapter.notifyDataSetChanged();
}
mFineItemTwoAdapter.setCurrentSlodoutFoodList_Full(event); /**
mFineItemTwoAdapter.notifyDataSetChanged(); * 更新細項組下具體細項數據
*/
public void updateChildModifierSlodoutFoodList_Full() {
clearChildModifierSoldoutCtrData();
setChildModifierSoldoutCtrData(mCurrentSlodoutFoodList_Full);
}
private void setParentModifierSoldoutCtrData(List<SoldoutCtrFood> soldoutCtrList) {
for (SoldoutCtrFood scc : soldoutCtrList) {
for (Modifier modifier : mFineItemOneList) {
if (scc.getType() == MODIFIER_TYPE && scc.getModifierId() != null && modifier.getMid() == scc.getModifierId()) {
String qty = scc.getQtyName();
modifier.setMaxNumber(qty);
modifier.setCurrentMaxNumber(qty);
setModifierMaxQty(modifier);
}
}
}
}
private void setChildModifierSoldoutCtrData(List<SoldoutCtrFood> soldoutCtrList) {
for (SoldoutCtrFood scc : soldoutCtrList) {
for (Modifier modifier : mFineItemTwoList) {
if (scc.getType() == MODIFIER_TYPE && scc.getModifierId() != null && modifier.getMid() == scc.getModifierId()) {
String qty = scc.getQtyName();
modifier.setMaxNumber(qty);
modifier.setCurrentMaxNumber(qty);
setModifierMaxQty(modifier);
}
}
}
}
private void clearParentModifierSoldoutCtrData() {
for (Modifier modifier : mFineItemOneList) {
modifier.setMaxNumber("");
modifier.setCurrentMaxNumber("");
}
}
private void clearChildModifierSoldoutCtrData() {
for (Modifier modifier : mFineItemTwoList) {
modifier.setMaxNumber("");
modifier.setCurrentMaxNumber("");
}
}
public void setModifierMaxQty(Modifier modfier) {
int currentSelectNumber = 0;
for (int i = 0; i < getNewOrderFoodLists().size(); i++) {
OrderDetail orderFood = getNewOrderFoodLists().get(i);
if (orderFood.getMid() == modfier.getMid()) {
currentSelectNumber += orderFood.getNumber();
}
}
String User_Qty = modfier.getMaxNumber();
if (!User_Qty.equals("") && !User_Qty.equals("售罄") && !User_Qty.equals("暫停")) {
int maxQty = Integer.parseInt(User_Qty);
if (maxQty > 0) {
int Currrent_OR_Qty = maxQty - currentSelectNumber;
if (Currrent_OR_Qty < 1) {
modfier.setCurrentMaxNumber("售罄");
} else {
modfier.setCurrentMaxNumber(Currrent_OR_Qty + "");
}
}
}
}
/**
* 返回未送單食品列表
*
* @return
*/
protected List<OrderDetail> getNewOrderFoodLists() {
List<OrderDetail> orderDetails = new ArrayList<>();
for (int i = 0; i < MyOrderManage.getInstance().getOrderFoodList().size(); i++) {
OrderDetail orderDetail = MyOrderManage.getInstance().getOrderFoodList().get(i);
if (orderDetail.isNew()) {
orderDetails.add(orderDetail);
}
}
return orderDetails;
} }
private void setFid(List<Modifier> fineItemList, long fid) { private void setFid(List<Modifier> fineItemList, long fid) {
......
...@@ -576,6 +576,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -576,6 +576,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
@Override @Override
public void onItemClick(Discount item, int position) { public void onItemClick(Discount item, int position) {
addOrderDiscount(item, 0, false); addOrderDiscount(item, 0, false);
updateOrderMoneyItem();
} }
}); });
} }
......
...@@ -433,7 +433,7 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode ...@@ -433,7 +433,7 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
filterSlodoutData(false); filterSlodoutData(false);
//更新細項沽清數據 //更新細項沽清數據
IActivity.updateCurrentSlodoutFoodList_Full(mCurrentSlodoutFoodList_Full); IActivity.setFineItemSlodoutListFull(mCurrentSlodoutFoodList_Full);
} else { } else {
if (mCurrentSlodoutFoodList_Full.size() > 0) { if (mCurrentSlodoutFoodList_Full.size() > 0) {
...@@ -441,7 +441,7 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode ...@@ -441,7 +441,7 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
} }
//更新細項沽清數據 //更新細項沽清數據
IActivity.updateCurrentSlodoutFoodList_Full(mCurrentSlodoutFoodList_Full); IActivity.setFineItemSlodoutListFull(mCurrentSlodoutFoodList_Full);
if (mCurrentSlodoutFoodList.size() > 0) { if (mCurrentSlodoutFoodList.size() > 0) {
mCurrentSlodoutFoodList.clear(); mCurrentSlodoutFoodList.clear();
......
...@@ -262,7 +262,9 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -262,7 +262,9 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
@Override @Override
public void onError(Throwable t) { public void onError(Throwable t) {
super.onError(t); super.onError(t);
if (mRootView.getCurrentTableFragment() != null) {
mRootView.getCurrentTableFragment().showEmptyView(false, 0, t); mRootView.getCurrentTableFragment().showEmptyView(false, 0, t);
}
resetRefreshLayout(); resetRefreshLayout();
} }
...@@ -287,6 +289,75 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -287,6 +289,75 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
}); });
} }
public void loadOrderToPrint(int tableId, Long orderId) {
if (orderId == null)
return;
mModel.getOrderById(orderId)
.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()) {
OpenTableManage.getDefault().setPeopleNumber(0);
//設置當前開台數據1584427984728 1584428017196 1584428086282
TableBean.DataBean dataBean = getTableById(tableId);
TableBean.DataBean openTableBean = null;
if (dataBean != null) {
openTableBean = new TableBean.DataBean(dataBean);
}
OrderBean orderBean = respose.getData();
if (orderBean != null && respose.getData().getOrderDetails() != null) {
if (respose.getData().getCreateTime() != null && openTableBean != null) {
//將開台時間設置為訂單創建時間
openTableBean.setCreateTime(TimeUtils.getFormatTime(respose.getData().getCreateTime(), TimeUtils.DEFAULT_DATE_FORMAT));
}
OpenTableManage.getDefault().setPeopleNumber(orderBean.getPerson());
List<OrderBean.OrderDetailsBean> orderDetailsBeans = respose.getData().getOrderDetails();
//緩存訂單信息
MyOrderManage.getInstance().setOrderBean(new OrderBean(orderBean));
//緩存食品信息
List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(orderDetailsBeans));
MyOrderManage.getInstance().setOrderFoodList(orderDetailList);
} else {
MyOrderManage.getInstance().setOrderBean(null);
MyOrderManage.getInstance().setOrderFoodList(new ArrayList<>());
}
OpenTableManage.getDefault().setTableBean(openTableBean);
printParper();
} else {
CommonTipDialog.showSurpisedDialog(IActivity, respose.getErrMsg(), null, null, null, null, null);
}
}
/**
* 打印上菜紙
*/
private void printParper() {
CC.obtainBuilder("Component.Print")
.setActionName("printActivity")
.addParam("type", 1)
.build()
.callAsyncCallbackOnMainThread((cc, result) -> {
//清空賬單數據
MyOrderManage.getInstance().clear();
//清空開檯數據
OpenTableManage.getDefault().clear();
mRootView.canceOperat();
});
}
});
}
public void openTable(int tableId) { public void openTable(int tableId) {
RequestBody requestBody = new FormBody.Builder() RequestBody requestBody = new FormBody.Builder()
...@@ -550,13 +621,13 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -550,13 +621,13 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
// } // }
// } // }
// break; // break;
// case TableOperatTypeConstant.print_parper_2: case TableOperatTypeConstant.print_parper_2:
// for (int i = 0; i < datasBeans.size(); i++) { for (int i = 0; i < mTableList.size(); i++) {
// if (!datasBeans.get(i).isUsing() && datasBeans.get(i).getOrderid() > 0 && (datasBeans.get(i).getStatus() != 0 || datasBeans.get(i).getSplitStatus() == 1)) { if (mTableList.get(i).getStatus() != 0) {
// mTableList.add(datasBeans.get(i)); filterTableBeanList.add(mTableList.get(i));
// } }
// } }
// break; break;
case TableOperatTypeConstant.init_table_3: case TableOperatTypeConstant.init_table_3:
for (int i = 0; i < mTableList.size(); i++) { for (int i = 0; i < mTableList.size(); i++) {
if (mTableList.get(i).getUseStatus() == 1) { if (mTableList.get(i).getUseStatus() == 1) {
...@@ -625,7 +696,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -625,7 +696,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
break; break;
case TableOperatTypeConstant.print_parper_2: case TableOperatTypeConstant.print_parper_2:
loadOrderToPrint(dataBean.getId(), dataBean.getOrderId());
break; break;
case TableOperatTypeConstant.init_table_3: case TableOperatTypeConstant.init_table_3:
initTable(dataBean.getId(), true); initTable(dataBean.getId(), true);
......
...@@ -39,6 +39,7 @@ import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog; ...@@ -39,6 +39,7 @@ 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;
import com.jess.arms.base.delegate.IActivity;
import com.jess.arms.di.component.AppComponent; import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils; import com.jess.arms.utils.ArmsUtils;
import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.util.QMUIDisplayHelper;
...@@ -370,6 +371,7 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl ...@@ -370,6 +371,7 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
modMsgFineItemFragment.onModMsgMidEvent(0); modMsgFineItemFragment.onModMsgMidEvent(0);
mInitModData = true; mInitModData = true;
} }
setFineItemSlodoutListFull(mPresenter.getCurrentSlodoutFoodList_Full());
showViewModeVisibility(MealConstant.fine_ViewMode); showViewModeVisibility(MealConstant.fine_ViewMode);
break; break;
} }
...@@ -610,7 +612,7 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl ...@@ -610,7 +612,7 @@ public class SoldoutCtrlActivity extends BaseActivity<SoldoutCtrlPresenter> impl
}); });
} }
public void updateCurrentSlodoutFoodList_Full(List<SoldoutCtrFood> currentSlodoutFoodListc_Full) { public void setFineItemSlodoutListFull(List<SoldoutCtrFood> currentSlodoutFoodListc_Full) {
if (modMsgFineItemFragment != null) { if (modMsgFineItemFragment != null) {
modMsgFineItemFragment.updateCurrentSlodoutFoodList_Full(currentSlodoutFoodListc_Full); modMsgFineItemFragment.updateCurrentSlodoutFoodList_Full(currentSlodoutFoodListc_Full);
} }
......
...@@ -164,10 +164,6 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table ...@@ -164,10 +164,6 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
super.onResume(); super.onResume();
//開始刷新餐檯數據 //開始刷新餐檯數據
onStartRefreshTableData(); onStartRefreshTableData();
//清空賬單數據
MyOrderManage.getInstance().clear();
//清空開檯數據
OpenTableManage.getDefault().clear();
} }
@Override @Override
......
...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.table.mvp.ui.adapter; ...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.table.mvp.ui.adapter;
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;
...@@ -239,26 +240,37 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> { ...@@ -239,26 +240,37 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
/** /**
* 设置当前状态 * 设置当前状态
*/ */
for (SoldoutCtrFood sc : mCurrentSlodoutFoodList_Full) { String qty = datasBean.getCurrentMaxNumber();
if (sc.getType() == SoldoutCtrlActivity.MODIFIER_TYPE && sc.getModifierId().equals(datasBean.getMid())) { if (TextUtils.isEmpty(qty)) {
String name = sc.getQtyName();
if (name.equals("")) {
tv_soldout.setVisibility(View.INVISIBLE); tv_soldout.setVisibility(View.INVISIBLE);
} else { } else {
if (sc.getQtyName().equalsIgnoreCase("售罄")) { if (qty.equalsIgnoreCase("售罄")) {
iv_qtySold.setVisibility(View.VISIBLE); iv_qtySold.setVisibility(View.VISIBLE);
datasBean.setSoldout(true);
} else if (sc.getQtyName().equalsIgnoreCase("暫停")) {
tv_soldout.setVisibility(View.VISIBLE);
tv_soldout.setText(name);
} else { } else {
tv_soldout.setVisibility(View.VISIBLE); tv_soldout.setVisibility(View.VISIBLE);
tv_soldout.setText(name); tv_soldout.setText(qty);
datasBean.setMaxNumber(name);
}
}
} }
} }
// for (SoldoutCtrFood sc : mCurrentSlodoutFoodList_Full) {
// if (sc.getType() == SoldoutCtrlActivity.MODIFIER_TYPE && sc.getModifierId().equals(datasBean.getMid())) {
// String name = sc.getQtyName();
// if (name.equals("")) {
// tv_soldout.setVisibility(View.INVISIBLE);
// } else {
// if (sc.getQtyName().equalsIgnoreCase("售罄")) {
// iv_qtySold.setVisibility(View.VISIBLE);
// datasBean.setSoldout(true);
// } else if (sc.getQtyName().equalsIgnoreCase("暫停")) {
// tv_soldout.setVisibility(View.VISIBLE);
// tv_soldout.setText(name);
// } else {
// tv_soldout.setVisibility(View.VISIBLE);
// tv_soldout.setText(name);
// datasBean.setMaxNumber(name);
// }
// }
// }
// }
} }
} }
......
...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.table.mvp.ui.adapter; ...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.table.mvp.ui.adapter;
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;
...@@ -277,26 +278,37 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> { ...@@ -277,26 +278,37 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
/** /**
* 设置当前状态 * 设置当前状态
*/ */
for (SoldoutCtrFood sc : mCurrentSlodoutFoodList_Full) { String qty = datasBean.getCurrentMaxNumber();
if (sc.getType() == SoldoutCtrlActivity.MODIFIER_TYPE && sc.getModifierId().equals(datasBean.getMid())) { if (TextUtils.isEmpty(qty)) {
String name = sc.getQtyName();
if (name.equals("")) {
tv_soldout.setVisibility(View.INVISIBLE); tv_soldout.setVisibility(View.INVISIBLE);
} else { } else {
if (sc.getQtyName().equalsIgnoreCase("售罄")) { if (qty.equalsIgnoreCase("售罄")) {
iv_qtySold.setVisibility(View.VISIBLE); iv_qtySold.setVisibility(View.VISIBLE);
datasBean.setSoldout(true);
} else if (sc.getQtyName().equalsIgnoreCase("暫停")) {
tv_soldout.setVisibility(View.VISIBLE);
tv_soldout.setText(name);
} else { } else {
tv_soldout.setVisibility(View.VISIBLE); tv_soldout.setVisibility(View.VISIBLE);
tv_soldout.setText(name); tv_soldout.setText(qty);
datasBean.setMaxNumber(name);
}
}
} }
} }
// for (SoldoutCtrFood sc : mCurrentSlodoutFoodList_Full) {
// if (sc.getType() == SoldoutCtrlActivity.MODIFIER_TYPE && sc.getModifierId().equals(datasBean.getMid())) {
// String name = sc.getQtyName();
// if (name.equals("")) {
// tv_soldout.setVisibility(View.INVISIBLE);
// } else {
// if (sc.getQtyName().equalsIgnoreCase("售罄")) {
// iv_qtySold.setVisibility(View.VISIBLE);
// datasBean.setSoldout(true);
// } else if (sc.getQtyName().equalsIgnoreCase("暫停")) {
// tv_soldout.setVisibility(View.VISIBLE);
// tv_soldout.setText(name);
// } else {
// tv_soldout.setVisibility(View.VISIBLE);
// tv_soldout.setText(name);
// datasBean.setMaxNumber(name);
// }
// }
// }
// }
} }
} }
// //
......
...@@ -160,12 +160,12 @@ public class ModifierAdapter extends DefaultAdapter<Modifier> { ...@@ -160,12 +160,12 @@ public class ModifierAdapter extends DefaultAdapter<Modifier> {
// tv_soldout.setVisibility(View.INVISIBLE); // tv_soldout.setVisibility(View.INVISIBLE);
// } // }
String qty = datasBean.getMaxNumber(); String qty = datasBean.getCurrentMaxNumber();
if (qty.equals("")) { 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.getMaxNumber()); tv_soldout.setText(datasBean.getCurrentMaxNumber());
} }
tv_soldout.setMaxHeight(OrderNumberChildShowSize); tv_soldout.setMaxHeight(OrderNumberChildShowSize);
......
...@@ -402,9 +402,9 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -402,9 +402,9 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
if (orderItem != null && orderItem.isNew()) { if (orderItem != null && orderItem.isNew()) {
mInfos.remove(i); mInfos.remove(i);
notifyItemChanged(i); notifyItemChanged(i);
Food orderBean = mMealStandPresenter.getOrderFoodById(orderItem.getId()); Food orderBean = mMealStandPresenter.getFoodByFid(orderItem.getId());
if (orderBean != null) { if (orderBean != null) {
mMealStandPresenter.setFoodMaxQty(orderBean,false); mMealStandPresenter.setFoodMaxQty(orderBean);
} }
} }
} }
...@@ -467,9 +467,9 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -467,9 +467,9 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
setMyOrderManageSelectPosition(); setMyOrderManageSelectPosition();
if (mMealStandActivity != null) if (mMealStandActivity != null) {
mMealStandActivity.showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode); mMealStandActivity.showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode);
}
return select_position; return select_position;
} }
...@@ -482,12 +482,12 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -482,12 +482,12 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
switch (orderDetail.getItemType()) { switch (orderDetail.getItemType()) {
case 1: case 1:
//第一层下方有细项 从下方往上删 //第一层下方有细项 从下方往上删
// if (select_end_position != 0 && select_end_position > select_position) {
if (select_full_end_position != 0 && select_full_end_position > select_position) { if (select_full_end_position != 0 && select_full_end_position > select_position) {
for (int i = select_full_end_position; i > select_position; i--) { for (int i = select_full_end_position; i > select_position; i--) {
OrderDetail orderBean = mInfos.get(i); OrderDetail orderBean = mInfos.get(i);
boolean isParentChild = orderBean.getParentIndex() == orderDetail.getMyIndex(); boolean isParentChild = orderBean.getParentIndex() == orderDetail.getMyIndex();
if (orderBean.getItemType() == 3 && !isParentChild) { if (orderBean.isNew()) {
if (orderBean.getItemType() == 2 && !isParentChild) {
//第二层 下面有第三层子项也要一并删除 //第二层 下面有第三层子项也要一并删除
removeAllChild3ByCombo(orderBean); removeAllChild3ByCombo(orderBean);
} else { } else {
...@@ -496,6 +496,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -496,6 +496,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
} }
break; break;
} }
}
} else { } else {
//第一层没有子食品 直接退出 //第一层没有子食品 直接退出
return; return;
...@@ -507,20 +508,18 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -507,20 +508,18 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
hasChild3Food(orderDetail)) { hasChild3Food(orderDetail)) {
//第二层 下面有第三层子项也要一并删除 //第二层 下面有第三层子项也要一并删除
for (int i = select_end_position; i >= select_position; i--) { for (int i = select_end_position; i >= select_position; i--) {
if (mInfos.get(i).isNew()) {
mInfos.remove(i); mInfos.remove(i);
notifyItemChanged(i); notifyItemChanged(i);
break;
}
} }
} else { } else {
// if (mInfos.get(select_position).comid.equals("discount")) { if (mInfos.get(select_position).isNew()) {
// //如果刪除的是折扣,這裡初始化父食品D標識
// int parent_index = mInfos.get(select_position).getParent_index() -1;
// if (parent_index > -1 && parent_index < mInfos.size()) {
// mInfos.get(parent_index).setDiscount_double1(true);
// }
// }
mInfos.remove(select_position); mInfos.remove(select_position);
notifyItemChanged(select_position); notifyItemChanged(select_position);
} }
}
break; break;
case 3: case 3:
mInfos.remove(select_position); mInfos.remove(select_position);
...@@ -591,7 +590,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -591,7 +590,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
boolean remove = false; boolean remove = false;
for (int i = mInfos.size() - 1; i >= 0; i--) { for (int i = mInfos.size() - 1; i >= 0; i--) {
boolean accordChild3 = mInfos.get(i).getParentIndex() == orderDetail.getParentIndex() || mInfos.get(i).getMyIndex() == orderDetail.getParentIndex(); boolean accordChild3 = mInfos.get(i).getParentIndex() == orderDetail.getParentIndex() || mInfos.get(i).getMyIndex() == orderDetail.getParentIndex();
if (mInfos.get(i).getItemType() != 1 && accordChild3) { if (mInfos.get(i).getItemType() == 3 && accordChild3) {
mInfos.remove(i); mInfos.remove(i);
notifyItemChanged(i); notifyItemChanged(i);
remove = true; remove = true;
...@@ -705,7 +704,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -705,7 +704,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
OrderDetail myorder = mInfos.get(i); OrderDetail myorder = mInfos.get(i);
t = t + 1; t = t + 1;
if (myorder != null) { if (myorder != null) {
switch (myorder.getItemType()) { switch (myorder.getItemType()) {
case 1: case 1:
parent_index = parent_index + 1; parent_index = parent_index + 1;
...@@ -776,6 +774,17 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -776,6 +774,17 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
} }
} }
while (checkOrder.getItemType() != 1) {
// checkOrder.setSelected(3);
select_full_end_position = k;
k = k + 1;
if (k < mInfos.size()) {
checkOrder = mInfos.get(k);
} else {
break;
}
}
if (resetMultipleSelected()) { if (resetMultipleSelected()) {
//再次點擊直接恢復 //再次點擊直接恢復
notifyDataSetChanged(); notifyDataSetChanged();
...@@ -784,8 +793,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -784,8 +793,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
while (checkOrder.getItemType() != 1) { while (checkOrder.getItemType() != 1) {
checkOrder.setSelected(3); checkOrder.setSelected(3);
select_full_end_position = k;
k = k + 1;
if (k < mInfos.size()) { if (k < mInfos.size()) {
checkOrder = mInfos.get(k); checkOrder = mInfos.get(k);
} else { } else {
...@@ -983,10 +990,10 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -983,10 +990,10 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
return edgeIndex; return edgeIndex;
} }
public boolean canDeleteFood(){ public boolean canDeleteFood() {
boolean can = false; boolean can = false;
for (OrderDetail item: mInfos) { for (OrderDetail item : mInfos) {
if(item.getSelected() != 0){ if (item.getSelected() != 0) {
can = true; can = true;
} }
} }
...@@ -996,6 +1003,19 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -996,6 +1003,19 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
return can; return can;
} }
public boolean canDeleteChildItem() {
int start_position = select_full_start_position;
int end_position = select_full_end_position;
for (int i = mInfos.size() - 1; i >= 0; i--) {
if (start_position <= i && i <= end_position) {
if (mInfos.get(i).isNew()) {
return true;
}
}
}
return false;
}
public List<OrderDetail> getInfos() { public List<OrderDetail> getInfos() {
return mInfos; return mInfos;
} }
......
...@@ -98,7 +98,7 @@ public class FineItemAllFragment extends BaseFragment<FineItemAllPresenter> impl ...@@ -98,7 +98,7 @@ public class FineItemAllFragment extends BaseFragment<FineItemAllPresenter> impl
if (event == null) { if (event == null) {
return; return;
} }
mPresenter.updateCurrentSlodoutFoodList_Full(event); mPresenter.updateParentModifierSlodoutFoodList_Full(event);
} }
public void onModSasteEvent(long mid) { public void onModSasteEvent(long mid) {
...@@ -115,6 +115,13 @@ public class FineItemAllFragment extends BaseFragment<FineItemAllPresenter> impl ...@@ -115,6 +115,13 @@ public class FineItemAllFragment extends BaseFragment<FineItemAllPresenter> impl
mPresenter.initModMsgFineItemData(mid); mPresenter.initModMsgFineItemData(mid);
} }
public void onModCommMidEvent(long mid) {
// if (mid == 0) {
// return;
// }
mPresenter.initModCommFineItemKindData(mid);
}
@Override @Override
public void showLoading(String message) { public void showLoading(String message) {
...@@ -226,4 +233,7 @@ public class FineItemAllFragment extends BaseFragment<FineItemAllPresenter> impl ...@@ -226,4 +233,7 @@ public class FineItemAllFragment extends BaseFragment<FineItemAllPresenter> impl
//使dialog的生命周期与Fragment同步 //使dialog的生命周期与Fragment同步
hideLoading(); hideLoading();
} }
} }
...@@ -26,6 +26,8 @@ ...@@ -26,6 +26,8 @@
android:layout_marginRight="@dimen/dp_5" android:layout_marginRight="@dimen/dp_5"
android:layout_toLeftOf="@+id/tv_value" android:layout_toLeftOf="@+id/tv_value"
android:layout_toRightOf="@+id/tv_number" android:layout_toRightOf="@+id/tv_number"
android:ellipsize="end"
android:maxLines="1"
android:text="" android:text=""
android:textAppearance="?android:attr/textAppearanceMedium" android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/theme_black" android:textColor="@color/theme_black"
......
...@@ -276,81 +276,77 @@ ...@@ -276,81 +276,77 @@
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:visibility="invisible"> android:visibility="invisible">
<com.qmuiteam.qmui.alpha.QMUIAlphaButton <com.qmuiteam.qmui.alpha.QMUIAlphaTextView
android:id="@+id/btn_select_all" android:id="@+id/btn_select_all"
style="@style/ButtonBorderless"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginRight="1dp" android:layout_marginRight="1dp"
android:layout_weight="0.1" android:layout_weight="0.1"
android:background="#00B9F7" android:background="#00B9F7"
android:gravity="center"
android:text="@string/all_selection" android:text="@string/all_selection"
android:textColor="@color/theme_white_color" android:textColor="@color/theme_white_color"
android:textSize="@dimen/sp_14"/> android:textSize="@dimen/sp_14"
android:visibility="gone"/>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton <com.qmuiteam.qmui.alpha.QMUIAlphaTextView
android:id="@+id/btn_anti_selection" android:id="@+id/btn_anti_selection"
style="@style/ButtonBorderless"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginRight="1dp" android:layout_marginRight="1dp"
android:layout_weight="0.1" android:layout_weight="0.1"
android:background="#00B9F7" android:background="#00B9F7"
android:gravity="center"
android:text="@string/anti_selection" android:text="@string/anti_selection"
android:textColor="@color/theme_white_color" android:textColor="@color/theme_white_color"
android:textSize="@dimen/sp_14"/> android:textSize="@dimen/sp_14"
android:visibility="gone"/>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton <com.qmuiteam.qmui.alpha.QMUIAlphaTextView
android:id="@+id/btn_taste" android:id="@+id/btn_taste"
style="@style/ButtonBorderless"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginRight="1dp" android:layout_marginRight="1dp"
android:layout_weight="0.1" android:layout_weight="0.1"
android:background="#00B9F7" android:background="#00B9F7"
android:gravity="center" android:gravity="center"
android:drawablePadding="0dp"
android:drawableLeft="@mipmap/meal_fine_taste"
android:text="@string/taste" android:text="@string/taste"
android:textColor="@color/theme_white_color" android:textColor="@color/theme_white_color"
android:textSize="@dimen/sp_14" /> android:textSize="@dimen/sp_14" />
<com.qmuiteam.qmui.alpha.QMUIAlphaButton <com.qmuiteam.qmui.alpha.QMUIAlphaTextView
android:id="@+id/btn_msg" android:id="@+id/btn_msg"
style="@style/ButtonBorderless"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginRight="1dp" android:layout_marginRight="1dp"
android:layout_weight="0.1" android:layout_weight="0.1"
android:background="#7D8888" android:background="#7D8888"
android:drawableLeft="@mipmap/meal_fine_info" android:gravity="center"
android:text="@string/msg" android:text="@string/msg"
android:textColor="@color/theme_white_color" android:textColor="@color/theme_white_color"
android:textSize="@dimen/sp_14"/> android:textSize="@dimen/sp_14"/>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton <com.qmuiteam.qmui.alpha.QMUIAlphaTextView
android:id="@+id/btn_delete" android:id="@+id/btn_delete"
style="@style/ButtonBorderless"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginRight="1dp" android:layout_marginRight="1dp"
android:layout_weight="0.1" android:layout_weight="0.1"
android:background="#FF5024" android:background="#FF5024"
android:drawableLeft="@mipmap/meal_fine_delete" android:gravity="center"
android:text="@string/remove" android:text="@string/remove"
android:textColor="@color/theme_white_color" android:textColor="@color/theme_white_color"
android:textSize="@dimen/sp_14" /> android:textSize="@dimen/sp_14" />
<com.qmuiteam.qmui.alpha.QMUIAlphaButton <com.qmuiteam.qmui.alpha.QMUIAlphaTextView
android:id="@+id/btn_end" android:id="@+id/btn_end"
style="@style/ButtonBorderless"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginRight="1dp" android:layout_marginRight="1dp"
android:layout_weight="0.1" android:layout_weight="0.1"
android:background="@color/Grass_green" android:background="@color/Grass_green"
android:drawableLeft="@mipmap/meal_fine_end" android:gravity="center"
android:text="@string/end" android:text="@string/end"
android:textColor="@color/theme_white_color" android:textColor="@color/theme_white_color"
android:textSize="@dimen/sp_14" /> android:textSize="@dimen/sp_14" />
...@@ -496,6 +492,16 @@ ...@@ -496,6 +492,16 @@
android:background="@color/theme_white_color" android:background="@color/theme_white_color"
android:visibility="gone"> android:visibility="gone">
<ImageView
android:id="@+id/iv_fine_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/normal_space"
android:contentDescription="@string/app_name"
android:src="@drawable/ic_black_back"
android:visibility="visible" />
<com.gingersoft.gsa.cloud.ui.view.PagerSlidingTabStrip xmlns:app="http://schemas.android.com/apk/res-auto" <com.gingersoft.gsa.cloud.ui.view.PagerSlidingTabStrip xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/tabs_fine" android:id="@+id/tabs_fine"
android:layout_width="wrap_content" android:layout_width="wrap_content"
......
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
<string name="Addordelete">加/減</string> <string name="Addordelete">加/減</string>
<string name="taste">口味</string> <string name="taste">口味</string>
<string name="msg">訊息</string> <string name="msg">訊息</string>
<string name="all_selection"></string> <string name="all_selection"></string>
<string name="anti_selection">反選</string> <string name="anti_selection">反選</string>
<string name="remove">刪除</string> <string name="remove">刪除</string>
<string name="end">完成</string> <string name="end">完成</string>
......
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" <?xml version="1.0" encoding="utf-8"?>
xmlns:tools="http://schemas.android.com/tools" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gingersoft.gsa.cloud.user.login"> xmlns:tools="http://schemas.android.com/tools"
package="com.gingersoft.gsa.cloud.user.login">
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" /> <application
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application
android:name="com.gingersoft.gsa.cloud.base.application.GsaCloudApplication" android:name="com.gingersoft.gsa.cloud.base.application.GsaCloudApplication"
android:allowBackup="true" android:allowBackup="true"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
...@@ -29,16 +22,26 @@ package="com.gingersoft.gsa.cloud.user.login"> ...@@ -29,16 +22,26 @@ package="com.gingersoft.gsa.cloud.user.login">
</intent-filter> </intent-filter>
</activity> </activity>
<activity android:name=".mvp.ui.activity.mvp.ui.activity.LoginOutActivity" /> <activity android:name=".mvp.ui.activity.mvp.ui.activity.LoginOutActivity" />
<activity android:name=".mvp.ui.activity.mvp.ui.activity.RecoverPasswordActivity"/> <activity android:name=".mvp.ui.activity.mvp.ui.activity.RecoverPasswordActivity" />
<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 <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.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
</manifest> </manifest>
\ No newline at end of file
...@@ -72,7 +72,7 @@ public class SwitchServerActivity extends BaseActivity<SwitchServerPresenter> im ...@@ -72,7 +72,7 @@ public class SwitchServerActivity extends BaseActivity<SwitchServerPresenter> im
tvNowServer.setText("當前服務器:" + nowServer); tvNowServer.setText("當前服務器:" + nowServer);
rbHK.setText("香港服務器:" + HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL_HK); rbHK.setText("香港服務器:" + HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL_HK);
rbSZ.setText("深圳服務器:" + HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL_SZ); rbSZ.setText("深圳服務器:" + HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL_SZ);
rb_youchang_hk.setText("友常本地:" + HttpsConstans.ROOT_SERVER_YOU_CHANG_HK); rb_youchang_hk.setText("世維本地:" + HttpsConstans.ROOT_SERVER_YOU_CHANG_HK);
if (nowServer.equals(HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL_SZ)) { if (nowServer.equals(HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL_SZ)) {
rbSZ.setChecked(true); rbSZ.setChecked(true);
} else if (nowServer.equals(HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL_HK)) { } else if (nowServer.equals(HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL_HK)) {
...@@ -86,7 +86,7 @@ public class SwitchServerActivity extends BaseActivity<SwitchServerPresenter> im ...@@ -86,7 +86,7 @@ public class SwitchServerActivity extends BaseActivity<SwitchServerPresenter> im
} else if (rbHK.isChecked()) { } else if (rbHK.isChecked()) {
HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL = HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL_HK; HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL = HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL_HK;
}else { }else {
HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL = HttpsConstans.ROOT_SERVER_YOU_CHANG_HK; HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL = HttpsConstans.ROOT_SERVER_SHI_WEI_HK;
} }
GsaCloudApplication.setGlobalDomain(); GsaCloudApplication.setGlobalDomain();
finish(); finish();
......
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