wuhb 11 месяцев назад
Родитель
Сommit
4676b65ebb

+ 3 - 0
app/src/main/java/com/ygtx/emcs/activity/AppInfoActivity.java

@@ -81,6 +81,9 @@ public class AppInfoActivity extends BaseActivity {
         binding.exit.setOnClickListener(view->{
             myLogout();
         });
+        binding.tvWorkPick.setOnClickListener(view->{
+
+        });
 //        binding.tvIp.setVisibility(View.GONE);
         binding.tvIp.setText(Constant.server_ip);
         updateIP();

+ 95 - 0
app/src/main/java/com/ygtx/emcs/activity/HomeActivity.java

@@ -4,6 +4,7 @@ import static com.ygtx.emcs.comm.BaseApplication.mScanManager;
 import static com.ygtx.emcs.util.Constant.CACHE_BIND_CONFIG;
 import static com.ygtx.emcs.util.Constant.CACHE_BIND_CONTROL;
 import static com.ygtx.emcs.util.Constant.CACHE_LOGIN_KEY;
+import static com.ygtx.emcs.util.Constant.PRINTER_ITEM_SEL_KEY;
 
 import android.content.Context;
 import android.content.Intent;
@@ -30,6 +31,8 @@ import com.ygtx.emcs.R;
 import com.ygtx.emcs.activity.adapter.FunctionMenuAdapter;
 import com.ygtx.emcs.activity.adapter.MainListViewAdapter;
 import com.ygtx.emcs.activity.model.ConfigModel;
+import com.ygtx.emcs.activity.model.DeviceModel;
+import com.ygtx.emcs.activity.model.DictModel;
 import com.ygtx.emcs.activity.model.EventMessage;
 import com.ygtx.emcs.activity.model.MainModel;
 import com.ygtx.emcs.activity.model.MaterialStockModel;
@@ -80,6 +83,7 @@ public class HomeActivity extends BaseActivity {
     private PopupWindow popupWindow2;
     private List<MenuModel> menuModels = new ArrayList<>();
     private FunctionMenuAdapter mainViewAdapter;
+    private DeviceModel deviceModel;
 
 
     @Override
@@ -145,6 +149,96 @@ public class HomeActivity extends BaseActivity {
         }
     }
 
+    private void getDevice(){
+        MyProgress myProgress = MyProgress.getInstance();
+        myProgress.show(context, "提示", "正在加载");
+        RequestParams params = httParams(Constant.GET_DEVICE+"/" + getMac());
+        x.http().get(params, new Callback.CommonCallback<JSONObject>() {
+            @Override
+            public void onSuccess(JSONObject rs) {
+                mylog.info(rs.toString());
+                try {
+                    if (rs.getInt("code") == 200) {
+                        if(!rs.has("data")){
+                            register();
+                        }else{
+                            deviceModel = new Gson().fromJson(rs.get("data").toString(), DeviceModel.class);
+                            if(!"0".equals(deviceModel.getStatus())){
+                                ToastUtils.showToast(context, "设备无效");
+                            }
+                        }
+                    }else if(rs.getInt("code") == 401){
+                        ToastUtils.showToast(context, "会话过期");
+                        logoutAuth(rs.getInt("code"));
+                    }else{
+                        ToastUtils.showToast(context, rs.getString("msg"));
+                    }
+                } catch (JSONException e) {
+                    e.printStackTrace();
+                }
+            }
+            @Override
+            public void onError(Throwable ex, boolean isOnCallback) {
+                ex.printStackTrace();
+                HttpsUtil.parserError(HomeActivity.this, ex);
+                mylog.error("请求异常:", ex);
+            }
+            @Override
+            public void onFinished() {
+                myProgress.close();
+            }
+            @Override
+            public void onCancelled(CancelledException arg0) {
+                mylog.error("onRead:", arg0);
+            }
+        });
+    }
+
+    private void register(){
+        MyProgress myProgress = MyProgress.getInstance();
+        myProgress.show(context, "提示", "正在提交数据");
+        RequestParams params = httParams(Constant.ADD_DEVICE);
+        params.addBodyParameter("deviceCode", getMac());
+        x.http().post(params, new Callback.CommonCallback<JSONObject>() {
+            @Override
+            public void onSuccess(JSONObject rs) {
+                mylog.info(rs.toString());
+                try {
+                    if (rs.getInt("code") == 200) {
+                        ToastUtils.showToast(context, "注册成功");
+                    }else if(rs.getInt("code") == 401){
+                        ToastUtils.showToast(context, "会话过期");
+                        logoutAuth(rs.getInt("code"));
+                    }else{
+                        ToastUtils.showToast(context, rs.getString("msg"));
+                    }
+
+                } catch (JSONException e) {
+                    e.printStackTrace();
+                }finally {
+                    myProgress.close();
+                }
+            }
+            @Override
+            public void onError(Throwable ex, boolean isOnCallback) {
+                ex.printStackTrace();
+                HttpsUtil.parserError(HomeActivity.this, ex);
+                mylog.error("请求异常:", ex);
+            }
+
+            @Override
+            public void onFinished() {
+                myProgress.close();
+                submit.setEnabled(true);
+            }
+
+            @Override
+            public void onCancelled(CancelledException arg0) {
+                mylog.error("onRead:", arg0);
+            }
+        });
+    }
+
     private void initView(){
         ImageView back = findViewById(R.id.c_iv_common_back);
         back.setVisibility(View.VISIBLE);
@@ -237,6 +331,7 @@ public class HomeActivity extends BaseActivity {
                         }
                         getUserInfo(loginName, loginPwd);
                         getConfig();
+                        getDevice();
                     } catch (JSONException e) {
                         e.printStackTrace();
                         mylog.error(e);

+ 5 - 0
app/src/main/java/com/ygtx/emcs/activity/StockOutBindActivity.java

@@ -1,6 +1,7 @@
 package com.ygtx.emcs.activity;
 
 import static com.ygtx.emcs.comm.BaseApplication.mScanManager;
+import static com.ygtx.emcs.util.Constant.CACHE_BIND_CONFIG;
 import static com.ygtx.emcs.util.Constant.PRINTER_ITEM_SEL_KEY;
 import static com.ygtx.emcs.util.Constant.SEL_BATCH_CODE;
 
@@ -37,6 +38,7 @@ import com.ygtx.emcs.activity.model.MaterialStockModel;
 import com.ygtx.emcs.activity.model.StockLineAreaModel;
 import com.ygtx.emcs.activity.model.StockLineModel;
 import com.ygtx.emcs.comm.BaseActivity;
+import com.ygtx.emcs.comm.CacheService;
 import com.ygtx.emcs.comm.Res;
 import com.ygtx.emcs.databinding.YgtxBindItemBinding;
 import com.ygtx.emcs.databinding.YgtxBindOutItemBinding;
@@ -423,6 +425,7 @@ public class StockOutBindActivity extends BaseActivity {
             ToastUtils.showToast(context, "出库单没有生成");
             return;
         }
+        String pickCode = CacheService.getInstance(context).getCache(CACHE_BIND_CONFIG, "pick_code");
         submit.setEnabled(false);
         MyProgress myProgress = MyProgress.getInstance();
         myProgress.show(context, "提示", "正在加载");
@@ -434,6 +437,8 @@ public class StockOutBindActivity extends BaseActivity {
         params.addBodyParameter("fromType", "0");
         params.addBodyParameter("taskType", "2");
         params.addBodyParameter("path", "/ckgl");
+        params.addBodyParameter("stockLiftCode", pickCode);
+        params.addBodyParameter("stockDeviceCode", getMac());
         params.addBodyParameter("outstockBatch", "1");
         params.addBodyParameter("operator", Constant.user.getLoginName());
         x.http().post(params, new Callback.CommonCallback<JSONObject>() {

+ 8 - 0
app/src/main/java/com/ygtx/emcs/activity/StockOutNewActivity.java

@@ -555,6 +555,12 @@ public class StockOutNewActivity extends BaseActivity {
             ToastUtils.showToast(context, "出库单没有生成");
             return;
         }
+        String pickCode = CacheService.getInstance(context).getCache(CACHE_BIND_CONFIG, "pick_code");
+        if(StringUtils.isEmpty(pickCode)){
+            ToastUtils.showToast(context, "请设置目标分拣台");
+            toActivity(AppInfoActivity.class);
+            return;
+        }
         binding.btnOk.setEnabled(false);
         MyProgress myProgress = MyProgress.getInstance();
         myProgress.show(context, "提示", "正在加载");
@@ -564,6 +570,8 @@ public class StockOutNewActivity extends BaseActivity {
         params.addBodyParameter("fromType", "0");
         params.addBodyParameter("taskType", "2");
         params.addBodyParameter("path", "/ckgl");
+        params.addBodyParameter("stockLiftCode", pickCode);
+        params.addBodyParameter("stockDeviceCode", getMac());
         params.addBodyParameter("outstockBatch", "1");
         params.addBodyParameter("operator", Constant.user.getLoginName());
         x.http().post(params, new Callback.CommonCallback<JSONObject>() {

+ 67 - 0
app/src/main/java/com/ygtx/emcs/activity/model/DeviceModel.java

@@ -0,0 +1,67 @@
+package com.ygtx.emcs.activity.model;
+
+public class DeviceModel {
+    private Long deviceId;
+    private String deviceCode;
+    private String process;
+    private String location;
+    private String deviceName;
+    private String ip;
+    private String status;
+
+    public Long getDeviceId() {
+        return deviceId;
+    }
+
+    public void setDeviceId(Long deviceId) {
+        this.deviceId = deviceId;
+    }
+
+    public String getDeviceCode() {
+        return deviceCode;
+    }
+
+    public void setDeviceCode(String deviceCode) {
+        this.deviceCode = deviceCode;
+    }
+
+    public String getProcess() {
+        return process;
+    }
+
+    public void setProcess(String process) {
+        this.process = process;
+    }
+
+    public String getLocation() {
+        return location;
+    }
+
+    public void setLocation(String location) {
+        this.location = location;
+    }
+
+    public String getDeviceName() {
+        return deviceName;
+    }
+
+    public void setDeviceName(String deviceName) {
+        this.deviceName = deviceName;
+    }
+
+    public String getIp() {
+        return ip;
+    }
+
+    public void setIp(String ip) {
+        this.ip = ip;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+}

+ 3 - 1
app/src/main/java/com/ygtx/emcs/comm/BaseActivity.java

@@ -1,5 +1,7 @@
 package com.ygtx.emcs.comm;
 
+import static com.ygtx.emcs.util.Constant.DEVICE_FLAG;
+
 import android.app.Activity;
 import android.app.ActivityManager;
 import android.app.AlertDialog;
@@ -402,7 +404,7 @@ public abstract class BaseActivity extends AppCompatActivity {
     }
 
     public String getMac(){
-        return Settings.System.getString(getContentResolver(), Settings.Secure.ANDROID_ID);
+        return DEVICE_FLAG + Settings.System.getString(getContentResolver(), Settings.Secure.ANDROID_ID);
     }
 
     protected void backActivity(){

+ 3 - 0
app/src/main/java/com/ygtx/emcs/util/Constant.java

@@ -32,6 +32,7 @@ public class Constant {
     public static String ACCESS_TOKEN = "";
     public static String REFRESH_TOKEN = "";
     public static String TENANT_ID = "000000";
+    public static String DEVICE_FLAG = "pda";
 
     public static final String CACHE_LOGIN_KEY = "LOGIN";
     public static final String CACHE_BIND_CONTROL = "BIND_CONTROL";
@@ -90,6 +91,8 @@ public class Constant {
     public final static String CHANGE_BOX_AREA = "mes/wm/wmstock/changeBoxOrArea";
 
     public final static String GET_CONFIG = "system/config/list";
+    public final static String ADD_DEVICE = "system/device";
+    public final static String GET_DEVICE = "system/device/getDeviceByDeviceCode";
 
     public final static String RECEIVER_MSG = "com.qy.msg.RECEIVER";
     public final static String PRINTER_ITEM_SEL_KEY = "rms_item_print";