Quellcode durchsuchen

调整了工单切换软键盘收缩问题,修改了报工界面输入框逻辑

ChengJH vor 3 Jahren
Ursprung
Commit
ec042eaac0

+ 163 - 13
app/src/main/java/com/uas/gdstorage/fragment/GdTimeReportFragment.java

@@ -6,6 +6,7 @@ import android.os.Bundle;
 import android.text.Editable;
 import android.text.TextUtils;
 import android.text.TextWatcher;
+import android.util.Log;
 import android.view.KeyEvent;
 import android.view.View;
 import android.widget.AdapterView;
@@ -68,6 +69,9 @@ public class GdTimeReportFragment extends BaseFragment {
     private ImageView mScanImageView;
     private int mFocusId;
     private static final int SCAN_BARCODE_CODE = 201;
+    private Integer integer;
+    private Integer charSequenceNumber;
+
 
     @Override
     protected int getLayout() {
@@ -140,28 +144,173 @@ public class GdTimeReportFragment extends BaseFragment {
             public void onNothingSelected(AdapterView<?> parent) {
             }
         });
+//监听报工数
+
+        mOlNumbersEt.addTextChangedListener(new TextWatcher() {
+
+            @Override
+            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+            }
+
+            @Override
+            public void onTextChanged(CharSequence s, int start, int before, int count) {
+                String charSequenceNum = s.toString();
+                if (!TextUtils.isEmpty(s.toString())){
+                    charSequenceNumber = Integer.valueOf(charSequenceNum);
+                    SharedPreUtil.saveString(getContext(),"charSequenceNum",charSequenceNum);
+                    Log.e("charSequenceNum2",charSequenceNumber+"");
+                }
+
+            }
+
+            @Override
+            public void afterTextChanged(Editable s) {
+                String reportNum = SharedPreUtil.getString(getContext(), "reportNum", null);
+                Integer reportNums = Integer.valueOf(reportNum);
+                if (!TextUtils.isEmpty(s.toString())){
+                    integer = Integer.valueOf(s.toString());
+                    if (integer <=reportNums){
+                        mOlUnuseEt.setFocusableInTouchMode(true);
+                        mOlRemarkEt.setFocusableInTouchMode(true);
+                        return;
+                    }else {
+                        mOlUnuseEt.setFocusableInTouchMode(false);
+                        mOlRemarkEt.setFocusableInTouchMode(false);
+                        CommonUtil.toastNoRepeat(getContext(),"不可大于原报工数");
+                        return;
+                    }
+                }else {
+                    mOlUnuseEt.setFocusableInTouchMode(false);
+                    mOlRemarkEt.setFocusableInTouchMode(false);
+                    CommonUtil.toastNoRepeat(getContext(),"报工数不可为空");
+                }
+
+            }
+        });
+
 
         //报废数输入监听
         mOlUnuseEt.addTextChangedListener(new TextWatcher() {
+
+            private Integer beforeChangenum;
+            private String beforeChange;
+            private Integer scrap;
+            private Integer artisan;
+//            private String mOlNumbersEt2;
+
             @Override
-            public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
+            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+                beforeChange = s.toString();
+                if (StringUtil.isEmpty(beforeChange)){
+                    beforeChangenum=0;
+                }else {
+                    beforeChangenum = Integer.valueOf(beforeChange);
+                }
+
+                Log.e("Override1===",s.toString());
+
+            }
             @Override
-            public void onTextChanged(CharSequence s, int start, int before, int count) { }
+            public void onTextChanged(CharSequence s, int start, int before, int count) {
+                Log.e("CharSequence2===",s.toString());
+            }
             @Override
             public void afterTextChanged(Editable s) {
-               if(!StringUtil.isEmpty(s.toString())){
-                   int curUnuseNumber = Integer.valueOf(s.toString())*unitNumber; //当前输入报废数
-                   int lastCanUseNumber= lastunreportqty*lastunitNumber; //当前返回可报工数
-                   if (curUnuseNumber > lastCanUseNumber){
-                       CommonUtil.toastNoRepeat(mActivity,"报工数与报废数之和不可以大于上一工序报工数");
-                       return;
-                   }else {
-                       int curCanUseing = lastCanUseNumber -curUnuseNumber; //当前可报工数
-                       mOlNumbersEt.setText(Integer.valueOf(curCanUseing/unitNumber)+"");
-                   }
-               }
+                String reportNum = SharedPreUtil.getString(getContext(), "reportNum", null);
+                //接口返回的报工数
+                artisan = Integer.valueOf(reportNum);
+                //手动输入报工数
+                String mOlNumbersEtNum = mOlNumbersEt.getText().toString().trim();
+                Integer integermOlNumbersEtNum = Integer.valueOf(mOlNumbersEtNum);
+//                    mOlNumbersEt2 = mOlNumbersEt.getText().toString().trim();
+                if(!StringUtil.isEmpty(s.toString())){
+                    scrap = Integer.valueOf(s.toString());//手动输入的报废数
+//                        int curUnuseNumber = Integer.valueOf(s.toString())*unitNumber; //当前输入报废数
+//                        int lastCanUseNumber= lastunreportqty*lastunitNumber; //当前返回可报工数
+                        if (!StringUtil.isEmpty(reportNum)){
+                            int i = (artisan - scrap) + scrap;
+                            if (i>artisan){
+                                Log.e("artisannum1====",(artisan-scrap)+scrap+"");
+                                CommonUtil.toastNoRepeat(getContext(),"不可大于原报工数");
+                                mOlRemarkEt.setFocusableInTouchMode(false);
+                                return;
+                            }
+                            if (scrap>integermOlNumbersEtNum){
+                                CommonUtil.toastNoRepeat(getContext(),"报废数不可大于原报工数");
+                                return;
+                            }
+
+                            Log.e("cheng",integermOlNumbersEtNum+"");
+                            Log.e("beforeChangenum",beforeChangenum+"");
+                            Log.e("integer",integer+"");
+                            String charSequenceNumbers = SharedPreUtil.getString(getContext(), "charSequenceNum", null);
+                            Integer integers = Integer.valueOf(charSequenceNumbers);
+                            Log.e("charSequenceNumber1",charSequenceNumbers+"");
+                            String trim = mOlNumbersEt.getText().toString().trim();
+                            Log.e("trim",trim);
+                            Log.e("trim2",beforeChangenum+integers+"");
+                            if (beforeChangenum+integers==artisan){
+                                mOlNumbersEt.setText(Integer.valueOf(artisan - scrap)+"");
+                                return;
+                            }
+                            String mOlNumbersEtNums = mOlNumbersEt.getText().toString().trim();
+                            Integer mOlNumbersEtsum = Integer.valueOf(mOlNumbersEtNums);
+                            if (i<artisan||mOlNumbersEtsum+scrap<artisan){
+                                mOlNumbersEt.setText(mOlNumbersEtNums);
+                                return;
+                            }
+
+
+//                            if (integermOlNumbersEtNum<artisan){
+//                                mOlNumbersEt.setText(integermOlNumbersEtNum+"");
+//                                return;
+//                            }
+
+                        }
+
+
+
+
+//                        else {
+//                            mOlNumbersEt.setText(Integer.valueOf(artisan-scrap)+"");
+//                        }
+//                         mOlNumbersEt.setText(Integer.valueOf(artisan-scrap)+"");
+//                        if (curUnuseNumber > lastCanUseNumber){
+//                            CommonUtil.toastNoRepeat(mActivity,"报工数与报废数之和不可以大于上一工序报工数");
+//                            return;
+//                        }
+//                        else {
+//                            int curCanUseing = lastCanUseNumber -curUnuseNumber; //当前可报工数
+//                            mOlNumbersEt.setText(Integer.valueOf(curCanUseing/unitNumber)+"");
+//                        }
+
+                    } else{
+                            String charSequenceNumbers = SharedPreUtil.getString(getContext(), "charSequenceNum", null);
+                            Integer integers = Integer.valueOf(charSequenceNumbers);
+                            String reportNums = SharedPreUtil.getString(getContext(), "reportNum", null);
+                            Integer artisans = Integer.valueOf(reportNums);
+                            String mOlNumbersEtNums = mOlNumbersEt.getText().toString().trim();
+                            Integer mOlNumbersEtsum = Integer.valueOf(mOlNumbersEtNums);
+                            if (beforeChangenum+integers<artisan){
+                                mOlNumbersEt.setText(mOlNumbersEtNums);
+                            }else {
+                                mOlNumbersEt.setText(artisans+"");
+                            }
+
+
+
+//                        mOlNumbersEt.setText(reportNum);
+                }
+
+
+
             }
         });
