From ba96f2a660b7fe146e45e4a76ebc908776791b50 Mon Sep 17 00:00:00 2001
From: 陈力 <chenli@lotaai.com>
Date: 星期三, 14 六月 2023 14:40:04 +0800
Subject: [PATCH] 取餐

---
 app/src/main/java/com/lotaai/canguiayw/CunCanFragment.java |   71 ++++++++++++++++++++++++++++++++---
 1 files changed, 65 insertions(+), 6 deletions(-)

diff --git a/app/src/main/java/com/lotaai/canguiayw/CunCanFragment.java b/app/src/main/java/com/lotaai/canguiayw/CunCanFragment.java
index 073f5b6..e99d597 100644
--- a/app/src/main/java/com/lotaai/canguiayw/CunCanFragment.java
+++ b/app/src/main/java/com/lotaai/canguiayw/CunCanFragment.java
@@ -6,6 +6,7 @@
 import android.graphics.Paint;
 import android.graphics.Rect;
 import android.os.Bundle;
+import android.os.Message;
 import android.text.Editable;
 import android.text.InputType;
 import android.view.LayoutInflater;
@@ -18,6 +19,7 @@
 
 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;
@@ -26,9 +28,14 @@
 import com.bin.david.form.data.format.draw.IDrawFormat;
 import com.bin.david.form.data.style.FontStyle;
 import com.bin.david.form.data.table.TableData;
+import com.blankj.utilcode.util.CacheDiskUtils;
+import com.blankj.utilcode.util.DeviceUtils;
 import com.blankj.utilcode.util.LogUtils;
 import com.blankj.utilcode.util.ScreenUtils;
 import com.blankj.utilcode.util.TimeUtils;
+import com.lotaai.canguiayw.common.HttpLoggerInterceptor;
+import com.lotaai.canguiayw.common.HttpUrlDefine;
+import com.lotaai.canguiayw.common.SettingConfig;
 import com.lotaai.canguiayw.device.CanguiStatus;
 import com.lotaai.canguiayw.device.service.CrontrolGridModel;
 import com.lotaai.canguiayw.sqllitedb.GridModel;
@@ -39,9 +46,19 @@
 
 import org.w3c.dom.Text;
 
+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 CunCanFragment extends Fragment {
 
@@ -106,12 +123,9 @@
                         }
                         initOrderDetailTableView(od.getOrderNo());
                     }else {
-                        DynamicToast.makeError(context, "取餐序号输入错误,请重试。", 3).show();
+                        DynamicToast.makeError(context, "取餐序号不存在,请重试。", 3).show();
                         initOrderDetailTableView("");
                     }
-                    //2、分配格子
-
-
                 } else {
                     Button button = (Button) v;
                     editable.insert(index, button.getText());
@@ -164,7 +178,9 @@
             if (details!=null && details.size()>0){
                 //查找空余的格子进行分配
                 GridModel model = SqlliteDbManage.getInstance().selectFreeGrid();
-                gekouTxt.setText(CrontrolGridModel.getGridNoStr(model.getGuiHao(),model.getGridNo()));
+                String gStr = CrontrolGridModel.getGridNoStr(model.getGuiHao(),model.getGridNo());
+                gekouTxt.setText(gStr);
+                orderNotxt.setText(orderNo);
                 model.setState(1);
                 SqlliteDbManage.getInstance().addGrid(model);
                 //需要把order数据更新了
@@ -172,8 +188,11 @@
                 od.setGridNo(CrontrolGridModel.getGridNoStr(model.getGuiHao(),model.getGridNo()));
                 od.setPutInDate(TimeUtils.getNowString());
                 od.setState(1);
+                od.setGridNo(gStr);
                 SqlliteDbManage.getInstance().insertOrderInfo(od);
-                orderNotxt.setText(orderNo);
+                //需要将存餐信息同步到服务端
+                cuncan(gStr,od.getOrderId());
+
             }else {
                 DynamicToast.makeError(context, "未查询到订单", 3).show();
             }
@@ -207,4 +226,44 @@
         orderDetailTable.setTableData(tableData);
 
     }
+
+
+    public void cuncan(String gridNo,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();
+
+        RequestBody body = new FormBody.Builder()
+                .add("equipmentUid", DeviceUtils.getUniqueDeviceId())
+                .add("gridNo", gridNo)
+                .add("orderId", orderId).build();
+        final Request request = new Request.Builder()
+                .url(HttpUrlDefine.equipmentCunCan)
+                .addHeader("language", "zh-CN")
+                .post(body)
+                .build();
+        client.newCall(request).enqueue(new Callback() {
+            @Override
+            public void onFailure(Call call, IOException e) {
+                DynamicToast.makeError(context, "存餐同步失败!", 3).show();
+            }
+
+            @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");
+                    DynamicToast.makeError(context, "存餐同步失败:" + string, 3).show();
+                }
+            }
+        });
+    }
 }

--
Gitblit v1.7.1