From 83e6be733bd1641284f65320fd65c8abc66dfbc5 Mon Sep 17 00:00:00 2001 From: ashishandroid Date: Fri, 6 Jan 2017 11:42:14 +0530 Subject: [PATCH] Merge remote-tracking branch 'origin/GeoT' into GeoT # Conflicts: # GSKMTOrange/src/main/AndroidManifest.xml # GSKMTOrange/src/main/java/cpm/com/gskmtorange/GeoTag/GeoTagActivity.java --- .idea/misc.xml | 2 +- GSKMTOrange/src/main/AndroidManifest.xml | 9 + .../com/gskmtorange/Database/GSKOrangeDB.java | 109 +++- .../gskmtorange/GeoTag/GeoTagActivity.java | 8 +- .../gskmtorange/GeoTag/GeoTagStoreList.java | 152 ++---- .../gskmtorange/constant/CommonString.java | 2 +- .../dailyentry/AdditionalVisibility.java | 37 ++ .../dailyentry/NonWorkingReason.java | 466 ++++++++++++++++++ .../dailyentry/StoreListActivity.java | 54 +- .../download/DownloadActivity.java | 3 +- .../gettersetter/CoverageBean.java | 2 +- .../gettersetter/GeotaggingBeans.java | 2 +- .../src/main/res/drawable/login_header.xml | 8 + .../res/layout/additionalvisibilitylayout.xml | 38 ++ .../layout/contentadditionalvisibility.xml | 92 ++++ .../main/res/layout/geotagstorelistfab.xml | 23 + .../src/main/res/layout/nonworking.xml | 129 +++++ GSKMTOrange/src/main/res/layout/storelist.xml | 116 ++--- .../main/res/layout/storelistfablayout.xml | 25 + .../src/main/res/layout/storelistlayout.xml | 124 +++-- .../src/main/res/mipmap-xhdpi/leave_tick.png | Bin 0 -> 3193 bytes GSKMTOrange/src/main/res/values/strings.xml | 3 +- 22 files changed, 1137 insertions(+), 267 deletions(-) create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/AdditionalVisibility.java create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NonWorkingReason.java create mode 100644 GSKMTOrange/src/main/res/drawable/login_header.xml create mode 100644 GSKMTOrange/src/main/res/layout/additionalvisibilitylayout.xml create mode 100644 GSKMTOrange/src/main/res/layout/contentadditionalvisibility.xml create mode 100644 GSKMTOrange/src/main/res/layout/geotagstorelistfab.xml create mode 100644 GSKMTOrange/src/main/res/layout/nonworking.xml create mode 100644 GSKMTOrange/src/main/res/layout/storelistfablayout.xml create mode 100644 GSKMTOrange/src/main/res/mipmap-xhdpi/leave_tick.png diff --git a/.idea/misc.xml b/.idea/misc.xml index b8dc4d6..b15ecee 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -41,7 +41,7 @@ - + diff --git a/GSKMTOrange/src/main/AndroidManifest.xml b/GSKMTOrange/src/main/AndroidManifest.xml index 7fd8be3..96b324b 100644 --- a/GSKMTOrange/src/main/AndroidManifest.xml +++ b/GSKMTOrange/src/main/AndroidManifest.xml @@ -109,6 +109,15 @@ android:screenOrientation="portrait" android:theme="@style/AppTheme.NoActionBar"> + + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java index 5f6b0a1..e9dad01 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java @@ -15,12 +15,14 @@ import cpm.com.gskmtorange.GetterSetter.CoverageBean; import cpm.com.gskmtorange.GetterSetter.GeotaggingBeans; import cpm.com.gskmtorange.GetterSetter.StoreBean; +import cpm.com.gskmtorange.xmlGetterSetter.CategoryGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.DisplayChecklistMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.GapsChecklistGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.JourneyPlanGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingDisplayChecklistGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingPromotionGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.NonWorkingReasonGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.SkuGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.T2PGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.TableBean; @@ -73,7 +75,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { db.execSQL(TableBean.getDisplayMaster()); db.execSQL(TableBean.getMappingStock()); db.execSQL(TableBean.getMappingT2p()); - + db.execSQL(TableBean.getNonWorkingReason()); db.execSQL(CommonString.CREATE_TABLE_STORE_GEOTAGGING); db.execSQL(CommonString.CREATE_TABLE_COVERAGE_DATA); @@ -762,17 +764,26 @@ public class GSKOrangeDB extends SQLiteOpenHelper { .getColumnIndexOrThrow(CommonString.KEY_REASON_ID)))))); sb.setMID(Integer.parseInt(((dbcursor.getString(dbcursor .getColumnIndexOrThrow(CommonString.KEY_ID)))))); - if(dbcursor.getString(dbcursor - .getColumnIndexOrThrow(CommonString.KEY_COVERAGE_REMARK))==null){ + if (dbcursor.getString(dbcursor + .getColumnIndexOrThrow(CommonString.KEY_COVERAGE_REMARK)) == null) { sb.setRemark(""); - } - else{ + } else { sb.setRemark((((dbcursor.getString(dbcursor .getColumnIndexOrThrow(CommonString.KEY_COVERAGE_REMARK)))))); } list.add(sb); - + dbcursor.moveToNext(); + } + dbcursor.close(); + return list; + } + } catch (Exception e) { + Log.d("Exception get JCP!", e.toString()); + return list; + } + return list; + } //Category List public ArrayList getCategoryListData(String keyAccountId, String storeTypeId, String classId) { @@ -1225,8 +1236,10 @@ public class GSKOrangeDB extends SQLiteOpenHelper { } return list; } - - public long InsertCoverageData(CoverageBean data) { + + + + public long InsertCoverageData(CoverageBean data) { //db.delete(CommonString1.TABLE_COVERAGE_DATA, "STORE_ID" + "='" + data.getStoreId() + "'", null); @@ -1330,4 +1343,84 @@ public class GSKOrangeDB extends SQLiteOpenHelper { } } + +//Non Working data + + public void insertNonWorkingData(NonWorkingReasonGetterSetter data) { + db.delete("NON_WORKING_REASON", null, null); + ContentValues values = new ContentValues(); + + try { + + for (int i = 0; i < data.getREASON_ID().size(); i++) { + + values.put("REASON_ID", Integer.parseInt(data.getREASON_ID().get(i))); + values.put("REASON", data.getREASON().get(i)); + values.put("ENTRY_ALLOW", data.getENTRY_ALLOW().get(i)); + values.put("IMAGE_ALLOW", data.getIMAGE_ALLOW().get(i)); + + db.insert("NON_WORKING_REASON", null, values); + + } + + } catch (Exception ex) { + Log.d("Database Exception ", ex.toString()); + } + + } + + // get NonWorking data + public ArrayList getNonWorkingData() { + + ArrayList list = new ArrayList(); + Cursor dbcursor = null; + try { + dbcursor = db.rawQuery("SELECT * FROM NON_WORKING_REASON", null); + + if (dbcursor != null) { + dbcursor.moveToFirst(); + while (!dbcursor.isAfterLast()) { + NonWorkingReasonGetterSetter sb = new NonWorkingReasonGetterSetter(); + + sb.setREASON_ID(dbcursor.getString(dbcursor.getColumnIndexOrThrow("REASON_ID"))); + + sb.setREASON(dbcursor.getString(dbcursor.getColumnIndexOrThrow("REASON"))); + + sb.setENTRY_ALLOW(dbcursor.getString(dbcursor.getColumnIndexOrThrow("ENTRY_ALLOW"))); + + list.add(sb); + dbcursor.moveToNext(); + } + dbcursor.close(); + return list; + } + + } catch (Exception e) { + + return list; + } + + + return list; + } + + public void updateStoreStatusOnLeave(String storeid, String visitdate, + String status) { + + try { + ContentValues values = new ContentValues(); + values.put("UPLOAD_STATUS", status); + + db.update("JOURNEY_PLAN", values, + CommonString.KEY_STORE_ID + "='" + storeid + "' AND " + + CommonString.KEY_VISIT_DATE + "='" + visitdate + + "'", null); + } catch (Exception e) { + + } + } + + + + } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/GeoTag/GeoTagActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/GeoTag/GeoTagActivity.java index 483b1e7..8daca52 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/GeoTag/GeoTagActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/GeoTag/GeoTagActivity.java @@ -784,7 +784,7 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb && !geotaglist.get(i).getUrl1() .equalsIgnoreCase("")) { - if (new File(Environment.getExternalStorageDirectory() + "/GSK_MT_Images/" + if (new File(Environment.getExternalStorageDirectory() + "/GSK_MT_ORANGE_IMAGES/" + geotaglist.get(i).getUrl1()).exists()) { result = UploadGeoImage(geotaglist.get(i).getUrl1(), "GeoTag"); @@ -910,7 +910,7 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb errormsg = ""; BitmapFactory.Options o = new BitmapFactory.Options(); o.inJustDecodeBounds = true; - BitmapFactory.decodeFile(Environment.getExternalStorageDirectory() + "/GSK_MT_Images/" + path, o); + BitmapFactory.decodeFile(Environment.getExternalStorageDirectory() + "/GSK_MT_ORANGE_IMAGES/" + path, o); // The new size we want to scale to final int REQUIRED_SIZE = 1024; @@ -930,7 +930,7 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb // Decode with inSampleSize BitmapFactory.Options o2 = new BitmapFactory.Options(); o2.inSampleSize = scale; - Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory() + "/GSK_MT_Images/" + path, o2); + Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory() + "/GSK_MT_ORANGE_IMAGES/" + path, o2); ByteArrayOutputStream bao = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 90, bao); @@ -958,7 +958,7 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb if (result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { - new File(Environment.getExternalStorageDirectory() + "/GSK_MT_Images/" + path).delete(); + new File(Environment.getExternalStorageDirectory() + "/GSK_MT_ORANGE_IMAGES/" + path).delete(); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/GeoTag/GeoTagStoreList.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/GeoTag/GeoTagStoreList.java index d65b90b..ea12923 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/GeoTag/GeoTagStoreList.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/GeoTag/GeoTagStoreList.java @@ -5,6 +5,7 @@ import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; +import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; @@ -29,6 +30,7 @@ import cpm.com.gskmtorange.Database.GSKOrangeDB; import cpm.com.gskmtorange.GetterSetter.StoreBean; import cpm.com.gskmtorange.R; import cpm.com.gskmtorange.constant.CommonString; +import cpm.com.gskmtorange.download.DownloadActivity; /** * Created by ashishc on 27-12-2016. @@ -45,17 +47,19 @@ public class GeoTagStoreList extends AppCompatActivity implements View.OnClickLi RecyclerView recyclerView; private SharedPreferences.Editor editor = null; LinearLayout parent_linear,nodata_linear; + LinearLayout linearlay; + FloatingActionButton fab; protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); - setContentView(R.layout.storelistlayout); + setContentView(R.layout.geotagstorelistfab); //list = (ListView) findViewById(R.id.list_id); recyclerView=(RecyclerView) findViewById(R.id.drawer_layout_recycle); - + linearlay = (LinearLayout) findViewById(R.id.no_data_lay); // nodata_linear = (LinearLayout) findViewById(R.id.no_data_lay); //parent_linear = (LinearLayout) findViewById(R.id.parent_linear); - + fab = (FloatingActionButton) findViewById(R.id.fab); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); @@ -70,6 +74,25 @@ public class GeoTagStoreList extends AppCompatActivity implements View.OnClickLi db = new GSKOrangeDB(GeoTagStoreList.this); db.open(); + + + + + + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + + Intent in = new Intent(getApplicationContext(), DownloadActivity.class); + startActivity(in); + + finish(); + + + } + }); + + storelist = db.getStoreData(date); if (storelist.size()>0) { @@ -81,69 +104,14 @@ public class GeoTagStoreList extends AppCompatActivity implements View.OnClickLi } else { + recyclerView.setVisibility(View.INVISIBLE); + linearlay.setVisibility(View.VISIBLE); + fab.setVisibility(View.VISIBLE); } - } -/* - private class MyAdaptor extends BaseAdapter { - - @Override - public int getCount() { - - return storelist.size(); - } - - @Override - public Object getItem(int position) { - - return position; - } - - @Override - public long getItemId(int position) { - - return position; - } - - @Override - public View getView(final int position, View convertView, ViewGroup parent) { - GeoTagStoreList.ViewHolder holder = null; - if (convertView == null) { - holder = new GeoTagStoreList.ViewHolder(); - - LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); - convertView = inflater.inflate(R.layout.geotagstorelist, null); - - holder.storename = (TextView) convertView.findViewById(R.id.geolistviewxml_storename); - - holder.imgtick = (ImageView) convertView - .findViewById(R.id.imageView1); - - convertView.setTag(holder); - - } else { - holder = (GeoTagStoreList.ViewHolder) convertView.getTag(); - } - holder.storename.setText(storelist.get(position).getSTORE_NAME()); - //holder.storeaddress.setText(storelist.get(position).getCITY()); - - return convertView; - } - - } -*/ - - /*private class ViewHolder { - TextView storename, storeaddress; - ImageView imgtick; - Button checkout; - - RelativeLayout l1; - - }*/ @Override public boolean onOptionsItemSelected(MenuItem item) { @@ -154,7 +122,6 @@ public class GeoTagStoreList extends AppCompatActivity implements View.OnClickLi if(id==android.R.id.home){ - finish(); overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); @@ -173,67 +140,6 @@ public class GeoTagStoreList extends AppCompatActivity implements View.OnClickLi } - /*protected void onListItemClick(ListView l, View v, int position, long id) { - // TODO Auto-generated method stub - // super.onListItemClick(l, v, position, id); - - storelist = db.getStoreData(date); - StoreBean sb = storelist.get(position); - - // When clicked, show a toast with the TextView text - if (storelist.get(position).getGEO_TAG().equalsIgnoreCase("U")) { - - - Snackbar.make(v, R.string.title_geo_tag_activity_upload_data, Snackbar.LENGTH_LONG).setAction("Action", null).show(); - - - } else if (storelist.get(position).getGEO_TAG().equalsIgnoreCase("D")){ - - - Snackbar.make(v, R.string.title_geo_tag_activity_geo_data, Snackbar.LENGTH_LONG).setAction("Action", null).show(); - - - } - - else if (storelist.get(position).getGEO_TAG().equalsIgnoreCase("Y")) { - - - Snackbar.make(v, R.string.title_geo_tag_activity_geo_already_done, Snackbar.LENGTH_LONG).setAction("Action", null).show(); - - - - } else if (storelist.get(position).getGEO_TAG().equalsIgnoreCase("P")) { - - Snackbar.make(v, R.string.title_geo_tag_activity_geo_already_done, Snackbar.LENGTH_LONG).setAction("Action", null).show(); - - } else { - - // PUT IN PREFERENCES - editor = preferences.edit(); - editor.putString(CommonString.KEY_STORE_ID, sb.getSTORE_ID()); - editor.putString(CommonString.KEY_STORE_NAME, sb.getSTORE_NAME()); - editor.putString(CommonString.KEY_VISIT_DATE, sb.getVISIT_DATE()); - editor.commit(); - - Intent intent = new Intent(GeoTagStoreList.this, GeoTagActivity.class); - startActivity(intent); - GeoTagStoreList(); - } - } - - @Override - public void onClick(View arg0) { - // TODO Auto-generated method stub - - } - - - public void GeoTagStoreList() { - - this.finish(); - - }*/ - public class ValueAdapter extends RecyclerView.Adapter{ private LayoutInflater inflator; diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonString.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonString.java index da5b885..aadbee4 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonString.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonString.java @@ -16,7 +16,7 @@ public class CommonString { public static final String KEY_PASSWORD = "password"; public static final String KEY_DATE = "date"; public static final String KEY_STOREVISITED_STATUS = "STOREVISITED_STATUS"; - public static final String FILE_PATH = Environment.getExternalStorageDirectory() + "/GSK_MT_Images/"; + //public static final String FILE_PATH = Environment.getExternalStorageDirectory() + "/GSK_MT_Images/"; public static final String KEY_PATH = "path"; public static final String KEY_VERSION = "APP_VERSION"; diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/AdditionalVisibility.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/AdditionalVisibility.java new file mode 100644 index 0000000..3fc58a1 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/AdditionalVisibility.java @@ -0,0 +1,37 @@ +package cpm.com.gskmtorange.dailyentry; + +import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; + +import cpm.com.gskmtorange.R; + +/** + * Created by ashishc on 05-01-2017. + */ + +public class AdditionalVisibility extends AppCompatActivity{ + + protected void onCreate(Bundle savedInstanceState) { + // TODO Auto-generated method stub + super.onCreate(savedInstanceState); + setContentView(R.layout.additionalvisibilitylayout); + + + + + + + } + + + + + + + + + + + + +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NonWorkingReason.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NonWorkingReason.java new file mode 100644 index 0000000..f944979 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NonWorkingReason.java @@ -0,0 +1,466 @@ +package cpm.com.gskmtorange.dailyentry; + +import android.app.AlertDialog; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.SharedPreferences; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; +import android.net.Uri; +import android.os.Build; +import android.os.Bundle; +import android.preference.PreferenceManager; +import android.provider.MediaStore; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; +import android.util.Log; +import android.view.MenuItem; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemSelectedListener; +import android.widget.ArrayAdapter; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageButton; +import android.widget.RelativeLayout; +import android.widget.Spinner; +import android.widget.Toast; + +import java.io.File; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; + +import cpm.com.gskmtorange.Database.GSKOrangeDB; +import cpm.com.gskmtorange.GetterSetter.CoverageBean; +import cpm.com.gskmtorange.GetterSetter.StoreBean; +import cpm.com.gskmtorange.R; +import cpm.com.gskmtorange.constant.CommonString; +import cpm.com.gskmtorange.xmlGetterSetter.JourneyPlanGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.NonWorkingReasonGetterSetter; + + +public class NonWorkingReason extends AppCompatActivity implements + OnItemSelectedListener, OnClickListener { + + ArrayList reasondata = new ArrayList(); + private Spinner reasonspinner; + private GSKOrangeDB database; + String reasonname, reasonid, entry_allow, image, entry, reason_reamrk, intime; + Button save; + private ArrayAdapter reason_adapter; + protected String _path, str; + protected String _pathforcheck = ""; + private ArrayList storedata = new ArrayList(); + private String image1 = ""; + private ArrayList cdata = new ArrayList(); + protected boolean _taken; + protected static final String PHOTO_TAKEN = "photo_taken"; + private SharedPreferences preferences; + String _UserId, visit_date, store_id; + protected boolean status = true; + EditText text; + AlertDialog alert; + ImageButton camera; + RelativeLayout reason_lay, rel_cam; + + boolean leave_flag = false; + + ArrayList jcp; + + @Override + protected void onCreate(Bundle savedInstanceState) { + // TODO Auto-generated method stub + super.onCreate(savedInstanceState); + setContentView(R.layout.nonworking); + + reasonspinner = (Spinner) findViewById(R.id.spinner2); + camera = (ImageButton) findViewById(R.id.imgcam); + save = (Button) findViewById(R.id.save); + text = (EditText) findViewById(R.id.reasontxt); + reason_lay = (RelativeLayout) findViewById(R.id.layout_reason); + rel_cam = (RelativeLayout) findViewById(R.id.relimgcam); + + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + + getSupportActionBar().setHomeButtonEnabled(true); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + + preferences = PreferenceManager.getDefaultSharedPreferences(this); + _UserId = preferences.getString(CommonString.KEY_USERNAME, ""); + visit_date = preferences.getString(CommonString.KEY_DATE, null); + store_id = preferences.getString(CommonString.KEY_STORE_ID, ""); + + database = new GSKOrangeDB(this); + database.open(); + str = CommonString.FILE_PATH; + + reasondata = database.getNonWorkingData(); + + intime = getCurrentTime(); + + camera.setOnClickListener(this); + save.setOnClickListener(this); + + reason_adapter = new ArrayAdapter(this, + android.R.layout.simple_spinner_item); + + reason_adapter.add("Select Reason"); + + for (int i = 0; i < reasondata.size(); i++) { + reason_adapter.add(reasondata.get(i).getREASON().get(0)); + } + + reasonspinner.setAdapter(reason_adapter); + + reason_adapter + .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + + reasonspinner.setOnItemSelectedListener(this); + } + + @Override + public void onBackPressed() { + // TODO Auto-generated method stub + + finish(); + + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + + @Override + public void onItemSelected(AdapterView arg0, View arg1, int position, + long arg3) { + // TODO Auto-generated method stub + + switch (arg0.getId()) { + case R.id.spinner2: + if (position != 0) { + reasonname = reasondata.get(position - 1).getREASON().get(0); + reasonid = reasondata.get(position - 1).getREASON_ID().get(0); + entry_allow = reasondata.get(position - 1).getENTRY_ALLOW().get(0); + + if (reasonname.equalsIgnoreCase("Store closed")) { + rel_cam.setVisibility(View.VISIBLE); + image = "true"; + } else { + rel_cam.setVisibility(View.GONE); + image = "false"; + } + reason_reamrk = "true"; + if (reason_reamrk.equalsIgnoreCase("true")) { + reason_lay.setVisibility(View.VISIBLE); + } else { + reason_lay.setVisibility(View.GONE); + } + } else { + reasonname = ""; + reasonid = ""; + } + break; + } + + } + + @Override + public void onNothingSelected(AdapterView arg0) { + // TODO Auto-generated method stub + + } + + protected void startCameraActivity() { + + try { + Log.i("MakeMachine", "startCameraActivity()"); + File file = new File(_path); + Uri outputFileUri = Uri.fromFile(file); + + String defaultCameraPackage = ""; + final PackageManager packageManager = getPackageManager(); + List list = packageManager.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES); + for (int n = 0; n < list.size(); n++) { + if ((list.get(n).flags & ApplicationInfo.FLAG_SYSTEM) == 1) { + Log.e("TAG", "Installed Applications : " + list.get(n).loadLabel(packageManager).toString()); + Log.e("TAG", "package name : " + list.get(n).packageName); + + if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + if (list.get(n).loadLabel(packageManager).toString().equalsIgnoreCase("Camera")) { + defaultCameraPackage = list.get(n).packageName; + break; + } + } else { + if (list.get(n).loadLabel(packageManager).toString().equalsIgnoreCase("Gallery")) { + defaultCameraPackage = list.get(n).packageName; + break; + } + } + } + } + + Intent intent = new Intent( + android.provider.MediaStore.ACTION_IMAGE_CAPTURE); + intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); + intent.setPackage(defaultCameraPackage); + startActivityForResult(intent, 0); + + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + @SuppressWarnings("deprecation") + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + Log.i("MakeMachine", "resultCode: " + resultCode); + switch (resultCode) { + case 0: + Log.i("MakeMachine", "User cancelled"); + break; + + case -1: + + if (_pathforcheck != null && !_pathforcheck.equals("")) { + if (new File(str + _pathforcheck).exists()) { + + camera.setImageDrawable(getResources().getDrawable(R.drawable.cam_deactive)); + + + image1 = _pathforcheck; + + _pathforcheck = ""; + + } + } + + break; + } + + } + + public boolean imageAllowed() { + boolean result = true; + + if (image.equalsIgnoreCase("true")) { + + if (image1.equalsIgnoreCase("")) { + + result = false; + + } + } + + return result; + + } + + public boolean textAllowed() { + boolean result = true; + + + if (text.getText().toString().trim().equals("")) { + + result = false; + + } + + return result; + } + + @Override + public void onClick(View v) { + // TODO Auto-generated method stub + if (v.getId() == R.id.imgcam) { + _pathforcheck = store_id + "NonWorking" + _UserId + ".jpg"; + + _path = CommonString.FILE_PATH + _pathforcheck; + + startCameraActivity(); + } + if (v.getId() == R.id.save) { + + if (validatedata()) { + + if (imageAllowed()) { + + if (textAllowed()) { + + AlertDialog.Builder builder = new AlertDialog.Builder( + NonWorkingReason.this); + builder.setMessage("Do you want to save the data ") + .setCancelable(false) + .setPositiveButton("OK", + new DialogInterface.OnClickListener() { + public void onClick( + DialogInterface dialog, + int id) { + + alert.getButton( + AlertDialog.BUTTON_POSITIVE) + .setEnabled(false); + + if (entry_allow.equals("0")) { + + database.deleteAllTables(); + + jcp = database.getStoreData(visit_date); + + for (int i = 0; i < jcp.size(); i++) { + + String stoteid = jcp.get(i).getSTORE_ID(); + + CoverageBean cdata = new CoverageBean(); + cdata.setStoreId(stoteid); + cdata.setVisitDate(visit_date); + cdata.setUserId(_UserId); + cdata.setInTime(intime); + cdata.setOutTime(getCurrentTime()); + cdata.setReason(reasonname); + cdata.setReasonid(reasonid); + cdata.setLatitude("0.0"); + cdata.setLongitude("0.0"); + cdata.setImage(image1); + + cdata.setRemark(text.getText().toString().replaceAll("[&^<>{}'$]", " ")); + cdata.setStatus(CommonString.STORE_STATUS_LEAVE); + + database.InsertCoverageData(cdata); + + database.updateStoreStatusOnLeave(store_id, visit_date, CommonString.STORE_STATUS_LEAVE); + + SharedPreferences.Editor editor = preferences.edit(); + + editor.putString(CommonString.KEY_STOREVISITED_STATUS + stoteid, "No"); + editor.putString(CommonString.KEY_STOREVISITED_STATUS, ""); + editor.putString(CommonString.KEY_STORE_IN_TIME, ""); + editor.putString(CommonString.KEY_LATITUDE, ""); + editor.putString(CommonString.KEY_LONGITUDE, ""); + editor.commit(); + + } + + } else { + + CoverageBean cdata = new CoverageBean(); + cdata.setStoreId(store_id); + cdata.setVisitDate(visit_date); + cdata.setUserId(_UserId); + cdata.setInTime(intime); + cdata.setOutTime(getCurrentTime()); + cdata.setReason(reasonname); + cdata.setReasonid(reasonid); + cdata.setLatitude("0.0"); + cdata.setLongitude("0.0"); + cdata.setImage(image1); + + cdata.setRemark(text + .getText() + .toString() + .replaceAll( + "[&^<>{}'$]", + " ")); + cdata.setStatus(CommonString.STORE_STATUS_LEAVE); + + database.InsertCoverageData(cdata); + + database.updateStoreStatusOnLeave(store_id, visit_date, CommonString.STORE_STATUS_LEAVE); + + SharedPreferences.Editor editor = preferences + .edit(); + + editor.putString(CommonString.KEY_STOREVISITED_STATUS + store_id, "No"); + editor.putString( + CommonString.KEY_STOREVISITED_STATUS, + ""); + editor.putString( + CommonString.KEY_STORE_IN_TIME, + ""); + editor.putString( + CommonString.KEY_LATITUDE, + ""); + editor.putString( + CommonString.KEY_LONGITUDE, + ""); + editor.commit(); + + } + + finish(); + } + }) + .setNegativeButton("Cancel", + new DialogInterface.OnClickListener() { + public void onClick( + DialogInterface dialog, + int id) { + dialog.cancel(); + } + }); + + alert = builder.create(); + alert.show(); + + } else { + Toast.makeText(getApplicationContext(), + "Please enter required remark reason", + Toast.LENGTH_SHORT).show(); + } + } else { + Toast.makeText(getApplicationContext(), + "Please Capture Image", Toast.LENGTH_SHORT).show(); + } + } else { + Toast.makeText(getApplicationContext(), + "Please Select a Reason", Toast.LENGTH_SHORT).show(); + + } + } + + } + + public boolean validatedata() { + boolean result = false; + if (reasonid != null && !reasonid.equalsIgnoreCase("")) { + result = true; + } + + return result; + + } + + public String getCurrentTime() { + + Calendar m_cal = Calendar.getInstance(); + + SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss"); + String cdate = formatter.format(m_cal.getTime()); + + /* String intime = m_cal.get(Calendar.HOUR_OF_DAY) + ":" + + m_cal.get(Calendar.MINUTE) + ":" + m_cal.get(Calendar.SECOND);*/ + + return cdate; + + } + + @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(); + + if (id == android.R.id.home) { + + // NavUtils.navigateUpFromSameTask(this); + finish(); + + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + + } + + return super.onOptionsItemSelected(item); + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreListActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreListActivity.java index 147f52e..e023b67 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreListActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreListActivity.java @@ -8,6 +8,7 @@ import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; +import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; @@ -40,6 +41,7 @@ import cpm.com.gskmtorange.GetterSetter.CoverageBean; import cpm.com.gskmtorange.GetterSetter.StoreBean; import cpm.com.gskmtorange.R; import cpm.com.gskmtorange.constant.CommonString; +import cpm.com.gskmtorange.download.DownloadActivity; /** * Created by ashishc on 29-12-2016. @@ -59,30 +61,38 @@ public class StoreListActivity extends AppCompatActivity { String store_id; private Dialog dialog; boolean result_flag = false, leaveflag = false; - + FloatingActionButton fab; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.storelist); + setContentView(R.layout.storelistfablayout); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); - getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true); - - preferences = PreferenceManager.getDefaultSharedPreferences(this); date = preferences.getString(CommonString.KEY_DATE, null); visit_status = preferences.getString(CommonString.KEY_STOREVISITED_STATUS, ""); - db = new GSKOrangeDB(StoreListActivity.this); db.open(); - - linearlay = (LinearLayout) findViewById(R.id.linearlayout); + linearlay = (LinearLayout) findViewById(R.id.no_data_lay); recyclerView = (RecyclerView) findViewById(R.id.drawer_layout_recycle); + fab = (FloatingActionButton) findViewById(R.id.fab); + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + + Intent in = new Intent(getApplicationContext(), DownloadActivity.class); + startActivity(in); + + finish(); + + + } + }); } @@ -104,6 +114,7 @@ public class StoreListActivity extends AppCompatActivity { recyclerView.setVisibility(View.INVISIBLE); linearlay.setVisibility(View.VISIBLE); + fab.setVisibility(View.VISIBLE); } } @@ -186,7 +197,17 @@ public class StoreListActivity extends AppCompatActivity { viewHolder.imageview.setVisibility(View.VISIBLE); viewHolder.imageview.setBackgroundResource(R.mipmap.tickl); viewHolder.chkbtn.setVisibility(View.INVISIBLE); - } else if (current.getCHECKOUT_STATUS().equalsIgnoreCase(CommonString.KEY_INVALID)) { + } + else if (current.getUPLOAD_STATUS().equalsIgnoreCase(CommonString.STORE_STATUS_LEAVE)) { + viewHolder.imageview.setVisibility(View.VISIBLE); + viewHolder.imageview.setBackgroundResource(R.mipmap.leave_tick); + viewHolder.chkbtn.setVisibility(View.INVISIBLE); + } + + + + + else if (current.getCHECKOUT_STATUS().equalsIgnoreCase(CommonString.KEY_INVALID)) { if (coverage.size() > 0) { @@ -240,7 +261,12 @@ public class StoreListActivity extends AppCompatActivity { Snackbar.make(v, R.string.title_store_list_activity_store_again_uploaded, Snackbar.LENGTH_LONG).setAction("Action", null).show(); } else if (current.getUPLOAD_STATUS().equalsIgnoreCase(CommonString.KEY_L)) { Snackbar.make(v, R.string.title_store_list_activity_store_closed, Snackbar.LENGTH_LONG).setAction("Action", null).show(); - } else { + } + else if (current.getUPLOAD_STATUS().equalsIgnoreCase(CommonString.STORE_STATUS_LEAVE)) { + Snackbar.make(v, R.string.title_store_list_activity_already_store_closed, Snackbar.LENGTH_LONG).setAction("Action", null).show(); + } + + else { // PUT IN PREFERENCES editor = preferences.edit(); @@ -354,8 +380,8 @@ public class StoreListActivity extends AppCompatActivity { - /*Intent in = new Intent(StoreListActivity.this, NonWorkingReason.class); - startActivity(in);*/ + Intent in = new Intent(StoreListActivity.this, NonWorkingReason.class); + startActivity(in); } }) @@ -376,8 +402,8 @@ public class StoreListActivity extends AppCompatActivity { - /* Intent in = new Intent(StoreListActivity.this, NonWorkingReason.class); - startActivity(in);*/ + Intent in = new Intent(StoreListActivity.this, NonWorkingReason.class); + startActivity(in); } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java index 94d8263..594a02c 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java @@ -552,12 +552,13 @@ public class DownloadActivity extends AppCompatActivity { db.InsertBrandMaster(brandMasterGetterSetter); db.InsertSkuMaster(skumastergettersetter); db.InsertDisplayMaster(displayMasterGetterSetter); - db.InsertMAPPING_T2P(mappingt2PGetterSetter); db.InsertMappingStock(mappingStockGetterSetter); db.InsertDisplayChecklistMaster(checklistMasterGetterSetter); db.InsertMappingDisplayChecklist(mappingChecklistGetterSetter); + db.insertNonWorkingData(nonWorkingReasonGetterSetter); + } catch (MalformedURLException e) { /*final AlertMessage message = new AlertMessage( CompleteDownloadActivity.this, diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gettersetter/CoverageBean.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gettersetter/CoverageBean.java index 5023fd5..6a61582 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gettersetter/CoverageBean.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gettersetter/CoverageBean.java @@ -1,4 +1,4 @@ -package cpm.com.gskmtorange.gettersetter; +package cpm.com.gskmtorange.GetterSetter; public class CoverageBean { diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gettersetter/GeotaggingBeans.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gettersetter/GeotaggingBeans.java index 4470b5f..d092510 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gettersetter/GeotaggingBeans.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gettersetter/GeotaggingBeans.java @@ -1,4 +1,4 @@ -package cpm.com.gskmtorange.gettersetter; +package cpm.com.gskmtorange.GetterSetter; public class GeotaggingBeans { diff --git a/GSKMTOrange/src/main/res/drawable/login_header.xml b/GSKMTOrange/src/main/res/drawable/login_header.xml new file mode 100644 index 0000000..f266186 --- /dev/null +++ b/GSKMTOrange/src/main/res/drawable/login_header.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/layout/additionalvisibilitylayout.xml b/GSKMTOrange/src/main/res/layout/additionalvisibilitylayout.xml new file mode 100644 index 0000000..cabc217 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/additionalvisibilitylayout.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + diff --git a/GSKMTOrange/src/main/res/layout/contentadditionalvisibility.xml b/GSKMTOrange/src/main/res/layout/contentadditionalvisibility.xml new file mode 100644 index 0000000..caac420 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/contentadditionalvisibility.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GSKMTOrange/src/main/res/layout/geotagstorelistfab.xml b/GSKMTOrange/src/main/res/layout/geotagstorelistfab.xml new file mode 100644 index 0000000..ba2ffba --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/geotagstorelistfab.xml @@ -0,0 +1,23 @@ + + + + + + + + diff --git a/GSKMTOrange/src/main/res/layout/nonworking.xml b/GSKMTOrange/src/main/res/layout/nonworking.xml new file mode 100644 index 0000000..3162ad3 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/nonworking.xml @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +