Преглед на файлове

入库页面
数量自动赋值最小包

RaoMeng преди 6 години
родител
ревизия
53eb9e0cd8

BIN
.idea/caches/build_file_checksums.ser


+ 80 - 10
app/src/main/java/com/uas/keg_storage/fragment/JLTStorageInBarcodeFragment.java

@@ -170,6 +170,30 @@ public class JLTStorageInBarcodeFragment extends BaseFragment implements View.On
             }
         });
 
+        CommonUtil.setEditorActionListener(mModelEditText, new MyEditorActionListener() {
+            @Override
+            public void MyEditorAction(String text, int actionId, KeyEvent event) {
+                mQuantityEditText.postDelayed(new Runnable() {
+                    @Override
+                    public void run() {
+                        mQuantityEditText.requestFocus();
+                    }
+                }, 100);
+            }
+        });
+
+        CommonUtil.setEditorActionListener(mMpqEditText, new MyEditorActionListener() {
+            @Override
+            public void MyEditorAction(String text, int actionId, KeyEvent event) {
+                mBrandEditText.postDelayed(new Runnable() {
+                    @Override
+                    public void run() {
+                        mBrandEditText.requestFocus();
+                    }
+                }, 100);
+            }
+        });
+
         mPoCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
             @Override
             public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
@@ -226,6 +250,20 @@ public class JLTStorageInBarcodeFragment extends BaseFragment implements View.On
                 }
             }
         });
+
+        CommonUtil.setEditorActionListener(mQuantityEditText, new MyEditorActionListener() {
+            @Override
+            public void MyEditorAction(String text, int actionId, KeyEvent event) {
+                String mpq = mMpqEditText.getText().toString().trim();
+                String qty = mQuantityEditText.getText().toString().trim();
+
+                if (TextUtils.isEmpty(mpq)) {
+                    mMpqEditText.setText(qty);
+                }
+                mMpqEditText.requestFocus();
+                mMpqEditText.setSelection(mMpqEditText.getText().toString().trim().length());
+            }
+        });
     }
 
     @Override
@@ -396,7 +434,7 @@ public class JLTStorageInBarcodeFragment extends BaseFragment implements View.On
         String po = mPoEditText.getText().toString().trim();
         mPoCheckBox.setChecked(!TextUtils.isEmpty(po));
         double qty = brandEntity.getQTY();
