陈力
2023-06-14 d5f837a50f9874e4d08d786bfaeaed23dc7fe745
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();
            }
        }
    };
}