瀏覽代碼

调整SMT上料功能,SMT取消复验校验, 去除SMT作业里关于飞达的提示文字, 修复SMT作业接口.调整SMT作业工单弹窗, 调整SMT接料站位扫码逻辑

songw 3 天之前
父節點
當前提交
e3e02a79a0

+ 54 - 0
app/src/main/java/com/uas/huiyan/bean/SmtWorkorder.java

@@ -0,0 +1,54 @@
+package com.uas.huiyan.bean;
+
+public
+        /**
+         * Created by sw on 2025-11-26
+         */
+class SmtWorkorder {
+    private int PS_ID;  //排位图ID
+    private String PS_PROCESSCODE;  //程序名称
+    private String PS_TABLE;    //板面
+    private String PS_PRODCODE;  //产品编号
+
+    private boolean isSelect;  //是否选中
+
+    public boolean getIsSelect() {
+        return isSelect;
+    }
+
+    public void setIsSelect(boolean isSelect) {
+        this.isSelect = isSelect;
+    }
+
+    public int getPS_ID() {
+        return PS_ID;
+    }
+
+    public void setPS_ID(int PS_ID) {
+        this.PS_ID = PS_ID;
+    }
+
+    public String getPS_PROCESSCODE() {
+        return PS_PROCESSCODE;
+    }
+
+    public void setPS_PROCESSCODE(String PS_PROCESSCODE) {
+        this.PS_PROCESSCODE = PS_PROCESSCODE;
+    }
+
+    public String getPS_TABLE() {
+        return PS_TABLE;
+    }
+
+    public void setPS_TABLE(String PS_TABLE) {
+        this.PS_TABLE = PS_TABLE;
+    }
+
+    public String getPS_PRODCODE() {
+        return PS_PRODCODE;
+    }
+
+    public void setPS_PRODCODE(String PS_PRODCODE) {
+        this.PS_PRODCODE = PS_PRODCODE;
+    }
+}

+ 0 - 7
app/src/main/java/com/uas/huiyan/fragment/GoodOrBadFragment.java

@@ -368,8 +368,6 @@ public class GoodOrBadFragment extends BaseFragment implements View.OnClickListe
             ipAndResourcesPortAdapter.setmList(ComDataBeanList);
             rv_line_ip_port_data.setAdapter(ipAndResourcesPortAdapter);;
         }
-
-
     }
 
     private void initresourcesPopupWindow() {
@@ -511,15 +509,10 @@ public class GoodOrBadFragment extends BaseFragment implements View.OnClickListe
 
         });
 
-
-
-        List<String> list=new ArrayList<>();
         //确定
         sure_tv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                list.clear();
