wuhb 1 рік тому
батько
коміт
af331918c5

+ 30 - 6
app/src/main/java/com/ygtx/emcs/activity/StockInNewActivity.java

@@ -78,9 +78,6 @@ public class StockInNewActivity extends BaseActivity {
         binding.lvProduct.setAdapter(stockInListViewAdapter);
         binding.lvProduct.setOnItemClickListener((parent, view, position, id) -> {
             StockLineModel stockLineModel = stockLineList.get(position);
-            if("1".equals(from) && !"2".equals(stockLineModel.getStatus())){
-                return;
-            }
             stockIn(stockLineModel);
         });
 
@@ -98,6 +95,10 @@ public class StockInNewActivity extends BaseActivity {
     }
 
     private void stockIn(StockLineModel stockLineModel){
+        //查询时,只显示完成的入库单物品
+        if("1".equals(from) && !"2".equals(stockLineModel.getStatus())){
+            return;
+        }
         Bundle bundle = new Bundle();
         bundle.putString("erpInstockCode", stockModel.getErpInstockCode());
         bundle.putSerializable("stockLine", stockLineModel);
@@ -171,14 +172,37 @@ public class StockInNewActivity extends BaseActivity {
     }
 
     private void checkItem(String barcode) {
-        Optional<StockLineModel> optionalStockLineModel = stockLineList.stream().filter(item -> item.getItemCode().equals(barcode)).findFirst();
-        if (optionalStockLineModel.isPresent()) {
-            stockIn(optionalStockLineModel.get());
+        StockLineModel selItem = findItem(barcode);
+        if(selItem !=null){
+            stockIn(selItem);
             return;
         }
         ToastUtils.showToast(context, "入库单不存在" + barcode + "物品");
     }
 
+    private StockLineModel findItem(String barcode){
+        StockLineModel selItem = null;
+        StockLineModel selItem1 = null;
+        int i;
+        for(i=0;i<stockLineList.size();i++){
+            StockLineModel item = stockLineList.get(i);
+            stockLineList.forEach(lineItem->lineItem.setSel("0"));
+            if(item.getItemCode().equals(barcode) && StringUtils.isEmpty(item.getBoxCode())){
+                selItem = item;
+                selItem.setSel("1");
+                break;
+            }
+            if(item.getItemCode().equals(barcode) && selItem1 == null){
+                selItem1 = item;
+                selItem1.setSel("1");
+            }
+        }
+        if(selItem == null){
+            selItem = selItem1;
+        }
+        return selItem;
+    }
+
     private void loadErpTask() {
         if(StringUtils.isEmpty(erpInstockCode)){
             erpInstockCode = binding.tvInCode.getText().toString();