Commit fd30c52f by Wyh

Merge remote-tracking branch 'origin/master'

parents 0715edf7 28b1c416
......@@ -16,10 +16,10 @@ dependencies {
implementation project(':arms')
}
//
// if (project.name != 'qm-qmui' && project.name != 'arms') {
if (project.name != 'arms') {
// implementation project(':qm-qmui')
implementation rootProject.ext.dependencies["qmui"]
if (project.name != 'qm-qmui' && project.name != 'arms') {
// if (project.name != 'arms') {
implementation project(':qm-qmui')
// implementation rootProject.ext.dependencies["qmui"]
}
implementation rootProject.ext.dependencies["retrofit-url-manager"]
annotationProcessor rootProject.ext.dependencies["butterknife-compiler"]
......
......@@ -5,7 +5,7 @@ import android.content.Context;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.FoodBean;
import com.gingersoft.gsa.cloud.base.utils.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils;
import com.gingersoft.gsa.cloud.download.mvp.model.bean.ComboItemRespone;
......
......@@ -9,11 +9,9 @@ import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.FoodBean;
import com.gingersoft.gsa.cloud.base.utils.CommonConfiguration;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.base.utils.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.bean.Function;
import com.gingersoft.gsa.cloud.database.greendao.DiscountDao;
import com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.DiscountDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.FoodComboDaoUtils;
......
......@@ -2,7 +2,7 @@ package com.gingersoft.gsa.cloud.main.mvp.presenter;
import android.app.Application;
import com.gingersoft.gsa.cloud.base.utils.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.main.mvp.contract.HomeContract;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.MainBusinessBean;
......
......@@ -2,7 +2,7 @@ package com.gingersoft.gsa.cloud.main.mvp.presenter;
import android.app.Application;
import com.gingersoft.gsa.cloud.base.utils.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.main.mvp.contract.PaymentMethodReportContract;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.PaymentMethodBean;
......
......@@ -37,6 +37,7 @@ import com.gingersoft.gsa.cloud.main.mvp.ui.fragment.MainTopFragment;
import com.gingersoft.gsa.cloud.main.mvp.ui.view.SlidingMenu;
import com.gingersoft.gsa.cloud.ui.bean.mode.LoginBean;
import com.gingersoft.gsa.cloud.ui.widget.dialog.ChooseRestaurantDialog;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
import com.jess.arms.base.BaseActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
......@@ -214,6 +215,7 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
functions.add(new Function((long) 144, 151, 5, "打印管理", R.drawable.ic_print_management, 0));
functions.add(new Function((long) 145, 151, 5, "支付管理", R.drawable.ic_pay_management_close, 1));
functions.add(new Function((long) 146, 151, 5, "折扣管理", R.drawable.ic_discount_management_close, 1));
functions.add(new Function((long) 147, 151, 5, "沽清管理", R.drawable.ic_meals_menu_management, 0));
functions.add(new Function((long) 152, 0, 5, "員工", 0, 0));
functions.add(new Function((long) 147, 152, 5, "員工管理", R.drawable.ic_staff_management_close, 1));
......@@ -282,6 +284,11 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
.setActionName("orderActivity")
.build()
.call();
} else if (name.equals("沽清管理")) {
CC.obtainBuilder("Component.Table")
.setActionName("showSoldoutCtrlActivity")
.build()
.call();
}
}
......@@ -400,7 +407,7 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
public void onClick(View v) {
if (v.getId() == R.id.layout_login_out) {
//登出
mPresenter.loginOut();
CommonTipDialog.showDoubtDialog(this, "退出登錄?", NewMainPresenter.class, mPresenter, "loginOut", null, null);
} else if (v.getId() == R.id.iv_personal_center) {
slideMenu.toggle();
} else if (v.getId() == R.id.tv_restaurant_name) {
......
......@@ -22,7 +22,7 @@ import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.base.utils.PrintTransitUtils;
import com.gingersoft.gsa.cloud.base.utils.constans.Constans;
import com.gingersoft.gsa.cloud.constans.Constans;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtil;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
......
ext.alwaysLib = true //虽然apply了cc-settings-2.gradle,但一直作为library编译,否则别的组件依赖此module时会报错
apply from: rootProject.file("cc-settings.gradle")
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-android'
apply from: rootProject.file('cc-settings.gradle')
apply plugin: 'com.jakewharton.butterknife'
android {
......@@ -55,5 +52,5 @@ dependencies {
testImplementation rootProject.ext.dependencies["junit"]
implementation rootProject.ext.dependencies["BaseRecyclerViewAdapter"]
implementation "androidx.core:core-ktx:+"
// implementation "androidx.core:core-ktx:+"
}
......@@ -3,11 +3,9 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.gingersoft.gsa.cloud.manager">
<uses-permission android:name="android.permission.INTERNET" />
<application>
<!-- arms配置 -->
<meta-data
android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
android:value="ConfigModule" />
</application>
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
\ No newline at end of file
......@@ -2,32 +2,32 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gingersoft.gsa.cloud.manager">
<!-- <application-->
<!-- android:name="com.gingersoft.gsa.cloud.base.application.GsaCloudApplication"-->
<!-- 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">-->
<application
android:name="com.gingersoft.gsa.cloud.base.application.GsaCloudApplication"
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配置 -->
<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="540" />
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- <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="540" />-->
<!-- </application>-->
<!-- <uses-permission android:name="android.permission.INTERNET" />-->
<!-- <uses-permission android:name="android.permission.WAKE_LOCK" />-->
<!-- <uses-permission android:name="android.permission.READ_PHONE_STATE" />-->
<!-- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />-->
<!-- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />-->
<!-- <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />-->
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
</manifest>
package com.gingersoft.gsa.cloud.table;
package com.gingersoft.gsa.cloud.manager;
import com.billy.cc.core.component.CC;
import com.billy.cc.core.component.CCResult;
import com.billy.cc.core.component.CCUtil;
import com.billy.cc.core.component.IComponent;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderCenterActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderPayActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity;
public class ComponentTable implements IComponent {
public class ComponentManager implements IComponent {
@Override
public String getName() {
......@@ -30,11 +26,8 @@ public class ComponentTable implements IComponent {
public boolean onCall(CC cc) {
String actionName = cc.getActionName();
switch (actionName) {
case "showOrderManagerActivity":
openOrderManagerActivity(cc);
break;
case "showTagManagerActivity":
openTagManagerActivity(cc);
case "showSoldoutCtrlActivity":
openSoldoutCtrlActivity(cc);
break;
default:
//这个逻辑分支上没有调用CC.sendCCResult(...),是一种错误的示例
......@@ -45,14 +38,10 @@ public class ComponentTable implements IComponent {
return false;
}
private void openOrderManagerActivity(CC cc) {
// CCUtil.navigateTo(cc, TableActivity.class);
private void openSoldoutCtrlActivity(CC cc) {
// CCUtil.navigateTo(cc, SoldoutCtrlActivity.class);
// CC.sendCCResult(cc.getCallId(), CCResult.success());
}
private void openTagManagerActivity(CC cc) {
// CCUtil.navigateTo(cc, OrderPayActivity.class);
// CC.sendCCResult(cc.getCallId(), CCResult.success());
}
}
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);
//
// }
//
}
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="main_colorPrimary">#008577</color>
<color name="main_colorPrimaryDark">#00574B</color>
<color name="main_colorAccent">#D81B60</color>
<!-- 報表虛線顏色-->
<color name="report_dotted_line_color">#8CA0B3</color>
<color name="report_left_scale">#018EF2</color>
<!-- 報表“昨日”線條顏色-->
<color name="today_line">#FFCC8F</color>
<color name="payment_method_color1">#FF3F4E</color>
<color name="payment_method_color2">#8FC31F</color>
<color name="payment_method_color3">#F19EC2</color>
<color name="payment_method_color4">#EB6100</color>
<color name="payment_method_color5">#AA89BD</color>
<color name="payment_method_color6">#00A0E9</color>
<color name="payment_method_color7">#EFE75E</color>
<color name="payment_method_color8">#5358F1</color>
<color name="payment_method_color9">#ff2d51</color>
<color name="payment_method_color10">#426666</color>
<color name="payment_method_color11">#bce672</color>
<color name="payment_method_color12">#44cef6</color>
<color name="payment_method_color13">#ffa631</color>
<color name="payment_method_color14">#a3d900</color>
<color name="payment_method_color15">#f00056</color>
<color name="payment_method_color16">#bf242a</color>
<color name="payment_method_color17">#a1afc9</color>
<color name="payment_method_color18">#c89c23</color>
<color name="payment_method_color19">#e4c6d0</color>
<color name="payment_method_color20">#103371</color>
</resources>
<resources>
<dimen name="main_fab_margin">16dp</dimen>
<dimen name="main_recyclerview_marginLeft">@dimen/dp_15</dimen>
<dimen name="main_recyclerview_marginRight">@dimen/dp_15</dimen>
<dimen name="main_page_radius">@dimen/dp_12</dimen>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="main_home_refresh" type="id"/>
<item name="main_home_msg" type="id"/>
</resources>
\ No newline at end of file
......@@ -16,7 +16,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.utils.AidlUtil;
import com.gingersoft.gsa.cloud.base.utils.constans.Constans;
import com.gingersoft.gsa.cloud.constans.Constans;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils;
import com.gingersoft.gsa.cloud.base.utils.view.ImageUtils;
......
......@@ -8,7 +8,7 @@ import androidx.annotation.Nullable;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.gingersoft.gsa.cloud.base.utils.constans.Constans;
import com.gingersoft.gsa.cloud.constans.Constans;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
......
......@@ -11,7 +11,7 @@ import android.widget.Switch;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.gingersoft.gsa.cloud.base.utils.constans.Constans;
import com.gingersoft.gsa.cloud.constans.Constans;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
import com.jess.arms.base.BaseFragment;
import com.jess.arms.di.component.AppComponent;
......
......@@ -43,7 +43,7 @@ android {
/**
* 版本号
*/
schemaVersion 2
schemaVersion 4
/**
* greendao输出dao的数据库操作实体类文件夹(相对路径 包名+自定义路径名称,包将创建于包名的直接路径下)
*/
......
......@@ -4,7 +4,7 @@ import android.app.Dialog;
import android.view.View;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.utils.constans.Constans;
import com.gingersoft.gsa.cloud.constans.Constans;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
import com.gingersoft.gsa.cloud.base.widget.DialogUtils;
......
......@@ -20,9 +20,9 @@ import com.gingersoft.gsa.cloud.base.BuildConfig;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.common.bean.CurrentAndroidSetting;
import com.gingersoft.gsa.cloud.base.utils.AidlUtil;
import com.gingersoft.gsa.cloud.base.utils.constans.Constans;
import com.gingersoft.gsa.cloud.base.utils.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.base.utils.constans.UserConstans;
import com.gingersoft.gsa.cloud.constans.Constans;
import com.gingersoft.gsa.cloud.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.constans.UserConstans;
import com.gingersoft.gsa.cloud.base.utils.crash.AppCrashHandler;
import com.gingersoft.gsa.cloud.base.utils.file.FileUtils;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
......
......@@ -39,7 +39,7 @@ public class CurrentAndroidSetting {
private int LayoutQuitHeight = 40;
private int LayoutFoodTypeHeight = 100;
private int FoodBtnHeight = 120;
private int ModBtnHeight = 68;
private int ModBtnHeight = 75;
private int FoodTypeCol = 4;
private int FoodTypeRow = 1;
private int FoodCol = 4;
......
......@@ -33,6 +33,8 @@ public class OrderBean {
private double discountValue;
/**折扣類型*/
private int type;
/**折扣描述*/
private String remark;
/**
* 生成訂單時間
*/
......@@ -50,6 +52,7 @@ public class OrderBean {
this.discountAmount = orderBean.discountAmount;
this.discountValue = orderBean.discountValue;
this.type = orderBean.type;
this.remark = orderBean.remark;
this.createTime = orderBean.createTime;
}
......@@ -129,6 +132,14 @@ public class OrderBean {
this.type = type;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getCreateTime() {
return createTime;
}
......@@ -158,7 +169,7 @@ public class OrderBean {
* createTime : Jan 14, 2020 8:00:11 PM
* status : 0
*/
private int id;
private Long id;
private String productName;
private long productId;
//單價
......@@ -172,9 +183,18 @@ public class OrderBean {
private long parentId;
private long orderId;
/**
* 打印設定, 用逗號分隔, *=切紙
*/
private String printSeting;
/**
* 是否参与折扣#0:不參與;1:參與;
*/
private long ablediscount;
/**折扣ID*/
private Long discountId;
/**折扣實體*/
private RestaurantDiscountVO restaurantDiscountVO;
/**
* 自定義字段
*/
......@@ -199,11 +219,11 @@ public class OrderBean {
this.orderId = orderId;
}
public int getId() {
public Long getId() {
return id;
}
public void setId(int id) {
public void setId(Long id) {
this.id = id;
}
......@@ -295,6 +315,14 @@ public class OrderBean {
this.orderId = orderId;
}
public String getPrintSeting() {
return printSeting;
}
public void setPrintSeting(String printSeting) {
this.printSeting = printSeting;
}
public long getAblediscount() {
return ablediscount;
}
......@@ -303,6 +331,14 @@ public class OrderBean {
this.ablediscount = ablediscount;
}
public Long getDiscountId() {
return discountId;
}
public void setDiscountId(Long discountId) {
this.discountId = discountId;
}
public long getTopId() {
return topId;
}
......@@ -311,6 +347,14 @@ public class OrderBean {
this.topId = topId;
}
public RestaurantDiscountVO getRestaurantDiscountVO() {
return restaurantDiscountVO;
}
public void setRestaurantDiscountVO(RestaurantDiscountVO restaurantDiscountVO) {
this.restaurantDiscountVO = restaurantDiscountVO;
}
@Override
public String toString() {
return "OrderDetailsBean{" +
......@@ -320,13 +364,66 @@ public class OrderBean {
", price=" + price +
", lunchboxPrice=" + lunchboxPrice +
", number=" + number +
", createTime='" + createTime + '\'' +
", status=" + status +
", type=" + type +
", parentId=" + parentId +
", orderId=" + orderId +
", ablediscount=" + ablediscount +
", discountId=" + discountId +
", topId=" + topId +
", memberId=" + memberId +
'}';
}
public static class RestaurantDiscountVO implements Serializable{
private long id;
private int type;
private float discountValue;
private String remark;
private double discountAmount;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public float getDiscountValue() {
return discountValue;
}
public void setDiscountValue(float discountValue) {
this.discountValue = discountValue;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public double getDiscountAmount() {
return discountAmount;
}
public void setDiscountAmount(double discountAmount) {
this.discountAmount = discountAmount;
}
}
}
// public static List<OrderDetailsBean> transOrderDetails(List<Food> foods) {
......
......@@ -17,7 +17,7 @@ public class MoneyUtil {
// 總金額小數位
public static int rounding, RoundingDecimal;
// (直接截取) : 食品 細項 折扣 會員折扣 合計 服務費
public static int ItemDecimals = 1;
public static int ItemDecimals = 2;
public static double get_ItemDecimals_money(double money) {
double rMoney = money;
......
......@@ -2,7 +2,7 @@ package com.gingersoft.gsa.cloud.base.utils;
import android.content.Context;
import com.gingersoft.gsa.cloud.base.utils.constans.UserConstans;
import com.gingersoft.gsa.cloud.constans.UserConstans;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
/**
......
......@@ -5,7 +5,7 @@ import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Vibrator;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.utils.constans.AppConstans;
import com.gingersoft.gsa.cloud.constans.AppConstans;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
/**
......
......@@ -2,17 +2,10 @@ package com.gingersoft.gsa.cloud.base.utils.crash;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Build;
import android.os.Environment;
import android.os.Looper;
import android.telecom.Call;
import android.text.TextUtils;
import android.util.Base64;
import android.util.Log;
import android.view.View;
import android.widget.Toast;
import com.elvishew.xlog.XLog;
......@@ -20,44 +13,33 @@ import com.gingersoft.gsa.cloud.base.Api;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.base.utils.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.base.utils.file.FileUtils;
import com.gingersoft.gsa.cloud.base.utils.log.LogUtil;
import com.gingersoft.gsa.cloud.base.utils.okhttpUtils.OkHttp3Utils;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.jess.arms.utils.DeviceUtils;
import com.qmuiteam.qmui.util.QMUIDeviceHelper;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
import java.lang.Thread.UncaughtExceptionHandler;
import java.lang.reflect.Field;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import okhttp3.FormBody;
import okhttp3.RequestBody;
public class AppCrashHandler implements UncaughtExceptionHandler {
/**
......
package com.gingersoft.gsa.cloud.base.utils.okhttpUtils;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.utils.constans.AppConstans;
import com.gingersoft.gsa.cloud.constans.AppConstans;
import com.gingersoft.gsa.cloud.base.utils.encryption.Aes;
import com.jess.arms.utils.DeviceUtils;
......
package com.gingersoft.gsa.cloud.base.utils.constans;
package com.gingersoft.gsa.cloud.constans;
/**
* Created by Wyh on 2019/12/21.
......
package com.gingersoft.gsa.cloud.base.utils.constans;
package com.gingersoft.gsa.cloud.constans;
/**
* Created by Wyh on 2019/12/21.
......
package com.gingersoft.gsa.cloud.table.app;
package com.gingersoft.gsa.cloud.constans;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-01-08
* 修订历史:2020-01-08
* 创建日期:2020-04-27
* 修订历史:2020-04-27
* 描述:
*/
public interface GoldConstants {
......@@ -14,7 +14,7 @@ public interface GoldConstants {
int restaurantId = 26;
int refreshTime = 3;
// boolean isRefreshData = false;
// boolean isRefreshData = false;
int DetailColCount = 4;
int foodGriupColCount = 5;//食品組列數
......@@ -22,5 +22,4 @@ public interface GoldConstants {
int foodGriupColumns = 5;//食品組列數
int foodGriupPageSize = 10;//食品組最大顯示數
}
package com.gingersoft.gsa.cloud.base.utils.constans;
package com.gingersoft.gsa.cloud.constans;
/**
* Created by Wyh on 2019/12/21.
......@@ -8,6 +8,7 @@ public class HttpsConstans {
public static String ROOT_SERVER_ADDRESS_FORMAL = "http://a.ricepon.com:58201/ricepon-cloud-gsa/api/";
public static final String ROOT_SERVER_ADDRESS_FORMAL_SZ = "http://gingersoft.tpddns.cn:58201/ricepon-cloud-gsa/api/";// 深圳服务器
public static final String ROOT_SERVER_ADDRESS_FORMAL_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_ADDRESS_FORMAL2 = "http://gingersoft.tpddns.cn:53000/mock/49/ricepon-cloud-gsa/api/";//測試服務器
......
package com.gingersoft.gsa.cloud.table.mvp.model.constant;
package com.gingersoft.gsa.cloud.constans;
/**
* 作者:ELEGANT_BIN
......
package com.gingersoft.gsa.cloud.base.utils.constans;
package com.gingersoft.gsa.cloud.constans;
/**
* Created by Wyh on 2019/12/21.
......
......@@ -5,7 +5,9 @@ import android.graphics.Color;
import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.Property;
import java.util.Date;
import org.greenrobot.greendao.annotation.Generated;
import org.greenrobot.greendao.annotation.Transient;
......@@ -22,21 +24,55 @@ public class ComboItem {
/**
* ID
*/
// @Property(nameInDb = "_id")
// @Id(autoincrement = true)
// private Long id;
//
// private Long comId;
//
// private Long fid;
//
// private Long qty;
//
// private Double diffAmt;
//
// private Long seqNo;
//
// private Long visible;
//
// private Date createTime;
//
// private String createBy;
//
// private Date updateTime;
//
// private Long conditions;
//
// private Long isRT;
//
// private Byte deletes;
//
// private Long posId;
//
// private Long restaurant_id;
//
// private Byte isMainAccount;
@Property(nameInDb = "_id")
@Id(autoincrement = true)
private Long id;
private Long comId;
private long comId;
private Long fid;
private long fid;
private Long qty;
private long qty;
private Double diffAmt;
private double diffAmt;
private Long seqNo;
private long seqNo;
private Long visible;
private long visible;
private Date createTime;
......@@ -44,18 +80,17 @@ public class ComboItem {
private Date updateTime;
private Long conditions;
private Long isRT;
private long conditions;
private Byte deletes;
private long isRT;
private Long posId;
private byte deletes;
private Long restaurant_id;
private long posId;
private Byte isMainAccount;
private long restaurant_id;
private byte isMainAccount;
/**
* 自定義字段
......@@ -68,13 +103,19 @@ public class ComboItem {
private String name2;
@Transient
private long parentId;
/**套餐最大選擇數*/
/**
* 套餐最大選擇數
*/
@Transient
private int selectQty;
/**默認選中數*/
private int selectQty = 0;
/**
* 默認選中數
*/
@Transient
private String defmodifier = "0";
/**價格*/
/**
* 價格
*/
@Transient
private double price = 0.00;
/*** 是否自動展開*/
......@@ -94,12 +135,10 @@ public class ComboItem {
private Modifier modifier;
@Generated(hash = 1857315418)
public ComboItem(Long id, Long comId, Long fid, Long qty, Double diffAmt,
Long seqNo, Long visible, Date createTime, String createBy,
Date updateTime, Long conditions, Long isRT, Byte deletes, Long posId,
Long restaurant_id, Byte isMainAccount) {
@Generated(hash = 1123579083)
public ComboItem(Long id, long comId, long fid, long qty, double diffAmt, long seqNo,
long visible, Date createTime, String createBy, Date updateTime, long conditions,
long isRT, byte deletes, long posId, long restaurant_id, byte isMainAccount) {
this.id = id;
this.comId = comId;
this.fid = fid;
......@@ -123,7 +162,6 @@ public class ComboItem {
}
public Long getId() {
return id;
}
......@@ -356,4 +394,56 @@ public class ComboItem {
return foodCombo;
}
public void setId(long id) {
this.id = id;
}
public void setComId(long comId) {
this.comId = comId;
}
public void setFid(long fid) {
this.fid = fid;
}
public void setQty(long qty) {
this.qty = qty;
}
public void setDiffAmt(double diffAmt) {
this.diffAmt = diffAmt;
}
public void setSeqNo(long seqNo) {
this.seqNo = seqNo;
}
public void setVisible(long visible) {
this.visible = visible;
}
public void setConditions(long conditions) {
this.conditions = conditions;
}
public void setIsRT(long isRT) {
this.isRT = isRT;
}
public void setDeletes(byte deletes) {
this.deletes = deletes;
}
public void setPosId(long posId) {
this.posId = posId;
}
public void setRestaurant_id(long restaurant_id) {
this.restaurant_id = restaurant_id;
}
public void setIsMainAccount(byte isMainAccount) {
this.isMainAccount = isMainAccount;
}
}
......@@ -19,6 +19,27 @@ import org.greenrobot.greendao.annotation.Generated;
@Entity
public class Discount {
// /**
// * ID
// */
// @Property(nameInDb = "_id")
// @Id(autoincrement = true)
// private Long id;
//
// private Integer restaurant_id;
// /**金額*/
// private Double amount;
// /**折扣*/
// private Double discount_value;
// /**类型#0:金额;1:折扣;*/
// private Integer type;
// /**状态#0:启用;1:禁用;*/
// private Integer status;
// /**折扣描述*/
// private String remark;
// private Date begin_time;
// private Date end_time;
/**
* ID
*/
......@@ -26,24 +47,25 @@ public class Discount {
@Id(autoincrement = true)
private Long id;
private Integer restaurant_id;
private int restaurant_id;
/**金額*/
private Double amount;
private double amount;
/**折扣*/
private Double discount_value;
private double discount_value;
/**类型#0:金额;1:折扣;*/
private Integer type;
private int type;
/**状态#0:启用;1:禁用;*/
private Integer status;
private int status;
/**折扣描述*/
private String remark;
private Date begin_time;
private Date end_time;
@Generated(hash = 947827493)
public Discount(Long id, Integer restaurant_id, Double amount,
Double discount_value, Integer type, Integer status, String remark,
Date begin_time, Date end_time) {
@Generated(hash = 1370540661)
public Discount(Long id, int restaurant_id, double amount, double discount_value,
int type, int status, String remark, Date begin_time, Date end_time) {
this.id = id;
this.restaurant_id = restaurant_id;
this.amount = amount;
......@@ -57,62 +79,80 @@ public class Discount {
@Generated(hash = 1777606421)
public Discount() {
}
public Long getId() {
return this.id;
return id;
}
public void setId(Long id) {
this.id = id;
}
public Integer getRestaurant_id() {
return this.restaurant_id;
public int getRestaurant_id() {
return restaurant_id;
}
public void setRestaurant_id(Integer restaurant_id) {
public void setRestaurant_id(int restaurant_id) {
this.restaurant_id = restaurant_id;
}
public Double getAmount() {
return this.amount;
public double getAmount() {
return amount;
}
public void setAmount(Double amount) {
public void setAmount(double amount) {
this.amount = amount;
}
public Double getDiscount_value() {
return this.discount_value;
public double getDiscount_value() {
return discount_value;
}
public void setDiscount_value(Double discount_value) {
public void setDiscount_value(double discount_value) {
this.discount_value = discount_value;
}
public Integer getType() {
return this.type;
public int getType() {
return type;
}
public void setType(Integer type) {
public void setType(int type) {
this.type = type;
}
public Integer getStatus() {
return this.status;
public int getStatus() {
return status;
}
public void setStatus(Integer status) {
public void setStatus(int status) {
this.status = status;
}
public String getRemark() {
return this.remark;
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public Date getBegin_time() {
return this.begin_time;
return begin_time;
}
public void setBegin_time(Date begin_time) {
this.begin_time = begin_time;
}
public Date getEnd_time() {
return this.end_time;
return end_time;
}
public void setEnd_time(Date end_time) {
this.end_time = end_time;
}
/**
* 計算折扣金額
* @param discount
......@@ -131,9 +171,10 @@ public class Discount {
if(sourcePrice < discountPrice){
//折扣金額不能超出總額
discountPrice = sourcePrice;
}else {
discountPrice = sourcePrice - discountPrice;
}
// else {
// discountPrice = sourcePrice - discountPrice;
// }
return -MoneyUtil.get_ItemDecimals_money(discountPrice);
}
......
......@@ -14,10 +14,10 @@ import org.greenrobot.greendao.identityscope.IdentityScopeType;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/**
* Master of DAO (schema version 2): knows all DAOs.
* Master of DAO (schema version 4): knows all DAOs.
*/
public class DaoMaster extends AbstractDaoMaster {
public static final int SCHEMA_VERSION = 2;
public static final int SCHEMA_VERSION = 4;
/** Creates underlying database table using DAOs. */
public static void createAllTables(Database db, boolean ifNotExists) {
......
......@@ -25,11 +25,11 @@ public class DiscountDao extends AbstractDao<Discount, Long> {
*/
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, Integer.class, "restaurant_id", false, "RESTAURANT_ID");
public final static Property Amount = new Property(2, Double.class, "amount", false, "AMOUNT");
public final static Property Discount_value = new Property(3, Double.class, "discount_value", false, "DISCOUNT_VALUE");
public final static Property Type = new Property(4, Integer.class, "type", false, "TYPE");
public final static Property Status = new Property(5, Integer.class, "status", false, "STATUS");
public final static Property Restaurant_id = new Property(1, int.class, "restaurant_id", false, "RESTAURANT_ID");
public final static Property Amount = new Property(2, double.class, "amount", false, "AMOUNT");
public final static Property Discount_value = new Property(3, double.class, "discount_value", false, "DISCOUNT_VALUE");
public final static Property Type = new Property(4, int.class, "type", false, "TYPE");
public final static Property Status = new Property(5, int.class, "status", false, "STATUS");
public final static Property Remark = new Property(6, String.class, "remark", false, "REMARK");
public final static Property Begin_time = new Property(7, java.util.Date.class, "begin_time", false, "BEGIN_TIME");
public final static Property End_time = new Property(8, java.util.Date.class, "end_time", false, "END_TIME");
......@@ -49,11 +49,11 @@ public class DiscountDao extends AbstractDao<Discount, Long> {
String constraint = ifNotExists? "IF NOT EXISTS ": "";
db.execSQL("CREATE TABLE " + constraint + "\"DISCOUNT\" (" + //
"\"_id\" INTEGER PRIMARY KEY AUTOINCREMENT ," + // 0: id
"\"RESTAURANT_ID\" INTEGER," + // 1: restaurant_id
"\"AMOUNT\" REAL," + // 2: amount
"\"DISCOUNT_VALUE\" REAL," + // 3: discount_value
"\"TYPE\" INTEGER," + // 4: type
"\"STATUS\" INTEGER," + // 5: status
"\"RESTAURANT_ID\" INTEGER NOT NULL ," + // 1: restaurant_id
"\"AMOUNT\" REAL NOT NULL ," + // 2: amount
"\"DISCOUNT_VALUE\" REAL NOT NULL ," + // 3: discount_value
"\"TYPE\" INTEGER NOT NULL ," + // 4: type
"\"STATUS\" INTEGER NOT NULL ," + // 5: status
"\"REMARK\" TEXT," + // 6: remark
"\"BEGIN_TIME\" INTEGER," + // 7: begin_time
"\"END_TIME\" INTEGER);"); // 8: end_time
......@@ -73,31 +73,11 @@ public class DiscountDao extends AbstractDao<Discount, Long> {
if (id != null) {
stmt.bindLong(1, id);
}
Integer restaurant_id = entity.getRestaurant_id();
if (restaurant_id != null) {
stmt.bindLong(2, restaurant_id);
}
Double amount = entity.getAmount();
if (amount != null) {
stmt.bindDouble(3, amount);
}
Double discount_value = entity.getDiscount_value();
if (discount_value != null) {
stmt.bindDouble(4, discount_value);
}
Integer type = entity.getType();
if (type != null) {
stmt.bindLong(5, type);
}
Integer status = entity.getStatus();
if (status != null) {
stmt.bindLong(6, status);
}
stmt.bindLong(2, entity.getRestaurant_id());
stmt.bindDouble(3, entity.getAmount());
stmt.bindDouble(4, entity.getDiscount_value());
stmt.bindLong(5, entity.getType());
stmt.bindLong(6, entity.getStatus());
String remark = entity.getRemark();
if (remark != null) {
......@@ -123,31 +103,11 @@ public class DiscountDao extends AbstractDao<Discount, Long> {
if (id != null) {
stmt.bindLong(1, id);
}
Integer restaurant_id = entity.getRestaurant_id();
if (restaurant_id != null) {
stmt.bindLong(2, restaurant_id);
}
Double amount = entity.getAmount();
if (amount != null) {
stmt.bindDouble(3, amount);
}
Double discount_value = entity.getDiscount_value();
if (discount_value != null) {
stmt.bindDouble(4, discount_value);
}
Integer type = entity.getType();
if (type != null) {
stmt.bindLong(5, type);
}
Integer status = entity.getStatus();
if (status != null) {
stmt.bindLong(6, status);
}
stmt.bindLong(2, entity.getRestaurant_id());
stmt.bindDouble(3, entity.getAmount());
stmt.bindDouble(4, entity.getDiscount_value());
stmt.bindLong(5, entity.getType());
stmt.bindLong(6, entity.getStatus());
String remark = entity.getRemark();
if (remark != null) {
......@@ -174,11 +134,11 @@ public class DiscountDao extends AbstractDao<Discount, Long> {
public Discount readEntity(Cursor cursor, int offset) {
Discount entity = new Discount( //
cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0), // id
cursor.isNull(offset + 1) ? null : cursor.getInt(offset + 1), // restaurant_id
cursor.isNull(offset + 2) ? null : cursor.getDouble(offset + 2), // amount
cursor.isNull(offset + 3) ? null : cursor.getDouble(offset + 3), // discount_value
cursor.isNull(offset + 4) ? null : cursor.getInt(offset + 4), // type
cursor.isNull(offset + 5) ? null : cursor.getInt(offset + 5), // status
cursor.getInt(offset + 1), // restaurant_id
cursor.getDouble(offset + 2), // amount
cursor.getDouble(offset + 3), // discount_value
cursor.getInt(offset + 4), // type
cursor.getInt(offset + 5), // status
cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6), // remark
cursor.isNull(offset + 7) ? null : new java.util.Date(cursor.getLong(offset + 7)), // begin_time
cursor.isNull(offset + 8) ? null : new java.util.Date(cursor.getLong(offset + 8)) // end_time
......@@ -189,11 +149,11 @@ public class DiscountDao extends AbstractDao<Discount, Long> {
@Override
public void readEntity(Cursor cursor, Discount entity, int offset) {
entity.setId(cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0));
entity.setRestaurant_id(cursor.isNull(offset + 1) ? null : cursor.getInt(offset + 1));
entity.setAmount(cursor.isNull(offset + 2) ? null : cursor.getDouble(offset + 2));
entity.setDiscount_value(cursor.isNull(offset + 3) ? null : cursor.getDouble(offset + 3));
entity.setType(cursor.isNull(offset + 4) ? null : cursor.getInt(offset + 4));
entity.setStatus(cursor.isNull(offset + 5) ? null : cursor.getInt(offset + 5));
entity.setRestaurant_id(cursor.getInt(offset + 1));
entity.setAmount(cursor.getDouble(offset + 2));
entity.setDiscount_value(cursor.getDouble(offset + 3));
entity.setType(cursor.getInt(offset + 4));
entity.setStatus(cursor.getInt(offset + 5));
entity.setRemark(cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6));
entity.setBegin_time(cursor.isNull(offset + 7) ? null : new java.util.Date(cursor.getLong(offset + 7)));
entity.setEnd_time(cursor.isNull(offset + 8) ? null : new java.util.Date(cursor.getLong(offset + 8)));
......
......@@ -193,26 +193,17 @@ public class ModifierDaoUtils {
/**
* 使用queryBuilder进行查询食品
*
* @param mod_msg
* @param visible
* @return
*/
public List<Modifier> queryModifierByModMsgAndVisibleQueryBuilder(String mod_msg, int visible) {
public List<Modifier> queryModifierByModMsgAndVisibleQueryBuilder() {
ArrayList<Modifier> fms = new ArrayList<>();
QueryBuilder<Modifier> queryBuilder = mManager.getDaoSession().queryBuilder(Modifier.class);
// QueryBuilder<Modifier> queryBuilder = mManager.getDaoSession().queryBuilder(Modifier.class);
String parentSql = "SELECT * FROM MODIFIER WHERE MOD_MSG=1 and VISIBLE=0 and IS_PARENT=1";
// List<Modifier> parentModifiers = queryBuilder.where(queryBuilder.and(
// ModifierDao.Properties.ModMsg.eq(mod_msg),
// ModifierDao.Properties.Visible.eq(visible),
// ModifierDao.Properties.IsParent.eq(1))).orderAsc(ModifierDao.Properties.SeqNo).list();
List<Modifier> parentModifiers = query_modifier_Child_new(parentSql, 0);
String childSql = "SELECT * FROM MODIFIER WHERE MOD_MSG=1 and VISIBLE=0 and IS_PARENT=0";
// List<Modifier> childModifiers = queryBuilder.where(queryBuilder.and(
// ModifierDao.Properties.ModMsg.eq(mod_msg),
// ModifierDao.Properties.Visible.eq(visible))).list();
List<Modifier> childModifiers = query_modifier_Child_new(childSql, 0);
fms.addAll(parentModifiers);
......@@ -224,15 +215,13 @@ public class ModifierDaoUtils {
/**
* 使用queryBuilder进行查询食品
*
* @param mod_taste
* @param visible
* @return
*/
public List<Modifier> queryModifierByModModTasteVisibleQueryBuilder(long mod_taste, int visible) {
public List<Modifier> queryModifierByModModTasteVisibleQueryBuilder() {
ArrayList<Modifier> fms = new ArrayList<>();
QueryBuilder<Modifier> queryBuilder = mManager.getDaoSession().queryBuilder(Modifier.class);
// QueryBuilder<Modifier> queryBuilder = mManager.getDaoSession().queryBuilder(Modifier.class);
// List<Modifier> parentModifiers = queryBuilder.where(queryBuilder.and(
// ModifierDao.Properties.ModTaste.eq(mod_taste),
......@@ -258,6 +247,38 @@ public class ModifierDaoUtils {
/**
* 使用queryBuilder进行查询食品
* @return
*/
public List<Modifier> queryModifierByModModCommVisibleQueryBuilder() {
ArrayList<Modifier> fms = new ArrayList<>();
// QueryBuilder<Modifier> queryBuilder = mManager.getDaoSession().queryBuilder(Modifier.class);
// List<Modifier> parentModifiers = queryBuilder.where(queryBuilder.and(
// ModifierDao.Properties.ModTaste.eq(mod_taste),
// ModifierDao.Properties.Visible.eq(visible),
// ModifierDao.Properties.IsParent.eq(1))).orderAsc(ModifierDao.Properties.SeqNo).list();
//
// List<Modifier> childModifiers = queryBuilder.where(queryBuilder.and(
// ModifierDao.Properties.ModTaste.eq(mod_taste),
// ModifierDao.Properties.Visible.eq(visible),
// ModifierDao.Properties.IsParent.eq(0))).orderAsc(ModifierDao.Properties.SeqNo).list();
String parentSql = "SELECT * FROM MODIFIER WHERE MOD_COMM=1 and VISIBLE=0 and IS_PARENT=1";
List<Modifier> parentModifiers = query_modifier_Child_new(parentSql, 0);
String childSql = "SELECT * FROM MODIFIER WHERE MOD_COMM=1 and VISIBLE=0 and IS_PARENT=0";
List<Modifier> childModifiers = query_modifier_Child_new(childSql, 0);
fms.addAll(parentModifiers);
fms.addAll(childModifiers);
return fms;
}
/**
* 使用queryBuilder进行查询食品
*
* @param topid
* @return
......@@ -266,7 +287,7 @@ public class ModifierDaoUtils {
ArrayList<Modifier> fms = new ArrayList<>();
QueryBuilder<Modifier> queryBuilder = mManager.getDaoSession().queryBuilder(Modifier.class);
// QueryBuilder<Modifier> queryBuilder = mManager.getDaoSession().queryBuilder(Modifier.class);
// List<Modifier> parentModifiers = queryBuilder.where(queryBuilder.and(
// ModifierDao.Properties.TopId.eq(topid),
......@@ -290,6 +311,7 @@ public class ModifierDaoUtils {
return fms;
}
public List<Modifier> queryModifiersByFid(long fid, int mode) {
// String sql = " SELECT MODIFIER.mid,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,VISIBLE,MULTIPLE,IS_PARENT" +
......@@ -368,12 +390,15 @@ public class ModifierDaoUtils {
order.setModMsg(c.getLong(c.getColumnIndex("MOD_MSG")));
order.setModTaste(c.getLong(c.getColumnIndex("MOD_TASTE")));
order.setMultiple(c.getDouble(c.getColumnIndex("MULTIPLE")));
if (fid != 0) {
//非公共細項
order.setMaxNumber(c.getInt(c.getColumnIndex("MAX_QTY")));
order.setMinNumber(c.getInt(c.getColumnIndex("MIN_QTY")));
String defmodifier = c.getString(c.getColumnIndex("DEFMODIFIER"));
if (!TextUtils.isEmpty(defmodifier) && !", ".equals(defmodifier)) {
order.setDefmodifier(defmodifier);
}
}
// if (order.isVisible()) {
modifiers.add(order);
// }
......
......@@ -2,7 +2,7 @@ package com.gingersoft.gsa.cloud.globalconfig;
import android.app.Application;
import android.content.Context;
import com.gingersoft.gsa.cloud.base.utils.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.globalconfig.applyOptions.MyGlobalHttpHandler;
import com.gingersoft.gsa.cloud.globalconfig.applyOptions.MyGsonConfiguration;
import com.gingersoft.gsa.cloud.globalconfig.applyOptions.MyOkhttpConfiguration;
......
package com.gingersoft.gsa.cloud.globalconfig.applyOptions;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.utils.constans.AppConstans;
import com.gingersoft.gsa.cloud.constans.AppConstans;
import com.gingersoft.gsa.cloud.base.utils.encryption.Aes;
import com.jess.arms.http.GlobalHttpHandler;
import com.jess.arms.utils.DeviceUtils;
......
......@@ -93,10 +93,10 @@ public class MyResponseErrorListener implements ResponseErrorListener {
OpenTableManage.getDefault().clear();
//修改登錄狀態
GsaCloudApplication.isLogin = false;
// CC.obtainBuilder("User.Component.Login")
// .setActionName("showActivityA")
// .build()
// .call();
CC.obtainBuilder("User.Component.Login")
.setActionName("showActivityA")
.build()
.call();
showloggedDialog = false;
context.finish();
dialog.dismiss();
......
......@@ -23,7 +23,7 @@ import android.graphics.Color;
import android.graphics.Matrix;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.utils.constans.Constans;
import com.gingersoft.gsa.cloud.constans.Constans;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
import com.gingersoft.gsa.cloud.base.widget.DialogUtils;
......
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal;
package com.gingersoft.gsa.cloud.ui.adapter.meal;
import android.content.Context;
import android.graphics.drawable.GradientDrawable;
import android.view.Gravity;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.aspectj.XClickUtil;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.R2;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.ArmsUtils;
......@@ -69,7 +66,7 @@ public class ComboAdapter extends DefaultAdapter<ComboItem> {
@Override
public int getLayoutId(int viewType) {
return R.layout.table_item_combo;
return R.layout.ui_meal_item_combo;
}
class ComboItemHolder extends BaseHolder<ComboItem> {
......
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal;
package com.gingersoft.gsa.cloud.ui.adapter.meal;
import android.content.Context;
import android.graphics.Color;
......@@ -8,12 +8,11 @@ import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.aspectj.XClickUtil;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.R2;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.ArmsUtils;
......@@ -72,7 +71,7 @@ public class FoodAdapter extends DefaultAdapter<Food> {
@Override
public int getLayoutId(int viewType) {
return R.layout.meal_item_food;
return R.layout.ui_meal_item_food;
}
class FoodItemHolder extends BaseHolder<Food> {
......
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal;
package com.gingersoft.gsa.cloud.ui.adapter.meal;
import android.content.Context;
import android.view.Gravity;
......@@ -6,21 +6,18 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.aspectj.XClickUtil;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.R2;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.ArmsUtils;
import com.jess.arms.utils.DeviceUtils;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import java.util.List;
import androidx.recyclerview.widget.GridLayoutManager;
import butterknife.BindView;
/**
......@@ -77,7 +74,7 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
@Override
public int getLayoutId(int viewType) {
return R.layout.meal_item_food_group;
return R.layout.ui_meal_item_food_group;
}
class FoodlKindItemHolder extends BaseHolder<Food> {
......
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal;
package com.gingersoft.gsa.cloud.ui.adapter.meal;
import android.content.Context;
import android.graphics.drawable.GradientDrawable;
import android.view.Gravity;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.aspectj.XClickUtil;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.R2;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.ArmsUtils;
......@@ -69,7 +65,7 @@ public class ModifierAdapter extends DefaultAdapter<Modifier> {
@Override
public int getLayoutId(int viewType) {
return R.layout.table_item_combo;
return R.layout.ui_meal_item_combo;
}
class ComboItemHolder extends BaseHolder<Modifier> {
......
package com.gingersoft.gsa.cloud.ui.bean.view;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import java.util.ArrayList;
import java.util.List;
......@@ -19,6 +21,10 @@ public class SectionTextItem3 {
private String centerText;
private String rightText;
private int leftTextStyle;
private int centerTextStyle;
private int rightTextStyle;
public SectionTextItem3() {
}
......@@ -52,6 +58,29 @@ public class SectionTextItem3 {
this.rightText = rightText;
}
public int getLeftTextStyle() {
return leftTextStyle;
}
public void setLeftTextStyle(int leftTextStyle) {
this.leftTextStyle = leftTextStyle;
}
public int getCenterTextStyle() {
return centerTextStyle;
}
public void setCenterTextStyle(int centerTextStyle) {
this.centerTextStyle = centerTextStyle;
}
public int getRightTextStyle() {
return rightTextStyle;
}
public void setRightTextStyle(int rightTextStyle) {
this.rightTextStyle = rightTextStyle;
}
public static List<SectionTextItem3> orderDetailTransSectionTextItem3(List<OrderDetail> orderDetailList) {
List<SectionTextItem3> sectionTextItem3List = new ArrayList<>();
......@@ -71,7 +100,11 @@ public class SectionTextItem3 {
}
sectionTextItem3.setLeftText(foodName);
sectionTextItem3.setCenterText(String.valueOf(orderDetail.getNumber()));
if (orderDetail.getType() == OrderDetail.DISCOUNT_TYPE) {
sectionTextItem3.setRightText(String.valueOf(orderDetail.getPrice()));
} else {
sectionTextItem3.setRightText(String.valueOf(orderDetail.getPrice() * orderDetail.getNumber()));
}
sectionTextItem3List.add(sectionTextItem3);
}
return sectionTextItem3List;
......@@ -84,9 +117,23 @@ public class SectionTextItem3 {
sectionTextItem3.setLeftText(payMethod.getPayName());
sectionTextItem3.setCenterText(String.valueOf(0));
sectionTextItem3.setRightText(String.valueOf(payMethod.getPayMoney()));
sectionTextItem3.setLeftTextStyle(R.style.order_paymethod_text_style);
sectionTextItem3.setRightTextStyle(R.style.order_paymethod_text_style);
sectionTextItem3List.add(sectionTextItem3);
}
return sectionTextItem3List;
}
public static List<SectionTextItem3> discountTransSectionTextItem3(Discount discount) {
List<SectionTextItem3> sectionTextItem3List = new ArrayList<>();
SectionTextItem3 sectionTextItem3 = new SectionTextItem3();
sectionTextItem3.setLeftText(discount.getRemark());
sectionTextItem3.setCenterText(String.valueOf(0));
sectionTextItem3.setRightText(String.valueOf(discount.getAmount()));
sectionTextItem3.setLeftTextStyle(R.style.order_paymethod_text_style);
sectionTextItem3.setRightTextStyle(R.style.order_paymethod_text_style);
sectionTextItem3List.add(sectionTextItem3);
return sectionTextItem3List;
}
}
package com.gingersoft.gsa.cloud.ui.widget.dialog;
import android.app.Activity;
import android.text.TextUtils;
import com.gingersoft.gsa.cloud.base.R;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
......@@ -20,7 +21,7 @@ public class CommonTipDialog {
/**
* 提示確認dialog 確認后且執行對應方法
* 提示dialog 確認后執行對應方法
* @param context
* @param msg
* @param c
......@@ -29,13 +30,55 @@ public class CommonTipDialog {
* @param parameterTypes
* @param parameters
*/
public static void showTipAndExecuteMethodDialog(Activity context,String msg, Class c, Object object, String methodName, Class[] parameterTypes, Object[] parameters) {
public static void showDoubtDialog(Activity context,String msg, Class c, Object object, String methodName, Class[] parameterTypes, Object[] parameters) {
QMUIDialog.MessageDialogBuilder dialogBuilder = new QMUIDialog.MessageDialogBuilder(context);
dialogBuilder.setTitleIcon(R.drawable.qmui_icon_dialog_doubt);
dialogBuilder.setMessage(msg);
if(!TextUtils.isEmpty(methodName)) {
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
}
dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> {
dialog.dismiss();
if(TextUtils.isEmpty(methodName)){
return;
}
try {
Method method = c.getDeclaredMethod(methodName, parameterTypes);
method.setAccessible(true);
method.invoke(object, parameters);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
});
dialogBuilder.create(R.style.MyDialogTheme2).show();
}
/**
* 危險警示dialog 確認后執行對應方法
* @param context
* @param msg
* @param c
* @param object
* @param methodName
* @param parameterTypes
* @param parameters
*/
public static void showSurpisedDialog(Activity context,String msg, Class c, Object object, String methodName, Class[] parameterTypes, Object[] parameters) {
QMUIDialog.MessageDialogBuilder dialogBuilder = new QMUIDialog.MessageDialogBuilder(context);
dialogBuilder.setTitle("溫馨提示");
dialogBuilder.setMessage(msg);
dialogBuilder.setTitleIcon(R.drawable.qmui_icon_dialog_surprised);
if(!TextUtils.isEmpty(methodName)) {
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
}
dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> {
dialog.dismiss();
if(TextUtils.isEmpty(methodName)){
return;
}
try {
Method method = c.getDeclaredMethod(methodName, parameterTypes);
method.setAccessible(true);
......@@ -51,10 +94,84 @@ public class CommonTipDialog {
dialogBuilder.create(R.style.MyDialogTheme2).show();
}
/**
* 警示dialog 確認后執行對應方法
* @param context
* @param msg
* @param c
* @param object
* @param methodName
* @param parameterTypes
* @param parameters
*/
public static void showWarnDialog(Activity context,String msg, Class c, Object object, String methodName, Class[] parameterTypes, Object[] parameters) {
QMUIDialog.MessageDialogBuilder dialogBuilder = new QMUIDialog.MessageDialogBuilder(context);
dialogBuilder.setMessage(msg);
dialogBuilder.setTitleIcon(R.drawable.qmui_icon_dialog_warn);
if(!TextUtils.isEmpty(methodName)) {
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
}
dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> {
dialog.dismiss();
if(TextUtils.isEmpty(methodName)){
return;
}
try {
Method method = c.getDeclaredMethod(methodName, parameterTypes);
method.setAccessible(true);
method.invoke(object, parameters);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
});
dialogBuilder.create(R.style.MyDialogTheme2).show();
}
/**
* 取消 dialog 確認后執行對應方法
* @param context
* @param msg
* @param c
* @param object
* @param methodName
* @param parameterTypes
* @param parameters
*/
public static void showCancelDialog(Activity context,String msg, Class c, Object object, String methodName, Class[] parameterTypes, Object[] parameters) {
QMUIDialog.MessageDialogBuilder dialogBuilder = new QMUIDialog.MessageDialogBuilder(context);
dialogBuilder.setMessage(msg);
dialogBuilder.setTitleIcon(R.drawable.qmui_icon_dialog_cancel);
if(!TextUtils.isEmpty(methodName)) {
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
}
dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> {
dialog.dismiss();
if(TextUtils.isEmpty(methodName)){
return;
}
try {
Method method = c.getDeclaredMethod(methodName, parameterTypes);
method.setAccessible(true);
method.invoke(object, parameters);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
});
dialogBuilder.create(R.style.MyDialogTheme2).show();
}
public static void showTipDialog(Activity context, String msg) {
QMUIDialog.MessageDialogBuilder dialogBuilder = new QMUIDialog.MessageDialogBuilder(context);
dialogBuilder.setTitle("溫馨提示");
dialogBuilder.setTitleIcon(R.drawable.qmui_icon_dialog_doubt);
dialogBuilder.setMessage(msg);
dialogBuilder.addAction("確定", (dialog, index) -> dialog.dismiss());
dialogBuilder.create(R.style.MyDialogTheme2).show();
......
......@@ -75,11 +75,20 @@
<item name="android:activityCloseExitAnimation">@anim/ui_slide_right_out</item>
</style>
<style name="ButtonBorderless" parent="Base.Widget.AppCompat.Button.Borderless">
<item name="android:padding">0dp</item>
</style>
<style name="order_paymethod_text_style">
<item name="android:textStyle">bold</item>
<item name="android:textSize">16sp</item>
</style>
<style name="order_money_text_style">
<item name="android:textStyle">normal</item>
<item name="android:textSize">16sp</item>
</style>
<!-- **************************QMUI 相关*******************************-->
<style name="QDtextAppearanceListItem">
......
......@@ -510,6 +510,7 @@ public abstract class QMUIDialogBuilder<T extends QMUIDialogBuilder> {
lp.rightToRight = ConstraintLayout.LayoutParams.PARENT_ID;
lp.topToTop = ConstraintLayout.LayoutParams.PARENT_ID;
lp.verticalChainStyle = ConstraintLayout.LayoutParams.CHAIN_PACKED;
lp.topMargin = 30;
return lp;
}
......
......@@ -10,6 +10,7 @@ include 'cc-register',
'table-mode',
'demo_interceptors',
'print-module',
'manager',
rootProject.name = 'GSA-Cloud', 'pools', 'qm-qmui', 'qm-lintrule'
......@@ -10,6 +10,7 @@
<activity android:name=".mvp.ui.activity.OrderContentActivity" />
<activity android:name=".mvp.ui.activity.orderManager.OrderCenterActivity" />
<activity android:name=".mvp.ui.activity.orderManager.OrderDetailActivity" />
<activity android:name=".mvp.ui.activity.SoldoutCtrlActivity" />
<meta-data
android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"
android:value="ConfigModule" />
......
......@@ -13,6 +13,7 @@
android:theme="@style/AppTheme.Base">
<activity android:name=".mvp.ui.activity.orderManager.OrderDetailActivity"/>
<activity android:name=".mvp.ui.activity.orderManager.OrderCenterActivity" />
<activity android:name=".mvp.ui.activity.SoldoutCtrlActivity" />
<activity android:name=".mvp.ui.activity.TableActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
......
......@@ -4,6 +4,7 @@ import com.billy.cc.core.component.CC;
import com.billy.cc.core.component.CCResult;
import com.billy.cc.core.component.CCUtil;
import com.billy.cc.core.component.IComponent;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.orderManager.OrderCenterActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderPayActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity;
......@@ -39,6 +40,9 @@ public class ComponentTable implements IComponent {
case "showOrderCenterActivity":
openOrderCenterActivity(cc);
break;
case "showSoldoutCtrlActivity":
openSoldoutCtrlActivity(cc);
break;
case "getLifecycleFragment":
//demo for provide fragment object to other component
getLifecycleFragment(cc);
......@@ -79,6 +83,11 @@ public class ComponentTable implements IComponent {
CC.sendCCResult(cc.getCallId(), CCResult.success("userName", userName));
}
private void openSoldoutCtrlActivity(CC cc) {
CCUtil.navigateTo(cc, SoldoutCtrlActivity.class);
CC.sendCCResult(cc.getCallId(), CCResult.success());
}
private void openTableActivity(CC cc) {
CCUtil.navigateTo(cc, TableActivity.class);
CC.sendCCResult(cc.getCallId(), CCResult.success());
......
package com.gingersoft.gsa.cloud.table.di.component;
import dagger.BindsInstance;
import dagger.Component;
import com.gingersoft.gsa.cloud.table.di.module.SoldoutCtrlModule;
import com.gingersoft.gsa.cloud.table.mvp.contract.SoldoutCtrlContract;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.di.scope.ActivityScope;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/22/2020 10:39
* <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 = SoldoutCtrlModule.class, dependencies = AppComponent.class)
public interface SoldoutCtrlComponent {
void inject(SoldoutCtrlActivity activity);
@Component.Builder
interface Builder {
@BindsInstance
SoldoutCtrlComponent.Builder view(SoldoutCtrlContract.View view);
SoldoutCtrlComponent.Builder appComponent(AppComponent appComponent);
SoldoutCtrlComponent build();
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.table.di.module;
import com.gingersoft.gsa.cloud.table.mvp.contract.SoldoutCtrlContract;
import com.gingersoft.gsa.cloud.table.mvp.model.SoldoutCtrlModel;
import dagger.Binds;
import dagger.Module;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/22/2020 10:39
* <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 SoldoutCtrlModule {
@Binds
abstract SoldoutCtrlContract.Model bindSoldoutCtrlModel(SoldoutCtrlModel model);
}
\ No newline at end of file
......@@ -45,7 +45,7 @@ public interface MealStandContract {
void initFineItemTabBarViewPage();
void showFinePage();
void setCurrentFinePage();
void setPluMode();
......
package com.gingersoft.gsa.cloud.table.mvp.contract;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.mvp.IModel;
import com.jess.arms.mvp.IView;
import java.util.List;
import androidx.recyclerview.widget.RecyclerView;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/22/2020 10:39
* <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 SoldoutCtrlContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView {
void setCurrentSoldoutFoodAdapter(DefaultAdapter adapter);
void setFoodGroupAdapter(DefaultAdapter adapter);
void setFoodAdapter(DefaultAdapter adapter);
void setComboAdapter(DefaultAdapter adapter);
RecyclerView getRecycleCurrentSoldoutFood();
RecyclerView getRecycleFoodGroup();
RecyclerView getRecycleFood();
void setFoodGroupRecycleSpanCount(int size);
void setFoodRecycleSpanCount(int size);
int getSoldoutType();
boolean isInitFineItemLayout();
void initFineItemTabBarViewPage();
void showFoodLayoutVisibility();
void showFineItemLayoutVisibility();
void showViewModeVisibility(int... viewMode);
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
List<Food> queryDB_FoodGroupList();
List<Food> queryDB_FoodList(long parentId);
List<ComboItem> queryDB_ComboList(long fid);
}
}
......@@ -4,7 +4,6 @@ import android.app.Application;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.utils.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.bean.FoodCombo;
......@@ -13,14 +12,12 @@ import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.DiscountDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.FoodComboDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.FoodModifierDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils;
import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.DeleteOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.service.MealService;
import com.gingersoft.gsa.cloud.table.mvp.model.service.OrderPayService;
import com.google.gson.Gson;
......@@ -29,15 +26,12 @@ import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
import java.util.List;
import java.util.Map;
import javax.inject.Inject;
import io.reactivex.Observable;
import io.reactivex.functions.Function;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
import okhttp3.RequestBody;
import retrofit2.http.Field;
/**
......
......@@ -3,8 +3,6 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.utils.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderPayContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
import com.gingersoft.gsa.cloud.table.mvp.model.service.MealService;
......@@ -17,8 +15,6 @@ import com.jess.arms.mvp.BaseModel;
import javax.inject.Inject;
import io.reactivex.Observable;
import io.reactivex.functions.Function;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
import okhttp3.RequestBody;
......
package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils;
import com.gingersoft.gsa.cloud.table.mvp.contract.SoldoutCtrlContract;
import com.google.gson.Gson;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
import java.util.List;
import javax.inject.Inject;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/22/2020 10:39
* <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 SoldoutCtrlModel extends BaseModel implements SoldoutCtrlContract.Model {
@Inject
Gson mGson;
@Inject
Application mApplication;
@Inject
public SoldoutCtrlModel(IRepositoryManager repositoryManager) {
super(repositoryManager);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mGson = 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<ComboItem> queryDB_ComboList(long fid) {
ComboItemDaoUtils comboItemDao = new ComboItemDaoUtils(mApplication);
List<ComboItem> foodCombo = comboItemDao.queryComboItemsByFidQueryBuilder(fid);
return foodCombo;
}
}
\ No newline at end of file
......@@ -2,8 +2,6 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.utils.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.TableDetail;
......@@ -19,7 +17,6 @@ import javax.inject.Inject;
import com.gingersoft.gsa.cloud.table.mvp.contract.TableContract;
import io.reactivex.Observable;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
import okhttp3.RequestBody;
......
......@@ -48,6 +48,7 @@ public class OrderDetailItem implements Serializable {
private String orderNo;
private String tableName;
private int tableId;
private int person;
/**總金額*/
private double totalAmount;
private int totalPoints;
......@@ -57,11 +58,21 @@ public class OrderDetailItem implements Serializable {
private String orderPayType;
private double tipsPrice;
private byte linePayType;
/**折扣ID*/
private Long discountId;
/**折扣金額*/
private double discountAmount;
/**折扣比例*/
private double discountValue;
/**折扣名稱*/
private String remark;
/**折扣類型*/
private int type;
/**生成訂單時間*/
private String createTime;
/**結賬時間*/
private String endTime;
private int person;
private List<OrderBean.OrderDetailsBean> orderDetails;
/**
......@@ -171,6 +182,30 @@ public class OrderDetailItem implements Serializable {
this.amount = amount;
}
public double getDiscountAmount() {
return discountAmount;
}
public void setDiscountAmount(double discountAmount) {
this.discountAmount = discountAmount;
}
public double getDiscountValue() {
return discountValue;
}
public void setDiscountValue(double discountValue) {
this.discountValue = discountValue;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getCreateTime() {
return createTime;
}
......@@ -195,6 +230,22 @@ public class OrderDetailItem implements Serializable {
this.person = person;
}
public Long getDiscountId() {
return discountId;
}
public void setDiscountId(Long discountId) {
this.discountId = discountId;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public List<OrderBean.OrderDetailsBean> getOrderDetails() {
return orderDetails;
}
......@@ -203,30 +254,30 @@ public class OrderDetailItem implements Serializable {
this.orderDetails = orderDetails;
}
public static List<OrderDetail> orderTransOrderDetails(List<OrderBean.OrderDetailsBean> orderDetails) {
List<OrderDetail> orderDetailList = new ArrayList<>();
OrderDetail parentOrderDetail = null;
for (OrderBean.OrderDetailsBean orderDetailsBean : orderDetails) {
OrderDetail orderDetail = new OrderDetail();
orderDetail.setId(orderDetailsBean.getId());
orderDetail.setProductId(orderDetailsBean.getProductId());
orderDetail.setOrderId(orderDetailsBean.getOrderId());
orderDetail.setParentId(orderDetailsBean.getParentId());
orderDetail.setProductName(orderDetailsBean.getProductName());
orderDetail.setNumber(orderDetailsBean.getNumber());
orderDetail.setPrice(orderDetailsBean.getPrice());
orderDetail.setVisible(orderDetailsBean.getStatus() == 0);
// orderDetail.setAutomod(foods.getAutomod());
orderDetail.setIsfood(orderDetailsBean.getType() == FOOD_TYPE);
orderDetail.setNew(false);
orderDetail.setType(orderDetailsBean.getType());
orderDetail.setItemType(getItemType(orderDetailsBean, parentOrderDetail));
orderDetailList.add(orderDetail);
if (orderDetail.isIsfood()) {
parentOrderDetail = orderDetail;
}
}
return orderDetailList;
}
// public static List<OrderDetail> orderTransOrderDetails(List<OrderBean.OrderDetailsBean> orderDetails) {
// List<OrderDetail> orderDetailList = new ArrayList<>();
// OrderDetail parentOrderDetail = null;
// for (OrderBean.OrderDetailsBean orderDetailsBean : orderDetails) {
// OrderDetail orderDetail = new OrderDetail();
// orderDetail.setId(orderDetailsBean.getId());
// orderDetail.setProductId(orderDetailsBean.getProductId());
// orderDetail.setOrderId(orderDetailsBean.getOrderId());
// orderDetail.setParentId(orderDetailsBean.getParentId());
// orderDetail.setProductName(orderDetailsBean.getProductName());
// orderDetail.setNumber(orderDetailsBean.getNumber());
// orderDetail.setPrice(orderDetailsBean.getPrice());
// orderDetail.setVisible(orderDetailsBean.getStatus() == 0);
//// orderDetail.setAutomod(foods.getAutomod());
// orderDetail.setIsfood(orderDetailsBean.getType() == FOOD_TYPE);
// orderDetail.setNew(false);
// orderDetail.setType(orderDetailsBean.getType());
// orderDetail.setItemType(getItemType(orderDetailsBean, parentOrderDetail));
// orderDetailList.add(orderDetail);
// if (orderDetail.isIsfood()) {
// parentOrderDetail = orderDetail;
// }
// }
// return orderDetailList;
// }
}
......@@ -17,7 +17,7 @@ public class AddOrderRequest {
private long orderId;
/**整單折扣ID*/
private long detailsId;
private Long discountId;
private Map<String, List<OrderBean.OrderDetailsBean>> maps;
public long getOrderId() {
......@@ -28,12 +28,12 @@ public class AddOrderRequest {
this.orderId = orderId;
}
public long getDetailsId() {
return detailsId;
public Long getDiscountId() {
return discountId;
}
public void setDetailsId(long detailsId) {
this.detailsId = detailsId;
public void setDiscountId(Long discountId) {
this.discountId = discountId;
}
public Map<String, List<OrderBean.OrderDetailsBean>> getMaps() {
......@@ -48,7 +48,7 @@ public class AddOrderRequest {
public String toString() {
return "AddOrderRequest{" +
"orderId=" + orderId +
", detailsId=" + detailsId +
", discountId=" + discountId +
", maps=" + maps +
'}';
}
......
......@@ -20,7 +20,7 @@ public class CreateOrderRequest {
private String tableName;
private int restaurantId;
/**整單折扣ID*/
private long detailsId;
private Long discountId;
private Map<Long, List<OrderBean.OrderDetailsBean>> orderDetails;
public int getPerson() {
......@@ -55,12 +55,12 @@ public class CreateOrderRequest {
this.restaurantId = restaurantId;
}
public long getDetailsId() {
return detailsId;
public Long getDiscountId() {
return discountId;
}
public void setDetailsId(long detailsId) {
this.detailsId = detailsId;
public void setDiscountId(Long discountId) {
this.discountId = discountId;
}
public Map<Long, List<OrderBean.OrderDetailsBean>> getOrderDetails() {
......@@ -149,7 +149,7 @@ public class CreateOrderRequest {
", tableId=" + tableId +
", tableName='" + tableName + '\'' +
", restaurantId=" + restaurantId +
", detailsId=" + detailsId +
", discountId=" + discountId +
", orderDetails=" + orderDetails +
'}';
}
......
......@@ -8,7 +8,7 @@ import android.view.View;
import com.gingersoft.gsa.cloud.base.utils.VibratorUtils;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils;
import com.gingersoft.gsa.cloud.table.mvp.model.constant.MealConstant;
import com.gingersoft.gsa.cloud.constans.MealConstant;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.FineItemOneAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.FineItemTwoAdapter;
......@@ -105,6 +105,7 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
VibratorUtils.pressButtonSound(mApplication);
if (context instanceof MealStandActivity) {
operartPage = 2;
MealStandActivity mealStandActivity = (MealStandActivity) context;
......@@ -123,7 +124,7 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
//// }
//// }
// } else {
initFineItemKindItemData(datasBean.getMid());
initChildFineItemItemData(datasBean.getMid());
// }
} else {
addModifierItem(datasBean);
......@@ -184,7 +185,7 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
private void soldoutCtrlModifierItem(Context context, Modifier datasBean) {
//有子细项
if (datasBean.isParent()) {
initFineItemKindItemData(datasBean.getMid());
initChildFineItemItemData(datasBean.getMid());
} else {
//操作類型(暂停操作、恢复操作)
if (!isStopOpeart(datasBean)) {
......@@ -229,13 +230,13 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
return isStopOpeart;
}
public void initAllFineItemData(long mid) {
public void initModMsgFineItemData(long mid) {
mFineItemOneLastPosition = -1;
//获取数据
ModifierDaoUtils modifierDaoUtils = new ModifierDaoUtils(mApplication);
List<Modifier> modifierList = modifierDaoUtils.queryModifierByModMsgAndVisibleQueryBuilder("1",0);
List<Modifier> modifierList = modifierDaoUtils.queryModifierByModMsgAndVisibleQueryBuilder();
if (modifierList == null || modifierList.size() == 0) {
mFineItemOneList.clear();
......@@ -251,7 +252,51 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
mFineItemAllAdapter.notifyDataSetChanged();
}
public void initFineItemKindItemData(long fid) {
public void initModSasteFineItemKindData(long fid) {
mFineItemOneLastPosition = -1;
//获取数据
ModifierDaoUtils modifierDaoUtils = new ModifierDaoUtils(mApplication);
List<Modifier> modifierList = modifierDaoUtils.queryModifierByModModTasteVisibleQueryBuilder();
if (modifierList == null || modifierList.size() == 0) {
mFineItemOneList.clear();
mFineItemAllAdapter.notifyDataSetChanged();
return;
}
setFid(modifierList, fid);
mFineItemOneList.clear();
mFineItemOneList.addAll(modifierList);
mRootView.setFineItemAllRecycleSpanCount(mFineItemOneList.size());
mFineItemAllAdapter.notifyDataSetChanged();
}
public void initModCommFineItemKindData(long fid) {
mFineItemOneLastPosition = -1;
//获取数据
ModifierDaoUtils modifierDaoUtils = new ModifierDaoUtils(mApplication);
List<Modifier> modifierList = modifierDaoUtils.queryModifierByModModCommVisibleQueryBuilder();
if (modifierList == null || modifierList.size() == 0) {
mFineItemOneList.clear();
mFineItemAllAdapter.notifyDataSetChanged();
return;
}
setFid(modifierList, fid);
mFineItemOneList.clear();
mFineItemOneList.addAll(modifierList);
mRootView.setFineItemAllRecycleSpanCount(mFineItemOneList.size());
mFineItemAllAdapter.notifyDataSetChanged();
}
public void initChildFineItemItemData(long fid) {
//获取数据
ModifierDaoUtils modifierDaoUtils = new ModifierDaoUtils(mApplication);
......
......@@ -8,7 +8,7 @@ import android.view.View;
import com.gingersoft.gsa.cloud.base.utils.VibratorUtils;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils;
import com.gingersoft.gsa.cloud.table.mvp.model.constant.MealConstant;
import com.gingersoft.gsa.cloud.constans.MealConstant;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.FineItemOneAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.FineItemTwoAdapter;
......@@ -238,7 +238,7 @@ public class FineItemKindPresenter extends BasePresenter<FineItemKindContract.Mo
//获取数据
ModifierDaoUtils modifierDaoUtils = new ModifierDaoUtils(mApplication);
List<Modifier> modifierList = modifierDaoUtils.queryModifierByModModTasteVisibleQueryBuilder(1, 0);
List<Modifier> modifierList = modifierDaoUtils.queryModifierByModModTasteVisibleQueryBuilder();
if (modifierList == null || modifierList.size() == 0) {
mFineItemOneList.clear();
......
......@@ -18,13 +18,10 @@ import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
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.gson.GsonUtils;
import com.gingersoft.gsa.cloud.constans.GoldConstants;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.bean.Function;
import com.gingersoft.gsa.cloud.function.FunctionManager;
import com.gingersoft.gsa.cloud.function.FunctionModule;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.print.PrinterUtils;
import com.gingersoft.gsa.cloud.table.app.GoldConstants;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderContentContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.TableDetail;
......@@ -490,7 +487,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
String msg = "轉移到" + tableBean.getTableName() + "號檯?";
Class[] parameterTypes = {TableBean.DataBean.class};
Object[] parameters = {tableBean};
CommonTipDialog.showTipAndExecuteMethodDialog(IActivity, msg, OrderContentPresenter.class, OrderContentPresenter.this,
CommonTipDialog.showDoubtDialog(IActivity, msg, OrderContentPresenter.class, OrderContentPresenter.this,
"transferFood", parameterTypes, parameters);
} else {
mRootView.showMessage(tableBean.getTableName() + "號檯操作中");
......@@ -505,7 +502,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
private void transferFood(TableBean.DataBean dataBean) {
String orderDetailsIds = getSelectFoodIds();
String orderDetailsIds = getSelectOldFoodIds();
long orderId = MyOrderManage.getInstance().getOrderId();
......
......@@ -78,13 +78,16 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
*/
private final int orderPayType = 0;
/**找零*/
/**
* 找零
*/
public static final int LINE_PAY_TYPE_CHANGE = 1;
/**貼士*/
/**
* 貼士
*/
public static final int LINE_PAY_TYPE_TIPS = 2;
@Inject
public OrderPayPresenter(OrderPayContract.Model model, OrderPayContract.View rootView) {
super(model, rootView);
......@@ -220,11 +223,18 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
@Override
public void onNext(BaseResult baseResult) {
mRootView.hideLoading();
if (baseResult.isSuccess()) {
//結賬成功
mRootView.paySuccess();
}
}
@Override
public void onError(Throwable t) {
super.onError(t);
mRootView.hideLoading();
}
});
}
......@@ -323,8 +333,8 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
* 結賬前創建訂單或添加食品
*/
public void sendOrderBefore() {
if (hasNesOrderFoods()) {
//有食品未送單 先送單
if (hasNesOrderFoods() || getNesOrderDiscount() != null) {
//有食品或折扣未送單 先送單
sendOrder(false);
} else {
//去結賬
......@@ -410,6 +420,7 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
/**
* 獲取食品總金額
*
* @return
*/
private double getAmount() {
......@@ -418,15 +429,14 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
return getBillMoney();
}
/**
* 獲取支付差額
*
* @return
*/
public double getDifferenceMoney() {
double billMoney = getBillMoney();
return MoneyUtil.get_ItemDecimals_money(getTotalAmount() - billMoney);
double differenceMoney = MoneyUtil.sub(getTotalAmount(), getBillMoney());
return MoneyUtil.get_ItemDecimals_money(differenceMoney);
}
/**
......@@ -437,7 +447,7 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
private double getBillMoney() {
double totalMoney = 0.0;
for (PayMethod method : mBillMoneyList) {
totalMoney += method.getPayMoney();
totalMoney = MoneyUtil.sum(totalMoney, method.getPayMoney());
}
return totalMoney;
}
......
package com.gingersoft.gsa.cloud.table.mvp.presenter;
import android.app.Application;
import com.gingersoft.gsa.cloud.constans.MealConstant;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.mvp.contract.SoldoutCtrlContract;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.CurrentSlodoutFoodAdapter;
import com.gingersoft.gsa.cloud.ui.adapter.meal.ComboAdapter;
import com.gingersoft.gsa.cloud.ui.adapter.meal.FoodAdapter;
import com.gingersoft.gsa.cloud.ui.adapter.meal.FoodGroupAdapter;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
import com.jess.arms.mvp.BasePresenter;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/22/2020 10:39
* <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 SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Model, SoldoutCtrlContract.View> {
@Inject
RxErrorHandler mErrorHandler;
@Inject
Application mApplication;
@Inject
ImageLoader mImageLoader;
@Inject
AppManager mAppManager;
private SoldoutCtrlActivity IActivity;
private CurrentSlodoutFoodAdapter mCurrentSlodoutFoodAdapter;
private FoodGroupAdapter mFoodGroupAdapter;
private FoodAdapter mFoodAdapter;
private ComboAdapter mComboAdapter;
//食品数据
private List<Food> mFoodGroupList = new ArrayList<>();
private List<Food> mFoodList = new ArrayList<>();
private List<ComboItem> mFoodComboList = new ArrayList<>();
//细项数据
private List<Modifier> mModifierList = new ArrayList<>();
@Inject
public SoldoutCtrlPresenter(SoldoutCtrlContract.Model model, SoldoutCtrlContract.View rootView) {
super(model, rootView);
this.IActivity = (SoldoutCtrlActivity) rootView;
}
@Override
public void onDestroy() {
super.onDestroy();
this.mErrorHandler = null;
this.mAppManager = null;
this.mImageLoader = null;
this.mApplication = null;
}
public void initAdapter() {
// if (mCurrentSlodoutFoodAdapter == null) {
// mCurrentSlodoutFoodAdapter = new CurrentSlodoutFoodAdapter(mApplication, mCurrentSlodoutFoodList, GSAApplication.androidSetting.getFoodlListFontSize());
// mRootView.setCurrentSoldoutFoodAdapter(mCurrentSlodoutFoodAdapter);
// }
if (mFoodGroupAdapter == null) {
mFoodGroupAdapter = new FoodGroupAdapter(mApplication, mFoodGroupList);
mRootView.setFoodGroupAdapter(mFoodGroupAdapter);
}
if (mFoodAdapter == null) {
mFoodAdapter = new FoodAdapter(mApplication, mFoodList);
mRootView.setFoodAdapter(mFoodAdapter);
}
if (mComboAdapter == null) {
mComboAdapter = new ComboAdapter(IActivity, mFoodComboList);
mRootView.setComboAdapter(mComboAdapter);
}
}
public void initFoodListener() {
mFoodAdapter.setOnItemClickListener(new FoodAdapter.OnItemClickListener() {
@Override
public void onItemClick(Food datasBean, int position) {
// loadComboData(datasBean);
}
});
mComboAdapter.setOnItemClickListener(new ComboAdapter.OnItemClickListener() {
@Override
public void onItemClick(ComboItem datasBean, int position) {
}
});
}
public void initFoodData() {
List<Food> foodGroupList = mModel.queryDB_FoodGroupList();
if (foodGroupList != null && foodGroupList.size() > 0) {
mFoodGroupList.addAll(foodGroupList);
//默認選中第一組
mFoodGroupList.get(0).setSelected(true);
IActivity.initFoodGroupView(mFoodGroupList);
changedMealByParentId(mFoodGroupList.get(0).getId());
}
}
public void changedMealByParentId(long parentId) {
List<Food> foodList = mModel.queryDB_FoodList(parentId);
mFoodAdapter.resetSelect(-1, null);
if (foodList != null) {
updateFoodData(foodList);
}
}
private void loadComboData(Food food) {
long fid = food.getId();
//获取套餐细项数据
List<ComboItem> comboItems = mModel.queryDB_ComboList(fid);
//更新套餐数据
updateComboData(comboItems);
mRootView.showViewModeVisibility(MealConstant.combo_ViewMode);
}
/**
* 更新食品數據
*
* @param foodList
*/
private void updateFoodData(List<Food> foodList) {
mFoodList.clear();
mFoodList.addAll(foodList);
//根据Item个数显示每一行的个数
mRootView.setFoodRecycleSpanCount(mFoodList.size());
mFoodAdapter.notifyDataSetChanged();
}
/**
* 更新套餐數據
*
* @param foodComboList
*/
private void updateComboData(List<ComboItem> foodComboList) {
mFoodComboList.clear();
mFoodComboList.addAll(foodComboList);
mComboAdapter.notifyDataSetChanged();
}
}
......@@ -14,6 +14,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.utils.CommonConfiguration;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.constans.GoldConstants;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.bean.FoodCombo;
import com.gingersoft.gsa.cloud.database.bean.Function;
......@@ -22,7 +23,6 @@ import com.gingersoft.gsa.cloud.function.FModule;
import com.gingersoft.gsa.cloud.function.FunctionManager;
import com.gingersoft.gsa.cloud.function.FunctionModule;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.app.GoldConstants;
import com.gingersoft.gsa.cloud.table.app.TableOperatTypeConstant;
import com.gingersoft.gsa.cloud.table.mvp.contract.TableContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
......@@ -30,6 +30,7 @@ import com.gingersoft.gsa.cloud.table.mvp.model.bean.TableDetail;
import com.gingersoft.gsa.cloud.table.mvp.model.utils.OrderAssemblyUtil;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BottomFunctionAdapter;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader;
......@@ -207,7 +208,11 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
})
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.doAfterTerminate(() -> {
if (show && refreshLayout == null) {
mRootView.hideLoading();
}
})
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<TableBean>(mErrorHandler) {
......@@ -321,7 +326,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
OpenTableManage.getDefault().setTableBean(openTableBean);
mRootView.startMealStandActivity();
} else {
mRootView.showMessage(respose.getErrMsg());
CommonTipDialog.showSurpisedDialog(IActivity,respose.getErrMsg(),null,null,null,null,null);
}
}
});
......@@ -450,7 +455,10 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
})
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.doAfterTerminate(() -> {
if(showMessage)
mRootView.hideLoading();
})
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseRespose>(mErrorHandler) {
......@@ -525,7 +533,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
public void showOperatTipDialog(TableBean.DataBean dataBean) {
QMUIDialog.MessageDialogBuilder dialogBuilder = new QMUIDialog.MessageDialogBuilder(IActivity);
dialogBuilder.setTitle("溫馨提示");
dialogBuilder.setTitleIcon(R.drawable.qmui_icon_dialog_doubt);
//是否合併檯
boolean isMergeTable = false;
switch (mCurrentOperatType) {
......
......@@ -4,7 +4,6 @@ import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
......@@ -140,6 +139,7 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
private void showCancelDialog(long orderId) {
QMUIDialog.MessageDialogBuilder dialogBuilder = new QMUIDialog.MessageDialogBuilder(IActivity);
dialogBuilder.setTitle("溫馨提示");
dialogBuilder.setTitleIcon(R.drawable.qmui_icon_dialog_doubt);
dialogBuilder.setMessage("是否取消訂單?");
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> {
......@@ -175,6 +175,7 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
/**
* 獲取支付方式
*
* @param orderDetailItem
* @return
*/
......@@ -184,12 +185,12 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
payMethod.setPayName(orderDetailItem.getPayName());
payMethod.setPayMoney(orderDetailItem.getTotalAmount());
payMethodList.add(payMethod);
if(orderDetailItem.getTipsPrice() != 0){
if (orderDetailItem.getTipsPrice() != 0) {
//打印添加找零或貼士行
String linePayType = orderDetailItem.getLinePayType() == 1?"找零":"貼士";
String linePayType = orderDetailItem.getLinePayType() == 1 ? "找零" : "貼士";
PayMethod payMethod2 = new PayMethod();
//這裡打印退一格
payMethod2.setPayName( " " + linePayType);
payMethod2.setPayName(" " + linePayType);
payMethod2.setPayMoney(orderDetailItem.getTipsPrice());
payMethodList.add(payMethod2);
}
......
......@@ -128,8 +128,10 @@ public class OrderCenterPresenter extends BasePresenter<OrderCenterContract.Mode
noMoreData = false;
}
} else {
if(!noMoreData){
mRootView.getCurrentOrderFragment().showEmptyView(true, 0, null);
}
}
} else {
mRootView.getCurrentOrderFragment().showEmptyView(true, 0, null);
}
......
......@@ -29,14 +29,12 @@ import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
import com.gingersoft.gsa.cloud.base.qmui.arch.QMUIFragmentPagerAdapter;
import com.gingersoft.gsa.cloud.base.utils.VibratorUtils;
import com.gingersoft.gsa.cloud.base.utils.log.LogUtil;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.app.OrderConentOperatTypeConstant;
import com.gingersoft.gsa.cloud.table.app.TableOperatTypeConstant;
import com.gingersoft.gsa.cloud.table.di.component.DaggerOrderContentComponent;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderContentContract;
import com.gingersoft.gsa.cloud.table.mvp.model.constant.MealConstant;
import com.gingersoft.gsa.cloud.table.mvp.presenter.OrderContentPresenter;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.AllTableFragment;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.InputTableFragment;
......@@ -49,8 +47,6 @@ import com.jess.arms.integration.AppManager;
import com.jess.arms.utils.ArmsUtils;
import com.qmuiteam.qmui.alpha.QMUIAlphaButton;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
import com.qmuiteam.qmui.widget.popup.QMUIPopup;
import com.qmuiteam.qmui.widget.popup.QMUIPopups;
import com.qmuiteam.qmui.widget.tab.QMUITab;
......
......@@ -15,9 +15,9 @@ 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.qmui.arch.QMUIFragmentPagerAdapter;
import com.gingersoft.gsa.cloud.base.utils.log.LogUtil;
import com.gingersoft.gsa.cloud.constans.GoldConstants;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.app.GoldConstants;
import com.gingersoft.gsa.cloud.table.app.TableOperatTypeConstant;
import com.gingersoft.gsa.cloud.table.di.component.DaggerTableComponent;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
......
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