陈力
2023-06-09 cca5f79b3af36e5a908c5dfecbd30110febe3baa
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);
    }
}