Commit faca8b9d by Wyh

Merge remote-tracking branch 'origin/master'

parents d258cdd8 c0ae1b36
......@@ -23,11 +23,12 @@ public class OrderPayRequest {
private long orderId;
private int linePayType;
private int orderPayType;
private int tableId;
private String tableNumber;
private List<orderPay> orderPays = new ArrayList<>();
@Data
public static class orderPay{
public static class orderPay {
private int payType;
private double amount;
private double tipsPrice;
......
......@@ -7,6 +7,7 @@ import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.Property;
import java.util.Date;
import org.greenrobot.greendao.annotation.Generated;
import lombok.Data;
......@@ -30,36 +31,38 @@ public class Discount {
private Long id;
private int restaurant_id;
/**金額*/
/**
* 金額
*/
private double amount;
/**折扣*/
/**
* 折扣
*/
private double discount_value;
/**类型#0:金额;1:折扣;*/
/**
* 类型#0:金额;1:折扣;
*/
private int type;
/**折扣可使用范围#0:食品;1:账单;*/
private String discountType ;
/**状态#0:启用;1:禁用;*/
/**
* 折扣可使用范围#0:食品;1:账单;
*/
private String discountType;
/**
* 状态#0:启用;1:禁用;
*/
private int status;
/**折扣描述*/
/**
* 折扣描述
*/
private String remark;
private String begin_time;
private String end_time;
@Generated(hash = 901376651)
public Discount(Long id, int restaurant_id, double amount, double discount_value,
int type, String discountType, int status, String remark, String begin_time,
String end_time) {
int type, String discountType, int status, String remark, String begin_time,
String end_time) {
this.id = id;
this.restaurant_id = restaurant_id;
this.amount = amount;
......@@ -73,231 +76,136 @@ public class Discount {
}
@Generated(hash = 1777606421)
public Discount() {
}
/**
* 計算折扣金額
*
* @param discount
* @param sourcePrice
* @return
*/
public static double calculationDiscount(Discount discount , double sourcePrice){
public static double calculationDiscount(Discount discount, double sourcePrice) {
double discountPrice;
if(discount.getType() == 0){
if (discount.getType() == 0) {
//金額折扣
discountPrice = discount.getAmount();
}else {
discountPrice = discount.getAmount();
} else {
//百分比折扣
discountPrice = MoneyUtil.multiply(sourcePrice, discount.getDiscount_value());
discountPrice = MoneyUtil.divide(MoneyUtil.multiply(sourcePrice, discount.getDiscount_value()), 100).doubleValue();
}
if(sourcePrice < discountPrice){
if (sourcePrice < discountPrice) {
//折扣金額不能超出總額
discountPrice = sourcePrice;
}
// else {
// discountPrice = sourcePrice - discountPrice;
// }
return - MoneyUtil.get_ItemDecimals_money(discountPrice);
return -MoneyUtil.get_ItemDecimals_money(discountPrice);
}
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
public int getRestaurant_id() {
return this.restaurant_id;
}
public void setRestaurant_id(int restaurant_id) {
this.restaurant_id = restaurant_id;
}
public double getAmount() {
return this.amount;
}
public void setAmount(double amount) {
this.amount = amount;
}
public double getDiscount_value() {
return this.discount_value;
}
public void setDiscount_value(double discount_value) {
this.discount_value = discount_value;
}
public int getType() {
return this.type;
}
public void setType(int type) {
this.type = type;
}
public int getStatus() {
return this.status;
}
public void setStatus(int status) {
this.status = status;
}
public String getRemark() {
return this.remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getBegin_time() {
return this.begin_time;
}
public void setBegin_time(String begin_time) {
this.begin_time = begin_time;
}
public String getEnd_time() {
return this.end_time;
}
public void setEnd_time(String end_time) {
this.end_time = end_time;
}
public String getDiscountType() {
return this.discountType;
}
public void setDiscountType(String discountType) {
this.discountType = discountType;
}
}
......@@ -7,8 +7,8 @@ ext {
targetSdkVersion : 28,
//正式版: 1.0.3 3
//內部測試版:1.2.0 20
versionCode : 5,
versionName : "1.0.5"
versionCode : 4,
versionName : "1.0.4"
]
version = [
......
......@@ -9,14 +9,10 @@ import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.billy.cc.core.component.CC;
import com.billy.cc.core.component.CCUtil;
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils;
......@@ -32,8 +28,14 @@ import com.jess.arms.base.BaseActivity;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.qmuiteam.qmui.alpha.QMUIAlphaImageButton;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.OnClick;
import static com.jess.arms.utils.Preconditions.checkNotNull;
......@@ -277,4 +279,5 @@ public class DownloadActivity extends BaseActivity<DownloadPresenter> implements
public int getFromPage() {
return fromPage;
}
}
......@@ -56,8 +56,8 @@ public abstract class LoginInterfaceImpl<P extends BaseLoginPresenter> extends B
int restaurantId = GsaCloudApplication.getRestaurantId(this);
if (restaurantId != 0) {
//上一次進入app有選擇餐廳,通過餐廳ID獲取允許的最大登陸數
mPresenter.getLoginLimit(restaurantId, false);
// jumpMainActivity();
// mPresenter.getLoginLimit(restaurantId, false);
jumpMainActivity();
return;
}
}
......@@ -69,9 +69,9 @@ public abstract class LoginInterfaceImpl<P extends BaseLoginPresenter> extends B
if (brandsBean != null) {
saveBrandAndRestaurantInfo(brandsBean.getBrandId(), brandsBean.getBrandName(), restaurantsBean);
//通過餐廳ID獲取允許的最大登陸數
mPresenter.getLoginLimit(restaurantsBean.getRestaurantId(), true);
// mPresenter.getLoginLimit(restaurantsBean.getRestaurantId(), true);
}
// jumpDownloadActivity();
jumpDownloadActivity();
} else {
showChooseRestaurantDialog(brandsBeans, brands);
}
......@@ -99,10 +99,10 @@ public abstract class LoginInterfaceImpl<P extends BaseLoginPresenter> extends B
BrandsBean.BrandsData brandsBean = RestaurantInfoUtils.getBrandByRestaurantId(brands, item.getRestaurantId());
if (brandsBean != null) {
saveBrandAndRestaurantInfo(brandsBean.getBrandId(), brandsBean.getBrandName(), item);
mPresenter.getLoginLimit(item.getRestaurantId(), true);
// mPresenter.getLoginLimit(item.getRestaurantId(), true);
}
dialog.dismiss();
// jumpDownloadActivity();
jumpDownloadActivity();
}
protected void saveBrandAndRestaurantInfo(int brandId, String brandName, BrandsBean.BrandsData.RestaurantsBean restaurantsBean) {
......
......@@ -167,6 +167,7 @@ public class SettlementReportPresenter extends BasePresenter<SettlementReportCon
} else {
if (dataBean != null) {
if (dataBean.getTable() == null || (dataBean.getTable() != null && dataBean.getTable().size() == 0)) {
mRootView.showCrossDaysLayout(false);
mRootView.showMessage("清機成功");
//打印清機報表
mRootView.printRepore();
......@@ -175,6 +176,7 @@ public class SettlementReportPresenter extends BasePresenter<SettlementReportCon
showSettlementErrorDialog("仍有臺號未結賬,請先結賬;" + "\n" + getTables(dataBean.getTable()));
}
} else {
mRootView.showCrossDaysLayout(false);
mRootView.showMessage("清機成功");
//打印清機報表
mRootView.printRepore();
......
......@@ -257,7 +257,6 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
// functions.add(new Function((long) 141, 150, 5, "預點餐模式", R.drawable.ic_pre_order_mode_close, 1));
functions.add(new Function((long) 151, 0, 5, "管理", 0, 0));
if (BuildConfig.DEBUG) {
functions.add(new Function((long) 142, 151, 5, "賬單管理", R.drawable.ic_meals_menu_management, 0));
functions.add(new Function((long) 143, 151, 5, "餐檯管理", R.drawable.ic_dining_table_management, 0));
}
......
......@@ -14,6 +14,7 @@ import android.widget.Button;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.TableItem;
import com.gingersoft.gsa.cloud.manager.R2;
......@@ -33,10 +34,12 @@ import com.qmuiteam.qmui.widget.QMUITopBarLayout;
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet;
import com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView;
import com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import butterknife.BindView;
import static com.jess.arms.utils.Preconditions.checkNotNull;
......@@ -98,7 +101,8 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);;
super.onCreate(savedInstanceState);
mTableItem = (TableItem) getArguments().getSerializable(TABLE_AREA);
}
......@@ -167,7 +171,7 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements
tableNameItemView.addAccessoryCustomView(tableNameEditText);
FrameLayout.LayoutParams tableNameEditTextParams = (FrameLayout.LayoutParams) tableNameEditText.getLayoutParams();
tableNameEditTextParams.width = QMUIDisplayHelper.dp2px(mContext,200);
tableNameEditTextParams.width = QMUIDisplayHelper.dp2px(mContext, 200);
tableNameEditText.setLayoutParams(tableNameEditTextParams);
// 如下是内容为空的配置,需要两个属性结合使用;如果有默认值,进行相反的配置
// 设置文字的对齐方式
......@@ -372,7 +376,7 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements
private String getAreaName() {
String areaName = mTableItem.getRegionName();
if(TextUtils.isEmpty(areaName)){
if (TextUtils.isEmpty(areaName)) {
areaName = "默認";
}
currentAreaId = mTableItem.getRegionId();
......@@ -471,7 +475,11 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements
showMessage("請輸入餐檯名稱");
return false;
}
if (Integer.parseInt(peopleMixNumberEditText.getText().toString()) > Integer.parseInt(peopleMaxNumberEditText.getText().toString())) {
String peopleMixNumber = peopleMixNumberEditText.getText().toString();
String peopleMaxNumber = peopleMaxNumberEditText.getText().toString();
if (!TextUtils.isEmpty(peopleMixNumber)
&& !TextUtils.isEmpty(peopleMaxNumber)
&& Integer.parseInt(peopleMixNumber) > Integer.parseInt(peopleMaxNumber)) {
showMessage("最少人数不能大于最小人数!");
return false;
}
......
......@@ -83,7 +83,7 @@ public interface OrderContentContract {
Observable<TableBean> getTables(int restaurantId);
Observable<TableDetail> getTable(int tableId);
Observable<TableDetail> getTable(int tableId,String tableNumber);
Observable<BaseRespose> transferFood(RequestBody requestBody);
......
......@@ -70,7 +70,7 @@ public interface TableContract {
Observable<TableBean> getTables(int restaurantId);
Observable<TableDetail> getTable(int tableId);
Observable<TableDetail> getTable(int tableId,String tableNumber);
Observable<BaseRespose> getOrderById(long orderId);
......
......@@ -96,9 +96,9 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
}
@Override
public Observable<TableDetail> getTable(int tableId) {
public Observable<TableDetail> getTable(int tableId,String tableNumber) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.getTable(tableId);
.getTable(tableId,tableNumber);
}
@Override
......
......@@ -72,9 +72,9 @@ public class TableModel extends BaseModel implements TableContract.Model {
}
@Override
public Observable<TableDetail> getTable(int tableId) {
public Observable<TableDetail> getTable(int tableId,String tableNumber) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.getTable(tableId);
.getTable(tableId,tableNumber);
}
@Override
......
......@@ -26,7 +26,7 @@ public interface TableService {
Observable<TableBean> getTables(@Query("restaurantId") int restaurantId);
@GET("restaurantTable/get" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<TableDetail> getTable(@Query("id") int table);
Observable<TableDetail> getTable(@Query("id") int table, @Query("tableNumber") String tableNumber);
@POST("restaurantTable/kickOff" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseRespose> openTable(@Body RequestBody requestBody);
......
......@@ -516,7 +516,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
}
public void getTable(TableBean.DataBean dataBean) {
mModel.getTable(dataBean.getId())
mModel.getTable(dataBean.getId(),dataBean.getTableNumber())
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
......@@ -529,16 +529,18 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
public void onNext(@NonNull TableDetail result) {
if (result.isSuccess()) {
TableBean.DataBean tableBean = result.getData();
if (tableBean.getUseStatus() == 0) {
String msg = "轉移到" + tableBean.getTableName() + "號檯?";
Class[] parameterTypes = {TableBean.DataBean.class};
Object[] parameters = {tableBean};
CommonTipDialog.showDoubtDialog(IActivity, msg, OrderContentPresenter.class, OrderContentPresenter.this,
"transferFood", parameterTypes, parameters);
} else {
mRootView.showMessage(tableBean.getTableName() + "號檯操作中");
if(tableBean != null) {
if (tableBean.getUseStatus() == 0) {
String msg = "轉移到" + tableBean.getTableName() + "號檯?";
Class[] parameterTypes = {TableBean.DataBean.class};
Object[] parameters = {tableBean};
CommonTipDialog.showDoubtDialog(IActivity, msg, OrderContentPresenter.class, OrderContentPresenter.this,
"transferFood", parameterTypes, parameters);
} else {
mRootView.showMessage(tableBean.getTableName() + "號檯操作中");
}
mRootView.setTransferTableName(tableBean.getTableName());
}
mRootView.setTransferTableName(tableBean.getTableName());
} else {
mRootView.showMessage(result.getErrMsg());
}
......@@ -671,6 +673,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mSplitTableDialog.setOnClickListener(new SplitTableDialog.OnClickListener() {
@Override
public void onItemClick(SplitTableDialog dialog, TableBean.DataBean dataBean, int position) {
mSplitTableDialog.closeDialog();
//獲取餐檯狀態
getTable(dataBean);
}
......
......@@ -256,6 +256,7 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
payRequest.setOrderId(MyOrderManage.getInstance().getOrderId());
payRequest.setOrderPayType(orderPayType);
payRequest.setLinePayType(orderPayView.getLinePayType());
payRequest.setTableId(OpenTableManage.getDefault().getTableBean().getId());
payRequest.setTableNumber(OpenTableManage.getDefault().getTableBean().getTableNumber());
for (int i = 0; i < payMethodList.size(); i++) {
......
......@@ -480,8 +480,8 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
return 0;
}
public void getTable(int tableId) {
mModel.getTable(tableId)
public void getTable(TableBean.DataBean dataBean) {
mModel.getTable(dataBean.getId(), dataBean.getTableNumber())
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
......@@ -494,31 +494,37 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
public void onNext(@NonNull TableDetail result) {
if (result.isSuccess()) {
TableBean.DataBean tableBean = result.getData();
if (originalTableId == 0) {
if (tableBean.getUseStatus() == 1) {
mRootView.showMessage("此檯使用中.");
return;
if (tableBean != null) {
if (!TextUtils.isEmpty(tableBean.getTableNumber())) {
//如果是分檯拼接分檯名称
tableBean.setTableName(tableBean.getTableName() + "-" + tableBean.getTableNumber());
}
if (tableBean.getStatus() == 0) {
mRootView.showMessage("此檯未開檯.");
return;
}
originalTableName = tableBean.getTableName();
originalTableId = tableBean.getId();
mRootView.setOperatContentText("由: " + originalTableName + " 轉到 ");
} else {
if (tableBean.getUseStatus() == 1) {
mRootView.showMessage("此檯使用中.");
return;
}
targetTableName = tableBean.getTableName();
targetTableId = tableBean.getId();
if (tableBean.getStatus() == 1 || tableBean.getStatus() == 2 || tableBean.getStatus() == 3) {
mRootView.setOperatContentText("由: " + originalTableName + " 合併 " + targetTableName);
if (originalTableId == 0) {
if (tableBean.getUseStatus() == 1) {
mRootView.showMessage("此檯使用中.");
return;
}
if (tableBean.getStatus() == 0) {
mRootView.showMessage("此檯未開檯.");
return;
}
originalTableName = tableBean.getTableName();
originalTableId = tableBean.getId();
mRootView.setOperatContentText("由: " + originalTableName + " 轉到 ");
} else {
mRootView.setOperatContentText("由: " + originalTableName + " 轉到 " + targetTableName);
if (tableBean.getUseStatus() == 1) {
mRootView.showMessage("此檯使用中.");
return;
}
targetTableName = tableBean.getTableName();
targetTableId = tableBean.getId();
if (tableBean.getStatus() == 1 || tableBean.getStatus() == 2 || tableBean.getStatus() == 3) {
mRootView.setOperatContentText("由: " + originalTableName + " 合併 " + targetTableName);
} else {
mRootView.setOperatContentText("由: " + originalTableName + " 轉到 " + targetTableName);
}
showOperatTipDialog(tableBean);
}
showOperatTipDialog(tableBean);
}
} else {
mRootView.showMessage(result.getErrMsg());
......@@ -596,13 +602,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
getTables(false, null);
if (!TextUtils.isEmpty(tableNumber)) {
SplitTableDialog splitTableDialog = IActivity.getSplitTableDialog();
if (splitTableDialog != null) {
//重置分檯成功,刷新餐檯
getSplitTables(splitTableDialog.getMainTableId());
}
}
refreshSplitTablesDialog();
} else {
if (showMessage)
mRootView.showMessage(respose.getErrMsg());
......@@ -733,6 +733,17 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
}
/**
* 刷新分檯数据
*/
private void refreshSplitTablesDialog(){
SplitTableDialog splitTableDialog = IActivity.getSplitTableDialog();
if (splitTableDialog != null) {
//刷新餐檯
getSplitTables(splitTableDialog.getMainTableId());
}
}
/**
* 根据操作类型过滤一遍餐台
*/
public void filterTableByOperatType() {
......@@ -745,7 +756,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
case TableOperatTypeConstant.splite_table_1:
for (int i = 0; i < mTableList.size(); i++) {
// if (mTableList.get(i).getStatus() != 0 || mTableList.get(i).getSplitStatus() == 1 ? true : false) {
if (mTableList.get(i).getStatus() != 0 ) {
if (mTableList.get(i).getStatus() != 0) {
filterTableBeanList.add(mTableList.get(i));
}
}
......
......@@ -315,7 +315,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
showSplitTableDialog(dataBean.getId());
} else {
//獲取餐檯狀態
mPresenter.getTable(dataBean.getId());
mPresenter.getTable(dataBean);
}
//獲取餐檯狀態
// mPresenter.getTable(dataBean.getId());
......@@ -415,21 +415,18 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
@Override
public void onItemClick(SplitTableDialog dialog, TableBean.DataBean dataBean, int position) {
int currentChooseOperatType = mPresenter.getCurrentChooseOperatType();
// if (currentChooseOperatType == -1) {
// mPresenter.openTable(dataBean.getId(), dataBean);
// } else {
// mPresenter.showOperatTipDialog(dataBean);
// }
switch (currentChooseOperatType) {
case TableOperatTypeConstant.print_parper_2:
case TableOperatTypeConstant.init_table_3:
mPresenter.showOperatTipDialog(dataBean);
break;
case TableOperatTypeConstant.move_table_4:
mSplitTableDialog.closeDialog();
//獲取餐檯狀態
mPresenter.getTable(dataBean.getId());
mPresenter.getTable(dataBean);
break;
default:
mSplitTableDialog.closeDialog();
mPresenter.openTable(dataBean.getId(), dataBean);
break;
}
......
......@@ -101,7 +101,7 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> {
class TableItemHolder extends BaseHolder<TableBean.DataBean> {
@BindView(R2.id.ll_container)
QMUIConstraintLayout ll_container;
QMUIRelativeLayout ll_container;
@BindView(R2.id.rl_table)
QMUIAlphaRelativeLayout rl_table;
@BindView(R2.id.btn_table)
......
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