package com.lotaai.canguiayw.sqllitedb;
|
|
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;
|
|
import java.util.List;
|
|
public class SqlliteDbManage {
|
private static SqlliteDbManage sqlliteDbManage;
|
|
private SqlliteDbManage() {
|
|
}
|
|
public static synchronized SqlliteDbManage getInstance() {
|
if (sqlliteDbManage == null) {
|
sqlliteDbManage = new SqlliteDbManage();
|
}
|
return sqlliteDbManage;
|
}
|
|
private DaoSession getDaoSession() {
|
DaoSession daoSession = ActivityLifecycleApplcation.getInstance().getDaoSession();
|
return daoSession;
|
}
|
|
/**
|
* 添加主订单信息
|
*
|
* @param model
|
*/
|
public void insertOrderInfo(Order model) {
|
DaoSession daoSession = getDaoSession();
|
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);
|
}
|
}
|
}
|
|
/**
|
* 添加订单明细信息信息
|
*
|
* @param model
|
*/
|
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);
|
}
|
|
|
/**
|
* 根据状态查询订单信息
|
*
|
* @param state
|
* @return
|
*/
|
public List<Order> selectOrtdersByState(int state) {
|
DaoSession daoSession = getDaoSession();
|
QueryBuilder<Order> qb = daoSession.queryBuilder(Order.class);
|
QueryBuilder<Order> queryBuilder
|
= 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);
|
}
|
|
/**
|
* 根据订单号查询订单信息
|
*
|
* @param orderNo
|
* @return
|
*/
|
public Order selectOrtder(String orderNo) {
|
DaoSession daoSession = getDaoSession();
|
QueryBuilder<Order> qb = daoSession.queryBuilder(Order.class);
|
QueryBuilder<Order> queryBuilder
|
= qb.where(OrderDao.Properties.OrderNo.eq(orderNo)).orderAsc(OrderDao.Properties.OrderNo);
|
List<Order> ordersList = queryBuilder.list();
|
if (ordersList == null || ordersList.size() == 0) {
|
return null;
|
}
|
return ordersList.get(0);
|
}
|
|
/**
|
* 根据订单号查询订单信息
|
*
|
* @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
|
* @return
|
*/
|
public List<OrderDetail> selectOrtderDetails(String orderNo) {
|
DaoSession daoSession = getDaoSession();
|
QueryBuilder<OrderDetail> qb = daoSession.queryBuilder(OrderDetail.class);
|
QueryBuilder<OrderDetail> queryBuilder
|
= qb.where(OrderDetailDao.Properties.OrderNo.eq(orderNo)).orderAsc(OrderDetailDao.Properties.OrderNo);
|
List<OrderDetail> orderDetailList = queryBuilder.list();
|
if (orderDetailList == null || orderDetailList.size() == 0) {
|
return null;
|
}
|
return orderDetailList;
|
}
|
|
public void deltetOrders(String orderNo) {
|
DaoSession daoSession = getDaoSession();
|
Order order = selectOrtder(orderNo);
|
if (order != null) {
|
daoSession.delete(order);
|
}
|
List<OrderDetail> details = selectOrtderDetails(orderNo);
|
if (details != null) {
|
for (int i = 0; i < details.size(); i++) {
|
daoSession.delete(details.get(i));
|
}
|
}
|
}
|
|
//新增格子
|
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);
|
}
|
}
|