-        if (qty != -1) {
+        if (qty > 0) {
             mQuantityEditText.setText(CommonUtil.doubleFormat(qty));
         }
         setValuableText(mDateEditText,
@@ -429,6 +467,9 @@ public class JLTStorageInBarcodeFragment extends BaseFragment implements View.On
         isMpqDiv = pkgEntity.getPR_FBBZL_USER() == 0;
 
         List<JLTMpqEntity> mpqlist = pkgEntity.getMPQLIST();
+        if (mpqlist == null) {
+            return;
+        }
         List<JLTMpqEntity> requireMpqs = new ArrayList<>();
         for (int i = 0; i < mpqlist.size(); i++) {
             JLTMpqEntity mpqEntity = mpqlist.get(i);
@@ -479,14 +520,6 @@ public class JLTStorageInBarcodeFragment extends BaseFragment implements View.On
             } else {
                 mPanEditText.setText(CommonUtil.doubleFormat(Math.ceil(pan)));
                 mMpqEditText.setText(CommonUtil.doubleFormat(mpq));
-                if (!CommonUtil.isIntegerForDouble(pan)) {
-                    new AlertDialog.Builder(mActivity)
-                            .setTitle("提示")
-                            .setMessage("入库数量:" + CommonUtil.doubleFormat(qty)
-                                    + "不满足MPQ:" + mpq)
-                            .setPositiveButton("我知道了", null)
-                            .create().show();
-                }
             }
         } catch (Exception e) {
             mPanEditText.setText(0);
@@ -533,7 +566,7 @@ public class JLTStorageInBarcodeFragment extends BaseFragment implements View.On
 
     private void saveBarcode(boolean exist, boolean checkDate) {
         if (TextUtils.isEmpty(mBarcodeParseBean.getPN()) ||
-                TextUtils.isEmpty(mBarcodeParseBean.getBRAND()) ||
+//                TextUtils.isEmpty(mBarcodeParseBean.getBRAND()) ||
                 TextUtils.isEmpty(mBarcodeParseBean.getMPQ())) {
             CommonUtil.toastNoRepeat(mActivity, "请采集条码获取必填数据");
             return;
@@ -896,12 +929,49 @@ public class JLTStorageInBarcodeFragment extends BaseFragment implements View.On
                     try {
                         double qty = Double.parseDouble(text);
                         mBarcodeParseBean.setQTY(qty);
+                        String mpq = mMpqEditText.getText().toString().trim();
+                        try {
+                            if (!TextUtils.isEmpty(mpq)) {
+                                double mpqNum = Double.parseDouble(mpq);
+                                if (mpqNum <= 0) {
+                                    mPanEditText.setText("0");
+                                } else {
+                                    double pan = qty / mpqNum;
+                                    mPanEditText.setText(CommonUtil.doubleFormat(Math.ceil(pan)));
+                                }
+                            } else {
+                                mPanEditText.setText("0");
+                            }
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                            mPanEditText.setText("0");
+                        }
                     } catch (Exception e) {
                         mBarcodeParseBean.setQTY(0);
+                        mBarcodeParseBean.setPAN(0);
                     }
                     break;
                 case R.id.jlt_storage_in_barcode_mpq_et:
                     mBarcodeParseBean.setMPQ(text);
+                    String qty = mQuantityEditText.getText().toString().trim();
+                    try {
+                        if (!TextUtils.isEmpty(qty)) {
+                            double qtyNum = Double.parseDouble(qty);
+                            double mpqNum = Double.parseDouble(text);
+                            if (mpqNum <= 0) {
+                                mPanEditText.setText("0");
+                            } else {
+                                double pan = qtyNum / mpqNum;
+                                mPanEditText.setText(CommonUtil.doubleFormat(Math.ceil(pan)));
+                            }
+                        } else {
+                            mPanEditText.setText("0");
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                        mPanEditText.setText("0");
+                        mBarcodeParseBean.setPAN(0);
+                    }
                     break;
                 case R.id.jlt_storage_in_barcode_date_et:
                     mBarcodeParseBean.setDATECODE(text);

+ 4 - 3
app/src/main/java/com/uas/keg_storage/util/CommonUtil.java

@@ -833,9 +833,10 @@ public class CommonUtil {
         editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
             @Override
             public boolean onEditorAction(TextView textView, int actionId, KeyEvent event) {
-                if (actionId == EditorInfo.IME_ACTION_SEND
-                        || actionId == EditorInfo.IME_ACTION_DONE
-                        || (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
+                if (actionId == EditorInfo.IME_ACTION_SEND ||
+                        actionId == EditorInfo.IME_ACTION_DONE ||
+                        actionId == EditorInfo.IME_ACTION_NEXT ||
+                        (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
                     String text = textView.getText().toString().trim();
                     myEditorActionListener.MyEditorAction(text, actionId, event);
                     return true;

+ 3 - 0
app/src/main/res/layout/fragment_jlt_storage_in_barcode.xml

@@ -118,6 +118,7 @@
                     <com.uas.keg_storage.view.ClearableEditText
                         android:id="@+id/jlt_storage_in_barcode_quantity_et"
                         style="@style/EditTextStyle"
+                        android:inputType="numberDecimal"
                         android:layout_width="0dp"
                         android:layout_weight="1" />
                 </LinearLayout>
@@ -139,6 +140,7 @@
                     <com.uas.keg_storage.view.ClearableEditText
                         android:id="@+id/jlt_storage_in_barcode_mpq_et"
                         style="@style/EditTextStyle"
+                        android:inputType="numberDecimal"
                         android:layout_width="0dp"
                         android:layout_weight="1" />
                 </LinearLayout>
@@ -234,6 +236,7 @@
                     <TextView
                         android:id="@+id/jlt_storage_in_barcode_reel_et"
                         style="@style/EditTextUnableStyle"
+                        android:inputType="numberDecimal"
                         android:layout_width="0dp"
                         android:layout_weight="1" />
                 </LinearLayout>