-
                 if (StringUtil.isEmpty(sc_code)){
                     CommonUtil.toastNoRepeat(mActivity,"请选择工序");
                     return;

+ 504 - 117
app/src/main/java/com/uas/huiyan/fragment/SCSMTFragment.java

@@ -1,15 +1,23 @@
 package com.uas.huiyan.fragment;
 
 import android.content.Context;
+import android.graphics.drawable.BitmapDrawable;
 import android.os.Handler;
 import android.os.Message;
+import android.support.annotation.Nullable;
 import android.support.v4.app.Fragment;
+import android.support.v7.widget.DividerItemDecoration;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
 import android.text.Editable;
 import android.text.TextUtils;
 import android.text.TextWatcher;
 import android.util.Log;
+import android.view.Gravity;
 import android.view.KeyEvent;
+import android.view.LayoutInflater;
 import android.view.View;
+import android.view.Window;
 import android.view.inputmethod.EditorInfo;
 import android.view.inputmethod.InputMethodManager;
 import android.widget.AutoCompleteTextView;
@@ -18,6 +26,8 @@ import android.widget.CheckBox;
 import android.widget.CompoundButton;
 import android.widget.EditText;
 import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.PopupWindow;
 import android.widget.RadioButton;
 import android.widget.RadioGroup;
 import android.widget.TextView;
@@ -29,19 +39,25 @@ import com.android.volley.Request;
 import com.android.volley.Response;
 import com.android.volley.VolleyError;
 import com.android.volley.toolbox.StringRequest;
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
 import com.uas.huiyan.R;
 import com.uas.huiyan.application.PdaApplication;
 import com.uas.huiyan.bean.LineInfoBean;
+import com.uas.huiyan.bean.SmtWorkorder;
 import com.uas.huiyan.global.GloableParams;
 import com.uas.huiyan.tools.DataSourceManager;
 import com.uas.huiyan.tools.SharedPreUtil;
 import com.uas.huiyan.tools.VolleyUtil;
 import com.uas.huiyan.util.CommonUtil;
 import com.uas.huiyan.util.Constants;
+import com.uas.huiyan.util.FastjsonUtil;
 import com.uas.huiyan.util.HttpCallback;
 import com.uas.huiyan.util.HttpParams;
 import com.uas.huiyan.util.JsonUtils;
+import com.uas.huiyan.util.LogUtil;
 import com.uas.huiyan.util.MyArrayAdapter;
+import com.uas.huiyan.util.StringUtil;
 import com.uas.huiyan.util.VolleyRequest;
 import com.uas.huiyan.view.ClearableEditText;
 import com.uas.huiyan.view.ConfirmDialog;
@@ -56,6 +72,8 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
+import razerdp.basepopup.BasePopupWindow;
+
 /**
  * SMT 作业设备
  * Created by RaoMeng
@@ -67,8 +85,8 @@ public class SCSMTFragment extends BaseFragment implements View.OnClickListener,
 
     private ClearableEditText etLineCode;
     private AutoCompleteTextView etJobCode;
-    private RadioGroup mBoardRadioGroup,rg_tietiaoma;
-    private RadioButton mARadioButton, mBRadioButton,mCRadioButton;
+    private RadioGroup mBoardRadioGroup;
+    private RadioButton mARadioButton, mBRadioButton, mCRadioButton;
     Context context;
     private TextView tvNotice;
     private CheckBox mOrderCheckBox;
@@ -83,7 +101,15 @@ public class SCSMTFragment extends BaseFragment implements View.OnClickListener,
     private MyArrayAdapter<String> mAutoStringAdapter;
     private boolean mIgnoreFocusChange = false;
     private String mCacheLine = "";
-    private String isPasteBarcode = "";
+    private ClearableEditText cet_program_name;
+    private ImageView iv_search;
+    private ArrayList<SmtWorkorder> smtWorkorderList;
+    private ClearableEditText edit_et;
+    private RecyclerView rv_line_ip_port_data;
+    private SmtWorkorderAdapter smtWorkorderAdapter;
+    private PopupWindow editPW;
+    private String processcode;     //程序名称
+    private String prodcode;        //产品编号
 
     @Override
     protected int getLayout() {
@@ -104,7 +130,9 @@ public class SCSMTFragment extends BaseFragment implements View.OnClickListener,
         mCRadioButton = (RadioButton) root.findViewById(R.id.smt_feeder_C_rb);
         mOrderCheckBox = (CheckBox) root.findViewById(R.id.smt_feeder_order_cb);
         mJobsTitleTextView = (TextView) root.findViewById(R.id.smt_feeder_job_title_tv);
-        rg_tietiaoma = root.findViewById(R.id.rg_tietiaoma);
+
+        cet_program_name = (ClearableEditText) root.findViewById(R.id.cet_program_name);
+        iv_search = (ImageView) root.findViewById(R.id.iv_search);
 
         etLineCode.requestFocus();
 
@@ -114,6 +142,7 @@ public class SCSMTFragment extends BaseFragment implements View.OnClickListener,
         makeCraft = new JSONObject();
         mLineInfo = new LineInfoBean();
 
+        smtWorkorderList = new ArrayList<>();
     }
 
     @Override
@@ -122,15 +151,7 @@ public class SCSMTFragment extends BaseFragment implements View.OnClickListener,
         mConfirmButton.setOnClickListener(this);
         etJobCode.addTextChangedListener(this);
         mBoardRadioGroup.setOnCheckedChangeListener(this);
-
-        rg_tietiaoma.setOnCheckedChangeListener((group, checkedId) -> {
-            if (checkedId == R.id.rb_yes) {
-                isPasteBarcode = "是";
-            } else if (checkedId == R.id.rb_no) {
-                isPasteBarcode = "否";
-            }
-            Log.e("aaa","贴条码:" + isPasteBarcode);
-        });
+        iv_search.setOnClickListener(this);
 
         mCleanIv.setOnClickListener(new View.OnClickListener() {
             @Override
@@ -209,7 +230,7 @@ public class SCSMTFragment extends BaseFragment implements View.OnClickListener,
                         || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
                     //disposeClick();
                     String trim = etJobCode.getText().toString().trim();
-                    getPasteBarcodeData(trim,isPasteBarcode);
+                    //getPasteBarcodeData(trim,isPasteBarcode);
                     return true;
                 }
                 return false;
@@ -234,13 +255,13 @@ public class SCSMTFragment extends BaseFragment implements View.OnClickListener,
         });
     }
 
-    private void getPasteBarcodeData(String wo,String isPasteBarcode) {
+    private void getPasteBarcodeData(String wo, String isPasteBarcode) {
         progressDialog.show();
         VolleyRequest.getInstance().stringRequest(mStringRequest,
                 new HttpParams.Builder()
                         .url(GloableParams.ADDRESS_GET_PASTE_BARCODE)
                         .method(Request.Method.POST)
-                        .addParam("wo",wo)
+                        .addParam("wo", wo)
                         .addParam("res", isPasteBarcode)
                         .build(), new HttpCallback() {
                     @Override
@@ -248,14 +269,7 @@ public class SCSMTFragment extends BaseFragment implements View.OnClickListener,
                         String result = o.toString();
                         com.alibaba.fastjson.JSONObject resultObject = JSON.parseObject(result);
                         com.alibaba.fastjson.JSONObject dataObject = resultObject.getJSONObject("data");
-                        if (dataObject != null) {
-                            String pr_tm_user = dataObject.getString("PR_TM_USER");
-                            if (pr_tm_user.equals("是")) {
-                                rg_tietiaoma.check(R.id.rb_ok);
-                            }else if (pr_tm_user.equals("否")){
-                                rg_tietiaoma.check(R.id.rb_no);
-                            }
-                        }
+
                         progressDialog.dismiss();
                     }
 
@@ -269,95 +283,172 @@ public class SCSMTFragment extends BaseFragment implements View.OnClickListener,
     }
 
     /**
-     * 设备编号输入框回车事件以及失去焦点事件
+     * 线别输入框回车事件以及失去焦点事件
      * 获取线别信息
      *
      * @param lineCode
      */
     private void getLineInfo(String lineCode) {
-        final String maCode = etJobCode.getText().toString().trim();
-
         progressDialog.show();
-        String url = null;
-        try {
-            if (!TextUtils.isEmpty(maCode)) {
-                url = GloableParams.ADDRESS_SMT_GET_DEVICE_LINE
-                        + "?li_code=" + URLEncoder.encode(lineCode, "utf-8")
-                        + "&dl_table=" + mDlTable + "&ma_code=" + URLEncoder.encode(maCode, "utf-8")
-                        + "&has_noma=" + mOrderCheckBox.isChecked();
-            } else {
-                url = GloableParams.ADDRESS_SMT_GET_DEVICE_LINE
-                        + "?li_code=" + URLEncoder.encode(lineCode, "utf-8");
-            }
-        } catch (UnsupportedEncodingException e) {
-            e.printStackTrace();
+        String maCode = etJobCode.getText().toString().trim();
+        if (TextUtils.isEmpty(maCode)) {
+            VolleyRequest.getInstance().stringRequest(mStringRequest,
+                    new HttpParams.Builder()
+                            .url(GloableParams.ADDRESS_SMT_GET_DEVICE_LINE)
+                            .method(Request.Method.GET)
+                            .tag(TAG + "getNameData")
+                            .addParam("li_code", lineCode)       //线别
+                            .flag(0)
+                            .build(), httpCallback);
+        }else {
+            VolleyRequest.getInstance().stringRequest(mStringRequest,
+                    new HttpParams.Builder()
+                            .url(GloableParams.ADDRESS_SMT_GET_DEVICE_LINE)
+                            .method(Request.Method.GET)
+                            .tag(TAG + "getNameData")
+                            .addParam("li_code", lineCode)       //线别
+                            .addParam("ma_code", maCode)      //工单
+                            .addParam("dl_table", mDlTable)     //板面
+                            .addParam("ps_processcode", processcode)      //程序名称
+                            .addParam("has_noma", "" + mOrderCheckBox.isChecked())      //是否有工单
+                            .flag(0)
+                            .build(), httpCallback);
         }
-        PdaApplication.mRequestQueue.cancelAll(TAG + "getLine");
 
-        mStringRequest = new StringRequest(Request.Method.GET, url,
-                new Response.Listener<String>() {
-                    @Override
-                    public void onResponse(String s) {
-                        if (progressDialog.isShowing())
-                            progressDialog.dismiss();
-                        try {
-                            Log.d("result", s);
-                            JSONObject resultObject = new JSONObject(s);
-                            if (resultObject.optBoolean("success")) {
-                                JSONObject dataObject = resultObject.optJSONObject("data");
-                                if (dataObject != null) {
-                                    mLineInfo = new LineInfoBean();
-                                    mLineInfo.setDL_ID(JsonUtils.optLongNotNull(dataObject, "DL_ID"));
-                                    mLineInfo.setDL_DECODE(JsonUtils.optStringNull(dataObject, "DL_DECODE"));
-                                    mLineInfo.setDL_LINECODE(JsonUtils.optStringNull(dataObject, "DL_LINECODE"));
-                                    mLineInfo.setDL_MACODE(JsonUtils.optStringNull(dataObject, "DL_MACODE"));
-                                    mLineInfo.setDL_TABLE(JsonUtils.optStringNull(dataObject, "DL_TABLE"));
-                                    mLineInfo.setDL_STATUSCODE(JsonUtils.optStringNull(dataObject, "DL_STATUSCODE"));
-                                    mLineInfo.setDL_STATUS(JsonUtils.optStringNull(dataObject, "DL_STATUS"));
-                                    mLineInfo.setPS_ID(JsonUtils.optLongNotNull(dataObject, "PS_ID"));
-                                    mLineInfo.setMA_ID(JsonUtils.optLongNotNull(dataObject, "MA_ID"));
-                                    mLineInfo.setDL_PRODCODE(JsonUtils.optStringNotNull(dataObject, "DL_PRODCODE"));
-
-                                    PdaApplication.putDataCache2Map(Constants.FLAG.SMT_DEVICE_LINE_CACHE, mLineInfo);
-                                    gotoSMTContentFragment();
-                                } else {
-                                    CommonUtil.toastNoRepeat(mActivity, "请录入工单号或产品代码!");
-                                    etJobCode.requestFocus();
-                                    CommonUtil.openKeybord(etJobCode, mActivity);
-                                    mIgnoreFocusChange = false;
-                                }
+//        progressDialog.show();
+//        String url = null;
+//        try {
+//            if (!TextUtils.isEmpty(maCode)) {
+//                url = GloableParams.ADDRESS_SMT_GET_DEVICE_LINE
+//                        + "?li_code=" + URLEncoder.encode(lineCode, "utf-8")
+//                        + "&dl_table=" + mDlTable + "&ma_code=" + URLEncoder.encode(maCode, "utf-8")
+//                        + "&has_noma=" + mOrderCheckBox.isChecked();
+//            } else {
+//                url = GloableParams.ADDRESS_SMT_GET_DEVICE_LINE
+//                        + "?li_code=" + URLEncoder.encode(lineCode, "utf-8");
+//            }
+//        } catch (UnsupportedEncodingException e) {
+//            e.printStackTrace();
+//        }
+//        PdaApplication.mRequestQueue.cancelAll(TAG + "getLine");
+//
+//        mStringRequest = new StringRequest(Request.Method.GET, url,
+//                new Response.Listener<String>() {
+//                    @Override
+//                    public void onResponse(String s) {
+//                        if (progressDialog.isShowing())
+//                            progressDialog.dismiss();
+//                        try {
+//                            Log.d("result", s);
+//                            JSONObject resultObject = new JSONObject(s);
+//                            if (resultObject.optBoolean("success")) {
+//                                JSONObject dataObject = resultObject.optJSONObject("data");
+//                                if (dataObject != null) {
+//                                    mLineInfo = new LineInfoBean();
+//                                    mLineInfo.setDL_ID(JsonUtils.optLongNotNull(dataObject, "DL_ID"));
+//                                    mLineInfo.setDL_DECODE(JsonUtils.optStringNull(dataObject, "DL_DECODE"));
+//                                    mLineInfo.setDL_LINECODE(JsonUtils.optStringNull(dataObject, "DL_LINECODE"));
+//                                    mLineInfo.setDL_MACODE(JsonUtils.optStringNull(dataObject, "DL_MACODE"));
+//                                    mLineInfo.setDL_TABLE(JsonUtils.optStringNull(dataObject, "DL_TABLE"));
+//                                    mLineInfo.setDL_STATUSCODE(JsonUtils.optStringNull(dataObject, "DL_STATUSCODE"));
+//                                    mLineInfo.setDL_STATUS(JsonUtils.optStringNull(dataObject, "DL_STATUS"));
+//                                    mLineInfo.setPS_ID(JsonUtils.optLongNotNull(dataObject, "PS_ID"));
+//                                    mLineInfo.setMA_ID(JsonUtils.optLongNotNull(dataObject, "MA_ID"));
+//                                    mLineInfo.setDL_PRODCODE(JsonUtils.optStringNotNull(dataObject, "DL_PRODCODE"));
+//
+//                                    PdaApplication.putDataCache2Map(Constants.FLAG.SMT_DEVICE_LINE_CACHE, mLineInfo);
+//                                    gotoSMTContentFragment();
+//                                } else {
+//                                    CommonUtil.toastNoRepeat(mActivity, "请录入工单号或产品代码!");
+//                                    etJobCode.requestFocus();
+//                                    CommonUtil.openKeybord(etJobCode, mActivity);
+//                                    mIgnoreFocusChange = false;
+//                                }
+//
+//                            }
+//                        } catch (JSONException e) {
+//                            e.printStackTrace();
+//                        }
+//                    }
+//                },
+//                new Response.ErrorListener() {
+//                    @Override
+//                    public void onErrorResponse(VolleyError volleyError) {
+//                        String errorToast = CommonUtil.showErrorToast(volleyError, true);
+//                        if (progressDialog.isShowing())
+//                            progressDialog.dismiss();
+//                        mIgnoreFocusChange = false;
+//                        etJobCode.setText("");
+//                        if (TextUtils.isEmpty(maCode)) {
+//                            etLineCode.setText("");
+//                            etLineCode.requestFocus();
+//                        } else {
+//                            etJobCode.requestFocus();
+//                        }
+//                    }
+//                }) {
+//            @Override
+//            public Map<String, String> getHeaders() throws AuthFailureError {
+//                return VolleyUtil.getVolleyUtil().setCookies();
+//            }
+//        };
+//        mStringRequest.setRetryPolicy(new DefaultRetryPolicy(10 * 1000, 0, 1f));
+//        mStringRequest.setTag(TAG + "getLine");
+//        PdaApplication.mRequestQueue.add(mStringRequest);\
+    }
 
-                            }
-                        } catch (JSONException e) {
-                            e.printStackTrace();
-                        }
-                    }
-                },
-                new Response.ErrorListener() {
-                    @Override
-                    public void onErrorResponse(VolleyError volleyError) {
-                        String errorToast = CommonUtil.showErrorToast(volleyError, true);
-                        if (progressDialog.isShowing())
-                            progressDialog.dismiss();
+    private HttpCallback httpCallback = new HttpCallback() {
+        @Override
+        public void onSuccess(int flag, Object o) throws Exception {
+            if (progressDialog.isShowing())
+                progressDialog.dismiss();
+            try {
+                Log.d("result", o.toString());
+                JSONObject resultObject = new JSONObject(o.toString());
+                if (resultObject.optBoolean("success")) {
+                    JSONObject dataObject = resultObject.optJSONObject("data");
+                    if (dataObject != null) {
+                        mLineInfo = new LineInfoBean();
+                        mLineInfo.setDL_ID(JsonUtils.optLongNotNull(dataObject, "DL_ID"));
+                        mLineInfo.setDL_DECODE(JsonUtils.optStringNull(dataObject, "DL_DECODE"));
+                        mLineInfo.setDL_LINECODE(JsonUtils.optStringNull(dataObject, "DL_LINECODE"));
+                        mLineInfo.setDL_MACODE(JsonUtils.optStringNull(dataObject, "DL_MACODE"));
+                        mLineInfo.setDL_TABLE(JsonUtils.optStringNull(dataObject, "DL_TABLE"));
+                        mLineInfo.setDL_STATUSCODE(JsonUtils.optStringNull(dataObject, "DL_STATUSCODE"));
+                        mLineInfo.setDL_STATUS(JsonUtils.optStringNull(dataObject, "DL_STATUS"));
+                        mLineInfo.setPS_ID(JsonUtils.optLongNotNull(dataObject, "PS_ID"));
+                        mLineInfo.setMA_ID(JsonUtils.optLongNotNull(dataObject, "MA_ID"));
+                        mLineInfo.setDL_PRODCODE(JsonUtils.optStringNotNull(dataObject, "DL_PRODCODE"));
+
+                        PdaApplication.putDataCache2Map(Constants.FLAG.SMT_DEVICE_LINE_CACHE, mLineInfo);
+                        gotoSMTContentFragment();
+                    } else {
+                        CommonUtil.toastNoRepeat(mActivity, "请录入工单号或产品代码!");
+                        etJobCode.requestFocus();
+                        CommonUtil.openKeybord(etJobCode, mActivity);
                         mIgnoreFocusChange = false;
-                        etJobCode.setText("");
-                        if (TextUtils.isEmpty(maCode)) {
-                            etLineCode.setText("");
-                            etLineCode.requestFocus();
-                        } else {
-                            etJobCode.requestFocus();
-                        }
                     }
-                }) {
-            @Override
-            public Map<String, String> getHeaders() throws AuthFailureError {
-                return VolleyUtil.getVolleyUtil().setCookies();
+
+                }
+            } catch (JSONException e) {
+                e.printStackTrace();
             }
-        };
-        mStringRequest.setRetryPolicy(new DefaultRetryPolicy(10 * 1000, 0, 1f));
-        mStringRequest.setTag(TAG + "getLine");
-        PdaApplication.mRequestQueue.add(mStringRequest);
-    }
+        }
+
+        @Override
+        public void onFail(int flag, String failStr) throws Exception {
+            progressDialog.dismiss();
+            mIgnoreFocusChange = false;
+            etJobCode.setText("");
+            if (TextUtils.isEmpty(etJobCode.getText().toString().trim())) {
+                etLineCode.setText("");
+                etLineCode.requestFocus();
+            } else {
+                etJobCode.requestFocus();
+            }
+            CommonUtil.toastNoRepeat(mActivity, failStr);
+        }
+    };
 
     @Override
     protected void initDatas() {
@@ -366,7 +457,7 @@ public class SCSMTFragment extends BaseFragment implements View.OnClickListener,
         VolleyUtil.getVolleyUtil().setVolleyHandler(handler);
         //界面配置
         ((TextView) (getActivity().findViewById(R.id.tv_actionbar_withback))).setText(getString(R.string.title_device_smt));
-//        editTextGetFocus(etLineCode);
+        //        editTextGetFocus(etLineCode);
     }
 
 
@@ -383,18 +474,18 @@ public class SCSMTFragment extends BaseFragment implements View.OnClickListener,
     @Override
     public void onPause() {
         //销毁配置
-//        hideKeyboard(etJobCode);
+        //        hideKeyboard(etJobCode);
         mIgnoreFocusChange = true;
         super.onPause();
-//        if (TextUtils.isEmpty(mCacheLine))
-//            mCacheLine = etLineCode.getText().toString();
+        //        if (TextUtils.isEmpty(mCacheLine))
+        //            mCacheLine = etLineCode.getText().toString();
     }
 
     @Override
     public void onDestroy() {
         Log.e("SMT", "onDestroy");
         //销毁配置
-//        hideKeyboard(etJobCode);
+        //        hideKeyboard(etJobCode);
         VolleyUtil.distoryVolley();
         mIgnoreFocusChange = true;
         super.onDestroy();
@@ -444,8 +535,8 @@ public class SCSMTFragment extends BaseFragment implements View.OnClickListener,
             //获得用户输入的设备号
             String serverDev = makeCraft.getString("mc_devcode").trim();
             //如果用户输入的设备号与服务器返回的设备号不一致
-//            disposeDeviceAfterConfirmDevice();
-//            gotoSMTContentFragment();
+            //            disposeDeviceAfterConfirmDevice();
+            //            gotoSMTContentFragment();
             if (!(serverDev.equals(userStr))) {
                 //弹出对话框让用户选择
                 Log.e("SCSMT", "1");
@@ -520,7 +611,7 @@ public class SCSMTFragment extends BaseFragment implements View.OnClickListener,
 
     //跳转到SMT采集页面 上料操作主页面
     private void gotoSMTContentFragment() {
-//        etLineCode.setText("");
+        //        etLineCode.setText("");
         SharedPreUtil.saveString(mActivity, Constants.FLAG.SMT_LINECODE_CACHE + CommonUtil.getUserName(mActivity) + CommonUtil.getFunMaster(mActivity), mLineInfo.getDL_LINECODE());
         etJobCode.setText("");
         Fragment tmpFragment = new SCSMTIndexFragment();
@@ -628,12 +719,274 @@ public class SCSMTFragment extends BaseFragment implements View.OnClickListener,
 
     @Override
     public void onClick(View v) {
-        String trim = etJobCode.getText().toString().trim();
-        getPasteBarcodeData(trim,isPasteBarcode);
-//        disposeClick();
-//        confirmDevice();
-        String lineCode = etLineCode.getText().toString().trim();
-        getLineInfo(lineCode);
+        switch (v.getId()) {
+            case R.id.iv_search:
+                String liceCode = etLineCode.getText().toString().trim();
+                String jobCode = etJobCode.getText().toString().trim();
+                if (TextUtils.isEmpty(jobCode)) {
+                    CommonUtil.toastNoRepeat(mActivity, "请填写工单和选择板面");
+                    return;
+                }
+                getNameData(liceCode, jobCode, mDlTable);
+                break;
+            case R.id.btn_device_ok_smt:
+                //String trim = etJobCode.getText().toString().trim();
+                //        getPasteBarcodeData(trim,isPasteBarcode);
+                //        disposeClick();
+                //        confirmDevice();
+                String lineCode = etLineCode.getText().toString().trim();
+                getLineInfo(lineCode);
+                break;
+        }
+    }
+
+    private void getNameData(String li_code, String ma_code, String dl_table) {
+        progressDialog.show();
+        VolleyRequest.getInstance().stringRequest(mStringRequest,
+                new HttpParams.Builder()
+                        .url(GloableParams.ADDRESS_GET_PROD_SMT)
+                        .method(Request.Method.GET)
+                        .tag(TAG + "getNameData")
+                        .addParam("li_code", li_code)
+                        .addParam("ma_code", ma_code)
+                        .addParam("dl_table", dl_table)
+                        .flag(0)
+                        .build(), new HttpCallback() {
+                    @Override
+                    public void onSuccess(int flag, Object o) throws Exception {
+                        progressDialog.dismiss();
+                        Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(), "success");
+                        com.alibaba.fastjson.JSONArray dataArray = FastjsonUtil.getJSONArray(o.toString(), "data");
+                        if (isSuccess) {
+                            if (dataArray == null) {
+                                CommonUtil.toastNoRepeat(mActivity, "未搜索到匹配数据");
+                            } else {
+                                smtWorkorderList.clear();
+                                for (Object index : dataArray) {
+                                    com.alibaba.fastjson.JSONObject data = (com.alibaba.fastjson.JSONObject) index;
+                                    SmtWorkorder smtWorkorder = new SmtWorkorder();
+                                    smtWorkorder.setPS_ID(data.getInteger("PS_ID"));
+                                    smtWorkorder.setPS_PROCESSCODE(data.getString("PS_PROCESSCODE"));
+                                    smtWorkorder.setPS_TABLE(data.getString("PS_TABLE"));
+                                    smtWorkorder.setPS_PRODCODE(data.getString("PS_PRODCODE"));
+                                    smtWorkorderList.add(smtWorkorder);
+                                }
+                                initresourcesPopupWindow();
+                            }
+                        }
+                    }
+
+                    @Override
+                    public void onFail(int flag, String failStr) throws Exception {
+                        progressDialog.dismiss();
+                        etLineCode.setText("");
+                        etJobCode.setText("");
+                        CommonUtil.toastNoRepeat(mActivity, failStr);
+                    }
+                });
+    }
+
+    private void initresourcesPopupWindow() {
+        View contView = LayoutInflater.from(mActivity).inflate(R.layout.index_recycle_item, null);
+        edit_et = (ClearableEditText) contView.findViewById(R.id.edit_et);
+        TextView sure_tv = (TextView) contView.findViewById(R.id.sure_tv);
+        TextView cancle_tv = (TextView) contView.findViewById(R.id.cancle_tv);
+        ImageView search_im = contView.findViewById(R.id.search_im);
+        LinearLayout line_top = contView.findViewById(R.id.line_top);
+        rv_line_ip_port_data = contView.findViewById(R.id.rv_ip_port_data);
+        rv_line_ip_port_data.addItemDecoration(new DividerItemDecoration(mActivity, LinearLayout.VERTICAL));
+        rv_line_ip_port_data.setLayoutManager(new LinearLayoutManager(mActivity));
+        smtWorkorderAdapter = new SmtWorkorderAdapter(smtWorkorderList);
+//        smtWorkorderAdapter.setmList(smtWorkorderList);
+        rv_line_ip_port_data.setAdapter(smtWorkorderAdapter);
+//        setlineAdapter(smtWorkorderList);
+
+        edit_et.requestFocus();
+        editPW = new PopupWindow(contView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, true);
+        editPW.setTouchable(true);
+        editPW.setBackgroundDrawable(new BitmapDrawable());
+        editPW.setOnDismissListener(new BasePopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                closeListPopupWindow();
+            }
+        });
+        View parentView = mActivity.getWindow().findViewById(Window.ID_ANDROID_CONTENT);
+        editPW.showAtLocation(parentView, Gravity.CENTER, 0, 0);
+        CommonUtil.setBackgroundAlpha(mActivity, 0.5f);
+        edit_et.setOnEditorActionListener(new TextView.OnEditorActionListener() {
+            @Override
+            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
+                if (actionId == EditorInfo.IME_ACTION_DONE
+                        || actionId == EditorInfo.IME_ACTION_SEND
+                        || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
+                    String mSearchStr = edit_et.getText().toString().trim();
+                    if (!mSearchStr.isEmpty()) {
+                        List<SmtWorkorder> thisList = new ArrayList<>();
+                        for (int i = 0; i < smtWorkorderList.size(); i++) {
+                            if (smtWorkorderList.get(i).getPS_PROCESSCODE().contains(mSearchStr) || smtWorkorderList.get(i).getPS_PRODCODE().contains(mSearchStr)) {
+                                thisList.add(smtWorkorderList.get(i));
+                            }
+                            if (i == smtWorkorderList.size() - 1) {
+                                smtWorkorderAdapter = new SmtWorkorderAdapter(thisList);
+                                rv_line_ip_port_data.setAdapter(smtWorkorderAdapter);
+                                LogUtil.i("mSearchStr", JSON.toJSONString(thisList));
+                            }
+                            List<SmtWorkorder> lineCodeEntities = smtWorkorderAdapter.getmList();
+                            for (int j = 0; j < lineCodeEntities.size(); j++) {
+                                lineCodeEntities.get(j).setIsSelect(false);
+                            }
+                            smtWorkorderAdapter.notifyDataSetChanged();
+                        }
+
+
+                    } else {
+                        smtWorkorderAdapter = new SmtWorkorderAdapter(smtWorkorderList);
+                        rv_line_ip_port_data.setAdapter(smtWorkorderAdapter);
+                        List<SmtWorkorder> lineCodeEntities = smtWorkorderAdapter.getmList();
+                        for (int i = 0; i < lineCodeEntities.size(); i++) {
+                            lineCodeEntities.get(i).setIsSelect(false);
+                        }
+                        smtWorkorderAdapter.notifyDataSetChanged();
+
+                    }
+                    smtWorkorderAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
+
+                        @Override
+                        public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
+                            List<SmtWorkorder> ipAndPortBeans = smtWorkorderAdapter.getmList();
+                            processcode = ipAndPortBeans.get(position).getPS_PROCESSCODE();
+                            prodcode = ipAndPortBeans.get(position).getPS_PRODCODE();
+                            for (int i = 0; i < ipAndPortBeans.size(); i++) {
+                                ipAndPortBeans.get(i).setIsSelect(false);
+                            }
+                            ipAndPortBeans.get(position).setIsSelect(true);
+                            smtWorkorderAdapter.notifyDataSetChanged();
+                        }
+                    });
+                    return true;
+                }
+                return false;
+            }
+        });
+
+
+        search_im.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                String mSearchStr = edit_et.getText().toString().trim();
+                if (!mSearchStr.isEmpty()) {
+                    List<SmtWorkorder> thisList = new ArrayList<>();
+                    for (int i = 0; i < smtWorkorderList.size(); i++) {
+                        if (smtWorkorderList.get(i).getPS_PROCESSCODE().contains(mSearchStr) || smtWorkorderList.get(i).getPS_PRODCODE().contains(mSearchStr)) {
+                            thisList.add(smtWorkorderList.get(i));
+                        }
+                        if (i == smtWorkorderList.size() - 1) {
+                            smtWorkorderAdapter = new SmtWorkorderAdapter(thisList);
+                            rv_line_ip_port_data.setAdapter(smtWorkorderAdapter);
+                            LogUtil.i("mSearchStr", JSON.toJSONString(thisList));
+
+                        }
+                        List<SmtWorkorder> lineCodeEntities = smtWorkorderAdapter.getmList();
+                        for (int j = 0; j < lineCodeEntities.size(); j++) {
+                            lineCodeEntities.get(j).setIsSelect(false);
+                        }
+                        smtWorkorderAdapter.notifyDataSetChanged();
+                    }
+
+
+                } else {
+                    smtWorkorderAdapter = new SmtWorkorderAdapter(smtWorkorderList);
+                    rv_line_ip_port_data.setAdapter(smtWorkorderAdapter);
+                    List<SmtWorkorder> lineCodeEntities = smtWorkorderAdapter.getmList();
+                    for (int i = 0; i < lineCodeEntities.size(); i++) {
+                        lineCodeEntities.get(i).setIsSelect(false);
+                    }
+                    smtWorkorderAdapter.notifyDataSetChanged();
+
+                }
+                //                getRepairStep(mSearchStr);
+                smtWorkorderAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
+                    @Override
+                    public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
+                        List<SmtWorkorder> ipAndPortBeans = smtWorkorderAdapter.getmList();
+                        processcode = ipAndPortBeans.get(position).getPS_PROCESSCODE();
+                        prodcode = ipAndPortBeans.get(position).getPS_PRODCODE();
+                        for (int i = 0; i < ipAndPortBeans.size(); i++) {
+                            ipAndPortBeans.get(i).setIsSelect(false);
+                        }
+                        ipAndPortBeans.get(position).setIsSelect(true);
+                        smtWorkorderAdapter.notifyDataSetChanged();
+                    }
+                });
+            }
+
+        });
+
+        //确定
+        sure_tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (StringUtil.isEmpty(processcode)) {
+                    CommonUtil.toastNoRepeat(mActivity, "请选择程序名称");
+                    return;
+                }
+                cet_program_name.setText(processcode);
+                cet_program_name.requestFocus();
+                cet_program_name.setSelection(cet_program_name.getText().length());
+                closeListPopupWindow();
+            }
+        });
+
+        //取消
+        cancle_tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+
+                closeListPopupWindow();
+            }
+        });
+
+        String mSearchStr = edit_et.getText().toString().trim();
+        if (mSearchStr.isEmpty()) {
+            smtWorkorderAdapter = new SmtWorkorderAdapter(smtWorkorderList);
+            rv_line_ip_port_data.setAdapter(smtWorkorderAdapter);
+            List<SmtWorkorder> lineCodeEntities = smtWorkorderAdapter.getmList();
+            for (int i = 0; i < lineCodeEntities.size(); i++) {
+                lineCodeEntities.get(i).setIsSelect(false);
+            }
+            smtWorkorderAdapter.notifyDataSetChanged();
+
+            smtWorkorderAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
+                @Override
+                public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
+                    List<SmtWorkorder> ipAndPortBeans = smtWorkorderAdapter.getmList();
+                    processcode = ipAndPortBeans.get(position).getPS_PROCESSCODE();
+                    prodcode = ipAndPortBeans.get(position).getPS_PRODCODE();
+                    for (int i = 0; i < ipAndPortBeans.size(); i++) {
+                        ipAndPortBeans.get(i).setIsSelect(false);
+                    }
+                    ipAndPortBeans.get(position).setIsSelect(true);
+                    smtWorkorderAdapter.notifyDataSetChanged();
+                }
+            });
+        }
+    }
+
+    private void setlineAdapter(ArrayList<SmtWorkorder> mList) {
+        LogUtil.i("mList", JSON.toJSONString(mList));
+        smtWorkorderAdapter = new SmtWorkorderAdapter(mList);
+        smtWorkorderAdapter.setmList(smtWorkorderList);
+        smtWorkorderAdapter.notifyDataSetChanged();
+        rv_line_ip_port_data.setAdapter(smtWorkorderAdapter);
+    }
+
+    private void closeListPopupWindow() {
+        if (editPW != null) {
+            editPW.dismiss();
+            editPW = null;
+            CommonUtil.setBackgroundAlpha(mActivity, 1f);
+        }
     }
 
     private void confirmDevice() {
@@ -868,8 +1221,8 @@ public class SCSMTFragment extends BaseFragment implements View.OnClickListener,
     public boolean onKeyDown(int keyCode, KeyEvent event) {
         if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
             if (progressDialog != null && progressDialog.isShowing()) {
-//                loadingView.dismiss();
-//                VolleyUtil.distoryVolley();
+                //                loadingView.dismiss();
+                //                VolleyUtil.distoryVolley();
                 return true;
             }
             if (confirmDialog != null && confirmDialog.isShowing()) {
@@ -895,4 +1248,38 @@ public class SCSMTFragment extends BaseFragment implements View.OnClickListener,
             mDlTable = "C";
         }
     }
+
+    private static class SmtWorkorderAdapter extends BaseQuickAdapter<SmtWorkorder, BaseViewHolder> {
+        private List<SmtWorkorder> mmmmList;
+
+        public List<SmtWorkorder> getmList() {
+            return mmmmList;
+        }
+
+        public void setmList(List<SmtWorkorder> mList) {
+            this.mmmmList = mList;
+        }
+
+        public SmtWorkorder getBeanByPositon(int position) {
+            return mmmmList.get(position);
+        }
+
+        private SmtWorkorderAdapter(@Nullable List<SmtWorkorder> data) {
+            super(R.layout.item_smt_workorder, data);
+            this.mmmmList = data;
+        }
+
+        @Override
+        protected void convert(BaseViewHolder helper, SmtWorkorder item) {
+            helper.setText(R.id.tv_program_name, item.getPS_PROCESSCODE());
+            helper.setText(R.id.tv_product_no, item.getPS_PRODCODE());
+            LinearLayout line_true = helper.itemView.findViewById(R.id.ll_line_true);
+            if (item.getIsSelect()) {
+                line_true.setSelected(true);
+            } else {
+                line_true.setSelected(false);
+            }
+        }
+    }
+
 }

