Skip to content

Commit

Permalink
[ADD] Busqueda de vehiculos y chofers y asignacion a las expediciones
Browse files Browse the repository at this point in the history
  • Loading branch information
sergio-teruel committed Jan 26, 2015
1 parent 819e1e7 commit 69373f0
Show file tree
Hide file tree
Showing 13 changed files with 342 additions and 18 deletions.
4 changes: 4 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@
android:name=".Expediciones"
android:label="@string/title_activity_expediciones" >
</activity>
<activity
android:name=".Search"
android:label="@string/title_activity_search" >
</activity>
</application>

</manifest>
27 changes: 23 additions & 4 deletions app/src/main/java/es/incaser/apps/stockcontrol/DbAdapter.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,16 @@ public class DbAdapter extends SQLiteOpenHelper {
{"GrupoTallas_", "SELECT * FROM GrupoTallas_", ""},
{"MovimientoStock", "SELECT * FROM VIS_INC_MovimientoStockAndroid", "StatusAndroidSync=1"},
{"ArticulosSeries", "SELECT * FROM VIS_INC_ArticulosSeriesAnd", ""},
{"TRA_Vehiculos", "SELECT * FROM VIS_AND_Vehiculos", ""},
{"TRA_Remolques", "SELECT * FROM VIS_AND_Remolques", ""},
{"Choferes", "SELECT * FROM VIS_AND_Choferes", ""},
//{"INC_Incidencias", "SELECT * FROM INC_Incidencias", "INC_PendienteSync <> 0"},
//Fin Tablas a importar
//{"MArtSerie", "SELECT * FROM MovimientosArticuloSerie", "(FechaRegistro > GETDATE() - 3)"},
{"MovimientoArticuloSerie", "SELECT * FROM VIS_INC_MovArticuloSerieAnd", "(FechaRegistro > '2014-12-23') AND StatusAndroidSync=1"},
};
public static int tablesToImport = 5; // Modificar en caso de añadir mas tablas
public static int tablesToExport = 4; // Exportar tablas a partir de este indice
public static int tablesToImport = 8; // Modificar en caso de añadir mas tablas
public static int tablesToExport = 7; // Exportar tablas a partir de este indice
private SQLConnection sqlConnection;

public DbAdapter(Context context) {
Expand Down Expand Up @@ -360,10 +363,17 @@ public int updateMovimientoStock(String numeroSerie) {
*/

public int updateMovimientoStock(String movPosicion) {
ContentValues cv = new ContentValues();
cv.put("FechaRegistro", getToday("yyyy-MM-dd HH:mm:ss.S"));
ContentValues cv = new ContentValues();
cv.put("FechaRegistro", getToday("yyyy-MM-dd HH:mm:ss.S"));
return db.update("MovimientoStock", cv, "MovPosicion = ?", new String[]{movPosicion});
}

public int updateMovimientoStock(String tipoMov, String serie, String documento, String campo, String valor) {
ContentValues cv = new ContentValues();
cv.put("FechaRegistro", getToday("yyyy-MM-dd HH:mm:ss.S"));
cv.put(campo, valor);
return db.update("MovimientoStock", cv, "TipoMovimiento=? AND Serie=? AND Documento=?", new String[]{tipoMov, serie, documento});
}

public Cursor getMovArticuloSerieNumSerie(String origenDoc, String numeroSerie){
String where = "OrigenDocumento=? AND NumeroSerieLc=?";
Expand All @@ -372,6 +382,15 @@ public Cursor getMovArticuloSerieNumSerie(String origenDoc, String numeroSerie){
return cursor;
}

public Cursor getBusqueda(String tabla, String campoBusqueda, String campoRetorno, String searchText){
searchText = "%" + searchText +"%";
String where = campoBusqueda + " like ?";
Cursor cursor = db.query(tabla, new String[]{"id", campoRetorno}, where,
new String[]{searchText}, "", "", campoRetorno);
return cursor;
}


//*******************************************************************************////

public Cursor getMaquina(String id) {
Expand Down
71 changes: 57 additions & 14 deletions app/src/main/java/es/incaser/apps/stockcontrol/Expediciones.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,20 @@
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import es.incaser.apps.tools.Tools;

import static es.incaser.apps.tools.Tools.date2str;
import static es.incaser.apps.tools.Tools.dateStr2str;


public class Expediciones extends ActionBarActivity {
public class Expediciones extends ActionBarActivity{
ListView lvMovimientoStock;
MovStockAdapter movStockAdapter;
DbAdapter dbAdapter;
Expand All @@ -30,26 +35,16 @@ protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_expediciones);
linkListViewMovimientoStock();

}

public void linkListViewMovimientoStock(){
lvMovimientoStock = (ListView) findViewById(R.id.lv_expediciones);
movStockAdapter = new MovStockAdapter(this);
lvMovimientoStock.setAdapter(movStockAdapter);
lvMovimientoStock.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(view.getContext(), BarcodeReader.class);
intent.putExtra("tipoMov", TipoMovimiento.SALIDA);
Cursor cursor = (Cursor) movStockAdapter.getItem(position);
intent.putExtra("serieMov", cursor.getString(cursor.getColumnIndex("Serie")));
intent.putExtra("documentoMov", cursor.getString(cursor.getColumnIndex("Documento")));

startActivity(intent);
}
});
}



@Override
public boolean onCreateOptionsMenu(Menu menu) {
Expand All @@ -72,7 +67,9 @@ public boolean onOptionsItemSelected(MenuItem item) {

return super.onOptionsItemSelected(item);
}
public class MovStockAdapter extends BaseAdapter {


public class MovStockAdapter extends BaseAdapter implements View.OnClickListener{
Context context;
Cursor cursor;

Expand Down Expand Up @@ -111,11 +108,15 @@ public View getView(int position, View convertView, ViewGroup parent) {
myView = convertView;
}
cursor.moveToPosition(position);

myView.setOnClickListener(this);

TextView txtFecha = (TextView) myView.findViewById(R.id.tv_mov_stock_fecha);
TextView txtSerie = (TextView) myView.findViewById(R.id.tv_mov_stock_serie);
TextView txtDocumento = (TextView) myView.findViewById(R.id.tv_mov_stock_documento);
TextView txtTotalArticulos = (TextView) myView.findViewById(R.id.tv_mov_stock_unidades_total);
Button btn = (Button) myView.findViewById(R.id.btn_asignar_transporte);
btn.setOnClickListener(this);

txtFecha.setText(dateStr2str(getMovimiento("Fecha")));
txtSerie.setText(getMovimiento("Serie"));
Expand All @@ -128,5 +129,47 @@ public View getView(int position, View convertView, ViewGroup parent) {
public String getMovimiento(String column) {
return cursor.getString(cursor.getColumnIndex(column));
}

@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_asignar_transporte:
Toast.makeText(v.getContext(), "Boton Click", Toast.LENGTH_SHORT).show();
Intent intentSearch = new Intent(v.getContext(),Search.class);
intentSearch.putExtra("tabla", "TRA_Vehiculos");
intentSearch.putExtra("campoBusqueda", "Matricula");
intentSearch.putExtra("campoRetorno", "Matricula");
intentSearch.putExtra("tipoMov", TipoMovimiento.SALIDA);
intentSearch.putExtra("serieMov", cursor.getString(cursor.getColumnIndex("Serie")));
intentSearch.putExtra("documentoMov", cursor.getString(cursor.getColumnIndex("Documento")));
startActivityForResult(intentSearch, 1);
break;
default:
Intent intent = new Intent(v.getContext(), BarcodeReader.class);
intent.putExtra("tipoMov", TipoMovimiento.SALIDA);
intent.putExtra("serieMov", cursor.getString(cursor.getColumnIndex("Serie")));
intent.putExtra("documentoMov", cursor.getString(cursor.getColumnIndex("Documento")));
startActivity(intent);
break;
}
}
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if(resultCode == RESULT_OK){
String id = data.getStringExtra("id");
String matricula = data.getStringExtra("Matricula");
String tipoMov = data.getStringExtra("tipoMov");
String serieMov = data.getStringExtra("serieMov");
String documentoMov = data.getStringExtra("documentoMov");
dbAdapter.updateMovimientoStock(tipoMov, serieMov, documentoMov, "Matricula", matricula);
}
if (resultCode == RESULT_CANCELED) {
//Write your code if there's no result
}
}
super.onActivityResult(requestCode, resultCode, data);
}
}
157 changes: 157 additions & 0 deletions app/src/main/java/es/incaser/apps/stockcontrol/Search.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
package es.incaser.apps.stockcontrol;

