From cca5f79b3af36e5a908c5dfecbd30110febe3baa Mon Sep 17 00:00:00 2001
From: 陈力 <chenli@lotaai.com>
Date: 星期五, 09 六月 2023 20:58:09 +0800
Subject: [PATCH] 增加mqtt

---
 app/src/main/java/com/lotaai/canguiayw/CunCanFragment.java |   87 +++++++++++++++++++++++++++++++------------
 1 files changed, 63 insertions(+), 24 deletions(-)

diff --git a/app/src/main/java/com/lotaai/canguiayw/CunCanFragment.java b/app/src/main/java/com/lotaai/canguiayw/CunCanFragment.java
index d8b7ea9..073f5b6 100644
--- a/app/src/main/java/com/lotaai/canguiayw/CunCanFragment.java
+++ b/app/src/main/java/com/lotaai/canguiayw/CunCanFragment.java
@@ -13,6 +13,7 @@
 import android.view.ViewGroup;
 import android.widget.Button;
 import android.widget.EditText;
+import android.widget.TextView;
 import android.widget.Toast;
 
 import androidx.fragment.app.Fragment;
@@ -25,8 +26,18 @@
 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.LogUtils;
 import com.blankj.utilcode.util.ScreenUtils;
+import com.blankj.utilcode.util.TimeUtils;
+import com.lotaai.canguiayw.device.CanguiStatus;
+import com.lotaai.canguiayw.device.service.CrontrolGridModel;
+import com.lotaai.canguiayw.sqllitedb.GridModel;
 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.w3c.dom.Text;
 
 import java.util.ArrayList;
 import java.util.Date;
@@ -38,6 +49,8 @@
     private Context context;
     private EditText editText;
     private SmartTable orderDetailTable;
+    private TextView gekouTxt;
+    private TextView orderNotxt;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -55,8 +68,11 @@
         if (root == null) {
             root = inflater.inflate(R.layout.framgment_cuncan, container, false);
         }
+        DynamicToast.Config.getInstance().setTextSize(30).apply();
         context = container.getContext();
         editText = (EditText)root.findViewById(R.id.edt_borrow_case_number);
+        gekouTxt = root.findViewById(R.id.geKoueText);
+        orderNotxt = root.findViewById(R.id.orderNoText);
         editText.setInputType(InputType.TYPE_NULL); // 屏蔽软键盘
         View.OnClickListener clickListener = new View.OnClickListener() {
             @Override
@@ -72,14 +88,30 @@
                     // 调用后台
                     String gridNo = editable.toString();
                     if (null == gridNo || "".equals(gridNo.trim())) {
-                        Toast.makeText(context, "取餐码不能为空。", Toast.LENGTH_SHORT).show();
+                        DynamicToast.makeError(context, "取餐序号不能为空。", 3).show();
                         return;
                     } else {
-                        if (gridNo.length() > 5) {
-                            Toast.makeText(context, "取餐码输入错误,请重试。", Toast.LENGTH_SHORT).show();
+                        if (gridNo.length() !=4) {
+                            editText.setText("");
+                            DynamicToast.makeError(context, "取餐序号输入错误,请重试。", 3).show();
                             return;
                         }
                     }
+                    //处理存餐的问题
+                    //1、查询订单,并判断是否已经存过餐,如果存过
+                    Order od =  SqlliteDbManage.getInstance().selectOrtderByXuhao(gridNo);
+                    if (od!=null){
+                        if (od.getState() == 0 || od.getState() == 1){
+                            LogUtils.i("orderNo:" + od.getOrderNo() + "  state:" + od.getState());
+                        }
+                        initOrderDetailTableView(od.getOrderNo());
+                    }else {
+                        DynamicToast.makeError(context, "取餐序号输入错误,请重试。", 3).show();
+                        initOrderDetailTableView("");
+                    }
+                    //2、分配格子
+
+
                 } else {
                     Button button = (Button) v;
                     editable.insert(index, button.getText());
@@ -111,36 +143,43 @@
         view0.setOnClickListener(clickListener);
         view11.setOnClickListener(clickListener);
         view12.setOnClickListener(clickListener);
-
-        //初始化ttable
-        initOrderDetailTableView();
+        initOrderDetailTableView("");
         return root;
     }
 
 
-    public void initOrderDetailTableView(){
-        Column<String> xuhaoCol = new Column<>("", "gridNo");
-        xuhaoCol.setMinWidth(10);
-        xuhaoCol.setComputeWidth(1);
-        Column<String> nameCol = new Column<>("名称", "orderNo");
+    public void initOrderDetailTableView(String orderNo){
+        editText.setText("");
+        gekouTxt.setText("");
+        orderNotxt.setText("");
+        Column<String> nameCol = new Column<>("名称", "itemName");
         nameCol.setComputeWidth(10);
-        Column<String> numCol = new Column<>("量", "putInDate");
+        Column<String> numCol = new Column<>("量", "num");
         numCol.setWidth(10);
         nameCol.setComputeWidth(1);
 
-        List<Order> lists = new ArrayList<>();
-//        for (int i = 1;i <= 20; i++) {
-//            Order order = new Order();
-//            order.setGridNo(Integer.toString(i));
-//            order.setOrderNo("new year char grenn" );
-//            Date dd = new Date();
-//            order.setPutInDate(6);
-//            order.setState(0);
-//            order.setTakeCode("56897");
-//            lists.add(order);
-//        }
+        List<OrderDetail>  details = new ArrayList<>();
+        if (!"".equals(orderNo)) {
+            details = SqlliteDbManage.getInstance().selectOrtderDetails(orderNo);
+            if (details!=null && details.size()>0){
+                //查找空余的格子进行分配
+                GridModel model = SqlliteDbManage.getInstance().selectFreeGrid();
+                gekouTxt.setText(CrontrolGridModel.getGridNoStr(model.getGuiHao(),model.getGridNo()));
+                model.setState(1);
+                SqlliteDbManage.getInstance().addGrid(model);
+                //需要把order数据更新了
+                Order od =  SqlliteDbManage.getInstance().selectOrtder(orderNo);
+                od.setGridNo(CrontrolGridModel.getGridNoStr(model.getGuiHao(),model.getGridNo()));
+                od.setPutInDate(TimeUtils.getNowString());
+                od.setState(1);
+                SqlliteDbManage.getInstance().insertOrderInfo(od);
+                orderNotxt.setText(orderNo);
+            }else {
+                DynamicToast.makeError(context, "未查询到订单", 3).show();
+            }
+        }
 
-        TableData<Order> tableData = new TableData<Order>("订单详情",lists, xuhaoCol,nameCol, numCol);
+        TableData<OrderDetail> tableData = new TableData<OrderDetail>("订单详情",details,nameCol, numCol);
         //设置数据
         orderDetailTable = root.findViewById(R.id.table);
         orderDetailTable.getConfig().setShowTableTitle(true);

--
Gitblit v1.7.1