+ 15 - 14
app/src/main/java/com/uas/huiyan/fragment/SCSMTInFragment.java

@@ -224,7 +224,7 @@ public class SCSMTInFragment extends BaseFragment implements View.OnClickListene
                         mSmtDslBean = new SmtDslBean();
                         mSmtDslBean.setDsl_location(collect);
                         mSmtDslBean.setDsl_prodcode(psl_prodcode);
-                        mCollectEditText.setHint("请录入飞达编号");
+                        mCollectEditText.setHint("请录入物料条码");
                         if (!TextUtils.isEmpty(psl_repcode)) {
 //                                if (TextUtils.isEmpty(psl_repcode) || "null".equals(psl_repcode))
 //                                    tvMsgNotice.setText("站位采集成功,请采集首选料[" + psl_prodcode + "]的料卷编号");
@@ -240,7 +240,7 @@ public class SCSMTInFragment extends BaseFragment implements View.OnClickListene
                             tvMsgNotice.setText(notice);
                         } else if (!TextUtils.isEmpty(psl_prodcode)) {
                             tvMsgNotice.setTextColor(getResources().getColor(R.color.green));
-                            tvMsgNotice.setText("站位采集成功,请采集物料\n" + psl_prodcode + "\n的飞达编号");
+                            tvMsgNotice.setText("站位采集成功,请采集物料\n" + psl_prodcode + "\n的物料条码");
                         } else {
                             tvMsgNotice.setTextColor(getResources().getColor(R.color.green));
                             tvMsgNotice.setText("站位采集成功,物料编号获取失败");
@@ -306,7 +306,7 @@ public class SCSMTInFragment extends BaseFragment implements View.OnClickListene
                                 tvMsgQuantity.setText("数量:" + CommonUtil.doubleFormat(JsonUtils.optDoubleNotNull(dataObject, "DSL_REMAINQTY")));
 
                                 double notCheckCount = JsonUtils.optDoubleNotNull(dataObject, "NotFeedCount");
-                                String notice = "飞达规格:" + JsonUtils.optStringNotNull(dataObject, "DSL_FESPEC");
+                                String notice = "规格:" + JsonUtils.optStringNotNull(dataObject, "DSL_FESPEC");
                                 if (notCheckCount == 0) {
                                     notice = notice + "\n\n上料已完成";
                                     mNoticeStr = "上料已完成";
@@ -342,7 +342,8 @@ public class SCSMTInFragment extends BaseFragment implements View.OnClickListene
                                         noticeStr = noticeStr.substring(0, noticeStr.length() - 1);
                                     }
                                     mNoticeStr = noticeStr;
-                                    SpannableString spannableString = CommonUtil.spanString(notice, mActivity, (buffer + "\n\n未上料站位").length(), (buffer + "\n\n未上料站位").length() + CommonUtil.doubleFormat(notCheckCount).length(), R.color.blue_800);
+                                    SpannableString spannableString = CommonUtil.spanString(notice, mActivity, (buffer + "\n\n未上料站位").length(),
+                                            (buffer + "\n\n未上料站位").length() + CommonUtil.doubleFormat(notCheckCount).length(), R.color.blue_800);
                                     tvMsgSpec.setText(spannableString);
                                 }
                             }
