Commit 142fb551 by 宁斌

添加清機頁面

parent cfa82849
<?xml version="1.0" encoding="utf-8"?> <<<<<<< Original<<<<<<< Original<?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" package="com.gingersoft.gsa.cloud.main">
package="com.gingersoft.gsa.cloud.main">
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.INTERNET" /> <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" />
<application
<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" android:label="@string/app_name"
android:label="@string/app_name" android:networkSecurityConfig="@xml/network_android"
android:networkSecurityConfig="@xml/network_android" android:roundIcon="@mipmap/ic_launcher_round"
android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true"
android:supportsRtl="true" android:theme="@style/AppTheme">
android:theme="@style/AppTheme"> <activity android:name=".mvp.ui.activity.ReportActivity" />
<activity android:name=".mvp.ui.activity.ReportActivity"/> <activity android:name=".mvp.ui.activity.MainActivity" />
<activity android:name=".mvp.ui.activity.MainActivity" /> <activity
<activity android:name=".mvp.ui.activity.NewMainActivity"
android:name=".mvp.ui.activity.NewMainActivity" android:theme="@style/MainTheme">
android:theme="@style/MainTheme"> <intent-filter>
<intent-filter> <action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LAUNCHER" /> </intent-filter>
</intent-filter> </activity>
</activity>
<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="540" /> </application>
</application>
</manifest>=======<manifest xmlns:android="http://schemas.android.com/apk/res/android"
</manifest> package="com.gingersoft.gsa.cloud.main.mvp">
\ No newline at end of file
<application>
<activity android:name="com.gingersoft.gsa.cloud.main.mvp.ui.activity.SettlementReportActivity"></activity>
</application>
</manifest>>>>>>>> Added
=======<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gingersoft.gsa.cloud.main">
<application>
<activity android:name="com.gingersoft.gsa.cloud.main.mvp.ui.activity.SettlementActivity"></activity>
</application>
</manifest>>>>>>>> Added
package com.gingersoft.gsa.cloud.main.di.component;
import dagger.BindsInstance;
import dagger.Component;
import com.jess.arms.di.component.AppComponent;
import com.gingersoft.gsa.cloud.main.di.module.SettlementModule;
import com.gingersoft.gsa.cloud.main.mvp.contract.SettlementContract;
import com.jess.arms.di.scope.ActivityScope;
import com.gingersoft.gsa.cloud.main.mvp.ui.activity.SettlementActivity;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 03/04/2020 21:37
* <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 = SettlementModule.class, dependencies = AppComponent.class)
public interface SettlementComponent {
void inject(SettlementActivity activity);
@Component.Builder
interface Builder {
@BindsInstance
SettlementComponent.Builder view(SettlementContract.View view);
SettlementComponent.Builder appComponent(AppComponent appComponent);
SettlementComponent build();
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.main.di.component;
import dagger.BindsInstance;
import dagger.Component;
import com.jess.arms.di.component.AppComponent;
import com.gingersoft.gsa.cloud.main.di.module.SettlementReportModule;
import com.gingersoft.gsa.cloud.main.mvp.contract.SettlementReportContract;
import com.jess.arms.di.scope.ActivityScope;
import com.gingersoft.gsa.cloud.main.mvp.ui.activity.SettlementReportActivity;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 03/04/2020 21:36
* <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 = SettlementReportModule.class, dependencies = AppComponent.class)
public interface SettlementReportComponent {
void inject(SettlementReportActivity activity);
@Component.Builder
interface Builder {
@BindsInstance
SettlementReportComponent.Builder view(SettlementReportContract.View view);
SettlementReportComponent.Builder appComponent(AppComponent appComponent);
SettlementReportComponent build();
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.main.di.module;
import com.jess.arms.di.scope.ActivityScope;
import dagger.Binds;
import dagger.Module;
import dagger.Provides;
import com.gingersoft.gsa.cloud.main.mvp.contract.SettlementContract;
import com.gingersoft.gsa.cloud.main.mvp.model.SettlementModel;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 03/04/2020 21:37
* <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 SettlementModule {
@Binds
abstract SettlementContract.Model bindSettlementModel(SettlementModel model);
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.main.di.module;
import com.jess.arms.di.scope.ActivityScope;
import dagger.Binds;
import dagger.Module;
import dagger.Provides;
import com.gingersoft.gsa.cloud.main.mvp.contract.SettlementReportContract;
import com.gingersoft.gsa.cloud.main.mvp.model.SettlementReportModel;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 03/04/2020 21:36
* <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 SettlementReportModule {
@Binds
abstract SettlementReportContract.Model bindSettlementReportModel(SettlementReportModel model);
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.main.mvp.contract;
import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 03/04/2020 21:37
* <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 SettlementContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView {
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel{
}
}
package com.gingersoft.gsa.cloud.main.mvp.contract;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 03/04/2020 21:36
* <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 SettlementReportContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView {
void setSettlementReportItemAdapter(DefaultAdapter adapter);
// void returnSettlementData(SettlementResult.DatasBean datasBean);
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel{
}
}
package com.gingersoft.gsa.cloud.main.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.main.mvp.contract.SettlementContract;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 03/04/2020 21:37
* <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 SettlementModel extends BaseModel implements SettlementContract.Model{
@Inject
Gson mGson;
@Inject
Application mApplication;
@Inject
public SettlementModel(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.main.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.main.mvp.contract.SettlementReportContract;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 03/04/2020 21:36
* <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 SettlementReportModel extends BaseModel implements SettlementReportContract.Model{
@Inject
Gson mGson;
@Inject
Application mApplication;
@Inject
public SettlementReportModel(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.main.mvp.model.bean;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-03-04
* 修订历史:2020-03-04
* 描述:
*/
public class SettlementReportItem {
private String leftText;
private String centerText;
private String rightText;
public SettlementReportItem(String leftText, String centerText, String rightText) {
this.leftText = leftText;
this.centerText = centerText;
this.rightText = rightText;
}
public String getLeftText() {
return leftText;
}
public void setLeftText(String leftText) {
this.leftText = leftText;
}
public String getCenterText() {
return centerText;
}
public void setCenterText(String centerText) {
this.centerText = centerText;
}
public String getRightText() {
return rightText;
}
public void setRightText(String rightText) {
this.rightText = rightText;
}
}
package com.gingersoft.gsa.cloud.main.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.main.mvp.contract.SettlementContract;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 03/04/2020 21:37
* <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 SettlementPresenter extends BasePresenter<SettlementContract.Model, SettlementContract.View> {
@Inject
RxErrorHandler mErrorHandler;
@Inject
Application mApplication;
@Inject
ImageLoader mImageLoader;
@Inject
AppManager mAppManager;
@Inject
public SettlementPresenter (SettlementContract.Model model, SettlementContract.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.main.mvp.presenter;
import android.app.Application;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.SettlementReportItem;
import com.gingersoft.gsa.cloud.main.mvp.ui.activity.SettlementReportActivity;
import com.gingersoft.gsa.cloud.main.mvp.ui.adapter.SettlementReportItemAdapter;
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.main.mvp.contract.SettlementReportContract;
import java.util.ArrayList;
import java.util.List;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 03/04/2020 21:36
* <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 SettlementReportPresenter extends BasePresenter<SettlementReportContract.Model, SettlementReportContract.View> {
@Inject
RxErrorHandler mErrorHandler;
@Inject
Application mApplication;
@Inject
ImageLoader mImageLoader;
@Inject
AppManager mAppManager;
private SettlementReportActivity IActivity;
private SettlementReportItemAdapter reportItemAdapter;
private List<SettlementReportItem> mList;
@Inject
public SettlementReportPresenter (SettlementReportContract.Model model, SettlementReportContract.View rootView) {
super(model, rootView);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mErrorHandler = null;
this.mAppManager = null;
this.mImageLoader = null;
this.mApplication = null;
}
public void initAdapter() {
if (reportItemAdapter == null) {
mList = new ArrayList<>();
reportItemAdapter = new SettlementReportItemAdapter(IActivity, mList);
mRootView.setSettlementReportItemAdapter(reportItemAdapter);
}
}
public void notifyDataSetChanged(List<SettlementReportItem> settlementReportItems) {
mList.clear();
mList.addAll(settlementReportItems);
reportItemAdapter.notifyDataSetChanged();
}
}
...@@ -287,7 +287,7 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N ...@@ -287,7 +287,7 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
} }
}; };
@OnClick({R2.id.layout_login_out, R2.id.iv_personal_center,R2.id.tv_restaurant_name}) @OnClick({R2.id.layout_login_out, R2.id.iv_personal_center,R2.id.tv_restaurant_name,R2.id.tv_clearance})
@Override @Override
public void onClick(View v) { public void onClick(View v) {
if (v.getId() == R.id.layout_login_out) { if (v.getId() == R.id.layout_login_out) {
...@@ -297,6 +297,9 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N ...@@ -297,6 +297,9 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
slideMenu.toggle(); slideMenu.toggle();
} else if (v.getId() == R.id.tv_restaurant_name) { } else if (v.getId() == R.id.tv_restaurant_name) {
showChooseRestaurantDialog(); showChooseRestaurantDialog();
} else if (v.getId() == R.id.tv_clearance) {
} }
} }
......
package com.gingersoft.gsa.cloud.main.mvp.ui.activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.jess.arms.base.BaseActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.gingersoft.gsa.cloud.main.mvp.contract.SettlementContract;
import com.gingersoft.gsa.cloud.main.mvp.presenter.SettlementPresenter;
import com.qmuiteam.qmui.widget.QMUITopBar;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import butterknife.BindView;
import static com.jess.arms.utils.Preconditions.checkNotNull;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 03/04/2020 21:37
* <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 SettlementActivity extends BaseActivity<SettlementPresenter> implements SettlementContract.View {
@BindView(R2.id.topbar)
QMUITopBar mTopBar;
@Override
public void setupActivityComponent(@NonNull AppComponent appComponent) {
DaggerSettlementComponent //如找不到该类,请编译一下项目
.builder()
.appComponent(appComponent)
.view(this)
.build()
.inject(this);
}
@Override
public int initView(@Nullable Bundle savedInstanceState) {
return R.layout.activity_settlement; //如果你不需要框架帮你设置 setContentView(id) 需要自行设置,请返回 0
}
@Override
public void initData(@Nullable Bundle savedInstanceState) {
}
@Override
public void initIntent() {
}
@Override
public void initTopBar() {
mTopBar.setBackgroundColor(ContextCompat.getColor(this, R2.color.theme_color));
mTopBar.addLeftBackImageButton().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
killMyself();
// overridePendingTransition(R.anim.slide_still, R.anim.slide_out_right);
}
});
mTopBar.setTitle(LanguageUtils.get_language_system(this, "funcSelect.settlement", "清機"));
}
@Override
public void initLanguage() {
}
@Override
public void initLayoutParams() {
}
@Override
public void initLayoutVisible() {
}
@Override
public void showLoading(String message) {
}
@Override
public void hideLoading() {
}
@Override
public void showMessage(@NonNull String message) {
checkNotNull(message);
ArmsUtils.snackbarText(message);
}
@Override
public void launchActivity(@NonNull Intent intent) {
checkNotNull(intent);
ArmsUtils.startActivity(intent);
}
@Override
public void killMyself() {
finish();
}
}
package com.gingersoft.gsa.cloud.main.mvp.ui.activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.main.R2;
import com.jess.arms.base.BaseActivity;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.gingersoft.gsa.cloud.main.mvp.contract.SettlementReportContract;
import com.gingersoft.gsa.cloud.main.mvp.presenter.SettlementReportPresenter;
import com.qmuiteam.qmui.widget.QMUITopBar;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import static com.jess.arms.utils.Preconditions.checkNotNull;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 03/04/2020 21:36
* <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 SettlementReportActivity extends BaseActivity<SettlementReportPresenter> implements SettlementReportContract.View {
@BindView(R2.id.topbar)
QMUITopBar mTopBar;
@BindView(R2.id.tv_name)
TextView tv_name;
@BindView(R2.id.tv_start_time)
TextView tv_start_time;
@BindView(R2.id.tv_end_time)
TextView tv_end_time;
@BindView(R2.id.rv_settlement_report_item)
RecyclerView rv_settlement_report_item;
@Override
public void setupActivityComponent(@NonNull AppComponent appComponent) {
DaggerSettlementReportComponent //如找不到该类,请编译一下项目
.builder()
.appComponent(appComponent)
.view(this)
.build()
.inject(this);
}
@Override
public int initView(@Nullable Bundle savedInstanceState) {
return R.layout.activity_settlement_report; //如果你不需要框架帮你设置 setContentView(id) 需要自行设置,请返回 0
}
@Override
public void initData(@Nullable Bundle savedInstanceState) {
}
@Override
public void initIntent() {
}
@Override
public void initTopBar() {
mTopBar.setBackgroundColor(ContextCompat.getColor(this, R2.color.theme_color));
mTopBar.addLeftBackImageButton().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
killMyself();
// overridePendingTransition(R.anim.slide_still, R.anim.slide_out_right);
}
});
mTopBar.setTitle(LanguageUtils.get_language_system(this, "function.order.detail2", "清機報表"));
// mTopBar.addRightTextButton("打印", R.id.right_img).setOnClickListener(new View.OnClickListener() {
//
// @Override
// public void onClick(View v) {
// if (result != null) {
//
// String businessStartTimeRow = LanguageUtils.get_language_system(SettlementReportActivity.this, "from.business.hours", "由營業日期") + " : " + startTime;
// String businessEndTimeRow = LanguageUtils.get_language_system(SettlementReportActivity.this, "to.business.hours", "到營業日期") + " : " + endTime;
//
// PrintSettlementReport settlementReport = new PrintSettlementReport();
// settlementReport.setBrandMachineNameRow(GSAApplication.machineName);
// settlementReport.setShopNameRow(LanguageUtils.get_language_system(SettlementReportActivity.this, "shop.number", "店鋪編號") + " : " + GSAApplication.androidSetting.getShopId());
// settlementReport.setBusinessStartTimeRow(businessStartTimeRow);
// settlementReport.setBusinessEndTimeRow(businessEndTimeRow);
// settlementReport.setReportName(LanguageUtils.get_language_system(SettlementReportActivity.this, "EODReport", "清機報表"));
// settlementReport.setResult(result);
// PrintAction.getInstance().performN5PrintSettlementReport(SettlementReportActivity.this, settlementReport, new PrintAction.onPrintListener() {
//
// @Override
// public void success() {
//
// }
//
// @Override
// public void failure(String error) {
//
// }
// });
// }
// }
// });
}
@Override
public void initLanguage() {
}
@Override
public void initLayoutParams() {
}
@Override
public void initLayoutVisible() {
}
@Override
public void showLoading(String message) {
}
@Override
public void hideLoading() {
}
@Override
public void showMessage(@NonNull String message) {
checkNotNull(message);
ArmsUtils.snackbarText(message);
}
@Override
public void launchActivity(@NonNull Intent intent) {
checkNotNull(intent);
ArmsUtils.startActivity(intent);
}
@Override
public void killMyself() {
finish();
}
@Override
public void setSettlementReportItemAdapter(DefaultAdapter adapter) {
setSettlementReportItemRecycleLayoutManager();
rv_settlement_report_item.setAdapter(adapter);
}
public void setSettlementReportItemRecycleLayoutManager() {
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
rv_settlement_report_item.setLayoutManager(linearLayoutManager);
rv_settlement_report_item.setItemAnimator(new DefaultItemAnimator());
}
}
package com.gingersoft.gsa.cloud.main.mvp.ui.adapter;
import android.content.Context;
import android.view.View;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.main.R2;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.SettlementReportItem;
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 SettlementReportItemAdapter extends DefaultAdapter<SettlementReportItem> {
private Context mContext;
public SettlementReportItemAdapter(Context context, List<SettlementReportItem> infos) {
super(infos);
this.mContext = context;
}
@Override
public int getItemCount() {
return mInfos.size();
}
@Override
public BaseHolder<SettlementReportItem> getHolder(View v, int viewType) {
return new SettlementReportItemHolder(v);
}
@Override
public int getLayoutId(int viewType) {
return R.layout.item_settlement_report;
}
class SettlementReportItemHolder extends BaseHolder<SettlementReportItem> {
@BindView(R2.id.tv_left)
TextView tv_left;
@BindView(R2.id.tv_center)
TextView tv_center;
@BindView(R2.id.tv_right)
TextView tv_right;
public SettlementReportItemHolder(View itemView) {
super(itemView);
}
@Override
public void setData(SettlementReportItem reportItem, int position) {
tv_left.setText(reportItem.getLeftText());
tv_center.setText(reportItem.getCenterText());
tv_right.setText(reportItem.getRightText());
}
}
}
...@@ -135,6 +135,15 @@ ...@@ -135,6 +135,15 @@
android:text="設置" android:text="設置"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="@dimen/sp_17" /> android:textSize="@dimen/sp_17" />
<TextView
android:id="@+id/tv_clearance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_14"
android:text="清機"
android:textColor="@color/white"
android:textSize="@dimen/sp_17" />
</LinearLayout> </LinearLayout>
<View <View
......
<?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:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
</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">
<com.qmuiteam.qmui.widget.QMUITopBar
android:id="@+id/topbar"
android:layout_width="match_parent"
android:layout_height="?attr/qmui_topbar_height"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/theme_white_color"
android:orientation="vertical"
android:layout_marginTop="?attr/qmui_topbar_height">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/dp_10"
android:orientation="vertical">
<TextView
android:id="@+id/tv_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textSize="@dimen/sp_16"
android:text="店鋪名稱:gingersoft"/>
<TextView
android:id="@+id/tv_start_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:layout_marginTop="@dimen/dp_5"
android:textSize="@dimen/sp_14"
android:text=""/>
<TextView
android:id="@+id/tv_end_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textSize="@dimen/sp_14"
android:layout_marginTop="@dimen/dp_5"
android:text=""/>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_0_5"
android:background="@color/theme_grey_color"
android:layout_marginTop="@dimen/dp_8"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_settlement_report_item"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null"
android:fadeScrollbars="false"/>
</LinearLayout>
</com.qmuiteam.qmui.widget.QMUIWindowInsetLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/cl_container"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_25">
<TextView
android:id="@+id/tv_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="left"
android:textColor="@color/black"
android:textSize="@dimen/sp_14"
android:layout_marginLeft="@dimen/dp_15"
app:layout_constraintBottom_toBottomOf="@+id/tv_center"
app:layout_constraintLeft_toLeftOf="@+id/cl_container" />
<TextView
android:id="@+id/tv_center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_120"
android:text="center"
android:textColor="@color/black"
android:textSize="@dimen/sp_14"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="right"
android:textColor="@color/black"
android:textSize="@dimen/sp_14"
android:layout_marginRight="@dimen/dp_15"
app:layout_constraintBottom_toBottomOf="@+id/tv_center"
app:layout_constraintRight_toRightOf="@+id/cl_container" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -42,7 +42,7 @@ android { ...@@ -42,7 +42,7 @@ android {
/** /**
* 版本号 * 版本号
*/ */
schemaVersion 14 schemaVersion 1
/** /**
* greendao输出dao的数据库操作实体类文件夹(相对路径 包名+自定义路径名称,包将创建于包名的直接路径下) * greendao输出dao的数据库操作实体类文件夹(相对路径 包名+自定义路径名称,包将创建于包名的直接路径下)
*/ */
......
...@@ -130,11 +130,15 @@ public class OrderBean { ...@@ -130,11 +130,15 @@ public class OrderBean {
private long parentId; private long parentId;
private long orderId; private long orderId;
/**商品父級ID*/
private long topId;
public OrderDetailsBean() { public OrderDetailsBean() {
} }
public OrderDetailsBean(String productName, long productId,long parentId, double price, double lunchboxPrice, int number,byte type, long orderId) { public OrderDetailsBean(String productName, long productId,long parentId, double price, double lunchboxPrice,
int number,byte type, long orderId) {
this.productName = productName; this.productName = productName;
this.productId = productId; this.productId = productId;
this.parentId = parentId; this.parentId = parentId;
...@@ -232,6 +236,14 @@ public class OrderBean { ...@@ -232,6 +236,14 @@ public class OrderBean {
public void setOrderId(long orderId) { public void setOrderId(long orderId) {
this.orderId = orderId; this.orderId = orderId;
} }
public long getTopId() {
return topId;
}
public void setTopId(long topId) {
this.topId = topId;
}
} }
// public static List<OrderDetailsBean> transOrderDetails(List<Food> foods) { // public static List<OrderDetailsBean> transOrderDetails(List<Food> foods) {
......
...@@ -67,14 +67,14 @@ public class OrderDetail implements Serializable { ...@@ -67,14 +67,14 @@ public class OrderDetail implements Serializable {
*/ */
private long id; private long id;
/** /**
* 订单ID
*/
private long orderId;
/**
* 父级ID * 父级ID
*/ */
private long parentId; private long parentId;
/** /**
* 订单ID
*/
private long orderId;
/**
* 商品名称 * 商品名称
*/ */
private String productName; private String productName;
...@@ -83,6 +83,10 @@ public class OrderDetail implements Serializable { ...@@ -83,6 +83,10 @@ public class OrderDetail implements Serializable {
*/ */
private long productId; private long productId;
/** /**
* 商品組id
*/
private long topId;
/**
* 總價格(已經x數量) * 總價格(已經x數量)
*/ */
private double price = 0; private double price = 0;
...@@ -475,6 +479,14 @@ public class OrderDetail implements Serializable { ...@@ -475,6 +479,14 @@ public class OrderDetail implements Serializable {
this.printseting = printseting; this.printseting = printseting;
} }
public long getTopId() {
return topId;
}
public void setTopId(long topId) {
this.topId = topId;
}
/** /**
* 已送單食品轉換 * 已送單食品轉換
* *
...@@ -541,9 +553,10 @@ public class OrderDetail implements Serializable { ...@@ -541,9 +553,10 @@ public class OrderDetail implements Serializable {
public static OrderDetail foodTransOrderDetails(Food foods, int number) { public static OrderDetail foodTransOrderDetails(Food foods, int number) {
OrderDetail orderDetail = new OrderDetail(); OrderDetail orderDetail = new OrderDetail();
orderDetail.setProductName(foods.getFoodName()); orderDetail.setProductName(foods.getFoodName());
orderDetail.setId(foods.getId()); orderDetail.setTopId(0);
orderDetail.setProductId(foods.getId()); orderDetail.setId(0);
orderDetail.setParentId(0); orderDetail.setParentId(0);
orderDetail.setProductId(foods.getId());
// orderDetail.setParentId(foods.getParentId()); // orderDetail.setParentId(foods.getParentId());
orderDetail.setUnit_price(foods.getPrice()); orderDetail.setUnit_price(foods.getPrice());
orderDetail.setPrice(number * orderDetail.getUnit_price()); orderDetail.setPrice(number * orderDetail.getUnit_price());
...@@ -569,16 +582,16 @@ public class OrderDetail implements Serializable { ...@@ -569,16 +582,16 @@ public class OrderDetail implements Serializable {
* @param isRvMealClicked * @param isRvMealClicked
* @return * @return
*/ */
public static OrderDetail comboTransOrderDetail(ComboItem foodCombo, int number, long fid, String prop, boolean isRvMealClicked) { public static OrderDetail comboTransOrderDetail(ComboItem foodCombo, long id,int number, String prop, boolean isRvMealClicked) {
OrderDetail orderDetail = new OrderDetail(); OrderDetail orderDetail = new OrderDetail();
orderDetail.setProductName(foodCombo.getName()); orderDetail.setProductName(foodCombo.getName());
if (foodCombo.getFid() != null) { if (foodCombo.getFid() != null) {
orderDetail.setId(foodCombo.getFid()); orderDetail.setTopId(foodCombo.getFid());
} }
if (foodCombo.getComId() != null) { if (foodCombo.getComId() != null) {
orderDetail.setProductId(foodCombo.getComId()); orderDetail.setProductId(foodCombo.getComId());
} }
orderDetail.setParentId(fid); orderDetail.setParentId(id);
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);
...@@ -606,11 +619,12 @@ public class OrderDetail implements Serializable { ...@@ -606,11 +619,12 @@ public class OrderDetail implements Serializable {
* @param number * @param number
* @return * @return
*/ */
public static OrderDetail modifierTransOrderDetail(Modifier modifier, int number) { public static OrderDetail modifierTransOrderDetail(Modifier modifier,long id, int number) {
OrderDetail orderDetail = new OrderDetail(); OrderDetail orderDetail = new OrderDetail();
orderDetail.setProductName(modifier.getModifierName()); orderDetail.setProductName(modifier.getModifierName());
orderDetail.setId(modifier.getMid()); orderDetail.setTopId(modifier.getFid());
orderDetail.setParentId(modifier.getFid()); orderDetail.setParentId(id);
orderDetail.setProductId(modifier.getMid());
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);
......
...@@ -68,34 +68,25 @@ public class ComboItem { ...@@ -68,34 +68,25 @@ public class ComboItem {
private String name2; private String name2;
@Transient @Transient
private long parentId; private long parentId;
/** /**默認選中數*/
* 價格 @Transient
*/ private String defmodifier = "0";
/**價格*/
@Transient @Transient
private double price = 0.00; private double price = 0.00;
/** /*** 是否自動展開*/
* 是否自動展開
*/
@Transient @Transient
private int autoMode = 0; private int autoMode = 0;
/** /*** 是否备注细项*/
* 是否备注细项
*/
@Transient @Transient
private boolean isModifier; private boolean isModifier;
/** /*** 背景顏色*/
* 背景顏色
*/
@Transient @Transient
private int bgColor = Color.parseColor("#067878"); private int bgColor = Color.parseColor("#067878");
/** /*** 字體顏色*/
* 字體顏色
*/
@Transient @Transient
private int fontColor = Color.parseColor("#FFFFFF"); private int fontColor = Color.parseColor("#FFFFFF");
/** /*** 套餐細項*/
* 套餐細項
*/
@Transient @Transient
private Modifier modifier; private Modifier modifier;
...@@ -129,6 +120,7 @@ public class ComboItem { ...@@ -129,6 +120,7 @@ public class ComboItem {
} }
public Long getId() { public Long getId() {
return id; return id;
} }
...@@ -337,6 +329,14 @@ public class ComboItem { ...@@ -337,6 +329,14 @@ public class ComboItem {
this.modifier = modifier; this.modifier = modifier;
} }
public String getDefmodifier() {
return defmodifier;
}
public void setDefmodifier(String defmodifier) {
this.defmodifier = defmodifier;
}
public static ComboItem addFoodInfo(Food food, ComboItem foodCombo) { public static ComboItem addFoodInfo(Food food, ComboItem foodCombo) {
foodCombo.setName(food.getFoodName()); foodCombo.setName(food.getFoodName());
foodCombo.setFid(food.getId()); foodCombo.setFid(food.getId());
......
...@@ -31,7 +31,7 @@ public class Food { ...@@ -31,7 +31,7 @@ public class Food {
/** /**
* ID * ID
*/ */
@Property(nameInDb = "_id") @Property(nameInDb = "FID")
@Id(autoincrement = true) @Id(autoincrement = true)
private Long id; private Long id;
......
...@@ -27,6 +27,8 @@ public class FoodCombo { ...@@ -27,6 +27,8 @@ public class FoodCombo {
private Long fid; //食品ID private Long fid; //食品ID
private int comId;//套餐ID private int comId;//套餐ID
// private String defmodifier;
// private String excmodifier;
// /** // /**
// * 自定義字段 // * 自定義字段
// */ // */
...@@ -67,6 +69,10 @@ public class FoodCombo { ...@@ -67,6 +69,10 @@ public class FoodCombo {
@Generated(hash = 1913989231)
public FoodCombo() {
}
@Generated(hash = 34188725) @Generated(hash = 34188725)
public FoodCombo(Long id, Long fid, int comId) { public FoodCombo(Long id, Long fid, int comId) {
this.id = id; this.id = id;
...@@ -74,10 +80,6 @@ public class FoodCombo { ...@@ -74,10 +80,6 @@ public class FoodCombo {
this.comId = comId; this.comId = comId;
} }
@Generated(hash = 1913989231)
public FoodCombo() {
}
public Long getId() { public Long getId() {
return this.id; return this.id;
} }
...@@ -102,6 +104,4 @@ public class FoodCombo { ...@@ -102,6 +104,4 @@ public class FoodCombo {
this.comId = comId; this.comId = comId;
} }
} }
...@@ -207,7 +207,9 @@ public class Modifier { ...@@ -207,7 +207,9 @@ public class Modifier {
/** /**
* 自定義字段 * 自定義字段
*/ */
/**當前食品ID*/ /**
* 當前食品ID
*/
@Transient @Transient
private long fid; private long fid;
@Transient @Transient
...@@ -222,12 +224,16 @@ public class Modifier { ...@@ -222,12 +224,16 @@ public class Modifier {
@Transient @Transient
/**最大選中數*/ /**最大選中數*/
private int maxNumber = 99; private int maxNumber = 99;
/**默認選中數*/
@Transient
private String defmodifier = "0";
@Transient @Transient
/**是否選中*/ /**是否選中*/
private boolean selected; private boolean selected;
@Transient @Transient
/**是否細項組返回按鈕*/ /**是否細項組返回按鈕*/
private boolean isReturn; private boolean isReturn = false;
@Generated(hash = 869528398) @Generated(hash = 869528398)
...@@ -300,6 +306,7 @@ public class Modifier { ...@@ -300,6 +306,7 @@ public class Modifier {
} }
public Long getDbid() { public Long getDbid() {
return dbid; return dbid;
} }
...@@ -762,4 +769,13 @@ public class Modifier { ...@@ -762,4 +769,13 @@ public class Modifier {
public void setPId(String pId) { public void setPId(String pId) {
this.pId = pId; this.pId = pId;
} }
public String getDefmodifier() {
return defmodifier;
}
public void setDefmodifier(String defmodifier) {
this.defmodifier = defmodifier;
}
} }
...@@ -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 14): knows all DAOs. * Master of DAO (schema version 1): knows all DAOs.
*/ */
public class DaoMaster extends AbstractDaoMaster { public class DaoMaster extends AbstractDaoMaster {
public static final int SCHEMA_VERSION = 14; public static final int SCHEMA_VERSION = 1;
/** 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) {
......
...@@ -24,7 +24,7 @@ public class FoodDao extends AbstractDao<Food, Long> { ...@@ -24,7 +24,7 @@ public class FoodDao extends AbstractDao<Food, Long> {
* Can be used for QueryBuilder and for referencing column names. * Can be used for QueryBuilder and for referencing column names.
*/ */
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, "FID");
public final static Property ParentId = new Property(1, Long.class, "parentId", false, "PARENT_ID"); public final static Property ParentId = new Property(1, Long.class, "parentId", false, "PARENT_ID");
public final static Property RestaurantId = new Property(2, Long.class, "restaurantId", false, "RESTAURANT_ID"); public final static Property RestaurantId = new Property(2, Long.class, "restaurantId", false, "RESTAURANT_ID");
public final static Property IsParent = new Property(3, Byte.class, "isParent", false, "IS_PARENT"); public final static Property IsParent = new Property(3, Byte.class, "isParent", false, "IS_PARENT");
...@@ -106,7 +106,7 @@ public class FoodDao extends AbstractDao<Food, Long> { ...@@ -106,7 +106,7 @@ public class FoodDao extends AbstractDao<Food, Long> {
public static void createTable(Database db, boolean ifNotExists) { public static void createTable(Database db, boolean ifNotExists) {
String constraint = ifNotExists? "IF NOT EXISTS ": ""; String constraint = ifNotExists? "IF NOT EXISTS ": "";
db.execSQL("CREATE TABLE " + constraint + "\"FOOD\" (" + // db.execSQL("CREATE TABLE " + constraint + "\"FOOD\" (" + //
"\"_id\" INTEGER PRIMARY KEY AUTOINCREMENT ," + // 0: id "\"FID\" INTEGER PRIMARY KEY AUTOINCREMENT ," + // 0: id
"\"PARENT_ID\" INTEGER," + // 1: parentId "\"PARENT_ID\" INTEGER," + // 1: parentId
"\"RESTAURANT_ID\" INTEGER," + // 2: restaurantId "\"RESTAURANT_ID\" INTEGER," + // 2: restaurantId
"\"IS_PARENT\" INTEGER," + // 3: isParent "\"IS_PARENT\" INTEGER," + // 3: isParent
......
...@@ -162,14 +162,16 @@ public class ComboItemDaoUtils { ...@@ -162,14 +162,16 @@ public class ComboItemDaoUtils {
ArrayList<ComboItem> comboItems = new ArrayList<>(); ArrayList<ComboItem> comboItems = new ArrayList<>();
String sql = "SELECT c.*,f.FOOD_NAME,f.FOOD_NAME1,f.FOOD_NAME2,f.PRICE,f.AUTO_MOD FROM COMBO_ITEM c join FOOD f on c.FID=f._id and f.INVISIBLE=0 join FOOD_COMBO r on r.COM_ID=c.COM_ID "; // String sql = "SELECT c.*,f.FOOD_NAME,f.FOOD_NAME1,f.FOOD_NAME2,f.PRICE,f.AUTO_MOD FROM COMBO_ITEM c join FOOD f on c.FID=f.FID and f.INVISIBLE=0 join FOOD_COMBO r on r.COM_ID=c.COM_ID ";
String sql = "SELECT c.*,f.FOOD_NAME,f.FOOD_NAME1,f.FOOD_NAME2,f.PRICE,f.AUTO_MOD FROM COMBO_ITEM c join FOOD f on c.FID=f.FID and f.INVISIBLE=0 join FOOD_COMBO r on r.COM_ID=c.COM_ID ";
if (fid > 0) { if (fid > 0) {
sql = sql + " where r.FID='" + fid + "'"; sql = sql + " where r.FID='" + fid + "'";
} }
Cursor c = mManager.getDaoSession().getFoodDao().getDatabase().rawQuery(sql, null); Cursor c = mManager.getDaoSession().getFoodDao().getDatabase().rawQuery(sql, null);
while (c.moveToNext()) { while (c.moveToNext()) {
ComboItem order = new ComboItem(); ComboItem order = new ComboItem();
order.setFid(c.getLong(c.getColumnIndex("_id"))); order.setFid(c.getLong(c.getColumnIndex("FID")));
order.setComId(c.getLong(c.getColumnIndex("COM_ID"))); order.setComId(c.getLong(c.getColumnIndex("COM_ID")));
order.setPrice(c.getDouble(c.getColumnIndex("PRICE"))); order.setPrice(c.getDouble(c.getColumnIndex("PRICE")));
order.setSeqNo(c.getLong(c.getColumnIndex("SEQ_NO"))); order.setSeqNo(c.getLong(c.getColumnIndex("SEQ_NO")));
......
...@@ -34,6 +34,7 @@ public class ModifierDaoUtils { ...@@ -34,6 +34,7 @@ public class ModifierDaoUtils {
public static final int modifierMode_Msg = 702; public static final int modifierMode_Msg = 702;
public static final int modifierMode_Add_2 = 703; //二级下的mod_taste=1 public static final int modifierMode_Add_2 = 703; //二级下的mod_taste=1
public static final int modifierMode_Msg_2 = 704; //二级下的mod_msg=1 public static final int modifierMode_Msg_2 = 704; //二级下的mod_msg=1
public static final int modifierMode_Child = 705; //isPatent=1內的子項
public ModifierDaoUtils(Context context) { public ModifierDaoUtils(Context context) {
...@@ -289,13 +290,12 @@ public class ModifierDaoUtils { ...@@ -289,13 +290,12 @@ public class ModifierDaoUtils {
} }
public List<Modifier> queryModifiersByFid(long fid, int mode) { public List<Modifier> queryModifiersByFid(long fid, int mode) {
QueryBuilder<Modifier> queryBuilder = mManager.getDaoSession().queryBuilder(Modifier.class);
// String sql = " SELECT MODIFIER.mid,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,VISIBLE,MULTIPLE,IS_PARENT" + // String sql = " SELECT MODIFIER.mid,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,VISIBLE,MULTIPLE,IS_PARENT" +
// " FROM MODIFIER join FOOD_MODIFIER on MODIFIER.MID=FOOD_MODIFIER.MID where MODIFIER.VISIBLE=0 and FOOD_MODIFIER.FID='" + fid + "' order by FOOD_MODIFIER.seq,MODIFIER.SEQ_NO"; // " FROM MODIFIER join FOOD_MODIFIER on MODIFIER.MID=FOOD_MODIFIER.MID where MODIFIER.VISIBLE=0 and FOOD_MODIFIER.FID='" + fid + "' order by FOOD_MODIFIER.seq,MODIFIER.SEQ_NO";
String sql = " SELECT MODIFIER.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,VISIBLE,MULTIPLE,IS_PARENT" + String sql = " SELECT MODIFIER.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,VISIBLE,MULTIPLE,IS_PARENT" +
" FROM MODIFIER join FOOD_MODIFIER on MODIFIER.MID=FOOD_MODIFIER.MID where MODIFIER.INVISIBLE=0 and FOOD_MODIFIER.FID='" + fid + "' order by FOOD_MODIFIER.SEQ_NO,MODIFIER.SEQ_NO"; " FROM MODIFIER join FOOD_MODIFIER fm on MODIFIER.MID=FOOD_MODIFIER.MID where MODIFIER.INVISIBLE=0 and FOOD_MODIFIER.FID='" + fid + "' order by FOOD_MODIFIER.SEQ_NO,MODIFIER.SEQ_NO";
List<Modifier> mfs_child = new ArrayList<>(); List<Modifier> mfs_child = new ArrayList<>();
...@@ -307,14 +307,14 @@ public class ModifierDaoUtils { ...@@ -307,14 +307,14 @@ public class ModifierDaoUtils {
switch (mode) { switch (mode) {
case modifierMode_All: case modifierMode_All:
sqlstr = " SELECT MODIFIER.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,VISIBLE,MULTIPLE,IS_PARENT" + sqlstr = " SELECT MODIFIER.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,VISIBLE,MULTIPLE,IS_PARENT,DEFMODIFIER" +
" FROM MODIFIER join FOOD_MODIFIER on MODIFIER.TOP_ID=FOOD_MODIFIER.MID where MODIFIER.INVISIBLE=0 and MODIFIER.IS_PARENT=1 and FOOD_MODIFIER.FID='" + fid + "' order by FOOD_MODIFIER.SEQ_NO,MODIFIER.SEQ_NO"; " FROM MODIFIER join FOOD_MODIFIER on MODIFIER.TOP_ID=FOOD_MODIFIER.MID where MODIFIER.INVISIBLE=0 and MODIFIER.IS_PARENT=1 and FOOD_MODIFIER.FID='" + fid + "' order by FOOD_MODIFIER.SEQ_NO,MODIFIER.SEQ_NO";
mfs_child1 = query_modifier_Child_new(sqlstr, fid); mfs_child1 = query_modifier_Child_new(sqlstr, fid);
List<Modifier> mfs_child2 = new ArrayList<>(); List<Modifier> mfs_child2 = new ArrayList<>();
sqlstr = " SELECT MODIFIER.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,VISIBLE,MULTIPLE,IS_PARENT" + sqlstr = " SELECT MODIFIER.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,VISIBLE,MULTIPLE,IS_PARENT,DEFMODIFIER" +
" FROM MODIFIER join FOOD_MODIFIER on MODIFIER.TOP_ID=FOOD_MODIFIER.MID where MODIFIER.INVISIBLE=0 and MODIFIER.IS_PARENT=0 and FOOD_MODIFIER.FID='" + fid + "' order by FOOD_MODIFIER.SEQ_NO,MODIFIER.SEQ_NO"; " FROM MODIFIER join FOOD_MODIFIER on MODIFIER.TOP_ID=FOOD_MODIFIER.MID where MODIFIER.INVISIBLE=0 and MODIFIER.IS_PARENT=0 and FOOD_MODIFIER.FID='" + fid + "' order by FOOD_MODIFIER.SEQ_NO,MODIFIER.SEQ_NO";
mfs_child2 = query_modifier_Child_new(sqlstr, fid); mfs_child2 = query_modifier_Child_new(sqlstr, fid);
...@@ -337,6 +337,10 @@ public class ModifierDaoUtils { ...@@ -337,6 +337,10 @@ public class ModifierDaoUtils {
// sqlstr = " topid='" + fid + "' and visible=0"; // sqlstr = " topid='" + fid + "' and visible=0";
// mfs_child1 = query_modifier_Child(sqlstr, fid); // mfs_child1 = query_modifier_Child(sqlstr, fid);
// break; // break;
case modifierMode_Child:
sqlstr = " topid='" + fid + "' and visible=0";
// mfs_child1 = query_modifier_Child(sqlstr, fid);
break;
} }
// mfs_child.addAll(fms1); // mfs_child.addAll(fms1);
...@@ -364,6 +368,7 @@ public class ModifierDaoUtils { ...@@ -364,6 +368,7 @@ public class ModifierDaoUtils {
order.setModMsg(c.getLong(c.getColumnIndex("MOD_MSG"))); order.setModMsg(c.getLong(c.getColumnIndex("MOD_MSG")));
order.setModTaste(c.getLong(c.getColumnIndex("MOD_TASTE"))); order.setModTaste(c.getLong(c.getColumnIndex("MOD_TASTE")));
order.setMultiple(c.getDouble(c.getColumnIndex("MULTIPLE"))); order.setMultiple(c.getDouble(c.getColumnIndex("MULTIPLE")));
// order.setDefmodifier(c.getString(c.getColumnIndex("DEFMODIFIER")));
// if (order.isVisible()) { // if (order.isVisible()) {
modifiers.add(order); modifiers.add(order);
// } // }
......
...@@ -96,6 +96,8 @@ public interface MealStandContract { ...@@ -96,6 +96,8 @@ public interface MealStandContract {
void setMealRvScrollToPosition(int position); void setMealRvScrollToPosition(int position);
Activity getActivity(); Activity getActivity();
void setModifierTop(int Margins);
} }
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存 //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
...@@ -115,7 +117,7 @@ public interface MealStandContract { ...@@ -115,7 +117,7 @@ public interface MealStandContract {
List<Food> queryDB_FoodList(long parentId); List<Food> queryDB_FoodList(long parentId);
List<Modifier> queryDB_ModifierList(long fid); List<Modifier> queryDB_ModifierList(long fid,int mode);
List<ComboItem> queryDB_ComboList(long fid); List<ComboItem> queryDB_ComboList(long fid);
......
...@@ -65,6 +65,45 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model ...@@ -65,6 +65,45 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model
this.mApplication = null; this.mApplication = null;
} }
@Override
public List<Food> queryDB_FoodGroupList() {
FoodDaoUtils foodDaoUtils = new FoodDaoUtils(mApplication);
List<Food> foods = foodDaoUtils.queryFoodGroupByQueryBuilder();
return foods;
}
@Override
public List<Food> queryDB_FoodList(long parentId) {
FoodDaoUtils foodDaoUtils = new FoodDaoUtils(mApplication);
List<Food> foods = foodDaoUtils.queryFoodByQueryBuilder(parentId);
return foods;
}
@Override
public List<Modifier> queryDB_ModifierList(long fid,int mode) {
ModifierDaoUtils daoUtils = new ModifierDaoUtils(mApplication);
return daoUtils.queryModifiersByFid(fid,mode);
}
@Override
public List<ComboItem> queryDB_ComboList(long fid) {
ComboItemDaoUtils comboItemDao = new ComboItemDaoUtils(mApplication);
List<ComboItem> foodCombo = comboItemDao.queryComboItemsByFidQueryBuilder(fid);
return foodCombo;
}
@Override
public List<FoodCombo> isComboFood(long fid) {
FoodComboDaoUtils foodComboDaoUtils = new FoodComboDaoUtils(mApplication);
return foodComboDaoUtils.queryCombosFoodsByQueryBuilder(fid);
}
@Override
public List<FoodModifier> queryDB_FoodModifierList(long fid) {
return null;
}
@Override @Override
public Observable<BaseRespose> loadOrder(int orderId) { public Observable<BaseRespose> loadOrder(int orderId) {
return mRepositoryManager.obtainRetrofitService(MealService.class) return mRepositoryManager.obtainRetrofitService(MealService.class)
...@@ -105,45 +144,6 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model ...@@ -105,45 +144,6 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model
} }
@Override @Override
public List<Food> queryDB_FoodGroupList() {
FoodDaoUtils foodDaoUtils = new FoodDaoUtils(mApplication);
List<Food> foods = foodDaoUtils.queryFoodGroupByQueryBuilder();
return foods;
}
@Override
public List<Food> queryDB_FoodList(long parentId) {
FoodDaoUtils foodDaoUtils = new FoodDaoUtils(mApplication);
List<Food> foods = foodDaoUtils.queryFoodByQueryBuilder(parentId);
return foods;
}
@Override
public List<Modifier> queryDB_ModifierList(long fid) {
ModifierDaoUtils daoUtils = new ModifierDaoUtils(mApplication);
return daoUtils.queryModifiersByFid(fid,ModifierDaoUtils.modifierMode_All);
}
@Override
public List<ComboItem> queryDB_ComboList(long fid) {
ComboItemDaoUtils comboItemDao = new ComboItemDaoUtils(mApplication);
List<ComboItem> foodCombo = comboItemDao.queryComboItemsByFidQueryBuilder(fid);
return foodCombo;
}
@Override
public List<FoodCombo> isComboFood(long fid) {
FoodComboDaoUtils foodComboDaoUtils = new FoodComboDaoUtils(mApplication);
return foodComboDaoUtils.queryCombosFoodsByQueryBuilder(fid);
}
@Override
public List<FoodModifier> queryDB_FoodModifierList(long fid) {
return null;
}
@Override
public Observable<BaseResult> updateOrderStatus(RequestBody formBody) { public Observable<BaseResult> updateOrderStatus(RequestBody formBody) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class) return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.updateOrderStatus(formBody); .updateOrderStatus(formBody);
......
...@@ -162,6 +162,10 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -162,6 +162,10 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
mOrderContentActivity.initOrderDetail(); mOrderContentActivity.initOrderDetail();
} }
} }
@Override
public void onCurrentOrderDetail(OrderDetail datasBean, int position) {
}
}); });
} }
...@@ -297,7 +301,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas ...@@ -297,7 +301,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
for (OrderDetail food : foodList) { for (OrderDetail food : foodList) {
OrderBean.OrderDetailsBean request = new OrderBean.OrderDetailsBean(); OrderBean.OrderDetailsBean request = new OrderBean.OrderDetailsBean();
request.setProductName(food.getProductName()); request.setProductName(food.getProductName());
request.setProductId(food.getId()); request.setProductId(food.getProductId());
request.setParentId(food.getParentId()); request.setParentId(food.getParentId());
request.setNumber(food.getNumber()); request.setNumber(food.getNumber());
request.setPrice(food.getPrice()); request.setPrice(food.getPrice());
......
...@@ -17,6 +17,7 @@ import com.gingersoft.gsa.cloud.database.bean.FoodCombo; ...@@ -17,6 +17,7 @@ import com.gingersoft.gsa.cloud.database.bean.FoodCombo;
import com.gingersoft.gsa.cloud.database.bean.Food; import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.Modifier; import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils; import com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract; import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose; import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
...@@ -169,6 +170,11 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -169,6 +170,11 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
@Override @Override
public void onMealCountAdd(OrderDetail datasBean, int position) { public void onMealCountAdd(OrderDetail datasBean, int position) {
} }
@Override
public void onCurrentOrderDetail(OrderDetail datasBean, int position) {
mCurrentOrderDetailBean = datasBean;
}
}); });
mFoodAdapter.setOnItemClickListener(new FoodAdapter.OnItemClickListener() { mFoodAdapter.setOnItemClickListener(new FoodAdapter.OnItemClickListener() {
...@@ -180,6 +186,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -180,6 +186,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
} }
RvMealClicked = false; RvMealClicked = false;
mCurrentOrderDetailBean = OrderDetail.foodTransOrderDetails(datasBean, 1); mCurrentOrderDetailBean = OrderDetail.foodTransOrderDetails(datasBean, 1);
loadComboData(mCurrentOrderDetailBean, false);
addFoodItemBefore(mCurrentOrderDetailBean); addFoodItemBefore(mCurrentOrderDetailBean);
updateOrderFoodNumber(); updateOrderFoodNumber();
} }
...@@ -199,7 +206,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -199,7 +206,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
// } // }
//设置当前操作的套餐细项 //设置当前操作的套餐细项
mCurrentOrderDetailBean = OrderDetail.comboTransOrderDetail(datasBean, 1, mCurrentOrderDetailBean.getId(), "combo", RvMealClicked); mCurrentOrderDetailBean = OrderDetail.comboTransOrderDetail(datasBean, mCurrentOrderDetailBean.getId(),1, "combo", RvMealClicked);
//先清除上一次选择的子项最大数 //先清除上一次选择的子项最大数
// mModel.clearComboQty(); // mModel.clearComboQty();
//添加子项 //添加子项
...@@ -223,15 +230,17 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -223,15 +230,17 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
// addModalKeyBoardModfier(datasBean.getModifier()); // addModalKeyBoardModfier(datasBean.getModifier());
// displayModalKeyBoardDialog(); // displayModalKeyBoardDialog();
// } else { // } else {
addModifierItem(datasBean); // if (datasBean.isParent()) {
// loadModifierData(mCurrentOrderDetailBean.getProductId());
// } else {
addModifierItem(datasBean);
// }
} }
}); });
} }
private void addFoodItemBefore(OrderDetail datasBean) { private void addFoodItemBefore(OrderDetail datasBean) {
loadComboData(mCurrentOrderDetailBean, false);
int addPosition = addFoodItem(datasBean); int addPosition = addFoodItem(datasBean);
//这里主食品作为选中主体 //这里主食品作为选中主体
...@@ -242,24 +251,28 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -242,24 +251,28 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
int addPosition = mSelectMealAdapter.addFoodItem(orderDetail); int addPosition = mSelectMealAdapter.addFoodItem(orderDetail);
// if (orderDetail.getComboLevel() > 0) { if (orderDetail.getComboLevel() > 0) {
// //自动添加组合子食品 //自动添加组合子食品
// if (mCurrentFoodComboList != null && mCurrentFoodComboList.size() > 0) { if (mFoodComboList != null && mFoodComboList.size() > 0) {
// for (int i = 0; i < mCurrentFoodComboList.size(); i++) { for (int i = 0; i < mFoodComboList.size(); i++) {
// ComboItem foodComboItem = mCurrentFoodComboList.get(i); ComboItem foodComboItem = mFoodComboList.get(i);
// mCurrentOrderDetailBean = OrderDetail.comboTransOrderDetail(foodComboItem, 1, mCurrentOrderDetailBean.getId(),"combo", RvMealClicked); int defNumber = Integer.parseInt(foodComboItem.getDefmodifier());
// addPosition = addComboItem(mCurrentOrderDetailBean); if (defNumber != 0) {
// } mCurrentOrderDetailBean = OrderDetail.comboTransOrderDetail(foodComboItem, mCurrentOrderDetailBean.getId(), defNumber, "combo", RvMealClicked);
// } addPosition = addComboItem(mCurrentOrderDetailBean);
// } }
}
}
}
// if (mAutoModifierList != null && mAutoModifierList.size() > 0) { //自动添加mixqty>1細項
// //自动添加mixqty>1細項 for (int i = 0; i < mModifierList.size(); i++) {
// for (int i = 0; i < mAutoModifierList.size(); i++) { Modifier modfier = mModifierList.get(i);
// Modifier.DatasBean modfier = mAutoModifierList.get(i); int defNumber = Integer.parseInt(modfier.getDefmodifier());
// mSelectMealAdapter.addFoodItem(myOrderManage.modifierConvertOrderDetail(modfier)); if (defNumber != 0) {
// } addPosition = mSelectMealAdapter.addFoodItem(OrderDetail.modifierTransOrderDetail(modfier,mCurrentOrderDetailBean.getId(), defNumber));
// } }
}
return addPosition; return addPosition;
} }
...@@ -272,7 +285,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -272,7 +285,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
@Subscriber(tag = MealConstant.ADD_FOOD_MODIFIER) @Subscriber(tag = MealConstant.ADD_FOOD_MODIFIER)
private void addModifierItem(Modifier datasBean) { private void addModifierItem(Modifier datasBean) {
mCurrentOrderDetailBean = OrderDetail.modifierTransOrderDetail(datasBean, 1); mCurrentOrderDetailBean = OrderDetail.modifierTransOrderDetail(datasBean,mCurrentOrderDetailBean.getId(), 1);
int addPosition = mSelectMealAdapter.addFoodItem(mCurrentOrderDetailBean); int addPosition = mSelectMealAdapter.addFoodItem(mCurrentOrderDetailBean);
mRootView.setMealRvScrollToPosition(addPosition); mRootView.setMealRvScrollToPosition(addPosition);
} }
...@@ -287,38 +300,16 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -287,38 +300,16 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
List<ComboItem> comboItems = mModel.queryDB_ComboList(fid); List<ComboItem> comboItems = mModel.queryDB_ComboList(fid);
comboItemList.addAll(comboItems); comboItemList.addAll(comboItems);
} }
List<Modifier> modifierList = mModel.queryDB_ModifierList(fid, ModifierDaoUtils.modifierMode_All);
List<Modifier> modifierList = mModel.queryDB_ModifierList(fid);
// for (int i = 0; i < modifierList.size(); i++) {
// Modifier modfier = modifierList.get(i);
// /**
// * 这里套餐细项和备注使用同一个rv显示,统一数据源
// */
// {
// //设置备注细项背景、字体颜色
// modfier.setBgColor(Color.parseColor("#ffeb3b"));
//
// ComboItem foodComboItem = new ComboItem();
// foodComboItem.setModifier(true);
//// if (modfier.isParent()) {
//// foodComboItem.setModKeyboard(modfier.isModKeyboard());
//// }
// foodComboItem.setModifier(modfier);
//
// mCurrentFoodComboList.add(foodComboItem);
// }
// }
//更新套餐数据 //更新套餐数据
updateComboData(comboItemList); updateComboData(comboItemList);
//更新细项数据 //更新细项数据
updateModifierData(modifierList); updateModifierData(modifierList);
if (comboItemList.size() > 0) { if (comboItemList.size() > 0) {
IActivity.setModifierTop(10); mRootView.setModifierTop(10);
} else { } else {
IActivity.setModifierTop(0); mRootView.setModifierTop(0);
} }
// if (food.getAutoMod() == 1) { // if (food.getAutoMod() == 1) {
...@@ -328,6 +319,13 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -328,6 +319,13 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
// } // }
} }
private void loadModifierData(long fid) {
List<Modifier> modifierList = mModel.queryDB_ModifierList(fid, ModifierDaoUtils.modifierMode_Child);
updateModifierData(modifierList);
}
public void createOrder() { public void createOrder() {
OrderRequest request = getCreateOrderRequest(getNewOrderFoodLists()); OrderRequest request = getCreateOrderRequest(getNewOrderFoodLists());
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), JsonUtils.toJson(request)); RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), JsonUtils.toJson(request));
......
...@@ -1028,6 +1028,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen ...@@ -1028,6 +1028,7 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
} }
} }
@Override
public void setModifierTop(int Margins) { public void setModifierTop(int Margins) {
RelativeLayout.LayoutParams layoutParam = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); RelativeLayout.LayoutParams layoutParam = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
layoutParam.setMargins(0, Margins, 0, 0); layoutParam.setMargins(0, Margins, 0, 0);
......
...@@ -626,7 +626,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -626,7 +626,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
private void setItemNo(OrderDetail foodBean) { private void setItemNo(OrderDetail foodBean) {
switch (foodBean.getItemType()) { switch (foodBean.getItemType()) {
case 1: case 1:
// foodBean.setParentId(foodBean.getProductId()); // foodBean.setTopId(foodBean.getProductId());
break; break;
case 2: case 2:
case 3: case 3:
...@@ -640,7 +640,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -640,7 +640,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
} }
} }
} }
foodBean.setParentId(itemno); foodBean.setTopId(itemno);
break; break;
default: default:
break; break;
...@@ -871,6 +871,9 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -871,6 +871,9 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
select_start_position = mainStartPos; select_start_position = mainStartPos;
select_end_position = mainEndPos; select_end_position = mainEndPos;
if(mOnItemClickListener != null){
mOnItemClickListener.onCurrentOrderDetail(mInfos.get(select_position),select_position);
}
notifyDataSetChanged(); notifyDataSetChanged();
} }
...@@ -961,6 +964,8 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -961,6 +964,8 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
void onMealCountDelete(OrderDetail datasBean, int position); void onMealCountDelete(OrderDetail datasBean, int position);
void onMealCountAdd(OrderDetail datasBean, int position); void onMealCountAdd(OrderDetail datasBean, int position);
void onCurrentOrderDetail(OrderDetail datasBean, int position);
} }
} }
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