From d3a836cd201ecef7188961750d8d253a2c6e5c35 Mon Sep 17 00:00:00 2001 From: CPM Date: Mon, 28 Sep 2020 18:47:09 +0530 Subject: [PATCH] coaching --- .idea/caches/build_file_checksums.ser | Bin 592 -> 592 bytes GSKMTOrange/build.gradle | 28 +- GSKMTOrange/src/main/AndroidManifest.xml | 8 +- .../com/gskmtorange/Database/GSKOrangeDB.java | 219 +++ .../cpm/com/gskmtorange/LoginActivity.java | 13 +- .../gskmtorange/dailyentry/FirstFragment.java | 37 + .../dailyentry/NewStockDataActivity.java | 1649 +++++++++++++++++ .../dailyentry/SecondFragment.java | 37 + .../gskmtorange/upload/UploadActivity.java | 54 + .../res/layout/activity_new_stock_data.xml | 33 + .../res/layout/content_new_stock_data.xml | 220 +++ .../src/main/res/layout/fragment_first.xml | 28 + .../src/main/res/layout/fragment_second.xml | 27 + .../src/main/res/navigation/nav_graph.xml | 28 + GSKMTOrange/src/main/res/values/strings.xml | 11 +- 15 files changed, 2372 insertions(+), 20 deletions(-) create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/FirstFragment.java create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NewStockDataActivity.java create mode 100644 GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/SecondFragment.java create mode 100644 GSKMTOrange/src/main/res/layout/activity_new_stock_data.xml create mode 100644 GSKMTOrange/src/main/res/layout/content_new_stock_data.xml create mode 100644 GSKMTOrange/src/main/res/layout/fragment_first.xml create mode 100644 GSKMTOrange/src/main/res/layout/fragment_second.xml create mode 100644 GSKMTOrange/src/main/res/navigation/nav_graph.xml diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index d98839b1afaf4afb662a967246bcf58b41a56d4c..b38f10aa465a2debe759d0a9d4ece53d77451ba8 100644 GIT binary patch delta 37 vcmV+=0NVf11kePKmj!gx)}2$aoOJ;Z*VUurXp|!_e_M^9Vy7bBlOX~xR_hTf delta 37 vcmV+=0NVf11kePKmj!bFG$pmMoOJ;ZJ?^=eBR)7W-5KZP)}EWnlOX~xKBy4u diff --git a/GSKMTOrange/build.gradle b/GSKMTOrange/build.gradle index 270a232..2e5168b 100644 --- a/GSKMTOrange/build.gradle +++ b/GSKMTOrange/build.gradle @@ -21,27 +21,27 @@ android { targetSdkVersion 26 //For Egypt - /* versionCode 29 - versionName "4.1"*/ + versionCode 29 + versionName "4.1" //For UAE - /* versionCode 24 - versionName "3.6"*/ - - - //For Turkey /* versionCode 25 versionName "3.7"*/ + + //For Turkey + /* versionCode 25 + versionName "3.7"*/ //For KSA - versionCode 27 - versionName "3.9" + /* versionCode 27 + versionName "3.9"*/ //For SA - /*versionCode 26 - versionName "3.7"*/ - /* versionCode 22 - versionName "3.4"*/ + /* versionCode 27 + versionName "3.8"*/ + +// versionCode 22 +// versionName "3.4" multiDexEnabled true @@ -62,6 +62,8 @@ dependencies { 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' + implementation 'android.arch.navigation:navigation-fragment:1.0.0' + implementation 'android.arch.navigation:navigation-ui:1.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 d274fc3..3397efd 100644 --- a/GSKMTOrange/src/main/AndroidManifest.xml +++ b/GSKMTOrange/src/main/AndroidManifest.xml @@ -24,11 +24,15 @@ android:largeHeap="true" android:supportsRtl="true" android:theme="@style/AppTheme"> + + android:screenOrientation="portrait" + android:theme="@style/AppTheme.NoActionBar" /> 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()); + if (data.getFacing().equals("")) { + values.put("FACING", "0"); + } else { + values.put("FACING", data.getFacing()); + } + values.put("STOCK", data.getStock()); + values.put("COMPANY_ID", data.getCompany_id()); + values.put("MUST_HAVE", data.getMust_have()); + + db.insert(CommonString.TABLE_INSERT_MSL_AVAILABILITY_STOCK_FACING, null, values); + } + } + db.setTransactionSuccessful(); + db.endTransaction(); + } catch (Exception ex) { + Log.d("Exception ", " in Insert MSL_Availability_StockFacing " + ex.toString()); + } + } + + public void updateMSL_Availability_StockFacingWelance( + 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()); + + if (data.getFacing().equals("")) { + values.put("FACING", "0"); + } else { + values.put("FACING", data.getFacing()); + } + + db.update(CommonString.TABLE_INSERT_MSL_AVAILABILITY_STOCK_FACING, 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 MSL_Availability_StockFacing " + ex.toString()); + } + } + + @SuppressLint("LongLogTag") + public boolean checkMsl_Availability_StockFacingDataWelance(String store_id, String category_id) { + Log.d("MSL_Availability ", "Stock data--------------->Start<------------"); + ArrayList list = new ArrayList<>(); + Cursor dbcursor = null; + + try { + dbcursor = db.rawQuery("Select * from Msl_Availability_Stock_Facing_Data " + + "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 ArrayList getPlanogramAddShelfHeaderAfterSaveDataWelance( + String store_id, String category_id) { + + ArrayList list = new ArrayList<>(); + Cursor dbcursor = null; + + try { + dbcursor = db.rawQuery("Select * from Stock_Facing_Planogram_Header_Data " + + "where Store_id='" + store_id + "' and category_id='" + category_id + "'", null); + + if (dbcursor != null) { + dbcursor.moveToFirst(); + while (!dbcursor.isAfterLast()) { + StockFacing_PlanogramTrackerDataGetterSetter cd = new StockFacing_PlanogramTrackerDataGetterSetter(); + + cd.setKey_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("KEY_ID"))); + cd.setCategory_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("category_id"))); + cd.setSp_addShelf_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("Shelf_id"))); + cd.setSp_addShelf(dbcursor.getString(dbcursor.getColumnIndexOrThrow("Shelf"))); + cd.setSp_shelfPosition(dbcursor.getString(dbcursor.getColumnIndexOrThrow("Shelf_Position"))); + + list.add(cd); + + dbcursor.moveToNext(); + } + dbcursor.close(); + return list; + } + } catch (Exception e) { + + Log.d("Exception ", "get Planogram Shelf Header After Save !" + e.toString()); + + } + return list; + } + + public ArrayList getStockAndFacingPlanogramAfterSKUDataWelance( + String key_id) { + + ArrayList list = new ArrayList<>(); + Cursor dbcursor = null; + + try { + + dbcursor = db.rawQuery("Select * from Stock_Facing_Planogram_Child_Data " + + "where common_id='" + key_id + "'", null); + + if (dbcursor != null) { + + dbcursor.moveToFirst(); + while (!dbcursor.isAfterLast()) { + StockFacing_PlanogramTrackerDataGetterSetter cd = new StockFacing_PlanogramTrackerDataGetterSetter(); + + cd.setSp_addShelf_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("Shelf_id"))); + cd.setSp_addShelf(dbcursor.getString(dbcursor.getColumnIndexOrThrow("Shelf"))); + cd.setSp_shelfPosition(dbcursor.getString(dbcursor.getColumnIndexOrThrow("Shelf_Position"))); + cd.setSku_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("sku_id"))); + cd.setSku(dbcursor.getString(dbcursor.getColumnIndexOrThrow("sku"))); + cd.setCheckbox_sku(dbcursor.getString(dbcursor.getColumnIndexOrThrow("checkbox_sku"))); + + list.add(cd); + dbcursor.moveToNext(); + } + dbcursor.close(); + return list; + } + } catch (Exception e) { + Log.d("Exception ", "get MSL_AvailabilityHeader!" + e.toString()); + return list; + } + return list; + } + + + public ArrayList getMSL_Availability_StockFacingSKU_AfterSaveDataWelance( + String category_id, String brand_id, String store_id) { + + ArrayList list = new ArrayList<>(); + Cursor dbcursor = null; + + try { + dbcursor = db.rawQuery("Select * from Msl_Availability_Stock_Facing_Data " + + "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.setFacing(dbcursor.getString(dbcursor.getColumnIndexOrThrow("FACING"))); + 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; + } + } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/LoginActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/LoginActivity.java index ef2cb8e..85f0e14 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/LoginActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/LoginActivity.java @@ -193,7 +193,9 @@ public class LoginActivity extends AppCompatActivity implements GoogleApiClient. //populateAutoComplete(); mPasswordView = (EditText) findViewById(R.id.password); - /* museridView.setText("egypt.1"); + /* museridView.setText("test.egypt"); + mPasswordView.setText("cpm123");*/ + /* museridView.setText("egypt.1"); mPasswordView.setText("cpm123");*/ /* museridView.setText("DSR_Alex_61"); mPasswordView.setText("cpm123");*/ @@ -205,19 +207,22 @@ public class LoginActivity extends AppCompatActivity implements GoogleApiClient. mPasswordView.setText("cpm123");*/ //UAE - /*museridView.setText("nazeer.k"); - mPasswordView.setText("cpm@123");*/ + /* museridView.setText("testuae"); + mPasswordView.setText("cpm123");*/ //KSA /* museridView.setText("mohamed.o"); mPasswordView.setText("cpm@123");*/ - /* museridView.setText("testksa"); + /* museridView.setText("testksa");123 mPasswordView.setText("cpm123");*/ //turkey /* museridView.setText("testmer"); mPasswordView.setText("cpm123");*/ + /* museridView.setText("testksa"); + mPasswordView.setText("cpm123");*/ + mPasswordView.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView textView, int id, KeyEvent keyEvent) { diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/FirstFragment.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/FirstFragment.java new file mode 100644 index 0000000..dad3858 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/FirstFragment.java @@ -0,0 +1,37 @@ +package cpm.com.gskmtorange.dailyentry; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import android.support.annotation.NonNull; +import android.support.v4.app.Fragment; + +import androidx.navigation.fragment.NavHostFragment; + +import cpm.com.gskmtorange.R; + +public class FirstFragment extends Fragment { + + @Override + public View onCreateView( + LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState + ) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_first, container, false); + } + + public void onViewCreated(@NonNull View view, Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + + view.findViewById(R.id.button_first).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + NavHostFragment.findNavController(FirstFragment.this) + .navigate(R.id.action_FirstFragment_to_SecondFragment); + } + }); + } +} \ No newline at end of file diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NewStockDataActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NewStockDataActivity.java new file mode 100644 index 0000000..bdc3f50 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NewStockDataActivity.java @@ -0,0 +1,1649 @@ +package cpm.com.gskmtorange.dailyentry; + +import android.annotation.SuppressLint; +import android.app.AlertDialog; +import android.app.Dialog; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.SharedPreferences; +import android.content.pm.ActivityInfo; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Typeface; +import android.os.Bundle; +import android.os.Environment; +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.text.InputFilter; +import android.text.Spanned; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.Menu; +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.webkit.WebViewClient; +import android.widget.AbsListView; +import android.widget.BaseExpandableListAdapter; +import android.widget.CompoundButton; +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 android.widget.ToggleButton; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +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.MAPPING_PLANOGRAM_DataGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.MSL_AvailabilityStockFacingGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.StockFacing_PlanogramTrackerDataGetterSetter; + +public class NewStockDataActivity extends AppCompatActivity implements DialogCallbackListener{ + + ExpandableListView expandableListView; + TextView txt_mslAvailabilityName; + + ArrayList headerDataList; + ArrayList childDataList; + List hashMapListHeaderData; + HashMap> hashMapListChildData; + + List checkHeaderArray = new ArrayList<>(); + boolean checkflag = true; + + ExpandableListAdapter adapter; + ImageView camera1, camera2, camera3, camera4; + LinearLayout lin_camera1, lin_camera2, lin_camera3, lin_camera4; + + GSKOrangeDB db; + + String categoryName, categoryId, storeId, Error_Message = ""; + String store_id, visit_date, username, intime, date, keyAccount_id, class_id, storeType_id, camera_allow, country_id, store_flag_str; + boolean isDialogOpen = true; + private SharedPreferences preferences; + int scrollPosition = 0; + + String str_planogram = "", _pathforcheck = ""; + + ArrayList planogramShelfHeaderDataList = new ArrayList<>(); + ArrayList planogramSkuChildDataList; + HashMap> planogramHashMapListChildData = new HashMap<>(); + boolean editFlag = false; + + //temp + public static final String FILE_PATH = Environment.getExternalStorageDirectory() + "/"; + //ImageView bmImage; + RelativeLayout view; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + try { + setContentView(R.layout.activity_new_stock_data); + + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + + expandableListView = (ExpandableListView) findViewById(R.id.expandableListView); + txt_mslAvailabilityName = (TextView) findViewById(R.id.txt_mslAvailabilityName); + + camera1 = (ImageView) findViewById(R.id.img_camera1); + camera2 = (ImageView) findViewById(R.id.img_camera2); + camera3 = (ImageView) findViewById(R.id.img_camera3); + camera4 = (ImageView) findViewById(R.id.img_camera4); + + lin_camera1 = (LinearLayout) findViewById(R.id.lin_camera1); + lin_camera2 = (LinearLayout) findViewById(R.id.lin_camera2); + lin_camera3 = (LinearLayout) findViewById(R.id.lin_camera3); + lin_camera4 = (LinearLayout) findViewById(R.id.lin_camera4); + + db = new GSKOrangeDB(this); + db.open(); + + + //preference data + 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, ""); + camera_allow = preferences.getString(CommonString.KEY_CAMERA_ALLOW, ""); + country_id = preferences.getString(CommonString.KEY_COUNTRY_ID, ""); + store_flag_str = preferences.getString(CommonString.KEY_STORE_FLAG, null); + + //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_msl__availability)); + setSupportActionBar(toolbar); + + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + + str_planogram = CommonString.FILE_PATH_PLANOGRAM; + + prepareList(); + + //Camera + prepareDefaultList(); + + cameraMethod(); + + final FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(final View view) { + + expandableListView.clearFocus(); + adapter.notifyDataSetChanged(); + + if (validateData(hashMapListHeaderData, hashMapListChildData)) { + + db.open(); + + if (db.checkMsl_Availability_StockFacingDataWelance(store_id, categoryId)) { + db.updateMSL_Availability_StockFacingWelance(store_id, categoryId, hashMapListHeaderData, hashMapListChildData); + Snackbar.make(view, getResources().getString(R.string.update_message), Snackbar.LENGTH_LONG).setAction("Action", null).show(); + } else { + db.InsertMSL_Availability_StockFacingWelance(store_id, categoryId, hashMapListHeaderData, hashMapListChildData); + Snackbar.make(view, 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); + + /*AlertDialog.Builder builder = new AlertDialog.Builder(NewStockDataActivity.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(view, 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(view, 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() { + public void onClick(DialogInterface dialog, int id) { + dialog.cancel(); + } + }); + AlertDialog alert = builder.create(); + alert.show();*/ + } else { + for (int i = 0; i < adapter.getGroupCount(); i++) + expandableListView.expandGroup(i); + + /*AlertDialog.Builder builder = new AlertDialog.Builder(NewStockDataActivity.this); + builder.setMessage(Error_Message) + .setCancelable(false) + .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + //expandableListView.smoothScrollToPosition(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; + } + }); + } catch (Resources.NotFoundException e) { + e.printStackTrace(); + } + + + /* view = (RelativeLayout)findViewById(R.id.content_msl__availability); + //bmImage = (ImageView)findViewById(R.id.image); + + view.setDrawingCacheEnabled(true); + // this is the important code :) + // Without it the view will have a dimension of 0,0 and the bitmap will be null + + view.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), + View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)); + + view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight()); + + view.buildDrawingCache(true); + final Bitmap b = Bitmap.createBitmap(view.getDrawingCache()); + view.setDrawingCacheEnabled(false); // clear drawing cache + + //bmImage.setImageBitmap(b); + + try{ + + + File yourFile = new File(FILE_PATH+"imgForTxt.png"); + yourFile.createNewFile(); // if file already exists will do nothing + final FileOutputStream stream = new FileOutputStream(yourFile, false); //create your FileOutputStream here + + new Thread(new Runnable() { + public void run(){ + b.compress(Bitmap.CompressFormat.PNG, 85, stream); + b.recycle(); + try { + stream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + }).start(); + + } + catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + }*/ + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + getMenuInflater().inflate(R.menu.planogram, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + int id = item.getItemId(); + + if (id == android.R.id.home) { + + if (editFlag) { + CommonFunctions.showAlertDialog(NewStockDataActivity.this, getResources().getString(R.string.data_will_be_lost)); + } else { + finish(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + + + /* AlertDialog.Builder builder = new AlertDialog.Builder(NewStockDataActivity.this); + builder.setTitle(getResources().getString(R.string.dialog_title)); + builder.setMessage(getResources().getString(R.string.data_will_be_lost)).setCancelable(false) + .setPositiveButton(getResources().getString(R.string.yes), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + + //adapter.notifyDataSetChanged(); + + if (!validateData(hashMapListHeaderData, hashMapListChildData)) { + if (!camera_allow.equals("1")) { + db.deletePlanogramListStoreAndCategorywise(store_id, categoryId, + planogramShelfHeaderDataList, planogramHashMapListChildData); + } + } + finish(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + }) + .setNegativeButton(getResources().getString(R.string.no), new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + + } + }); + AlertDialog alert = builder.create(); + alert.show();*/ + //finish(); + } else if (id == R.id.action_planogram) {//Planogram Dialog + expandableListView.clearFocus(); + + //final Dialog dialog = new Dialog(Stock_FacingActivity.this, android.R.style.Theme_Black_NoTitleBar_Fullscreen); + final Dialog dialog = new Dialog(NewStockDataActivity.this); + dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); + //dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); + dialog.setContentView(R.layout.planogram_dialog_layout); + dialog.getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT); + dialog.setCancelable(false); + + ArrayList mappingPlanogramList; + + //Header + 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); + } else { + mappingPlanogramList = db.getMappingPlanogramData(categoryId, storeType_id, class_id, null, CommonString.TABLE_MAPPING_PLANOGRAM); + } + + + //ImageView img_planogram = (ImageView) dialog.findViewById(R.id.img_planogram); + WebView webView = (WebView) dialog.findViewById(R.id.webview); + webView.setWebViewClient(new NewStockDataActivity.MyWebViewClient()); + + webView.getSettings().setAllowFileAccess(true); + webView.getSettings().setJavaScriptEnabled(true); + webView.getSettings().setBuiltInZoomControls(true); + + String planogram_image = ""; + if (mappingPlanogramList.size() > 0) { + planogram_image = mappingPlanogramList.get(0).getPLANOGRAM_IMAGE(); + } + if (!planogram_image.equals("")) { + if (new File(str_planogram + planogram_image).exists()) { + Bitmap bmp = BitmapFactory.decodeFile(str_planogram + planogram_image); + // img_planogram.setRotation(90); + //img_planogram.setImageBitmap(bmp); + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); + + String imagePath = "file://" + CommonString.FILE_PATH_PLANOGRAM + "/" + planogram_image; + String html = ""; + webView.loadDataWithBaseURL("", html, "text/html", "utf-8", ""); + + dialog.show(); + } /*else { + //webView.loadUrl(String.valueOf(R.drawable.sad_cloud)); + + //img_planogram.setBackgroundResource(R.drawable.sad_cloud); + }*/ + } + + + ImageView cancel = (ImageView) dialog.findViewById(R.id.img_cancel); + cancel.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); + dialog.dismiss(); + } + }); + + //dialog.show(); + return true; + } + + return super.onOptionsItemSelected(item); + } + + @Override + public void onSelect(boolean flag) { + if (flag) { + //adapter.notifyDataSetChanged(); + if (!validateData(hashMapListHeaderData, hashMapListChildData)) { + + if (!camera_allow.equals("1")) { + db.deletePlanogramListStoreAndCategorywise(store_id, categoryId, + planogramShelfHeaderDataList, planogramHashMapListChildData); + } + } + finish(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + } + + @Override + public void onSave(boolean flag) { + + } + + private class MyWebViewClient extends WebViewClient { + + @Override + public boolean shouldOverrideUrlLoading(WebView view, String url) { + view.loadUrl(url); + return true; + } + + @Override + public void onPageFinished(WebView view, String url) { + super.onPageFinished(view, url); + view.clearCache(true); + } + + @Override + public void onPageStarted(WebView view, String url, Bitmap favicon) { + super.onPageStarted(view, url, favicon); + } + } + + private void cameraMethod() { + /*cameraData = new Store_wise_camera_DataGetterSetter(); + + if (db.isStorewiseCameraSave(store_id, categoryId)) { + cameraData = db.getStore_wise_camera(store_id, categoryId); + } else { + cameraData.setStore_id(store_id); + cameraData.setCategory_id(categoryId); + cameraData.setCamera1(""); + cameraData.setCamera2(""); + cameraData.setCamera3(""); + cameraData.setCamera4(""); + cameraData.setCheckSaveStatus("0"); + } + + + if (camera_allow.equals("1")) { + + findViewById(R.id.view_camera2).setVisibility(View.VISIBLE); + findViewById(R.id.view_camera3).setVisibility(View.VISIBLE); + + if (cameraData.getCamera1().equals("")) { + camera1.setBackgroundResource(R.mipmap.camera_orange); + } else { + camera1.setBackgroundResource(R.mipmap.camera_green); + } + + if (cameraData.getCamera2().equals("")) { + camera2.setBackgroundResource(R.mipmap.camera_orange); + } else { + camera2.setBackgroundResource(R.mipmap.camera_green); + } + + if (cameraData.getCamera3().equals("")) { + camera3.setBackgroundResource(R.mipmap.camera_orange); + } else { + camera3.setBackgroundResource(R.mipmap.camera_green); + } + + if (cameraData.getCamera4().equals("")) { + camera4.setBackgroundResource(R.mipmap.camera_orange); + } else { + camera4.setBackgroundResource(R.mipmap.camera_green); + } + + + lin_camera1.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + _pathforcheck = "Stock_Camera1_" + store_id + "_" + categoryId + + "_" + visit_date.replace("/", "") + "_" + CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()).replace(":", "") + ".jpg"; + path = str_planogram+ _pathforcheck; + + startCameraActivity(3); + } + }); + + lin_camera2.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + _pathforcheck = "Stock_Camera2_" + store_id + "_" + categoryId + + "_" + visit_date.replace("/", "") + "_" + CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()).replace(":", "") + ".jpg"; + path = str_planogram+ _pathforcheck; + + startCameraActivity(4); + } + }); + + lin_camera3.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + _pathforcheck = "Stock_Camera3_" + store_id + "_" + categoryId + + "_" + visit_date.replace("/", "") + "_" + CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()).replace(":", "") + ".jpg"; + path = str_planogram+ _pathforcheck; + + startCameraActivity(5); + } + }); + + lin_camera4.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + _pathforcheck = "Stock_Camera4_" + store_id + "_" + categoryId + + "_" + visit_date.replace("/", "") + "_" + CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()).replace(":", "") + ".jpg"; + path = str_planogram+ _pathforcheck; + + startCameraActivity(6); + } + }); + + } else {*/ + + if (!camera_allow.equals("1")) { + findViewById(R.id.lin_camera).setVisibility(View.GONE); + /* findViewById(R.id.lin_camera).setVisibility(View.VISIBLE); + + findViewById(R.id.view_camera2).setVisibility(View.GONE); + findViewById(R.id.view_camera3).setVisibility(View.GONE); + + lin_camera2.setVisibility(View.GONE); + lin_camera3.setVisibility(View.GONE); + lin_camera4.setVisibility(View.GONE); + + if (db.isPlanogramAddShelfSaveData(store_id, categoryId)) { + camera1.setBackgroundResource(R.mipmap.new_no_camera_done_edit); + } else { + camera1.setBackgroundResource(R.mipmap.new_no_camera); + } + + lin_camera1.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(NewStockDataActivity.this, + StockFacing_PlanogramTrackerActivity.class); + + intent.putExtra("storeId", store_id); + intent.putExtra("keyAccount_id", keyAccount_id); + intent.putExtra("class_id", class_id); + intent.putExtra("storeType_id", storeType_id); + intent.putExtra("categoryId", categoryId); + intent.putExtra("categoryName", categoryName); + + startActivityForResult(intent, 100); + } + + });*/ + } else { + findViewById(R.id.lin_camera).setVisibility(View.GONE); + } + } + + //Planogram List for check and delete on backPress + private void prepareDefaultList() { + // Planogram After save shelf header data + planogramShelfHeaderDataList = db.getPlanogramAddShelfHeaderAfterSaveDataWelance(store_id, categoryId); + + if (planogramShelfHeaderDataList.size() > 0) { + + for (int i = 0; i < planogramShelfHeaderDataList.size(); i++) { + planogramSkuChildDataList = db.getStockAndFacingPlanogramAfterSKUDataWelance(planogramShelfHeaderDataList.get(i).getKey_id()); + + //After save sku child data + if (planogramSkuChildDataList.size() > 0) { + planogramHashMapListChildData.put(planogramShelfHeaderDataList.get(i), planogramSkuChildDataList); + } + } + } + } + + @Override + protected void onResume() { + super.onResume(); + CommonFunctions.updateLangResources(getApplicationContext(), preferences.getString(CommonString.KEY_LANGUAGE, "")); + } + + private void prepareList() { + try { + hashMapListHeaderData = new ArrayList<>(); + hashMapListChildData = new HashMap<>(); + + //Header + if (country_id.equals("7")) { + headerDataList = db.getMSL_Availability_StockFacingHeaderData(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.getMSL_Availability_StockFacingHeaderData(categoryId, keyAccount_id, storeType_id, class_id, store_id, CommonString.TABLE_MAPPING_STOCK_ADHOC, CommonString.TABLE_MAPPING_SOS_TARGET_ADHOC); + } else { + headerDataList = db.getMSL_Availability_StockFacingHeaderData(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.getMSL_Availability_StockFacingSKU_AfterSaveDataWelance(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 NewStockDataActivity.ExpandableListAdapter(this, hashMapListHeaderData, hashMapListChildData); + expandableListView.setAdapter(adapter); + + //expand all + for (int i = 0; i < adapter.getGroupCount(); i++) + expandableListView.expandGroup(i); + + } catch (Exception e) { + e.printStackTrace(); + } + } + + boolean validateData(List listDataHeader, + HashMap> listDataChild) { + boolean flag = true, child_flag = true, all_flag = true; + + checkHeaderArray.clear(); + int childCount = 0; + + //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(); + String faceup = data.getFacing(); + + //Company_id + if (listDataChild.get(listDataHeader.get(i)).get(j).getCompany_id().equals("1")) { + if (data.getMust_have().equals("1")) { + /*if (!camera_allow.equalsIgnoreCase("1")) { + if (!(planogramShelfHeaderDataList.size() > 0)) { + flag = false; + Error_Message = getResources().getString(R.string.stock_planogram_data_noCamera_data); + break; + } + }*/ + + if (faceup.equals("")) { + if (!checkHeaderArray.contains(i)) { + checkHeaderArray.add(i); + } + //expandableListView.smoothScrollToPosition(i); + scrollPosition = i + j + childCount; + + all_flag = false; + flag = false; + child_flag = false; + Error_Message = getResources().getString(R.string.faceup_value); + //break; + } else { + if (data.getToggleValue().equals("0")) { + + if (stock.equals("")) { + if (!checkHeaderArray.contains(i)) { + checkHeaderArray.add(i); + } + //expandableListView.smoothScrollToPosition(i); + scrollPosition = i + j + childCount; + + all_flag = false; + flag = false; + child_flag = false; + Error_Message = getResources().getString(R.string.stock_value); + //break; + } + } else { + //for Egypt + if (country_id.equals("6")) { + if (stock.equals("")) { + if (!checkHeaderArray.contains(i)) { + checkHeaderArray.add(i); + } + //expandableListView.smoothScrollToPosition(i); + scrollPosition = i + j + childCount; + + all_flag = false; + flag = false; + child_flag = false; + Error_Message = getResources().getString(R.string.stock_value); + // break; + } + } + } + } + } + } else { + if (faceup.equals("")) { + if (!checkHeaderArray.contains(i)) { + checkHeaderArray.add(i); + } + //expandableListView.smoothScrollToPosition(i); + scrollPosition = i + j + childCount; + + all_flag = false; + flag = false; + child_flag = false; + Error_Message = getResources().getString(R.string.faceup_value); + // break; + } + } + if (!child_flag) + listTemp.add(data); + + } + + if (flag == false) { + //checkflag = false; + listDataHeaderTemp.add(listDataHeader.get(i)); + listDataChildTemp.put(listDataHeader.get(i), listTemp); + + //break; + } else { + childCount = childCount + listDataChild.get(listDataHeader.get(i)).size(); + //checkflag = true; + } + } + + if (!all_flag) { + adapter = new NewStockDataActivity.ExpandableListAdapter(this, listDataHeaderTemp, listDataChildTemp); + expandableListView.setAdapter(adapter); + checkflag = false; + } else { + checkflag = true; + } + + return all_flag; + } + + + @Override + public void onBackPressed() { + //super.onBackPressed(); + + /*AlertDialog.Builder builder = new AlertDialog.Builder(NewStockDataActivity.this); + builder.setTitle(getResources().getString(R.string.dialog_title)); + builder.setMessage(getResources().getString(R.string.data_will_be_lost)).setCancelable(false) + .setPositiveButton(getResources().getString(R.string.yes), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + + //adapter.notifyDataSetChanged(); + if (!validateData(hashMapListHeaderData, hashMapListChildData)) { + + if (!camera_allow.equals("1")) { + db.deletePlanogramListStoreAndCategorywise(store_id, categoryId, + planogramShelfHeaderDataList, planogramHashMapListChildData); + } + } + finish(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + }) + .setNegativeButton(getResources().getString(R.string.no), new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + + } + }); + AlertDialog alert = builder.create(); + alert.show();*/ + if (editFlag) { + CommonFunctions.showAlertDialog(NewStockDataActivity.this, getResources().getString(R.string.data_will_be_lost)); + } else { + finish(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + + + /* if(flag){ + //adapter.notifyDataSetChanged(); + if (!validateData(hashMapListHeaderData, hashMapListChildData)) { + + if (!camera_allow.equals("1")) { + db.deletePlanogramListStoreAndCategorywise(store_id, categoryId, + planogramShelfHeaderDataList, planogramHashMapListChildData); + } + } + finish(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + }*/ + + + } + + 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); + NewStockDataActivity.ViewHolder holder = null; + + if (convertView == null) { + LayoutInflater infalInflater = (LayoutInflater) this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + convertView = infalInflater.inflate(R.layout.item_msl_availability_stock_facing_child, null, false); + + holder = new NewStockDataActivity.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.txt_mbq = (TextView) convertView.findViewById(R.id.txt_mbq); + holder.toggle_available = (ToggleButton) convertView.findViewById(R.id.toggle_available); + + holder.facing = (EditText) convertView.findViewById(R.id.ed_facing); + holder.facing.setFilters(new InputFilter[]{new NewStockDataActivity.DecimalDigitsInputFilter(3, 1)}); + holder.stock = (EditText) convertView.findViewById(R.id.ed_stock); + + holder.stock_view = convertView.findViewById(R.id.stock_view); + convertView.setTag(holder); + } else { + holder = (NewStockDataActivity.ViewHolder) convertView.getTag(); + } + + holder.txt_skuName.setText(childData.getSku()); + holder.txt_mbq.setText(childData.getMbq()); + + if (childData.getCompany_id().equals("1") && childData.getMust_have().equals("1")) { + holder.lin_category.setBackgroundColor(getResources().getColor(R.color.colorOrange)); + + holder.txt_mbq.setVisibility(View.VISIBLE); + holder.toggle_available.setVisibility(View.VISIBLE); + holder.facing.setVisibility(View.VISIBLE); + + if (country_id.equals("6")) { + holder.stock.setVisibility(View.VISIBLE); + holder.stock_view.setVisibility(View.VISIBLE); + } else { + if (childData.getToggleValue().equals("1")) { + holder.stock.setVisibility(View.GONE); + holder.stock_view.setVisibility(View.GONE); + } else { + holder.stock.setVisibility(View.VISIBLE); + holder.stock_view.setVisibility(View.VISIBLE); + } + } + + + } else { + + holder.lin_category.setBackgroundColor(getResources().getColor(R.color.white)); + holder.txt_mbq.setVisibility(View.GONE); + holder.toggle_available.setVisibility(View.GONE); + holder.facing.setVisibility(View.VISIBLE); + holder.stock.setVisibility(View.GONE); + holder.stock_view.setVisibility(View.GONE); + } + + 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)); + } + + + /* 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)); + *//*holder.txt_mbq.setVisibility(View.GONE); + holder.toggle_available.setVisibility(View.GONE); + holder.facing.setVisibility(View.VISIBLE); + holder.stock.setVisibility(View.GONE);*//* + }*/ + + + final NewStockDataActivity.ViewHolder finalHolder = holder; + holder.toggle_available.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + if (buttonView.isPressed()) { + + editFlag = true; + + if (isChecked) { + childData.setToggleValue("1"); + //for Egypt + if (country_id.equals("6")) { + finalHolder.stock.setVisibility(View.VISIBLE); + } else { + finalHolder.stock.setVisibility(View.GONE); + } + + /*childData.setStock(""); + childData.setFacing("");*/ + } else { + /* childData.setStock(""); + childData.setFacing("");*/ + childData.setToggleValue("0"); + finalHolder.stock.setVisibility(View.VISIBLE); + + //If MBQ Value is 0 + if (Integer.parseInt(childData.getMbq()) == 0) { + childData.setStock("0"); + childData.setFacing("0"); + } else { + //for Egypt + if (country_id.equals("6")) { + childData.setStock(""); + childData.setFacing(""); + } + } + + /* else { + if (finalHolder.facing.getText().toString() != null && !finalHolder.facing.getText().toString().equals("")) { + if (Integer.parseInt(finalHolder.facing.getText().toString()) >= 0 + && Integer.parseInt(finalHolder.facing.getText().toString()) >= Integer.parseInt(childData.getMbq())) { + childData.setFacing(""); + finalHolder.facing.setText(""); + } + } + }*/ + } + + expandableListView.clearFocus(); + expandableListView.invalidateViews(); + } + } + }); + + if (childData.getToggleValue().equals("1")) { + holder.toggle_available.setChecked(true); + if (country_id.equals("6") && childData.getCompany_id().equals("1") && childData.getMust_have().equals("1")) { + finalHolder.stock.setVisibility(View.VISIBLE); + } else { + finalHolder.stock.setVisibility(View.GONE); + childData.setStock(""); + } + + + } else { + holder.toggle_available.setChecked(false); + finalHolder.stock.setVisibility(View.VISIBLE); + } + + + holder.stock.setOnFocusChangeListener(new View.OnFocusChangeListener() { + @Override + public void onFocusChange(View v, boolean hasFocus) { + final EditText caption = (EditText) v; + String edStock = caption.getText().toString().replaceFirst("^0+(?!$)", ""); + + /*if (!childData.getFacing().equals("") && Integer.parseInt(stock) >= 0 && Integer.parseInt(childData.getFacing()) < Integer.parseInt(stock)) { + + }*/ + editFlag = true; + if (!edStock.equals("")) { + String stock = edStock; + + //for Egypt + if (country_id.equals("6") && childData.getToggleValue().equals("1")) { + if (!childData.getFacing().equals("")) { + if (Integer.parseInt(stock) >= 0 && Double.parseDouble(childData.getFacing()) <= Integer.parseInt(stock)) { + + childData.setStock(stock); + } else { + AlertDialog.Builder builder = new AlertDialog.Builder(NewStockDataActivity.this); + builder.setMessage(getString(R.string.check_faceup)) + .setCancelable(false) + .setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + finalHolder.stock.setText(""); + dialog.dismiss(); + + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + } else { + childData.setStock(stock); + } + } else { + int mbq = Integer.parseInt(childData.getMbq()); + if (mbq != 0) { + if (Integer.parseInt(stock) >= 0 && Integer.parseInt(stock) < mbq) { + + if (!childData.getFacing().equals("")) { + if (Integer.parseInt(stock) >= 0 && Double.parseDouble(childData.getFacing()) <= Integer.parseInt(stock)) { + + childData.setStock(stock); + } else { + AlertDialog.Builder builder = new AlertDialog.Builder(NewStockDataActivity.this); + builder.setMessage(getString(R.string.check_faceup)) + .setCancelable(false) + .setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + finalHolder.stock.setText(""); + dialog.dismiss(); + + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + } else { + childData.setStock(stock); + } + } else { + if (isDialogOpen) { + isDialogOpen = !isDialogOpen; + AlertDialog.Builder builder = new AlertDialog.Builder(NewStockDataActivity.this); + builder.setMessage(getString(R.string.check_stock)) + .setCancelable(false) + .setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + finalHolder.stock.setText(""); + dialog.dismiss(); + isDialogOpen = !isDialogOpen; + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + } + } else { + if (Integer.parseInt(stock) > 0) { + if (isDialogOpen) { + isDialogOpen = !isDialogOpen; + AlertDialog.Builder builder = new AlertDialog.Builder(NewStockDataActivity.this); + builder.setMessage(getString(R.string.check_stock)) + .setCancelable(false) + .setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + finalHolder.stock.setText(""); + dialog.dismiss(); + isDialogOpen = !isDialogOpen; + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + } + } + } + } else { + childData.setStock(""); + } + } + }); + holder.stock.setText(childData.getStock()); + + + final NewStockDataActivity.ViewHolder finalHolder1 = holder; + final NewStockDataActivity.ViewHolder finalHolder2 = holder; + holder.facing.setOnFocusChangeListener(new View.OnFocusChangeListener() { + @Override + public void onFocusChange(View v, boolean hasFocus) { + final EditText caption = (EditText) v; + String edFaceup = caption.getText().toString().replaceFirst("^0+(?!$)", ""); + + editFlag = true; + + if (edFaceup != null && !edFaceup.equals("") && !edFaceup.equals(".")) { + //int num = Integer.parseInt(edFaceup); + double faceup = Double.parseDouble(edFaceup); + int num = (int) faceup; + //int faceint = (int)(faceup - Math.floor( faceup )); + int faceint = (int) ((faceup % 1.0) * 10); + if (faceint != 0) { + if ((faceup % 1.0) * 10 != 5) { + faceint = 5; + edFaceup = String.valueOf(num + faceint / 10.0); + finalHolder2.facing.setText(edFaceup); + + } + } + + + /*Double faceup = Double.parseDouble(edFaceup); + DecimalFormat twoDForm = new DecimalFormat(".#"); + faceup= Double.valueOf(twoDForm.format(faceup));*/ + } + + + boolean isFill = false; + + //Toggle is no selected + if (childData.getToggleValue().equals("0")) { + + //if stock is emplty + /*if (childData.getStock().equals("")) { + AlertDialog.Builder builder = new AlertDialog.Builder(NewStockDataActivity.this); + builder.setMessage(getString(R.string.msl_availability_new_stock_value)) + .setCancelable(false) + .setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.dismiss(); + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } else {*/ + if (edFaceup != null && !edFaceup.equals("") && !edFaceup.equals(".")) { + int mbq = Integer.parseInt(childData.getMbq()); + if (mbq != 0) { + if (Double.parseDouble(edFaceup) >= 0 && Double.parseDouble(edFaceup) < mbq) { + if (!childData.getStock().equals("")) { + + //if (edFaceup != null && !edFaceup.equals("")) { + + String faceup = edFaceup.replaceFirst("^0+(?!$)", ""); + + if (Double.parseDouble(faceup) <= Integer.parseInt(childData.getStock())) { + + isFill = true; + + /* if (!edFaceup.equals("")) { + childData.setFacing(faceup); + } else { + childData.setFacing(""); + }*/ + } else { + AlertDialog.Builder builder = new AlertDialog.Builder(NewStockDataActivity.this); + builder.setMessage(getString(R.string.check_faceup)) + .setCancelable(false) + .setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + finalHolder1.facing.setText(""); + dialog.dismiss(); + finalHolder2.facing.setText(""); + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + // } + } else { + isFill = true; + } + } else { + if (isDialogOpen) { + isDialogOpen = !isDialogOpen; + AlertDialog.Builder builder = new AlertDialog.Builder(NewStockDataActivity.this); + builder.setMessage(getString(R.string.check_faceing)) + .setCancelable(false) + .setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + finalHolder.facing.setText(""); + dialog.dismiss(); + isDialogOpen = !isDialogOpen; + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + } + } else { + if (Double.parseDouble(edFaceup) > 0) { + if (isDialogOpen) { + isDialogOpen = !isDialogOpen; + AlertDialog.Builder builder = new AlertDialog.Builder(NewStockDataActivity.this); + builder.setMessage(getString(R.string.check_faceing)) + .setCancelable(false) + .setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + finalHolder.facing.setText(""); + dialog.dismiss(); + isDialogOpen = !isDialogOpen; + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + } + } + + } + //} + } else { + + if (country_id.equals("6")) { + if (!childData.getStock().equals("")) { + + //if (edFaceup != null && !edFaceup.equals("")) { + + String faceup = edFaceup.replaceFirst("^0+(?!$)", ""); + + if (edFaceup != null && !edFaceup.equals("") && !edFaceup.equals(".")) { + if (Double.parseDouble(faceup) <= Integer.parseInt(childData.getStock())) { + + isFill = true; + + /* if (!edFaceup.equals("")) { + childData.setFacing(faceup); + } else { + childData.setFacing(""); + }*/ + } else { + AlertDialog.Builder builder = new AlertDialog.Builder(NewStockDataActivity.this); + builder.setMessage(getString(R.string.check_faceup)) + .setCancelable(false) + .setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + finalHolder1.facing.setText(""); + dialog.dismiss(); + finalHolder2.facing.setText(""); + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + } else { + isFill = true; + } + // } + } else { + isFill = true; + } + } else { + isFill = true; + } + + } + /* //If toggle is yes then facing cannot be 0 + if (childData.getCompany_id().equals("1") && childData.getMust_have().equals("1") + && !edFaceup.equals("") && edFaceup.equals("0")) { + + AlertDialog.Builder builder = new AlertDialog.Builder(NewStockDataActivity.this); + builder.setMessage(getString(R.string.check_faceup_not_zero)) + .setCancelable(false) + .setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + finalHolder1.facing.setText(""); + dialog.dismiss(); + + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } else { + isFill = true; + + }*/ + + + if (isFill) { + if (!edFaceup.equals("") && !edFaceup.equals(".")) { + String faceup = ""; + if (edFaceup.equals("0") || edFaceup.equals(".0")) { + faceup = "0"; + } else { + faceup = edFaceup.replaceFirst("^0+(?!$)", ""); + //faceup = new DecimalFormat("##.#").format(Double.parseDouble(faceup)); + } + + // String str2 = PerfectDecimal(faceup, 3, 1); + childData.setFacing(faceup); + } else { + childData.setFacing(""); + } + } + + } + }); + + holder.facing.setText(childData.getFacing()); + + //empty check color change + if (!checkflag) { + boolean tempflag = false; + + if (childData.getCompany_id().equals("1")) { + + if (childData.getToggleValue().equals("0")) { + 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 (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; + } + } else { + if (childData.getMust_have().equals("1")) { + 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)); + +/* if (childData.getCompany_id().equals("1") && !childData.getMust_have().equals("0")) { + }else{ + holder.facing.setHint(""); + }*/ + tempflag = true; + } + + //for Egypt + if (country_id.equals("6")) { + 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; + } + } + + } else { + holder.facing.setHint(""); + } + } + + + 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, txt_mbq; + ToggleButton toggle_available; + LinearLayout lin_category; + EditText facing, stock; + View stock_view; + } + + + @SuppressLint("LongLogTag") + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + Log.e("MSL_AVailability_StockFacing", "resultCode: " + resultCode); + + switch (requestCode) { + case 100: + //Planogram List for check and delete on backPress + prepareDefaultList(); + if (db.isPlanogramAddShelfSaveData(store_id, categoryId)) { + camera1.setBackgroundResource(R.mipmap.new_no_camera_done_edit); + } else { + camera1.setBackgroundResource(R.mipmap.new_no_camera); + } + + break; + } + super.onActivityResult(requestCode, resultCode, data); + } + + public String PerfectDecimal(String str, int MAX_BEFORE_POINT, int MAX_DECIMAL) { + if (str.charAt(0) == '.') str = "0" + str; + int max = str.length(); + + String rFinal = ""; + boolean after = false; + int i = 0, up = 0, decimal = 0; + char t; + while (i < max) { + t = str.charAt(i); + if (t != '.' && after == false) { + up++; + if (up > MAX_BEFORE_POINT) return rFinal; + } else if (t == '.') { + after = true; + } else { + decimal++; + if (decimal > MAX_DECIMAL) + return rFinal; + } + rFinal = rFinal + t; + i++; + } + return rFinal; + } + + public class DecimalDigitsInputFilter implements InputFilter { + + Pattern mPattern; + + public DecimalDigitsInputFilter(int digitsBeforeZero, int digitsAfterZero) { + mPattern = Pattern.compile("[0-9]{0," + (digitsBeforeZero - 1) + "}+((\\.[0-9]{0," + (digitsAfterZero - 1) + "})?)||(\\.)?"); + } + + @Override + public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { + + Matcher matcher = mPattern.matcher(dest); + if (!matcher.matches()) + return ""; + return null; + } + + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/SecondFragment.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/SecondFragment.java new file mode 100644 index 0000000..2475eb9 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/SecondFragment.java @@ -0,0 +1,37 @@ +package cpm.com.gskmtorange.dailyentry; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import android.support.annotation.NonNull; +import android.support.v4.app.Fragment; + +import androidx.navigation.fragment.NavHostFragment; + +import cpm.com.gskmtorange.R; + +public class SecondFragment extends Fragment { + + @Override + public View onCreateView( + LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState + ) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_second, container, false); + } + + public void onViewCreated(@NonNull View view, Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + + view.findViewById(R.id.button_second).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + NavHostFragment.findNavController(SecondFragment.this) + .navigate(R.id.action_SecondFragment_to_FirstFragment); + } + }); + } +} \ No newline at end of file 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 ba054ef..7eacba3 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadActivity.java @@ -613,6 +613,59 @@ public class UploadActivity extends AppCompatActivity { data.value = 15; data.name = getString(R.string.availability_data_uploading); publishProgress(data); + + //usk additional store + //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); + publishProgress(data); + } + + + //end usk } else if (coverageList.get(i).getFlag_from().equals(CommonString.FROM_PHARMA)) { //Pharmacy store data @@ -2185,6 +2238,7 @@ public class UploadActivity extends AppCompatActivity { } }); } catch (Exception e) { + e.printStackTrace(); } } diff --git a/GSKMTOrange/src/main/res/layout/activity_new_stock_data.xml b/GSKMTOrange/src/main/res/layout/activity_new_stock_data.xml new file mode 100644 index 0000000..b1f2c07 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/activity_new_stock_data.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/layout/content_new_stock_data.xml b/GSKMTOrange/src/main/res/layout/content_new_stock_data.xml new file mode 100644 index 0000000..bac48fd --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/content_new_stock_data.xml @@ -0,0 +1,220 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GSKMTOrange/src/main/res/layout/fragment_first.xml b/GSKMTOrange/src/main/res/layout/fragment_first.xml new file mode 100644 index 0000000..ac2e515 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/fragment_first.xml @@ -0,0 +1,28 @@ + + + + + +