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