+
+
+
+
     }
     /**
      * 检测生产批次号
@@ -189,6 +338,7 @@ public class GdTimeReportFragment extends BaseFragment {
                                 if(barcode_dataObject!=null){
                                     reportNum=barcode_dataObject.getInteger("V_QTY")+"";
                                     mOlNumbersEt.setText(reportNum);
+                                    SharedPreUtil.saveString(getContext(),"reportNum",reportNum);
                                 }
                             }else{
                                 mOlNumbersEt.setText("");

+ 39 - 14
app/src/main/java/com/uas/gdstorage/fragment/GdWorkSwitchFragment.java

@@ -1,6 +1,7 @@
 package com.uas.gdstorage.fragment;
 
 import android.app.Activity;
+import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
 import android.support.annotation.Nullable;
@@ -11,9 +12,12 @@ import android.text.Editable;
 import android.text.TextWatcher;
 import android.view.KeyEvent;
 import android.view.View;
+import android.view.inputmethod.InputMethodManager;
 import android.widget.AdapterView;
 import android.widget.ArrayAdapter;
+import android.widget.AutoCompleteTextView;
 import android.widget.Button;
+import android.widget.EditText;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.Spinner;
@@ -49,6 +53,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 public class GdWorkSwitchFragment extends BaseFragment implements View.OnClickListener {
+    private InputMethodManager mInputMethodManager;
     private TextView tv_gangwei;
     private TextView mOlIdTv;
     private TextView mOlNUmbersTv;
@@ -70,7 +75,7 @@ public class GdWorkSwitchFragment extends BaseFragment implements View.OnClickLi
     private double lastunitNumber = 1000;
     private double lastunreportqty = 0.00;
     //
-    private ClearableEditText mSearch;
+    private AutoCompleteTextView mSearch;
     private RecyclerView fuzzyRv;
     private List<FuzzyBean> fuzzyBeans;
     private FuzzySearchAdapter fuzzyAdapter;
@@ -94,6 +99,8 @@ public class GdWorkSwitchFragment extends BaseFragment implements View.OnClickLi
     @Override
     protected void initViews() {
         ((FunctionActivity) getActivity()).setTitle("工单切换");
+        mInputMethodManager = (InputMethodManager) root.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
+
         ((FunctionActivity) mActivity).setScanIvVisible(true);//显示扫描控件
         mScanImageView = (ImageView)mActivity.findViewById(R.id.btn_actionbar_scan_iv);
         startBtn = root.findViewById(R.id.start_btn);
@@ -113,6 +120,7 @@ public class GdWorkSwitchFragment extends BaseFragment implements View.OnClickLi
         mOlRemarkEt = root.findViewById(R.id.ol_remark_et);
         mOlExChangeBtn = root.findViewById(R.id.ol_exchange_btn);
         mOlNextEt = root.findViewById(R.id.ol_next_et);
+
         root.findViewById(R.id.scan_code_im).setOnClickListener(this);
         root.findViewById(R.id.ol_next_im).setOnClickListener(this);
         tv_gangwei=root.findViewById(R.id.tv_gangwei);
@@ -128,11 +136,15 @@ public class GdWorkSwitchFragment extends BaseFragment implements View.OnClickLi
         fuzzyAdapter = new FuzzySearchAdapter(fuzzyBeans);
         fuzzyAdapter.setmList(fuzzyBeans);
         fuzzyRv.setAdapter(fuzzyAdapter);
+        mInputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
         mSearch.requestFocus();
+//        mSearch.setThreshold(1);
+
     }
 
     @Override
     protected void initEvents() {
+
         initUnitView();
         mScanImageView.setOnClickListener(new View.OnClickListener() {
             @Override
@@ -162,6 +174,7 @@ public class GdWorkSwitchFragment extends BaseFragment implements View.OnClickLi
                     String mSearchStr = s.toString().trim();
                     LogUtil.i("mSearchStr",mSearchStr);
                     fuzzySearchMa(mSearchStr);
+//                    mSearch.requestFocus();
                 } else {
                     fuzzyBeans.clear();
                     setfuzzyAdapter(fuzzyBeans);
@@ -178,6 +191,7 @@ public class GdWorkSwitchFragment extends BaseFragment implements View.OnClickLi
                     getLastBean(macode);
                     mSearch.setText("");
                 }
+
             }
         });
 
@@ -208,6 +222,7 @@ public class GdWorkSwitchFragment extends BaseFragment implements View.OnClickLi
 
             @Override
             public void onTextChanged(CharSequence s, int start, int before, int count) {
+                mOlUnuseEt.requestFocus();
             }
 
             @Override
@@ -235,7 +250,7 @@ public class GdWorkSwitchFragment extends BaseFragment implements View.OnClickLi
     }
     //工单细查询
     private void getLastBean(String clickCode) {
-        progressDialog.show();
+//        progressDialog.show();
         VollyRequest.getInstance().stringRequest(mStringRequest,
                 new HttpParams.Builder()
                         .url(GloableParams.ADDRESS_PDA_GETMACODE)
@@ -248,7 +263,7 @@ public class GdWorkSwitchFragment extends BaseFragment implements View.OnClickLi
                     @Override
                     public void onSuccess(int flag, Object o) throws Exception {
                         Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
-                        progressDialog.dismiss();
+//                        progressDialog.dismiss();
                         if (isSuccess){
                             JSONObject dataObject = FastjsonUtil.getJSONObject(o.toString(),"data");
                             if (dataObject == null){
@@ -272,7 +287,7 @@ public class GdWorkSwitchFragment extends BaseFragment implements View.OnClickLi
                     }
                     @Override
                     public void onFail(int flag, String failStr) throws Exception {
-                        progressDialog.dismiss();
+//                        progressDialog.dismiss();
                         CommonUtil.toastNoRepeat(mActivity, failStr);
                     }
                 });
@@ -292,7 +307,7 @@ public class GdWorkSwitchFragment extends BaseFragment implements View.OnClickLi
 
     //模糊查询
     private void fuzzySearchMa(String code){
-        progressDialog.show();
+//        progressDialog.show();
         VollyRequest.getInstance().stringRequest(mStringRequest,
                 new HttpParams.Builder()
                         .url(GloableParams.ADDRESS_PDA_FUZZYSEARCHMA)
@@ -303,7 +318,7 @@ public class GdWorkSwitchFragment extends BaseFragment implements View.OnClickLi
                         .build(), new HttpCallback() {
                     @Override
                     public void onSuccess(int flag, Object o) throws Exception {
-                        progressDialog.dismiss();
+//                        progressDialog.dismiss();
                         Boolean isSuccess = FastjsonUtil.getBoolean(o.toString(),"success");
                         if (isSuccess){
                             JSONArray dataArray = FastjsonUtil.getJSONArray(o.toString(),"data");
@@ -311,6 +326,7 @@ public class GdWorkSwitchFragment extends BaseFragment implements View.OnClickLi
                                 CommonUtil.toastNoRepeat(mActivity,"未搜索到匹配数据");
                                 fuzzyBeans.clear();
                                 setfuzzyAdapter(fuzzyBeans);
+//                                reset();
                                 return;
                             }
                             FuzzyBean bean = null;
@@ -323,7 +339,7 @@ public class GdWorkSwitchFragment extends BaseFragment implements View.OnClickLi
                             setfuzzyAdapter(fuzzyBeans);
                             startLlS.setVisibility(View.GONE);
                             fuzzyRv.setVisibility(View.VISIBLE);
-
+//                            reset();
                         }else {
 
                         }
@@ -332,8 +348,9 @@ public class GdWorkSwitchFragment extends BaseFragment implements View.OnClickLi
 
                     @Override
                     public void onFail(int flag, String failStr) throws Exception {
-                        progressDialog.dismiss();
+//                        progressDialog.dismiss();
                         CommonUtil.toastNoRepeat(mActivity, failStr);
+//                        reset();
                     }
 
                 });
@@ -361,7 +378,7 @@ public class GdWorkSwitchFragment extends BaseFragment implements View.OnClickLi
     }
 
     private void doExChangeClick() {
-        progressDialog.show();
+//        progressDialog.show();
         VollyRequest.getInstance().stringRequest(mStringRequest,
                 new HttpParams.Builder()
                         .url(GloableParams.ADDRESS_PDA_CHANGEMA)
@@ -381,12 +398,12 @@ public class GdWorkSwitchFragment extends BaseFragment implements View.OnClickLi
                             intent.putExtra(Constants.FLAG.SC_CODE, sc_code);
                             startActivity(intent);
                         }
-                        progressDialog.dismiss();
+//                        progressDialog.dismiss();
                     }
 
                     @Override
                     public void onFail(int flag, String failStr) throws Exception {
-                        progressDialog.dismiss();
+//                        progressDialog.dismiss();
                         CommonUtil.toastNoRepeat(mActivity, failStr);
                     }
                 });
@@ -462,12 +479,12 @@ public class GdWorkSwitchFragment extends BaseFragment implements View.OnClickLi
                         } else {
 
                         }
-                        progressDialog.dismiss();
+//                        progressDialog.dismiss();
                     }
 
                     @Override
                     public void onFail(int flag, String failStr) throws Exception {
-                        progressDialog.dismiss();
+//                        progressDialog.dismiss();
                         CommonUtil.toastNoRepeat(mActivity, failStr);
 
                     }
@@ -586,5 +603,13 @@ public class GdWorkSwitchFragment extends BaseFragment implements View.OnClickLi
         }
     }
 
-
+    public void reset() {
+        if (getActivity() != null) {
+//            mSearch.getText().clear();
+            CommonUtil.editTextGetFocus(mSearch);
+            CommonUtil.openKeybord(((EditText) mSearch), mActivity);
+            if (progressDialog.isShowing())
+                progressDialog.dismiss();
+        }
+    }
 }

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

@@ -272,7 +272,7 @@
                 android:textColor="@color/red"
                 android:textSize="14sp" />
 
-            <com.uas.gdstorage.view.ClearableEditText
+            <AutoCompleteTextView
                 android:id="@+id/fl_search_actext"
                 style="@style/Search"
                 android:layout_height="35dp"

+ 1 - 1
pda_libs/pulltoreflashlibrary/build/intermediates/incremental/packageDebugResources/compile-file-map.properties

@@ -1,4 +1,4 @@
-#Tue Apr 12 14:36:16 CST 2022
+#Tue May 17 18:09:45 CST 2022
 D\:\\AndroidData\\uas_mes\\pda_libs\\pulltoreflashlibrary\\src\\main\\res\\drawable-mdpi\\default_ptr_flip.png=D\:\\AndroidData\\uas_mes\\pda_libs\\pulltoreflashlibrary\\build\\intermediates\\packaged_res\\debug\\drawable-mdpi-v4\\default_ptr_flip.png
 D\:\\AndroidData\\uas_mes\\pda_libs\\pulltoreflashlibrary\\src\\main\\res\\anim\\slide_out_to_bottom.xml=D\:\\AndroidData\\uas_mes\\pda_libs\\pulltoreflashlibrary\\build\\intermediates\\packaged_res\\debug\\anim\\slide_out_to_bottom.xml
 D\:\\AndroidData\\uas_mes\\pda_libs\\pulltoreflashlibrary\\src\\main\\res\\drawable\\indicator_bg_top.xml=D\:\\AndroidData\\uas_mes\\pda_libs\\pulltoreflashlibrary\\build\\intermediates\\packaged_res\\debug\\drawable\\indicator_bg_top.xml

+ 1 - 1
pda_libs/pulltoreflashlibrary/build/intermediates/incremental/packageReleaseResources/compile-file-map.properties

@@ -1,4 +1,4 @@
-#Tue Apr 26 09:50:41 CST 2022
+#Wed May 18 13:43:41 CST 2022
 D\:\\AndroidData\\uas_mes\\pda_libs\\pulltoreflashlibrary\\src\\main\\res\\drawable-mdpi\\default_ptr_flip.png=D\:\\AndroidData\\uas_mes\\pda_libs\\pulltoreflashlibrary\\build\\intermediates\\packaged_res\\release\\drawable-mdpi-v4\\default_ptr_flip.png
 D\:\\AndroidData\\uas_mes\\pda_libs\\pulltoreflashlibrary\\src\\main\\res\\anim\\slide_out_to_bottom.xml=D\:\\AndroidData\\uas_mes\\pda_libs\\pulltoreflashlibrary\\build\\intermediates\\packaged_res\\release\\anim\\slide_out_to_bottom.xml
 D\:\\AndroidData\\uas_mes\\pda_libs\\pulltoreflashlibrary\\src\\main\\res\\drawable\\indicator_bg_top.xml=D\:\\AndroidData\\uas_mes\\pda_libs\\pulltoreflashlibrary\\build\\intermediates\\packaged_res\\release\\drawable\\indicator_bg_top.xml