app/src/main/java/com/lotaai/canguiayw/CunCanFragment.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/lotaai/canguiayw/SelectFragment.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/lotaai/canguiayw/TakeActivity.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/lotaai/canguiayw/common/HttpUrlDefine.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/lotaai/canguiayw/mqtt/MyMQTTService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/lotaai/canguiayw/sqllitedb/SqlliteDbManage.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
app/src/main/java/com/lotaai/canguiayw/CunCanFragment.java
@@ -6,6 +6,7 @@ import android.graphics.Paint; import android.graphics.Rect; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.text.Editable; import android.text.InputType; @@ -249,7 +250,10 @@ client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { DynamicToast.makeError(context, "存餐同步失败!", 3).show(); Message message = new Message(); message.what = 0; message.obj = "存餐同步失败!"; showHandler.sendMessage(message); } @Override @@ -261,9 +265,25 @@ } else { String string = obj.getString("msg"); DynamicToast.makeError(context, "存餐同步失败:" + string, 3).show(); Message message = new Message(); message.what = 0; message.obj = "存餐失败:" +string; showHandler.sendMessage(message); } } }); } private Handler showHandler = new Handler() { @Override public void handleMessage(Message msg) { if (msg.what == 0) { DynamicToast.makeError(context, msg.obj.toString(), 3).show(); } else if (msg.what == 1) { DynamicToast.makeSuccess(context, msg.obj.toString(), 3).show(); } else { DynamicToast.makeWarning(context, msg.obj.toString(), 3).show(); } } }; } app/src/main/java/com/lotaai/canguiayw/SelectFragment.java
@@ -19,6 +19,7 @@ import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; import com.alibaba.fastjson.JSONObject; import com.bin.david.form.core.SmartTable; import com.bin.david.form.core.TableConfig; import com.bin.david.form.data.CellInfo; @@ -30,8 +31,11 @@ import com.bin.david.form.data.format.selected.ISelectFormat; import com.bin.david.form.data.style.FontStyle; import com.bin.david.form.data.table.TableData; import com.blankj.utilcode.util.DeviceUtils; import com.blankj.utilcode.util.LogUtils; import com.blankj.utilcode.util.ScreenUtils; import com.lotaai.canguiayw.common.HttpLoggerInterceptor; import com.lotaai.canguiayw.common.HttpUrlDefine; import com.lotaai.canguiayw.common.SettingConfig; import com.lotaai.canguiayw.device.DeviceMessage; import com.lotaai.canguiayw.device.MessageType; @@ -39,14 +43,25 @@ 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.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; import java.io.IOException; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.concurrent.TimeUnit; import okhttp3.Call; import okhttp3.Callback; import okhttp3.FormBody; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; public class SelectFragment extends Fragment { @@ -98,17 +113,21 @@ @Override public void onClick(View view) { //将格子释放 //将订单的格子号改为空 if (currentOrder!=null && !"".equals(currentOrder.getGridNo())) { if (currentOrder != null && !"".equals(currentOrder.getGridNo())) { GridModel model = SqlliteDbManage.getInstance().selectGridByGridNoStr(currentOrder.getGridNo()); model.setState(0); SqlliteDbManage.getInstance().addGrid(model); currentOrder.setState(3); SqlliteDbManage.getInstance().insertOrderInfo(currentOrder); // mHandler.sendEmptyMessage(1); // SqlliteDbManage.getInstance().insertOrderInfo(currentOrder); SqlliteDbManage.getInstance().deltetOrders(currentOrder.getOrderNo()); // mHandler.sendEmptyMessage(1); initTableView(); if (currentOrder.getGridNo() != null && !"".equals(currentOrder.getGridNo())) { SqlliteDbManage.getInstance().updateGridByStr(currentOrder.getGridNo(), 0); adminTakeOut(currentOrder.getOrderId()); } LogUtils.i("订单:" + currentOrder.getOrderNo()); }else { } else { LogUtils.i("没有订单"); } if (detailTable != null) { @@ -120,12 +139,58 @@ return root; } public void adminTakeOut(String orderId) { HttpLoggerInterceptor loggingInterceptor = new HttpLoggerInterceptor(true); OkHttpClient client = new OkHttpClient.Builder() .connectTimeout(20, TimeUnit.SECONDS)//响应时间,读取时间 .readTimeout(20, TimeUnit.SECONDS) .callTimeout(20, TimeUnit.SECONDS) .addInterceptor(loggingInterceptor)//添加日志拦截器 .build(); LogUtils.i("取出",DeviceUtils.getUniqueDeviceId(),orderId); RequestBody body = new FormBody.Builder() .add("equipmentUid", DeviceUtils.getUniqueDeviceId()) .add("orderId", orderId).build(); final Request request = new Request.Builder() .url(HttpUrlDefine.equipmentAndminTakeOut) .addHeader("language", "zh-CN") .post(body) .build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { Message msg = new Message(); msg.what = 0; msg.obj = "取餐失败!"; showHandler.sendMessage(msg); } @Override public void onResponse(Call call, Response response) throws IOException { String result = response.body().string(); LogUtils.i("获取到的数据:" + result); JSONObject obj = JSONObject.parseObject(result); if ("0".equals(obj.getString("code"))) { } else { String string = obj.getString("msg"); Message msg = new Message(); msg.what = 0; msg.obj = "取餐同步失败:" + string; showHandler.sendMessage(msg); } } }); } public void initTableView() { List<Order> lists = SqlliteDbManage.getInstance().selectOrtdersInGui(); TableData<Order> tableData = null; if (lists != null) { tableData = new TableData<Order>("", lists, gridNo, orderNo, putIntime, xuhao); }else { } else { tableData = new TableData<Order>("", new ArrayList<Order>(), gridNo, orderNo, putIntime, xuhao); } //设置数据 @@ -230,9 +295,8 @@ String orderNo = mssage.getMsgString(); //首先要判断订单里面是否已经有了 boolean isFind = false; if (setTable.getTableData()!=null) { if (setTable.getTableData() != null) { List<Order> oldOrders = setTable.getTableData().getT(); if (oldOrders != null && oldOrders.size() > 0) { for (int p = 0; p < oldOrders.size(); p++) { Order t = oldOrders.get(p); @@ -255,4 +319,17 @@ LogUtils.e(e); } } private Handler showHandler = new Handler() { @Override public void handleMessage(Message msg) { if (msg.what == 0) { DynamicToast.makeError(context, msg.obj.toString(), 3).show(); } else if (msg.what == 1) { DynamicToast.makeSuccess(context, msg.obj.toString(), 3).show(); } else { DynamicToast.makeWarning(context, msg.obj.toString(), 3).show(); } } }; } app/src/main/java/com/lotaai/canguiayw/TakeActivity.java
@@ -71,14 +71,16 @@ // 调用后台 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() !=6) { Toast.makeText(context, "取餐码输入错误,请重试。", Toast.LENGTH_SHORT).show(); editText.setText(""); DynamicToast.makeError(context, "取餐码输入错误,请重试。", 3).show(); return; } //调用判断是否可以取餐 editText.setText(""); takeCheckCode(gridNo); } } else { @@ -159,10 +161,16 @@ json.put(DeviceAction.jiareIsOpen.name(), "0"); json.put(DeviceAction.dengGuangIsOpen.name(), "0"); json.put("gridNo", g); json.put("qucan","1"); DeviceMessage deviceMessage = new DeviceMessage(); deviceMessage.setMessageType(MessageType.MQTT.ordinal()); deviceMessage.setMsgString(json.toJSONString()); EventBus.getDefault().post(deviceMessage); String string = obj.getString("msg"); Message msg = new Message(); msg.what = 1; msg.obj = "取餐格口:" + g; showHandler.sendMessage(msg); } else { String string = obj.getString("msg"); Message msg = new Message(); app/src/main/java/com/lotaai/canguiayw/common/HttpUrlDefine.java
@@ -7,4 +7,5 @@ public static String equipmentLogin = rootHost + "/lotaai-api/api/eq/equipmentLogin"; public static String equipmentCunCan = rootHost + "/lotaai-api/api/eq/putInFood"; public static String equipmentTakeOut = rootHost + "/lotaai-api/api/eq/takeFood"; public static String equipmentAndminTakeOut = rootHost + "/lotaai-api/api/eq/takeOut"; } app/src/main/java/com/lotaai/canguiayw/mqtt/MyMQTTService.java
@@ -273,6 +273,12 @@ dvmessage.setDeviceType(DeviceType.CANGUI.ordinal()); dvmessage.setMessageByte(command); EventBus.getDefault().post(dvmessage); //判断是否是取餐的,如果是取餐的,需要将这个订单从本地删除掉 String qucan = json.getString("qucan"); if (qucan!=null && "1".equals(qucan)){ SqlliteDbManage.getInstance().deleteFromOrderByGridNo(grid); SqlliteDbManage.getInstance().updateGridByStr(grid,0); } } } } app/src/main/java/com/lotaai/canguiayw/sqllitedb/SqlliteDbManage.java
@@ -37,6 +37,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); } } } /** * 添加订单明细信息信息 * @@ -225,6 +240,23 @@ 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);