为了账号安全,请及时绑定邮箱和手机立即绑定

从 Firestore 增加价值

从 Firestore 增加价值

达令说 2024-01-28 16:26:03
我的条目看起来像这样:在输入数据之前,必须使用条码扫描仪填写条码。当 Firestore 中存在条形码时,我希望增加产品数量。当条形码在Firestore中不可用时,Intent到另一个类。代码 :@Overridepublic void handleResult(Result result) {    final String scanResult = result.getText();    ToneGenerator toneNotification = new ToneGenerator(AudioManager.STREAM_NOTIFICATION, 100);    toneNotification.startTone(ToneGenerator.TONE_PROP_BEEP, 150);    collectionReference.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {        @Override        public void onComplete(@NonNull Task<QuerySnapshot> task) {            if (task.isSuccessful()) {                for (QueryDocumentSnapshot queryDocumentSnapshot : task.getResult()) {                    // if barcode is existing, then product quantity to increment                    if (queryDocumentSnapshot.getString("barCode") != null) {                        collectionReference.document(queryDocumentSnapshot.getId()).update("productQuantity", FieldValue.increment(1));                        Intent moveView = new Intent(ScannersActivity.this, ViewData.class);                        moveView.putExtra("documentID", documentID);                        startActivity(moveView);                        finish();                    } else { // If barcode is not available in firestore, then intent to another class                        Intent moveCode = new Intent(ScannersActivity.this, AddItems.class);                        moveCode.putExtra("sendDocumentID", documentID);                        moveCode.putExtra("ScanResult", scanResult);                        startActivity(moveCode);                        finish();                    }                }            }        }    });}
查看完整描述

2 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

productQuantity要根据财产的存在增加财产的价值barCode,请尝试以下代码行:


collectionReference.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {

    @Override

    public void onComplete(@NonNull Task<QuerySnapshot> task) {

        if (task.isSuccessful()) {

            for (QueryDocumentSnapshot document : task.getResult()) {

                if (document.getString("barCode") != null) {

                    collectionReference.document(document.getId()).update(

                        "productQuantity", FieldValue.increment(1)

                    );

                }

            }

        }

    }

});


查看完整回答
反对 回复 2024-01-28
?
ITMISS

TA贡献1871条经验 获得超8个赞

这将确定条形码是否存在。您可以填写交易TODO注释来更新数量值。


public void handleResult(Result result) {

  String scanResult = result.getText();

  // ...


  collectionReference

    .whereEqualTo("barCode", scanResult)

    .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {

      @Override

      public void onComplete(@NonNull Task<QuerySnapshot> task) {

        if (task.isSuccessful() && task.getResult().size() > 0) {

          // TODO barcode exists; increase qty

        }

        else {

          // barcode not found, new Intent

        }

      }

    });

}


查看完整回答
反对 回复 2024-01-28
  • 2 回答
  • 0 关注
  • 90 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信