@@ -578,11 +579,11 @@ public class SCSMTInFragment extends BaseFragment implements View.OnClickListene
                 VolleyUtil.FRAGMENT_SCMAKE_SMTIN_BARREMAIN, paramJson);
     }
 
-    //按钮点击事件:当飞达编号为空时
+    //按钮点击事件:当物料条码为空时
     private void disposeOnClickFecode() {
-        //获取飞达编号
+        //获取物料条码
         String fecodeStr = tvFecode.getText().toString().trim();
-        //->else if(msl_fecode为空),料卷号不为空,飞达编号为空时
+        //->else if(msl_fecode为空),料卷号不为空,物料条码为空时
         if (fecodeStr.equals("") || fecodeStr == null) {
             //tvFecode.setText(code);
             try {
@@ -617,11 +618,11 @@ public class SCSMTInFragment extends BaseFragment implements View.OnClickListene
             //料卷编号和数量输入框显示对应的值,清空采集栏中的值
             tvBarcode.setText(mslBarcode);
             tvRemainqty.setText(mslRemainQty);
-            //将采集栏中的提示文字修改为“请录入飞达编号
+            //将采集栏中的提示文字修改为“请录入物料条码
             setEtHint();
             //清空提示栏信息
             title = "料卷采集成功";
-            content = "请采集物料" + msl.get("msl_prodcode") + "的飞达编号";
+            content = "请采集物料" + msl.get("msl_prodcode") + "的物料条码";
             color = getResources().getColor(R.color.green);
             setNotice(title, content, color);
         } catch (JSONException e) {
@@ -651,7 +652,7 @@ public class SCSMTInFragment extends BaseFragment implements View.OnClickListene
         tvMsgNotice.setTextColor(getResources().getColor(R.color.green));
         tvMsgLocation.setText("物料号:" + productStr);
         tvMsgProdcode.setText("站位:" + locationStr);
-        tvMsgBarcode.setText("飞达:" + fecodeStr);
+//        tvMsgBarcode.setText("飞达:" + fecodeStr);
         tvMsgQuantity.setText("料卷号:" + barcodeStr);
         tvMsgSpec.setText("数量:" + qtyStr);
         //新一轮采集
@@ -781,7 +782,7 @@ public class SCSMTInFragment extends BaseFragment implements View.OnClickListene
      */
     @Override
     public void setEtHint() {
-        //获取站位\料卷\飞达编号
+        //获取站位\料卷\物料条码
         String locationStr = tvLocation.getText().toString().trim();
         String barcodeStr = tvBarcode.getText().toString().trim();
         String remainQty = tvRemainqty.getText().toString().trim();
@@ -798,7 +799,7 @@ public class SCSMTInFragment extends BaseFragment implements View.OnClickListene
         else if (remainQty.equals("") || remainQty == null) {
             etCollect.setHint(R.string.hint_smtchild_barcode);
         }
-        //->else if(msl_fecode为空),料卷号不为空,飞达编号为空时
+        //->else if(msl_fecode为空),料卷号不为空,物料条码为空时
         else if (fecodeStr.equals("") || barcodeStr == null) {
             etCollect.setHint(R.string.hint_smtchild_fecode);
         }*/
@@ -823,7 +824,7 @@ public class SCSMTInFragment extends BaseFragment implements View.OnClickListene
             return;
         }
         Log.e("SCSMT:code", "" + code);
-        //获取站位\料卷\飞达编号
+        //获取站位\料卷\物料条码
         String locationStr = tvLocation.getText().toString().trim();
         String barcodeStr = tvBarcode.getText().toString().trim();
         String fecodeStr = tvFecode.getText().toString().trim();
@@ -835,7 +836,7 @@ public class SCSMTInFragment extends BaseFragment implements View.OnClickListene
         else if (barcodeStr.equals("") || barcodeStr == null) {
             disposeOnClickBarcode();
         }
-        //->else if(msl_fecode为空),料卷号不为空,飞达编号为空时
+        //->else if(msl_fecode为空),料卷号不为空,物料条码为空时
         else if (fecodeStr.equals("") || barcodeStr == null) {
             disposeOnClickFecode();
         }

+ 5 - 5
app/src/main/java/com/uas/huiyan/fragment/SCSMTIndexFragment.java

@@ -308,11 +308,11 @@ public class SCSMTIndexFragment extends BaseFragment implements AdapterView.OnIt
                         fragment = new SCSMTUnBindFragment();
                         FragmentUtils.switchFragment(this, fragment);
                         break;
-                    //复检效验
-                    case GloableParams.LISTNAME_FEEDER_CHECKINSPECTION:
-                        fragment = new SCSMTInspectionFragment();
-                        FragmentUtils.switchFragment(this, fragment);
-                        break;
+//                    //复检效验
+//                    case GloableParams.LISTNAME_FEEDER_CHECKINSPECTION:
+//                        fragment = new SCSMTInspectionFragment();
+//                        FragmentUtils.switchFragment(this, fragment);
+//                        break;
                 }
             }
 

+ 1 - 1
app/src/main/java/com/uas/huiyan/fragment/SCSMTInspectionFragment.java

@@ -1114,7 +1114,7 @@ public class SCSMTInspectionFragment extends BaseFragment implements View.OnClic
                             }
 
                         } catch (Exception e) {
-
+                            e.printStackTrace();
                         }
 
                     }

