瀏覽代碼

执行运动修改

wanglt 11 月之前
父節點
當前提交
214eed8c5e

+ 19 - 2
app/src/main/java/com/qy/agv/activity/MainActivity.java

@@ -43,6 +43,7 @@ import com.qy.agv.activity.dao.MainDao;
 import com.qy.agv.activity.model.BinLocModel;
 import com.qy.agv.activity.model.EventMessage;
 import com.qy.agv.activity.model.MainModel;
+import com.qy.agv.activity.model.OrderModel;
 import com.qy.agv.activity.model.RobotModel;
 import com.qy.agv.activity.model.ShelfModel;
 import com.qy.agv.activity.model.SiteModel;
@@ -514,7 +515,7 @@ public class MainActivity extends BaseActivity {
         if(robot==null)robot="";
         if(shelf==null)shelf="";
         if(target==null)target="";
-        String qrcode = title+","+robot+","+shelf+","+target;
+        String qrcode1 = title+","+robot+","+shelf+","+target;
         String show_title = "";
         if(!StringUtils.isEmpty(target)&&!StringUtils.isEmpty(shelf)){
             show_title = "将"+shelf+"货架搬到"+target;
@@ -527,9 +528,25 @@ public class MainActivity extends BaseActivity {
         }
         if (!StringUtils.isEmpty(title) && title.equals("ZXYD")) {
             show_title = "执行运单" + robot;
+            List<OrderModel> orders = MainDao.getInstance().searchOrder(context, robot);
+            System.out.println("Order size : " + orders.size());
+            if (orders.isEmpty()) {
+                ToastUtils.showToast(context, "运单不存在");
+                return;
+            }
+            show_title = "执行" + orders.get(0).getOrderDesc();
+            shelf = orders.get(0).getRobotId();
+            if (shelf==null) {
+                shelf = "";
+            }else if (!StringUtils.isEmpty(shelf)) {
+                shelf = shelf.replace(",", "/");
+            }
+            target = orders.get(0).getOrderParam();
+            qrcode1 = title+","+robot+","+shelf+","+target;
         }
+        String qrcode = qrcode1;
         if(!StringUtils.isEmpty(target)
-                ||!StringUtils.isEmpty(shelf)) {
+                ||!StringUtils.isEmpty(shelf) || (!StringUtils.isEmpty(title) && title.equals("ZXYD"))) {
             AlertDialog alert = new AlertDialog.Builder(MainActivity.this)
                     .setTitle("提示")
                     .setMessage("确定"+show_title+"吗?")

+ 49 - 0
app/src/main/java/com/qy/agv/activity/dao/MainDao.java

@@ -6,6 +6,7 @@ import com.google.gson.Gson;
 import com.google.gson.JsonElement;
 import com.google.gson.reflect.TypeToken;
 import com.qy.agv.activity.model.BinLocModel;
+import com.qy.agv.activity.model.OrderModel;
 import com.qy.agv.activity.model.RelocModel;
 import com.qy.agv.activity.model.RobotModel;
 import com.qy.agv.activity.model.ShelfModel;
@@ -122,6 +123,54 @@ public class MainDao {
         return shelfModels;
     }
 
+    public List<OrderModel> searchOrder(Context context, String external_id) {
+        List<OrderModel> orders = new ArrayList<>();
+        RequestParams params = HttpsUtil.httParams(Constant.Order_LIST);
+        params.addBodyParameter("current", "1");
+        params.addBodyParameter("externalId", external_id);
+        params.addBodyParameter("orderType", "0");
+        try {
+            AtomicReference<JSONObject> rsAtm = new AtomicReference<>(new JSONObject());
+            Thread s1 = new Thread(()->{
+                try {
+                    rsAtm.set(x.http().getSync(params, JSONObject.class));
+                }catch (Throwable e) {
+                    e.printStackTrace();
+                }
+            });
+            try{
+                s1.start();
+                s1.join();
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+            JSONObject rs = rsAtm.get();
+            if (rs.has("code") && rs.getInt("code") != 200) {
+                ToastUtils.showToast(context, "请求失败");
+            }
+            if (rs.has("success")) {
+                System.out.println(rs.get("data"));
+                Type rds = new TypeToken<Map<String, JsonElement>>() {
+                }.getType();
+                Map<String, JsonElement> records = new Gson().fromJson(rs.get("data").toString(), rds);
+                System.out.println(records.get("records"));
+                Type lt = new TypeToken<ArrayList<OrderModel>>() {}.getType();
+                Object rs_record = records.get("records");
+                if(rs_record!=null) {
+                    orders = new Gson().fromJson(rs_record.toString(), lt);
+                    System.out.println("查询结果" + orders.size());
+                    if (orders.size()>0) {
+                        System.out.println(orders.get(0).getOrderDesc());
+                    }
+                }
+            }
+        }catch (Throwable e) {
+            e.printStackTrace();
+            mylog.error("加载站点列表异常:", e);
+        }
+        return orders;
+    }
+
     public List<BinLocModel> searchBinLoc(Context context) {
         List<BinLocModel> binLocModels = new ArrayList<>();
         RequestParams params = HttpsUtil.httParams(Constant.BIN_LOC_LIST);

+ 40 - 0
app/src/main/java/com/qy/agv/activity/model/OrderModel.java

@@ -0,0 +1,40 @@
+package com.qy.agv.activity.model;
+
+public class OrderModel {
+    private String externalId;
+    private String robotId;
+    private String orderParam;
+    private String orderDesc;
+
+    public String getExternalId() {
+        return externalId;
+    }
+
+    public void setExternalId(String externalId) {
+        this.externalId = externalId;
+    }
+
+    public String getRobotId() {
+        return robotId;
+    }
+
+    public void setRobotId(String robotId) {
+        this.robotId = robotId;
+    }
+
+    public String getOrderParam() {
+        return orderParam;
+    }
+
+    public void setOrderParam(String orderParam) {
+        this.orderParam = orderParam;
+    }
+
+    public String getOrderDesc() {
+        return orderDesc;
+    }
+
+    public void setOrderDesc(String orderDesc) {
+        this.orderDesc = orderDesc;
+    }
+}

+ 1 - 0
app/src/main/java/com/qy/agv/util/Constant.java

@@ -61,6 +61,7 @@ public class Constant {
     public final static String SHELF_LIST = "blade-shelf/shelf/list";
     public final static String SITE_LIST = "blade-site/site/list";
     public final static String BIN_LOC_LIST = "blade-binLoc/binLoc/list";
+    public final static String Order_LIST = "blade-order/order/list";
     public final static String SITE_DETAIL = "blade-site/site/detailByLocationId";
     public final static String RELOC_LIST = "blade-relocCoordinate/relocCoordinate/list";