diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/focasoftware/deboinventariov20/DB/DAO/ArticulosDAO.kt b/app/src/main/java/com/focasoftware/deboinventariov20/DB/DAO/ArticulosDAO.kt
index 919ef63..7ad3f08 100644
--- a/app/src/main/java/com/focasoftware/deboinventariov20/DB/DAO/ArticulosDAO.kt
+++ b/app/src/main/java/com/focasoftware/deboinventariov20/DB/DAO/ArticulosDAO.kt
@@ -16,7 +16,7 @@ interface ArticulosDAO {
@Query("SELECT * FROM $TABLA_ART ORDER BY DES DESC")
suspend fun findAllArticulos(): List
- @Query("SELECT * FROM $TABLA_ART WHERE DEPSN=:dep AND DES LIKE '%' || :description || '%'")
+ @Query("SELECT * FROM $TABLA_ART WHERE DEPSN=:dep AND DES LIKE '%' || :description || '%' GROUP BY DES ORDER BY SEC, COD")
suspend fun findArticuloByDesc(description: String?, dep: Int): List
@Query("SELECT * FROM $TABLA_ART WHERE DEPSN=:dep AND CB LIKE :codBarra")
diff --git a/app/src/main/java/com/focasoftware/deboinventariov20/ui/inventario/DescripcionFragment.kt b/app/src/main/java/com/focasoftware/deboinventariov20/ui/inventario/DescripcionFragment.kt
index 183e83b..0cc48f1 100644
--- a/app/src/main/java/com/focasoftware/deboinventariov20/ui/inventario/DescripcionFragment.kt
+++ b/app/src/main/java/com/focasoftware/deboinventariov20/ui/inventario/DescripcionFragment.kt
@@ -62,7 +62,7 @@ class DescripcionFragment : Fragment() {
IngresarRecicler(artAcargar2)
btnSalir.setOnClickListener {
- requireActivity().onBackPressed()
+ VolverAinventario()
}
return v
}
@@ -110,11 +110,7 @@ class DescripcionFragment : Fragment() {
InventarioFragment().ObtenerFechaActual(),
InventarioFragment().ObtenerFechaActual())
InsertarArtEnDB(body)// TODO: MANDO A CARGAR A LA BASE DE DATOS
- val editor = sharedPreferences.edit()
- editor?.putString("Inventario", numeroInventario.toString())
- editor?.apply()
- editor.commit()
- navController.navigate(R.id.action_descripcionFragment_to_inventarioFragment)
+ VolverAinventario()
}
}.cancelOnTouchOutside(false).cornerRadius(10F)
}
@@ -148,5 +144,13 @@ class DescripcionFragment : Fragment() {
}
}
}
+ fun VolverAinventario(){
+
+ val editor = sharedPreferences.edit()
+ editor?.putString("Inventario", numeroInventario.toString())
+ editor?.apply()
+ editor.commit()
+ navController.navigate(R.id.action_descripcionFragment_to_inventarioFragment)
+ }
}
diff --git a/app/src/main/java/com/focasoftware/deboinventariov20/ui/inventario/InventarioFragment.kt b/app/src/main/java/com/focasoftware/deboinventariov20/ui/inventario/InventarioFragment.kt
index f3458a9..01cbc9c 100644
--- a/app/src/main/java/com/focasoftware/deboinventariov20/ui/inventario/InventarioFragment.kt
+++ b/app/src/main/java/com/focasoftware/deboinventariov20/ui/inventario/InventarioFragment.kt
@@ -10,7 +10,10 @@ import android.view.KeyEvent
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import android.widget.*
+import android.widget.EditText
+import android.widget.TextView
+import android.widget.Toast
+import android.widget.ToggleButton
import androidx.core.content.ContextCompat
import androidx.core.os.bundleOf
import androidx.fragment.app.Fragment
@@ -76,9 +79,9 @@ class InventarioFragment : Fragment() {
if (InventarioNuevo == 0) {// TODO: SI INVETNARIO NUEVO
GlobalScope.launch(Dispatchers.Main) {
//TODO: BUSCO EL ULTIMO INVENTARIO EN LA BD PARA PODER CREAR EL PROXIMO
- InventarioNuevo = AppDb.getAppDb(requireActivity())!!.InvHeadDAO()!!.findLastInv() + 1
+ InventarioNuevo = AppDb.getAppDb(requireActivity())?.InvHeadDAO()?.findLastInv()?.plus(1) ?: 1
SerchArea()
- val descripInv: String = if (iArea == 0) "Inventario Ventas" else "Inventario Deposito"
+ val descripInv: String = if (iArea == 0) "Ventas" else "Deposito"
//TODO: CREAMOS EL INVENTARIO EN LA CABECERA DEL INVENTARIO
invHead = InvHead(InventarioNuevo, descripInv, 1, ObtenerFechaActual(), ObtenerFechaActual(), 0L, iArea, AjusteProductos(), ProdNoCont())
AppDb.getAppDb(requireActivity())!!.InvHeadDAO()!!.insertInvHead(invHead)
@@ -159,40 +162,41 @@ class InventarioFragment : Fragment() {
return@setOnKeyListener true
- } else {//TODO BUSQUEDA POR DESCRIPCION**************************************************************************
-
- indiceDelArtEncontrado = buscoArtEnRv(sChangeUpper.toUpperCase(Locale.ROOT), 1) //TODO :Si encuentra el articulo en el RV devuelve el indice
- //TODO Si no lo encuentra devuelve -1
- if (indiceDelArtEncontrado != -1) {
-// if (swSumaUno!!.isChecked) {
-// fCant = 0F
-// fCant = listArticulos[indiceDelArtEncontrado].cantTomada
-// fCant += 1F
-// listArticulos[indiceDelArtEncontrado].cantTomada = fCant
-// viewAdapter.notifyDataSetChanged()
-// } else {
- fCant = listArticulos[indiceDelArtEncontrado].cantTomada
- MaterialDialog(requireContext()).show {
- title(R.string.sTituloNueva)
- message(R.string.sCantidadNueva)
- input { materialDialog, charSequence ->
- fCant = 0F
- fCant = charSequence.toString().toFloat()
- }
- positiveButton(R.string.btnOk) {
- listArticulos[indiceDelArtEncontrado].cantTomada = fCant
- viewAdapter.notifyDataSetChanged()
- dismiss()
- }
- }.cancelOnTouchOutside(false).cornerRadius(10F)
-// }
-
- } else if (indiceDelArtEncontrado == -1) {// TODO: no lo encontro en el RV, lo va a buscar en al BD
+ } else {//TODO: BUSQUEDA POR DESCRIPCION**************************************************************************
+//
+// indiceDelArtEncontrado = buscoArtEnRv(sChangeUpper.toUpperCase(Locale.ROOT), 1) //TODO :Si encuentra el articulo en el RV devuelve el indice
+// //TODO Si no lo encuentra devuelve -1
+// if (indiceDelArtEncontrado != -1) {
+//// if (swSumaUno!!.isChecked) {
+//// fCant = 0F
+//// fCant = listArticulos[indiceDelArtEncontrado].cantTomada
+//// fCant += 1F
+//// listArticulos[indiceDelArtEncontrado].cantTomada = fCant
+//// viewAdapter.notifyDataSetChanged()
+//// } else {
+// fCant = listArticulos[indiceDelArtEncontrado].cantTomada
+// MaterialDialog(requireContext()).show {
+// title(R.string.sTituloNueva)
+// message(R.string.sCantidadNueva)
+// input { materialDialog, charSequence ->
+// fCant = 0F
+// fCant = charSequence.toString().toFloat()
+// }
+// positiveButton(R.string.btnOk) {
+// listArticulos[indiceDelArtEncontrado].cantTomada = fCant
+// viewAdapter.notifyDataSetChanged()
+// dismiss()
+// }
+// }.cancelOnTouchOutside(false).cornerRadius(10F)
+//// }
+//
+// } else if
+// (indiceDelArtEncontrado == -1) {// TODO: no lo encontro en el RV, lo va a buscar en al BD
GlobalScope.launch(Dispatchers.Main) {
val artEncontrado = buscarDescEnBD(sChangeUpper.toUpperCase(Locale.ROOT))
ContinuarCargaDesc(artEncontrado as ArrayList)
}
- }
+// }
tCodigoBarras.focusable = View.FOCUSABLE
tCodigoBarras.setText("")
tCodigoBarras.selectAll()
@@ -226,22 +230,22 @@ class InventarioFragment : Fragment() {
}.cancelOnTouchOutside(false).cornerRadius(10F)
}
- btnExportarInv.setOnClickListener {
- MaterialDialog(requireContext()).show {
- title(R.string.sTituloExportar)
- message(R.string.sMensajeExportar)
- positiveButton(R.string.btnOk) {
- BorrarInvActual()
- Toast.makeText(requireContext(), "El inventario $InventarioNuevo fue Exportado al Servidor", Toast.LENGTH_LONG).show()
- navController.navigate(R.id.action_inventarioFragment_to_mainFragment2)
- InventarioNuevo = 0
- dismiss()
- }
- negativeButton {
- dismiss()
- }
- }.cancelOnTouchOutside(false).cornerRadius(10F)
- }
+ btnExportarInv.setOnClickListener {
+ MaterialDialog(requireContext()).show {
+ title(R.string.sTituloExportar)
+ message(R.string.sMensajeExportar)
+ positiveButton(R.string.btnOk) {
+ BorrarInvActual()
+ Toast.makeText(requireContext(), "El inventario $InventarioNuevo fue Exportado al Servidor", Toast.LENGTH_LONG).show()
+ navController.navigate(R.id.action_inventarioFragment_to_mainFragment2)
+ InventarioNuevo = 0
+ dismiss()
+ }
+ negativeButton {
+ dismiss()
+ }
+ }.cancelOnTouchOutside(false).cornerRadius(10F)
+ }
}
private fun BorrarInvActual() {
@@ -346,7 +350,7 @@ class InventarioFragment : Fragment() {
positiveButton(R.string.btnOk) {
dismiss()
}
- }.cancelOnTouchOutside(false).cornerRadius(10F)
+ }.cornerRadius(10F)
}
}
@@ -387,7 +391,7 @@ class InventarioFragment : Fragment() {
// }
dismiss()
}
- }.cancelOnTouchOutside(false).cornerRadius(10F)
+ }.cornerRadius(10F)
}
}
@@ -457,7 +461,7 @@ class InventarioFragment : Fragment() {
listArticulos.add(item)
viewAdapter = ProductosListAdapter(listArticulos)
- viewManager =LinearLayoutManager(requireContext())
+ viewManager = LinearLayoutManager(requireContext())
deleteIcon = ContextCompat.getDrawable(requireContext(), R.drawable.borrar)!!
rcInventarios.apply {
adapter = viewAdapter
@@ -482,7 +486,7 @@ class InventarioFragment : Fragment() {
if (dX < c.width / 2) c.drawColor(Color.GREEN)
else c.drawColor(Color.RED)
- deleteIcon.setBounds(itemView.left + iconMargin, itemView.top + iconMargin, itemView.left + iconMargin + deleteIcon.intrinsicWidth, itemView.bottom-iconMargin)
+ deleteIcon.setBounds(itemView.left + iconMargin, itemView.top + iconMargin, itemView.left + iconMargin + deleteIcon.intrinsicWidth, itemView.bottom - iconMargin)
} else {
}
@@ -519,7 +523,7 @@ class InventarioFragment : Fragment() {
fun ObtenerFechaActual(): String? {
//TODO OBTENGO FECHA Y HORA ACTUAL PARA LA CABECERA DEL INVENTARIO Y PARA CADA ITEM QUE SE INSERTA EN LA BD
val current = LocalDateTime.now()
- val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
+ val formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy hh:mm:ss")
val dFechaHora = current.format(formatter)
return dFechaHora.toString()
}
diff --git a/app/src/main/java/com/focasoftware/deboinventariov20/ui/main/MainFragment.kt b/app/src/main/java/com/focasoftware/deboinventariov20/ui/main/MainFragment.kt
index 78c16d2..d25f1b7 100644
--- a/app/src/main/java/com/focasoftware/deboinventariov20/ui/main/MainFragment.kt
+++ b/app/src/main/java/com/focasoftware/deboinventariov20/ui/main/MainFragment.kt
@@ -6,7 +6,6 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import androidx.core.view.get
import androidx.fragment.app.Fragment
import androidx.navigation.NavController
import androidx.navigation.Navigation
@@ -68,10 +67,10 @@ class MainFragment : Fragment(), InventarioListAdapter.OnItemClickListener {
}
fun cargarRecicler(inv: InvHead) {
- var numero=""
//TODO CARGO EN LE RV
- if (inv.invNum.toLong()<10) numero="0${inv.invNum.toLong()}" else numero=inv.invNum.toString()
- val item = ItemInventario("Inventeario: ${numero} ${inv.descripcion} Fecha:${inv.fechaFinal} ")
+
+ val number = if (inv.invNum.toLong()<10) "0${inv.invNum.toLong()}" else inv.invNum.toString()
+ val item = ItemInventario("N° $number ${inv.descripcion}. Fecha: ${inv.fechaFinal}")
//(articulos.sector, articulos.codigo, articulos.descripcion, cant, articulos.codBar)
listIvn.add(item)
diff --git a/app/src/main/res/layout/fragment_servidores.xml b/app/src/main/res/layout/fragment_servidores.xml
index 6c136f8..cea06e0 100644
--- a/app/src/main/res/layout/fragment_servidores.xml
+++ b/app/src/main/res/layout/fragment_servidores.xml
@@ -76,7 +76,7 @@
android:focusable="true"
android:inputType="text"
android:lines="1"
- android:text=""
+ android:hint="Servidor Local"
android:textSize="15sp"
app:layout_constraintBottom_toTopOf="@id/guideline3"
app:layout_constraintEnd_toEndOf="parent"
@@ -95,7 +95,8 @@
android:focusable="true"
android:inputType="text"
android:lines="1"
- android:text=""
+
+ android:hint="192.168.10.1:9090"
android:textSize="15sp"
app:layout_constraintBottom_toTopOf="@id/guideline4"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout/login_dialog.xml b/app/src/main/res/layout/login_dialog.xml
index 1bce642..dc8ff00 100644
--- a/app/src/main/res/layout/login_dialog.xml
+++ b/app/src/main/res/layout/login_dialog.xml
@@ -56,6 +56,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
+ android:visibility="gone"
android:gravity="center"
android:text="@string/tvSeleccion"
android:textSize="20sp"
@@ -68,41 +69,40 @@
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:gravity="start"
- android:orientation="vertical"
+ android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvgenerico2">
-