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/sqllitedb/SqlliteDbManage.java |  143 +++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 137 insertions(+), 6 deletions(-)

diff --git a/app/src/main/java/com/lotaai/canguiayw/sqllitedb/SqlliteDbManage.java b/app/src/main/java/com/lotaai/canguiayw/sqllitedb/SqlliteDbManage.java
index 8f9d076..bb414a6 100644
--- a/app/src/main/java/com/lotaai/canguiayw/sqllitedb/SqlliteDbManage.java
+++ b/app/src/main/java/com/lotaai/canguiayw/sqllitedb/SqlliteDbManage.java
@@ -2,6 +2,7 @@
 
 import com.blankj.utilcode.util.LogUtils;
 import com.lotaai.canguiayw.application.ActivityLifecycleApplcation;
+import com.lotaai.canguiayw.device.service.CrontrolGridModel;
 
 import org.greenrobot.greendao.query.QueryBuilder;
 
@@ -43,6 +44,19 @@
      */
     public void insertOrUpdateOrderDetailInfo(OrderDetail model) {
         DaoSession daoSession = getDaoSession();
+        List<OrderDetail> details =  selectOrtderDetails(model.getOrderNo());
+        if(details!=null && details.size()>0){
+            for (int i =0; i < details.size(); i++){
+                 OrderDetail d = details.get(i);
+                 if (d.getItemName().trim().equals(model.getItemName())){
+                     model.setId(d.getId());
+                     break;
+                 }
+                 if (d.getItemName().trim().equals("")){
+                     daoSession.delete(d);
+                 }
+            }
+        }
         daoSession.insertOrReplace(model);
     }
 
@@ -54,19 +68,52 @@
      * @return
      */
     public List<Order> selectOrtdersByState(int state) {
-        LogUtils.i("selectOrtdersByState:" + state);
         DaoSession daoSession = getDaoSession();
         QueryBuilder<Order> qb = daoSession.queryBuilder(Order.class);
-//        QueryBuilder<Order> queryBuilder
-//                = qb.where(OrderDao.Properties.State.eq(state)).orderAsc(OrderDao.Properties.OrderNo);
-
         QueryBuilder<Order> queryBuilder
-                = qb.where(OrderDao.Properties.OrderNo.like("GB%")).orderAsc(OrderDao.Properties.OrderNo);
+                = qb.where(OrderDao.Properties.State.eq(state)).orderAsc(OrderDao.Properties.TakeCode);
+
         List<Order> ordersList = queryBuilder.list();
         if (ordersList == null || ordersList.size() == 0) {
             return null;
         }
         return ordersList;
+    }
+
+    /**
+     * 根据查询订单信息
+     *
+     * @return
+     */
+    public List<Order> selectOrtdersInGui() {
+        DaoSession daoSession = getDaoSession();
+        QueryBuilder<Order> qb = daoSession.queryBuilder(Order.class);
+        QueryBuilder<Order> queryBuilder
+                = qb.where(OrderDao.Properties.State.in(0,1)).orderAsc(OrderDao.Properties.TakeCode);
+
+        List<Order> ordersList = queryBuilder.list();
+        if (ordersList == null || ordersList.size() == 0) {
+            return null;
+        }
+        return ordersList;
+    }
+
+    /**
+     * 根据取餐码查询订单信息
+     *
+     * @param takeCode 取餐码
+     * @return
+     */
+    public Order selectOrtderByTakeCode(String takeCode) {
+        DaoSession daoSession = getDaoSession();
+        QueryBuilder<Order> qb = daoSession.queryBuilder(Order.class);
+        QueryBuilder<Order> queryBuilder
+                = qb.where(OrderDao.Properties.TakeCode.eq(takeCode)).orderAsc(OrderDao.Properties.OrderNo);
+        List<Order> ordersList = queryBuilder.list();
+        if (ordersList == null || ordersList.size() == 0) {
+            return null;
+        }
+        return ordersList.get(0);
     }
 
     /**
@@ -88,6 +135,24 @@
     }
 
     /**
+     * 根据订单号查询订单信息
+     *
+     * @param xuhao
+     * @return
+     */
+    public Order selectOrtderByXuhao(String xuhao) {
+        DaoSession daoSession = getDaoSession();
+        QueryBuilder<Order> qb = daoSession.queryBuilder(Order.class);
+        QueryBuilder<Order> queryBuilder
+                = qb.where(OrderDao.Properties.XuHao.eq(xuhao)).orderAsc(OrderDao.Properties.OrderNo);
+        List<Order> ordersList = queryBuilder.list();
+        if (ordersList == null || ordersList.size() == 0) {
+            return null;
+        }
+        return ordersList.get(0);
+    }
+
+    /**
      * 根据订单号查询订单明细信息
      *
      * @param orderNo
@@ -97,7 +162,7 @@
         DaoSession daoSession = getDaoSession();
         QueryBuilder<OrderDetail> qb = daoSession.queryBuilder(OrderDetail.class);
         QueryBuilder<OrderDetail> queryBuilder
-                = qb.where(OrderDetailDao.Properties.OrderNo.eq(orderNo)).orderAsc(OrderDao.Properties.OrderNo);
+                = qb.where(OrderDetailDao.Properties.OrderNo.eq(orderNo)).orderAsc(OrderDetailDao.Properties.OrderNo);
         List<OrderDetail> orderDetailList = queryBuilder.list();
         if (orderDetailList == null || orderDetailList.size() == 0) {
             return null;
@@ -119,4 +184,70 @@
         }
     }
 
+    //新增格子
+    public void addGrid(GridModel model){
+        DaoSession daoSession = getDaoSession();
+        daoSession.insertOrReplace(model);
+    }
+
+    /**
+     * 根据柜子号和格子号查询
+     * @param gui
+     * @param gridNo
+     * @return
+     */
+    public GridModel selectGridByNo(int gui,int gridNo){
+        DaoSession daoSession = getDaoSession();
+        QueryBuilder<GridModel> qb = daoSession.queryBuilder(GridModel.class);
+        QueryBuilder<GridModel> queryBuilder
+                = qb.where(GridModelDao.Properties.GuiHao.eq(gui),GridModelDao.Properties.GridNo.eq(gridNo)).orderAsc(GridModelDao.Properties.Id);
+        List<GridModel> gridModels = queryBuilder.list();
+        if (gridModels == null || gridModels.size() == 0) {
+            return null;
+        }
+        return gridModels.get(0);
+    }
+
+    /**
+     * 根据柜子号查询
+     * @param gui
+     * @return
+     */
+    public List<GridModel> selectGridByGui(int gui){
+        DaoSession daoSession = getDaoSession();
+        QueryBuilder<GridModel> qb = daoSession.queryBuilder(GridModel.class);
+        QueryBuilder<GridModel> queryBuilder
+                = qb.where(GridModelDao.Properties.GuiHao.eq(gui)).orderAsc(GridModelDao.Properties.Id);
+        List<GridModel> gridModels = queryBuilder.list();
+        if (gridModels == null || gridModels.size() == 0) {
+            return null;
+        }
+        return gridModels;
+    }
+
+    public GridModel  selectFreeGrid(){
+        DaoSession daoSession = getDaoSession();
+        QueryBuilder<GridModel> qb = daoSession.queryBuilder(GridModel.class);
+        QueryBuilder<GridModel> queryBuilder
+                = qb.where(GridModelDao.Properties.State.eq(0)).orderAsc(GridModelDao.Properties.GuiHao);
+        List<GridModel> gridModels = queryBuilder.list();
+        if (gridModels == null || gridModels.size() == 0) {
+            return null;
+        }
+        return gridModels.get(0);
+    }
+
+    public GridModel  selectGridByGridNoStr(String str){
+        CrontrolGridModel mode = new CrontrolGridModel();
+        mode.ChangeGrid(str);
+        DaoSession daoSession = getDaoSession();
+        QueryBuilder<GridModel> qb = daoSession.queryBuilder(GridModel.class);
+        QueryBuilder<GridModel> queryBuilder
+                = qb.where(GridModelDao.Properties.GuiHao.eq(mode.getGuiNo()),GridModelDao.Properties.GridNo.eq(mode.getGridNo())).orderAsc(GridModelDao.Properties.GuiHao);
+        List<GridModel> gridModels = queryBuilder.list();
+        if (gridModels == null || gridModels.size() == 0) {
+            return null;
+        }
+        return gridModels.get(0);
+    }
 }

--
Gitblit v1.7.1