+ 38 - 31
app/src/main/java/com/uas/huiyan/fragment/SCSMTJointFragment.java

@@ -11,6 +11,7 @@ import android.view.View;
 import android.view.inputmethod.EditorInfo;
 import android.view.inputmethod.InputMethodManager;
 import android.widget.Button;
+import android.widget.CheckBox;
 import android.widget.EditText;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
@@ -67,6 +68,7 @@ public class SCSMTJointFragment extends BaseFragment implements View.OnClickList
     private String mSmtLocationCache;
     private SmtDslBean mSmtDslBean = new SmtDslBean();
     private StringRequest mStringRequest;
+    private CheckBox cb_xiaoyan;
 
     @Override
     protected int getLayout() {
@@ -96,6 +98,8 @@ public class SCSMTJointFragment extends BaseFragment implements View.OnClickList
         mLocationTextView = (TextViewWithButton) root.findViewById(R.id.smt_change_location_tv);
         mCollectEditText = (ClearableEditText) root.findViewById(R.id.smt_change_collect_et);
 
+        cb_xiaoyan = (CheckBox) root.findViewById(R.id.cb_xiaoyan);
+
         mCollectEditText.requestFocus();
 
         wrongColor = getResources().getColor(R.color.text_error);
@@ -106,23 +110,23 @@ public class SCSMTJointFragment extends BaseFragment implements View.OnClickList
 
         mLineInfoBean = (LineInfoBean) PdaApplication.getDataCacheFromMap(Constants.FLAG.SMT_DEVICE_LINE_CACHE);
 
-//        JSONObject paramJson = new JSONObject();
-//        try {
-//            makeCraft = new JSONObject(makeCraftStr);
-//            Log.e(TAG,"makeCraft"+makeCraft);
-//            String psId = makeCraft.getString("ps_id");
-//            String prodcode = makeCraft.getString("mc_prodcode");
-//            paramJson.put("ps_id",psId);
-//            paramJson.put("prodcode",prodcode);
-//        } catch (JSONException e) {
-//            e.printStackTrace();
-//        }
-//        //if(jobCode.equals("")||jobCode == null||jobCode.equals("null")){jobCode = "无";}
-//
-//        //获取网络数据
-//        requestType = VolleyUtil.FRAGMENT_SCMAKE_SMTJOINT_DETAIL;
-//        VolleyUtil.getVolleyUtil().requestJsonObject(getActivity(), GloableParams.ADDRESS_SMTDETAIL_APPLY,VolleyUtil.METHOD_POST,
-//                requestType,paramJson);
+        //        JSONObject paramJson = new JSONObject();
+        //        try {
+        //            makeCraft = new JSONObject(makeCraftStr);
+        //            Log.e(TAG,"makeCraft"+makeCraft);
+        //            String psId = makeCraft.getString("ps_id");
+        //            String prodcode = makeCraft.getString("mc_prodcode");
+        //            paramJson.put("ps_id",psId);
+        //            paramJson.put("prodcode",prodcode);
+        //        } catch (JSONException e) {
+        //            e.printStackTrace();
+        //        }
+        //        //if(jobCode.equals("")||jobCode == null||jobCode.equals("null")){jobCode = "无";}
+        //
+        //        //获取网络数据
+        //        requestType = VolleyUtil.FRAGMENT_SCMAKE_SMTJOINT_DETAIL;
+        //        VolleyUtil.getVolleyUtil().requestJsonObject(getActivity(), GloableParams.ADDRESS_SMTDETAIL_APPLY,VolleyUtil.METHOD_POST,
+        //                requestType,paramJson);
 
     }
 