import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import static es.incaser.apps.tools.Tools.dateStr2str;


public class Search extends ActionBarActivity implements TextWatcher{
ListView lv_search;
EditText txt_search;
SearchAdapter searchAdapter;
DbAdapter dbAdapter;
String tabla;
String campoBusqueda;
String campoRetorno;
Bundle bundleOrig;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search);
bundleOrig = getIntent().getExtras();
tabla = bundleOrig.getString("tabla");
campoBusqueda = bundleOrig.getString("campoBusqueda","");
campoRetorno = bundleOrig.getString("campoRetorno","");

txt_search = (EditText) findViewById(R.id.txt_buscador);
txt_search.addTextChangedListener(this);

lv_search = (ListView) findViewById(R.id.lv_result_search);
searchAdapter = new SearchAdapter(this);
lv_search.setAdapter(searchAdapter);


}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_search, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}

return super.onOptionsItemSelected(item);
}

@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {

}

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {

}

@Override
public void afterTextChanged(Editable s) {
searchAdapter.search(s.toString());
searchAdapter.notifyDataSetChanged();
}

public class SearchAdapter extends BaseAdapter implements View.OnClickListener{
Context context;
Cursor cursor;

public SearchAdapter(Context ctx){
context = ctx;
dbAdapter = new DbAdapter(context);
search("");
}

public void search(String searchText){
cursor = dbAdapter.getBusqueda(tabla, campoBusqueda, campoRetorno, searchText);
cursor.moveToFirst();
}

@Override
public int getCount() {
return cursor.getCount();
}

@Override
public Object getItem(int position) {
cursor.moveToPosition(position);
return cursor;
}

@Override
public long getItemId(int position) {
cursor.moveToPosition(position);
return cursor.getLong(cursor.getColumnIndex("id"));
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
View myView = null;

if (convertView == null) {
LayoutInflater myInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
myView = myInflater.inflate(R.layout.item_search, null);
} else {
myView = convertView;
}
cursor.moveToPosition(position);
myView.setOnClickListener(this);
TextView tvName = (TextView) myView.findViewById(R.id.tv_item_search);
tvName.setText(cursor.getString(cursor.getColumnIndex(campoRetorno)));
return myView;
}


@Override
public void onClick(View v) {
Intent returnIntent = new Intent();
returnIntent.putExtra("id",cursor.getString(0));
returnIntent.putExtra(campoRetorno, cursor.getString(cursor.getColumnIndex(campoRetorno)));
returnIntent.putExtra("tipoMov",bundleOrig.getString("tipoMov"));
returnIntent.putExtra("serieMov",bundleOrig.getString("serieMov"));
returnIntent.putExtra("documentoMov",bundleOrig.getString("documentoMov"));


setResult(RESULT_OK,returnIntent);
finish();
}
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
33 changes: 33 additions & 0 deletions app/src/main/res/layout/activity_search.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="es.incaser.apps.stockcontrol.Search">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/txt_buscador"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Buscar..."
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/lv_result_search"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
Loading

0 comments on commit 69373f0

Please sign in to comment.