Commit c5329aba by 宁斌

1、新增轉台

parent 0659130c
......@@ -12,7 +12,6 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.daivd.chart.component.axis.BaseAxis;
import com.daivd.chart.component.axis.HorizontalAxis;
import com.daivd.chart.component.axis.VerticalAxis;
......@@ -30,30 +29,25 @@ import com.daivd.chart.utils.DensityUtils;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.main.R2;
import com.gingersoft.gsa.cloud.main.di.component.DaggerMainTopComponent;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.HomeTurnoverBean;
import com.gingersoft.gsa.cloud.main.mvp.ui.activity.MainActivity;
import com.gingersoft.gsa.cloud.main.mvp.ui.view.CustomMarkView;
import com.jess.arms.base.BaseFragment;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.gingersoft.gsa.cloud.main.di.component.DaggerMainTopComponent;
import com.gingersoft.gsa.cloud.main.mvp.contract.MainTopContract;
import com.gingersoft.gsa.cloud.main.mvp.presenter.MainTopPresenter;
import com.gingersoft.gsa.cloud.main.R;
import com.sxu.shadowdrawable.ShadowDrawable;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import butterknife.BindView;
import butterknife.ButterKnife;
import static com.jess.arms.utils.Preconditions.checkNotNull;
import static com.qmuiteam.qmui.util.QMUIDisplayHelper.dpToPx;
......
......@@ -40,6 +40,7 @@ android {
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation files('libs/nexgon5lib.jar')
implementation 'androidx.appcompat:appcompat:1.1.0'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
......@@ -53,5 +54,4 @@ dependencies {
testImplementation rootProject.ext.dependencies["canary-release"]
testImplementation rootProject.ext.dependencies["junit"]
implementation 'com.sunmi:printerlibrary:1.0.7'
implementation files('libs/nexgon5lib.jar')
}
......@@ -79,6 +79,4 @@ dependencies {
implementation 'org.greenrobot:greendao-generator:3.2.2'
implementation rootProject.ext.dependencies["BaseRecyclerViewAdapter"]
implementation files('libs/ecracalib.jar')
implementation files('libs/nexgon5lib.jar')
}
......@@ -22,6 +22,6 @@ public class KitChenPrintFoodAdapter extends BaseQuickAdapter<OrderDetail, BaseV
@Override
protected void convert(BaseViewHolder helper, OrderDetail item) {
helper.setText(R.id.tv_food_number, item.getNumber() +"");
helper.setText(R.id.tv_food_name, item.getName());
helper.setText(R.id.tv_food_name, item.getProductName());
}
}
......@@ -69,6 +69,7 @@ public class TableBean {
* serviceCharge : 0
* memberId : 0
* status : 0
* useStatus: 0
*/
private int id;
......@@ -91,6 +92,7 @@ public class TableBean {
* 连台 6
*/
private int status;
/**使用狀態*/
private int useStatus;
......
......@@ -14,10 +14,10 @@ import org.greenrobot.greendao.identityscope.IdentityScopeType;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/**
* Master of DAO (schema version 1): knows all DAOs.
* Master of DAO (schema version 13): knows all DAOs.
*/
public class DaoMaster extends AbstractDaoMaster {
public static final int SCHEMA_VERSION = 1;
public static final int SCHEMA_VERSION = 13;
/** Creates underlying database table using DAOs. */
public static void createAllTables(Database db, boolean ifNotExists) {
......
......@@ -52,6 +52,7 @@ android {
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation files('libs/ecracalib.jar')
if (project.ext.runAsApp) {
annotationProcessor rootProject.ext.dependencies["dagger2-compiler"]
debugImplementation rootProject.ext.dependencies["canary-debug"]
......@@ -66,5 +67,4 @@ dependencies {
// test
testImplementation rootProject.ext.dependencies["junit"]
implementation rootProject.ext.dependencies["BaseRecyclerViewAdapter"]
implementation files('libs/ecracalib.jar')
}
......@@ -3,12 +3,10 @@ package com.gingersoft.gsa.cloud.table.app.payment.callback;
import android.app.Activity;
import android.content.Context;
import android.util.Log;
import com.elvishew.xlog.XLog;
import com.etps.aca.lib.action.ICommand;
import com.etps.aca.lib.constant.Constant;
import com.gingersoft.gsa.cloud.base.utils.log.LogUtil;
import com.gingersoft.gsa.cloud.table.app.payment.N5CallbackManage;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderPayActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.integration.AppManager;
......@@ -78,30 +76,30 @@ public class CommandImpl implements ICommand {
appManager.killActivity(currentActivity.getClass());
OrderPayActivity.startOrderPayActivityFormSale(context, response);
break;
case Constant.EVENT.NAME.VOID_RESP:
N5CallbackManage.getInstance().post(currentActivity, response, Constant.EVENT.NAME.VOID_RESP);
break;
case Constant.EVENT.NAME.REFUND_RESP:
// N5CallbackManage.getInstance().post(currentActivity, response, Constant.EVENT.NAME.REFUND_RESP);
appManager.killActivity(currentActivity.getClass());
// if (currentActivity.getClass().getName().equals(OrderDetailActivity.class.getName())) {
// OrderDetailActivity.startOrderDetailActivityFormRefund(context, response);
// } else {
// OrderManagementActivity.startOrderManageActivityFormRefund(context, response);
// }
break;
case Constant.EVENT.NAME.PRINT_RESP:
N5CallbackManage.getInstance().post(currentActivity, response, Constant.EVENT.NAME.PRINT_RESP);
break;
case Constant.EVENT.NAME.ADJUST_RESP:
N5CallbackManage.getInstance().post(currentActivity, response, Constant.EVENT.NAME.ADJUST_RESP);
break;
case "RETRIEVAL_RESP":
N5CallbackManage.getInstance().post(currentActivity, response, "RETRIEVAL_RESP");
break;
case "SETTLE_RESP":
N5CallbackManage.getInstance().post(currentActivity, response, "SETTLE_RESP");
break;
// case Constant.EVENT.NAME.VOID_RESP:
// N5CallbackManage.getInstance().post(currentActivity, response, Constant.EVENT.NAME.VOID_RESP);
// break;
// case Constant.EVENT.NAME.REFUND_RESP:
//// N5CallbackManage.getInstance().post(currentActivity, response, Constant.EVENT.NAME.REFUND_RESP);
// appManager.killActivity(currentActivity.getClass());
//// if (currentActivity.getClass().getName().equals(OrderDetailActivity.class.getName())) {
//// OrderDetailActivity.startOrderDetailActivityFormRefund(context, response);
//// } else {
//// OrderManagementActivity.startOrderManageActivityFormRefund(context, response);
//// }
// break;
// case Constant.EVENT.NAME.PRINT_RESP:
// N5CallbackManage.getInstance().post(currentActivity, response, Constant.EVENT.NAME.PRINT_RESP);
// break;
// case Constant.EVENT.NAME.ADJUST_RESP:
// N5CallbackManage.getInstance().post(currentActivity, response, Constant.EVENT.NAME.ADJUST_RESP);
// break;
// case "RETRIEVAL_RESP":
// N5CallbackManage.getInstance().post(currentActivity, response, "RETRIEVAL_RESP");
// break;
// case "SETTLE_RESP":
// N5CallbackManage.getInstance().post(currentActivity, response, "SETTLE_RESP");
// break;
}
} catch (JSONException e) {
e.printStackTrace();
......
package com.gingersoft.gsa.cloud.table.mvp.contract;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
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;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel;
......@@ -44,6 +46,8 @@ public interface TableContract {
void setOperatContentText(String contentText);
String getOperatContentText();
void canceOperat();
void startMealStandActivity();
......@@ -54,8 +58,12 @@ public interface TableContract {
Observable<TableBean> getTables(int restaurantId);
Observable<TableDetail> getTable(int tableId);
Observable<BaseRespose> openTable(RequestBody requestBody);
Observable<BaseRespose> turnTable(RequestBody requestBody);
Observable<BaseRespose> initTable(RequestBody requestBody);
}
}
......@@ -2,8 +2,10 @@ 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.table.mvp.model.bean.BaseRespose;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.TableDetail;
import com.gingersoft.gsa.cloud.table.mvp.model.service.TableService;
import com.google.gson.Gson;
import com.jess.arms.integration.IRepositoryManager;
......@@ -51,9 +53,15 @@ public class TableModel extends BaseModel implements TableContract.Model {
}
@Override
public Observable<TableBean> getTables(int restaurantId) {
public Observable<TableBean> getTables(int tableId) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.getTables(restaurantId);
.getTables(tableId);
}
@Override
public Observable<TableDetail> getTable(int tableId) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.getTable(tableId);
}
@Override
......@@ -63,6 +71,12 @@ public class TableModel extends BaseModel implements TableContract.Model {
}
@Override
public Observable<BaseRespose> turnTable(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.turnTable(requestBody);
}
@Override
public Observable<BaseRespose> initTable(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.initTable(requestBody);
......
package com.gingersoft.gsa.cloud.table.mvp.model.bean;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-02-22
* 修订历史:2020-02-22
* 描述:
*/
public class TableDetail {
/**
* success : true
* sysTime : 1582369492823
* data : {"id":26221,"tableName":"107","restaurantId":26,"qrCode":"27655b6228307f6f5a6c501152d92b32","seatCount":7,"createTime":"Jan 16, 2020 12:00:00 AM","createBy":"GSPOS","qrCodeImg":"http://192.168.1.77/qrcode/tableQrcode-26-1509.jpg","posTableId":1509,"serviceCharge":10,"memberId":1,"status":2,"orderId":40642,"useStatus":0}
*/
private boolean success;
private String errMsg;
private long sysTime;
private TableBean.DataBean data;
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public String getErrMsg() {
return errMsg;
}
public void setErrMsg(String errMsg) {
this.errMsg = errMsg;
}
public long getSysTime() {
return sysTime;
}
public void setSysTime(long sysTime) {
this.sysTime = sysTime;
}
public TableBean.DataBean getData() {
return data;
}
public void setData(TableBean.DataBean data) {
this.data = data;
}
}
package com.gingersoft.gsa.cloud.table.mvp.model.service;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
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;
import io.reactivex.Observable;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
......@@ -23,9 +25,15 @@ public interface TableService {
@GET("restaurantTable/list" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<TableBean> getTables(@Query("restaurantId") int restaurantId);
@GET("restaurantTable/get" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<TableDetail> getTable(@Query("id") int table);
@POST("restaurantTable/kickOff" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseRespose> openTable(@Body RequestBody requestBody);
@POST("restaurantTable/update/table" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseRespose> turnTable(@Body RequestBody requestBody);
@POST("restaurantTable/set/status" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseRespose> initTable(@Body RequestBody requestBody);
}
......@@ -10,6 +10,7 @@ import com.gingersoft.gsa.cloud.table.mvp.contract.BaseOrderContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.OrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderMoneyAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter;
import com.jess.arms.di.scope.ActivityScope;
......@@ -50,6 +51,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
protected V mRootView;
private Activity IActivity;
private OrderContentActivity mOrderContentActivity;
//订单数据管理类
protected MyOrderManage myOrderManage;
......@@ -81,6 +83,10 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
this.myOrderManage = MyOrderManage.getInstance();
this.orderFoodList = myOrderManage.getOrderFoodList();
if (IActivity instanceof OrderContentActivity) {
mOrderContentActivity = (OrderContentActivity) IActivity;
}
foodCount = initFoodCount();
totalMoney = initFoodTotalMoney();
......@@ -125,12 +131,20 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
} else {
MyOrderManage.getInstance().changeNumber(datasBean.getNumber() - 1);
}
mSelectMealAdapter.notifyItemChanged(position);
// recalcOrderMoneyCount(false, true);
if (mOrderContentActivity != null) {
mOrderContentActivity.initOrderDetail();
}
}
@Override
public void onMealCountAdd(OrderDetail datasBean, int position) {
MyOrderManage.getInstance().changeNumber(datasBean.getNumber() + 1);
mSelectMealAdapter.notifyItemChanged(position);
if (mOrderContentActivity != null) {
mOrderContentActivity.initOrderDetail();
}
// recalcOrderMoneyCount(false, true);
}
});
......
......@@ -319,7 +319,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
public void onNext(@NonNull BaseResult info) {
if (info != null && info.isSuccess()) {
mRootView.showMessage("送單成功");
printSendOrder(MyOrderManage.getInstance().getOrderFoodList());
// printSendOrder(MyOrderManage.getInstance().getOrderFoodList());
IActivity.returnTableActivity(true);
} else {
mRootView.showMessage("送單失敗");
......
......@@ -253,12 +253,6 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
return request;
}
protected OrderRequest getAddOrderFoodRequest(List<OrderDetail> foodList) {
OrderRequest request = new OrderRequest();
request.setOrderDetails(orderDetailBeanToFoodRequest(foodList));
return request;
}
private List<OrderBean.OrderDetailsBean> orderDetailBeanToFoodRequest(List<OrderDetail> foodList) {
List<OrderBean.OrderDetailsBean> requests = new ArrayList<>();
if (foodList != null) {
......
......@@ -12,6 +12,7 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.utils.log.LogUtil;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.app.GoldConstants;
......@@ -90,6 +91,7 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
TextView tv_operat_content;
public static boolean isRefreshData = true;
private boolean firstFlag = true;
public static final int FUNCTION_ALL_TABLE = 1;
public static final int FUNCTION_STATE_TABLE = 2;
......@@ -108,6 +110,7 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
//记录当前页面下标
private int mPosition = 1;
@Override
public void setupActivityComponent(@NonNull AppComponent appComponent) {
DaggerTableComponent //如找不到该类,请编译一下项目
......@@ -171,7 +174,7 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
@Override
public void showLoading(String message) {
if (!TextUtils.isEmpty(message))
if (message != null)
LoadingDialog.showDialogForLoading(this, message, true);
else
LoadingDialog.showDialogForLoading(this);
......@@ -185,7 +188,7 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
@Override
public void showMessage(@NonNull String message) {
if (message != null)
ArmsUtils.makeText(this,message);
ArmsUtils.makeText(this, message);
}
@Override
......@@ -222,7 +225,8 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
mPresenter.showOperatTipDialog(dataBean);
break;
case TableOperatTypeConstant.move_table_4:
//獲取餐檯狀態
mPresenter.getTable(dataBean.getId());
break;
case TableOperatTypeConstant.skyorder_mode_5:
......@@ -255,7 +259,8 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
mTopBar.setTitle("重置檯號");
break;
case TableOperatTypeConstant.move_table_4:
tv_operat_hint.setText("請選擇檯號");
mTopBar.setTitle("轉檯");
break;
case TableOperatTypeConstant.skyorder_mode_5:
......@@ -280,6 +285,7 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
ll_table_operat_content.setVisibility(View.INVISIBLE);
rv_bottom_function.setVisibility(View.VISIBLE);
mPresenter.initTableParameter();
mPresenter.filterTableByOperatType(1);
}
......@@ -294,6 +300,11 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
}
@Override
public String getOperatContentText() {
return tv_operat_content.getText().toString();
}
@Override
public void onStartRefreshTableData() {
isRefreshData = true;
mPresenter.startTableTimer();
......@@ -402,29 +413,29 @@ public class TableActivity extends BaseActivity<TablePresenter> implements Table
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
// if (!firstFlag) {
// //防止滑动页面 滑动的过程中不让刷新数据
// GSAApplication.isRefreshData = false;
// LogUtil.d(TAG, "position: " + position + " positionOffset: " + positionOffset + " positionOffsetPixels: " + positionOffsetPixels);
// }
// firstFlag = false;
if (!firstFlag) {
//防止滑动页面 滑动的过程中不让刷新数据
TableActivity.isRefreshData = false;
LogUtil.d(TAG, "position: " + position + " positionOffset: " + positionOffset + " positionOffsetPixels: " + positionOffsetPixels);
}
firstFlag = false;
}
@Override
public void onPageSelected(int position) {
// if (position == 0) {
// //标号输入页面 暂停获取餐台数据
// onPauseRefreshTableData();
// } else {
// //页面切换完成区域,状态页面恢复获取餐台数据
// if (mPosition == 0) {
// //是从输入编号页面回到全部,使用状态页面 直接刷新餐台数据
// onStartRefreshTableData();
// } else {
// GSAApplication.isRefreshData = true;
// }
// }
// mPosition = position;
if (position == 0) {
//标号输入页面 暂停获取餐台数据
onPauseRefreshTableData();
} else {
//页面切换完成区域,状态页面恢复获取餐台数据
if (mPosition == 0) {
//是从输入编号页面回到全部,使用状态页面 直接刷新餐台数据
onStartRefreshTableData();
} else {
TableActivity.isRefreshData = true;
}
}
mPosition = position;
// //设置当前显示Fragment页面
// mPresenter.setCurrentShowFragment(fragmentList.get(position));
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment