lmw
2024-09-04 f4a6d4f0996238f9c85e4986deffe69a1c8256e6
app/src/main/java/com/lotaai/canguiayw/sqllitedb/SqlliteDbManage.java
@@ -1,7 +1,7 @@
package com.lotaai.canguiayw.sqllitedb;
import com.blankj.utilcode.util.LogUtils;
import com.lotaai.canguiayw.application.ActivityLifecycleApplcation;
import com.lotaai.canguiayw.application.App;
import com.lotaai.canguiayw.device.service.CrontrolGridModel;
import org.greenrobot.greendao.query.QueryBuilder;
@@ -22,7 +22,7 @@
    }
    private DaoSession getDaoSession() {
        DaoSession daoSession = ActivityLifecycleApplcation.getInstance().getDaoSession();
        DaoSession daoSession = App.getInstance().getDaoSession();
        return daoSession;
    }
@@ -36,6 +36,21 @@
        daoSession.insertOrReplace(model);
    }
    public void deleteFromOrderByGridNo(String gridNo){
        DaoSession daoSession = getDaoSession();
        QueryBuilder<Order> qb = daoSession.queryBuilder(Order.class);
        QueryBuilder<Order> queryBuilder
                = qb.where(OrderDao.Properties.GridNo.eq(gridNo)).orderAsc(OrderDao.Properties.TakeCode);
        List<Order> ordersList = queryBuilder.list();
        if (ordersList!=null && ordersList.size()>0){
            for (int i = 0; i < ordersList.size(); i++){
                Order order = ordersList.get(i);
                daoSession.delete(order);
            }
        }
    }
    /**
     * 添加订单明细信息信息
     *
@@ -43,6 +58,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 +82,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 +149,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 +176,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 +198,87 @@
        }
    }
    //新增格子
    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 void updateGridByStr(String gridNo,int state){
        CrontrolGridModel model = new CrontrolGridModel();
        model.ChangeGrid(gridNo);
        DaoSession daoSession = getDaoSession();
        QueryBuilder<GridModel> qb = daoSession.queryBuilder(GridModel.class);
        QueryBuilder<GridModel> queryBuilder
                = qb.where(GridModelDao.Properties.GridNo.eq(model.getGridNo()),GridModelDao.Properties.GuiHao.eq(model.getGuiNo())).orderAsc(GridModelDao.Properties.GuiHao);
        List<GridModel> gridModels = queryBuilder.list();
        if (gridModels != null || gridModels.size() > 0) {
             for (int i = 0; i < gridModels.size();i++){
                 GridModel mm = gridModels.get(i);
                 mm.setState(state);
                 daoSession.update(mm);
             }
        }
    }
    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);
    }
}