@@ -154,14 +158,15 @@ public class SCSMTJointFragment extends BaseFragment implements View.OnClickList
                 mCollectEditText.setHint(COLLECT_LOCATION);
                 mCollectEditText.setText("");
 
-//                tvMsgNotice.setText("");
-//                tvMsgProdcode.setText("");
-//                tvMsgLocation.setText("");
-//                tvMsgBarcode.setText("");
-//                tvMsgQuantity.setText("");
-//                tvMsgSpec.setText("");
+                //                tvMsgNotice.setText("");
+                //                tvMsgProdcode.setText("");
+                //                tvMsgLocation.setText("");
+                //                tvMsgBarcode.setText("");
+                //                tvMsgQuantity.setText("");
+                //                tvMsgSpec.setText("");
             }
         });
+
     }
 
     private void confirmEvent(String collect) {
@@ -229,7 +234,9 @@ public class SCSMTJointFragment extends BaseFragment implements View.OnClickList
                         tvMsgNotice.setText("");
                         mCollectEditText.setHint(COLLECT_OLD_PRODCODE);
 
-                        joinForcast(collect);
+                        if (!cb_xiaoyan.isChecked()) {
+                            joinForcast(collect);
+                        }
                         break;
                     }
                 }
@@ -253,7 +260,8 @@ public class SCSMTJointFragment extends BaseFragment implements View.OnClickList
 
     private void joinForcast(String collect) {
         progressDialog.show();
-        String url = GloableParams.ADDRESS_SMT_JOIN_FORCAST_DATAGET + "?dsl_location=" + collect
+        String url = GloableParams.ADDRESS_SMT_JOIN_FORCAST_DATAGET
+                + "?dsl_location=" + collect
                 + "&dsl_linecode=" + mLineInfoBean.getDL_LINECODE()
                 + "&dsl_table=" + mLineInfoBean.getDL_TABLE();
         try {
@@ -262,7 +270,7 @@ public class SCSMTJointFragment extends BaseFragment implements View.OnClickList
                     + "&dsl_linecode=" + URLEncoder.encode(mLineInfoBean.getDL_LINECODE(), "utf-8")
                     + "&dsl_table=" + URLEncoder.encode(mLineInfoBean.getDL_TABLE(), "utf-8");
         } catch (Exception e) {
-
+            e.printStackTrace();
         }
         PdaApplication.mRequestQueue.cancelAll(TAG + "forcast");
         mStringRequest = new StringRequest(Request.Method.GET, url,
@@ -345,7 +353,7 @@ public class SCSMTJointFragment extends BaseFragment implements View.OnClickList
                         if (progressDialog.isShowing())
                             progressDialog.dismiss();
                         String errorToast = CommonUtil.showErrorToast(volleyError, false);
-//                        joinDataCheck(collect, location, errorToast, false);
+                        //                        joinDataCheck(collect, location, errorToast, false);
                         mCollectEditText.setText("");
                         tvMsgNotice.setTextColor(getResources().getColor(R.color.red));
                         tvMsgNotice.setText(errorToast);
@@ -428,7 +436,6 @@ public class SCSMTJointFragment extends BaseFragment implements View.OnClickList
                                 SpannableString spannableString = CommonUtil.spanString(dataCheckResult + "\n请采集物料\n" + psl_prodcode + "\n的料卷编号/物料编号", mActivity, 0, dataCheckResult.length(), R.color.red);
                                 tvMsgNotice.setText(spannableString);
                             }
-
                         } else {
                             tvMsgNotice.setTextColor(getResources().getColor(R.color.red));
                             if (isSuccess) {
@@ -570,7 +577,7 @@ public class SCSMTJointFragment extends BaseFragment implements View.OnClickList
     //采集栏enter事件、按钮点击事件
     private void disposeOnClick() {
         //->获取输入框文字内容
-//        code = etCollect.getText().toString().trim();
+        //        code = etCollect.getText().toString().trim();
         if (code.equals("") || code == null) {
             return;
         }
@@ -889,8 +896,8 @@ public class SCSMTJointFragment extends BaseFragment implements View.OnClickList
     public boolean onKeyDown(int keyCode, KeyEvent event) {
         if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
             if (progressDialog != null && progressDialog.isShowing()) {
-//                loadingView.dismiss();
-//                VolleyUtil.distoryVolley();
+                //                loadingView.dismiss();
+                //                VolleyUtil.distoryVolley();
                 return true;
             }
         }

+ 11 - 3
app/src/main/java/com/uas/huiyan/global/GloableParams.java

@@ -384,6 +384,8 @@ public class GloableParams {
     public static String ADDRESS_DOCUMENTLIBRARY_RETURN;
     public static String ADDRESS_DOCUMENTLIBRARY_SCRAP;
 
+    public static String ADDRESS_GET_PROD_SMT;     //SMT作业的放大镜
+
     //连接服务器请求地址
     private static final String ADDRESSTAIL_CONNECT_SERVER = "/api/pda/getAllMasters.action";
     //登录页面请求地址
@@ -1001,6 +1003,9 @@ public class GloableParams {
     //报废
     private static final String ADDRESSTAIL_SCRAP = "/api/pda/spm/Scrap.action";
 
+    //新增放大镜
+    private static final String ADDRESSTAIL_GET_PROD_SMT = "/api/pda/smt/getProdSmt.action";
+
 
     /**
      * 设置页面
@@ -1165,7 +1170,7 @@ public class GloableParams {
     public static final String LISTNAME_PREMATERIAL_QUERY = "备料查询";
     public static final String LISTNAME_FEEDER_BIND = "飞达料盘绑定";
     public static final String LISTNAME_FEEDER_UNBIND = "飞达料盘解绑";
-    public static final String LISTNAME_FEEDER_CHECKINSPECTION = "复检校验";
+//    public static final String LISTNAME_FEEDER_CHECKINSPECTION = "复检校验";
 
     public static final String[] feederListNames = {LISTNAME_FEEDER_IN, LISTNAME_FEEDER_JOIN,
             LISTNAME_FEEDER_DOWN,
@@ -1179,7 +1184,7 @@ public class GloableParams {
             //            LISTNAME_PREMATERIAL_QUERY,
             //            LISTNAME_FEEDER_BIND,
             //            LISTNAME_FEEDER_UNBIND,
-            LISTNAME_FEEDER_CHECKINSPECTION
+//            LISTNAME_FEEDER_CHECKINSPECTION
     };
     public static final int[] feederListImgs = {
             R.drawable.index_smt_up,
@@ -1195,7 +1200,8 @@ public class GloableParams {
             //            R.drawable.index_prematerial_query,
             //            R.drawable.index_prematerial_query,
             //            R.drawable.index_smt_query,
-            R.drawable.index_smt_check};
+//            R.drawable.index_smt_check
+    };
 
     //-->入库管理
     public static final String MENU_STORAGE_RECHARGE = "收料";
@@ -1618,6 +1624,8 @@ public class GloableParams {
         GloableParams.ADDRESS_DOCUMENTLIBRARY_RETURN= uriHead + GloableParams.ADDRESSTAIL_RETURN;
         GloableParams.ADDRESS_DOCUMENTLIBRARY_SCRAP= uriHead + GloableParams.ADDRESSTAIL_SCRAP;
 
+        GloableParams.ADDRESS_GET_PROD_SMT= uriHead + GloableParams.ADDRESSTAIL_GET_PROD_SMT;
+
 
 
     }

+ 1 - 1
app/src/main/java/com/uas/huiyan/util/MyLog.java

@@ -1,4 +1,4 @@
-package com.uas.pda_wps.util;
+package com.uas.huiyan.util;
 
 import android.annotation.SuppressLint;
 import android.util.Log;

+ 1 - 1
app/src/main/java/com/uas/huiyan/util/VolleyRequest.java

@@ -100,7 +100,7 @@ public class VolleyRequest {
                 index++;
             }
         }
-
+        MyLog.e("aaa","接口地址:" + url);
         PdaApplication.mRequestQueue.cancelAll(httpParams.getUrl());
 
         stringRequest = new StringRequest(httpParams.getMethod(), url,

+ 29 - 22
app/src/main/res/layout/fragment_scmake_smtfeeder.xml

@@ -21,7 +21,7 @@
                 <TextView
                     style="@style/tl_tv_style"
                     android:layout_height="match_parent"
-                    android:gravity="center"
+                    android:gravity="left|center"
                     android:paddingLeft="20dp"
                     android:paddingRight="20dp"
                     android:text="线别"
@@ -45,7 +45,7 @@
                     android:id="@+id/smt_feeder_job_title_tv"
                     style="@style/tl_tv_style"
                     android:layout_height="match_parent"
-                    android:gravity="center"
+                    android:gravity="left|center"
                     android:paddingLeft="20dp"
                     android:paddingRight="20dp"
                     android:text="工单"
@@ -97,7 +97,7 @@
                 <TextView
                     style="@style/tl_tv_style"
                     android:layout_height="43dp"
-                    android:gravity="center"
+                    android:gravity="left|center"
                     android:paddingLeft="20dp"
                     android:paddingRight="20dp"
                     android:text="板面"
@@ -142,36 +142,43 @@
                 <TextView
                     style="@style/tl_tv_style"
                     android:layout_height="43dp"
-                    android:gravity="center"
+                    android:gravity="left|center"
                     android:paddingLeft="20dp"
                     android:paddingRight="20dp"
-                    android:text="贴条码"
+                    android:text="程序名称"
                     android:textColor="@color/body_text_1"
                     android:textSize="16sp" />
 
-                <RadioGroup
-                    android:id="@+id/rg_tietiaoma"
-                    android:layout_width="0dp"
-                    android:layout_height="match_parent"
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
                     android:layout_weight="1"
-                    android:gravity="center_vertical"
+                    android:background="@drawable/bg_line_edittext"
                     android:orientation="horizontal">
 
-                    <RadioButton
-                        android:id="@+id/rb_yes"
-                        android:layout_width="0dp"
-                        android:layout_height="wrap_content"
+                    <com.uas.huiyan.view.ClearableEditText
+                        android:id="@+id/cet_program_name"
+                        style="@style/EditTextStyle"
                         android:layout_weight="1"
-                        android:text="是" />
+                        android:background="@null"
+                        android:focusable="true"
+                        android:focusableInTouchMode="true"
+                        android:hint="请输入程序名称"
+                        android:imeOptions="actionSend"
+                        android:textColor="@color/black" />
+
+                </LinearLayout>
+
+                <ImageView
+                    android:id="@+id/iv_search"
+                    android:layout_width="@dimen/dp_40"
+                    android:layout_height="@dimen/dp_40"
+                    android:layout_gravity="center_vertical"
+                    android:layout_marginLeft="@dimen/space_left_5"
+                    android:background="@drawable/bg_button"
+                    android:src="@drawable/search_48" />
 
-                    <RadioButton
-                        android:id="@+id/rb_no"
-                        android:layout_width="0dp"
-                        android:layout_height="wrap_content"
-                        android:layout_weight="1"
-                        android:text="否" />
 
-                </RadioGroup>
             </TableRow>
         </TableLayout>
 

+ 1 - 1
app/src/main/res/layout/fragment_scmake_smtfeederchild_in.xml

@@ -108,7 +108,7 @@
                         android:layout_width="0dp"
                         android:layout_marginRight="16dp"
                         android:layout_weight="1"
-                        android:hint="请录入站位编号"
+                        android:hint="请录入物料条码"
                         android:imeOptions="actionSend" />
                 </TableRow>
             </TableLayout>

+ 17 - 0
app/src/main/res/layout/fragment_scmake_smtfeederchild_jointchange.xml

@@ -135,6 +135,23 @@
                         android:hint="请采集飞达编号"
                         android:imeOptions="actionSend" />
                 </TableRow>
+
+                <TableRow
+                    android:layout_marginTop="5dp"
+                    android:background="@color/white"
+                    >
+
+                    <CheckBox
+                        android:id="@+id/cb_xiaoyan"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginStart="20dp"
+                        android:layout_marginEnd="20dp"
+                        android:checked="true"
+                        android:text="是否校验原料盘" />
+
+                </TableRow>
+
             </TableLayout>
 
             <!--下部:提示TEXTView+显示TextView-->

+ 69 - 0
app/src/main/res/layout/item_smt_workorder.xml

@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
+
+    <LinearLayout
+        android:id="@+id/ll_line_true"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="10dp"
+        android:layout_marginTop="5dp"
+        android:layout_marginEnd="10dp"
+        android:layout_marginBottom="5dp"
+        android:orientation="vertical"
+        >
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:background="@drawable/login_technological_process"
+            android:layout_marginStart="10dp"
+            android:layout_marginEnd="10dp"
+            android:orientation="horizontal">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:gravity="center"
+                android:text="程序名称: " />
+
+            <TextView
+                android:id="@+id/tv_program_name"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:text="" />
+
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:background="@drawable/login_technological_process"
+            android:layout_marginStart="10dp"
+            android:layout_marginEnd="10dp"
+            android:orientation="horizontal">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:gravity="center"
+                android:text="产品编号: " />
+
+            <TextView
+                android:id="@+id/tv_product_no"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:text="" />
+
+        </LinearLayout>
+
+    </LinearLayout>
+
+
+</LinearLayout>

+ 2 - 2
build.gradle

@@ -64,8 +64,8 @@ ext {
             targetSdkVersion : 28,
             compileSdkVersion: 28,
             buildToolsVersion: "28.0.3",
-            versionCode      : 3,
-            versionName      : "v1.0.2"
+            versionCode      : 7,
+            versionName      : "v1.0.6"
     ]
 
     depsVersion = [