From 8f7a7008e86501cfeeabcac0ca05bddc250a66a2 Mon Sep 17 00:00:00 2001 From: yadavendras Date: Fri, 14 Sep 2018 19:15:23 +0530 Subject: [PATCH 1/9] Deepak_commit_31_05_2018 --- GSKMTOrange/build.gradle | 34 +-- .../com/gskmtorange/Database/GSKOrangeDB.java | 129 ++++++-- .../cpm/com/gskmtorange/LoginActivity.java | 11 +- .../gskmtorange/constant/CommonFunctions.java | 3 +- .../gskmtorange/constant/CommonString.java | 2 +- .../dailyentry/CreateSelfActivity.java | 6 + .../dailyentry/NoCameraActivity.java | 16 +- .../download/DownloadActivity.java | 42 ++- .../MSL_Availability_StockFacingActivity.java | 17 +- .../upload/PreviousDataUploadActivity.java | 116 ++++--- .../gskmtorange/upload/UploadActivity.java | 172 +++++++---- .../upload/UploadImageWithRetrofit.java | 287 +++++++++++++++++- .../NoCameraDataGetterSetter.java | 7 +- .../NoCameraLastVisitGetterSetter.java | 108 +++++++ .../xmlGetterSetter/TableBean.java | 9 + .../gskmtorange/xmlHandlers/XMLHandlers.java | 55 ++++ build.gradle | 2 +- 17 files changed, 831 insertions(+), 185 deletions(-) create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/NoCameraLastVisitGetterSetter.java diff --git a/GSKMTOrange/build.gradle b/GSKMTOrange/build.gradle index 8c2f0ef..0f42086 100644 --- a/GSKMTOrange/build.gradle +++ b/GSKMTOrange/build.gradle @@ -21,20 +21,20 @@ android { targetSdkVersion 22 //For Egypt - /* versionCode 14 + /*versionCode 14 versionName "2.6"*/ //For UAE - versionCode 18 - versionName "3.0" + /*versionCode 19 + versionName "3.1"*/ //For Turkey - /* versionCode 15 + /*versionCode 15 versionName "2.7"*/ //For KSA - /* versionCode 18 - versionName "3.0"*/ + versionCode 19 + versionName "3.1" multiDexEnabled true @@ -53,9 +53,9 @@ dependencies { //implementation 'com.google.firebase:firebase-crash:11.8.0' implementation 'com.google.firebase:firebase-messaging:11.8.0' - compile fileTree(dir: 'libs', include: ['*.jar']) - compile files('libs/ksoap2-android-assembly-3.6.2-jar-with-dependencies.jar') - androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation files('libs/ksoap2-android-assembly-3.6.2-jar-with-dependencies.jar') + androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) @@ -65,21 +65,21 @@ dependencies { implementation 'com.android.support:cardview-v7:26.1.0' implementation 'com.android.support:recyclerview-v7:26.1.0' - compile 'com.google.code.gson:gson:2.7' - compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha4' + implementation 'com.google.code.gson:gson:2.7' + implementation 'com.android.support.constraint:constraint-layout:1.0.0-alpha4' - compile 'com.squareup.retrofit:converter-gson:2.0.0-beta1' + implementation 'com.squareup.retrofit:converter-gson:2.0.0-beta1' implementation 'com.google.android.gms:play-services-location:11.8.0' implementation 'com.google.android.gms:play-services-maps:11.8.0' - compile 'com.google.firebase:firebase-appindexing:11.8.0' - compile 'com.google.firebase:firebase-perf:11.8.0' + implementation 'com.google.firebase:firebase-appindexing:11.8.0' + implementation 'com.google.firebase:firebase-perf:11.8.0' - compile('com.crashlytics.sdk.android:crashlytics:2.7.1@aar') { + implementation('com.crashlytics.sdk.android:crashlytics:2.7.1@aar') { transitive = true; } - compile 'com.google.firebase:firebase-core:11.8.0' + implementation 'com.google.firebase:firebase-core:11.8.0' - testCompile 'junit:junit:4.12' + testImplementation 'junit:junit:4.12' } 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 bea2c13..cf0283d 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java @@ -52,6 +52,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.MappingPromotionGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingStockGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingSubCategoryImageAllowGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.NoCameraDataGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.NoCameraLastVisitGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.NonT2pReasonGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.NonWorkingReasonGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.POGGetterSetter; @@ -76,7 +77,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.TableBean; */ public class GSKOrangeDB extends SQLiteOpenHelper { - public static final String DATABASE_NAME = "GSK_ORANGE_DB30"; + public static final String DATABASE_NAME = "GSK_ORANGE_DB31"; public static final int DATABASE_VERSION = 15; TableBean tableBean; private SQLiteDatabase db; @@ -172,6 +173,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { db.execSQL(TableBean.getTable_POG_QUESTION()); db.execSQL(TableBean.getTable_NON_T2P_REASON()); db.execSQL(TableBean.getTable_CONFIGURATION_COUNTRY_WISE()); + db.execSQL(TableBean.getTable_NO_CAMERA_LAST_VISIT_DATA()); //15-03-2017 db.execSQL(CommonString.CREATE_TABLE_INSERT_MSL_AVAILABILITY_STOCK_FACING); @@ -191,7 +193,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { db.execSQL("DROP TABLE IF EXISTS " + TableBean.getJourneyPlan()); } - public void createTable(String table_query){ + public void createTable(String table_query) { db.execSQL(table_query); } @@ -517,7 +519,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { Cursor dbcursor = null; try { - dbcursor = db.rawQuery("SELECT * from "+ table_name + + dbcursor = db.rawQuery("SELECT * from " + table_name + " where VISIT_DATE ='" + date + "' ORDER BY VISIT_ORDER", null); if (dbcursor != null) { @@ -800,12 +802,11 @@ public class GSKOrangeDB extends SQLiteOpenHelper { try { - if(flag_from!=null){ + if (flag_from != null) { dbcursor = db.rawQuery("SELECT * from " + CommonString.TABLE_COVERAGE_DATA + " where " - + CommonString.KEY_VISIT_DATE + "='" + visitdate + "' AND "+CommonString.KEY_STORE_FLAG + "='"+ flag_from +"'", + + CommonString.KEY_VISIT_DATE + "='" + visitdate + "' AND " + CommonString.KEY_STORE_FLAG + "='" + flag_from + "'", null); - } - else { + } else { dbcursor = db.rawQuery("SELECT * from " + CommonString.TABLE_COVERAGE_DATA + " where " + CommonString.KEY_VISIT_DATE + "='" + visitdate + "'", null); @@ -1896,10 +1897,9 @@ public class GSKOrangeDB extends SQLiteOpenHelper { String table; - if(flag_from.equals(CommonString.FROM_JCP)){ + if (flag_from.equals(CommonString.FROM_JCP)) { table = CommonString.KEY_JOURNEY_PLAN; - } - else { + } else { table = CommonString.KEY_ADHOC_JOURNEY_PLAN; } @@ -1922,21 +1922,19 @@ public class GSKOrangeDB extends SQLiteOpenHelper { Cursor dbcursor = null; String table; - if(flag_from!=null){ - if(flag_from.equals(CommonString.FROM_JCP)){ + if (flag_from != null) { + if (flag_from.equals(CommonString.FROM_JCP)) { table = CommonString.KEY_JOURNEY_PLAN; - } - else { + } else { table = CommonString.KEY_ADHOC_JOURNEY_PLAN; } - } - else { + } else { table = CommonString.KEY_JOURNEY_PLAN; } try { - dbcursor = db.rawQuery("SELECT * from "+ table + + dbcursor = db.rawQuery("SELECT * from " + table + " where VISIT_DATE ='" + date + "' AND STORE_ID='" + store_id + "'", null); @@ -5384,6 +5382,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { cd.setRow_no(Integer.parseInt(dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_ROW_NO)))); cd.setColumn_no(Integer.parseInt(dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_COLUMN_NO)))); cd.setFacing(Integer.parseInt(dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_FACING)))); + cd.setVertical(dbcursor.getInt(dbcursor.getColumnIndexOrThrow(CommonString.KEY_ISVERTICAL))==1); list.add(cd); dbcursor.moveToNext(); @@ -5422,14 +5421,14 @@ public class GSKOrangeDB extends SQLiteOpenHelper { } //get Row and column count no camera - public ArrayList getrowColumnNoCamera(String store_id, String category_id, String sub_category_id) { + public ArrayList getrowColumnNoCamera(String store_id, String category_id, String sub_category_id, String table_name) { ArrayList list = new ArrayList<>(); Cursor dbcursor = null; try { - dbcursor = db.rawQuery("SELECT ROW_NO, MAX(COLUMN_NO) as COLUMN_NO FROM NO_CAMERA_FACING_DATA WHERE " + + dbcursor = db.rawQuery("SELECT ROW_NO, MAX(COLUMN_NO) as COLUMN_NO FROM "+ table_name + " WHERE " + "STORE_ID = '" + store_id + "' AND CATEGORY_ID = '" + category_id + "' AND SUB_CATEGORY_ID = '" + sub_category_id + "' GROUP BY ROW_NO", null); @@ -5456,14 +5455,14 @@ public class GSKOrangeDB extends SQLiteOpenHelper { //get Sub group master for sub category id , row and column - public NoCameraDataGetterSetter getRowSkuGroupCamera(String store_id, String category_id, String sub_category_id, int row, int column) { + public NoCameraDataGetterSetter getRowSkuGroupCamera(String store_id, String category_id, String sub_category_id, int row, int column, String table_name) { NoCameraDataGetterSetter column_data = new NoCameraDataGetterSetter(); Cursor dbcursor = null; try { - dbcursor = db.rawQuery("SELECT NC.SKU_GROUP_ID, SM.SKUGROUP_NAME, NC.FACING, NC.ISVERTICAL FROM NO_CAMERA_FACING_DATA NC " + + dbcursor = db.rawQuery("SELECT NC.SKU_GROUP_ID, SM.SKUGROUP_NAME, NC.FACING, NC.IS_VERTICAL FROM "+ table_name +" NC " + "INNER JOIN SKUGROUP_MASTER SM ON NC.SKU_GROUP_ID = SM.SKUGROUP_ID " + "WHERE NC.STORE_ID = '" + store_id + "' AND NC.CATEGORY_ID = '" + category_id + "' AND NC.SUB_CATEGORY_ID = '" + sub_category_id + "' AND ROW_NO = '" + row + "' AND COLUMN_NO = '" + column + "'", null); @@ -5475,7 +5474,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { column_data.setSKUGROUP_ID(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SKU_GROUP_ID"))); column_data.setSKUGROUP_NAME(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SKUGROUP_NAME"))); column_data.setFacing(dbcursor.getInt(dbcursor.getColumnIndexOrThrow("FACING"))); - column_data.setVertical(dbcursor.getInt(dbcursor.getColumnIndexOrThrow("ISVERTICAL"))==1); + column_data.setVertical(dbcursor.getInt(dbcursor.getColumnIndexOrThrow("IS_VERTICAL")) == 1); dbcursor.moveToNext(); } @@ -5635,7 +5634,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { try { - cursordata = db.rawQuery("Select DISTINCT QUESTION ,QUESTION_ID, ANSWER_TYPE, KEYACCOUNT_ID from ADDITIONAL_QUESTION " + "where CATEGORY_ID ='" + categoryId + "' AND STORETYPE_ID='"+ store_type_id +"'", null); + cursordata = db.rawQuery("Select DISTINCT QUESTION ,QUESTION_ID, ANSWER_TYPE, KEYACCOUNT_ID from ADDITIONAL_QUESTION " + "where CATEGORY_ID ='" + categoryId + "' AND STORETYPE_ID='" + store_type_id + "'", null); if (cursordata != null) { cursordata.moveToFirst(); @@ -5677,7 +5676,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { try { dbcursor = db.rawQuery("Select * from ADDITIONAL_QUESTION " + - "where QUESTION_ID='" + question_id + "' AND CATEGORY_ID ='" + categoryId + "' AND STORETYPE_ID='"+ store_type_id +"'", null); + "where QUESTION_ID='" + question_id + "' AND CATEGORY_ID ='" + categoryId + "' AND STORETYPE_ID='" + store_type_id + "'", null); if (dbcursor != null) { dbcursor.moveToFirst(); @@ -5901,14 +5900,14 @@ public class GSKOrangeDB extends SQLiteOpenHelper { //save audit insert data public void savePOGQuestionAnswerData(HashMap> hashMapListChildData, List headerDataList, - String store_cd, String category_cd) { + String store_cd, String category_cd) { db.delete(CommonString.TABLE_POG_DATA_SAVE, "STORE_CD" + "='" + store_cd + "' AND CATEGORY_ID ='" + category_cd + "'", null); ContentValues values = new ContentValues(); try { - for(int l=0; l childList = hashMapListChildData.get(headerDataList.get(l)); for (int i = 0; i < childList.size(); i++) { POGGetterSetter data = childList.get(i); @@ -5966,7 +5965,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { Cursor dbcursor = null; try { dbcursor = db.rawQuery("Select * " + "From " + CommonString.TABLE_POG_DATA_SAVE - + " where STORE_CD='" + store_cd + "' AND CATEGORY_ID ='" + category_id + "' AND SUB_CATEGORY_ID ='" + sub_category_id +"'", null); + + " where STORE_CD='" + store_cd + "' AND CATEGORY_ID ='" + category_id + "' AND SUB_CATEGORY_ID ='" + sub_category_id + "'", null); if (dbcursor != null) { dbcursor.moveToFirst(); @@ -6176,12 +6175,11 @@ public class GSKOrangeDB extends SQLiteOpenHelper { values.put("RECEIVER", data.getRECEIVER().get(i));*/ - try{ + try { values.put("COMMENTDATE", data.getCOMMENTDATE().get(i)); values.put("COMMENT", data.getCOMMENT().get(i)); - } - catch (IndexOutOfBoundsException e){ + } catch (IndexOutOfBoundsException e) { System.out.println(e.toString()); } @@ -6207,7 +6205,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { try { //dbcursor = db.rawQuery("SELECT DISTINCT CHAT_ID, MESSAGE, MESSAGEDATE, SENDERID, SENDER, STOREID FROM CHAT_MESSAGE WHERE STOREID='" + store_id +"' ORDER BY ORDERID", null); - dbcursor = db.rawQuery("SELECT DISTINCT CHAT_ID, MESSAGE, MESSAGEDATE, STOREID FROM CHAT_MESSAGE WHERE STOREID='" + store_id +"' ORDER BY ORDERID", null); + dbcursor = db.rawQuery("SELECT DISTINCT CHAT_ID, MESSAGE, MESSAGEDATE, STOREID FROM CHAT_MESSAGE WHERE STOREID='" + store_id + "' ORDER BY ORDERID", null); if (dbcursor != null) { dbcursor.moveToFirst(); @@ -6243,7 +6241,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { Cursor dbcursor = null; try { - dbcursor = db.rawQuery("SELECT CHAT_ID, MESSAGE, MESSAGEDATE, SENDERID, SENDER, STOREID, COMMENTDATE, COMMENT, SENDER_USERID FROM CHAT_MESSAGE WHERE STOREID='" + store_id +"' AND CHAT_ID ='"+ chat_id +"' AND COMMENT <>'' ORDER BY ORDERID", null); + dbcursor = db.rawQuery("SELECT CHAT_ID, MESSAGE, MESSAGEDATE, SENDERID, SENDER, STOREID, COMMENTDATE, COMMENT, SENDER_USERID FROM CHAT_MESSAGE WHERE STOREID='" + store_id + "' AND CHAT_ID ='" + chat_id + "' AND COMMENT <>'' ORDER BY ORDERID", null); if (dbcursor != null) { dbcursor.moveToFirst(); @@ -6298,7 +6296,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { Cursor dbcursor = null; try { - dbcursor = db.rawQuery("SELECT * FROM CONFIGURATION_COUNTRY_WISE WHERE COUNTRY_ID='" + country_id +"'", null); + dbcursor = db.rawQuery("SELECT * FROM CONFIGURATION_COUNTRY_WISE WHERE COUNTRY_ID='" + country_id + "'", null); if (dbcursor != null) { dbcursor.moveToFirst(); @@ -6320,4 +6318,69 @@ public class GSKOrangeDB extends SQLiteOpenHelper { } return list; } + + //NO_CAMERA_LAST_VISIT_DATA + public void InsertNO_CAMERA_LAST_VISIT_DATA(NoCameraLastVisitGetterSetter data) { + db.delete("NO_CAMERA_LAST_VISIT_DATA", null, null); + + ContentValues values = new ContentValues(); + try { + for (int i = 0; i < data.getSKUGROUP_ID().size(); i++) { + + values.put("MID", data.getMID().get(i)); + values.put("STORE_ID", data.getSTORE_ID().get(i)); + values.put("VISIT_DATE", data.getVISIT_DATE().get(i)); + values.put("CATEGORY_ID", data.getCATEGORY_ID().get(i)); + values.put("SUB_CATEGORY_ID", data.getSUB_CATEGORY_ID().get(i)); + values.put("SKU_GROUP_ID", data.getSKUGROUP_ID().get(i)); + values.put("ROW_NO", data.getROW_NO().get(i)); + values.put("COLUMN_NO", data.getCOLUMN_NO().get(i)); + values.put("FACING", data.getFACING().get(i)); + values.put("IS_VERTICAL", data.getIS_VERTICAL().get(i)); + + db.insert("NO_CAMERA_LAST_VISIT_DATA", null, values); + } + } catch (Exception ex) { + Log.d("Exception ", " in NO_CAMERA_LAST_VISIT_DATA " + ex.toString()); + } + } + + //get no camera category drag drop + //get for specific sub category id + public ArrayList getNoCameraLastVisitCategoryData( + String store_id, String category_id, String subcategory_id) { + + ArrayList list = new ArrayList<>(); + Cursor dbcursor = null; + + try { + + dbcursor = db.rawQuery("SELECT * FROM NO_CAMERA_LAST_VISIT_DATA WHERE " + CommonString.KEY_STORE_ID + " = '" + store_id + + "' AND " + CommonString.KEY_CATEGORY_ID + " ='" + category_id + + "' AND " + CommonString.KEY_SUB_CATEGORY_ID + " ='" + subcategory_id + "'", null); + + if (dbcursor != null) { + dbcursor.moveToFirst(); + while (!dbcursor.isAfterLast()) { + NoCameraDataGetterSetter cd = new NoCameraDataGetterSetter(); + + cd.setSKUGROUP_ID(dbcursor.getInt(dbcursor.getColumnIndexOrThrow(CommonString.KEY_SKU_GROUP_ID)) + ""); + cd.setRow_no(dbcursor.getInt(dbcursor.getColumnIndexOrThrow(CommonString.KEY_ROW_NO))); + cd.setColumn_no(dbcursor.getInt(dbcursor.getColumnIndexOrThrow(CommonString.KEY_COLUMN_NO))); + cd.setFacing(dbcursor.getInt(dbcursor.getColumnIndexOrThrow(CommonString.KEY_FACING))); + + list.add(cd); + dbcursor.moveToNext(); + + } + dbcursor.close(); + return list; + } + } catch (Exception e) { + Log.d("Exception ", "get MSL_AvailabilityHeader!" + e.toString()); + return list; + } + return list; + } + } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/LoginActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/LoginActivity.java index 5ce5751..0c05fdb 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/LoginActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/LoginActivity.java @@ -566,7 +566,6 @@ public class LoginActivity extends AppCompatActivity { editor.putString(CommonString.KEY_PATH, lgs.getAPP_PATH()); editor.putString(CommonString.KEY_DATE, lgs.getCURRENTDATE()); editor.putString(CommonString.KEY_COUNTRY_ID, lgs.getCOUNTRY_ID()); - //editor.putString(CommonString.KEY_DATE, "02/04/2018"); editor.commit(); @@ -666,13 +665,13 @@ public class LoginActivity extends AppCompatActivity { CommonFunctions.updateLangResources(getApplicationContext(), preferences.getString(CommonString.KEY_LANGUAGE, "")); - /*Intent intent = new Intent(getBaseContext(), + Intent intent = new Intent(getBaseContext(), MainActivity.class); startActivity(intent); - finish();*/ + finish(); - uploadPreviousImages(); + //uploadPreviousImages(); } @@ -752,7 +751,7 @@ public class LoginActivity extends AppCompatActivity { public void uploadPreviousImages(){ try { - File f = new File(CommonString.FILE_PATH_OLD); + File f = new File(CommonString.FILE_PATH); if(f!=null){ File file[] = f.listFiles(); if(file!=null && file.length>0){ @@ -788,7 +787,7 @@ public class LoginActivity extends AppCompatActivity { if(file.length>0){ UploadImageWithRetrofit.uploadedFiles = 0; UploadImageWithRetrofit.totalFiles = file.length; - UploadImageWithRetrofit uploadImg = new UploadImageWithRetrofit( LoginActivity.this); + UploadImageWithRetrofit uploadImg = new UploadImageWithRetrofit( "", userid,LoginActivity.this); uploadImg.UploadImageRecursive(LoginActivity.this); } else { diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonFunctions.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonFunctions.java index 2bf62f5..7c9674f 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonFunctions.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonFunctions.java @@ -58,7 +58,8 @@ public class CommonFunctions { public static String getCurrentTimeWithLanguage(Context context) { - SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss"); Calendar m_cal = Calendar.getInstance(); + SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss"); + Calendar m_cal = Calendar.getInstance(); String cdate = formatter.format(m_cal.getTime()); SharedPreferences preferences = preferences = PreferenceManager.getDefaultSharedPreferences(context);; 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 71de1a5..f9bf209 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonString.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonString.java @@ -852,7 +852,7 @@ public class CommonString { public static final String KEY_ROW_NO = "ROW_NO"; public static final String KEY_COLUMN_NO = "COLUMN_NO"; public static final String KEY_FACING = "FACING"; - public static final String KEY_ISVERTICAL = "ISVERTICAL"; + public static final String KEY_ISVERTICAL = "IS_VERTICAL"; public static final String CREATE_TABLE_INSERT_NO_CAMERA_FACING_DATA = "CREATE TABLE IF NOT EXISTS " + TABLE_INSERT_NO_CAMERA_FACING_DATA + " (" diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CreateSelfActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CreateSelfActivity.java index a2ebeba..58e5804 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CreateSelfActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CreateSelfActivity.java @@ -114,6 +114,12 @@ public class CreateSelfActivity extends AppCompatActivity { subCategory.setSub_category_id(sub_category_list.get(i).getSub_category_id()); added_sub_category_list.add(subCategory); } + else if(db.getNoCameraLastVisitCategoryData(store_id, categoryId, sub_category_list.get(i).getSub_category_id()).size()>0){ + MSL_AvailabilityStockFacingGetterSetter subCategory = new MSL_AvailabilityStockFacingGetterSetter(); + subCategory.setSub_category(sub_category_list.get(i).getSub_category()); + subCategory.setSub_category_id(sub_category_list.get(i).getSub_category_id()); + added_sub_category_list.add(subCategory); + } } if(added_sub_category_list.size()>0){ diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NoCameraActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NoCameraActivity.java index 360abac..0858fb2 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NoCameraActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NoCameraActivity.java @@ -137,8 +137,15 @@ public class NoCameraActivity extends AppCompatActivity implements Listener { rvTop.setOnDragListener(topListAdapter.getDragInstance()); if (FROM == 1) { - ArrayList rows_data = db.getrowColumnNoCamera(store_id, categoryId, sub_category_data.getSub_category_id()); + String table_name = "NO_CAMERA_FACING_DATA"; + ArrayList rows_data = db.getrowColumnNoCamera(store_id, categoryId, sub_category_data.getSub_category_id(), table_name); number_of_rows = rows_data.size(); + if(number_of_rows==0){ + table_name = "NO_CAMERA_LAST_VISIT_DATA"; + rows_data = db.getrowColumnNoCamera(store_id, categoryId, sub_category_data.getSub_category_id(), table_name); + number_of_rows = rows_data.size(); + } + for (int i = 1; i <= rows_data.size(); i++) { DynamycIdsGetterSetter dynamic_ids = new DynamycIdsGetterSetter(); @@ -200,7 +207,7 @@ public class NoCameraActivity extends AppCompatActivity implements Listener { for (int j = 1; j <= rows_data.get(i - 1).getColumn(); j++) { NoCameraDataGetterSetter column_data = new NoCameraDataGetterSetter(); - column_data = db.getRowSkuGroupCamera(store_id, categoryId, sub_category_data.getSub_category_id(), i, j); + column_data = db.getRowSkuGroupCamera(store_id, categoryId, sub_category_data.getSub_category_id(), i, j, table_name); sku_group_master.add(column_data); } @@ -838,7 +845,10 @@ public class NoCameraActivity extends AppCompatActivity implements Listener { for (int i = 0; i < ids.size(); i++) { List customList = biglistMap.get(ids.get(i)); - if(customList.size()>0 && !customList.get(0).getSKUGROUP_ID().equals("25")){ + if(customList.size()>0 && customList.get(0).getSKUGROUP_ID().equals("25")){ + + } + else{ //if (customList.size() < max) { if (ids.get(i).getTotal_unit() < max) { 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 1da4e42..9e14176 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java @@ -59,6 +59,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.MappingPlanogramCountrywiseGetterSett import cpm.com.gskmtorange.xmlGetterSetter.MappingPromotionGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingStockGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingSubCategoryImageAllowGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.NoCameraLastVisitGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.NonT2pReasonGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.NonWorkingReasonGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.POGQuestionGetterSetter; @@ -103,6 +104,7 @@ public class DownloadActivity extends AppCompatActivity { POGQuestionGetterSetter pogQuestionGetterSetter; NonT2pReasonGetterSetter nonT2pReasonGetterSetter; ConfigurationContrywiseGetterSetter configurationContrywiseGetterSetter; + NoCameraLastVisitGetterSetter noCameraLastVisitGetterSetter; private Dialog dialog; private ProgressBar pb; @@ -201,10 +203,12 @@ public class DownloadActivity extends AppCompatActivity { jcpgettersetter = XMLHandlers.JCPXMLHandler(xpp, eventType); + String jcpTable = jcpgettersetter.getTable_journey_plan(); + if(jcpTable!=null) + TableBean.setJourneyPlan(jcpTable); + if (jcpgettersetter.getSTORE_ID().size() > 0) { resultHttp = CommonString.KEY_SUCCESS; - String jcpTable = jcpgettersetter.getTable_journey_plan(); - TableBean.setJourneyPlan(jcpTable); } else { //return "JOURNEY_PLAN"; no_jcp_flag = true; @@ -1114,6 +1118,39 @@ public class DownloadActivity extends AppCompatActivity { } publishProgress(data); + //NO_CAMERA_LAST_VISIT_DATA + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); + request.addProperty("UserName", userId); + request.addProperty("Type", "NO_CAMERA_LAST_VISIT_DATA"); + request.addProperty("cultureid", culture_id); + + envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); + envelope.dotNet = true; + envelope.setOutputSoapObject(request); + + androidHttpTransport = new HttpTransportSE(CommonString.URL); + androidHttpTransport.call(CommonString.SOAP_ACTION_UNIVERSAL, envelope); + + result = envelope.getResponse(); + + if (result.toString() != null) { + xpp.setInput(new StringReader(result.toString())); + xpp.next(); + eventType = xpp.getEventType(); + noCameraLastVisitGetterSetter = XMLHandlers.noCameraLastVisitXMLHandler(xpp, eventType); + + String table_no_camera = noCameraLastVisitGetterSetter.getTable_NO_CAMERA_LAST_VISIT_DATA(); + if (table_no_camera != null) { + resultHttp = CommonString.KEY_SUCCESS; + TableBean.setTable_NO_CAMERA_LAST_VISIT_DATA(table_no_camera); + } + + if (noCameraLastVisitGetterSetter.getSKUGROUP_ID().size() > 0) { + data.value = 97; + data.name = "NO CAMERA LAST VISIT DATA" + getResources().getString(R.string.download_data); + } + } + publishProgress(data); /* //MAPPING_COUNTRYWISE_PLANOGRAM @@ -1414,6 +1451,7 @@ public class DownloadActivity extends AppCompatActivity { db.InsertPOGQUESTION(pogQuestionGetterSetter); db.InsertNON_T2P_REASON(nonT2pReasonGetterSetter); db.InsertCONFIGURATION_COUNTRY_WISE(configurationContrywiseGetterSetter); + db.InsertNO_CAMERA_LAST_VISIT_DATA(noCameraLastVisitGetterSetter); } catch (MalformedURLException e) { diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_Availability_StockFacingActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_Availability_StockFacingActivity.java index 0f072e9..96413ff 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_Availability_StockFacingActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_Availability_StockFacingActivity.java @@ -188,11 +188,11 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { .setCancelable(false) .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { - expandableListView.smoothScrollToPosition(scrollPosition); + //expandableListView.smoothScrollToPosition(scrollPosition); - if (!expandableListView.isGroupExpanded(scrollPosition)) { + /* if (!expandableListView.isGroupExpanded(scrollPosition)) { expandableListView.expandGroup(scrollPosition); - } + }*/ dialog.dismiss(); } }); @@ -1009,7 +1009,7 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { final EditText caption = (EditText) v; String edFaceup = caption.getText().toString().replaceFirst("^0+(?!$)", ""); - if (edFaceup != null && !edFaceup.equals("")) { + if (edFaceup != null && !edFaceup.equals("") && !edFaceup.equals(".")) { //int num = Integer.parseInt(edFaceup); double faceup = Double.parseDouble(edFaceup); int num = (int) faceup; @@ -1049,7 +1049,7 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { AlertDialog alert = builder.create(); alert.show(); } else {*/ - if (edFaceup != null && !edFaceup.equals("")) { + if (edFaceup != null && !edFaceup.equals("") && !edFaceup.equals(".")) { int mbq = Integer.parseInt(childData.getMbq()); if(mbq!=0){ if (Double.parseDouble(edFaceup) >= 0 && Double.parseDouble(edFaceup) < mbq) { @@ -1152,10 +1152,10 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { if (isFill) { - if (!edFaceup.equals("")) { + if (!edFaceup.equals("") && !edFaceup.equals(".")) { String faceup = ""; - if(edFaceup.equals("0")){ - faceup = edFaceup; + if(edFaceup.equals("0") ||edFaceup.equals(".0")){ + faceup = "0"; } else{ faceup = edFaceup.replaceFirst("^0+(?!$)", ""); @@ -1168,6 +1168,7 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { childData.setFacing(""); } } + } }); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/PreviousDataUploadActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/PreviousDataUploadActivity.java index 50823b8..8b0db74 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/PreviousDataUploadActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/PreviousDataUploadActivity.java @@ -248,7 +248,7 @@ public class PreviousDataUploadActivity extends AppCompatActivity { for (int i = 0; i < coverageList.size(); i++) { - storeData = db.getSpecificStoreData(date, coverageList.get(i).getStoreId(), coverageList.get(i).getFlag_from()); + storeData = db.getSpecificStoreData(coverageList.get(i).getVisitDate(), coverageList.get(i).getStoreId(), coverageList.get(i).getFlag_from()); if (storeData.getSTORE_ID() != null) { if (storeData.getCHECKOUT_STATUS().equals(CommonString.KEY_Y) || @@ -1075,10 +1075,12 @@ public class PreviousDataUploadActivity extends AppCompatActivity { data.name = getString(R.string.pog); publishProgress(data); + //----------------------------------------------------------------------------------------------------------------------------------------------------- + // Images Upload // ashish visibility image start - if (additionalVisibilityList.size() > 0) { + /* if (additionalVisibilityList.size() > 0) { for (int i1 = 0; i1 < additionalVisibilityList.size(); i1++) { if (additionalVisibilityList.get(i1).getImage() != null && !additionalVisibilityList.get(i1).getImage().equals("")) { @@ -1086,9 +1088,9 @@ public class PreviousDataUploadActivity extends AppCompatActivity { try { result = UploadImage(additionalVisibilityList.get(i1).getImage(), "AdditionalVisibilityImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "AdditionalVisibilityImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1106,9 +1108,9 @@ public class PreviousDataUploadActivity extends AppCompatActivity { try { result = UploadImage(additionalVisibilityList.get(i1).getImage2(), "AdditionalVisibilityImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "AdditionalVisibilityImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1127,9 +1129,9 @@ public class PreviousDataUploadActivity extends AppCompatActivity { try { result = UploadImage(additionalVisibilityList.get(i1).getImage3(), "AdditionalVisibilityImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "AdditionalVisibilityImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1165,9 +1167,9 @@ public class PreviousDataUploadActivity extends AppCompatActivity { try { result = UploadImage(listdat.get(i1).getSubCategoryCamera1(), "CategoryImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "CategoryImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1185,9 +1187,9 @@ public class PreviousDataUploadActivity extends AppCompatActivity { try { result = UploadImage(listdat.get(i1).getSubCategoryCamera2(), "CategoryImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "CategoryImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1217,9 +1219,9 @@ public class PreviousDataUploadActivity extends AppCompatActivity { try { result = UploadImage(adddata.get(i1).getCategoryImage1(), "CategoryImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "CategoryImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1237,9 +1239,9 @@ public class PreviousDataUploadActivity extends AppCompatActivity { try { result = UploadImage(adddata.get(i1).getCategoryImage2(), "CategoryImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "CategoryImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1257,9 +1259,9 @@ public class PreviousDataUploadActivity extends AppCompatActivity { try { result = UploadImage(adddata.get(i1).getCategoryImage3(), "CategoryImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "CategoryImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1276,9 +1278,9 @@ public class PreviousDataUploadActivity extends AppCompatActivity { try { result = UploadImage(adddata.get(i1).getCategoryImage4(), "CategoryImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "CategoryImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1305,9 +1307,9 @@ public class PreviousDataUploadActivity extends AppCompatActivity { try { result = UploadImage(adddata.get(i1).getCategoryImage1(), "CategoryImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "CategoryImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1325,9 +1327,9 @@ public class PreviousDataUploadActivity extends AppCompatActivity { try { result = UploadImage(adddata.get(i1).getCategoryImage2(), "CategoryImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "CategoryImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1345,9 +1347,9 @@ public class PreviousDataUploadActivity extends AppCompatActivity { try { result = UploadImage(adddata.get(i1).getCategoryImage3(), "CategoryImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "CategoryImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1364,9 +1366,9 @@ public class PreviousDataUploadActivity extends AppCompatActivity { try { result = UploadImage(adddata.get(i1).getCategoryImage4(), "CategoryImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "CategoryImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1393,9 +1395,9 @@ public class PreviousDataUploadActivity extends AppCompatActivity { try { result = UploadImage(coverageList.get(i1).getImage(), "StoreImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "StoreImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1422,9 +1424,9 @@ public class PreviousDataUploadActivity extends AppCompatActivity { try { result = UploadImage(promotionSkuList.get(i1).getImage_promotion(), "PromotionImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "StoreImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1451,9 +1453,9 @@ public class PreviousDataUploadActivity extends AppCompatActivity { try { result = UploadImage(additionalPromotionList.get(i1).getImage_promotion(), "AdditionalPromotionImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "StoreImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1480,9 +1482,9 @@ public class PreviousDataUploadActivity extends AppCompatActivity { try { result = UploadImage(coverageList.get(i1).getCheckOut_Image(), "StoreImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "StoreImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1508,9 +1510,9 @@ public class PreviousDataUploadActivity extends AppCompatActivity { try { result = UploadImage(t2PGetterSetters.get(m).getImage(), "T2PImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "T2PImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1528,9 +1530,9 @@ public class PreviousDataUploadActivity extends AppCompatActivity { try { result = UploadImage(t2PGetterSetters.get(m).getImage1(), "T2PImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "T2PImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1548,9 +1550,9 @@ public class PreviousDataUploadActivity extends AppCompatActivity { try { result = UploadImage(t2PGetterSetters.get(m).getImage2(), "T2PImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "T2PImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1588,7 +1590,7 @@ public class PreviousDataUploadActivity extends AppCompatActivity { data.value = 90; publishProgress(data); - +*/ // SET COVERAGE STATUS String final_xml = ""; @@ -1597,7 +1599,7 @@ public class PreviousDataUploadActivity extends AppCompatActivity { + "[STORE_ID]" + coverageList.get(i).getStoreId() + "[/STORE_ID]" + "[VISIT_DATE]" + coverageList.get(i).getVisitDate() + "[/VISIT_DATE]" + "[USER_ID]" + coverageList.get(i).getUserId() + "[/USER_ID]" - + "[STATUS]" + CommonString.KEY_U + "[/STATUS]" + + "[STATUS]" + CommonString.KEY_D + "[/STATUS]" + "[/COVERAGE_STATUS]"; final_xml = final_xml + onXML; @@ -1616,6 +1618,9 @@ public class PreviousDataUploadActivity extends AppCompatActivity { result = envelope.getResponse(); + //to set previous date for further use in UploadImageWithRetrofit + date = coverageList.get(i).getVisitDate(); + //If Result is success then status of that store is update if (result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { k = k + factor; @@ -1624,18 +1629,19 @@ public class PreviousDataUploadActivity extends AppCompatActivity { publishProgress(data); db.open(); - db.updateCoverageStatus(coverageList.get(i).getStoreId(), CommonString.KEY_U); + //db.updateCoverageStatus(coverageList.get(i).getStoreId(), CommonString.KEY_D); db.updateStoreStatusOnLeave(coverageList.get(i).getStoreId(), coverageList.get(i) - .getVisitDate(), CommonString.KEY_U, coverageList.get(i).getFlag_from()); + .getVisitDate(), CommonString.KEY_D, coverageList.get(i).getFlag_from()); - db.deleteTableWithStoreID(coverageList.get(i).getStoreId()); + //db.deleteTableWithStoreID(coverageList.get(i).getStoreId()); } + data.value = 100; publishProgress(data); } } } - return result.toString(); + return CommonString.KEY_SUCCESS; } catch (MalformedURLException e) { e.printStackTrace(); @@ -1670,8 +1676,18 @@ public class PreviousDataUploadActivity extends AppCompatActivity { if (result.contains(CommonString.KEY_SUCCESS)) { //db.deleteAllTables(); - showAlert(getString(R.string.data_downloaded_successfully)); - db.deleteAllTables(); + + File f = new File(CommonString.FILE_PATH); + //if (f != null && f.listFiles().length > 0) { + File file[] = f.listFiles(); + UploadImageWithRetrofit.uploadedFiles = 0; + UploadImageWithRetrofit.totalFiles = file.length; + UploadImageWithRetrofit uploadImg = new UploadImageWithRetrofit(date, userId, PreviousDataUploadActivity.this); + uploadImg.UploadImageRecursiveNew(PreviousDataUploadActivity.this); + /* } + else { + showAlert(getString(R.string.data_uploaded_successfully)); + }*/ //showAlert(getString(R.string.menu_upload_data)); } else { showAlert(getString(R.string.error) + result.toString()); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadActivity.java index fed019f..3d32d72 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadActivity.java @@ -44,6 +44,7 @@ import java.net.MalformedURLException; import java.net.SocketException; import java.net.SocketTimeoutException; import java.util.ArrayList; +import java.util.concurrent.TimeUnit; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; @@ -265,7 +266,7 @@ public class UploadActivity extends AppCompatActivity { try { data = new Data(); - ArrayList adhoc_coverageList = db.getCoverageData(date, CommonString.FROM_DEVIATION); + ArrayList adhoc_coverageList = db.getCoverageData(date, CommonString.FROM_DEVIATION); if (adhoc_coverageList.size() > 0) { @@ -314,17 +315,16 @@ public class UploadActivity extends AppCompatActivity { storeData = db.getSpecificStoreData(date, coverageList.get(i).getStoreId(), coverageList.get(i).getFlag_from()); if (storeData.getSTORE_ID() != null) { - if (storeData.getCHECKOUT_STATUS().equals(CommonString.KEY_Y) || + if (!storeData.getUPLOAD_STATUS().equals(CommonString.KEY_D) && (storeData.getCHECKOUT_STATUS().equals(CommonString.KEY_Y) || storeData.getCHECKOUT_STATUS().equals(CommonString.KEY_L) || - !storeData.getUPLOAD_STATUS().equals(CommonString.KEY_U)) { + !storeData.getUPLOAD_STATUS().equals(CommonString.KEY_U))) { String camera_allow = storeData.getCAMERA_ALLOW(); String adhoc; - if(coverageList.get(i).getFlag_from().equals(CommonString.FROM_DEVIATION)){ - adhoc ="1"; - } - else { - adhoc ="0"; + if (coverageList.get(i).getFlag_from().equals(CommonString.FROM_DEVIATION)) { + adhoc = "1"; + } else { + adhoc = "0"; } String onXML = "[DATA]" @@ -1027,6 +1027,14 @@ public class UploadActivity extends AppCompatActivity { String onXml_nodata = "", No_camera_data = ""; for (int n = 0; n < nocamera_data_list.size(); n++) { + int vertical; + if(nocamera_data_list.get(n).isVertical()){ + vertical = 1; + } + else { + vertical = 0; + } + onXml_nodata = "[NO_CAMERA_POG_DATA]" + "[MID]" + mid + "[/MID]" + "[USER_ID]" + userId + "[/USER_ID]" @@ -1036,6 +1044,7 @@ public class UploadActivity extends AppCompatActivity { + "[ROW_NO]" + nocamera_data_list.get(n).getRow_no() + "[/ROW_NO]" + "[COLUMN_NO]" + nocamera_data_list.get(n).getColumn_no() + "[/COLUMN_NO]" + "[FACING]" + nocamera_data_list.get(n).getFacing() + "[/FACING]" + + "[IS_VERTICAL]" + vertical + "[/IS_VERTICAL]" + "[/NO_CAMERA_POG_DATA]"; No_camera_data = No_camera_data + onXml_nodata; @@ -1151,10 +1160,54 @@ public class UploadActivity extends AppCompatActivity { data.name = getString(R.string.pog); publishProgress(data); + // SET COVERAGE STATUS + String final_xml = ""; + onXML = ""; + onXML = "[COVERAGE_STATUS]" + + "[STORE_ID]" + coverageList.get(i).getStoreId() + "[/STORE_ID]" + + "[VISIT_DATE]" + coverageList.get(i).getVisitDate() + "[/VISIT_DATE]" + + "[USER_ID]" + coverageList.get(i).getUserId() + "[/USER_ID]" + + "[STATUS]" + CommonString.KEY_D + "[/STATUS]" + + "[/COVERAGE_STATUS]"; + + final_xml = final_xml + onXML; + + final String sos_xml = "[DATA]" + final_xml + "[/DATA]"; + + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_COVERAGE_STATUS); + request.addProperty("onXML", sos_xml); + + envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); + envelope.dotNet = true; + envelope.setOutputSoapObject(request); + + androidHttpTransport = new HttpTransportSE(CommonString.URL); + androidHttpTransport.call(CommonString.SOAP_ACTION + CommonString.METHOD_UPLOAD_COVERAGE_STATUS, envelope); + + result = envelope.getResponse(); + + //If Result is success then status of that store is update + if (result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + k = k + factor; + data.value = k; + data.name = "Uploading"; + publishProgress(data); + + db.open(); + //db.updateCoverageStatus(coverageList.get(i).getStoreId(), CommonString.KEY_D); + db.updateStoreStatusOnLeave(coverageList.get(i).getStoreId(), coverageList.get(i) + .getVisitDate(), CommonString.KEY_D, coverageList.get(i).getFlag_from()); + + //db.deleteTableWithStoreID(coverageList.get(i).getStoreId()); + } + data.value = 100; + publishProgress(data); + + //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- // Images Upload // ashish visibility image start - if (additionalVisibilityList.size() > 0) { + /* if (additionalVisibilityList.size() > 0) { for (int i1 = 0; i1 < additionalVisibilityList.size(); i1++) { if (additionalVisibilityList.get(i1).getImage() != null && !additionalVisibilityList.get(i1).getImage().equals("")) { @@ -1162,9 +1215,9 @@ public class UploadActivity extends AppCompatActivity { try { result = UploadImage(additionalVisibilityList.get(i1).getImage(), "AdditionalVisibilityImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "AdditionalVisibilityImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1182,9 +1235,9 @@ public class UploadActivity extends AppCompatActivity { try { result = UploadImage(additionalVisibilityList.get(i1).getImage2(), "AdditionalVisibilityImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "AdditionalVisibilityImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1203,9 +1256,9 @@ public class UploadActivity extends AppCompatActivity { try { result = UploadImage(additionalVisibilityList.get(i1).getImage3(), "AdditionalVisibilityImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "AdditionalVisibilityImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1241,9 +1294,9 @@ public class UploadActivity extends AppCompatActivity { try { result = UploadImage(listdat.get(i1).getSubCategoryCamera1(), "CategoryImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "CategoryImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1261,9 +1314,9 @@ public class UploadActivity extends AppCompatActivity { try { result = UploadImage(listdat.get(i1).getSubCategoryCamera2(), "CategoryImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "CategoryImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1293,9 +1346,9 @@ public class UploadActivity extends AppCompatActivity { try { result = UploadImage(adddata.get(i1).getCategoryImage1(), "CategoryImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "CategoryImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1313,9 +1366,9 @@ public class UploadActivity extends AppCompatActivity { try { result = UploadImage(adddata.get(i1).getCategoryImage2(), "CategoryImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "CategoryImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1333,9 +1386,9 @@ public class UploadActivity extends AppCompatActivity { try { result = UploadImage(adddata.get(i1).getCategoryImage3(), "CategoryImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "CategoryImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1352,9 +1405,9 @@ public class UploadActivity extends AppCompatActivity { try { result = UploadImage(adddata.get(i1).getCategoryImage4(), "CategoryImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "CategoryImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1381,9 +1434,9 @@ public class UploadActivity extends AppCompatActivity { try { result = UploadImage(adddata.get(i1).getCategoryImage1(), "CategoryImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "CategoryImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1401,9 +1454,9 @@ public class UploadActivity extends AppCompatActivity { try { result = UploadImage(adddata.get(i1).getCategoryImage2(), "CategoryImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "CategoryImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1421,9 +1474,9 @@ public class UploadActivity extends AppCompatActivity { try { result = UploadImage(adddata.get(i1).getCategoryImage3(), "CategoryImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "CategoryImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1440,9 +1493,9 @@ public class UploadActivity extends AppCompatActivity { try { result = UploadImage(adddata.get(i1).getCategoryImage4(), "CategoryImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "CategoryImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1469,9 +1522,9 @@ public class UploadActivity extends AppCompatActivity { try { result = UploadImage(coverageList.get(i1).getImage(), "StoreImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "StoreImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1498,9 +1551,9 @@ public class UploadActivity extends AppCompatActivity { try { result = UploadImage(promotionSkuList.get(i1).getImage_promotion(), "PromotionImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "StoreImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1527,9 +1580,9 @@ public class UploadActivity extends AppCompatActivity { try { result = UploadImage(additionalPromotionList.get(i1).getImage_promotion(), "AdditionalPromotionImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "StoreImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1556,9 +1609,9 @@ public class UploadActivity extends AppCompatActivity { try { result = UploadImage(coverageList.get(i1).getCheckOut_Image(), "StoreImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "StoreImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1584,9 +1637,9 @@ public class UploadActivity extends AppCompatActivity { try { result = UploadImage(t2PGetterSetters.get(m).getImage(), "T2PImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "T2PImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1604,9 +1657,9 @@ public class UploadActivity extends AppCompatActivity { try { result = UploadImage(t2PGetterSetters.get(m).getImage1(), "T2PImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "T2PImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1624,9 +1677,9 @@ public class UploadActivity extends AppCompatActivity { try { result = UploadImage(t2PGetterSetters.get(m).getImage2(), "T2PImages"); - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + *//*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return "T2PImages"; - }*/ + }*//* runOnUiThread(new Runnable() { public void run() { @@ -1675,14 +1728,14 @@ public class UploadActivity extends AppCompatActivity { } } } - } + }*/ data.value = 90; publishProgress(data); // SET COVERAGE STATUS - String final_xml = ""; + /* String final_xml = ""; onXML = ""; onXML = "[COVERAGE_STATUS]" + "[STORE_ID]" + coverageList.get(i).getStoreId() + "[/STORE_ID]" @@ -1722,12 +1775,12 @@ public class UploadActivity extends AppCompatActivity { db.deleteTableWithStoreID(coverageList.get(i).getStoreId()); } data.value = 100; - publishProgress(data); + publishProgress(data);*/ } } } - return result.toString(); + return CommonString.KEY_SUCCESS; } catch (MalformedURLException e) { e.printStackTrace(); @@ -1755,7 +1808,18 @@ public class UploadActivity extends AppCompatActivity { dialog.dismiss(); if (result.contains(CommonString.KEY_SUCCESS)) { //db.deleteAllTables(); - showAlert(getString(R.string.data_uploaded_successfully)); + + File f = new File(CommonString.FILE_PATH); + //if (f != null && f.listFiles().length > 0) { + File file[] = f.listFiles(); + UploadImageWithRetrofit.uploadedFiles = 0; + UploadImageWithRetrofit.totalFiles = file.length; + UploadImageWithRetrofit uploadImg = new UploadImageWithRetrofit(date, userId, UploadActivity.this); + uploadImg.UploadImageRecursiveNew(UploadActivity.this); + /* } + else { + showAlert(getString(R.string.data_uploaded_successfully)); + }*/ //showAlert(getString(R.string.menu_upload_data)); } else { showAlert(getString(R.string.error) + result.toString()); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java index c976b72..016fdd4 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java @@ -10,27 +10,41 @@ import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Matrix; import android.graphics.RectF; +import android.os.AsyncTask; import android.util.Log; +import com.crashlytics.android.Crashlytics; import com.google.gson.JsonSyntaxException; import com.squareup.okhttp.MultipartBuilder; import com.squareup.okhttp.OkHttpClient; import com.squareup.okhttp.RequestBody; +import org.json.JSONObject; +import org.ksoap2.SoapEnvelope; +import org.ksoap2.serialization.SoapObject; +import org.ksoap2.serialization.SoapSerializationEnvelope; +import org.ksoap2.transport.HttpTransportSE; +import org.xmlpull.v1.XmlPullParserException; + import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.net.MalformedURLException; import java.net.SocketException; import java.net.SocketTimeoutException; +import java.util.ArrayList; import java.util.concurrent.TimeUnit; +import cpm.com.gskmtorange.Database.GSKOrangeDB; +import cpm.com.gskmtorange.GetterSetter.StoreBean; import cpm.com.gskmtorange.MainActivity; import cpm.com.gskmtorange.R; import cpm.com.gskmtorange.constant.CommonString; import cpm.com.gskmtorange.retrofit.PostApiForFile; import cpm.com.gskmtorange.retrofit.StringConverterFactory; +import cpm.com.gskmtorange.xmlGetterSetter.JourneyPlanGetterSetter; import retrofit.Retrofit; /** @@ -48,14 +62,16 @@ public class UploadImageWithRetrofit { Context context; String visitDate, userID, uploadStatus; int storeId = 0; - //GSKGTMerDB db; + GSKOrangeDB db; ProgressDialog pd; - //ArrayList storeList; + ArrayList storeList, storeList_deviation; + private int factor, k = 0; + Data data; - public UploadImageWithRetrofit(Context context) { - /*this.visitDate = visitDate; - this.userID = userId;*/ + public UploadImageWithRetrofit(String visitDate, String userId, Context context) { + this.visitDate = visitDate; + this.userID = userId; this.context = context; pd = new ProgressDialog(context); pd.setCancelable(false); @@ -91,7 +107,7 @@ public class UploadImageWithRetrofit { foldername = "PromotionImages"; } else if (file[i].getName().contains("CategoryPicture")) { foldername = "CategoryImages"; - } else if (file[i].getName().contains("AuditAnsPic ")) { + } else if (file[i].getName().contains("AuditAnsPic")) { foldername = "AuditImages"; } else { foldername = "Bulkimages"; @@ -185,6 +201,127 @@ public class UploadImageWithRetrofit { } + public void UploadImageRecursiveNew(final Context context) { + try { + + status = 0; + String filename = null, foldername = null; + int totalfiles = 0; + File f = new File(CommonString.FILE_PATH); + File file[] = f.listFiles(); + count = file.length; + if (file.length > 0) { + filename = ""; + totalfiles = f.listFiles().length; + pd.setMessage(context.getString(R.string.uploaddata)+" - " +context.getString(R.string.image) + " (" + uploadedFiles + "/" + totalFiles + ")"); + for (int i = 0; i < file.length; i++) { + if (new File(CommonString.FILE_PATH + file[i].getName()).exists()) { + if (file[i].getName().contains("SI_") || file[i].getName().contains("CHK_SI_") || file[i].getName().contains("NonWorking")) { + foldername = "StoreImages"; + } else if (file[i].getName().contains("GeoTag")) { + foldername = "GeotagImages"; + } else if (file[i].getName().contains("T2P_Image")) { + foldername = "T2PImages"; + } else if (file[i].getName().contains("AddPromo_Image")) { + foldername = "AdditionalPromotionImages"; + } else if (file[i].getName().contains("Promo_Image")) { + foldername = "PromotionImages"; + } else if (file[i].getName().contains("CategoryPicture")) { + foldername = "CategoryImages"; + } else if (file[i].getName().contains("AuditAnsPic")) { + foldername = "AuditImages"; + } else { + foldername = "Bulkimages"; + } + + filename = file[i].getName(); + } + break; + } + + + File originalFile = new File(CommonString.FILE_PATH+ filename); + final File finalFile = saveBitmapToFileSmaller(originalFile); + + OkHttpClient okHttpClient = new OkHttpClient(); + okHttpClient.setConnectTimeout(20, TimeUnit.SECONDS); + okHttpClient.setWriteTimeout(20, TimeUnit.SECONDS); + okHttpClient.setReadTimeout(20, TimeUnit.SECONDS); + + com.squareup.okhttp.RequestBody photo = com.squareup.okhttp.RequestBody.create(com.squareup.okhttp.MediaType.parse("application/octet-stream"), finalFile); + body1 = new MultipartBuilder() + .type(MultipartBuilder.FORM) + .addFormDataPart("file", finalFile.getName(), photo) + .addFormDataPart("FolderName", foldername) + .build(); + + adapter = new retrofit.Retrofit.Builder() + .baseUrl(CommonString.URL + "/") + .addConverterFactory(new StringConverterFactory()) + .build(); + PostApiForFile api = adapter.create(PostApiForFile.class); + + retrofit.Call call = api.getUploadImage(body1); + call.enqueue(new retrofit.Callback() { + @Override + public void onResponse(retrofit.Response response) { + if (response.isSuccess() && response.body().contains("Success")) { + finalFile.delete(); + status = 1; + uploadedFiles++; + } else { + status = 0; + //uploadedFiles = 0; + } + if (status == 0) { + pd.dismiss(); + if (!((Activity) context).isFinishing()) { + showAlert((Activity) context, context.getString(R.string.DataNot),false); + } + } else { + UploadImageRecursiveNew(context); + } + } + + @Override + public void onFailure(Throwable t) { + if (t instanceof IOException || t instanceof SocketTimeoutException || t instanceof SocketException) { + status = -1; + //uploadedFiles = 0; + pd.dismiss(); + // AlertandMessages.showAlert((Activity) context, "Network Error in upload", false); + if (!((Activity) context).isFinishing()) { + showAlert((Activity) context, context.getString(R.string.NetworkError),false); + } + } + } + }); + + + } else { + if (totalFiles == uploadedFiles) { + //region Coverage upload status Data + new StatusUpload().execute(); + //endregion + //pd.cancel(); + //showAlert((Activity) context, context.getString(R.string.data_uploaded_successfully),true); + } + + } + } catch (JsonSyntaxException e) { + e.printStackTrace(); + showAlert((Activity) context, "Invalid Json",false); + } catch (Exception e) { + e.printStackTrace(); + if (totalFiles == uploadedFiles) { + showAlert((Activity) context, context.getString(R.string.data_uploaded_successfully),true); + } else { + showAlert((Activity) context, CommonString.KEY_FAILURE,false); + } + } + + } + public File saveBitmapToFileSmaller(File file) { File file2 = file; try { @@ -252,4 +389,142 @@ public class UploadImageWithRetrofit { alert.show(); } + public class StatusUpload extends AsyncTask { + + @Override + protected String doInBackground(String... strings) { + + try { + db = new GSKOrangeDB(context); + db.open(); + data = new Data(); + storeList = db.getStoreData(visitDate, CommonString.KEY_JOURNEY_PLAN); + for (int i = 0; i < storeList.size(); i++) { + if (storeList.get(i).getUPLOAD_STATUS().equalsIgnoreCase(CommonString.KEY_D)) { + // SET COVERAGE STATUS + String final_xml = ""; + String onXML = ""; + onXML = "[COVERAGE_STATUS]" + + "[STORE_ID]" + storeList.get(i).getSTORE_ID() + "[/STORE_ID]" + + "[VISIT_DATE]" + storeList.get(i).getVISIT_DATE()+ "[/VISIT_DATE]" + + "[USER_ID]" + userID + "[/USER_ID]" + + "[STATUS]" + CommonString.KEY_U + "[/STATUS]" + + "[/COVERAGE_STATUS]"; + + final_xml = final_xml + onXML; + + final String sos_xml = "[DATA]" + final_xml + "[/DATA]"; + + SoapObject request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_COVERAGE_STATUS); + request.addProperty("onXML", sos_xml); + + SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); + envelope.dotNet = true; + envelope.setOutputSoapObject(request); + + HttpTransportSE androidHttpTransport = new HttpTransportSE(CommonString.URL); + androidHttpTransport.call(CommonString.SOAP_ACTION + CommonString.METHOD_UPLOAD_COVERAGE_STATUS, envelope); + + Object result = envelope.getResponse(); + + //If Result is success then status of that store is update + if (result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + + db.open(); + db.updateCoverageStatus(storeList.get(i).getSTORE_ID(), CommonString.KEY_U); + db.updateStoreStatusOnLeave(storeList.get(i).getSTORE_ID(), storeList.get(i).getVISIT_DATE(), + CommonString.KEY_U, CommonString.FROM_JCP); + + db.deleteTableWithStoreID(storeList.get(i).getSTORE_ID()); + } + + } + } + + db.open(); + storeList_deviation = db.getStoreData(visitDate, CommonString.KEY_ADHOC_JOURNEY_PLAN); + for (int i = 0; i < storeList_deviation.size(); i++) { + if (storeList_deviation.get(i).getUPLOAD_STATUS().equalsIgnoreCase(CommonString.KEY_D)) { + // SET COVERAGE STATUS + String final_xml = ""; + String onXML = ""; + onXML = "[COVERAGE_STATUS]" + + "[STORE_ID]" + storeList_deviation.get(i).getSTORE_ID() + "[/STORE_ID]" + + "[VISIT_DATE]" + storeList_deviation.get(i).getVISIT_DATE()+ "[/VISIT_DATE]" + + "[USER_ID]" + userID + "[/USER_ID]" + + "[STATUS]" + CommonString.KEY_U + "[/STATUS]" + + "[/COVERAGE_STATUS]"; + + final_xml = final_xml + onXML; + + final String sos_xml = "[DATA]" + final_xml + "[/DATA]"; + + SoapObject request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_COVERAGE_STATUS); + request.addProperty("onXML", sos_xml); + + SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); + envelope.dotNet = true; + envelope.setOutputSoapObject(request); + + HttpTransportSE androidHttpTransport = new HttpTransportSE(CommonString.URL); + androidHttpTransport.call(CommonString.SOAP_ACTION + CommonString.METHOD_UPLOAD_COVERAGE_STATUS, envelope); + + Object result = envelope.getResponse(); + + //If Result is success then status of that store is update + if (result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + + db.open(); + db.updateCoverageStatus(storeList_deviation.get(i).getSTORE_ID(), CommonString.KEY_U); + db.updateStoreStatusOnLeave(storeList_deviation.get(i).getSTORE_ID(), storeList_deviation.get(i).getVISIT_DATE(), + CommonString.KEY_U, CommonString.KEY_ADHOC_JOURNEY_PLAN); + + db.deleteTableWithStoreID(storeList_deviation.get(i).getSTORE_ID()); + } + + } + } + + + } catch (MalformedURLException e) { + e.printStackTrace(); + } catch (IOException e) { + Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString()); + Crashlytics.logException(e.getCause()); + Crashlytics.logException(new Exception(e.getCause())); + e.printStackTrace(); + } catch (XmlPullParserException e) { + e.printStackTrace(); + } catch (Exception e) { + Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString()); + Crashlytics.logException(e.getCause()); + Crashlytics.logException(new Exception(e.getCause())); + e.printStackTrace(); + } + if (statusUpdated) { + return CommonString.KEY_SUCCESS; + } else { + return CommonString.KEY_FAILURE; + } + } + + @Override + protected void onPostExecute(String s) { + super.onPostExecute(s); + pd.dismiss(); + if (s.equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + if (totalFiles == uploadedFiles) { + //AlertandMessages.showAlert((Activity) context, "All images uploaded Successfully", true); + showAlert((Activity) context, context.getString(R.string.data_uploaded_successfully),true); + } else { + showAlert((Activity) context, context.getString(R.string.DataNot),true); + } + } + } + } + + class Data { + int value; + String name; + } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/NoCameraDataGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/NoCameraDataGetterSetter.java index d827024..63c62a3 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/NoCameraDataGetterSetter.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/NoCameraDataGetterSetter.java @@ -11,6 +11,10 @@ public class NoCameraDataGetterSetter { boolean isVertical=false; + String SUB_CATEGORY_ID; + String SUB_CATEGORY; + int facing, row_no, column_no; + public String getSKUGROUP_ID() { return SKUGROUP_ID; } @@ -28,9 +32,6 @@ public class NoCameraDataGetterSetter { } String CATEGORY_ID; - String SUB_CATEGORY_ID; - String SUB_CATEGORY; - int facing, row_no, column_no; public int getFacing() { return facing; diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/NoCameraLastVisitGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/NoCameraLastVisitGetterSetter.java new file mode 100644 index 0000000..81e9955 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/NoCameraLastVisitGetterSetter.java @@ -0,0 +1,108 @@ +package cpm.com.gskmtorange.xmlGetterSetter; + +import java.util.ArrayList; + +public class NoCameraLastVisitGetterSetter { + + String table_NO_CAMERA_LAST_VISIT_DATA; + + ArrayList MID = new ArrayList<>(); + ArrayList STORE_ID = new ArrayList<>(); + ArrayList VISIT_DATE = new ArrayList<>(); + ArrayList SKUGROUP_ID = new ArrayList<>(); + ArrayList ROW_NO = new ArrayList<>(); + ArrayList COLUMN_NO = new ArrayList<>(); + ArrayList FACING = new ArrayList<>(); + ArrayList IS_VERTICAL = new ArrayList<>(); + + public ArrayList getCATEGORY_ID() { + return CATEGORY_ID; + } + + public void setCATEGORY_ID(String CATEGORY_ID) { + this.CATEGORY_ID.add(CATEGORY_ID); + } + + public ArrayList getSUB_CATEGORY_ID() { + return SUB_CATEGORY_ID; + } + + public void setSUB_CATEGORY_ID(String SUB_CATEGORY_ID) { + this.SUB_CATEGORY_ID.add(SUB_CATEGORY_ID); + } + + ArrayList CATEGORY_ID = new ArrayList<>(); + ArrayList SUB_CATEGORY_ID = new ArrayList<>(); + + public String getTable_NO_CAMERA_LAST_VISIT_DATA() { + return table_NO_CAMERA_LAST_VISIT_DATA; + } + + public void setTable_NO_CAMERA_LAST_VISIT_DATA(String table_NO_CAMERA_LAST_VISIT_DATA) { + this.table_NO_CAMERA_LAST_VISIT_DATA = table_NO_CAMERA_LAST_VISIT_DATA; + } + + public ArrayList getMID() { + return MID; + } + + public void setMID(String MID) { + this.MID.add(MID); + } + + public ArrayList getSTORE_ID() { + return STORE_ID; + } + + public void setSTORE_ID(String STORE_ID) { + this.STORE_ID.add(STORE_ID); + } + + public ArrayList getVISIT_DATE() { + return VISIT_DATE; + } + + public void setVISIT_DATE(String VISIT_DATE) { + this.VISIT_DATE.add(VISIT_DATE); + } + + public ArrayList getSKUGROUP_ID() { + return SKUGROUP_ID; + } + + public void setSKUGROUP_ID(String SKUGROUP_ID) { + this.SKUGROUP_ID.add(SKUGROUP_ID); + } + + public ArrayList getROW_NO() { + return ROW_NO; + } + + public void setROW_NO(String ROW_NO) { + this.ROW_NO.add(ROW_NO); + } + + public ArrayList getCOLUMN_NO() { + return COLUMN_NO; + } + + public void setCOLUMN_NO(String COLUMN_NO) { + this.COLUMN_NO.add(COLUMN_NO); + } + + public ArrayList getFACING() { + return FACING; + } + + public void setFACING(String FACING) { + this.FACING.add(FACING); + } + + public ArrayList getIS_VERTICAL() { + return IS_VERTICAL; + } + + public void setIS_VERTICAL(String IS_VERTICAL) { + this.IS_VERTICAL.add(IS_VERTICAL); + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java index e4ac77b..de32c47 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java @@ -36,6 +36,7 @@ public class TableBean { public static String Table_POG_QUESTION; public static String Table_NON_T2P_REASON; public static String Table_CONFIGURATION_COUNTRY_WISE; + public static String Table_NO_CAMERA_LAST_VISIT_DATA; public static String getAdditionalDisplay() { @@ -262,4 +263,12 @@ public class TableBean { public static void setTable_CONFIGURATION_COUNTRY_WISE(String table_CONFIGURATION_COUNTRY_WISE) { Table_CONFIGURATION_COUNTRY_WISE = table_CONFIGURATION_COUNTRY_WISE; } + + public static String getTable_NO_CAMERA_LAST_VISIT_DATA() { + return Table_NO_CAMERA_LAST_VISIT_DATA; + } + + public static void setTable_NO_CAMERA_LAST_VISIT_DATA(String table_NO_CAMERA_LAST_VISIT_DATA) { + Table_NO_CAMERA_LAST_VISIT_DATA = table_NO_CAMERA_LAST_VISIT_DATA; + } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java index 28a2476..b1ae669 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java @@ -26,6 +26,8 @@ import cpm.com.gskmtorange.xmlGetterSetter.MappingPlanogramCountrywiseGetterSett import cpm.com.gskmtorange.xmlGetterSetter.MappingPromotionGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingStockGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingSubCategoryImageAllowGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.NoCameraDataGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.NoCameraLastVisitGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.NonT2pReasonGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.NonWorkingReasonGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.POGQuestionGetterSetter; @@ -1208,4 +1210,57 @@ public class XMLHandlers { } return st; } + + //NO_CAMERA_LAST_VISIT_DATA + public static NoCameraLastVisitGetterSetter noCameraLastVisitXMLHandler(XmlPullParser xpp, int eventType) { + NoCameraLastVisitGetterSetter st = new NoCameraLastVisitGetterSetter(); + + try { + while (xpp.getEventType() != XmlPullParser.END_DOCUMENT) { + if (xpp.getEventType() == XmlPullParser.START_TAG) { + + if (xpp.getName().equals("META_DATA")) { + st.setTable_NO_CAMERA_LAST_VISIT_DATA(xpp.nextText()); + } + if (xpp.getName().equals("MID")) { + st.setMID(xpp.nextText()); + } + if (xpp.getName().equals("STORE_ID")) { + st.setSTORE_ID(xpp.nextText()); + } + if (xpp.getName().equals("VISIT_DATE")) { + st.setVISIT_DATE(xpp.nextText()); + } + if (xpp.getName().equals("CATEGORY_ID")) { + st.setCATEGORY_ID(xpp.nextText()); + } + if (xpp.getName().equals("SUB_CATEGORY_ID")) { + st.setSUB_CATEGORY_ID(xpp.nextText()); + } + if (xpp.getName().equals("SKUGROUP_ID")) { + st.setSKUGROUP_ID(xpp.nextText()); + } + if (xpp.getName().equals("ROW_NO")) { + st.setROW_NO(xpp.nextText()); + } + if (xpp.getName().equals("COLUMN_NO")) { + st.setCOLUMN_NO(xpp.nextText()); + } + if (xpp.getName().equals("FACING")) { + st.setFACING(xpp.nextText()); + } + if (xpp.getName().equals("IS_VERTICAL")) { + st.setIS_VERTICAL(xpp.nextText()); + } + + } + xpp.next(); + } + } catch (XmlPullParserException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return st; + } } diff --git a/build.gradle b/build.gradle index 0295849..4f5bda4 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ buildscript { } } dependencies { - classpath 'com.android.tools.build:gradle:3.1.2' + classpath 'com.android.tools.build:gradle:3.1.4' classpath 'io.fabric.tools:gradle:1.24.4' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files From 0a8d38e16e21e01e6a8bb44a0d7a509f9e36172f Mon Sep 17 00:00:00 2001 From: yadavendras Date: Fri, 21 Sep 2018 18:15:36 +0530 Subject: [PATCH 2/9] Deepak_commit_31_05_2018 --- .../com/gskmtorange/Database/GSKOrangeDB.java | 62 ++- .../gskmtorange/GeoTag/GeoTagActivity.java | 13 +- .../cpm/com/gskmtorange/LoginActivity.java | 8 +- .../cpm/com/gskmtorange/MainActivity.java | 5 + .../gskmtorange/constant/CommonString.java | 1 + .../dailyentry/NoCameraActivity.java | 6 +- .../dailyentry/StoreListActivity.java | 353 ++++++++++++++++-- .../dailyentry/T2PComplianceActivity.java | 4 +- .../download/DownloadActivity.java | 48 ++- .../MSL_Availability_StockFacingActivity.java | 20 +- .../gsk_dailyentry/Stock_FacingActivity.java | 6 +- .../upload/UploadImageWithRetrofit.java | 6 +- .../ConfigurationContrywiseGetterSetter.java | 9 + .../GeoFencingGetterSetter.java | 44 +++ .../xmlGetterSetter/POGGetterSetter.java | 2 +- .../xmlGetterSetter/TableBean.java | 9 + .../gskmtorange/xmlHandlers/XMLHandlers.java | 37 ++ .../main/res/menu/activity_main_drawer.xml | 3 +- GSKMTOrange/src/main/res/values/strings.xml | 4 + 19 files changed, 571 insertions(+), 69 deletions(-) create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/GeoFencingGetterSetter.java 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 cf0283d..a5ee049 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java @@ -37,6 +37,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.ConfigurationContrywiseGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.DisplayChecklistMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.DisplayMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.GapsChecklistGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.GeoFencingGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.JourneyPlanGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MAPPINGT2PGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MAPPING_ADDITIONAL_PROMOTION_MasterGetterSetter; @@ -77,7 +78,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.TableBean; */ public class GSKOrangeDB extends SQLiteOpenHelper { - public static final String DATABASE_NAME = "GSK_ORANGE_DB31"; + public static final String DATABASE_NAME = "GSK_ORANGE_DB32"; public static final int DATABASE_VERSION = 15; TableBean tableBean; private SQLiteDatabase db; @@ -174,6 +175,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { db.execSQL(TableBean.getTable_NON_T2P_REASON()); db.execSQL(TableBean.getTable_CONFIGURATION_COUNTRY_WISE()); db.execSQL(TableBean.getTable_NO_CAMERA_LAST_VISIT_DATA()); + db.execSQL(TableBean.getTable_GEO_FENCING()); //15-03-2017 db.execSQL(CommonString.CREATE_TABLE_INSERT_MSL_AVAILABILITY_STOCK_FACING); @@ -6281,6 +6283,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { values.put("COUNTRY_ID", data.getCOUNTRY_ID().get(i)); values.put("ADHOC_REPORTING", data.getADHOC_REPORTING().get(i)); + values.put("PDF_ALLOW", data.getPDF_ALLOW().get(i)); db.insert("CONFIGURATION_COUNTRY_WISE", null, values); } @@ -6383,4 +6386,61 @@ public class GSKOrangeDB extends SQLiteOpenHelper { return list; } + //GEO_FENCING + public void InsertGeoTag_DATA(GeoFencingGetterSetter data) { + db.delete("GEO_FENCING", null, null); + + ContentValues values = new ContentValues(); + try { + for (int i = 0; i < data.getCOUNTRY_ID().size(); i++) { + + values.put("COUNTRY_ID", data.getCOUNTRY_ID().get(i)); + values.put("DISTANCE_MTR", data.getDISTANCE_MTR().get(i)); + values.put("GEO_FENCING", data.getGEO_FENCING().get(i)); + + db.insert("GEO_FENCING", null, values); + + } + } catch (Exception ex) { + Log.d("Exception ", " in GEO_FENCING " + ex.toString()); + } + } + + //get Geo Fencing + public ArrayList getGeoFencing(String country_id) { + ArrayList list = new ArrayList<>(); + Cursor dbcursor = null; + + try { + dbcursor = db.rawQuery("SELECT * from GEO_FENCING where COUNTRY_ID ='" + country_id + "'", null); + + if (dbcursor != null) { + dbcursor.moveToFirst(); + while (!dbcursor.isAfterLast()) { + GeoFencingGetterSetter sb = new GeoFencingGetterSetter(); + + sb.setCOUNTRY_ID(dbcursor.getString(dbcursor + .getColumnIndexOrThrow("COUNTRY_ID"))); + + sb.setDISTANCE_MTR((dbcursor.getString(dbcursor + .getColumnIndexOrThrow("DISTANCE_MTR")))); + + sb.setGEO_FENCING(dbcursor.getString(dbcursor + .getColumnIndexOrThrow("GEO_FENCING"))); + + list.add(sb); + dbcursor.moveToNext(); + } + dbcursor.close(); + return list; + } + + } catch (Exception e) { + Log.d("Excep get geofencing!", e.toString()); + return list; + } + + + return list; + } } 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 d1b66a8..a391fb1 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/GeoTag/GeoTagActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/GeoTag/GeoTagActivity.java @@ -702,7 +702,7 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb if (result.toString().equalsIgnoreCase( CommonString.KEY_FALSE)) { - return CommonString.METHOD_UPLOAD_ASSET; + return CommonString.METHOD_UPLOAD_STOCK_XML_DATA; } // for failure @@ -719,7 +719,7 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb if (failureGetterSetter.getStatus().equalsIgnoreCase( CommonString.KEY_FAILURE)) { - return CommonString.METHOD_UPLOAD_ASSET + "," + return CommonString.METHOD_UPLOAD_STOCK_XML_DATA + "," + failureGetterSetter.getErrorMsg(); } else { @@ -862,7 +862,7 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb && !geotaglistImage.get(i).getUrl1() .equalsIgnoreCase("")) { - if (new File(Environment.getExternalStorageDirectory() + "/GSK_MT_ORANGE_IMAGES/" + if (new File(CommonString.FILE_PATH + geotaglistImage.get(i).getUrl1()).exists()) { result = UploadGeoImage(geotaglistImage.get(i).getUrl1(), "GeotagImages"); @@ -952,7 +952,6 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb db.deleteGeoTagData(geotaglistImage.get(i).getStoreid()); - } @@ -1005,7 +1004,7 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb errormsg = ""; BitmapFactory.Options o = new BitmapFactory.Options(); o.inJustDecodeBounds = true; - BitmapFactory.decodeFile(Environment.getExternalStorageDirectory() + "/GSK_MT_ORANGE_IMAGES/" + path, o); + BitmapFactory.decodeFile(CommonString.FILE_PATH + path, o); // The new size we want to scale to final int REQUIRED_SIZE = 1024; @@ -1025,7 +1024,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_ORANGE_IMAGES/" + path, o2); + Bitmap bitmap = BitmapFactory.decodeFile(CommonString.FILE_PATH + path, o2); ByteArrayOutputStream bao = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 90, bao); @@ -1051,7 +1050,7 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb if (result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { - new File(Environment.getExternalStorageDirectory() + "/GSK_MT_ORANGE_IMAGES/" + path).delete(); + new File(CommonString.FILE_PATH + path).delete(); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/LoginActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/LoginActivity.java index 0c05fdb..03b990f 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/LoginActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/LoginActivity.java @@ -192,9 +192,9 @@ public class LoginActivity extends AppCompatActivity { if (!file.isDirectory()) { file.mkdir(); } - File fileold = new File(Environment.getExternalStorageDirectory(), "GSK_MT_ORANGE_IMAGES"); - if (!fileold.isDirectory()) { - fileold.mkdir(); + File file_planogram = new File(Environment.getExternalStorageDirectory(), "GSK_MT_ORANGE_Planogram_Images"); + if (!file_planogram.isDirectory()) { + file_planogram.mkdir(); } } @@ -788,7 +788,7 @@ public class LoginActivity extends AppCompatActivity { UploadImageWithRetrofit.uploadedFiles = 0; UploadImageWithRetrofit.totalFiles = file.length; UploadImageWithRetrofit uploadImg = new UploadImageWithRetrofit( "", userid,LoginActivity.this); - uploadImg.UploadImageRecursive(LoginActivity.this); + //uploadImg.UploadImageRecursive(LoginActivity.this); } else { sendToMain(); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java index 9879f6c..de085e9 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java @@ -153,6 +153,11 @@ public class MainActivity extends AppCompatActivity Menu nav_Menu = navigationView.getMenu(); nav_Menu.findItem(R.id.nav_deviation).setVisible(true); } + + if(configuration_data.get(0).getPDF_ALLOW().get(0).equals("1")){ + Menu nav_Menu = navigationView.getMenu(); + nav_Menu.findItem(R.id.nav_planogram).setVisible(true); + } } coverageList = db.getCoverageData(date, null); 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 f9bf209..d41fba4 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonString.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonString.java @@ -238,6 +238,7 @@ public class CommonString { //File Path public static final String FILE_PATH = Environment.getExternalStorageDirectory() + "/.GSK_MT_ORANGE_IMAGES/"; + public static final String FILE_PATH_PLANOGRAM = Environment.getExternalStorageDirectory() + "/GSK_MT_ORANGE_Planogram_Images/"; public static final String FILE_PATH_OLD = Environment.getExternalStorageDirectory() + "/GSK_MT_ORANGE_IMAGES/"; public static final String FILE_PATH_PDF = Environment.getExternalStorageDirectory() + "/GSK_MT_ORANGE_Planogram/"; diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NoCameraActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NoCameraActivity.java index 0858fb2..de314ce 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NoCameraActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NoCameraActivity.java @@ -1038,13 +1038,13 @@ public class NoCameraActivity extends AppCompatActivity implements Listener { planogram_image = mappingPlanogramList.get(0).getPLANOGRAM_IMAGE(); } if (!planogram_image.equals("")) { - if (new File(str + planogram_image).exists()) { - Bitmap bmp = BitmapFactory.decodeFile(str + planogram_image); + if (new File(CommonString.FILE_PATH_PLANOGRAM + planogram_image).exists()) { + Bitmap bmp = BitmapFactory.decodeFile(CommonString.FILE_PATH_PLANOGRAM + planogram_image); // img_planogram.setRotation(90); //img_planogram.setImageBitmap(bmp); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); - String imagePath = "file://" + CommonString.FILE_PATH + "/" + planogram_image; + String imagePath = "file://" + CommonString.FILE_PATH_PLANOGRAM + "/" + planogram_image; String html = ""; webView.loadDataWithBaseURL("", html, "text/html", "utf-8", ""); 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 4a78a73..de49567 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreListActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreListActivity.java @@ -1,19 +1,28 @@ package cpm.com.gskmtorange.dailyentry; +import android.Manifest; +import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; +import android.content.IntentSender; import android.content.SharedPreferences; +import android.content.pm.PackageManager; import android.content.res.Configuration; import android.content.res.Resources; +import android.location.Location; +import android.location.LocationManager; import android.net.ConnectivityManager; import android.net.NetworkInfo; +import android.os.Build; import android.os.Bundle; import android.preference.PreferenceManager; +import android.provider.Settings; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; +import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.CardView; import android.support.v7.widget.LinearLayoutManager; @@ -32,6 +41,21 @@ import android.widget.LinearLayout; import android.widget.RadioGroup; import android.widget.RelativeLayout; import android.widget.TextView; +import android.widget.Toast; + +import com.google.android.gms.common.ConnectionResult; +import com.google.android.gms.common.GooglePlayServicesUtil; +import com.google.android.gms.common.api.GoogleApiClient; +import com.google.android.gms.common.api.PendingResult; +import com.google.android.gms.common.api.ResultCallback; +import com.google.android.gms.common.api.Status; +import com.google.android.gms.location.LocationListener; +import com.google.android.gms.location.LocationRequest; +import com.google.android.gms.location.LocationServices; +import com.google.android.gms.location.LocationSettingsRequest; +import com.google.android.gms.location.LocationSettingsResult; +import com.google.android.gms.location.LocationSettingsStatusCodes; +import com.google.android.gms.maps.model.LatLng; import java.util.ArrayList; import java.util.Collections; @@ -40,6 +64,7 @@ import java.util.Locale; import cpm.com.gskmtorange.Database.GSKOrangeDB; import cpm.com.gskmtorange.GetterSetter.CoverageBean; +import cpm.com.gskmtorange.GetterSetter.GeotaggingBeans; import cpm.com.gskmtorange.GetterSetter.StoreBean; import cpm.com.gskmtorange.R; import cpm.com.gskmtorange.constant.CommonFunctions; @@ -49,12 +74,13 @@ import cpm.com.gskmtorange.gsk_dailyentry.StoreWisePerformanceActivity; import cpm.com.gskmtorange.storeinmap.StoreListMapActivity; import cpm.com.gskmtorange.storeinmap.StoreListRouteActivity; import cpm.com.gskmtorange.storeinmap.StoreRouteActivity; +import cpm.com.gskmtorange.xmlGetterSetter.GeoFencingGetterSetter; /** * Created by ashishc on 29-12-2016. */ -public class StoreListActivity extends AppCompatActivity { +public class StoreListActivity extends AppCompatActivity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, LocationListener { ArrayList coverage = new ArrayList(); ArrayList storelist = new ArrayList(); //ListView list; @@ -71,9 +97,27 @@ public class StoreListActivity extends AppCompatActivity { FloatingActionButton fab; //String storeid; Toolbar toolbar; - String language; + String language, country_id; String store_flag_str; + Context context; + boolean enabled = true; + GoogleApiClient mGoogleApiClient; + double lat = 0.0, lon = 0.0; + private LocationManager locmanager = null; + ArrayList geolist; + //ArrayList geoPhenceGetSet; + int distanceGeoPhence = 500; + private static int UPDATE_INTERVAL = 200; // 5 sec + private static int FATEST_INTERVAL = 100; // 1 sec + private static int DISPLACEMENT = 1; // 10 meters + private static final int REQUEST_LOCATION = 1; + private final static int PLAY_SERVICES_RESOLUTION_REQUEST = 1000; + private Location mLastLocation; + private LocationRequest mLocationRequest; + + ArrayList geoFencingGetterSetters; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -84,6 +128,8 @@ public class StoreListActivity extends AppCompatActivity { getSupportActionBar().setDisplayHomeAsUpEnabled(true); preferences = PreferenceManager.getDefaultSharedPreferences(this); + context = this; + CommonFunctions.updateLangResources(getApplicationContext(), preferences.getString(CommonString.KEY_LANGUAGE, "")); store_flag_str = getIntent().getStringExtra(CommonString.KEY_STORE_FLAG); @@ -91,6 +137,7 @@ public class StoreListActivity extends AppCompatActivity { date = preferences.getString(CommonString.KEY_DATE, null); visit_status = preferences.getString(CommonString.KEY_STOREVISITED_STATUS, ""); language = preferences.getString(CommonString.KEY_LANGUAGE, ""); + country_id = preferences.getString(CommonString.KEY_COUNTRY_ID, ""); db = new GSKOrangeDB(StoreListActivity.this); db.open(); @@ -110,6 +157,197 @@ public class StoreListActivity extends AppCompatActivity { } }); + if (Build.VERSION.SDK_INT >= 23 && ContextCompat.checkSelfPermission(getApplicationContext(), + android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && + ContextCompat.checkSelfPermission(getApplicationContext(), + android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { + return; + } + + if (checkPlayServices()) { + // Building the GoogleApi client + buildGoogleApiClient(); + + createLocationRequest(); + } + + } + + private boolean checkPlayServices() { + int resultCode = GooglePlayServicesUtil + .isGooglePlayServicesAvailable(this); + if (resultCode != ConnectionResult.SUCCESS) { + if (GooglePlayServicesUtil.isUserRecoverableError(resultCode)) { + GooglePlayServicesUtil.getErrorDialog(resultCode, this, + PLAY_SERVICES_RESOLUTION_REQUEST).show(); + } else { + Toast.makeText(getApplicationContext(), getResources().getString(R.string.notsuppoted) + , Toast.LENGTH_LONG) + .show(); + finish(); + } + return false; + } + return true; + } + + protected synchronized void buildGoogleApiClient() { + if (mGoogleApiClient == null) { + mGoogleApiClient = new GoogleApiClient.Builder(context) + .addConnectionCallbacks(this) + .addOnConnectionFailedListener(this) + .addApi(LocationServices.API) + .build(); + } + } + + protected void createLocationRequest() { + mLocationRequest = new LocationRequest(); + mLocationRequest.setInterval(UPDATE_INTERVAL); + mLocationRequest.setFastestInterval(FATEST_INTERVAL); + mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); + mLocationRequest.setSmallestDisplacement(DISPLACEMENT); + } + + @Override + public void onConnectionSuspended(int i) { + mGoogleApiClient.connect(); + } + + @Override + public void onLocationChanged(Location location) { + LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude()); + + // Toast.makeText(this, " WORKS_lat_lon " + latLng, Toast.LENGTH_LONG).show(); + // updateLocation(latLng); + if (mGoogleApiClient != null) { + LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this); + } + + } + + protected void startLocationUpdates() { + + if (ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED + || ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) { + if (mGoogleApiClient != null) { + LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this); + // Toast.makeText(getApplicationContext(), "startLocation - Lat" + lat + "Long" + lon, Toast.LENGTH_LONG).show(); + } + } + + } + + public static int distFrom(double lat1, double lng1, double lat2, double lng2) { + double earthRadius = 6371000; //meters + double dLat = Math.toRadians(lat2 - lat1); + double dLng = Math.toRadians(lng2 - lng1); + double a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + + Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) * + Math.sin(dLng / 2) * Math.sin(dLng / 2); + double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); + int dist = (int) (earthRadius * c); + + return dist; + } + + @Override + public void onConnected(Bundle bundle) { + mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient); + if (ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED + || ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) { + if (mLastLocation != null) { + lat = mLastLocation.getLatitude(); + lon = mLastLocation.getLongitude(); + // Toast.makeText(getApplicationContext(), "onconnected lat-" + lat + " Long-" + lon, Toast.LENGTH_SHORT).show(); + } + startLocationUpdates(); + } + } + + @Override + public void onConnectionFailed(ConnectionResult connectionResult) { + if (mGoogleApiClient != null) { + mGoogleApiClient.connect(); + } + } + + protected void onStart() { + super.onStart(); + if (mGoogleApiClient != null) { + mGoogleApiClient.connect(); + } + } + + private boolean checkgpsEnableDevice() { + boolean flag = true; + if (!hasGPSDevice(context)) { + Toast.makeText(context, "Gps not Supported",Toast.LENGTH_SHORT).show(); + } + final LocationManager manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); + if (!manager.isProviderEnabled(LocationManager.GPS_PROVIDER) && hasGPSDevice(context)) { + enableLoc(); + flag = false; + } else if (manager.isProviderEnabled(LocationManager.GPS_PROVIDER) && hasGPSDevice(context)) { + flag = true; + } + return flag; + } + + private boolean hasGPSDevice(Context context) { + final LocationManager mgr = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); + if (mgr == null) + return false; + final List providers = mgr.getAllProviders(); + if (providers == null) + return false; + return providers.contains(LocationManager.GPS_PROVIDER); + } + + private void enableLoc() { + LocationRequest locationRequest = LocationRequest.create(); + locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); + locationRequest.setInterval(30 * 1000); + locationRequest.setFastestInterval(5 * 1000); + LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder().addLocationRequest(locationRequest); + builder.setAlwaysShow(true); + if (mGoogleApiClient != null) { + PendingResult result = LocationServices.SettingsApi.checkLocationSettings(mGoogleApiClient, builder.build()); + result.setResultCallback(new ResultCallback() { + @Override + public void onResult(LocationSettingsResult result) { + final Status status = result.getStatus(); + switch (status.getStatusCode()) { + case LocationSettingsStatusCodes.RESOLUTION_REQUIRED: + try { + // Show the dialog by calling startResolutionForResult(), + // and check the result in onActivityResult(). + status.startResolutionForResult((Activity) context, REQUEST_LOCATION); + } catch (IntentSender.SendIntentException e) { + // Ignore the error. + } + break; + } + } + }); + } + } + + + public void GPSAlert() { + AlertDialog.Builder alertDialog = new AlertDialog.Builder(context); + alertDialog.setTitle("GPS IS DISABLED..."); + alertDialog.setMessage("Click ok to enable GPS."); + alertDialog.setCancelable(false); + alertDialog.setPositiveButton("YES", + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); + startActivity(intent); + dialog.dismiss(); + } + }); + alertDialog.show(); } @@ -117,6 +355,12 @@ public class StoreListActivity extends AppCompatActivity { // TODO Auto-generated method stub super.onResume(); + if (mGoogleApiClient != null) { + mGoogleApiClient.connect(); + + } + checkgpsEnableDevice(); + CommonFunctions.updateLangResources(getApplicationContext(), preferences.getString(CommonString.KEY_LANGUAGE, "")); //toolbar.setTitle(getString(R.string.title_activity_store_list)); db.open(); @@ -132,6 +376,8 @@ public class StoreListActivity extends AppCompatActivity { coverage = db.getCoverageData(date, store_flag_str); + geoFencingGetterSetters = db.getGeoFencing(country_id); + if (storelist.size() > 0) { //list.setAdapter(new MyAdaptor()); @@ -580,22 +826,6 @@ public class StoreListActivity extends AppCompatActivity { if (!GeotagStatus.equalsIgnoreCase("N")) { - editor = preferences.edit(); - editor.putString(CommonString.KEY_STORE_ID, current.getSTORE_ID()); - editor.putString(CommonString.KEY_STORE_NAME, current.getSTORE_NAME()); - editor.putString(CommonString.KEY_VISIT_DATE, current.getVISIT_DATE()); - editor.putString(CommonString.KEY_CAMERA_ALLOW, current.getCAMERA_ALLOW()); - editor.putString(CommonString.KEY_CHECKOUT_STATUS, current.getCHECKOUT_STATUS()); - editor.putString(CommonString.KEY_CLASS_ID, current.getCLASS_ID()); - editor.putString(CommonString.KEY_EMP_ID, current.getEMP_ID()); - editor.putString(CommonString.KEY_GEO_TAG, current.getGEO_TAG()); - editor.putString(CommonString.KEY_KEYACCOUNT_ID, current.getKEYACCOUNT_ID()); - editor.putString(CommonString.KEY_STORETYPE_ID, current.getSTORETYPE_ID()); - editor.putString(CommonString.KEY_UPLOAD_STATUS, current.getUPLOAD_STATUS()); - - editor.commit(); - - boolean flag = true; if (coverage.size() > 0) { for (int i = 0; i < coverage.size(); i++) { @@ -605,19 +835,83 @@ public class StoreListActivity extends AppCompatActivity { } } } - if (flag == true) { - Intent in = new Intent(StoreListActivity.this, StoreimageActivity.class); - in.putExtra(CommonString.KEY_STORE_FLAG, store_flag_str); - in.putExtra(CommonString.KEY_STORE_ID, current.getSTORE_ID()); - startActivity(in); - overridePendingTransition(R.anim.activity_in, R.anim.activity_out); - dialog.cancel(); - } else { - Intent in = new Intent(StoreListActivity.this, StoreWisePerformanceActivity.class); - startActivity(in); - overridePendingTransition(R.anim.activity_in, R.anim.activity_out); + boolean flag_entry = true; + + int distance = 0; + //geo fencing enabled only if GEO_FENCING equals 1 for COUNTRY_ID + if(flag && geoFencingGetterSetters.size()>0 && geoFencingGetterSetters.get(0).getGEO_FENCING().get(0).equals("1")){ + distanceGeoPhence = Integer.parseInt(geoFencingGetterSetters.get(0).getDISTANCE_MTR().get(0)); + + double store_lat = Double.parseDouble(current.getLATITUDE()); + double store_lon = Double.parseDouble(current.getLONGITUDE()); + + if(store_lat!=0.0 && store_lon!=0.0){ + distance = distFrom(store_lat, store_lon, lat, lon); + + if (/*true*/distance > distanceGeoPhence) { + flag_entry = false; + } + } + } + + + if(flag_entry){ + + String msg = getString(R.string.distance_from_the_store) + " " + distance + " meters"; + + Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show(); + + editor = preferences.edit(); + editor.putString(CommonString.KEY_STORE_ID, current.getSTORE_ID()); + editor.putString(CommonString.KEY_STORE_NAME, current.getSTORE_NAME()); + editor.putString(CommonString.KEY_VISIT_DATE, current.getVISIT_DATE()); + editor.putString(CommonString.KEY_CAMERA_ALLOW, current.getCAMERA_ALLOW()); + editor.putString(CommonString.KEY_CHECKOUT_STATUS, current.getCHECKOUT_STATUS()); + editor.putString(CommonString.KEY_CLASS_ID, current.getCLASS_ID()); + editor.putString(CommonString.KEY_EMP_ID, current.getEMP_ID()); + editor.putString(CommonString.KEY_GEO_TAG, current.getGEO_TAG()); + editor.putString(CommonString.KEY_KEYACCOUNT_ID, current.getKEYACCOUNT_ID()); + editor.putString(CommonString.KEY_STORETYPE_ID, current.getSTORETYPE_ID()); + editor.putString(CommonString.KEY_UPLOAD_STATUS, current.getUPLOAD_STATUS()); + + editor.commit(); + + + if (flag == true) { + + Intent in = new Intent(StoreListActivity.this, StoreimageActivity.class); + in.putExtra(CommonString.KEY_STORE_FLAG, store_flag_str); + in.putExtra(CommonString.KEY_STORE_ID, current.getSTORE_ID()); + startActivity(in); + overridePendingTransition(R.anim.activity_in, R.anim.activity_out); + dialog.cancel(); + } else { + Intent in = new Intent(StoreListActivity.this, StoreWisePerformanceActivity.class); + startActivity(in); + overridePendingTransition(R.anim.activity_in, R.anim.activity_out); + dialog.cancel(); + } + + }else{ + + String msg = getString(R.string.you_need_to_be_in_the_store) + " " +distance + " meters"; dialog.cancel(); + AlertDialog.Builder builder = new AlertDialog.Builder(StoreListActivity.this); + builder.setTitle(getResources().getString(R.string.dialog_title)); + builder.setMessage(msg).setCancelable(false) + .setPositiveButton(getResources().getString(R.string.ok), + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog1, + int id) { + + dialog1.cancel(); + } + }); + + AlertDialog alert = builder.create(); + + alert.show(); } } else { @@ -634,7 +928,6 @@ public class StoreListActivity extends AppCompatActivity { } }); - AlertDialog alert = builder.create(); alert.show(); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/T2PComplianceActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/T2PComplianceActivity.java index 5c7f73f..653881b 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/T2PComplianceActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/T2PComplianceActivity.java @@ -1540,9 +1540,9 @@ public class T2PComplianceActivity extends AppCompatActivity { webView.getSettings().setBuiltInZoomControls(true); //String planogram_image = mp.get(0).getPLANOGRAM_IMAGE(); - if (new File(str + planogram_image).exists()) { + if (new File(CommonString.FILE_PATH_PLANOGRAM + planogram_image).exists()) { - String imagePath = "file://" + CommonString.FILE_PATH + "/" + planogram_image; + String imagePath = "file://" + CommonString.FILE_PATH_PLANOGRAM + "/" + planogram_image; //String imagePath = "file://" + CommonString.FILE_PATH + "/" + "image_ref.png"; String html = ""; webView.loadDataWithBaseURL("", html, "text/html", "utf-8", ""); 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 9e14176..67600cc 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java @@ -48,6 +48,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.CategoryMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.ConfigurationContrywiseGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.DisplayChecklistMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.DisplayMasterGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.GeoFencingGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.JourneyPlanGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MAPPINGT2PGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MAPPING_ADDITIONAL_PROMOTION_MasterGetterSetter; @@ -105,6 +106,7 @@ public class DownloadActivity extends AppCompatActivity { NonT2pReasonGetterSetter nonT2pReasonGetterSetter; ConfigurationContrywiseGetterSetter configurationContrywiseGetterSetter; NoCameraLastVisitGetterSetter noCameraLastVisitGetterSetter; + GeoFencingGetterSetter geoFencingGetterSetter; private Dialog dialog; private ProgressBar pb; @@ -262,6 +264,41 @@ public class DownloadActivity extends AppCompatActivity { } publishProgress(data); + //GEO_FENCING + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); + request.addProperty("UserName", userId); + request.addProperty("Type", "GEO_FENCING"); + request.addProperty("cultureid", culture_id); + + envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); + envelope.dotNet = true; + envelope.setOutputSoapObject(request); + + androidHttpTransport = new HttpTransportSE(CommonString.URL); + androidHttpTransport.call(CommonString.SOAP_ACTION_UNIVERSAL, envelope); + + result = envelope.getResponse(); + + if (result.toString() != null) { + xpp.setInput(new StringReader(result.toString())); + // xpp.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false); + // xpp.setInput(stream,"UTF-8"); + xpp.next(); + eventType = xpp.getEventType(); + + geoFencingGetterSetter = XMLHandlers.geoFencingXMLHandler(xpp, eventType); + + String geofencingTable = geoFencingGetterSetter.getTable_GEO_FENCING(); + TableBean.setTable_GEO_FENCING(geofencingTable); + + if (geoFencingGetterSetter.getGEO_FENCING().size() > 0) { + data.value = 17; + data.name = "GEO FENCING" + getResources().getString(R.string.download_data); + } + + } + publishProgress(data); + // Store List Master request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); @@ -1217,7 +1254,7 @@ public class DownloadActivity extends AppCompatActivity { String size = new DecimalFormat("##.##").format((double) length / 1024) + " KB"; //String PATH = Environment.getExternalStorageDirectory() + "/Download/GT_GSK_Images/"; - String PATH = CommonString.FILE_PATH; + String PATH = CommonString.FILE_PATH_PLANOGRAM; File file = new File(PATH); if (!file.isDirectory()) { file.mkdir(); @@ -1276,7 +1313,7 @@ public class DownloadActivity extends AppCompatActivity { String size = new DecimalFormat("##.##").format((double) length / 1024) + " KB"; //String PATH = Environment.getExternalStorageDirectory() + "/Download/GT_GSK_Images/"; - String PATH = CommonString.FILE_PATH; + String PATH = CommonString.FILE_PATH_PLANOGRAM; File file = new File(PATH); if (!file.isDirectory()) { file.mkdir(); @@ -1306,7 +1343,7 @@ public class DownloadActivity extends AppCompatActivity { } } - //MAPPING_PLANOGRAM Image save into folder + /* //MAPPING_PLANOGRAM Image save into folder if (mapping_planogram_masterGetterSetter != null) { for (int i = 0; i < mapping_planogram_masterGetterSetter.getIMAGE_PATH().size(); i++) { @@ -1333,7 +1370,7 @@ public class DownloadActivity extends AppCompatActivity { String size = new DecimalFormat("##.##").format((double) length / 1024) + " KB"; //String PATH = Environment.getExternalStorageDirectory() + "/Download/GT_GSK_Images/"; - String PATH = CommonString.FILE_PATH; + String PATH = CommonString.FILE_PATH_PLANOGRAM; File file = new File(PATH); if (!file.isDirectory()) { file.mkdir(); @@ -1361,7 +1398,7 @@ public class DownloadActivity extends AppCompatActivity { } } } - } + }*/ //MAPPING_COUNTRYWISE_PLANOGRAM file save into folder /*if (mappingPlanogramCountrywiseGetterSetter != null) { @@ -1452,6 +1489,7 @@ public class DownloadActivity extends AppCompatActivity { db.InsertNON_T2P_REASON(nonT2pReasonGetterSetter); db.InsertCONFIGURATION_COUNTRY_WISE(configurationContrywiseGetterSetter); db.InsertNO_CAMERA_LAST_VISIT_DATA(noCameraLastVisitGetterSetter); + db.InsertGeoTag_DATA(geoFencingGetterSetter); } catch (MalformedURLException e) { diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_Availability_StockFacingActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_Availability_StockFacingActivity.java index 96413ff..17aafd3 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_Availability_StockFacingActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_Availability_StockFacingActivity.java @@ -85,7 +85,7 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { private SharedPreferences preferences; int scrollPosition = 0; - String str = "", _pathforcheck = ""; + String str_planogram= "", _pathforcheck = ""; ArrayList planogramShelfHeaderDataList = new ArrayList<>(); ArrayList planogramSkuChildDataList; @@ -140,7 +140,7 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true); - str = CommonString.FILE_PATH; + str_planogram= CommonString.FILE_PATH_PLANOGRAM; prepareList(); @@ -345,13 +345,13 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { planogram_image = mappingPlanogramList.get(0).getPLANOGRAM_IMAGE(); } if (!planogram_image.equals("")) { - if (new File(str + planogram_image).exists()) { - Bitmap bmp = BitmapFactory.decodeFile(str + planogram_image); + if (new File(str_planogram+ planogram_image).exists()) { + Bitmap bmp = BitmapFactory.decodeFile(str_planogram+ planogram_image); // img_planogram.setRotation(90); //img_planogram.setImageBitmap(bmp); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); - String imagePath = "file://" + CommonString.FILE_PATH + "/" + planogram_image; + String imagePath = "file://" + CommonString.FILE_PATH_PLANOGRAM + "/" + planogram_image; String html = ""; webView.loadDataWithBaseURL("", html, "text/html", "utf-8", ""); @@ -451,7 +451,7 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { public void onClick(View view) { _pathforcheck = "Stock_Camera1_" + store_id + "_" + categoryId + "_" + visit_date.replace("/", "") + "_" + CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()).replace(":", "") + ".jpg"; - path = str + _pathforcheck; + path = str_planogram+ _pathforcheck; startCameraActivity(3); } @@ -462,7 +462,7 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { public void onClick(View view) { _pathforcheck = "Stock_Camera2_" + store_id + "_" + categoryId + "_" + visit_date.replace("/", "") + "_" + CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()).replace(":", "") + ".jpg"; - path = str + _pathforcheck; + path = str_planogram+ _pathforcheck; startCameraActivity(4); } @@ -473,7 +473,7 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { public void onClick(View view) { _pathforcheck = "Stock_Camera3_" + store_id + "_" + categoryId + "_" + visit_date.replace("/", "") + "_" + CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()).replace(":", "") + ".jpg"; - path = str + _pathforcheck; + path = str_planogram+ _pathforcheck; startCameraActivity(5); } @@ -484,7 +484,7 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { public void onClick(View view) { _pathforcheck = "Stock_Camera4_" + store_id + "_" + categoryId + "_" + visit_date.replace("/", "") + "_" + CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()).replace(":", "") + ".jpg"; - path = str + _pathforcheck; + path = str_planogram+ _pathforcheck; startCameraActivity(6); } @@ -1292,7 +1292,7 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { } public String PerfectDecimal(String str, int MAX_BEFORE_POINT, int MAX_DECIMAL) { - if (str.charAt(0) == '.') str = "0" + str; + if (str.charAt(0) == '.') str= "0" + str; int max = str.length(); String rFinal = ""; diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/Stock_FacingActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/Stock_FacingActivity.java index 52a8211..126995a 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/Stock_FacingActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/Stock_FacingActivity.java @@ -1186,13 +1186,13 @@ public class Stock_FacingActivity extends AppCompatActivity { planogram_image = mappingPlanogramList.get(0).getPLANOGRAM_IMAGE(); } if (!planogram_image.equals("")) { - if (new File(str + planogram_image).exists()) { - Bitmap bmp = BitmapFactory.decodeFile(str + planogram_image); + if (new File(CommonString.FILE_PATH_PLANOGRAM + planogram_image).exists()) { + Bitmap bmp = BitmapFactory.decodeFile(CommonString.FILE_PATH_PLANOGRAM + planogram_image); // img_planogram.setRotation(90); //img_planogram.setImageBitmap(bmp); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); - String imagePath = "file://" + CommonString.FILE_PATH + "/" + planogram_image; + String imagePath = "file://" + CommonString.FILE_PATH_PLANOGRAM + "/" + planogram_image; String html = ""; webView.loadDataWithBaseURL("", html, "text/html", "utf-8", ""); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java index 016fdd4..3b00cb9 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java @@ -80,7 +80,7 @@ public class UploadImageWithRetrofit { pd.show(); } - public void UploadImageRecursive(final Context context) { + /*public void UploadImageRecursive(final Context context) { try { status = 0; @@ -199,7 +199,7 @@ public class UploadImageWithRetrofit { } } - } + }*/ public void UploadImageRecursiveNew(final Context context) { try { @@ -224,6 +224,8 @@ public class UploadImageWithRetrofit { foldername = "T2PImages"; } else if (file[i].getName().contains("AddPromo_Image")) { foldername = "AdditionalPromotionImages"; + }else if (file[i].getName().contains("AdditionalImage")) { + foldername = "AdditionalVisibilityImages"; } else if (file[i].getName().contains("Promo_Image")) { foldername = "PromotionImages"; } else if (file[i].getName().contains("CategoryPicture")) { diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/ConfigurationContrywiseGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/ConfigurationContrywiseGetterSetter.java index 818ca09..880cb2d 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/ConfigurationContrywiseGetterSetter.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/ConfigurationContrywiseGetterSetter.java @@ -8,6 +8,7 @@ public class ConfigurationContrywiseGetterSetter { ArrayList COUNTRY_ID = new ArrayList<>(); ArrayList ADHOC_REPORTING = new ArrayList<>(); + ArrayList PDF_ALLOW = new ArrayList<>(); public String getTable_CONFIGURATION_COUNTRY_WISE() { return table_CONFIGURATION_COUNTRY_WISE; @@ -32,4 +33,12 @@ public class ConfigurationContrywiseGetterSetter { public void setADHOC_REPORTING(String ADHOC_REPORTING) { this.ADHOC_REPORTING.add(ADHOC_REPORTING); } + + public ArrayList getPDF_ALLOW() { + return PDF_ALLOW; + } + + public void setPDF_ALLOW(String PDF_ALLOW) { + this.PDF_ALLOW.add(PDF_ALLOW); + } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/GeoFencingGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/GeoFencingGetterSetter.java new file mode 100644 index 0000000..5b5c8f3 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/GeoFencingGetterSetter.java @@ -0,0 +1,44 @@ +package cpm.com.gskmtorange.xmlGetterSetter; + +import java.util.ArrayList; + +public class GeoFencingGetterSetter { + + String table_GEO_FENCING; + + ArrayList COUNTRY_ID = new ArrayList<>(); + ArrayList DISTANCE_MTR = new ArrayList<>(); + ArrayList GEO_FENCING = new ArrayList<>(); + + public String getTable_GEO_FENCING() { + return table_GEO_FENCING; + } + + public void setTable_GEO_FENCING(String table_GEO_FENCING) { + this.table_GEO_FENCING = table_GEO_FENCING; + } + + public ArrayList getCOUNTRY_ID() { + return COUNTRY_ID; + } + + public void setCOUNTRY_ID(String COUNTRY_ID) { + this.COUNTRY_ID.add(COUNTRY_ID); + } + + public ArrayList getDISTANCE_MTR() { + return DISTANCE_MTR; + } + + public void setDISTANCE_MTR(String DISTANCE_MTR) { + this.DISTANCE_MTR.add(DISTANCE_MTR); + } + + public ArrayList getGEO_FENCING() { + return GEO_FENCING; + } + + public void setGEO_FENCING(String GEO_FENCING) { + this.GEO_FENCING.add(GEO_FENCING); + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/POGGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/POGGetterSetter.java index f1b1425..29bae7c 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/POGGetterSetter.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/POGGetterSetter.java @@ -4,7 +4,7 @@ import java.util.ArrayList; public class POGGetterSetter { - String QUESTION_ID, CULTURE_ID, SUB_CATEGORY_ID, QUESTION, ANSWER_TYPE, ANSWER_ID, ANSWER, CAM_IMAGE="", CAMERA_ALLOW="0",QTYPE_ID,QTYPE, CATEGORY_ID; + String QUESTION_ID, CULTURE_ID, SUB_CATEGORY_ID, QUESTION, ANSWER_TYPE, ANSWER_ID = "0", ANSWER, CAM_IMAGE="", CAMERA_ALLOW="0",QTYPE_ID,QTYPE, CATEGORY_ID; ArrayList answerList = new ArrayList<>(); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java index de32c47..6f4a4fb 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java @@ -37,6 +37,7 @@ public class TableBean { public static String Table_NON_T2P_REASON; public static String Table_CONFIGURATION_COUNTRY_WISE; public static String Table_NO_CAMERA_LAST_VISIT_DATA; + public static String Table_GEO_FENCING; public static String getAdditionalDisplay() { @@ -271,4 +272,12 @@ public class TableBean { public static void setTable_NO_CAMERA_LAST_VISIT_DATA(String table_NO_CAMERA_LAST_VISIT_DATA) { Table_NO_CAMERA_LAST_VISIT_DATA = table_NO_CAMERA_LAST_VISIT_DATA; } + + public static String getTable_GEO_FENCING() { + return Table_GEO_FENCING; + } + + public static void setTable_GEO_FENCING(String table_GEO_FENCING) { + Table_GEO_FENCING = table_GEO_FENCING; + } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java index b1ae669..b1ea447 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java @@ -14,6 +14,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.ConfigurationContrywiseGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.DisplayChecklistMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.DisplayMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.FailureGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.GeoFencingGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.JourneyPlanGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.LoginGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MAPPINGT2PGetterSetter; @@ -1200,6 +1201,10 @@ public class XMLHandlers { if (xpp.getName().equals("ADHOC_REPORTING")) { st.setADHOC_REPORTING(xpp.nextText()); } + + if (xpp.getName().equals("PDF_ALLOW")) { + st.setPDF_ALLOW(xpp.nextText()); + } } xpp.next(); } @@ -1263,4 +1268,36 @@ public class XMLHandlers { } return st; } + + //GEO_FENCING + public static GeoFencingGetterSetter geoFencingXMLHandler(XmlPullParser xpp, int eventType) { + GeoFencingGetterSetter st = new GeoFencingGetterSetter(); + + try { + while (xpp.getEventType() != XmlPullParser.END_DOCUMENT) { + if (xpp.getEventType() == XmlPullParser.START_TAG) { + + if (xpp.getName().equals("META_DATA")) { + st.setTable_GEO_FENCING(xpp.nextText()); + } + if (xpp.getName().equals("COUNTRY_ID")) { + st.setCOUNTRY_ID(xpp.nextText()); + } + if (xpp.getName().equals("DISTANCE_MTR")) { + st.setDISTANCE_MTR(xpp.nextText()); + } + if (xpp.getName().equals("GEO_FENCING")) { + st.setGEO_FENCING(xpp.nextText()); + } + } + + xpp.next(); + } + } catch (XmlPullParserException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return st; + } } diff --git a/GSKMTOrange/src/main/res/menu/activity_main_drawer.xml b/GSKMTOrange/src/main/res/menu/activity_main_drawer.xml index b12052b..b0a7544 100644 --- a/GSKMTOrange/src/main/res/menu/activity_main_drawer.xml +++ b/GSKMTOrange/src/main/res/menu/activity_main_drawer.xml @@ -36,7 +36,8 @@ + android:title="@string/category_performance_PLANOGRAM" + android:visible="false"/> Ad hoc Type response + + You need to be in the store to Checkin/Checkout\n Distance from Store - + Distance from Store - + From 68dc47c5133e292cd18a04bc6417e1ea61ff3acc Mon Sep 17 00:00:00 2001 From: yadavendras Date: Fri, 28 Sep 2018 19:37:35 +0530 Subject: [PATCH 3/9] Deepak_commit_31_05_2018 --- .../com/gskmtorange/Database/GSKOrangeDB.java | 96 +++++++++++-- .../gskmtorange/constant/CommonString.java | 10 +- .../dailyentry/NonWorkingReason.java | 115 ++++++++++++--- .../dailyentry/StoreListActivity.java | 2 +- .../dailyentry/StoreimageActivity.java | 136 +++++++++++++++--- .../download/DownloadActivity.java | 42 +++++- .../gskmtorange/upload/UploadActivity.java | 11 +- .../upload/UploadImageWithRetrofit.java | 2 +- .../NonWorkingReasonGetterSetter.java | 37 +++++ .../NonWorkingSubReasonGetterSetter.java | 45 ++++++ .../xmlGetterSetter/TableBean.java | 8 ++ .../gskmtorange/xmlHandlers/XMLHandlers.java | 47 ++++++ .../src/main/res/layout/nonworking.xml | 20 ++- GSKMTOrange/src/main/res/values-ar/string.xml | 3 + GSKMTOrange/src/main/res/values-tr/string.xml | 4 + GSKMTOrange/src/main/res/values/strings.xml | 3 +- 16 files changed, 523 insertions(+), 58 deletions(-) create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/NonWorkingSubReasonGetterSetter.java 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 a5ee049..121acff 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java @@ -56,6 +56,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.NoCameraDataGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.NoCameraLastVisitGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.NonT2pReasonGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.NonWorkingReasonGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.NonWorkingSubReasonGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.POGGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.POGQuestionGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.Promo_Compliance_DataGetterSetter; @@ -78,7 +79,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.TableBean; */ public class GSKOrangeDB extends SQLiteOpenHelper { - public static final String DATABASE_NAME = "GSK_ORANGE_DB32"; + public static final String DATABASE_NAME = "GSK_ORANGE_DB34"; public static final int DATABASE_VERSION = 15; TableBean tableBean; private SQLiteDatabase db; @@ -176,6 +177,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { db.execSQL(TableBean.getTable_CONFIGURATION_COUNTRY_WISE()); db.execSQL(TableBean.getTable_NO_CAMERA_LAST_VISIT_DATA()); db.execSQL(TableBean.getTable_GEO_FENCING()); + db.execSQL(TableBean.getTable_NON_WORKING_SUB_REASON());//--Added 26.09.2018 //15-03-2017 db.execSQL(CommonString.CREATE_TABLE_INSERT_MSL_AVAILABILITY_STOCK_FACING); @@ -854,6 +856,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { } sb.setCheckOut_Image(dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_CHECKOUT_IMAGE))); sb.setFlag_from(dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_STORE_FLAG))); + sb.setSub_reasonId(dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_SUB_REASON_ID))); list.add(sb); @@ -1479,6 +1482,13 @@ public class GSKOrangeDB extends SQLiteOpenHelper { ContentValues values = new ContentValues(); try { + + String sub_reason_id = data.getSub_reasonId(); + + if(sub_reason_id.equals("")){ + sub_reason_id = "0"; + } + values.put(CommonString.KEY_STORE_ID, data.getStoreId()); values.put(CommonString.KEY_USER_ID, data.getUserId()); values.put(CommonString.KEY_IN_TIME, data.getInTime()); @@ -1492,6 +1502,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { values.put(CommonString.KEY_IMAGE, data.getImage()); values.put(CommonString.KEY_COVERAGE_REMARK, data.getRemark()); values.put(CommonString.KEY_REASON_ID, data.getReasonid()); + values.put(CommonString.KEY_SUB_REASON_ID, sub_reason_id); values.put(CommonString.KEY_REASON, data.getReason()); values.put(CommonString.KEY_GEO_TAG, data.getGEO_TAG()); values.put(CommonString.KEY_CHECKOUT_IMAGE, data.getCheckOut_Image()); @@ -1832,7 +1843,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { //Non Working data public void insertNonWorkingData(NonWorkingReasonGetterSetter data) { - db.delete("NON_WORKING_REASON", null, null); + db.delete("NON_WORKING_REASON_NEW", null, null); ContentValues values = new ContentValues(); try { @@ -1843,8 +1854,12 @@ public class GSKOrangeDB extends SQLiteOpenHelper { 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)); + values.put("REMARK_REQUIRED", data.getREMARK_REQUIRED().get(i)); + values.put("REMARK_TYPE", data.getREMARK_TYPE().get(i)); + values.put("REMARK_LABEL", data.getREMARK_LABEL().get(i)); + values.put("REMARK_MANDATORY", data.getREMARK_MANDATORY().get(i)); - db.insert("NON_WORKING_REASON", null, values); + db.insert("NON_WORKING_REASON_NEW", null, values); } @@ -1860,7 +1875,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { ArrayList list = new ArrayList(); Cursor dbcursor = null; try { - dbcursor = db.rawQuery("SELECT * FROM NON_WORKING_REASON", null); + dbcursor = db.rawQuery("SELECT * FROM NON_WORKING_REASON_NEW", null); if (dbcursor != null) { dbcursor.moveToFirst(); @@ -1875,6 +1890,10 @@ public class GSKOrangeDB extends SQLiteOpenHelper { sb.setIMAGE_ALLOW(dbcursor.getString(dbcursor.getColumnIndexOrThrow("IMAGE_ALLOW"))); + sb.setREMARK_REQUIRED(dbcursor.getString(dbcursor.getColumnIndexOrThrow("REMARK_REQUIRED"))); + sb.setREMARK_TYPE(dbcursor.getString(dbcursor.getColumnIndexOrThrow("REMARK_TYPE"))); + sb.setREMARK_LABEL(dbcursor.getString(dbcursor.getColumnIndexOrThrow("REMARK_LABEL"))); + sb.setREMARK_MANDATORY(dbcursor.getString(dbcursor.getColumnIndexOrThrow("REMARK_MANDATORY"))); list.add(sb); dbcursor.moveToNext(); @@ -4739,7 +4758,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { ArrayList list = new ArrayList(); Cursor dbcursor = null; try { - dbcursor = db.rawQuery("SELECT * FROM NON_WORKING_REASON WHERE ENTRY_ALLOW=1", null); + dbcursor = db.rawQuery("SELECT * FROM NON_WORKING_REASON_NEW WHERE ENTRY_ALLOW=1", null); if (dbcursor != null) { dbcursor.moveToFirst(); @@ -4754,6 +4773,10 @@ public class GSKOrangeDB extends SQLiteOpenHelper { sb.setIMAGE_ALLOW(dbcursor.getString(dbcursor.getColumnIndexOrThrow("IMAGE_ALLOW"))); + sb.setREMARK_REQUIRED(dbcursor.getString(dbcursor.getColumnIndexOrThrow("REMARK_REQUIRED"))); + sb.setREMARK_TYPE(dbcursor.getString(dbcursor.getColumnIndexOrThrow("REMARK_TYPE"))); + sb.setREMARK_LABEL(dbcursor.getString(dbcursor.getColumnIndexOrThrow("REMARK_LABEL"))); + sb.setREMARK_MANDATORY(dbcursor.getString(dbcursor.getColumnIndexOrThrow("REMARK_MANDATORY"))); list.add(sb); dbcursor.moveToNext(); @@ -5384,7 +5407,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { cd.setRow_no(Integer.parseInt(dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_ROW_NO)))); cd.setColumn_no(Integer.parseInt(dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_COLUMN_NO)))); cd.setFacing(Integer.parseInt(dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_FACING)))); - cd.setVertical(dbcursor.getInt(dbcursor.getColumnIndexOrThrow(CommonString.KEY_ISVERTICAL))==1); + cd.setVertical(dbcursor.getInt(dbcursor.getColumnIndexOrThrow(CommonString.KEY_ISVERTICAL)) == 1); list.add(cd); dbcursor.moveToNext(); @@ -5430,7 +5453,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { try { - dbcursor = db.rawQuery("SELECT ROW_NO, MAX(COLUMN_NO) as COLUMN_NO FROM "+ table_name + " WHERE " + + dbcursor = db.rawQuery("SELECT ROW_NO, MAX(COLUMN_NO) as COLUMN_NO FROM " + table_name + " WHERE " + "STORE_ID = '" + store_id + "' AND CATEGORY_ID = '" + category_id + "' AND SUB_CATEGORY_ID = '" + sub_category_id + "' GROUP BY ROW_NO", null); @@ -5464,7 +5487,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { try { - dbcursor = db.rawQuery("SELECT NC.SKU_GROUP_ID, SM.SKUGROUP_NAME, NC.FACING, NC.IS_VERTICAL FROM "+ table_name +" NC " + + dbcursor = db.rawQuery("SELECT NC.SKU_GROUP_ID, SM.SKUGROUP_NAME, NC.FACING, NC.IS_VERTICAL FROM " + table_name + " NC " + "INNER JOIN SKUGROUP_MASTER SM ON NC.SKU_GROUP_ID = SM.SKUGROUP_ID " + "WHERE NC.STORE_ID = '" + store_id + "' AND NC.CATEGORY_ID = '" + category_id + "' AND NC.SUB_CATEGORY_ID = '" + sub_category_id + "' AND ROW_NO = '" + row + "' AND COLUMN_NO = '" + column + "'", null); @@ -6441,6 +6464,63 @@ public class GSKOrangeDB extends SQLiteOpenHelper { } + return list; + } + + //NON_WORKING_SUB_REASON data + + public void insertNonWorkingSubreasonData(NonWorkingSubReasonGetterSetter data) { + db.delete("NON_WORKING_SUB_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("SUB_REASON_ID", data.getSUB_REASON_ID().get(i)); + values.put("SUB_REASON", data.getSUB_REASON().get(i)); + + db.insert("NON_WORKING_SUB_REASON", null, values); + + } + + } catch (Exception ex) { + Log.d("Database Exception ", ex.toString()); + } + + } + + // get NonWorking Sub reason data + public ArrayList getNonWorkingSubReasonData(String reason_id) { + + ArrayList list = new ArrayList<>(); + Cursor dbcursor = null; + try { + dbcursor = db.rawQuery("SELECT * FROM NON_WORKING_SUB_REASON WHERE REASON_ID ='"+ reason_id +"'", null); + + if (dbcursor != null) { + dbcursor.moveToFirst(); + while (!dbcursor.isAfterLast()) { + NonWorkingSubReasonGetterSetter sb = new NonWorkingSubReasonGetterSetter(); + + sb.setSUB_REASON_ID(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SUB_REASON_ID"))); + + sb.setSUB_REASON(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SUB_REASON"))); + + list.add(sb); + dbcursor.moveToNext(); + } + dbcursor.close(); + return list; + } + + } catch (Exception e) { + + return list; + } + + return list; } } 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 d41fba4..6ae8e10 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonString.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonString.java @@ -50,6 +50,7 @@ public class CommonString { public static final String KEY_LONGITUDE = "LONGITUDE"; public static final String KEY_COVERAGE_STATUS = "Coverage"; public static final String KEY_REASON_ID = "REASON_ID"; + public static final String KEY_SUB_REASON_ID = "SUB_REASON_ID"; public static final String KEY_REASON = "REASON"; public static final String KEY_COVERAGE_REMARK = "REMARK"; public static final String KEY_CHECKOUT_IMAGE = "Checkout_Image"; @@ -165,6 +166,7 @@ public class CommonString { //public static final String METHOD_UPLOAD_COVERAGE = "UPLOAD_COVERAGENEW"; public static final String METHOD_UPLOAD_COVERAGE = "UPLOAD_COVERAGENEW1"; + public static final String METHOD_UPLOAD_COVERAGE_NEW = "UPLOAD_COVERAGENEW2"; public static final String METHOD_UPLOAD_COVERAGE_STATUS = "UploadCoverage_Status"; @@ -173,6 +175,9 @@ public class CommonString { public static final String SOAP_ACTION_UPLOAD_STORE_COVERAGE = "http://tempuri.org/" + METHOD_UPLOAD_COVERAGE; + public static final String SOAP_ACTION_UPLOAD_STORE_COVERAGE_NEW = "http://tempuri.org/" + + METHOD_UPLOAD_COVERAGE_NEW; + public static final String METHOD_UPLOAD_IMAGE = "GetImageWithFolderName"; public static final String SOAP_ACTION_UPLOAD_IMAGE = "http://tempuri.org/" + METHOD_UPLOAD_IMAGE; @@ -193,7 +198,7 @@ public class CommonString { public static final String CREATE_TABLE_COVERAGE_DATA = "CREATE TABLE IF NOT EXISTS " + TABLE_COVERAGE_DATA + " (" + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT ," - + KEY_STORE_ID + " VARCHAR,USER_ID VARCHAR, " + + KEY_STORE_ID + " INTEGER,USER_ID VARCHAR, " + KEY_IN_TIME + " VARCHAR," + KEY_OUT_TIME + " VARCHAR," + KEY_VISIT_DATE + " VARCHAR," @@ -203,7 +208,8 @@ public class CommonString { + KEY_COVERAGE_STATUS + " VARCHAR," + KEY_IMAGE + " VARCHAR," + KEY_GEO_TAG + " VARCHAR," - + KEY_REASON_ID + " VARCHAR," + + KEY_REASON_ID + " INTEGER," + + KEY_SUB_REASON_ID + " INTEGER," + KEY_COVERAGE_REMARK + " VARCHAR," + KEY_CHECKOUT_IMAGE + " VARCHAR," + KEY_STORE_FLAG + " VARCHAR," diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NonWorkingReason.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NonWorkingReason.java index d25c76e..0ea985c 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NonWorkingReason.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NonWorkingReason.java @@ -65,6 +65,7 @@ import cpm.com.gskmtorange.constant.CommonFunctions; import cpm.com.gskmtorange.constant.CommonString; import cpm.com.gskmtorange.xmlGetterSetter.FailureGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.NonWorkingReasonGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.NonWorkingSubReasonGetterSetter; import cpm.com.gskmtorange.xmlHandlers.FailureXMLHandler; @@ -72,12 +73,13 @@ public class NonWorkingReason extends AppCompatActivity implements OnItemSelectedListener, OnClickListener { ArrayList reasondata = new ArrayList(); - private Spinner reasonspinner; + ArrayList sub_reasondata = new ArrayList<>(); + private Spinner reasonspinner, subreason_spinner; private GSKOrangeDB database; - String reasonname, reasonid, entry_allow, image, entry, reason_reamrk, intime, image_allow; + String reasonname, reasonid, entry_allow, image, entry, reason_reamrk, intime, image_allow, remark_allow, remark_type, sub_reason_id=""; Button save; boolean ResultFlag = true; - private ArrayAdapter reason_adapter; + private ArrayAdapter reason_adapter, sub_reason_adapter; protected String _path, str,strflag; protected String _pathforcheck = ""; private ArrayList storedata = new ArrayList(); @@ -104,18 +106,23 @@ public class NonWorkingReason extends AppCompatActivity implements private FailureGetterSetter failureGetterSetter = null; boolean nonflag=true; String store_flag_str; + + TextView tv_remark; + @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.nonworkingmainlayout); - reasonspinner = (Spinner) findViewById(R.id.spinner2); + reasonspinner = (Spinner) findViewById(R.id.spinner_reason); camera = (ImageButton) findViewById(R.id.imgcam); save = (Button) findViewById(R.id.save); text = (EditText) findViewById(R.id.reasontxt); + tv_remark = (TextView) findViewById(R.id.tv_remark); reason_lay = (RelativeLayout) findViewById(R.id.layout_reason); rel_cam = (RelativeLayout) findViewById(R.id.relimgcam); + subreason_spinner = (Spinner) findViewById(R.id.spinner_sub_reason); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); @@ -154,7 +161,6 @@ public class NonWorkingReason extends AppCompatActivity implements { nonflag=false; } - } if (nonflag) { @@ -165,7 +171,6 @@ public class NonWorkingReason extends AppCompatActivity implements } - intime = CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()); camera.setOnClickListener(this); @@ -203,13 +208,15 @@ public class NonWorkingReason extends AppCompatActivity implements // TODO Auto-generated method stub switch (arg0.getId()) { - case R.id.spinner2: + case R.id.spinner_reason: 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); image_allow = reasondata.get(position - 1).getIMAGE_ALLOW().get(0); + remark_allow = reasondata.get(position - 1).getREMARK_REQUIRED().get(0); + remark_type = reasondata.get(position - 1).getREMARK_TYPE().get(0); if (image_allow.equalsIgnoreCase("1")) { rel_cam.setVisibility(View.VISIBLE); @@ -218,15 +225,55 @@ public class NonWorkingReason extends AppCompatActivity implements rel_cam.setVisibility(View.GONE); image = "false"; } - reason_reamrk = "true"; - if (reason_reamrk.equalsIgnoreCase("true")) { + //reason_reamrk = "true"; + if (remark_allow.equalsIgnoreCase("1")) { reason_lay.setVisibility(View.VISIBLE); + if(remark_type.equalsIgnoreCase("Text")){ + text.setVisibility(View.VISIBLE); + subreason_spinner.setVisibility(View.GONE); + } + else { + text.setVisibility(View.GONE); + subreason_spinner.setVisibility(View.VISIBLE); + + sub_reasondata = database.getNonWorkingSubReasonData(reasonid); + + sub_reason_adapter = new ArrayAdapter(this, + android.R.layout.simple_spinner_item); + + String select_str = getResources().getString(R.string.select_promo) + " " +reasondata.get(position - 1).getREMARK_LABEL().get(0); + + sub_reason_adapter.add(select_str); + + for (int i = 0; i < sub_reasondata.size(); i++) { + sub_reason_adapter.add(sub_reasondata.get(i).getSUB_REASON().get(0)); + } + + subreason_spinner.setAdapter(sub_reason_adapter); + + sub_reason_adapter + .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + + subreason_spinner.setOnItemSelectedListener(this); + } + tv_remark.setText(reasondata.get(position - 1).getREMARK_LABEL().get(0)); } else { reason_lay.setVisibility(View.GONE); } } else { reasonname = ""; reasonid = ""; + reason_lay.setVisibility(View.GONE); + } + break; + + case R.id.spinner_sub_reason: + + if (position != 0) { + sub_reason_id = sub_reasondata.get(position-1).getSUB_REASON_ID().get(0); + } + else { + sub_reason_id = ""; } break; } @@ -347,11 +394,11 @@ public class NonWorkingReason extends AppCompatActivity implements public boolean textAllowed() { boolean result = true; + if(remark_type!=null && remark_type.equalsIgnoreCase("Text")){ + if (text.getText().toString().trim().equals("")) { - if (text.getText().toString().trim().equals("")) { - - result = false; - + result = false; + } } return result; @@ -374,7 +421,25 @@ public class NonWorkingReason extends AppCompatActivity implements if (imageAllowed()) { - if (textAllowed()) { + boolean valid_flag = true; + if(remark_allow.equalsIgnoreCase("1")){ + + if (textAllowed()) { + + if(!validateSubReasonData()){ + valid_flag = false; + Toast.makeText(getApplicationContext(), R.string.title_activity_select_dropdown, + Toast.LENGTH_SHORT).show(); + } + + } else { + valid_flag = false; + Toast.makeText(getApplicationContext(), R.string.pleaseenterRemarks, + Toast.LENGTH_SHORT).show(); + } + } + + if(valid_flag){ AlertDialog.Builder builder = new AlertDialog.Builder( NonWorkingReason.this); @@ -411,6 +476,7 @@ public class NonWorkingReason extends AppCompatActivity implements cdata.setLatitude("0.0"); cdata.setLongitude("0.0"); cdata.setImage(image1); + cdata.setSub_reasonId(sub_reason_id); cdata.setRemark(text.getText().toString().replaceAll("[&^<>{}'$]", " ")); cdata.setStatus(CommonString.STORE_STATUS_LEAVE); @@ -444,6 +510,7 @@ public class NonWorkingReason extends AppCompatActivity implements cdata.setLatitude("0.0"); cdata.setLongitude("0.0"); cdata.setImage(image1); + cdata.setSub_reasonId(sub_reason_id); cdata.setRemark(text .getText() @@ -480,7 +547,7 @@ public class NonWorkingReason extends AppCompatActivity implements new NonWorkingReason.GeoTagUpload(NonWorkingReason.this).execute(); - // finish(); + // finish(); } }) .setNegativeButton(R.string.closed, @@ -495,10 +562,8 @@ public class NonWorkingReason extends AppCompatActivity implements alert = builder.create(); alert.show(); - } else { - Toast.makeText(getApplicationContext(), R.string.pleaseenterRemarks, - Toast.LENGTH_SHORT).show(); } + } else { Toast.makeText(getApplicationContext(), R.string.title_activity_take_image, Toast.LENGTH_SHORT).show(); @@ -517,9 +582,21 @@ public class NonWorkingReason extends AppCompatActivity implements if (reasonid != null && !reasonid.equalsIgnoreCase("")) { result = true; } + return result; + } + + public boolean validateSubReasonData() { + boolean result = false; + if(remark_type!=null && remark_type.equalsIgnoreCase("List")){ + if (sub_reason_id != null && !sub_reason_id.equalsIgnoreCase("")) { + result = true; + } + } + else { + result = true; + } return result; - } private static String arabicToenglish(String number) { 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 de49567..dbadfdf 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreListActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreListActivity.java @@ -895,7 +895,7 @@ public class StoreListActivity extends AppCompatActivity implements GoogleApiCli }else{ - String msg = getString(R.string.you_need_to_be_in_the_store) + " " +distance + " meters"; + String msg = getString(R.string.you_need_to_be_in_the_store) + "\n " + getString(R.string.distance_from_the_store)+ " - " + distance + " "+getString(R.string.meters); dialog.cancel(); AlertDialog.Builder builder = new AlertDialog.Builder(StoreListActivity.this); builder.setTitle(getResources().getString(R.string.dialog_title)); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreimageActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreimageActivity.java index 2fed547..55cb338 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreimageActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreimageActivity.java @@ -12,6 +12,8 @@ import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.graphics.Bitmap; import android.graphics.BitmapFactory; +import android.graphics.Matrix; +import android.graphics.RectF; import android.location.Location; import android.location.LocationManager; import android.net.Uri; @@ -50,7 +52,10 @@ import org.xml.sax.XMLReader; import org.xmlpull.v1.XmlPullParserException; import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; import java.io.IOException; +import java.io.InputStream; import java.io.InterruptedIOException; import java.io.StringReader; import java.net.MalformedURLException; @@ -239,7 +244,7 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic GooglePlayServicesUtil.getErrorDialog(resultCode, this, PLAY_SERVICES_RESOLUTION_REQUEST).show(); } else { - Toast.makeText(getApplicationContext(),getResources().getString(R.string.notsuppoted) + Toast.makeText(getApplicationContext(), getResources().getString(R.string.notsuppoted) , Toast.LENGTH_LONG) .show(); finish(); @@ -327,7 +332,7 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic } // ATTENTION: This was auto-generated to implement the App Indexing API. // See https://g.co/AppIndexing/AndroidStudio for more information. - // AppIndex.AppIndexApi.start(client, getIndexApiAction()); + // AppIndex.AppIndexApi.start(client, getIndexApiAction()); } @@ -335,7 +340,7 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic protected void onStop() { super.onStop();// ATTENTION: This was auto-generated to implement the App Indexing API. // See https://g.co/AppIndexing/AndroidStudio for more information. - // AppIndex.AppIndexApi.end(client, getIndexApiAction()); + // AppIndex.AppIndexApi.end(client, getIndexApiAction()); /* if (mGoogleApiClient.isConnected()) { mGoogleApiClient.disconnect(); }*/ @@ -359,6 +364,96 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); } + + public File saveBitmapToFileSmaller(File file) { + File file2 = file; + try { + int inWidth = 0; + int inHeight = 0; + + InputStream in = new FileInputStream(file2); + // decode image size (decode metadata only, not the whole image) + BitmapFactory.Options options = new BitmapFactory.Options(); + options.inJustDecodeBounds = true; + BitmapFactory.decodeStream(in, null, options); + in.close(); + in = null; + + // save width and height + inWidth = options.outWidth; + inHeight = options.outHeight; + + // decode full image pre-resized + in = new FileInputStream(file2); + options = new BitmapFactory.Options(); + // calc rough re-size (this is no exact resize) + options.inSampleSize = Math.max(inWidth / 1632, inHeight / 1224); + // decode full image + Bitmap roughBitmap = BitmapFactory.decodeStream(in, null, options); + + // calc exact destination size + Matrix m = new Matrix(); + RectF inRect = new RectF(0, 0, roughBitmap.getWidth(), roughBitmap.getHeight()); + RectF outRect = new RectF(0, 0, 1632, 1224); + m.setRectToRect(inRect, outRect, Matrix.ScaleToFit.CENTER); + float[] values = new float[9]; + m.getValues(values); + // resize bitmap + Bitmap resizedBitmap = Bitmap.createScaledBitmap(roughBitmap, (int) (roughBitmap.getWidth() * values[0]), (int) (roughBitmap.getHeight() * values[4]), true); + // save image + FileOutputStream out = new FileOutputStream(file2); + resizedBitmap.compress(Bitmap.CompressFormat.JPEG, 88, out); + + } catch (Exception e) { + Log.e("Image", e.toString(), e); + return file; + } + return file2; + } + + public File saveBitmapToFile(File file) { + try { + + // BitmapFactory options to downsize the image + BitmapFactory.Options o = new BitmapFactory.Options(); + o.inJustDecodeBounds = true; + o.inSampleSize = 6; + // factor of downsizing the image + + FileInputStream inputStream = new FileInputStream(file); + //Bitmap selectedBitmap = null; + BitmapFactory.decodeStream(inputStream, null, o); + inputStream.close(); + + // The new size we want to scale to + final int REQUIRED_SIZE = 75; + + // Find the correct scale value. It should be the power of 2. + int scale = 1; + while (o.outWidth / scale / 2 >= REQUIRED_SIZE && + o.outHeight / scale / 2 >= REQUIRED_SIZE) { + scale *= 2; + } + + BitmapFactory.Options o2 = new BitmapFactory.Options(); + o2.inSampleSize = scale; + inputStream = new FileInputStream(file); + + Bitmap selectedBitmap = BitmapFactory.decodeStream(inputStream, null, o2); + inputStream.close(); + + // here i override the original image file + //file.createNewFile(); + FileOutputStream outputStream = new FileOutputStream(file); + + selectedBitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputStream); + + return file; + } catch (Exception e) { + return null; + } + } + @Override public void onClick(View v) { @@ -392,11 +487,10 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic String status; - if(store_flag_str.equals(CommonString.FROM_JCP)){ - status =CommonString.KEY_INVALID; - } - else { - status =CommonString.KEY_VALID; + if (store_flag_str.equals(CommonString.FROM_JCP)) { + status = CommonString.KEY_INVALID; + } else { + status = CommonString.KEY_VALID; } CoverageBean cdata = new CoverageBean(); @@ -406,9 +500,10 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic cdata.setInTime(intime); cdata.setReason(""); cdata.setReasonid("0"); - cdata.setLatitude(lat+""); - cdata.setLongitude(lon+""); + cdata.setLatitude(lat + ""); + cdata.setLongitude(lon + ""); cdata.setImage(img_str); + cdata.setSub_reasonId("0"); cdata.setRemark(""); cdata.setStatus(status); @@ -419,10 +514,9 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic database.InsertCoverageData(cdata); String table; - if(store_flag_str.equals(CommonString.FROM_JCP)){ + if (store_flag_str.equals(CommonString.FROM_JCP)) { table = CommonString.KEY_JOURNEY_PLAN; - } - else { + } else { table = CommonString.KEY_ADHOC_JOURNEY_PLAN; } @@ -538,6 +632,12 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic if (_pathforcheck != null && !_pathforcheck.equals("")) { if (new File(str + _pathforcheck).exists()) { + //temp check-------- + /*File file = new File(str + _pathforcheck); + saveBitmapToFileSmaller(file);*/ + //saveBitmapToFile(file); + //------------------- + try { Bitmap bmp = BitmapFactory.decodeFile(str + _pathforcheck); @@ -574,7 +674,6 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic } - @Override protected void onResume() { super.onResume(); @@ -582,7 +681,7 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic toolbar.setTitle(R.string.title_activity_store_image); // Resuming the periodic location updates - if (mGoogleApiClient.isConnected() ) { + if (mGoogleApiClient.isConnected()) { startLocationUpdates(); } @@ -799,14 +898,13 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic if (result.equalsIgnoreCase(CommonString.KEY_SUCCESS)) { dialog.dismiss(); - if(store_flag_str.equals(CommonString.FROM_JCP)){ + if (store_flag_str.equals(CommonString.FROM_JCP)) { Intent in = new Intent(StoreimageActivity.this, StoreWisePerformanceActivity.class); startActivity(in); finish(); overridePendingTransition(R.anim.activity_in, R.anim.activity_out); - } - else { - finish(); + } else { + finish(); overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); } 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 67600cc..d719a90 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java @@ -63,6 +63,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.MappingSubCategoryImageAllowGetterSet import cpm.com.gskmtorange.xmlGetterSetter.NoCameraLastVisitGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.NonT2pReasonGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.NonWorkingReasonGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.NonWorkingSubReasonGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.POGQuestionGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.STORE_PERFORMANCE_MasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.ShelfMasterGetterSetter; @@ -107,6 +108,7 @@ public class DownloadActivity extends AppCompatActivity { ConfigurationContrywiseGetterSetter configurationContrywiseGetterSetter; NoCameraLastVisitGetterSetter noCameraLastVisitGetterSetter; GeoFencingGetterSetter geoFencingGetterSetter; + NonWorkingSubReasonGetterSetter nonWorkingSubReasonGetterSetter; private Dialog dialog; private ProgressBar pb; @@ -627,7 +629,8 @@ public class DownloadActivity extends AppCompatActivity { // NON_WORKING_REASON request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); request.addProperty("UserName", userId); - request.addProperty("Type", "NON_WORKING_REASON"); + //request.addProperty("Type", "NON_WORKING_REASON"); + request.addProperty("Type", "NON_WORKING_REASON_NEW"); request.addProperty("cultureid", culture_id); envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); @@ -658,6 +661,40 @@ public class DownloadActivity extends AppCompatActivity { } publishProgress(data); + // NON_WORKING_SUB_REASON + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); + request.addProperty("UserName", userId); + request.addProperty("Type", "NON_WORKING_SUB_REASON"); + request.addProperty("cultureid", culture_id); + + envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); + envelope.dotNet = true; + envelope.setOutputSoapObject(request); + + androidHttpTransport = new HttpTransportSE(CommonString.URL); + androidHttpTransport.call(CommonString.SOAP_ACTION_UNIVERSAL, envelope); + + result = envelope.getResponse(); + + if (result.toString() != null) { + xpp.setInput(new StringReader(result.toString())); + xpp.next(); + eventType = xpp.getEventType(); + nonWorkingSubReasonGetterSetter = XMLHandlers.nonWorkingSubReasonXMLHandler(xpp, eventType); + if (nonWorkingSubReasonGetterSetter.getREASON_ID().size() > 0) { + String reasontable = nonWorkingSubReasonGetterSetter.getTable_NON_WORKING_SUB_REASON(); + if (reasontable != null) { + resultHttp = CommonString.KEY_SUCCESS; + TableBean.setTable_NON_WORKING_SUB_REASON(reasontable); + } + } else { + return "NON_WORKING_SUB_REASON"; + } + data.value = 70; + data.name = "NON_WORKING_SUB_REASON " + getResources().getString(R.string.download_data); + } + publishProgress(data); + // MAPPING_PROMOTION request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); @@ -1474,6 +1511,9 @@ public class DownloadActivity extends AppCompatActivity { db.insertNonWorkingData(nonWorkingReasonGetterSetter); + //NON_WORKING_SUB_REASON added - 26.09.2018 + db.insertNonWorkingSubreasonData(nonWorkingSubReasonGetterSetter); + db.InsertSTORE_PERFORMANCE(store_performance_masterGetterSetter); db.InsertMAPPING_PLANOGRAM(mapping_planogram_masterGetterSetter); db.InsertADDITIONAL_DISPLAY(additional_display_getter_setter); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadActivity.java index 3d32d72..259d7e5 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadActivity.java @@ -327,6 +327,12 @@ public class UploadActivity extends AppCompatActivity { adhoc = "0"; } + + String sub_reason_id = coverageList.get(i).getSub_reasonId(); + if(sub_reason_id.equals("")){ + sub_reason_id = "0"; + } + String onXML = "[DATA]" + "[USER_DATA]" + "[STORE_CD]" + coverageList.get(i).getStoreId() + "[/STORE_CD]" @@ -344,10 +350,11 @@ public class UploadActivity extends AppCompatActivity { + "[CAMERA_ALLOWED]" + camera_allow + "[/CAMERA_ALLOWED]" + "[CHECKOUT_IMAGE]" + coverageList.get(i).getCheckOut_Image() + "[/CHECKOUT_IMAGE]" + "[ADHOC]" + adhoc + "[/ADHOC]" + + "[SUBREASONID]" + sub_reason_id + "[/SUBREASONID]" + "[/USER_DATA]" + "[/DATA]"; - SoapObject request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_COVERAGE); + SoapObject request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_COVERAGE_NEW); request.addProperty("onXML", onXML); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); @@ -355,7 +362,7 @@ public class UploadActivity extends AppCompatActivity { envelope.setOutputSoapObject(request); HttpTransportSE androidHttpTransport = new HttpTransportSE(CommonString.URL); - androidHttpTransport.call(CommonString.SOAP_ACTION_UPLOAD_STORE_COVERAGE, envelope); + androidHttpTransport.call(CommonString.SOAP_ACTION_UPLOAD_STORE_COVERAGE_NEW, envelope); result = envelope.getResponse(); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java index 3b00cb9..997697b 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java @@ -361,7 +361,7 @@ public class UploadImageWithRetrofit { Bitmap resizedBitmap = Bitmap.createScaledBitmap(roughBitmap, (int) (roughBitmap.getWidth() * values[0]), (int) (roughBitmap.getHeight() * values[4]), true); // save image FileOutputStream out = new FileOutputStream(file2); - resizedBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out); + resizedBitmap.compress(Bitmap.CompressFormat.JPEG, 100, out); } catch (Exception e) { Log.e("Image", e.toString(), e); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/NonWorkingReasonGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/NonWorkingReasonGetterSetter.java index 78383dc..07ab029 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/NonWorkingReasonGetterSetter.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/NonWorkingReasonGetterSetter.java @@ -14,6 +14,11 @@ public class NonWorkingReasonGetterSetter { ArrayList REASON = new ArrayList<>(); ArrayList ENTRY_ALLOW = new ArrayList<>(); ArrayList IMAGE_ALLOW = new ArrayList<>(); + ArrayList REMARK_REQUIRED = new ArrayList<>(); + ArrayList REMARK_TYPE = new ArrayList<>(); + ArrayList REMARK_LABEL = new ArrayList<>(); + ArrayList REMARK_MANDATORY = new ArrayList<>(); + public String getTable_NON_WORKING_REASON() { return table_NON_WORKING_REASON; @@ -54,4 +59,36 @@ public class NonWorkingReasonGetterSetter { public void setIMAGE_ALLOW(String IMAGE_ALLOW) { this.IMAGE_ALLOW.add(IMAGE_ALLOW); } + + public ArrayList getREMARK_REQUIRED() { + return REMARK_REQUIRED; + } + + public void setREMARK_REQUIRED(String REMARK_REQUIRED) { + this.REMARK_REQUIRED.add(REMARK_REQUIRED); + } + + public ArrayList getREMARK_TYPE() { + return REMARK_TYPE; + } + + public void setREMARK_TYPE(String REMARK_TYPE) { + this.REMARK_TYPE.add(REMARK_TYPE); + } + + public ArrayList getREMARK_LABEL() { + return REMARK_LABEL; + } + + public void setREMARK_LABEL(String REMARK_LABEL) { + this.REMARK_LABEL.add(REMARK_LABEL); + } + + public ArrayList getREMARK_MANDATORY() { + return REMARK_MANDATORY; + } + + public void setREMARK_MANDATORY(String REMARK_MANDATORY) { + this.REMARK_MANDATORY.add(REMARK_MANDATORY); + } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/NonWorkingSubReasonGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/NonWorkingSubReasonGetterSetter.java new file mode 100644 index 0000000..0a476a5 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/NonWorkingSubReasonGetterSetter.java @@ -0,0 +1,45 @@ +package cpm.com.gskmtorange.xmlGetterSetter; + +import java.util.ArrayList; + +public class NonWorkingSubReasonGetterSetter { + + String table_NON_WORKING_SUB_REASON; + + ArrayList SUB_REASON_ID = new ArrayList<>(); + ArrayList SUB_REASON = new ArrayList<>(); + ArrayList REASON_ID = new ArrayList<>(); + + + public String getTable_NON_WORKING_SUB_REASON() { + return table_NON_WORKING_SUB_REASON; + } + + public void setTable_NON_WORKING_SUB_REASON(String table_NON_WORKING_SUB_REASON) { + this.table_NON_WORKING_SUB_REASON = table_NON_WORKING_SUB_REASON; + } + + public ArrayList getSUB_REASON_ID() { + return SUB_REASON_ID; + } + + public void setSUB_REASON_ID(String SUB_REASON_ID) { + this.SUB_REASON_ID.add(SUB_REASON_ID); + } + + public ArrayList getSUB_REASON() { + return SUB_REASON; + } + + public void setSUB_REASON(String SUB_REASON) { + this.SUB_REASON.add(SUB_REASON); + } + + public ArrayList getREASON_ID() { + return REASON_ID; + } + + public void setREASON_ID(String REASON_ID) { + this.REASON_ID.add(REASON_ID); + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java index 6f4a4fb..e72fe0e 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java @@ -38,7 +38,15 @@ public class TableBean { public static String Table_CONFIGURATION_COUNTRY_WISE; public static String Table_NO_CAMERA_LAST_VISIT_DATA; public static String Table_GEO_FENCING; + public static String Table_NON_WORKING_SUB_REASON; + public static String getTable_NON_WORKING_SUB_REASON() { + return Table_NON_WORKING_SUB_REASON; + } + + public static void setTable_NON_WORKING_SUB_REASON(String table_NON_WORKING_SUB_REASON) { + Table_NON_WORKING_SUB_REASON = table_NON_WORKING_SUB_REASON; + } public static String getAdditionalDisplay() { return ADDITIONAL_DISPLAY; diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java index b1ea447..e21f6b4 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java @@ -31,6 +31,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.NoCameraDataGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.NoCameraLastVisitGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.NonT2pReasonGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.NonWorkingReasonGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.NonWorkingSubReasonGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.POGQuestionGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.STORE_PERFORMANCE_MasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.ShelfMasterGetterSetter; @@ -574,6 +575,19 @@ public class XMLHandlers { if (xpp.getName().equals("IMAGE_ALLOW")) { reason.setIMAGE_ALLOW(xpp.nextText()); } + + if (xpp.getName().equals("REMARK_REQUIRED")) { + reason.setREMARK_REQUIRED(xpp.nextText()); + } + if (xpp.getName().equals("REMARK_TYPE")) { + reason.setREMARK_TYPE(xpp.nextText()); + } + if (xpp.getName().equals("REMARK_LABEL")) { + reason.setREMARK_LABEL(xpp.nextText()); + } + if (xpp.getName().equals("REMARK_MANDATORY")) { + reason.setREMARK_MANDATORY(xpp.nextText()); + } } xpp.next(); } @@ -1300,4 +1314,37 @@ public class XMLHandlers { } return st; } + + // NON_WORKING_SUB_REASON XML HANDLER + public static NonWorkingSubReasonGetterSetter nonWorkingSubReasonXMLHandler(XmlPullParser xpp, + int eventType) { + NonWorkingSubReasonGetterSetter reason = new NonWorkingSubReasonGetterSetter(); + + try { + while (xpp.getEventType() != XmlPullParser.END_DOCUMENT) { + if (xpp.getEventType() == XmlPullParser.START_TAG) { + if (xpp.getName().equals("META_DATA")) { + reason.setTable_NON_WORKING_SUB_REASON(xpp.nextText()); + } + if (xpp.getName().equals("REASON_ID")) { + reason.setREASON_ID(xpp.nextText()); + } + if (xpp.getName().equals("SUB_REASON_ID")) { + reason.setSUB_REASON_ID(xpp.nextText()); + } + if (xpp.getName().equals("SUB_REASON")) { + reason.setSUB_REASON(xpp.nextText()); + } + } + xpp.next(); + } + } catch (XmlPullParserException e) { + + e.printStackTrace(); + } catch (IOException e) { + + e.printStackTrace(); + } + return reason; + } } diff --git a/GSKMTOrange/src/main/res/layout/nonworking.xml b/GSKMTOrange/src/main/res/layout/nonworking.xml index 978ee11..456a12e 100644 --- a/GSKMTOrange/src/main/res/layout/nonworking.xml +++ b/GSKMTOrange/src/main/res/layout/nonworking.xml @@ -47,7 +47,7 @@ android:textStyle="bold" /> + android:layout_below="@id/tv_remark" + android:ems="20" + /> + + + diff --git a/GSKMTOrange/src/main/res/values-ar/string.xml b/GSKMTOrange/src/main/res/values-ar/string.xml index c71158d..3f975f1 100644 --- a/GSKMTOrange/src/main/res/values-ar/string.xml +++ b/GSKMTOrange/src/main/res/values-ar/string.xml @@ -276,4 +276,7 @@ غير مخططة أدخل الرد + يجب ان تكون داخل المحل حتى تتمكن من فتح/اغلاق الزيارة + المسافة عن المحل + diff --git a/GSKMTOrange/src/main/res/values-tr/string.xml b/GSKMTOrange/src/main/res/values-tr/string.xml index 41fcae9..1a608b5 100644 --- a/GSKMTOrange/src/main/res/values-tr/string.xml +++ b/GSKMTOrange/src/main/res/values-tr/string.xml @@ -313,6 +313,10 @@ Ad hoc cevap giriniz + + Giriş/Çıkış yapmak için mağazada olmalısınız + Mağazadan uzaklık + diff --git a/GSKMTOrange/src/main/res/values/strings.xml b/GSKMTOrange/src/main/res/values/strings.xml index b1ca684..ba31db3 100644 --- a/GSKMTOrange/src/main/res/values/strings.xml +++ b/GSKMTOrange/src/main/res/values/strings.xml @@ -369,7 +369,8 @@ Type response - You need to be in the store to Checkin/Checkout\n Distance from Store - + You need to be in the store to Checkin/Checkout Distance from Store - + meters From 34d8473e33d6e9a5c50fe5cf770309058b42ed7a Mon Sep 17 00:00:00 2001 From: yadavendras Date: Mon, 1 Oct 2018 20:48:45 +0530 Subject: [PATCH 4/9] Deepak_commit_31_05_2018 --- GSKMTOrange/build.gradle | 8 +- GSKMTOrange/src/main/AndroidManifest.xml | 28 +- .../com/gskmtorange/Database/GSKOrangeDB.java | 122 +++++- .../CoachingVisitGetterSetter.java | 31 ++ .../gskmtorange/constant/CommonString.java | 13 + .../dailyentry/CoachingVisitActivity.java | 386 ++++++++++++++++++ .../dailyentry/NonWorkingReason.java | 1 - .../download/DownloadActivity.java | 37 ++ .../StoreWisePerformanceActivity.java | 4 +- .../gskmtorange/upload/UploadActivity.java | 50 +++ .../SupervisorListGetterSetter.java | 44 ++ .../xmlGetterSetter/TableBean.java | 9 + .../gskmtorange/xmlHandlers/XMLHandlers.java | 33 ++ .../res/layout/activity_coaching_visit.xml | 42 ++ .../res/layout/content_coaching_visit.xml | 91 +++++ GSKMTOrange/src/main/res/values/strings.xml | 6 +- 16 files changed, 885 insertions(+), 20 deletions(-) create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/GetterSetter/CoachingVisitGetterSetter.java create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CoachingVisitActivity.java create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/SupervisorListGetterSetter.java create mode 100644 GSKMTOrange/src/main/res/layout/activity_coaching_visit.xml create mode 100644 GSKMTOrange/src/main/res/layout/content_coaching_visit.xml diff --git a/GSKMTOrange/build.gradle b/GSKMTOrange/build.gradle index 0f42086..0c8e07d 100644 --- a/GSKMTOrange/build.gradle +++ b/GSKMTOrange/build.gradle @@ -21,8 +21,8 @@ android { targetSdkVersion 22 //For Egypt - /*versionCode 14 - versionName "2.6"*/ + versionCode 19 + versionName "3.1" //For UAE /*versionCode 19 @@ -33,8 +33,8 @@ android { versionName "2.7"*/ //For KSA - versionCode 19 - versionName "3.1" + /*versionCode 19 + versionName "3.1"*/ multiDexEnabled true diff --git a/GSKMTOrange/src/main/AndroidManifest.xml b/GSKMTOrange/src/main/AndroidManifest.xml index 30c2a6a..177e941 100644 --- a/GSKMTOrange/src/main/AndroidManifest.xml +++ b/GSKMTOrange/src/main/AndroidManifest.xml @@ -266,36 +266,40 @@ + android:windowSoftInputMode="adjustPan" /> + android:windowSoftInputMode="adjustPan" /> + android:windowSoftInputMode="adjustPan" /> + android:theme="@style/AppTheme.NoActionBar" + android:windowSoftInputMode="adjustPan" /> + android:theme="@style/AppTheme.NoActionBar" + android:windowSoftInputMode="adjustPan" /> + \ 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 121acff..9759726 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java @@ -19,6 +19,7 @@ import cpm.com.gskmtorange.GetterSetter.AddittionalGetterSetter; import cpm.com.gskmtorange.GetterSetter.BrandAvabilityGetterSetter; import cpm.com.gskmtorange.GetterSetter.CategoryPictureGetterSetter; import cpm.com.gskmtorange.GetterSetter.ChatMessageGetterSetter; +import cpm.com.gskmtorange.GetterSetter.CoachingVisitGetterSetter; import cpm.com.gskmtorange.GetterSetter.CoverageBean; import cpm.com.gskmtorange.GetterSetter.GeotaggingBeans; import cpm.com.gskmtorange.GetterSetter.StoreBean; @@ -71,6 +72,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.Stock_FacingGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.StoreWisePerformaceGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.Store_wise_camera_DataGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.SubCategoryMasterGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.SupervisorListGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.T2PGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.TableBean; @@ -79,7 +81,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.TableBean; */ public class GSKOrangeDB extends SQLiteOpenHelper { - public static final String DATABASE_NAME = "GSK_ORANGE_DB34"; + public static final String DATABASE_NAME = "GSK_ORANGE_DB35"; public static final int DATABASE_VERSION = 15; TableBean tableBean; private SQLiteDatabase db; @@ -178,12 +180,14 @@ public class GSKOrangeDB extends SQLiteOpenHelper { db.execSQL(TableBean.getTable_NO_CAMERA_LAST_VISIT_DATA()); db.execSQL(TableBean.getTable_GEO_FENCING()); db.execSQL(TableBean.getTable_NON_WORKING_SUB_REASON());//--Added 26.09.2018 + db.execSQL(TableBean.getTable_SUPERVISOR_LIST());//--Added 01.10.2018 //15-03-2017 db.execSQL(CommonString.CREATE_TABLE_INSERT_MSL_AVAILABILITY_STOCK_FACING); db.execSQL(CommonString.CREATE_TABLE_INSERT_NO_CAMERA_FACING_DATA); db.execSQL(CommonString.CREATE_TABLE_AUDIT_DATA_SAVE); db.execSQL(CommonString.CREATE_TABLE_POG_DATA_SAVE); + db.execSQL(CommonString.CREATE_TABLE_COACHING_VISIT); } catch (SQLException e) { e.printStackTrace(); @@ -238,6 +242,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { db.delete(CommonString.TABLE_INSERT_NO_CAMERA_FACING_DATA, CommonString.KEY_STORE_ID + "='" + storeid + "'", null); db.delete(CommonString.TABLE_AUDIT_DATA_SAVE, "STORE_CD" + "='" + storeid + "'", null); db.delete(CommonString.TABLE_POG_DATA_SAVE, "STORE_CD" + "='" + storeid + "'", null); + db.delete(CommonString.TABLE_COACHING_VISIT, "STORE_ID" + "='" + storeid + "'", null); } @@ -273,6 +278,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { db.delete(CommonString.TABLE_INSERT_NO_CAMERA_FACING_DATA, null, null); db.delete(CommonString.TABLE_AUDIT_DATA_SAVE, null, null); db.delete(CommonString.TABLE_POG_DATA_SAVE, null, null); + db.delete(CommonString.TABLE_COACHING_VISIT, null, null); } public void InsertJCP(JourneyPlanGetterSetter data) { @@ -6520,7 +6526,121 @@ public class GSKOrangeDB extends SQLiteOpenHelper { return list; } + return list; + } + + //SUPERVISOR_LIST data + + public void insertSUPERVISOR_LIST_DATA(SupervisorListGetterSetter data) { + db.delete("SUPERVISOR_LIST", null, null); + ContentValues values = new ContentValues(); + + try { + + for (int i = 0; i < data.getEMP_ID().size(); i++) { + + values.put("EMP_ID", Integer.parseInt(data.getEMP_ID().get(i))); + values.put("SUPERVISOR", data.getSUPERVISOR().get(i)); + values.put("COUNTRY_ID", data.getCOUNTRY_ID().get(i)); + + db.insert("SUPERVISOR_LIST", null, values); + + } + + } catch (Exception ex) { + Log.d("Database Exception ", ex.toString()); + } + + } + + + // get Supervisor data for coaching visit + public ArrayList getSupervisorListData() { + + ArrayList list = new ArrayList<>(); + Cursor dbcursor = null; + try { + dbcursor = db.rawQuery("SELECT * FROM SUPERVISOR_LIST ", null); + + if (dbcursor != null) { + dbcursor.moveToFirst(); + while (!dbcursor.isAfterLast()) { + SupervisorListGetterSetter sb = new SupervisorListGetterSetter(); + + sb.setEMP_ID(dbcursor.getString(dbcursor.getColumnIndexOrThrow("EMP_ID"))); + + sb.setSUPERVISOR(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SUPERVISOR"))); + + list.add(sb); + dbcursor.moveToNext(); + } + dbcursor.close(); + return list; + } + + } catch (Exception e) { + + return list; + } + return list; } + + public void insertCoachingVisitData(CoachingVisitGetterSetter data, String store_id) { + db.delete("COACHING_VISIT", "STORE_ID" + "='" + store_id + "'", null); + ContentValues values = new ContentValues(); + + try { + values.put(CommonString.KEY_EMP_ID, Integer.parseInt(data.getEmp_id())); + values.put(CommonString.KEY_STORE_ID, store_id); + values.put(CommonString.KEY_IMAGE, data.getImg_path()); + + int exist; + if(data.isExists()){ + exist = 1; + } + else { + exist = 0; + } + values.put(CommonString.KEY_EXIST, exist); + + db.insert("COACHING_VISIT", null, values); + + } catch (Exception ex) { + Log.d("Database Exception ", ex.toString()); + } + + } + + // get coaching visit data + public CoachingVisitGetterSetter getCoachingVisitData(String store_id) { + + CoachingVisitGetterSetter sb = new CoachingVisitGetterSetter(); + Cursor dbcursor = null; + try { + dbcursor = db.rawQuery("SELECT * FROM COACHING_VISIT where STORE_ID" + "='" + store_id + "'", null); + + if (dbcursor != null) { + dbcursor.moveToFirst(); + while (!dbcursor.isAfterLast()) { + + sb.setEmp_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_EMP_ID))); + + sb.setImg_path(dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_IMAGE))); + sb.setExists(dbcursor.getInt(dbcursor.getColumnIndexOrThrow(CommonString.KEY_EXIST))==1); + + dbcursor.moveToNext(); + } + dbcursor.close(); + return sb; + } + + } catch (Exception e) { + + return sb; + } + return sb; + } + } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/GetterSetter/CoachingVisitGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/GetterSetter/CoachingVisitGetterSetter.java new file mode 100644 index 0000000..6ef3f9b --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/GetterSetter/CoachingVisitGetterSetter.java @@ -0,0 +1,31 @@ +package cpm.com.gskmtorange.GetterSetter; + +public class CoachingVisitGetterSetter { + + String emp_id, img_path = ""; + boolean exists; + + public String getEmp_id() { + return emp_id; + } + + public void setEmp_id(String emp_id) { + this.emp_id = emp_id; + } + + public String getImg_path() { + return img_path; + } + + public void setImg_path(String img_path) { + this.img_path = img_path; + } + + public boolean isExists() { + return exists; + } + + public void setExists(boolean exists) { + this.exists = exists; + } +} 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 6ae8e10..f3a7f90 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonString.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonString.java @@ -216,6 +216,19 @@ public class CommonString { + KEY_REASON + " VARCHAR)"; + public static final String TABLE_COACHING_VISIT = "COACHING_VISIT"; + public static final String KEY_EXIST = "EXIST"; + + + public static final String CREATE_TABLE_COACHING_VISIT = "CREATE TABLE IF NOT EXISTS " + TABLE_COACHING_VISIT + + " (" + + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT ," + + KEY_STORE_ID + " INTEGER,USER_ID VARCHAR, " + + KEY_EMP_ID + " VARCHAR," + + KEY_IMAGE + " VARCHAR," + + KEY_EXIST + " INTEGER)"; + + public static final String CREATE_TABLE_STORE_GEOTAGGING = "CREATE TABLE IF NOT EXISTS " + TABLE_STORE_GEOTAGGING + " (" diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CoachingVisitActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CoachingVisitActivity.java new file mode 100644 index 0000000..8ed188f --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CoachingVisitActivity.java @@ -0,0 +1,386 @@ +package cpm.com.gskmtorange.dailyentry; + +import android.content.ActivityNotFoundException; +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.design.widget.FloatingActionButton; +import android.support.design.widget.Snackbar; +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.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.Spinner; +import android.widget.Toast; + +import com.crashlytics.android.Crashlytics; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +import cpm.com.gskmtorange.Database.GSKOrangeDB; +import cpm.com.gskmtorange.GetterSetter.CoachingVisitGetterSetter; +import cpm.com.gskmtorange.R; +import cpm.com.gskmtorange.constant.CommonFunctions; +import cpm.com.gskmtorange.constant.CommonString; +import cpm.com.gskmtorange.xmlGetterSetter.SupervisorListGetterSetter; + +public class CoachingVisitActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener, View.OnClickListener{ + + private GSKOrangeDB database; + ArrayList supervisorList; + private Spinner exist_spinner, supervisor_spinner; + private ArrayAdapter exist_adapter, supervisor_adapter; + int coaching_visit; + LinearLayout linear_supervisor; + ImageView img_cam; + FloatingActionButton fab_next, fab_save; + String emp_id; + protected String _pathforcheck = "", _path, image_name="", str; + String visit_date, store_id, username; + private SharedPreferences preferences; + String gallery_package = ""; + Uri outputFileUri; + boolean saved_flag = false, update_flag = false; + CoachingVisitGetterSetter coachingVisitdata; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_coaching_visit); + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + + linear_supervisor = (LinearLayout) findViewById(R.id.linear_supervisor); + exist_spinner = (Spinner) findViewById(R.id.spinner_coaching_visit); + supervisor_spinner = (Spinner) findViewById(R.id.spinner_supervisor); + img_cam = (ImageView) findViewById(R.id.img_cam); + + getSupportActionBar().setHomeButtonEnabled(true); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + + preferences = PreferenceManager.getDefaultSharedPreferences(this); + + CommonFunctions.updateLangResources(getApplicationContext(), preferences.getString(CommonString.KEY_LANGUAGE, "")); + + str = CommonString.FILE_PATH; + + username = preferences.getString(CommonString.KEY_USERNAME, ""); + visit_date = preferences.getString(CommonString.KEY_DATE, null); + username = preferences.getString(CommonString.KEY_USERNAME, null); + store_id = preferences.getString(CommonString.KEY_STORE_ID, null); + + fab_next = (FloatingActionButton) findViewById(R.id.fab); + fab_save = (FloatingActionButton) findViewById(R.id.fab_save); + + database = new GSKOrangeDB(this); + database.open(); + + coachingVisitdata = database.getCoachingVisitData(store_id); + + supervisorList = database.getSupervisorListData(); + + exist_adapter = new ArrayAdapter<>(this, + android.R.layout.simple_spinner_item); + + String select_str = getResources().getString(R.string.select); + + exist_adapter.add(select_str); + exist_adapter.add("Yes"); + exist_adapter.add("No"); + + exist_spinner.setAdapter(exist_adapter); + + exist_adapter + .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + + exist_spinner.setOnItemSelectedListener(this); + + if(coachingVisitdata!=null && coachingVisitdata.getEmp_id()!=null){ + update_flag = true; + fab_save.setVisibility(View.GONE); + fab_next.setVisibility(View.VISIBLE); + if(coachingVisitdata.isExists()){ + exist_spinner.setSelection(1); + } + else { + exist_spinner.setSelection(2); + } + + exist_spinner.setEnabled(false); + + } + + + fab_next.setOnClickListener(this); + fab_save.setOnClickListener(this); + img_cam.setOnClickListener(this); + + } + + @Override + public void onItemSelected(AdapterView parent, View view, int position, long id) { + + switch (parent.getId()) { + case R.id.spinner_coaching_visit: + if (position != 0) { + + + + if(!update_flag){ + + fab_save.setVisibility(View.VISIBLE); + + if(position==1){ + + linear_supervisor.setVisibility(View.VISIBLE); + + coaching_visit = 1; + + supervisor_adapter = new ArrayAdapter(this, + android.R.layout.simple_spinner_item); + + String select_str = getResources().getString(R.string.select_promo); + + supervisor_adapter.add(select_str); + + for (int i = 0; i < supervisorList.size(); i++) { + supervisor_adapter.add(supervisorList.get(i).getSUPERVISOR().get(0)); + } + + supervisor_spinner.setAdapter(supervisor_adapter); + + supervisor_adapter + .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + + supervisor_spinner.setOnItemSelectedListener(this); + + + } + else { + coaching_visit = 0; + linear_supervisor.setVisibility(View.GONE); + } + } + + } + else { + + coaching_visit = -1; + linear_supervisor.setVisibility(View.GONE); + fab_save.setVisibility(View.GONE); + } + + + + break; + + case R.id.spinner_supervisor: + + if(position!=0){ + emp_id = supervisorList.get(position-1).getEMP_ID().get(0); + } + else { + emp_id = ""; + } + + break; + } + } + + @Override + public void onNothingSelected(AdapterView parent) { + + } + + @Override + public void onClick(View v) { + + switch (v.getId()){ + case R.id.img_cam: + _pathforcheck = store_id + "CoachingVisit" + visit_date.replace("/", "") + CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()).replace(":", "") + ".jpg"; + + _path = CommonString.FILE_PATH + _pathforcheck; + + startCameraActivity(); + break; + + case R.id.fab_save: + + if(coaching_visit==1){ + + String error_msg = ""; + boolean flag = true; + if(emp_id.equals("")){ + flag = false; + error_msg = getString(R.string.title_activity_select_dropdown); + } + else if(image_name.equals("")){ + flag = false; + error_msg = getString(R.string.clickimage); + } + + if(flag){ + CoachingVisitGetterSetter coachingVisitGetterSetter = new CoachingVisitGetterSetter(); + coachingVisitGetterSetter.setEmp_id(emp_id); + coachingVisitGetterSetter.setImg_path(image_name); + coachingVisitGetterSetter.setExists(coaching_visit==1); + + database.insertCoachingVisitData(coachingVisitGetterSetter, store_id); + + Toast.makeText(getApplicationContext(),getString(R.string.save_message), Toast.LENGTH_SHORT).show(); + + saved_flag = true; + + fab_next.setVisibility(View.VISIBLE); + } + else { + Snackbar.make(linear_supervisor,error_msg, Snackbar.LENGTH_SHORT).show(); + } + } + else { + CoachingVisitGetterSetter coachingVisitGetterSetter = new CoachingVisitGetterSetter(); + coachingVisitGetterSetter.setEmp_id("0"); + coachingVisitGetterSetter.setImg_path(image_name); + coachingVisitGetterSetter.setExists(coaching_visit==1); + + database.insertCoachingVisitData(coachingVisitGetterSetter, store_id); + + Toast.makeText(getApplicationContext(),getString(R.string.save_message), Toast.LENGTH_SHORT).show(); + saved_flag = true; + fab_next.setVisibility(View.VISIBLE); + } + + + break; + + case R.id.fab: + + if(saved_flag || update_flag){ + + Intent intent = new Intent(CoachingVisitActivity.this, MessageActivity.class); + startActivity(intent); + finish(); + overridePendingTransition(R.anim.activity_in, R.anim.activity_out); + } + else { + Snackbar.make(linear_supervisor,getString(R.string.please_save_data), Snackbar.LENGTH_SHORT).show(); + } + break; + } + } + + protected void startCameraActivity() { + try { + + Log.i("MakeMachine", "startCameraActivity()"); + File file = new File(_path); + 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); + + //temp value in case camera is gallery app above jellybean + String packag = list.get(n).loadLabel(packageManager).toString(); + if (packag.equalsIgnoreCase("Gallery") || packag.equalsIgnoreCase("Galeri") ||packag.equalsIgnoreCase("الاستوديو") ) { + gallery_package = list.get(n).packageName; + } + + if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + if (packag.equalsIgnoreCase("Camera") || packag.equalsIgnoreCase("Kamera")|| packag.equalsIgnoreCase("الكاميرا")) { + defaultCameraPackage = list.get(n).packageName; + break; + } + } else { + + if (packag.equalsIgnoreCase("Camera") || packag.equalsIgnoreCase("Kamera")|| packag.equalsIgnoreCase("الكاميرا")) { + + defaultCameraPackage = list.get(n).packageName; + break; + } + } + } + } + + //com.android.gallery3d + + Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); + intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); + intent.setPackage(defaultCameraPackage); + startActivityForResult(intent, 0); + } catch (ActivityNotFoundException e) { + e.printStackTrace(); + + Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); + intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); + intent.setPackage(gallery_package); + startActivityForResult(intent, 0); + + } catch (Exception e) { + Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString()); + Crashlytics.logException(e.getCause()); + Crashlytics.logException(new Exception(e.getCause())); + 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()) { + + img_cam.setImageDrawable(getResources().getDrawable(R.mipmap.camera_green)); + + image_name = _pathforcheck; + + _pathforcheck = ""; + + } + } + + break; + } + + } + + @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) { + 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/NonWorkingReason.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NonWorkingReason.java index 0ea985c..0f5270a 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NonWorkingReason.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NonWorkingReason.java @@ -362,7 +362,6 @@ public class NonWorkingReason extends AppCompatActivity implements camera.setImageDrawable(getResources().getDrawable(R.mipmap.camera_green)); - image1 = _pathforcheck; _pathforcheck = ""; 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 d719a90..fddf268 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java @@ -70,6 +70,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.ShelfMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.SkuGroupMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.SkuMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.SubCategoryMasterGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.SupervisorListGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.TableBean; import cpm.com.gskmtorange.xmlHandlers.XMLHandlers; @@ -109,6 +110,7 @@ public class DownloadActivity extends AppCompatActivity { NoCameraLastVisitGetterSetter noCameraLastVisitGetterSetter; GeoFencingGetterSetter geoFencingGetterSetter; NonWorkingSubReasonGetterSetter nonWorkingSubReasonGetterSetter; + SupervisorListGetterSetter supervisorListGetterSetter; private Dialog dialog; private ProgressBar pb; @@ -1226,6 +1228,40 @@ public class DownloadActivity extends AppCompatActivity { } publishProgress(data); + //SUPERVISOR_LIST + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); + request.addProperty("UserName", userId); + request.addProperty("Type", "SUPERVISOR_LIST"); + request.addProperty("cultureid", culture_id); + + envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); + envelope.dotNet = true; + envelope.setOutputSoapObject(request); + + androidHttpTransport = new HttpTransportSE(CommonString.URL); + androidHttpTransport.call(CommonString.SOAP_ACTION_UNIVERSAL, envelope); + + result = envelope.getResponse(); + + if (result.toString() != null) { + xpp.setInput(new StringReader(result.toString())); + xpp.next(); + eventType = xpp.getEventType(); + supervisorListGetterSetter = XMLHandlers.supervisorListXMLHandler(xpp, eventType); + + String table_sup_list = supervisorListGetterSetter.getTable_SUPERVISOR_LIST(); + if (table_sup_list != null) { + resultHttp = CommonString.KEY_SUCCESS; + TableBean.setTable_SUPERVISOR_LIST(table_sup_list); + } + + if (supervisorListGetterSetter.getEMP_ID().size() > 0) { + data.value = 97; + data.name = "SUPERVISOR LIST DATA" + getResources().getString(R.string.download_data); + } + } + publishProgress(data); + /* //MAPPING_COUNTRYWISE_PLANOGRAM request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); @@ -1529,6 +1565,7 @@ public class DownloadActivity extends AppCompatActivity { db.InsertNON_T2P_REASON(nonT2pReasonGetterSetter); db.InsertCONFIGURATION_COUNTRY_WISE(configurationContrywiseGetterSetter); db.InsertNO_CAMERA_LAST_VISIT_DATA(noCameraLastVisitGetterSetter); + db.insertSUPERVISOR_LIST_DATA(supervisorListGetterSetter); db.InsertGeoTag_DATA(geoFencingGetterSetter); } catch (MalformedURLException e) { diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/StoreWisePerformanceActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/StoreWisePerformanceActivity.java index b6b680f..bf1d55e 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/StoreWisePerformanceActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/StoreWisePerformanceActivity.java @@ -28,6 +28,7 @@ import cpm.com.gskmtorange.Database.GSKOrangeDB; import cpm.com.gskmtorange.R; import cpm.com.gskmtorange.constant.CommonFunctions; import cpm.com.gskmtorange.constant.CommonString; +import cpm.com.gskmtorange.dailyentry.CoachingVisitActivity; import cpm.com.gskmtorange.dailyentry.MessageActivity; import cpm.com.gskmtorange.xmlGetterSetter.CategoryWisePerformaceGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.StoreWisePerformaceGetterSetter; @@ -78,7 +79,8 @@ public class StoreWisePerformanceActivity extends AppCompatActivity { @Override public void onClick(View view) { //Intent intent = new Intent(StoreWisePerformanceActivity.this, CategoryListActivity.class); - Intent intent = new Intent(StoreWisePerformanceActivity.this, MessageActivity.class); + //Intent intent = new Intent(StoreWisePerformanceActivity.this, MessageActivity.class); + Intent intent = new Intent(StoreWisePerformanceActivity.this, CoachingVisitActivity.class); startActivity(intent); finish(); overridePendingTransition(R.anim.activity_in, R.anim.activity_out); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadActivity.java index 259d7e5..2e2f510 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadActivity.java @@ -54,6 +54,7 @@ import cpm.com.gskmtorange.GetterSetter.AdditionalDialogGetterSetter; import cpm.com.gskmtorange.GetterSetter.AddittionalGetterSetter; import cpm.com.gskmtorange.GetterSetter.BrandAvabilityGetterSetter; import cpm.com.gskmtorange.GetterSetter.CategoryPictureGetterSetter; +import cpm.com.gskmtorange.GetterSetter.CoachingVisitGetterSetter; import cpm.com.gskmtorange.GetterSetter.CoverageBean; import cpm.com.gskmtorange.GetterSetter.StoreBean; import cpm.com.gskmtorange.R; @@ -1167,6 +1168,55 @@ public class UploadActivity extends AppCompatActivity { data.name = getString(R.string.pog); publishProgress(data); + //Coaching visit data + db.open(); + CoachingVisitGetterSetter coachingVisitData = db.getCoachingVisitData(coverageList.get(i).getStoreId()); + + if (coachingVisitData!=null && coachingVisitData.getEmp_id()!=null) { + + String onXml_coaching_data = ""; + + String exist; + + if(coachingVisitData.isExists()){ + exist = "1"; + } + else { + exist = "0"; + } + + onXml_coaching_data = "[COACHING_VISIT_DATA]" + + "[MID]" + mid + "[/MID]" + + "[USER_ID]" + userId + "[/USER_ID]" + + "[EMP_ID]" + coachingVisitData.getEmp_id() + "[/EMP_ID]" + + "[IMAGE]" + coachingVisitData.getImg_path() + "[/IMAGE]" + + "[IS_EXIST]" + exist + "[/IS_EXIST]" + + "[/COACHING_VISIT_DATA]"; + + final String sos_xml = "[DATA]" + onXml_coaching_data + "[/DATA]"; + + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); + request.addProperty("XMLDATA", sos_xml); + request.addProperty("KEYS", "COACHING_VISIT_DATA"); + request.addProperty("USERNAME", userId); + request.addProperty("MID", mid); + + envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); + envelope.dotNet = true; + envelope.setOutputSoapObject(request); + + androidHttpTransport = new HttpTransportSE(CommonString.URL); + androidHttpTransport.call(CommonString.SOAP_ACTION + CommonString.METHOD_UPLOAD_STOCK_XML_DATA, envelope); + + result = envelope.getResponse(); + + data.value = 64; + data.name = getString(R.string.coaching_visit); + publishProgress(data); + } + + + // SET COVERAGE STATUS String final_xml = ""; onXML = ""; diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/SupervisorListGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/SupervisorListGetterSetter.java new file mode 100644 index 0000000..b129c58 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/SupervisorListGetterSetter.java @@ -0,0 +1,44 @@ +package cpm.com.gskmtorange.xmlGetterSetter; + +import java.util.ArrayList; + +public class SupervisorListGetterSetter { + + String table_SUPERVISOR_LIST; + + ArrayList EMP_ID = new ArrayList<>(); + ArrayList SUPERVISOR = new ArrayList<>(); + ArrayList COUNTRY_ID = new ArrayList<>(); + + public String getTable_SUPERVISOR_LIST() { + return table_SUPERVISOR_LIST; + } + + public void setTable_SUPERVISOR_LIST(String table_SUPERVISOR_LIST) { + this.table_SUPERVISOR_LIST = table_SUPERVISOR_LIST; + } + + public ArrayList getEMP_ID() { + return EMP_ID; + } + + public void setEMP_ID(String EMP_ID) { + this.EMP_ID.add(EMP_ID); + } + + public ArrayList getSUPERVISOR() { + return SUPERVISOR; + } + + public void setSUPERVISOR(String SUPERVISOR) { + this.SUPERVISOR.add(SUPERVISOR); + } + + public ArrayList getCOUNTRY_ID() { + return COUNTRY_ID; + } + + public void setCOUNTRY_ID(String COUNTRY_ID) { + this.COUNTRY_ID.add(COUNTRY_ID); + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java index e72fe0e..041bdba 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java @@ -39,6 +39,7 @@ public class TableBean { public static String Table_NO_CAMERA_LAST_VISIT_DATA; public static String Table_GEO_FENCING; public static String Table_NON_WORKING_SUB_REASON; + public static String Table_SUPERVISOR_LIST; public static String getTable_NON_WORKING_SUB_REASON() { return Table_NON_WORKING_SUB_REASON; @@ -288,4 +289,12 @@ public class TableBean { public static void setTable_GEO_FENCING(String table_GEO_FENCING) { Table_GEO_FENCING = table_GEO_FENCING; } + + public static String getTable_SUPERVISOR_LIST() { + return Table_SUPERVISOR_LIST; + } + + public static void setTable_SUPERVISOR_LIST(String table_SUPERVISOR_LIST) { + Table_SUPERVISOR_LIST = table_SUPERVISOR_LIST; + } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java index e21f6b4..3ec63c5 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java @@ -38,6 +38,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.ShelfMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.SkuGroupMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.SkuMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.SubCategoryMasterGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.SupervisorListGetterSetter; /** * Created by yadavendras on 21-12-2016. @@ -1347,4 +1348,36 @@ public class XMLHandlers { } return reason; } + + //SUPERVISOR_LIST + public static SupervisorListGetterSetter supervisorListXMLHandler(XmlPullParser xpp, int eventType) { + SupervisorListGetterSetter st = new SupervisorListGetterSetter(); + + try { + while (xpp.getEventType() != XmlPullParser.END_DOCUMENT) { + if (xpp.getEventType() == XmlPullParser.START_TAG) { + + if (xpp.getName().equals("META_DATA")) { + st.setTable_SUPERVISOR_LIST(xpp.nextText()); + } + if (xpp.getName().equals("COUNTRY_ID")) { + st.setCOUNTRY_ID(xpp.nextText()); + } + if (xpp.getName().equals("EMP_ID")) { + st.setEMP_ID(xpp.nextText()); + } + if (xpp.getName().equals("SUPERVISOR")) { + st.setSUPERVISOR(xpp.nextText()); + } + } + + xpp.next(); + } + } catch (XmlPullParserException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return st; + } } diff --git a/GSKMTOrange/src/main/res/layout/activity_coaching_visit.xml b/GSKMTOrange/src/main/res/layout/activity_coaching_visit.xml new file mode 100644 index 0000000..eb65612 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/activity_coaching_visit.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/layout/content_coaching_visit.xml b/GSKMTOrange/src/main/res/layout/content_coaching_visit.xml new file mode 100644 index 0000000..a04ca95 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/content_coaching_visit.xml @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/values/strings.xml b/GSKMTOrange/src/main/res/values/strings.xml index ba31db3..a704f9e 100644 --- a/GSKMTOrange/src/main/res/values/strings.xml +++ b/GSKMTOrange/src/main/res/values/strings.xml @@ -370,7 +370,11 @@ You need to be in the store to Checkin/Checkout - Distance from Store - + Distance from Store meters + Coaching Visit + Select Supervisor + Coaching Visit + Please save data From b0e2e055018b24f3a7aa91cfbd6024c0a7804251 Mon Sep 17 00:00:00 2001 From: yadavendras Date: Mon, 8 Oct 2018 18:46:28 +0530 Subject: [PATCH 5/9] Deepak_commit_31_05_2018 --- .idea/misc.xml | 2 +- GSKMTOrange/build.gradle | 12 +- GSKMTOrange/src/main/AndroidManifest.xml | 13 +- .../com/gskmtorange/Database/GSKOrangeDB.java | 52 ++++- .../cpm/com/gskmtorange/MainActivity.java | 28 ++- .../gskmtorange/constant/CommonString.java | 14 ++ .../dailyentry/CoachingVisitActivity.java | 34 ++- .../dailyentry/DeliveryCallActivity.java | 34 +++ .../DeliveryCallAddStoreActivity.java | 221 ++++++++++++++++++ .../dailyentry/StoreListActivity.java | 7 +- .../download/DownloadActivity.java | 61 ++++- .../StoreWisePerformanceActivity.java | 38 ++- .../upload/PreviousDataUploadActivity.java | 48 ++++ .../gskmtorange/upload/UploadActivity.java | 2 - .../upload/UploadImageWithRetrofit.java | 4 +- .../ConfigurationMasterGetterSetter.java | 44 ++++ .../xmlGetterSetter/TableBean.java | 9 + .../gskmtorange/xmlHandlers/XMLHandlers.java | 33 +++ GSKMTOrange/src/main/res/drawable/add.png | Bin 0 -> 12341 bytes .../res/layout/activity_delivery_call.xml | 33 +++ .../activity_delivery_call_add_store.xml | 33 +++ .../main/res/layout/content_delivery_call.xml | 11 + .../content_delivery_call_add_store.xml | 124 ++++++++++ .../main/res/menu/activity_main_drawer.xml | 7 + .../baseline_local_shipping_black_48.png | Bin 0 -> 992 bytes .../src/main/res/values-ar-rAE/string.xml | 2 +- .../src/main/res/values-ar-rEG/string.xml | 2 +- .../src/main/res/values-ar-rSA/string.xml | 2 +- GSKMTOrange/src/main/res/values-ar/string.xml | 2 +- GSKMTOrange/src/main/res/values/strings.xml | 11 +- 30 files changed, 841 insertions(+), 42 deletions(-) create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallActivity.java create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallAddStoreActivity.java create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/ConfigurationMasterGetterSetter.java create mode 100644 GSKMTOrange/src/main/res/drawable/add.png create mode 100644 GSKMTOrange/src/main/res/layout/activity_delivery_call.xml create mode 100644 GSKMTOrange/src/main/res/layout/activity_delivery_call_add_store.xml create mode 100644 GSKMTOrange/src/main/res/layout/content_delivery_call.xml create mode 100644 GSKMTOrange/src/main/res/layout/content_delivery_call_add_store.xml create mode 100644 GSKMTOrange/src/main/res/mipmap-xhdpi/baseline_local_shipping_black_48.png diff --git a/.idea/misc.xml b/.idea/misc.xml index bd841ff..6bfc8f4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -31,7 +31,7 @@ - + diff --git a/GSKMTOrange/build.gradle b/GSKMTOrange/build.gradle index 0c8e07d..95a3fb7 100644 --- a/GSKMTOrange/build.gradle +++ b/GSKMTOrange/build.gradle @@ -21,20 +21,20 @@ android { targetSdkVersion 22 //For Egypt - versionCode 19 - versionName "3.1" + /* versionCode 19 + versionName "3.1"*/ //For UAE - /*versionCode 19 - versionName "3.1"*/ + /*versionCode 18 + versionName "3.0"*/ //For Turkey /*versionCode 15 versionName "2.7"*/ //For KSA - /*versionCode 19 - versionName "3.1"*/ + versionCode 20 + versionName "3.2" multiDexEnabled true diff --git a/GSKMTOrange/src/main/AndroidManifest.xml b/GSKMTOrange/src/main/AndroidManifest.xml index 177e941..df65ef7 100644 --- a/GSKMTOrange/src/main/AndroidManifest.xml +++ b/GSKMTOrange/src/main/AndroidManifest.xml @@ -299,7 +299,18 @@ + android:theme="@style/AppTheme.NoActionBar" + android:screenOrientation="portrait"/> + + \ 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 9759726..bd97dac 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java @@ -35,6 +35,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.CategoryMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.CategoryWisePerformaceGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.ChatMessageDownloadGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.ConfigurationContrywiseGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.ConfigurationMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.DisplayChecklistMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.DisplayMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.GapsChecklistGetterSetter; @@ -81,7 +82,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.TableBean; */ public class GSKOrangeDB extends SQLiteOpenHelper { - public static final String DATABASE_NAME = "GSK_ORANGE_DB35"; + public static final String DATABASE_NAME = "GSK_ORANGE_DB37"; public static final int DATABASE_VERSION = 15; TableBean tableBean; private SQLiteDatabase db; @@ -181,6 +182,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { db.execSQL(TableBean.getTable_GEO_FENCING()); db.execSQL(TableBean.getTable_NON_WORKING_SUB_REASON());//--Added 26.09.2018 db.execSQL(TableBean.getTable_SUPERVISOR_LIST());//--Added 01.10.2018 + db.execSQL(TableBean.getTable_CONFIGURATION_MASTER());//--Added 03.10.2018 //15-03-2017 db.execSQL(CommonString.CREATE_TABLE_INSERT_MSL_AVAILABILITY_STOCK_FACING); @@ -6643,4 +6645,52 @@ public class GSKOrangeDB extends SQLiteOpenHelper { return sb; } + //CONFIGURATION_MASTER + public void InsertCONFIGURATION_MASTER(ConfigurationMasterGetterSetter data) { + db.delete("CONFIGURATION_MASTER", null, null); + + ContentValues values = new ContentValues(); + try { + for (int i = 0; i < data.getCOUNTRY_ID().size(); i++) { + + values.put("COUNTRY_ID", data.getCOUNTRY_ID().get(i)); + values.put("CONFIGURE", data.getCONFIGURE().get(i)); + values.put("ACTIVE", data.getACTIVE().get(i)); + + db.insert("CONFIGURATION_MASTER", null, values); + } + } catch (Exception ex) { + Log.d("Exception ", " in CONFIGURATION_MASTER " + ex.toString()); + } + } + + // get Configuration Master data + public ArrayList getConfigurationMasterData(String country_id) { + + ArrayList list = new ArrayList<>(); + Cursor dbcursor = null; + + try { + dbcursor = db.rawQuery("SELECT * FROM CONFIGURATION_MASTER WHERE COUNTRY_ID='" + country_id + "'", null); + + if (dbcursor != null) { + dbcursor.moveToFirst(); + while (!dbcursor.isAfterLast()) { + ConfigurationMasterGetterSetter msg = new ConfigurationMasterGetterSetter(); + + msg.setCONFIGURE(dbcursor.getString(dbcursor.getColumnIndexOrThrow("CONFIGURE"))); + msg.setACTIVE(dbcursor.getString(dbcursor.getColumnIndexOrThrow("ACTIVE"))); + + list.add(msg); + dbcursor.moveToNext(); + } + dbcursor.close(); + return list; + } + } catch (Exception e) { + + Log.d("Exception ", "get Chat Message" + e.toString()); + } + return list; + } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java index de085e9..ccede9b 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java @@ -37,6 +37,7 @@ import cpm.com.gskmtorange.GetterSetter.CoverageBean; import cpm.com.gskmtorange.GetterSetter.StoreBean; import cpm.com.gskmtorange.constant.CommonFunctions; import cpm.com.gskmtorange.constant.CommonString; +import cpm.com.gskmtorange.dailyentry.DeliveryCallActivity; import cpm.com.gskmtorange.dailyentry.FutureJCPActivity; import cpm.com.gskmtorange.dailyentry.PlanogramPDFActivity; import cpm.com.gskmtorange.dailyentry.ServiceActivity; @@ -46,6 +47,7 @@ import cpm.com.gskmtorange.download.DownloadActivity; import cpm.com.gskmtorange.upload.PreviousDataUploadActivity; import cpm.com.gskmtorange.upload.UploadActivity; import cpm.com.gskmtorange.xmlGetterSetter.ConfigurationContrywiseGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.ConfigurationMasterGetterSetter; import io.fabric.sdk.android.Fabric; public class MainActivity extends AppCompatActivity @@ -146,7 +148,7 @@ public class MainActivity extends AppCompatActivity db.open(); - //Deviation - Ad hoc Stores - enable + /*//Deviation - Ad hoc Stores - enable ArrayList configuration_data = db.getConfigurationData(country_id); if(configuration_data.size()>0){ if(configuration_data.get(0).getADHOC_REPORTING().get(0).equals("1")){ @@ -158,6 +160,25 @@ public class MainActivity extends AppCompatActivity Menu nav_Menu = navigationView.getMenu(); nav_Menu.findItem(R.id.nav_planogram).setVisible(true); } + }*/ + + //Enable disable According to Configuration + ArrayList configurationData = db.getConfigurationMasterData(country_id); + if(configurationData.size()>0){ + for(int i=0; i configurationData = database.getConfigurationMasterData(country_id); + if(configurationData.size()>0){ + + for(int i=0; i(this, @@ -137,8 +161,6 @@ public class CoachingVisitActivity extends AppCompatActivity implements AdapterV case R.id.spinner_coaching_visit: if (position != 0) { - - if(!update_flag){ fab_save.setVisibility(View.VISIBLE); @@ -183,8 +205,6 @@ public class CoachingVisitActivity extends AppCompatActivity implements AdapterV fab_save.setVisibility(View.GONE); } - - break; case R.id.spinner_supervisor: @@ -227,7 +247,7 @@ public class CoachingVisitActivity extends AppCompatActivity implements AdapterV flag = false; error_msg = getString(R.string.title_activity_select_dropdown); } - else if(image_name.equals("")){ + else if(coaching_visit_camera_flag && image_name.equals("")){ flag = false; error_msg = getString(R.string.clickimage); } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallActivity.java new file mode 100644 index 0000000..9a29520 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallActivity.java @@ -0,0 +1,34 @@ +package cpm.com.gskmtorange.dailyentry; + +import android.content.Intent; +import android.os.Bundle; +import android.support.design.widget.FloatingActionButton; +import android.support.design.widget.Snackbar; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; +import android.view.View; + +import cpm.com.gskmtorange.R; + +public class DeliveryCallActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_delivery_call); + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + + FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent in = new Intent(getApplicationContext(), DeliveryCallAddStoreActivity.class); + startActivity(in); + + overridePendingTransition(R.anim.activity_in, R.anim.activity_out); + } + }); + } + +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallAddStoreActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallAddStoreActivity.java new file mode 100644 index 0000000..bd3e57a --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallAddStoreActivity.java @@ -0,0 +1,221 @@ +package cpm.com.gskmtorange.dailyentry; + +import android.content.ActivityNotFoundException; +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.design.widget.BaseTransientBottomBar; +import android.support.design.widget.FloatingActionButton; +import android.support.design.widget.Snackbar; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; +import android.util.Log; +import android.view.View; +import android.widget.EditText; +import android.widget.ImageView; + +import com.crashlytics.android.Crashlytics; + +import java.io.File; +import java.util.List; + +import cpm.com.gskmtorange.R; +import cpm.com.gskmtorange.constant.CommonFunctions; +import cpm.com.gskmtorange.constant.CommonString; + +public class DeliveryCallAddStoreActivity extends AppCompatActivity implements View.OnClickListener{ + + EditText et_customer, et_address; + ImageView img_checkin, img_checkout; + String name, address, error_msg, img_checkin_path="", img_checkout_path=""; + boolean checkin_flag = true; + protected String _pathforcheck = "", _path, str, visit_date; + private SharedPreferences preferences; + Uri outputFileUri; + String gallery_package = ""; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_delivery_call_add_store); + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + + et_customer = findViewById(R.id.et_customer_name); + et_address = findViewById(R.id.et_address); + img_checkin = findViewById(R.id.img_checkin); + img_checkout = findViewById(R.id.img_checkout); + + preferences = PreferenceManager.getDefaultSharedPreferences(this); + visit_date = preferences.getString(CommonString.KEY_DATE, null); + + if(checkin_flag){ + img_checkin.setOnClickListener(this); + } + else { + img_checkout.setOnClickListener(this); + } + + FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + if(isValid()){ + + } + else { + Snackbar.make(et_customer,error_msg,Snackbar.LENGTH_SHORT).show(); + } + } + }); + + str = CommonString.FILE_PATH; + } + + protected boolean isValid(){ + boolean flag = true; + + name = et_customer.getText().toString().replaceAll("[&^<>{}'$]", " "); + address = et_address.getText().toString().replaceAll("[&^<>{}'$]", " "); + + if(name.equals("")){ + error_msg = getString(R.string.please_fill) + " "+ getString(R.string.customer_store_name); + flag = false; + } + else if(address.equals("")){ + error_msg = getString(R.string.please_fill) + " "+ getString(R.string.address); + flag = false; + } + else if(checkin_flag){ + if(img_checkin_path.equals("")){ + error_msg = getString(R.string.please_click) + " "+ getString(R.string.intime_image).toLowerCase(); + flag = false; + } + } + else if(img_checkout_path.equals("")){ + error_msg = getString(R.string.please_click) + " "+ getString(R.string.intime_image).toLowerCase(); + flag = false; + } + + return flag; + } + + @Override + public void onClick(View v) { + switch (v.getId()){ + case R.id.img_checkin: + _pathforcheck = "CoachingVisit" + visit_date.replace("/", "")+ "InTime" + CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()).replace(":", "") + ".jpg"; + + _path = CommonString.FILE_PATH + _pathforcheck; + + startCameraActivity(0); + break; + + case R.id.img_checkout: + + _pathforcheck = "CoachingVisit" + visit_date.replace("/", "")+ "OutTime" + CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()).replace(":", "") + ".jpg"; + + _path = CommonString.FILE_PATH + _pathforcheck; + + startCameraActivity(0); + break; + } + } + + protected void startCameraActivity(int request_code) { + try { + + Log.i("MakeMachine", "startCameraActivity()"); + File file = new File(_path); + 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); + + //temp value in case camera is gallery app above jellybean + String packag = list.get(n).loadLabel(packageManager).toString(); + if (packag.equalsIgnoreCase("Gallery") || packag.equalsIgnoreCase("Galeri") ||packag.equalsIgnoreCase("الاستوديو") ) { + gallery_package = list.get(n).packageName; + } + + if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + if (packag.equalsIgnoreCase("Camera") || packag.equalsIgnoreCase("Kamera")|| packag.equalsIgnoreCase("الكاميرا")) { + defaultCameraPackage = list.get(n).packageName; + break; + } + } else { + + if (packag.equalsIgnoreCase("Camera") || packag.equalsIgnoreCase("Kamera")|| packag.equalsIgnoreCase("الكاميرا")) { + + defaultCameraPackage = list.get(n).packageName; + break; + } + } + } + } + + //com.android.gallery3d + + Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); + intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); + intent.setPackage(defaultCameraPackage); + startActivityForResult(intent, request_code); + } catch (ActivityNotFoundException e) { + e.printStackTrace(); + + Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); + intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); + intent.setPackage(gallery_package); + startActivityForResult(intent, request_code); + + } catch (Exception e) { + Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString()); + Crashlytics.logException(e.getCause()); + Crashlytics.logException(new Exception(e.getCause())); + 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()) { + + if(requestCode == 0){ + img_checkin.setImageDrawable(getResources().getDrawable(R.mipmap.camera_green)); + img_checkin_path = _pathforcheck; + } + else { + img_checkout.setImageDrawable(getResources().getDrawable(R.mipmap.camera_green)); + img_checkout_path = _pathforcheck; + } + _pathforcheck = ""; + + } + } + + break; + } + + } +} 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 dbadfdf..285917c 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreListActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreListActivity.java @@ -852,15 +852,18 @@ public class StoreListActivity extends AppCompatActivity implements GoogleApiCli if (/*true*/distance > distanceGeoPhence) { flag_entry = false; } + else { + String msg = getString(R.string.distance_from_the_store) + " " + distance + " meters"; + + Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show(); + } } } if(flag_entry){ - String msg = getString(R.string.distance_from_the_store) + " " + distance + " meters"; - Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show(); editor = preferences.edit(); editor.putString(CommonString.KEY_STORE_ID, current.getSTORE_ID()); 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 fddf268..566cff1 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java @@ -46,6 +46,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.AdditionalQuestiongetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.BrandMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.CategoryMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.ConfigurationContrywiseGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.ConfigurationMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.DisplayChecklistMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.DisplayMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.GeoFencingGetterSetter; @@ -111,6 +112,7 @@ public class DownloadActivity extends AppCompatActivity { GeoFencingGetterSetter geoFencingGetterSetter; NonWorkingSubReasonGetterSetter nonWorkingSubReasonGetterSetter; SupervisorListGetterSetter supervisorListGetterSetter; + ConfigurationMasterGetterSetter configurationMasterGetterSetter; private Dialog dialog; private ProgressBar pb; @@ -683,17 +685,20 @@ public class DownloadActivity extends AppCompatActivity { xpp.next(); eventType = xpp.getEventType(); nonWorkingSubReasonGetterSetter = XMLHandlers.nonWorkingSubReasonXMLHandler(xpp, eventType); - if (nonWorkingSubReasonGetterSetter.getREASON_ID().size() > 0) { - String reasontable = nonWorkingSubReasonGetterSetter.getTable_NON_WORKING_SUB_REASON(); - if (reasontable != null) { - resultHttp = CommonString.KEY_SUCCESS; - TableBean.setTable_NON_WORKING_SUB_REASON(reasontable); - } - } else { - return "NON_WORKING_SUB_REASON"; + + String reasontable = nonWorkingSubReasonGetterSetter.getTable_NON_WORKING_SUB_REASON(); + if (reasontable != null) { + resultHttp = CommonString.KEY_SUCCESS; + TableBean.setTable_NON_WORKING_SUB_REASON(reasontable); } - data.value = 70; - data.name = "NON_WORKING_SUB_REASON " + getResources().getString(R.string.download_data); + + if (nonWorkingSubReasonGetterSetter.getREASON_ID().size() > 0) { + data.value = 70; + data.name = "NON_WORKING_SUB_REASON " + getResources().getString(R.string.download_data); + } else { + //return "NON_WORKING_SUB_REASON"; + } + } publishProgress(data); @@ -1263,6 +1268,41 @@ public class DownloadActivity extends AppCompatActivity { publishProgress(data); + //CONFIGURATION_MASTER + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); + request.addProperty("UserName", userId); + request.addProperty("Type", "CONFIGURATION_MASTER"); + request.addProperty("cultureid", culture_id); + + envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); + envelope.dotNet = true; + envelope.setOutputSoapObject(request); + + androidHttpTransport = new HttpTransportSE(CommonString.URL); + androidHttpTransport.call(CommonString.SOAP_ACTION_UNIVERSAL, envelope); + + result = envelope.getResponse(); + + if (result.toString() != null) { + xpp.setInput(new StringReader(result.toString())); + xpp.next(); + eventType = xpp.getEventType(); + configurationMasterGetterSetter = XMLHandlers.configurationMasterXMLHandler(xpp, eventType); + + String table_configiration = configurationMasterGetterSetter.getTable_CONFIGURATION_MASTER(); + if (table_configiration != null) { + resultHttp = CommonString.KEY_SUCCESS; + TableBean.setTable_CONFIGURATION_MASTER(table_configiration); + } + + if (configurationMasterGetterSetter.getCOUNTRY_ID().size() > 0) { + data.value = 97; + data.name = "CONFIGURATION MASTER DATA" + getResources().getString(R.string.download_data); + } + } + publishProgress(data); + + /* //MAPPING_COUNTRYWISE_PLANOGRAM request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); request.addProperty("UserName", userId); @@ -1567,6 +1607,7 @@ public class DownloadActivity extends AppCompatActivity { db.InsertNO_CAMERA_LAST_VISIT_DATA(noCameraLastVisitGetterSetter); db.insertSUPERVISOR_LIST_DATA(supervisorListGetterSetter); db.InsertGeoTag_DATA(geoFencingGetterSetter); + db.InsertCONFIGURATION_MASTER(configurationMasterGetterSetter); } catch (MalformedURLException e) { diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/StoreWisePerformanceActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/StoreWisePerformanceActivity.java index bf1d55e..ab9e928 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/StoreWisePerformanceActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/StoreWisePerformanceActivity.java @@ -13,6 +13,7 @@ import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.Toolbar; import android.view.LayoutInflater; +import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; @@ -31,6 +32,7 @@ import cpm.com.gskmtorange.constant.CommonString; import cpm.com.gskmtorange.dailyentry.CoachingVisitActivity; import cpm.com.gskmtorange.dailyentry.MessageActivity; import cpm.com.gskmtorange.xmlGetterSetter.CategoryWisePerformaceGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.ConfigurationMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.StoreWisePerformaceGetterSetter; public class StoreWisePerformanceActivity extends AppCompatActivity { @@ -41,7 +43,7 @@ public class StoreWisePerformanceActivity extends AppCompatActivity { StoreWisePerformaceAdapter adapter; GSKOrangeDB db; - String store_id, visit_date, username, intime, date, keyAccount_id, class_id, storeType_id; + String store_id, visit_date, username, intime, date, keyAccount_id, class_id, storeType_id, country_id; private SharedPreferences preferences; @@ -68,6 +70,7 @@ public class StoreWisePerformanceActivity extends AppCompatActivity { keyAccount_id = preferences.getString(CommonString.KEY_KEYACCOUNT_ID, ""); class_id = preferences.getString(CommonString.KEY_CLASS_ID, ""); storeType_id = preferences.getString(CommonString.KEY_STORETYPE_ID, ""); + country_id = preferences.getString(CommonString.KEY_COUNTRY_ID, null); toolbar.setTitle(getResources().getString(R.string.title_activity_store_wise_performance)); setSupportActionBar(toolbar); @@ -80,10 +83,35 @@ public class StoreWisePerformanceActivity extends AppCompatActivity { public void onClick(View view) { //Intent intent = new Intent(StoreWisePerformanceActivity.this, CategoryListActivity.class); //Intent intent = new Intent(StoreWisePerformanceActivity.this, MessageActivity.class); - Intent intent = new Intent(StoreWisePerformanceActivity.this, CoachingVisitActivity.class); - startActivity(intent); - finish(); - overridePendingTransition(R.anim.activity_in, R.anim.activity_out); + + + boolean coaching_visit_flag=false; + //Enable disable According to Configuration + ArrayList configurationData = db.getConfigurationMasterData(country_id); + if(configurationData.size()>0){ + + for(int i=0; i COUNTRY_ID = new ArrayList<>(); + ArrayList CONFIGURE = new ArrayList<>(); + ArrayList ACTIVE = new ArrayList<>(); + + public String getTable_CONFIGURATION_MASTER() { + return table_CONFIGURATION_MASTER; + } + + public void setTable_CONFIGURATION_MASTER(String table_CONFIGURATION_MASTER) { + this.table_CONFIGURATION_MASTER = table_CONFIGURATION_MASTER; + } + + public ArrayList getCOUNTRY_ID() { + return COUNTRY_ID; + } + + public void setCOUNTRY_ID(String COUNTRY_ID) { + this.COUNTRY_ID.add(COUNTRY_ID); + } + + public ArrayList getCONFIGURE() { + return CONFIGURE; + } + + public void setCONFIGURE(String CONFIGURE) { + this.CONFIGURE.add(CONFIGURE); + } + + public ArrayList getACTIVE() { + return ACTIVE; + } + + public void setACTIVE(String ACTIVE) { + this.ACTIVE.add(ACTIVE); + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java index 041bdba..6ef079a 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java @@ -40,6 +40,7 @@ public class TableBean { public static String Table_GEO_FENCING; public static String Table_NON_WORKING_SUB_REASON; public static String Table_SUPERVISOR_LIST; + public static String Table_CONFIGURATION_MASTER; public static String getTable_NON_WORKING_SUB_REASON() { return Table_NON_WORKING_SUB_REASON; @@ -297,4 +298,12 @@ public class TableBean { public static void setTable_SUPERVISOR_LIST(String table_SUPERVISOR_LIST) { Table_SUPERVISOR_LIST = table_SUPERVISOR_LIST; } + + public static String getTable_CONFIGURATION_MASTER() { + return Table_CONFIGURATION_MASTER; + } + + public static void setTable_CONFIGURATION_MASTER(String table_CONFIGURATION_MASTER) { + Table_CONFIGURATION_MASTER = table_CONFIGURATION_MASTER; + } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java index 3ec63c5..876cab3 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java @@ -11,6 +11,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.BrandMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.CategoryMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.ChatMessageDownloadGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.ConfigurationContrywiseGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.ConfigurationMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.DisplayChecklistMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.DisplayMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.FailureGetterSetter; @@ -1380,4 +1381,36 @@ public class XMLHandlers { } return st; } + + //CONFIGURATION_MASTER + public static ConfigurationMasterGetterSetter configurationMasterXMLHandler(XmlPullParser xpp, int eventType) { + ConfigurationMasterGetterSetter st = new ConfigurationMasterGetterSetter(); + + try { + while (xpp.getEventType() != XmlPullParser.END_DOCUMENT) { + if (xpp.getEventType() == XmlPullParser.START_TAG) { + + if (xpp.getName().equals("META_DATA")) { + st.setTable_CONFIGURATION_MASTER(xpp.nextText()); + } + if (xpp.getName().equals("COUNTRY_ID")) { + st.setCOUNTRY_ID(xpp.nextText()); + } + if (xpp.getName().equals("CONFIGURE")) { + st.setCONFIGURE(xpp.nextText()); + } + + if (xpp.getName().equals("ACTIVE")) { + st.setACTIVE(xpp.nextText()); + } + } + xpp.next(); + } + } catch (XmlPullParserException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return st; + } } diff --git a/GSKMTOrange/src/main/res/drawable/add.png b/GSKMTOrange/src/main/res/drawable/add.png new file mode 100644 index 0000000000000000000000000000000000000000..fe413021c39f8802701e21569c92ac06aac1c9fb GIT binary patch literal 12341 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 qrsRd + + + + + + + + + + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/layout/activity_delivery_call_add_store.xml b/GSKMTOrange/src/main/res/layout/activity_delivery_call_add_store.xml new file mode 100644 index 0000000..367d88f --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/activity_delivery_call_add_store.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/layout/content_delivery_call.xml b/GSKMTOrange/src/main/res/layout/content_delivery_call.xml new file mode 100644 index 0000000..9eb48dc --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/content_delivery_call.xml @@ -0,0 +1,11 @@ + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/layout/content_delivery_call_add_store.xml b/GSKMTOrange/src/main/res/layout/content_delivery_call_add_store.xml new file mode 100644 index 0000000..758e91d --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/content_delivery_call_add_store.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/menu/activity_main_drawer.xml b/GSKMTOrange/src/main/res/menu/activity_main_drawer.xml index b0a7544..250512d 100644 --- a/GSKMTOrange/src/main/res/menu/activity_main_drawer.xml +++ b/GSKMTOrange/src/main/res/menu/activity_main_drawer.xml @@ -28,6 +28,13 @@ android:title="@string/menu_deviation_data" android:visible="false"/> + + BfwRweGjC5h{ZMO~EzF(QQ`}<*Q%cGxvAGbMaJh{B!=llsO zo|8~fu;m2nir)1RUVn~%@88U5zG=pZ8H~q@HMu+ING8b6Q{9x-Ap2vEfy1<~Kihz$ z<{mEzh4WKe7(eA46Jk!;HPOIfUZ;+k!?IdVAnzQ*&Upq7>-u>nWKU!)YGvd}U|^Ow zz`$nEfQ4C~#K64cG0%kEu5Yp$?(97t!u;f&8S|g^xTb=g`i?v9Ojn3`=PjW3U6o_{ zZ=sgcwVa1i_pz|8cy;Vz6(>)?S(Z52xzi6Ygyx=F^GUyv@zsoDt1f})oeRErCp7Gm z)B7zXv0z=CoyJcfz3**Az$aA$huYs$t2uctoO!x5j)~dCc$)g@JuGY)S+VDOK4YW8TJvePENb@z5u&tFq`rgl6pdnK}6tqrP zP;D?iuwTEyxPfsFBhLe%x6>JzEr4E^Jiu^{fvo@-0O(Q)YUUgDtuK1ZTW_>CH=6Ac zap><)#(fV$)INj@TTWfy*`j)9zT|^CwaX_{-YE)AE2s}^P~0V{0Ajf{v`aXfCs#C_ zi2wQfGjq-1kX18InY;Y+x<6n3fyOGUStsIeg2dfq=L`PSuB@+XaC{}9@+th&zdsDs zfyd{${5y4jzGQ;?s~ZzRCKxk+33j)ixPQv;=xD#59dWN-sJh)Lx_0LGOygDe4;Am( z|B^qUI_S6@Z@t8qIyq&xI}B4xes-TqzIXqu>5-1#drn+`*zmo)nB!uid(hR1F72|9 z{@%@TE4g9rv#?9E#=GRkvU~UM&UR_H4S0EeC%>TVH?@252P4=1TWIJ~a%bkfcvtz) z(*M2R*DZSd?DF%!S9wZ)F8`LP{4e-9<=St zzgNqITg_$PuTK<`7hwIaIC;AC`QE`z75pUXO@geCwQM8t>y literal 0 HcmV?d00001 diff --git a/GSKMTOrange/src/main/res/values-ar-rAE/string.xml b/GSKMTOrange/src/main/res/values-ar-rAE/string.xml index 3e0bc53..7602de1 100644 --- a/GSKMTOrange/src/main/res/values-ar-rAE/string.xml +++ b/GSKMTOrange/src/main/res/values-ar-rAE/string.xml @@ -24,7 +24,7 @@ توافر تحميل البيانات العلامة التجارية اسم العلامة التجارية - C 126, Okhla II, + الكاميرا إلغاء الأمر قائمة الفئات diff --git a/GSKMTOrange/src/main/res/values-ar-rEG/string.xml b/GSKMTOrange/src/main/res/values-ar-rEG/string.xml index 3e0bc53..7602de1 100644 --- a/GSKMTOrange/src/main/res/values-ar-rEG/string.xml +++ b/GSKMTOrange/src/main/res/values-ar-rEG/string.xml @@ -24,7 +24,7 @@ توافر تحميل البيانات العلامة التجارية اسم العلامة التجارية - C 126, Okhla II, + الكاميرا إلغاء الأمر قائمة الفئات diff --git a/GSKMTOrange/src/main/res/values-ar-rSA/string.xml b/GSKMTOrange/src/main/res/values-ar-rSA/string.xml index 3e0bc53..7602de1 100644 --- a/GSKMTOrange/src/main/res/values-ar-rSA/string.xml +++ b/GSKMTOrange/src/main/res/values-ar-rSA/string.xml @@ -24,7 +24,7 @@ توافر تحميل البيانات العلامة التجارية اسم العلامة التجارية - C 126, Okhla II, + الكاميرا إلغاء الأمر قائمة الفئات diff --git a/GSKMTOrange/src/main/res/values-ar/string.xml b/GSKMTOrange/src/main/res/values-ar/string.xml index 3f975f1..40abe6d 100644 --- a/GSKMTOrange/src/main/res/values-ar/string.xml +++ b/GSKMTOrange/src/main/res/values-ar/string.xml @@ -24,7 +24,7 @@ توافر تحميل البيانات العلامة التجارية اسم العلامة التجارية - C 126, Okhla II, + الكاميرا إلغاء الأمر قائمة الفئات diff --git a/GSKMTOrange/src/main/res/values/strings.xml b/GSKMTOrange/src/main/res/values/strings.xml index a704f9e..9498f15 100644 --- a/GSKMTOrange/src/main/res/values/strings.xml +++ b/GSKMTOrange/src/main/res/values/strings.xml @@ -44,7 +44,7 @@ Delete Store Visited GSK MT ORANGE STORE - C 126, Okhla II, + Click Store Front Image Please select language @@ -376,5 +376,14 @@ Select Supervisor Coaching Visit Please save data + Delivery Call + Add Store + Please fill + Address + Customer Store Name + Please click + In time image + Out time image + From 1defc05bf18c49a81deb116943acceda6119c4a1 Mon Sep 17 00:00:00 2001 From: yadavendras Date: Thu, 11 Oct 2018 18:42:13 +0530 Subject: [PATCH 6/9] YSY commit --- .../com/gskmtorange/Database/GSKOrangeDB.java | 101 ++++- .../cpm/com/gskmtorange/MainActivity.java | 21 +- .../gskmtorange/constant/CommonString.java | 4 +- .../dailyentry/DeliveryCallActivity.java | 379 +++++++++++++++++- .../DeliveryCallAddStoreActivity.java | 45 ++- .../upload/UploadImageWithRetrofit.java | 97 +++++ .../DeliveryCallsGetterSetter.java | 80 ++++ GSKMTOrange/src/main/res/drawable/upload.png | Bin 0 -> 5246 bytes .../res/layout/activity_delivery_call.xml | 12 +- .../activity_delivery_call_add_store.xml | 1 + .../main/res/layout/content_delivery_call.xml | 14 +- .../main/res/layout/delivery_calls_item.xml | 104 +++++ .../main/res/menu/activity_main_drawer.xml | 2 +- GSKMTOrange/src/main/res/values/strings.xml | 2 +- 14 files changed, 838 insertions(+), 24 deletions(-) create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/DeliveryCallsGetterSetter.java create mode 100644 GSKMTOrange/src/main/res/drawable/upload.png create mode 100644 GSKMTOrange/src/main/res/layout/delivery_calls_item.xml 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 bd97dac..df278d0 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java @@ -36,6 +36,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.CategoryWisePerformaceGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.ChatMessageDownloadGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.ConfigurationContrywiseGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.ConfigurationMasterGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.DeliveryCallsGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.DisplayChecklistMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.DisplayMasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.GapsChecklistGetterSetter; @@ -82,7 +83,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.TableBean; */ public class GSKOrangeDB extends SQLiteOpenHelper { - public static final String DATABASE_NAME = "GSK_ORANGE_DB37"; + public static final String DATABASE_NAME = "GSK_ORANGE_DB38"; public static final int DATABASE_VERSION = 15; TableBean tableBean; private SQLiteDatabase db; @@ -190,6 +191,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { db.execSQL(CommonString.CREATE_TABLE_AUDIT_DATA_SAVE); db.execSQL(CommonString.CREATE_TABLE_POG_DATA_SAVE); db.execSQL(CommonString.CREATE_TABLE_COACHING_VISIT); + db.execSQL(CommonString.CREATE_TABLE_DELIVERY_CALLS);//--Added 09.10.2018 } catch (SQLException e) { e.printStackTrace(); @@ -6693,4 +6695,101 @@ public class GSKOrangeDB extends SQLiteOpenHelper { } return list; } + + //DELIVERY_CALLS + public void InsertDeliveryCalls(DeliveryCallsGetterSetter data) { + //db.delete("DELIVERY_CALLS", null, null); + + ContentValues values = new ContentValues(); + try { + values.put(CommonString.KEY_STORE_NAME, data.getSTORE_NAME()); + values.put(CommonString.KEY_ADDRESS, data.getADDRESS()); + values.put(CommonString.KEY_IMAGE, data.getIN_TIME_IMAGE()); + values.put(CommonString.KEY_IMAGE1, data.getOUT_TIME_IMAGE()); + values.put(CommonString.KEY_UPLOAD_STATUS, data.getUPLOAD_STATUS()); + values.put(CommonString.KEY_VISIT_DATE, data.getVISIT_DATE()); + values.put(CommonString.KEY_IN_TIME, data.getIn_time()); + + db.insert("DELIVERY_CALLS", null, values); + + } catch (Exception ex) { + Log.d("Exception ", " in DELIVERY_CALLS " + ex.toString()); + } + } + + public void updateDeliveryCallsOut(DeliveryCallsGetterSetter deliveryCallData, String status, String out_time_image) { + + ContentValues values = new ContentValues(); + + try { + + values.put(CommonString.KEY_IMAGE1, out_time_image); + values.put(CommonString.KEY_UPLOAD_STATUS, status); + values.put(CommonString.KEY_OUT_TIME, deliveryCallData.getOut_time()); + + db.update(CommonString.TABLE_DELIVERY_CALLS, values, CommonString.KEY_ID + "='" + deliveryCallData.getId() + "'", null); + + } catch (Exception ex) { + + } + + } + + // get Delivery Calls data + public ArrayList getDeliveryCallsData(String visit_date) { + + ArrayList list = new ArrayList<>(); + Cursor dbcursor = null; + + try { + if(visit_date==null){ + dbcursor = db.rawQuery("SELECT * FROM DELIVERY_CALLS ", null); + } + else { + dbcursor = db.rawQuery("SELECT * FROM DELIVERY_CALLS WHERE VISIT_DATE='" + visit_date + "'", null); + } + + + if (dbcursor != null) { + dbcursor.moveToFirst(); + while (!dbcursor.isAfterLast()) { + DeliveryCallsGetterSetter msg = new DeliveryCallsGetterSetter(); + + msg.setADDRESS(dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_ADDRESS))); + msg.setSTORE_NAME(dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_STORE_NAME))); + msg.setIN_TIME_IMAGE(dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_IMAGE))); + msg.setOUT_TIME_IMAGE(dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_IMAGE1))); + msg.setUPLOAD_STATUS(dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_UPLOAD_STATUS))); + msg.setId(dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_ID))); + msg.setIn_time(dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_IN_TIME))); + msg.setOut_time(dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_OUT_TIME))); + msg.setVISIT_DATE(dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_VISIT_DATE))); + + list.add(msg); + dbcursor.moveToNext(); + } + dbcursor.close(); + return list; + } + } catch (Exception e) { + + Log.d("Exception ", "get Chat Message" + e.toString()); + } + return list; + } + + public void updateDeliveryCallsUploadStatus(String key_id) { + + ContentValues values = new ContentValues(); + + try { + values.put(CommonString.KEY_UPLOAD_STATUS, CommonString.KEY_U); + db.update(CommonString.TABLE_DELIVERY_CALLS, values, CommonString.KEY_ID + "='" + key_id + "'", null); + + } catch (Exception ex) { + + } + + } + } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java index ccede9b..0e89d7c 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java @@ -387,12 +387,25 @@ public class MainActivity extends AppCompatActivity } }else if(id == R.id.nav_deviation){ - Intent in = new Intent(this, StoreListActivity.class); - in.putExtra(CommonString.KEY_STORE_FLAG, CommonString.FROM_DEVIATION); - startActivity(in); + db.open(); + + if ( db.getSKUMasterData().size() == 0) { + + Snackbar.make(webView, R.string.title_store_list_download_data, Snackbar.LENGTH_SHORT) + .setAction("Action", null).show(); + + // Toast.makeText(getBaseContext(), "Please Download Data First", Toast.LENGTH_LONG).show(); + } else { + + Intent in = new Intent(this, StoreListActivity.class); + in.putExtra(CommonString.KEY_STORE_FLAG, CommonString.FROM_DEVIATION); + + startActivity(in); + + overridePendingTransition(R.anim.activity_in, R.anim.activity_out); + } - overridePendingTransition(R.anim.activity_in, R.anim.activity_out); }else if(id == R.id.nav_delivery_call){ Intent in = new Intent(this, DeliveryCallActivity.class); startActivity(in); 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 886af72..360cf92 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonString.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonString.java @@ -236,10 +236,12 @@ public class CommonString { public static final String CREATE_TABLE_DELIVERY_CALLS= "CREATE TABLE IF NOT EXISTS " + TABLE_DELIVERY_CALLS + " (" + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT ," - + KEY_STORE_NAME+ " INTEGER," + + KEY_STORE_NAME+ " VARCHAR," + KEY_ADDRESS + " VARCHAR," + KEY_IMAGE + " VARCHAR," + KEY_IMAGE1 + " VARCHAR," + + KEY_IN_TIME + " VARCHAR," + + KEY_OUT_TIME + " VARCHAR," + KEY_UPLOAD_STATUS + " VARCHAR," + KEY_VISIT_DATE + " VARCHAR)"; diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallActivity.java index 9a29520..7ab5dd0 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallActivity.java @@ -1,16 +1,60 @@ package cpm.com.gskmtorange.dailyentry; +import android.app.AlertDialog; +import android.app.Dialog; +import android.content.Context; +import android.content.DialogInterface; import android.content.Intent; +import android.content.SharedPreferences; +import android.os.AsyncTask; 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.CardView; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; import android.support.v7.widget.Toolbar; +import android.view.LayoutInflater; import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.ProgressBar; +import android.widget.TextView; +import com.crashlytics.android.Crashlytics; + +import org.ksoap2.SoapEnvelope; +import org.ksoap2.serialization.SoapObject; +import org.ksoap2.serialization.SoapSerializationEnvelope; +import org.ksoap2.transport.HttpTransportSE; +import org.xmlpull.v1.XmlPullParserException; + +import java.io.File; +import java.io.IOException; +import java.net.MalformedURLException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +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.upload.UploadActivity; +import cpm.com.gskmtorange.upload.UploadImageWithRetrofit; +import cpm.com.gskmtorange.xmlGetterSetter.DeliveryCallsGetterSetter; -public class DeliveryCallActivity extends AppCompatActivity { +public class DeliveryCallActivity extends AppCompatActivity implements View.OnClickListener { + + private SharedPreferences preferences; + private GSKOrangeDB database; + String visit_date, userId; + ArrayList deliveryCallsList; + RecyclerView recyclerView; + DeliveryAdapter deliveryAdapter; + FloatingActionButton fab_upload, fab; @Override protected void onCreate(Bundle savedInstanceState) { @@ -19,16 +63,331 @@ public class DeliveryCallActivity extends AppCompatActivity { Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); - FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); - fab.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Intent in = new Intent(getApplicationContext(), DeliveryCallAddStoreActivity.class); - startActivity(in); + recyclerView = (RecyclerView) findViewById(R.id.rec_delivery_calls); + fab = (FloatingActionButton) findViewById(R.id.fab); + fab_upload = (FloatingActionButton) findViewById(R.id.fab_upload); - overridePendingTransition(R.anim.activity_in, R.anim.activity_out); - } - }); + preferences = PreferenceManager.getDefaultSharedPreferences(this); + visit_date = preferences.getString(CommonString.KEY_DATE, null); + userId = preferences.getString(CommonString.KEY_USERNAME, null); + + database = new GSKOrangeDB(this); + database.open(); + + fab.setOnClickListener(this); + fab_upload.setOnClickListener(this); } + @Override + public void onClick(View v) { + + int id = v.getId(); + + switch (id) { + + case R.id.fab_upload: + + new UploadTask().execute(); + break; + + case R.id.fab: + + if (isCheckedIn()) { + Snackbar.make(recyclerView, getString(R.string.title_store_list_checkout_current), Snackbar.LENGTH_SHORT).show(); + } else { + + Intent in = new Intent(getApplicationContext(), DeliveryCallAddStoreActivity.class); + startActivity(in); + + overridePendingTransition(R.anim.activity_in, R.anim.activity_out); + } + + break; + } + } + + class DeliveryAdapter extends RecyclerView.Adapter { + + private LayoutInflater inflator; + + List data = Collections.emptyList(); + + public DeliveryAdapter(Context context, List data) { + + inflator = LayoutInflater.from(context); + this.data = data; + + } + + @Override + public DeliveryAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View view = inflator.inflate(R.layout.delivery_calls_item, parent, false); + + DeliveryAdapter.MyViewHolder holder = new DeliveryAdapter.MyViewHolder(view); + + return holder; + } + + @Override + public void onBindViewHolder(DeliveryAdapter.MyViewHolder holder, int position) { + final DeliveryCallsGetterSetter current = data.get(position); + holder.tv_store_name.setText(current.getSTORE_NAME()); + holder.tv_store_address.setText(current.getADDRESS()); + + if (current.getUPLOAD_STATUS().equals(CommonString.KEY_CHECK_IN)) { + holder.imageview.setVisibility(View.INVISIBLE); + holder.cardView.setCardBackgroundColor(getResources().getColor(R.color.green)); + } else if (current.getUPLOAD_STATUS().equals(CommonString.KEY_U)) { + holder.imageview.setVisibility(View.VISIBLE); + holder.imageview.setBackgroundResource(R.mipmap.tick); + holder.cardView.setCardBackgroundColor(getResources().getColor(R.color.colorOrange)); + }else if (current.getUPLOAD_STATUS().equals(CommonString.KEY_C)) { + holder.imageview.setVisibility(View.VISIBLE); + holder.imageview.setBackgroundResource(R.mipmap.exclamation); + holder.cardView.setCardBackgroundColor(getResources().getColor(R.color.colorOrange)); + } else { + holder.imageview.setVisibility(View.INVISIBLE); + holder.cardView.setCardBackgroundColor(getResources().getColor(R.color.colorOrange)); + } + + holder.cardView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (current.getUPLOAD_STATUS().equals(CommonString.KEY_CHECK_IN)) { + + Intent in = new Intent(getApplicationContext(), DeliveryCallAddStoreActivity.class); + in.putExtra(CommonString.KEY_STORE_ID, current); + in.putExtra(CommonString.KEY_STORE_FLAG, false); + startActivity(in); + + overridePendingTransition(R.anim.activity_in, R.anim.activity_out); + } else if (current.getUPLOAD_STATUS().equals(CommonString.KEY_U)) { + Snackbar.make(v, R.string.title_store_list_activity_store_already_done, Snackbar.LENGTH_LONG).setAction("Action", null).show(); + } else if (current.getUPLOAD_STATUS().equals(CommonString.KEY_C)) { + Snackbar.make(v, R.string.title_store_list_activity_store_already_checkout, Snackbar.LENGTH_LONG).setAction("Action", null).show(); + } + } + }); + } + + @Override + public int getItemCount() { + return deliveryCallsList.size(); + } + + class MyViewHolder extends RecyclerView.ViewHolder { + + TextView tv_store_name, tv_store_address; + CardView cardView; + ImageView imageview; + + public MyViewHolder(View itemView) { + super(itemView); + + tv_store_name = (TextView) itemView.findViewById(R.id.tv_store_name); + tv_store_address = (TextView) itemView.findViewById(R.id.tv_store_address); + cardView = (CardView) itemView.findViewById(R.id.card_view); + imageview = (ImageView) itemView.findViewById(R.id.delivery_ico); + } + } + } + + @Override + protected void onResume() { + super.onResume(); + + deliveryCallsList = database.getDeliveryCallsData(visit_date); + + if (deliveryCallsList.size() > 0) { + //list.setAdapter(new MyAdaptor()); + deliveryAdapter = new DeliveryAdapter(getApplicationContext(), deliveryCallsList); + recyclerView.setAdapter(deliveryAdapter); + recyclerView.setLayoutManager(new LinearLayoutManager(this)); + + if (isCheckedIn()) { + fab_upload.setVisibility(View.GONE); + } else if (isUploadAble()) { + fab_upload.setVisibility(View.VISIBLE); + } + } + } + + private Dialog dialog; + private ProgressBar pb; + private TextView percentage, message; + Object result = ""; + + class Data { + int value; + String name; + } + + class UploadTask extends AsyncTask { + + @Override + protected void onPreExecute() { + super.onPreExecute(); + dialog = new Dialog(DeliveryCallActivity.this); + dialog.setContentView(R.layout.custom); + dialog.setTitle(getString(R.string.uploaddata)); + dialog.setCancelable(false); + dialog.show(); + + pb = (ProgressBar) dialog.findViewById(R.id.progressBar1); + percentage = (TextView) dialog.findViewById(R.id.percentage); + message = (TextView) dialog.findViewById(R.id.message); + ((TextView) dialog.findViewById(R.id.tv_title)).setText(getString(R.string.uploaddata)); + } + + @Override + protected void onProgressUpdate(Data... values) { + // TODO Auto-generated method stub + + pb.setProgress(values[0].value); + percentage.setText(values[0].value + "%"); + message.setText(values[0].name); + } + + @Override + protected String doInBackground(Void... voids) { + try { + Data data = new Data(); + ArrayList _deliveryCallsList = database.getDeliveryCallsData(null); + for (int i = 0; i < _deliveryCallsList.size(); i++) { + + if (_deliveryCallsList.get(i).getUPLOAD_STATUS().equals(CommonString.KEY_C)) { + + data.value = 50; + data.name = getString(R.string.delivery_call); + publishProgress(data); + + String onXML = "[DELIVERY_CALLS_DATA]" + + "[USER_ID]" + userId + "[/USER_ID]" + + "[VISIT_DATE]" + _deliveryCallsList.get(i).getVISIT_DATE() + "[/VISIT_DATE]" + + "[STORE_NAME]" + _deliveryCallsList.get(i).getSTORE_NAME() + "[/STORE_NAME]" + + "[STORE_ADDRESS]" + _deliveryCallsList.get(i).getADDRESS() + "[/STORE_ADDRESS]" + + "[IN_TIME]" + _deliveryCallsList.get(i).getIn_time() + "[/IN_TIME]" + + "[OUT_TIME]" + _deliveryCallsList.get(i).getOut_time() + "[/OUT_TIME]" + + "[IN_TIME_IMAGE]" + _deliveryCallsList.get(i).getIN_TIME_IMAGE() + "[/IN_TIME_IMAGE]" + + "[OUT_TIME_IMAGE]" + _deliveryCallsList.get(i).getOUT_TIME_IMAGE()+ "[/OUT_TIME_IMAGE]" + + "[/DELIVERY_CALLS_DATA]"; + + final String delivery_xml = "[DATA]" + onXML + "[/DATA]"; + + SoapObject request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); + request.addProperty("XMLDATA", delivery_xml); + request.addProperty("KEYS", "DELIVERY_CALLS"); + request.addProperty("USERNAME", userId); + request.addProperty("MID", 0); + + SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); + envelope.dotNet = true; + envelope.setOutputSoapObject(request); + + HttpTransportSE androidHttpTransport = new HttpTransportSE(CommonString.URL); + androidHttpTransport.call(CommonString.SOAP_ACTION + CommonString.METHOD_UPLOAD_STOCK_XML_DATA, envelope); + result = envelope.getResponse(); + if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + return CommonString.METHOD_UPLOAD_STOCK_XML_DATA; + } + else { + database.open(); + database.updateDeliveryCallsUploadStatus(_deliveryCallsList.get(i).getId()); + } + } + } + + return result.toString(); + + } catch (MalformedURLException e) { + e.printStackTrace(); + } catch (IOException e) { + Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString()); + Crashlytics.logException(e.getCause()); + Crashlytics.logException(new Exception(e.getCause())); + e.printStackTrace(); + } catch (XmlPullParserException e) { + e.printStackTrace(); + } catch (Exception e) { + Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString()); + Crashlytics.logException(e.getCause()); + Crashlytics.logException(new Exception(e.getCause())); + e.printStackTrace(); + } + + + return null; + } + + @Override + protected void onPostExecute(String result) { + super.onPostExecute(result); + + dialog.dismiss(); + if (result.contains(CommonString.KEY_SUCCESS)) { + //db.deleteAllTables(); + + File f = new File(CommonString.FILE_PATH); + File fileAll[] = f.listFiles(); + ArrayList file_list = new ArrayList<>(); + + for (int i = 0; i < fileAll.length; i++) { + String name = fileAll[i].getName(); + if(name.contains("CoachingVisit")){ + file_list.add(name); + } + } + + UploadImageWithRetrofit.uploadedFiles = 0; + UploadImageWithRetrofit.totalFiles = file_list.size(); + UploadImageWithRetrofit uploadImg = new UploadImageWithRetrofit(visit_date, userId, DeliveryCallActivity.this); + uploadImg.UploadDeliveryImageRecursive(DeliveryCallActivity.this, file_list, 0); + + } else { + showAlert(getString(R.string.error) + result.toString()); + } + } + } + + public void showAlert(String str) { + + AlertDialog.Builder builder = new AlertDialog.Builder(DeliveryCallActivity.this); + builder.setTitle("Parinaam"); + builder.setMessage(str).setCancelable(false) + .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + + /* Intent i = new Intent(activity, StorelistActivity.class); + activity.startActivity(i); + activity.finish();*/ + finish(); + + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + + + boolean isCheckedIn() { + boolean flag = false; + for (int i = 0; i < deliveryCallsList.size(); i++) { + if (deliveryCallsList.get(i).getUPLOAD_STATUS().equals(CommonString.KEY_CHECK_IN)) { + flag = true; + break; + } + } + return flag; + } + + boolean isUploadAble() { + boolean flag = false; + for (int i = 0; i < deliveryCallsList.size(); i++) { + if (deliveryCallsList.get(i).getUPLOAD_STATUS().equals(CommonString.KEY_C)) { + flag = true; + break; + } + } + return flag; + } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallAddStoreActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallAddStoreActivity.java index bd3e57a..5c9883f 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallAddStoreActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallAddStoreActivity.java @@ -25,9 +25,11 @@ import com.crashlytics.android.Crashlytics; import java.io.File; import java.util.List; +import cpm.com.gskmtorange.Database.GSKOrangeDB; import cpm.com.gskmtorange.R; import cpm.com.gskmtorange.constant.CommonFunctions; import cpm.com.gskmtorange.constant.CommonString; +import cpm.com.gskmtorange.xmlGetterSetter.DeliveryCallsGetterSetter; public class DeliveryCallAddStoreActivity extends AppCompatActivity implements View.OnClickListener{ @@ -35,10 +37,12 @@ public class DeliveryCallAddStoreActivity extends AppCompatActivity implements V ImageView img_checkin, img_checkout; String name, address, error_msg, img_checkin_path="", img_checkout_path=""; boolean checkin_flag = true; - protected String _pathforcheck = "", _path, str, visit_date; + protected String _pathforcheck = "", _path, str, visit_date, in_time, out_time; private SharedPreferences preferences; Uri outputFileUri; String gallery_package = ""; + private GSKOrangeDB database; + DeliveryCallsGetterSetter deliveryCallsData; @Override protected void onCreate(Bundle savedInstanceState) { @@ -47,6 +51,9 @@ public class DeliveryCallAddStoreActivity extends AppCompatActivity implements V Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); + database = new GSKOrangeDB(this); + database.open(); + et_customer = findViewById(R.id.et_customer_name); et_address = findViewById(R.id.et_address); img_checkin = findViewById(R.id.img_checkin); @@ -55,10 +62,18 @@ public class DeliveryCallAddStoreActivity extends AppCompatActivity implements V preferences = PreferenceManager.getDefaultSharedPreferences(this); visit_date = preferences.getString(CommonString.KEY_DATE, null); + checkin_flag = getIntent().getBooleanExtra(CommonString.KEY_STORE_FLAG, true); + deliveryCallsData = (DeliveryCallsGetterSetter) getIntent().getSerializableExtra(CommonString.KEY_STORE_ID); + if(checkin_flag){ img_checkin.setOnClickListener(this); } else { + et_customer.setText(deliveryCallsData.getSTORE_NAME()); + et_address.setText(deliveryCallsData.getADDRESS()); + et_customer.setEnabled(false); + et_address.setEnabled(false); + img_checkin.setImageDrawable(getResources().getDrawable(R.mipmap.camera_green)); img_checkout.setOnClickListener(this); } @@ -68,6 +83,27 @@ public class DeliveryCallAddStoreActivity extends AppCompatActivity implements V public void onClick(View view) { if(isValid()){ + if(checkin_flag){ + + DeliveryCallsGetterSetter deliveryCallsGetterSetter = new DeliveryCallsGetterSetter(); + deliveryCallsGetterSetter.setSTORE_NAME(name); + deliveryCallsGetterSetter.setADDRESS(address); + deliveryCallsGetterSetter.setIN_TIME_IMAGE(img_checkin_path); + deliveryCallsGetterSetter.setOUT_TIME_IMAGE(img_checkout_path); + deliveryCallsGetterSetter.setUPLOAD_STATUS(CommonString.KEY_CHECK_IN); + deliveryCallsGetterSetter.setVISIT_DATE(visit_date); + deliveryCallsGetterSetter.setIn_time(in_time); + + database.InsertDeliveryCalls(deliveryCallsGetterSetter); + } + else { + + deliveryCallsData.setOut_time(out_time); + database.updateDeliveryCallsOut(deliveryCallsData, CommonString.KEY_C, img_checkout_path); + } + + finish(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); } else { Snackbar.make(et_customer,error_msg,Snackbar.LENGTH_SHORT).show(); @@ -110,6 +146,9 @@ public class DeliveryCallAddStoreActivity extends AppCompatActivity implements V public void onClick(View v) { switch (v.getId()){ case R.id.img_checkin: + + in_time = CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()); + _pathforcheck = "CoachingVisit" + visit_date.replace("/", "")+ "InTime" + CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()).replace(":", "") + ".jpg"; _path = CommonString.FILE_PATH + _pathforcheck; @@ -119,11 +158,13 @@ public class DeliveryCallAddStoreActivity extends AppCompatActivity implements V case R.id.img_checkout: + out_time = CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()); + _pathforcheck = "CoachingVisit" + visit_date.replace("/", "")+ "OutTime" + CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()).replace(":", "") + ".jpg"; _path = CommonString.FILE_PATH + _pathforcheck; - startCameraActivity(0); + startCameraActivity(1); break; } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java index f4f2d02..83abdea 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java @@ -326,6 +326,103 @@ public class UploadImageWithRetrofit { } + public void UploadDeliveryImageRecursive(final Context context, final ArrayList file_list, final int index) { + try { + final int[] _index = {index}; + status = 0; + String filename = null, foldername = "DeliveryCallsImages"; + + if (_index[0] < file_list.size()) { + filename = file_list.get(_index[0]); + + pd.setMessage(context.getString(R.string.uploaddata)+" - " +context.getString(R.string.image) + " (" + uploadedFiles + "/" + totalFiles + ")"); + + File originalFile = new File(CommonString.FILE_PATH + filename); + final File finalFile = saveBitmapToFileSmaller(originalFile); + + OkHttpClient okHttpClient = new OkHttpClient(); + okHttpClient.setConnectTimeout(20, TimeUnit.SECONDS); + okHttpClient.setWriteTimeout(20, TimeUnit.SECONDS); + okHttpClient.setReadTimeout(20, TimeUnit.SECONDS); + + com.squareup.okhttp.RequestBody photo = com.squareup.okhttp.RequestBody.create(com.squareup.okhttp.MediaType.parse("application/octet-stream"), finalFile); + body1 = new MultipartBuilder() + .type(MultipartBuilder.FORM) + .addFormDataPart("file", finalFile.getName(), photo) + .addFormDataPart("FolderName", foldername) + .build(); + + adapter = new retrofit.Retrofit.Builder() + .baseUrl(CommonString.URL + "/") + .addConverterFactory(new StringConverterFactory()) + .build(); + PostApiForFile api = adapter.create(PostApiForFile.class); + + retrofit.Call call = api.getUploadImage(body1); + call.enqueue(new retrofit.Callback() { + @Override + public void onResponse(retrofit.Response response) { + if (response.isSuccess() && response.body().contains("Success")) { + finalFile.delete(); + status = 1; + uploadedFiles++; + } else { + status = 0; + //uploadedFiles = 0; + } + if (status == 0) { + pd.dismiss(); + if (!((Activity) context).isFinishing()) { + showAlert((Activity) context, context.getString(R.string.DataNot),false); + } + } else { + UploadDeliveryImageRecursive(context, file_list, ++_index[0]); + } + } + + @Override + public void onFailure(Throwable t) { + if (t instanceof IOException || t instanceof SocketTimeoutException || t instanceof SocketException) { + status = -1; + //uploadedFiles = 0; + pd.dismiss(); + // AlertandMessages.showAlert((Activity) context, "Network Error in upload", false); + if (!((Activity) context).isFinishing()) { + showAlert((Activity) context, context.getString(R.string.NetworkError),false); + } + } + } + }); + + + } else { + + pd.dismiss(); + if (totalFiles == uploadedFiles) { + //region Coverage upload status Data + /*db = new GSKOrangeDB(context); + db.open(); + db.updateDeliveryCallsUploadStatus();*/ + //endregion + //pd.cancel(); + //showAlert((Activity) context, context.getString(R.string.data_uploaded_successfully),true); + } + showAlert((Activity) context, context.getString(R.string.data_uploaded_successfully),true); + } + } catch (JsonSyntaxException e) { + e.printStackTrace(); + showAlert((Activity) context, "Invalid Json",false); + } catch (Exception e) { + e.printStackTrace(); + if (totalFiles == uploadedFiles) { + showAlert((Activity) context, context.getString(R.string.data_uploaded_successfully),true); + } else { + showAlert((Activity) context, CommonString.KEY_FAILURE,false); + } + } + + } + public File saveBitmapToFileSmaller(File file) { File file2 = file; try { diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/DeliveryCallsGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/DeliveryCallsGetterSetter.java new file mode 100644 index 0000000..d98bece --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/DeliveryCallsGetterSetter.java @@ -0,0 +1,80 @@ +package cpm.com.gskmtorange.xmlGetterSetter; + +import java.io.Serializable; + +public class DeliveryCallsGetterSetter implements Serializable{ + + String STORE_NAME, ADDRESS, IN_TIME_IMAGE, OUT_TIME_IMAGE, UPLOAD_STATUS, VISIT_DATE, id, in_time, out_time; + + public String getSTORE_NAME() { + return STORE_NAME; + } + + public void setSTORE_NAME(String STORE_NAME) { + this.STORE_NAME = STORE_NAME; + } + + public String getADDRESS() { + return ADDRESS; + } + + public void setADDRESS(String ADDRESS) { + this.ADDRESS = ADDRESS; + } + + public String getIN_TIME_IMAGE() { + return IN_TIME_IMAGE; + } + + public void setIN_TIME_IMAGE(String IN_TIME_IMAGE) { + this.IN_TIME_IMAGE = IN_TIME_IMAGE; + } + + public String getOUT_TIME_IMAGE() { + return OUT_TIME_IMAGE; + } + + public void setOUT_TIME_IMAGE(String OUT_TIME_IMAGE) { + this.OUT_TIME_IMAGE = OUT_TIME_IMAGE; + } + + public String getUPLOAD_STATUS() { + return UPLOAD_STATUS; + } + + public void setUPLOAD_STATUS(String UPLOAD_STATUS) { + this.UPLOAD_STATUS = UPLOAD_STATUS; + } + + public String getVISIT_DATE() { + return VISIT_DATE; + } + + public void setVISIT_DATE(String VISIT_DATE) { + this.VISIT_DATE = VISIT_DATE; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getIn_time() { + return in_time; + } + + public void setIn_time(String in_time) { + this.in_time = in_time; + } + + public String getOut_time() { + return out_time; + } + + public void setOut_time(String out_time) { + this.out_time = out_time; + } +} diff --git a/GSKMTOrange/src/main/res/drawable/upload.png b/GSKMTOrange/src/main/res/drawable/upload.png new file mode 100644 index 0000000000000000000000000000000000000000..71ad55bf46d49b2d2bb1494db8c887774e9b8589 GIT binary patch literal 5246 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 literal 0 HcmV?d00001 diff --git a/GSKMTOrange/src/main/res/layout/activity_delivery_call.xml b/GSKMTOrange/src/main/res/layout/activity_delivery_call.xml index 19f47db..e0f1172 100644 --- a/GSKMTOrange/src/main/res/layout/activity_delivery_call.xml +++ b/GSKMTOrange/src/main/res/layout/activity_delivery_call.xml @@ -4,6 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + android:fitsSystemWindows="true" tools:context=".dailyentry.DeliveryCallActivity"> + app:srcCompat="@drawable/add" /> + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/layout/activity_delivery_call_add_store.xml b/GSKMTOrange/src/main/res/layout/activity_delivery_call_add_store.xml index 367d88f..bb59cb1 100644 --- a/GSKMTOrange/src/main/res/layout/activity_delivery_call_add_store.xml +++ b/GSKMTOrange/src/main/res/layout/activity_delivery_call_add_store.xml @@ -4,6 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + android:fitsSystemWindows="true" tools:context=".dailyentry.DeliveryCallAddStoreActivity"> - + tools:showIn="@layout/activity_delivery_call" + android:background="@color/grey_background"> - \ No newline at end of file + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/layout/delivery_calls_item.xml b/GSKMTOrange/src/main/res/layout/delivery_calls_item.xml new file mode 100644 index 0000000..71d4da1 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/delivery_calls_item.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +