From d5f837a50f9874e4d08d786bfaeaed23dc7fe745 Mon Sep 17 00:00:00 2001 From: 陈力 <chenli@lotaai.com> Date: 星期三, 14 六月 2023 15:32:44 +0800 Subject: [PATCH] 存餐、取餐、管理员取出 --- app/src/main/java/com/lotaai/canguiayw/SelectFragment.java | 93 ++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 85 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/lotaai/canguiayw/SelectFragment.java b/app/src/main/java/com/lotaai/canguiayw/SelectFragment.java index 8deb164..4bbfaff 100644 --- a/app/src/main/java/com/lotaai/canguiayw/SelectFragment.java +++ b/app/src/main/java/com/lotaai/canguiayw/SelectFragment.java @@ -19,6 +19,7 @@ import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; +import com.alibaba.fastjson.JSONObject; import com.bin.david.form.core.SmartTable; import com.bin.david.form.core.TableConfig; import com.bin.david.form.data.CellInfo; @@ -30,8 +31,11 @@ import com.bin.david.form.data.format.selected.ISelectFormat; import com.bin.david.form.data.style.FontStyle; import com.bin.david.form.data.table.TableData; +import com.blankj.utilcode.util.DeviceUtils; import com.blankj.utilcode.util.LogUtils; import com.blankj.utilcode.util.ScreenUtils; +import com.lotaai.canguiayw.common.HttpLoggerInterceptor; +import com.lotaai.canguiayw.common.HttpUrlDefine; import com.lotaai.canguiayw.common.SettingConfig; import com.lotaai.canguiayw.device.DeviceMessage; import com.lotaai.canguiayw.device.MessageType; @@ -39,14 +43,25 @@ import com.lotaai.canguiayw.sqllitedb.Order; import com.lotaai.canguiayw.sqllitedb.OrderDetail; import com.lotaai.canguiayw.sqllitedb.SqlliteDbManage; +import com.pranavpandey.android.dynamic.toasts.DynamicToast; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; +import java.io.IOException; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.concurrent.TimeUnit; + +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.FormBody; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; public class SelectFragment extends Fragment { @@ -98,17 +113,21 @@ @Override public void onClick(View view) { //将格子释放 //将订单的格子号改为空 - if (currentOrder!=null && !"".equals(currentOrder.getGridNo())) { + if (currentOrder != null && !"".equals(currentOrder.getGridNo())) { GridModel model = SqlliteDbManage.getInstance().selectGridByGridNoStr(currentOrder.getGridNo()); model.setState(0); SqlliteDbManage.getInstance().addGrid(model); currentOrder.setState(3); - SqlliteDbManage.getInstance().insertOrderInfo(currentOrder); - // mHandler.sendEmptyMessage(1); +// SqlliteDbManage.getInstance().insertOrderInfo(currentOrder); + SqlliteDbManage.getInstance().deltetOrders(currentOrder.getOrderNo()); + // mHandler.sendEmptyMessage(1); initTableView(); - + if (currentOrder.getGridNo() != null && !"".equals(currentOrder.getGridNo())) { + SqlliteDbManage.getInstance().updateGridByStr(currentOrder.getGridNo(), 0); + adminTakeOut(currentOrder.getOrderId()); + } LogUtils.i("订单:" + currentOrder.getOrderNo()); - }else { + } else { LogUtils.i("没有订单"); } if (detailTable != null) { @@ -120,12 +139,58 @@ return root; } + + public void adminTakeOut(String orderId) { + HttpLoggerInterceptor loggingInterceptor = new HttpLoggerInterceptor(true); + OkHttpClient client = new OkHttpClient.Builder() + .connectTimeout(20, TimeUnit.SECONDS)//响应时间,读取时间 + .readTimeout(20, TimeUnit.SECONDS) + .callTimeout(20, TimeUnit.SECONDS) + .addInterceptor(loggingInterceptor)//添加日志拦截器 + .build(); + + LogUtils.i("取出",DeviceUtils.getUniqueDeviceId(),orderId); + RequestBody body = new FormBody.Builder() + .add("equipmentUid", DeviceUtils.getUniqueDeviceId()) + .add("orderId", orderId).build(); + final Request request = new Request.Builder() + .url(HttpUrlDefine.equipmentAndminTakeOut) + .addHeader("language", "zh-CN") + .post(body) + .build(); + client.newCall(request).enqueue(new Callback() { + @Override + public void onFailure(Call call, IOException e) { + Message msg = new Message(); + msg.what = 0; + msg.obj = "取餐失败!"; + showHandler.sendMessage(msg); + } + + @Override + public void onResponse(Call call, Response response) throws IOException { + String result = response.body().string(); + LogUtils.i("获取到的数据:" + result); + JSONObject obj = JSONObject.parseObject(result); + if ("0".equals(obj.getString("code"))) { + + } else { + String string = obj.getString("msg"); + Message msg = new Message(); + msg.what = 0; + msg.obj = "取餐同步失败:" + string; + showHandler.sendMessage(msg); + } + } + }); + } + public void initTableView() { List<Order> lists = SqlliteDbManage.getInstance().selectOrtdersInGui(); TableData<Order> tableData = null; if (lists != null) { tableData = new TableData<Order>("", lists, gridNo, orderNo, putIntime, xuhao); - }else { + } else { tableData = new TableData<Order>("", new ArrayList<Order>(), gridNo, orderNo, putIntime, xuhao); } //设置数据 @@ -230,9 +295,8 @@ String orderNo = mssage.getMsgString(); //首先要判断订单里面是否已经有了 boolean isFind = false; - if (setTable.getTableData()!=null) { + if (setTable.getTableData() != null) { List<Order> oldOrders = setTable.getTableData().getT(); - if (oldOrders != null && oldOrders.size() > 0) { for (int p = 0; p < oldOrders.size(); p++) { Order t = oldOrders.get(p); @@ -255,4 +319,17 @@ LogUtils.e(e); } } + + private Handler showHandler = new Handler() { + @Override + public void handleMessage(Message msg) { + if (msg.what == 0) { + DynamicToast.makeError(context, msg.obj.toString(), 3).show(); + } else if (msg.what == 1) { + DynamicToast.makeSuccess(context, msg.obj.toString(), 3).show(); + } else { + DynamicToast.makeWarning(context, msg.obj.toString(), 3).show(); + } + } + }; } -- Gitblit v1.7.1