diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml deleted file mode 100644 index 30aa626..0000000 --- a/.idea/codeStyles/Project.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..15a15b2 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/GSKMTOrange/build.gradle b/GSKMTOrange/build.gradle index 39e08b0..bf5753b 100644 --- a/GSKMTOrange/build.gradle +++ b/GSKMTOrange/build.gradle @@ -25,20 +25,20 @@ android { versionName "3.5"*/ //For UAE - versionCode 20 - versionName "3.2" - - //For Turkey /*versionCode 21 versionName "3.3"*/ + //For Turkey + versionCode 21 + versionName "3.3" + //For KSA - /*versionCode 23 - versionName "3.5"*/ + /*versionCode 25 + versionName "3.7"*/ //For SA - /*versionCode 22 - versionName "3.4"*/ + /*versionCode 25 + versionName "3.6"*/ multiDexEnabled true @@ -58,6 +58,7 @@ dependencies { implementation 'com.google.firebase:firebase-messaging:17.3.3' implementation fileTree(dir: 'libs', include: ['*.jar']) implementation files('libs/ksoap2-android-assembly-3.6.2-jar-with-dependencies.jar') + implementation 'com.android.support:support-v4:28.0.0' androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) diff --git a/GSKMTOrange/src/main/AndroidManifest.xml b/GSKMTOrange/src/main/AndroidManifest.xml index 491a0f4..6f041ec 100644 --- a/GSKMTOrange/src/main/AndroidManifest.xml +++ b/GSKMTOrange/src/main/AndroidManifest.xml @@ -25,12 +25,24 @@ android:supportsRtl="true" android:theme="@style/AppTheme"> + android:theme="@style/AppTheme.NoActionBar"> + + @@ -244,6 +257,7 @@ android:name=".dailyentry.StockDataActivity" android:configChanges="screenSize|orientation|keyboardHidden" android:label="@string/title_activity_stock_data" + android:screenOrientation="portrait" android:theme="@style/AppTheme.NoActionBar" android:windowSoftInputMode="adjustPan" /> + android:screenOrientation="portrait" + android:theme="@style/AppTheme.NoActionBar" + android:windowSoftInputMode="adjustPan" /> Start<------------"); + ArrayList list = new ArrayList<>(); + Cursor dbcursor = null; + + try { + dbcursor = db.rawQuery("Select * from " + CommonString.TABLE_INSERT_STOCK + + " where category_id='" + category_id + "' and Store_Id='" + store_id + "'", null); + + if (dbcursor != null) { + if (dbcursor.moveToFirst()) { + do { + MSL_AvailabilityStockFacingGetterSetter sb = new MSL_AvailabilityStockFacingGetterSetter(); + + sb.setSku_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SKU_ID"))); + list.add(sb); + } while (dbcursor.moveToNext()); + } + dbcursor.close(); + + return list.size() > 0; + } + } catch (Exception e) { + Log.d("Exception ", "when fetching Records!!!!!!!!!!!!!!!!!!!!!" + e.toString()); + return false; + } + + Log.d("MSL_Availability_StockFacing ", "midday---------------------->Stop<-----------"); + return false; + } + +//-------------------------------------------------------------------------------------------------------------- + + public void updateStockData( + String storeId, String categoryId, List hashMapListHeaderData, + HashMap> hashMapListChildData) { + + ContentValues values = new ContentValues(); + + try { + db.beginTransaction(); + for (int i = 0; i < hashMapListHeaderData.size(); i++) { + + for (int j = 0; j < hashMapListChildData.get(hashMapListHeaderData.get(i)).size(); j++) { + MSL_AvailabilityStockFacingGetterSetter data = hashMapListChildData.get(hashMapListHeaderData.get(i)).get(j); + + values.put("TOGGLE_VALUE", data.getToggleValue()); + values.put("STOCK", data.getStock()); + + db.update(CommonString.TABLE_INSERT_STOCK, values, + "Brand_Id ='" + hashMapListHeaderData.get(i).getBrand_id() + "' AND SKU_ID ='" + data.getSku_id() + + "' AND Category_Id='" + categoryId + "' AND Store_Id='" + storeId + "'", null); + } + } + db.setTransactionSuccessful(); + db.endTransaction(); + } catch (Exception ex) { + Log.d("Exception ", " in Insert Stock " + ex.toString()); + } + } + + +//------------------------------------------------------------------------------------------------------------------------------- + + public void InsertStockData( + String storeId, String categoryId, List hashMapListHeaderData, + HashMap> hashMapListChildData) { + ContentValues values = new ContentValues(); + + try { + db.beginTransaction(); + for (int i = 0; i < hashMapListHeaderData.size(); i++) { + + for (int j = 0; j < hashMapListChildData.get(hashMapListHeaderData.get(i)).size(); j++) { + MSL_AvailabilityStockFacingGetterSetter data = hashMapListChildData.get(hashMapListHeaderData.get(i)).get(j); + + values.put("Store_Id", storeId); + values.put("Category_Id", categoryId); + values.put("Brand_Id", hashMapListHeaderData.get(i).getBrand_id()); + values.put("SKU_ID", data.getSku_id()); + values.put("SKU", data.getSku()); + values.put("SKU_SEQUENCE", data.getSku_sequence()); + values.put("MBQ", data.getMbq()); + values.put("TOGGLE_VALUE", data.getToggleValue()); + values.put("STOCK", data.getStock()); + values.put("COMPANY_ID", data.getCompany_id()); + values.put("MUST_HAVE", data.getMust_have()); + + db.insert(CommonString.TABLE_INSERT_STOCK, null, values); + } + } + db.setTransactionSuccessful(); + db.endTransaction(); + } catch (Exception ex) { + Log.d("Exception ", " in Insert Stock" + ex.toString()); + } + } + + +//--------------------------------------------------------------------------------------------------------------------------------------- + + public ArrayList getStockAfterSaveData( + String category_id, String brand_id, String store_id) { + + ArrayList list = new ArrayList<>(); + Cursor dbcursor = null; + + try { + dbcursor = db.rawQuery("Select * from " + CommonString.TABLE_INSERT_STOCK + + " where category_id='" + category_id + "' and Brand_Id='" + brand_id + "' AND Store_Id='" + store_id + "'", null); + + if (dbcursor != null) { + dbcursor.moveToFirst(); + while (!dbcursor.isAfterLast()) { + MSL_AvailabilityStockFacingGetterSetter cd = new MSL_AvailabilityStockFacingGetterSetter(); + + cd.setSku_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SKU_ID"))); + cd.setSku(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SKU"))); + cd.setSku_sequence(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SKU_SEQUENCE"))); + cd.setMbq(dbcursor.getString(dbcursor.getColumnIndexOrThrow("MBQ"))); + cd.setToggleValue(dbcursor.getString(dbcursor.getColumnIndexOrThrow("TOGGLE_VALUE"))); + cd.setStock(dbcursor.getString(dbcursor.getColumnIndexOrThrow("STOCK"))); + cd.setCompany_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("COMPANY_ID"))); + cd.setMust_have(dbcursor.getString(dbcursor.getColumnIndexOrThrow("MUST_HAVE"))); + + list.add(cd); + dbcursor.moveToNext(); + } + dbcursor.close(); + return list; + } + } catch (Exception e) { + Log.d("Exception ", "get MSL_Availability Sku After Save Data!" + e.toString()); + return list; + } + return list; + } + + //Insert Additional Journey Plan + public void InsertAdditionalJCP(JourneyPlanGetterSetter data) { + db.delete("JOURNEY_PLAN_ADDITIONAL", null, null); + + ContentValues values = new ContentValues(); + try { + + for (int i = 0; i < data.getSTORE_ID().size(); i++) { + + values.put("STORE_ID", data.getSTORE_ID().get(i)); + values.put("EMP_ID", data.getEMP_ID().get(i)); + + values.put("STORE_NAME", data.getSTORE_NAME().get(i)); + + values.put("CITY", data.getCITY().get(i)); + + values.put("VISIT_DATE", data.getVISIT_DATE().get(i)); + + values.put("ADDRESS", data.getADDRESS().get(i)); + + values.put("UPLOAD_STATUS", data.getUPLOAD_STATUS().get(i)); + + values.put("STORETYPE", data.getSTORETYPE().get(i)); + + values.put("KEYACCOUNT_ID", data.getKEYACCOUNT_ID().get(i)); + + + values.put("STORETYPE_ID", data.getSTORETYPE_ID().get(i)); + + values.put("CHECKOUT_STATUS", data.getCHECKOUT_STATUS().get(i)); + + values.put("CLASSIFICATION", data.getCLASSIFICATION().get(i)); + + values.put("KEYACCOUNT", data.getKEYACCOUNT().get(i)); + values.put("CLASS_ID", data.getCLASS_ID().get(i)); + + values.put("CAMERA_ALLOW", data.getCAMERA_ALLOW().get(i)); + values.put("GEO_TAG", data.getGEO_TAG().get(i)); + + values.put("VISIT_ORDER", data.getVISIT_ORDER().get(i)); + values.put("LATITUDE", data.getLATITUDE().get(i)); + values.put("LONGITUDE", data.getLONGITUDE().get(i)); + values.put("POG_TYPE_ID", data.getPOG_TYPE_ID().get(i)); + + db.insert("JOURNEY_PLAN_ADDITIONAL", null, values); + + } + + } catch (Exception ex) { + Log.d("Exception in ADHOC_JCP", ex.toString()); + } + } + //MSL_Availability_StockFacing Server Upload Data + public ArrayList getStockUploadServerData(String store_id) { + ArrayList list = new ArrayList<>(); + Cursor dbcursor = null; + + try { + dbcursor = db.rawQuery("Select * from " + CommonString.TABLE_INSERT_STOCK + + " where Store_Id='" + store_id + "'", null); + + if (dbcursor != null) { + dbcursor.moveToFirst(); + while (!dbcursor.isAfterLast()) { + MSL_AvailabilityStockFacingGetterSetter cd = new MSL_AvailabilityStockFacingGetterSetter(); + + cd.setCategory_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("Category_Id"))); + cd.setBrand_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("Brand_Id"))); + cd.setSku_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SKU_ID"))); + cd.setSku(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SKU"))); + cd.setSku_sequence(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SKU_SEQUENCE"))); + cd.setMbq(dbcursor.getString(dbcursor.getColumnIndexOrThrow("MBQ"))); + cd.setToggleValue(dbcursor.getString(dbcursor.getColumnIndexOrThrow("TOGGLE_VALUE"))); + cd.setStock(dbcursor.getString(dbcursor.getColumnIndexOrThrow("STOCK"))); + cd.setMust_have(dbcursor.getString(dbcursor.getColumnIndexOrThrow("MUST_HAVE"))); + + list.add(cd); + dbcursor.moveToNext(); + } + dbcursor.close(); + return list; + } + } catch (Exception e) { + Log.d("Exception ", "get MSL_Availability server upload Data!" + e.toString()); + return list; + } + return list; + } + + public void insertMappingPahrmaQuestion(MappingPharmaQuestionGetterSetter data) { + db.delete("MAPPING_PHARMA_QUESTION", null, null); + + ContentValues values = new ContentValues(); + try { + for (int i = 0; i < data.getQUESTION_ID().size(); i++) { + + values.put("QUESTION_ID", data.getQUESTION_ID().get(i)); + values.put("QUESTION", data.getQUESTION().get(i)); + values.put("BRAND_ID", data.getBRAND_ID().get(i)); + values.put("BRAND", data.getBRAND().get(i)); + values.put("SUB_CATEGORY_ID", data.getSUB_CATEGORY_ID().get(i)); + values.put("SUB_CATEGORY", data.getSUB_CATEGORY().get(i)); + values.put("QUESTION_SEQUENCE", data.getQUESTION_SEQUENCE().get(i)); + + db.insert("MAPPING_PHARMA_QUESTION", null, values); + } + } catch (Exception ex) { + Log.d("Exception ", " in MAPPING_PHARMA_QUESTION " + ex.toString()); + } + } + + //Insert PHARMA Journey Plan + public void InsertPharmaJCP(JourneyPlanGetterSetter data) { + db.delete("JOURNEY_PLAN_PHARMA", null, null); + + ContentValues values = new ContentValues(); + try { + + for (int i = 0; i < data.getSTORE_ID().size(); i++) { + + values.put("STORE_ID", data.getSTORE_ID().get(i)); + values.put("EMP_ID", data.getEMP_ID().get(i)); + + values.put("STORE_NAME", data.getSTORE_NAME().get(i)); + + values.put("CITY", data.getCITY().get(i)); + + values.put("VISIT_DATE", data.getVISIT_DATE().get(i)); + + values.put("ADDRESS", data.getADDRESS().get(i)); + + values.put("UPLOAD_STATUS", data.getUPLOAD_STATUS().get(i)); + + values.put("STORETYPE", data.getSTORETYPE().get(i)); + + values.put("KEYACCOUNT_ID", data.getKEYACCOUNT_ID().get(i)); + + + values.put("STORETYPE_ID", data.getSTORETYPE_ID().get(i)); + + values.put("CHECKOUT_STATUS", data.getCHECKOUT_STATUS().get(i)); + + values.put("CLASSIFICATION", data.getCLASSIFICATION().get(i)); + + values.put("KEYACCOUNT", data.getKEYACCOUNT().get(i)); + values.put("CLASS_ID", data.getCLASS_ID().get(i)); + + values.put("CAMERA_ALLOW", data.getCAMERA_ALLOW().get(i)); + values.put("GEO_TAG", data.getGEO_TAG().get(i)); + + values.put("VISIT_ORDER", data.getVISIT_ORDER().get(i)); + values.put("LATITUDE", data.getLATITUDE().get(i)); + values.put("LONGITUDE", data.getLONGITUDE().get(i)); + values.put("POG_TYPE_ID", data.getPOG_TYPE_ID().get(i)); + + db.insert("JOURNEY_PLAN_PHARMA", null, values); + + } + + } catch (Exception ex) { + Log.d("Exception in ADHOC_JCP", ex.toString()); + } + } + + // get MAPPING_PHARMA_QUESTION Data + public ArrayList getPharmaQuestionsData() { + + ArrayList list = new ArrayList<>(); + Cursor dbcursor = null; + + 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 QUESTION_ID, QUESTION FROM MAPPING_PHARMA_QUESTION ORDER BY QUESTION_SEQUENCE", null); + + if (dbcursor != null) { + dbcursor.moveToFirst(); + while (!dbcursor.isAfterLast()) { + MappingPharmaQuestionGetterSetter qns = new MappingPharmaQuestionGetterSetter(); + + qns.setQUESTION_ID(dbcursor.getString(dbcursor.getColumnIndexOrThrow("QUESTION_ID"))); + qns.setQUESTION(dbcursor.getString(dbcursor.getColumnIndexOrThrow("QUESTION"))); + + + list.add(qns); + dbcursor.moveToNext(); + } + dbcursor.close(); + return list; + } + } catch (Exception e) { + + Log.d("Exception ", "get Chat Message" + e.toString()); + } + return list; + } + + + // get MAPPING_PHARMA_QUESTION Answer data + public ArrayList getPharmaAnswerData(String questionId) { + + ArrayList list = new ArrayList<>(); + Cursor dbcursor = null; + + 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 * FROM MAPPING_PHARMA_QUESTION WHERE QUESTION_ID='"+ questionId +"' ORDER BY QUESTION_SEQUENCE", null); + + if (dbcursor != null) { + dbcursor.moveToFirst(); + while (!dbcursor.isAfterLast()) { + MappingPharmaQuestionGetterSetter qns = new MappingPharmaQuestionGetterSetter(); + + qns.setQUESTION_ID(dbcursor.getString(dbcursor.getColumnIndexOrThrow("QUESTION_ID"))); + qns.setQUESTION(dbcursor.getString(dbcursor.getColumnIndexOrThrow("QUESTION"))); + qns.setBRAND_ID(dbcursor.getString(dbcursor.getColumnIndexOrThrow("BRAND_ID"))); + qns.setBRAND(dbcursor.getString(dbcursor.getColumnIndexOrThrow("BRAND"))); + qns.setSUB_CATEGORY_ID(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SUB_CATEGORY_ID"))); + qns.setSUB_CATEGORY(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SUB_CATEGORY"))); + + list.add(qns); + dbcursor.moveToNext(); + } + dbcursor.close(); + return list; + } + } catch (Exception e) { + + Log.d("Exception ", "get Chat Message" + e.toString()); + } + return list; + } + + //Insert Store Detail Pharma stores + public void InsertStoreDetailPharma( + String storeId, List hashMapListHeaderData, + HashMap> hashMapListChildData) { + + db.delete(CommonString.TABLE_INSERT_STORE_PROFILE_DATA, CommonString.KEY_STORE_ID +"='" +storeId +"'", null); + + ContentValues values = new ContentValues(); + + try { + db.beginTransaction(); + for (int i = 0; i < hashMapListHeaderData.size(); i++) { + + for (int j = 0; j < hashMapListChildData.get(hashMapListHeaderData.get(i)).size(); j++) { + MappingPharmaQuestionGetterSetter data = hashMapListChildData.get(hashMapListHeaderData.get(i)).get(j); + + values.put(CommonString.KEY_STORE_ID, storeId); + values.put(CommonString.KEY_QUESTION_ID, data.getQUESTION_ID().get(0)); + values.put(CommonString.KEY_QUESTION, data.getQUESTION().get(0)); + values.put(CommonString.KEY_SUB_CATEGORY_ID, data.getSUB_CATEGORY_ID().get(0)); + values.put(CommonString.KEY_SUB_CATEGORY, data.getSUB_CATEGORY().get(0)); + values.put(CommonString.KEY_BRAND_ID, data.getBRAND_ID().get(0)); + values.put(CommonString.KEY_BRAND, data.getBRAND().get(0)); + values.put(CommonString.KEY_IMAGE, data.getImgPath()); + values.put(CommonString.KEY_PRESENT, data.getIsChecked()); + + db.insert(CommonString.TABLE_INSERT_STORE_PROFILE_DATA, null, values); + } + } + db.setTransactionSuccessful(); + db.endTransaction(); + } catch (Exception ex) { + Log.d("Exception ", " in Insert MSL_Availability_StockFacing " + ex.toString()); + } + } } 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 09c3314..23cf163 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/GeoTag/GeoTagActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/GeoTag/GeoTagActivity.java @@ -241,7 +241,10 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb if (store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)) { db.updateStatus(storeid, status, latitude, longitude, CommonString.KEY_ADHOC_JOURNEY_PLAN); } - else { + else if (store_flag_str.equalsIgnoreCase(CommonString.FROM_ADDITIONAL)) { + db.updateStatus(storeid, status, latitude, longitude, CommonString.KEY_JOURNEY_PLAN_ADDITIONAL); + } + else{ db.updateStatus(storeid, status, latitude, longitude, CommonString.KEY_JOURNEY_PLAN); } @@ -726,10 +729,13 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb db.updateGeoTagData(geotaglist.get(i).storeid, statusD); if (store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)) { - db.updateDataStatus(geotaglist.get(i).getStoreid(), statusD, CommonString.KEY_ADHOC_JOURNEY_PLAN); + db.updateDataStatus(geotaglist.get(i), statusD, CommonString.KEY_ADHOC_JOURNEY_PLAN); + } + else if (store_flag_str.equalsIgnoreCase(CommonString.FROM_ADDITIONAL)) { + db.updateDataStatus(geotaglist.get(i), statusD, CommonString.KEY_JOURNEY_PLAN_ADDITIONAL); } else { - db.updateDataStatus(geotaglist.get(i).getStoreid(), statusD, CommonString.KEY_JOURNEY_PLAN); + db.updateDataStatus(geotaglist.get(i), statusD, CommonString.KEY_JOURNEY_PLAN); } } @@ -990,10 +996,13 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb db.updateGeoTagData(geotaglistImage.get(i).getStoreid(), Statustag); if (store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)) { - db.updateDataStatus(geotaglistImage.get(i).getStoreid(), Statustag, CommonString.KEY_ADHOC_JOURNEY_PLAN); + db.updateDataStatus(geotaglistImage.get(i), Statustag, CommonString.KEY_ADHOC_JOURNEY_PLAN); } - else { - db.updateDataStatus(geotaglistImage.get(i).getStoreid(), Statustag, CommonString.KEY_JOURNEY_PLAN); + else if (store_flag_str.equalsIgnoreCase(CommonString.FROM_ADDITIONAL)) { + db.updateDataStatus(geotaglistImage.get(i), Statustag, CommonString.KEY_JOURNEY_PLAN_ADDITIONAL); + } + else{ + db.updateDataStatus(geotaglistImage.get(i), Statustag, CommonString.KEY_JOURNEY_PLAN); } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/LoginActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/LoginActivity.java index fa156c8..b4df3d2 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/LoginActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/LoginActivity.java @@ -697,14 +697,6 @@ public class LoginActivity extends AppCompatActivity implements GoogleApiClient. finish(); } else { - CommonFunctions.updateLangResources(getApplicationContext(), preferences.getString(CommonString.KEY_LANGUAGE, "")); - - /*Intent intent = new Intent(getBaseContext(), - MainActivity.class); - startActivity(intent); - - finish();*/ - Intent in = new Intent(getApplicationContext(), MPinActivity.class); in.putExtra(CommonString.IS_PASSWORD_CHECK, false); startActivity(in); @@ -725,9 +717,8 @@ public class LoginActivity extends AppCompatActivity implements GoogleApiClient. startActivity(intent); finish(); } - //For SA Only - /*if (preferences.getString(CommonString.KEY_LANGUAGE, "").equals("")) { + /* if (preferences.getString(CommonString.KEY_LANGUAGE, "").equals("")) { Intent intent = new Intent(getBaseContext(), SelectLanguageActivity.class); @@ -740,11 +731,12 @@ public class LoginActivity extends AppCompatActivity implements GoogleApiClient. CommonFunctions.updateLangResources(getApplicationContext(), preferences.getString(CommonString.KEY_LANGUAGE, "")); - Intent intent = new Intent(getBaseContext(), - MainActivity.class); - startActivity(intent); - finish(); + Intent in = new Intent(getApplicationContext(), MPinActivity.class); + in.putExtra(CommonString.IS_PASSWORD_CHECK, false); + startActivity(in); + finish(); + //uploadPreviousImages(); }*/ @@ -943,12 +935,12 @@ public class LoginActivity extends AppCompatActivity implements GoogleApiClient. file_planogram.mkdir(); } - if (Build.VERSION.SDK_INT >= 23 && ContextCompat.checkSelfPermission(getApplicationContext(), + /* 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 @@ -1022,12 +1014,12 @@ public class LoginActivity extends AppCompatActivity implements GoogleApiClient. */ - if (Build.VERSION.SDK_INT >= 23 && ContextCompat.checkSelfPermission(getApplicationContext(), + /* 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 diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java index 051e81a..4c91738 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java @@ -50,6 +50,8 @@ import cpm.com.gskmtorange.dailyentry.SettingsActivity; import cpm.com.gskmtorange.dailyentry.StoreListActivity; import cpm.com.gskmtorange.download.DownloadActivity; import cpm.com.gskmtorange.password.ChangePasswordActivity; +import cpm.com.gskmtorange.pharma_stores.PharmaActivity; +import cpm.com.gskmtorange.pharma_stores.PharmaActivityFragment; import cpm.com.gskmtorange.upload.PreviousDataUploadActivity; import cpm.com.gskmtorange.upload.UploadActivity; import cpm.com.gskmtorange.xmlGetterSetter.ConfigurationMasterGetterSetter; @@ -197,9 +199,8 @@ public class MainActivity extends AppCompatActivity } //temp remove it - /* Menu nav_Menu1 = navigationView.getMenu(); + /*Menu nav_Menu1 = navigationView.getMenu(); nav_Menu1.findItem(R.id.nav_deviation).setVisible(true);*/ - if (configurationData.get(i).getCONFIGURE().get(0).equalsIgnoreCase("PDF ALLOW") && configurationData.get(i).getACTIVE().get(0).equalsIgnoreCase("1")) { Menu nav_Menu = navigationView.getMenu(); @@ -442,6 +443,34 @@ public class MainActivity extends AppCompatActivity startActivity(in); overridePendingTransition(R.anim.activity_in, R.anim.activity_out); + } else if (id == R.id.nav_pharmacy_stores) { + /*Intent in = new Intent(this, PharmaActivity.class); + startActivity(in);*/ + + Intent in = new Intent(this, StoreListActivity.class); + in.putExtra(CommonString.KEY_STORE_FLAG, CommonString.FROM_PHARMA); + + startActivity(in); + + overridePendingTransition(R.anim.activity_in, R.anim.activity_out); + } else if (id == R.id.nav_additional_stores) { + db.open(); + + if (db.getSKUMasterData(null).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_ADDITIONAL); + + startActivity(in); + + overridePendingTransition(R.anim.activity_in, R.anim.activity_out); + } } DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/comparators/StatusCompare.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/comparators/StatusCompare.java new file mode 100644 index 0000000..576a83e --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/comparators/StatusCompare.java @@ -0,0 +1,13 @@ +package cpm.com.gskmtorange.comparators; + +import java.util.Comparator; + +import cpm.com.gskmtorange.GetterSetter.StoreBean; + +public class StatusCompare implements Comparator { + + @Override + public int compare(StoreBean o1, StoreBean o2) { + return o1.getUPLOAD_STATUS().compareTo(o2.getUPLOAD_STATUS()); + } +} 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 08ce1fe..9bc4897 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonString.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonString.java @@ -95,9 +95,13 @@ public class CommonString { public static final String KEY_JOURNEY_PLAN = "JOURNEY_PLAN"; public static final String KEY_ADHOC_JOURNEY_PLAN = "ADHOC_JOURNEYPLAN"; + public static final String KEY_JOURNEY_PLAN_ADDITIONAL = "JOURNEY_PLAN_ADDITIONAL"; + public static final String KEY_JOURNEY_PLAN_PHARMA = "JOURNEY_PLAN_PHARMA"; public static final String KEY_STORE_FLAG = "STORE_FLAG"; public static final String FROM_DEVIATION = "DEVIATION"; public static final String FROM_JCP = "JCP"; + public static final String FROM_ADDITIONAL = "ADDITIONAL"; + public static final String FROM_PHARMA = "PHARMA"; public static final String TABLE_INSERT_STOCK_DIALOG = "STOCK_DIALOG"; @@ -130,10 +134,16 @@ public class CommonString { public static final String KEY_NO_DATA = "NODATA"; + public static final int COUNTRY_ID_EGYPT = 6; + public static final int UNIT_VERTICAL = 50; public static final int UNIT_HORIZONTAL = 200; public static String URL = "http://gskme.parinaam.in/Gskwebservice.asmx"; + + //temp remove + //public static String URL = "http://gskmetest.parinaam.in/gskwebservice.asmx"; + public static final String NAMESPACE = "http://tempuri.org/"; public static final String METHOD_LOGIN = "UserLoginDetail"; public static final String SOAP_ACTION_LOGIN = "http://tempuri.org/" @@ -145,6 +155,8 @@ public class CommonString { public static final String METHOD_UPLOAD_STOCK_XML_DATA = "DrUploadXml"; public static final String METHOD_UPLOAD_CURRENT_DATA = "CurrentLocation"; + public static final String METHOD_UPLOAD_CURRENT_DATA_ADDITIONAL = "CurrentLocation_Additional"; + public static final String METHOD_UPLOAD_CURRENT_DATA_PHARMA = "CurrentLocation_Pharma"; public static final String SOAP_ACTION_UPLOAD_CURRRENT_DATA = "http://tempuri.org/" + METHOD_UPLOAD_CURRENT_DATA; @@ -169,8 +181,14 @@ 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_NEW_ADDITIONAL = "UPLOAD_COVERAGENEW2_Additional"; + public static final String METHOD_UPLOAD_CHECKOUT_STATUS = "Upload_Store_ChecOut_Status"; + public static final String METHOD_UPLOAD_CHECKOUT_STATUS_ADDITIONAL = "Upload_Store_ChecOut_Status_Additional"; + public static final String METHOD_UPLOAD_CHECKOUT_STATUS_PHARMA = "Upload_Store_ChecOut_Status_Pharma"; public static final String METHOD_UPLOAD_COVERAGE_STATUS = "UploadCoverage_Status"; + public static final String METHOD_UPLOAD_COVERAGE_STATUS_ADDITIONAL = "UploadCoverage_Status_Additional"; + public static final String METHOD_UPLOAD_COVERAGE_STATUS_PHARMA = "UploadCoverage_Status_Pharma"; public static final String SOAP_ACTION = "http://tempuri.org/"; @@ -1052,6 +1070,7 @@ public class CommonString { public static String TABLE_MAPPING_STOCK_ADHOC = "MAPPING_STOCK_ADHOC"; public static String TABLE_MAPPING_STOCK = "MAPPING_STOCK"; public static String TABLE_MAPPING_STOCK_STOREWISE = "MAPPING_STOCK_STOREWISE"; + public static String TABLE_MAPPING_STOCK_ADDITIONAL = "MAPPING_STOCK_ADDITIONAL"; public static String TABLE_MAPPING_T2P_ADHOC = "MAPPING_T2P_ADHOC"; public static String TABLE_MAPPING_PROMOTION_ADHOC = "MAPPING_PROMOTION_ADHOC"; public static String TABLE_MAPPING_ADDITIONAL_PROMOTION_ADHOC = "MAPPING_ADDITIONAL_PROMOTION_ADHOC"; @@ -1140,4 +1159,65 @@ public class CommonString { + " VARCHAR" + ")"; + + public static final String TABLE_INSERT_STOCK = "Stock_Data"; + + public static final String CREATE_TABLE_INSERT_STOCK = "CREATE TABLE IF NOT EXISTS " + + TABLE_INSERT_STOCK + + "(" + + "KEY_ID" + + " INTEGER PRIMARY KEY AUTOINCREMENT ," + + + "Store_Id" + + " INTEGER," + + + "Category_Id" + + " INTEGER," + + + "Brand_Id" + + " VARCHAR," + + + "SKU_ID" + + " INTEGER," + + + "SKU" + + " VARCHAR," + + + "SKU_SEQUENCE" + + " VARCHAR," + + + "MBQ" + + " VARCHAR," + + + "COMPANY_ID" + + " INTEGER," + + + "STOCK" + + " INTEGER," + + + "TOGGLE_VALUE" + + " VARCHAR," + + + "MUST_HAVE" + + " VARCHAR" + + + ")"; + + public static final String TABLE_INSERT_STORE_PROFILE_DATA = "Store_Profile_Data"; + public static final String KEY_QUESTION_ID = "QUESTION_ID"; + public static final String KEY_QUESTION = "QUESTION"; + + public static final String CREATE_TABLE_INSERT_STORE_PROFILE_DATA = "CREATE TABLE IF NOT EXISTS " + TABLE_INSERT_STORE_PROFILE_DATA + + " (" + + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT ," + + KEY_STORE_ID + " INTEGER, " + + KEY_QUESTION_ID + " INTEGER," + + KEY_QUESTION + " VARCHAR," + + KEY_SUB_CATEGORY_ID + " INTEGER," + + KEY_SUB_CATEGORY + " VARCHAR," + + KEY_BRAND_ID + " INTEGER," + + KEY_BRAND + " VARCHAR," + + KEY_IMAGE + " VARCHAR," + + KEY_PRESENT + " INTEGER)"; + } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CheckoutActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CheckoutActivity.java index 80ba7c2..def7a31 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CheckoutActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CheckoutActivity.java @@ -143,7 +143,19 @@ public class CheckoutActivity extends AppCompatActivity { final String sos_xml = "[DATA]" + onXML + "[/DATA]"; - SoapObject request = new SoapObject(CommonString.NAMESPACE, "Upload_Store_ChecOut_Status"); + String service; + + if(store_flag_str.equals(CommonString.FROM_ADDITIONAL)){ + service = CommonString.METHOD_UPLOAD_CHECKOUT_STATUS_ADDITIONAL; + } + else if(store_flag_str.equals(CommonString.FROM_PHARMA)){ + service = CommonString.METHOD_UPLOAD_CHECKOUT_STATUS_PHARMA; + } + else{ + service = CommonString.METHOD_UPLOAD_CHECKOUT_STATUS; + } + + SoapObject request = new SoapObject(CommonString.NAMESPACE, service); request.addProperty("onXML", sos_xml); /*request.addProperty("KEYS", "CHECKOUT_STATUS"); request.addProperty("USERNAME", username);*/ @@ -154,18 +166,18 @@ public class CheckoutActivity extends AppCompatActivity { envelope.setOutputSoapObject(request); HttpTransportSE androidHttpTransport = new HttpTransportSE(CommonString.URL); - androidHttpTransport.call(CommonString.SOAP_ACTION + "Upload_Store_ChecOut_Status", envelope); + androidHttpTransport.call(CommonString.SOAP_ACTION + service, envelope); Object result = (Object) envelope.getResponse(); if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { - return "Upload_Store_ChecOut_Status"; + return service; } if (result.toString().equalsIgnoreCase(CommonString.KEY_NO_DATA)) { - return "Upload_Store_ChecOut_Status"; + return service; } if (result.toString().equalsIgnoreCase(CommonString.KEY_FAILURE)) { - return "Upload_Store_ChecOut_Status"; + return service; } data.value = 100; @@ -192,10 +204,13 @@ public class CheckoutActivity extends AppCompatActivity { editor.commit(); 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 if(store_flag_str.equals(CommonString.FROM_ADDITIONAL)){ + table = CommonString.KEY_JOURNEY_PLAN_ADDITIONAL; + } + else{ table = CommonString.KEY_ADHOC_JOURNEY_PLAN; } @@ -203,7 +218,7 @@ public class CheckoutActivity extends AppCompatActivity { } else { if (result.toString().equalsIgnoreCase(CommonString.KEY_FALSE)) { - return "Upload_Store_ChecOut_Status"; + return service; } } return CommonString.KEY_SUCCESS; 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 e6ede5b..daed516 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NoCameraActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NoCameraActivity.java @@ -75,7 +75,7 @@ public class NoCameraActivity extends AppCompatActivity implements Listener { RecyclerView rvTop; MSL_AvailabilityStockFacingGetterSetter sub_category_data; - FloatingActionButton fab; + FloatingActionButton fab, fab_add; ScrollView scroll_no_camera; @@ -93,6 +93,7 @@ public class NoCameraActivity extends AppCompatActivity implements Listener { getSupportActionBar().setDisplayHomeAsUpEnabled(true); fab = (FloatingActionButton) findViewById(R.id.fab); + fab_add = (FloatingActionButton) findViewById(R.id.fab_add); rvTop = (RecyclerView) findViewById(R.id.rvTop); linear_bottom_parent = (LinearLayout) findViewById(R.id.lin_bottom_parent); @@ -222,6 +223,16 @@ public class NoCameraActivity extends AppCompatActivity implements Listener { rec_bottom.scrollToPosition(sku_group_master.size() - 1); tv.setOnDragListener(adapter.getDragInstance()); + + //delete row on LongClick + tv.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View tvView) { + showDeleteDialog(tvView); + return false; + } + }); + rec_bottom.setOnDragListener(adapter.getDragInstance()); setEmptyListBottom(false, tv.getId(), rec_bottom); @@ -299,6 +310,18 @@ public class NoCameraActivity extends AppCompatActivity implements Listener { rec_bottom.setAdapter(adapter); tv.setOnDragListener(adapter.getDragInstance()); + + //delete row on LongClick + tv.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View tvView) { + showDeleteDialog(tvView); + + return false; + } + }); + + rec_bottom.setOnDragListener(adapter.getDragInstance()); } @@ -354,6 +377,13 @@ public class NoCameraActivity extends AppCompatActivity implements Listener { } } }); + + fab_add.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + addRow(); + } + }); } private int getTotalUnit(List sku_group_master) { @@ -1164,4 +1194,138 @@ public class NoCameraActivity extends AppCompatActivity implements Listener { } return width; } + + void addRow(){ + DynamycIdsGetterSetter dynamic_ids = new DynamycIdsGetterSetter(); + + // first Button + RelativeLayout rLayout = new RelativeLayout(getApplicationContext()); + RelativeLayout.LayoutParams lprams = new RelativeLayout.LayoutParams( + RelativeLayout.LayoutParams.MATCH_PARENT, + RelativeLayout.LayoutParams.WRAP_CONTENT); + TextView tv = new TextView(getApplicationContext()); + //tv.setHeight(60); + tv.setTextSize(20); + tv.setBackgroundColor(getResources().getColor(R.color.grey_textview)); + tv.setText("Drop SKU Groups Here "); + tv.setPadding(5, 20, 0, 20); + tv.setLayoutParams(lprams); + int tv_id = View.generateViewId(); + tv.setId(tv_id); + + //set dynamic textview id to object + dynamic_ids.setTextview_id(tv_id); + + RecyclerView rec_bottom = new RecyclerView(getApplicationContext()); + int rec_id = View.generateViewId(); + + //set dynamic recycler id to object + dynamic_ids.setRecycler_id(rec_id); + + rec_bottom.setLayoutParams(lprams); + rec_bottom.setPadding(0, 0, 0, 0); + + rec_bottom.setVisibility(View.GONE); + + rec_bottom.setId(rec_id); + rec_bottom.setBackgroundColor(getResources().getColor(R.color.grey_background)); + + RelativeLayout.LayoutParams lprams2 = new RelativeLayout.LayoutParams( + RelativeLayout.LayoutParams.MATCH_PARENT, + RelativeLayout.LayoutParams.WRAP_CONTENT); + lprams2.height = 2; + View view = new View(getApplicationContext()); + view.setBackgroundColor(getResources().getColor(R.color.white)); + view.setLayoutParams(lprams2); + + rLayout.addView(tv); + rLayout.addView(rec_bottom); + rLayout.addView(view); + rLayout.setBackgroundColor(getResources().getColor(R.color.white)); + + linear_bottom_parent.addView(rLayout); + + ids.add(dynamic_ids); + + rec_bottom.setLayoutManager(new LinearLayoutManager( + this, LinearLayoutManager.HORIZONTAL, false)); + + List bottomList = new ArrayList<>(); + + /* bottomList.add("C"); + bottomList.add("D");*/ + + /*setEmptyListBottom(true); + ListAdapter bottomListAdapter = new ListAdapter(bottomList, this); + rvBottom.setAdapter(bottomListAdapter);*/ + + List brands = new ArrayList<>(); + + MyAdapter adapter = new MyAdapter(getApplicationContext(), brands, this, rec_bottom); + rec_bottom.setAdapter(adapter); + + tv.setOnDragListener(adapter.getDragInstance()); + + //delete row on LongClick + tv.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(final View tvView) { + + showDeleteDialog(tvView); + + return false; + } + }); + + rec_bottom.setOnDragListener(adapter.getDragInstance()); + + //increase No of rows + number_of_rows++; + } + + void showDeleteDialog(final View tvView){ + + final Dialog dialog = new Dialog(NoCameraActivity.this); + dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); + dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); + dialog.setContentView(R.layout.delete_row_alert_dialog); + + final Button btn_no = (Button) dialog.findViewById(R.id.btn_no); + final Button btn_yes = (Button) dialog.findViewById(R.id.btn_yes); + + btn_yes.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + int position = -1; + + for (int i = 0; i < ids.size(); i++) { + + if (ids.get(i).getTextview_id() == tvView.getId()) { + position = i; + break; + } + } + + if(position!=-1){ + linear_bottom_parent.removeViewAt(position); + linear_bottom_parent.invalidate(); + + ids.remove(position); + --number_of_rows; + } + + dialog.cancel(); + } + }); + + btn_no.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dialog.cancel(); + } + }); + + dialog.show(); + } } 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 a674447..7a83cee 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NonWorkingReason.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NonWorkingReason.java @@ -147,7 +147,16 @@ public class NonWorkingReason extends AppCompatActivity implements database.open(); str = CommonString.FILE_PATH; - storelist = database.getStoreData(visit_date,CommonString.KEY_JOURNEY_PLAN ); + //storelist = database.getStoreData(visit_date,CommonString.KEY_JOURNEY_PLAN ); + + if(store_flag_str.equals(CommonString.FROM_JCP)){ + + storelist = database.getStoreData(visit_date,CommonString.KEY_JOURNEY_PLAN ); + } + else if(store_flag_str.equals(CommonString.FROM_ADDITIONAL)){ + //Additional Journey Plan - Egypt + storelist = database.getStoreData(visit_date,CommonString.KEY_JOURNEY_PLAN_ADDITIONAL); + } coverage = database.getCoverageData(visit_date, CommonString.FROM_JCP); @@ -484,7 +493,8 @@ public class NonWorkingReason extends AppCompatActivity implements database.InsertCoverageData(cdata); - database.updateStoreStatusOnLeave(store_id, visit_date, CommonString.STORE_STATUS_LEAVE, CommonString.FROM_JCP); + database.updateStoreStatusOnLeave(store_id, visit_date, CommonString.STORE_STATUS_LEAVE, store_flag_str); + SharedPreferences.Editor editor = preferences.edit(); @@ -523,7 +533,8 @@ public class NonWorkingReason extends AppCompatActivity implements database.InsertCoverageData(cdata); - database.updateStoreStatusOnLeave(store_id, visit_date, CommonString.STORE_STATUS_LEAVE, CommonString.FROM_JCP); + //database.updateStoreStatusOnLeave(store_id, visit_date, CommonString.STORE_STATUS_LEAVE, CommonString.FROM_JCP); + database.updateStoreStatusOnLeave(store_id, visit_date, CommonString.STORE_STATUS_LEAVE, store_flag_str); SharedPreferences.Editor editor = preferences .edit(); @@ -683,7 +694,7 @@ public class NonWorkingReason extends AppCompatActivity implements GSKOrangeDB db = new GSKOrangeDB(NonWorkingReason.this); db.open(); - coverage = db.getCoverageWithStoreID_Data(store_id); + coverage = db.getCoverageWithStoreID_Data(store_id, visit_date); // uploading Geotag @@ -691,52 +702,61 @@ public class NonWorkingReason extends AppCompatActivity implements SAXParser saxP = saxPF.newSAXParser(); XMLReader xmlR = saxP.getXMLReader(); + String service; + + if(coverage.get(0).getFlag_from().equals(CommonString.FROM_ADDITIONAL)){ + service = CommonString.METHOD_UPLOAD_CURRENT_DATA_ADDITIONAL; + } + else { + service = CommonString.METHOD_UPLOAD_CURRENT_DATA; + + } String current_xml = ""; if (coverage.size() > 0) { - for (int i = 0; i < coverage.size(); i++) { + //for (int i = 0; i < coverage.size(); i++) { - String onXML = "[Coverage_Intime][USER_ID]" - + _UserId - + "[/USER_ID]" - + "[STORE_ID]" - + coverage.get(i).getStoreId() - + "[/STORE_ID]" - + "[VISIT_DATE]" - + coverage.get(i).getVisitDate() - + "[/VISIT_DATE]" - + "[IN_TIME]" - + coverage.get(i).getInTime() - + "[/IN_TIME]" - + "[LATITUDE]" - + coverage.get(i).getLatitude() - + "[/LATITUDE]" - + "[LONGITUDE ]" - + coverage.get(i).getLongitude() - + "[/LONGITUDE ]" - + "[REASON_ID]" - + coverage.get(i).getReasonid() - + "[/REASON_ID]" - + "[REMARK]" - + coverage.get(i).getReason() - + "[/REMARK][/Coverage_Intime]"; + String onXML = "[Coverage_Intime][USER_ID]" + + _UserId + + "[/USER_ID]" + + "[STORE_ID]" + + coverage.get(0).getStoreId() + + "[/STORE_ID]" + + "[VISIT_DATE]" + + coverage.get(0).getVisitDate() + + "[/VISIT_DATE]" + + "[IN_TIME]" + + coverage.get(0).getInTime() + + "[/IN_TIME]" + + "[LATITUDE]" + + coverage.get(0).getLatitude() + + "[/LATITUDE]" + + "[LONGITUDE ]" + + coverage.get(0).getLongitude() + + "[/LONGITUDE ]" + + "[REASON_ID]" + + coverage.get(0).getReasonid() + + "[/REASON_ID]" + + "[REMARK]" + + coverage.get(0).getReason() + + "[/REMARK][/Coverage_Intime]"; - current_xml = current_xml + onXML; + //current_xml = current_xml + onXML; - } + //} - current_xml = "[DATA]" + current_xml + current_xml = "[DATA]" + onXML + "[/DATA]"; SoapObject request = new SoapObject(CommonString.NAMESPACE, - CommonString.METHOD_UPLOAD_CURRENT_DATA); + service); //request.addProperty("MID", "0"); - // request.addProperty("KEYS", "CURRENT_DATA"); - // request.addProperty("USERNAME", username); + // request.addProperty("KEYS", "CURRENT_DATA"); + // request.addProperty("USERNAME", username); request.addProperty("onXML", current_xml); @@ -748,7 +768,7 @@ public class NonWorkingReason extends AppCompatActivity implements HttpTransportSE androidHttpTransport = new HttpTransportSE( CommonString.URL); androidHttpTransport.call( - CommonString.SOAP_ACTION_UPLOAD_CURRRENT_DATA, envelope); + CommonString.SOAP_ACTION + service, envelope); Object result = (Object) envelope.getResponse(); if (result.toString().equalsIgnoreCase( @@ -759,7 +779,7 @@ public class NonWorkingReason extends AppCompatActivity implements if (result.toString().equalsIgnoreCase( CommonString.KEY_FALSE)) { - return CommonString.METHOD_UPLOAD_CURRENT_DATA; + return service; } // for failure diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StockActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StockActivity.java new file mode 100644 index 0000000..8bd8b87 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StockActivity.java @@ -0,0 +1,634 @@ +package cpm.com.gskmtorange.dailyentry; + +import android.app.AlertDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.content.SharedPreferences; +import android.graphics.Typeface; +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.Toolbar; +import android.view.LayoutInflater; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.view.inputmethod.InputMethodManager; +import android.widget.AbsListView; +import android.widget.BaseExpandableListAdapter; +import android.widget.EditText; +import android.widget.ExpandableListView; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.RelativeLayout; +import android.widget.TextView; + +import java.util.ArrayList; +import java.util.HashMap; +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.interfaces.DialogCallbackListener; +import cpm.com.gskmtorange.xmlGetterSetter.MSL_AvailabilityStockFacingGetterSetter; + +public class StockActivity extends AppCompatActivity implements DialogCallbackListener { + + GSKOrangeDB db; + + String categoryName, categoryId, storeId, Error_Message = ""; + String store_id, visit_date, username, intime, date, keyAccount_id, class_id, storeType_id, country_id, store_flag_str; + boolean isDialogOpen = true; + private SharedPreferences preferences; + int scrollPosition = 0; + + ExpandableListView expandableListView; + ExpandableListAdapter adapter; + + ArrayList headerDataList; + ArrayList childDataList; + List hashMapListHeaderData; + HashMap> hashMapListChildData; + + List checkHeaderArray = new ArrayList<>(); + boolean checkflag = true; + FloatingActionButton fab; + boolean editFlag = false; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_stock); + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + + preferences = PreferenceManager.getDefaultSharedPreferences(this); + CommonFunctions.updateLangResources(getApplicationContext(), preferences.getString(CommonString.KEY_LANGUAGE, "")); + store_id = preferences.getString(CommonString.KEY_STORE_ID, null); + visit_date = preferences.getString(CommonString.KEY_DATE, null); + date = preferences.getString(CommonString.KEY_DATE, null); + username = preferences.getString(CommonString.KEY_USERNAME, null); + intime = preferences.getString(CommonString.KEY_STORE_IN_TIME, ""); + 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, ""); + store_flag_str = preferences.getString(CommonString.KEY_STORE_FLAG, null); + + expandableListView = (ExpandableListView) findViewById(R.id.expandableListView); + + db = new GSKOrangeDB(this); + db.open(); + + //Intent data + categoryName = getIntent().getStringExtra("categoryName"); + categoryId = getIntent().getStringExtra("categoryId"); + + //txt_mslAvailabilityName.setText(getResources().getString(R.string.title_activity_msl__availability)); + toolbar.setTitle(getResources().getString(R.string.title_activity_stock_data)); + + fab = (FloatingActionButton) findViewById(R.id.fab); + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + + expandableListView.clearFocus(); + + if (validateData(hashMapListHeaderData, hashMapListChildData)) { + /*AlertDialog.Builder builder = new AlertDialog.Builder(StockActivity.this); + builder.setMessage(getResources().getString(R.string.check_save_message)) + .setCancelable(false) + .setPositiveButton(getResources().getString(R.string.yes), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + + } + }) + .setNegativeButton(getResources().getString(R.string.no), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.cancel(); + } + }); + AlertDialog alert = builder.create(); + alert.show();*/ + + db.open(); + + if (db.checkStockData(store_id, categoryId)) { + db.updateStockData(store_id, categoryId, hashMapListHeaderData, hashMapListChildData); + Snackbar.make(expandableListView, getResources().getString(R.string.update_message), Snackbar.LENGTH_LONG).setAction("Action", null).show(); + } else { + db.InsertStockData(store_id, categoryId, hashMapListHeaderData, hashMapListChildData); + Snackbar.make(expandableListView, getResources().getString(R.string.save_message), Snackbar.LENGTH_LONG).setAction("Action", null).show(); + } + finish(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } else { + + for (int i = 0; i < adapter.getGroupCount(); i++) + expandableListView.expandGroup(i); + + /* AlertDialog.Builder builder = new AlertDialog.Builder(StockActivity.this); + builder.setMessage(Error_Message) + .setCancelable(false) + .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + expandableListView.smoothScrollToPosition(scrollPosition); + + if (!expandableListView.isGroupExpanded(scrollPosition)) { + expandableListView.expandGroup(scrollPosition); + } + dialog.dismiss(); + } + }); + AlertDialog alert = builder.create(); + alert.show();*/ + } + } + }); + + expandableListView.setOnScrollListener(new AbsListView.OnScrollListener() { + @Override + public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { + + expandableListView.invalidate(); + + int lastItem = firstVisibleItem + visibleItemCount; + + if (firstVisibleItem == 0) { + fab.show();//setVisibility(View.VISIBLE); + } else if (lastItem == totalItemCount) { + fab.hide();//setVisibility(View.INVISIBLE); + } else { + fab.show();//setVisibility(View.VISIBLE); + } + } + + @Override + public void onScrollStateChanged(AbsListView arg0, int arg1) { + InputMethodManager inputManager = (InputMethodManager) getApplicationContext() + .getSystemService(Context.INPUT_METHOD_SERVICE); + if (getCurrentFocus() != null) { + inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0); + getCurrentFocus().clearFocus(); + } + + expandableListView.invalidateViews(); + } + }); + + // Listview Group click listener + expandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() { + @Override + public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) { + return false; + } + }); + + // Listview Group expanded listener + expandableListView.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() { + @Override + public void onGroupExpand(int groupPosition) { + InputMethodManager inputManager = (InputMethodManager) getApplicationContext() + .getSystemService(Context.INPUT_METHOD_SERVICE); + if (getWindow().getCurrentFocus() != null) { + inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0); + getCurrentFocus().clearFocus(); + } + } + }); + + // Listview Group collasped listener + expandableListView.setOnGroupCollapseListener(new ExpandableListView.OnGroupCollapseListener() { + @Override + public void onGroupCollapse(int groupPosition) { + InputMethodManager inputManager = (InputMethodManager) getApplicationContext() + .getSystemService(Context.INPUT_METHOD_SERVICE); + if (getWindow().getCurrentFocus() != null) { + inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0); + getCurrentFocus().clearFocus(); + } + } + }); + + // Listview on child click listener + expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { + @Override + public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, + int childPosition, long id) { + return false; + } + }); + + prepareList(); + } + + @Override + protected void onResume() { + super.onResume(); + + } + + private void prepareList() { + try { + hashMapListHeaderData = new ArrayList<>(); + hashMapListChildData = new HashMap<>(); + + //Header + if(country_id.equals("7")){ + headerDataList = db.getStockFacingHeaderData(categoryId, null, null, null, store_id, CommonString.TABLE_MAPPING_STOCK_STOREWISE, CommonString.TABLE_MAPPING_SOS_TARGET); + } + else if(store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)) { + headerDataList = db.getStockFacingHeaderData(categoryId, keyAccount_id, storeType_id, class_id, store_id,CommonString.TABLE_MAPPING_STOCK_ADHOC, CommonString.TABLE_MAPPING_SOS_TARGET_ADHOC); + } + else if(store_flag_str.equalsIgnoreCase(CommonString.FROM_ADDITIONAL)) { + headerDataList = db.getStockFacingHeaderData(categoryId, keyAccount_id, storeType_id, class_id, store_id,CommonString.TABLE_MAPPING_STOCK_ADDITIONAL, CommonString.TABLE_MAPPING_SOS_TARGET); + } + else{ + headerDataList = db.getStockFacingHeaderData(categoryId, keyAccount_id, storeType_id, class_id, store_id,CommonString.TABLE_MAPPING_STOCK, CommonString.TABLE_MAPPING_SOS_TARGET); + } + + + if (headerDataList.size() > 0) { + for (int i = 0; i < headerDataList.size(); i++) { + hashMapListHeaderData.add(headerDataList.get(i)); + + //childDataList = new ArrayList<>(); + childDataList = db.getStockAfterSaveData(categoryId, headerDataList.get(i).getBrand_id(), store_id); + if (!(childDataList.size() > 0)) { + if (country_id.equals("7")) { + childDataList = db.getMSL_Availability_StockFacingSKUData(categoryId, headerDataList.get(i).getBrand_id(), null, null, null, store_id, CommonString.TABLE_MAPPING_STOCK_STOREWISE); + } else if (store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)) { + childDataList = db.getMSL_Availability_StockFacingSKUData(categoryId, headerDataList.get(i).getBrand_id(), keyAccount_id, storeType_id, class_id, store_id, CommonString.TABLE_MAPPING_STOCK_ADHOC); + } else if (store_flag_str.equalsIgnoreCase(CommonString.FROM_ADDITIONAL)) { + childDataList = db.getMSL_Availability_StockFacingSKUData(categoryId, headerDataList.get(i).getBrand_id(), keyAccount_id, storeType_id, class_id, store_id, CommonString.TABLE_MAPPING_STOCK_ADDITIONAL); + } else { + childDataList = db.getMSL_Availability_StockFacingSKUData(categoryId, headerDataList.get(i).getBrand_id(), keyAccount_id, storeType_id, class_id, store_id, CommonString.TABLE_MAPPING_STOCK); + } + } + + hashMapListChildData.put(hashMapListHeaderData.get(i), childDataList); + } + } + + adapter = new ExpandableListAdapter(this, hashMapListHeaderData, hashMapListChildData); + expandableListView.setAdapter(adapter); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public class ExpandableListAdapter extends BaseExpandableListAdapter { + private Context _context; + private List _listDataHeader; + private HashMap> _listDataChild; + + public ExpandableListAdapter(Context context, List listDataHeader, + HashMap> listChildData) { + this._context = context; + this._listDataHeader = listDataHeader; + this._listDataChild = listChildData; + } + + @Override + public Object getGroup(int groupPosition) { + return this._listDataHeader.get(groupPosition); + } + + @Override + public int getGroupCount() { + return this._listDataHeader.size(); + } + + @Override + public long getGroupId(int groupPosition) { + return groupPosition; + } + + @Override + public View getGroupView(final int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { + MSL_AvailabilityStockFacingGetterSetter headerTitle = (MSL_AvailabilityStockFacingGetterSetter) getGroup(groupPosition); + + if (convertView == null) { + LayoutInflater infalInflater = (LayoutInflater) this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + convertView = infalInflater.inflate(R.layout.item_msl_availability_stock_facing_header, null, false); + } + + TextView txt_categoryHeader = (TextView) convertView.findViewById(R.id.txt_categoryHeader); + RelativeLayout rel_header = (RelativeLayout) convertView.findViewById(R.id.rel_categoryHeader); + ImageView img_camera = (ImageView) convertView.findViewById(R.id.img_camera); + CardView card_view = (CardView) convertView.findViewById(R.id.card_view); + + txt_categoryHeader.setTypeface(null, Typeface.BOLD); + + if (headerTitle.getCompany_id().equals("1")) { + txt_categoryHeader.setTextColor(getResources().getColor(R.color.colorPrimaryDark)); + } else { + txt_categoryHeader.setTextColor(getResources().getColor(R.color.black)); + } + txt_categoryHeader.setText(headerTitle.getSub_category() + "-" + headerTitle.getBrand()); + + + if (!checkflag) { + if (checkHeaderArray.contains(groupPosition)) { + card_view.setCardBackgroundColor(getResources().getColor(android.R.color.holo_red_dark)); + } else { + card_view.setCardBackgroundColor(getResources().getColor(R.color.grey_background)); + } + } + + //empty check color change + /*if (headerTitle.getCompany_id().equals("1")) { + if (!checkflag) { + if (checkHeaderArray.contains(groupPosition)) { + //card_view.setCardBackgroundColor(getResources().getColor(android.R.color.holo_red_dark)); + txt_categoryHeader.setTextColor(getResources().getColor(android.R.color.holo_red_dark)); + } else { + txt_categoryHeader.setTextColor(getResources().getColor(R.color.colorPrimaryDark)); + } + } + } else { + if (!checkflag) { + if (checkHeaderArray.contains(groupPosition)) { + txt_categoryHeader.setTextColor(getResources().getColor(android.R.color.holo_red_dark)); + } else { + txt_categoryHeader.setTextColor(getResources().getColor(R.color.black)); + } + } + }*/ + + return convertView; + } + + @Override + public Object getChild(int groupPosition, int childPosititon) { + return this._listDataChild.get(this._listDataHeader.get(groupPosition)).get(childPosititon); + } + + @Override + public int getChildrenCount(int groupPosition) { + return this._listDataChild.get(this._listDataHeader.get(groupPosition)).size(); + } + + @Override + public long getChildId(int groupPosition, int childPosition) { + return childPosition; + } + + @Override + public View getChildView(final int groupPosition, final int childPosition, boolean isLastChild, + View convertView, ViewGroup parent) { + + final MSL_AvailabilityStockFacingGetterSetter childData = + (MSL_AvailabilityStockFacingGetterSetter) getChild(groupPosition, childPosition); + ViewHolder holder = null; + + if (convertView == null) { + LayoutInflater infalInflater = (LayoutInflater) this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + convertView = infalInflater.inflate(R.layout.stock_child_item, null, false); + + holder = new ViewHolder(); + holder.cardView = (CardView) convertView.findViewById(R.id.card_view); + holder.lin_category = (LinearLayout) convertView.findViewById(R.id.lin_category); + + holder.txt_skuName = (TextView) convertView.findViewById(R.id.txt_skuName); + + holder.stock = (EditText) convertView.findViewById(R.id.ed_stock); + + holder.stock_view = convertView.findViewById(R.id.stock_view); + convertView.setTag(holder); + } else { + holder = (ViewHolder) convertView.getTag(); + } + + holder.txt_skuName.setText(childData.getSku()); + + if (childData.getCompany_id().equals("1") && childData.getMust_have().equals("1")) { + holder.lin_category.setBackgroundColor(getResources().getColor(R.color.colorOrange)); + + } else { + + holder.lin_category.setBackgroundColor(getResources().getColor(R.color.white)); + + } + + if (childData.getCompany_id().equals("1")) { + + if (childData.getMust_have().equals("1")) { + holder.txt_skuName.setTextColor(getResources().getColor(R.color.colorPrimary)); + } else { + holder.txt_skuName.setTextColor(getResources().getColor(R.color.blue)); + } + + } else { + holder.txt_skuName.setTextColor(getResources().getColor(R.color.black)); + } + + final ViewHolder finalHolder = holder; + holder.stock.setOnFocusChangeListener(new View.OnFocusChangeListener() { + @Override + public void onFocusChange(View v, boolean hasFocus) { + editFlag = true; + final EditText caption = (EditText) v; + String edStock = caption.getText().toString().replaceFirst("^0+(?!$)", ""); + + if (edStock.equals("")) { + childData.setStock(""); + } else { + childData.setStock(edStock); + } + } + }); + holder.stock.setText(childData.getStock()); + + + //empty check color change + if (!checkflag) { + boolean tempflag = false; + + if (childData.getCompany_id().equals("1")) { + + if (holder.stock.getText().toString().equals("")) { + holder.stock.setBackgroundColor(getResources().getColor(R.color.white)); + holder.stock.setHintTextColor(getResources().getColor(android.R.color.holo_red_dark)); + holder.stock.setHint(getString(R.string.empty)); + tempflag = true; + } + + if (tempflag) { + //holder.cardView.setCardBackgroundColor(getResources().getColor(android.R.color.holo_red_dark)); + holder.lin_category.setBackgroundColor(getResources().getColor(android.R.color.holo_red_dark)); + } else { + //holder.cardView.setCardBackgroundColor(getResources().getColor(R.color.white)); + if (childData.getCompany_id().equals("1") && childData.getMust_have().equals("1")) { + holder.lin_category.setBackgroundColor(getResources().getColor(R.color.colorOrange)); + } else { + holder.lin_category.setBackgroundColor(getResources().getColor(R.color.white)); + } + } + } else { + /* if (holder.facing.getText().toString().equals("")) { + holder.facing.setBackgroundColor(getResources().getColor(R.color.white)); + holder.facing.setHintTextColor(getResources().getColor(android.R.color.holo_red_dark)); + holder.facing.setHint(getString(R.string.empty)); + tempflag = true; + }*/ + if (holder.stock.getText().toString().equals("")) { + holder.stock.setBackgroundColor(getResources().getColor(R.color.white)); + holder.stock.setHintTextColor(getResources().getColor(android.R.color.holo_red_dark)); + holder.stock.setHint(getString(R.string.empty)); + tempflag = true; + } + + + if (tempflag) { + //holder.cardView.setCardBackgroundColor(getResources().getColor(android.R.color.holo_red_dark)); + holder.lin_category.setBackgroundColor(getResources().getColor(android.R.color.holo_red_dark)); + } else { + //holder.cardView.setCardBackgroundColor(getResources().getColor(R.color.white)); + if (childData.getCompany_id().equals("1") && childData.getMust_have().equals("1")) { + holder.lin_category.setBackgroundColor(getResources().getColor(R.color.colorOrange)); + } else { + holder.lin_category.setBackgroundColor(getResources().getColor(R.color.white)); + } + } + } + } + + return convertView; + } + + @Override + public boolean hasStableIds() { + return false; + } + + @Override + public boolean isChildSelectable(int groupPosition, int childPosition) { + return true; + } + } + + public class ViewHolder { + CardView cardView; + TextView txt_skuName; + LinearLayout lin_category; + EditText stock; + View stock_view; + } + + boolean validateData(List listDataHeader, + HashMap> listDataChild) { + boolean flag = true, child_flag = true, all_flag = true; + checkHeaderArray.clear(); + + //temp list data for empty only + List listDataHeaderTemp = new ArrayList<>(); + + HashMap> listDataChildTemp = new HashMap<>(); + + for (int i = 0; i < listDataHeader.size(); i++) { + + flag = true; + + List listTemp = new ArrayList<>(); + + for (int j = 0; j < listDataChild.get(listDataHeader.get(i)).size(); j++) { + + child_flag = true; + + MSL_AvailabilityStockFacingGetterSetter data = listDataChild.get(listDataHeader.get(i)).get(j); + + String stock = data.getStock(); + + if (stock.equals("")) { + + if (!checkHeaderArray.contains(i)) { + checkHeaderArray.add(i); + } + //expandableListView.smoothScrollToPosition(i); + scrollPosition = i; + + flag = false; + all_flag = false; + child_flag = false; + Error_Message = getResources().getString(R.string.stock_value); + //break; + + } + + if (!child_flag) + listTemp.add(data); + } + + if (flag == false) { + /* checkflag = false; + break;*/ + + listDataHeaderTemp.add(listDataHeader.get(i)); + listDataChildTemp.put(listDataHeader.get(i), listTemp); + } else { + //checkflag = true; + } + + } + + if (!all_flag) { + adapter = new ExpandableListAdapter(this, listDataHeaderTemp, listDataChildTemp); + expandableListView.setAdapter(adapter); + checkflag = false; + } else { + checkflag = true; + } + + //adapter.notifyDataSetChanged(); + + return all_flag; + } + @Override + public void onBackPressed() { + if (editFlag) { + CommonFunctions.showAlertDialog(StockActivity.this, getResources().getString(R.string.data_will_be_lost)); + } else { + finish(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + int id = item.getItemId(); + + if (id == android.R.id.home) { + + if (editFlag) { + CommonFunctions.showAlertDialog(StockActivity.this, getResources().getString(R.string.data_will_be_lost)); + } else { + finish(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + } + + return super.onOptionsItemSelected(item); + } + + @Override + public void onSelect(boolean flag) { + if (flag) { + //adapter.notifyDataSetChanged(); + finish(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + } + + @Override + public void onSave(boolean flag) { + + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StockDataActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StockDataActivity.java index 4eab8f4..c2bf56a 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StockDataActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StockDataActivity.java @@ -1,9 +1,13 @@ package cpm.com.gskmtorange.dailyentry; import android.app.AlertDialog; +import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.content.SharedPreferences; +import android.content.pm.ActivityInfo; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.graphics.Typeface; import android.os.Bundle; import android.preference.PreferenceManager; @@ -14,9 +18,13 @@ import android.support.v7.widget.CardView; import android.support.v7.widget.Toolbar; import android.text.InputFilter; import android.view.LayoutInflater; +import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; +import android.view.Window; +import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; +import android.webkit.WebView; import android.widget.AbsListView; import android.widget.BaseExpandableListAdapter; import android.widget.CompoundButton; @@ -28,6 +36,7 @@ import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.ToggleButton; +import java.io.File; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.HashMap; @@ -38,9 +47,11 @@ import cpm.com.gskmtorange.R; import cpm.com.gskmtorange.constant.CommonFunctions; import cpm.com.gskmtorange.constant.CommonString; import cpm.com.gskmtorange.gsk_dailyentry.MSL_Availability_StockFacingActivity; +import cpm.com.gskmtorange.interfaces.DialogCallbackListener; +import cpm.com.gskmtorange.xmlGetterSetter.MAPPING_PLANOGRAM_DataGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MSL_AvailabilityStockFacingGetterSetter; -public class StockDataActivity extends AppCompatActivity { +public class StockDataActivity extends AppCompatActivity implements DialogCallbackListener { GSKOrangeDB db; @@ -62,6 +73,7 @@ public class StockDataActivity extends AppCompatActivity { boolean checkflag = true; FloatingActionButton fab; + boolean editFlag = false; @Override protected void onCreate(Bundle savedInstanceState) { @@ -70,6 +82,8 @@ public class StockDataActivity extends AppCompatActivity { Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + preferences = PreferenceManager.getDefaultSharedPreferences(this); CommonFunctions.updateLangResources(getApplicationContext(), preferences.getString(CommonString.KEY_LANGUAGE, "")); store_id = preferences.getString(CommonString.KEY_STORE_ID, null); @@ -103,22 +117,12 @@ public class StockDataActivity extends AppCompatActivity { expandableListView.clearFocus(); if (validateData(hashMapListHeaderData, hashMapListChildData)) { - AlertDialog.Builder builder = new AlertDialog.Builder(StockDataActivity.this); + /* AlertDialog.Builder builder = new AlertDialog.Builder(StockDataActivity.this); builder.setMessage(getResources().getString(R.string.check_save_message)) .setCancelable(false) .setPositiveButton(getResources().getString(R.string.yes), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { - db.open(); - if (db.checkMsl_Availability_StockFacingData(store_id, categoryId)) { - db.updateMSL_Availability_StockFacing(store_id, categoryId, hashMapListHeaderData, hashMapListChildData); - Snackbar.make(expandableListView, getResources().getString(R.string.update_message), Snackbar.LENGTH_LONG).setAction("Action", null).show(); - } else { - db.InsertMSL_Availability_StockFacing(store_id, categoryId, hashMapListHeaderData, hashMapListChildData); - Snackbar.make(expandableListView, getResources().getString(R.string.save_message), Snackbar.LENGTH_LONG).setAction("Action", null).show(); - } - finish(); - overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); } }) .setNegativeButton(getResources().getString(R.string.no), new DialogInterface.OnClickListener() { @@ -127,7 +131,20 @@ public class StockDataActivity extends AppCompatActivity { } }); AlertDialog alert = builder.create(); - alert.show(); + alert.show();*/ + + db.open(); + + if (db.checkMsl_Availability_StockFacingData(store_id, categoryId)) { + db.updateMSL_Availability_StockFacing(store_id, categoryId, hashMapListHeaderData, hashMapListChildData); + Snackbar.make(expandableListView, getResources().getString(R.string.update_message), Snackbar.LENGTH_LONG).setAction("Action", null).show(); + } else { + db.InsertMSL_Availability_StockFacing(store_id, categoryId, hashMapListHeaderData, hashMapListChildData); + Snackbar.make(expandableListView, getResources().getString(R.string.save_message), Snackbar.LENGTH_LONG).setAction("Action", null).show(); + } + finish(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } else { AlertDialog.Builder builder = new AlertDialog.Builder(StockDataActivity.this); builder.setMessage(Error_Message) @@ -267,6 +284,20 @@ public class StockDataActivity extends AppCompatActivity { } } + @Override + public void onSelect(boolean flag) { + if (flag) { + //adapter.notifyDataSetChanged(); + finish(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + } + + @Override + public void onSave(boolean flag) { + + } + public class ExpandableListAdapter extends BaseExpandableListAdapter { private Context _context; private List _listDataHeader; @@ -492,6 +523,9 @@ public class StockDataActivity extends AppCompatActivity { holder.stock.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { + + editFlag = true; + final EditText caption = (EditText) v; String edStock = caption.getText().toString().replaceFirst("^0+(?!$)", ""); @@ -537,6 +571,9 @@ public class StockDataActivity extends AppCompatActivity { holder.facing.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { + + editFlag = true; + final EditText caption = (EditText) v; boolean isFill = false; String edFaceup = caption.getText().toString().replaceFirst("^0+(?!$)", ""); @@ -778,5 +815,30 @@ public class StockDataActivity extends AppCompatActivity { return checkflag; } + @Override + public boolean onOptionsItemSelected(MenuItem item) { + int id = item.getItemId(); + if (id == android.R.id.home) { + + if (editFlag) { + CommonFunctions.showAlertDialog(StockDataActivity.this, getResources().getString(R.string.data_will_be_lost)); + } else { + finish(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + } + + return super.onOptionsItemSelected(item); + } + + @Override + public void onBackPressed() { + if (editFlag) { + CommonFunctions.showAlertDialog(StockDataActivity.this, getResources().getString(R.string.data_will_be_lost)); + } else { + finish(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreCheckoutImageActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreCheckoutImageActivity.java index a1520a0..9fdd3e5 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreCheckoutImageActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreCheckoutImageActivity.java @@ -408,7 +408,7 @@ public class StoreCheckoutImageActivity extends AppCompatActivity implements Vie GSKOrangeDB db = new GSKOrangeDB(StoreCheckoutImageActivity.this); db.open(); - coverage = db.getCoverageWithStoreID_Data(store_id); + coverage = db.getCoverageWithStoreID_Data(store_id, visit_date); // uploading Geotag 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 39b3b0f..78984f4 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreListActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreListActivity.java @@ -92,10 +92,12 @@ 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.comparators.StatusCompare; import cpm.com.gskmtorange.constant.CommonFunctions; import cpm.com.gskmtorange.constant.CommonString; import cpm.com.gskmtorange.download.DownloadActivity; import cpm.com.gskmtorange.gsk_dailyentry.StoreWisePerformanceActivity; +import cpm.com.gskmtorange.pharma_stores.PharmaActivity; import cpm.com.gskmtorange.storeinmap.StoreListMapActivity; import cpm.com.gskmtorange.storeinmap.StoreListRouteActivity; import cpm.com.gskmtorange.storeinmap.StoreRouteActivity; @@ -214,6 +216,8 @@ public class StoreListActivity extends AppCompatActivity implements GoogleApiCli String str; StoreBean storeCurrentObj; + String from_checkedIn = ""; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -486,7 +490,17 @@ public class StoreListActivity extends AppCompatActivity implements GoogleApiCli toolbar.setTitle(getString(R.string.title_activity_store_list)); storelist = db.getStoreData(date,CommonString.KEY_JOURNEY_PLAN ); } - else { + else if(store_flag_str.equals(CommonString.FROM_ADDITIONAL)){ + //Additional Journey Plan - Egypt + toolbar.setTitle(getString(R.string.title_activity_store_list)); + storelist = db.getStoreData(date,CommonString.KEY_JOURNEY_PLAN_ADDITIONAL); + } + else if(store_flag_str.equals(CommonString.FROM_PHARMA)){ + //Additional Journey Plan - Egypt + toolbar.setTitle(getString(R.string.title_activity_store_list)); + storelist = db.getStoreData(date,CommonString.KEY_JOURNEY_PLAN_PHARMA); + } + else{ toolbar.setTitle(getString(R.string.adhoc_store_list)); storelist = db.getStoreData(date,CommonString.KEY_ADHOC_JOURNEY_PLAN ); //fab.setVisibility(View.GONE); @@ -499,6 +513,9 @@ public class StoreListActivity extends AppCompatActivity implements GoogleApiCli if (storelist.size() > 0) { //list.setAdapter(new MyAdaptor()); + StatusCompare ratingCompare = new StatusCompare(); + Collections.sort(storelist, ratingCompare); + adapter = new StoreListActivity.ValueAdapter(getApplicationContext(), storelist); recyclerView.setAdapter(adapter); recyclerView.setLayoutManager(new LinearLayoutManager(this)); @@ -785,13 +802,13 @@ public class StoreListActivity extends AppCompatActivity implements GoogleApiCli // showMyDialog(store_id, current.getSTORE_NAME(), "Yes", current.getVISIT_DATE(), current.getCHECKOUT_STATUS()); if(checkotherCheckedIn(store_flag_str)){ - String from; + /*String from; if (store_flag_str.equals(CommonString.FROM_JCP)) { from = getString(R.string.adhoc); }else { from = getString(R.string.jcp); - } - Snackbar.make(v, getString(R.string.title_store_list_checkout_current) + " - " + from, Snackbar.LENGTH_SHORT).setAction("Action", null).show(); + }*/ + Snackbar.make(v, getString(R.string.title_store_list_checkout_current) + " - " + from_checkedIn, Snackbar.LENGTH_SHORT).setAction("Action", null).show(); } else { if (!setcheckedmenthod(store_id)) { @@ -814,7 +831,7 @@ public class StoreListActivity extends AppCompatActivity implements GoogleApiCli } if (enteryflag) { - if(store_flag_str.equals(CommonString.FROM_JCP)){ + if(store_flag_str.equals(CommonString.FROM_JCP) || store_flag_str.equals(CommonString.FROM_ADDITIONAL) || store_flag_str.equals(CommonString.FROM_PHARMA)){ showMyDialog(store_id, current.getSTORE_NAME(), "Yes", current.getVISIT_DATE(), current.getCHECKOUT_STATUS(), current.getGEO_TAG(), current); } else { @@ -887,7 +904,7 @@ public class StoreListActivity extends AppCompatActivity implements GoogleApiCli }else{ 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(); + //dialog.cancel(); AlertDialog.Builder builder = new AlertDialog.Builder(StoreListActivity.this); builder.setTitle(getResources().getString(R.string.dialog_title)); builder.setMessage(msg).setCancelable(false) @@ -979,19 +996,25 @@ public class StoreListActivity extends AppCompatActivity implements GoogleApiCli public void onClick(DialogInterface dialog, int id) { 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 configurationData = db.getConfigurationMasterData(country_id); + if(configurationData.size()>0){ + + for(int i=0; i 0) { @@ -1235,7 +1285,7 @@ public class StoreListActivity extends AppCompatActivity implements GoogleApiCli Intent in = new Intent(StoreListActivity.this, NonWorkingReason.class); in.putExtra(CommonString.KEY_STORE_ID, current.getSTORE_ID()); - in.putExtra(CommonString.KEY_STORE_FLAG, CommonString.FROM_JCP); + in.putExtra(CommonString.KEY_STORE_FLAG, store_flag_str); startActivity(in); } @@ -1255,7 +1305,7 @@ public class StoreListActivity extends AppCompatActivity implements GoogleApiCli } else { Intent in = new Intent(StoreListActivity.this, NonWorkingReason.class); in.putExtra(CommonString.KEY_STORE_ID, current.getSTORE_ID()); - in.putExtra(CommonString.KEY_STORE_FLAG, CommonString.FROM_JCP); + in.putExtra(CommonString.KEY_STORE_FLAG, store_flag_str); startActivity(in); } @@ -1263,7 +1313,7 @@ public class StoreListActivity extends AppCompatActivity implements GoogleApiCli Intent in = new Intent(StoreListActivity.this, NonWorkingReason.class); in.putExtra(CommonString.KEY_STORE_ID, current.getSTORE_ID()); - in.putExtra(CommonString.KEY_STORE_FLAG, CommonString.FROM_JCP); + in.putExtra(CommonString.KEY_STORE_FLAG, store_flag_str); startActivity(in); } @@ -1325,7 +1375,9 @@ public class StoreListActivity extends AppCompatActivity implements GoogleApiCli } void cancelStore(final StoreBean current) { - if (coverage.get(0).getStatus().equals(CommonString.KEY_INVALID) || coverage.get(0).getStatus().equals(CommonString.KEY_VALID)) { + + CoverageBean coverageData = db.getCoverageSpecificData(date, current.getSTORE_ID()); + if (coverageData.getStatus().equals(CommonString.KEY_INVALID) || coverageData.getStatus().equals(CommonString.KEY_VALID)) { AlertDialog.Builder builder = new AlertDialog.Builder(StoreListActivity.this); builder.setMessage(R.string.DELETE_ALERT_MESSAGE) .setCancelable(false) @@ -1369,24 +1421,58 @@ public class StoreListActivity extends AppCompatActivity implements GoogleApiCli ArrayList other_coverage_list; if(store_flag_str.equals(CommonString.FROM_JCP)){ - other_coverage_list = db.getCoverageData(date,CommonString.FROM_DEVIATION ); - } - else { - other_coverage_list = db.getCoverageData(date,CommonString.FROM_JCP ); + if(isCheckedInFromStoreFlag(CommonString.FROM_DEVIATION)){ + from_checkedIn = getString(R.string.adhoc); + return true; + } + else if(isCheckedInFromStoreFlag(CommonString.FROM_ADDITIONAL)){ + from_checkedIn = getString(R.string.additional_stores); + return true; + } } + else if(store_flag_str.equals(CommonString.FROM_ADDITIONAL)){ - for(int i=0; i other_coverage_list; + + other_coverage_list = db.getCoverageData(date, flagFromStore); + + for(int i=0; i 0) { - for (int i = 0; i < coverage.size(); i++) { + //for (int i = 0; i < coverage.size(); i++) { String onXML = "[Coverage_Intime][USER_ID]" + _UserId + "[/USER_ID]" + "[STORE_ID]" - + coverage.get(i).getStoreId() + + coverage.get(0).getStoreId() + "[/STORE_ID]" + "[VISIT_DATE]" - + coverage.get(i).getVisitDate() + + coverage.get(0).getVisitDate() + "[/VISIT_DATE]" + "[IN_TIME]" - + coverage.get(i).getInTime() + + coverage.get(0).getInTime() + "[/IN_TIME]" + "[LATITUDE]" - + coverage.get(i).getLatitude() + + coverage.get(0).getLatitude() + "[/LATITUDE]" + "[LONGITUDE ]" - + coverage.get(i).getLongitude() + + coverage.get(0).getLongitude() + "[/LONGITUDE ]" + "[REASON_ID]" - + coverage.get(i).getReasonid() + + coverage.get(0).getReasonid() + "[/REASON_ID]" + "[REMARK]" - + coverage.get(i).getReason() + + coverage.get(0).getReason() + "[/REMARK][/Coverage_Intime]"; - current_xml = current_xml + onXML; + //current_xml = current_xml + onXML; - } + //} - current_xml = "[DATA]" + current_xml + current_xml = "[DATA]" + onXML + "[/DATA]"; SoapObject request = new SoapObject(CommonString.NAMESPACE, - CommonString.METHOD_UPLOAD_CURRENT_DATA); + service); //request.addProperty("MID", "0"); // request.addProperty("KEYS", "CURRENT_DATA"); // request.addProperty("USERNAME", username); @@ -817,7 +835,7 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic HttpTransportSE androidHttpTransport = new HttpTransportSE( CommonString.URL); androidHttpTransport.call( - CommonString.SOAP_ACTION_UPLOAD_CURRRENT_DATA, envelope); + CommonString.SOAP_ACTION + service, envelope); Object result = (Object) envelope.getResponse(); if (result.toString().equalsIgnoreCase( @@ -828,7 +846,7 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic if (result.toString().equalsIgnoreCase( CommonString.KEY_FALSE)) { - return CommonString.METHOD_UPLOAD_CURRENT_DATA; + return service; } // for failure @@ -917,12 +935,17 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic if (result.equalsIgnoreCase(CommonString.KEY_SUCCESS)) { dialog.dismiss(); - if (store_flag_str.equals(CommonString.FROM_JCP)|| country_id.equalsIgnoreCase("5")) { + if (store_flag_str.equals(CommonString.FROM_JCP)|| country_id.equalsIgnoreCase("5")|| store_flag_str.equals(CommonString.FROM_ADDITIONAL)) { Intent in = new Intent(StoreimageActivity.this, StoreWisePerformanceActivity.class); startActivity(in); finish(); overridePendingTransition(R.anim.activity_in, R.anim.activity_out); - } else { + } else if (store_flag_str.equals(CommonString.FROM_PHARMA)) { + Intent in = new Intent(StoreimageActivity.this, PharmaActivity.class); + startActivity(in); + finish(); + overridePendingTransition(R.anim.activity_in, R.anim.activity_out); + } 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 7530b7b..3f586ad 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java @@ -57,6 +57,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.MAPPING_PLANOGRAM_MasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MAPPING_SOS_TARGET_MasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingCategoryImageAllowGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingDisplayChecklistGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.MappingPharmaQuestionGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingPlanogramCountrywiseGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingPlanogramStorewiseGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingPromotionGetterSetter; @@ -119,6 +120,11 @@ public class DownloadActivity extends AppCompatActivity { MappingPlanogramStorewiseGetterSetter mappingPlanogramStorewiseGetterSetter; + JourneyPlanGetterSetter additionalJcpGetterSetter; + MappingStockGetterSetter mappingStockAdditionalGetterSetter; + JourneyPlanGetterSetter pharmaJcpGetterSetter; + MappingPharmaQuestionGetterSetter mappingPharmaQuestionGetterSetter; + private Dialog dialog; private ProgressBar pb; private TextView percentage, message; @@ -1384,6 +1390,133 @@ public class DownloadActivity extends AppCompatActivity { } publishProgress(data); + //JOURNEY_PLAN_ADDITIONAL + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); + request.addProperty("UserName", userId); + request.addProperty("Type", "JOURNEY_PLAN_ADDITIONAL"); + 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(); + additionalJcpGetterSetter = XMLHandlers.JCPXMLHandler(xpp, eventType); + + if (additionalJcpGetterSetter.getSTORE_ID().size() > 0) { + resultHttp = CommonString.KEY_SUCCESS; + } + + String additional_jcpTable = additionalJcpGetterSetter.getTable_journey_plan(); + TableBean.setAdditionalJourneyPlan(additional_jcpTable); + } + //publishProgress(data); + + // MAPPING_STOCK_ADDITIONAL + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); + request.addProperty("UserName", userId); + request.addProperty("Type", "MAPPING_STOCK_ADDITIONAL"); + 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(); + mappingStockAdditionalGetterSetter = XMLHandlers.mappingStockXMLHandler(xpp, eventType); + + String stocktable = mappingStockAdditionalGetterSetter.getTable_MAPPING_STOCK(); + if (stocktable != null) { + resultHttp = CommonString.KEY_SUCCESS; + TableBean.setMappingStockAdditional(stocktable); + } + + if (mappingStockAdditionalGetterSetter.getSKU_ID().size() > 0) { + data.value = 98; + data.name = "MAPPING_STOCK_ADDITIONAL " + getResources().getString(R.string.download_data); + } else { + // return "MAPPING_STOCK_ADHOC"; + } + + } + publishProgress(data); + + + //JOURNEY_PLAN_PHARMA + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); + request.addProperty("UserName", userId); + request.addProperty("Type", "JOURNEY_PLAN_PHARMA"); + 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(); + pharmaJcpGetterSetter = XMLHandlers.JCPXMLHandler(xpp, eventType); + + if (pharmaJcpGetterSetter.getSTORE_ID().size() > 0) { + resultHttp = CommonString.KEY_SUCCESS; + } + + String pharma_jcpTable = pharmaJcpGetterSetter.getTable_journey_plan(); + TableBean.setTable_JOURNEY_PLAN_PHARMA(pharma_jcpTable); + } + + //MAPPING_PHARMA_QUESTION + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); + request.addProperty("UserName", userId); + request.addProperty("Type", "MAPPING_PHARMA_QUESTION"); + 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(); + mappingPharmaQuestionGetterSetter = XMLHandlers.mappingPharmaQuestionXMLHandler(xpp, eventType); + + if (mappingPharmaQuestionGetterSetter.getQUESTION_ID().size() > 0) { + resultHttp = CommonString.KEY_SUCCESS; + } + + String mapping_pahrma_question_Table = mappingPharmaQuestionGetterSetter.getTable_MAPPING_PHARMA_QUESTION(); + TableBean.setTable_MAPPING_PHARMA_QUESTION(mapping_pahrma_question_Table); + } + + /* //MAPPING_COUNTRYWISE_PLANOGRAM request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); @@ -1762,6 +1895,10 @@ public class DownloadActivity extends AppCompatActivity { db.InsertCONFIGURATION_MASTER(configurationMasterGetterSetter); db.InsertMappingStockSTOREWISE(mappingStockStorewiseGetterSetter); db.InsertMAPPING_PLANOGRAM_STORE_WISE(mappingPlanogramStorewiseGetterSetter); + db.InsertAdditionalJCP(additionalJcpGetterSetter); + db.InsertMappingStock(mappingStockAdditionalGetterSetter, "MAPPING_STOCK_ADDITIONAL"); + db.insertMappingPahrmaQuestion(mappingPharmaQuestionGetterSetter); + db.InsertPharmaJCP(pharmaJcpGetterSetter); } catch (MalformedURLException e) { diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/CategoryListActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/CategoryListActivity.java index e841003..be2b549 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/CategoryListActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/CategoryListActivity.java @@ -32,6 +32,7 @@ import cpm.com.gskmtorange.constant.CommonFunctions; import cpm.com.gskmtorange.constant.CommonString; import cpm.com.gskmtorange.xmlGetterSetter.AuditDataGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.CategoryGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.MSL_AvailabilityStockFacingGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.T2PGetterSetter; public class CategoryListActivity extends AppCompatActivity { @@ -104,7 +105,10 @@ public class CategoryListActivity extends AppCompatActivity { else if(store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)){ categoryList = db.getCategoryListData(keyAccount_id, storeType_id, class_id, store_id, CommonString.TABLE_MAPPING_STOCK_ADHOC); } - else { + else if(store_flag_str.equalsIgnoreCase(CommonString.FROM_ADDITIONAL)){ + categoryList = db.getCategoryListData(keyAccount_id, storeType_id, class_id, store_id, CommonString.TABLE_MAPPING_STOCK_ADDITIONAL); + } + else{ categoryList = db.getCategoryListData(keyAccount_id, storeType_id, class_id, store_id, "MAPPING_STOCK"); } @@ -115,11 +119,24 @@ public class CategoryListActivity extends AppCompatActivity { boolean flag_filled = false; String category_id = categoryList.get(i).getCategory_id(); - //Additional_Visibility - if (db.additionalVisibilitydata(store_id, category_id)) { - boolean flag = true; + if(store_flag_str.equalsIgnoreCase(CommonString.FROM_ADDITIONAL)){ + boolean flag_mapping_stock = db.isMappingStockDataStockFacing(category_id, keyAccount_id, storeType_id, class_id, store_id, CommonString.TABLE_MAPPING_STOCK_ADDITIONAL); - //MSL_Availability + if (flag_mapping_stock) { + if (db.checkStockData(store_id, category_id)) { + flag_filled = true; + } + else { + flag_filled = false; + } + } + } + else { + //Additional_Visibility + if (db.additionalVisibilitydata(store_id, category_id)) { + boolean flag = true; + + //MSL_Availability /*if (db.isMappingStockDataMSL_Availability(category_id, keyAccount_id, storeType_id, class_id)) { if (!db.checkMsl_AvailabilityData(store_id, category_id)) { flag = false; @@ -135,110 +152,130 @@ public class CategoryListActivity extends AppCompatActivity { } }*/ - boolean flag_mapping_stock; - //New MSL_Availability_StockFacing - if(country_id.equals("7")){ - flag_mapping_stock = db.isMappingStockDataStockFacing(category_id, null, null, null, store_id, CommonString.TABLE_MAPPING_STOCK_STOREWISE); - } - else if(store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)){ - flag_mapping_stock = db.isMappingStockDataStockFacing(category_id, keyAccount_id, storeType_id, class_id, store_id, CommonString.TABLE_MAPPING_STOCK_ADHOC); - } - else { - flag_mapping_stock = db.isMappingStockDataStockFacing(category_id, keyAccount_id, storeType_id, class_id, store_id, CommonString.TABLE_MAPPING_STOCK); - } - if (flag_mapping_stock) { - if (!db.checkMsl_Availability_StockFacingData(store_id, category_id)) { - flag = false; - } - } + boolean flag_mapping_stock; + //New MSL_Availability_StockFacing + if(country_id.equals("7")){ + flag_mapping_stock = db.isMappingStockDataStockFacing(category_id, null, null, null, store_id, CommonString.TABLE_MAPPING_STOCK_STOREWISE); + } + else if(store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)){ + flag_mapping_stock = db.isMappingStockDataStockFacing(category_id, keyAccount_id, storeType_id, class_id, store_id, CommonString.TABLE_MAPPING_STOCK_ADHOC); + } + else { + flag_mapping_stock = db.isMappingStockDataStockFacing(category_id, keyAccount_id, storeType_id, class_id, store_id, CommonString.TABLE_MAPPING_STOCK); + } + if (flag_mapping_stock) { + if (!db.checkMsl_Availability_StockFacingData(store_id, category_id)) { + flag = false; + } + } - //Promo Compliance - if (flag) { - if(country_id.equals("7")){ - if(db.getPromoComplianceSkuwiseExistsAfterData(store_id, category_id).size()==0){ - flag = false; - } - } - else { - boolean isMappingPromotion_Flag; - if(store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)){ - isMappingPromotion_Flag = db.isMappingPromotionData(store_id, category_id, CommonString.TABLE_MAPPING_PROMOTION_ADHOC); - } - else { - isMappingPromotion_Flag = db.isMappingPromotionData(store_id, category_id, CommonString.TABLE_MAPPING_PROMOTION); - } - if (isMappingPromotion_Flag) { - if (!db.checkPromoComplianceData(store_id, category_id)) { - flag = false; - } - } - } + //Promo Compliance + if (flag) { + if(country_id.equals("7")){ + if(db.getPromoComplianceSkuwiseExistsAfterData(store_id, category_id).size()==0){ + flag = false; + } + } + else { + boolean isMappingPromotion_Flag; + if(store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)){ + isMappingPromotion_Flag = db.isMappingPromotionData(store_id, category_id, CommonString.TABLE_MAPPING_PROMOTION_ADHOC); + } + else { + isMappingPromotion_Flag = db.isMappingPromotionData(store_id, category_id, CommonString.TABLE_MAPPING_PROMOTION); + } + if (isMappingPromotion_Flag) { + if (!db.checkPromoComplianceData(store_id, category_id)) { + flag = false; + } + } + } - } + } - //T2P - if (flag) { - boolean flag_t2p_mapping; - if(store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)){ - flag_t2p_mapping = db.isMappingT2PData(store_id, category_id,CommonString.TABLE_MAPPING_T2P_ADHOC); - } - else { - flag_t2p_mapping = db.isMappingT2PData(store_id, category_id,CommonString.TABLE_MAPPING_T2P); - } - if (flag_t2p_mapping) { - if (!db.isFilledT2P(store_id, category_id)) { - flag = false; - } - } - } + //T2P + if (flag) { + boolean flag_t2p_mapping; + if(store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)){ + flag_t2p_mapping = db.isMappingT2PData(store_id, category_id,CommonString.TABLE_MAPPING_T2P_ADHOC); + } + else { + flag_t2p_mapping = db.isMappingT2PData(store_id, category_id,CommonString.TABLE_MAPPING_T2P); + } + if (flag_t2p_mapping) { + if (!db.isFilledT2P(store_id, category_id)) { + flag = false; + } + } + } - //Category image - if (camera_allow.equalsIgnoreCase("1")) { - //if (category_camera_list.size()>0) { - if (!db.isCategoryPictureData(store_id, category_id)) { - flag = false; + //Category image + if (camera_allow.equalsIgnoreCase("1")) { + //if (category_camera_list.size()>0) { + if (!db.isCategoryPictureData(store_id, category_id)) { + flag = false; - } - } + } + } + else { - if (flag){ + final ArrayList sub_category_list = db.getSubCategoryMaster(category_id); - //changed on 23.10.2018 - //ArrayList question_list = getAuditAfterDeletion(category_id); - //changed on 03.12.2018 - ArrayList question_list = getAuditQnsRemoved(category_id); + //if Sub Group Data exists for any Sub Category of the Category + boolean isSubGroupDataExists = false; + for(int j=0;j0){ + isSubGroupDataExists = true; + break; + } + } - if(question_list.size()>0){ + if(isSubGroupDataExists){ + if (db.getNoCameraCategoryDataInserted(store_id, category_id, null).size() == 0) { + flag = false; + } + } + } - if(db.getAfterSaveAuditQuestionAnswerData(store_id, category_id).size() == 0){ - flag = false; + if (flag){ - } - } - } + //changed on 23.10.2018 + //ArrayList question_list = getAuditAfterDeletion(category_id); + //changed on 03.12.2018 + ArrayList question_list = getAuditQnsRemoved(category_id); - if(flag){ - if (db.getSubCategoryMasterForPOG(category_id, storeType_id, pog_type_id, null).size() > 0) { - if (db.getAfterSavePOGUploadQuestionAnswerData(store_id, category_id).size() == 0) { - flag = false; - } - } - } + if(question_list.size()>0){ - if (flag){ + if(db.getAfterSaveAuditQuestionAnswerData(store_id, category_id).size() == 0){ + flag = false; - //Counterfeit Product Option - Egypt - if(country_id.equals("6")){ + } + } + } - if (db.getCounterfeitProductExistsAfterData(store_id, category_id).size() == 0) { - flag = false; - } + if(flag){ + if (db.getSubCategoryMasterForPOG(category_id, storeType_id, pog_type_id, null).size() > 0) { + if (db.getAfterSavePOGUploadQuestionAnswerData(store_id, category_id).size() == 0) { + flag = false; + } + } + } - } - } + if (flag){ - flag_filled = flag; - } + //Counterfeit Product Option - Egypt + if(country_id.equals("6")){ + + if (db.getCounterfeitProductExistsAfterData(store_id, category_id).size() == 0) { + flag = false; + } + + } + } + + flag_filled = flag; + } + } if (flag_filled) { if (category_id.equals("1")) { @@ -481,8 +518,23 @@ public class CategoryListActivity extends AppCompatActivity { break; }*/ - if (db.additionalVisibilitydata(store_id, category_id)) { - //boolean flag = true; + if(store_flag_str.equalsIgnoreCase(CommonString.FROM_ADDITIONAL)){ + boolean flag_mapping_stock = db.isMappingStockDataStockFacing(category_id, keyAccount_id, storeType_id, class_id, store_id, CommonString.TABLE_MAPPING_STOCK_ADDITIONAL); + + if (flag_mapping_stock) { + if (db.checkStockData(store_id, category_id)) { + flag_filled = true; + } + else { + flag_filled = false; + break; + } + } + + } + else { + if (db.additionalVisibilitydata(store_id, category_id)) { + //boolean flag = true; /*if (db.isMappingStockDataMSL_Availability(category_id, keyAccount_id, storeType_id, class_id)) { if (!db.checkMsl_AvailabilityData(store_id, category_id)) { @@ -499,98 +551,118 @@ public class CategoryListActivity extends AppCompatActivity { } }*/ - boolean flag_mapping_stock; - //New MSL_Availability_StockFacing - if(country_id.equals("7")){ - flag_mapping_stock = db.isMappingStockDataStockFacing(category_id, null, null, null, store_id, CommonString.TABLE_MAPPING_STOCK_STOREWISE); - } - else if(store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)){ - flag_mapping_stock = db.isMappingStockDataStockFacing(category_id, keyAccount_id, storeType_id, class_id, store_id, CommonString.TABLE_MAPPING_STOCK_ADHOC); - } - else { - flag_mapping_stock = db.isMappingStockDataStockFacing(category_id, keyAccount_id, storeType_id, class_id, store_id, CommonString.TABLE_MAPPING_STOCK); - } - if (flag_mapping_stock) { - if (!db.checkMsl_Availability_StockFacingData(store_id, category_id)) { - flag_filled = false; - break; + boolean flag_mapping_stock; + //New MSL_Availability_StockFacing + if(country_id.equals("7")){ + flag_mapping_stock = db.isMappingStockDataStockFacing(category_id, null, null, null, store_id, CommonString.TABLE_MAPPING_STOCK_STOREWISE); } - } - - if(country_id.equals("7")){ - if(db.getPromoComplianceSkuwiseExistsAfterData(store_id, category_id).size()==0){ - flag_filled = false; - break; - } - } - else { - boolean isMappingPromotion_Flag; - if(store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)){ - isMappingPromotion_Flag = db.isMappingPromotionData(store_id, category_id, CommonString.TABLE_MAPPING_PROMOTION_ADHOC); + else if(store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)){ + flag_mapping_stock = db.isMappingStockDataStockFacing(category_id, keyAccount_id, storeType_id, class_id, store_id, CommonString.TABLE_MAPPING_STOCK_ADHOC); } else { - isMappingPromotion_Flag = db.isMappingPromotionData(store_id, category_id, CommonString.TABLE_MAPPING_PROMOTION); + flag_mapping_stock = db.isMappingStockDataStockFacing(category_id, keyAccount_id, storeType_id, class_id, store_id, CommonString.TABLE_MAPPING_STOCK); } - if (isMappingPromotion_Flag) { - if (!db.checkPromoComplianceData(store_id, category_id)) { + if (flag_mapping_stock) { + if (!db.checkMsl_Availability_StockFacingData(store_id, category_id)) { flag_filled = false; break; } } - } - boolean flag_t2p_mapping; - if(store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)){ - flag_t2p_mapping = db.isMappingT2PData(store_id, category_id,CommonString.TABLE_MAPPING_T2P_ADHOC); - } - else { - flag_t2p_mapping = db.isMappingT2PData(store_id, category_id,CommonString.TABLE_MAPPING_T2P); - } - if (flag_t2p_mapping) { - if (!db.isFilledT2P(store_id, category_id)) { - flag_filled = false; - break; + if(country_id.equals("7")){ + if(db.getPromoComplianceSkuwiseExistsAfterData(store_id, category_id).size()==0){ + flag_filled = false; + break; + } + } + else { + boolean isMappingPromotion_Flag; + if(store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)){ + isMappingPromotion_Flag = db.isMappingPromotionData(store_id, category_id, CommonString.TABLE_MAPPING_PROMOTION_ADHOC); + } + else { + isMappingPromotion_Flag = db.isMappingPromotionData(store_id, category_id, CommonString.TABLE_MAPPING_PROMOTION); + } + if (isMappingPromotion_Flag) { + if (!db.checkPromoComplianceData(store_id, category_id)) { + flag_filled = false; + break; + } + } } - } - - if (camera_allow.equalsIgnoreCase("1")) { - //if (category_camera_list.size()>0) { - if (!db.isCategoryPictureData(store_id, category_id)) { - flag_filled = false; - break; + boolean flag_t2p_mapping; + if(store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)){ + flag_t2p_mapping = db.isMappingT2PData(store_id, category_id,CommonString.TABLE_MAPPING_T2P_ADHOC); } - } - - if(getAuditQnsRemoved(category_id).size()>0){ - - if(db.getAfterSaveAuditQuestionAnswerData(store_id, category_id).size() == 0){ - flag_filled = false; - break; + else { + flag_t2p_mapping = db.isMappingT2PData(store_id, category_id,CommonString.TABLE_MAPPING_T2P); } - } + if (flag_t2p_mapping) { + if (!db.isFilledT2P(store_id, category_id)) { + flag_filled = false; + break; + } - if (db.getSubCategoryMasterForPOG(category_id, storeType_id, pog_type_id, null).size() > 0) { - if (db.getAfterSavePOGUploadQuestionAnswerData(store_id, category_id).size() == 0) { - flag_filled = false; - break; - } - } - - //Counterfeit Product Option - Egypt - if(country_id.equals("6")){ - - if (db.getCounterfeitProductExistsAfterData(store_id, category_id).size() == 0) { - flag_filled = false; - break; } - } + if (camera_allow.equalsIgnoreCase("1")) { + //if (category_camera_list.size()>0) { + if (!db.isCategoryPictureData(store_id, category_id)) { + flag_filled = false; + break; + } + }else { - flag_filled = true; - } else { - flag_filled = false; - break; + final ArrayList sub_category_list = db.getSubCategoryMaster(category_id); + + //if Sub Group Data exists for any Sub Category of the Category + boolean isSubGroupDataExists = false; + for(int j=0;j0){ + isSubGroupDataExists = true; + break; + } + } + + if(isSubGroupDataExists){ + if (db.getNoCameraCategoryDataInserted(store_id, category_id, null).size() == 0) { + flag_filled = false; + break; + } + } + } + + if(getAuditQnsRemoved(category_id).size()>0){ + + if(db.getAfterSaveAuditQuestionAnswerData(store_id, category_id).size() == 0){ + flag_filled = false; + break; + } + } + + if (db.getSubCategoryMasterForPOG(category_id, storeType_id, pog_type_id, null).size() > 0) { + if (db.getAfterSavePOGUploadQuestionAnswerData(store_id, category_id).size() == 0) { + flag_filled = false; + break; + } + } + + //Counterfeit Product Option - Egypt + if(country_id.equals("6")){ + + if (db.getCounterfeitProductExistsAfterData(store_id, category_id).size() == 0) { + flag_filled = false; + break; + } + + } + + flag_filled = true; + } else { + flag_filled = false; + break; + } } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/DailyDataMenuActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/DailyDataMenuActivity.java index ad7df36..14a520c 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/DailyDataMenuActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/DailyDataMenuActivity.java @@ -39,6 +39,7 @@ import cpm.com.gskmtorange.dailyentry.CategoryPicture; import cpm.com.gskmtorange.dailyentry.CounterfeitProductsActivity; import cpm.com.gskmtorange.dailyentry.CreateSelfActivity; import cpm.com.gskmtorange.dailyentry.POGQuestionsActivity; +import cpm.com.gskmtorange.dailyentry.StockActivity; import cpm.com.gskmtorange.dailyentry.StockDataActivity; import cpm.com.gskmtorange.dailyentry.T2PComplianceActivity; import cpm.com.gskmtorange.xmlGetterSetter.AuditDataGetterSetter; @@ -123,25 +124,12 @@ public class DailyDataMenuActivity extends AppCompatActivity { DailyDataMenuGetterSetter data = new DailyDataMenuGetterSetter(); - - if (country_id.equals("6") && categoryId.equals("3")) { + //For Additional Stores in Egypt(6) Only Stock Data will be captured + if(store_flag_str.equalsIgnoreCase(CommonString.FROM_ADDITIONAL)){ data = new DailyDataMenuGetterSetter(); - data.setCategory_name(getResources().getString(R.string.daily_data_menu_stock_facing)); + data.setCategory_name(getResources().getString(R.string.stock)); if (isMappingStockData()) { - if (db.checkMsl_Availability_StockFacingData(store_id, categoryId)) { - data.setCategory_img(R.mipmap.msl_availability_done); - } else { - data.setCategory_img(R.mipmap.msl_availability); - } - } else { - data.setCategory_img(R.mipmap.msl_availability_grey); - } - categoryList.add(data); - } else { - data = new DailyDataMenuGetterSetter(); - data.setCategory_name(getResources().getString(R.string.daily_data_menu_msl_availability)); - if (isMappingStockData()) { - if (db.checkMsl_Availability_StockFacingData(store_id, categoryId)) { + if (db.checkStockData(store_id, categoryId)) { data.setCategory_img(R.mipmap.msl_availability_done); } else { data.setCategory_img(R.mipmap.msl_availability); @@ -151,6 +139,34 @@ public class DailyDataMenuActivity extends AppCompatActivity { } categoryList.add(data); } + else { + if (country_id.equals(CommonString.COUNTRY_ID_EGYPT+"") && categoryId.equals("3")) { + data = new DailyDataMenuGetterSetter(); + data.setCategory_name(getResources().getString(R.string.daily_data_menu_stock_facing)); + if (isMappingStockData()) { + if (db.checkMsl_Availability_StockFacingData(store_id, categoryId)) { + data.setCategory_img(R.mipmap.msl_availability_done); + } else { + data.setCategory_img(R.mipmap.msl_availability); + } + } else { + data.setCategory_img(R.mipmap.msl_availability_grey); + } + categoryList.add(data); + } else { + data = new DailyDataMenuGetterSetter(); + data.setCategory_name(getResources().getString(R.string.daily_data_menu_msl_availability)); + if (isMappingStockData()) { + if (db.checkMsl_Availability_StockFacingData(store_id, categoryId)) { + data.setCategory_img(R.mipmap.msl_availability_done); + } else { + data.setCategory_img(R.mipmap.msl_availability); + } + } else { + data.setCategory_img(R.mipmap.msl_availability_grey); + } + categoryList.add(data); + } /*data.setCategory_name(getResources().getString(R.string.daily_data_menu_msl_availability)); @@ -180,149 +196,150 @@ public class DailyDataMenuActivity extends AppCompatActivity { } categoryList.add(data);*/ - //T2p - data = new DailyDataMenuGetterSetter(); - data.setCategory_name(getResources().getString(R.string.daily_data_menu_t2p)); - boolean flag_t2p_mapping; - if (store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)) { - flag_t2p_mapping = db.isMappingT2PData(store_id, categoryId, CommonString.TABLE_MAPPING_T2P_ADHOC); - } else { - flag_t2p_mapping = db.isMappingT2PData(store_id, categoryId, CommonString.TABLE_MAPPING_T2P); - } - - if (flag_t2p_mapping) { - if (db.isFilledT2P(store_id, categoryId)) { - data.setCategory_img(R.mipmap.t2p_compliance_done); - } else { - data.setCategory_img(R.mipmap.t2p_compliance); - } - } else { - data.setCategory_img(R.mipmap.t2pcompliance_grey); - } - categoryList.add(data); - - - //T2p added - data = new DailyDataMenuGetterSetter(); - data.setCategory_name(getResources().getString(R.string.daily_data_menu_additional_visibility)); - if (db.additionalVisibilitydata(store_id, categoryId)) { - data.setCategory_img(R.mipmap.additional_visibility_done); - } else { - data.setCategory_img(R.mipmap.additional_visibility); - } - categoryList.add(data); - - - data = new DailyDataMenuGetterSetter(); - data.setCategory_name(getResources().getString(R.string.daily_data_menu_promo_compliance)); - if (country_id.equals("7")) { - if (db.getPromoComplianceSkuwiseExistsAfterData(store_id, categoryId).size() == 0) { - data.setCategory_img(R.mipmap.promo_compliance); - } else { - data.setCategory_img(R.mipmap.promo_compliance_done); - } - } else { - boolean isMappingPromotion_Flag; + //T2p + data = new DailyDataMenuGetterSetter(); + data.setCategory_name(getResources().getString(R.string.daily_data_menu_t2p)); + boolean flag_t2p_mapping; if (store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)) { - isMappingPromotion_Flag = db.isMappingPromotionData(store_id, categoryId, CommonString.TABLE_MAPPING_PROMOTION_ADHOC); + flag_t2p_mapping = db.isMappingT2PData(store_id, categoryId, CommonString.TABLE_MAPPING_T2P_ADHOC); } else { - isMappingPromotion_Flag = db.isMappingPromotionData(store_id, categoryId, CommonString.TABLE_MAPPING_PROMOTION); + flag_t2p_mapping = db.isMappingT2PData(store_id, categoryId, CommonString.TABLE_MAPPING_T2P); } - boolean isMappingAdditionalPromotion_Flag; - if (store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)) { - isMappingAdditionalPromotion_Flag = db.isMappingAdditionalPromotionData(store_id, categoryId, CommonString.TABLE_MAPPING_ADDITIONAL_PROMOTION_ADHOC); - } else { - isMappingAdditionalPromotion_Flag = db.isMappingAdditionalPromotionData(store_id, categoryId, CommonString.TABLE_MAPPING_ADDITIONAL_PROMOTION); - } - - if (isMappingPromotion_Flag || isMappingAdditionalPromotion_Flag) { - if (db.checkPromoComplianceData(store_id, categoryId) || - db.checkAdditionalPromoComplianceData(store_id, categoryId)) { - data.setCategory_img(R.mipmap.promo_compliance_done); + if (flag_t2p_mapping) { + if (db.isFilledT2P(store_id, categoryId)) { + data.setCategory_img(R.mipmap.t2p_compliance_done); } else { - data.setCategory_img(R.mipmap.promo_compliance); + data.setCategory_img(R.mipmap.t2p_compliance); } } else { - data.setCategory_img(R.mipmap.promocompliance_grey); + data.setCategory_img(R.mipmap.t2pcompliance_grey); } - } + categoryList.add(data); - categoryList.add(data); - //Category Pictures - data = new DailyDataMenuGetterSetter(); - data.setCategory_name(getResources().getString(R.string.daily_data_menu_category_picture)); - //category_camera_list = db.getCategoryPicturedata(categoryId, keyAccount_id, storeType_id, class_id); - if (camera_allow.equalsIgnoreCase("1")) { - //if (category_camera_list.size()>0) { - if (db.isCategoryPictureData(store_id, categoryId)) { - data.setCategory_img(R.mipmap.picturecatogory_done); + //T2p added + data = new DailyDataMenuGetterSetter(); + data.setCategory_name(getResources().getString(R.string.daily_data_menu_additional_visibility)); + if (db.additionalVisibilitydata(store_id, categoryId)) { + data.setCategory_img(R.mipmap.additional_visibility_done); } else { - data.setCategory_img(R.mipmap.picturecatogory); - // } - } /*else { + data.setCategory_img(R.mipmap.additional_visibility); + } + categoryList.add(data); + + + data = new DailyDataMenuGetterSetter(); + data.setCategory_name(getResources().getString(R.string.daily_data_menu_promo_compliance)); + if (country_id.equals("7")) { + if (db.getPromoComplianceSkuwiseExistsAfterData(store_id, categoryId).size() == 0) { + data.setCategory_img(R.mipmap.promo_compliance); + } else { + data.setCategory_img(R.mipmap.promo_compliance_done); + } + } else { + boolean isMappingPromotion_Flag; + if (store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)) { + isMappingPromotion_Flag = db.isMappingPromotionData(store_id, categoryId, CommonString.TABLE_MAPPING_PROMOTION_ADHOC); + } else { + isMappingPromotion_Flag = db.isMappingPromotionData(store_id, categoryId, CommonString.TABLE_MAPPING_PROMOTION); + } + + boolean isMappingAdditionalPromotion_Flag; + if (store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)) { + isMappingAdditionalPromotion_Flag = db.isMappingAdditionalPromotionData(store_id, categoryId, CommonString.TABLE_MAPPING_ADDITIONAL_PROMOTION_ADHOC); + } else { + isMappingAdditionalPromotion_Flag = db.isMappingAdditionalPromotionData(store_id, categoryId, CommonString.TABLE_MAPPING_ADDITIONAL_PROMOTION); + } + + if (isMappingPromotion_Flag || isMappingAdditionalPromotion_Flag) { + if (db.checkPromoComplianceData(store_id, categoryId) || + db.checkAdditionalPromoComplianceData(store_id, categoryId)) { + data.setCategory_img(R.mipmap.promo_compliance_done); + } else { + data.setCategory_img(R.mipmap.promo_compliance); + } + } else { + data.setCategory_img(R.mipmap.promocompliance_grey); + } + } + + categoryList.add(data); + + //Category Pictures + data = new DailyDataMenuGetterSetter(); + data.setCategory_name(getResources().getString(R.string.daily_data_menu_category_picture)); + //category_camera_list = db.getCategoryPicturedata(categoryId, keyAccount_id, storeType_id, class_id); + if (camera_allow.equalsIgnoreCase("1")) { + //if (category_camera_list.size()>0) { + if (db.isCategoryPictureData(store_id, categoryId)) { + data.setCategory_img(R.mipmap.picturecatogory_done); + } else { + data.setCategory_img(R.mipmap.picturecatogory); + // } + } /*else { data.setCategory_img(R.mipmap.picturecatogory_grey); }*/ - } else { - if (db.getNoCameraCategoryDataInserted(store_id, categoryId, null).size() > 0) { - data.setCategory_img(R.mipmap.picturecatogory_done); } else { - data.setCategory_img(R.mipmap.picturecatogory); - // } + if (db.getNoCameraCategoryDataInserted(store_id, categoryId, null).size() > 0) { + data.setCategory_img(R.mipmap.picturecatogory_done); + } else { + data.setCategory_img(R.mipmap.picturecatogory); + // } + } } - } - categoryList.add(data); + categoryList.add(data); - //Audit - data = new DailyDataMenuGetterSetter(); - - ArrayList question_list; - - question_list = getAuditQnsRemoved(); - - if (question_list.size() > 0) { - if (db.getAfterSaveAuditQuestionAnswerData(store_id, categoryId).size() > 0) { - data.setCategory_img(R.mipmap.msl_availability_done); - } else { - data.setCategory_img(R.mipmap.msl_availability); - } - } else { - data.setCategory_img(R.mipmap.msl_availability_grey); - } - - data.setCategory_name(getString(R.string.audit)); - categoryList.add(data); - - //POG - data = new DailyDataMenuGetterSetter(); - if (db.getSubCategoryMasterForPOG(categoryId, storeType_id, pog_type_id, null).size() > 0) { - if (db.getAfterSavePOGUploadQuestionAnswerData(store_id, categoryId).size() > 0) { - data.setCategory_img(R.mipmap.msl_availability_done); - } else { - data.setCategory_img(R.mipmap.msl_availability); - } - - } else { - data.setCategory_img(R.mipmap.msl_availability_grey); - } - - data.setCategory_name(getString(R.string.pog)); - categoryList.add(data); - - //Counterfeit Product Option - Egypt - if(country_id.equals("6")){ + //Audit data = new DailyDataMenuGetterSetter(); - if (db.getCounterfeitProductExistsAfterData(store_id, categoryId).size() > 0) { - data.setCategory_img(R.mipmap.counterfeit_done); + ArrayList question_list; + + question_list = getAuditQnsRemoved(); + + if (question_list.size() > 0) { + if (db.getAfterSaveAuditQuestionAnswerData(store_id, categoryId).size() > 0) { + data.setCategory_img(R.mipmap.msl_availability_done); + } else { + data.setCategory_img(R.mipmap.msl_availability); + } } else { - data.setCategory_img(R.mipmap.counterfeit); + data.setCategory_img(R.mipmap.msl_availability_grey); } - data.setCategory_name(getString(R.string.title_activity_counterfeit_products)); + data.setCategory_name(getString(R.string.audit)); categoryList.add(data); + + //POG + data = new DailyDataMenuGetterSetter(); + if (db.getSubCategoryMasterForPOG(categoryId, storeType_id, pog_type_id, null).size() > 0) { + if (db.getAfterSavePOGUploadQuestionAnswerData(store_id, categoryId).size() > 0) { + data.setCategory_img(R.mipmap.msl_availability_done); + } else { + data.setCategory_img(R.mipmap.msl_availability); + } + + } else { + data.setCategory_img(R.mipmap.msl_availability_grey); + } + + data.setCategory_name(getString(R.string.pog)); + categoryList.add(data); + + //Counterfeit Product Option - Egypt + if(country_id.equals("6")){ + data = new DailyDataMenuGetterSetter(); + + if (db.getCounterfeitProductExistsAfterData(store_id, categoryId).size() > 0) { + data.setCategory_img(R.mipmap.counterfeit_done); + } else { + data.setCategory_img(R.mipmap.counterfeit); + } + + data.setCategory_name(getString(R.string.title_activity_counterfeit_products)); + categoryList.add(data); + } } @@ -519,7 +536,8 @@ public class DailyDataMenuActivity extends AppCompatActivity { } else { holder.categoryName.setTextColor(getResources().getColor(R.color.grey_background)); } - } else if (dailyData.getCategory_name().equalsIgnoreCase(getResources().getString(R.string.daily_data_menu_stock_facing))) { + } else if (dailyData.getCategory_name().equalsIgnoreCase(getResources().getString(R.string.daily_data_menu_stock_facing)) + || dailyData.getCategory_name().equalsIgnoreCase(getResources().getString(R.string.stock))) { if (isMappingStockData()) { holder.categoryName.setTextColor(getResources().getColor(R.color.colorPrimaryDark)); } else { @@ -674,6 +692,15 @@ public class DailyDataMenuActivity extends AppCompatActivity { intent.putExtra("categoryId", categoryId); startActivity(intent); overridePendingTransition(R.anim.activity_in, R.anim.activity_out); + }else if (dailyData.getCategory_name().equalsIgnoreCase(getResources().getString(R.string.stock))) { + if (isMappingStockData()) { + Intent intent = new Intent(DailyDataMenuActivity.this, StockActivity.class); + intent.putExtra("categoryName", dailyData.getCategory_name()); + intent.putExtra("categoryId", categoryId); + startActivity(intent); + overridePendingTransition(R.anim.activity_in, R.anim.activity_out); + } + } } @@ -705,7 +732,10 @@ public class DailyDataMenuActivity extends AppCompatActivity { flag = db.isMappingStockDataStockFacing(categoryId, null, null, null, store_id, CommonString.TABLE_MAPPING_STOCK_STOREWISE); } else if (store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)) { flag = db.isMappingStockDataStockFacing(categoryId, keyAccount_id, storeType_id, class_id, store_id, CommonString.TABLE_MAPPING_STOCK_ADHOC); - } else { + } else if(store_flag_str.equalsIgnoreCase(CommonString.FROM_ADDITIONAL)){ + flag = db.isMappingStockDataStockFacing(categoryId, keyAccount_id, storeType_id, class_id, store_id, CommonString.TABLE_MAPPING_STOCK_ADDITIONAL); + } + else{ flag = db.isMappingStockDataStockFacing(categoryId, keyAccount_id, storeType_id, class_id, store_id, CommonString.TABLE_MAPPING_STOCK); } 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 34d2f96..8cac1ca 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 @@ -358,7 +358,7 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity impl ArrayList mappingPlanogramList; //Header - if (country_id.equals("7")) { + if (country_id.equals("7") || country_id.equals("5")) { mappingPlanogramList = db.getMappingPlanogramData(categoryId, null, null, store_id, CommonString.TABLE_MAPPING_PLANOGRAM_STORE_WISE); } else if (store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)) { mappingPlanogramList = db.getMappingPlanogramData(categoryId, storeType_id, class_id, null, CommonString.TABLE_MAPPING_PLANOGRAM_ADHOC); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/password/MPinActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/password/MPinActivity.java index 78c43ec..c4fe9cd 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/password/MPinActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/password/MPinActivity.java @@ -168,19 +168,19 @@ public class MPinActivity extends AppCompatActivity implements //preferences = PreferenceManager.getDefaultSharedPreferences(this); String mpin = preferences.getString(CommonString.MPIN, null); blurLockView.setCorrectPassword(mpin); - blurLockView.setLeftButton("Forgot MPin"); - blurLockView.setTitle("Please Enter Four Digit MPin"); + blurLockView.setLeftButton(getString(R.string.forget_mpin)); + blurLockView.setTitle(getString(R.string.pls_enter_four_digit_mpin)); } else { blurLockView.setCorrectPassword("abcd"); - blurLockView.setLeftButton("Set MPin"); - blurLockView.setTitle("Please Set Four Digit MPin"); + blurLockView.setLeftButton(getString(R.string.set_mpin)); + blurLockView.setTitle(getString(R.string.pls_set_four_digit_mpin)); } blurLockView.setIs_Password_Check_Mode(IS_PASSWORD_CHECK); - blurLockView.setRightButton("Clear"); + blurLockView.setRightButton(getString(R.string.clear)); blurLockView.setTypeface(getTypeface()); blurLockView.setOnLeftButtonClickListener(this); blurLockView.setOnPasswordInputListener(this); @@ -269,7 +269,7 @@ public class MPinActivity extends AppCompatActivity implements View view = snackbar.getView(); /*TextView tv = (TextView)view.findViewById(android.support.design.R.id.snackbar_text); tv.setTextColor(Color.RED);*/ - snackbar.setAction("Reset", new View.OnClickListener() { + snackbar.setAction(R.string.reset, new View.OnClickListener() { @Override public void onClick(View v) { @@ -340,7 +340,7 @@ public class MPinActivity extends AppCompatActivity implements View view = snackbar.getView(); /*TextView tv = (TextView)view.findViewById(android.support.design.R.id.snackbar_text); tv.setTextColor(Color.RED);*/ - snackbar.setAction("Reset", new View.OnClickListener() { + snackbar.setAction(R.string.reset, new View.OnClickListener() { @Override public void onClick(View v) { @@ -812,7 +812,7 @@ public class MPinActivity extends AppCompatActivity implements } //For SA Only - /*if (preferences.getString(CommonString.KEY_LANGUAGE, "").equals("")) { + /* if (preferences.getString(CommonString.KEY_LANGUAGE, "").equals("")) { Intent intent = new Intent(getBaseContext(), SelectLanguageActivity.class); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/pharma_stores/MSLFragment.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/pharma_stores/MSLFragment.java new file mode 100644 index 0000000..529ff40 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/pharma_stores/MSLFragment.java @@ -0,0 +1,698 @@ +package cpm.com.gskmtorange.pharma_stores; + +import android.content.ActivityNotFoundException; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; +import android.graphics.Color; +import android.graphics.Typeface; +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.v4.app.Fragment; +import android.support.v4.content.FileProvider; +import android.support.v7.widget.CardView; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.inputmethod.InputMethodManager; +import android.widget.AbsListView; +import android.widget.BaseExpandableListAdapter; +import android.widget.EditText; +import android.widget.ExpandableListView; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.RadioButton; +import android.widget.RadioGroup; +import android.widget.RelativeLayout; +import android.widget.TextView; + +import java.io.File; +import java.util.ArrayList; +import java.util.HashMap; +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.dailyentry.StockActivity; +import cpm.com.gskmtorange.xmlGetterSetter.MSL_AvailabilityStockFacingGetterSetter; + +/** + * A simple {@link Fragment} subclass. + * Activities that contain this fragment must implement the + * {@link MSLFragment.OnFragmentInteractionListener} interface + * to handle interaction events. + * Use the {@link MSLFragment#newInstance} factory method to + * create an instance of this fragment. + */ +public class MSLFragment extends Fragment { + // TODO: Rename parameter arguments, choose names that match + // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER + private static final String CategoryName = "categoryName"; + private static final String CategoryId = "categoryId"; + + private OnFragmentInteractionListener mListener; + + GSKOrangeDB db; + + String categoryName, categoryId, storeId, Error_Message = ""; + String store_id, visit_date, username, intime, date, keyAccount_id, class_id, storeType_id, country_id, store_flag_str; + boolean isDialogOpen = true; + private SharedPreferences preferences; + int scrollPosition = 0; + + ExpandableListView expandableListView; + ExpandableListAdapter adapter; + + ArrayList headerDataList; + ArrayList childDataList; + List hashMapListHeaderData; + HashMap> hashMapListChildData; + + List checkHeaderArray = new ArrayList<>(); + boolean checkflag = true; + FloatingActionButton fab; + boolean editFlag = false; + + String gallery_package = ""; + Uri outputFileUri; + + String str = CommonString.FILE_PATH, path = "", _pathforcheck = ""; + + int child_position = -1; + int group_position = -1; + + public MSLFragment() { + // Required empty public constructor + } + + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment MSLFragment. + */ + // TODO: Rename and change types and number of parameters + public static MSLFragment newInstance(String param1, String param2) { + MSLFragment fragment = new MSLFragment(); + Bundle args = new Bundle(); + args.putString(CategoryName, param1); + args.putString(CategoryId, param2); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { + categoryName = getArguments().getString(CategoryName); + categoryId = getArguments().getString(CategoryId); + } + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_msl, container, false); + // Inflate the layout for this fragment + + expandableListView = (ExpandableListView) view.findViewById(R.id.expandableListView); + fab = (FloatingActionButton) getActivity().findViewById(R.id.fab); + + preferences = PreferenceManager.getDefaultSharedPreferences(getActivity()); + CommonFunctions.updateLangResources(getActivity(), preferences.getString(CommonString.KEY_LANGUAGE, "")); + store_id = preferences.getString(CommonString.KEY_STORE_ID, null); + visit_date = preferences.getString(CommonString.KEY_DATE, null); + date = preferences.getString(CommonString.KEY_DATE, null); + username = preferences.getString(CommonString.KEY_USERNAME, null); + intime = preferences.getString(CommonString.KEY_STORE_IN_TIME, ""); + 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, ""); + store_flag_str = preferences.getString(CommonString.KEY_STORE_FLAG, null); + + expandableListView = (ExpandableListView) view.findViewById(R.id.expandableListView); + + getActivity().setTitle(R.string.msl_availability_availability); + + db = new GSKOrangeDB(getActivity()); + db.open(); + + prepareList(); + + return view; + } + + // TODO: Rename method, update argument and hook method into UI event + public void onButtonPressed(Uri uri) { + if (mListener != null) { + mListener.onFragmentInteraction(uri); + } + } + + @Override + public void onAttach(Context context) { + super.onAttach(context); + if (context instanceof OnFragmentInteractionListener) { + mListener = (OnFragmentInteractionListener) context; + } else { + throw new RuntimeException(context.toString() + + " must implement OnFragmentInteractionListener"); + } + } + + @Override + public void onDetach() { + super.onDetach(); + mListener = null; + } + + /** + * This interface must be implemented by activities that contain this + * fragment to allow an interaction in this fragment to be communicated + * to the activity and potentially other fragments contained in that + * activity. + *

+ * See the Android Training lesson Communicating with Other Fragments for more information. + */ + public interface OnFragmentInteractionListener { + // TODO: Update argument type and name + void onFragmentInteraction(Uri uri); + } + + private void prepareList() { + try { + hashMapListHeaderData = new ArrayList<>(); + hashMapListChildData = new HashMap<>(); + + //Header + if(country_id.equals("7")){ + headerDataList = db.getStockFacingHeaderData(categoryId, null, null, null, store_id, CommonString.TABLE_MAPPING_STOCK_STOREWISE, CommonString.TABLE_MAPPING_SOS_TARGET); + } + else if(store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)) { + headerDataList = db.getStockFacingHeaderData(categoryId, keyAccount_id, storeType_id, class_id, store_id,CommonString.TABLE_MAPPING_STOCK_ADHOC, CommonString.TABLE_MAPPING_SOS_TARGET_ADHOC); + } + else { + headerDataList = db.getStockFacingHeaderData(categoryId, keyAccount_id, storeType_id, class_id, store_id,CommonString.TABLE_MAPPING_STOCK, CommonString.TABLE_MAPPING_SOS_TARGET); + } + + if (headerDataList.size() > 0) { + for (int i = 0; i < headerDataList.size(); i++) { + hashMapListHeaderData.add(headerDataList.get(i)); + + //childDataList = new ArrayList<>(); + childDataList = db.getStockAfterSaveData(categoryId, headerDataList.get(i).getBrand_id(), store_id); + if (!(childDataList.size() > 0)) { + if (country_id.equals("7")) { + childDataList = db.getMSL_Availability_StockFacingSKUData(categoryId, headerDataList.get(i).getBrand_id(), null, null, null, store_id, CommonString.TABLE_MAPPING_STOCK_STOREWISE); + } else if (store_flag_str.equalsIgnoreCase(CommonString.FROM_DEVIATION)) { + childDataList = db.getMSL_Availability_StockFacingSKUData(categoryId, headerDataList.get(i).getBrand_id(), keyAccount_id, storeType_id, class_id, store_id, CommonString.TABLE_MAPPING_STOCK_ADHOC); + } else { + childDataList = db.getMSL_Availability_StockFacingSKUData(categoryId, headerDataList.get(i).getBrand_id(), keyAccount_id, storeType_id, class_id, store_id, CommonString.TABLE_MAPPING_STOCK); + } + } + + hashMapListChildData.put(hashMapListHeaderData.get(i), childDataList); + } + } + + adapter = new ExpandableListAdapter(getActivity(), hashMapListHeaderData, hashMapListChildData); + expandableListView.setAdapter(adapter); + + expandableListView.setOnScrollListener(new AbsListView.OnScrollListener() { + @Override + public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { + + expandableListView.invalidate(); + + int lastItem = firstVisibleItem + visibleItemCount; + + if (firstVisibleItem == 0) { + fab.show();//setVisibility(View.VISIBLE); + } else if (lastItem == totalItemCount) { + fab.hide();//setVisibility(View.INVISIBLE); + } else { + fab.show();//setVisibility(View.VISIBLE); + } + } + + @Override + public void onScrollStateChanged(AbsListView arg0, int arg1) { + InputMethodManager inputManager = (InputMethodManager) getActivity() + .getSystemService(Context.INPUT_METHOD_SERVICE); + if (getActivity().getCurrentFocus() != null) { + inputManager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(), 0); + getActivity().getCurrentFocus().clearFocus(); + } + + expandableListView.invalidateViews(); + //adapter.notifyDataSetChanged(); + } + }); + + // Listview Group click listener + expandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() { + @Override + public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) { + return false; + } + }); + + // Listview Group expanded listener + expandableListView.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() { + @Override + public void onGroupExpand(int groupPosition) { + InputMethodManager inputManager = (InputMethodManager) getActivity() + .getSystemService(Context.INPUT_METHOD_SERVICE); + if (getActivity().getWindow().getCurrentFocus() != null) { + inputManager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(), 0); + getActivity().getCurrentFocus().clearFocus(); + } + } + }); + + // Listview Group collasped listener + expandableListView.setOnGroupCollapseListener(new ExpandableListView.OnGroupCollapseListener() { + @Override + public void onGroupCollapse(int groupPosition) { + InputMethodManager inputManager = (InputMethodManager) getActivity().getApplicationContext() + .getSystemService(Context.INPUT_METHOD_SERVICE); + if (getActivity().getWindow().getCurrentFocus() != null) { + inputManager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(), 0); + getActivity().getCurrentFocus().clearFocus(); + } + } + }); + + // Listview on child click listener + expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { + @Override + public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, + int childPosition, long id) { + return false; + } + }); + + } catch (Exception e) { + e.printStackTrace(); + } + } + + public class ExpandableListAdapter extends BaseExpandableListAdapter { + private Context _context; + private List _listDataHeader; + private HashMap> _listDataChild; + + public ExpandableListAdapter(Context context, List listDataHeader, + HashMap> listChildData) { + this._context = context; + this._listDataHeader = listDataHeader; + this._listDataChild = listChildData; + } + + @Override + public Object getGroup(int groupPosition) { + return this._listDataHeader.get(groupPosition); + } + + @Override + public int getGroupCount() { + return this._listDataHeader.size(); + } + + @Override + public long getGroupId(int groupPosition) { + return groupPosition; + } + + @Override + public View getGroupView(final int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { + MSL_AvailabilityStockFacingGetterSetter headerTitle = (MSL_AvailabilityStockFacingGetterSetter) getGroup(groupPosition); + + if (convertView == null) { + LayoutInflater infalInflater = (LayoutInflater) this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + convertView = infalInflater.inflate(R.layout.item_msl_availability_stock_facing_header, null, false); + } + + TextView txt_categoryHeader = (TextView) convertView.findViewById(R.id.txt_categoryHeader); + RelativeLayout rel_header = (RelativeLayout) convertView.findViewById(R.id.rel_categoryHeader); + ImageView img_camera = (ImageView) convertView.findViewById(R.id.img_camera); + CardView card_view = (CardView) convertView.findViewById(R.id.card_view); + + txt_categoryHeader.setTypeface(null, Typeface.BOLD); + + if (headerTitle.getCompany_id().equals("1")) { + txt_categoryHeader.setTextColor(getResources().getColor(R.color.colorPrimaryDark)); + } else { + txt_categoryHeader.setTextColor(getResources().getColor(R.color.black)); + } + txt_categoryHeader.setText(headerTitle.getSub_category() + "-" + headerTitle.getBrand()); + + + if (!checkflag) { + if (checkHeaderArray.contains(groupPosition)) { + card_view.setCardBackgroundColor(getResources().getColor(android.R.color.holo_red_dark)); + } else { + card_view.setCardBackgroundColor(getResources().getColor(R.color.grey_background)); + } + } + + //empty check color change + /*if (headerTitle.getCompany_id().equals("1")) { + if (!checkflag) { + if (checkHeaderArray.contains(groupPosition)) { + //card_view.setCardBackgroundColor(getResources().getColor(android.R.color.holo_red_dark)); + txt_categoryHeader.setTextColor(getResources().getColor(android.R.color.holo_red_dark)); + } else { + txt_categoryHeader.setTextColor(getResources().getColor(R.color.colorPrimaryDark)); + } + } + } else { + if (!checkflag) { + if (checkHeaderArray.contains(groupPosition)) { + txt_categoryHeader.setTextColor(getResources().getColor(android.R.color.holo_red_dark)); + } else { + txt_categoryHeader.setTextColor(getResources().getColor(R.color.black)); + } + } + }*/ + + return convertView; + } + + @Override + public Object getChild(int groupPosition, int childPosititon) { + return this._listDataChild.get(this._listDataHeader.get(groupPosition)).get(childPosititon); + } + + @Override + public int getChildrenCount(int groupPosition) { + return this._listDataChild.get(this._listDataHeader.get(groupPosition)).size(); + } + + @Override + public long getChildId(int groupPosition, int childPosition) { + return childPosition; + } + + @Override + public View getChildView(final int groupPosition, final int childPosition, boolean isLastChild, + View convertView, ViewGroup parent) { + + final MSL_AvailabilityStockFacingGetterSetter childData = + (MSL_AvailabilityStockFacingGetterSetter) getChild(groupPosition, childPosition); + ViewHolder holder = null; + + if (convertView == null) { + LayoutInflater infalInflater = (LayoutInflater) this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + convertView = infalInflater.inflate(R.layout.pharma_msl_item, null, false); + + holder = new ViewHolder(); + holder.cardView = (CardView) convertView.findViewById(R.id.card_view); + holder.lin_category = (LinearLayout) convertView.findViewById(R.id.lin_category); + + holder.txt_skuName = (TextView) convertView.findViewById(R.id.txt_skuName); + + holder.rg = (RadioGroup) convertView.findViewById(R.id.radio_group); + holder.radio_yes = (RadioButton) convertView.findViewById(R.id.radio_yes); + holder.radio_no = (RadioButton) convertView.findViewById(R.id.radio_no); + holder.img_cam = (ImageView) convertView.findViewById(R.id.img_cam); + + convertView.setTag(holder); + } else { + holder = (ViewHolder) convertView.getTag(); + } + + //hidden for MSL + holder.img_cam.setVisibility(View.GONE); + + holder.txt_skuName.setText(childData.getSku()); + + if (childData.getCompany_id().equals("1") && childData.getMust_have().equals("1")) { + holder.lin_category.setBackgroundColor(getResources().getColor(R.color.colorOrange)); + + } else { + + holder.lin_category.setBackgroundColor(getResources().getColor(R.color.white)); + + } + + if (childData.getCompany_id().equals("1")) { + + if (childData.getMust_have().equals("1")) { + holder.txt_skuName.setTextColor(getResources().getColor(R.color.colorPrimary)); + } else { + holder.txt_skuName.setTextColor(getResources().getColor(R.color.blue)); + } + + } else { + holder.txt_skuName.setTextColor(getResources().getColor(R.color.black)); + } + + + final ViewHolder finalHolder1 = holder; + holder.rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(RadioGroup group, int checkedId) { + if (finalHolder1.radio_yes.isChecked()) { + + finalHolder1.radio_yes.setBackground(getActivity().getResources().getDrawable(R.mipmap.yes_green)); + finalHolder1.radio_no.setBackground(getActivity().getResources().getDrawable(R.mipmap.no_white)); + //finalHolder1.img_cam.setVisibility(View.VISIBLE); + + childData.setIsChecked(1); + //adapter.notifyDataSetChanged(); + } + if (finalHolder1.radio_no.isChecked()){ + + finalHolder1.radio_no.setBackground(getActivity().getResources().getDrawable(R.mipmap.no_red)); + finalHolder1.radio_yes.setBackground(getActivity().getResources().getDrawable(R.mipmap.yes_white)); + //finalHolder1.img_cam.setVisibility(View.GONE); + + childData.setIsChecked(0); + //adapter.notifyDataSetChanged(); + } + } + }); + + //Camera + /* holder.img_cam.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + _pathforcheck = "Pharma_MSL_Image_" + store_id + categoryId + "_" + childData.getBrand_id() + visit_date.replace("/", "") + "_" + + CommonFunctions.getCurrentTimeWithLanguage(getActivity()).replace(":", "") + ".jpg"; + child_position = childPosition; + group_position = groupPosition; + path = str + _pathforcheck; + + startCameraActivity(1); + } + }); +*/ + + + if(childData.getIsChecked()==1){ + holder.radio_yes.setBackground(getActivity().getResources().getDrawable(R.mipmap.yes_green)); + holder.radio_no.setBackground(getActivity().getResources().getDrawable(R.mipmap.no_white)); + //holder.img_cam.setVisibility(View.VISIBLE); + holder.radio_yes.setChecked(true); + //notifyDataSetChanged(); + } + else if(childData.getIsChecked()==0){ + holder.radio_yes.setBackground(getActivity().getResources().getDrawable(R.mipmap.yes_white)); + holder.radio_no.setBackground(getActivity().getResources().getDrawable(R.mipmap.no_red)); + //holder.img_cam.setVisibility(View.GONE); + holder.radio_no.setChecked(true); + //notifyDataSetChanged(); + }else { + holder.radio_yes.setBackground(getActivity().getResources().getDrawable(R.mipmap.yes_white)); + holder.radio_no.setBackground(getActivity().getResources().getDrawable(R.mipmap.no_white)); + //holder.img_cam.setVisibility(View.GONE); + holder.rg.clearCheck(); + //notifyDataSetChanged(); + } + + /* if(childData.getImgPath().equals("")){ + holder.img_cam.setBackgroundResource(R.mipmap.camera_orange); + } + else { + holder.img_cam.setBackgroundResource(R.mipmap.camera_green); + }*/ + + //empty check color change + if (!checkflag) { + boolean tempflag = false; + + if (childData.getCompany_id().equals("1")) { + + if (tempflag) { + //holder.cardView.setCardBackgroundColor(getResources().getColor(android.R.color.holo_red_dark)); + holder.lin_category.setBackgroundColor(getResources().getColor(android.R.color.holo_red_dark)); + } else { + //holder.cardView.setCardBackgroundColor(getResources().getColor(R.color.white)); + if (childData.getCompany_id().equals("1") && childData.getMust_have().equals("1")) { + holder.lin_category.setBackgroundColor(getResources().getColor(R.color.colorOrange)); + } else { + holder.lin_category.setBackgroundColor(getResources().getColor(R.color.white)); + } + } + } else { + /* if (holder.facing.getText().toString().equals("")) { + holder.facing.setBackgroundColor(getResources().getColor(R.color.white)); + holder.facing.setHintTextColor(getResources().getColor(android.R.color.holo_red_dark)); + holder.facing.setHint(getString(R.string.empty)); + tempflag = true; + }*/ + + + if (tempflag) { + //holder.cardView.setCardBackgroundColor(getResources().getColor(android.R.color.holo_red_dark)); + holder.lin_category.setBackgroundColor(getResources().getColor(android.R.color.holo_red_dark)); + } else { + //holder.cardView.setCardBackgroundColor(getResources().getColor(R.color.white)); + if (childData.getCompany_id().equals("1") && childData.getMust_have().equals("1")) { + holder.lin_category.setBackgroundColor(getResources().getColor(R.color.colorOrange)); + } else { + holder.lin_category.setBackgroundColor(getResources().getColor(R.color.white)); + } + } + } + } + + return convertView; + } + + @Override + public boolean hasStableIds() { + return false; + } + + @Override + public boolean isChildSelectable(int groupPosition, int childPosition) { + return true; + } + } + + public class ViewHolder { + CardView cardView; + TextView txt_skuName; + LinearLayout lin_category; + RadioGroup rg; + RadioButton radio_yes; + RadioButton radio_no; + ImageView img_cam; + } + + private void startCameraActivity(int pos) { + try { + + Log.i("Stock & Facing ", "startCameraActivity()"); + File file = new File(path); + outputFileUri = FileProvider.getUriForFile(getActivity(), "cpm.com.gskmtorange.fileprovider", file); + + String defaultCameraPackage = ""; + final PackageManager packageManager = getActivity().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; + } + } + } + } + + Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); + intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); + intent.setPackage(defaultCameraPackage); + //startActivityForResult(intent, 1); + startActivityForResult(intent, pos); + //startActivityForResult(intent, position); + + } 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); + startActivityForResult(intent, pos); + + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public void onActivityResult(int requestCode, int resultCode, Intent data) { + Log.e("Stock & Facing", "resultCode: " + resultCode + " requestCode: " + requestCode); + /*switch (resultCode) { + case 0: + Log.e("Stock & Facing", "User cancelled"); + + break; + case -1: + if (_pathforcheck != null && !_pathforcheck.equals("")) { + if (new File(str + _pathforcheck).exists()) { + img = _pathforcheck; + t2PAdapter.notifyDataSetChanged(); + _pathforcheck = ""; + } + } + break; + }*/ + + switch (requestCode) { + case 1: + if (resultCode == 0) { + Log.e("Stock & Facing", "User cancelled"); + } else if (resultCode == -1) { + if (_pathforcheck != null && !_pathforcheck.equals("")) { + if (new File(str + _pathforcheck).exists()) { + + hashMapListChildData.get(headerDataList.get(group_position)).get(child_position).setImgPath(_pathforcheck); + + expandableListView.invalidateViews(); + adapter.notifyDataSetChanged(); + _pathforcheck = ""; + } + } + } + break; + } + + super.onActivityResult(requestCode, resultCode, data); + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/pharma_stores/PharmaActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/pharma_stores/PharmaActivity.java new file mode 100644 index 0000000..c9a36dd --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/pharma_stores/PharmaActivity.java @@ -0,0 +1,102 @@ +package cpm.com.gskmtorange.pharma_stores; + +import android.app.FragmentTransaction; +import android.content.SharedPreferences; +import android.net.Uri; +import android.os.Bundle; +import android.preference.PreferenceManager; +import android.support.design.widget.FloatingActionButton; +import android.support.design.widget.Snackbar; +import android.support.v4.app.Fragment; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; +import android.view.View; + +import cpm.com.gskmtorange.R; +import cpm.com.gskmtorange.constant.CommonString; + +public class PharmaActivity extends AppCompatActivity implements StoreDetailFragment.OnFragmentInteractionListener, MSLFragment.OnFragmentInteractionListener { + private SharedPreferences.Editor editor = null; + private SharedPreferences preferences; + FloatingActionButton fab; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_paharma); + Toolbar toolbar = findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + + preferences = PreferenceManager.getDefaultSharedPreferences(this); + + editor = preferences.edit(); + + + Bundle bundle = new Bundle(); + bundle.putString("categoryName", "Oral Health"); + bundle.putString("categoryId", "2"); + StoreDetailFragment fragment = new StoreDetailFragment(); + fragment.setArguments(bundle); + + getSupportFragmentManager().beginTransaction().replace(R.id.fragment, fragment).commit(); + + fab = findViewById(R.id.fab); + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Fragment f = getSupportFragmentManager().findFragmentById(R.id.fragment); + if(f instanceof StoreDetailFragment){ + Bundle bundle = new Bundle(); + bundle.putString("categoryName", "Oral Health"); + bundle.putString("categoryId", "2"); + SOSFragment fragment = new SOSFragment(); + fragment.setArguments(bundle); + + getSupportFragmentManager().beginTransaction().replace(R.id.fragment, fragment).commit(); + } + else if(f instanceof SOSFragment){ + Bundle bundle = new Bundle(); + bundle.putString("categoryName", "Oral Health"); + bundle.putString("categoryId", "2"); + MSLFragment fragment = new MSLFragment(); + fragment.setArguments(bundle); + + getSupportFragmentManager().beginTransaction().replace(R.id.fragment, fragment).commit(); + } + else{ + // do something with f + Snackbar.make(fab, "---",Snackbar.LENGTH_SHORT).show(); + } + + } + }); + } + + @Override + public void onFragmentInteraction(Fragment f) { + + if(f instanceof StoreDetailFragment){ + Bundle bundle = new Bundle(); + bundle.putString("categoryName", "Oral Health"); + bundle.putString("categoryId", "2"); + SOSFragment fragment = new SOSFragment(); + fragment.setArguments(bundle); + + getSupportFragmentManager().beginTransaction().replace(R.id.fragment, fragment).commit(); + } + else if(f instanceof SOSFragment){ + Bundle bundle = new Bundle(); + bundle.putString("categoryName", "Oral Health"); + bundle.putString("categoryId", "2"); + MSLFragment fragment = new MSLFragment(); + fragment.setArguments(bundle); + + getSupportFragmentManager().beginTransaction().replace(R.id.fragment, fragment).commit(); + } + } + + @Override + public void onFragmentInteraction(Uri uri) { + + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/pharma_stores/PharmaActivityFragment.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/pharma_stores/PharmaActivityFragment.java new file mode 100644 index 0000000..b464bf8 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/pharma_stores/PharmaActivityFragment.java @@ -0,0 +1,24 @@ +package cpm.com.gskmtorange.pharma_stores; + +import android.support.v4.app.Fragment; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import cpm.com.gskmtorange.R; + +/** + * A placeholder fragment containing a simple view. + */ +public class PharmaActivityFragment extends Fragment { + + public PharmaActivityFragment() { + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + return inflater.inflate(R.layout.fragment_paharma, container, false); + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/pharma_stores/SOSFragment.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/pharma_stores/SOSFragment.java new file mode 100644 index 0000000..962c25f --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/pharma_stores/SOSFragment.java @@ -0,0 +1,162 @@ +package cpm.com.gskmtorange.pharma_stores; + +import android.content.Context; +import android.net.Uri; +import android.os.Bundle; +import android.support.annotation.NonNull; +import android.support.v4.app.Fragment; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import cpm.com.gskmtorange.R; + +/** + * A simple {@link Fragment} subclass. + * Activities that contain this fragment must implement the + * {@link SOSFragment.OnFragmentInteractionListener} interface + * to handle interaction events. + * Use the {@link SOSFragment#newInstance} factory method to + * create an instance of this fragment. + */ +public class SOSFragment extends Fragment { + // TODO: Rename parameter arguments, choose names that match + // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER + private static final String ARG_PARAM1 = "param1"; + private static final String ARG_PARAM2 = "param2"; + + // TODO: Rename and change types of parameters + private String mParam1; + private String mParam2; + + private OnFragmentInteractionListener mListener; + + RecyclerView rec_sos; + + public SOSFragment() { + // Required empty public constructor + } + + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment SOSFragment. + */ + // TODO: Rename and change types and number of parameters + public static SOSFragment newInstance(String param1, String param2) { + SOSFragment fragment = new SOSFragment(); + Bundle args = new Bundle(); + args.putString(ARG_PARAM1, param1); + args.putString(ARG_PARAM2, param2); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { + mParam1 = getArguments().getString(ARG_PARAM1); + mParam2 = getArguments().getString(ARG_PARAM2); + } + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + View view = inflater.inflate(R.layout.fragment_so, container, false); + rec_sos = view.findViewById(R.id.rec_sos); + + rec_sos.setAdapter(new SOSAdapter(getActivity())); + rec_sos.setLayoutManager(new LinearLayoutManager(getActivity())); + + return view; + } + + // TODO: Rename method, update argument and hook method into UI event + public void onButtonPressed(Uri uri) { + if (mListener != null) { + mListener.onFragmentInteraction(uri); + } + } + + @Override + public void onAttach(Context context) { + super.onAttach(context); + if (context instanceof OnFragmentInteractionListener) { + mListener = (OnFragmentInteractionListener) context; + } else { + /*throw new RuntimeException(context.toString() + + " must implement OnFragmentInteractionListener");*/ + } + } + + @Override + public void onDetach() { + super.onDetach(); + mListener = null; + } + + /** + * This interface must be implemented by activities that contain this + * fragment to allow an interaction in this fragment to be communicated + * to the activity and potentially other fragments contained in that + * activity. + *

+ * See the Android Training lesson Communicating with Other Fragments for more information. + */ + public interface OnFragmentInteractionListener { + // TODO: Update argument type and name + void onFragmentInteraction(Uri uri); + } + + class SOSAdapter extends RecyclerView.Adapter { + + private LayoutInflater inflator; + + public SOSAdapter(Context context) { + inflator = LayoutInflater.from(context); + //this.data = data; + } + + @NonNull + @Override + public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int i) { + View view = inflator.inflate(R.layout.item_pharma_sos, parent, false); + + MyViewHolder holder = new MyViewHolder(view); + + return holder; + } + + @Override + public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, int i) { + + + } + + @Override + public int getItemCount() { + return 2; + } + + class MyViewHolder extends RecyclerView.ViewHolder { + + TextView tv_brand; + + public MyViewHolder(@NonNull View itemView) { + super(itemView); + tv_brand = (TextView) itemView.findViewById(R.id.tv_brand); + } + } + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/pharma_stores/StoreDetailFragment.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/pharma_stores/StoreDetailFragment.java new file mode 100644 index 0000000..6d564c8 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/pharma_stores/StoreDetailFragment.java @@ -0,0 +1,645 @@ +package cpm.com.gskmtorange.pharma_stores; + +import android.content.ActivityNotFoundException; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; +import android.graphics.Typeface; +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.v4.app.Fragment; +import android.support.v4.content.FileProvider; +import android.support.v7.widget.CardView; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.inputmethod.InputMethodManager; +import android.widget.AbsListView; +import android.widget.BaseExpandableListAdapter; +import android.widget.ExpandableListView; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.RadioButton; +import android.widget.RadioGroup; +import android.widget.RelativeLayout; +import android.widget.TextView; + +import java.io.File; +import java.util.ArrayList; +import java.util.HashMap; +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.MSL_AvailabilityStockFacingGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.MappingPharmaQuestionGetterSetter; + +/** + * A simple {@link Fragment} subclass. + * Activities that contain this fragment must implement the + * {@link StoreDetailFragment.OnFragmentInteractionListener} interface + * to handle interaction events. + * Use the {@link StoreDetailFragment#newInstance} factory method to + * create an instance of this fragment. + */ +public class StoreDetailFragment extends Fragment { + // TODO: Rename parameter arguments, choose names that match + // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER + private static final String CategoryName = "categoryName"; + private static final String CategoryId = "categoryId"; + + // TODO: Rename and change types of parameters + private String mParam1; + private String mParam2; + + private OnFragmentInteractionListener mListener; + + GSKOrangeDB db; + + String categoryName, categoryId, Error_Message = ""; + String store_id, visit_date, username, intime, date, keyAccount_id, class_id, storeType_id, country_id, store_flag_str; + boolean isDialogOpen = true; + private SharedPreferences preferences; + int scrollPosition = 0; + + ExpandableListView expandableListView; + ExpandableListAdapter adapter; + + ArrayList headerDataList; + ArrayList childDataList; + List hashMapListHeaderData; + HashMap> hashMapListChildData; + + List checkHeaderArray = new ArrayList<>(); + boolean checkflag = true; + FloatingActionButton fab; + boolean editFlag = false; + + String gallery_package = ""; + Uri outputFileUri; + + String str = CommonString.FILE_PATH, path = "", _pathforcheck = ""; + + int child_position = -1; + int group_position = -1; + + public StoreDetailFragment() { + // Required empty public constructor + } + + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment StoreDetailFragment. + */ + // TODO: Rename and change types and number of parameters + public static StoreDetailFragment newInstance(String param1, String param2) { + StoreDetailFragment fragment = new StoreDetailFragment(); + Bundle args = new Bundle(); + args.putString(CategoryName, param1); + args.putString(CategoryId, param2); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (getArguments() != null) { + categoryName = getArguments().getString(CategoryName); + categoryId = getArguments().getString(CategoryId); + } + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + View view = inflater.inflate(R.layout.fragment_storedetail, container, false); + + expandableListView = (ExpandableListView) view.findViewById(R.id.expandableListView); + fab = (FloatingActionButton) getActivity().findViewById(R.id.fab); + + preferences = PreferenceManager.getDefaultSharedPreferences(getActivity()); + CommonFunctions.updateLangResources(getActivity(), preferences.getString(CommonString.KEY_LANGUAGE, "")); + store_id = preferences.getString(CommonString.KEY_STORE_ID, null); + visit_date = preferences.getString(CommonString.KEY_DATE, null); + date = preferences.getString(CommonString.KEY_DATE, null); + username = preferences.getString(CommonString.KEY_USERNAME, null); + intime = preferences.getString(CommonString.KEY_STORE_IN_TIME, ""); + 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, ""); + store_flag_str = preferences.getString(CommonString.KEY_STORE_FLAG, null); + + expandableListView = (ExpandableListView) view.findViewById(R.id.expandableListView); + + getActivity().setTitle(R.string.store_detail); + + db = new GSKOrangeDB(getActivity()); + db.open(); + + prepareList(); + + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + db.InsertStoreDetailPharma(store_id, headerDataList, hashMapListChildData); + onButtonPressed(); + } + }); + + return view; + } + + // TODO: Rename method, update argument and hook method into UI event + public void onButtonPressed() { + if (mListener != null) { + mListener.onFragmentInteraction(getActivity().getSupportFragmentManager().findFragmentById(R.id.fragment)); + } + } + + @Override + public void onAttach(Context context) { + super.onAttach(context); + if (context instanceof OnFragmentInteractionListener) { + mListener = (OnFragmentInteractionListener) context; + } else { + throw new RuntimeException(context.toString() + + " must implement OnFragmentInteractionListener"); + } + } + + @Override + public void onDetach() { + super.onDetach(); + mListener = null; + } + + /** + * This interface must be implemented by activities that contain this + * fragment to allow an interaction in this fragment to be communicated + * to the activity and potentially other fragments contained in that + * activity. + *

+ * See the Android Training lesson Communicating with Other Fragments for more information. + */ + public interface OnFragmentInteractionListener { + // TODO: Update argument type and name + void onFragmentInteraction(Fragment uri); + } + + private void prepareList() { + try { + hashMapListHeaderData = new ArrayList<>(); + hashMapListChildData = new HashMap<>(); + + //Header + headerDataList = db.getPharmaQuestionsData(); + + if (headerDataList.size() > 0) { + for (int i = 0; i < headerDataList.size(); i++) { + + //childDataList = new ArrayList<>(); + childDataList = db.getPharmaAnswerData(headerDataList.get(i).getQUESTION_ID().get(0)); + + hashMapListChildData.put(headerDataList.get(i), childDataList); + } + } + + adapter = new ExpandableListAdapter(getActivity(), headerDataList, hashMapListChildData); + expandableListView.setAdapter(adapter); + + expandableListView.setOnScrollListener(new AbsListView.OnScrollListener() { + @Override + public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { + + expandableListView.invalidate(); + + int lastItem = firstVisibleItem + visibleItemCount; + + if (firstVisibleItem == 0) { + fab.show();//setVisibility(View.VISIBLE); + } else if (lastItem == totalItemCount) { + fab.hide();//setVisibility(View.INVISIBLE); + } else { + fab.show();//setVisibility(View.VISIBLE); + } + } + + @Override + public void onScrollStateChanged(AbsListView arg0, int arg1) { + InputMethodManager inputManager = (InputMethodManager) getActivity() + .getSystemService(Context.INPUT_METHOD_SERVICE); + if (getActivity().getCurrentFocus() != null) { + inputManager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(), 0); + getActivity().getCurrentFocus().clearFocus(); + } + + expandableListView.invalidateViews(); + //adapter.notifyDataSetChanged(); + } + }); + + // Listview Group click listener + expandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() { + @Override + public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) { + return false; + } + }); + + // Listview Group expanded listener + expandableListView.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() { + @Override + public void onGroupExpand(int groupPosition) { + InputMethodManager inputManager = (InputMethodManager) getActivity() + .getSystemService(Context.INPUT_METHOD_SERVICE); + if (getActivity().getWindow().getCurrentFocus() != null) { + inputManager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(), 0); + getActivity().getCurrentFocus().clearFocus(); + } + } + }); + + // Listview Group collasped listener + expandableListView.setOnGroupCollapseListener(new ExpandableListView.OnGroupCollapseListener() { + @Override + public void onGroupCollapse(int groupPosition) { + InputMethodManager inputManager = (InputMethodManager) getActivity().getApplicationContext() + .getSystemService(Context.INPUT_METHOD_SERVICE); + if (getActivity().getWindow().getCurrentFocus() != null) { + inputManager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(), 0); + getActivity().getCurrentFocus().clearFocus(); + } + } + }); + + // Listview on child click listener + expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { + @Override + public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, + int childPosition, long id) { + return false; + } + }); + + } catch (Exception e) { + e.printStackTrace(); + } + } + + public class ExpandableListAdapter extends BaseExpandableListAdapter { + private Context _context; + private List _listDataHeader; + private HashMap> _listDataChild; + + public ExpandableListAdapter(Context context, List listDataHeader, + HashMap> listChildData) { + this._context = context; + this._listDataHeader = listDataHeader; + this._listDataChild = listChildData; + } + + @Override + public Object getGroup(int groupPosition) { + return this._listDataHeader.get(groupPosition); + } + + @Override + public int getGroupCount() { + return this._listDataHeader.size(); + } + + @Override + public long getGroupId(int groupPosition) { + return groupPosition; + } + + @Override + public View getGroupView(final int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { + MappingPharmaQuestionGetterSetter headerTitle = (MappingPharmaQuestionGetterSetter) getGroup(groupPosition); + + if (convertView == null) { + LayoutInflater infalInflater = (LayoutInflater) this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + convertView = infalInflater.inflate(R.layout.item_msl_availability_stock_facing_header, null, false); + } + + TextView txt_categoryHeader = (TextView) convertView.findViewById(R.id.txt_categoryHeader); + RelativeLayout rel_header = (RelativeLayout) convertView.findViewById(R.id.rel_categoryHeader); + ImageView img_camera = (ImageView) convertView.findViewById(R.id.img_camera); + CardView card_view = (CardView) convertView.findViewById(R.id.card_view); + + txt_categoryHeader.setTypeface(null, Typeface.BOLD); + + txt_categoryHeader.setText(headerTitle.getQUESTION().get(0)); + + + if (!checkflag) { + if (checkHeaderArray.contains(groupPosition)) { + card_view.setCardBackgroundColor(getResources().getColor(android.R.color.holo_red_dark)); + } else { + card_view.setCardBackgroundColor(getResources().getColor(R.color.grey_background)); + } + } + + //empty check color change + /*if (headerTitle.getCompany_id().equals("1")) { + if (!checkflag) { + if (checkHeaderArray.contains(groupPosition)) { + //card_view.setCardBackgroundColor(getResources().getColor(android.R.color.holo_red_dark)); + txt_categoryHeader.setTextColor(getResources().getColor(android.R.color.holo_red_dark)); + } else { + txt_categoryHeader.setTextColor(getResources().getColor(R.color.colorPrimaryDark)); + } + } + } else { + if (!checkflag) { + if (checkHeaderArray.contains(groupPosition)) { + txt_categoryHeader.setTextColor(getResources().getColor(android.R.color.holo_red_dark)); + } else { + txt_categoryHeader.setTextColor(getResources().getColor(R.color.black)); + } + } + }*/ + + return convertView; + } + + @Override + public Object getChild(int groupPosition, int childPosititon) { + return this._listDataChild.get(this._listDataHeader.get(groupPosition)).get(childPosititon); + } + + @Override + public int getChildrenCount(int groupPosition) { + return this._listDataChild.get(this._listDataHeader.get(groupPosition)).size(); + } + + @Override + public long getChildId(int groupPosition, int childPosition) { + return childPosition; + } + + @Override + public View getChildView(final int groupPosition, final int childPosition, boolean isLastChild, + View convertView, ViewGroup parent) { + + final MappingPharmaQuestionGetterSetter childData = + (MappingPharmaQuestionGetterSetter) getChild(groupPosition, childPosition); + ViewHolder holder = null; + + if (convertView == null) { + LayoutInflater infalInflater = (LayoutInflater) this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + convertView = infalInflater.inflate(R.layout.pharma_msl_item, null, false); + + holder = new ViewHolder(); + holder.cardView = (CardView) convertView.findViewById(R.id.card_view); + holder.lin_category = (LinearLayout) convertView.findViewById(R.id.lin_category); + + holder.txt_skuName = (TextView) convertView.findViewById(R.id.txt_skuName); + + holder.rg = (RadioGroup) convertView.findViewById(R.id.radio_group); + holder.radio_yes = (RadioButton) convertView.findViewById(R.id.radio_yes); + holder.radio_no = (RadioButton) convertView.findViewById(R.id.radio_no); + holder.img_cam = (ImageView) convertView.findViewById(R.id.img_cam); + + convertView.setTag(holder); + } else { + holder = (ViewHolder) convertView.getTag(); + } + + holder.txt_skuName.setText(childData.getSUB_CATEGORY().get(0) + " - " + childData.getBRAND().get(0)); + + holder.txt_skuName.setTextColor(getResources().getColor(R.color.black)); + + + final ViewHolder finalHolder1 = holder; + holder.rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(RadioGroup group, int checkedId) { + if (finalHolder1.radio_yes.isChecked()) { + + finalHolder1.radio_yes.setBackground(getActivity().getResources().getDrawable(R.mipmap.yes_green)); + finalHolder1.radio_no.setBackground(getActivity().getResources().getDrawable(R.mipmap.no_white)); + finalHolder1.img_cam.setVisibility(View.VISIBLE); + + childData.setIsChecked(1); + //adapter.notifyDataSetChanged(); + } + if (finalHolder1.radio_no.isChecked()){ + + finalHolder1.radio_no.setBackground(getActivity().getResources().getDrawable(R.mipmap.no_red)); + finalHolder1.radio_yes.setBackground(getActivity().getResources().getDrawable(R.mipmap.yes_white)); + finalHolder1.img_cam.setVisibility(View.GONE); + + childData.setIsChecked(0); + //adapter.notifyDataSetChanged(); + } + } + }); + + //Camera + holder.img_cam.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + _pathforcheck = "Pharma_MSL_Image_" + store_id + categoryId + "_" + childData.getBRAND_ID() + visit_date.replace("/", "") + "_" + + CommonFunctions.getCurrentTimeWithLanguage(getActivity()).replace(":", "") + ".jpg"; + child_position = childPosition; + group_position = groupPosition; + path = str + _pathforcheck; + + startCameraActivity(1); + } + }); + + + + if(childData.getIsChecked()==1){ + holder.radio_yes.setBackground(getActivity().getResources().getDrawable(R.mipmap.yes_green)); + holder.radio_no.setBackground(getActivity().getResources().getDrawable(R.mipmap.no_white)); + holder.img_cam.setVisibility(View.VISIBLE); + holder.radio_yes.setChecked(true); + //notifyDataSetChanged(); + } + else if(childData.getIsChecked()==0){ + holder.radio_yes.setBackground(getActivity().getResources().getDrawable(R.mipmap.yes_white)); + holder.radio_no.setBackground(getActivity().getResources().getDrawable(R.mipmap.no_red)); + holder.img_cam.setVisibility(View.GONE); + holder.radio_no.setChecked(true); + //notifyDataSetChanged(); + }else { + holder.radio_yes.setBackground(getActivity().getResources().getDrawable(R.mipmap.yes_white)); + holder.radio_no.setBackground(getActivity().getResources().getDrawable(R.mipmap.no_white)); + holder.img_cam.setVisibility(View.GONE); + holder.rg.clearCheck(); + //notifyDataSetChanged(); + } + + if(childData.getImgPath().equals("")){ + holder.img_cam.setBackgroundResource(R.mipmap.camera_orange); + } + else { + holder.img_cam.setBackgroundResource(R.mipmap.camera_green); + } + + //empty check color change + if (!checkflag) { + boolean tempflag = false; + + /* if (holder.facing.getText().toString().equals("")) { + holder.facing.setBackgroundColor(getResources().getColor(R.color.white)); + holder.facing.setHintTextColor(getResources().getColor(android.R.color.holo_red_dark)); + holder.facing.setHint(getString(R.string.empty)); + tempflag = true; + }*/ + + + if (tempflag) { + //holder.cardView.setCardBackgroundColor(getResources().getColor(android.R.color.holo_red_dark)); + holder.lin_category.setBackgroundColor(getResources().getColor(android.R.color.holo_red_dark)); + } else { + //holder.cardView.setCardBackgroundColor(getResources().getColor(R.color.white)); + holder.lin_category.setBackgroundColor(getResources().getColor(R.color.white)); + } + + } + + return convertView; + } + + @Override + public boolean hasStableIds() { + return false; + } + + @Override + public boolean isChildSelectable(int groupPosition, int childPosition) { + return true; + } + } + + public class ViewHolder { + CardView cardView; + TextView txt_skuName; + LinearLayout lin_category; + RadioGroup rg; + RadioButton radio_yes; + RadioButton radio_no; + ImageView img_cam; + } + + private void startCameraActivity(int pos) { + try { + + Log.i("Stock & Facing ", "startCameraActivity()"); + File file = new File(path); + outputFileUri = FileProvider.getUriForFile(getActivity(), "cpm.com.gskmtorange.fileprovider", file); + + String defaultCameraPackage = ""; + final PackageManager packageManager = getActivity().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; + } + } + } + } + + Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); + intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); + intent.setPackage(defaultCameraPackage); + //startActivityForResult(intent, 1); + startActivityForResult(intent, pos); + //startActivityForResult(intent, position); + + } 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); + startActivityForResult(intent, pos); + + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public void onActivityResult(int requestCode, int resultCode, Intent data) { + Log.e("Stock & Facing", "resultCode: " + resultCode + " requestCode: " + requestCode); + /*switch (resultCode) { + case 0: + Log.e("Stock & Facing", "User cancelled"); + + break; + case -1: + if (_pathforcheck != null && !_pathforcheck.equals("")) { + if (new File(str + _pathforcheck).exists()) { + img = _pathforcheck; + t2PAdapter.notifyDataSetChanged(); + _pathforcheck = ""; + } + } + break; + }*/ + + switch (requestCode) { + case 1: + if (resultCode == 0) { + Log.e("Stock & Facing", "User cancelled"); + } else if (resultCode == -1) { + if (_pathforcheck != null && !_pathforcheck.equals("")) { + if (new File(str + _pathforcheck).exists()) { + + hashMapListChildData.get(headerDataList.get(group_position)).get(child_position).setImgPath(_pathforcheck); + + expandableListView.invalidateViews(); + adapter.notifyDataSetChanged(); + _pathforcheck = ""; + } + } + } + break; + } + + super.onActivityResult(requestCode, resultCode, data); + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/storeinmap/StoreRouteActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/storeinmap/StoreRouteActivity.java index 2c37b9a..03e0625 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/storeinmap/StoreRouteActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/storeinmap/StoreRouteActivity.java @@ -460,7 +460,7 @@ public class StoreRouteActivity extends FragmentActivity implements OnMapReadyCa // Adding all the points in the route to LineOptions lineOptions.addAll(points); - lineOptions.width(15); + lineOptions.width(12); lineOptions.color(Color.parseColor("#5ac614")); Log.d("onPostExecute","onPostExecute lineoptions decoded"); 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 0b8ff95..e9ee013 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/PreviousDataUploadActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/PreviousDataUploadActivity.java @@ -309,6 +309,16 @@ public class PreviousDataUploadActivity extends AppCompatActivity { adhoc = "0"; } + String coverage_service, status_service; + + if(coverageList.get(i).getFlag_from().equals(CommonString.FROM_ADDITIONAL)){ + status_service = CommonString.METHOD_UPLOAD_COVERAGE_STATUS_ADDITIONAL; + coverage_service = CommonString.METHOD_UPLOAD_COVERAGE_NEW_ADDITIONAL; + } + else { + status_service = CommonString.METHOD_UPLOAD_COVERAGE_STATUS; + coverage_service = CommonString.METHOD_UPLOAD_COVERAGE_NEW; + } String sub_reason_id = coverageList.get(i).getSub_reasonId(); if (sub_reason_id!=null && sub_reason_id.equals("")) { @@ -336,7 +346,7 @@ public class PreviousDataUploadActivity extends AppCompatActivity { + "[/USER_DATA]" + "[/DATA]"; - SoapObject request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_COVERAGE); + SoapObject request = new SoapObject(CommonString.NAMESPACE, coverage_service); request.addProperty("onXML", onXML); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); @@ -344,7 +354,7 @@ public class PreviousDataUploadActivity 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 + coverage_service, envelope); result = envelope.getResponse(); @@ -1866,7 +1876,7 @@ public class PreviousDataUploadActivity extends AppCompatActivity { final String sos_xml = "[DATA]" + final_xml + "[/DATA]"; - request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_COVERAGE_STATUS); + request = new SoapObject(CommonString.NAMESPACE, status_service); request.addProperty("onXML", sos_xml); envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); @@ -1874,7 +1884,7 @@ public class PreviousDataUploadActivity extends AppCompatActivity { envelope.setOutputSoapObject(request); androidHttpTransport = new HttpTransportSE(CommonString.URL); - androidHttpTransport.call(CommonString.SOAP_ACTION + CommonString.METHOD_UPLOAD_COVERAGE_STATUS, envelope); + androidHttpTransport.call(CommonString.SOAP_ACTION + status_service, envelope); result = envelope.getResponse(); 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 5febb4b..79a75c5 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadActivity.java @@ -335,6 +335,17 @@ public class UploadActivity extends AppCompatActivity { } + String coverage_service, status_service; + + if(coverageList.get(i).getFlag_from().equals(CommonString.FROM_ADDITIONAL)){ + status_service = CommonString.METHOD_UPLOAD_COVERAGE_STATUS_ADDITIONAL; + coverage_service = CommonString.METHOD_UPLOAD_COVERAGE_NEW_ADDITIONAL; + } + else { + status_service = CommonString.METHOD_UPLOAD_COVERAGE_STATUS; + coverage_service = CommonString.METHOD_UPLOAD_COVERAGE_NEW; + } + String sub_reason_id = coverageList.get(i).getSub_reasonId(); if (sub_reason_id.equals("")) { sub_reason_id = "0"; @@ -361,7 +372,7 @@ public class UploadActivity extends AppCompatActivity { + "[/USER_DATA]" + "[/DATA]"; - SoapObject request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_COVERAGE_NEW); + SoapObject request = new SoapObject(CommonString.NAMESPACE, coverage_service); request.addProperty("onXML", onXML); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); @@ -369,7 +380,7 @@ public class UploadActivity extends AppCompatActivity { envelope.setOutputSoapObject(request); HttpTransportSE androidHttpTransport = new HttpTransportSE(CommonString.URL); - androidHttpTransport.call(CommonString.SOAP_ACTION_UPLOAD_STORE_COVERAGE_NEW, envelope); + androidHttpTransport.call(CommonString.SOAP_ACTION + coverage_service, envelope); result = envelope.getResponse(); @@ -501,415 +512,472 @@ public class UploadActivity extends AppCompatActivity { data.name = getString(R.string.stock_data_uploading); publishProgress(data);*/ + if(coverageList.get(i).getFlag_from().equals(CommonString.FROM_ADDITIONAL)){ - //MSL_Availability_StockFacing - String mslAvailability_stockFacing_xml = ""; - onXML = ""; - db.open(); - msl_availabilityStockFacingList = db.getMSL_Availability_StockFacing_UploadServerData(coverageList.get(i).getStoreId()); + //MSL_Availability_StockFacing + String mslAvailability_stockFacing_xml = ""; + onXML = ""; + db.open(); + msl_availabilityStockFacingList = db.getStockUploadServerData(coverageList.get(i).getStoreId()); - if (msl_availabilityStockFacingList.size() > 0) { - for (int j = 0; j < msl_availabilityStockFacingList.size(); j++) { - if (!msl_availabilityStockFacingList.get(j).getSku_id().equals("0")) { + if (msl_availabilityStockFacingList.size() > 0) { + for (int j = 0; j < msl_availabilityStockFacingList.size(); j++) { + if (!msl_availabilityStockFacingList.get(j).getSku_id().equals("0")) { - String stock; - if (!msl_availabilityStockFacingList.get(j).getStock().equals("")) { - stock = msl_availabilityStockFacingList.get(j).getStock(); - } else { - stock = "0"; - } - onXML = "[MSL_AVAILABILITY_STOCK_FACING_DATA_NEW]" - + "[MID]" + mid + "[/MID]" - + "[USER_ID]" + userId + "[/USER_ID]" - + "[SKU_ID]" + Integer.parseInt(msl_availabilityStockFacingList.get(j).getSku_id()) + "[/SKU_ID]" - + "[MBQ]" + Integer.parseInt(msl_availabilityStockFacingList.get(j).getMbq()) + "[/MBQ]" - + "[AVAILABILITY]" + Integer.parseInt(msl_availabilityStockFacingList.get(j).getToggleValue()) + "[/AVAILABILITY]" - + "[FACING]" + Double.parseDouble(msl_availabilityStockFacingList.get(j).getFacing()) + "[/FACING]" - + "[STOCK]" + Integer.parseInt(stock) + "[/STOCK]" - + "[MUST_HAVE]" + Integer.parseInt(msl_availabilityStockFacingList.get(j).getMust_have()) + "[/MUST_HAVE]" + - "[/MSL_AVAILABILITY_STOCK_FACING_DATA_NEW]"; - - mslAvailability_stockFacing_xml = mslAvailability_stockFacing_xml + onXML; - } - } - - final String sos_xml = "[DATA]" + mslAvailability_stockFacing_xml + "[/DATA]"; - - request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); - request.addProperty("XMLDATA", sos_xml); - request.addProperty("KEYS", "STOCK_AVAILABILITY_POINT"); - 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(); - - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { - return CommonString.METHOD_UPLOAD_STOCK_XML_DATA; - }*/ - } - data.value = 15; - data.name = getString(R.string.availability_data_uploading); - publishProgress(data); - - - //Promo Compliance - Promotion Data - String promoition_data_xml = ""; - onXML = ""; - db.open(); - promotionSkuList = db.getPromoComplianceSkuServerUploadData(coverageList.get(i).getStoreId()); - - if (promotionSkuList.size() > 0) { - for (int i1 = 0; i1 < promotionSkuList.size(); i1++) { - if (!promotionSkuList.get(i1).getCategory_id().equals("0")) { - - onXML = "[PROMOTION_DATA_NEW]" - + "[MID]" + mid + "[/MID]" - + "[USER_ID]" + userId + "[/USER_ID]" - + "[CATEGORY_ID]" + Integer.parseInt(promotionSkuList.get(i1).getCategory_id()) + "[/CATEGORY_ID]" - + "[PROMO_ID]" + Integer.parseInt(promotionSkuList.get(i1).getPromo_id()) + "[/PROMO_ID]" - //+ "[SKU]" + promotionSkuList.get(i1).getSku() + "[/SKU]" - + "[SKU_ID]" + Integer.parseInt(promotionSkuList.get(i1).getSku_id()) + "[/SKU_ID]" - + "[IN_STOCK]" + Integer.parseInt(promotionSkuList.get(i1).getIn_stock()) + "[/IN_STOCK]" - + "[PROMO_ANNOUNCER]" + Integer.parseInt(promotionSkuList.get(i1).getPromo_announcer()) + "[/PROMO_ANNOUNCER]" - + "[RUNNING_POS]" + Integer.parseInt(promotionSkuList.get(i1).getRunning_pos()) + "[/RUNNING_POS]" - + "[PROMO_IMAGE]" + promotionSkuList.get(i1).getImage_promotion() + "[/PROMO_IMAGE]" - + "[/PROMOTION_DATA_NEW]"; - - promoition_data_xml = promoition_data_xml + onXML; - } - } - - final String sos_xml = "[DATA]" + promoition_data_xml + "[/DATA]"; - - request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); - request.addProperty("XMLDATA", sos_xml); - request.addProperty("KEYS", "PROMOTION_DATA_NEW"); - 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(); - - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { - return CommonString.METHOD_UPLOAD_STOCK_XML_DATA; - }*/ - } - data.value = 30; - data.name = getString(R.string.promo_data_uploading); - publishProgress(data); - - //Promo Compliance - Country Id - 7 (SA) Promotion Data - String promotion_sku_wise_data_xml = "", add_promotion_data_xml = "", exists_xml = "", add_xml = ""; - - db.open(); - promoComplianceSkuwiseExistsGetterSetters = db.getPromoComplianceSkuwiseExistsAfterData(coverageList.get(i).getStoreId(), null); - if (promoComplianceSkuwiseExistsGetterSetters.size() > 0) { - - for (int l = 0; l < promoComplianceSkuwiseExistsGetterSetters.size(); l++) { - - promoComplianceSkuwiseGetterSetters = db.getPromoComplianceSkuwiseAfterData(promoComplianceSkuwiseExistsGetterSetters.get(l).get_id(), null); - - for (int i1 = 0; i1 < promoComplianceSkuwiseGetterSetters.size(); i1++) { - if (!promoComplianceSkuwiseGetterSetters.get(i1).getCategory_id().equals("0")) { - - String discount_val = promoComplianceSkuwiseGetterSetters.get(i1).getDiscount_value(); - if(discount_val.equals("")){ - discount_val = "0"; + String stock; + if (!msl_availabilityStockFacingList.get(j).getStock().equals("")) { + stock = msl_availabilityStockFacingList.get(j).getStock(); + } else { + stock = "0"; } - - add_xml = "[PROMOTION_DATA]" + onXML = "[ST]" + "[MID]" + mid + "[/MID]" - + "[USER_ID]" + userId + "[/USER_ID]" - + "[CATEGORY_ID]" + Integer.parseInt(promoComplianceSkuwiseGetterSetters.get(i1).getCategory_id()) + "[/CATEGORY_ID]" - + "[SUB_CATEGORY_ID]" + Integer.parseInt(promoComplianceSkuwiseGetterSetters.get(i1).getSub_category_id()) + "[/SUB_CATEGORY_ID]" - + "[SKU_ID]" + Integer.parseInt(promoComplianceSkuwiseGetterSetters.get(i1).getSku_id()) + "[/SKU_ID]" - + "[BRAND_ID]" + Integer.parseInt(promoComplianceSkuwiseGetterSetters.get(i1).getBrand_id()) + "[/BRAND_ID]" - + "[DISCOUNT_VALUE]" + discount_val + "[/DISCOUNT_VALUE]" - + "[PRICE]" + promoComplianceSkuwiseGetterSetters.get(i1).getPrice() + "[/PRICE]" - + "[PROMO_IMAGE]" + promoComplianceSkuwiseGetterSetters.get(i1).getImg() + "[/PROMO_IMAGE]" - + "[PRICE_FLASHER_AVAILABLE]" + promoComplianceSkuwiseGetterSetters.get(i1).getPrice_flasher() + "[/PRICE_FLASHER_AVAILABLE]" - + "[/PROMOTION_DATA]"; + + "[USERID]" + userId + "[/USERID]" + + "[SKUID]" + Integer.parseInt(msl_availabilityStockFacingList.get(j).getSku_id()) + "[/SKUID]" + + "[STK]" + Integer.parseInt(stock) + "[/STK]" + + "[MBQ]" + Integer.parseInt(msl_availabilityStockFacingList.get(j).getMbq()) + "[/MBQ]" + + "[MSL]" + Integer.parseInt(msl_availabilityStockFacingList.get(j).getMust_have()) + "[/MSL]" + - add_promotion_data_xml = add_promotion_data_xml + add_xml; + "[/ST]"; + + mslAvailability_stockFacing_xml = mslAvailability_stockFacing_xml + onXML; } } - int exists = 0; - if (promoComplianceSkuwiseExistsGetterSetters.get(l).isExists()) { - exists = 1; - } + final String sos_xml = "[DATA]" + mslAvailability_stockFacing_xml + "[/DATA]"; - exists_xml = "[ADDITIONAL_PROMOTION_SKUWISE_DATA]" - + "[MID]" + mid + "[/MID]" - + "[USER_ID]" + userId + "[/USER_ID]" - + "[CATEGORY_ID]" + Integer.parseInt(promoComplianceSkuwiseExistsGetterSetters.get(l).getCategory_id()) + "[/CATEGORY_ID]" - + "[IS_EXISTS]" + exists + "[/IS_EXISTS]" - + "[ADDITIONAL_PROMOTION_DATA]" + add_promotion_data_xml + "[/ADDITIONAL_PROMOTION_DATA]" - + "[/ADDITIONAL_PROMOTION_SKUWISE_DATA]"; + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); + request.addProperty("XMLDATA", sos_xml); + request.addProperty("KEYS", "STOCK_ADDITIONAL_STORE"); + request.addProperty("USERNAME", userId); + request.addProperty("MID", mid); - promotion_sku_wise_data_xml = promotion_sku_wise_data_xml + exists_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_STOCK_XML_DATA, envelope); - final String sos_xml = "[DATA]" + promotion_sku_wise_data_xml + "[/DATA]"; - - request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); - request.addProperty("XMLDATA", sos_xml); - request.addProperty("KEYS", "ADDITIONAL_PROMOTION_SKUWISE_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(); + result = envelope.getResponse(); /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return CommonString.METHOD_UPLOAD_STOCK_XML_DATA; }*/ + } + data.value = 15; + data.name = getString(R.string.availability_data_uploading); + publishProgress(data); } + else { + //MSL_Availability_StockFacing + String mslAvailability_stockFacing_xml = ""; + onXML = ""; + db.open(); + msl_availabilityStockFacingList = db.getMSL_Availability_StockFacing_UploadServerData(coverageList.get(i).getStoreId()); + + if (msl_availabilityStockFacingList.size() > 0) { + for (int j = 0; j < msl_availabilityStockFacingList.size(); j++) { + if (!msl_availabilityStockFacingList.get(j).getSku_id().equals("0")) { + + String stock; + if (!msl_availabilityStockFacingList.get(j).getStock().equals("")) { + stock = msl_availabilityStockFacingList.get(j).getStock(); + } else { + stock = "0"; + } + onXML = "[ST]" + + "[MID]" + mid + "[/MID]" + + "[USERID]" + userId + "[/USERID]" + + "[SKUID]" + Integer.parseInt(msl_availabilityStockFacingList.get(j).getSku_id()) + "[/SKUID]" + + "[MBQ]" + Integer.parseInt(msl_availabilityStockFacingList.get(j).getMbq()) + "[/MBQ]" + + "[AVL]" + Integer.parseInt(msl_availabilityStockFacingList.get(j).getToggleValue()) + "[/AVL]" + + "[FAC]" + Double.parseDouble(msl_availabilityStockFacingList.get(j).getFacing()) + "[/FAC]" + + "[STK]" + Integer.parseInt(stock) + "[/STK]" + + "[MSL]" + Integer.parseInt(msl_availabilityStockFacingList.get(j).getMust_have()) + "[/MSL]" + + "[/ST]"; + + mslAvailability_stockFacing_xml = mslAvailability_stockFacing_xml + onXML; + } + } + + final String sos_xml = "[DATA]" + mslAvailability_stockFacing_xml + "[/DATA]"; + + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); + request.addProperty("XMLDATA", sos_xml); + request.addProperty("KEYS", "STOCK_AVAILABILITY_POINT_NEW"); + 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(); + + /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + return CommonString.METHOD_UPLOAD_STOCK_XML_DATA; + }*/ + } + data.value = 15; + data.name = getString(R.string.availability_data_uploading); + publishProgress(data); - data.value = 30; - data.name = getString(R.string.promo_data_uploading); - publishProgress(data); + //Promo Compliance - Promotion Data + String promoition_data_xml = ""; + onXML = ""; + db.open(); + promotionSkuList = db.getPromoComplianceSkuServerUploadData(coverageList.get(i).getStoreId()); + if (promotionSkuList.size() > 0) { + for (int i1 = 0; i1 < promotionSkuList.size(); i1++) { + if (!promotionSkuList.get(i1).getCategory_id().equals("0")) { - //Promo Compliance -Additional Promotion Data - String additional_promoition_data_xml = ""; - onXML = ""; - db.open(); - additionalPromotionList = db.getAdditionalPromotionServerUploadData(coverageList.get(i).getStoreId()); + onXML = "[PROMOTION_DATA_NEW]" + + "[MID]" + mid + "[/MID]" + + "[USER_ID]" + userId + "[/USER_ID]" + + "[CATEGORY_ID]" + Integer.parseInt(promotionSkuList.get(i1).getCategory_id()) + "[/CATEGORY_ID]" + + "[PROMO_ID]" + Integer.parseInt(promotionSkuList.get(i1).getPromo_id()) + "[/PROMO_ID]" + //+ "[SKU]" + promotionSkuList.get(i1).getSku() + "[/SKU]" + + "[SKU_ID]" + Integer.parseInt(promotionSkuList.get(i1).getSku_id()) + "[/SKU_ID]" + + "[IN_STOCK]" + Integer.parseInt(promotionSkuList.get(i1).getIn_stock()) + "[/IN_STOCK]" + + "[PROMO_ANNOUNCER]" + Integer.parseInt(promotionSkuList.get(i1).getPromo_announcer()) + "[/PROMO_ANNOUNCER]" + + "[RUNNING_POS]" + Integer.parseInt(promotionSkuList.get(i1).getRunning_pos()) + "[/RUNNING_POS]" + + "[PROMO_IMAGE]" + promotionSkuList.get(i1).getImage_promotion() + "[/PROMO_IMAGE]" + + "[/PROMOTION_DATA_NEW]"; - if (additionalPromotionList.size() > 0) { - for (int i1 = 0; i1 < additionalPromotionList.size(); i1++) { - if (!additionalPromotionList.get(i1).getCategory_id().equals("0")) { + promoition_data_xml = promoition_data_xml + onXML; + } + } - onXML = "[ADDITIONAL_PROMOTION_DATA_NEW]" + final String sos_xml = "[DATA]" + promoition_data_xml + "[/DATA]"; + + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); + request.addProperty("XMLDATA", sos_xml); + request.addProperty("KEYS", "PROMOTION_DATA_NEW"); + 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(); + + /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + return CommonString.METHOD_UPLOAD_STOCK_XML_DATA; + }*/ + } + data.value = 30; + data.name = getString(R.string.promo_data_uploading); + publishProgress(data); + + //Promo Compliance - Country Id - 7 (SA) Promotion Data + String promotion_sku_wise_data_xml = "", add_promotion_data_xml = "", exists_xml = "", add_xml = ""; + + db.open(); + promoComplianceSkuwiseExistsGetterSetters = db.getPromoComplianceSkuwiseExistsAfterData(coverageList.get(i).getStoreId(), null); + if (promoComplianceSkuwiseExistsGetterSetters.size() > 0) { + + for (int l = 0; l < promoComplianceSkuwiseExistsGetterSetters.size(); l++) { + + promoComplianceSkuwiseGetterSetters = db.getPromoComplianceSkuwiseAfterData(promoComplianceSkuwiseExistsGetterSetters.get(l).get_id(), null); + + for (int i1 = 0; i1 < promoComplianceSkuwiseGetterSetters.size(); i1++) { + if (!promoComplianceSkuwiseGetterSetters.get(i1).getCategory_id().equals("0")) { + + String discount_val = promoComplianceSkuwiseGetterSetters.get(i1).getDiscount_value(); + if(discount_val.equals("")){ + discount_val = "0"; + } + + add_xml = "[PROMOTION_DATA]" + + "[MID]" + mid + "[/MID]" + + "[USER_ID]" + userId + "[/USER_ID]" + + "[CATEGORY_ID]" + Integer.parseInt(promoComplianceSkuwiseGetterSetters.get(i1).getCategory_id()) + "[/CATEGORY_ID]" + + "[SUB_CATEGORY_ID]" + Integer.parseInt(promoComplianceSkuwiseGetterSetters.get(i1).getSub_category_id()) + "[/SUB_CATEGORY_ID]" + + "[SKU_ID]" + Integer.parseInt(promoComplianceSkuwiseGetterSetters.get(i1).getSku_id()) + "[/SKU_ID]" + + "[BRAND_ID]" + Integer.parseInt(promoComplianceSkuwiseGetterSetters.get(i1).getBrand_id()) + "[/BRAND_ID]" + + "[DISCOUNT_VALUE]" + discount_val + "[/DISCOUNT_VALUE]" + + "[PRICE]" + promoComplianceSkuwiseGetterSetters.get(i1).getPrice() + "[/PRICE]" + + "[PROMO_IMAGE]" + promoComplianceSkuwiseGetterSetters.get(i1).getImg() + "[/PROMO_IMAGE]" + + "[PRICE_FLASHER_AVAILABLE]" + promoComplianceSkuwiseGetterSetters.get(i1).getPrice_flasher() + "[/PRICE_FLASHER_AVAILABLE]" + + "[/PROMOTION_DATA]"; + + add_promotion_data_xml = add_promotion_data_xml + add_xml; + } + } + + int exists = 0; + if (promoComplianceSkuwiseExistsGetterSetters.get(l).isExists()) { + exists = 1; + } + + exists_xml = "[ADDITIONAL_PROMOTION_SKUWISE_DATA]" + "[MID]" + mid + "[/MID]" + "[USER_ID]" + userId + "[/USER_ID]" - + "[CATEGORY_ID]" + Integer.parseInt(additionalPromotionList.get(i1).getCategory_id()) + "[/CATEGORY_ID]" - + "[PROMO_ID]" + Integer.parseInt(additionalPromotionList.get(i1).getPromo_id()) + "[/PROMO_ID]" - + "[SKU_ID]" + Integer.parseInt(additionalPromotionList.get(i1).getSku_id()) + "[/SKU_ID]" - //+ "[SKU]" + additionalPromotionList.get(i1).getSku() + "[/SKU]" - + "[IN_STOCK]" + Integer.parseInt(additionalPromotionList.get(i1).getIn_stock()) + "[/IN_STOCK]" - + "[PROMO_ANNOUNCER]" + Integer.parseInt(additionalPromotionList.get(i1).getPromo_announcer()) + "[/PROMO_ANNOUNCER]" - + "[RUNNING_POS]" + Integer.parseInt(additionalPromotionList.get(i1).getRunning_pos()) + "[/RUNNING_POS]" - + "[ADD_PROMO_IMAGE]" + additionalPromotionList.get(i1).getImage_promotion() + "[/ADD_PROMO_IMAGE]" - + "[/ADDITIONAL_PROMOTION_DATA_NEW]"; + + "[CATEGORY_ID]" + Integer.parseInt(promoComplianceSkuwiseExistsGetterSetters.get(l).getCategory_id()) + "[/CATEGORY_ID]" + + "[IS_EXISTS]" + exists + "[/IS_EXISTS]" + + "[ADDITIONAL_PROMOTION_DATA]" + add_promotion_data_xml + "[/ADDITIONAL_PROMOTION_DATA]" + + "[/ADDITIONAL_PROMOTION_SKUWISE_DATA]"; + + promotion_sku_wise_data_xml = promotion_sku_wise_data_xml + exists_xml; - additional_promoition_data_xml = additional_promoition_data_xml + onXML; } - } - final String sos_xml = "[DATA]" + additional_promoition_data_xml + "[/DATA]"; + final String sos_xml = "[DATA]" + promotion_sku_wise_data_xml + "[/DATA]"; - request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); - request.addProperty("XMLDATA", sos_xml); - request.addProperty("KEYS", "ADDITIONAL_PROMOTION_DATA_NEW"); - request.addProperty("USERNAME", userId); - request.addProperty("MID", mid); + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); + request.addProperty("XMLDATA", sos_xml); + request.addProperty("KEYS", "ADDITIONAL_PROMOTION_SKUWISE_DATA"); + request.addProperty("USERNAME", userId); + request.addProperty("MID", mid); - envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); - envelope.dotNet = true; - envelope.setOutputSoapObject(request); + 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); + androidHttpTransport = new HttpTransportSE(CommonString.URL); + androidHttpTransport.call(CommonString.SOAP_ACTION + CommonString.METHOD_UPLOAD_STOCK_XML_DATA, envelope); - result = envelope.getResponse(); + result = envelope.getResponse(); /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return CommonString.METHOD_UPLOAD_STOCK_XML_DATA; }*/ - } - data.value = 35; - data.name = getString(R.string.additional_data_uploading); - publishProgress(data); + } - //Additional Visibility Data - String additional_visibility_data_xml = ""; - String additional_visibility_dialog_xml = ""; - onXML = ""; - String onXMLdIALOG = ""; - String imageV1, imageV2, imageV3; + data.value = 30; + data.name = getString(R.string.promo_data_uploading); + publishProgress(data); - db.open(); - additionalVisibilityList = db.getAdditionalStockUpload(coverageList.get(i).getStoreId()); - if (additionalVisibilityList.size() > 0) { - for (int J = 0; J < additionalVisibilityList.size(); J++) { + //Promo Compliance -Additional Promotion Data + String additional_promoition_data_xml = ""; + onXML = ""; + db.open(); + additionalPromotionList = db.getAdditionalPromotionServerUploadData(coverageList.get(i).getStoreId()); - if (additionalVisibilityList.get(J).getImage() == null) { - imageV1 = ""; - } else { - imageV1 = additionalVisibilityList.get(J).getImage(); - } + if (additionalPromotionList.size() > 0) { + for (int i1 = 0; i1 < additionalPromotionList.size(); i1++) { + if (!additionalPromotionList.get(i1).getCategory_id().equals("0")) { - if (additionalVisibilityList.get(J).getImage2() == null) { - imageV2 = ""; - } else { - imageV2 = additionalVisibilityList.get(J).getImage2(); - } - - if (additionalVisibilityList.get(J).getImage3() == null) { - imageV3 = ""; - } else { - imageV3 = additionalVisibilityList.get(J).getImage3(); - } - - String KeyID = additionalVisibilityList.get(J).getKey_id(); - - additionalVisibilitySkuList = db.getDialogStockUpload(KeyID); - //additionalVisibilitySkuList = additionalVisibilityList.get(J).getSkuDialogList(); - - if (additionalVisibilitySkuList.size() > 0) { - for (int k = 0; k < additionalVisibilitySkuList.size(); k++) { - - onXMLdIALOG = "[VISIBILITY_DAILOG]" + onXML = "[ADDITIONAL_PROMOTION_DATA_NEW]" + "[MID]" + mid + "[/MID]" + "[USER_ID]" + userId + "[/USER_ID]" - + "[KEY_ID]" + additionalVisibilitySkuList.get(k).getCOMMON_ID() + "[/KEY_ID]" - + "[CATEGORY_ID]" + additionalVisibilitySkuList.get(k).getCategoryId() + "[/CATEGORY_ID]" - + "[SKU_ID]" + additionalVisibilitySkuList.get(k).getSku_id() + "[/SKU_ID]" - + "[QUANTITY]" + additionalVisibilitySkuList.get(k).getQuantity() + "[/QUANTITY]" - + "[/VISIBILITY_DAILOG]"; + + "[CATEGORY_ID]" + Integer.parseInt(additionalPromotionList.get(i1).getCategory_id()) + "[/CATEGORY_ID]" + + "[PROMO_ID]" + Integer.parseInt(additionalPromotionList.get(i1).getPromo_id()) + "[/PROMO_ID]" + + "[SKU_ID]" + Integer.parseInt(additionalPromotionList.get(i1).getSku_id()) + "[/SKU_ID]" + //+ "[SKU]" + additionalPromotionList.get(i1).getSku() + "[/SKU]" + + "[IN_STOCK]" + Integer.parseInt(additionalPromotionList.get(i1).getIn_stock()) + "[/IN_STOCK]" + + "[PROMO_ANNOUNCER]" + Integer.parseInt(additionalPromotionList.get(i1).getPromo_announcer()) + "[/PROMO_ANNOUNCER]" + + "[RUNNING_POS]" + Integer.parseInt(additionalPromotionList.get(i1).getRunning_pos()) + "[/RUNNING_POS]" + + "[ADD_PROMO_IMAGE]" + additionalPromotionList.get(i1).getImage_promotion() + "[/ADD_PROMO_IMAGE]" + + "[/ADDITIONAL_PROMOTION_DATA_NEW]"; - additional_visibility_dialog_xml = additional_visibility_dialog_xml + onXMLdIALOG; + additional_promoition_data_xml = additional_promoition_data_xml + onXML; } } - onXML = "[ADDITIONAL_VISIBILITY_NEW]" - + "[MID]" + mid + "[/MID]" - + "[USER_ID]" + userId + "[/USER_ID]" - + "[KEY_ID]" + additionalVisibilityList.get(J).getKey_id() + "[/KEY_ID]" - + "[CATEGORY_ID]" + additionalVisibilityList.get(J).getCategoryId() + "[/CATEGORY_ID]" - + "[ADDITIONAL_DISPLAY]" + additionalVisibilityList.get(J).getBtn_toogle() + "[/ADDITIONAL_DISPLAY]" - //+ "[BRAND_ID]"+ additionalVisibilityList.get(J).getBrand_id()+ "[/BRAND_ID]" - + "[IMAGE_URL]" + imageV1 /*additionalVisibilityList.get(J).getImage()*/ + "[/IMAGE_URL]" - + "[IMAGE_URL1]" + imageV2 /*additionalVisibilityList.get(J).getImage2()*/ + "[/IMAGE_URL1]" - + "[IMAGE_URL2]" + imageV3 /*additionalVisibilityList.get(J).getImage3()*/ + "[/IMAGE_URL2]" - + "[DISPLAY_ID]" + additionalVisibilityList.get(J).getSku_id() + "[/DISPLAY_ID]" - + "[SKU_LIST]" + additional_visibility_dialog_xml + "[/SKU_LIST]" - + "[/ADDITIONAL_VISIBILITY_NEW]"; - //Here getSku_id gives display_id + final String sos_xml = "[DATA]" + additional_promoition_data_xml + "[/DATA]"; - additional_visibility_data_xml = additional_visibility_data_xml + onXML; - KeyID = ""; - additionalVisibilitySkuList.clear(); + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); + request.addProperty("XMLDATA", sos_xml); + request.addProperty("KEYS", "ADDITIONAL_PROMOTION_DATA_NEW"); + request.addProperty("USERNAME", userId); + request.addProperty("MID", mid); - additional_visibility_dialog_xml = ""; - } + envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); + envelope.dotNet = true; + envelope.setOutputSoapObject(request); - final String sos_xml = "[DATA]" + additional_visibility_data_xml + "[/DATA]"; + androidHttpTransport = new HttpTransportSE(CommonString.URL); + androidHttpTransport.call(CommonString.SOAP_ACTION + CommonString.METHOD_UPLOAD_STOCK_XML_DATA, envelope); - request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); - request.addProperty("XMLDATA", sos_xml); - request.addProperty("KEYS", "ADDITIONAL_VISIBILITY_NEW"); - 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(); + result = envelope.getResponse(); /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return CommonString.METHOD_UPLOAD_STOCK_XML_DATA; }*/ - } - data.value = 45; - data.name = getString(R.string.additional_data_uploading); - publishProgress(data); + } + data.value = 35; + data.name = getString(R.string.additional_data_uploading); + publishProgress(data); - //T2p Upload Data - String t2p_data_xml = ""; - onXML = ""; - db.open(); - t2PGetterSetters = db.getT2pComplianceData(coverageList.get(i).getStoreId(), null); + //Additional Visibility Data + String additional_visibility_data_xml = ""; + String additional_visibility_dialog_xml = ""; + onXML = ""; + String onXMLdIALOG = ""; + String imageV1, imageV2, imageV3; - if (t2PGetterSetters.size() > 0) { - for (int i1 = 0; i1 < t2PGetterSetters.size(); i1++) { + db.open(); + additionalVisibilityList = db.getAdditionalStockUpload(coverageList.get(i).getStoreId()); - ArrayList gapsList = db.getGapsData(t2PGetterSetters.get(i1).getKey_id()); - ArrayList skuList = db.getT2PSKUData(t2PGetterSetters.get(i1).getKey_id()); - ArrayList brandList = db.getT2BrandData(t2PGetterSetters.get(i1).getKey_id()); - String gaps_xml = ""; - String gaps_child; + if (additionalVisibilityList.size() > 0) { + for (int J = 0; J < additionalVisibilityList.size(); J++) { - for (int l = 0; l < gapsList.size(); l++) { - String present = ""; - if (gapsList.get(l).isPresent()) { - present = "1"; + if (additionalVisibilityList.get(J).getImage() == null) { + imageV1 = ""; } else { - present = "0"; + imageV1 = additionalVisibilityList.get(J).getImage(); } - gaps_child = "[GAPS]" + + if (additionalVisibilityList.get(J).getImage2() == null) { + imageV2 = ""; + } else { + imageV2 = additionalVisibilityList.get(J).getImage2(); + } + + if (additionalVisibilityList.get(J).getImage3() == null) { + imageV3 = ""; + } else { + imageV3 = additionalVisibilityList.get(J).getImage3(); + } + + String KeyID = additionalVisibilityList.get(J).getKey_id(); + + additionalVisibilitySkuList = db.getDialogStockUpload(KeyID); + //additionalVisibilitySkuList = additionalVisibilityList.get(J).getSkuDialogList(); + + if (additionalVisibilitySkuList.size() > 0) { + for (int k = 0; k < additionalVisibilitySkuList.size(); k++) { + + onXMLdIALOG = "[VISIBILITY_DAILOG]" + + "[MID]" + mid + "[/MID]" + + "[USER_ID]" + userId + "[/USER_ID]" + + "[KEY_ID]" + additionalVisibilitySkuList.get(k).getCOMMON_ID() + "[/KEY_ID]" + + "[CATEGORY_ID]" + additionalVisibilitySkuList.get(k).getCategoryId() + "[/CATEGORY_ID]" + + "[SKU_ID]" + additionalVisibilitySkuList.get(k).getSku_id() + "[/SKU_ID]" + + "[QUANTITY]" + additionalVisibilitySkuList.get(k).getQuantity() + "[/QUANTITY]" + + "[/VISIBILITY_DAILOG]"; + + additional_visibility_dialog_xml = additional_visibility_dialog_xml + onXMLdIALOG; + } + } + + onXML = "[ADDITIONAL_VISIBILITY_NEW]" + "[MID]" + mid + "[/MID]" + "[USER_ID]" + userId + "[/USER_ID]" - + "[CHECK_LIST_ID]" + gapsList.get(l).getChecklist_id() + "[/CHECK_LIST_ID]" - + "[DISPLAY_ID]" + gapsList.get(l).getDisplay_id() + "[/DISPLAY_ID]" - + "[PRESENT]" + present + "[/PRESENT]" - + "[COMMON_ID]" + Integer.parseInt(t2PGetterSetters.get(i1).getKey_id()) + "[/COMMON_ID]" - + "[/GAPS]"; - gaps_xml = gaps_xml + gaps_child; + + "[KEY_ID]" + additionalVisibilityList.get(J).getKey_id() + "[/KEY_ID]" + + "[CATEGORY_ID]" + additionalVisibilityList.get(J).getCategoryId() + "[/CATEGORY_ID]" + + "[ADDITIONAL_DISPLAY]" + additionalVisibilityList.get(J).getBtn_toogle() + "[/ADDITIONAL_DISPLAY]" + //+ "[BRAND_ID]"+ additionalVisibilityList.get(J).getBrand_id()+ "[/BRAND_ID]" + + "[IMAGE_URL]" + imageV1 /*additionalVisibilityList.get(J).getImage()*/ + "[/IMAGE_URL]" + + "[IMAGE_URL1]" + imageV2 /*additionalVisibilityList.get(J).getImage2()*/ + "[/IMAGE_URL1]" + + "[IMAGE_URL2]" + imageV3 /*additionalVisibilityList.get(J).getImage3()*/ + "[/IMAGE_URL2]" + + "[DISPLAY_ID]" + additionalVisibilityList.get(J).getSku_id() + "[/DISPLAY_ID]" + + "[SKU_LIST]" + additional_visibility_dialog_xml + "[/SKU_LIST]" + + "[/ADDITIONAL_VISIBILITY_NEW]"; + //Here getSku_id gives display_id + + additional_visibility_data_xml = additional_visibility_data_xml + onXML; + KeyID = ""; + additionalVisibilitySkuList.clear(); + + additional_visibility_dialog_xml = ""; } - String sku_xml = ""; - String sku_child; + final String sos_xml = "[DATA]" + additional_visibility_data_xml + "[/DATA]"; - for (int k = 0; k < skuList.size(); k++) { - sku_child = "[SKU]" - + "[MID]" + mid + "[/MID]" - + "[USER_ID]" + userId + "[/USER_ID]" - + "[SKU_ID]" + skuList.get(k).getSKU_ID() + "[/SKU_ID]" - + "[BRAND_ID]" + skuList.get(k).getBRAND_ID() + "[/BRAND_ID]" - + "[STOCK]" + skuList.get(k).getSTOCK() + "[/STOCK]" - + "[COMMON_ID]" + Integer.parseInt(t2PGetterSetters.get(i1).getKey_id()) + "[/COMMON_ID]" - + "[/SKU]"; - sku_xml = sku_xml + sku_child; - } + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); + request.addProperty("XMLDATA", sos_xml); + request.addProperty("KEYS", "ADDITIONAL_VISIBILITY_NEW"); + 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(); + + /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + return CommonString.METHOD_UPLOAD_STOCK_XML_DATA; + }*/ + } + data.value = 45; + data.name = getString(R.string.additional_data_uploading); + publishProgress(data); - String brandxml = ""; - String brandchild; + //T2p Upload Data + String t2p_data_xml = ""; + onXML = ""; + db.open(); + t2PGetterSetters = db.getT2pComplianceData(coverageList.get(i).getStoreId(), null); - if (brandList.size() > 0) { + if (t2PGetterSetters.size() > 0) { + for (int i1 = 0; i1 < t2PGetterSetters.size(); i1++) { - for (int M = 0; M < brandList.size(); M++) { - brandchild = "[BRAND]" + ArrayList gapsList = db.getGapsData(t2PGetterSetters.get(i1).getKey_id()); + ArrayList skuList = db.getT2PSKUData(t2PGetterSetters.get(i1).getKey_id()); + ArrayList brandList = db.getT2BrandData(t2PGetterSetters.get(i1).getKey_id()); + String gaps_xml = ""; + String gaps_child; + + for (int l = 0; l < gapsList.size(); l++) { + String present = ""; + if (gapsList.get(l).isPresent()) { + present = "1"; + } else { + present = "0"; + } + gaps_child = "[GAPS]" + "[MID]" + mid + "[/MID]" + "[USER_ID]" + userId + "[/USER_ID]" - + "[BRAND_ID]" + brandList.get(M).getBRAND_ID() + "[/BRAND_ID]" - // + "[BRAND]" + brandList.get(M).getBRAND() + "[/BRAND]" + + "[CHECK_LIST_ID]" + gapsList.get(l).getChecklist_id() + "[/CHECK_LIST_ID]" + + "[DISPLAY_ID]" + gapsList.get(l).getDisplay_id() + "[/DISPLAY_ID]" + + "[PRESENT]" + present + "[/PRESENT]" + "[COMMON_ID]" + Integer.parseInt(t2PGetterSetters.get(i1).getKey_id()) + "[/COMMON_ID]" - + "[/BRAND]"; - brandxml = brandxml + brandchild; + + "[/GAPS]"; + gaps_xml = gaps_xml + gaps_child; + } + + String sku_xml = ""; + String sku_child; + + for (int k = 0; k < skuList.size(); k++) { + sku_child = "[SKU]" + + "[MID]" + mid + "[/MID]" + + "[USER_ID]" + userId + "[/USER_ID]" + + "[SKU_ID]" + skuList.get(k).getSKU_ID() + "[/SKU_ID]" + + "[BRAND_ID]" + skuList.get(k).getBRAND_ID() + "[/BRAND_ID]" + + "[STOCK]" + skuList.get(k).getSTOCK() + "[/STOCK]" + + "[COMMON_ID]" + Integer.parseInt(t2PGetterSetters.get(i1).getKey_id()) + "[/COMMON_ID]" + + "[/SKU]"; + sku_xml = sku_xml + sku_child; + } + + + String brandxml = ""; + String brandchild; + + if (brandList.size() > 0) { + + for (int M = 0; M < brandList.size(); M++) { + brandchild = "[BRAND]" + + "[MID]" + mid + "[/MID]" + + "[USER_ID]" + userId + "[/USER_ID]" + + "[BRAND_ID]" + brandList.get(M).getBRAND_ID() + "[/BRAND_ID]" + // + "[BRAND]" + brandList.get(M).getBRAND() + "[/BRAND]" + + "[COMMON_ID]" + Integer.parseInt(t2PGetterSetters.get(i1).getKey_id()) + "[/COMMON_ID]" + + "[/BRAND]"; + brandxml = brandxml + brandchild; + } } - } /* String present = ""; if (t2PGetterSetters.get(i1).isPresent()) { @@ -918,236 +986,282 @@ public class UploadActivity extends AppCompatActivity { present = "0"; }*/ - onXML = "[T2P_DATA]" - + "[MID]" + mid + "[/MID]" - + "[USER_ID]" + userId + "[/USER_ID]" - + "[CATEGORY_ID]" + Integer.parseInt(t2PGetterSetters.get(i1).getCategory_id()) + "[/CATEGORY_ID]" - + "[BRAND_ID]" + Integer.parseInt(t2PGetterSetters.get(i1).getBrand_id()) + "[/BRAND_ID]" - + "[DISPLAY_ID]" + Integer.parseInt(t2PGetterSetters.get(i1).getDisplay_id()) + "[/DISPLAY_ID]" - + "[COMMON_ID]" + Integer.parseInt(t2PGetterSetters.get(i1).getKey_id()) + "[/COMMON_ID]" - + "[IMAGE]" + t2PGetterSetters.get(i1).getImage() + "[/IMAGE]" - + "[IMAGE1]" + t2PGetterSetters.get(i1).getImage1() + "[/IMAGE1]" - + "[IMAGE2]" + t2PGetterSetters.get(i1).getImage2() + "[/IMAGE2]" - + "[PRESENT]" + t2PGetterSetters.get(i1).getPresent() + "[/PRESENT]" - - //Non t2p reason id added - 21-6-2018 - + "[TREASON_ID]" + t2PGetterSetters.get(i1).getNon_t2p_reason_id() + "[/TREASON_ID]" - - + "[GAPS_DATA]" + gaps_xml + "[/GAPS_DATA]" - + "[SKU_DATA]" + sku_xml + "[/SKU_DATA]" - + "[CATEGORY_FIXTURE]" + t2PGetterSetters.get(i1).getCategory_fixture() + "[/CATEGORY_FIXTURE]" - + "[BRAND_DATA]" + brandxml + "[/BRAND_DATA]" - + "[/T2P_DATA]"; - - t2p_data_xml = t2p_data_xml + onXML; - } - - final String t2p_final_xml = "[DATA]" + t2p_data_xml + "[/DATA]"; - - request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); - request.addProperty("XMLDATA", t2p_final_xml); - request.addProperty("KEYS", "T2P_DATA_FIXTURE_NEW"); - 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(); - - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { - return CommonString.METHOD_UPLOAD_STOCK_XML_DATA; - }*/ - } - data.value = 50; - data.name = getString(R.string.t2p_data_uploading); - publishProgress(data); - - - //Stock Facing Planogram Tracker - String stock_facing_planogram_xml = ""; - onXML = ""; - db.open(); - stockFacingPlanogramDataList = db.getStockAndFacingPlanogramServerUploadData(coverageList.get(i).getStoreId()); - - if (stockFacingPlanogramDataList.size() > 0) { - - for (int i1 = 0; i1 < stockFacingPlanogramDataList.size(); i1++) { - onXML = "[STOCK_FACING_PLANOGRAM_DATA]" - + "[MID]" + mid + "[/MID]" - + "[USER_ID]" + userId + "[/USER_ID]" - + "[SKU_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSku_id()) + "[/SKU_ID]" - + "[CATEGORY_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getCategory_id()) + "[/CATEGORY_ID]" - //+ "[company_id]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getCompany_id()) + "[/company_id]" - //+ "[sub_category_id]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSub_category_id()) + "[/sub_category_id]" - //+ "[BRAND_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getBrand_id()) + "[/BRAND_ID]" - + "[SHELF_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSp_addShelf_id()) + "[/SHELF_ID]" - + "[SHELF_POSITION]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSp_shelfPosition()) + "[/SHELF_POSITION]" - //+ "[CHECKBOX]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getCheckbox_sku()) + "[/CHECKBOX]" - + "[/STOCK_FACING_PLANOGRAM_DATA]"; - - stock_facing_planogram_xml = stock_facing_planogram_xml + onXML; - } - - final String sos_xml = "[DATA]" + stock_facing_planogram_xml + "[/DATA]"; - - request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); - request.addProperty("XMLDATA", sos_xml); - request.addProperty("KEYS", "STOCK_FACING_PLANOGRAM_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(); - - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { - return CommonString.METHOD_UPLOAD_STOCK_XML_DATA; - }*/ - } - data.value = 55; - data.name = getString(R.string.stock_planogram_data_uploading); - publishProgress(data); - - - //Category Picture Data - String Category_xml = ""; - onXML = ""; - String onCategoryList = ""; - String CategoryLISTDATA = ""; - String image1, image2, image3, image4; - - db.open(); - adddata = db.getCategoryPictureUpload(coverageList.get(i).getStoreId()); - - if (adddata.size() > 0) { - for (int J = 0; J < adddata.size(); J++) { - if (adddata.get(J).getCategoryImage1() == null) { - image1 = ""; - } else { - image1 = adddata.get(J).getCategoryImage1(); - } - - if (adddata.get(J).getCategoryImage2() == null) { - image2 = ""; - } else { - image2 = adddata.get(J).getCategoryImage2(); - } - - if (adddata.get(J).getCategoryImage3() == null) { - image3 = ""; - } else { - image3 = adddata.get(J).getCategoryImage3(); - } - - if (adddata.get(J).getCategoryImage4() == null) { - image4 = ""; - } else { - image4 = adddata.get(J).getCategoryImage4(); - } - - String KeyID = adddata.get(J).getKEY_ID(); - - listdat = db.getCategoryPictureListUploaded(KeyID); - - if (listdat.size() > 0) { - for (int k = 0; k < listdat.size(); k++) { - onCategoryList = "[SUB_CATEGORY_LIST]" - + "[MID]" + mid + "[/MID]" - + "[USER_ID]" + userId + "[/USER_ID]" - + "[KEY_ID]" + listdat.get(k).getCOMMON_ID() + "[/KEY_ID]" - + "[SUB_CATEGORY_ID]" + listdat.get(k).getSUB_CATEGORY_ID() + "[/SUB_CATEGORY_ID]" - + "[SUB_CategoryImage1]" + listdat.get(k).getSubCategoryCamera1() + "[/SUB_CategoryImage1]" - + "[SUB_CategoryImage2]" + listdat.get(k).getSubCategoryCamera2() + "[/SUB_CategoryImage2]" - + "[/SUB_CATEGORY_LIST]"; - - CategoryLISTDATA = CategoryLISTDATA + onCategoryList; - } - } - - onXML = "[CATEGORY_LIST]" - + "[MID]" + mid + "[/MID]" - + "[USER_ID]" + userId + "[/USER_ID]" - + "[KEY_ID]" + adddata.get(J).getKEY_ID() + "[/KEY_ID]" - + "[CATEGORY_ID]" + adddata.get(J).getCategoryId() + "[/CATEGORY_ID]" - + "[CAMERA_ALLOW]" + adddata.get(J).getCamera_allow() + "[/CAMERA_ALLOW]" - + "[IMAGE_URL_1]" + image1 /*adddata.get(J).getCategoryImage1()*/ + "[/IMAGE_URL_1]" - + "[IMAGE_URL_2]" + image2 /*adddata.get(J).getCategoryImage2()*/ + "[/IMAGE_URL_2]" - + "[IMAGE_URL_3]" + image3 /*adddata.get(J).getCategoryImage3()*/ + "[/IMAGE_URL_3]" - + "[IMAGE_URL_4]" + image4 /*adddata.get(J).getCategoryImage4()*/ + "[/IMAGE_URL_4]" - + "[SUB_LIST]" + CategoryLISTDATA + "[/SUB_LIST]" - + "[/CATEGORY_LIST]"; - - Category_xml = Category_xml + onXML; - CategoryLISTDATA = ""; - } - - final String sos_xml = "[DATA]" + Category_xml + "[/DATA]"; - - request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); - request.addProperty("XMLDATA", sos_xml); - request.addProperty("KEYS", "CATEGORY_PICTURE"); - 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(); - - /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { - return CommonString.METHOD_UPLOAD_STOCK_XML_DATA; - }*/ - } else { - - db.open(); - ArrayList nocamera_data_list = db.getNoCameraCategoryStoreWiseDataInserted(coverageList.get(i).getStoreId()); - - if (nocamera_data_list.size() > 0) { - - 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]" + onXML = "[T2P_DATA]" + "[MID]" + mid + "[/MID]" + "[USER_ID]" + userId + "[/USER_ID]" - + "[CATEGORY_ID]" + nocamera_data_list.get(n).getCATEGORY_ID() + "[/CATEGORY_ID]" - + "[SUB_CATEGORY_ID]" + nocamera_data_list.get(n).getSUB_CATEGORY_ID() + "[/SUB_CATEGORY_ID]" - + "[SKU_GROUP_ID]" + nocamera_data_list.get(n).getSKUGROUP_ID() + "[/SKU_GROUP_ID]" - + "[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]"; + + "[CATEGORY_ID]" + Integer.parseInt(t2PGetterSetters.get(i1).getCategory_id()) + "[/CATEGORY_ID]" + + "[BRAND_ID]" + Integer.parseInt(t2PGetterSetters.get(i1).getBrand_id()) + "[/BRAND_ID]" + + "[DISPLAY_ID]" + Integer.parseInt(t2PGetterSetters.get(i1).getDisplay_id()) + "[/DISPLAY_ID]" + + "[COMMON_ID]" + Integer.parseInt(t2PGetterSetters.get(i1).getKey_id()) + "[/COMMON_ID]" + + "[IMAGE]" + t2PGetterSetters.get(i1).getImage() + "[/IMAGE]" + + "[IMAGE1]" + t2PGetterSetters.get(i1).getImage1() + "[/IMAGE1]" + + "[IMAGE2]" + t2PGetterSetters.get(i1).getImage2() + "[/IMAGE2]" + + "[PRESENT]" + t2PGetterSetters.get(i1).getPresent() + "[/PRESENT]" - No_camera_data = No_camera_data + onXml_nodata; + //Non t2p reason id added - 21-6-2018 + + "[TREASON_ID]" + t2PGetterSetters.get(i1).getNon_t2p_reason_id() + "[/TREASON_ID]" + + + "[GAPS_DATA]" + gaps_xml + "[/GAPS_DATA]" + + "[SKU_DATA]" + sku_xml + "[/SKU_DATA]" + + "[CATEGORY_FIXTURE]" + t2PGetterSetters.get(i1).getCategory_fixture() + "[/CATEGORY_FIXTURE]" + + "[BRAND_DATA]" + brandxml + "[/BRAND_DATA]" + + "[/T2P_DATA]"; + + t2p_data_xml = t2p_data_xml + onXML; } - final String sos_xml = "[DATA]" + No_camera_data + "[/DATA]"; + final String t2p_final_xml = "[DATA]" + t2p_data_xml + "[/DATA]"; + + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); + request.addProperty("XMLDATA", t2p_final_xml); + request.addProperty("KEYS", "T2P_DATA_FIXTURE_NEW"); + 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(); + + /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + return CommonString.METHOD_UPLOAD_STOCK_XML_DATA; + }*/ + } + data.value = 50; + data.name = getString(R.string.t2p_data_uploading); + publishProgress(data); + + + //Stock Facing Planogram Tracker + String stock_facing_planogram_xml = ""; + onXML = ""; + db.open(); + stockFacingPlanogramDataList = db.getStockAndFacingPlanogramServerUploadData(coverageList.get(i).getStoreId()); + + if (stockFacingPlanogramDataList.size() > 0) { + + for (int i1 = 0; i1 < stockFacingPlanogramDataList.size(); i1++) { + onXML = "[STOCK_FACING_PLANOGRAM_DATA]" + + "[MID]" + mid + "[/MID]" + + "[USER_ID]" + userId + "[/USER_ID]" + + "[SKU_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSku_id()) + "[/SKU_ID]" + + "[CATEGORY_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getCategory_id()) + "[/CATEGORY_ID]" + //+ "[company_id]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getCompany_id()) + "[/company_id]" + //+ "[sub_category_id]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSub_category_id()) + "[/sub_category_id]" + //+ "[BRAND_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getBrand_id()) + "[/BRAND_ID]" + + "[SHELF_ID]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSp_addShelf_id()) + "[/SHELF_ID]" + + "[SHELF_POSITION]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getSp_shelfPosition()) + "[/SHELF_POSITION]" + //+ "[CHECKBOX]" + Integer.parseInt(stockFacingPlanogramDataList.get(i1).getCheckbox_sku()) + "[/CHECKBOX]" + + "[/STOCK_FACING_PLANOGRAM_DATA]"; + + stock_facing_planogram_xml = stock_facing_planogram_xml + onXML; + } + + final String sos_xml = "[DATA]" + stock_facing_planogram_xml + "[/DATA]"; request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); request.addProperty("XMLDATA", sos_xml); - request.addProperty("KEYS", "NO_CAMERA_POG"); + request.addProperty("KEYS", "STOCK_FACING_PLANOGRAM_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(); + + /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + return CommonString.METHOD_UPLOAD_STOCK_XML_DATA; + }*/ + } + data.value = 55; + data.name = getString(R.string.stock_planogram_data_uploading); + publishProgress(data); + + + //Category Picture Data + String Category_xml = ""; + onXML = ""; + String onCategoryList = ""; + String CategoryLISTDATA = ""; + String image1, image2, image3, image4; + + db.open(); + adddata = db.getCategoryPictureUpload(coverageList.get(i).getStoreId()); + + if (adddata.size() > 0) { + for (int J = 0; J < adddata.size(); J++) { + if (adddata.get(J).getCategoryImage1() == null) { + image1 = ""; + } else { + image1 = adddata.get(J).getCategoryImage1(); + } + + if (adddata.get(J).getCategoryImage2() == null) { + image2 = ""; + } else { + image2 = adddata.get(J).getCategoryImage2(); + } + + if (adddata.get(J).getCategoryImage3() == null) { + image3 = ""; + } else { + image3 = adddata.get(J).getCategoryImage3(); + } + + if (adddata.get(J).getCategoryImage4() == null) { + image4 = ""; + } else { + image4 = adddata.get(J).getCategoryImage4(); + } + + String KeyID = adddata.get(J).getKEY_ID(); + + listdat = db.getCategoryPictureListUploaded(KeyID); + + if (listdat.size() > 0) { + for (int k = 0; k < listdat.size(); k++) { + onCategoryList = "[SUB_CATEGORY_LIST]" + + "[MID]" + mid + "[/MID]" + + "[USER_ID]" + userId + "[/USER_ID]" + + "[KEY_ID]" + listdat.get(k).getCOMMON_ID() + "[/KEY_ID]" + + "[SUB_CATEGORY_ID]" + listdat.get(k).getSUB_CATEGORY_ID() + "[/SUB_CATEGORY_ID]" + + "[SUB_CategoryImage1]" + listdat.get(k).getSubCategoryCamera1() + "[/SUB_CategoryImage1]" + + "[SUB_CategoryImage2]" + listdat.get(k).getSubCategoryCamera2() + "[/SUB_CategoryImage2]" + + "[/SUB_CATEGORY_LIST]"; + + CategoryLISTDATA = CategoryLISTDATA + onCategoryList; + } + } + + onXML = "[CATEGORY_LIST]" + + "[MID]" + mid + "[/MID]" + + "[USER_ID]" + userId + "[/USER_ID]" + + "[KEY_ID]" + adddata.get(J).getKEY_ID() + "[/KEY_ID]" + + "[CATEGORY_ID]" + adddata.get(J).getCategoryId() + "[/CATEGORY_ID]" + + "[CAMERA_ALLOW]" + adddata.get(J).getCamera_allow() + "[/CAMERA_ALLOW]" + + "[IMAGE_URL_1]" + image1 /*adddata.get(J).getCategoryImage1()*/ + "[/IMAGE_URL_1]" + + "[IMAGE_URL_2]" + image2 /*adddata.get(J).getCategoryImage2()*/ + "[/IMAGE_URL_2]" + + "[IMAGE_URL_3]" + image3 /*adddata.get(J).getCategoryImage3()*/ + "[/IMAGE_URL_3]" + + "[IMAGE_URL_4]" + image4 /*adddata.get(J).getCategoryImage4()*/ + "[/IMAGE_URL_4]" + + "[SUB_LIST]" + CategoryLISTDATA + "[/SUB_LIST]" + + "[/CATEGORY_LIST]"; + + Category_xml = Category_xml + onXML; + CategoryLISTDATA = ""; + } + + final String sos_xml = "[DATA]" + Category_xml + "[/DATA]"; + + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); + request.addProperty("XMLDATA", sos_xml); + request.addProperty("KEYS", "CATEGORY_PICTURE"); + 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(); + + /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + return CommonString.METHOD_UPLOAD_STOCK_XML_DATA; + }*/ + } else { + + db.open(); + ArrayList nocamera_data_list = db.getNoCameraCategoryStoreWiseDataInserted(coverageList.get(i).getStoreId()); + + if (nocamera_data_list.size() > 0) { + + 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]" + + "[CATEGORY_ID]" + nocamera_data_list.get(n).getCATEGORY_ID() + "[/CATEGORY_ID]" + + "[SUB_CATEGORY_ID]" + nocamera_data_list.get(n).getSUB_CATEGORY_ID() + "[/SUB_CATEGORY_ID]" + + "[SKU_GROUP_ID]" + nocamera_data_list.get(n).getSKUGROUP_ID() + "[/SKU_GROUP_ID]" + + "[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; + } + + final String sos_xml = "[DATA]" + No_camera_data + "[/DATA]"; + + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); + request.addProperty("XMLDATA", sos_xml); + request.addProperty("KEYS", "NO_CAMERA_POG"); + 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 = 60; + data.name = getString(R.string.additional_data_uploading); + publishProgress(data); + + //Audit data + db.open(); + ArrayList audit_data = db.getAuditDataForUpload(coverageList.get(i).getStoreId()); + + if (audit_data.size() > 0) { + + String onXml_audit_data = "", Audit_data = ""; + for (int n = 0; n < audit_data.size(); n++) { + + onXml_audit_data = "[AUDIT_DATA]" + + "[MID]" + mid + "[/MID]" + + "[USER_ID]" + userId + "[/USER_ID]" + + "[CATEGORY_ID]" + audit_data.get(n).getCATEGORY_ID() + "[/CATEGORY_ID]" + + "[QUESTION_ID]" + audit_data.get(n).getQUESTION_ID() + "[/QUESTION_ID]" + + "[ANSWER_ID]" + audit_data.get(n).getANSWER_ID() + "[/ANSWER_ID]" + + "[ANSWER_IMAGE]" + audit_data.get(n).getCAM_IMAGE() + "[/ANSWER_IMAGE]" + + "[ANSWER_IMAGE2]" + audit_data.get(n).getCAM_IMAGE2() + "[/ANSWER_IMAGE2]" + + "[ANSWER]" + audit_data.get(n).getANSWER() + "[/ANSWER]" + + "[/AUDIT_DATA]"; + + Audit_data = Audit_data + onXml_audit_data; + } + + final String sos_xml = "[DATA]" + Audit_data + "[/DATA]"; + + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); + request.addProperty("XMLDATA", sos_xml); + request.addProperty("KEYS", "AUDIT_DATA_LATEST"); request.addProperty("USERNAME", userId); request.addProperty("MID", mid); @@ -1161,222 +1275,178 @@ public class UploadActivity extends AppCompatActivity { result = envelope.getResponse(); } - } - data.value = 60; - data.name = getString(R.string.additional_data_uploading); - publishProgress(data); - - //Audit data - db.open(); - ArrayList audit_data = db.getAuditDataForUpload(coverageList.get(i).getStoreId()); - - if (audit_data.size() > 0) { - - String onXml_audit_data = "", Audit_data = ""; - for (int n = 0; n < audit_data.size(); n++) { - - onXml_audit_data = "[AUDIT_DATA]" - + "[MID]" + mid + "[/MID]" - + "[USER_ID]" + userId + "[/USER_ID]" - + "[CATEGORY_ID]" + audit_data.get(n).getCATEGORY_ID() + "[/CATEGORY_ID]" - + "[QUESTION_ID]" + audit_data.get(n).getQUESTION_ID() + "[/QUESTION_ID]" - + "[ANSWER_ID]" + audit_data.get(n).getANSWER_ID() + "[/ANSWER_ID]" - + "[ANSWER_IMAGE]" + audit_data.get(n).getCAM_IMAGE() + "[/ANSWER_IMAGE]" - + "[ANSWER_IMAGE2]" + audit_data.get(n).getCAM_IMAGE2() + "[/ANSWER_IMAGE2]" - + "[ANSWER]" + audit_data.get(n).getANSWER() + "[/ANSWER]" - + "[/AUDIT_DATA]"; - - Audit_data = Audit_data + onXml_audit_data; - } - - final String sos_xml = "[DATA]" + Audit_data + "[/DATA]"; - - request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); - request.addProperty("XMLDATA", sos_xml); - request.addProperty("KEYS", "AUDIT_DATA_LATEST"); - 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 = 62; - data.name = getString(R.string.audit); - publishProgress(data); - - //POG data - db.open(); - ArrayList pog_data = db.getAfterSavePOGForUploadData(coverageList.get(i).getStoreId()); - - if (pog_data.size() > 0) { - - String onXml_pog_data = "", POG_data = ""; - for (int n = 0; n < pog_data.size(); n++) { - - onXml_pog_data = "[POG_DATA]" - + "[MID]" + mid + "[/MID]" - + "[USER_ID]" + userId + "[/USER_ID]" - + "[CATEGORY_ID]" + pog_data.get(n).getCATEGORY_ID() + "[/CATEGORY_ID]" - + "[SUB_CATEGORY_ID]" + pog_data.get(n).getSUB_CATEGORY_ID() + "[/SUB_CATEGORY_ID]" - + "[QUESTION_ID]" + pog_data.get(n).getQUESTION_ID() + "[/QUESTION_ID]" - + "[ANSWER_ID]" + pog_data.get(n).getANSWER_ID() + "[/ANSWER_ID]" - + "[/POG_DATA]"; - - POG_data = POG_data + onXml_pog_data; - } - - final String sos_xml = "[DATA]" + POG_data + "[/DATA]"; - - request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); - request.addProperty("XMLDATA", sos_xml); - request.addProperty("KEYS", "POG_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 = 63; - data.name = getString(R.string.pog); - publishProgress(data); - - //Coaching visit data - db.open(); - coachingVisitData = db.getCoachingVisitData(coverageList.get(i).getStoreId()); - - if (coachingVisitData.size() > 0) { - - String onXml_coaching_data = "", coaching_xml = ""; - for (int j = 0; j < coachingVisitData.size(); j++) { - - String exist; - - if (coachingVisitData.get(j).isExists()) { - exist = "1"; - } else { - exist = "0"; - } - - coaching_xml = "[COACHING_VISIT_DATA]" - + "[MID]" + mid + "[/MID]" - + "[USER_ID]" + userId + "[/USER_ID]" - + "[EMP_ID]" + coachingVisitData.get(j).getEmp_id() + "[/EMP_ID]" - + "[IMAGE]" + coachingVisitData.get(j).getImg_path() + "[/IMAGE]" - + "[IS_EXIST]" + exist + "[/IS_EXIST]" - + "[/COACHING_VISIT_DATA]"; - onXml_coaching_data = onXml_coaching_data + coaching_xml; - } - - 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); + data.value = 62; + data.name = getString(R.string.audit); publishProgress(data); - } - //Counterfeit Product - Country Id - 6 (UAE) - String counterfeit_product_data_xml = "", add_product_data_xml = "", product_exists_xml = "", product_add_xml = ""; + //POG data + db.open(); + ArrayList pog_data = db.getAfterSavePOGForUploadData(coverageList.get(i).getStoreId()); - db.open(); - counterfeitProductExistsGetterSetters = db.getCounterfeitProductExistsAfterData(coverageList.get(i).getStoreId(), null); - if (counterfeitProductExistsGetterSetters.size() > 0) { + if (pog_data.size() > 0) { - for (int l = 0; l < counterfeitProductExistsGetterSetters.size(); l++) { + String onXml_pog_data = "", POG_data = ""; + for (int n = 0; n < pog_data.size(); n++) { - add_product_data_xml =""; + onXml_pog_data = "[POG_DATA]" + + "[MID]" + mid + "[/MID]" + + "[USER_ID]" + userId + "[/USER_ID]" + + "[CATEGORY_ID]" + pog_data.get(n).getCATEGORY_ID() + "[/CATEGORY_ID]" + + "[SUB_CATEGORY_ID]" + pog_data.get(n).getSUB_CATEGORY_ID() + "[/SUB_CATEGORY_ID]" + + "[QUESTION_ID]" + pog_data.get(n).getQUESTION_ID() + "[/QUESTION_ID]" + + "[ANSWER_ID]" + pog_data.get(n).getANSWER_ID() + "[/ANSWER_ID]" + + "[/POG_DATA]"; - counterfeitProductGetterSetters = db.getCounterfeitProductAfterData(counterfeitProductExistsGetterSetters.get(l).get_id(), null); - - for (int i1 = 0; i1 < counterfeitProductGetterSetters.size(); i1++) { - if (!counterfeitProductGetterSetters.get(i1).getCategory_id().equals("0")) { - - product_add_xml = "[PRODUCT_DATA]" - + "[MID]" + mid + "[/MID]" - + "[USER_ID]" + userId + "[/USER_ID]" - + "[CATEGORY_ID]" + Integer.parseInt(counterfeitProductGetterSetters.get(i1).getCategory_id()) + "[/CATEGORY_ID]" - + "[SKU_NAME]" + counterfeitProductGetterSetters.get(i1).getSkuName() + "[/SKU_NAME]" - + "[BRAND_ID]" + counterfeitProductGetterSetters.get(i1).getBrandId() + "[/BRAND_ID]" - + "[STOCK]" + counterfeitProductGetterSetters.get(i1).getStock() + "[/STOCK]" - + "[IMAGE]" + counterfeitProductGetterSetters.get(i1).getImgStr() + "[/IMAGE]" - + "[IMAGE1]" + counterfeitProductGetterSetters.get(i1).getImgStr1() + "[/IMAGE1]" - + "[IMAGE2]" + counterfeitProductGetterSetters.get(i1).getImgStr2() + "[/IMAGE2]" - + "[/PRODUCT_DATA]"; - - add_product_data_xml = add_product_data_xml + product_add_xml; - } + POG_data = POG_data + onXml_pog_data; } - int exists = 0; - if (counterfeitProductExistsGetterSetters.get(l).isExists()) { - exists = 1; - } + final String sos_xml = "[DATA]" + POG_data + "[/DATA]"; - product_exists_xml = "[COUNTERFEIT_PRODUCT_DATA]" - + "[MID]" + mid + "[/MID]" - + "[USER_ID]" + userId + "[/USER_ID]" - + "[CATEGORY_ID]" + Integer.parseInt(counterfeitProductExistsGetterSetters.get(l).getCategory_id()) + "[/CATEGORY_ID]" - + "[IS_EXISTS]" + exists + "[/IS_EXISTS]" - + "[COUNTERFEIT_DATA]" + add_product_data_xml + "[/COUNTERFEIT_DATA]" - + "[/COUNTERFEIT_PRODUCT_DATA]"; + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); + request.addProperty("XMLDATA", sos_xml); + request.addProperty("KEYS", "POG_DATA"); + request.addProperty("USERNAME", userId); + request.addProperty("MID", mid); - counterfeit_product_data_xml = counterfeit_product_data_xml + product_exists_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_STOCK_XML_DATA, envelope); + + result = envelope.getResponse(); } - final String sos_xml = "[DATA]" + counterfeit_product_data_xml + "[/DATA]"; + data.value = 63; + data.name = getString(R.string.pog); + publishProgress(data); - request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); - request.addProperty("XMLDATA", sos_xml); - request.addProperty("KEYS", "COUNTERFEIT_PRODUCT_DATA"); - request.addProperty("USERNAME", userId); - request.addProperty("MID", mid); + //Coaching visit data + db.open(); + coachingVisitData = db.getCoachingVisitData(coverageList.get(i).getStoreId()); - envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); - envelope.dotNet = true; - envelope.setOutputSoapObject(request); + if (coachingVisitData.size() > 0) { - androidHttpTransport = new HttpTransportSE(CommonString.URL); - androidHttpTransport.call(CommonString.SOAP_ACTION + CommonString.METHOD_UPLOAD_STOCK_XML_DATA, envelope); + String onXml_coaching_data = "", coaching_xml = ""; + for (int j = 0; j < coachingVisitData.size(); j++) { - result = envelope.getResponse(); + String exist; + + if (coachingVisitData.get(j).isExists()) { + exist = "1"; + } else { + exist = "0"; + } + + coaching_xml = "[COACHING_VISIT_DATA]" + + "[MID]" + mid + "[/MID]" + + "[USER_ID]" + userId + "[/USER_ID]" + + "[EMP_ID]" + coachingVisitData.get(j).getEmp_id() + "[/EMP_ID]" + + "[IMAGE]" + coachingVisitData.get(j).getImg_path() + "[/IMAGE]" + + "[IS_EXIST]" + exist + "[/IS_EXIST]" + + "[/COACHING_VISIT_DATA]"; + onXml_coaching_data = onXml_coaching_data + coaching_xml; + } + + 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); + } + + //Counterfeit Product - Country Id - 6 (UAE) + String counterfeit_product_data_xml = "", add_product_data_xml = "", product_exists_xml = "", product_add_xml = ""; + + db.open(); + counterfeitProductExistsGetterSetters = db.getCounterfeitProductExistsAfterData(coverageList.get(i).getStoreId(), null); + if (counterfeitProductExistsGetterSetters.size() > 0) { + + for (int l = 0; l < counterfeitProductExistsGetterSetters.size(); l++) { + + add_product_data_xml =""; + + counterfeitProductGetterSetters = db.getCounterfeitProductAfterData(counterfeitProductExistsGetterSetters.get(l).get_id(), null); + + for (int i1 = 0; i1 < counterfeitProductGetterSetters.size(); i1++) { + if (!counterfeitProductGetterSetters.get(i1).getCategory_id().equals("0")) { + + product_add_xml = "[PRODUCT_DATA]" + + "[MID]" + mid + "[/MID]" + + "[USER_ID]" + userId + "[/USER_ID]" + + "[CATEGORY_ID]" + Integer.parseInt(counterfeitProductGetterSetters.get(i1).getCategory_id()) + "[/CATEGORY_ID]" + + "[SKU_NAME]" + counterfeitProductGetterSetters.get(i1).getSkuName() + "[/SKU_NAME]" + + "[BRAND_ID]" + counterfeitProductGetterSetters.get(i1).getBrandId() + "[/BRAND_ID]" + + "[STOCK]" + counterfeitProductGetterSetters.get(i1).getStock() + "[/STOCK]" + + "[IMAGE]" + counterfeitProductGetterSetters.get(i1).getImgStr() + "[/IMAGE]" + + "[IMAGE1]" + counterfeitProductGetterSetters.get(i1).getImgStr1() + "[/IMAGE1]" + + "[IMAGE2]" + counterfeitProductGetterSetters.get(i1).getImgStr2() + "[/IMAGE2]" + + "[/PRODUCT_DATA]"; + + add_product_data_xml = add_product_data_xml + product_add_xml; + } + } + + int exists = 0; + if (counterfeitProductExistsGetterSetters.get(l).isExists()) { + exists = 1; + } + + product_exists_xml = "[COUNTERFEIT_PRODUCT_DATA]" + + "[MID]" + mid + "[/MID]" + + "[USER_ID]" + userId + "[/USER_ID]" + + "[CATEGORY_ID]" + Integer.parseInt(counterfeitProductExistsGetterSetters.get(l).getCategory_id()) + "[/CATEGORY_ID]" + + "[IS_EXISTS]" + exists + "[/IS_EXISTS]" + + "[COUNTERFEIT_DATA]" + add_product_data_xml + "[/COUNTERFEIT_DATA]" + + "[/COUNTERFEIT_PRODUCT_DATA]"; + + counterfeit_product_data_xml = counterfeit_product_data_xml + product_exists_xml; + + } + + final String sos_xml = "[DATA]" + counterfeit_product_data_xml + "[/DATA]"; + + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); + request.addProperty("XMLDATA", sos_xml); + request.addProperty("KEYS", "COUNTERFEIT_PRODUCT_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(); /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { return CommonString.METHOD_UPLOAD_STOCK_XML_DATA; }*/ + } + + data.value = 65; + data.name = getString(R.string.title_activity_counterfeit_products); + publishProgress(data); } - data.value = 65; - data.name = getString(R.string.title_activity_counterfeit_products); - publishProgress(data); // SET COVERAGE STATUS String final_xml = ""; @@ -1392,7 +1462,8 @@ public class UploadActivity extends AppCompatActivity { final String sos_xml = "[DATA]" + final_xml + "[/DATA]"; - request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_COVERAGE_STATUS); + + request = new SoapObject(CommonString.NAMESPACE, status_service); request.addProperty("onXML", sos_xml); envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); @@ -1400,7 +1471,7 @@ public class UploadActivity extends AppCompatActivity { envelope.setOutputSoapObject(request); androidHttpTransport = new HttpTransportSE(CommonString.URL); - androidHttpTransport.call(CommonString.SOAP_ACTION + CommonString.METHOD_UPLOAD_COVERAGE_STATUS, envelope); + androidHttpTransport.call(CommonString.SOAP_ACTION + status_service, 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 847d2cc..3aee28a 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java @@ -65,7 +65,7 @@ public class UploadImageWithRetrofit { int storeId = 0; GSKOrangeDB db; ProgressDialog pd; - ArrayList storeList, storeList_deviation; + ArrayList storeList, storeList_deviation, storeListAdditional, storeListPharma; private int factor, k = 0; Data data; @@ -237,6 +237,8 @@ public class UploadImageWithRetrofit { foldername = "CoachingVisits"; } else if (file[i].getName().contains("DeliveryCalls")) { foldername = "DeliveryCallsImages"; + } else if (file[i].getName().contains("CounterfeitProduct")) {//added 15.04.2019 + foldername = "CounterFeitImages"; } else{ foldername = "Bulkimages"; } @@ -600,6 +602,115 @@ public class UploadImageWithRetrofit { } } + //for Turkey Pharma Stores + storeListPharma = db.getStoreData(visitDate, CommonString.KEY_JOURNEY_PLAN_PHARMA); + for (int i = 0; i < storeListPharma.size(); i++) { + if (storeListPharma.get(i).getUPLOAD_STATUS().equalsIgnoreCase(CommonString.KEY_D)) { + // SET COVERAGE STATUS + String final_xml = ""; + String onXML = ""; + onXML = "[COVERAGE_STATUS]" + + "[STORE_ID]" + storeListPharma.get(i).getSTORE_ID() + "[/STORE_ID]" + + "[VISIT_DATE]" + storeListPharma.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_PHARMA); + 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_PHARMA, 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(); + + final CoverageBean coverageObj = db.getCoverageSpecificData(storeListPharma.get(i).getVISIT_DATE(), storeListPharma.get(i).getSTORE_ID()); + + String uploadStatus; + if(coverageObj.getReasonid().equalsIgnoreCase("0")){ + uploadStatus = CommonString.KEY_U; + } + else { + uploadStatus = CommonString.KEY_UN; + } + + db.updateCoverageStatus(storeListPharma.get(i).getSTORE_ID(), uploadStatus); + db.updateStoreStatusOnLeave(storeListPharma.get(i).getSTORE_ID(), storeList.get(i).getVISIT_DATE(), + uploadStatus, CommonString.FROM_PHARMA); + + db.deleteTableWithStoreID(storeListPharma.get(i).getSTORE_ID()); + } + + } + } + + //Additional Stores Egypt + storeListAdditional = db.getStoreData(visitDate, CommonString.KEY_JOURNEY_PLAN_ADDITIONAL); + for (int i = 0; i < storeListAdditional.size(); i++) { + if (storeListAdditional.get(i).getUPLOAD_STATUS().equalsIgnoreCase(CommonString.KEY_D)) { + // SET COVERAGE STATUS + String final_xml = ""; + String onXML = ""; + onXML = "[COVERAGE_STATUS]" + + "[STORE_ID]" + storeListAdditional.get(i).getSTORE_ID() + "[/STORE_ID]" + + "[VISIT_DATE]" + storeListAdditional.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_ADDITIONAL); + 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_ADDITIONAL, 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(); + + final CoverageBean coverageObj = db.getCoverageSpecificData(storeListAdditional.get(i).getVISIT_DATE(), storeListAdditional.get(i).getSTORE_ID()); + + String uploadStatus; + if(coverageObj.getReasonid().equalsIgnoreCase("0")){ + uploadStatus = CommonString.KEY_U; + } + else { + uploadStatus = CommonString.KEY_UN; + } + + db.updateCoverageStatus(storeListAdditional.get(i).getSTORE_ID(), uploadStatus); + db.updateStoreStatusOnLeave(storeListAdditional.get(i).getSTORE_ID(), storeList.get(i).getVISIT_DATE(), + uploadStatus, CommonString.FROM_ADDITIONAL); + + db.deleteTableWithStoreID(storeListAdditional.get(i).getSTORE_ID()); + } + + } + } } catch (MalformedURLException e) { e.printStackTrace(); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/MSL_AvailabilityStockFacingGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/MSL_AvailabilityStockFacingGetterSetter.java index ff93a38..9b25a82 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/MSL_AvailabilityStockFacingGetterSetter.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/MSL_AvailabilityStockFacingGetterSetter.java @@ -10,6 +10,25 @@ public class MSL_AvailabilityStockFacingGetterSetter implements Serializable{ String sub_category_id, sub_category, brand_id, brand, sku_id, sku, mrp, sku_sequence, toggleValue, mbq, category_id, facing="", stock,company_id,must_have; + public String getImgPath() { + return imgPath; + } + + public void setImgPath(String imgPath) { + this.imgPath = imgPath; + } + + public int getIsChecked() { + return isChecked; + } + + public void setIsChecked(int isChecked) { + this.isChecked = isChecked; + } + + String imgPath=""; + int isChecked=-1; + public String getSub_category_id() { return sub_category_id; } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/MappingPharmaQuestionGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/MappingPharmaQuestionGetterSetter.java new file mode 100644 index 0000000..b72fef3 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/MappingPharmaQuestionGetterSetter.java @@ -0,0 +1,99 @@ +package cpm.com.gskmtorange.xmlGetterSetter; + +import java.util.ArrayList; + +public class MappingPharmaQuestionGetterSetter { + + String table_MAPPING_PHARMA_QUESTION; + + public String getImgPath() { + return imgPath; + } + + public void setImgPath(String imgPath) { + this.imgPath = imgPath; + } + + public int getIsChecked() { + return isChecked; + } + + public void setIsChecked(int isChecked) { + this.isChecked = isChecked; + } + + String imgPath=""; + int isChecked=-1; + + ArrayList QUESTION_ID = new ArrayList<>(); + ArrayList QUESTION= new ArrayList<>(); + ArrayList BRAND_ID= new ArrayList<>(); + ArrayList BRAND= new ArrayList<>(); + ArrayList SUB_CATEGORY_ID= new ArrayList<>(); + ArrayList SUB_CATEGORY= new ArrayList<>(); + ArrayList QUESTION_SEQUENCE= new ArrayList<>(); + + public String getTable_MAPPING_PHARMA_QUESTION() { + return table_MAPPING_PHARMA_QUESTION; + } + + public void setTable_MAPPING_PHARMA_QUESTION(String table_MAPPING_PHARMA_QUESTION) { + this.table_MAPPING_PHARMA_QUESTION = table_MAPPING_PHARMA_QUESTION; + } + + public ArrayList getQUESTION_ID() { + return QUESTION_ID; + } + + public void setQUESTION_ID(String QUESTION_ID) { + this.QUESTION_ID.add(QUESTION_ID); + } + + public ArrayList getQUESTION() { + return QUESTION; + } + + public void setQUESTION(String QUESTION) { + this.QUESTION.add(QUESTION); + } + + public ArrayList getBRAND_ID() { + return BRAND_ID; + } + + public void setBRAND_ID(String BRAND_ID) { + this.BRAND_ID.add(BRAND_ID); + } + + public ArrayList getBRAND() { + return BRAND; + } + + public void setBRAND(String BRAND) { + this.BRAND.add(BRAND); + } + + 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); + } + + public ArrayList getSUB_CATEGORY() { + return SUB_CATEGORY; + } + + public void setSUB_CATEGORY(String SUB_CATEGORY) { + this.SUB_CATEGORY.add(SUB_CATEGORY); + } + + public ArrayList getQUESTION_SEQUENCE() { + return QUESTION_SEQUENCE; + } + + public void setQUESTION_SEQUENCE(String QUESTION_SEQUENCE) { + this.QUESTION_SEQUENCE.add(QUESTION_SEQUENCE); + } +} 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 2f0e7cf..5f0c00d 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java @@ -44,6 +44,45 @@ public class TableBean { public static String Table_MAPPING_STOCK_STOREWISE; public static String Table_MAPPING_PLANOGRAM_STORE_WISE; + public static String getTable_MAPPING_PHARMA_QUESTION() { + return Table_MAPPING_PHARMA_QUESTION; + } + + public static void setTable_MAPPING_PHARMA_QUESTION(String table_MAPPING_PHARMA_QUESTION) { + Table_MAPPING_PHARMA_QUESTION = table_MAPPING_PHARMA_QUESTION; + } + + public static String getTable_JOURNEY_PLAN_PHARMA() { + return Table_JOURNEY_PLAN_PHARMA; + } + + public static void setTable_JOURNEY_PLAN_PHARMA(String table_JOURNEY_PLAN_PHARMA) { + Table_JOURNEY_PLAN_PHARMA = table_JOURNEY_PLAN_PHARMA; + } + + public static String Table_MAPPING_PHARMA_QUESTION; + public static String Table_JOURNEY_PLAN_PHARMA; + + public static String getAdditionalJourneyPlan() { + return ADDITIONAL_JOURNEY_PLAN; + } + + public static void setAdditionalJourneyPlan(String additionalJourneyPlan) { + ADDITIONAL_JOURNEY_PLAN = additionalJourneyPlan; + } + + public static String ADDITIONAL_JOURNEY_PLAN; + + public static String getMappingStockAdditional() { + return MAPPING_STOCK_ADDITIONAL; + } + + public static void setMappingStockAdditional(String mappingStockAdditional) { + MAPPING_STOCK_ADDITIONAL = mappingStockAdditional; + } + + public static String MAPPING_STOCK_ADDITIONAL; + public static String getTable_NON_WORKING_SUB_REASON() { return Table_NON_WORKING_SUB_REASON; } 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 204976d..7e53811 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java @@ -24,6 +24,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.MAPPING_PLANOGRAM_MasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MAPPING_SOS_TARGET_MasterGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingCategoryImageAllowGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingDisplayChecklistGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.MappingPharmaQuestionGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingPlanogramCountrywiseGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingPlanogramStorewiseGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingPromotionGetterSetter; @@ -1502,4 +1503,48 @@ public class XMLHandlers { } return st; } + + // MAPPING_PHARMA_QUESTION XML HANDLER + public static MappingPharmaQuestionGetterSetter mappingPharmaQuestionXMLHandler(XmlPullParser xpp, + int eventType) { + MappingPharmaQuestionGetterSetter stock = new MappingPharmaQuestionGetterSetter(); + + try { + while (xpp.getEventType() != XmlPullParser.END_DOCUMENT) { + if (xpp.getEventType() == XmlPullParser.START_TAG) { + if (xpp.getName().equals("META_DATA")) { + stock.setTable_MAPPING_PHARMA_QUESTION(xpp.nextText()); + } + if (xpp.getName().equals("QUESTION_ID")) { + stock.setQUESTION_ID(xpp.nextText()); + } + if (xpp.getName().equals("QUESTION")) { + stock.setQUESTION(xpp.nextText()); + } + if (xpp.getName().equals("BRAND_ID")) { + stock.setBRAND_ID(xpp.nextText()); + } + if (xpp.getName().equals("BRAND")) { + stock.setBRAND(xpp.nextText()); + } + if (xpp.getName().equals("SUB_CATEGORY_ID")) { + stock.setSUB_CATEGORY_ID(xpp.nextText()); + } + if (xpp.getName().equals("SUB_CATEGORY")) { + stock.setSUB_CATEGORY(xpp.nextText()); + }if (xpp.getName().equals("QUESTION_SEQUENCE")) { + stock.setQUESTION_SEQUENCE(xpp.nextText()); + } + } + xpp.next(); + } + } catch (XmlPullParserException e) { + + e.printStackTrace(); + } catch (IOException e) { + + e.printStackTrace(); + } + return stock; + } } diff --git a/GSKMTOrange/src/main/res/layout/activity_no_camera.xml b/GSKMTOrange/src/main/res/layout/activity_no_camera.xml index e2b9356..64f5a49 100644 --- a/GSKMTOrange/src/main/res/layout/activity_no_camera.xml +++ b/GSKMTOrange/src/main/res/layout/activity_no_camera.xml @@ -31,5 +31,12 @@ android:layout_margin="@dimen/fab_margin" app:srcCompat="@drawable/save_icon" /> + diff --git a/GSKMTOrange/src/main/res/layout/activity_paharma.xml b/GSKMTOrange/src/main/res/layout/activity_paharma.xml new file mode 100644 index 0000000..88f287d --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/activity_paharma.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/layout/activity_stock.xml b/GSKMTOrange/src/main/res/layout/activity_stock.xml new file mode 100644 index 0000000..c6556f6 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/activity_stock.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/layout/content_paharma.xml b/GSKMTOrange/src/main/res/layout/content_paharma.xml new file mode 100644 index 0000000..8ca753f --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/content_paharma.xml @@ -0,0 +1,8 @@ + diff --git a/GSKMTOrange/src/main/res/layout/content_stock.xml b/GSKMTOrange/src/main/res/layout/content_stock.xml new file mode 100644 index 0000000..fb33f93 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/content_stock.xml @@ -0,0 +1,20 @@ + + + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/layout/delete_row_alert_dialog.xml b/GSKMTOrange/src/main/res/layout/delete_row_alert_dialog.xml new file mode 100644 index 0000000..f232daf --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/delete_row_alert_dialog.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + +