From 2b79e50b1791d350f250fea31e6ac4a476b46ca2 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 22 Dec 2023 00:03:51 +0700 Subject: [PATCH] perbaikan bug pada tambah data peminjaman perulangan list peti --- .../peminjaman_barang/create-finish.dart | 113 ++++++++---------- 1 file changed, 52 insertions(+), 61 deletions(-) diff --git a/lib/pages/peminjaman_barang/create-finish.dart b/lib/pages/peminjaman_barang/create-finish.dart index ab92fe8..8d42f1e 100644 --- a/lib/pages/peminjaman_barang/create-finish.dart +++ b/lib/pages/peminjaman_barang/create-finish.dart @@ -279,84 +279,75 @@ class _InformasiDataEntryPageState extends State { String formattedDate = DateFormat('yyyy-MM-dd HH:mm:ss.SSS').format(now); List savedPetiIds = []; + List assetAddModels = []; for (PetiAssetModel selectedPeti in selectedPetis) { - // print("Checking conditions for Peti ID: ${selectedPeti.id}"); - // print("Exit_atController: ${_exit_atController.text.isNotEmpty}"); - // print("petiSqfliteApi: ${petiSqfliteApi != null}"); - // print("warehouseSqfliteApi: ${warehouseSqfliteApi != null}"); + print("Checking conditions for Peti ID: ${selectedPeti.id}"); + print("Exit_atController: ${_exit_atController.text.isNotEmpty}"); + print("warehouseSqfliteApi: ${warehouseSqfliteApi != null}"); if (selectedPeti == null) { print("Selected Peti is null"); continue; } - // Ensure that _valpeti is not null before trying to find the PetiAssetModel - if (_valpeti == null) { - print("_valpeti is null"); - continue; - } - - petiSqfliteApi = + PetiAssetModel? peti = _valpeti?.firstWhereOrNull((peti) => peti.id == selectedPeti.id); - if (petiSqfliteApi == null) { - print("Peti not found for ID: ${selectedPeti.id}"); - continue; - } + if (peti != null) { + if (_exit_atController.text.isNotEmpty && + warehouseSqfliteApi != null) { + print("All conditions met. Preparing data..."); + + AssetStatusModel assetAddModel = AssetStatusModel( + id: null, + peti_id: selectedPeti.id, + customer_id: customerSqfliteApi?.id, + warehouse_id: warehouseSqfliteApi?.id, + exit_at: parseDateTime(_exit_atController.text), + exit_pic: _penanggungJawabController.text, + est_pengembalian: parseDateTime(_est_pengembalianController.text), + created_by: user.fullname, + created_at: parseDateTime(formattedDate), + mobile_id: uuid.v4(), + ); - if (_exit_atController.text.isNotEmpty && - petiSqfliteApi != null && - warehouseSqfliteApi != null) { - print("All conditions met. Saving data..."); - - AssetStatusModel assetAddModel = AssetStatusModel( - id: null, - peti_id: selectedPeti.id, - customer_id: customerSqfliteApi?.id, - warehouse_id: warehouseSqfliteApi?.id, - exit_at: parseDateTime(_exit_atController.text), - exit_pic: _penanggungJawabController.text, - est_pengembalian: parseDateTime(_est_pengembalianController.text), - created_by: user.fullname, - created_at: parseDateTime(formattedDate), - mobile_id: uuid.v4(), - ); - - // Call addData function - int result = await Controller().addPeminjamanData(assetAddModel); - - if (result > 0) { + assetAddModels.add(assetAddModel); savedPetiIds.add(selectedPeti.id!); - if (mounted) { - setState(() { - _exit_atController.text = ''; - _penanggungJawabController.text = ''; - _est_pengembalianController.text = ''; - warehouseSqfliteApi?.id = null; - customerSqfliteApi?.id = null; - }); - } - print("Success Tambah data untuk Peti ID: ${selectedPeti.id}"); - EasyLoading.showSuccess("Data Berhasil Disimpan"); - // Reset controllers and make fields nullable } else { - print("Failed untuk Peti ID: ${selectedPeti.id}"); + print("Conditions not met. Unable to save data."); + if (_exit_atController.text.isEmpty) { + print("Exit_atController is empty"); + } + if (warehouseSqfliteApi == null) { + print("warehouseSqfliteApi is null"); + } } } else { - print("Conditions not met. Unable to save data."); - if (_exit_atController.text.isEmpty) { - print("Exit_atController is empty"); - } - if (petiSqfliteApi == null) { - print("petiSqfliteApi is null"); - } - if (warehouseSqfliteApi == null) { - print("warehouseSqfliteApi is null"); - } + print("Peti not found for ID: ${selectedPeti.id}"); + } + } + + // Save all AssetStatusModels + for (AssetStatusModel assetAddModel in assetAddModels) { + int result = await Controller().addPeminjamanData(assetAddModel); + + if (result <= 0) { + print("Failed untuk Peti ID: ${assetAddModel.peti_id}"); } } + // Clear controllers and make fields nullable + if (mounted) { + setState(() { + _exit_atController.text = ''; + _penanggungJawabController.text = ''; + _est_pengembalianController.text = ''; + warehouseSqfliteApi?.id = null; + customerSqfliteApi?.id = null; + }); + } + // Hapus peti-peti yang baru saja disimpan dari SharedPreferences for (PetiAssetModel selectedPeti in selectedPetis) { if (selectedPeti != null) { @@ -364,7 +355,7 @@ class _InformasiDataEntryPageState extends State { } } -// Jika Anda ingin pindah ke halaman setelah menyimpan data untuk semua peti + // Jika Anda ingin pindah ke halaman setelah menyimpan data untuk semua peti Navigator.pushNamed(context, '/peminjaman-barang'); }